{
  "schemaVersion": "1.0.0",
  "readme": "",
  "modules": [
    {
      "kind": "javascript-module",
      "path": "components/absolute-container/absolute-container.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnAbsoluteContainer",
          "slots": [
            {
              "description": "The default slot",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "_resizeFrame",
              "type": {
                "text": "number | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "method",
              "name": "resize"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "The absolute container will take the total inner height of the content (positioned absolute), and set that\nas it's min height, Creating enough space to show the content.",
          "tagNameWithoutPrefix": "absolute-container",
          "tagName": "zn-absolute-container",
          "customElement": true,
          "jsDoc": "/**\n * @summary The absolute container will take the total inner height of the content (positioned absolute), and set that\n * as it's min height, Creating enough space to show the content.\n *\n * @documentation https://zinc.style/components/absolute-container\n * @status experimental\n * @since 1.0\n *\n * @slot - The default slot\n *\n */",
          "documentation": "https://zinc.style/components/absolute-container",
          "status": "experimental",
          "since": "1.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnAbsoluteContainer",
            "module": "components/absolute-container/absolute-container.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/alert/alert.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnAlert",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "icon",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "icon"
            },
            {
              "kind": "field",
              "name": "caption",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "caption"
            },
            {
              "kind": "field",
              "name": "collapse",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "collapse"
            },
            {
              "kind": "field",
              "name": "appearance",
              "type": {
                "text": "'transparent' | 'solid'"
              },
              "default": "'transparent'",
              "attribute": "appearance",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "level",
              "type": {
                "text": "'primary' | 'error' | 'info' | 'success' | 'warning' | 'note' | 'cosmic'"
              },
              "default": "'info'",
              "attribute": "level"
            },
            {
              "kind": "field",
              "name": "center",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "center",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "attribute": "size"
            },
            {
              "kind": "method",
              "name": "hideAlert",
              "privacy": "public"
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "attributes": [
            {
              "name": "icon",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "icon"
            },
            {
              "name": "caption",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "caption"
            },
            {
              "name": "collapse",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "collapse"
            },
            {
              "name": "appearance",
              "type": {
                "text": "'transparent' | 'solid'"
              },
              "default": "'transparent'",
              "fieldName": "appearance"
            },
            {
              "name": "level",
              "type": {
                "text": "'primary' | 'error' | 'info' | 'success' | 'warning' | 'note' | 'cosmic'"
              },
              "default": "'info'",
              "fieldName": "level"
            },
            {
              "name": "center",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "center"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "fieldName": "size"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "alert",
          "tagName": "zn-alert",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/alert\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/alert",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnAlert",
            "module": "components/alert/alert.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/action-bar/action-bar.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnActionBar",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "action-bar",
          "tagName": "zn-action-bar",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/action-bar\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/action-bar",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnActionBar",
            "module": "components/action-bar/action-bar.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/animated-button/animated-button.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnAnimatedButton",
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'zn-icon': ZnIcon }"
            },
            {
              "kind": "field",
              "name": "currentState",
              "type": {
                "text": "AnimatedButtonState"
              },
              "privacy": "private",
              "default": "'idle'"
            },
            {
              "kind": "field",
              "name": "errorMessage",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "idleText",
              "type": {
                "text": "string"
              },
              "default": "'Purchase'",
              "description": "The text to display in the idle state",
              "attribute": "idle-text"
            },
            {
              "kind": "field",
              "name": "processingText",
              "type": {
                "text": "string"
              },
              "default": "'Purchasing'",
              "description": "The text to display in the processing state",
              "attribute": "processing-text"
            },
            {
              "kind": "field",
              "name": "successText",
              "type": {
                "text": "string"
              },
              "default": "'Success'",
              "description": "The text to display in the success state",
              "attribute": "success-text"
            },
            {
              "kind": "field",
              "name": "failureText",
              "type": {
                "text": "string"
              },
              "default": "'Failed'",
              "description": "The text to display in the failure state",
              "attribute": "failure-text"
            },
            {
              "kind": "field",
              "name": "redirectUrl",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The URL to redirect to after successful purchase",
              "attribute": "redirect-url"
            },
            {
              "kind": "field",
              "name": "redirectDelay",
              "type": {
                "text": "number"
              },
              "default": "1500",
              "description": "Delay in milliseconds before redirecting after success (default: 1500ms)",
              "attribute": "redirect-delay"
            },
            {
              "kind": "field",
              "name": "failureResetDelay",
              "type": {
                "text": "number"
              },
              "default": "2000",
              "description": "Delay in milliseconds before resetting from failure state (default: 2000ms)",
              "attribute": "failure-reset-delay"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disabled state",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the form control (required for form submission)",
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The value of the form control",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "resetTimeout",
              "type": {
                "text": "number | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "redirectTimeout",
              "type": {
                "text": "number | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "clearTimeouts",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "purchase",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Programmatically trigger the purchase flow"
            },
            {
              "kind": "method",
              "name": "setSuccess",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Set the button to success state manually"
            },
            {
              "kind": "method",
              "name": "setFailure",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "message",
                  "default": "''"
                }
              ],
              "description": "Set the button to failure state manually with optional error message"
            },
            {
              "kind": "method",
              "name": "reset",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "description": "Reset the button to idle state"
            },
            {
              "kind": "method",
              "name": "handlePurchase",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "scheduleRedirect",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "scheduleReset",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleClick",
              "privacy": "private"
            }
          ],
          "attributes": [
            {
              "name": "idle-text",
              "type": {
                "text": "string"
              },
              "default": "'Purchase'",
              "description": "The text to display in the idle state",
              "fieldName": "idleText"
            },
            {
              "name": "processing-text",
              "type": {
                "text": "string"
              },
              "default": "'Purchasing'",
              "description": "The text to display in the processing state",
              "fieldName": "processingText"
            },
            {
              "name": "success-text",
              "type": {
                "text": "string"
              },
              "default": "'Success'",
              "description": "The text to display in the success state",
              "fieldName": "successText"
            },
            {
              "name": "failure-text",
              "type": {
                "text": "string"
              },
              "default": "'Failed'",
              "description": "The text to display in the failure state",
              "fieldName": "failureText"
            },
            {
              "name": "redirect-url",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The URL to redirect to after successful purchase",
              "fieldName": "redirectUrl"
            },
            {
              "name": "redirect-delay",
              "type": {
                "text": "number"
              },
              "default": "1500",
              "description": "Delay in milliseconds before redirecting after success (default: 1500ms)",
              "fieldName": "redirectDelay"
            },
            {
              "name": "failure-reset-delay",
              "type": {
                "text": "number"
              },
              "default": "2000",
              "description": "Delay in milliseconds before resetting from failure state (default: 2000ms)",
              "fieldName": "failureResetDelay"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disabled state",
              "fieldName": "disabled"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the form control (required for form submission)",
              "fieldName": "name"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The value of the form control",
              "fieldName": "value"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "tagNameWithoutPrefix": "animated-button",
          "tagName": "zn-animated-button",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnAnimatedButton",
            "module": "components/animated-button/animated-button.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/audio-select/audio-select.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnAudioSelect",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "The actions slot.",
              "name": "actions"
            },
            {
              "description": "The footer slot.",
              "name": "footer"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "_isPlaying",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "_audio",
              "type": {
                "text": "HTMLAudioElement"
              },
              "privacy": "private",
              "readonly": true,
              "default": "new Audio()"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "placeholder"
            },
            {
              "kind": "field",
              "name": "files",
              "type": {
                "text": "AudioFile[]"
              },
              "default": "[]",
              "attribute": "files"
            },
            {
              "kind": "method",
              "name": "stopAudio"
            },
            {
              "kind": "method",
              "name": "handleSelectChange",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "ZnChangeEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "togglePreview",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "CustomEvent"
                  }
                }
              ]
            }
          ],
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "value"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "label"
            },
            {
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "placeholder"
            },
            {
              "name": "files",
              "type": {
                "text": "AudioFile[]"
              },
              "default": "[]",
              "fieldName": "files"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "audio-select",
          "tagName": "zn-audio-select",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/audio-select\n * @status experimental\n * @since 1.0\n *\n * @slot - The default slot.\n * @slot actions - The actions slot.\n * @slot footer - The footer slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/audio-select",
          "status": "experimental",
          "since": "1.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnAudioSelect",
            "module": "components/audio-select/audio-select.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/background/background.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnBackground",
          "cssProperties": [
            {
              "description": "Fallback colour when the `color` attribute is not set.",
              "name": "--zn-background-color"
            },
            {
              "description": "Position of the background image. Defaults to `center`.",
              "name": "--zn-background-image-position"
            },
            {
              "description": "Direction of the overlay gradient. Defaults to `110deg`.",
              "name": "--zn-background-overlay-angle"
            },
            {
              "description": "Colour of the floating icons. Defaults to `currentColor`.",
              "name": "--zn-background-floating-icon-color"
            }
          ],
          "cssParts": [
            {
              "description": "The component's full-size background canvas.",
              "name": "base"
            },
            {
              "description": "The decorative background image.",
              "name": "image"
            },
            {
              "description": "The contrast overlay between the image and content.",
              "name": "overlay"
            },
            {
              "description": "The non-interactive layer containing the floating icons.",
              "name": "floating-icons"
            },
            {
              "description": "Each floating `zn-icon`.",
              "name": "floating-icon"
            },
            {
              "description": "The wrapper around the default slot.",
              "name": "content"
            }
          ],
          "slots": [
            {
              "description": "Content displayed above the background layers.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{'zn-icon': ZnIcon}"
            },
            {
              "kind": "field",
              "name": "resizeObserver",
              "privacy": "private",
              "readonly": true,
              "default": "new ResizeController<number>(this, { callback: entries => { const width = entries[0]?.contentRect.width ?? this.offsetWidth; return Math.max(1, Math.min(width * 0.05, 150)); }, })"
            },
            {
              "kind": "field",
              "name": "image",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "URL of the decorative background image.",
              "attribute": "image"
            },
            {
              "kind": "field",
              "name": "color",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "CSS colour painted beneath the image.",
              "attribute": "color"
            },
            {
              "kind": "field",
              "name": "imageStrength",
              "type": {
                "text": "BackgroundImageStrength"
              },
              "default": "'full'",
              "description": "Visibility of the image: `soft` (30%), `medium` (62%) or `full` (100%).",
              "attribute": "image-strength",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "motion",
              "type": {
                "text": "BackgroundMotion"
              },
              "default": "'none'",
              "description": "Subtle animation applied to the image. Motion stops when reduced motion is requested.",
              "attribute": "motion",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "overlay",
              "type": {
                "text": "BackgroundOverlay"
              },
              "default": "'soft'",
              "description": "Strength of the contrast gradient above the image.",
              "attribute": "overlay",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "overlayTone",
              "type": {
                "text": "BackgroundOverlayTone"
              },
              "default": "'light'",
              "description": "Whether the overlay uses a light or dark contrast treatment.",
              "attribute": "overlay-tone",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "floatingIcons",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Comma-separated Zinc icon names placed as ambient decoration. At most eight are rendered.",
              "attribute": "floating-icons"
            },
            {
              "kind": "field",
              "name": "paused",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Pauses background motion without changing the selected motion treatment.",
              "attribute": "paused",
              "reflects": true
            }
          ],
          "attributes": [
            {
              "name": "image",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "URL of the decorative background image.",
              "fieldName": "image"
            },
            {
              "name": "color",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "CSS colour painted beneath the image.",
              "fieldName": "color"
            },
            {
              "name": "image-strength",
              "type": {
                "text": "BackgroundImageStrength"
              },
              "default": "'full'",
              "description": "Visibility of the image: `soft` (30%), `medium` (62%) or `full` (100%).",
              "fieldName": "imageStrength"
            },
            {
              "name": "motion",
              "type": {
                "text": "BackgroundMotion"
              },
              "default": "'none'",
              "description": "Subtle animation applied to the image. Motion stops when reduced motion is requested.",
              "fieldName": "motion"
            },
            {
              "name": "overlay",
              "type": {
                "text": "BackgroundOverlay"
              },
              "default": "'soft'",
              "description": "Strength of the contrast gradient above the image.",
              "fieldName": "overlay"
            },
            {
              "name": "overlay-tone",
              "type": {
                "text": "BackgroundOverlayTone"
              },
              "default": "'light'",
              "description": "Whether the overlay uses a light or dark contrast treatment.",
              "fieldName": "overlayTone"
            },
            {
              "name": "floating-icons",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Comma-separated Zinc icon names placed as ambient decoration. At most eight are rendered.",
              "fieldName": "floatingIcons"
            },
            {
              "name": "paused",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Pauses background motion without changing the selected motion treatment.",
              "fieldName": "paused"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Composes a colour, decorative image, image strength, optional motion and contrast overlay behind slotted content.",
          "tagNameWithoutPrefix": "background",
          "tagName": "zn-background",
          "customElement": true,
          "jsDoc": "/**\n * @summary Composes a colour, decorative image, image strength, optional motion and contrast overlay behind slotted content.\n *\n * @documentation https://zinc.style/components/background\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-icon\n *\n * @slot - Content displayed above the background layers.\n *\n * @csspart base - The component's full-size background canvas.\n * @csspart image - The decorative background image.\n * @csspart overlay - The contrast overlay between the image and content.\n * @csspart floating-icons - The non-interactive layer containing the floating icons.\n * @csspart floating-icon - Each floating `zn-icon`.\n * @csspart content - The wrapper around the default slot.\n *\n * @cssproperty --zn-background-color - Fallback colour when the `color` attribute is not set.\n * @cssproperty --zn-background-image-position - Position of the background image. Defaults to `center`.\n * @cssproperty --zn-background-overlay-angle - Direction of the overlay gradient. Defaults to `110deg`.\n * @cssproperty --zn-background-floating-icon-color - Colour of the floating icons. Defaults to `currentColor`.\n */",
          "documentation": "https://zinc.style/components/background",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-icon"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnBackground",
            "module": "components/background/background.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/bulk-actions/bulk-actions.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnBulkActions",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'zn-button': ZnButton, 'zn-input': ZnInput, 'zn-option': ZnOption, 'zn-select': ZnSelect, }"
            },
            {
              "kind": "field",
              "name": "container",
              "type": {
                "text": "HTMLDivElement"
              }
            },
            {
              "kind": "field",
              "name": "addRule",
              "type": {
                "text": "ZnSelect"
              }
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "HTMLInputElement"
              }
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "PropertyKey"
              },
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "actions",
              "type": {
                "text": "BulkActionData"
              },
              "default": "[]",
              "attribute": "actions"
            },
            {
              "kind": "field",
              "name": "_selectedRules",
              "type": {
                "text": "Map<string, CreatedRule>"
              },
              "privacy": "private",
              "default": "new Map<string, CreatedRule>()"
            },
            {
              "kind": "field",
              "name": "_formController",
              "type": {
                "text": "FormControlController"
              },
              "privacy": "private",
              "default": "new FormControlController(this, {})"
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "type": {
                "text": "string"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validity",
              "type": {
                "text": "ValidityState"
              },
              "readonly": true
            },
            {
              "kind": "method",
              "name": "_handleChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_addRule",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event | null"
                  }
                },
                {
                  "name": "value",
                  "default": "\"\"",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "pos",
                  "optional": true,
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_createInput",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "ZnSelect | ZnInput | null"
                }
              },
              "parameters": [
                {
                  "name": "uniqueId",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "filter",
                  "type": {
                    "text": "BulkActionItem"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_updateValue",
              "privacy": "private",
              "parameters": [
                {
                  "name": "id",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "event",
                  "type": {
                    "text": "Event | { target: ZnSelect | ZnInput | HTMLDivElement }"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_getRulePosition",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              },
              "parameters": [
                {
                  "name": "id",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_changeRule",
              "privacy": "private",
              "parameters": [
                {
                  "name": "id",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "event",
                  "type": {
                    "text": "ZnChangeEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_removeRule",
              "privacy": "private",
              "parameters": [
                {
                  "name": "id",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "getForm",
              "return": {
                "type": {
                  "text": "HTMLFormElement | null"
                }
              }
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "attributes": [
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "fieldName": "name"
            },
            {
              "name": "value",
              "type": {
                "text": "PropertyKey"
              },
              "fieldName": "value"
            },
            {
              "name": "actions",
              "type": {
                "text": "BulkActionData"
              },
              "default": "[]",
              "fieldName": "actions"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "bulk-actions",
          "tagName": "zn-bulk-actions",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/bulk-actions\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-button\n * @dependency zn-input\n * @dependency zn-option\n * @dependency zn-select\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/bulk-actions",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-button",
            "zn-input",
            "zn-option",
            "zn-select"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnBulkActions",
            "module": "components/bulk-actions/bulk-actions.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/button/button.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnButton",
          "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 `<zn-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"
            },
            {
              "description": "Slot for custom cancel button/content when autoClick is active.",
              "name": "cancel"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'zn-tooltip': ZnTooltip, 'zn-icon': ZnIcon }"
            },
            {
              "kind": "field",
              "name": "formControlController",
              "privacy": "private",
              "readonly": true,
              "default": "new FormControlController(this)"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, '[default]')"
            },
            {
              "kind": "field",
              "name": "_autoClickTimeout",
              "type": {
                "text": "number | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_loadingState",
              "type": {
                "text": "object"
              },
              "privacy": "private",
              "default": "{ countdown: null as number | null, interval: undefined as number | undefined, }"
            },
            {
              "kind": "field",
              "name": "button",
              "type": {
                "text": "HTMLButtonElement"
              }
            },
            {
              "kind": "field",
              "name": "countdownContainer",
              "type": {
                "text": "HTMLElement[]"
              }
            },
            {
              "kind": "field",
              "name": "color",
              "type": {
                "text": "'default' | 'primary' | 'secondary' | 'error' | 'info' | 'success' | 'warning' |\n    'transparent' | 'star' | (string & Record<never, never>)"
              },
              "default": "'default'",
              "attribute": "color"
            },
            {
              "kind": "field",
              "name": "hoverColor",
              "type": {
                "text": "string"
              },
              "attribute": "hover-color"
            },
            {
              "kind": "field",
              "name": "text",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "text"
            },
            {
              "kind": "field",
              "name": "outline",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "outline"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "disabled"
            },
            {
              "kind": "field",
              "name": "grow",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "grow"
            },
            {
              "kind": "field",
              "name": "square",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "square"
            },
            {
              "kind": "field",
              "name": "iconButton",
              "type": {
                "text": "boolean | 'small' | 'round'"
              },
              "default": "false",
              "description": "Renders the button as an icon button (40x36). Pass `small` for the\n36x36 variant or `round` for a 36x36 circle: `icon-button`,\n`icon-button=\"small\"` or `icon-button=\"round\"`.",
              "attribute": "icon-button"
            },
            {
              "kind": "field",
              "name": "plain",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "With `icon-button`, removes the white background and border while\nkeeping the button's size.",
              "attribute": "plain"
            },
            {
              "kind": "field",
              "name": "noHover",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the hover background, for contexts where the tint doesn't fit.",
              "attribute": "no-hover"
            },
            {
              "kind": "field",
              "name": "panelBackground",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "panel-bg"
            },
            {
              "kind": "field",
              "name": "dropdownCloser",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "dropdown-closer"
            },
            {
              "kind": "field",
              "name": "notification",
              "type": {
                "text": "number"
              },
              "attribute": "notification"
            },
            {
              "kind": "field",
              "name": "mutedNotifications",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "muted-notifications"
            },
            {
              "kind": "field",
              "name": "verticalAlign",
              "type": {
                "text": "'start' | 'center' | 'end'"
              },
              "attribute": "verticalAlign"
            },
            {
              "kind": "field",
              "name": "content",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "content"
            },
            {
              "kind": "field",
              "name": "icon",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "icon"
            },
            {
              "kind": "field",
              "name": "gaid",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "gaid"
            },
            {
              "kind": "field",
              "name": "iconPosition",
              "type": {
                "text": "'left' | 'right'"
              },
              "default": "'left'",
              "attribute": "icon-position"
            },
            {
              "kind": "field",
              "name": "iconSize",
              "type": {
                "text": "string"
              },
              "attribute": "icon-size"
            },
            {
              "kind": "field",
              "name": "iconColor",
              "type": {
                "text": "IconColor"
              },
              "attribute": "icon-color"
            },
            {
              "kind": "field",
              "name": "iconFill",
              "type": {
                "text": "IconColor"
              },
              "attribute": "icon-fill"
            },
            {
              "kind": "field",
              "name": "iconLibrary",
              "type": {
                "text": "IconLibrary"
              },
              "attribute": "icon-library"
            },
            {
              "kind": "field",
              "name": "type",
              "type": {
                "text": "'button' | 'submit' | 'reset'"
              },
              "attribute": "type"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "form",
              "type": {
                "text": "string"
              },
              "attribute": "form"
            },
            {
              "kind": "field",
              "name": "formAction",
              "type": {
                "text": "string"
              },
              "attribute": "formaction"
            },
            {
              "kind": "field",
              "name": "formEnctype",
              "type": {
                "text": "'application/x-www-form-urlencoded' | 'multipart/form-data' | 'text/plain'"
              },
              "attribute": "formenctype"
            },
            {
              "kind": "field",
              "name": "formMethod",
              "type": {
                "text": "'post' | 'get'"
              },
              "attribute": "formmethod"
            },
            {
              "kind": "field",
              "name": "formNoValidate",
              "type": {
                "text": "boolean"
              },
              "attribute": "formnovalidate"
            },
            {
              "kind": "field",
              "name": "formTarget",
              "type": {
                "text": "'_self' | '_blank' | '_parent' | '_top' | string"
              },
              "attribute": "formtarget"
            },
            {
              "kind": "field",
              "name": "href",
              "type": {
                "text": "string"
              },
              "attribute": "href"
            },
            {
              "kind": "field",
              "name": "target",
              "type": {
                "text": "'_self' | '_blank' | '_parent' | '_top' | string"
              },
              "attribute": "target"
            },
            {
              "kind": "field",
              "name": "dataTarget",
              "type": {
                "text": "'modal' | 'slide' | string"
              },
              "attribute": "data-target"
            },
            {
              "kind": "field",
              "name": "rel",
              "type": {
                "text": "string"
              },
              "default": "'noreferrer noopener'",
              "attribute": "rel"
            },
            {
              "kind": "field",
              "name": "tooltip",
              "type": {
                "text": "string"
              },
              "attribute": "tooltip"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "Accessible name for the button. Icon-only buttons fall back to `tooltip`.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "autoClick",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "auto-click"
            },
            {
              "kind": "field",
              "name": "autoClickDelay",
              "type": {
                "text": "number"
              },
              "default": "2000",
              "attribute": "auto-click-delay"
            },
            {
              "kind": "field",
              "name": "loadingText",
              "type": {
                "text": "string"
              },
              "default": "'Loading...'",
              "attribute": "loading-text"
            },
            {
              "kind": "field",
              "name": "loadingTextPosition",
              "type": {
                "text": "'left' | 'right' | 'center' | string"
              },
              "default": "'center'",
              "attribute": "loading-text-position"
            },
            {
              "kind": "field",
              "name": "loading",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "loading"
            },
            {
              "kind": "field",
              "name": "validity",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "handleAutoClickChange",
              "parameters": [
                {
                  "name": "_old",
                  "type": {
                    "text": "boolean"
                  }
                },
                {
                  "name": "value",
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "checkValidity"
            },
            {
              "kind": "method",
              "name": "getForm",
              "return": {
                "type": {
                  "text": "HTMLFormElement | null"
                }
              }
            },
            {
              "kind": "method",
              "name": "reportValidity"
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "click"
            },
            {
              "kind": "field",
              "name": "handleClick"
            },
            {
              "kind": "method",
              "name": "_isLink",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_isButton",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getIconButtonColor",
              "privacy": "private",
              "parameters": [
                {
                  "name": "color",
                  "type": {
                    "text": "string | undefined"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "setupAutoClick"
            },
            {
              "kind": "method",
              "name": "updateCountdownText"
            },
            {
              "kind": "method",
              "name": "teardownAutoClick"
            },
            {
              "kind": "method",
              "name": "_getLoadingContainer",
              "privacy": "private"
            }
          ],
          "events": [
            {
              "description": "Emitted when the button loses focus.",
              "name": "zn-blur"
            },
            {
              "description": "Emitted when the button gains focus.",
              "name": "zn-focus"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
              "name": "zn-invalid"
            }
          ],
          "attributes": [
            {
              "name": "color",
              "type": {
                "text": "'default' | 'primary' | 'secondary' | 'error' | 'info' | 'success' | 'warning' |\n    'transparent' | 'star' | (string & Record<never, never>)"
              },
              "default": "'default'",
              "fieldName": "color"
            },
            {
              "name": "hover-color",
              "type": {
                "text": "string"
              },
              "fieldName": "hoverColor"
            },
            {
              "name": "text",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "text"
            },
            {
              "name": "outline",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "outline"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "disabled"
            },
            {
              "name": "grow",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "grow"
            },
            {
              "name": "square",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "square"
            },
            {
              "name": "icon-button",
              "type": {
                "text": "boolean | 'small' | 'round'"
              },
              "default": "false",
              "description": "Renders the button as an icon button (40x36). Pass `small` for the\n36x36 variant or `round` for a 36x36 circle: `icon-button`,\n`icon-button=\"small\"` or `icon-button=\"round\"`.",
              "fieldName": "iconButton"
            },
            {
              "name": "plain",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "With `icon-button`, removes the white background and border while\nkeeping the button's size.",
              "fieldName": "plain"
            },
            {
              "name": "no-hover",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the hover background, for contexts where the tint doesn't fit.",
              "fieldName": "noHover"
            },
            {
              "name": "panel-bg",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "panelBackground"
            },
            {
              "name": "dropdown-closer",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "dropdownCloser"
            },
            {
              "name": "notification",
              "type": {
                "text": "number"
              },
              "fieldName": "notification"
            },
            {
              "name": "muted-notifications",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "mutedNotifications"
            },
            {
              "name": "verticalAlign",
              "type": {
                "text": "'start' | 'center' | 'end'"
              },
              "fieldName": "verticalAlign"
            },
            {
              "name": "content",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "content"
            },
            {
              "name": "icon",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "icon"
            },
            {
              "name": "gaid",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "gaid"
            },
            {
              "name": "icon-position",
              "type": {
                "text": "'left' | 'right'"
              },
              "default": "'left'",
              "fieldName": "iconPosition"
            },
            {
              "name": "icon-size",
              "type": {
                "text": "string"
              },
              "fieldName": "iconSize"
            },
            {
              "name": "icon-color",
              "type": {
                "text": "IconColor"
              },
              "fieldName": "iconColor"
            },
            {
              "name": "icon-fill",
              "type": {
                "text": "IconColor"
              },
              "fieldName": "iconFill"
            },
            {
              "name": "icon-library",
              "type": {
                "text": "IconLibrary"
              },
              "fieldName": "iconLibrary"
            },
            {
              "name": "type",
              "type": {
                "text": "'button' | 'submit' | 'reset'"
              },
              "fieldName": "type"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "fieldName": "name"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "fieldName": "value"
            },
            {
              "name": "form",
              "type": {
                "text": "string"
              },
              "fieldName": "form"
            },
            {
              "name": "formaction",
              "type": {
                "text": "string"
              },
              "fieldName": "formAction"
            },
            {
              "name": "formenctype",
              "type": {
                "text": "'application/x-www-form-urlencoded' | 'multipart/form-data' | 'text/plain'"
              },
              "fieldName": "formEnctype"
            },
            {
              "name": "formmethod",
              "type": {
                "text": "'post' | 'get'"
              },
              "fieldName": "formMethod"
            },
            {
              "name": "formnovalidate",
              "type": {
                "text": "boolean"
              },
              "fieldName": "formNoValidate"
            },
            {
              "name": "formtarget",
              "type": {
                "text": "'_self' | '_blank' | '_parent' | '_top' | string"
              },
              "fieldName": "formTarget"
            },
            {
              "name": "href",
              "type": {
                "text": "string"
              },
              "fieldName": "href"
            },
            {
              "name": "target",
              "type": {
                "text": "'_self' | '_blank' | '_parent' | '_top' | string"
              },
              "fieldName": "target"
            },
            {
              "name": "data-target",
              "type": {
                "text": "'modal' | 'slide' | string"
              },
              "fieldName": "dataTarget"
            },
            {
              "name": "rel",
              "type": {
                "text": "string"
              },
              "default": "'noreferrer noopener'",
              "fieldName": "rel"
            },
            {
              "name": "tooltip",
              "type": {
                "text": "string"
              },
              "fieldName": "tooltip"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "Accessible name for the button. Icon-only buttons fall back to `tooltip`.",
              "fieldName": "label"
            },
            {
              "name": "auto-click",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "autoClick"
            },
            {
              "name": "auto-click-delay",
              "type": {
                "text": "number"
              },
              "default": "2000",
              "fieldName": "autoClickDelay"
            },
            {
              "name": "loading-text",
              "type": {
                "text": "string"
              },
              "default": "'Loading...'",
              "fieldName": "loadingText"
            },
            {
              "name": "loading-text-position",
              "type": {
                "text": "'left' | 'right' | 'center' | string"
              },
              "default": "'center'",
              "fieldName": "loadingTextPosition"
            },
            {
              "name": "loading",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "loading"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Buttons represent actions that are available to the user.",
          "tagNameWithoutPrefix": "button",
          "tagName": "zn-button",
          "customElement": true,
          "jsDoc": "/**\n * @summary Buttons represent actions that are available to the user.\n * @documentation https://inc.style/components/button\n * @status stable\n * @since 2.0\n *\n * @dependency zn-icon\n * @dependency zn-tooltip\n *\n * @event zn-blur - Emitted when the button loses focus.\n * @event zn-focus - Emitted when the button gains focus.\n * @event zn-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 * @slot cancel - Slot for custom cancel button/content when autoClick is active.\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 `<zn-icon>` element.\n * @csspart spinner - The spinner that shows when the button is in the loading state.\n */",
          "documentation": "https://inc.style/components/button",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "zn-icon",
            "zn-tooltip"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnButton",
            "module": "components/button/button.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/button-group/button-group.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnButtonGroup",
          "cssProperties": [
            {
              "description": "Use flex-grow to fill available space.",
              "name": "--grow"
            },
            {
              "description": "Justify content at the start of the flex space.",
              "name": "--start"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "direction",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'horizontal'",
              "attribute": "direction"
            },
            {
              "kind": "field",
              "name": "grow",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "grow"
            },
            {
              "kind": "field",
              "name": "wrap",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "wrap"
            },
            {
              "kind": "field",
              "name": "start",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "start"
            },
            {
              "kind": "field",
              "name": "gap",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "gap"
            },
            {
              "kind": "field",
              "name": "defaultSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "method",
              "name": "handleSlotChange",
              "privacy": "private"
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "attributes": [
            {
              "name": "direction",
              "type": {
                "text": "'horizontal' | 'vertical'"
              },
              "default": "'horizontal'",
              "fieldName": "direction"
            },
            {
              "name": "grow",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "grow"
            },
            {
              "name": "wrap",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "wrap"
            },
            {
              "name": "start",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "start"
            },
            {
              "name": "gap",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "gap"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "button-group",
          "tagName": "zn-button-group",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/button-group\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --grow - Use flex-grow to fill available space.\n * @cssproperty --start - Justify content at the start of the flex space.\n */",
          "documentation": "https://zinc.style/components/button-group",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnButtonGroup",
            "module": "components/button-group/button-group.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/button-menu/button-menu.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnButtonMenu",
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "maxWidth",
              "type": {
                "text": "number"
              },
              "privacy": "public",
              "attribute": "max-width"
            },
            {
              "kind": "field",
              "name": "containerWidth",
              "type": {
                "text": "number"
              },
              "privacy": "public",
              "attribute": "containerWidth"
            },
            {
              "kind": "field",
              "name": "limit",
              "type": {
                "text": "number"
              },
              "privacy": "public",
              "default": "-1",
              "attribute": "limit"
            },
            {
              "kind": "field",
              "name": "maxLevel",
              "type": {
                "text": "number"
              },
              "privacy": "public",
              "default": "2",
              "attribute": "max-level"
            },
            {
              "kind": "field",
              "name": "iconSize",
              "type": {
                "text": "number"
              },
              "default": "20",
              "attribute": "icon-size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "noGap",
              "type": {
                "text": "boolean"
              },
              "privacy": "public",
              "attribute": "no-gap"
            },
            {
              "kind": "field",
              "name": "noPadding",
              "type": {
                "text": "boolean"
              },
              "privacy": "public",
              "attribute": "no-padding"
            },
            {
              "kind": "field",
              "name": "_buttons",
              "type": {
                "text": "CustomButtonWidths[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "_originalButtons",
              "type": {
                "text": "CustomButtonWidths[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "_resizeRafId",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "resizeObserver",
              "privacy": "private",
              "readonly": true,
              "default": "new ResizeController(this, { target: null, callback: () => { if (this._resizeRafId) return; this._resizeRafId = requestAnimationFrame(() => { this._resizeRafId = 0; this.containerWidth = this.offsetWidth; }); }, })"
            },
            {
              "kind": "method",
              "name": "watchContainerMaxWidth"
            },
            {
              "kind": "method",
              "name": "calculateVisibleButtons"
            },
            {
              "kind": "method",
              "name": "calculateMenuButtons",
              "parameters": [
                {
                  "name": "totalButtons",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "visibleButtons",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "buttons",
                  "type": {
                    "text": "CustomButtonWidths[]"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getButtonLabel",
              "privacy": "private",
              "parameters": [
                {
                  "name": "button",
                  "type": {
                    "text": "ZnButton"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "addButton",
              "privacy": "public",
              "parameters": [
                {
                  "name": "button",
                  "type": {
                    "text": "ZnButton"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "setDynamicButtons",
              "privacy": "public",
              "parameters": [
                {
                  "name": "btns",
                  "type": {
                    "text": "NodeListOf<ZnButton>"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "removeButton",
              "privacy": "public",
              "parameters": [
                {
                  "name": "id",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "removeAllButtons",
              "privacy": "public"
            }
          ],
          "attributes": [
            {
              "name": "max-width",
              "type": {
                "text": "number"
              },
              "fieldName": "maxWidth"
            },
            {
              "name": "containerWidth",
              "type": {
                "text": "number"
              },
              "fieldName": "containerWidth"
            },
            {
              "name": "limit",
              "type": {
                "text": "number"
              },
              "default": "-1",
              "fieldName": "limit"
            },
            {
              "name": "max-level",
              "type": {
                "text": "number"
              },
              "default": "2",
              "fieldName": "maxLevel"
            },
            {
              "name": "icon-size",
              "type": {
                "text": "number"
              },
              "default": "20",
              "fieldName": "iconSize"
            },
            {
              "name": "no-gap",
              "type": {
                "text": "boolean"
              },
              "fieldName": "noGap"
            },
            {
              "name": "no-padding",
              "type": {
                "text": "boolean"
              },
              "fieldName": "noPadding"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Automatically hides buttons in a menu when the screen is too small.",
          "tagNameWithoutPrefix": "button-menu",
          "tagName": "zn-button-menu",
          "customElement": true,
          "jsDoc": "/**\n * @summary Automatically hides buttons in a menu when the screen is too small.\n * @documentation https://zinc.style/components/button-menu\n * @status experimental\n * @since 1.0\n *\n * @slot - The default slot.\n *\n */",
          "documentation": "https://zinc.style/components/button-menu",
          "status": "experimental",
          "since": "1.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnButtonMenu",
            "module": "components/button-menu/button-menu.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/channel-tile/channel-tile.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnChannelTile",
          "cssProperties": [
            {
              "description": "Resolved accent color (set from the `color` property).",
              "name": "--channel-tile-color"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The progress indicator (incoming countdown overlay or active progress bar).",
              "name": "progress"
            }
          ],
          "slots": [
            {
              "description": "Replaces the primary line. Falls back to the `title` attribute (or \"Available\" when unset in the available state).",
              "name": "title"
            },
            {
              "description": "Replaces the secondary line. Falls back to the `subtitle` attribute.",
              "name": "subtitle"
            },
            {
              "description": "Replaces the leading icon in the active state.",
              "name": "leading"
            },
            {
              "description": "Action content for the available state (e.g. a form). Falls back to a default accept button.",
              "name": "action"
            },
            {
              "description": "Trailing content (e.g. status badges) in the active state.",
              "name": "footer"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "available",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Renders the empty/available face instead of the active face.",
              "attribute": "available",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "incoming",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "(Available only) the tile is reserving an incoming item awaiting acceptance.",
              "attribute": "incoming",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "variant",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Free-form grouping/theming key (reflected so consumers can query/style by it).",
              "attribute": "variant",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "header",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Top-bar text (e.g. brand).",
              "attribute": "header"
            },
            {
              "kind": "field",
              "name": "icon",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Leading icon (active state).",
              "attribute": "icon"
            },
            {
              "kind": "field",
              "name": "color",
              "type": {
                "text": "ChannelTileColor"
              },
              "default": "'default'",
              "description": "Accent color driving the leading icon and `--channel-tile-color`.",
              "attribute": "color",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Primary line. Defaults to \"Available\" in the available state when unset.",
              "attribute": "title"
            },
            {
              "kind": "field",
              "name": "subtitle",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Secondary line.",
              "attribute": "subtitle"
            },
            {
              "kind": "field",
              "name": "progress",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "(Active only) progress bar fill, 0–100.",
              "attribute": "progress"
            },
            {
              "kind": "field",
              "name": "progressColor",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "(Active only) CSS color for the progress bar fill.",
              "attribute": "progress-color"
            },
            {
              "kind": "field",
              "name": "itemId",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Identifier carried in `zn-accept` / `zn-reject` event details.",
              "attribute": "item-id"
            },
            {
              "kind": "field",
              "name": "acceptUri",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "(Available only) when set, accepting fetches this URI unless `zn-accept` is canceled.",
              "attribute": "accept-uri"
            },
            {
              "kind": "field",
              "name": "reservedUntil",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "(Available/incoming) epoch (seconds or millis) at which the reservation window ends.",
              "attribute": "reserved-until"
            },
            {
              "kind": "field",
              "name": "autoAcceptDelay",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "(Available/incoming) auto-accept window length in milliseconds.",
              "attribute": "auto-accept-delay"
            },
            {
              "kind": "field",
              "name": "rejectable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "(Available/incoming) whether a reject control is offered.",
              "attribute": "rejectable",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "acceptIcon",
              "type": {
                "text": "string"
              },
              "default": "'plus@lu'",
              "description": "Icon for the built-in accept button.",
              "attribute": "accept-icon"
            },
            {
              "kind": "field",
              "name": "acceptGaid",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Optional analytics id forwarded to the built-in accept button.",
              "attribute": "accept-gaid"
            },
            {
              "kind": "field",
              "name": "rejectIcon",
              "type": {
                "text": "string"
              },
              "default": "'close'",
              "description": "Icon for the reject control.",
              "attribute": "reject-icon"
            },
            {
              "kind": "field",
              "name": "rejectLabel",
              "type": {
                "text": "string"
              },
              "default": "'Reject'",
              "description": "Accessible label for the reject control.",
              "attribute": "reject-label"
            },
            {
              "kind": "field",
              "name": "_tickInterval",
              "type": {
                "text": "number | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_autoAcceptFired",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "method",
              "name": "_isCountingDown",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "_startTicker",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_stopTicker",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_maybeAutoAccept",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_accept",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "_reservedUntilMs",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              }
            },
            {
              "kind": "method",
              "name": "_countdownPercent",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              }
            },
            {
              "kind": "method",
              "name": "_remainingSeconds",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number | null"
                }
              }
            },
            {
              "kind": "field",
              "name": "_handleReject",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_handleClick",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_renderLeading",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_renderAvailableAction",
              "privacy": "private"
            }
          ],
          "events": [
            {
              "description": "Emitted when an available tile is accepted (click or auto-accept). Cancelable — call `preventDefault()` to suppress the built-in `accept-uri` fetch.",
              "name": "zn-accept"
            },
            {
              "description": "Emitted when the reject control is pressed.",
              "name": "zn-reject"
            }
          ],
          "attributes": [
            {
              "name": "available",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Renders the empty/available face instead of the active face.",
              "fieldName": "available"
            },
            {
              "name": "incoming",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "(Available only) the tile is reserving an incoming item awaiting acceptance.",
              "fieldName": "incoming"
            },
            {
              "name": "variant",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Free-form grouping/theming key (reflected so consumers can query/style by it).",
              "fieldName": "variant"
            },
            {
              "name": "header",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Top-bar text (e.g. brand).",
              "fieldName": "header"
            },
            {
              "name": "icon",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Leading icon (active state).",
              "fieldName": "icon"
            },
            {
              "name": "color",
              "type": {
                "text": "ChannelTileColor"
              },
              "default": "'default'",
              "description": "Accent color driving the leading icon and `--channel-tile-color`.",
              "fieldName": "color"
            },
            {
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Primary line. Defaults to \"Available\" in the available state when unset.",
              "fieldName": "title"
            },
            {
              "name": "subtitle",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Secondary line.",
              "fieldName": "subtitle"
            },
            {
              "name": "progress",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "(Active only) progress bar fill, 0–100.",
              "fieldName": "progress"
            },
            {
              "name": "progress-color",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "(Active only) CSS color for the progress bar fill.",
              "fieldName": "progressColor"
            },
            {
              "name": "item-id",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Identifier carried in `zn-accept` / `zn-reject` event details.",
              "fieldName": "itemId"
            },
            {
              "name": "accept-uri",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "(Available only) when set, accepting fetches this URI unless `zn-accept` is canceled.",
              "fieldName": "acceptUri"
            },
            {
              "name": "reserved-until",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "(Available/incoming) epoch (seconds or millis) at which the reservation window ends.",
              "fieldName": "reservedUntil"
            },
            {
              "name": "auto-accept-delay",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "(Available/incoming) auto-accept window length in milliseconds.",
              "fieldName": "autoAcceptDelay"
            },
            {
              "name": "rejectable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "(Available/incoming) whether a reject control is offered.",
              "fieldName": "rejectable"
            },
            {
              "name": "accept-icon",
              "type": {
                "text": "string"
              },
              "default": "'plus@lu'",
              "description": "Icon for the built-in accept button.",
              "fieldName": "acceptIcon"
            },
            {
              "name": "accept-gaid",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Optional analytics id forwarded to the built-in accept button.",
              "fieldName": "acceptGaid"
            },
            {
              "name": "reject-icon",
              "type": {
                "text": "string"
              },
              "default": "'close'",
              "description": "Icon for the reject control.",
              "fieldName": "rejectIcon"
            },
            {
              "name": "reject-label",
              "type": {
                "text": "string"
              },
              "default": "'Reject'",
              "description": "Accessible label for the reject control.",
              "fieldName": "rejectLabel"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "A channel/queue slot tile with two faces: an active (occupied) state\nshowing an in-progress item, and an available (empty) state advertising\ncapacity — optionally reserving an incoming item with an auto-accept countdown.",
          "tagNameWithoutPrefix": "channel-tile",
          "tagName": "zn-channel-tile",
          "customElement": true,
          "jsDoc": "/**\n * @summary A channel/queue slot tile with two faces: an active (occupied) state\n * showing an in-progress item, and an available (empty) state advertising\n * capacity — optionally reserving an incoming item with an auto-accept countdown.\n * @documentation https://zinc.style/components/channel-tile\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-button\n * @dependency zn-icon\n *\n * @event zn-accept - Emitted when an available tile is accepted (click or auto-accept).\n *  Cancelable — call `preventDefault()` to suppress the built-in `accept-uri` fetch.\n * @event zn-reject - Emitted when the reject control is pressed.\n *\n * @slot title - Replaces the primary line. Falls back to the `title` attribute (or \"Available\" when unset in the available state).\n * @slot subtitle - Replaces the secondary line. Falls back to the `subtitle` attribute.\n * @slot leading - Replaces the leading icon in the active state.\n * @slot action - Action content for the available state (e.g. a form). Falls back to a default accept button.\n * @slot footer - Trailing content (e.g. status badges) in the active state.\n *\n * @csspart base - The component's base wrapper.\n * @csspart progress - The progress indicator (incoming countdown overlay or active progress bar).\n *\n * @cssproperty --channel-tile-color - Resolved accent color (set from the `color` property).\n */",
          "documentation": "https://zinc.style/components/channel-tile",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-button",
            "zn-icon"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnChannelTile",
            "module": "components/channel-tile/channel-tile.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/chart/chart.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnChart",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "type",
              "type": {
                "text": "ChartType"
              },
              "default": "'bar'",
              "attribute": "type"
            },
            {
              "kind": "field",
              "name": "data",
              "type": {
                "text": "SeriesItem[]"
              },
              "default": "[]",
              "attribute": "data"
            },
            {
              "kind": "field",
              "name": "categories",
              "type": {
                "text": "string[]"
              },
              "default": "[]",
              "attribute": "categories"
            },
            {
              "kind": "field",
              "name": "yCategories",
              "type": {
                "text": "string[]"
              },
              "default": "[]",
              "attribute": "y-categories"
            },
            {
              "kind": "field",
              "name": "indicators",
              "type": {
                "text": "RadarIndicator[]"
              },
              "default": "[]",
              "attribute": "indicators"
            },
            {
              "kind": "field",
              "name": "xAxis",
              "type": {
                "text": "'datetime' | 'category' | 'numeric'"
              },
              "attribute": "xaxis"
            },
            {
              "kind": "field",
              "name": "datapointSize",
              "type": {
                "text": "number"
              },
              "default": "1",
              "attribute": "d-size"
            },
            {
              "kind": "field",
              "name": "stacked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "stacked"
            },
            {
              "kind": "field",
              "name": "live",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "live"
            },
            {
              "kind": "field",
              "name": "dataUrl",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "data-url"
            },
            {
              "kind": "field",
              "name": "liveInterval",
              "type": {
                "text": "number"
              },
              "default": "1000",
              "attribute": "live-interval"
            },
            {
              "kind": "field",
              "name": "height",
              "type": {
                "text": "number"
              },
              "default": "300",
              "attribute": "height",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "enableAnimations",
              "type": {
                "text": "boolean | number"
              },
              "default": "false",
              "attribute": "enable-animations"
            },
            {
              "kind": "field",
              "name": "yAxisAppend",
              "type": {
                "text": "string"
              },
              "attribute": "y-axis-append"
            },
            {
              "kind": "field",
              "name": "colors",
              "type": {
                "text": "string[] | undefined"
              },
              "attribute": "colors"
            },
            {
              "kind": "field",
              "name": "syncGroup",
              "type": {
                "text": "string | undefined"
              },
              "attribute": "sync-group"
            },
            {
              "kind": "field",
              "name": "smooth",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "smooth"
            },
            {
              "kind": "field",
              "name": "innerRadius",
              "type": {
                "text": "number | string | undefined"
              },
              "attribute": "inner-radius"
            },
            {
              "kind": "field",
              "name": "outerRadius",
              "type": {
                "text": "number | string | undefined"
              },
              "attribute": "outer-radius"
            },
            {
              "kind": "field",
              "name": "showLabels",
              "type": {
                "text": "boolean | undefined"
              },
              "attribute": "show-labels"
            },
            {
              "kind": "field",
              "name": "minValue",
              "type": {
                "text": "number | undefined"
              },
              "attribute": "min-value"
            },
            {
              "kind": "field",
              "name": "maxValue",
              "type": {
                "text": "number | undefined"
              },
              "attribute": "max-value"
            },
            {
              "kind": "field",
              "name": "scale",
              "type": {
                "text": "boolean | number"
              },
              "default": "false",
              "attribute": "scale"
            },
            {
              "kind": "field",
              "name": "chart",
              "type": {
                "text": "ECharts | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "echarts",
              "type": {
                "text": "EChartsModule | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "initPromise",
              "type": {
                "text": "Promise<void> | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "liveTimer",
              "type": {
                "text": "number | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "resizeObserver",
              "privacy": "private",
              "readonly": true,
              "default": "new ResizeController(this, { target: null, skipInitial: true, callback: () => this.chart?.resize(), })"
            },
            {
              "kind": "method",
              "name": "getUpdateComplete",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "Promise<boolean>"
                }
              }
            },
            {
              "kind": "method",
              "name": "getTheme",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "'light' | 'dark'"
                }
              }
            },
            {
              "kind": "method",
              "name": "getTextColor",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string | undefined"
                }
              }
            },
            {
              "kind": "method",
              "name": "getBorderColor",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string | undefined"
                }
              }
            },
            {
              "kind": "method",
              "name": "buildOption",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "initChart",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "startLive",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "reinit",
              "privacy": "private"
            }
          ],
          "attributes": [
            {
              "name": "type",
              "type": {
                "text": "ChartType"
              },
              "default": "'bar'",
              "fieldName": "type"
            },
            {
              "name": "data",
              "type": {
                "text": "SeriesItem[]"
              },
              "default": "[]",
              "fieldName": "data"
            },
            {
              "name": "categories",
              "type": {
                "text": "string[]"
              },
              "default": "[]",
              "fieldName": "categories"
            },
            {
              "name": "y-categories",
              "type": {
                "text": "string[]"
              },
              "default": "[]",
              "fieldName": "yCategories"
            },
            {
              "name": "indicators",
              "type": {
                "text": "RadarIndicator[]"
              },
              "default": "[]",
              "fieldName": "indicators"
            },
            {
              "name": "xaxis",
              "type": {
                "text": "'datetime' | 'category' | 'numeric'"
              },
              "fieldName": "xAxis"
            },
            {
              "name": "d-size",
              "type": {
                "text": "number"
              },
              "default": "1",
              "fieldName": "datapointSize"
            },
            {
              "name": "stacked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "stacked"
            },
            {
              "name": "live",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "live"
            },
            {
              "name": "data-url",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "dataUrl"
            },
            {
              "name": "live-interval",
              "type": {
                "text": "number"
              },
              "default": "1000",
              "fieldName": "liveInterval"
            },
            {
              "name": "height",
              "type": {
                "text": "number"
              },
              "default": "300",
              "fieldName": "height"
            },
            {
              "name": "enable-animations",
              "type": {
                "text": "boolean | number"
              },
              "default": "false",
              "fieldName": "enableAnimations"
            },
            {
              "name": "y-axis-append",
              "type": {
                "text": "string"
              },
              "fieldName": "yAxisAppend"
            },
            {
              "name": "colors",
              "type": {
                "text": "string[] | undefined"
              },
              "fieldName": "colors"
            },
            {
              "name": "sync-group",
              "type": {
                "text": "string | undefined"
              },
              "fieldName": "syncGroup"
            },
            {
              "name": "smooth",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "smooth"
            },
            {
              "name": "inner-radius",
              "type": {
                "text": "number | string | undefined"
              },
              "fieldName": "innerRadius"
            },
            {
              "name": "outer-radius",
              "type": {
                "text": "number | string | undefined"
              },
              "fieldName": "outerRadius"
            },
            {
              "name": "show-labels",
              "type": {
                "text": "boolean | undefined"
              },
              "fieldName": "showLabels"
            },
            {
              "name": "min-value",
              "type": {
                "text": "number | undefined"
              },
              "fieldName": "minValue"
            },
            {
              "name": "max-value",
              "type": {
                "text": "number | undefined"
              },
              "fieldName": "maxValue"
            },
            {
              "name": "scale",
              "type": {
                "text": "boolean | number"
              },
              "default": "false",
              "fieldName": "scale"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Chart component powered by Apache ECharts.",
          "tagNameWithoutPrefix": "chart",
          "tagName": "zn-chart",
          "customElement": true,
          "jsDoc": "/**\n * @summary Chart component powered by Apache ECharts.\n * @documentation https://zinc.style/components/data-chart\n * @status experimental\n * @since 1.0\n *\n * @csspart base - The component's base wrapper.\n */",
          "documentation": "https://zinc.style/components/data-chart",
          "status": "experimental",
          "since": "1.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnChart",
            "module": "components/chart/chart.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/chat-message/chat-message.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnChatMessage",
          "cssProperties": [
            {
              "description": "The bubble's background color.",
              "name": "--message-background"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The avatar column.",
              "name": "avatar"
            },
            {
              "description": "The header and bubble column.",
              "name": "body"
            },
            {
              "description": "The sender/time/badge row.",
              "name": "header"
            },
            {
              "description": "The message bubble.",
              "name": "bubble"
            },
            {
              "description": "The message content within the bubble.",
              "name": "content"
            },
            {
              "description": "The attachments row beneath the message content.",
              "name": "attachments"
            },
            {
              "description": "The card rendered for system action types.",
              "name": "system-card"
            }
          ],
          "slots": [
            {
              "description": "The message content. Ignored when the `message` attribute is set.",
              "name": ""
            },
            {
              "description": "Rendered in the header after the sender and time (e.g. an INTERNAL NOTE chip).",
              "name": "badge"
            },
            {
              "description": "Attachments displayed beneath the message content. Use `zn-chat-message-attachment`, which auto-assigns itself to this slot.",
              "name": "attachments"
            },
            {
              "description": "Action rendered at the end of the bubble (e.g. a remove icon button).",
              "name": "edit-dialog-trigger"
            },
            {
              "description": "Pass-through for an associated dialog element.",
              "name": "edit-dialog"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'zn-icon': ZnIcon }"
            },
            {
              "kind": "field",
              "name": "SYSTEM_ACTION_TYPES",
              "type": {
                "text": "readonly string[]"
              },
              "static": true,
              "readonly": true,
              "default": "[ 'connected.agent', 'attachment.added', 'transfer', 'ended', 'customer.ended', 'customer.connected', 'customer.disconnected', ]"
            },
            {
              "kind": "field",
              "name": "DISPLAYED_ACTION_TYPES",
              "type": {
                "text": "readonly string[]"
              },
              "privacy": "private",
              "static": true,
              "readonly": true,
              "default": "[ '', 'connected.agent', 'attachment.added', 'multi.answer', 'transfer', 'ended', 'error', 'customer.ended', 'message-sending', 'customer.connected', 'customer.disconnected', 'internal', ]"
            },
            {
              "kind": "field",
              "name": "sender",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The sender's name, also used for the avatar.",
              "attribute": "sender"
            },
            {
              "kind": "field",
              "name": "message",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The message body as an HTML string. When set, it is sanitized (scripts and event\nhandlers stripped), newlines become line breaks and bare URLs become links. When\nomitted the default slot is rendered instead.",
              "attribute": "message"
            },
            {
              "kind": "field",
              "name": "time",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Unix timestamp (seconds) of the message, shown as HH:MM (with date if not today).",
              "attribute": "time"
            },
            {
              "kind": "field",
              "name": "avatar",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Overrides the avatar source. Defaults to `sender`.",
              "attribute": "avatar"
            },
            {
              "kind": "field",
              "name": "actionType",
              "type": {
                "text": "ChatMessageActionType"
              },
              "default": "''",
              "description": "The kind of message. Drives system-card rendering, the sending state and badges.",
              "attribute": "action-type",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "customerInitiated",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Marks the message as initiated by the customer (affects styling and grouping).",
              "attribute": "customer-initiated",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "agentInitiated",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Marks the message as initiated by an agent (affects styling and grouping).",
              "attribute": "agent-initiated",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "hideSender",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the sender's name in the message header.",
              "attribute": "hide-sender",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "hasAttachments",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Whether any element is assigned to the `attachments` slot — drives the attachments row visibility."
            },
            {
              "kind": "method",
              "name": "handleAttachmentsSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "syncHasAttachments",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "isSystemMessage",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "renderSystemCard",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "systemLabel",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "renderHeader",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "renderContent",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getTime",
              "privacy": "private",
              "description": "HH:MM only — used on the system card."
            },
            {
              "kind": "method",
              "name": "getSentTime",
              "privacy": "private",
              "description": "HH:MM, prefixed with the date when the message is not from today."
            }
          ],
          "attributes": [
            {
              "name": "sender",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The sender's name, also used for the avatar.",
              "fieldName": "sender"
            },
            {
              "name": "message",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The message body as an HTML string. When set, it is sanitized (scripts and event\nhandlers stripped), newlines become line breaks and bare URLs become links. When\nomitted the default slot is rendered instead.",
              "fieldName": "message"
            },
            {
              "name": "time",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Unix timestamp (seconds) of the message, shown as HH:MM (with date if not today).",
              "fieldName": "time"
            },
            {
              "name": "avatar",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Overrides the avatar source. Defaults to `sender`.",
              "fieldName": "avatar"
            },
            {
              "name": "action-type",
              "type": {
                "text": "ChatMessageActionType"
              },
              "default": "''",
              "description": "The kind of message. Drives system-card rendering, the sending state and badges.",
              "fieldName": "actionType"
            },
            {
              "name": "customer-initiated",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Marks the message as initiated by the customer (affects styling and grouping).",
              "fieldName": "customerInitiated"
            },
            {
              "name": "agent-initiated",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Marks the message as initiated by an agent (affects styling and grouping).",
              "fieldName": "agentInitiated"
            },
            {
              "name": "hide-sender",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the sender's name in the message header.",
              "fieldName": "hideSender"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "A single message in a chat-style conversation: avatar, sender,\ntime, optional badge, and a message bubble with optional actions. Also renders\nsystem events (connections, transfers, etc.) as a centred card.",
          "tagNameWithoutPrefix": "chat-message",
          "tagName": "zn-chat-message",
          "customElement": true,
          "jsDoc": "/**\n * @summary A single message in a chat-style conversation: avatar, sender,\n * time, optional badge, and a message bubble with optional actions. Also renders\n * system events (connections, transfers, etc.) as a centred card.\n * @documentation https://zinc.style/components/chat-message\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-icon\n *\n * @slot - The message content. Ignored when the `message` attribute is set.\n * @slot badge - Rendered in the header after the sender and time (e.g. an INTERNAL NOTE chip).\n * @slot attachments - Attachments displayed beneath the message content. Use `zn-chat-message-attachment`,\n * which auto-assigns itself to this slot.\n * @slot edit-dialog-trigger - Action rendered at the end of the bubble (e.g. a remove icon button).\n * @slot edit-dialog - Pass-through for an associated dialog element.\n *\n * @csspart base - The component's base wrapper.\n * @csspart avatar - The avatar column.\n * @csspart body - The header and bubble column.\n * @csspart header - The sender/time/badge row.\n * @csspart bubble - The message bubble.\n * @csspart content - The message content within the bubble.\n * @csspart attachments - The attachments row beneath the message content.\n * @csspart system-card - The card rendered for system action types.\n *\n * @cssproperty --message-background - The bubble's background color.\n */",
          "documentation": "https://zinc.style/components/chat-message",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-icon"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnChatMessage",
            "module": "components/chat-message/chat-message.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/chat-message-attachment/chat-message-attachment.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnChatMessageAttachment",
          "cssParts": [
            {
              "description": "The attachment link.",
              "name": "base"
            },
            {
              "description": "The leading icon.",
              "name": "icon"
            },
            {
              "description": "The attachment label.",
              "name": "label"
            }
          ],
          "slots": [
            {
              "description": "The attachment label. Falls back to the `name` attribute when empty.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'zn-icon': ZnIcon }"
            },
            {
              "kind": "field",
              "name": "href",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The URL the attachment links to.",
              "attribute": "href"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The attachment label (e.g. the file name). Used when the default slot is empty.",
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "icon",
              "type": {
                "text": "string"
              },
              "default": "'paperclip@lu'",
              "description": "The leading icon name.",
              "attribute": "icon"
            },
            {
              "kind": "field",
              "name": "target",
              "type": {
                "text": "string"
              },
              "default": "'_blank'",
              "description": "Where to open the link. Defaults to a new tab. Reflected so the console's\npagelet link interception (`[href]:not([target])`) skips the host and the\nbrowser handles the click natively (download / new tab) instead of\nloading the file URL as a pagelet.",
              "attribute": "target",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "download",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Prompt a download rather than navigating to the link.",
              "attribute": "download"
            }
          ],
          "attributes": [
            {
              "name": "href",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The URL the attachment links to.",
              "fieldName": "href"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The attachment label (e.g. the file name). Used when the default slot is empty.",
              "fieldName": "name"
            },
            {
              "name": "icon",
              "type": {
                "text": "string"
              },
              "default": "'paperclip@lu'",
              "description": "The leading icon name.",
              "fieldName": "icon"
            },
            {
              "name": "target",
              "type": {
                "text": "string"
              },
              "default": "'_blank'",
              "description": "Where to open the link. Defaults to a new tab. Reflected so the console's\npagelet link interception (`[href]:not([target])`) skips the host and the\nbrowser handles the click natively (download / new tab) instead of\nloading the file URL as a pagelet.",
              "fieldName": "target"
            },
            {
              "name": "download",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Prompt a download rather than navigating to the link.",
              "fieldName": "download"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "A single file or link attachment for a `zn-chat-message` or `zn-content-block`.\nRenders an icon and a label as a link, styled to match the message's attachments row. It is\nintended to be used only inside a `zn-chat-message` or `zn-content-block` and is automatically\nplaced in that component's `attachments` slot.",
          "tagNameWithoutPrefix": "chat-message-attachment",
          "tagName": "zn-chat-message-attachment",
          "customElement": true,
          "jsDoc": "/**\n * @summary A single file or link attachment for a `zn-chat-message` or `zn-content-block`.\n * Renders an icon and a label as a link, styled to match the message's attachments row. It is\n * intended to be used only inside a `zn-chat-message` or `zn-content-block` and is automatically\n * placed in that component's `attachments` slot.\n * @documentation https://zinc.style/components/chat-message-attachment\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-icon\n *\n * @slot - The attachment label. Falls back to the `name` attribute when empty.\n *\n * @csspart base - The attachment link.\n * @csspart icon - The leading icon.\n * @csspart label - The attachment label.\n */",
          "documentation": "https://zinc.style/components/chat-message-attachment",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-icon"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnChatMessageAttachment",
            "module": "components/chat-message-attachment/chat-message-attachment.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/checkbox/checkbox.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnCheckbox",
          "cssProperties": [
            {
              "description": "Width of the built-in card image.",
              "name": "--zn-selection-card-image-width"
            },
            {
              "description": "Height of the built-in card image.",
              "name": "--zn-selection-card-image-height"
            },
            {
              "description": "Minimum height of a contained checkbox with an image.",
              "name": "--zn-selection-card-min-height"
            },
            {
              "description": "Width the card text keeps before it wraps below the image.",
              "name": "--zn-selection-card-content-min-width"
            },
            {
              "description": "Font size of a selection card title.",
              "name": "--zn-selection-card-title-font-size"
            },
            {
              "description": "Equal inset around the contents of a selection card.",
              "name": "--zn-selection-card-padding"
            },
            {
              "description": "Space between the image, title, and indicator gutter.",
              "name": "--zn-selection-card-gap"
            },
            {
              "description": "Distance between a positioned control and the card edge.",
              "name": "--zn-selection-card-control-offset"
            },
            {
              "description": "Corner radius of a contained container.",
              "name": "--zn-selection-card-border-radius"
            }
          ],
          "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 `<zn-icon>` element.",
              "name": "checked-icon"
            },
            {
              "description": "The unchecked icon, an `<zn-icon>` element.",
              "name": "unchecked-icon"
            },
            {
              "description": "The indeterminate icon, an `<zn-icon>` element.",
              "name": "indeterminate-icon"
            },
            {
              "description": "The wrapper around the built-in image or image slot.",
              "name": "image-container"
            },
            {
              "description": "The built-in image.",
              "name": "image"
            },
            {
              "description": "The title inside a selection card.",
              "name": "card-title"
            },
            {
              "description": "The container that wraps the checkbox's label.",
              "name": "label"
            },
            {
              "description": "The container that wraps the checkbox's description.",
              "name": "description"
            },
            {
              "description": "The container that wraps optional content that appears when a checkbox is checked.",
              "name": "selected-content"
            }
          ],
          "slots": [
            {
              "description": "The checkbox's label.",
              "name": ""
            },
            {
              "description": "Replaces the built-in image used by contained checkboxes.",
              "name": "image"
            },
            {
              "description": "A description of the checkbox's label. Serves as help text for a checkbox item. Alternatively, you can use the `description` attribute.",
              "name": "description"
            },
            {
              "description": "Use to nest rich content (like an input) inside a selected checkbox item. Use only with the contained style.",
              "name": "selected-content"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{'zn-icon': ZnIcon}"
            },
            {
              "kind": "field",
              "name": "formControlController",
              "privacy": "private",
              "readonly": true,
              "default": "new FormControlController(this, { value: (control: ZnCheckbox) => (control.checked ? control.value || 'on' : control.uncheckedValue || undefined), defaultValue: (control: ZnCheckbox) => control.defaultChecked, setValue: (control: ZnCheckbox, checked: boolean) => (control.checked = checked) })"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, '[default]', 'description', 'image')"
            },
            {
              "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"
            },
            {
              "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": "cardTitle",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Title rendered inside the card. The default slot takes precedence when provided.",
              "attribute": "card-title"
            },
            {
              "kind": "field",
              "name": "uncheckedValue",
              "type": {
                "text": "string"
              },
              "description": "The unchecked value of the checkbox, submitted as a name/value pair with form data.",
              "attribute": "unchecked-value",
              "reflects": true
            },
            {
              "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": "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": "contained",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a container around the checkbox.",
              "attribute": "contained",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "square",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Squares off the corners of the container drawn by `contained`, which is rounded by default.",
              "attribute": "square",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "src",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "URL for the image shown in a contained checkbox.",
              "attribute": "src"
            },
            {
              "kind": "field",
              "name": "imageAlt",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Accessible text for the built-in image. Leave empty when the image is decorative.",
              "attribute": "image-alt"
            },
            {
              "kind": "field",
              "name": "imagePosition",
              "type": {
                "text": "SelectionCardImagePosition"
              },
              "default": "'left'",
              "description": "Places the image above, beside, or below the checkbox's text. Requires `contained`.",
              "attribute": "image-position",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "controlPosition",
              "type": {
                "text": "SelectionCardControlPosition"
              },
              "default": "'start'",
              "description": "Places the checkbox indicator within a contained card. Use `none` to hide the indicator so the card itself\nshows the selected state. Requires `contained`.",
              "attribute": "control-position",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "borderless",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Removes a container around the checkbox.",
              "attribute": "borderless",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "horizontal",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Applies styles relevant to checkboxes in a horizontal layout.",
              "attribute": "horizontal",
              "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": "submitOnClick",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Submits the form when checkbox is clicked.",
              "attribute": "submit-on-click",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "description",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The checkbox's help text. If you need to display HTML, use the `description` slot instead.",
              "attribute": "description"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "labelTooltip",
              "type": {
                "text": "string"
              },
              "attribute": "label-tooltip"
            },
            {
              "kind": "field",
              "name": "checkedIcon",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The icon to show when the checkbox is checked.",
              "attribute": "checked-icon"
            },
            {
              "kind": "field",
              "name": "uncheckedIcon",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The icon to show when the checkbox is unchecked.",
              "attribute": "unchecked-icon"
            },
            {
              "kind": "field",
              "name": "color",
              "type": {
                "text": "ColorOption"
              },
              "default": "'default'",
              "description": "The color of the checkbox.",
              "attribute": "color",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "checkedColor",
              "type": {
                "text": "ColorOption"
              },
              "description": "The color of the checkbox when checked. Overrides `color`.",
              "attribute": "checked-color"
            },
            {
              "kind": "field",
              "name": "uncheckedColor",
              "type": {
                "text": "ColorOption"
              },
              "description": "The color of the checkbox when unchecked. Overrides `color`.",
              "attribute": "unchecked-color"
            },
            {
              "kind": "field",
              "name": "validity",
              "description": "Gets the validity state object",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "isChecked",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "description": "Gets the validation message",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "handleClick",
              "privacy": "private"
            },
            {
              "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": "handleSelectedContentClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "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": "zn-blur"
            },
            {
              "description": "Emitted when the checked state changes.",
              "name": "zn-change"
            },
            {
              "description": "Emitted when the checkbox gains focus.",
              "name": "zn-focus"
            },
            {
              "description": "Emitted when the checkbox receives input.",
              "name": "zn-input"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
              "name": "zn-invalid"
            }
          ],
          "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": "card-title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Title rendered inside the card. The default slot takes precedence when provided.",
              "fieldName": "cardTitle"
            },
            {
              "name": "unchecked-value",
              "type": {
                "text": "string"
              },
              "description": "The unchecked value of the checkbox, submitted as a name/value pair with form data.",
              "fieldName": "uncheckedValue"
            },
            {
              "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": "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": "contained",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a container around the checkbox.",
              "fieldName": "contained"
            },
            {
              "name": "square",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Squares off the corners of the container drawn by `contained`, which is rounded by default.",
              "fieldName": "square"
            },
            {
              "name": "src",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "URL for the image shown in a contained checkbox.",
              "fieldName": "src"
            },
            {
              "name": "image-alt",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Accessible text for the built-in image. Leave empty when the image is decorative.",
              "fieldName": "imageAlt"
            },
            {
              "name": "image-position",
              "type": {
                "text": "SelectionCardImagePosition"
              },
              "default": "'left'",
              "description": "Places the image above, beside, or below the checkbox's text. Requires `contained`.",
              "fieldName": "imagePosition"
            },
            {
              "name": "control-position",
              "type": {
                "text": "SelectionCardControlPosition"
              },
              "default": "'start'",
              "description": "Places the checkbox indicator within a contained card. Use `none` to hide the indicator so the card itself\nshows the selected state. Requires `contained`.",
              "fieldName": "controlPosition"
            },
            {
              "name": "borderless",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Removes a container around the checkbox.",
              "fieldName": "borderless"
            },
            {
              "name": "horizontal",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Applies styles relevant to checkboxes in a horizontal layout.",
              "fieldName": "horizontal"
            },
            {
              "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": "submit-on-click",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Submits the form when checkbox is clicked.",
              "fieldName": "submitOnClick"
            },
            {
              "name": "description",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The checkbox's help text. If you need to display HTML, use the `description` slot instead.",
              "fieldName": "description"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "fieldName": "label"
            },
            {
              "name": "label-tooltip",
              "type": {
                "text": "string"
              },
              "fieldName": "labelTooltip"
            },
            {
              "name": "checked-icon",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The icon to show when the checkbox is checked.",
              "fieldName": "checkedIcon"
            },
            {
              "name": "unchecked-icon",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The icon to show when the checkbox is unchecked.",
              "fieldName": "uncheckedIcon"
            },
            {
              "name": "color",
              "type": {
                "text": "ColorOption"
              },
              "default": "'default'",
              "description": "The color of the checkbox.",
              "fieldName": "color"
            },
            {
              "name": "checked-color",
              "type": {
                "text": "ColorOption"
              },
              "description": "The color of the checkbox when checked. Overrides `color`.",
              "fieldName": "checkedColor"
            },
            {
              "name": "unchecked-color",
              "type": {
                "text": "ColorOption"
              },
              "description": "The color of the checkbox when unchecked. Overrides `color`.",
              "fieldName": "uncheckedColor"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "checkbox",
          "tagName": "zn-checkbox",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/checkbox\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-icon\n *\n * @slot - The checkbox's label.\n * @slot image - Replaces the built-in image used by contained checkboxes.\n * @slot description - A description of the checkbox's label. Serves as help text for a checkbox item. Alternatively, you can use the `description` attribute.\n * @slot selected-content - Use to nest rich content (like an input) inside a selected checkbox item. Use only with the contained style.\n *\n * @event zn-blur - Emitted when the checkbox loses focus.\n * @event zn-change - Emitted when the checked state changes.\n * @event zn-focus - Emitted when the checkbox gains focus.\n * @event zn-input - Emitted when the checkbox receives input.\n * @event zn-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 `<zn-icon>` element.\n * @csspart unchecked-icon - The unchecked icon, an `<zn-icon>` element.\n * @csspart indeterminate-icon - The indeterminate icon, an `<zn-icon>` element.\n * @csspart image-container - The wrapper around the built-in image or image slot.\n * @csspart image - The built-in image.\n * @csspart card-title - The title inside a selection card.\n * @csspart label - The container that wraps the checkbox's label.\n * @csspart description - The container that wraps the checkbox's description.\n * @csspart selected-content - The container that wraps optional content that appears when a checkbox is checked.\n *\n * @cssproperty --zn-selection-card-image-width - Width of the built-in card image.\n * @cssproperty --zn-selection-card-image-height - Height of the built-in card image.\n * @cssproperty --zn-selection-card-min-height - Minimum height of a contained checkbox with an image.\n * @cssproperty --zn-selection-card-content-min-width - Width the card text keeps before it wraps below the image.\n * @cssproperty --zn-selection-card-title-font-size - Font size of a selection card title.\n * @cssproperty --zn-selection-card-padding - Equal inset around the contents of a selection card.\n * @cssproperty --zn-selection-card-gap - Space between the image, title, and indicator gutter.\n * @cssproperty --zn-selection-card-control-offset - Distance between a positioned control and the card edge.\n * @cssproperty --zn-selection-card-border-radius - Corner radius of a contained container.\n */",
          "documentation": "https://zinc.style/components/checkbox",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-icon"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnCheckbox",
            "module": "components/checkbox/checkbox.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/checkbox-group/checkbox-group.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnCheckboxGroup",
          "cssProperties": [
            {
              "description": "Minimum column width used by the horizontal contained grid, or the card basis when `wrap` is set.",
              "name": "--zn-checkbox-group-column-width"
            }
          ],
          "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"
            }
          ],
          "slots": [
            {
              "description": "The default slot where `<zn-checkbox>` elements are placed.",
              "name": ""
            },
            {
              "description": "The checkbox group's label. Required for proper accessibility. Alternatively, you can use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "Used to add text that is displayed in a tooltip next to the label. Alternatively, you can use the `label-tooltip` attribute.",
              "name": "label-tooltip"
            },
            {
              "description": "Text that describes how to use the checkbox group. Alternatively, you can use the `help-text` attribute.",
              "name": "help-text"
            }
          ],
          "members": [
            {
              "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": "errorMessage",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The checkbox group's label. Required for proper accessibility. If you need to display HTML, use the `label` slot instead.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "labelTooltip",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Text that appears in a tooltip next to the label. If you need to display HTML in the tooltip, use the `label-tooltip` slot instead.",
              "attribute": "label-tooltip"
            },
            {
              "kind": "field",
              "name": "helpText",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The checkbox 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": "''",
              "description": "The name of the checkbox group, 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 checkbox 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 checkbox group's size. This size will be applied to all child checkboxes.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "horizontal",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "The checkbox group's orientation. Changes the group's layout from the default (vertical) to horizontal.",
              "attribute": "horizontal",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "contained",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "The checkbox group's style. Changes the group's style from the default (plain) style to the 'contained' style. This style will be applied to all child checkboxes.",
              "attribute": "contained",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "square",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Squares off the corners of every contained checkbox in the group, which are rounded by default.",
              "attribute": "square",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "wrap",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Lays horizontal contained checkboxes out as a wrapping row instead of an equal-width grid, so each one sizes from\n`--zn-checkbox-group-column-width` (set it to `auto` to size from content) and wraps onto a new line when needed.",
              "attribute": "wrap",
              "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 at least one child checkbox 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": "getAllCheckboxes",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleCheckboxClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleInvalid",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "syncCheckboxElements",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "syncCheckboxes",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "updateCheckboxValidity",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getValueFromCheckboxes",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "addEventListenerToCheckboxes",
              "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."
            }
          ],
          "events": [
            {
              "description": "Emitted when the checkbox group's selected value changes.",
              "name": "zn-change"
            },
            {
              "description": "Emitted when the checkbox group receives user input.",
              "name": "zn-input"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
              "name": "zn-invalid"
            }
          ],
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The checkbox group's label. Required for proper accessibility. If you need to display HTML, use the `label` slot instead.",
              "fieldName": "label"
            },
            {
              "name": "label-tooltip",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Text that appears in a tooltip next to the label. If you need to display HTML in the tooltip, use the `label-tooltip` slot instead.",
              "fieldName": "labelTooltip"
            },
            {
              "name": "help-text",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The checkbox groups's help text. If you need to display HTML, use the `help-text` slot instead.",
              "fieldName": "helpText"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the checkbox group, submitted as a name/value pair with form data.",
              "fieldName": "name"
            },
            {
              "name": "value",
              "type": {
                "text": "string[]"
              },
              "default": "[]",
              "description": "The current value of the checkbox group, submitted as a name/value pair with form data.",
              "fieldName": "value"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The checkbox group's size. This size will be applied to all child checkboxes.",
              "fieldName": "size"
            },
            {
              "name": "horizontal",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "The checkbox group's orientation. Changes the group's layout from the default (vertical) to horizontal.",
              "fieldName": "horizontal"
            },
            {
              "name": "contained",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "The checkbox group's style. Changes the group's style from the default (plain) style to the 'contained' style. This style will be applied to all child checkboxes.",
              "fieldName": "contained"
            },
            {
              "name": "square",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Squares off the corners of every contained checkbox in the group, which are rounded by default.",
              "fieldName": "square"
            },
            {
              "name": "wrap",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Lays horizontal contained checkboxes out as a wrapping row instead of an equal-width grid, so each one sizes from\n`--zn-checkbox-group-column-width` (set it to `auto` to size from content) and wraps onto a new line when needed.",
              "fieldName": "wrap"
            },
            {
              "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 at least one child checkbox is checked before allowing the containing form to submit.",
              "fieldName": "required"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Shotrt summary of the component's intended use.",
          "tagNameWithoutPrefix": "checkbox-group",
          "tagName": "zn-checkbox-group",
          "customElement": true,
          "jsDoc": "/**\n * @summary Shotrt summary of the component's intended use.\n * @documentation https://zinc.style/components/checkbox-group\n * @status experimental\n * @since 1.0\n *\n * @slot - The default slot where `<zn-checkbox>` elements are placed.\n * @slot label - The checkbox group's label. Required for proper accessibility. Alternatively, you can use the `label` attribute.\n * @slot label-tooltip - Used to add text that is displayed in a tooltip next to the label. Alternatively, you can use the `label-tooltip` attribute.\n * @slot help-text - Text that describes how to use the checkbox group. Alternatively, you can use the `help-text` attribute.\n *\n * @event zn-change - Emitted when the checkbox group's selected value changes.\n * @event zn-input - Emitted when the checkbox group receives user input.\n * @event zn-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 *\n * @cssproperty --zn-checkbox-group-column-width - Minimum column width used by the horizontal contained grid, or the card basis when `wrap` is set.\n */",
          "documentation": "https://zinc.style/components/checkbox-group",
          "status": "experimental",
          "since": "1.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnCheckboxGroup",
            "module": "components/checkbox-group/checkbox-group.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/chip/chip.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnChip",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "icon",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "icon"
            },
            {
              "kind": "field",
              "name": "caption",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "caption"
            },
            {
              "kind": "field",
              "name": "iconSize",
              "type": {
                "text": "number"
              },
              "default": "18",
              "attribute": "icon-size"
            },
            {
              "kind": "field",
              "name": "type",
              "type": {
                "text": "'info' | 'success' | 'warning' | 'error' | 'primary' |\n    'transparent' | 'custom' | 'neutral'"
              },
              "default": "'neutral'",
              "attribute": "type"
            },
            {
              "kind": "field",
              "name": "flush",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "flush",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "flushX",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "flush-x",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "flushY",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "flush-y",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, '[default]', 'action')"
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "attributes": [
            {
              "name": "icon",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "icon"
            },
            {
              "name": "caption",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "caption"
            },
            {
              "name": "icon-size",
              "type": {
                "text": "number"
              },
              "default": "18",
              "fieldName": "iconSize"
            },
            {
              "name": "type",
              "type": {
                "text": "'info' | 'success' | 'warning' | 'error' | 'primary' |\n    'transparent' | 'custom' | 'neutral'"
              },
              "default": "'neutral'",
              "fieldName": "type"
            },
            {
              "name": "flush",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "flush"
            },
            {
              "name": "flush-x",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "flushX"
            },
            {
              "name": "flush-y",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "flushY"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "chip",
          "tagName": "zn-chip",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/chip\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/chip",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnChip",
            "module": "components/chip/chip.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/collapsible/collapsible.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnCollapsible",
          "cssParts": [
            {
              "description": "The header row (toggle).",
              "name": "header"
            },
            {
              "description": "The caption text.",
              "name": "caption"
            },
            {
              "description": "The expandable content wrapper.",
              "name": "content"
            }
          ],
          "slots": [
            {
              "description": "Clicking will toggle the show state of the data",
              "name": "header"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "caption",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "caption",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "description",
              "type": {
                "text": "string"
              },
              "attribute": "description",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "label",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "showNumber",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "show-number",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "countElement",
              "type": {
                "text": "string"
              },
              "default": "'*'",
              "attribute": "count-element"
            },
            {
              "kind": "field",
              "name": "expanded",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "expanded",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "defaultState",
              "type": {
                "text": "'open' | 'closed'"
              },
              "attribute": "default"
            },
            {
              "kind": "field",
              "name": "localStorage",
              "type": {
                "text": "boolean"
              },
              "attribute": "local-storage",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "storeKey",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "attribute": "store-key",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "storeTtl",
              "type": {
                "text": "number"
              },
              "default": "0",
              "attribute": "store-ttl",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "flush",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "flush",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "numberOfItems",
              "type": {
                "text": "number"
              },
              "default": "0"
            },
            {
              "kind": "field",
              "name": "animating",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "animatingTimer",
              "type": {
                "text": "ReturnType<typeof setTimeout> | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_store",
              "type": {
                "text": "Store"
              },
              "privacy": "protected"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, '[default]', 'header', 'caption', 'label', 'description')"
            },
            {
              "kind": "field",
              "name": "observer",
              "privacy": "private",
              "readonly": true,
              "default": "new MutationController(this, { target: null, config: { childList: true, subtree: true }, callback: () => this.recalculateNumberOfItems(), })"
            },
            {
              "kind": "field",
              "name": "showArrow",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "true"
            },
            {
              "kind": "field",
              "name": "handleCaptionToggle",
              "privacy": "public"
            },
            {
              "kind": "method",
              "name": "startAnimating",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "stopAnimating",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleTransitionEnd",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleCollapse"
            },
            {
              "kind": "field",
              "name": "recalculateNumberOfItems",
              "privacy": "public"
            }
          ],
          "attributes": [
            {
              "name": "caption",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "caption"
            },
            {
              "name": "description",
              "type": {
                "text": "string"
              },
              "fieldName": "description"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "label"
            },
            {
              "name": "show-number",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "showNumber"
            },
            {
              "name": "count-element",
              "type": {
                "text": "string"
              },
              "default": "'*'",
              "fieldName": "countElement"
            },
            {
              "name": "expanded",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "expanded"
            },
            {
              "name": "default",
              "type": {
                "text": "'open' | 'closed'"
              },
              "fieldName": "defaultState"
            },
            {
              "name": "local-storage",
              "type": {
                "text": "boolean"
              },
              "fieldName": "localStorage"
            },
            {
              "name": "store-key",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "fieldName": "storeKey"
            },
            {
              "name": "store-ttl",
              "type": {
                "text": "number"
              },
              "default": "0",
              "fieldName": "storeTtl"
            },
            {
              "name": "flush",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "flush"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Toggles between showing and hiding content when clicked",
          "tagNameWithoutPrefix": "collapsible",
          "tagName": "zn-collapsible",
          "customElement": true,
          "jsDoc": "/**\n * @summary Toggles between showing and hiding content when clicked\n * @documentation https://zinc.style/components/collapsible\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-icon - The icon element\n *\n * @slot header - Clicking will toggle the show state of the data\n *\n * @csspart header - The header row (toggle).\n * @csspart caption - The caption text.\n * @csspart content - The expandable content wrapper.\n */",
          "documentation": "https://zinc.style/components/collapsible",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-icon"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnCollapsible",
            "module": "components/collapsible/collapsible.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/color-select/color-select.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnColorSelect",
          "cssParts": [
            {
              "description": "The color swatch shown in the closed control.",
              "name": "swatch"
            },
            {
              "description": "The container that wraps the swatch and expand button (forwarded from zn-select).",
              "name": "combobox"
            },
            {
              "description": "The help text's wrapper (forwarded from zn-select).",
              "name": "form-control-help-text"
            },
            {
              "description": "The select's wrapper (forwarded from zn-select).",
              "name": "form-control-input"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'zn-select': ZnSelect, 'zn-option': ZnOption, }"
            },
            {
              "kind": "field",
              "name": "select",
              "type": {
                "text": "ZnSelect"
              }
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "description": "The name of the select. Used for form submission.",
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The selected color (lowercase name, e.g. \"red\"). Used for form submission.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The select's label.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "helpText",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The select's help text.",
              "attribute": "help-text"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the select.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the select a required field.",
              "attribute": "required",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "clearable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Shows a clear button when a color is selected.",
              "attribute": "clearable"
            },
            {
              "kind": "field",
              "name": "formControlController",
              "privacy": "private",
              "readonly": true,
              "default": "new FormControlController(this)"
            },
            {
              "kind": "field",
              "name": "validity",
              "type": {
                "text": "ValidityState"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "type": {
                "text": "string"
              },
              "readonly": true
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "getForm",
              "return": {
                "type": {
                  "text": "HTMLFormElement | null"
                }
              }
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleValueChange"
            },
            {
              "kind": "field",
              "name": "handleInput",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleClear",
              "privacy": "private"
            }
          ],
          "events": [
            {
              "description": "Emitted when the selected color changes.",
              "name": "zn-input"
            },
            {
              "description": "Emitted when the clear button is activated.",
              "name": "zn-clear"
            }
          ],
          "attributes": [
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "description": "The name of the select. Used for form submission.",
              "fieldName": "name"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The selected color (lowercase name, e.g. \"red\"). Used for form submission.",
              "fieldName": "value"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The select's label.",
              "fieldName": "label"
            },
            {
              "name": "help-text",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The select's help text.",
              "fieldName": "helpText"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the select.",
              "fieldName": "disabled"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the select a required field.",
              "fieldName": "required"
            },
            {
              "name": "clearable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Shows a clear button when a color is selected.",
              "fieldName": "clearable"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "A simple color picker. The dropdown lists color swatches with names; the closed control shows only the selected color's swatch.",
          "tagNameWithoutPrefix": "color-select",
          "tagName": "zn-color-select",
          "customElement": true,
          "jsDoc": "/**\n * @summary A simple color picker. The dropdown lists color swatches with names; the closed control shows only the selected color's swatch.\n * @documentation https://zinc.style/components/color-select\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-select\n * @dependency zn-option\n *\n * @event zn-input - Emitted when the selected color changes.\n * @event zn-clear - Emitted when the clear button is activated.\n *\n * @csspart swatch - The color swatch shown in the closed control.\n * @csspart combobox - The container that wraps the swatch and expand button (forwarded from zn-select).\n * @csspart form-control-help-text - The help text's wrapper (forwarded from zn-select).\n * @csspart form-control-input - The select's wrapper (forwarded from zn-select).\n */",
          "documentation": "https://zinc.style/components/color-select",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-select",
            "zn-option"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnColorSelect",
            "module": "components/color-select/color-select.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/cols/cols.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnCols",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "layout",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "layout",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "stackAt",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Container width the columns collapse to a single column below, as one of the named zinc\ncontainer sizes (sm, smp, ph, md, lg, hd, 3k, 4k). Defaults to `lg` when a child declares\n`stack-order` or `stack-split`, otherwise the columns never explicitly stack.",
              "attribute": "stack-at",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "maxColumns",
              "type": {
                "text": "number"
              },
              "default": "0",
              "attribute": "mc",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "noGap",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "no-gap"
            },
            {
              "kind": "field",
              "name": "border",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "border"
            },
            {
              "kind": "field",
              "name": "pad",
              "type": {
                "text": "boolean"
              },
              "attribute": "pad"
            },
            {
              "kind": "field",
              "name": "divide",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "divide"
            },
            {
              "kind": "field",
              "name": "padX",
              "type": {
                "text": "boolean"
              },
              "attribute": "pad-x"
            },
            {
              "kind": "field",
              "name": "padY",
              "type": {
                "text": "boolean"
              },
              "attribute": "pad-y"
            },
            {
              "kind": "field",
              "name": "childObserver",
              "type": {
                "text": "MutationObserver"
              },
              "privacy": "private",
              "readonly": true,
              "default": "new MutationObserver(() => this.requestUpdate())"
            },
            {
              "kind": "method",
              "name": "stackOrder",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number | null"
                }
              },
              "parameters": [
                {
                  "name": "element",
                  "type": {
                    "text": "Element"
                  }
                }
              ],
              "description": "Reads the `stack-order` attribute of an element, returning null when it does not declare one."
            },
            {
              "kind": "method",
              "name": "applyStackOrder",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number | null"
                }
              },
              "parameters": [
                {
                  "name": "element",
                  "type": {
                    "text": "HTMLElement"
                  }
                },
                {
                  "name": "promoted",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "description": "Applies the declared stack order to an element. `--zn-stacked` is 0 until the container\nquery in our stylesheet flips it to 1, so ordering only kicks in once stacked."
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "attributes": [
            {
              "name": "layout",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "layout"
            },
            {
              "name": "stack-at",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Container width the columns collapse to a single column below, as one of the named zinc\ncontainer sizes (sm, smp, ph, md, lg, hd, 3k, 4k). Defaults to `lg` when a child declares\n`stack-order` or `stack-split`, otherwise the columns never explicitly stack.",
              "fieldName": "stackAt"
            },
            {
              "name": "mc",
              "type": {
                "text": "number"
              },
              "default": "0",
              "fieldName": "maxColumns"
            },
            {
              "name": "no-gap",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "noGap"
            },
            {
              "name": "border",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "border"
            },
            {
              "name": "pad",
              "type": {
                "text": "boolean"
              },
              "fieldName": "pad"
            },
            {
              "name": "divide",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "divide"
            },
            {
              "name": "pad-x",
              "type": {
                "text": "boolean"
              },
              "fieldName": "padX"
            },
            {
              "name": "pad-y",
              "type": {
                "text": "boolean"
              },
              "fieldName": "padY"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "cols",
          "tagName": "zn-cols",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/columns\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/columns",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnCols",
            "module": "components/cols/cols.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/confirm/confirm.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnConfirm",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'zn-dialog': ZnDialog }"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, '[default]', 'footer')"
            },
            {
              "kind": "field",
              "name": "variant",
              "type": {
                "text": "'default' | 'warning' | 'announcement'"
              },
              "default": "'default'",
              "description": "The dialog's theme variant.",
              "attribute": "variant",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The dialog's size.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "type",
              "type": {
                "text": "'warning' | 'error' | 'success' | 'info'"
              },
              "default": "'warning'",
              "description": "The dialogs type, which will determine the icon and color.",
              "attribute": "type"
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicated whether of 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 state.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "caption",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "caption"
            },
            {
              "kind": "field",
              "name": "action",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "action"
            },
            {
              "kind": "field",
              "name": "content",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "content"
            },
            {
              "kind": "field",
              "name": "confirmText",
              "type": {
                "text": "string"
              },
              "default": "\"Confirm\"",
              "attribute": "confirmText"
            },
            {
              "kind": "field",
              "name": "cancelText",
              "type": {
                "text": "string"
              },
              "default": "\"Cancel\"",
              "attribute": "cancelText"
            },
            {
              "kind": "field",
              "name": "hideIcon",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "hide-icon"
            },
            {
              "kind": "field",
              "name": "showLoading",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Show a loading state when the dialog is submitted.",
              "attribute": "show-loading"
            },
            {
              "kind": "field",
              "name": "trigger",
              "type": {
                "text": "string"
              },
              "description": "The dialog's trigger element. This is used to open the dialog when clicked. If you do not provide a trigger, you\nwill need to manually open the dialog using the `show()` method.",
              "attribute": "trigger",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "announcement",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The Dialogs announcement text.",
              "attribute": "announcement"
            },
            {
              "kind": "field",
              "name": "footerText",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The Dialogs footer text.",
              "attribute": "footer-text"
            },
            {
              "kind": "field",
              "name": "dialog",
              "type": {
                "text": "ZnDialog"
              }
            },
            {
              "kind": "field",
              "name": "loading",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Internal loading state used when showLoading is enabled"
            },
            {
              "kind": "method",
              "name": "updateTriggers"
            },
            {
              "kind": "field",
              "name": "show"
            },
            {
              "kind": "method",
              "name": "hide"
            },
            {
              "kind": "method",
              "name": "submitDialog"
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "attributes": [
            {
              "name": "variant",
              "type": {
                "text": "'default' | 'warning' | 'announcement'"
              },
              "default": "'default'",
              "description": "The dialog's theme variant.",
              "fieldName": "variant"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The dialog's size.",
              "fieldName": "size"
            },
            {
              "name": "type",
              "type": {
                "text": "'warning' | 'error' | 'success' | 'info'"
              },
              "default": "'warning'",
              "description": "The dialogs type, which will determine the icon and color.",
              "fieldName": "type"
            },
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicated whether of 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 state.",
              "fieldName": "open"
            },
            {
              "name": "caption",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "caption"
            },
            {
              "name": "action",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "action"
            },
            {
              "name": "content",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "content"
            },
            {
              "name": "confirmText",
              "type": {
                "text": "string"
              },
              "default": "\"Confirm\"",
              "fieldName": "confirmText"
            },
            {
              "name": "cancelText",
              "type": {
                "text": "string"
              },
              "default": "\"Cancel\"",
              "fieldName": "cancelText"
            },
            {
              "name": "hide-icon",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "hideIcon"
            },
            {
              "name": "show-loading",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Show a loading state when the dialog is submitted.",
              "fieldName": "showLoading"
            },
            {
              "name": "trigger",
              "type": {
                "text": "string"
              },
              "description": "The dialog's trigger element. This is used to open the dialog when clicked. If you do not provide a trigger, you\nwill need to manually open the dialog using the `show()` method.",
              "fieldName": "trigger"
            },
            {
              "name": "announcement",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The Dialogs announcement text.",
              "fieldName": "announcement"
            },
            {
              "name": "footer-text",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The Dialogs footer text.",
              "fieldName": "footerText"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "confirm",
          "tagName": "zn-confirm",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/confirm-modal\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/confirm-modal",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnConfirm",
            "module": "components/confirm/confirm.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/content-block/content-block.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ContentBlock",
          "cssParts": [
            {
              "description": "The attachments row at the bottom of the content.",
              "name": "attachments"
            },
            {
              "description": "The attachment count indicator in the header.",
              "name": "header-attachments"
            }
          ],
          "slots": [
            {
              "description": "Attachments displayed at the bottom of the content when the block is expanded. Use `zn-chat-message-attachment`, which auto-assigns itself to this slot.",
              "name": "attachments"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "time",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "time"
            },
            {
              "kind": "field",
              "name": "sender",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "sender"
            },
            {
              "kind": "field",
              "name": "avatar",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "avatar"
            },
            {
              "kind": "field",
              "name": "subject",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The message subject, shown in the header after the sender.",
              "attribute": "subject"
            },
            {
              "kind": "field",
              "name": "subjectPlaceholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Placeholder shown dimmed in place of the subject when `subject` is empty\n(e.g. \"This message has no subject.\"). Omit both for content without a\nsubject line (e.g. notes).",
              "attribute": "subject-placeholder"
            },
            {
              "kind": "field",
              "name": "outbound",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "outbound",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "noCollapse",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "no-collapse"
            },
            {
              "kind": "field",
              "name": "short",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "short",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "defaultDisplay",
              "type": {
                "text": "'text' | 'html'"
              },
              "default": "'text'",
              "attribute": "default-display",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "htmlNodes",
              "type": {
                "text": "Node[]"
              }
            },
            {
              "kind": "field",
              "name": "iframe",
              "type": {
                "text": "Promise<HTMLIFrameElement>"
              }
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'text', 'html')"
            },
            {
              "kind": "field",
              "name": "attachmentCount",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "_textRows",
              "type": {
                "text": "TextRow[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "_footerObserver",
              "privacy": "private",
              "readonly": true,
              "default": "new MutationController(this, { target: null, config: {subtree: true, childList: true, attributes: true, attributeFilter: ['href', 'download', 'caption']}, callback: () => this._debouncedReplace(), })"
            },
            {
              "kind": "field",
              "name": "_replaceDebounce",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "method",
              "name": "_collapseContent",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_toggleText",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_toggleHtml",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_resizeIframe",
              "privacy": "private",
              "parameters": [
                {
                  "name": "iframe",
                  "optional": true,
                  "type": {
                    "text": "HTMLIFrameElement"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleAttachmentsSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "syncAttachmentCount",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "truncateText",
              "privacy": "protected"
            },
            {
              "kind": "method",
              "name": "_handleSlotChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_debouncedReplace",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_replaceImagePlaceholders",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getTextSections",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "TextRow[]"
                }
              }
            },
            {
              "kind": "method",
              "name": "showReply",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            }
          ],
          "attributes": [
            {
              "name": "time",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "time"
            },
            {
              "name": "sender",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "sender"
            },
            {
              "name": "avatar",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "avatar"
            },
            {
              "name": "subject",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The message subject, shown in the header after the sender.",
              "fieldName": "subject"
            },
            {
              "name": "subject-placeholder",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Placeholder shown dimmed in place of the subject when `subject` is empty\n(e.g. \"This message has no subject.\"). Omit both for content without a\nsubject line (e.g. notes).",
              "fieldName": "subjectPlaceholder"
            },
            {
              "name": "outbound",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "outbound"
            },
            {
              "name": "no-collapse",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "noCollapse"
            },
            {
              "name": "short",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "short"
            },
            {
              "name": "default-display",
              "type": {
                "text": "'text' | 'html'"
              },
              "default": "'text'",
              "fieldName": "defaultDisplay"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "content-block",
          "tagName": "zn-content-block",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/content-block\n * @status experimental\n * @since 1.0\n *\n * @slot attachments - Attachments displayed at the bottom of the content when the block is\n * expanded. Use `zn-chat-message-attachment`, which auto-assigns itself to this slot.\n *\n * @csspart attachments - The attachments row at the bottom of the content.\n * @csspart header-attachments - The attachment count indicator in the header.\n */",
          "documentation": "https://zinc.style/components/content-block",
          "status": "experimental",
          "since": "1.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ContentBlock",
            "module": "components/content-block/content-block.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/copy-button/copy-button.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnCopyButton",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "copyIcon",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "successIcon",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "errorIcon",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "tooltip",
              "type": {
                "text": "ZnTooltip"
              }
            },
            {
              "kind": "field",
              "name": "isCopying",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "status",
              "type": {
                "text": "'rest' | 'success' | 'error'"
              },
              "default": "'rest'"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "copyLabel",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "copy-label"
            },
            {
              "kind": "field",
              "name": "src",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "src"
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "number"
              },
              "default": "24",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "from",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "An id that references an element in the same document from which data will be copied. If both this and `value` are\npresent, this value will take precedence. By default, the target element's `textContent` will be copied. To copy an\nattribute, append the attribute name wrapped in square brackets, e.g. `from=\"el[value]\"`. To copy a property,\nappend a dot and the property name, e.g. `from=\"el.value\"`.",
              "attribute": "from"
            },
            {
              "kind": "method",
              "name": "showStatus",
              "privacy": "private",
              "parameters": [
                {
                  "name": "status",
                  "type": {
                    "text": "'success' | 'error'"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleCopy",
              "privacy": "private"
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "value"
            },
            {
              "name": "copy-label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "copyLabel"
            },
            {
              "name": "src",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "src"
            },
            {
              "name": "size",
              "type": {
                "text": "number"
              },
              "default": "24",
              "fieldName": "size"
            },
            {
              "name": "from",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "An id that references an element in the same document from which data will be copied. If both this and `value` are\npresent, this value will take precedence. By default, the target element's `textContent` will be copied. To copy an\nattribute, append the attribute name wrapped in square brackets, e.g. `from=\"el[value]\"`. To copy a property,\nappend a dot and the property name, e.g. `from=\"el.value\"`.",
              "fieldName": "from"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "copy-button",
          "tagName": "zn-copy-button",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/copy-button\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/copy-button",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnCopyButton",
            "module": "components/copy-button/copy-button.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/data-select/data-select.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnDataSelect",
          "cssParts": [
            {
              "description": "The container that wraps the prefix, combobox, clear icon, and expand button (forwarded from zn-select).",
              "name": "combobox"
            },
            {
              "description": "The container that wraps the expand icon (forwarded from zn-select).",
              "name": "expand-icon"
            },
            {
              "description": "The help text's wrapper (forwarded from zn-select).",
              "name": "form-control-help-text"
            },
            {
              "description": "The select's wrapper (forwarded from zn-select).",
              "name": "form-control-input"
            },
            {
              "description": "The element that displays the selected option's label (forwarded from zn-select).",
              "name": "display-input"
            }
          ],
          "slots": [
            {
              "description": "The select's label. Alternatively, you can use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "Used to add text that is displayed in a tooltip next to the label. Alternatively, you can use the `label-tooltip` attribute.",
              "name": "label-tooltip"
            },
            {
              "description": "Used to add contextual text that is displayed above the select, on the right. Alternatively, you can use the `context-note` attribute.",
              "name": "context-note"
            },
            {
              "description": "Text that describes how to use the select. Alternatively, you can use the `help-text` attribute.",
              "name": "help-text"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'zn-select': ZnSelect, 'zn-option': ZnOption, }"
            },
            {
              "kind": "field",
              "name": "select",
              "type": {
                "text": "ZnSelect"
              }
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "description": "The name of the select. Used for form submission.",
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string | string[]"
              },
              "default": "''",
              "description": "The value of the select. Used for form submission. When `multiple` is enabled, this is an array of strings.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "string | string[]"
              },
              "default": "''",
              "description": "The default value of the form control. Primarily used for resetting the form control."
            },
            {
              "kind": "field",
              "name": "provider",
              "type": {
                "text": "'color' | 'currency' | 'country' | 'phone' | 'us-state'"
              },
              "description": "The provider of the select.",
              "attribute": "provider"
            },
            {
              "kind": "field",
              "name": "iconPosition",
              "type": {
                "text": "'start' | 'end' | 'none'"
              },
              "default": "'none'",
              "description": "The position of the icon.",
              "attribute": "icon-position"
            },
            {
              "kind": "field",
              "name": "filter",
              "type": {
                "text": "string[]"
              },
              "description": "An array of keys to use for filtering the options in the selected provider.",
              "attribute": "filter"
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The selects size.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "clearable",
              "type": {
                "text": "boolean"
              },
              "description": "Should we show the clear button",
              "attribute": "clearable"
            },
            {
              "kind": "field",
              "name": "allowAll",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Include an \"All\" option at the top.",
              "attribute": "allow-all"
            },
            {
              "kind": "field",
              "name": "allowCommon",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Include a \"Common\" option that selects multiple common currencies.",
              "attribute": "allow-common"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The selects label. If you need to display HTML, use the `label` slot instead.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "labelTooltip",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Text that appears in a tooltip next to the label. If you need to display HTML in the tooltip, use the `label-tooltip` slot instead.",
              "attribute": "label-tooltip"
            },
            {
              "kind": "field",
              "name": "contextNote",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Text that appears above the input, on the right, to add additional context. If you need to display HTML in this text, use the `context-note` slot instead.",
              "attribute": "context-note"
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "'top' | 'bottom'"
              },
              "default": "'bottom'",
              "description": "The preferred placement of the selects menu. Note that the actual placement may vary as needed to keep the listbox\ninside the viewport.",
              "attribute": "placement",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "helpText",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The selects help text. If you need to display HTML, use the `help-text` slot instead.",
              "attribute": "help-text"
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "The selects required attribute.",
              "attribute": "required",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the select.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "iconOnly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "icon-only",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "multiple",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "multiple"
            },
            {
              "kind": "field",
              "name": "selectFirst",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "select-first"
            },
            {
              "kind": "field",
              "name": "distinct",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "attribute": "distinct"
            },
            {
              "kind": "field",
              "name": "conditional",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "attribute": "conditional"
            },
            {
              "kind": "field",
              "name": "formControlController",
              "privacy": "protected",
              "readonly": true,
              "default": "new FormControlController(this)"
            },
            {
              "kind": "field",
              "name": "selectObserver",
              "privacy": "private",
              "readonly": true,
              "default": "new MutationController(this, { target: null, config: {attributes: true, attributeFilter: ['disabled']}, callback: () => this._syncDisabledState(), })"
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validity",
              "type": {
                "text": "ValidityState"
              },
              "readonly": true
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "getForm",
              "return": {
                "type": {
                  "text": "HTMLFormElement | null"
                }
              }
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "closeOnTab"
            },
            {
              "kind": "method",
              "name": "handleValueChange"
            },
            {
              "kind": "field",
              "name": "handleInput"
            },
            {
              "kind": "field",
              "name": "handleClear"
            },
            {
              "kind": "method",
              "name": "getLocalProvider",
              "return": {
                "type": {
                  "text": "LocalDataProvider<DataProviderOption>"
                }
              },
              "parameters": [
                {
                  "name": "name",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "blur"
            },
            {
              "kind": "method",
              "name": "_updatePrefix",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_updateIconEmptyState",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getPlaceholder",
              "privacy": "private",
              "parameters": [
                {
                  "name": "localProvider",
                  "type": {
                    "text": "LocalDataProvider<any>"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_observeSelectDisabled",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_syncDisabledState",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_normalizeValue",
              "privacy": "private"
            }
          ],
          "events": [
            {
              "description": "Emitted when the select's value changes.",
              "name": "zn-input"
            },
            {
              "description": "Emitted when the clear button is activated.",
              "name": "zn-clear"
            },
            {
              "description": "Emitted when the select loses focus.",
              "name": "blur"
            }
          ],
          "attributes": [
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "description": "The name of the select. Used for form submission.",
              "fieldName": "name"
            },
            {
              "name": "value",
              "type": {
                "text": "string | string[]"
              },
              "default": "''",
              "description": "The value of the select. Used for form submission. When `multiple` is enabled, this is an array of strings.",
              "fieldName": "value"
            },
            {
              "name": "provider",
              "type": {
                "text": "'color' | 'currency' | 'country' | 'phone' | 'us-state'"
              },
              "description": "The provider of the select.",
              "fieldName": "provider"
            },
            {
              "name": "icon-position",
              "type": {
                "text": "'start' | 'end' | 'none'"
              },
              "default": "'none'",
              "description": "The position of the icon.",
              "fieldName": "iconPosition"
            },
            {
              "name": "filter",
              "type": {
                "text": "string[]"
              },
              "description": "An array of keys to use for filtering the options in the selected provider.",
              "fieldName": "filter"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The selects size.",
              "fieldName": "size"
            },
            {
              "name": "clearable",
              "type": {
                "text": "boolean"
              },
              "description": "Should we show the clear button",
              "fieldName": "clearable"
            },
            {
              "name": "allow-all",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Include an \"All\" option at the top.",
              "fieldName": "allowAll"
            },
            {
              "name": "allow-common",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Include a \"Common\" option that selects multiple common currencies.",
              "fieldName": "allowCommon"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The selects label. If you need to display HTML, use the `label` slot instead.",
              "fieldName": "label"
            },
            {
              "name": "label-tooltip",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Text that appears in a tooltip next to the label. If you need to display HTML in the tooltip, use the `label-tooltip` slot instead.",
              "fieldName": "labelTooltip"
            },
            {
              "name": "context-note",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Text that appears above the input, on the right, to add additional context. If you need to display HTML in this text, use the `context-note` slot instead.",
              "fieldName": "contextNote"
            },
            {
              "name": "placement",
              "type": {
                "text": "'top' | 'bottom'"
              },
              "default": "'bottom'",
              "description": "The preferred placement of the selects menu. Note that the actual placement may vary as needed to keep the listbox\ninside the viewport.",
              "fieldName": "placement"
            },
            {
              "name": "help-text",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The selects help text. If you need to display HTML, use the `help-text` slot instead.",
              "fieldName": "helpText"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "The selects required attribute.",
              "fieldName": "required"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the select.",
              "fieldName": "disabled"
            },
            {
              "name": "icon-only",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "iconOnly"
            },
            {
              "name": "multiple",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "multiple"
            },
            {
              "name": "select-first",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "selectFirst"
            },
            {
              "name": "distinct",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "fieldName": "distinct"
            },
            {
              "name": "conditional",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "fieldName": "conditional"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "A select component with built-in data providers for common options like colors, currencies, and countries.",
          "tagNameWithoutPrefix": "data-select",
          "tagName": "zn-data-select",
          "customElement": true,
          "jsDoc": "/**\n * @summary A select component with built-in data providers for common options like colors, currencies, and countries.\n * @documentation https://zinc.style/components/data-select\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-select\n * @dependency zn-option\n *\n * @event zn-input - Emitted when the select's value changes.\n * @event zn-clear - Emitted when the clear button is activated.\n * @event blur - Emitted when the select loses focus.\n *\n * @slot label - The select's label. Alternatively, you can use the `label` attribute.\n * @slot label-tooltip - Used to add text that is displayed in a tooltip next to the label. Alternatively, you can use the `label-tooltip` attribute.\n * @slot context-note - Used to add contextual text that is displayed above the select, on the right. Alternatively, you can use the `context-note` attribute.\n * @slot help-text - Text that describes how to use the select. Alternatively, you can use the `help-text` attribute.\n *\n * @csspart combobox - The container that wraps the prefix, combobox, clear icon, and expand button (forwarded from zn-select).\n * @csspart expand-icon - The container that wraps the expand icon (forwarded from zn-select).\n * @csspart form-control-help-text - The help text's wrapper (forwarded from zn-select).\n * @csspart form-control-input - The select's wrapper (forwarded from zn-select).\n * @csspart display-input - The element that displays the selected option's label (forwarded from zn-select).\n */",
          "documentation": "https://zinc.style/components/data-select",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-select",
            "zn-option"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnDataSelect",
            "module": "components/data-select/data-select.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/data-table/data-table.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnDataTable",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "Slot for search component.",
              "name": "search"
            },
            {
              "description": "Slot for sort component.",
              "name": "sort"
            },
            {
              "description": "Slot for filter component.",
              "name": "filter"
            },
            {
              "description": "Slot for top-level filter component.",
              "name": "filter-top"
            },
            {
              "description": "Slot for delete action button.",
              "name": "delete-action"
            },
            {
              "description": "Slot for modify action button.",
              "name": "modify-action"
            },
            {
              "description": "Slot for create action button.",
              "name": "create-action"
            },
            {
              "description": "Slot for additional input controls.",
              "name": "inputs"
            },
            {
              "description": "Slot for custom empty state.",
              "name": "empty-state"
            },
            {
              "description": "Slot for a custom no-results state, shown when a search on a no-initial-load table returns no rows.",
              "name": "no-results"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'zn-alert': ZnAlert, 'zn-button': ZnButton, 'zn-empty-state': ZnEmptyState, 'zn-chip': ZnChip, 'zn-hover-container': ZnHoverContainer, 'zn-dropdown': ZnDropdown, 'zn-menu': ZnMenu, 'zn-menu-item': ZnMenuItem, 'zn-button-group': ZnButtonGroup, 'zn-confirm': ZnConfirm, 'zn-skeleton': ZnSkeleton, 'zn-style': ZnStyle, 'zn-data-table-search': ZnDataTableSearch, }"
            },
            {
              "kind": "field",
              "name": "dataUri",
              "type": {
                "text": "string"
              },
              "attribute": "data-uri"
            },
            {
              "kind": "field",
              "name": "data",
              "type": {
                "text": "Row[] | Row"
              },
              "default": "[]",
              "attribute": "data"
            },
            {
              "kind": "field",
              "name": "sortColumn",
              "type": {
                "text": "string"
              },
              "attribute": "sort-column"
            },
            {
              "kind": "field",
              "name": "sortDirection",
              "type": {
                "text": "string"
              },
              "default": "\"asc\"",
              "attribute": "sort-direction"
            },
            {
              "kind": "field",
              "name": "localSort",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "local-sort"
            },
            {
              "kind": "field",
              "name": "filter",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "filter"
            },
            {
              "kind": "field",
              "name": "search",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "search"
            },
            {
              "kind": "field",
              "name": "wideColumn",
              "type": {
                "text": "string"
              },
              "attribute": "wide-column"
            },
            {
              "kind": "field",
              "name": "key",
              "type": {
                "text": "string"
              },
              "default": "'id'",
              "attribute": "key"
            },
            {
              "kind": "field",
              "name": "headers",
              "type": {
                "text": "Record<string, HeaderConfig>"
              },
              "default": "{}",
              "attribute": "headers"
            },
            {
              "kind": "field",
              "name": "displayTemplates",
              "type": {
                "text": "Record<string, DisplayTemplate>"
              },
              "default": "{}"
            },
            {
              "kind": "field",
              "name": "hiddenHeaders",
              "type": {
                "text": "string"
              },
              "default": "'{}'",
              "attribute": "hide-headers"
            },
            {
              "kind": "field",
              "name": "hiddenColumns",
              "type": {
                "text": "string"
              },
              "default": "'{}'",
              "attribute": "hide-columns"
            },
            {
              "kind": "field",
              "name": "unsortableHeaders",
              "type": {
                "text": "string"
              },
              "default": "'{}'",
              "attribute": "unsortable-headers"
            },
            {
              "kind": "field",
              "name": "unsortable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "unsortable"
            },
            {
              "kind": "field",
              "name": "hidePagination",
              "type": {
                "text": "boolean"
              },
              "attribute": "hide-pagination"
            },
            {
              "kind": "field",
              "name": "standalone",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "standalone"
            },
            {
              "kind": "field",
              "name": "caption",
              "type": {
                "text": "string"
              },
              "attribute": "caption"
            },
            {
              "kind": "field",
              "name": "emptyStateCaption",
              "type": {
                "text": "string"
              },
              "attribute": "empty-state-caption"
            },
            {
              "kind": "field",
              "name": "emptyStateIcon",
              "type": {
                "text": "string"
              },
              "default": "\"data_alert\"",
              "attribute": "empty-state-icon"
            },
            {
              "kind": "field",
              "name": "hideCheckboxes",
              "type": {
                "text": "boolean"
              },
              "attribute": "hide-checkboxes"
            },
            {
              "kind": "field",
              "name": "filters",
              "type": {
                "text": "[]"
              },
              "default": "[]",
              "attribute": "filters"
            },
            {
              "kind": "field",
              "name": "method",
              "type": {
                "text": "'GET' | 'POST'"
              },
              "default": "'POST'",
              "attribute": "method"
            },
            {
              "kind": "field",
              "name": "noInitialLoad",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "no-initial-load"
            },
            {
              "kind": "field",
              "name": "groupBy",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "group-by"
            },
            {
              "kind": "field",
              "name": "groups",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "groups"
            },
            {
              "kind": "field",
              "name": "itemsPerPage",
              "type": {
                "text": "number"
              },
              "default": "10",
              "attribute": "per-page-size"
            },
            {
              "kind": "field",
              "name": "selectAllButton",
              "type": {
                "text": "ZnButton"
              }
            },
            {
              "kind": "field",
              "name": "_initialLoad",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "true"
            },
            {
              "kind": "field",
              "name": "_hasLoadedData",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "_lastLoadHadRows",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "_lastTableContent",
              "type": {
                "text": "TemplateResult"
              },
              "privacy": "private",
              "default": "html``"
            },
            {
              "kind": "field",
              "name": "resizeObserver",
              "privacy": "private",
              "readonly": true,
              "default": "new ResizeController(this, { target: null, callback: () => { if (this.tableContainer) { this.tableContainer.scrollIntoView({behavior: 'smooth', block: 'nearest'}); } }, })"
            },
            {
              "kind": "field",
              "name": "page",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "1"
            },
            {
              "kind": "field",
              "name": "totalPages",
              "type": {
                "text": "number"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_rows",
              "type": {
                "text": "any[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "numberOfRowsSelected",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "selectedRows",
              "type": {
                "text": "any[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "tableContainer",
              "type": {
                "text": "Element | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "default": "new HasSlotController( this, '[default]', ActionSlots.search.valueOf(), ActionSlots.delete.valueOf(), ActionSlots.modify.valueOf(), ActionSlots.create.valueOf(), ActionSlots.filter.valueOf(), ActionSlots.sort.valueOf(), ActionSlots.inputs.valueOf(), 'empty-state', 'no-results' )"
            },
            {
              "kind": "field",
              "name": "_dataTask",
              "privacy": "private",
              "default": "new Task(this, { task: async ([dataUri, requestParams], {signal}) => { if (dataUri === undefined || this.noInitialLoad && this._initialLoad) { return {rows: [], page: 1, perPage: this.itemsPerPage, total: 0}; } if (this.groupBy) { // we want to load all the data possible so we can group and show multiple tables this.itemsPerPage = 1000; } const requestData: DataRequest = { page: this.page, perPage: this.itemsPerPage, sortColumn: this.sortColumn, sortDirection: this.sortDirection, filter: this.filter, search: this.search, }; // get all inputs that are in the inputs slot and add them to the const inputs = this.hasSlotController.getSlots(ActionSlots.inputs.valueOf()); const params: Record<string, any> = {}; if (inputs) { inputs.forEach((input) => { const allowedInputs = ['zn-input', 'zn-select', 'zn-query-builder', 'zn-multiselect', 'zn-params-select', 'zn-datepicker', 'input', 'select', 'textarea']; if (allowedInputs.includes(input.tagName.toLowerCase())) { const value = (input as AllowedInputElement).value as string || input.getAttribute('value'); const name = (input as AllowedInputElement).name || input.getAttribute('name'); if (name) { params[name] = value; } } }); Object.assign(requestData, params); } // Add any extra request params if (requestParams && typeof requestParams === 'object') { Object.assign(requestData, requestParams); } // This is also used for Rubix, so it may not work for your application. const response = await fetch(dataUri, { method: this.method, headers: { 'x-kx-fetch-style': 'zn-data-table', }, signal, credentials: 'same-origin', body: this.method === 'POST' ? JSON.stringify(requestData) : undefined }); if (!response.ok) throw new Error(response.statusText); return response.json(); }, args: () => [this.dataUri, this.requestParams] })"
            },
            {
              "kind": "field",
              "name": "rowHasActions",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "_expandedRows",
              "type": {
                "text": "Set<string>"
              },
              "privacy": "private",
              "default": "new Set()"
            },
            {
              "kind": "field",
              "name": "_hiddenCells",
              "type": {
                "text": "Map<string, Cell[]>"
              },
              "privacy": "private",
              "default": "new Map()"
            },
            {
              "kind": "field",
              "name": "_secondaryHeaders",
              "type": {
                "text": "HeaderConfig[]"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_formatTemplates",
              "type": {
                "text": "Record<string, DisplayTemplate>"
              },
              "privacy": "private",
              "default": "{ dateTime: ((cell) => { const t = cell.text || ''; return html` <div class=\"table__collum--datetime\" title=\"${ifDefined(cell.title)}\"> <span><strong>${t.slice(0, 10)}</strong></span> <zn-style size=\"s\" muted>${t.slice(11)}</zn-style> </div>` }) satisfies DisplayTemplate }"
            },
            {
              "kind": "field",
              "name": "requestParams",
              "type": {
                "text": "Record<string, any>"
              },
              "default": "{}"
            },
            {
              "kind": "method",
              "name": "refresh"
            },
            {
              "kind": "method",
              "name": "getTemplate",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "DisplayTemplate | undefined"
                }
              },
              "parameters": [
                {
                  "name": "name",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "filterChangeListener"
            },
            {
              "kind": "field",
              "name": "searchChangeListener"
            },
            {
              "kind": "method",
              "name": "emptyState"
            },
            {
              "kind": "method",
              "name": "renderTable",
              "parameters": [
                {
                  "name": "data",
                  "type": {
                    "text": "Response"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "renderErrorAlert",
              "privacy": "private",
              "parameters": [
                {
                  "name": "error",
                  "type": {
                    "text": "ResponseError"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "humanize",
              "privacy": "public",
              "parameters": [
                {
                  "name": "str",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "renderTableData",
              "privacy": "public",
              "parameters": [
                {
                  "name": "data",
                  "type": {
                    "text": "any"
                  }
                },
                {
                  "name": "error",
                  "optional": true,
                  "type": {
                    "text": "ResponseError"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getTableHeader"
            },
            {
              "kind": "method",
              "name": "getTableFooter"
            },
            {
              "kind": "method",
              "name": "getRowsSelected"
            },
            {
              "kind": "method",
              "name": "getRowsPerPage"
            },
            {
              "kind": "method",
              "name": "getPageRange",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "(number | 'ellipsis')[]"
                }
              }
            },
            {
              "kind": "method",
              "name": "getPagination"
            },
            {
              "kind": "method",
              "name": "getActions"
            },
            {
              "kind": "method",
              "name": "goToPage",
              "parameters": [
                {
                  "name": "page",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "goToFirstPage"
            },
            {
              "kind": "method",
              "name": "goToPreviousPage"
            },
            {
              "kind": "method",
              "name": "goToNextPage"
            },
            {
              "kind": "method",
              "name": "goToLastPage"
            },
            {
              "kind": "method",
              "name": "updateRowsPerPage",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "selectAll",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "selectRow",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "clearSelectedRows",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "updateSort",
              "parameters": [
                {
                  "name": "key",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "renderCell",
              "return": {
                "type": {
                  "text": "TemplateResult | ZincElement"
                }
              },
              "parameters": [
                {
                  "name": "data",
                  "type": {
                    "text": "Cell"
                  }
                },
                {
                  "name": "row",
                  "optional": true,
                  "type": {
                    "text": "Row"
                  }
                },
                {
                  "name": "header",
                  "optional": true,
                  "type": {
                    "text": "HeaderConfig"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "updateActionKeys",
              "privacy": "private",
              "parameters": [
                {
                  "name": "slotName",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getTableSortIcon",
              "privacy": "private",
              "parameters": [
                {
                  "name": "key",
                  "type": {
                    "text": "any"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "renderCellHeader",
              "privacy": "private",
              "parameters": [
                {
                  "name": "header",
                  "type": {
                    "text": "HeaderConfig"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "renderCellBody",
              "privacy": "private",
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "value",
                  "type": {
                    "text": "Cell"
                  }
                },
                {
                  "name": "row",
                  "type": {
                    "text": "Row"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "hasHiddenColumns",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "renderExpanderCell",
              "privacy": "private",
              "parameters": [
                {
                  "name": "row",
                  "type": {
                    "text": "Row"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "renderDetailsRow",
              "privacy": "private",
              "parameters": [
                {
                  "name": "row",
                  "type": {
                    "text": "Row"
                  }
                },
                {
                  "name": "colSpan",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "toggleRowExpansion",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                },
                {
                  "name": "row",
                  "type": {
                    "text": "Row"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "isRowSelected",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "row",
                  "type": {
                    "text": "Row"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getRows",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Row[]"
                }
              },
              "parameters": [
                {
                  "name": "data",
                  "type": {
                    "text": "Response"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getSelectedKeys",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "(string)[]"
                }
              }
            },
            {
              "kind": "method",
              "name": "updateKeys",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "updateSelectAll",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "updateModifyKeys",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "updateDeleteKeys",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "extractComparable",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "cell",
                  "type": {
                    "text": "Cell"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "sortData",
              "privacy": "private",
              "parameters": [
                {
                  "name": "a",
                  "type": {
                    "text": "Cell"
                  }
                },
                {
                  "name": "b",
                  "type": {
                    "text": "Cell"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "sortLocalData",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Row[]"
                }
              },
              "parameters": [
                {
                  "name": "rows",
                  "type": {
                    "text": "Row[]"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "loadingTable",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "renderActions",
              "privacy": "private",
              "parameters": [
                {
                  "name": "row",
                  "type": {
                    "text": "Row"
                  }
                }
              ]
            }
          ],
          "attributes": [
            {
              "name": "data-uri",
              "type": {
                "text": "string"
              },
              "fieldName": "dataUri"
            },
            {
              "name": "data",
              "type": {
                "text": "Row[] | Row"
              },
              "default": "[]",
              "fieldName": "data"
            },
            {
              "name": "sort-column",
              "type": {
                "text": "string"
              },
              "fieldName": "sortColumn"
            },
            {
              "name": "sort-direction",
              "type": {
                "text": "string"
              },
              "default": "\"asc\"",
              "fieldName": "sortDirection"
            },
            {
              "name": "local-sort",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "localSort"
            },
            {
              "name": "filter",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "filter"
            },
            {
              "name": "search",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "search"
            },
            {
              "name": "wide-column",
              "type": {
                "text": "string"
              },
              "fieldName": "wideColumn"
            },
            {
              "name": "key",
              "type": {
                "text": "string"
              },
              "default": "'id'",
              "fieldName": "key"
            },
            {
              "name": "headers",
              "type": {
                "text": "Record<string, HeaderConfig>"
              },
              "default": "{}",
              "fieldName": "headers"
            },
            {
              "name": "hide-headers",
              "type": {
                "text": "string"
              },
              "default": "'{}'",
              "fieldName": "hiddenHeaders"
            },
            {
              "name": "hide-columns",
              "type": {
                "text": "string"
              },
              "default": "'{}'",
              "fieldName": "hiddenColumns"
            },
            {
              "name": "unsortable-headers",
              "type": {
                "text": "string"
              },
              "default": "'{}'",
              "fieldName": "unsortableHeaders"
            },
            {
              "name": "unsortable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "unsortable"
            },
            {
              "name": "hide-pagination",
              "type": {
                "text": "boolean"
              },
              "fieldName": "hidePagination"
            },
            {
              "name": "standalone",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "standalone"
            },
            {
              "name": "caption",
              "type": {
                "text": "string"
              },
              "fieldName": "caption"
            },
            {
              "name": "empty-state-caption",
              "type": {
                "text": "string"
              },
              "fieldName": "emptyStateCaption"
            },
            {
              "name": "empty-state-icon",
              "type": {
                "text": "string"
              },
              "default": "\"data_alert\"",
              "fieldName": "emptyStateIcon"
            },
            {
              "name": "hide-checkboxes",
              "type": {
                "text": "boolean"
              },
              "fieldName": "hideCheckboxes"
            },
            {
              "name": "filters",
              "type": {
                "text": "[]"
              },
              "default": "[]",
              "fieldName": "filters"
            },
            {
              "name": "method",
              "type": {
                "text": "'GET' | 'POST'"
              },
              "default": "'POST'",
              "fieldName": "method"
            },
            {
              "name": "no-initial-load",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "noInitialLoad"
            },
            {
              "name": "group-by",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "groupBy"
            },
            {
              "name": "groups",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "groups"
            },
            {
              "name": "per-page-size",
              "type": {
                "text": "number"
              },
              "default": "DEFAULT_PER_PAGE",
              "fieldName": "itemsPerPage"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "data-table",
          "tagName": "zn-data-table",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/data-table\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-alert\n * @dependency zn-button\n * @dependency zn-empty-state\n * @dependency zn-chip\n * @dependency zn-hover-container\n * @dependency zn-dropdown\n * @dependency zn-menu\n * @dependency zn-menu-item\n * @dependency zn-button-group\n * @dependency zn-confirm\n * @dependency zn-skeleton\n * @dependency zn-data-table-search\n *\n * @slot - The default slot.\n * @slot search - Slot for search component.\n * @slot sort - Slot for sort component.\n * @slot filter - Slot for filter component.\n * @slot filter-top - Slot for top-level filter component.\n * @slot delete-action - Slot for delete action button.\n * @slot modify-action - Slot for modify action button.\n * @slot create-action - Slot for create action button.\n * @slot inputs - Slot for additional input controls.\n * @slot empty-state - Slot for custom empty state.\n * @slot no-results - Slot for a custom no-results state, shown when a search on a no-initial-load table returns no rows.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/data-table",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-alert",
            "zn-button",
            "zn-empty-state",
            "zn-chip",
            "zn-hover-container",
            "zn-dropdown",
            "zn-menu",
            "zn-menu-item",
            "zn-button-group",
            "zn-confirm",
            "zn-skeleton",
            "zn-data-table-search"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnDataTable",
            "module": "components/data-table/data-table.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/data-table-filter/data-table-filter.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnDataTableFilter",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "_formController",
              "type": {
                "text": "FormControlController"
              },
              "privacy": "private",
              "default": "new FormControlController(this, {})"
            },
            {
              "kind": "field",
              "name": "filters",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "attribute": "filters"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "\"data-table-filter\"",
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "type": {
                "text": "string"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validity",
              "type": {
                "text": "ValidityState"
              },
              "readonly": true
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "getForm",
              "return": {
                "type": {
                  "text": "HTMLFormElement | null"
                }
              }
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "field",
              "name": "handleQBClear"
            },
            {
              "kind": "field",
              "name": "handleQBReset"
            },
            {
              "kind": "field",
              "name": "handleQBUpdate"
            },
            {
              "kind": "method",
              "name": "closeSlideout"
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "attributes": [
            {
              "name": "filters",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "fieldName": "filters"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "\"data-table-filter\"",
              "fieldName": "name"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "fieldName": "value"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "data-table-filter",
          "tagName": "zn-data-table-filter",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/data-table-filter\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/data-table-filter",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnDataTableFilter",
            "module": "components/data-table-filter/data-table-filter.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/data-table-search/data-table-search.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnDataTableSearch",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot for additional form inputs.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'zn-input': ZnInput, }"
            },
            {
              "kind": "field",
              "name": "_formController",
              "type": {
                "text": "FormControlController"
              },
              "privacy": "private",
              "default": "new FormControlController(this, {})"
            },
            {
              "kind": "field",
              "name": "_searchTimeout",
              "type": {
                "text": "number | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "\"search\"",
              "description": "The name of the search input field (default: \"search\").",
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "description": "The current search value.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "\"Search...\"",
              "description": "The placeholder text for the search input (default: \"Search...\").",
              "attribute": "placeholder"
            },
            {
              "kind": "field",
              "name": "helpText",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "description": "Help text displayed below the search input.",
              "attribute": "help-text"
            },
            {
              "kind": "field",
              "name": "searchUri",
              "type": {
                "text": "string"
              },
              "description": "Optional URI to use for search operations.",
              "attribute": "search-uri"
            },
            {
              "kind": "field",
              "name": "debounceDelay",
              "type": {
                "text": "number"
              },
              "default": "350",
              "description": "The delay in milliseconds before triggering a search (default: 500).",
              "attribute": "debounce-delay"
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "type": {
                "text": "string"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validity",
              "type": {
                "text": "ValidityState"
              },
              "readonly": true
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "getForm",
              "return": {
                "type": {
                  "text": "HTMLFormElement | null"
                }
              }
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "getFormData",
              "return": {
                "type": {
                  "text": "Record<string, any>"
                }
              },
              "description": "Collects form data from slotted input elements"
            },
            {
              "kind": "field",
              "name": "handleInput"
            },
            {
              "kind": "field",
              "name": "handleClear"
            },
            {
              "kind": "method",
              "name": "emitSearchChange",
              "privacy": "private",
              "description": "Emit the search change event with form data"
            }
          ],
          "events": [
            {
              "description": "Emitted when the search value changes (debounced).",
              "name": "zn-search-change"
            }
          ],
          "attributes": [
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "\"search\"",
              "description": "The name of the search input field (default: \"search\").",
              "fieldName": "name"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "description": "The current search value.",
              "fieldName": "value"
            },
            {
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "\"Search...\"",
              "description": "The placeholder text for the search input (default: \"Search...\").",
              "fieldName": "placeholder"
            },
            {
              "name": "help-text",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "description": "Help text displayed below the search input.",
              "fieldName": "helpText"
            },
            {
              "name": "search-uri",
              "type": {
                "text": "string"
              },
              "description": "Optional URI to use for search operations.",
              "fieldName": "searchUri"
            },
            {
              "name": "debounce-delay",
              "type": {
                "text": "number"
              },
              "default": "350",
              "description": "The delay in milliseconds before triggering a search (default: 500).",
              "fieldName": "debounceDelay"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "A search component for data tables.",
          "tagNameWithoutPrefix": "data-table-search",
          "tagName": "zn-data-table-search",
          "customElement": true,
          "jsDoc": "/**\n * @summary A search component for data tables.\n * @documentation https://zinc.style/components/data-table-search\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-input\n *\n * @event zn-search-change - Emitted when the search value changes (debounced).\n *\n * @slot - The default slot for additional form inputs.\n *\n * @csspart base - The component's base wrapper.\n *\n * @property {string} name - The name of the search input field (default: \"search\").\n * @property {string} value - The current search value.\n * @property {string} placeholder - The placeholder text for the search input (default: \"Search...\").\n * @property {string} helpText - Help text displayed below the search input.\n * @property {string} searchUri - Optional URI to use for search operations.\n * @property {number} debounceDelay - The delay in milliseconds before triggering a search (default: 500).\n */",
          "documentation": "https://zinc.style/components/data-table-search",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-input"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnDataTableSearch",
            "module": "components/data-table-search/data-table-search.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/data-table-sort/data-table-sort.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnDataTableSort",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "members": [],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "data-table-sort",
          "tagName": "zn-data-table-sort",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/data-table-sort\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/data-table-sort",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnDataTableSort",
            "module": "components/data-table-sort/data-table-sort.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/datepicker/datepicker.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnDatepicker",
          "cssProperties": [
            {
              "description": "Inherited input component CSS custom properties.",
              "name": "--zn-input-*"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The form control wrapper.",
              "name": "form-control"
            },
            {
              "description": "The label element.",
              "name": "form-control-label"
            },
            {
              "description": "The input wrapper.",
              "name": "form-control-input"
            },
            {
              "description": "The help text element.",
              "name": "form-control-help-text"
            }
          ],
          "slots": [
            {
              "description": "The datepicker's label. Alternatively, you can use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "Tooltip content for the label. Alternatively, you can use the `label-tooltip` attribute.",
              "name": "label-tooltip"
            },
            {
              "description": "Additional context text displayed above the input. Alternatively, you can use the `context-note` attribute.",
              "name": "context-note"
            },
            {
              "description": "Help text displayed below the input. Alternatively, you can use the `help-text` attribute.",
              "name": "help-text"
            },
            {
              "description": "Content to display before the input (in addition to the default calendar icon).",
              "name": "prefix"
            },
            {
              "description": "Content to display after the input.",
              "name": "suffix"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'zn-icon': ZnIcon, 'zn-tooltip': ZnTooltip }"
            },
            {
              "kind": "field",
              "name": "formControlController",
              "privacy": "private",
              "readonly": true,
              "default": "new FormControlController(this, { assumeInteractionOn: ['zn-blur', 'zn-input'] })"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'help-text', 'label', 'label-tooltip')"
            },
            {
              "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"
            },
            {
              "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": "any"
              },
              "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 inputs size *",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The inputs label. If you need to display HTML, use the `label` slot. *",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "labelTooltip",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Text that appears in a tooltip next to the label. If you need to display HTML in the tooltip, use the\n`label-tooltip` slot.\n*",
              "attribute": "label-tooltip"
            },
            {
              "kind": "field",
              "name": "contextNote",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Text that appears above the input, on the right, to add additional context. If you need to display HTML\nin this text, use the `context-note` slot instead",
              "attribute": "context-note"
            },
            {
              "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": "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 read-only *",
              "attribute": "readonly",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "form",
              "type": {
                "text": "string"
              },
              "description": "By default, form-controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside a form and associate it with the form that has this `id`. The form must be\nin the same document or shadow root for this to work.",
              "attribute": "form",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "flush",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "flush",
              "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": "clearable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a clear button to the calendar for removing a selected date. *",
              "attribute": "clearable"
            },
            {
              "kind": "field",
              "name": "range",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the input a range picker. *",
              "attribute": "range"
            },
            {
              "kind": "field",
              "name": "disablePastDates",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disallows selecting past dates. *",
              "attribute": "disable-past-dates"
            },
            {
              "kind": "field",
              "name": "minDate",
              "type": {
                "text": "string | Date | undefined"
              },
              "description": "Minimum date that can be selected. Overrides disable-past-dates if both are set. Accepts Date object or date string. *",
              "attribute": "min-date"
            },
            {
              "kind": "field",
              "name": "maxDate",
              "type": {
                "text": "string | Date | undefined"
              },
              "description": "Maximum date that can be selected. Accepts Date object or date string. *",
              "attribute": "max-date"
            },
            {
              "kind": "field",
              "name": "format",
              "type": {
                "text": "string"
              },
              "default": "'MM/dd/yyyy'",
              "description": "Date format using AirDatepicker tokens. Default: 'dd/MM/yyyy' Supported formats: - dd/MM/yyyy (31/12/2024) - Default - MM/dd/yyyy (12/31/2024) - yyyy-MM-dd (2024-12-31) - dd-MM-yyyy (31-12-2024) - yyyy/MM/dd (2024/12/31)",
              "attribute": "format"
            },
            {
              "kind": "field",
              "name": "timePicker",
              "type": {
                "text": "boolean | undefined"
              },
              "default": "false",
              "description": "Display time selector. *",
              "attribute": "time-picker",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "onlyTimepicker",
              "type": {
                "text": "boolean | undefined"
              },
              "default": "false",
              "description": "Display only time selector, without date. *",
              "attribute": "only-time"
            },
            {
              "kind": "field",
              "name": "timeFormat",
              "type": {
                "text": "string | undefined"
              },
              "default": "\"hh:mm AA\"",
              "description": "Time format for display and input selector. Uses AirDatepicker format tokens.\nDefault : hh:mm AA\n\nPossible symbols:\nh — hours in 12-hour mode\nhh — hours in 12-hour mode with leading zero\nH — hours in 24-hour mode\nHH — hours in 24-hour mode with leading zero\nm — minutes\nmm — minutes with leading zero\naa — day period lower case\nAA — day period upper case",
              "attribute": "format-time"
            },
            {
              "kind": "field",
              "name": "container",
              "type": {
                "text": "string | HTMLElement | undefined"
              },
              "description": "Overrides where the calendar popup is mounted. By default it renders at the document level\n(or inside the containing dialog/popover) so it can't be clipped by ancestor shadow roots\nor overflow containers — you rarely need to set this.",
              "attribute": "container"
            },
            {
              "kind": "field",
              "name": "_instance",
              "type": {
                "text": "AirDatepicker<HTMLInputElement>"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "timestamp",
              "type": {
                "text": "number"
              },
              "readonly": 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": "handleDisabledChange"
            },
            {
              "kind": "method",
              "name": "handleValueChange"
            },
            {
              "kind": "method",
              "name": "handleDatepickerOptionsChange"
            },
            {
              "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": "checkValidity",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "description": "Checks the 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": "init"
            },
            {
              "kind": "method",
              "name": "getCalendarContainer",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "HTMLElement | undefined"
                }
              },
              "description": "Resolves where the calendar should be mounted. By default AirDatepicker mounts it in a global\ncontainer on `document.body`, so ancestor shadow roots and overflow containers can't clip it.\nHowever, when the datepicker is inside a top-layer element (a modal `<dialog>` or a popover),\na document-level calendar would render behind it and be inert, so we mount inside that element."
            },
            {
              "kind": "method",
              "name": "findTopLayerAncestor",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "HTMLElement | null"
                }
              },
              "description": "Finds the closest `<dialog>` or popover ancestor, crossing shadow DOM boundaries."
            },
            {
              "kind": "method",
              "name": "handleInput",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "optional": true,
                  "type": {
                    "text": "InputEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleChange",
              "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": "handlePaste",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "ClipboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleBlur",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "isValidDateString",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "parseDate",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Date | null"
                }
              },
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "parseDateString",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "{ day: number; month: number; year: number } | null"
                }
              },
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "isDateInRange",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "date",
                  "type": {
                    "text": "Date"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "clearInvalidDate",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getFormatSeparator",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              }
            },
            {
              "kind": "method",
              "name": "escapeRegex",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "str",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "normalizeDate",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Date"
                }
              },
              "parameters": [
                {
                  "name": "date",
                  "type": {
                    "text": "Date"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "autoFormatDate",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "separator",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            }
          ],
          "events": [
            {
              "description": "Emitted when the date value changes.",
              "name": "zn-change"
            },
            {
              "description": "Emitted when the input value changes.",
              "name": "zn-input"
            },
            {
              "description": "Emitted when the input loses focus.",
              "name": "zn-blur"
            },
            {
              "description": "Emitted when the input gains focus.",
              "name": "zn-focus"
            }
          ],
          "attributes": [
            {
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "fieldName": "title"
            },
            {
              "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": "any"
              },
              "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 inputs size *",
              "fieldName": "size"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The inputs label. If you need to display HTML, use the `label` slot. *",
              "fieldName": "label"
            },
            {
              "name": "label-tooltip",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Text that appears in a tooltip next to the label. If you need to display HTML in the tooltip, use the\n`label-tooltip` slot.\n*",
              "fieldName": "labelTooltip"
            },
            {
              "name": "context-note",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Text that appears above the input, on the right, to add additional context. If you need to display HTML\nin this text, use the `context-note` slot instead",
              "fieldName": "contextNote"
            },
            {
              "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": "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 read-only *",
              "fieldName": "readonly"
            },
            {
              "name": "form",
              "type": {
                "text": "string"
              },
              "description": "By default, form-controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside a form and associate it with the form that has this `id`. The form must be\nin the same document or shadow root for this to work.",
              "fieldName": "form"
            },
            {
              "name": "flush",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "flush"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the input a required field.",
              "fieldName": "required"
            },
            {
              "name": "clearable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a clear button to the calendar for removing a selected date. *",
              "fieldName": "clearable"
            },
            {
              "name": "range",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the input a range picker. *",
              "fieldName": "range"
            },
            {
              "name": "disable-past-dates",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disallows selecting past dates. *",
              "fieldName": "disablePastDates"
            },
            {
              "name": "min-date",
              "type": {
                "text": "string | Date | undefined"
              },
              "description": "Minimum date that can be selected. Overrides disable-past-dates if both are set. Accepts Date object or date string. *",
              "fieldName": "minDate"
            },
            {
              "name": "max-date",
              "type": {
                "text": "string | Date | undefined"
              },
              "description": "Maximum date that can be selected. Accepts Date object or date string. *",
              "fieldName": "maxDate"
            },
            {
              "name": "format",
              "type": {
                "text": "string"
              },
              "default": "'MM/dd/yyyy'",
              "description": "Date format using AirDatepicker tokens. Default: 'dd/MM/yyyy' Supported formats: - dd/MM/yyyy (31/12/2024) - Default - MM/dd/yyyy (12/31/2024) - yyyy-MM-dd (2024-12-31) - dd-MM-yyyy (31-12-2024) - yyyy/MM/dd (2024/12/31)",
              "fieldName": "format"
            },
            {
              "name": "time-picker",
              "type": {
                "text": "boolean | undefined"
              },
              "default": "false",
              "description": "Display time selector. *",
              "fieldName": "timePicker"
            },
            {
              "name": "only-time",
              "type": {
                "text": "boolean | undefined"
              },
              "default": "false",
              "description": "Display only time selector, without date. *",
              "fieldName": "onlyTimepicker"
            },
            {
              "name": "format-time",
              "type": {
                "text": "string | undefined"
              },
              "default": "\"hh:mm AA\"",
              "description": "Time format for display and input selector. Uses AirDatepicker format tokens.\nDefault : hh:mm AA\n\nPossible symbols:\nh — hours in 12-hour mode\nhh — hours in 12-hour mode with leading zero\nH — hours in 24-hour mode\nHH — hours in 24-hour mode with leading zero\nm — minutes\nmm — minutes with leading zero\naa — day period lower case\nAA — day period upper case",
              "fieldName": "timeFormat"
            },
            {
              "name": "container",
              "type": {
                "text": "string | HTMLElement | undefined"
              },
              "description": "Overrides where the calendar popup is mounted. By default it renders at the document level\n(or inside the containing dialog/popover) so it can't be clipped by ancestor shadow roots\nor overflow containers — you rarely need to set this.",
              "fieldName": "container"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "A date picker component with calendar popup and input validation.",
          "tagNameWithoutPrefix": "datepicker",
          "tagName": "zn-datepicker",
          "customElement": true,
          "jsDoc": "/**\n * @summary A date picker component with calendar popup and input validation.\n * @documentation https://zinc.style/components/datepicker\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-icon\n * @dependency zn-tooltip\n *\n * @event zn-change - Emitted when the date value changes.\n * @event zn-input - Emitted when the input value changes.\n * @event zn-blur - Emitted when the input loses focus.\n * @event zn-focus - Emitted when the input gains focus.\n *\n * @slot label - The datepicker's label. Alternatively, you can use the `label` attribute.\n * @slot label-tooltip - Tooltip content for the label. Alternatively, you can use the `label-tooltip` attribute.\n * @slot context-note - Additional context text displayed above the input. Alternatively, you can use the `context-note` attribute.\n * @slot help-text - Help text displayed below the input. Alternatively, you can use the `help-text` attribute.\n * @slot prefix - Content to display before the input (in addition to the default calendar icon).\n * @slot suffix - Content to display after the input.\n *\n * @csspart base - The component's base wrapper.\n * @csspart form-control - The form control wrapper.\n * @csspart form-control-label - The label element.\n * @csspart form-control-input - The input wrapper.\n * @csspart form-control-help-text - The help text element.\n *\n * @property format - Date format using AirDatepicker tokens. Default: 'dd/MM/yyyy'\n *   Supported formats:\n *   - dd/MM/yyyy (31/12/2024) - Default\n *   - MM/dd/yyyy (12/31/2024)\n *   - yyyy-MM-dd (2024-12-31)\n *   - dd-MM-yyyy (31-12-2024)\n *   - yyyy/MM/dd (2024/12/31)\n *\n * @cssproperty --zn-input-* - Inherited input component CSS custom properties.\n */",
          "documentation": "https://zinc.style/components/datepicker",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-icon",
            "zn-tooltip"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnDatepicker",
            "module": "components/datepicker/datepicker.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/defined-label/defined-label.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnDefinedLabel",
          "cssParts": [
            {
              "description": "The component's main input.",
              "name": "input"
            },
            {
              "description": "The label's value inputs.",
              "name": "input-value"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'zn-button': ZnButton, 'zn-dropdown': ZnDropdown, 'zn-input': ZnInput, 'zn-option': ZnOption, 'zn-select': ZnSelect }"
            },
            {
              "kind": "field",
              "name": "formControlController",
              "privacy": "private",
              "readonly": true,
              "default": "new FormControlController(this, { value: (control: this) => control.value + (control.inputValue ? `:${control.inputValue}` : ''), })"
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "ZnInput"
              }
            },
            {
              "kind": "field",
              "name": "dropdown",
              "type": {
                "text": "ZnDropdown"
              }
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The selected label key. Also acts as the filter while typing.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "inputValue",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The value entered for the selected label. Submitted as `label:value` when present.",
              "attribute": "inputValue"
            },
            {
              "kind": "field",
              "name": "inputSize",
              "type": {
                "text": "'x-small' | 'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The size of the main input.",
              "attribute": "input-size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "'label'",
              "description": "The name of the control. Used for form submission.",
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "title",
              "type": {
                "text": "string"
              },
              "description": "The title of the main input.",
              "attribute": "title"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the control.",
              "attribute": "disabled"
            },
            {
              "kind": "field",
              "name": "allowCustom",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allows labels that aren't in the predefined list.",
              "attribute": "allow-custom"
            },
            {
              "kind": "field",
              "name": "predefinedLabels",
              "type": {
                "text": "(PredefinedLabel | string)[]"
              },
              "default": "[]",
              "description": "The predefined labels. Entries are either a string or `{name, options}`.",
              "attribute": "predefined-labels"
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validity",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "getForm",
              "return": {
                "type": {
                  "text": "HTMLFormElement | null"
                }
              }
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleValueChange"
            },
            {
              "kind": "method",
              "name": "getFilteredLabels",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "PredefinedLabel[]"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleInput",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleInputValueChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleFormSubmit",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                },
                {
                  "name": "label",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "renderValueControl",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              },
              "parameters": [
                {
                  "name": "label",
                  "type": {
                    "text": "PredefinedLabel"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "renderRow",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              },
              "parameters": [
                {
                  "name": "label",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "control",
                  "type": {
                    "text": "TemplateResult"
                  }
                }
              ]
            }
          ],
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The selected label key. Also acts as the filter while typing.",
              "fieldName": "value"
            },
            {
              "name": "inputValue",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The value entered for the selected label. Submitted as `label:value` when present.",
              "fieldName": "inputValue"
            },
            {
              "name": "input-size",
              "type": {
                "text": "'x-small' | 'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The size of the main input.",
              "fieldName": "inputSize"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "'label'",
              "description": "The name of the control. Used for form submission.",
              "fieldName": "name"
            },
            {
              "name": "title",
              "type": {
                "text": "string"
              },
              "description": "The title of the main input.",
              "fieldName": "title"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the control.",
              "fieldName": "disabled"
            },
            {
              "name": "allow-custom",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allows labels that aren't in the predefined list.",
              "fieldName": "allowCustom"
            },
            {
              "name": "predefined-labels",
              "type": {
                "text": "(PredefinedLabel | string)[]"
              },
              "default": "[]",
              "description": "The predefined labels. Entries are either a string or `{name, options}`.",
              "fieldName": "predefinedLabels"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "This component provides a labeled input with support for predefined and custom labels,\nallowing users to select or enter label-value pairs within a dropdown interface.",
          "tagNameWithoutPrefix": "defined-label",
          "tagName": "zn-defined-label",
          "customElement": true,
          "jsDoc": "/**\n * @summary This component provides a labeled input with support for predefined and custom labels,\n * allowing users to select or enter label-value pairs within a dropdown interface.\n * @documentation https://zinc.style/components/defined-label\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-button\n * @dependency zn-dropdown\n * @dependency zn-input\n * @dependency zn-option\n * @dependency zn-select\n *\n * @csspart input - The component's main input.\n * @csspart input-value - The label's value inputs.\n */",
          "documentation": "https://zinc.style/components/defined-label",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-button",
            "zn-dropdown",
            "zn-input",
            "zn-option",
            "zn-select"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnDefinedLabel",
            "module": "components/defined-label/defined-label.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/dialog/dialog.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnDialog",
          "cssProperties": [
            {
              "description": "The preferred width of the dialog. Note 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 dialog's header. This element wraps the title and header actions.",
              "name": "header"
            },
            {
              "description": "Optional actions to add to the header. Works best with `<zn-button>` elements.",
              "name": "header-actions"
            },
            {
              "description": "The dialog's title.",
              "name": "title"
            },
            {
              "description": "The dialog's close button.",
              "name": "close-button"
            },
            {
              "description": "The close buttons exported `base` part.",
              "name": "close-button__base"
            },
            {
              "description": "The dialog's body.",
              "name": "body"
            },
            {
              "description": "The dialog's footer.",
              "name": "footer"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "The dialog's label. Alternatively you can use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "Optional icon to add to the left of the dialog's label (title). A color will be applied to the icon depending on the dialog variant.",
              "name": "header-icon"
            },
            {
              "description": "Optional Intro text to display below the icon, when using the variant `announcement`.",
              "name": "announcement-intro"
            },
            {
              "description": "Optional actions to add to the header. Works best with `<zn-button>` elements.",
              "name": "header-actions"
            },
            {
              "description": "The dialog's footer. This is typically used for buttons representing various options.",
              "name": "footer"
            },
            {
              "description": "Optional text to include below the footer buttons, when using the variant `announcement`.",
              "name": "footer-text"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'zn-button': ZnButton }"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, '[default]', 'footer')"
            },
            {
              "kind": "field",
              "name": "closeWatcher",
              "type": {
                "text": "CloseWatcher | null"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "dialog",
              "type": {
                "text": "HTMLDialogElement"
              }
            },
            {
              "kind": "field",
              "name": "closer",
              "type": {
                "text": "HTMLButtonElement"
              }
            },
            {
              "kind": "field",
              "name": "variant",
              "type": {
                "text": "'default' | 'warning' | 'announcement'"
              },
              "default": "'default'",
              "description": "The dialog's theme variant.",
              "attribute": "variant",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large' | 'custom'"
              },
              "default": "'medium'",
              "description": "The dialog's size.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicated whether of 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 state.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "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": "cosmic",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "cosmic",
              "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 to close the dialog.",
              "attribute": "no-header",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "trigger",
              "type": {
                "text": "string"
              },
              "description": "The dialog's trigger element. This is used to open the dialog when clicked. If you do not provide a trigger, you\nwill need to manually open the dialog using the `show()` method.",
              "attribute": "trigger",
              "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": "method",
              "name": "show",
              "description": "Shows the dialog."
            },
            {
              "kind": "method",
              "name": "hide",
              "description": "Hides the dialog."
            },
            {
              "kind": "field",
              "name": "closeClickHandler",
              "privacy": "private"
            }
          ],
          "events": [
            {
              "description": "Emitted when the dialog is opens.",
              "name": "zn-show"
            },
            {
              "description": "Emitted when the dialog is closed.",
              "name": "zn-close"
            },
            {
              "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": "zn-request-close"
            }
          ],
          "attributes": [
            {
              "name": "variant",
              "type": {
                "text": "'default' | 'warning' | 'announcement'"
              },
              "default": "'default'",
              "description": "The dialog's theme variant.",
              "fieldName": "variant"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large' | 'custom'"
              },
              "default": "'medium'",
              "description": "The dialog's size.",
              "fieldName": "size"
            },
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicated whether of 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 state.",
              "fieldName": "open"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "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": "cosmic",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "cosmic"
            },
            {
              "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 to close the dialog.",
              "fieldName": "noHeader"
            },
            {
              "name": "trigger",
              "type": {
                "text": "string"
              },
              "description": "The dialog's trigger element. This is used to open the dialog when clicked. If you do not provide a trigger, you\nwill need to manually open the dialog using the `show()` method.",
              "fieldName": "trigger"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "dialog",
          "tagName": "zn-dialog",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/dialog\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-button\n *\n * @event zn-show - Emitted when the dialog is opens.\n * @event zn-close - Emitted when the dialog is closed.\n * @event {{ source: 'close-button' | 'keyboard' | 'overlay' }} zn-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 * @slot - The default slot.\n * @slot label - The dialog's label. Alternatively you can use the `label` attribute.\n * @slot header-icon - Optional icon to add to the left of the dialog's label (title). A color will be applied\n * to the icon depending on the dialog variant.\n * @slot announcement-intro - Optional Intro text to display below the icon, when using the variant `announcement`.\n * @slot header-actions - Optional actions to add to the header. Works best with `<zn-button>` elements.\n * @slot footer - The dialog's footer. This is typically used for buttons representing various options.\n * @slot footer-text - Optional text to include below the footer buttons, when using the variant `announcement`.\n *\n * @csspart base - The component's base wrapper.\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 `<zn-button>` elements.\n * @csspart title - The dialog's title.\n * @csspart close-button - The dialog's close button.\n * @csspart close-button__base - The close buttons 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 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 */",
          "documentation": "https://zinc.style/components/dialog",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-button"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnDialog",
            "module": "components/dialog/dialog.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/dropdown/dropdown.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnDropdown",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "popup",
              "type": {
                "text": "ZnPopup"
              }
            },
            {
              "kind": "field",
              "name": "trigger",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "panel",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "closeWatcher",
              "type": {
                "text": "CloseWatcher | null"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether the dropdown is open",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "'top' | 'top-start' | 'top-end' | 'right' | 'right-start' | 'right-end' |\n    'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end'"
              },
              "default": "'bottom-start'",
              "description": "The placement of the dropdown. Note the actual placement may vary based on the available space",
              "attribute": "placement",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disable the dropdown",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "stayOpenOnSelect",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "By default, the dropdown will close when an item is selected. Set this to true to keep the dropdown open",
              "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 the element*"
            },
            {
              "kind": "field",
              "name": "distance",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The distance in pixels from which to offset the panel away from the trigger",
              "attribute": "distance"
            },
            {
              "kind": "field",
              "name": "skidding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The distance in pixels from which to offset the panel away from the trigger",
              "attribute": "skidding"
            },
            {
              "kind": "field",
              "name": "hoist",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "description": "Enable this option if the parent is overflow hidden and the dropdown is not visible",
              "attribute": "hoist"
            },
            {
              "kind": "field",
              "name": "sync",
              "type": {
                "text": "'width' | 'height' | 'both' | undefined"
              },
              "default": "undefined",
              "description": "Syncs the popup width or height with the trigger element",
              "attribute": "sync",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "uri",
              "type": {
                "text": "string"
              },
              "attribute": "uri"
            },
            {
              "kind": "field",
              "name": "fetchedContent",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "fetchedContent"
            },
            {
              "kind": "method",
              "name": "focusOnTrigger",
              "privacy": "public"
            },
            {
              "kind": "method",
              "name": "getMenu",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "addOpenListeners",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "removeOpenListeners",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handlePanelSelect",
              "description": "Events"
            },
            {
              "kind": "method",
              "name": "preloadContent",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handlePreload",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleTriggerClick"
            },
            {
              "kind": "method",
              "name": "handleKeyDown",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleTriggerKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleTriggerKeyUp",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleTriggerSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleDocumentMouseDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleDocumentKeyDown",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "show",
              "description": "Opens the dropdown"
            },
            {
              "kind": "method",
              "name": "hide",
              "description": "Closes the dropdown"
            },
            {
              "kind": "method",
              "name": "reposition",
              "description": "Instructs the dropdown to reposition itself"
            },
            {
              "kind": "method",
              "name": "updateAccessibleTrigger",
              "privacy": "private",
              "description": "Aria related method"
            },
            {
              "kind": "method",
              "name": "handleOpenChange"
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "attributes": [
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicates whether the dropdown is open",
              "fieldName": "open"
            },
            {
              "name": "placement",
              "type": {
                "text": "'top' | 'top-start' | 'top-end' | 'right' | 'right-start' | 'right-end' |\n    'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end'"
              },
              "default": "'bottom-start'",
              "description": "The placement of the dropdown. Note the actual placement may vary based on the available space",
              "fieldName": "placement"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disable the dropdown",
              "fieldName": "disabled"
            },
            {
              "name": "stay-open-on-select",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "By default, the dropdown will close when an item is selected. Set this to true to keep the dropdown open",
              "fieldName": "stayOpenOnSelect"
            },
            {
              "name": "distance",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The distance in pixels from which to offset the panel away from the trigger",
              "fieldName": "distance"
            },
            {
              "name": "skidding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The distance in pixels from which to offset the panel away from the trigger",
              "fieldName": "skidding"
            },
            {
              "name": "hoist",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "description": "Enable this option if the parent is overflow hidden and the dropdown is not visible",
              "fieldName": "hoist"
            },
            {
              "name": "sync",
              "type": {
                "text": "'width' | 'height' | 'both' | undefined"
              },
              "default": "undefined",
              "description": "Syncs the popup width or height with the trigger element",
              "fieldName": "sync"
            },
            {
              "name": "uri",
              "type": {
                "text": "string"
              },
              "fieldName": "uri"
            },
            {
              "name": "fetchedContent",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "fetchedContent"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "dropdown",
          "tagName": "zn-dropdown",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/dropdown\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/dropdown",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnDropdown",
            "module": "components/dropdown/dropdown.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/editor/editor.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnEditor",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "formControlController",
              "privacy": "private",
              "default": "new FormControlController(this, {})"
            },
            {
              "kind": "field",
              "name": "editor",
              "type": {
                "text": "HTMLElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "editorHtml",
              "type": {
                "text": "HTMLTextAreaElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "toolbar",
              "type": {
                "text": "ToolbarComponent"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "id",
              "type": {
                "text": "string"
              },
              "attribute": "id",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "interactionType",
              "type": {
                "text": "'ticket' | 'chat'"
              },
              "default": "'chat'",
              "attribute": "interaction-type"
            },
            {
              "kind": "field",
              "name": "uploadAttachmentUrl",
              "type": {
                "text": "string"
              },
              "attribute": "attachment-url"
            },
            {
              "kind": "field",
              "name": "codeBlocksEnabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "code-blocks"
            },
            {
              "kind": "field",
              "name": "dividersEnabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "dividers"
            },
            {
              "kind": "field",
              "name": "linksEnabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "links"
            },
            {
              "kind": "field",
              "name": "attachmentsEnabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "attachments"
            },
            {
              "kind": "field",
              "name": "imagesEnabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "images"
            },
            {
              "kind": "field",
              "name": "videosEnabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "videos"
            },
            {
              "kind": "field",
              "name": "datesEnabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "dates"
            },
            {
              "kind": "field",
              "name": "emojisEnabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "emojis"
            },
            {
              "kind": "field",
              "name": "codeEnabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "code"
            },
            {
              "kind": "field",
              "name": "aiEnabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "ai"
            },
            {
              "kind": "field",
              "name": "aiPath",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "ai-path"
            },
            {
              "kind": "field",
              "name": "storeKey",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "description": "Caches unsent content while typing and restores it when the editor next loads,\nso agent replies in tickets/chats survive reloads and navigation. Use a key\nunique to the conversation (e.g. the ticket ID). The cache is cleared on submit.",
              "attribute": "store-key",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "storeTtl",
              "type": {
                "text": "number"
              },
              "default": "86400",
              "description": "Cached-content expiry in seconds. Defaults to 1 day.",
              "attribute": "store-ttl",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "localStorage",
              "type": {
                "text": "boolean"
              },
              "description": "Cache to localStorage instead of sessionStorage, persisting across tabs and browser restarts.",
              "attribute": "local-storage",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "_store",
              "type": {
                "text": "Store"
              },
              "privacy": "protected"
            },
            {
              "kind": "field",
              "name": "quillElement",
              "type": {
                "text": "Quill"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_content",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "_selectionRange",
              "type": {
                "text": "Range"
              },
              "privacy": "private",
              "default": "{index: 0, length: 0}"
            },
            {
              "kind": "field",
              "name": "validity",
              "type": {
                "text": "ValidityState"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "type": {
                "text": "string"
              },
              "readonly": true
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "getForm",
              "return": {
                "type": {
                  "text": "HTMLFormElement | null"
                }
              }
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleTextChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_isEmpty",
              "privacy": "private",
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_cacheContent",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_clearCachedContent",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_getQuillKeyboardBindings",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_handleEditorChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "OnEvent"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "_handleEditorInsert",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_insertHtml",
              "privacy": "private",
              "parameters": [
                {
                  "name": "mode",
                  "type": {
                    "text": "'insert' | 'replace'"
                  }
                },
                {
                  "name": "content",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_replaceTextAtSelection",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_insertTextAtSelection",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_closePopups",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_closeAiPanel",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_closeDialog",
              "privacy": "private"
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "attributes": [
            {
              "name": "id",
              "type": {
                "text": "string"
              },
              "fieldName": "id"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "fieldName": "name"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "fieldName": "value"
            },
            {
              "name": "interaction-type",
              "type": {
                "text": "'ticket' | 'chat'"
              },
              "default": "'chat'",
              "fieldName": "interactionType"
            },
            {
              "name": "attachment-url",
              "type": {
                "text": "string"
              },
              "fieldName": "uploadAttachmentUrl"
            },
            {
              "name": "code-blocks",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "codeBlocksEnabled"
            },
            {
              "name": "dividers",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "dividersEnabled"
            },
            {
              "name": "links",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "linksEnabled"
            },
            {
              "name": "attachments",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "attachmentsEnabled"
            },
            {
              "name": "images",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "imagesEnabled"
            },
            {
              "name": "videos",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "videosEnabled"
            },
            {
              "name": "dates",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "datesEnabled"
            },
            {
              "name": "emojis",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "emojisEnabled"
            },
            {
              "name": "code",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "codeEnabled"
            },
            {
              "name": "ai",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "aiEnabled"
            },
            {
              "name": "ai-path",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "aiPath"
            },
            {
              "name": "store-key",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "description": "Caches unsent content while typing and restores it when the editor next loads,\nso agent replies in tickets/chats survive reloads and navigation. Use a key\nunique to the conversation (e.g. the ticket ID). The cache is cleared on submit.",
              "fieldName": "storeKey"
            },
            {
              "name": "store-ttl",
              "type": {
                "text": "number"
              },
              "default": "86400",
              "description": "Cached-content expiry in seconds. Defaults to 1 day.",
              "fieldName": "storeTtl"
            },
            {
              "name": "local-storage",
              "type": {
                "text": "boolean"
              },
              "description": "Cache to localStorage instead of sessionStorage, persisting across tabs and browser restarts.",
              "fieldName": "localStorage"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "editor",
          "tagName": "zn-editor",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/editor\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/editor",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnEditor",
            "module": "components/editor/editor.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/empty-state/empty-state.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnEmptyState",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "icon",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "icon"
            },
            {
              "kind": "field",
              "name": "caption",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "caption"
            },
            {
              "kind": "field",
              "name": "description",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "description"
            },
            {
              "kind": "field",
              "name": "type",
              "type": {
                "text": "'error' | 'info' | 'primary' | ''"
              },
              "default": "''",
              "attribute": "type"
            },
            {
              "kind": "field",
              "name": "padded",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "padded"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, '[default]', 'caption', 'description')"
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "attributes": [
            {
              "name": "icon",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "icon"
            },
            {
              "name": "caption",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "caption"
            },
            {
              "name": "description",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "description"
            },
            {
              "name": "type",
              "type": {
                "text": "'error' | 'info' | 'primary' | ''"
              },
              "default": "''",
              "fieldName": "type"
            },
            {
              "name": "padded",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "padded"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "empty-state",
          "tagName": "zn-empty-state",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/empty-state\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/empty-state",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnEmptyState",
            "module": "components/empty-state/empty-state.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/expanding-action/expanding-action.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnExpandingAction",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "icon",
              "type": {
                "text": "string"
              },
              "attribute": "icon"
            },
            {
              "kind": "field",
              "name": "method",
              "type": {
                "text": "'drop' | 'fill'"
              },
              "default": "'drop'",
              "attribute": "method"
            },
            {
              "kind": "field",
              "name": "contextUri",
              "type": {
                "text": "string"
              },
              "attribute": "context-uri",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "count",
              "type": {
                "text": "string"
              },
              "attribute": "count",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "color",
              "type": {
                "text": "string"
              },
              "attribute": "color",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "prefetch",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "prefetch"
            },
            {
              "kind": "field",
              "name": "basis",
              "type": {
                "text": "string"
              },
              "default": "'300'",
              "attribute": "basis"
            },
            {
              "kind": "field",
              "name": "maxHeight",
              "type": {
                "text": "string"
              },
              "attribute": "max-height"
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "masterId",
              "type": {
                "text": "string"
              },
              "attribute": "master-id",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "fetchStyle",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "attribute": "fetch-style",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "noPrefetch",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "no-prefetch",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "_panel",
              "type": {
                "text": "Element | null | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_panels",
              "type": {
                "text": "Map<string, Element[]>"
              },
              "privacy": "private",
              "default": "new Map<string, Element[]>()"
            },
            {
              "kind": "field",
              "name": "_knownUri",
              "type": {
                "text": "Map<string, string>"
              },
              "privacy": "private",
              "default": "new Map<string, string>()"
            },
            {
              "kind": "field",
              "name": "_actions",
              "type": {
                "text": "HTMLElement[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "_preload",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "true"
            },
            {
              "kind": "field",
              "name": "_metaObserved",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "_placementObserver",
              "type": {
                "text": "MutationObserver | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_countObserver",
              "privacy": "private",
              "readonly": true,
              "default": "new MutationController(this, { target: null, config: {subtree: true, attributes: true, attributeFilter: ['content'], childList: true}, callback: () => { const appContent = deepQuerySelectorAll('app-content', this, '')[0]; const metaCount = appContent?.shadowRoot?.querySelector('meta[name=\"count\"]'); if (!metaCount) return; const count = metaCount.getAttribute('content'); const notification = this.shadowRoot?.querySelector('.expanding-action__dropdown zn-button'); if (count && notification) { notification.setAttribute('notification', count); } }, })"
            },
            {
              "kind": "field",
              "name": "_colorObserver",
              "privacy": "private",
              "readonly": true,
              "default": "new MutationController(this, { target: null, config: {subtree: true, attributes: true, attributeFilter: ['content'], childList: true}, callback: () => { const appContent = deepQuerySelectorAll('app-content', this, '')[0]; const metaColor = appContent?.shadowRoot?.querySelector('meta[name=\"color\"]'); if (!metaColor) return; const color = metaColor.getAttribute('content'); if (color) { this.color = color; } }, })"
            },
            {
              "kind": "method",
              "name": "_observeMetaData"
            },
            {
              "kind": "method",
              "name": "_registerActions"
            },
            {
              "kind": "method",
              "name": "_addAction",
              "parameters": [
                {
                  "name": "action",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_uriToId",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "actionUri",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleClick",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_createUriPanel",
              "return": {
                "type": {
                  "text": "HTMLDivElement"
                }
              },
              "parameters": [
                {
                  "name": "actionEle",
                  "type": {
                    "text": "Element"
                  }
                },
                {
                  "name": "actionUri",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "actionId",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "fetchUri",
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "fetchContextHeaders"
            },
            {
              "kind": "method",
              "name": "clickAction",
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "handleIconClicked"
            },
            {
              "kind": "field",
              "name": "handleIconCloseClicked"
            },
            {
              "kind": "field",
              "name": "_updateTriggerSide",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_observePlacement",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "renderDropdown",
              "privacy": "protected"
            },
            {
              "kind": "method",
              "name": "renderFill",
              "privacy": "protected"
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "attributes": [
            {
              "name": "icon",
              "type": {
                "text": "string"
              },
              "fieldName": "icon"
            },
            {
              "name": "method",
              "type": {
                "text": "'drop' | 'fill'"
              },
              "default": "'drop'",
              "fieldName": "method"
            },
            {
              "name": "context-uri",
              "type": {
                "text": "string"
              },
              "fieldName": "contextUri"
            },
            {
              "name": "count",
              "type": {
                "text": "string"
              },
              "fieldName": "count"
            },
            {
              "name": "color",
              "type": {
                "text": "string"
              },
              "fieldName": "color"
            },
            {
              "name": "prefetch",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "prefetch"
            },
            {
              "name": "basis",
              "type": {
                "text": "string"
              },
              "default": "'300'",
              "fieldName": "basis"
            },
            {
              "name": "max-height",
              "type": {
                "text": "string"
              },
              "fieldName": "maxHeight"
            },
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "open"
            },
            {
              "name": "master-id",
              "type": {
                "text": "string"
              },
              "fieldName": "masterId"
            },
            {
              "name": "fetch-style",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "fieldName": "fetchStyle"
            },
            {
              "name": "no-prefetch",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "noPrefetch"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "expanding-action",
          "tagName": "zn-expanding-action",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/expanding-action\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/expanding-action",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnExpandingAction",
            "module": "components/expanding-action/expanding-action.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/file/file.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnFile",
          "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 zn-button acting as a file input.",
              "name": "button"
            },
            {
              "description": "The zn-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 upload button shown in the droparea when no file is selected.",
              "name": "upload"
            },
            {
              "description": "The image preview rendered in the droparea for previewable files.",
              "name": "preview"
            },
            {
              "description": "The filename label rendered in the droparea for non-previewable files.",
              "name": "filename"
            },
            {
              "description": "The clear button rendered in the droparea when a file is present.",
              "name": "clear"
            },
            {
              "description": "The confirmation dialog shown before clearing the file.",
              "name": "clear-confirm"
            },
            {
              "description": "The current link anchor rendered when `show-link` is enabled.",
              "name": "link"
            },
            {
              "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 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": "{ 'zn-dialog': ZnDialog }"
            },
            {
              "kind": "field",
              "name": "formControlController",
              "privacy": "private",
              "readonly": true,
              "default": "new FormControlController(this, { assumeInteractionOn: ['zn-change'], // An explicitly cleared control submits an empty value so the server can // remove the stored upload; an untouched empty control submits nothing. // In upload-url mode the control submits the uploaded file's URL string // instead of the file bytes. value: (el: ZnFile) => { if (el.uploadUrl) { if (el.src) return el.src; return el.clearedByUser ? '' : undefined; } if (el.files?.length) return el.files; return el.clearedByUser ? '' : undefined; } })"
            },
            {
              "kind": "field",
              "name": "clearedByUser",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Set when the user clears the control; reset when a file is chosen."
            },
            {
              "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": "fileObjectUrl",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "HTMLInputElement"
              }
            },
            {
              "kind": "field",
              "name": "button",
              "type": {
                "text": "ZnButton"
              }
            },
            {
              "kind": "field",
              "name": "dropareaWrapper",
              "type": {
                "text": "HTMLDivElement"
              }
            },
            {
              "kind": "field",
              "name": "dropareaIcon",
              "type": {
                "text": "HTMLSpanElement"
              }
            },
            {
              "kind": "field",
              "name": "inputChosen",
              "type": {
                "text": "HTMLSpanElement"
              }
            },
            {
              "kind": "field",
              "name": "clearConfirmDialog",
              "type": {
                "text": "HTMLElement & { show: () => void; hide: () => void }"
              }
            },
            {
              "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": "clearable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "If this is set, then the only way to remove files is to click the cross next to them.",
              "attribute": "clearable"
            },
            {
              "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": "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": "src",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "URL of an already-uploaded file (e.g., from a CDN) to display as the current value\nwhen no file has been selected locally. If the URL points to an image, it is rendered\nas a preview inside the droparea. Otherwise the URL is shown as a filename.",
              "attribute": "src"
            },
            {
              "kind": "field",
              "name": "triggerSubmit",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When enabled, automatically submit the surrounding form whenever the value changes\n(file selected, dropped, or cleared). Useful for forms that only contain this control\nand a CSRF token.",
              "attribute": "trigger-submit"
            },
            {
              "kind": "field",
              "name": "showLink",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When enabled, render the current link (`previewSrc`) as a clickable URL below the control.\nUseful for showing the existing CDN link alongside the preview.",
              "attribute": "show-link"
            },
            {
              "kind": "field",
              "name": "uploadUrl",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "When set, a chosen file is immediately POSTed (multipart, field `file`) to this URL.\nThe endpoint must respond with JSON `{\"url\": \"...\"}`; that URL becomes the control's\nvalue (and `src` preview) in place of the file bytes, so the control works inside\nJSON-serialising hosts such as `zn-page-builder`. Emits `zn-error` when the upload fails.",
              "attribute": "upload-url"
            },
            {
              "kind": "field",
              "name": "uploading",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "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": "field",
              "name": "handleInvalid",
              "privacy": "private"
            },
            {
              "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": "uploadFile",
              "privacy": "private",
              "parameters": [
                {
                  "name": "file",
                  "type": {
                    "text": "File"
                  }
                }
              ],
              "description": "Uploads the chosen file to `uploadUrl` and adopts the returned URL as the\ncontrol's value. The local file preview stays visible while the upload runs."
            },
            {
              "kind": "field",
              "name": "handleDragOver",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDragLeave",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDrop",
              "privacy": "private"
            },
            {
              "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": "field",
              "name": "removeFile",
              "privacy": "private",
              "description": "Remove a file from the list of files"
            },
            {
              "kind": "field",
              "name": "handleClearClick",
              "privacy": "private",
              "description": "Open the confirm dialog before clearing."
            },
            {
              "kind": "field",
              "name": "confirmClear",
              "privacy": "private",
              "description": "Clear the current value after the user confirms."
            },
            {
              "kind": "method",
              "name": "clear",
              "description": "Programmatically clears the selected file and any external `src` without\nconfirmation. Unlike a user-initiated clear, this does not flag the control\nto submit an empty value."
            },
            {
              "kind": "method",
              "name": "updatePreview",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "previewSrc",
              "type": {
                "text": "string"
              },
              "description": "Returns the URL currently shown in the droparea — the locally-selected file's object URL\nif a file is selected, otherwise the externally supplied `src`. Useful for getting the\ncurrent CDN link to submit alongside form data.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "renderFileValueWithDelete",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "HTMLTemplateResult"
                }
              }
            },
            {
              "kind": "method",
              "name": "renderDroparea",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "HTMLTemplateResult"
                }
              }
            },
            {
              "kind": "method",
              "name": "renderButton",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "HTMLTemplateResult"
                }
              }
            }
          ],
          "events": [
            {
              "description": "Emitted when the control loses focus.",
              "name": "zn-blur"
            },
            {
              "description": "Emitted when an alteration to the control's value is committed by the user.",
              "name": "zn-change"
            },
            {
              "description": "Emitted when the user confirms clearing the selected file or `src`.",
              "name": "zn-clear"
            },
            {
              "description": "Emitted when multiple files are selected via drag and drop, without the `multiple` property being set.",
              "name": "zn-error"
            },
            {
              "description": "Emitted when the control gains focus.",
              "name": "zn-focus"
            },
            {
              "description": "Emitted when the control receives input.",
              "name": "zn-input"
            }
          ],
          "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": "clearable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "If this is set, then the only way to remove files is to click the cross next to them.",
              "fieldName": "clearable"
            },
            {
              "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": "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"
            },
            {
              "name": "src",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "URL of an already-uploaded file (e.g., from a CDN) to display as the current value\nwhen no file has been selected locally. If the URL points to an image, it is rendered\nas a preview inside the droparea. Otherwise the URL is shown as a filename.",
              "fieldName": "src"
            },
            {
              "name": "trigger-submit",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When enabled, automatically submit the surrounding form whenever the value changes\n(file selected, dropped, or cleared). Useful for forms that only contain this control\nand a CSRF token.",
              "fieldName": "triggerSubmit"
            },
            {
              "name": "show-link",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When enabled, render the current link (`previewSrc`) as a clickable URL below the control.\nUseful for showing the existing CDN link alongside the preview.",
              "fieldName": "showLink"
            },
            {
              "name": "upload-url",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "When set, a chosen file is immediately POSTed (multipart, field `file`) to this URL.\nThe endpoint must respond with JSON `{\"url\": \"...\"}`; that URL becomes the control's\nvalue (and `src` preview) in place of the file bytes, so the control works inside\nJSON-serialising hosts such as `zn-page-builder`. Emits `zn-error` when the upload fails.",
              "fieldName": "uploadUrl"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "File controls allow selecting an arbitrary number of files for uploading.",
          "tagNameWithoutPrefix": "file",
          "tagName": "zn-file",
          "customElement": true,
          "jsDoc": "/**\n * @summary File controls allow selecting an arbitrary number of files for uploading.\n * @documentation https://zinc.style/components/drag-upload\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-button\n * @dependency zn-icon\n * @dependency zn-dialog\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 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 zn-blur - Emitted when the control loses focus.\n * @event zn-change - Emitted when an alteration to the control's value is committed by the user.\n * @event zn-clear - Emitted when the user confirms clearing the selected file or `src`.\n * @event zn-error - Emitted when multiple files are selected via drag and drop, without\n * the `multiple` property being set.\n * @event zn-focus - Emitted when the control gains focus.\n * @event zn-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 zn-button acting as a file input.\n * @csspart button__base - The zn-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 upload - The upload button shown in the droparea when no file is selected.\n * @csspart preview - The image preview rendered in the droparea for previewable files.\n * @csspart filename - The filename label rendered in the droparea for non-previewable files.\n * @csspart clear - The clear button rendered in the droparea when a file is present.\n * @csspart clear-confirm - The confirmation dialog shown before clearing the file.\n * @csspart link - The current link anchor rendered when `show-link` is enabled.\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://zinc.style/components/drag-upload",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-button",
            "zn-icon",
            "zn-dialog"
          ],
          "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": "ZnFile",
            "module": "components/file/file.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/filter-container/filter-container.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnFilterContainer",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "attr",
              "type": {
                "text": "string"
              },
              "default": "'filter'",
              "attribute": "attr"
            },
            {
              "kind": "method",
              "name": "handleSearchChange",
              "privacy": "public",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "attributes": [
            {
              "name": "attr",
              "type": {
                "text": "string"
              },
              "default": "'filter'",
              "fieldName": "attr"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "filter-container",
          "tagName": "zn-filter-container",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/filter-container\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/filter-container",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnFilterContainer",
            "module": "components/filter-container/filter-container.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/filter-wrapper/filter-wrapper.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnFilterWrapper",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "button",
              "type": {
                "text": "string"
              },
              "default": "'Filter'",
              "attribute": "button"
            },
            {
              "kind": "field",
              "name": "hasSubmitButton",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "handleSubmit"
            },
            {
              "kind": "method",
              "name": "renderDefaultButton",
              "privacy": "private"
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "attributes": [
            {
              "name": "button",
              "type": {
                "text": "string"
              },
              "default": "'Filter'",
              "fieldName": "button"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "filter-wrapper",
          "tagName": "zn-filter-wrapper",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/filter-wrapper\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/filter-wrapper",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnFilterWrapper",
            "module": "components/filter-wrapper/filter-wrapper.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/flow-builder/flow-builder.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnFlowBuilder",
          "cssParts": [
            {
              "description": "The grid wrapper.",
              "name": "base"
            },
            {
              "description": "The full-width header action bar (only rendered when header slots are filled).",
              "name": "header"
            },
            {
              "description": "The left steps panel.",
              "name": "steps"
            },
            {
              "description": "The right panel while a node or branch is selected.",
              "name": "inspector"
            }
          ],
          "slots": [
            {
              "description": "`<zn-flow-step>` type declarations; never displayed, each `group`/`category` routes the step into the right tab and collapsible grouping of the rendered panel. A step may nest `<zn-flow-filter>` declarations (each holding `<zn-flow-filter-field>`s, whose operator / option choices are nested `<zn-flow-operator>` / `<zn-flow-option>` elements) — or set a `branch-filters` JSON attribute — to drive the built-in branch conditions editor.",
              "name": ""
            },
            {
              "description": "Actions shown on the left of the header bar (e.g. Close / Undo All Changes).",
              "name": "header-left"
            },
            {
              "description": "Actions shown on the right of the header bar (e.g. Apply Changes).",
              "name": "header-right"
            },
            {
              "description": "Extra right-panel content (status, version history), below the configuration errors.",
              "name": "sidebar"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'zn-icon': ZnIcon, 'zn-input': ZnInput, 'zn-tabs': ZnTabs, 'zn-navbar': ZnNavbar, 'zn-flow-branch-conditions': ZnFlowBranchConditions, 'zn-flow-canvas': ZnFlowCanvas, 'zn-flow-step-group': ZnFlowStepGroup, }"
            },
            {
              "kind": "field",
              "name": "nodeTypes",
              "type": {
                "text": "FlowNodeType[]"
              },
              "default": "[]",
              "description": "Node types to make available, registered into the internal registry."
            },
            {
              "kind": "field",
              "name": "heading",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "heading",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "subheading",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "subheading",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "errorNodes",
              "type": {
                "text": "string[]"
              },
              "default": "[]",
              "description": "Node ids flagged as having configuration errors (drives the red node styling)."
            },
            {
              "kind": "field",
              "name": "autoSave",
              "type": {
                "text": "number | null"
              },
              "default": "null",
              "description": "Auto-save the flow to localStorage (1-day TTL). Omit to disable. A bare\n`auto-save` saves every 5 minutes; a numeric value sets the interval in\nminutes (`auto-save=\"5\"`). Restore with `restoreAutoSave()`.",
              "attribute": "auto-save"
            },
            {
              "kind": "field",
              "name": "entrypointsHint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Optional hint shown beneath each steps-panel tab.",
              "attribute": "entrypoints-hint"
            },
            {
              "kind": "field",
              "name": "triggersHint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "triggers-hint"
            },
            {
              "kind": "field",
              "name": "actionsHint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "actions-hint"
            },
            {
              "kind": "field",
              "name": "rulesHint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "rules-hint"
            },
            {
              "kind": "field",
              "name": "registry",
              "privacy": "private",
              "default": "new FlowRegistry()"
            },
            {
              "kind": "field",
              "name": "_state",
              "type": {
                "text": "FlowState"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_selectedNodeId",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "_selectedBranch",
              "type": {
                "text": "{ nodeId: string; port: string } | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The output branch open in the branch editor, if any."
            },
            {
              "kind": "field",
              "name": "_search",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "_activeGroup",
              "type": {
                "text": "FlowGroup | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The steps-panel tab currently shown; the search only filters this tab."
            },
            {
              "kind": "field",
              "name": "_hasSlot",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'header-left', 'header-right')"
            },
            {
              "kind": "field",
              "name": "_stepsCollapsed",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Side panels tucked away via their edge chevrons."
            },
            {
              "kind": "field",
              "name": "_sideCollapsed",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "_movingNodeId",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The node being relocated via the MOVE menu action, if any."
            },
            {
              "kind": "field",
              "name": "_picker",
              "type": {
                "text": "{ x: number; y: number; target: PickerTarget } | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The \"+\" picker popover target (an open output, or a wire to insert into), if open."
            },
            {
              "kind": "field",
              "name": "_draggingType",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The node type currently being dragged from the steps panel, for the canvas drop preview."
            },
            {
              "kind": "field",
              "name": "_history",
              "type": {
                "text": "FlowState[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "_redo",
              "type": {
                "text": "FlowState[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "_seq",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "_untangleRaf",
              "type": {
                "text": "number | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "_untangleSettle",
              "type": {
                "text": "(() => void) | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Applies the in-flight untangle's final positions; used when it's cut short."
            },
            {
              "kind": "field",
              "name": "_configRevision",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0",
              "description": "Bumped whenever the state is replaced wholesale (undo / redo / setState) so the\nguarded renderConfig / renderBranchConfig bodies rebuild against the fresh node\nobjects. Value edits don't bump it — the consumer's config DOM stays in place,\nwhich is what lets its inputs commit live without losing focus."
            },
            {
              "kind": "field",
              "name": "_listeners",
              "type": {
                "text": "[string, EventListener][]"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_autoSaveTimer",
              "type": {
                "text": "number | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "_statusTimer",
              "type": {
                "text": "number | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "_justSavedTimer",
              "type": {
                "text": "number | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "_restoring",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Guards the restore prompt from re-triggering on restoreAutoSave's own setState."
            },
            {
              "kind": "field",
              "name": "_lastSavedAt",
              "type": {
                "text": "number | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Epoch of the newest auto-save (also picked up from storage on start)."
            },
            {
              "kind": "field",
              "name": "_justSaved",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Briefly true right after a save — flashes \"Auto-saved\" in the status pill."
            },
            {
              "kind": "field",
              "name": "_statusNow",
              "privacy": "private",
              "description": "Re-render clock for the \"last saved Xm ago\" label."
            },
            {
              "kind": "field",
              "name": "_restorePrompt",
              "type": {
                "text": "{ savedAt: number } | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "A fresh auto-save differing from the loaded flow — offer to restore it."
            },
            {
              "kind": "field",
              "name": "_autoSaveKey",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "description": "localStorage key for this builder's auto-saves — its id, else its heading.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "_stopAutoSave",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_restartAutoSave",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_autoSaveTick",
              "privacy": "private",
              "description": "An empty canvas is never saved — it would clobber a stored flow with nothing."
            },
            {
              "kind": "method",
              "name": "_readAutoSave",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "{ savedAt: number; state: FlowState } | null"
                }
              },
              "description": "The stored auto-save, purging it when past its TTL (or unreadable)."
            },
            {
              "kind": "method",
              "name": "restoreAutoSave",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "description": "Load the auto-saved flow, if one exists within the 1-day TTL."
            },
            {
              "kind": "method",
              "name": "_offerRestoreIfNewer",
              "privacy": "private",
              "description": "A flow was just loaded — when a fresh auto-save differs from it, ask the\nuser whether to pick up their draft instead."
            },
            {
              "kind": "field",
              "name": "_onKeyDown",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_parsePorts",
              "privacy": "private",
              "static": true,
              "return": {
                "type": {
                  "text": "FlowPort[] | undefined"
                }
              },
              "parameters": [
                {
                  "name": "attr",
                  "type": {
                    "text": "string | null"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_parseFilterOptions",
              "privacy": "private",
              "static": true,
              "return": {
                "type": {
                  "text": "FlowFilterOption[] | undefined"
                }
              },
              "parameters": [
                {
                  "name": "attr",
                  "type": {
                    "text": "string | null"
                  }
                }
              ],
              "description": "Parse an operator / option list: a JSON array (strings or `{value,label}`) or comma-separated values."
            },
            {
              "kind": "method",
              "name": "_nestedFilterOptions",
              "privacy": "private",
              "static": true,
              "return": {
                "type": {
                  "text": "FlowFilterOption[] | undefined"
                }
              },
              "parameters": [
                {
                  "name": "el",
                  "type": {
                    "text": "Element"
                  }
                },
                {
                  "name": "tag",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Option list declared as child elements — the tidy form. The element's text\nis the label; a `value` attribute overrides the stored value:\n`<zn-flow-operator value=\"gte\">at least</zn-flow-operator>`."
            },
            {
              "kind": "method",
              "name": "_filterFieldFromEl",
              "privacy": "private",
              "static": true,
              "return": {
                "type": {
                  "text": "FlowFilterField | null"
                }
              },
              "parameters": [
                {
                  "name": "el",
                  "type": {
                    "text": "Element"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_parseBranchFilters",
              "privacy": "private",
              "static": true,
              "return": {
                "type": {
                  "text": "FlowBranchFilter[] | undefined"
                }
              },
              "parameters": [
                {
                  "name": "el",
                  "type": {
                    "text": "Element"
                  }
                }
              ],
              "description": "A step's branch filters: the `branch-filters` JSON attribute, or nested\n`<zn-flow-filter>` declarations each holding `<zn-flow-filter-field>`s."
            },
            {
              "kind": "method",
              "name": "_typeFromStep",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "FlowNodeType | null"
                }
              },
              "parameters": [
                {
                  "name": "el",
                  "type": {
                    "text": "Element"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "_registerSlottedTypes",
              "privacy": "private",
              "description": "Register a FlowNodeType for every slotted <zn-flow-step>."
            },
            {
              "kind": "method",
              "name": "registerNodeType",
              "return": {
                "type": {
                  "text": "this"
                }
              },
              "parameters": [
                {
                  "name": "type",
                  "type": {
                    "text": "FlowNodeType"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "registerNodeTypes",
              "return": {
                "type": {
                  "text": "this"
                }
              },
              "parameters": [
                {
                  "name": "types",
                  "type": {
                    "text": "FlowNodeType[]"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getState",
              "return": {
                "type": {
                  "text": "FlowState"
                }
              }
            },
            {
              "kind": "method",
              "name": "setState",
              "parameters": [
                {
                  "name": "next",
                  "type": {
                    "text": "FlowState"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              }
            },
            {
              "kind": "method",
              "name": "toJSON",
              "return": {
                "type": {
                  "text": "FlowState"
                }
              },
              "description": "The full flow state — nodes with their positions, connections, branch\ndata, and notes — ready for persisting. Lets `JSON.stringify(builder)`\nserialize the flow directly, e.g. as a POST body."
            },
            {
              "kind": "field",
              "name": "undo"
            },
            {
              "kind": "field",
              "name": "redo"
            },
            {
              "kind": "field",
              "name": "untangle",
              "description": "Auto-arrange the nodes into evenly spaced layers that follow the flow,\nanimating them into place (wires and pills track them since everything is\nderived from the node coordinates). Undoable as a single step."
            },
            {
              "kind": "method",
              "name": "_cancelUntangle",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_clone",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "FlowState"
                }
              },
              "parameters": [
                {
                  "name": "s",
                  "type": {
                    "text": "FlowState"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_pushHistory",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_commit",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_pruneConnections",
              "privacy": "private",
              "description": "Drop connections whose endpoints reference ports that no longer exist — e.g.\nafter a user removes a node's output (branch) via its config."
            },
            {
              "kind": "method",
              "name": "_syncSelection",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_branchSelection",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "{ node: FlowNodeInstance; port: FlowPort } | null"
                }
              },
              "description": "The node + output port of the branch open in the editor, if both still exist."
            },
            {
              "kind": "method",
              "name": "_id",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "prefix",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_freePosition",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "{ x: number; y: number }"
                }
              },
              "parameters": [
                {
                  "name": "x",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "y",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "excludeId",
                  "optional": true,
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Snap to the grid and, if another node's footprint (card or branch pills)\noccupies the spot, walk outward in grid-step rings to the nearest free one."
            },
            {
              "kind": "method",
              "name": "_addNode",
              "privacy": "private",
              "parameters": [
                {
                  "name": "typeKey",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "x",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "y",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_deleteNode",
              "privacy": "private",
              "parameters": [
                {
                  "name": "id",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_duplicateNode",
              "privacy": "private",
              "parameters": [
                {
                  "name": "id",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_positionBelowOutput",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "{ x: number; y: number }"
                }
              },
              "parameters": [
                {
                  "name": "source",
                  "type": {
                    "text": "FlowNodeInstance"
                  }
                },
                {
                  "name": "port",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Canvas position for a node newly placed off a source node's output."
            },
            {
              "kind": "method",
              "name": "_refusesBranch",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "node",
                  "type": {
                    "text": "FlowNodeInstance"
                  }
                },
                {
                  "name": "port",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Whether a node refuses the branch being asked of it: a fixed-output type\nhas only the branches it declares, so the \"new branch\" sentinel has nowhere\nto go. Checked before the history push, so a refused gesture is a no-op\nrather than an empty undo step."
            },
            {
              "kind": "method",
              "name": "_ensureOutput",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "node",
                  "type": {
                    "text": "FlowNodeInstance"
                  }
                },
                {
                  "name": "port",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Resolve an output port id on a node: the \"new branch\" sentinel materialises a\nfresh, labelled output port (per-instance), so it exists before connecting."
            },
            {
              "kind": "method",
              "name": "_ensureBranchLabel",
              "privacy": "private",
              "parameters": [
                {
                  "name": "node",
                  "type": {
                    "text": "FlowNodeInstance"
                  }
                },
                {
                  "name": "port",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Every connected output is a configurable branch — default its name so the\npill renders, however the connection was made (arrow, drop, or move)."
            },
            {
              "kind": "method",
              "name": "_addNodeAtOutput",
              "privacy": "private",
              "parameters": [
                {
                  "name": "sourceId",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "port",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "typeKey",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Create a node and attach it to an open output slot of an existing node."
            },
            {
              "kind": "method",
              "name": "_linkNodeAtOutput",
              "privacy": "private",
              "parameters": [
                {
                  "name": "sourceId",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "port",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "targetId",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Wire an open output to an existing node — targets its first input. Fan-in\nand loops (a branch pointing back to an earlier step) are both allowed;\nonly wiring a node directly to itself is refused."
            },
            {
              "kind": "method",
              "name": "_insertNodeOnWire",
              "privacy": "private",
              "parameters": [
                {
                  "name": "connectionId",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "typeKey",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Insert a new node in the middle of an existing connection (split the wire)."
            },
            {
              "kind": "method",
              "name": "_select",
              "privacy": "private",
              "parameters": [
                {
                  "name": "id",
                  "type": {
                    "text": "string | null"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "_onBranchPick",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_onBranchDelete",
              "privacy": "private",
              "description": "Remove an output branch and its wire. Undoable."
            },
            {
              "kind": "field",
              "name": "_onSelect",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_onNodeAction",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_onInteractionStart",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_onOutputAssign",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_onLinkAssign",
              "privacy": "private",
              "description": "A stray branch was attached to an existing node (fan-in)."
            },
            {
              "kind": "field",
              "name": "_onWirePick",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_onWireAssign",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_onOutputMoveTarget",
              "privacy": "private",
              "description": "Re-attach the node being moved to the chosen open output slot."
            },
            {
              "kind": "field",
              "name": "_onAddNote",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_onNoteChange",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_onNoteDelete",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_onDragStart",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "DragEvent"
                  }
                },
                {
                  "name": "typeKey",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "_onDragEnd",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_onStepDrag",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_onCanvasDragOver",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_onCanvasDrop",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_renderSteps",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_hintFor",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "group",
                  "type": {
                    "text": "FlowGroup"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_renderStep",
              "privacy": "private",
              "parameters": [
                {
                  "name": "type",
                  "type": {
                    "text": "FlowNodeType"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_renderStepsContent",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_renderStepsPanel",
              "privacy": "private",
              "parameters": [
                {
                  "name": "group",
                  "type": {
                    "text": "FlowGroup"
                  }
                },
                {
                  "name": "panelId",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "active",
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_renderInspector",
              "privacy": "private",
              "parameters": [
                {
                  "name": "node",
                  "type": {
                    "text": "FlowNodeInstance"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_updateBranch",
              "privacy": "private",
              "parameters": [
                {
                  "name": "node",
                  "type": {
                    "text": "FlowNodeInstance"
                  }
                },
                {
                  "name": "portId",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "patch",
                  "type": {
                    "text": "Partial<FlowPort>"
                  }
                }
              ],
              "description": "Replace one of the node's output ports (per-instance override), keeping its id."
            },
            {
              "kind": "method",
              "name": "_saveBranchConditions",
              "privacy": "private",
              "parameters": [
                {
                  "name": "node",
                  "type": {
                    "text": "FlowNodeInstance"
                  }
                },
                {
                  "name": "port",
                  "type": {
                    "text": "FlowPort"
                  }
                },
                {
                  "name": "conditions",
                  "type": {
                    "text": "FlowBranchConditions"
                  }
                }
              ],
              "description": "Persist the built-in conditions editor's draft onto the branch and close it. Undoable."
            },
            {
              "kind": "method",
              "name": "_renderBranchEditor",
              "privacy": "private",
              "parameters": [
                {
                  "name": "node",
                  "type": {
                    "text": "FlowNodeInstance"
                  }
                },
                {
                  "name": "port",
                  "type": {
                    "text": "FlowPort"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_renderRightPanel",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_renderHeader",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_renderSidebar",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_renderAutoSaveStatus",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_renderRestorePrompt",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_renderPicker",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_pickType",
              "privacy": "private",
              "parameters": [
                {
                  "name": "typeKey",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            }
          ],
          "events": [
            {
              "description": "Emitted whenever the flow state changes. `event.detail.state` is the new FlowState.",
              "name": "zn-flow-change"
            },
            {
              "description": "Emitted when the selected node changes. `event.detail.nodeId`.",
              "name": "zn-flow-selection-change"
            },
            {
              "description": "Emitted when a connection is created. `event.detail.connection`.",
              "name": "zn-flow-connect"
            }
          ],
          "attributes": [
            {
              "name": "heading",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "heading"
            },
            {
              "name": "subheading",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "subheading"
            },
            {
              "name": "auto-save",
              "type": {
                "text": "number | null"
              },
              "default": "null",
              "description": "Auto-save the flow to localStorage (1-day TTL). Omit to disable. A bare\n`auto-save` saves every 5 minutes; a numeric value sets the interval in\nminutes (`auto-save=\"5\"`). Restore with `restoreAutoSave()`.",
              "fieldName": "autoSave"
            },
            {
              "name": "entrypoints-hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Optional hint shown beneath each steps-panel tab.",
              "fieldName": "entrypointsHint"
            },
            {
              "name": "triggers-hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "triggersHint"
            },
            {
              "name": "actions-hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "actionsHint"
            },
            {
              "name": "rules-hint",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "rulesHint"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "A drag-and-drop visual flow builder: steps panel, pan/zoom canvas, and a config inspector.",
          "tagNameWithoutPrefix": "flow-builder",
          "tagName": "zn-flow-builder",
          "customElement": true,
          "jsDoc": "/**\n * @summary A drag-and-drop visual flow builder: steps panel, pan/zoom canvas, and a config inspector.\n * @documentation https://zinc.style/components/flow-builder\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-icon\n * @dependency zn-input\n * @dependency zn-tabs\n * @dependency zn-navbar\n * @dependency zn-flow-branch-conditions\n * @dependency zn-flow-canvas\n * @dependency zn-flow-node\n *\n * @event zn-flow-change - Emitted whenever the flow state changes. `event.detail.state` is the new FlowState.\n * @event zn-flow-selection-change - Emitted when the selected node changes. `event.detail.nodeId`.\n * @event zn-flow-connect - Emitted when a connection is created. `event.detail.connection`.\n *\n * @slot - `<zn-flow-step>` type declarations; never displayed, each `group`/`category` routes the\n *   step into the right tab and collapsible grouping of the rendered panel. A step may nest\n *   `<zn-flow-filter>` declarations (each holding `<zn-flow-filter-field>`s, whose operator /\n *   option choices are nested `<zn-flow-operator>` / `<zn-flow-option>` elements) — or set a\n *   `branch-filters` JSON attribute — to drive the built-in branch conditions editor.\n * @slot header-left - Actions shown on the left of the header bar (e.g. Close / Undo All Changes).\n * @slot header-right - Actions shown on the right of the header bar (e.g. Apply Changes).\n * @slot sidebar - Extra right-panel content (status, version history), below the configuration errors.\n *\n * @csspart base - The grid wrapper.\n * @csspart header - The full-width header action bar (only rendered when header slots are filled).\n * @csspart steps - The left steps panel.\n * @csspart inspector - The right panel while a node or branch is selected.\n */",
          "documentation": "https://zinc.style/components/flow-builder",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-icon",
            "zn-input",
            "zn-tabs",
            "zn-navbar",
            "zn-flow-branch-conditions",
            "zn-flow-canvas",
            "zn-flow-node"
          ]
        },
        {
          "kind": "variable",
          "name": "port"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnFlowBuilder",
            "module": "components/flow-builder/flow-builder.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/form-actions/form-actions.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnFormActions",
          "cssParts": [
            {
              "description": "The cancel button.",
              "name": "cancel-button"
            },
            {
              "description": "The reset button.",
              "name": "reset-button"
            },
            {
              "description": "The submit button.",
              "name": "submit-button"
            }
          ],
          "slots": [
            {
              "description": "Extra actions, placed before the buttons.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'zn-button': ZnButton }"
            },
            {
              "kind": "field",
              "name": "submitText",
              "type": {
                "text": "string"
              },
              "default": "'Save'",
              "description": "The submit button's text.",
              "attribute": "submit-text"
            },
            {
              "kind": "field",
              "name": "submitIcon",
              "type": {
                "text": "string"
              },
              "default": "'check@lu'",
              "description": "The submit button's icon.",
              "attribute": "submit-icon"
            },
            {
              "kind": "field",
              "name": "withCancel",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a cancel button. Closes the containing dialog or slideout, if any, and emits `zn-cancel`.",
              "attribute": "with-cancel"
            },
            {
              "kind": "field",
              "name": "cancelText",
              "type": {
                "text": "string"
              },
              "default": "'Cancel'",
              "description": "The cancel button's text.",
              "attribute": "cancel-text"
            },
            {
              "kind": "field",
              "name": "cancelIcon",
              "type": {
                "text": "string"
              },
              "default": "'x@lu'",
              "description": "The cancel button's icon.",
              "attribute": "cancel-icon"
            },
            {
              "kind": "field",
              "name": "withReset",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a reset button that resets the form.",
              "attribute": "with-reset"
            },
            {
              "kind": "field",
              "name": "resetText",
              "type": {
                "text": "string"
              },
              "default": "'Reset'",
              "description": "The reset button's text.",
              "attribute": "reset-text"
            },
            {
              "kind": "field",
              "name": "resetIcon",
              "type": {
                "text": "string"
              },
              "default": "'rotate-ccw@lu'",
              "description": "The reset button's icon.",
              "attribute": "reset-icon"
            },
            {
              "kind": "field",
              "name": "form",
              "type": {
                "text": "string"
              },
              "description": "The id of the form to act on. If omitted, the closest containing form is used.",
              "attribute": "form"
            },
            {
              "kind": "method",
              "name": "getForm",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "HTMLFormElement | null"
                }
              }
            },
            {
              "kind": "field",
              "name": "handleCancel",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleReset",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleSubmit",
              "privacy": "private"
            }
          ],
          "events": [
            {
              "description": "Emitted when the cancel button is clicked.",
              "name": "zn-cancel"
            }
          ],
          "attributes": [
            {
              "name": "submit-text",
              "type": {
                "text": "string"
              },
              "default": "'Save'",
              "description": "The submit button's text.",
              "fieldName": "submitText"
            },
            {
              "name": "submit-icon",
              "type": {
                "text": "string"
              },
              "default": "'check@lu'",
              "description": "The submit button's icon.",
              "fieldName": "submitIcon"
            },
            {
              "name": "with-cancel",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a cancel button. Closes the containing dialog or slideout, if any, and emits `zn-cancel`.",
              "fieldName": "withCancel"
            },
            {
              "name": "cancel-text",
              "type": {
                "text": "string"
              },
              "default": "'Cancel'",
              "description": "The cancel button's text.",
              "fieldName": "cancelText"
            },
            {
              "name": "cancel-icon",
              "type": {
                "text": "string"
              },
              "default": "'x@lu'",
              "description": "The cancel button's icon.",
              "fieldName": "cancelIcon"
            },
            {
              "name": "with-reset",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a reset button that resets the form.",
              "fieldName": "withReset"
            },
            {
              "name": "reset-text",
              "type": {
                "text": "string"
              },
              "default": "'Reset'",
              "description": "The reset button's text.",
              "fieldName": "resetText"
            },
            {
              "name": "reset-icon",
              "type": {
                "text": "string"
              },
              "default": "'rotate-ccw@lu'",
              "description": "The reset button's icon.",
              "fieldName": "resetIcon"
            },
            {
              "name": "form",
              "type": {
                "text": "string"
              },
              "description": "The id of the form to act on. If omitted, the closest containing form is used.",
              "fieldName": "form"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Standard action row for the bottom of a form. Renders a submit button by default; opt in to more\nwith `with-cancel` and `with-reset`.",
          "tagNameWithoutPrefix": "form-actions",
          "tagName": "zn-form-actions",
          "customElement": true,
          "jsDoc": "/**\n * @summary Standard action row for the bottom of a form. Renders a submit button by default; opt in to more\n * with `with-cancel` and `with-reset`.\n * @documentation https://zinc.style/components/form-actions\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-button\n *\n * @event zn-cancel - Emitted when the cancel button is clicked.\n *\n * @slot - Extra actions, placed before the buttons.\n *\n * @csspart cancel-button - The cancel button.\n * @csspart reset-button - The reset button.\n * @csspart submit-button - The submit button.\n */",
          "documentation": "https://zinc.style/components/form-actions",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-button"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnFormActions",
            "module": "components/form-actions/form-actions.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/form-group/form-group.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnFormGroup",
          "cssProperties": [
            {
              "description": "Offset the label column sticks at while the inputs scroll past.",
              "name": "--zn-form-group-sticky-top"
            }
          ],
          "cssParts": [
            {
              "description": "The column holding the label, help text and chip.",
              "name": "form-control-text"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "A chip displayed under the form group's help text.",
              "name": "chip"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'help-text', 'label', 'chip')"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form group's label. Required for proper accessibility. If you need to display HTML, use the `label` slot\ninstead.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "labelTooltip",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Text that appears in a tooltip next to the label. If you need to display HTML in the tooltip, use the\n`label-tooltip` slot instead.",
              "attribute": "label-tooltip"
            },
            {
              "kind": "field",
              "name": "helpText",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form groups help text. If you need to display HTML, use the `help-text` slot instead.",
              "attribute": "help-text"
            },
            {
              "kind": "field",
              "name": "forceCols",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "cols"
            },
            {
              "kind": "field",
              "name": "layout",
              "type": {
                "text": "string"
              },
              "default": "\"1,2\"",
              "attribute": "layout"
            },
            {
              "kind": "field",
              "name": "pad",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "pad"
            },
            {
              "kind": "field",
              "name": "tracked",
              "type": {
                "text": "HTMLElement | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The scroller the label is tracked against by hand; null while native sticky is enough."
            },
            {
              "kind": "field",
              "name": "frame",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "rebind",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "offset",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "resizeObserver",
              "type": {
                "text": "ResizeObserver | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "labelColumn",
              "type": {
                "text": "HTMLElement | null"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "schedule",
              "privacy": "private",
              "parameters": [
                {
                  "name": "rebind",
                  "default": "false",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "description": "Coalesces scroll and resize work into one frame, and out of the ResizeObserver callback."
            },
            {
              "kind": "method",
              "name": "findScroller",
              "privacy": "private",
              "description": "Native sticky only follows the nearest scroll container. Where that container isn't the one\nthe user actually scrolls — a `zn-panel` body sized to its content inside a scrolling\nslideout, say — the label never moves, so it gets translated by hand instead."
            },
            {
              "kind": "method",
              "name": "trackScroller",
              "privacy": "private",
              "parameters": [
                {
                  "name": "scroller",
                  "type": {
                    "text": "HTMLElement | null"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "scrollTarget",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "EventTarget | null"
                }
              },
              "parameters": [
                {
                  "name": "scroller",
                  "type": {
                    "text": "HTMLElement | null"
                  }
                }
              ],
              "description": "The document scrolls through the window, every other scroller reports its own events."
            },
            {
              "kind": "field",
              "name": "onScroll",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "onViewportResize",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "positionLabel",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "nearestScrollContainer",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "HTMLElement | null"
                }
              },
              "parameters": [
                {
                  "name": "from",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ],
              "description": "The box native sticky would anchor to, whether or not it can be scrolled."
            },
            {
              "kind": "method",
              "name": "scrollingAncestor",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "HTMLElement | null"
                }
              },
              "parameters": [
                {
                  "name": "from",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ],
              "description": "The nearest ancestor the user can actually scroll, falling back to the document."
            },
            {
              "kind": "method",
              "name": "isScrollContainer",
              "privacy": "private",
              "parameters": [
                {
                  "name": "overflow",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "ancestors",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "HTMLElement[]"
                }
              },
              "parameters": [
                {
                  "name": "from",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ],
              "description": "Walks the flattened tree, so slots and shadow boundaries are crossed the way layout does."
            }
          ],
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form group's label. Required for proper accessibility. If you need to display HTML, use the `label` slot\ninstead.",
              "fieldName": "label"
            },
            {
              "name": "label-tooltip",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Text that appears in a tooltip next to the label. If you need to display HTML in the tooltip, use the\n`label-tooltip` slot instead.",
              "fieldName": "labelTooltip"
            },
            {
              "name": "help-text",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The form groups help text. If you need to display HTML, use the `help-text` slot instead.",
              "fieldName": "helpText"
            },
            {
              "name": "cols",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "forceCols"
            },
            {
              "name": "layout",
              "type": {
                "text": "string"
              },
              "default": "\"1,2\"",
              "fieldName": "layout"
            },
            {
              "name": "pad",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "pad"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "form-group",
          "tagName": "zn-form-group",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/form-group\n * @status experimental\n * @since 1.0\n *\n * @slot - The default slot.\n * @slot chip - A chip displayed under the form group's help text.\n *\n * @csspart form-control-text - The column holding the label, help text and chip.\n *\n * @cssproperty --zn-form-group-sticky-top - Offset the label column sticks at while the inputs scroll past.\n *\n */",
          "documentation": "https://zinc.style/components/form-group",
          "status": "experimental",
          "since": "1.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnFormGroup",
            "module": "components/form-group/form-group.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/header/header.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnHeader",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The container that wraps the actions slot.",
              "name": "header-right"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, '[default]', 'nav', 'breadcrumb')"
            },
            {
              "kind": "field",
              "name": "fullLocation",
              "type": {
                "text": "string"
              },
              "attribute": "full-location"
            },
            {
              "kind": "field",
              "name": "entityId",
              "type": {
                "text": "string"
              },
              "attribute": "entity-id"
            },
            {
              "kind": "field",
              "name": "entityIdShow",
              "type": {
                "text": "boolean"
              },
              "attribute": "entity-id-show"
            },
            {
              "kind": "field",
              "name": "transparent",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "transparent"
            },
            {
              "kind": "field",
              "name": "caption",
              "type": {
                "text": "string"
              },
              "attribute": "caption"
            },
            {
              "kind": "field",
              "name": "icon",
              "type": {
                "text": "string"
              },
              "attribute": "icon"
            },
            {
              "kind": "field",
              "name": "navigation",
              "type": {
                "text": "array"
              },
              "default": "[]",
              "attribute": "navigation"
            },
            {
              "kind": "field",
              "name": "fullWidth",
              "type": {
                "text": "boolean"
              },
              "attribute": "full-width"
            },
            {
              "kind": "field",
              "name": "previousPath",
              "type": {
                "text": "string"
              },
              "attribute": "previous-path"
            },
            {
              "kind": "field",
              "name": "previousTarget",
              "type": {
                "text": "string"
              },
              "attribute": "previous-target"
            },
            {
              "kind": "field",
              "name": "hideBreadcrumb",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "hide-breadcrumb"
            },
            {
              "kind": "field",
              "name": "navbar",
              "type": {
                "text": "ZnNavbar"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleAltPress"
            },
            {
              "kind": "field",
              "name": "handleAltUp"
            },
            {
              "kind": "method",
              "name": "updateNav"
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "attributes": [
            {
              "name": "full-location",
              "type": {
                "text": "string"
              },
              "fieldName": "fullLocation"
            },
            {
              "name": "entity-id",
              "type": {
                "text": "string"
              },
              "fieldName": "entityId"
            },
            {
              "name": "entity-id-show",
              "type": {
                "text": "boolean"
              },
              "fieldName": "entityIdShow"
            },
            {
              "name": "transparent",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "transparent"
            },
            {
              "name": "caption",
              "type": {
                "text": "string"
              },
              "fieldName": "caption"
            },
            {
              "name": "icon",
              "type": {
                "text": "string"
              },
              "fieldName": "icon"
            },
            {
              "name": "navigation",
              "type": {
                "text": "array"
              },
              "default": "[]",
              "fieldName": "navigation"
            },
            {
              "name": "full-width",
              "type": {
                "text": "boolean"
              },
              "fieldName": "fullWidth"
            },
            {
              "name": "previous-path",
              "type": {
                "text": "string"
              },
              "fieldName": "previousPath"
            },
            {
              "name": "previous-target",
              "type": {
                "text": "string"
              },
              "fieldName": "previousTarget"
            },
            {
              "name": "hide-breadcrumb",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "hideBreadcrumb"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "header",
          "tagName": "zn-header",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/header\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n * @csspart header-right - The container that wraps the actions slot.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/header",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnHeader",
            "module": "components/header/header.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/hover-container/hover-container.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnHoverContainer",
          "slots": [
            {
              "description": "The content of the hover-container",
              "name": ""
            },
            {
              "description": "The anchor the hover-container is attached to.",
              "name": "anchor"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "hoverTimeout",
              "type": {
                "text": "number"
              },
              "privacy": "private"
            },
            {
              "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": "Popup"
              }
            },
            {
              "kind": "field",
              "name": "content",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "content"
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "| 'top' | 'top-start' | 'top-end' | 'right' | 'right-start' | 'right-end' | 'bottom' |\n    'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end'"
              },
              "default": "'top'",
              "attribute": "placement"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "distance",
              "type": {
                "text": "number"
              },
              "default": "4",
              "attribute": "distance"
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "skidding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "attribute": "skidding"
            },
            {
              "kind": "field",
              "name": "trigger",
              "type": {
                "text": "string"
              },
              "default": "'hover focus'",
              "attribute": "trigger"
            },
            {
              "kind": "field",
              "name": "hoist",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "attribute": "hoist"
            },
            {
              "kind": "method",
              "name": "hasTrigger",
              "privacy": "private",
              "parameters": [
                {
                  "name": "triggerType",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "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": "method",
              "name": "handleMouseOver",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleMouseOut",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleOpenChange"
            },
            {
              "kind": "method",
              "name": "handleOptionsChange"
            },
            {
              "kind": "method",
              "name": "handleDisabledChange"
            },
            {
              "kind": "method",
              "name": "show"
            },
            {
              "kind": "method",
              "name": "hide"
            }
          ],
          "events": [
            {
              "description": "Emitted when the hover-container is shown.",
              "name": "zn-show"
            },
            {
              "description": "Emitted after the hover-container is shown.",
              "name": "zn-after-show"
            },
            {
              "description": "Emitted when the hover-container is hidden.",
              "name": "zn-hide"
            },
            {
              "description": "Emitted after the hover-container is hidden.",
              "name": "zn-after-hide"
            }
          ],
          "attributes": [
            {
              "name": "content",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "content"
            },
            {
              "name": "placement",
              "type": {
                "text": "| 'top' | 'top-start' | 'top-end' | 'right' | 'right-start' | 'right-end' | 'bottom' |\n    'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end'"
              },
              "default": "'top'",
              "fieldName": "placement"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "disabled"
            },
            {
              "name": "distance",
              "type": {
                "text": "number"
              },
              "default": "4",
              "fieldName": "distance"
            },
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "open"
            },
            {
              "name": "skidding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "fieldName": "skidding"
            },
            {
              "name": "trigger",
              "type": {
                "text": "string"
              },
              "default": "'hover focus'",
              "fieldName": "trigger"
            },
            {
              "name": "hoist",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "fieldName": "hoist"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "The HoverContainer component is used to display additional information when a user hovers over or clicks\non an element.",
          "tagNameWithoutPrefix": "hover-container",
          "tagName": "zn-hover-container",
          "customElement": true,
          "jsDoc": "/**\n * @summary The HoverContainer component is used to display additional information when a user hovers over or clicks\n * on an element.\n *\n * @documentation https://zinc.style/components/hover-container\n * @status experimental\n * @since 1.0\n *\n * @event zn-show - Emitted when the hover-container is shown.\n * @event zn-after-show - Emitted after the hover-container is shown.\n * @event zn-hide - Emitted when the hover-container is hidden.\n * @event zn-after-hide - Emitted after the hover-container is hidden.\n *\n * @slot - The content of the hover-container\n * @slot anchor - The anchor the hover-container is attached to.\n */",
          "documentation": "https://zinc.style/components/hover-container",
          "status": "experimental",
          "since": "1.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnHoverContainer",
            "module": "components/hover-container/hover-container.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/icon/icon.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnIcon",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "src",
              "type": {
                "text": "string"
              },
              "attribute": "src",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "alt",
              "type": {
                "text": "string"
              },
              "attribute": "alt",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "number"
              },
              "default": "24",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "round",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "round",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "tile",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "tile",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "depth",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "depth",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "library",
              "type": {
                "text": "IconLibrary"
              },
              "attribute": "library",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "color",
              "type": {
                "text": "IconColor"
              },
              "attribute": "color",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "fill",
              "type": {
                "text": "IconColor"
              },
              "attribute": "fill",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "padded",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "padded"
            },
            {
              "kind": "field",
              "name": "blink",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "blink"
            },
            {
              "kind": "field",
              "name": "squared",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "squared"
            },
            {
              "kind": "field",
              "name": "presetColors",
              "privacy": "private",
              "static": true,
              "readonly": true,
              "default": "new Set([ 'default', 'primary', 'accent', 'info', 'warning', 'error', 'success', 'white', 'disabled', 'red', 'blue', 'green', 'orange', 'yellow', 'indigo', 'violet', 'pink', 'grey', ])"
            },
            {
              "kind": "method",
              "name": "isPresetColor",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "color",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "gravatarOptions",
              "type": {
                "text": "string"
              },
              "default": "\"\""
            },
            {
              "kind": "field",
              "name": "defaultLibrary",
              "type": {
                "text": "IconLibrary"
              },
              "default": "\"material-symbols-outlined\""
            },
            {
              "kind": "field",
              "name": "libraryAutoSet",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "method",
              "name": "convertToLibrary",
              "return": {
                "type": {
                  "text": "IconLibrary"
                }
              },
              "parameters": [
                {
                  "name": "input",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "convertIndicatorToLibrary",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "IconLibrary | undefined"
                }
              },
              "parameters": [
                {
                  "name": "input",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getUpdateComplete",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "Promise<boolean>"
                }
              }
            },
            {
              "kind": "method",
              "name": "parseSrc",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "applyHashFragment",
              "privacy": "private",
              "parameters": [
                {
                  "name": "hashFragment",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "normalizeRavatarEmail",
              "privacy": "private",
              "parameters": [
                {
                  "name": "email",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getAvatarInitials",
              "privacy": "private",
              "parameters": [
                {
                  "name": "avatar",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "renderLucideIcon",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getLucideIcon",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "IconNode | undefined"
                }
              },
              "parameters": [
                {
                  "name": "src",
                  "default": "''"
                }
              ]
            },
            {
              "kind": "method",
              "name": "toPascalCase",
              "privacy": "private",
              "parameters": [
                {
                  "name": "input",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getLucideSvg",
              "privacy": "private",
              "parameters": [
                {
                  "name": "icon",
                  "type": {
                    "text": "IconNode"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getSvgAttributes",
              "privacy": "private",
              "parameters": [
                {
                  "name": "attrs",
                  "type": {
                    "text": "SVGProps"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "escapeSvgAttribute",
              "privacy": "private",
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getColorForAvatar",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "avatarInitials",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "attributes": [
            {
              "name": "src",
              "type": {
                "text": "string"
              },
              "fieldName": "src"
            },
            {
              "name": "alt",
              "type": {
                "text": "string"
              },
              "fieldName": "alt"
            },
            {
              "name": "size",
              "type": {
                "text": "number"
              },
              "default": "24",
              "fieldName": "size"
            },
            {
              "name": "round",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "round"
            },
            {
              "name": "tile",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "tile"
            },
            {
              "name": "depth",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "depth"
            },
            {
              "name": "library",
              "type": {
                "text": "IconLibrary"
              },
              "fieldName": "library"
            },
            {
              "name": "color",
              "type": {
                "text": "IconColor"
              },
              "fieldName": "color"
            },
            {
              "name": "fill",
              "type": {
                "text": "IconColor"
              },
              "fieldName": "fill"
            },
            {
              "name": "padded",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "padded"
            },
            {
              "name": "blink",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "blink"
            },
            {
              "name": "squared",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "squared"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "icon",
          "tagName": "zn-icon",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/icon\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/icon",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnIcon",
            "module": "components/icon/icon.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/icon-picker/icon-picker.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnIconPicker",
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'zn-icon': ZnIcon, 'zn-button': ZnButton, 'zn-dialog': ZnDialog, 'zn-input': ZnInput, 'zn-select': ZnSelect, 'zn-option': ZnOption }"
            },
            {
              "kind": "field",
              "name": "formControlController",
              "privacy": "private",
              "readonly": true,
              "default": "new FormControlController(this, { assumeInteractionOn: ['zn-change'], // With allow-upload, a chosen file is submitted under `name` in place of // the icon string — the two are mutually exclusive. value: (el: ZnIconPicker) => el._file ?? el.icon, setValue: (el: ZnIconPicker, value: string) => { el.clearFile(); el.icon = value ?? ''; } })"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "icon",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "icon"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "library",
              "type": {
                "text": "string"
              },
              "default": "'material-symbols-outlined'",
              "attribute": "library"
            },
            {
              "kind": "field",
              "name": "color",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "color"
            },
            {
              "kind": "field",
              "name": "noColor",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "no-color"
            },
            {
              "kind": "field",
              "name": "noLibrary",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "no-library"
            },
            {
              "kind": "field",
              "name": "helpText",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "help-text"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "required",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "triggerSubmit",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "trigger-submit"
            },
            {
              "kind": "field",
              "name": "allowUpload",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "allow-upload"
            },
            {
              "kind": "field",
              "name": "accept",
              "type": {
                "text": "string"
              },
              "default": "'image/*'",
              "attribute": "accept"
            },
            {
              "kind": "field",
              "name": "form",
              "type": {
                "text": "string"
              },
              "attribute": "form",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "string"
              },
              "default": "''"
            },
            {
              "kind": "field",
              "name": "_dialogOpen",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "_searchQuery",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "_iconList",
              "type": {
                "text": "string[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "_filteredIcons",
              "type": {
                "text": "string[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "_pendingIcon",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "_pendingLibrary",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "_pendingColor",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "_pendingFile",
              "type": {
                "text": "File | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "_pendingFileUrl",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "_mode",
              "type": {
                "text": "'icon' | 'upload'"
              },
              "privacy": "private",
              "default": "'icon'"
            },
            {
              "kind": "field",
              "name": "_file",
              "type": {
                "text": "File | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "_fileUrl",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "_dialog",
              "type": {
                "text": "ZnDialog"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_fileInput",
              "type": {
                "text": "HTMLInputElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              }
            },
            {
              "kind": "field",
              "name": "file",
              "type": {
                "text": "File | null"
              },
              "description": "The chosen file when the user uploaded an image instead of picking an icon.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "isImageValue",
              "type": {
                "text": "boolean"
              },
              "description": "True when the current value renders as an image (an uploaded file or a URL) rather than a library icon.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validity",
              "type": {
                "text": "ValidityState"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "type": {
                "text": "string"
              },
              "readonly": true
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "getForm",
              "return": {
                "type": {
                  "text": "HTMLFormElement | null"
                }
              }
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "parameters": [
                {
                  "name": "_message",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "freeInputLibraries",
              "privacy": "private",
              "static": true,
              "readonly": true,
              "default": "new Set(['gravatar', 'libravatar', 'avatar'])"
            },
            {
              "kind": "method",
              "name": "isFreeInputLibrary",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "library",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getIconsForLibrary",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<string[]>"
                }
              },
              "parameters": [
                {
                  "name": "library",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "openDialog",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "closeDialog",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleConfirm",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleCancel",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleFileSelect",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "discardPendingFile",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "clearFile",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "syncHiddenInputs",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleSearchInput",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "filterIcons",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleIconSelect",
              "privacy": "private",
              "parameters": [
                {
                  "name": "iconName",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleLibraryChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleColorInput",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleFreeInput",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleClear",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleTriggerClick",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_handleTriggerKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            }
          ],
          "attributes": [
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "name"
            },
            {
              "name": "icon",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "icon"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "label"
            },
            {
              "name": "library",
              "type": {
                "text": "string"
              },
              "default": "'material-symbols-outlined'",
              "fieldName": "library"
            },
            {
              "name": "color",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "color"
            },
            {
              "name": "no-color",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "noColor"
            },
            {
              "name": "no-library",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "noLibrary"
            },
            {
              "name": "help-text",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "helpText"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "disabled"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "required"
            },
            {
              "name": "trigger-submit",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "triggerSubmit"
            },
            {
              "name": "allow-upload",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "allowUpload"
            },
            {
              "name": "accept",
              "type": {
                "text": "string"
              },
              "default": "'image/*'",
              "fieldName": "accept"
            },
            {
              "name": "form",
              "type": {
                "text": "string"
              },
              "fieldName": "form"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "tagNameWithoutPrefix": "icon-picker",
          "tagName": "zn-icon-picker",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnIconPicker",
            "module": "components/icon-picker/icon-picker.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/inline-edit/inline-edit.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnInlineEdit",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "Default slot. When `input-type` is `select`, accepts `zn-option` elements to define select options. If provided, takes precedence over the `options` property.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            },
            {
              "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, { defaultValue: (control: ZnInlineEdit) => control.defaultValue, value: (control: ZnInlineEdit) => { if (control.multiple) { const val = typeof control.value === 'string' ? control.value.split(' ').filter(v => v !== '') : control.value; return val.length > 0 ? val : ''; } return control.value; }, })"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'help-text', '[default]')"
            },
            {
              "kind": "field",
              "name": "conditionalController",
              "privacy": "private",
              "readonly": true,
              "default": "new ConditionalController(this)"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string | string[]"
              },
              "default": "''",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "attribute": "placeholder",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "editText",
              "type": {
                "text": "string"
              },
              "attribute": "edit-text"
            },
            {
              "kind": "field",
              "name": "displayValue",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A masked value (e.g. `j***@example.com`) shown in place of the input when not editing. Hovering reveals the\nreal value via an embedded `zn-reveal`. The real `value` is still what gets edited and submitted.",
              "attribute": "display-value"
            },
            {
              "kind": "field",
              "name": "clearOnEdit",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, the edit input starts empty instead of pre-filled with the current value. Cancelling restores the\noriginal value. Useful with `display-value` when the real value shouldn't be pre-filled into the input.",
              "attribute": "clear-on-edit"
            },
            {
              "kind": "field",
              "name": "conditional",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "conditional"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "attribute": "disabled"
            },
            {
              "kind": "field",
              "name": "inline",
              "type": {
                "text": "boolean"
              },
              "attribute": "inline"
            },
            {
              "kind": "field",
              "name": "padded",
              "type": {
                "text": "boolean"
              },
              "attribute": "padded"
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "attribute": "required"
            },
            {
              "kind": "field",
              "name": "pattern",
              "type": {
                "text": "string"
              },
              "attribute": "pattern"
            },
            {
              "kind": "field",
              "name": "multiple",
              "type": {
                "text": "boolean"
              },
              "attribute": "multiple",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "clearable",
              "type": {
                "text": "boolean"
              },
              "attribute": "clearable"
            },
            {
              "kind": "field",
              "name": "min",
              "type": {
                "text": "string | number"
              },
              "attribute": "min"
            },
            {
              "kind": "field",
              "name": "max",
              "type": {
                "text": "string | number"
              },
              "attribute": "max"
            },
            {
              "kind": "field",
              "name": "step",
              "type": {
                "text": "number | 'any'"
              },
              "attribute": "step"
            },
            {
              "kind": "field",
              "name": "inputType",
              "type": {
                "text": "'select' | 'text' | 'data-select' | 'number' | 'textarea'"
              },
              "default": "'text'",
              "attribute": "input-type"
            },
            {
              "kind": "field",
              "name": "textareaRows",
              "type": {
                "text": "1"
              },
              "attribute": "textarea-rows"
            },
            {
              "kind": "field",
              "name": "slashItems",
              "type": {
                "text": "SlashMenuItem[]"
              },
              "default": "[]",
              "description": "Quick insertions offered by the slash menu of a `text` or `textarea` input. Accepts a JSON array of items, or\nthe shorthand `Brand name={{BRAND_NAME}}, Support email={{SUPPORT_EMAIL}}`.",
              "attribute": "slash-items"
            },
            {
              "kind": "field",
              "name": "slashPreset",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Names of item sets registered with `registerSlashMenuPreset`, comma separated.",
              "attribute": "slash-preset"
            },
            {
              "kind": "field",
              "name": "slashTrigger",
              "type": {
                "text": "string"
              },
              "default": "'/'",
              "description": "The characters that open the slash menu.",
              "attribute": "slash-trigger"
            },
            {
              "kind": "field",
              "name": "slashHeading",
              "type": {
                "text": "string"
              },
              "default": "'Insert'",
              "description": "The name the slash menu's list is announced by.",
              "attribute": "slash-heading"
            },
            {
              "kind": "field",
              "name": "slashHideKeys",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the insertion keys normally shown against the slash menu's items.",
              "attribute": "slash-hide-keys"
            },
            {
              "kind": "field",
              "name": "slashRecentKey",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Lists the slash menu items most recently chosen here above the rest, remembered under this key.",
              "attribute": "slash-recent-key"
            },
            {
              "kind": "field",
              "name": "slashItemsProvider",
              "type": {
                "text": "(query: string) => SlashMenuItem[] | Promise<SlashMenuItem[]> | undefined"
              },
              "description": "Resolves additional slash menu items each time the menu opens. JavaScript only."
            },
            {
              "kind": "field",
              "name": "options",
              "type": {
                "text": "{ [key: string]: string }"
              },
              "default": "{}",
              "attribute": "options"
            },
            {
              "kind": "field",
              "name": "selectProvider",
              "type": {
                "text": "string"
              },
              "attribute": "provider"
            },
            {
              "kind": "field",
              "name": "iconPosition",
              "type": {
                "text": "'start' | 'end' | 'none'"
              },
              "default": "'none'",
              "attribute": "icon-position"
            },
            {
              "kind": "field",
              "name": "dataUri",
              "type": {
                "text": "string"
              },
              "description": "The URL to fetch options from. When set , the component fetches JSON from this URL and renders the results as\noptions. The expected format is an array of objects with `key` and `value` properties:\n`[{\"key\": \"us\", \"value\": \"United States\"}, ...]`\nWhen not set, the component works exactly as before using slotted `<zn-option>` elements.\nOnly works with type select.",
              "attribute": "data-uri"
            },
            {
              "kind": "field",
              "name": "contextData",
              "type": {
                "text": "string"
              },
              "description": "Context data to send as a header when fetching options from the URL specified by the `src` property.",
              "attribute": "context-data"
            },
            {
              "kind": "field",
              "name": "search",
              "type": {
                "text": "boolean"
              },
              "description": "Enables search/filtering on select inputs.",
              "attribute": "search"
            },
            {
              "kind": "field",
              "name": "freeText",
              "type": {
                "text": "boolean"
              },
              "description": "Allows entering values that aren't in the options list on select inputs (\"free text\"). Setting this implies\n`input-type=\"select\"` (unless a data `provider` is used) and forwards the behavior to the inner `<zn-select>`.",
              "attribute": "free-text"
            },
            {
              "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": "dir",
              "type": {
                "text": "'ltr' | 'rtl' | 'auto'"
              },
              "default": "'auto'",
              "description": "The text direction for the input (ltr or rtl) *",
              "attribute": "dir"
            },
            {
              "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": "hasFocus",
              "type": {
                "text": "boolean"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "isEditing",
              "type": {
                "text": "boolean"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_valueBeforeEdit",
              "type": {
                "text": "string | string[]"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_editStartValue",
              "type": {
                "text": "string | string[]"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "ZnInput | ZnSelect"
              }
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "string | string[]"
              }
            },
            {
              "kind": "field",
              "name": "validity",
              "type": {
                "text": "ValidityState"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "type": {
                "text": "string"
              },
              "readonly": true
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "getForm",
              "return": {
                "type": {
                  "text": "HTMLFormElement | null"
                }
              }
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleValueChange"
            },
            {
              "kind": "method",
              "name": "handleIsEditingChange"
            },
            {
              "kind": "field",
              "name": "mouseEventHandler"
            },
            {
              "kind": "field",
              "name": "escKeyHandler"
            },
            {
              "kind": "field",
              "name": "submitKeyHandler"
            },
            {
              "kind": "field",
              "name": "captureMouseDown"
            },
            {
              "kind": "field",
              "name": "captureKeyDown"
            },
            {
              "kind": "field",
              "name": "handleEditClick"
            },
            {
              "kind": "field",
              "name": "handleSubmitClick"
            },
            {
              "kind": "field",
              "name": "handleCancelClick"
            },
            {
              "kind": "field",
              "name": "handleBlur"
            },
            {
              "kind": "field",
              "name": "handleInput"
            },
            {
              "kind": "method",
              "name": "moveSlottedOptionsToSelect",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleSlotChange"
            },
            {
              "kind": "method",
              "name": "_getTextAreaInput",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "HTMLTemplateResult"
                }
              }
            },
            {
              "kind": "method",
              "name": "_getTextInput",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "HTMLTemplateResult"
                }
              }
            },
            {
              "kind": "method",
              "name": "_getNumberInput",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "HTMLTemplateResult"
                }
              }
            },
            {
              "kind": "method",
              "name": "_getSelectInput",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "HTMLTemplateResult"
                }
              }
            },
            {
              "kind": "method",
              "name": "_getDataSelectInput",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "HTMLTemplateResult"
                }
              }
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "string | string[]"
              },
              "default": "''",
              "fieldName": "value"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "fieldName": "name"
            },
            {
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "fieldName": "placeholder"
            },
            {
              "name": "edit-text",
              "type": {
                "text": "string"
              },
              "fieldName": "editText"
            },
            {
              "name": "display-value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A masked value (e.g. `j***@example.com`) shown in place of the input when not editing. Hovering reveals the\nreal value via an embedded `zn-reveal`. The real `value` is still what gets edited and submitted.",
              "fieldName": "displayValue"
            },
            {
              "name": "clear-on-edit",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set, the edit input starts empty instead of pre-filled with the current value. Cancelling restores the\noriginal value. Useful with `display-value` when the real value shouldn't be pre-filled into the input.",
              "fieldName": "clearOnEdit"
            },
            {
              "name": "conditional",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "conditional"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "fieldName": "disabled"
            },
            {
              "name": "inline",
              "type": {
                "text": "boolean"
              },
              "fieldName": "inline"
            },
            {
              "name": "padded",
              "type": {
                "text": "boolean"
              },
              "fieldName": "padded"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "fieldName": "size"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "fieldName": "required"
            },
            {
              "name": "pattern",
              "type": {
                "text": "string"
              },
              "fieldName": "pattern"
            },
            {
              "name": "multiple",
              "type": {
                "text": "boolean"
              },
              "fieldName": "multiple"
            },
            {
              "name": "clearable",
              "type": {
                "text": "boolean"
              },
              "fieldName": "clearable"
            },
            {
              "name": "min",
              "type": {
                "text": "string | number"
              },
              "fieldName": "min"
            },
            {
              "name": "max",
              "type": {
                "text": "string | number"
              },
              "fieldName": "max"
            },
            {
              "name": "step",
              "type": {
                "text": "number | 'any'"
              },
              "fieldName": "step"
            },
            {
              "name": "input-type",
              "type": {
                "text": "'select' | 'text' | 'data-select' | 'number' | 'textarea'"
              },
              "default": "'text'",
              "fieldName": "inputType"
            },
            {
              "name": "textarea-rows",
              "type": {
                "text": "1"
              },
              "fieldName": "textareaRows"
            },
            {
              "name": "slash-items",
              "type": {
                "text": "SlashMenuItem[]"
              },
              "default": "[]",
              "description": "Quick insertions offered by the slash menu of a `text` or `textarea` input. Accepts a JSON array of items, or\nthe shorthand `Brand name={{BRAND_NAME}}, Support email={{SUPPORT_EMAIL}}`.",
              "fieldName": "slashItems"
            },
            {
              "name": "slash-preset",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Names of item sets registered with `registerSlashMenuPreset`, comma separated.",
              "fieldName": "slashPreset"
            },
            {
              "name": "slash-trigger",
              "type": {
                "text": "string"
              },
              "default": "'/'",
              "description": "The characters that open the slash menu.",
              "fieldName": "slashTrigger"
            },
            {
              "name": "slash-heading",
              "type": {
                "text": "string"
              },
              "default": "'Insert'",
              "description": "The name the slash menu's list is announced by.",
              "fieldName": "slashHeading"
            },
            {
              "name": "slash-hide-keys",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the insertion keys normally shown against the slash menu's items.",
              "fieldName": "slashHideKeys"
            },
            {
              "name": "slash-recent-key",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Lists the slash menu items most recently chosen here above the rest, remembered under this key.",
              "fieldName": "slashRecentKey"
            },
            {
              "name": "options",
              "type": {
                "text": "{ [key: string]: string }"
              },
              "default": "{}",
              "fieldName": "options"
            },
            {
              "name": "provider",
              "type": {
                "text": "string"
              },
              "fieldName": "selectProvider"
            },
            {
              "name": "icon-position",
              "type": {
                "text": "'start' | 'end' | 'none'"
              },
              "default": "'none'",
              "fieldName": "iconPosition"
            },
            {
              "name": "data-uri",
              "type": {
                "text": "string"
              },
              "description": "The URL to fetch options from. When set , the component fetches JSON from this URL and renders the results as\noptions. The expected format is an array of objects with `key` and `value` properties:\n`[{\"key\": \"us\", \"value\": \"United States\"}, ...]`\nWhen not set, the component works exactly as before using slotted `<zn-option>` elements.\nOnly works with type select.",
              "fieldName": "dataUri"
            },
            {
              "name": "context-data",
              "type": {
                "text": "string"
              },
              "description": "Context data to send as a header when fetching options from the URL specified by the `src` property.",
              "fieldName": "contextData"
            },
            {
              "name": "search",
              "type": {
                "text": "boolean"
              },
              "description": "Enables search/filtering on select inputs.",
              "fieldName": "search"
            },
            {
              "name": "free-text",
              "type": {
                "text": "boolean"
              },
              "description": "Allows entering values that aren't in the options list on select inputs (\"free text\"). Setting this implies\n`input-type=\"select\"` (unless a data `provider` is used) and forwards the behavior to the inner `<zn-select>`.",
              "fieldName": "freeText"
            },
            {
              "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": "dir",
              "type": {
                "text": "'ltr' | 'rtl' | 'auto'"
              },
              "default": "'auto'",
              "description": "The text direction for the input (ltr or rtl) *",
              "fieldName": "dir"
            },
            {
              "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"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "inline-edit",
          "tagName": "zn-inline-edit",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/inline-edit\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - Default slot. When `input-type` is `select`, accepts `zn-option` elements to define select options. If provided, takes precedence over the `options` property.\n * @slot example - An example slot.\n * @slot help-text - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/inline-edit",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnInlineEdit",
            "module": "components/inline-edit/inline-edit.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/input/input.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnInput",
          "cssProperties": [
            {
              "description": "The height of a range input's track.",
              "name": "--zn-range-track-height"
            },
            {
              "description": "The color of a range input's track.",
              "name": "--zn-range-track-color"
            },
            {
              "description": "The diameter of a range input's thumb.",
              "name": "--zn-range-thumb-size"
            },
            {
              "description": "The color of a range input's thumb.",
              "name": "--zn-range-thumb-color"
            },
            {
              "description": "The width of the ring drawn around a range input's thumb.",
              "name": "--zn-range-thumb-ring-width"
            }
          ],
          "cssParts": [
            {
              "description": "The form control that wraps the label, input, and help text.",
              "name": "form-control"
            },
            {
              "description": "The slash menu shown at the caret.",
              "name": "slash-menu"
            },
            {
              "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"
            }
          ],
          "slots": [
            {
              "description": "The input's label. Alternatively, you can use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "Used to add text that is displayed in a tooltip next to the label. Alternatively, you can use the `label-tooltip` attribute.",
              "name": "label-tooltip"
            },
            {
              "description": "Used to add contextual text that is displayed above the input, on the right. Alternatively, you can use the `context-note` attribute. Range inputs display their live value here unless this is set.",
              "name": "context-note"
            },
            {
              "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": "`<zn-slash-item>` elements describing the insertions offered by the slash menu. Items are picked up wherever they sit inside the input, so this slot name is optional.",
              "name": "slash-items"
            },
            {
              "description": "A `<zn-slash-menu>` to use instead of the built-in one, so its heading, sizing and styling can be set in markup. Any `<zn-slash-item>` children of it become the menu's items.",
              "name": "slash-menu"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'zn-icon': ZnIcon, 'zn-slash-item': ZnSlashItem, 'zn-slash-menu': ZnSlashMenu, 'zn-tooltip': ZnTooltip }"
            },
            {
              "kind": "field",
              "name": "formControlController",
              "privacy": "private",
              "readonly": true,
              "default": "new FormControlController(this, { assumeInteractionOn: ['zn-blur', 'zn-input'] })"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'help-text', 'label', 'label-tooltip')"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "slashController",
              "privacy": "private",
              "readonly": true,
              "default": "new SlashMenuController(this, { menu: () => this.mountSlashMenu(), items: search => this.resolveSlashItems(search), trigger: () => this.slashTrigger, onSelect: (item, search) => !this.emit('zn-slash-select', { detail: {item, query: search} }).defaultPrevented, onInsert: (item, value) => this.emit('zn-slash-insert', {detail: {item, value}}) })"
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "HTMLInputElement"
              }
            },
            {
              "kind": "field",
              "name": "colorPicker",
              "type": {
                "text": "HTMLInputElement"
              }
            },
            {
              "kind": "field",
              "name": "slashMenuElement",
              "type": {
                "text": "ZnSlashMenu | null"
              }
            },
            {
              "kind": "field",
              "name": "hasFocus",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "hasSlashMenu",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Renders the slash menu only once it has been needed, keeping unused inputs cheap."
            },
            {
              "kind": "field",
              "name": "isUserTyping",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "attribute": "title"
            },
            {
              "kind": "field",
              "name": "__numberInput",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "__dateInput",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "type",
              "type": {
                "text": "'color' | 'currency' | 'date' | 'datetime-local' | 'email' | 'number' | 'password' |\n    'range' | 'search' | 'tel' | 'text' | 'time' | 'url'"
              },
              "default": "'text'",
              "description": "The type of input. Works the same as native `<input>` element. But only a subset of types is 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": "any"
              },
              "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": "'x-small' | 'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The inputs size *",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-styled input *",
              "attribute": "pill",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The inputs label. If you need to display HTML, use the `label` slot. *",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "labelTooltip",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Text that appears in a tooltip next to the label. If you need to display HTML in the tooltip, use the\n`label-tooltip` slot.\n*",
              "attribute": "label-tooltip"
            },
            {
              "kind": "field",
              "name": "contextNote",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Text that appears above the input, on the right, to add additional context. If you need to display HTML\nin this text, use the `context-note` slot instead",
              "attribute": "context-note"
            },
            {
              "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",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "optionalIcon",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds the default optional icon for this input type. Currently only types `email` and `tel` have a default\noptional icon.",
              "attribute": "optional-icon"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the input *",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "filled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Fills the input background white *",
              "attribute": "filled",
              "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 read-only *",
              "attribute": "readonly",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "passwordToggle",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a button to toggle the passwords visibility, only applies to password types *",
              "attribute": "password-toggle"
            },
            {
              "kind": "field",
              "name": "passwordVisible",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Determines whether or no the password is currently visible. Only applies to password types *",
              "attribute": "password-visible"
            },
            {
              "kind": "field",
              "name": "noSpinButtons",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the browsers built-in increment/decrement spin buttons for number inputs *",
              "attribute": "no-spin-buttons"
            },
            {
              "kind": "field",
              "name": "colorFormat",
              "type": {
                "text": "'hex' | 'rgb' | 'hsl' | 'oklch'"
              },
              "default": "'hex'",
              "description": "The color format to display for color inputs. Only applies when type is 'color'. *",
              "attribute": "color-format"
            },
            {
              "kind": "field",
              "name": "valueSuffix",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Appended to the value that range inputs display above the track, on the right, e.g. `rem`. Only applies when type\nis 'range' and no `context-note` is set.",
              "attribute": "value-suffix"
            },
            {
              "kind": "field",
              "name": "form",
              "type": {
                "text": "string"
              },
              "description": "By default, form-controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside a form and associate it with the form that has this `id`. The form must be\nin the 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": "'off' | 'on'"
              },
              "description": "Indicates whether the browser's autocorrect feature is on or off.",
              "attribute": "autocorrect"
            },
            {
              "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": "slashItems",
              "type": {
                "text": "SlashMenuItem[]"
              },
              "default": "[]",
              "description": "Quick insertions offered by the slash menu. Accepts a JSON array of items, or the shorthand\n`Brand name={{BRAND_NAME}}, Support email={{SUPPORT_EMAIL}}`. Can also be set as an array of\n`SlashMenuItem` objects in JavaScript.",
              "attribute": "slash-items"
            },
            {
              "kind": "field",
              "name": "slashPreset",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Names of item sets registered with `registerSlashMenuPreset`, comma separated.",
              "attribute": "slash-preset"
            },
            {
              "kind": "field",
              "name": "slashTrigger",
              "type": {
                "text": "string"
              },
              "default": "'/'",
              "description": "The characters that open the slash menu.",
              "attribute": "slash-trigger"
            },
            {
              "kind": "field",
              "name": "slashHeading",
              "type": {
                "text": "string"
              },
              "default": "'Insert'",
              "description": "The name the slash menu's list is announced by.",
              "attribute": "slash-heading"
            },
            {
              "kind": "field",
              "name": "slashHideKeys",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the insertion keys normally shown against the slash menu's items.",
              "attribute": "slash-hide-keys"
            },
            {
              "kind": "field",
              "name": "slashRecentKey",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Lists the items most recently chosen here above the rest, remembered in `localStorage` under this\nkey. Share a key between the fields that should share a history; leave unset to offer no such list.",
              "attribute": "slash-recent-key"
            },
            {
              "kind": "field",
              "name": "slashItemsProvider",
              "type": {
                "text": "(query: string) => SlashMenuItem[] | Promise<SlashMenuItem[]> | undefined"
              },
              "description": "Resolves additional items each time the menu opens, for lists that come from elsewhere (e.g. an\nAPI). Receives the current query and may return a promise. JavaScript only."
            },
            {
              "kind": "field",
              "name": "triggerSubmit",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When enabled, pressing enter will always submit the surrounding form, even when the form uses\nenter-navigation to move between fields.",
              "attribute": "trigger-submit"
            },
            {
              "kind": "field",
              "name": "valueAsDate",
              "description": "Gets or sets the current value as `date` object. Returns `null` if the value can't be converted. This will use\nthe 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. Return `null` 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": "validateMinMax",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            },
            {
              "kind": "method",
              "name": "hexToRgb",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "hex",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "rgbToHex",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "rgb",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "hexToOklch",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "hex",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "oklchToHex",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "oklch",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "hexToHsl",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "hex",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "hslToHex",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "hsl",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "convertToHex",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "convertFromHex",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "hex",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleBlur",
              "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": "handleColorSwatchClick",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleColorPickerChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "focusInput",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "resolveSlashItems",
              "return": {
                "type": {
                  "text": "Promise<SlashMenuItem[]>"
                }
              },
              "parameters": [
                {
                  "name": "search",
                  "default": "''"
                }
              ],
              "description": "The insertions the slash menu offers, gathered from every source, in the order they were declared."
            },
            {
              "kind": "method",
              "name": "showSlashMenu",
              "description": "Opens the slash menu at the caret, inserting the trigger if it isn't already there."
            },
            {
              "kind": "method",
              "name": "hideSlashMenu",
              "description": "Closes the slash menu."
            },
            {
              "kind": "method",
              "name": "slottedSlashItems",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "SlashMenuItem[]"
                }
              }
            },
            {
              "kind": "method",
              "name": "mountSlashMenu",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<ZnSlashMenu | null>"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleDisabledChange"
            },
            {
              "kind": "method",
              "name": "handleStepChange"
            },
            {
              "kind": "method",
              "name": "handleValueChange"
            },
            {
              "kind": "method",
              "name": "handleColorFormatChange"
            },
            {
              "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",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "description": "Checks the 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": "zn-blur"
            },
            {
              "description": "Emitted when an alteration to the control's value is committed by the user.",
              "name": "zn-change"
            },
            {
              "description": "Emitted when the clear button is activated.",
              "name": "zn-clear"
            },
            {
              "description": "Emitted when the control gains focus.",
              "name": "zn-focus"
            },
            {
              "description": "Emitted when the control receives input.",
              "name": "zn-input"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
              "name": "zn-invalid"
            },
            {
              "description": "Emitted when a slash menu item is chosen. Cancelable — call `preventDefault()` to suppress the insertion and handle the item yourself.",
              "name": "zn-slash-select"
            },
            {
              "description": "Emitted after a slash menu item's value has been inserted.",
              "name": "zn-slash-insert"
            }
          ],
          "attributes": [
            {
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "fieldName": "title"
            },
            {
              "name": "type",
              "type": {
                "text": "'color' | 'currency' | 'date' | 'datetime-local' | 'email' | 'number' | 'password' |\n    'range' | 'search' | 'tel' | 'text' | 'time' | 'url'"
              },
              "default": "'text'",
              "description": "The type of input. Works the same as native `<input>` element. But only a subset of types is 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": "any"
              },
              "default": "''",
              "description": "The current value of the input, submitted as a name/value pair with form data.",
              "fieldName": "value"
            },
            {
              "name": "size",
              "type": {
                "text": "'x-small' | 'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The inputs size *",
              "fieldName": "size"
            },
            {
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-styled input *",
              "fieldName": "pill"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The inputs label. If you need to display HTML, use the `label` slot. *",
              "fieldName": "label"
            },
            {
              "name": "label-tooltip",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Text that appears in a tooltip next to the label. If you need to display HTML in the tooltip, use the\n`label-tooltip` slot.\n*",
              "fieldName": "labelTooltip"
            },
            {
              "name": "context-note",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Text that appears above the input, on the right, to add additional context. If you need to display HTML\nin this text, use the `context-note` slot instead",
              "fieldName": "contextNote"
            },
            {
              "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": "optional-icon",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds the default optional icon for this input type. Currently only types `email` and `tel` have a default\noptional icon.",
              "fieldName": "optionalIcon"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the input *",
              "fieldName": "disabled"
            },
            {
              "name": "filled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Fills the input background white *",
              "fieldName": "filled"
            },
            {
              "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 read-only *",
              "fieldName": "readonly"
            },
            {
              "name": "password-toggle",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a button to toggle the passwords visibility, only applies to password types *",
              "fieldName": "passwordToggle"
            },
            {
              "name": "password-visible",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Determines whether or no the password is currently visible. Only applies to password types *",
              "fieldName": "passwordVisible"
            },
            {
              "name": "no-spin-buttons",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the browsers built-in increment/decrement spin buttons for number inputs *",
              "fieldName": "noSpinButtons"
            },
            {
              "name": "color-format",
              "type": {
                "text": "'hex' | 'rgb' | 'hsl' | 'oklch'"
              },
              "default": "'hex'",
              "description": "The color format to display for color inputs. Only applies when type is 'color'. *",
              "fieldName": "colorFormat"
            },
            {
              "name": "value-suffix",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Appended to the value that range inputs display above the track, on the right, e.g. `rem`. Only applies when type\nis 'range' and no `context-note` is set.",
              "fieldName": "valueSuffix"
            },
            {
              "name": "form",
              "type": {
                "text": "string"
              },
              "description": "By default, form-controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside a form and associate it with the form that has this `id`. The form must be\nin the 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": "'off' | 'on'"
              },
              "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": "slash-items",
              "type": {
                "text": "SlashMenuItem[]"
              },
              "default": "[]",
              "description": "Quick insertions offered by the slash menu. Accepts a JSON array of items, or the shorthand\n`Brand name={{BRAND_NAME}}, Support email={{SUPPORT_EMAIL}}`. Can also be set as an array of\n`SlashMenuItem` objects in JavaScript.",
              "fieldName": "slashItems"
            },
            {
              "name": "slash-preset",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Names of item sets registered with `registerSlashMenuPreset`, comma separated.",
              "fieldName": "slashPreset"
            },
            {
              "name": "slash-trigger",
              "type": {
                "text": "string"
              },
              "default": "'/'",
              "description": "The characters that open the slash menu.",
              "fieldName": "slashTrigger"
            },
            {
              "name": "slash-heading",
              "type": {
                "text": "string"
              },
              "default": "'Insert'",
              "description": "The name the slash menu's list is announced by.",
              "fieldName": "slashHeading"
            },
            {
              "name": "slash-hide-keys",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the insertion keys normally shown against the slash menu's items.",
              "fieldName": "slashHideKeys"
            },
            {
              "name": "slash-recent-key",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Lists the items most recently chosen here above the rest, remembered in `localStorage` under this\nkey. Share a key between the fields that should share a history; leave unset to offer no such list.",
              "fieldName": "slashRecentKey"
            },
            {
              "name": "trigger-submit",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When enabled, pressing enter will always submit the surrounding form, even when the form uses\nenter-navigation to move between fields.",
              "fieldName": "triggerSubmit"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "input",
          "tagName": "zn-input",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/input\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-icon\n * @dependency zn-tooltip\n *\n * @event zn-blur - Emitted when the control loses focus.\n * @event zn-change - Emitted when an alteration to the control's value is committed by the user.\n * @event zn-clear - Emitted when the clear button is activated.\n * @event zn-focus - Emitted when the control gains focus.\n * @event zn-input - Emitted when the control receives input.\n * @event zn-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @slot label - The input's label. Alternatively, you can use the `label` attribute.\n * @slot label-tooltip - Used to add text that is displayed in a tooltip next to the label. Alternatively, you can use the `label-tooltip` attribute.\n * @slot context-note - Used to add contextual text that is displayed above the input, on the right. Alternatively, you can use the `context-note` attribute. Range inputs display their live value here unless this is set.\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 slash-items - `<zn-slash-item>` elements describing the insertions offered by the slash menu. Items are\n *  picked up wherever they sit inside the input, so this slot name is optional.\n * @slot slash-menu - A `<zn-slash-menu>` to use instead of the built-in one, so its heading, sizing and styling can\n *  be set in markup. Any `<zn-slash-item>` children of it become the menu's items.\n *\n * @dependency zn-slash-item\n * @dependency zn-slash-menu\n *\n * @event zn-slash-select - Emitted when a slash menu item is chosen. Cancelable — call `preventDefault()` to\n *  suppress the insertion and handle the item yourself.\n * @event zn-slash-insert - Emitted after a slash menu item's value has been inserted.\n *\n * @csspart form-control - The form control that wraps the label, input, and help text.\n * @csspart slash-menu - The slash menu shown at the caret.\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 *\n * @cssproperty --zn-range-track-height - The height of a range input's track.\n * @cssproperty --zn-range-track-color - The color of a range input's track.\n * @cssproperty --zn-range-thumb-size - The diameter of a range input's thumb.\n * @cssproperty --zn-range-thumb-color - The color of a range input's thumb.\n * @cssproperty --zn-range-thumb-ring-width - The width of the ring drawn around a range input's thumb.\n */",
          "documentation": "https://zinc.style/components/input",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-icon",
            "zn-tooltip",
            "zn-slash-item",
            "zn-slash-menu"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnInput",
            "module": "components/input/input.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/input-group/input-group.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnInputGroup",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The form control wrapper.",
              "name": "form-control"
            },
            {
              "description": "The label's wrapper.",
              "name": "form-control-label"
            },
            {
              "description": "The input group container.",
              "name": "form-control-input"
            }
          ],
          "slots": [
            {
              "description": "The default slot for inputs and selects.",
              "name": ""
            },
            {
              "description": "The input group's label. Alternatively, you can use the `label` attribute.",
              "name": "label"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'label')"
            },
            {
              "kind": "field",
              "name": "defaultSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The input group's label. If you need to display HTML, use the `label` slot.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "gap",
              "type": {
                "text": "'sm' | 'md' | 'lg'"
              },
              "description": "Adds a gap between the grouped elements, preserving individual border radii. Use `sm`, `md`, or `lg`.",
              "attribute": "gap"
            },
            {
              "kind": "method",
              "name": "handleSlotChange",
              "privacy": "private"
            }
          ],
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The input group's label. If you need to display HTML, use the `label` slot.",
              "fieldName": "label"
            },
            {
              "name": "gap",
              "type": {
                "text": "'sm' | 'md' | 'lg'"
              },
              "description": "Adds a gap between the grouped elements, preserving individual border radii. Use `sm`, `md`, or `lg`.",
              "fieldName": "gap"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "A wrapper component that groups inputs and selects visually.",
          "tagNameWithoutPrefix": "input-group",
          "tagName": "zn-input-group",
          "customElement": true,
          "jsDoc": "/**\n * @summary A wrapper component that groups inputs and selects visually.\n * @documentation https://zinc.style/components/input-group\n * @status experimental\n * @since 1.0\n *\n * @slot - The default slot for inputs and selects.\n * @slot label - The input group's label. Alternatively, you can use the `label` attribute.\n *\n * @csspart base - The component's base wrapper.\n * @csspart form-control - The form control wrapper.\n * @csspart form-control-label - The label's wrapper.\n * @csspart form-control-input - The input group container.\n */",
          "documentation": "https://zinc.style/components/input-group",
          "status": "experimental",
          "since": "1.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnInputGroup",
            "module": "components/input-group/input-group.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/item/item.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnItem",
          "cssParts": [
            {
              "description": "The items base wrapper",
              "name": "base"
            },
            {
              "description": "The items caption",
              "name": "caption"
            },
            {
              "description": "The items icon",
              "name": "icon"
            }
          ],
          "slots": [
            {
              "description": "The default slot. Can either be slotted or use the value attribute",
              "name": ""
            },
            {
              "description": "Used for adding actions to a zn-item.",
              "name": "actions"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'zn-icon': ZnIcon, 'zn-tooltip': ZnTooltip }"
            },
            {
              "kind": "field",
              "name": "caption",
              "type": {
                "text": "string"
              },
              "attribute": "caption"
            },
            {
              "kind": "field",
              "name": "description",
              "type": {
                "text": "string"
              },
              "attribute": "description"
            },
            {
              "kind": "field",
              "name": "stacked",
              "type": {
                "text": "boolean"
              },
              "attribute": "stacked"
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "editOnHover",
              "type": {
                "text": "boolean"
              },
              "attribute": "edit-on-hover"
            },
            {
              "kind": "field",
              "name": "helpTooltip",
              "type": {
                "text": "string"
              },
              "attribute": "help-tooltip"
            },
            {
              "kind": "field",
              "name": "icon",
              "type": {
                "text": "string"
              },
              "attribute": "icon"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "inline",
              "type": {
                "text": "boolean"
              },
              "attribute": "inline"
            },
            {
              "kind": "field",
              "name": "grid",
              "type": {
                "text": "boolean"
              },
              "attribute": "grid"
            },
            {
              "kind": "field",
              "name": "noPadding",
              "type": {
                "text": "boolean"
              },
              "attribute": "no-padding"
            },
            {
              "kind": "field",
              "name": "flush",
              "type": {
                "text": "boolean"
              },
              "attribute": "flush"
            },
            {
              "kind": "field",
              "name": "alignEnd",
              "type": {
                "text": "boolean"
              },
              "attribute": "align-end"
            },
            {
              "kind": "field",
              "name": "alignCenter",
              "type": {
                "text": "boolean"
              },
              "attribute": "align-center"
            },
            {
              "kind": "method",
              "name": "_hasContent",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "_hasRequiredSlot",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            }
          ],
          "attributes": [
            {
              "name": "caption",
              "type": {
                "text": "string"
              },
              "fieldName": "caption"
            },
            {
              "name": "description",
              "type": {
                "text": "string"
              },
              "fieldName": "description"
            },
            {
              "name": "stacked",
              "type": {
                "text": "boolean"
              },
              "fieldName": "stacked"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "fieldName": "size"
            },
            {
              "name": "edit-on-hover",
              "type": {
                "text": "boolean"
              },
              "fieldName": "editOnHover"
            },
            {
              "name": "help-tooltip",
              "type": {
                "text": "string"
              },
              "fieldName": "helpTooltip"
            },
            {
              "name": "icon",
              "type": {
                "text": "string"
              },
              "fieldName": "icon"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "fieldName": "value"
            },
            {
              "name": "inline",
              "type": {
                "text": "boolean"
              },
              "fieldName": "inline"
            },
            {
              "name": "grid",
              "type": {
                "text": "boolean"
              },
              "fieldName": "grid"
            },
            {
              "name": "no-padding",
              "type": {
                "text": "boolean"
              },
              "fieldName": "noPadding"
            },
            {
              "name": "flush",
              "type": {
                "text": "boolean"
              },
              "fieldName": "flush"
            },
            {
              "name": "align-end",
              "type": {
                "text": "boolean"
              },
              "fieldName": "alignEnd"
            },
            {
              "name": "align-center",
              "type": {
                "text": "boolean"
              },
              "fieldName": "alignCenter"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Used for listing items in a description list. Caption on the right, content on the left.",
          "tagNameWithoutPrefix": "item",
          "tagName": "zn-item",
          "customElement": true,
          "jsDoc": "/**\n * @summary Used for listing items in a description list. Caption on the right, content on the left.\n * @documentation https://zinc.style/components/item\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-icon\n * @dependency zn-tooltip\n *\n * @slot - The default slot. Can either be slotted or use the value attribute\n * @slot actions - Used for adding actions to a zn-item.\n *\n * @csspart base - The items base wrapper\n * @csspart caption - The items caption\n * @csspart icon - The items icon\n */",
          "documentation": "https://zinc.style/components/item",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-icon",
            "zn-tooltip"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnItem",
            "module": "components/item/item.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/key/key.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnKey",
          "slots": [
            {
              "description": "The description of the key.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "icon",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "icon"
            },
            {
              "kind": "field",
              "name": "attribute",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "attribute"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "color",
              "type": {
                "text": "'primary' | 'success' | 'warning' | 'error' | 'info' | 'neutral'"
              },
              "default": "'primary'",
              "attribute": "color"
            },
            {
              "kind": "field",
              "name": "active",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "active",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "iconSize",
              "type": {
                "text": "number"
              },
              "default": "24",
              "attribute": "icon-size"
            },
            {
              "kind": "method",
              "name": "_handleClick",
              "privacy": "private"
            }
          ],
          "attributes": [
            {
              "name": "icon",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "icon"
            },
            {
              "name": "attribute",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "attribute"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "value"
            },
            {
              "name": "color",
              "type": {
                "text": "'primary' | 'success' | 'warning' | 'error' | 'info' | 'neutral'"
              },
              "default": "'primary'",
              "fieldName": "color"
            },
            {
              "name": "active",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "active"
            },
            {
              "name": "icon-size",
              "type": {
                "text": "number"
              },
              "default": "24",
              "fieldName": "iconSize"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "A legend key item, typically used alongside charts to label and toggle visibility of data series by category.",
          "tagNameWithoutPrefix": "key",
          "tagName": "zn-key",
          "customElement": true,
          "jsDoc": "/**\n * @summary A legend key item, typically used alongside charts to label and toggle visibility of data series by category.\n * @documentation https://zinc.style/components/key\n * @status experimental\n * @since 1.0\n *\n * @slot - The description of the key.\n */",
          "documentation": "https://zinc.style/components/key",
          "status": "experimental",
          "since": "1.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnKey",
            "module": "components/key/key.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/key-container/key-container.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnKeyContainer",
          "slots": [
            {
              "description": "The content to be filtered.",
              "name": ""
            },
            {
              "description": "The key items (zn-key) that define the filters.",
              "name": "keys"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "keysSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "defaultSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "position",
              "type": {
                "text": "'top-end' | 'top-start' | 'bottom-end' | 'bottom-start'"
              },
              "default": "'bottom-start'",
              "attribute": "position"
            },
            {
              "kind": "field",
              "name": "target",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "target"
            },
            {
              "kind": "field",
              "name": "itemSelector",
              "type": {
                "text": "string"
              },
              "default": "'[data-type]'",
              "attribute": "item-selector"
            },
            {
              "kind": "field",
              "name": "filterAttribute",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "filter-attribute"
            },
            {
              "kind": "field",
              "name": "noScroll",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "no-scroll"
            },
            {
              "kind": "field",
              "name": "_hiddenElements",
              "type": {
                "text": "Set<Element>"
              },
              "privacy": "private",
              "default": "new Set()"
            },
            {
              "kind": "field",
              "name": "_targetElement",
              "type": {
                "text": "HTMLElement | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "method",
              "name": "_handleKeyChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getKeys",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "ZnKey[]"
                }
              }
            },
            {
              "kind": "method",
              "name": "updateFilters",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "itemMatchesKey",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "Element"
                  }
                },
                {
                  "name": "key",
                  "type": {
                    "text": "ZnKey"
                  }
                }
              ]
            }
          ],
          "events": [
            {
              "description": "Emitted when the set of active keys changes.",
              "name": "zn-change"
            }
          ],
          "attributes": [
            {
              "name": "position",
              "type": {
                "text": "'top-end' | 'top-start' | 'bottom-end' | 'bottom-start'"
              },
              "default": "'bottom-start'",
              "fieldName": "position"
            },
            {
              "name": "target",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "target"
            },
            {
              "name": "item-selector",
              "type": {
                "text": "string"
              },
              "default": "'[data-type]'",
              "fieldName": "itemSelector"
            },
            {
              "name": "filter-attribute",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "filterAttribute"
            },
            {
              "name": "no-scroll",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "noScroll"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "A legend container that manages key items, typically used alongside charts to toggle visibility of data series by category.",
          "tagNameWithoutPrefix": "key-container",
          "tagName": "zn-key-container",
          "customElement": true,
          "jsDoc": "/**\n * @summary A legend container that manages key items, typically used alongside charts to toggle visibility of data series by category.\n * @documentation https://zinc.style/components/key-container\n * @status experimental\n * @since 1.0\n *\n * @slot - The content to be filtered.\n * @slot keys - The key items (zn-key) that define the filters.\n *\n * @event zn-change - Emitted when the set of active keys changes.\n */",
          "documentation": "https://zinc.style/components/key-container",
          "status": "experimental",
          "since": "1.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnKeyContainer",
            "module": "components/key-container/key-container.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/linked-select/linked-select.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnLinkedSelect",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "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": "checked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "checked",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "options",
              "type": {
                "text": "linkedSelectOptions"
              },
              "attribute": "options"
            },
            {
              "kind": "field",
              "name": "linkedSelect",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "attribute": "linked-select"
            },
            {
              "kind": "field",
              "name": "cacheKey",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "attribute": "cache-key"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "selectFirst",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Automatically select the first option of the linked group when no value is set.",
              "attribute": "select-first"
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "ZnSelect"
              }
            },
            {
              "kind": "field",
              "name": "linkedSelectElement",
              "type": {
                "text": "HTMLSelectElement | ZnSelect"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "formControlController",
              "privacy": "private",
              "readonly": true,
              "default": "new FormControlController(this, { value: (input) => { const selectElement = this.input; if (selectElement) { return selectElement.value; } return input.value; } })"
            },
            {
              "kind": "field",
              "name": "displayLabel",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validity",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "getForm",
              "return": {
                "type": {
                  "text": "HTMLFormElement | null"
                }
              }
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "handleLinkedSelectChange",
              "privacy": "public"
            },
            {
              "kind": "method",
              "name": "handleChange",
              "privacy": "public",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "handleSelectChange"
            },
            {
              "kind": "method",
              "name": "currentOptions",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "linkedSelectOption"
                }
              },
              "description": "The options of the group the linked select currently points at."
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "attributes": [
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "fieldName": "name"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "fieldName": "value"
            },
            {
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "checked"
            },
            {
              "name": "options",
              "type": {
                "text": "linkedSelectOptions"
              },
              "fieldName": "options"
            },
            {
              "name": "linked-select",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "fieldName": "linkedSelect"
            },
            {
              "name": "cache-key",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "fieldName": "cacheKey"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "fieldName": "label"
            },
            {
              "name": "select-first",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Automatically select the first option of the linked group when no value is set.",
              "fieldName": "selectFirst"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "linked-select",
          "tagName": "zn-linked-select",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/linked-select\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/linked-select",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnLinkedSelect",
            "module": "components/linked-select/linked-select.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/markdown-editor/markdown-editor.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnMarkdownEditor",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "src/components/panel/panel.component.ts"
              }
            },
            {
              "description": "The toolbar containing the view-mode and fullscreen controls.",
              "name": "toolbar"
            },
            {
              "description": "The textarea wrapper.",
              "name": "editor"
            },
            {
              "description": "The rendered markdown preview.",
              "name": "preview"
            }
          ],
          "slots": [
            {
              "description": "The editor label. Alternatively, use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "Help text shown below the editor. Alternatively, use the `help-text` attribute.",
              "name": "help-text"
            },
            {
              "description": "The panel's main content.",
              "name": "",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "src/components/panel/panel.component.ts"
              }
            },
            {
              "description": "Actions displayed in the panel header (buttons, chips, etc).",
              "name": "actions",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "src/components/panel/panel.component.ts"
              }
            },
            {
              "description": "Content displayed in the panel footer.",
              "name": "footer",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "src/components/panel/panel.component.ts"
              }
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "formControlController",
              "privacy": "private",
              "readonly": true,
              "default": "new FormControlController(this, { assumeInteractionOn: ['zn-input', 'zn-change'], })"
            },
            {
              "kind": "field",
              "name": "markdownSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'label', 'help-text', 'actions', 'footer')"
            },
            {
              "kind": "field",
              "name": "debounceTimer",
              "type": {
                "text": "ReturnType<typeof setTimeout> | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "textarea",
              "type": {
                "text": "ZnTextarea"
              }
            },
            {
              "kind": "field",
              "name": "previewEl",
              "type": {
                "text": "HTMLDivElement"
              }
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the control, submitted as part of form data.",
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The current markdown content.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The default value — used when resetting the form."
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The control's label. If you need HTML, use the `label` slot.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "helpText",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Help text displayed below the editor. If you need HTML, use the `help-text` slot.",
              "attribute": "help-text"
            },
            {
              "kind": "field",
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "'Enter markdown content...'",
              "description": "Placeholder text shown when the editor is empty.",
              "attribute": "placeholder"
            },
            {
              "kind": "field",
              "name": "rows",
              "type": {
                "text": "number"
              },
              "default": "20",
              "description": "Number of rows for the textarea.",
              "attribute": "rows"
            },
            {
              "kind": "field",
              "name": "viewMode",
              "type": {
                "text": "ViewMode"
              },
              "default": "'editor'",
              "description": "Which view to show.",
              "attribute": "view-mode",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "storageKey",
              "type": {
                "text": "string"
              },
              "default": "'zn-markdown-editor-view-mode'",
              "description": "Key used to persist the selected view mode to `localStorage`. Set to an empty string to disable persistence.",
              "attribute": "storage-key"
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the editor required for form submission.",
              "attribute": "required",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the editor read-only.",
              "attribute": "readonly",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the editor.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "expanded",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the editor is currently expanded to cover its containing positioned ancestor.",
              "attribute": "expanded",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "validity",
              "type": {
                "text": "ValidityState"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "type": {
                "text": "string"
              },
              "readonly": true
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "getForm",
              "return": {
                "type": {
                  "text": "HTMLFormElement | null"
                }
              }
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "focus",
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ],
              "description": "Sets focus on the editor."
            },
            {
              "kind": "method",
              "name": "blur",
              "description": "Removes focus from the editor."
            },
            {
              "kind": "method",
              "name": "readStoredViewMode",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "ViewMode | null"
                }
              }
            },
            {
              "kind": "method",
              "name": "writeStoredViewMode",
              "privacy": "private",
              "parameters": [
                {
                  "name": "mode",
                  "type": {
                    "text": "ViewMode"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "renderPreview",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleInput",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleChange",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleViewToggle",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleExpandToggle",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleViewModeChange"
            },
            {
              "kind": "method",
              "name": "handleValueChange"
            },
            {
              "kind": "method",
              "name": "handleMarkedReady"
            },
            {
              "kind": "method",
              "name": "markdownHelperBtn"
            },
            {
              "kind": "method",
              "name": "renderViewButton",
              "privacy": "private",
              "parameters": [
                {
                  "name": "mode",
                  "type": {
                    "text": "ViewMode"
                  }
                },
                {
                  "name": "icon",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "label",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, '[default]', 'actions', 'footer')",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "components/panel/panel.js"
              }
            },
            {
              "kind": "field",
              "name": "basis",
              "type": {
                "text": "number"
              },
              "attribute": "basis-px",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "components/panel/panel.js"
              }
            },
            {
              "kind": "field",
              "name": "caption",
              "type": {
                "text": "string"
              },
              "attribute": "caption",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "components/panel/panel.js"
              }
            },
            {
              "kind": "field",
              "name": "icon",
              "type": {
                "text": "string"
              },
              "attribute": "icon",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "components/panel/panel.js"
              }
            },
            {
              "kind": "field",
              "name": "tabbed",
              "type": {
                "text": "boolean"
              },
              "attribute": "tabbed",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "components/panel/panel.js"
              }
            },
            {
              "kind": "field",
              "name": "headerBorderless",
              "type": {
                "text": "boolean"
              },
              "attribute": "header-borderless",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "components/panel/panel.js"
              }
            },
            {
              "kind": "field",
              "name": "cosmic",
              "type": {
                "text": "boolean"
              },
              "attribute": "cosmic",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "components/panel/panel.js"
              }
            },
            {
              "kind": "field",
              "name": "flush",
              "type": {
                "text": "boolean"
              },
              "attribute": "flush",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "components/panel/panel.js"
              }
            },
            {
              "kind": "field",
              "name": "flushX",
              "type": {
                "text": "boolean"
              },
              "attribute": "flush-x",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "components/panel/panel.js"
              }
            },
            {
              "kind": "field",
              "name": "flushY",
              "type": {
                "text": "boolean"
              },
              "attribute": "flush-y",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "components/panel/panel.js"
              }
            },
            {
              "kind": "field",
              "name": "flushFooter",
              "type": {
                "text": "boolean"
              },
              "attribute": "flush-footer",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "components/panel/panel.js"
              }
            },
            {
              "kind": "field",
              "name": "transparent",
              "type": {
                "text": "boolean"
              },
              "attribute": "transparent",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "components/panel/panel.js"
              }
            },
            {
              "kind": "field",
              "name": "shadow",
              "type": {
                "text": "boolean"
              },
              "attribute": "shadow",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "components/panel/panel.js"
              }
            }
          ],
          "events": [
            {
              "name": "zn-view-mode-change",
              "type": {
                "text": "CustomEvent"
              },
              "description": "Emitted when the user switches between editor / split / preview."
            },
            {
              "description": "Emitted when the markdown content changes.",
              "name": "zn-change"
            },
            {
              "description": "Emitted on each keystroke in the editor.",
              "name": "zn-input"
            }
          ],
          "attributes": [
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the control, submitted as part of form data.",
              "fieldName": "name"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The current markdown content.",
              "fieldName": "value"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The control's label. If you need HTML, use the `label` slot.",
              "fieldName": "label"
            },
            {
              "name": "help-text",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Help text displayed below the editor. If you need HTML, use the `help-text` slot.",
              "fieldName": "helpText"
            },
            {
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "'Enter markdown content...'",
              "description": "Placeholder text shown when the editor is empty.",
              "fieldName": "placeholder"
            },
            {
              "name": "rows",
              "type": {
                "text": "number"
              },
              "default": "20",
              "description": "Number of rows for the textarea.",
              "fieldName": "rows"
            },
            {
              "name": "view-mode",
              "type": {
                "text": "ViewMode"
              },
              "default": "'editor'",
              "description": "Which view to show.",
              "fieldName": "viewMode"
            },
            {
              "name": "storage-key",
              "type": {
                "text": "string"
              },
              "default": "'zn-markdown-editor-view-mode'",
              "description": "Key used to persist the selected view mode to `localStorage`. Set to an empty string to disable persistence.",
              "fieldName": "storageKey"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the editor required for form submission.",
              "fieldName": "required"
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the editor read-only.",
              "fieldName": "readonly"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the editor.",
              "fieldName": "disabled"
            },
            {
              "name": "expanded",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the editor is currently expanded to cover its containing positioned ancestor.",
              "fieldName": "expanded"
            },
            {
              "name": "basis-px",
              "type": {
                "text": "number"
              },
              "fieldName": "basis",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "src/components/panel/panel.component.ts"
              }
            },
            {
              "name": "caption",
              "type": {
                "text": "string"
              },
              "fieldName": "caption",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "src/components/panel/panel.component.ts"
              }
            },
            {
              "name": "icon",
              "type": {
                "text": "string"
              },
              "fieldName": "icon",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "src/components/panel/panel.component.ts"
              }
            },
            {
              "name": "tabbed",
              "type": {
                "text": "boolean"
              },
              "fieldName": "tabbed",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "src/components/panel/panel.component.ts"
              }
            },
            {
              "name": "header-borderless",
              "type": {
                "text": "boolean"
              },
              "fieldName": "headerBorderless",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "src/components/panel/panel.component.ts"
              }
            },
            {
              "name": "cosmic",
              "type": {
                "text": "boolean"
              },
              "fieldName": "cosmic",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "src/components/panel/panel.component.ts"
              }
            },
            {
              "name": "flush",
              "type": {
                "text": "boolean"
              },
              "fieldName": "flush",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "src/components/panel/panel.component.ts"
              }
            },
            {
              "name": "flush-x",
              "type": {
                "text": "boolean"
              },
              "fieldName": "flushX",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "src/components/panel/panel.component.ts"
              }
            },
            {
              "name": "flush-y",
              "type": {
                "text": "boolean"
              },
              "fieldName": "flushY",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "src/components/panel/panel.component.ts"
              }
            },
            {
              "name": "flush-footer",
              "type": {
                "text": "boolean"
              },
              "fieldName": "flushFooter",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "src/components/panel/panel.component.ts"
              }
            },
            {
              "name": "transparent",
              "type": {
                "text": "boolean"
              },
              "fieldName": "transparent",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "src/components/panel/panel.component.ts"
              }
            },
            {
              "name": "shadow",
              "type": {
                "text": "boolean"
              },
              "fieldName": "shadow",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "src/components/panel/panel.component.ts"
              }
            }
          ],
          "superclass": {
            "name": "ZnPanel",
            "module": "/src/components/panel/panel.component"
          },
          "summary": "A markdown editor with live preview, split view, and a fullscreen mode.",
          "tagNameWithoutPrefix": "markdown-editor",
          "tagName": "zn-markdown-editor",
          "customElement": true,
          "jsDoc": "/**\n * @summary A markdown editor with live preview, split view, and a fullscreen mode.\n * @documentation https://zinc.style/components/markdown-editor\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-textarea\n * @dependency zn-button-group\n * @dependency zn-icon\n *\n * @event zn-change - Emitted when the markdown content changes.\n * @event zn-input - Emitted on each keystroke in the editor.\n * @event zn-view-mode-change - Emitted when the user switches between editor / split / preview.\n *\n * @slot label - The editor label. Alternatively, use the `label` attribute.\n * @slot help-text - Help text shown below the editor. Alternatively, use the `help-text` attribute.\n *\n * @csspart base - The component's base wrapper.\n * @csspart toolbar - The toolbar containing the view-mode and fullscreen controls.\n * @csspart editor - The textarea wrapper.\n * @csspart preview - The rendered markdown preview.\n */",
          "documentation": "https://zinc.style/components/markdown-editor",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-textarea",
            "zn-button-group",
            "zn-icon"
          ],
          "cssProperties": [
            {
              "description": "The flex-basis of the panel. Can be set using the basis-px attribute.",
              "name": "--zn-panel-basis",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "src/components/panel/panel.component.ts"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnMarkdownEditor",
            "module": "components/markdown-editor/markdown-editor.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/menu/menu.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnMenu",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            },
            {
              "description": "Caps the menu's height and makes it scroll internally. Unset (`none`) by default, so the menu grows to fit its items unless a consumer sets this.",
              "name": "--zn-menu-max-height"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'zn-confirm': ZnConfirm, 'zn-dropdown': ZnDropdown, 'zn-icon': ZnIcon, 'zn-menu-item': ZnMenuItem, 'zn-tooltip': ZnTooltip, }"
            },
            {
              "kind": "field",
              "name": "defaultSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "actions",
              "type": {
                "text": "array"
              },
              "default": "[]",
              "attribute": "actions"
            },
            {
              "kind": "field",
              "name": "variant",
              "type": {
                "text": "'default' | 'shell'"
              },
              "default": "'default'",
              "description": "The menu's visual style. `shell` renders the app-shell header dropdown\nlook: a padded panel with floating rounded items. Propagated to the\nmenu's items.",
              "attribute": "variant",
              "reflects": true
            },
            {
              "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": "propagateVariant",
              "privacy": "private",
              "description": "Keeps slotted menu items in sync with the menu's variant."
            },
            {
              "kind": "method",
              "name": "isMenuItem",
              "privacy": "private",
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ]
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "attributes": [
            {
              "name": "actions",
              "type": {
                "text": "array"
              },
              "default": "[]",
              "fieldName": "actions"
            },
            {
              "name": "variant",
              "type": {
                "text": "'default' | 'shell'"
              },
              "default": "'default'",
              "description": "The menu's visual style. `shell` renders the app-shell header dropdown\nlook: a padded panel with floating rounded items. Propagated to the\nmenu's items.",
              "fieldName": "variant"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "menu",
          "tagName": "zn-menu",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/menu\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n * @cssproperty --zn-menu-max-height - Caps the menu's height and makes it scroll internally.\n *  Unset (`none`) by default, so the menu grows to fit its items unless a consumer sets this.\n */",
          "documentation": "https://zinc.style/components/menu",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnMenu",
            "module": "components/menu/menu.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/menu-item/menu-item.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnMenuItem",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'zn-icon': ZnIcon, 'zn-popup': ZnPopup }"
            },
            {
              "kind": "field",
              "name": "cachedTextLabel",
              "type": {
                "text": "string"
              },
              "privacy": "private"
            },
            {
              "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": "variant",
              "type": {
                "text": "'default' | 'dropdown' | 'shell'"
              },
              "default": "'default'",
              "description": "The item's visual style. A standalone item defaults to navigation styling;\na parent zn-menu sets this to `dropdown` or `shell` automatically.",
              "attribute": "variant",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the item in a checked state.",
              "attribute": "checked",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "checkedPosition",
              "type": {
                "text": "'left' | 'right'"
              },
              "default": "'left'",
              "attribute": "checked-position",
              "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": "color",
              "type": {
                "text": "string"
              },
              "attribute": "color"
            },
            {
              "kind": "field",
              "name": "href",
              "type": {
                "text": "string"
              },
              "attribute": "href"
            },
            {
              "kind": "field",
              "name": "dataPath",
              "type": {
                "text": "string"
              },
              "attribute": "data-path"
            },
            {
              "kind": "field",
              "name": "target",
              "type": {
                "text": "'_self' | '_blank' | '_parent' | '_top' | string"
              },
              "attribute": "target"
            },
            {
              "kind": "field",
              "name": "dataTarget",
              "type": {
                "text": "'modal' | 'slide' | string"
              },
              "attribute": "data-target"
            },
            {
              "kind": "field",
              "name": "rel",
              "type": {
                "text": "string"
              },
              "default": "'noreferrer noopener'",
              "attribute": "rel"
            },
            {
              "kind": "field",
              "name": "gaid",
              "type": {
                "text": "string"
              },
              "attribute": "gaid"
            },
            {
              "kind": "field",
              "name": "confirm",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "confirm",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "flush",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Removes all padding from the menu item.",
              "attribute": "flush",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "flushX",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Removes horizontal (left/right) padding only. Ignored if flush is set.",
              "attribute": "flush-x",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "flushY",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Removes vertical (top/bottom) padding only. Ignored if flush is set.",
              "attribute": "flush-y",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "noBorder",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Removes the border from the menu item.",
              "attribute": "no-border",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "active",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Marks the menu item as currently active/selected.",
              "attribute": "active",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "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, this.localize)"
            },
            {
              "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"
            },
            {
              "kind": "method",
              "name": "_isLink",
              "privacy": "private"
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "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": "variant",
              "type": {
                "text": "'default' | 'dropdown' | 'shell'"
              },
              "default": "'default'",
              "description": "The item's visual style. A standalone item defaults to navigation styling;\na parent zn-menu sets this to `dropdown` or `shell` automatically.",
              "fieldName": "variant"
            },
            {
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the item in a checked state.",
              "fieldName": "checked"
            },
            {
              "name": "checked-position",
              "type": {
                "text": "'left' | 'right'"
              },
              "default": "'left'",
              "fieldName": "checkedPosition"
            },
            {
              "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"
            },
            {
              "name": "color",
              "type": {
                "text": "string"
              },
              "fieldName": "color"
            },
            {
              "name": "href",
              "type": {
                "text": "string"
              },
              "fieldName": "href"
            },
            {
              "name": "data-path",
              "type": {
                "text": "string"
              },
              "fieldName": "dataPath"
            },
            {
              "name": "target",
              "type": {
                "text": "'_self' | '_blank' | '_parent' | '_top' | string"
              },
              "fieldName": "target"
            },
            {
              "name": "data-target",
              "type": {
                "text": "'modal' | 'slide' | string"
              },
              "fieldName": "dataTarget"
            },
            {
              "name": "rel",
              "type": {
                "text": "string"
              },
              "default": "'noreferrer noopener'",
              "fieldName": "rel"
            },
            {
              "name": "gaid",
              "type": {
                "text": "string"
              },
              "fieldName": "gaid"
            },
            {
              "name": "confirm",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "confirm"
            },
            {
              "name": "flush",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Removes all padding from the menu item.",
              "fieldName": "flush"
            },
            {
              "name": "flush-x",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Removes horizontal (left/right) padding only. Ignored if flush is set.",
              "fieldName": "flushX"
            },
            {
              "name": "flush-y",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Removes vertical (top/bottom) padding only. Ignored if flush is set.",
              "fieldName": "flushY"
            },
            {
              "name": "no-border",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Removes the border from the menu item.",
              "fieldName": "noBorder"
            },
            {
              "name": "active",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Marks the menu item as currently active/selected.",
              "fieldName": "active"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "menu-item",
          "tagName": "zn-menu-item",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/menu-item\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/menu-item",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnMenuItem",
            "module": "components/menu-item/menu-item.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/navbar/navbar.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnNavbar",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "Expanding action panels rendered alongside the navbar items.",
              "name": "expand"
            },
            {
              "description": "Content rendered below the navbar row (e.g. chips, filters).",
              "name": "bottom"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'zn-dropdown': ZnDropdown }"
            },
            {
              "kind": "field",
              "name": "navigation",
              "type": {
                "text": "array"
              },
              "default": "[]",
              "attribute": "navigation"
            },
            {
              "kind": "field",
              "name": "fullWidth",
              "type": {
                "text": "boolean"
              },
              "attribute": "full-width",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "iconBar",
              "type": {
                "text": "boolean"
              },
              "attribute": "icon-bar",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "slim",
              "type": {
                "text": "boolean"
              },
              "attribute": "slim",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "border",
              "type": {
                "text": "boolean"
              },
              "attribute": "border",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "hideOne",
              "type": {
                "text": "boolean"
              },
              "attribute": "hide-one",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "flush",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "flush",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "gutter",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "gutter",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "stacked",
              "type": {
                "text": "boolean"
              },
              "attribute": "stacked"
            },
            {
              "kind": "field",
              "name": "dropdown",
              "type": {
                "text": "array"
              },
              "default": "[]",
              "attribute": "dropdown"
            },
            {
              "kind": "field",
              "name": "noPad",
              "type": {
                "text": "false"
              },
              "attribute": "no-pad"
            },
            {
              "kind": "field",
              "name": "manualAddItems",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "manual-add-items"
            },
            {
              "kind": "field",
              "name": "isolated",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "isolated"
            },
            {
              "kind": "field",
              "name": "color",
              "type": {
                "text": "string"
              },
              "attribute": "color",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "masterId",
              "type": {
                "text": "string"
              },
              "attribute": "master-id",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "storeKey",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "store-key"
            },
            {
              "kind": "field",
              "name": "storeTtl",
              "type": {
                "text": "number"
              },
              "default": "0",
              "attribute": "store-ttl",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "localStorage",
              "type": {
                "text": "boolean"
              },
              "attribute": "local-storage",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "_preItems",
              "type": {
                "text": "HTMLElement[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "_postItems",
              "type": {
                "text": "HTMLElement[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "_appended",
              "type": {
                "text": "Element[]"
              },
              "privacy": "private",
              "attribute": "_appended"
            },
            {
              "kind": "field",
              "name": "_expanding",
              "type": {
                "text": "Element[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "_openedTabs",
              "type": {
                "text": "string[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "_itemsObserver",
              "privacy": "private",
              "readonly": true,
              "default": "new MutationController(this, { target: null, config: {childList: true}, callback: () => this._updateVisibility(), })"
            },
            {
              "kind": "field",
              "name": "_navItems",
              "type": {
                "text": "HTMLElement | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "_expandable",
              "type": {
                "text": "HTMLElement | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "_extendedMenu",
              "type": {
                "text": "HTMLElement | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "_cloneSources",
              "privacy": "private",
              "readonly": true,
              "default": "new WeakMap<HTMLElement, HTMLElement>()"
            },
            {
              "kind": "field",
              "name": "_lightDomClones",
              "privacy": "private",
              "readonly": true,
              "default": "new WeakMap<HTMLElement, HTMLElement>()"
            },
            {
              "kind": "field",
              "name": "_navItemsGap",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "_expandableMargin",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "_totalItemWidth",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "_resizeFrame",
              "type": {
                "text": "number | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "_resizeController",
              "type": {
                "text": "ResizeController"
              },
              "privacy": "private",
              "default": "new ResizeController(this, { callback: () => this._scheduleResize(), })"
            },
            {
              "kind": "field",
              "name": "_store",
              "type": {
                "text": "Store"
              },
              "privacy": "protected"
            },
            {
              "kind": "method",
              "name": "appendItem",
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "Element"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_cloneLightItem",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "HTMLElement"
                }
              },
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_syncLightDomItems",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "addExpandingAction",
              "parameters": [
                {
                  "name": "action",
                  "type": {
                    "text": "Element"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "_expandingActionObserver",
              "privacy": "private",
              "readonly": true,
              "default": "new MutationController(this, { target: null, config: {attributes: true, attributeFilter: ['open', 'method', 'basis']}, callback: () => this._scheduleResize(), })"
            },
            {
              "kind": "field",
              "name": "_scheduleResize",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_observeExpandingAction",
              "privacy": "private",
              "parameters": [
                {
                  "name": "action",
                  "type": {
                    "text": "Element"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_adoptNewLightItems",
              "privacy": "private",
              "parameters": [
                {
                  "name": "mutations",
                  "type": {
                    "text": "MutationRecord[]"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "_updateVisibility",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "itemCount",
              "return": {
                "type": {
                  "text": "number"
                }
              }
            },
            {
              "kind": "method",
              "name": "_resolveAvailableWidth",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              }
            },
            {
              "kind": "method",
              "name": "_measureTotalItemWidth",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              }
            },
            {
              "kind": "method",
              "name": "_getItemWidth",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              },
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_getHorizontalSpacing",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              },
              "parameters": [
                {
                  "name": "element",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_getMoreItemWidth",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              }
            },
            {
              "kind": "method",
              "name": "_syncLastVisibleItem",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_getExpandableWidth",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              },
              "parameters": [
                {
                  "name": "containerWidth",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "handleResize"
            },
            {
              "kind": "field",
              "name": "_syncExtendedActive",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "addItem",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "Element"
                  }
                },
                {
                  "name": "persist",
                  "default": "true",
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_loadStoredTabs",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_saveTabToStorage",
              "privacy": "private",
              "parameters": [
                {
                  "name": "newTab",
                  "type": {
                    "text": "StoredTab"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "handleClick",
              "privacy": "private"
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "attributes": [
            {
              "name": "navigation",
              "type": {
                "text": "array"
              },
              "default": "[]",
              "fieldName": "navigation"
            },
            {
              "name": "full-width",
              "type": {
                "text": "boolean"
              },
              "fieldName": "fullWidth"
            },
            {
              "name": "icon-bar",
              "type": {
                "text": "boolean"
              },
              "fieldName": "iconBar"
            },
            {
              "name": "slim",
              "type": {
                "text": "boolean"
              },
              "fieldName": "slim"
            },
            {
              "name": "border",
              "type": {
                "text": "boolean"
              },
              "fieldName": "border"
            },
            {
              "name": "hide-one",
              "type": {
                "text": "boolean"
              },
              "fieldName": "hideOne"
            },
            {
              "name": "flush",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "flush"
            },
            {
              "name": "gutter",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "gutter"
            },
            {
              "name": "stacked",
              "type": {
                "text": "boolean"
              },
              "fieldName": "stacked"
            },
            {
              "name": "dropdown",
              "type": {
                "text": "array"
              },
              "default": "[]",
              "fieldName": "dropdown"
            },
            {
              "name": "no-pad",
              "type": {
                "text": "false"
              },
              "fieldName": "noPad"
            },
            {
              "name": "manual-add-items",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "manualAddItems"
            },
            {
              "name": "isolated",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "isolated"
            },
            {
              "name": "color",
              "type": {
                "text": "string"
              },
              "fieldName": "color"
            },
            {
              "name": "master-id",
              "type": {
                "text": "string"
              },
              "fieldName": "masterId"
            },
            {
              "name": "store-key",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "storeKey"
            },
            {
              "name": "store-ttl",
              "type": {
                "text": "number"
              },
              "default": "0",
              "fieldName": "storeTtl"
            },
            {
              "name": "local-storage",
              "type": {
                "text": "boolean"
              },
              "fieldName": "localStorage"
            },
            {
              "name": "_appended",
              "type": {
                "text": "Element[]"
              },
              "fieldName": "_appended"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "navbar",
          "tagName": "zn-navbar",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/navbar\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-dropdown\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot expand - Expanding action panels rendered alongside the navbar items.\n * @slot bottom - Content rendered below the navbar row (e.g. chips, filters).\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/navbar",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-dropdown"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnNavbar",
            "module": "components/navbar/navbar.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/note/note.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnNote",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The note's caption.",
              "name": "caption"
            },
            {
              "description": "The note's date.",
              "name": "date"
            },
            {
              "description": "The note's body.",
              "name": "body"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "color",
              "type": {
                "text": "typeof colors[number]"
              },
              "attribute": "color",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "caption",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "caption",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "date",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "date",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "body",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "body",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'caption', 'date', '[default]', 'snippet', 'footer')"
            },
            {
              "kind": "field",
              "name": "expanded",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "method",
              "name": "_toggleExpand",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "void"
                }
              }
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "attributes": [
            {
              "name": "color",
              "type": {
                "text": "typeof colors[number]"
              },
              "fieldName": "color"
            },
            {
              "name": "caption",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "caption"
            },
            {
              "name": "date",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "date"
            },
            {
              "name": "body",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "body"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "note",
          "tagName": "zn-note",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/note\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot caption - The note's caption.\n * @slot date - The note's date.\n * @slot body - The note's body.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/note",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnNote",
            "module": "components/note/note.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/opt-group/opt-group.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnOptGroup",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The group label element.",
              "name": "label"
            }
          ],
          "slots": [
            {
              "description": "The default slot for `<zn-option>` elements.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The label for the opt-group, displayed as a non-selectable header above the grouped options.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables all options within the group.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "handleLabelChange"
            },
            {
              "kind": "method",
              "name": "handleDisabledChange"
            },
            {
              "kind": "method",
              "name": "handleSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "propagateDisabled",
              "privacy": "private"
            }
          ],
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The label for the opt-group, displayed as a non-selectable header above the grouped options.",
              "fieldName": "label"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables all options within the group.",
              "fieldName": "disabled"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Groups options within a `<zn-select>` under a labeled header, similar to `<optgroup>` in native HTML.",
          "tagNameWithoutPrefix": "opt-group",
          "tagName": "zn-opt-group",
          "customElement": true,
          "jsDoc": "/**\n * @summary Groups options within a `<zn-select>` under a labeled header, similar to `<optgroup>` in native HTML.\n * @documentation https://zinc.style/components/opt-group\n * @status experimental\n * @since 1.0\n *\n * @slot - The default slot for `<zn-option>` elements.\n *\n * @csspart base - The component's base wrapper.\n * @csspart label - The group label element.\n */",
          "documentation": "https://zinc.style/components/opt-group",
          "status": "experimental",
          "since": "1.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnOptGroup",
            "module": "components/opt-group/opt-group.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/option/option.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnOption",
          "cssParts": [
            {
              "description": "The checked option icon, an `<zn-icon>` element.",
              "name": "checked-option-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": "{ 'zn-icon': ZnIcon }"
            },
            {
              "kind": "field",
              "name": "cachedTextLabel",
              "type": {
                "text": "string"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "multiple",
              "type": {
                "text": "boolean"
              },
              "privacy": "public",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "defaultSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "kind": "field",
              "name": "current",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "hasHover",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "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 contain spaces when using JSON array syntax on the parent select.",
              "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": "field",
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "selected",
              "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": "getTextLabel",
              "description": "Returns a plain text label based on the option's content."
            }
          ],
          "attributes": [
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "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 contain spaces when using JSON array syntax on the parent select.",
              "fieldName": "value"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the option in a disabled state, preventing selection.",
              "fieldName": "disabled"
            },
            {
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "selected"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "option",
          "tagName": "zn-option",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/option\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-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-option-icon - The checked option icon, an `<zn-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://zinc.style/components/option",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-icon"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnOption",
            "module": "components/option/option.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/order-table/order-table.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnOrderTable",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "data",
              "type": {
                "text": "OrderTableData"
              },
              "attribute": "data",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "isMobile",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "modifiedData",
              "type": {
                "text": "OrderTableData"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "resizeEventHandler"
            },
            {
              "kind": "method",
              "name": "getHeaders"
            },
            {
              "kind": "method",
              "name": "getRows"
            },
            {
              "kind": "method",
              "name": "getCaption",
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "any"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getSubItems",
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "any"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getSummary"
            },
            {
              "kind": "method",
              "name": "getMobileRows",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getMobileSubItems",
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "any"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getMobileCaption",
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "any"
                  }
                },
                {
                  "name": "extra",
                  "type": {
                    "text": "any"
                  }
                }
              ]
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "attributes": [
            {
              "name": "data",
              "type": {
                "text": "OrderTableData"
              },
              "fieldName": "data"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "order-table",
          "tagName": "zn-order-table",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/order-table\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/order-table",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnOrderTable",
            "module": "components/order-table/order-table.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/page/page.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnPage",
          "slots": [
            {
              "description": "Page content. Use zn-tab for named tabs and header-action/header-actions for header actions.",
              "name": "",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "description": "Rich subtitle/description content. Falls back to the `summary` attribute when empty.",
              "name": "description"
            },
            {
              "description": "Content rendered below the navbar row (e.g. chips, filters). Forwarded to the navbar's bottom slot.",
              "name": "bottom"
            },
            {
              "description": "An example slot.",
              "name": "example",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'zn-button': ZnButton, 'zn-copy-button': ZnCopyButton, 'zn-expanding-action': ZnExpandingAction, 'zn-icon': ZnIcon, 'zn-navbar': ZnNavbar, 'zn-tab': ZnTab }"
            },
            {
              "kind": "field",
              "name": "pageSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'breadcrumb', 'actions', 'caption')"
            },
            {
              "kind": "field",
              "name": "caption",
              "type": {
                "text": "string"
              },
              "attribute": "caption",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "entityId",
              "type": {
                "text": "string"
              },
              "attribute": "entity-id"
            },
            {
              "kind": "field",
              "name": "entityIdShow",
              "type": {
                "text": "boolean"
              },
              "attribute": "entity-id-show"
            },
            {
              "kind": "field",
              "name": "fullLocation",
              "type": {
                "text": "string"
              },
              "attribute": "full-location"
            },
            {
              "kind": "field",
              "name": "modal",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "modal",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "nested",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "nested",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "primary",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "primary",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "previousPath",
              "type": {
                "text": "string"
              },
              "attribute": "previous-path"
            },
            {
              "kind": "field",
              "name": "previousTarget",
              "type": {
                "text": "string"
              },
              "attribute": "previous-target"
            },
            {
              "kind": "field",
              "name": "summary",
              "type": {
                "text": "string"
              },
              "attribute": "summary"
            },
            {
              "kind": "field",
              "name": "scrolled",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "tabDefinitions",
              "type": {
                "text": "TabDefinition[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "hasExpandingActions",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "actionObserver",
              "type": {
                "text": "MutationObserver | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "tabObserver",
              "type": {
                "text": "MutationObserver | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "pageHistoryKey",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "handleAltPress",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleAltUp",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleBreadcrumbSlotChange",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_registerTabs",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "getOwnExpandingActions",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getNavbar",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "refreshExpandingActionsState",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "syncExpandingActionsToNavbar",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "prepareTabs",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "parsePriority",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number | null"
                }
              },
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "string | null"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "compareTabs",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              },
              "parameters": [
                {
                  "name": "a",
                  "type": {
                    "text": "TabDefinition"
                  }
                },
                {
                  "name": "b",
                  "type": {
                    "text": "TabDefinition"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "captionToId",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "caption",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "uniqueId",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "id",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "usedIds",
                  "type": {
                    "text": "Set<string>"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handlePageScroll",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleNavigationSelect",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "ZnSelectEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getNavigationItemPage",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "ZnPage | null"
                }
              },
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "activateTab",
              "privacy": "private",
              "parameters": [
                {
                  "name": "tabId",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "store",
                  "type": {
                    "text": "boolean"
                  }
                },
                {
                  "name": "pushHistory",
                  "default": "false"
                }
              ]
            },
            {
              "kind": "method",
              "name": "activateInitialPageTab",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getTabStoreKey",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "description": "The key the active tab is persisted under. Null disables persistence.",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "activateDefaultTab",
              "privacy": "protected",
              "description": "Activates the tab the container starts on, ignoring any stored selection.",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "getPageHistoryKey",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              }
            },
            {
              "kind": "method",
              "name": "activateTabDefinition",
              "privacy": "private",
              "parameters": [
                {
                  "name": "tab",
                  "type": {
                    "text": "TabDefinition"
                  }
                },
                {
                  "name": "store",
                  "default": "false"
                }
              ]
            },
            {
              "kind": "method",
              "name": "findNavItemForUri",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "HTMLElement | null"
                }
              },
              "parameters": [
                {
                  "name": "uri",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "registerPagePanels",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "registerPageNavigationTabs",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "syncNavigationActive",
              "privacy": "private",
              "parameters": [
                {
                  "name": "activeItem",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "masterId",
              "type": {
                "text": "string"
              },
              "attribute": "master-id",
              "reflects": true,
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "defaultUri",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "default-uri",
              "reflects": true,
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "_current",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "active",
              "reflects": true,
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "_split",
              "type": {
                "text": "number"
              },
              "attribute": "split",
              "reflects": true,
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "_splitMin",
              "type": {
                "text": "number"
              },
              "default": "60",
              "attribute": "split-min",
              "reflects": true,
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "_splitMinSecondary",
              "type": {
                "text": "number"
              },
              "attribute": "split-min-secondary",
              "reflects": true,
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "_splitMax",
              "type": {
                "text": "number"
              },
              "attribute": "split-max",
              "reflects": true,
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "primaryCaption",
              "type": {
                "text": "string"
              },
              "default": "'Navigation'",
              "attribute": "primary-caption",
              "reflects": true,
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "secondaryCaption",
              "type": {
                "text": "string"
              },
              "default": "'Content'",
              "attribute": "secondary-caption",
              "reflects": true,
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "noPrefetch",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "no-prefetch",
              "reflects": true,
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "noCache",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "no-cache",
              "reflects": true,
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "localStorage",
              "type": {
                "text": "boolean"
              },
              "attribute": "local-storage",
              "reflects": true,
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "storeKey",
              "type": {
                "text": "string"
              },
              "attribute": "store-key",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "storeTtl",
              "type": {
                "text": "number"
              },
              "default": "0",
              "attribute": "store-ttl",
              "reflects": true,
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "padded",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "padded",
              "reflects": true,
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "fetchStyle",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "attribute": "fetch-style",
              "reflects": true,
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "fullWidth",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "full-width",
              "reflects": true,
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "paddedRight",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "padded-right",
              "reflects": true,
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "monitor",
              "type": {
                "text": "string"
              },
              "attribute": "monitor",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "description",
              "type": {
                "text": "string"
              },
              "attribute": "description",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "preload",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "default": "true",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "_store",
              "type": {
                "text": "Store"
              },
              "privacy": "protected",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "_activeClicks",
              "type": {
                "text": "number"
              },
              "privacy": "protected",
              "default": "0",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "_panel",
              "type": {
                "text": "Element | null | undefined"
              },
              "privacy": "private",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "_panels",
              "type": {
                "text": "Map<string, Element[]>"
              },
              "privacy": "private",
              "default": "new Map<string, Element[]>()",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "_activeTab",
              "type": {
                "text": "Element | null"
              },
              "privacy": "private",
              "default": "null",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "_tabs",
              "type": {
                "text": "HTMLElement[]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "_actions",
              "type": {
                "text": "HTMLElement[]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "_knownUri",
              "type": {
                "text": "Map<string, string>"
              },
              "privacy": "private",
              "default": "new Map<string, string>()",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "_defaultTab",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, '[default]', 'bottom', 'right', 'left', 'top', 'actions')",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "_domObserver",
              "privacy": "private",
              "readonly": true,
              "default": "new MutationController(this, { target: null, config: {childList: true, subtree: true}, callback: mutations => { mutations.forEach(mutation => { if (mutation.type !== 'childList') return; if (mutation.addedNodes.length > 0) { this._registerTabs(); } if (mutation.removedNodes.length > 0) { mutation.removedNodes.forEach(node => { const id = node instanceof HTMLElement ? node.id : ''; if (id) this.removeTabAndPanel(id); }); } }); }, })",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "_monitorObserver",
              "privacy": "private",
              "readonly": true,
              "default": "new MutationController(this, { target: null, config: {childList: true, subtree: true}, callback: mutations => { mutations.forEach(mutation => { if (mutation.type !== 'childList') return; mutation.addedNodes.forEach(node => { if (node instanceof HTMLElement && node.id === this.monitor) { this.reRegisterTabs(); const storedValue = this.getStoredTab(); if (storedValue !== null) { this.restoreStoredTab(storedValue); } } }); }); }, })",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "monitorDom",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "getStoredTab",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "string | null"
                }
              },
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "storeActiveTab",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "tabName",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "restoreStoredTab",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "stored",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "handlePopState",
              "privacy": "private",
              "readonly": true,
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "pushTabHistory",
              "privacy": "private",
              "parameters": [
                {
                  "name": "tabName",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "getUriForTabId",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string | null"
                }
              },
              "parameters": [
                {
                  "name": "tabId",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "_addPanel",
              "parameters": [
                {
                  "name": "panel",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "_addTab",
              "parameters": [
                {
                  "name": "tab",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "reRegisterTabs",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "switchTab",
              "parameters": [
                {
                  "name": "inc",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "nextTab",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "previousTab",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "_prepareTab",
              "parameters": [
                {
                  "name": "tabId",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "_uriToId",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "tabUri",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "_createUriPanel",
              "return": {
                "type": {
                  "text": "HTMLDivElement"
                }
              },
              "parameters": [
                {
                  "name": "tabEle",
                  "type": {
                    "text": "Element"
                  }
                },
                {
                  "name": "tabUri",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "tabId",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "_handleClick",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "fetchUriTab",
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "clickTab",
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  }
                },
                {
                  "name": "refresh",
                  "type": {
                    "text": "boolean"
                  }
                },
                {
                  "name": "pushHistory",
                  "default": "false"
                }
              ],
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "getRefTab",
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "setActiveTab",
              "parameters": [
                {
                  "name": "tabName",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "store",
                  "type": {
                    "text": "boolean"
                  }
                },
                {
                  "name": "refresh",
                  "type": {
                    "text": "boolean"
                  }
                },
                {
                  "name": "refTab",
                  "default": "null",
                  "type": {
                    "text": "string | null"
                  }
                },
                {
                  "name": "pushHistory",
                  "default": "false"
                }
              ],
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "_setTabEleActive",
              "parameters": [
                {
                  "name": "ele",
                  "type": {
                    "text": "Element"
                  }
                },
                {
                  "name": "active",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "selectTab",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "tabName",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "refresh",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "getActiveTab",
              "return": {
                "type": {
                  "text": "Element[]"
                }
              },
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "observerDom",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "removeTabAndPanel",
              "parameters": [
                {
                  "name": "tabId",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            }
          ],
          "attributes": [
            {
              "name": "caption",
              "type": {
                "text": "string"
              },
              "fieldName": "caption",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "entity-id",
              "type": {
                "text": "string"
              },
              "fieldName": "entityId"
            },
            {
              "name": "entity-id-show",
              "type": {
                "text": "boolean"
              },
              "fieldName": "entityIdShow"
            },
            {
              "name": "full-location",
              "type": {
                "text": "string"
              },
              "fieldName": "fullLocation"
            },
            {
              "name": "modal",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "modal"
            },
            {
              "name": "nested",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "nested"
            },
            {
              "name": "primary",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "primary"
            },
            {
              "name": "previous-path",
              "type": {
                "text": "string"
              },
              "fieldName": "previousPath"
            },
            {
              "name": "previous-target",
              "type": {
                "text": "string"
              },
              "fieldName": "previousTarget"
            },
            {
              "name": "summary",
              "type": {
                "text": "string"
              },
              "fieldName": "summary"
            },
            {
              "name": "master-id",
              "type": {
                "text": "string"
              },
              "fieldName": "masterId",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "default-uri",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "defaultUri",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "active",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "_current",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "split",
              "type": {
                "text": "number"
              },
              "fieldName": "_split",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "split-min",
              "type": {
                "text": "number"
              },
              "default": "60",
              "fieldName": "_splitMin",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "split-min-secondary",
              "type": {
                "text": "number"
              },
              "fieldName": "_splitMinSecondary",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "split-max",
              "type": {
                "text": "number"
              },
              "fieldName": "_splitMax",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "primary-caption",
              "type": {
                "text": "string"
              },
              "default": "'Navigation'",
              "fieldName": "primaryCaption",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "secondary-caption",
              "type": {
                "text": "string"
              },
              "default": "'Content'",
              "fieldName": "secondaryCaption",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "no-prefetch",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "noPrefetch",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "no-cache",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "noCache",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "local-storage",
              "type": {
                "text": "boolean"
              },
              "fieldName": "localStorage",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "store-key",
              "type": {
                "text": "string"
              },
              "fieldName": "storeKey",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "store-ttl",
              "type": {
                "text": "number"
              },
              "default": "0",
              "fieldName": "storeTtl",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "padded",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "padded",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "fetch-style",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "fieldName": "fetchStyle",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "full-width",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "fullWidth",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "padded-right",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "paddedRight",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "monitor",
              "type": {
                "text": "string"
              },
              "fieldName": "monitor",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "description",
              "type": {
                "text": "string"
              },
              "fieldName": "description",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            }
          ],
          "superclass": {
            "name": "ZnTabs",
            "module": "/src/components/tabs"
          },
          "summary": "Combines a page header with tab navigation and tab panels.",
          "tagNameWithoutPrefix": "page",
          "tagName": "zn-page",
          "customElement": true,
          "jsDoc": "/**\n * @summary Combines a page header with tab navigation and tab panels.\n * @documentation https://zinc.style/components/page\n * @status experimental\n * @since 1.0\n *\n * @slot - Page content. Use zn-tab for named tabs and header-action/header-actions for header actions.\n * @slot description - Rich subtitle/description content. Falls back to the `summary` attribute when empty.\n * @slot bottom - Content rendered below the navbar row (e.g. chips, filters). Forwarded to the navbar's bottom slot.\n */",
          "documentation": "https://zinc.style/components/page",
          "status": "experimental",
          "since": "1.0",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            }
          ],
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnPage",
            "module": "components/page/page.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/page-builder/page-builder.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnPageBuilder",
          "cssParts": [
            {
              "description": "The grid wrapper.",
              "name": "base"
            },
            {
              "description": "The full-width header action bar (only rendered when header slots are filled).",
              "name": "header"
            },
            {
              "description": "The left palette panel.",
              "name": "palette"
            },
            {
              "description": "The centre section-card canvas.",
              "name": "canvas"
            },
            {
              "description": "The right panel while a section is selected.",
              "name": "inspector"
            },
            {
              "description": "The inspector's fixed header (icon, section name, type, close).",
              "name": "inspector-header"
            },
            {
              "description": "The inspector's scrolling form area.",
              "name": "inspector-body"
            }
          ],
          "slots": [
            {
              "description": "`<template type=\"…\">` declarations; never displayed. Each template's attributes (type, label, icon, icon-library, color, category, description, slots, accepts) declare a palette entry and its content declares the inspector form for that type. `slots` makes the section a container with that many child slots; `accepts` is a comma-separated list of the type keys its slots allow.",
              "name": "config"
            },
            {
              "description": "Actions shown on the left of the header bar.",
              "name": "header-left"
            },
            {
              "description": "Actions shown on the right of the header bar.",
              "name": "header-right"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'zn-collapsible': ZnCollapsible, 'zn-icon': ZnIcon, 'zn-input': ZnInput, 'zn-page-palette-item': ZnPagePaletteItem, 'zn-page-section-card': ZnPageSectionCard, }"
            },
            {
              "kind": "field",
              "name": "formControlController",
              "privacy": "private",
              "readonly": true,
              "default": "new FormControlController(this)"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the control, submitted as a name/value pair with form data.",
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "form",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Associates the control with a form by id. The form must be in the same document or shadow root.",
              "attribute": "form",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "config",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The page state as a JSON string. Parsed on set; invalid JSON is ignored with a warning.",
              "attribute": "config"
            },
            {
              "kind": "field",
              "name": "heading",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "heading",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "subheading",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "subheading",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "requiredFirst",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Section type key that must lead the page. The builder hoists an existing section of\nthat type to the top, or inserts an empty one, and pins it there: it can't be\nremoved, reordered or dragged into a slot, and nothing can be dropped above it.\nIts content stays fully editable in the inspector.",
              "attribute": "required-first",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "sectionTypes",
              "type": {
                "text": "PageSectionType[]"
              },
              "default": "[]",
              "description": "Section types to make available, registered into the internal registry."
            },
            {
              "kind": "field",
              "name": "paletteCollapsed",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Collapses the left palette. Auto-set when the builder becomes narrow.",
              "attribute": "palette-collapsed",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "inspectorCollapsed",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Collapses the inspector while a section is selected.",
              "attribute": "inspector-collapsed",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "autoSave",
              "type": {
                "text": "number | null"
              },
              "default": "null",
              "description": "Auto-save the page to localStorage (1-day TTL). Omit to disable. A bare\n`auto-save` saves every 5 minutes; a numeric value sets the interval in\nminutes (`auto-save=\"2\"`). Restore with `restoreAutoSave()`.",
              "attribute": "auto-save"
            },
            {
              "kind": "field",
              "name": "registry",
              "privacy": "private",
              "default": "new PageSectionRegistry()"
            },
            {
              "kind": "field",
              "name": "_state",
              "type": {
                "text": "PageState"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_selectedId",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "_search",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "_pickerIndex",
              "type": {
                "text": "number | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Index of the drop zone whose \"+\" type picker is open, if any."
            },
            {
              "kind": "field",
              "name": "_dragOverIndex",
              "type": {
                "text": "number | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "_slotDragOver",
              "type": {
                "text": "{ containerId: string; index: number } | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The container slot a drag is currently over, if any."
            },
            {
              "kind": "field",
              "name": "_slotPicker",
              "type": {
                "text": "{ containerId: string; index: number } | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The container slot whose \"+\" type picker is open, if any."
            },
            {
              "kind": "field",
              "name": "_form",
              "type": {
                "text": "HTMLDivElement | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The stamped config form for the selected section; rebuilt on selection change."
            },
            {
              "kind": "field",
              "name": "_hasSlot",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'header-left', 'header-right')"
            },
            {
              "kind": "field",
              "name": "_history",
              "type": {
                "text": "PageState[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "_redoStack",
              "type": {
                "text": "PageState[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "state",
              "type": {
                "text": "PageState"
              },
              "description": "Replaces the page state wholesale (does not emit zn-page-change)."
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "Replaces the page state from a JSON string (does not emit zn-page-change)."
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "description": "The serialised state of the last externally loaded page — restored on form reset."
            },
            {
              "kind": "field",
              "name": "validity",
              "type": {
                "text": "ValidityState"
              },
              "description": "Gets the validity state object.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "type": {
                "text": "string"
              },
              "description": "Gets the validation message.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "description": "Checks for validity but does not show a validation message."
            },
            {
              "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": "handleConfigChange"
            },
            {
              "kind": "method",
              "name": "handleRequiredFirstChange"
            },
            {
              "kind": "method",
              "name": "handleSectionTypesChange"
            },
            {
              "kind": "method",
              "name": "registerSectionType",
              "return": {
                "type": {
                  "text": "this"
                }
              },
              "parameters": [
                {
                  "name": "type",
                  "type": {
                    "text": "PageSectionType"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "registerSectionTypes",
              "return": {
                "type": {
                  "text": "this"
                }
              },
              "parameters": [
                {
                  "name": "types",
                  "type": {
                    "text": "PageSectionType[]"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "_wasNarrow",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Auto-collapses the palette when the builder crosses into narrow — only on the\ncrossing, so re-expanding while narrow stays a user choice."
            },
            {
              "kind": "field",
              "name": "_resizeObserver",
              "privacy": "private",
              "default": "new ResizeObserver(entries => { const width = entries[0]?.contentRect.width ?? 0; if (width <= 0) return; const narrow = width < NARROW_WIDTH; if (narrow && !this._wasNarrow) this.paletteCollapsed = true; this._wasNarrow = narrow; })"
            },
            {
              "kind": "field",
              "name": "_autoSaveTimer",
              "type": {
                "text": "number | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "_statusTimer",
              "type": {
                "text": "number | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "_justSavedTimer",
              "type": {
                "text": "number | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "_restoring",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Guards the restore prompt from re-triggering on restoreAutoSave's own state install."
            },
            {
              "kind": "field",
              "name": "_lastSavedAt",
              "type": {
                "text": "number | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "Epoch of the newest auto-save (also picked up from storage on start)."
            },
            {
              "kind": "field",
              "name": "_justSaved",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Briefly true right after a save — flashes \"Auto-saved\" in the status pill."
            },
            {
              "kind": "field",
              "name": "_statusNow",
              "privacy": "private",
              "description": "Re-render clock for the \"last saved Xm ago\" label."
            },
            {
              "kind": "field",
              "name": "_restorePrompt",
              "type": {
                "text": "{ savedAt: number } | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "A fresh auto-save differing from the loaded page — offer to restore it."
            },
            {
              "kind": "field",
              "name": "_autoSaveKey",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "description": "localStorage key for this builder's auto-saves — its id, else its heading.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "_stopAutoSave",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_restartAutoSave",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_autoSaveTick",
              "privacy": "private",
              "description": "An empty page is never saved — it would clobber a stored page with nothing."
            },
            {
              "kind": "method",
              "name": "_readAutoSave",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "{ savedAt: number; state: PageState } | null"
                }
              },
              "description": "The stored auto-save, purging it when past its TTL (or unreadable)."
            },
            {
              "kind": "field",
              "name": "restoreAutoSave",
              "description": "Load the auto-saved page, if one exists within the 1-day TTL."
            },
            {
              "kind": "method",
              "name": "_offerRestoreIfNewer",
              "privacy": "private",
              "description": "A page was just loaded — when a fresh auto-save differs from it, ask the\nuser whether to pick up their draft instead."
            },
            {
              "kind": "method",
              "name": "_typeFromTemplate",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "PageSectionType | null"
                }
              },
              "parameters": [
                {
                  "name": "el",
                  "type": {
                    "text": "HTMLTemplateElement"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "_registerSlottedTemplates",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_applyExternalState",
              "privacy": "private",
              "parameters": [
                {
                  "name": "next",
                  "type": {
                    "text": "PageState"
                  }
                }
              ],
              "description": "Normalises and installs an externally provided state; resets selection."
            },
            {
              "kind": "field",
              "name": "_pinnedId",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "description": "Id of the section pinned to the top of the page, or null when `required-first`\nis unset. Derived from the state rather than stored on it, so nothing about the\nlock leaks into the persisted config.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "_isPinned",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "id",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "_firstFreeIndex",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "description": "Lowest top-level index a section may be added or moved to.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "_requireFirst",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "PageSection[]"
                }
              },
              "parameters": [
                {
                  "name": "sections",
                  "type": {
                    "text": "PageSection[]"
                  }
                }
              ],
              "description": "Sections reordered so `required-first` leads the page: an existing section of that\ntype is hoisted to the front, otherwise an empty one is prepended. Returns the\nargument unchanged when there is nothing to do, so callers can compare by identity."
            },
            {
              "kind": "method",
              "name": "_findSection",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "PageSection | undefined"
                }
              },
              "parameters": [
                {
                  "name": "id",
                  "type": {
                    "text": "string | null"
                  }
                }
              ],
              "description": "Finds a section by id, searching top-level sections and slotted children."
            },
            {
              "kind": "method",
              "name": "_patchSection",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "PageSection[]"
                }
              },
              "parameters": [
                {
                  "name": "id",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "patch",
                  "type": {
                    "text": "(s: PageSection) => PageSection"
                  }
                }
              ],
              "description": "New sections array with the section patched wherever it lives (top level or slot)."
            },
            {
              "kind": "method",
              "name": "_extract",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "[PageSection | undefined, PageSection[]]"
                }
              },
              "parameters": [
                {
                  "name": "id",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Detaches a section wherever it lives: removed from the top level, or its slot nulled."
            },
            {
              "kind": "method",
              "name": "_commit",
              "privacy": "private",
              "parameters": [
                {
                  "name": "next",
                  "type": {
                    "text": "PageState"
                  }
                }
              ],
              "description": "Installs a new state from a user edit and notifies listeners."
            },
            {
              "kind": "method",
              "name": "_selectedSection",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "PageSection | undefined"
                }
              }
            },
            {
              "kind": "method",
              "name": "_select",
              "privacy": "private",
              "parameters": [
                {
                  "name": "id",
                  "type": {
                    "text": "string | null"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_pushHistory",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "undo"
            },
            {
              "kind": "field",
              "name": "redo"
            },
            {
              "kind": "method",
              "name": "addSection",
              "return": {
                "type": {
                  "text": "PageSection | null"
                }
              },
              "parameters": [
                {
                  "name": "type",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "index",
                  "optional": true,
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Adds a section of a registered type at `index` (default: end). Returns null for unknown types."
            },
            {
              "kind": "method",
              "name": "addSectionToSlot",
              "return": {
                "type": {
                  "text": "PageSection | null"
                }
              },
              "parameters": [
                {
                  "name": "type",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "containerId",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "slotIndex",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Adds a new section of a registered type into a container's slot. Returns null if not allowed."
            },
            {
              "kind": "method",
              "name": "_removeSection",
              "privacy": "private",
              "parameters": [
                {
                  "name": "id",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_duplicateSection",
              "privacy": "private",
              "parameters": [
                {
                  "name": "id",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_moveSection",
              "privacy": "private",
              "parameters": [
                {
                  "name": "id",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Moves a section (top-level or slotted) to a top-level position."
            },
            {
              "kind": "method",
              "name": "_moveToSlot",
              "privacy": "private",
              "parameters": [
                {
                  "name": "id",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "containerId",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "slotIndex",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Moves a section into a container's slot. Dropping onto an occupied slot swaps\nthe two children (slot-to-slot reordering); top-level sections and containers\nonly enter empty slots / never enter slots respectively."
            },
            {
              "kind": "method",
              "name": "_onCardDragStart",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "DragEvent"
                  }
                },
                {
                  "name": "id",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_isPageDrag",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "DragEvent"
                  }
                }
              ],
              "description": "Whether a drag carries one of the builder's own payloads."
            },
            {
              "kind": "method",
              "name": "_onSlotDragOver",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "DragEvent"
                  }
                },
                {
                  "name": "containerId",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_onSlotDrop",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "DragEvent"
                  }
                },
                {
                  "name": "containerId",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_onZoneDragOver",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "DragEvent"
                  }
                },
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_onZoneDrop",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "DragEvent"
                  }
                },
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "_onCanvasDragOver",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_onCanvasDrop",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_onCardKeydown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                },
                {
                  "name": "id",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_renderPalette",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_renderPaletteItem",
              "privacy": "private",
              "parameters": [
                {
                  "name": "type",
                  "type": {
                    "text": "PageSectionType"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_renderAutoSaveStatus",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_renderRestorePrompt",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_renderCanvas",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_renderSectionCard",
              "privacy": "private",
              "parameters": [
                {
                  "name": "section",
                  "type": {
                    "text": "PageSection"
                  }
                },
                {
                  "name": "drop",
                  "type": {
                    "text": "{ over: (e: DragEvent) => void; drop: (e: DragEvent) => void }"
                  }
                },
                {
                  "name": "extraClass",
                  "default": "''"
                }
              ],
              "description": "The one card template both the page list and slot cells render."
            },
            {
              "kind": "method",
              "name": "_renderCard",
              "privacy": "private",
              "parameters": [
                {
                  "name": "section",
                  "type": {
                    "text": "PageSection"
                  }
                },
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_renderSlot",
              "privacy": "private",
              "parameters": [
                {
                  "name": "container",
                  "type": {
                    "text": "PageSection"
                  }
                },
                {
                  "name": "child",
                  "type": {
                    "text": "PageSection | null"
                  }
                },
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_slotTypes",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "PageSectionType[]"
                }
              },
              "parameters": [
                {
                  "name": "container",
                  "type": {
                    "text": "PageSection"
                  }
                }
              ],
              "description": "Types allowed in a container's slots: non-containers, filtered by its accepts list."
            },
            {
              "kind": "method",
              "name": "_renderTypePicker",
              "privacy": "private",
              "parameters": [
                {
                  "name": "types",
                  "type": {
                    "text": "PageSectionType[]"
                  }
                },
                {
                  "name": "pick",
                  "type": {
                    "text": "(type: string) => void"
                  }
                }
              ],
              "description": "The one type-picker template both drop zones and slot cells render."
            },
            {
              "kind": "method",
              "name": "_renderDropZone",
              "privacy": "private",
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_buildInspectorForm",
              "privacy": "private",
              "description": "Clones the selected type's config template into a live form and prefills each\n`[name]` control from the section's data. The element is rendered directly by\nLit (`${this._form}`) so user-entered values survive unrelated re-renders."
            },
            {
              "kind": "method",
              "name": "_isBooleanControl",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "control",
                  "type": {
                    "text": "HTMLElement"
                  }
                },
                {
                  "name": "value",
                  "type": {
                    "text": "unknown"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "_onInspectorInput",
              "privacy": "private",
              "description": "Handles change/input events bubbling from stamped form controls."
            },
            {
              "kind": "method",
              "name": "_updateSectionData",
              "privacy": "private",
              "parameters": [
                {
                  "name": "id",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "patch",
                  "type": {
                    "text": "Record<string, unknown>"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_renameSection",
              "privacy": "private",
              "parameters": [
                {
                  "name": "id",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "label",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_renderInspector",
              "privacy": "private"
            }
          ],
          "events": [
            {
              "description": "Emitted whenever the page state changes. `event.detail.state` is the new PageState.",
              "name": "zn-page-change"
            },
            {
              "description": "Emitted when the selected section changes. `event.detail.sectionId`.",
              "name": "zn-page-selection-change"
            }
          ],
          "attributes": [
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the control, submitted as a name/value pair with form data.",
              "fieldName": "name"
            },
            {
              "name": "form",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Associates the control with a form by id. The form must be in the same document or shadow root.",
              "fieldName": "form"
            },
            {
              "name": "config",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The page state as a JSON string. Parsed on set; invalid JSON is ignored with a warning.",
              "fieldName": "config"
            },
            {
              "name": "heading",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "heading"
            },
            {
              "name": "subheading",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "subheading"
            },
            {
              "name": "required-first",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Section type key that must lead the page. The builder hoists an existing section of\nthat type to the top, or inserts an empty one, and pins it there: it can't be\nremoved, reordered or dragged into a slot, and nothing can be dropped above it.\nIts content stays fully editable in the inspector.",
              "fieldName": "requiredFirst"
            },
            {
              "name": "palette-collapsed",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Collapses the left palette. Auto-set when the builder becomes narrow.",
              "fieldName": "paletteCollapsed"
            },
            {
              "name": "inspector-collapsed",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Collapses the inspector while a section is selected.",
              "fieldName": "inspectorCollapsed"
            },
            {
              "name": "auto-save",
              "type": {
                "text": "number | null"
              },
              "default": "null",
              "description": "Auto-save the page to localStorage (1-day TTL). Omit to disable. A bare\n`auto-save` saves every 5 minutes; a numeric value sets the interval in\nminutes (`auto-save=\"2\"`). Restore with `restoreAutoSave()`.",
              "fieldName": "autoSave"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "A config-driven page composer: a palette of predefined section types, a linear\ncanvas of section cards, and an inspector for editing each section's content.",
          "tagNameWithoutPrefix": "page-builder",
          "tagName": "zn-page-builder",
          "customElement": true,
          "jsDoc": "/**\n * @summary A config-driven page composer: a palette of predefined section types, a linear\n *   canvas of section cards, and an inspector for editing each section's content.\n * @documentation https://zinc.style/components/page-builder\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-collapsible\n * @dependency zn-icon\n * @dependency zn-input\n * @dependency zn-page-palette-item\n * @dependency zn-page-section-card\n *\n * @event zn-page-change - Emitted whenever the page state changes. `event.detail.state` is the new PageState.\n * @event zn-page-selection-change - Emitted when the selected section changes. `event.detail.sectionId`.\n *\n * @slot config - `<template type=\"…\">` declarations; never displayed. Each template's attributes\n *   (type, label, icon, icon-library, color, category, description, slots, accepts) declare a\n *   palette entry and its content declares the inspector form for that type. `slots` makes the\n *   section a container with that many child slots; `accepts` is a comma-separated list of the\n *   type keys its slots allow.\n * @slot header-left - Actions shown on the left of the header bar.\n * @slot header-right - Actions shown on the right of the header bar.\n *\n * @csspart base - The grid wrapper.\n * @csspart header - The full-width header action bar (only rendered when header slots are filled).\n * @csspart palette - The left palette panel.\n * @csspart canvas - The centre section-card canvas.\n * @csspart inspector - The right panel while a section is selected.\n * @csspart inspector-header - The inspector's fixed header (icon, section name, type, close).\n * @csspart inspector-body - The inspector's scrolling form area.\n */",
          "documentation": "https://zinc.style/components/page-builder",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-collapsible",
            "zn-icon",
            "zn-input",
            "zn-page-palette-item",
            "zn-page-section-card"
          ]
        },
        {
          "kind": "variable",
          "name": "type"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnPageBuilder",
            "module": "components/page-builder/page-builder.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/page-nav/page-nav.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnPageNav",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": "",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "description": "An example slot.",
              "name": "example",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "navigation",
              "type": {
                "text": "PageNavData"
              },
              "attribute": "navigation"
            },
            {
              "kind": "field",
              "name": "breadcrumb",
              "type": {
                "text": "string"
              }
            },
            {
              "kind": "method",
              "name": "toggleNavigation"
            },
            {
              "kind": "method",
              "name": "setActiveTab",
              "parameters": [
                {
                  "name": "tabName",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "store",
                  "type": {
                    "text": "boolean"
                  }
                },
                {
                  "name": "refresh",
                  "type": {
                    "text": "boolean"
                  }
                },
                {
                  "name": "refTab",
                  "default": "null",
                  "type": {
                    "text": "string | null"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "clickTab",
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  }
                },
                {
                  "name": "refresh",
                  "type": {
                    "text": "boolean"
                  }
                },
                {
                  "name": "close",
                  "default": "true"
                }
              ],
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "masterId",
              "type": {
                "text": "string"
              },
              "attribute": "master-id",
              "reflects": true,
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "defaultUri",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "default-uri",
              "reflects": true,
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "_current",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "active",
              "reflects": true,
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "_split",
              "type": {
                "text": "number"
              },
              "attribute": "split",
              "reflects": true,
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "_splitMin",
              "type": {
                "text": "number"
              },
              "default": "60",
              "attribute": "split-min",
              "reflects": true,
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "_splitMinSecondary",
              "type": {
                "text": "number"
              },
              "attribute": "split-min-secondary",
              "reflects": true,
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "_splitMax",
              "type": {
                "text": "number"
              },
              "attribute": "split-max",
              "reflects": true,
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "primaryCaption",
              "type": {
                "text": "string"
              },
              "default": "'Navigation'",
              "attribute": "primary-caption",
              "reflects": true,
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "secondaryCaption",
              "type": {
                "text": "string"
              },
              "default": "'Content'",
              "attribute": "secondary-caption",
              "reflects": true,
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "noPrefetch",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "no-prefetch",
              "reflects": true,
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "noCache",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "no-cache",
              "reflects": true,
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "localStorage",
              "type": {
                "text": "boolean"
              },
              "attribute": "local-storage",
              "reflects": true,
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "storeKey",
              "type": {
                "text": "string"
              },
              "attribute": "store-key",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "storeTtl",
              "type": {
                "text": "number"
              },
              "default": "0",
              "attribute": "store-ttl",
              "reflects": true,
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "padded",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "padded",
              "reflects": true,
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "fetchStyle",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "attribute": "fetch-style",
              "reflects": true,
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "fullWidth",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "full-width",
              "reflects": true,
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "paddedRight",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "padded-right",
              "reflects": true,
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "monitor",
              "type": {
                "text": "string"
              },
              "attribute": "monitor",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "caption",
              "type": {
                "text": "string"
              },
              "attribute": "caption",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "description",
              "type": {
                "text": "string"
              },
              "attribute": "description",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "preload",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "default": "true",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "_store",
              "type": {
                "text": "Store"
              },
              "privacy": "protected",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "_activeClicks",
              "type": {
                "text": "number"
              },
              "privacy": "protected",
              "default": "0",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "_panel",
              "type": {
                "text": "Element | null | undefined"
              },
              "privacy": "private",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "_panels",
              "type": {
                "text": "Map<string, Element[]>"
              },
              "privacy": "private",
              "default": "new Map<string, Element[]>()",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "_activeTab",
              "type": {
                "text": "Element | null"
              },
              "privacy": "private",
              "default": "null",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "_tabs",
              "type": {
                "text": "HTMLElement[]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "_actions",
              "type": {
                "text": "HTMLElement[]"
              },
              "privacy": "private",
              "default": "[]",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "_knownUri",
              "type": {
                "text": "Map<string, string>"
              },
              "privacy": "private",
              "default": "new Map<string, string>()",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "_defaultTab",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, '[default]', 'bottom', 'right', 'left', 'top', 'actions')",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "_domObserver",
              "privacy": "private",
              "readonly": true,
              "default": "new MutationController(this, { target: null, config: {childList: true, subtree: true}, callback: mutations => { mutations.forEach(mutation => { if (mutation.type !== 'childList') return; if (mutation.addedNodes.length > 0) { this._registerTabs(); } if (mutation.removedNodes.length > 0) { mutation.removedNodes.forEach(node => { const id = node instanceof HTMLElement ? node.id : ''; if (id) this.removeTabAndPanel(id); }); } }); }, })",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "_monitorObserver",
              "privacy": "private",
              "readonly": true,
              "default": "new MutationController(this, { target: null, config: {childList: true, subtree: true}, callback: mutations => { mutations.forEach(mutation => { if (mutation.type !== 'childList') return; mutation.addedNodes.forEach(node => { if (node instanceof HTMLElement && node.id === this.monitor) { this.reRegisterTabs(); const storedValue = this.getStoredTab(); if (storedValue !== null) { this.restoreStoredTab(storedValue); } } }); }); }, })",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "monitorDom",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "getTabStoreKey",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "string | null"
                }
              },
              "description": "The key the active tab is persisted under. Null disables persistence.",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "getStoredTab",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "string | null"
                }
              },
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "storeActiveTab",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "tabName",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "restoreStoredTab",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "stored",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "activateDefaultTab",
              "privacy": "protected",
              "description": "Activates the tab the container starts on, ignoring any stored selection.",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "handlePopState",
              "privacy": "private",
              "readonly": true,
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "pushTabHistory",
              "privacy": "private",
              "parameters": [
                {
                  "name": "tabName",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "getUriForTabId",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string | null"
                }
              },
              "parameters": [
                {
                  "name": "tabId",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "_addPanel",
              "parameters": [
                {
                  "name": "panel",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "_addTab",
              "parameters": [
                {
                  "name": "tab",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "reRegisterTabs",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "switchTab",
              "parameters": [
                {
                  "name": "inc",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "nextTab",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "previousTab",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "_prepareTab",
              "parameters": [
                {
                  "name": "tabId",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "_uriToId",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "tabUri",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "_createUriPanel",
              "return": {
                "type": {
                  "text": "HTMLDivElement"
                }
              },
              "parameters": [
                {
                  "name": "tabEle",
                  "type": {
                    "text": "Element"
                  }
                },
                {
                  "name": "tabUri",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "tabId",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "_handleClick",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "fetchUriTab",
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "getRefTab",
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "_setTabEleActive",
              "parameters": [
                {
                  "name": "ele",
                  "type": {
                    "text": "Element"
                  }
                },
                {
                  "name": "active",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "selectTab",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "tabName",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "refresh",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "getActiveTab",
              "return": {
                "type": {
                  "text": "Element[]"
                }
              },
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "observerDom",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "method",
              "name": "removeTabAndPanel",
              "parameters": [
                {
                  "name": "tabId",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            },
            {
              "kind": "field",
              "name": "_registerTabs",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "components/tabs/tabs.js"
              }
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            }
          ],
          "attributes": [
            {
              "name": "navigation",
              "type": {
                "text": "PageNavData"
              },
              "fieldName": "navigation"
            },
            {
              "name": "master-id",
              "type": {
                "text": "string"
              },
              "fieldName": "masterId",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "default-uri",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "defaultUri",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "active",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "_current",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "split",
              "type": {
                "text": "number"
              },
              "fieldName": "_split",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "split-min",
              "type": {
                "text": "number"
              },
              "default": "60",
              "fieldName": "_splitMin",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "split-min-secondary",
              "type": {
                "text": "number"
              },
              "fieldName": "_splitMinSecondary",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "split-max",
              "type": {
                "text": "number"
              },
              "fieldName": "_splitMax",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "primary-caption",
              "type": {
                "text": "string"
              },
              "default": "'Navigation'",
              "fieldName": "primaryCaption",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "secondary-caption",
              "type": {
                "text": "string"
              },
              "default": "'Content'",
              "fieldName": "secondaryCaption",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "no-prefetch",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "noPrefetch",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "no-cache",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "noCache",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "local-storage",
              "type": {
                "text": "boolean"
              },
              "fieldName": "localStorage",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "store-key",
              "type": {
                "text": "string"
              },
              "fieldName": "storeKey",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "store-ttl",
              "type": {
                "text": "number"
              },
              "default": "0",
              "fieldName": "storeTtl",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "padded",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "padded",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "fetch-style",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "fieldName": "fetchStyle",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "full-width",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "fullWidth",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "padded-right",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "paddedRight",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "monitor",
              "type": {
                "text": "string"
              },
              "fieldName": "monitor",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "caption",
              "type": {
                "text": "string"
              },
              "fieldName": "caption",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            },
            {
              "name": "description",
              "type": {
                "text": "string"
              },
              "fieldName": "description",
              "inheritedFrom": {
                "name": "ZnTabs",
                "module": "src/components/tabs/tabs.component.ts"
              }
            }
          ],
          "superclass": {
            "name": "ZnTabs",
            "module": "/src/components/tabs"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "page-nav",
          "tagName": "zn-page-nav",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/page-nav\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/page-nav",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnPageNav",
            "module": "components/page-nav/page-nav.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/pagination/pagination.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnPagination",
          "members": [
            {
              "kind": "field",
              "name": "limit",
              "type": {
                "text": "number"
              },
              "default": "10",
              "attribute": "limit",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "total",
              "type": {
                "text": "number"
              },
              "default": "0",
              "attribute": "total",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "page",
              "type": {
                "text": "number"
              },
              "default": "1",
              "attribute": "page",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "uri",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "attribute": "uri",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "_createLink",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "page",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_calculatePages",
              "privacy": "protected"
            }
          ],
          "attributes": [
            {
              "name": "limit",
              "type": {
                "text": "number"
              },
              "default": "10",
              "fieldName": "limit"
            },
            {
              "name": "total",
              "type": {
                "text": "number"
              },
              "default": "0",
              "fieldName": "total"
            },
            {
              "name": "page",
              "type": {
                "text": "number"
              },
              "default": "1",
              "fieldName": "page"
            },
            {
              "name": "uri",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "fieldName": "uri"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Pagination component for navigating through pages of content.",
          "tagNameWithoutPrefix": "pagination",
          "tagName": "zn-pagination",
          "customElement": true,
          "jsDoc": "/**\n * @summary Pagination component for navigating through pages of content.\n * @documentation https://zinc.style/components/pagination\n * @status experimental\n * @since 1.0\n */",
          "documentation": "https://zinc.style/components/pagination",
          "status": "experimental",
          "since": "1.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnPagination",
            "module": "components/pagination/pagination.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/pane/pane.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnPane",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "flush",
              "type": {
                "text": "boolean"
              },
              "attribute": "flush"
            },
            {
              "kind": "field",
              "name": "_header",
              "type": {
                "text": "HTMLElement | null"
              },
              "privacy": "protected",
              "default": "null"
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "attributes": [
            {
              "name": "flush",
              "type": {
                "text": "boolean"
              },
              "fieldName": "flush"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "pane",
          "tagName": "zn-pane",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/pane\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/pane",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnPane",
            "module": "components/pane/pane.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/panel/panel.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnPanel",
          "cssProperties": [
            {
              "description": "The flex-basis of the panel. Can be set using the basis-px attribute.",
              "name": "--zn-panel-basis"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The panel's main content.",
              "name": ""
            },
            {
              "description": "Actions displayed in the panel header (buttons, chips, etc).",
              "name": "actions"
            },
            {
              "description": "Content displayed in the panel footer.",
              "name": "footer"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, '[default]', 'actions', 'footer')"
            },
            {
              "kind": "field",
              "name": "basis",
              "type": {
                "text": "number"
              },
              "attribute": "basis-px"
            },
            {
              "kind": "field",
              "name": "caption",
              "type": {
                "text": "string"
              },
              "attribute": "caption"
            },
            {
              "kind": "field",
              "name": "icon",
              "type": {
                "text": "string"
              },
              "attribute": "icon"
            },
            {
              "kind": "field",
              "name": "tabbed",
              "type": {
                "text": "boolean"
              },
              "attribute": "tabbed"
            },
            {
              "kind": "field",
              "name": "headerBorderless",
              "type": {
                "text": "boolean"
              },
              "attribute": "header-borderless"
            },
            {
              "kind": "field",
              "name": "cosmic",
              "type": {
                "text": "boolean"
              },
              "attribute": "cosmic"
            },
            {
              "kind": "field",
              "name": "flush",
              "type": {
                "text": "boolean"
              },
              "attribute": "flush"
            },
            {
              "kind": "field",
              "name": "flushX",
              "type": {
                "text": "boolean"
              },
              "attribute": "flush-x"
            },
            {
              "kind": "field",
              "name": "flushY",
              "type": {
                "text": "boolean"
              },
              "attribute": "flush-y"
            },
            {
              "kind": "field",
              "name": "flushFooter",
              "type": {
                "text": "boolean"
              },
              "attribute": "flush-footer"
            },
            {
              "kind": "field",
              "name": "transparent",
              "type": {
                "text": "boolean"
              },
              "attribute": "transparent"
            },
            {
              "kind": "field",
              "name": "shadow",
              "type": {
                "text": "boolean"
              },
              "attribute": "shadow"
            }
          ],
          "attributes": [
            {
              "name": "basis-px",
              "type": {
                "text": "number"
              },
              "fieldName": "basis"
            },
            {
              "name": "caption",
              "type": {
                "text": "string"
              },
              "fieldName": "caption"
            },
            {
              "name": "icon",
              "type": {
                "text": "string"
              },
              "fieldName": "icon"
            },
            {
              "name": "tabbed",
              "type": {
                "text": "boolean"
              },
              "fieldName": "tabbed"
            },
            {
              "name": "header-borderless",
              "type": {
                "text": "boolean"
              },
              "fieldName": "headerBorderless"
            },
            {
              "name": "cosmic",
              "type": {
                "text": "boolean"
              },
              "fieldName": "cosmic"
            },
            {
              "name": "flush",
              "type": {
                "text": "boolean"
              },
              "fieldName": "flush"
            },
            {
              "name": "flush-x",
              "type": {
                "text": "boolean"
              },
              "fieldName": "flushX"
            },
            {
              "name": "flush-y",
              "type": {
                "text": "boolean"
              },
              "fieldName": "flushY"
            },
            {
              "name": "flush-footer",
              "type": {
                "text": "boolean"
              },
              "fieldName": "flushFooter"
            },
            {
              "name": "transparent",
              "type": {
                "text": "boolean"
              },
              "fieldName": "transparent"
            },
            {
              "name": "shadow",
              "type": {
                "text": "boolean"
              },
              "fieldName": "shadow"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Panels are versatile containers that provide structure for organizing content with optional headers and footers.",
          "tagNameWithoutPrefix": "panel",
          "tagName": "zn-panel",
          "customElement": true,
          "jsDoc": "/**\n * @summary Panels are versatile containers that provide structure for organizing content with optional headers and footers.\n * @documentation https://zinc.style/components/panel\n * @status experimental\n * @since 1.0\n *\n * @slot - The panel's main content.\n * @slot actions - Actions displayed in the panel header (buttons, chips, etc).\n * @slot footer - Content displayed in the panel footer.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --zn-panel-basis - The flex-basis of the panel. Can be set using the basis-px attribute.\n */",
          "documentation": "https://zinc.style/components/panel",
          "status": "experimental",
          "since": "1.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnPanel",
            "module": "components/panel/panel.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/popup/popup.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnPopup",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "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": "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": "strategy",
              "type": {
                "text": "'absolute' | 'fixed'"
              },
              "default": "'fixed'",
              "description": "Determines how the popup is positioned. The `absolute` strategy works well in most cases, but if overflow is\nclipped, using a `fixed` position strategy can often workaround it.",
              "attribute": "strategy",
              "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": "field",
              "name": "handleAnchorHover",
              "privacy": "public"
            },
            {
              "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 as an example.",
              "name": "zn-event-name"
            }
          ],
          "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": "strategy",
              "type": {
                "text": "'absolute' | 'fixed'"
              },
              "default": "'fixed'",
              "description": "Determines how the popup is positioned. The `absolute` strategy works well in most cases, but if overflow is\nclipped, using a `fixed` position strategy can often workaround it.",
              "fieldName": "strategy"
            },
            {
              "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": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "popup",
          "tagName": "zn-popup",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/popup\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/popup",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnPopup",
            "module": "components/popup/popup.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/preview-frame/preview-frame.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnPreviewFrame",
          "cssProperties": [
            {
              "description": "Spacing of the backdrop dot grid (`backdrop=\"dots\"`). Defaults to 20px.",
              "name": "--zn-preview-frame-dot-spacing"
            },
            {
              "description": "Opacity of the backdrop dots (`backdrop=\"dots\"`). Defaults to 0.08.",
              "name": "--zn-preview-frame-dot-opacity"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The device-width wrapper around the iframe.",
              "name": "stage"
            },
            {
              "description": "The preview iframe.",
              "name": "iframe"
            },
            {
              "description": "The error overlay.",
              "name": "error"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "src",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "URL of the preview shell page (tokened embed URL).",
              "attribute": "src"
            },
            {
              "kind": "field",
              "name": "frameOrigin",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Expected origin of the iframe; all postMessage traffic is checked against it.",
              "attribute": "frame-origin"
            },
            {
              "kind": "field",
              "name": "dataUri",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Endpoint returning the hp-preview:config payload JSON. The console proxy rewrites this attribute to an app-prefixed path for proper fetch resolution.",
              "attribute": "data-uri"
            },
            {
              "kind": "field",
              "name": "watch",
              "type": {
                "text": "string"
              },
              "default": "'form[data-auto-save]'",
              "description": "Selector (resolved against the component's root node) for the forms to watch.\nDefaults to only forms explicitly opted in via a `data-auto-save` attribute —\nunmarked forms keep normal submit behavior and are never intercepted,\nauto-saved, or used to trigger a preview refresh. Override to widen the scope.",
              "attribute": "watch"
            },
            {
              "kind": "field",
              "name": "refreshOn",
              "type": {
                "text": "string"
              },
              "default": "'form'",
              "description": "Selector for forms whose saves are left to the shell but should still\nrefresh the preview. These are never intercepted: the shell submits them\n(so its own response handling — alerts, refreshes — runs as normal) and the\npreview re-fetches its config once the shell reports the save complete.\nMatched by delegation on the shell's bubbled `complete` event rather than\nby attaching to the forms themselves, so a save anywhere on the page\nrefreshes the preview — including forms in a different DOM root, e.g. a\npage-level form saved while the preview sits inside a tab panel's shadow\nroot (a page's Template select lives on one tab, its preview on another).\nSet empty to disable.",
              "attribute": "refresh-on"
            },
            {
              "kind": "field",
              "name": "debounce",
              "type": {
                "text": "number"
              },
              "default": "400",
              "description": "Debounce in ms between a form change and its auto-save.",
              "attribute": "debounce"
            },
            {
              "kind": "field",
              "name": "zoom",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "Zooms the previewed page out (0–1]. The frame always fills the panel;\nzoom shrinks the content browser-style, so 0.4 shows the page at 40%\nsize with correspondingly more of it visible. 1 = natural size.\nIgnored when `fill` is set.",
              "attribute": "zoom"
            },
            {
              "kind": "field",
              "name": "minHeight",
              "type": {
                "text": "number"
              },
              "default": "480",
              "description": "The visible height (in CSS pixels) of the preview panel. Fixed rather\nthan measured, because a measured height would feed back into the\nscaled iframe's layout box and grow unbounded. With `fill` set, this\nbecomes a `min-height` floor instead of the height.",
              "attribute": "min-height"
            },
            {
              "kind": "field",
              "name": "fill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Fills the panel's own column height instead of using a fixed\n`min-height` pixel height — for hosts (like zn-theme-editor) whose\nlayout already stretches the column to match a taller sibling.\n`zoom` is ignored when set: its oversize maths depends on a known\npixel height, which `fill` deliberately doesn't have.",
              "attribute": "fill"
            },
            {
              "kind": "field",
              "name": "device",
              "type": {
                "text": "PreviewFrameDevice"
              },
              "default": "'desktop'",
              "description": "Constrains and centres the preview to a device width: `desktop` (100%),\n`tablet` (768px) or `mobile` (390px). The iframe element itself is\nnarrowed, so the embedded page's own media queries fire.",
              "attribute": "device",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "backdrop",
              "type": {
                "text": "'dots' | 'panel'"
              },
              "default": "'dots'",
              "description": "Backdrop behind the stage: `dots` (default) is the canvas dot grid; `panel` is a plain `rgb(var(--zn-panel))` fill.",
              "attribute": "backdrop",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "interactive",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Lets pointer input through to the embedded page. The preview is inert by\ndefault: clicks never reach the frame, so the previewed page can't be\nnavigated or submitted from inside the preview. Cross-origin content can't\nbe reached from here to cancel its own handlers, so this blocks pointer\ninput entirely — hover goes with it. Scrolling doesn't: an overflowing\npage is scrolled by the panel rather than by the frame (see _contentHeight).\n\nSet, the frame becomes a real viewport instead: it stays the panel's own\nheight and the embed scrolls itself, so there is one scrollbar rather than\na panel scrolling an oversized frame, and the embed's viewport-relative\nlayout (`100vh`, `position: fixed`, sticky headers) sizes to what's on\nscreen. _contentHeight is ignored while this is set.",
              "attribute": "interactive",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "frame",
              "type": {
                "text": "HTMLIFrameElement"
              }
            },
            {
              "kind": "field",
              "name": "error",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "_contentHeight",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0",
              "description": "Height of the embedded page's content, when it's known: reported by the\nembed (`height` on hp-preview:rendered, or an hp-preview:height message) or\nmeasured directly for a same-origin embed. The frame is laid out at this\nheight rather than the panel's, so the page never scrolls inside the frame\n— the panel scrolls instead, which is what makes an overflowing preview\nreachable while pointer input to the frame is blocked. 0 = unknown, and the\nframe falls back to filling the panel. Kept up to date either way, but only\nlaid out when the frame is inert: an `interactive` frame scrolls itself."
            },
            {
              "kind": "field",
              "name": "_generation",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "_theme",
              "type": {
                "text": "Record<string, unknown> | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_contentObserver",
              "type": {
                "text": "ResizeObserver | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_watchedForms",
              "privacy": "private",
              "readonly": true,
              "default": "new Set<HTMLFormElement>()"
            },
            {
              "kind": "field",
              "name": "_debounceTimers",
              "privacy": "private",
              "readonly": true,
              "default": "new Map<HTMLFormElement, number>()"
            },
            {
              "kind": "field",
              "name": "_shellSaveRoots",
              "type": {
                "text": "EventTarget[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "_lastShellSave",
              "type": {
                "text": "Event | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_formObserver",
              "privacy": "private",
              "readonly": true,
              "default": "new MutationController(this, { target: null, config: {subtree: true, childList: true}, callback: () => this._attachForms(), })"
            },
            {
              "kind": "field",
              "name": "_onMessage",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "_applyContentHeight",
              "privacy": "private",
              "parameters": [
                {
                  "name": "height",
                  "type": {
                    "text": "unknown"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_resetContentHeight",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_onFrameLoad",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "refresh",
              "description": "Re-fetches the payload and pushes a fresh config to the preview."
            },
            {
              "kind": "method",
              "name": "setTheme",
              "parameters": [
                {
                  "name": "theme",
                  "type": {
                    "text": "Record<string, unknown>"
                  }
                }
              ],
              "description": "Pushes a theme payload into the preview. The payload is retained and\nre-posted after every ready handshake, so a frame reload doesn't drop an\nin-progress theme."
            },
            {
              "kind": "method",
              "name": "_postTheme",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_sendConfig",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_attachForms",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_onShellSave",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "_detachForm",
              "privacy": "private",
              "parameters": [
                {
                  "name": "form",
                  "type": {
                    "text": "HTMLFormElement"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "_onChange",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_onSubmit",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "_save",
              "privacy": "private",
              "parameters": [
                {
                  "name": "form",
                  "type": {
                    "text": "HTMLFormElement"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_fail",
              "privacy": "private",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            }
          ],
          "events": [
            {
              "description": "Emitted when the preview reports a render error or a save fails.",
              "name": "zn-error"
            }
          ],
          "attributes": [
            {
              "name": "src",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "URL of the preview shell page (tokened embed URL).",
              "fieldName": "src"
            },
            {
              "name": "frame-origin",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Expected origin of the iframe; all postMessage traffic is checked against it.",
              "fieldName": "frameOrigin"
            },
            {
              "name": "data-uri",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Endpoint returning the hp-preview:config payload JSON. The console proxy rewrites this attribute to an app-prefixed path for proper fetch resolution.",
              "fieldName": "dataUri"
            },
            {
              "name": "watch",
              "type": {
                "text": "string"
              },
              "default": "'form[data-auto-save]'",
              "description": "Selector (resolved against the component's root node) for the forms to watch.\nDefaults to only forms explicitly opted in via a `data-auto-save` attribute —\nunmarked forms keep normal submit behavior and are never intercepted,\nauto-saved, or used to trigger a preview refresh. Override to widen the scope.",
              "fieldName": "watch"
            },
            {
              "name": "refresh-on",
              "type": {
                "text": "string"
              },
              "default": "'form'",
              "description": "Selector for forms whose saves are left to the shell but should still\nrefresh the preview. These are never intercepted: the shell submits them\n(so its own response handling — alerts, refreshes — runs as normal) and the\npreview re-fetches its config once the shell reports the save complete.\nMatched by delegation on the shell's bubbled `complete` event rather than\nby attaching to the forms themselves, so a save anywhere on the page\nrefreshes the preview — including forms in a different DOM root, e.g. a\npage-level form saved while the preview sits inside a tab panel's shadow\nroot (a page's Template select lives on one tab, its preview on another).\nSet empty to disable.",
              "fieldName": "refreshOn"
            },
            {
              "name": "debounce",
              "type": {
                "text": "number"
              },
              "default": "400",
              "description": "Debounce in ms between a form change and its auto-save.",
              "fieldName": "debounce"
            },
            {
              "name": "zoom",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "Zooms the previewed page out (0–1]. The frame always fills the panel;\nzoom shrinks the content browser-style, so 0.4 shows the page at 40%\nsize with correspondingly more of it visible. 1 = natural size.\nIgnored when `fill` is set.",
              "fieldName": "zoom"
            },
            {
              "name": "min-height",
              "type": {
                "text": "number"
              },
              "default": "480",
              "description": "The visible height (in CSS pixels) of the preview panel. Fixed rather\nthan measured, because a measured height would feed back into the\nscaled iframe's layout box and grow unbounded. With `fill` set, this\nbecomes a `min-height` floor instead of the height.",
              "fieldName": "minHeight"
            },
            {
              "name": "fill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Fills the panel's own column height instead of using a fixed\n`min-height` pixel height — for hosts (like zn-theme-editor) whose\nlayout already stretches the column to match a taller sibling.\n`zoom` is ignored when set: its oversize maths depends on a known\npixel height, which `fill` deliberately doesn't have.",
              "fieldName": "fill"
            },
            {
              "name": "device",
              "type": {
                "text": "PreviewFrameDevice"
              },
              "default": "'desktop'",
              "description": "Constrains and centres the preview to a device width: `desktop` (100%),\n`tablet` (768px) or `mobile` (390px). The iframe element itself is\nnarrowed, so the embedded page's own media queries fire.",
              "fieldName": "device"
            },
            {
              "name": "backdrop",
              "type": {
                "text": "'dots' | 'panel'"
              },
              "default": "'dots'",
              "description": "Backdrop behind the stage: `dots` (default) is the canvas dot grid; `panel` is a plain `rgb(var(--zn-panel))` fill.",
              "fieldName": "backdrop"
            },
            {
              "name": "interactive",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Lets pointer input through to the embedded page. The preview is inert by\ndefault: clicks never reach the frame, so the previewed page can't be\nnavigated or submitted from inside the preview. Cross-origin content can't\nbe reached from here to cancel its own handlers, so this blocks pointer\ninput entirely — hover goes with it. Scrolling doesn't: an overflowing\npage is scrolled by the panel rather than by the frame (see _contentHeight).\n\nSet, the frame becomes a real viewport instead: it stays the panel's own\nheight and the embed scrolls itself, so there is one scrollbar rather than\na panel scrolling an oversized frame, and the embed's viewport-relative\nlayout (`100vh`, `position: fixed`, sticky headers) sizes to what's on\nscreen. _contentHeight is ignored while this is set.",
              "fieldName": "interactive"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Embeds a live preview iframe and drives the hp-preview postMessage\nprotocol: answers the frame's ready handshake with a config payload fetched\nfrom data-uri, auto-saves watched forms on change, refreshes the preview\nafter each save (its own, or a shell-driven save of a `refresh-on` form),\naccepts a theme payload via setTheme() that is retained and replayed\nafter every ready handshake, and grows the frame to a content height the\nembed reports so the panel scrolls an overflowing page.",
          "tagNameWithoutPrefix": "preview-frame",
          "tagName": "zn-preview-frame",
          "customElement": true,
          "jsDoc": "/**\n * @summary Embeds a live preview iframe and drives the hp-preview postMessage\n * protocol: answers the frame's ready handshake with a config payload fetched\n * from data-uri, auto-saves watched forms on change, refreshes the preview\n * after each save (its own, or a shell-driven save of a `refresh-on` form),\n * accepts a theme payload via setTheme() that is retained and replayed\n * after every ready handshake, and grows the frame to a content height the\n * embed reports so the panel scrolls an overflowing page.\n *\n * @documentation https://zinc.style/components/preview-frame\n * @status experimental\n * @since 1.0\n *\n * @event zn-error - Emitted when the preview reports a render error or a save fails.\n *\n * @csspart base - The component's base wrapper.\n * @csspart stage - The device-width wrapper around the iframe.\n * @csspart iframe - The preview iframe.\n * @csspart error - The error overlay.\n *\n * @cssproperty --zn-preview-frame-dot-spacing - Spacing of the backdrop dot grid (`backdrop=\"dots\"`). Defaults to 20px.\n * @cssproperty --zn-preview-frame-dot-opacity - Opacity of the backdrop dots (`backdrop=\"dots\"`). Defaults to 0.08.\n */",
          "documentation": "https://zinc.style/components/preview-frame",
          "status": "experimental",
          "since": "1.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnPreviewFrame",
            "module": "components/preview-frame/preview-frame.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/priority-list/priority-list.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnPriorityList",
          "cssProperties": [
            {
              "description": "The gap between list items. Defaults to `var(--zn-spacing-2x-small)`.",
              "name": "--zn-priority-list-item-gap"
            },
            {
              "description": "The padding inside each item. Defaults to `var(--zn-spacing-small) var(--zn-spacing-medium)`.",
              "name": "--zn-priority-list-item-padding"
            },
            {
              "description": "The gap between an item's slotted actions. Defaults to `var(--zn-spacing-x-small)`.",
              "name": "--zn-priority-list-actions-gap"
            },
            {
              "description": "The color of the drag handle. Defaults to `var(--zn-color-neutral-500)`.",
              "name": "--zn-priority-list-handle-color"
            },
            {
              "description": "The color of the priority number. Defaults to `var(--zn-color-neutral-600)`.",
              "name": "--zn-priority-list-priority-color"
            }
          ],
          "cssParts": [
            {
              "description": "The form control wrapper.",
              "name": "form-control"
            },
            {
              "description": "The label wrapper.",
              "name": "form-control-label"
            },
            {
              "description": "The input area wrapper.",
              "name": "form-control-input"
            },
            {
              "description": "The help text wrapper.",
              "name": "form-control-help-text"
            },
            {
              "description": "The list container.",
              "name": "list"
            },
            {
              "description": "An individual list item row.",
              "name": "item"
            },
            {
              "description": "The drag handle icon.",
              "name": "drag-handle"
            },
            {
              "description": "The priority number badge.",
              "name": "priority"
            },
            {
              "description": "The content area of an item.",
              "name": "content"
            }
          ],
          "slots": [
            {
              "description": "The default slot where list items are placed. Each slotted element must have a `value` attribute that uniquely identifies the item. The component automatically assigns slot names to project each item into the correct position. The item's position in the list determines its priority (top = `priority-start`, incrementing).",
              "name": ""
            },
            {
              "description": "The component's label. Required for proper accessibility. Alternatively, use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "Used to add text displayed in a tooltip next to the label.",
              "name": "label-tooltip"
            },
            {
              "description": "Text that describes how to use the component. Alternatively, use the `help-text` attribute.",
              "name": "help-text"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'zn-icon': ZnIcon, }"
            },
            {
              "kind": "field",
              "name": "formControlController",
              "privacy": "protected",
              "readonly": true,
              "default": "new FormControlController(this, { value: (control: ZnPriorityList) => { return JSON.stringify(control.getPriorityMap()); }, defaultValue: (control: ZnPriorityList) => control.defaultValue, // A form reset passes defaultValue straight back in, so this has to accept the // key array as well as the serialised value other callers set. setValue: (control: ZnPriorityList, value: string | string[]) => { if (!value || (Array.isArray(value) && value.length === 0)) return; const keys: unknown = Array.isArray(value) ? value : safeParse(value); if (Array.isArray(keys) && keys.every((item: unknown): item is string => typeof item === 'string')) { control.value = keys as string[]; } }, })"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'help-text', 'label')"
            },
            {
              "kind": "field",
              "name": "hiddenInputsContainer",
              "type": {
                "text": "HTMLDivElement"
              }
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name prefix for form submission. Each item generates a hidden input named `{name}[{itemValue}]`\nwith the priority number as its value.",
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string[]"
              },
              "description": "The current ordered list of item keys, reflecting the visual order. This is the source of truth for ordering.\nEach entry should match a `value` attribute on a slotted child element.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "_value",
              "type": {
                "text": "string[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "string[]"
              },
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The component's label. Required for proper accessibility.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "labelTooltip",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Text that appears in a tooltip next to the label.",
              "attribute": "label-tooltip"
            },
            {
              "kind": "field",
              "name": "helpText",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Help text that describes how to use the component.",
              "attribute": "help-text"
            },
            {
              "kind": "field",
              "name": "form",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Associates the control with a form by id. The form must be in the same document or shadow root.",
              "attribute": "form",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The size of the list items.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the priority list is disabled.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Ensures the form control has a value before allowing submission.",
              "attribute": "required",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "priorityStart",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "The starting priority number. Defaults to 1.",
              "attribute": "priority-start"
            },
            {
              "kind": "field",
              "name": "formAction",
              "type": {
                "text": "string"
              },
              "description": "When set, the associated form will be submitted with the given action URL whenever items are reordered.\nIf set to an empty string, the form will be submitted using its existing action.",
              "attribute": "formaction"
            },
            {
              "kind": "field",
              "name": "order",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A comma-separated list of item keys defining the initial display order.\nKeys must match the `value` attributes on slotted children.\nAny slotted items not listed are appended at the end in DOM order.",
              "attribute": "order"
            },
            {
              "kind": "field",
              "name": "draggedKey",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "isDragging",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "dragOverKey",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "validity",
              "type": {
                "text": "ValidityState"
              },
              "description": "Gets the validity state object.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "type": {
                "text": "string"
              },
              "description": "Gets the validation message.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "_initializeOrderFromSlot",
              "privacy": "private",
              "description": "Initialize item order from slotted children if no explicit value was provided.\nIf an `order` attribute is set, use it to define the initial order,\nappending any slotted items not listed in the order at the end."
            },
            {
              "kind": "method",
              "name": "_getSlottedItems",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "HTMLElement[]"
                }
              },
              "description": "Gets all direct children with a `value` attribute (excluding those in reserved slots)."
            },
            {
              "kind": "method",
              "name": "_assignSlotNames",
              "privacy": "private",
              "description": "Assigns `slot` attributes to light DOM children based on their `value` attribute,\nso they project into the correct named slot in the shadow DOM."
            },
            {
              "kind": "method",
              "name": "getPriorityMap",
              "return": {
                "type": {
                  "text": "PriorityItem[]"
                }
              },
              "description": "Returns the priority map: an array of { key, priority } objects."
            },
            {
              "kind": "method",
              "name": "_syncHiddenInputs",
              "privacy": "private",
              "description": "Syncs hidden inputs so form data includes priority values."
            },
            {
              "kind": "method",
              "name": "_moveItem",
              "privacy": "private",
              "parameters": [
                {
                  "name": "fromIndex",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "toIndex",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Moves an item from one index to another."
            },
            {
              "kind": "method",
              "name": "_submitForm",
              "privacy": "private",
              "description": "Submits the associated form if a `formaction` attribute is set."
            },
            {
              "kind": "method",
              "name": "_handleDragStart",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "DragEvent"
                  }
                },
                {
                  "name": "key",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleDragEnd",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_handleDragOver",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "DragEvent"
                  }
                },
                {
                  "name": "key",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleDragLeave",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "DragEvent"
                  }
                },
                {
                  "name": "key",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleDrop",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "DragEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                },
                {
                  "name": "key",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "description": "Checks for validity but does not show a validation message."
            },
            {
              "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."
            }
          ],
          "events": [
            {
              "description": "Emitted when the order of items changes.",
              "name": "zn-change"
            },
            {
              "description": "Emitted when items are reordered. Call `getPriorityMap()` on the component to get the updated `{ key: string, priority: number }[]` array.",
              "name": "zn-reorder"
            }
          ],
          "attributes": [
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name prefix for form submission. Each item generates a hidden input named `{name}[{itemValue}]`\nwith the priority number as its value.",
              "fieldName": "name"
            },
            {
              "name": "value",
              "type": {
                "text": "string[]"
              },
              "description": "The current ordered list of item keys, reflecting the visual order. This is the source of truth for ordering.\nEach entry should match a `value` attribute on a slotted child element.",
              "fieldName": "value"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The component's label. Required for proper accessibility.",
              "fieldName": "label"
            },
            {
              "name": "label-tooltip",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Text that appears in a tooltip next to the label.",
              "fieldName": "labelTooltip"
            },
            {
              "name": "help-text",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Help text that describes how to use the component.",
              "fieldName": "helpText"
            },
            {
              "name": "form",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Associates the control with a form by id. The form must be in the same document or shadow root.",
              "fieldName": "form"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The size of the list items.",
              "fieldName": "size"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the priority list is disabled.",
              "fieldName": "disabled"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Ensures the form control has a value before allowing submission.",
              "fieldName": "required"
            },
            {
              "name": "priority-start",
              "type": {
                "text": "number"
              },
              "default": "1",
              "description": "The starting priority number. Defaults to 1.",
              "fieldName": "priorityStart"
            },
            {
              "name": "formaction",
              "type": {
                "text": "string"
              },
              "description": "When set, the associated form will be submitted with the given action URL whenever items are reordered.\nIf set to an empty string, the form will be submitted using its existing action.",
              "fieldName": "formAction"
            },
            {
              "name": "order",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "A comma-separated list of item keys defining the initial display order.\nKeys must match the `value` attributes on slotted children.\nAny slotted items not listed are appended at the end in DOM order.",
              "fieldName": "order"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "A reorderable list where each item receives a numerical priority based on its position. Supports drag-and-drop\nand keyboard reordering. Priority values are submitted as form data via hidden inputs.",
          "tagNameWithoutPrefix": "priority-list",
          "tagName": "zn-priority-list",
          "customElement": true,
          "jsDoc": "/**\n * @summary A reorderable list where each item receives a numerical priority based on its position. Supports drag-and-drop\n *   and keyboard reordering. Priority values are submitted as form data via hidden inputs.\n *\n * @documentation https://zinc.style/components/priority-list\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-icon\n *\n * @slot - The default slot where list items are placed. Each slotted element must have a `value` attribute that\n *   uniquely identifies the item. The component automatically assigns slot names to project each item into the\n *   correct position. The item's position in the list determines its priority (top = `priority-start`, incrementing).\n * @slot label - The component's label. Required for proper accessibility. Alternatively, use the `label` attribute.\n * @slot label-tooltip - Used to add text displayed in a tooltip next to the label.\n * @slot help-text - Text that describes how to use the component. Alternatively, use the `help-text` attribute.\n *\n * @event zn-change - Emitted when the order of items changes.\n * @event zn-reorder - Emitted when items are reordered. Call `getPriorityMap()` on the component to get\n *   the updated `{ key: string, priority: number }[]` array.\n *\n * @csspart form-control - The form control wrapper.\n * @csspart form-control-label - The label wrapper.\n * @csspart form-control-input - The input area wrapper.\n * @csspart form-control-help-text - The help text wrapper.\n * @csspart list - The list container.\n * @csspart item - An individual list item row.\n * @csspart drag-handle - The drag handle icon.\n * @csspart priority - The priority number badge.\n * @csspart content - The content area of an item.\n *\n * @cssproperty --zn-priority-list-item-gap - The gap between list items. Defaults to `var(--zn-spacing-2x-small)`.\n * @cssproperty --zn-priority-list-item-padding - The padding inside each item. Defaults to `var(--zn-spacing-small) var(--zn-spacing-medium)`.\n * @cssproperty --zn-priority-list-actions-gap - The gap between an item's slotted actions. Defaults to `var(--zn-spacing-x-small)`.\n * @cssproperty --zn-priority-list-handle-color - The color of the drag handle. Defaults to `var(--zn-color-neutral-500)`.\n * @cssproperty --zn-priority-list-priority-color - The color of the priority number. Defaults to `var(--zn-color-neutral-600)`.\n */",
          "documentation": "https://zinc.style/components/priority-list",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-icon"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnPriorityList",
            "module": "components/priority-list/priority-list.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/progress-bar/progress-bar.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnProgressBar",
          "cssProperties": [
            {
              "description": "The color of the progress bar background track.",
              "name": "--zn-border-color"
            },
            {
              "description": "The color of the progress bar fill.",
              "name": "--zn-progress-bar-color"
            },
            {
              "description": "The color of the caption text.",
              "name": "--zn-text-heading"
            },
            {
              "description": "The color of the progress percentage and description text.",
              "name": "--zn-text"
            },
            {
              "description": "The spacing between header/footer and the progress bar.",
              "name": "--zn-spacing-x-small"
            }
          ],
          "cssParts": [
            {
              "description": "The header container that contains the caption and progress text.",
              "name": "header"
            },
            {
              "description": "The caption text element.",
              "name": "caption"
            },
            {
              "description": "The progress percentage text element.",
              "name": "progress"
            },
            {
              "description": "The SVG element containing the progress bar.",
              "name": "bar"
            },
            {
              "description": "The background track of the progress bar.",
              "name": "track"
            },
            {
              "description": "The filled portion of the progress bar indicating progress.",
              "name": "fill"
            },
            {
              "description": "The footer container that contains the description.",
              "name": "footer"
            },
            {
              "description": "The description text element.",
              "name": "info"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "caption",
              "type": {
                "text": "string | undefined"
              },
              "attribute": "caption",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "color",
              "type": {
                "text": "ProgressBarColor"
              },
              "default": "'current'",
              "attribute": "color",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "description",
              "type": {
                "text": "string | undefined"
              },
              "attribute": "description",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "number | undefined"
              },
              "attribute": "value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "showProgress",
              "type": {
                "text": "boolean | undefined"
              },
              "attribute": "show-progress",
              "reflects": true
            }
          ],
          "attributes": [
            {
              "name": "caption",
              "type": {
                "text": "string | undefined"
              },
              "fieldName": "caption"
            },
            {
              "name": "color",
              "type": {
                "text": "ProgressBarColor"
              },
              "default": "'current'",
              "fieldName": "color"
            },
            {
              "name": "description",
              "type": {
                "text": "string | undefined"
              },
              "fieldName": "description"
            },
            {
              "name": "value",
              "type": {
                "text": "number | undefined"
              },
              "fieldName": "value"
            },
            {
              "name": "show-progress",
              "type": {
                "text": "boolean | undefined"
              },
              "fieldName": "showProgress"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Progress bars provide visual feedback about the completion status of a task or process.",
          "tagNameWithoutPrefix": "progress-bar",
          "tagName": "zn-progress-bar",
          "customElement": true,
          "jsDoc": "/**\n * @summary Progress bars provide visual feedback about the completion status of a task or process.\n * @documentation https://zinc.style/components/progress-bar\n * @status experimental\n * @since 1.0\n *\n * @csspart header - The header container that contains the caption and progress text.\n * @csspart caption - The caption text element.\n * @csspart progress - The progress percentage text element.\n * @csspart bar - The SVG element containing the progress bar.\n * @csspart track - The background track of the progress bar.\n * @csspart fill - The filled portion of the progress bar indicating progress.\n * @csspart footer - The footer container that contains the description.\n * @csspart info - The description text element.\n *\n * @cssproperty --zn-border-color - The color of the progress bar background track.\n * @cssproperty --zn-progress-bar-color - The color of the progress bar fill.\n * @cssproperty --zn-text-heading - The color of the caption text.\n * @cssproperty --zn-text - The color of the progress percentage and description text.\n * @cssproperty --zn-spacing-x-small - The spacing between header/footer and the progress bar.\n */",
          "documentation": "https://zinc.style/components/progress-bar",
          "status": "experimental",
          "since": "1.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnProgressBar",
            "module": "components/progress-bar/progress-bar.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/progress-tile/progress-tile.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnProgressTile",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "startTime",
              "type": {
                "text": "number"
              },
              "attribute": "start-time"
            },
            {
              "kind": "field",
              "name": "waitTime",
              "type": {
                "text": "number"
              },
              "attribute": "wait-time",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "maxTime",
              "type": {
                "text": "number"
              },
              "attribute": "max-time"
            },
            {
              "kind": "field",
              "name": "endTime",
              "type": {
                "text": "number"
              },
              "attribute": "end-time"
            },
            {
              "kind": "field",
              "name": "maxWaitTime",
              "type": {
                "text": "number"
              },
              "attribute": "max-wait-time"
            },
            {
              "kind": "field",
              "name": "waitingAgentResponse",
              "type": {
                "text": "boolean"
              },
              "attribute": "waiting-agent-response"
            },
            {
              "kind": "field",
              "name": "status",
              "type": {
                "text": "string"
              },
              "attribute": "status"
            },
            {
              "kind": "field",
              "name": "avatar",
              "type": {
                "text": "string"
              },
              "attribute": "avatar"
            },
            {
              "kind": "field",
              "name": "caption",
              "type": {
                "text": "string"
              },
              "attribute": "caption"
            },
            {
              "kind": "field",
              "name": "_timerInterval",
              "type": {
                "text": "number"
              },
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getHumanReadableTime",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "time",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "attributes": [
            {
              "name": "start-time",
              "type": {
                "text": "number"
              },
              "fieldName": "startTime"
            },
            {
              "name": "wait-time",
              "type": {
                "text": "number"
              },
              "fieldName": "waitTime"
            },
            {
              "name": "max-time",
              "type": {
                "text": "number"
              },
              "fieldName": "maxTime"
            },
            {
              "name": "end-time",
              "type": {
                "text": "number"
              },
              "fieldName": "endTime"
            },
            {
              "name": "max-wait-time",
              "type": {
                "text": "number"
              },
              "fieldName": "maxWaitTime"
            },
            {
              "name": "waiting-agent-response",
              "type": {
                "text": "boolean"
              },
              "fieldName": "waitingAgentResponse"
            },
            {
              "name": "status",
              "type": {
                "text": "string"
              },
              "fieldName": "status"
            },
            {
              "name": "avatar",
              "type": {
                "text": "string"
              },
              "fieldName": "avatar"
            },
            {
              "name": "caption",
              "type": {
                "text": "string"
              },
              "fieldName": "caption"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "progress-tile",
          "tagName": "zn-progress-tile",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/progress-tile\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/progress-tile",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnProgressTile",
            "module": "components/progress-tile/progress-tile.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/query-builder/query-builder.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnQueryBuilder",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'zn-button': ZnButton, 'zn-input': ZnInput, 'zn-option': ZnOption, 'zn-select': ZnSelect, }"
            },
            {
              "kind": "field",
              "name": "_selectedRules",
              "type": {
                "text": "Map<string, CreatedRule>"
              },
              "privacy": "private",
              "default": "new Map<string, CreatedRule>()"
            },
            {
              "kind": "field",
              "name": "_formController",
              "type": {
                "text": "FormControlController"
              },
              "privacy": "private",
              "default": "new FormControlController(this, {})"
            },
            {
              "kind": "field",
              "name": "_previousOperator",
              "type": {
                "text": "QueryBuilderOperators"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "container",
              "type": {
                "text": "HTMLDivElement"
              }
            },
            {
              "kind": "field",
              "name": "addRule",
              "type": {
                "text": "ZnSelect"
              }
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "HTMLInputElement"
              }
            },
            {
              "kind": "field",
              "name": "filters",
              "type": {
                "text": "QueryBuilderData"
              },
              "default": "[]",
              "attribute": "filters"
            },
            {
              "kind": "field",
              "name": "dropdown",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "dropdown"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "PropertyKey"
              },
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "showValues",
              "type": {
                "text": "string[]"
              },
              "default": "[]",
              "attribute": "show-values"
            },
            {
              "kind": "field",
              "name": "_usedFilterIds",
              "type": {
                "text": "Set<string>"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "type": {
                "text": "string"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validity",
              "type": {
                "text": "ValidityState"
              },
              "readonly": true
            },
            {
              "kind": "method",
              "name": "_handleChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_addRule",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event | null"
                  }
                },
                {
                  "name": "value",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "pos",
                  "optional": true,
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_createInput",
              "privacy": "private",
              "parameters": [
                {
                  "name": "filter",
                  "type": {
                    "text": "QueryBuilderItem"
                  }
                },
                {
                  "name": "uniqueId",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "selectedComparator",
                  "type": {
                    "text": "QueryBuilderOperators"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_changeValueInput",
              "privacy": "private",
              "parameters": [
                {
                  "name": "uniqueId",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "changeEvent",
                  "type": {
                    "text": "ZnChangeEvent"
                  }
                },
                {
                  "name": "filter",
                  "type": {
                    "text": "QueryBuilderItem"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_createBooleanInput",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "ZnSelect | null"
                }
              },
              "parameters": [
                {
                  "name": "uniqueId",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_createNumberInput",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "ZnInput | null"
                }
              },
              "parameters": [
                {
                  "name": "uniqueId",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_createDateInput",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "ZnDatepicker | null"
                }
              },
              "parameters": [
                {
                  "name": "uniqueId",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "hasTime",
                  "type": {
                    "text": "boolean"
                  }
                },
                {
                  "name": "submitFormat",
                  "default": "'legacy'",
                  "type": {
                    "text": "QueryBuilderDateSubmitFormat"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_createSelectInput",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "ZnSelect | null"
                }
              },
              "parameters": [
                {
                  "name": "uniqueId",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "filter",
                  "type": {
                    "text": "QueryBuilderItem"
                  }
                },
                {
                  "name": "selectedComparator",
                  "type": {
                    "text": "QueryBuilderOperators"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_createDefaultInput",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "ZnInput | null"
                }
              },
              "parameters": [
                {
                  "name": "uniqueId",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_updateOperatorValue",
              "privacy": "private",
              "parameters": [
                {
                  "name": "id",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "event",
                  "type": {
                    "text": "ZnChangeEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_updateDateValue",
              "privacy": "private",
              "parameters": [
                {
                  "name": "id",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "event",
                  "type": {
                    "text": "Event | {\n    target: ZnDatepicker | HTMLDivElement\n  }"
                  }
                },
                {
                  "name": "submitFormat",
                  "default": "'legacy'",
                  "type": {
                    "text": "QueryBuilderDateSubmitFormat"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_updateValue",
              "privacy": "private",
              "parameters": [
                {
                  "name": "id",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "event",
                  "type": {
                    "text": "Event | { target: ZnSelect | ZnInput | HTMLDivElement }"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "updateInValue",
              "privacy": "private",
              "parameters": [
                {
                  "name": "id",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_changeRule",
              "privacy": "private",
              "parameters": [
                {
                  "name": "id",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "event",
                  "type": {
                    "text": "ZnChangeEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_getRulePosition",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              },
              "parameters": [
                {
                  "name": "id",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_removeRule",
              "privacy": "private",
              "parameters": [
                {
                  "name": "id",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "clear"
            },
            {
              "kind": "method",
              "name": "reset"
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "getForm",
              "return": {
                "type": {
                  "text": "HTMLFormElement | null"
                }
              }
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            }
          ],
          "attributes": [
            {
              "name": "filters",
              "type": {
                "text": "QueryBuilderData"
              },
              "default": "[]",
              "fieldName": "filters"
            },
            {
              "name": "dropdown",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "dropdown"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "fieldName": "name"
            },
            {
              "name": "value",
              "type": {
                "text": "PropertyKey"
              },
              "fieldName": "value"
            },
            {
              "name": "show-values",
              "type": {
                "text": "string[]"
              },
              "default": "[]",
              "fieldName": "showValues"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "query-builder",
          "tagName": "zn-query-builder",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/query-builder\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-button\n * @dependency zn-input\n * @dependency zn-option\n * @dependency zn-select\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/query-builder",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-button",
            "zn-input",
            "zn-option",
            "zn-select"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnQueryBuilder",
            "module": "components/query-builder/query-builder.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/radio/radio.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnRadio",
          "cssProperties": [
            {
              "description": "Width of the built-in card image.",
              "name": "--zn-selection-card-image-width"
            },
            {
              "description": "Height of the built-in card image.",
              "name": "--zn-selection-card-image-height"
            },
            {
              "description": "Minimum height of a contained radio with an image.",
              "name": "--zn-selection-card-min-height"
            },
            {
              "description": "Width the card text keeps before it wraps below the image.",
              "name": "--zn-selection-card-content-min-width"
            },
            {
              "description": "Font size of a selection card title.",
              "name": "--zn-selection-card-title-font-size"
            },
            {
              "description": "Equal inset around the contents of a selection card.",
              "name": "--zn-selection-card-padding"
            },
            {
              "description": "Space between the image, title, and indicator gutter.",
              "name": "--zn-selection-card-gap"
            },
            {
              "description": "Distance between a positioned control and the card edge.",
              "name": "--zn-selection-card-control-offset"
            },
            {
              "description": "Corner radius of a contained container.",
              "name": "--zn-selection-card-border-radius"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The square container that wraps the radio's checked state.",
              "name": "control"
            },
            {
              "description": "Matches the control part when the radio is checked.",
              "name": "control--checked"
            },
            {
              "description": "The checked icon, an `<zn-icon>` element.",
              "name": "checked-icon"
            },
            {
              "description": "The wrapper around the built-in image or image slot.",
              "name": "image-container"
            },
            {
              "description": "The built-in image.",
              "name": "image"
            },
            {
              "description": "The title inside a selection card.",
              "name": "card-title"
            },
            {
              "description": "The container that wraps the radio's label.",
              "name": "label"
            },
            {
              "description": "The container that wraps the radio's description.",
              "name": "description"
            },
            {
              "description": "The container that wraps optional content that appears when a radio is checked.",
              "name": "selected-content"
            }
          ],
          "slots": [
            {
              "description": "The radio's label.",
              "name": ""
            },
            {
              "description": "Replaces the built-in image used by contained radios.",
              "name": "image"
            },
            {
              "description": "A description of the radio's label. Serves as help text for a radio item. Alternatively, you can use the `description` attribute.",
              "name": "description"
            },
            {
              "description": "Use to nest rich content (like an input) inside a selected radio item. Use only with the contained style.",
              "name": "selected-content"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{'zn-icon': ZnIcon}"
            },
            {
              "kind": "field",
              "name": "formControlController",
              "privacy": "private",
              "readonly": true,
              "default": "new FormControlController(this, { value: (control: ZnRadio) => (control.checked ? control.value || 'on' : undefined), defaultValue: (control: ZnRadio) => control.defaultChecked, setValue: (control: ZnRadio, checked: boolean) => (control.checked = checked) })"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, '[default]', 'description', 'image')"
            },
            {
              "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"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the radio, submitted as a name/value pair with form data.",
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "The current value of the radio, submitted as a name/value pair with form data.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "cardTitle",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Title rendered inside the card. The default slot takes precedence when provided.",
              "attribute": "card-title"
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The radio's size.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the radio.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the radio in a checked state.",
              "attribute": "checked",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "contained",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a container around the radio.",
              "attribute": "contained",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "square",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Squares off the corners of the container drawn by `contained`, which is rounded by default.",
              "attribute": "square",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "src",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "URL for the image shown in a contained radio.",
              "attribute": "src"
            },
            {
              "kind": "field",
              "name": "imageAlt",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Accessible text for the built-in image. Leave empty when the image is decorative.",
              "attribute": "image-alt"
            },
            {
              "kind": "field",
              "name": "imagePosition",
              "type": {
                "text": "SelectionCardImagePosition"
              },
              "default": "'left'",
              "description": "Places the image above, beside, or below the radio's text. Requires `contained`.",
              "attribute": "image-position",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "controlPosition",
              "type": {
                "text": "SelectionCardControlPosition"
              },
              "default": "'start'",
              "description": "Places the radio indicator within a contained card. Use `none` to hide the indicator so the card itself\nshows the selected state. Requires `contained`.",
              "attribute": "control-position",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "horizontal",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Applies styles relevant to radios in a horizontal layout.",
              "attribute": "horizontal",
              "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 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 radio a required field.",
              "attribute": "required",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "description",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The radio's help text. If you need to display HTML, use the `description` slot instead.",
              "attribute": "description"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "labelTooltip",
              "type": {
                "text": "string"
              },
              "attribute": "label-tooltip"
            },
            {
              "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"
            },
            {
              "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": "handleSelectedContentClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleDisabledChange"
            },
            {
              "kind": "method",
              "name": "handleStateChange"
            },
            {
              "kind": "method",
              "name": "click",
              "description": "Simulates a click on the radio."
            },
            {
              "kind": "method",
              "name": "focus",
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ],
              "description": "Sets focus on the radio."
            },
            {
              "kind": "method",
              "name": "blur",
              "description": "Removes focus from the radio."
            },
            {
              "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 radio loses focus.",
              "name": "zn-blur"
            },
            {
              "description": "Emitted when the checked state changes.",
              "name": "zn-change"
            },
            {
              "description": "Emitted when the radio gains focus.",
              "name": "zn-focus"
            },
            {
              "description": "Emitted when the radio receives input.",
              "name": "zn-input"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
              "name": "zn-invalid"
            }
          ],
          "attributes": [
            {
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "title"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the radio, submitted as a name/value pair with form data.",
              "fieldName": "name"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "The current value of the radio, submitted as a name/value pair with form data.",
              "fieldName": "value"
            },
            {
              "name": "card-title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Title rendered inside the card. The default slot takes precedence when provided.",
              "fieldName": "cardTitle"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "description": "The radio's size.",
              "fieldName": "size"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the radio.",
              "fieldName": "disabled"
            },
            {
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the radio in a checked state.",
              "fieldName": "checked"
            },
            {
              "name": "contained",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a container around the radio.",
              "fieldName": "contained"
            },
            {
              "name": "square",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Squares off the corners of the container drawn by `contained`, which is rounded by default.",
              "fieldName": "square"
            },
            {
              "name": "src",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "URL for the image shown in a contained radio.",
              "fieldName": "src"
            },
            {
              "name": "image-alt",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Accessible text for the built-in image. Leave empty when the image is decorative.",
              "fieldName": "imageAlt"
            },
            {
              "name": "image-position",
              "type": {
                "text": "SelectionCardImagePosition"
              },
              "default": "'left'",
              "description": "Places the image above, beside, or below the radio's text. Requires `contained`.",
              "fieldName": "imagePosition"
            },
            {
              "name": "control-position",
              "type": {
                "text": "SelectionCardControlPosition"
              },
              "default": "'start'",
              "description": "Places the radio indicator within a contained card. Use `none` to hide the indicator so the card itself\nshows the selected state. Requires `contained`.",
              "fieldName": "controlPosition"
            },
            {
              "name": "horizontal",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Applies styles relevant to radios in a horizontal layout.",
              "fieldName": "horizontal"
            },
            {
              "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 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 radio a required field.",
              "fieldName": "required"
            },
            {
              "name": "description",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The radio's help text. If you need to display HTML, use the `description` slot instead.",
              "fieldName": "description"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "fieldName": "label"
            },
            {
              "name": "label-tooltip",
              "type": {
                "text": "string"
              },
              "fieldName": "labelTooltip"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "radio",
          "tagName": "zn-radio",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/radio\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-icon\n *\n * @slot - The radio's label.\n * @slot image - Replaces the built-in image used by contained radios.\n * @slot description - A description of the radio's label. Serves as help text for a radio item. Alternatively, you can use the `description` attribute.\n * @slot selected-content - Use to nest rich content (like an input) inside a selected radio item. Use only with the contained style.\n *\n * @event zn-blur - Emitted when the radio loses focus.\n * @event zn-change - Emitted when the checked state changes.\n * @event zn-focus - Emitted when the radio gains focus.\n * @event zn-input - Emitted when the radio receives input.\n * @event zn-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 radio's checked state.\n * @csspart control--checked - Matches the control part when the radio is checked.\n * @csspart checked-icon - The checked icon, an `<zn-icon>` element.\n * @csspart image-container - The wrapper around the built-in image or image slot.\n * @csspart image - The built-in image.\n * @csspart card-title - The title inside a selection card.\n * @csspart label - The container that wraps the radio's label.\n * @csspart description - The container that wraps the radio's description.\n * @csspart selected-content - The container that wraps optional content that appears when a radio is checked.\n *\n * @cssproperty --zn-selection-card-image-width - Width of the built-in card image.\n * @cssproperty --zn-selection-card-image-height - Height of the built-in card image.\n * @cssproperty --zn-selection-card-min-height - Minimum height of a contained radio with an image.\n * @cssproperty --zn-selection-card-content-min-width - Width the card text keeps before it wraps below the image.\n * @cssproperty --zn-selection-card-title-font-size - Font size of a selection card title.\n * @cssproperty --zn-selection-card-padding - Equal inset around the contents of a selection card.\n * @cssproperty --zn-selection-card-gap - Space between the image, title, and indicator gutter.\n * @cssproperty --zn-selection-card-control-offset - Distance between a positioned control and the card edge.\n * @cssproperty --zn-selection-card-border-radius - Corner radius of a contained container.\n */",
          "documentation": "https://zinc.style/components/radio",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-icon"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnRadio",
            "module": "components/radio/radio.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/radio-group/radio-group.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnRadioGroup",
          "cssProperties": [
            {
              "description": "Minimum column width used by the horizontal contained grid, or the card basis when `wrap` is set.",
              "name": "--zn-radio-group-column-width"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "members": [
            {
              "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": "errorMessage",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "string"
              },
              "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": "labelTooltip",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Text that appears in a tooltip next to the label. If you need to display HTML in the tooltip, use the `label-tooltip` slot instead.",
              "attribute": "label-tooltip"
            },
            {
              "kind": "field",
              "name": "helpText",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The radio groups' 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": "''",
              "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"
              },
              "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",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "horizontal",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "The radio group's orientation. Changes the group's layout from the default (vertical) to horizontal.",
              "attribute": "horizontal",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "contained",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "The radio group's style. Changes the group's style from the default (plain) style to the 'contained' style. This style will be applied to all child radios.",
              "attribute": "contained",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "square",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Squares off the corners of every contained radio in the group, which are rounded by default.",
              "attribute": "square",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "wrap",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Lays horizontal contained radios out as a wrapping row instead of an equal-width grid, so each one sizes from\n`--zn-radio-group-column-width` (set it to `auto` to size from content) and wraps onto a new line when needed.",
              "attribute": "wrap",
              "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 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",
              "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"
                  }
                }
              ]
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "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": "label-tooltip",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Text that appears in a tooltip next to the label. If you need to display HTML in the tooltip, use the `label-tooltip` slot instead.",
              "fieldName": "labelTooltip"
            },
            {
              "name": "help-text",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The radio groups' help text. If you need to display HTML, use the `help-text` slot instead.",
              "fieldName": "helpText"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the radio group, submitted as a name/value pair with form data.",
              "fieldName": "name"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "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",
              "fieldName": "size"
            },
            {
              "name": "horizontal",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "The radio group's orientation. Changes the group's layout from the default (vertical) to horizontal.",
              "fieldName": "horizontal"
            },
            {
              "name": "contained",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "The radio group's style. Changes the group's style from the default (plain) style to the 'contained' style. This style will be applied to all child radios.",
              "fieldName": "contained"
            },
            {
              "name": "square",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Squares off the corners of every contained radio in the group, which are rounded by default.",
              "fieldName": "square"
            },
            {
              "name": "wrap",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Lays horizontal contained radios out as a wrapping row instead of an equal-width grid, so each one sizes from\n`--zn-radio-group-column-width` (set it to `auto` to size from content) and wraps onto a new line when needed.",
              "fieldName": "wrap"
            },
            {
              "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 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": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "radio-group",
          "tagName": "zn-radio-group",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/radio-group\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --zn-radio-group-column-width - Minimum column width used by the horizontal contained grid, or the card basis when `wrap` is set.\n */",
          "documentation": "https://zinc.style/components/radio-group",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnRadioGroup",
            "module": "components/radio-group/radio-group.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/rating/rating.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnRating",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            },
            {
              "description": "The color of the preview value.",
              "name": "--preview-color"
            },
            {
              "description": "The font size of the preview value.",
              "name": "--preview-size"
            }
          ],
          "cssParts": [
            {
              "description": "The form control that wraps the symbols and help text.",
              "name": "form-control"
            },
            {
              "description": "The help text's wrapper.",
              "name": "form-control-help-text"
            },
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The value shown next to the symbols when `preview` is enabled.",
              "name": "preview"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            },
            {
              "description": "Text that describes how to use the rating. 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: ['zn-blur', 'zn-input'] })"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'help-text')"
            },
            {
              "kind": "field",
              "name": "rating",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "symbols",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "hoverValue",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "isHovering",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "helpText",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The rating'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"
              },
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "number"
              },
              "default": "0",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The default value of the form control. Primarily used for resetting the form control."
            },
            {
              "kind": "field",
              "name": "max",
              "type": {
                "text": "number"
              },
              "default": "5",
              "attribute": "max"
            },
            {
              "kind": "field",
              "name": "precision",
              "type": {
                "text": "number"
              },
              "default": "1",
              "attribute": "precision"
            },
            {
              "kind": "field",
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "readonly"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "disabled"
            },
            {
              "kind": "field",
              "name": "preview",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Displays the value alongside the symbols, updating live as the pointer moves across them.",
              "attribute": "preview"
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "attribute": "size"
            },
            {
              "kind": "field",
              "name": "getSymbol",
              "type": {
                "text": "(value: number) => string"
              },
              "attribute": "getSymbol"
            },
            {
              "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",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "description": "Checks the 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",
              "description": "Sets a custom validation message. Pass an empty string to restore validity."
            },
            {
              "kind": "method",
              "name": "_roundToPrecision",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              },
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "precision",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_getValueFromXCoordinate",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              },
              "parameters": [
                {
                  "name": "coordinate",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_formatValue",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_getValueFromMousePosition",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_getValueFromTouchPosition",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "TouchEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_setValue",
              "privacy": "private",
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleMouseEnter",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleMouseMove",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleMouseLeave",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_handleTouchStart",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "TouchEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleTouchMove",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "TouchEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleTouchEnd",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "TouchEvent"
                  }
                }
              ]
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "fieldName": "label"
            },
            {
              "name": "help-text",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The rating's help text. If you need to display HTML, use the `help-text` slot instead.",
              "fieldName": "helpText"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "fieldName": "name"
            },
            {
              "name": "value",
              "type": {
                "text": "number"
              },
              "default": "0",
              "fieldName": "value"
            },
            {
              "name": "max",
              "type": {
                "text": "number"
              },
              "default": "5",
              "fieldName": "max"
            },
            {
              "name": "precision",
              "type": {
                "text": "number"
              },
              "default": "1",
              "fieldName": "precision"
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "readonly"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "disabled"
            },
            {
              "name": "preview",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Displays the value alongside the symbols, updating live as the pointer moves across them.",
              "fieldName": "preview"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "fieldName": "size"
            },
            {
              "name": "getSymbol",
              "type": {
                "text": "(value: number) => string"
              },
              "fieldName": "getSymbol"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "rating",
          "tagName": "zn-rating",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/rating\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n * @slot help-text - Text that describes how to use the rating. Alternatively, you can use the `help-text` attribute.\n *\n * @csspart form-control - The form control that wraps the symbols and help text.\n * @csspart form-control-help-text - The help text's wrapper.\n * @csspart base - The component's base wrapper.\n * @csspart preview - The value shown next to the symbols when `preview` is enabled.\n *\n * @cssproperty --example - An example CSS custom property.\n * @cssproperty --preview-color - The color of the preview value.\n * @cssproperty --preview-size - The font size of the preview value.\n */",
          "documentation": "https://zinc.style/components/rating",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnRating",
            "module": "components/rating/rating.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/remarkd-editor/remarkd-editor.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnRemarkdEditor",
          "cssProperties": [
            {
              "description": "The tallest the editor grows before its body scrolls. Defaults to `100dvh`.",
              "name": "--remarkd-editor-max-height"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The always-visible block-insert and inline-formatting toolbar.",
              "name": "toolbar"
            },
            {
              "description": "The button that switches between the block view and the raw source view.",
              "name": "raw-toggle"
            },
            {
              "description": "A rendered block wrapper.",
              "name": "block"
            },
            {
              "description": "The rendered remarkd output of a block.",
              "name": "rendered"
            },
            {
              "description": "A labelled wrapper for an ifdef/ifndef/ifeval/iftrue/iffalse/ifempty/ifnempty range.",
              "name": "conditional"
            },
            {
              "description": "A chip rendered for a document attribute, title, or bracket line.",
              "name": "variable"
            },
            {
              "description": "The textarea shown while editing a block.",
              "name": "input"
            },
            {
              "description": "The full-document textarea shown in raw source mode.",
              "name": "raw"
            },
            {
              "description": "The `zn-slash-menu` opened by typing \"/\" in an empty block.",
              "name": "slash-menu"
            },
            {
              "description": "The caption / alignment / size panel shown when an image block is clicked.",
              "name": "image-controls"
            },
            {
              "description": "The chip rendered in place of an `include::` directive.",
              "name": "include"
            },
            {
              "description": "The inline Include picker opened from the toolbar or \"/include\".",
              "name": "include-picker"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'zn-dropdown': ZnDropdown, 'zn-menu': ZnMenu, 'zn-menu-item': ZnMenuItem, 'zn-slash-menu': ZnSlashMenu }"
            },
            {
              "kind": "field",
              "name": "formControlController",
              "privacy": "private",
              "readonly": true,
              "default": "new FormControlController(this, { assumeInteractionOn: ['zn-input', 'zn-change'], })"
            },
            {
              "kind": "field",
              "name": "slashController",
              "privacy": "private",
              "readonly": true,
              "default": "new SlashMenuController(this, { menu: () => this.mountSlashMenu(), // The menu only belongs in a block that is nothing but the slash command — a // block prefix like \"## \" is not valid remarkd part-way through a line. items: () => this.isSlashBlock() ? SLASH_ITEMS.filter(item => item.action !== 'include' || !!this.includeUrl) : [], onSelect: item => this.handleSlashSelect(item) })"
            },
            {
              "kind": "field",
              "name": "toolbarOverflow",
              "privacy": "private",
              "readonly": true,
              "default": "new ToolbarOverflowController(this, { groups: () => [...(this.shadowRoot?.querySelectorAll<HTMLElement>('.toolbar__group') ?? [])], container: () => this.shadowRoot?.querySelector<HTMLElement>('.remarkd-editor__toolbar'), })"
            },
            {
              "kind": "field",
              "name": "editingDraft",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "includeRequest",
              "type": {
                "text": "Promise<IncludeOption[]> | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "rawEntryValue",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "suppressValueSync",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "suppressBlurCommit",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "validationInput",
              "type": {
                "text": "HTMLTextAreaElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "slashMenuElement",
              "type": {
                "text": "ZnSlashMenu | null"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "blocks",
              "type": {
                "text": "string[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "editingIndex",
              "type": {
                "text": "number | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "slashRecentKey",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Lists the blocks most recently inserted here above the rest of the slash menu, remembered in\n`localStorage` under this key. Leave unset to offer no recently used section.",
              "attribute": "slash-recent-key"
            },
            {
              "kind": "field",
              "name": "hasSlashMenu",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Renders the slash menu only once it has been needed."
            },
            {
              "kind": "field",
              "name": "imagePickerIndex",
              "type": {
                "text": "number | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "imageEdit",
              "type": {
                "text": "ImageBlockData | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "dropIndicator",
              "type": {
                "text": "number | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "dragIndex",
              "type": {
                "text": "number | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "editShell",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "rawMode",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "includeOptions",
              "type": {
                "text": "IncludeOption[] | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "includeLoadFailed",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "includePickerIndex",
              "type": {
                "text": "number | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "includeQuery",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "pendingDragHandle",
              "type": {
                "text": "HTMLElement | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "dragStartX",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "dragStartY",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "dragGhost",
              "type": {
                "text": "HTMLElement | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "dragPointerY",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "autoScrollFrame",
              "type": {
                "text": "number | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the control, submitted as part of form data.",
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The current remarkd source.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The default value — used when resetting the form."
            },
            {
              "kind": "field",
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "'Type something…'",
              "description": "Placeholder shown when the document is empty.",
              "attribute": "placeholder"
            },
            {
              "kind": "field",
              "name": "attachmentUrl",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Endpoint for image uploads — required for image support. Posting the file\nmetadata here must return `{uploadPath, uploadUrl}`; the file is then PUT\nto `uploadUrl` and the returned `uploadPath` is embedded as the image URL.",
              "attribute": "attachment-url"
            },
            {
              "kind": "field",
              "name": "includeUrl",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Endpoint listing the Includes this document may embed, as\n`{\"items\":[{id,title,description,scope,keywords,languages,url}]}`. Labels the\nchips rendered for `include::` directives and feeds the include picker.",
              "attribute": "include-url"
            },
            {
              "kind": "field",
              "name": "allowRaw",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a toolbar toggle that swaps the block view for the full remarkd source.",
              "attribute": "allow-raw",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the editor required for form submission.",
              "attribute": "required",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the editor read-only.",
              "attribute": "readonly",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the editor.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "validity",
              "type": {
                "text": "ValidityState"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "type": {
                "text": "string"
              },
              "readonly": true
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "getForm",
              "return": {
                "type": {
                  "text": "HTMLFormElement | null"
                }
              }
            },
            {
              "kind": "method",
              "name": "reportValidity",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "return": {
                "type": {
                  "text": "void"
                }
              },
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "focus",
              "description": "Starts editing the first block, or a new block if the document is empty."
            },
            {
              "kind": "method",
              "name": "blur",
              "description": "Commits any in-progress block or raw edit."
            },
            {
              "kind": "method",
              "name": "handleValueChange"
            },
            {
              "kind": "method",
              "name": "handleIncludeUrlChange"
            },
            {
              "kind": "method",
              "name": "splitBlocks",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string[]"
                }
              },
              "parameters": [
                {
                  "name": "source",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Splits remarkd source into blocks on blank lines, keeping fenced /\ndelimited containers (``` ==== !!!! .... ---- ____ **** ////) as single blocks."
            },
            {
              "kind": "method",
              "name": "fenceMarker",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string | null"
                }
              },
              "parameters": [
                {
                  "name": "line",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "closesFence",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "line",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "fence",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "updateBlocks",
              "privacy": "private",
              "parameters": [
                {
                  "name": "blocks",
                  "type": {
                    "text": "string[]"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleRenderedClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "MouseEvent"
                  }
                },
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "parseImageBlock",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "ImageBlockData | null"
                }
              },
              "parameters": [
                {
                  "name": "block",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Parses a block that is purely an image (with optional caption/align lines)."
            },
            {
              "kind": "method",
              "name": "parseIncludeBlock",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "IncludeBlockData | null"
                }
              },
              "parameters": [
                {
                  "name": "block",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Parses a block that is nothing but an include directive."
            },
            {
              "kind": "method",
              "name": "serializeImageBlock",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "data",
                  "type": {
                    "text": "ImageBlockData"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "toggleCheckbox",
              "privacy": "private",
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "checkbox",
                  "type": {
                    "text": "HTMLInputElement"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "startEdit",
              "privacy": "private",
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "draft",
                  "optional": true,
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "align",
                  "default": "'nearest'",
                  "type": {
                    "text": "'nearest' | 'center'"
                  }
                },
                {
                  "name": "caretOffset",
                  "optional": true,
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "updateImageEdit",
              "privacy": "private",
              "parameters": [
                {
                  "name": "patch",
                  "type": {
                    "text": "Partial<ImageBlockData>"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "saveImageEdit",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "closeImageEdit",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "deleteImageBlock",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "editImageSource",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleImageControlsKeydown",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "computeEditShell",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "draft",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "The remarkd chrome the editing block should keep, derived from its first\nline — so a NOTE still looks like a note while its source is edited."
            },
            {
              "kind": "method",
              "name": "focusInput",
              "privacy": "private",
              "parameters": [
                {
                  "name": "align",
                  "default": "'nearest'",
                  "type": {
                    "text": "'nearest' | 'center'"
                  }
                },
                {
                  "name": "caretOffset",
                  "optional": true,
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "reveal",
              "privacy": "private",
              "parameters": [
                {
                  "name": "el",
                  "type": {
                    "text": "Element | null | undefined"
                  }
                },
                {
                  "name": "align",
                  "default": "'nearest'",
                  "type": {
                    "text": "'nearest' | 'center'"
                  }
                }
              ],
              "description": "Scrolls the editor's own body to bring `el` into view. Never `scrollIntoView()` and\nnever `focus()` without preventScroll: both walk every scrollable ancestor, and an\n`overflow: hidden`/`auto` panel around the editor is scrollable too — that shifts a\ncontainer the user never asked to move."
            },
            {
              "kind": "method",
              "name": "revealAfterUpdate",
              "privacy": "private",
              "parameters": [
                {
                  "name": "selector",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "align",
                  "default": "'nearest'",
                  "type": {
                    "text": "'nearest' | 'center'"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "revealBlock",
              "privacy": "private",
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Centres a block added without opening an editor. An image has no height until it\nloads, so the first pass scrolls against a layout that is still short — the second\npass corrects it once the real dimensions are in."
            },
            {
              "kind": "method",
              "name": "addBlockAt",
              "privacy": "private",
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "content",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "deleteBlock",
              "privacy": "private",
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "insertDraftBlock",
              "privacy": "private",
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "prefill",
                  "default": "''"
                },
                {
                  "name": "caretOffset",
                  "optional": true,
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Inserts a draft block — committed (or dropped, if left empty) on blur."
            },
            {
              "kind": "field",
              "name": "handleEditBlur",
              "privacy": "private",
              "description": "Blur handler for the editing textarea. Re-renders that replace the\nfocused textarea (e.g. Shift+Enter committing and opening the next\nblock) fire blur mid-transition — `suppressBlurCommit` masks those."
            },
            {
              "kind": "field",
              "name": "commitEdit",
              "privacy": "private",
              "description": "Commits the in-progress edit; returns the index after the committed parts."
            },
            {
              "kind": "field",
              "name": "handleDraftInput",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleEditKeydown",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "isSlashBlock",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "description": "Whether the block being edited is nothing but the slash command."
            },
            {
              "kind": "method",
              "name": "mountSlashMenu",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<ZnSlashMenu | null>"
                }
              }
            },
            {
              "kind": "method",
              "name": "handleSlashSelect",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "SlashMenuItem"
                  }
                }
              ],
              "description": "Returns false for items the controller should not insert text for."
            },
            {
              "kind": "field",
              "name": "handleEditPaste",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDragOver",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDrop",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "insertionIndexFromY",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              },
              "parameters": [
                {
                  "name": "y",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "The insertion index a drop at `y` maps to, from the rendered block positions."
            },
            {
              "kind": "field",
              "name": "handleHandlePointerDown",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleDragPointerMove",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "stepAutoScroll",
              "privacy": "private",
              "description": "Holding the pointer near a scroll edge keeps the content moving, so a block can\nbe dragged past the visible slice of a long document. Runs per frame rather than\nper pointermove — a pointer parked at the edge stops emitting moves."
            },
            {
              "kind": "method",
              "name": "autoScroll",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "description": "Scrolls the editor body, falling through to the page once the body is at its limit."
            },
            {
              "kind": "method",
              "name": "edgeScrollDelta",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              },
              "parameters": [
                {
                  "name": "top",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "bottom",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Scroll step for this frame: nothing until the pointer is within `edge` of a boundary."
            },
            {
              "kind": "field",
              "name": "handleDragPointerUp",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "cancelDrag",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "createDragGhost",
              "privacy": "private",
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "moveDragGhost",
              "privacy": "private",
              "parameters": [
                {
                  "name": "x",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "y",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "pickImage",
              "privacy": "private",
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "pickInclude",
              "privacy": "private",
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "closeIncludePicker",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "insertInclude",
              "privacy": "private",
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "IncludeOption"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "closeImagePicker",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleImagePicked",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "insertImage",
              "privacy": "private",
              "parameters": [
                {
                  "name": "file",
                  "type": {
                    "text": "File"
                  }
                },
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "uploadImage",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<string>"
                }
              },
              "parameters": [
                {
                  "name": "file",
                  "type": {
                    "text": "File"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "appPath",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "path",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Resolves an app-relative path the way the console's pagelet handler does:\nan app fragment's URLs sit under the app base, and the console puts the app's\n`gaid` on the host element. Links rendered here live in the shadow root,\nwhere a click retargets to the host, so that handler never sees them — the\nhref has to carry the base itself."
            },
            {
              "kind": "method",
              "name": "hasIncludeBlock",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "loadIncludeOptions",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<IncludeOption[]>"
                }
              },
              "description": "Fetches the include list once; every later caller shares the same promise."
            },
            {
              "kind": "method",
              "name": "autosize",
              "privacy": "private",
              "parameters": [
                {
                  "name": "input",
                  "type": {
                    "text": "HTMLTextAreaElement"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "applyInline",
              "privacy": "private",
              "parameters": [
                {
                  "name": "mark",
                  "type": {
                    "text": "InlineMark"
                  }
                }
              ],
              "description": "Applies an inline mark to the open block's textarea: wraps the selection, toggles the\nmark off when it is already wrapped, or inserts a selected placeholder when there is\nno selection. Goes through `editingDraft` so `zn-input` still fires."
            },
            {
              "kind": "field",
              "name": "toggleRawMode",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "focusRaw",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleRawInput",
              "privacy": "private",
              "description": "Raw mode keeps the whole document in one textarea, so the textarea — not\nthe block list — is authoritative while it is open: re-splitting on every\nkeystroke would normalise blank lines out from under the cursor."
            },
            {
              "kind": "field",
              "name": "commitRaw",
              "privacy": "private",
              "description": "Re-splits the raw source into blocks. Not `updateBlocks` — that only\nreports a change when the re-join differs from the value, and raw edits\nhave already written straight to the value."
            },
            {
              "kind": "method",
              "name": "handleToolbarInsert",
              "privacy": "private",
              "parameters": [
                {
                  "name": "action",
                  "type": {
                    "text": "EditorAction"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "renderImageControls",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "renderIncludeChip",
              "privacy": "private",
              "parameters": [
                {
                  "name": "data",
                  "type": {
                    "text": "IncludeBlockData"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "renderMetaChips",
              "privacy": "private",
              "parameters": [
                {
                  "name": "lines",
                  "type": {
                    "text": "MetaLine[]"
                  }
                }
              ],
              "description": "A metadata-only block parses to nothing, so show each of its lines as a chip instead."
            },
            {
              "kind": "method",
              "name": "renderMetaChip",
              "privacy": "private",
              "parameters": [
                {
                  "name": "line",
                  "type": {
                    "text": "MetaLine"
                  }
                }
              ],
              "description": "One shared chip treatment for every metadata line kind — each kind just supplies an\nicon, a name, and an optional value/state, display-only in all three cases."
            },
            {
              "kind": "method",
              "name": "markVariables",
              "privacy": "private",
              "parameters": [
                {
                  "name": "root",
                  "type": {
                    "text": "Element"
                  }
                }
              ],
              "description": "Wraps `{name}` references so they read as variables rather than literal text. Walks text\nnodes and skips code, so a brace in a sample stays a brace, and no regex touches markup."
            },
            {
              "kind": "method",
              "name": "renderConditional",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "TemplateResult | null"
                }
              },
              "parameters": [
                {
                  "name": "block",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "A conditional range as a labelled wrapper. The inner content is parsed without the\ndirective lines: evaluating instead would blank the block whenever the flag is not\ndefined in this same block, hiding the author's content while they edit it. It also\nkeeps both halves of an if/else idiom visible — with evaluation you could never see\nthe `ifndef` branch while the `ifdef` condition held. Nesting is handled by\n`splitConditionalParts`/`renderConditionalWrapper` below, recursively."
            },
            {
              "kind": "method",
              "name": "renderBlock",
              "privacy": "private",
              "parameters": [
                {
                  "name": "block",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "isActionDisabled",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "action",
                  "type": {
                    "text": "EditorAction"
                  }
                }
              ],
              "description": "An inline action needs an open block to apply its mark to."
            },
            {
              "kind": "method",
              "name": "activateAction",
              "privacy": "private",
              "parameters": [
                {
                  "name": "action",
                  "type": {
                    "text": "EditorAction"
                  }
                }
              ],
              "description": "Routes a toolbar/menu action to the inline or block insert path — the one place both\n`renderAction` and `renderMenuAction` call, so the bar and the overflow menu cannot\ndrift out of sync on what a given action actually does."
            },
            {
              "kind": "method",
              "name": "renderAction",
              "privacy": "private",
              "parameters": [
                {
                  "name": "action",
                  "type": {
                    "text": "EditorAction"
                  }
                }
              ],
              "description": "A single toolbar action button, shared by the toolbar bar and the overflow menu."
            },
            {
              "kind": "method",
              "name": "renderMenuAction",
              "privacy": "private",
              "parameters": [
                {
                  "name": "action",
                  "type": {
                    "text": "EditorAction"
                  }
                }
              ],
              "description": "The same action, rendered as a menu item for the overflow menu."
            },
            {
              "kind": "method",
              "name": "renderRaw",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "renderBody",
              "privacy": "private",
              "description": "The block views, with the inline image picker spliced in when active."
            },
            {
              "kind": "method",
              "name": "renderIncludePicker",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "renderImagePicker",
              "privacy": "private"
            }
          ],
          "events": [
            {
              "description": "Emitted on each keystroke while editing a block.",
              "name": "zn-input"
            },
            {
              "description": "Emitted when a block edit is committed and the value changes.",
              "name": "zn-change"
            }
          ],
          "attributes": [
            {
              "name": "slash-recent-key",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Lists the blocks most recently inserted here above the rest of the slash menu, remembered in\n`localStorage` under this key. Leave unset to offer no recently used section.",
              "fieldName": "slashRecentKey"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the control, submitted as part of form data.",
              "fieldName": "name"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The current remarkd source.",
              "fieldName": "value"
            },
            {
              "name": "placeholder",
              "type": {
                "text": "string"
              },
              "default": "'Type something…'",
              "description": "Placeholder shown when the document is empty.",
              "fieldName": "placeholder"
            },
            {
              "name": "attachment-url",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Endpoint for image uploads — required for image support. Posting the file\nmetadata here must return `{uploadPath, uploadUrl}`; the file is then PUT\nto `uploadUrl` and the returned `uploadPath` is embedded as the image URL.",
              "fieldName": "attachmentUrl"
            },
            {
              "name": "include-url",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Endpoint listing the Includes this document may embed, as\n`{\"items\":[{id,title,description,scope,keywords,languages,url}]}`. Labels the\nchips rendered for `include::` directives and feeds the include picker.",
              "fieldName": "includeUrl"
            },
            {
              "name": "allow-raw",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Adds a toolbar toggle that swaps the block view for the full remarkd source.",
              "fieldName": "allowRaw"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the editor required for form submission.",
              "fieldName": "required"
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the editor read-only.",
              "fieldName": "readonly"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the editor.",
              "fieldName": "disabled"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "A Notion-style block editor for remarkd content. Blocks render inline; click one to edit its source.",
          "tagNameWithoutPrefix": "remarkd-editor",
          "tagName": "zn-remarkd-editor",
          "customElement": true,
          "jsDoc": "/**\n * @summary A Notion-style block editor for remarkd content. Blocks render inline; click one to edit its source.\n * @documentation https://zinc.style/components/remarkd-editor\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-button\n * @dependency zn-button-group\n * @dependency zn-dropdown\n * @dependency zn-icon\n * @dependency zn-file\n * @dependency zn-menu\n * @dependency zn-menu-item\n * @dependency zn-slash-menu\n *\n * @event zn-input - Emitted on each keystroke while editing a block.\n * @event zn-change - Emitted when a block edit is committed and the value changes.\n *\n * @csspart base - The component's base wrapper.\n * @csspart toolbar - The always-visible block-insert and inline-formatting toolbar.\n * @csspart raw-toggle - The button that switches between the block view and the raw source view.\n * @csspart block - A rendered block wrapper.\n * @csspart rendered - The rendered remarkd output of a block.\n * @csspart conditional - A labelled wrapper for an ifdef/ifndef/ifeval/iftrue/iffalse/ifempty/ifnempty range.\n * @csspart variable - A chip rendered for a document attribute, title, or bracket line.\n * @csspart input - The textarea shown while editing a block.\n * @csspart raw - The full-document textarea shown in raw source mode.\n * @csspart slash-menu - The `zn-slash-menu` opened by typing \"/\" in an empty block.\n * @csspart image-controls - The caption / alignment / size panel shown when an image block is clicked.\n * @csspart include - The chip rendered in place of an `include::` directive.\n * @csspart include-picker - The inline Include picker opened from the toolbar or \"/include\".\n *\n * @cssproperty --remarkd-editor-max-height - The tallest the editor grows before its body scrolls. Defaults to `100dvh`.\n */",
          "documentation": "https://zinc.style/components/remarkd-editor",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-button",
            "zn-button-group",
            "zn-dropdown",
            "zn-icon",
            "zn-file",
            "zn-menu",
            "zn-menu-item",
            "zn-slash-menu"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnRemarkdEditor",
            "module": "components/remarkd-editor/remarkd-editor.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/reveal/reveal.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnReveal",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "duration",
              "type": {
                "text": "number"
              },
              "default": "2000",
              "attribute": "duration"
            },
            {
              "kind": "field",
              "name": "initial",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "initial"
            },
            {
              "kind": "field",
              "name": "revealed",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "revealed"
            },
            {
              "kind": "field",
              "name": "hideDelay",
              "type": {
                "text": "number"
              },
              "default": "150",
              "attribute": "hide-delay"
            },
            {
              "kind": "field",
              "name": "noToggle",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables click-to-toggle so the value is only revealed on hover. Clicks still bubble to the parent.",
              "attribute": "no-toggle"
            },
            {
              "kind": "field",
              "name": "_isRevealed",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "_isToggled",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "_hideTimer",
              "type": {
                "text": "ReturnType<typeof setTimeout> | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_clearHideTimer",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleToggleReveal",
              "privacy": "protected"
            },
            {
              "kind": "method",
              "name": "handleMouseEnter",
              "privacy": "protected"
            },
            {
              "kind": "method",
              "name": "handleMouseLeave",
              "privacy": "protected"
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "attributes": [
            {
              "name": "duration",
              "type": {
                "text": "number"
              },
              "default": "2000",
              "fieldName": "duration"
            },
            {
              "name": "initial",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "initial"
            },
            {
              "name": "revealed",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "revealed"
            },
            {
              "name": "hide-delay",
              "type": {
                "text": "number"
              },
              "default": "150",
              "fieldName": "hideDelay"
            },
            {
              "name": "no-toggle",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables click-to-toggle so the value is only revealed on hover. Clicks still bubble to the parent.",
              "fieldName": "noToggle"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "reveal",
          "tagName": "zn-reveal",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/reveal\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @usage\n * ```html\n * <zn-reveal duration=\"3000\"\n *            initial=\"******@hotmail.com\"\n *            revealed=\"john.doe@hotmail.com\" toggle>\n * </zn-reveal>\n * ```\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/reveal",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnReveal",
            "module": "components/reveal/reveal.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/schedule-builder/schedule-builder.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnScheduleBuilder",
          "cssProperties": [
            {
              "description": "The height of a single time slot in the calendar. Defaults to `18px`.",
              "name": "--slot-height"
            },
            {
              "description": "The width of the calendar's time gutter. Defaults to `64px`.",
              "name": "--gutter-width"
            },
            {
              "description": "The fill used for open hours.",
              "name": "--open-color"
            },
            {
              "description": "The fill used for hours an exception removes.",
              "name": "--reduced-color"
            }
          ],
          "cssParts": [
            {
              "description": "The form control that wraps the builder, label and help text.",
              "name": "form-control"
            },
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The row above the builder holding the hint, legend and view toggle.",
              "name": "toolbar"
            },
            {
              "description": "The calendar view wrapper.",
              "name": "calendar"
            },
            {
              "description": "The form (list) view wrapper.",
              "name": "list"
            },
            {
              "description": "The summary panel beside the calendar.",
              "name": "summary"
            }
          ],
          "slots": [
            {
              "description": "The schedule's label. Alternatively, use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "Text that describes how to use the schedule. Alternatively, use the `help-text` attribute.",
              "name": "help-text"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "formAssociated",
              "type": {
                "text": "boolean"
              },
              "static": true,
              "default": "true"
            },
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'zn-icon': ZnIcon, 'zn-input': ZnInput, 'zn-option': ZnOption, 'zn-select': ZnSelect, }"
            },
            {
              "kind": "field",
              "name": "formControlController",
              "privacy": "private",
              "readonly": true,
              "default": "new FormControlController(this, { assumeInteractionOn: ['zn-change'] })"
            },
            {
              "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": "internals",
              "type": {
                "text": "ElementInternals | null"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "canvas",
              "type": {
                "text": "HTMLElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_days",
              "type": {
                "text": "ScheduleDayMap"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_exceptions",
              "type": {
                "text": "ScheduleException[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "_dragPreview",
              "type": {
                "text": "ScheduleDayMap | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "_editing",
              "type": {
                "text": "{ day: ScheduleDay; index: number } | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "_dragMode",
              "type": {
                "text": "'open' | 'close'"
              },
              "privacy": "private",
              "default": "'open'"
            },
            {
              "kind": "field",
              "name": "_dragAnchor",
              "type": {
                "text": "{ col: number; row: number } | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "_dragPointerId",
              "type": {
                "text": "number | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "description": "The name of the form control, submitted as a name/value pair with form data.",
              "attribute": "name",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The schedule as a JSON string. This is what gets posted with the form.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The default value, used when resetting the containing form."
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The schedule'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 schedule's help text. If you need to display HTML, use the `help-text` slot instead.",
              "attribute": "help-text"
            },
            {
              "kind": "field",
              "name": "view",
              "type": {
                "text": "ScheduleView"
              },
              "default": "'calendar'",
              "description": "Which view is showing.",
              "attribute": "view",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "openLabel",
              "type": {
                "text": "string"
              },
              "default": "'Available'",
              "description": "The word used for hours the schedule covers, in the legend and in labels.",
              "attribute": "open-label"
            },
            {
              "kind": "field",
              "name": "closedLabel",
              "type": {
                "text": "string"
              },
              "default": "'Closed'",
              "description": "The word used for hours the schedule doesn't cover, in the legend and against empty days.",
              "attribute": "closed-label"
            },
            {
              "kind": "field",
              "name": "noToggle",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the calendar/form view toggle.",
              "attribute": "no-toggle"
            },
            {
              "kind": "field",
              "name": "hideSummary",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the summary panel beside the calendar.",
              "attribute": "hide-summary"
            },
            {
              "kind": "field",
              "name": "startHour",
              "type": {
                "text": "number"
              },
              "default": "6",
              "description": "The first hour shown in the calendar.",
              "attribute": "start-hour"
            },
            {
              "kind": "field",
              "name": "endHour",
              "type": {
                "text": "number"
              },
              "default": "22",
              "description": "The last hour shown in the calendar.",
              "attribute": "end-hour"
            },
            {
              "kind": "field",
              "name": "interval",
              "type": {
                "text": "number"
              },
              "default": "30",
              "description": "The granularity of the calendar grid and the time inputs, in minutes.",
              "attribute": "interval"
            },
            {
              "kind": "field",
              "name": "weekStart",
              "type": {
                "text": "ScheduleDay"
              },
              "default": "'mon'",
              "description": "The weekday the week starts on.",
              "attribute": "week-start"
            },
            {
              "kind": "field",
              "name": "timeFormat",
              "type": {
                "text": "'12' | '24'"
              },
              "default": "'24'",
              "description": "Displays times as 12 or 24 hour. The serialised value is always 24 hour `HH:MM`.",
              "attribute": "time-format"
            },
            {
              "kind": "field",
              "name": "displayTimezone",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The IANA timezone the hours are shown in. Accepts `auto` for the viewer's own timezone. Defaults\nto `save-timezone`, so nothing is converted until you ask for it. Changing this only re-labels\nthe same underlying hours; the value never moves.",
              "attribute": "display-timezone"
            },
            {
              "kind": "field",
              "name": "saveTimezone",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The IANA timezone the value is stored in. Defaults to `UTC` as soon as the schedule is\ntimezone-aware (a display timezone is set, or the picker is shown), and to no timezone at all\notherwise — in which case the times are stored exactly as they are shown.",
              "attribute": "save-timezone"
            },
            {
              "kind": "field",
              "name": "showTimezone",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Shows the timezone picker, letting the user read the schedule in any timezone.",
              "attribute": "show-timezone"
            },
            {
              "kind": "field",
              "name": "timezones",
              "type": {
                "text": "string[]"
              },
              "default": "[]",
              "description": "The timezones offered by the picker, as IANA names or one of the named sets — `en` (the four US\nzones, the UK and Australia, under those names), `offsets` (one zone per UTC offset, the\ndefault), `common` (every offset plus the world's major centres) or `all` (the complete IANA\nlist). Names and sets can be mixed, e.g. `en Asia/Tokyo`.",
              "attribute": "timezones"
            },
            {
              "kind": "field",
              "name": "referenceDate",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The date (`YYYY-MM-DD`) used to resolve timezone offsets. A weekly pattern has no date of its\nown, so one has to be picked to know whether daylight saving applies; today is used by default.",
              "attribute": "reference-date"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the schedule.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Renders the schedule without any editing affordances.",
              "attribute": "readonly",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the schedule a required field, invalid until at least one period is open.",
              "attribute": "required",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "form",
              "type": {
                "text": "string"
              },
              "description": "The id of the form to associate with, when the control sits outside of it.",
              "attribute": "form",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "schedule",
              "type": {
                "text": "ScheduleValue"
              },
              "description": "The schedule as a plain object, with `days` in the save timezone. Assigning to it replaces the\nwhole schedule."
            },
            {
              "kind": "field",
              "name": "exceptions",
              "type": {
                "text": "ScheduleException[]"
              },
              "description": "The exceptions annotating the schedule. Also readable from, and written into, the value."
            },
            {
              "kind": "field",
              "name": "validity",
              "type": {
                "text": "ValidityState"
              },
              "description": "Gets the validity state object.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "type": {
                "text": "string"
              },
              "description": "Gets the validation message.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_isZoned",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "description": "Whether the schedule carries a timezone at all.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_saveZone",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "description": "The timezone the value is stored in. Empty means the times are stored exactly as shown.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_displayZone",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "description": "The timezone the grid and list are drawn in.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_reference",
              "type": {
                "text": "Date"
              },
              "privacy": "private",
              "description": "The moment used to resolve daylight saving for both zones.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_offsetDelta",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "description": "Minutes to add to a stored time to get the time shown.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_orderedDays",
              "type": {
                "text": "ScheduleDay[]"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_interval",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_startMinute",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_endMinute",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_slotCount",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_slotsPerHour",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_isEditable",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_hasHours",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "handleValueChange"
            },
            {
              "kind": "method",
              "name": "handleValidationStateChange"
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "description": "Checks validity but does not show a validation message."
            },
            {
              "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",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Sets a custom validation message. Pass an empty string to restore validity."
            },
            {
              "kind": "method",
              "name": "setDay",
              "parameters": [
                {
                  "name": "day",
                  "type": {
                    "text": "ScheduleDay"
                  }
                },
                {
                  "name": "ranges",
                  "type": {
                    "text": "ScheduleRange[]"
                  }
                }
              ],
              "description": "Replaces the hours for a single day, in the save timezone."
            },
            {
              "kind": "method",
              "name": "getDay",
              "return": {
                "type": {
                  "text": "ScheduleRange[]"
                }
              },
              "parameters": [
                {
                  "name": "day",
                  "type": {
                    "text": "ScheduleDay"
                  }
                }
              ],
              "description": "Reads the hours for a single day, in the save timezone."
            },
            {
              "kind": "field",
              "name": "displayedDays",
              "type": {
                "text": "ScheduleDayMap"
              },
              "description": "The hours as currently shown, in the display timezone.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "setDisplayDay",
              "parameters": [
                {
                  "name": "day",
                  "type": {
                    "text": "ScheduleDay"
                  }
                },
                {
                  "name": "ranges",
                  "type": {
                    "text": "ScheduleRange[]"
                  }
                }
              ],
              "description": "Replaces the hours for a single day, given in the display timezone."
            },
            {
              "kind": "method",
              "name": "formResetCallback"
            },
            {
              "kind": "method",
              "name": "formStateRestoreCallback",
              "parameters": [
                {
                  "name": "restoredValue",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "_customValidity",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "method",
              "name": "_cloneDays",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "ScheduleDayMap"
                }
              },
              "parameters": [
                {
                  "name": "days",
                  "type": {
                    "text": "ScheduleDayMap"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_serialise",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              }
            },
            {
              "kind": "method",
              "name": "_applySchedule",
              "privacy": "private",
              "parameters": [
                {
                  "name": "input",
                  "type": {
                    "text": "unknown"
                  }
                }
              ],
              "description": "Accepts a JSON string, a full `ScheduleValue`, or a bare day map."
            },
            {
              "kind": "method",
              "name": "_syncFormValue",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_commit",
              "privacy": "private",
              "parameters": [
                {
                  "name": "emit",
                  "default": "true",
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_formatTime",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "time",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_formatRange",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "range",
                  "type": {
                    "text": "ScheduleRange"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_formatDate",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "string | undefined"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_summariseDay",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "day",
                  "type": {
                    "text": "ScheduleDay"
                  }
                },
                {
                  "name": "days",
                  "type": {
                    "text": "ScheduleDayMap"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "_storedAsShown",
              "type": {
                "text": "ScheduleDayMap"
              },
              "privacy": "private",
              "description": "The stored hours rotated into the display timezone.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_shownDays",
              "type": {
                "text": "ScheduleDayMap"
              },
              "privacy": "private",
              "description": "The hours as drawn, which is the drag preview while a drag is in flight.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "_commitShownDays",
              "privacy": "private",
              "parameters": [
                {
                  "name": "days",
                  "type": {
                    "text": "ScheduleDayMap"
                  }
                }
              ],
              "description": "Stores hours that were edited in display coordinates, rotating them back to the save timezone."
            },
            {
              "kind": "method",
              "name": "_exceptionsForDay",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "ScheduleException[]"
                }
              },
              "parameters": [
                {
                  "name": "day",
                  "type": {
                    "text": "ScheduleDay"
                  }
                }
              ],
              "description": "The exceptions that touch a given weekday and actually change its hours."
            },
            {
              "kind": "field",
              "name": "_shownReductionSpans",
              "type": {
                "text": "WeekSpan[]"
              },
              "privacy": "private",
              "description": "The week spans an exception takes away, in display coordinates. Computed as spans rather than\nper-day ranges because a timezone rotation can move an exception's hours onto another weekday.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "_slotMinute",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              },
              "parameters": [
                {
                  "name": "day",
                  "type": {
                    "text": "ScheduleDay"
                  }
                },
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "The week minute a calendar cell sits on, measured from Monday 00:00."
            },
            {
              "kind": "method",
              "name": "_slotState",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "SlotState"
                }
              },
              "parameters": [
                {
                  "name": "day",
                  "type": {
                    "text": "ScheduleDay"
                  }
                },
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "open",
                  "type": {
                    "text": "WeekSpan[]"
                  }
                },
                {
                  "name": "reductions",
                  "type": {
                    "text": "WeekSpan[]"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_pointerPosition",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "{ col: number; row: number } | null"
                }
              },
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_buildDragPreview",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "ScheduleDayMap"
                }
              },
              "parameters": [
                {
                  "name": "cursor",
                  "type": {
                    "text": "{ col: number; row: number }"
                  }
                }
              ],
              "description": "Paints the rectangle between the drag anchor and the cursor onto a copy of the shown schedule."
            },
            {
              "kind": "field",
              "name": "_handleCanvasPointerDown",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_handleCanvasPointerMove",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_handleCanvasPointerUp",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_handleCanvasPointerCancel",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_handleViewToggle",
              "privacy": "private",
              "parameters": [
                {
                  "name": "view",
                  "type": {
                    "text": "ScheduleView"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_nextFreeRange",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "ScheduleRange"
                }
              },
              "parameters": [
                {
                  "name": "ranges",
                  "type": {
                    "text": "ScheduleRange[]"
                  }
                }
              ],
              "description": "Picks a sensible slot for a newly added range: the first hour-wide gap in the day."
            },
            {
              "kind": "method",
              "name": "_handleAddRange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "day",
                  "type": {
                    "text": "ScheduleDay"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleRemoveRange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "day",
                  "type": {
                    "text": "ScheduleDay"
                  }
                },
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleRangeEdit",
              "privacy": "private",
              "parameters": [
                {
                  "name": "day",
                  "type": {
                    "text": "ScheduleDay"
                  }
                },
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "edge",
                  "type": {
                    "text": "'start' | 'end'"
                  }
                },
                {
                  "name": "value",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleEditorKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleEditorFocusOut",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "FocusEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_renderToolbar",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_timezoneOptions",
              "type": {
                "text": "TimezoneOption[]"
              },
              "privacy": "private",
              "description": "The picker's options: the configured list plus whatever zones are already in play.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "_handleTimezoneChange",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_renderTimezonePicker",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_renderCalendar",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_renderCalendarColumn",
              "privacy": "private",
              "parameters": [
                {
                  "name": "day",
                  "type": {
                    "text": "ScheduleDay"
                  }
                },
                {
                  "name": "openSpans",
                  "type": {
                    "text": "WeekSpan[]"
                  }
                },
                {
                  "name": "reductionSpans",
                  "type": {
                    "text": "WeekSpan[]"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_renderSummary",
              "privacy": "private",
              "parameters": [
                {
                  "name": "days",
                  "type": {
                    "text": "ScheduleDayMap"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_renderList",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_renderListRow",
              "privacy": "private",
              "parameters": [
                {
                  "name": "day",
                  "type": {
                    "text": "ScheduleDay"
                  }
                },
                {
                  "name": "ranges",
                  "type": {
                    "text": "ScheduleRange[]"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_renderRangeChip",
              "privacy": "private",
              "parameters": [
                {
                  "name": "day",
                  "type": {
                    "text": "ScheduleDay"
                  }
                },
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "range",
                  "type": {
                    "text": "ScheduleRange"
                  }
                },
                {
                  "name": "reduced",
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_renderRangeEditor",
              "privacy": "private",
              "parameters": [
                {
                  "name": "day",
                  "type": {
                    "text": "ScheduleDay"
                  }
                },
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "range",
                  "type": {
                    "text": "ScheduleRange"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_dayNote",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "{ text: string; reduced: boolean }"
                }
              },
              "parameters": [
                {
                  "name": "day",
                  "type": {
                    "text": "ScheduleDay"
                  }
                }
              ],
              "description": "The exception annotation shown against a day in the form view."
            }
          ],
          "events": [
            {
              "description": "Emitted when the schedule changes.",
              "name": "zn-change"
            }
          ],
          "attributes": [
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "description": "The name of the form control, submitted as a name/value pair with form data.",
              "fieldName": "name"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The schedule as a JSON string. This is what gets posted with the form.",
              "fieldName": "value"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The schedule's label. If you need to display HTML, use the `label` slot instead.",
              "fieldName": "label"
            },
            {
              "name": "help-text",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The schedule's help text. If you need to display HTML, use the `help-text` slot instead.",
              "fieldName": "helpText"
            },
            {
              "name": "view",
              "type": {
                "text": "ScheduleView"
              },
              "default": "'calendar'",
              "description": "Which view is showing.",
              "fieldName": "view"
            },
            {
              "name": "open-label",
              "type": {
                "text": "string"
              },
              "default": "'Available'",
              "description": "The word used for hours the schedule covers, in the legend and in labels.",
              "fieldName": "openLabel"
            },
            {
              "name": "closed-label",
              "type": {
                "text": "string"
              },
              "default": "'Closed'",
              "description": "The word used for hours the schedule doesn't cover, in the legend and against empty days.",
              "fieldName": "closedLabel"
            },
            {
              "name": "no-toggle",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the calendar/form view toggle.",
              "fieldName": "noToggle"
            },
            {
              "name": "hide-summary",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the summary panel beside the calendar.",
              "fieldName": "hideSummary"
            },
            {
              "name": "start-hour",
              "type": {
                "text": "number"
              },
              "default": "6",
              "description": "The first hour shown in the calendar.",
              "fieldName": "startHour"
            },
            {
              "name": "end-hour",
              "type": {
                "text": "number"
              },
              "default": "22",
              "description": "The last hour shown in the calendar.",
              "fieldName": "endHour"
            },
            {
              "name": "interval",
              "type": {
                "text": "number"
              },
              "default": "30",
              "description": "The granularity of the calendar grid and the time inputs, in minutes.",
              "fieldName": "interval"
            },
            {
              "name": "week-start",
              "type": {
                "text": "ScheduleDay"
              },
              "default": "'mon'",
              "description": "The weekday the week starts on.",
              "fieldName": "weekStart"
            },
            {
              "name": "time-format",
              "type": {
                "text": "'12' | '24'"
              },
              "default": "'24'",
              "description": "Displays times as 12 or 24 hour. The serialised value is always 24 hour `HH:MM`.",
              "fieldName": "timeFormat"
            },
            {
              "name": "display-timezone",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The IANA timezone the hours are shown in. Accepts `auto` for the viewer's own timezone. Defaults\nto `save-timezone`, so nothing is converted until you ask for it. Changing this only re-labels\nthe same underlying hours; the value never moves.",
              "fieldName": "displayTimezone"
            },
            {
              "name": "save-timezone",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The IANA timezone the value is stored in. Defaults to `UTC` as soon as the schedule is\ntimezone-aware (a display timezone is set, or the picker is shown), and to no timezone at all\notherwise — in which case the times are stored exactly as they are shown.",
              "fieldName": "saveTimezone"
            },
            {
              "name": "show-timezone",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Shows the timezone picker, letting the user read the schedule in any timezone.",
              "fieldName": "showTimezone"
            },
            {
              "name": "timezones",
              "type": {
                "text": "string[]"
              },
              "default": "[]",
              "description": "The timezones offered by the picker, as IANA names or one of the named sets — `en` (the four US\nzones, the UK and Australia, under those names), `offsets` (one zone per UTC offset, the\ndefault), `common` (every offset plus the world's major centres) or `all` (the complete IANA\nlist). Names and sets can be mixed, e.g. `en Asia/Tokyo`.",
              "fieldName": "timezones"
            },
            {
              "name": "reference-date",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The date (`YYYY-MM-DD`) used to resolve timezone offsets. A weekly pattern has no date of its\nown, so one has to be picked to know whether daylight saving applies; today is used by default.",
              "fieldName": "referenceDate"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the schedule.",
              "fieldName": "disabled"
            },
            {
              "name": "readonly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Renders the schedule without any editing affordances.",
              "fieldName": "readonly"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Makes the schedule a required field, invalid until at least one period is open.",
              "fieldName": "required"
            },
            {
              "name": "form",
              "type": {
                "text": "string"
              },
              "description": "The id of the form to associate with, when the control sits outside of it.",
              "fieldName": "form"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Builds a weekly opening-hours schedule as a drag-to-paint calendar or a compact list of\ntime ranges, and posts the result as JSON.",
          "tagNameWithoutPrefix": "schedule-builder",
          "tagName": "zn-schedule-builder",
          "customElement": true,
          "jsDoc": "/**\n * @summary Builds a weekly opening-hours schedule as a drag-to-paint calendar or a compact list of\n * time ranges, and posts the result as JSON.\n * @documentation https://zinc.style/components/schedule-builder\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-icon\n * @dependency zn-input\n * @dependency zn-option\n * @dependency zn-select\n *\n * @event zn-change - Emitted when the schedule changes.\n *\n * @slot label - The schedule's label. Alternatively, use the `label` attribute.\n * @slot help-text - Text that describes how to use the schedule. Alternatively, use the `help-text` attribute.\n *\n * @csspart form-control - The form control that wraps the builder, label and help text.\n * @csspart base - The component's base wrapper.\n * @csspart toolbar - The row above the builder holding the hint, legend and view toggle.\n * @csspart calendar - The calendar view wrapper.\n * @csspart list - The form (list) view wrapper.\n * @csspart summary - The summary panel beside the calendar.\n *\n * @cssproperty --slot-height - The height of a single time slot in the calendar. Defaults to `18px`.\n * @cssproperty --gutter-width - The width of the calendar's time gutter. Defaults to `64px`.\n * @cssproperty --open-color - The fill used for open hours.\n * @cssproperty --reduced-color - The fill used for hours an exception removes.\n */",
          "documentation": "https://zinc.style/components/schedule-builder",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-icon",
            "zn-input",
            "zn-option",
            "zn-select"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnScheduleBuilder",
            "module": "components/schedule-builder/schedule-builder.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/scroll-container/scroll-container.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnScrollContainer",
          "cssProperties": [
            {
              "description": "The height and maximum height of the scroll container.",
              "name": "--zn-scroll-container-height"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "height",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The height and maximum height of the scroll container.",
              "attribute": "height"
            },
            {
              "kind": "field",
              "name": "startScrolled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "start-scrolled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "container",
              "type": {
                "text": "HTMLElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "footer",
              "type": {
                "text": "HTMLElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_footerObserved",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "_footerHeightFrame",
              "type": {
                "text": "number | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "method",
              "name": "scrollEnd"
            },
            {
              "kind": "method",
              "name": "_syncFooterHeight",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_footerResizeObserver",
              "privacy": "private",
              "readonly": true,
              "default": "new ResizeController(this, { target: null, callback: () => this._syncFooterHeight(), })"
            },
            {
              "kind": "field",
              "name": "_domObserver",
              "privacy": "private",
              "readonly": true,
              "default": "new MutationController(this, { target: null, config: {childList: true, subtree: true}, callback: () => { setTimeout(() => this.scrollEnd(), 100); if (this.footer) { this._syncFooterHeight(); if (!this._footerObserved) { this._footerObserved = true; this._footerResizeObserver.observe(this.footer); } } }, })"
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "attributes": [
            {
              "name": "height",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The height and maximum height of the scroll container.",
              "fieldName": "height"
            },
            {
              "name": "start-scrolled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "startScrolled"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "scroll-container",
          "tagName": "zn-scroll-container",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/scroll-container\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --zn-scroll-container-height - The height and maximum height of the scroll container.\n */",
          "documentation": "https://zinc.style/components/scroll-container",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnScrollContainer",
            "module": "components/scroll-container/scroll-container.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/select/select.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnSelect",
          "cssParts": [
            {
              "description": "The container shown while a remote search request is in flight.",
              "name": "search-loading"
            },
            {
              "description": "The message shown when results are truncated by `max-results`.",
              "name": "max-results-indicator"
            },
            {
              "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, 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"
            }
          ],
          "slots": [
            {
              "description": "The listbox options. Must be `<zn-option>` elements. You can use `<zn-opt-group>` to group options under a labeled header, or `<zn-divider>` to group items visually.",
              "name": ""
            },
            {
              "description": "The input's label. Alternatively, you can use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "Used to add text that is displayed in a tooltip next to the label. Alternatively, you can use the `label-tooltip` attribute.",
              "name": "label-tooltip"
            },
            {
              "description": "Used to add contextual text that is displayed above the select, on the right. Alternatively, you can use the `context-note` attribute.",
              "name": "context-note"
            },
            {
              "description": "Used to prepend a presentational icon or similar element to the combobox.",
              "name": "prefix"
            },
            {
              "description": "Used to append a presentational element — a chip marking the selected option's state, for instance — to the combobox, between the value and the clear and expand icons.",
              "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": "{ 'zn-icon': ZnIcon, 'zn-opt-group': ZnOptGroup, 'zn-option': ZnOption, 'zn-popup': ZnPopup, 'zn-tag': ZnChip }"
            },
            {
              "kind": "field",
              "name": "formControlController",
              "privacy": "protected",
              "readonly": true,
              "default": "new FormControlController(this, { assumeInteractionOn: ['zn-blur', 'zn-input'] })"
            },
            {
              "kind": "field",
              "name": "conditionalController",
              "privacy": "private",
              "readonly": true,
              "default": "new ConditionalController(this)"
            },
            {
              "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": "popup",
              "type": {
                "text": "ZnPopup"
              }
            },
            {
              "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": "prefixSlot",
              "type": {
                "text": "HTMLSlotElement"
              }
            },
            {
              "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": "ZnOption"
              }
            },
            {
              "kind": "field",
              "name": "selectedOptions",
              "type": {
                "text": "ZnOption[]"
              },
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "valueHasChanged",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "inputPrefix",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "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": "nonRemovable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "non-removable"
            },
            {
              "kind": "field",
              "name": "_value",
              "type": {
                "text": "string | string[]"
              },
              "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 property will be an array. Values may contain spaces when using JSON array syntax in the attribute,\ne.g. `value='[\"my value\", \"their value\"]'`. Space-delimited strings are still supported for backward compatibility."
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "string | string[]"
              },
              "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": "maxOptions",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "Max number of options that can be selected when `multiple` is true. Set to 0 to allow unlimited selections.",
              "attribute": "max-options"
            },
            {
              "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": "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": "hoist",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Enable this option to prevent the listbox from being clipped when the component is placed inside a container with\n`overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.",
              "attribute": "hoist"
            },
            {
              "kind": "field",
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style select with rounded edges.",
              "attribute": "pill",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "search",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Enables search/filter functionality. When enabled, the user can type into the select to filter the visible options.",
              "attribute": "search",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "freeText",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allows the user to enter values that are not in the options list (\"free text\"). Implies the editable,\nfiltering input behavior of `search`. A typed value that doesn't match an existing option is committed\nby pressing Enter, clicking the \"Add\" row, or blurring the field, and becomes a selected option — a tag\nwhen `multiple` is enabled. The committed value is both the option's value and its label.",
              "attribute": "free-text",
              "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": "labelTooltip",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Text that appears in a tooltip next to the label. If you need to display HTML in the tooltip, use the `label-tooltip` slot instead.",
              "attribute": "label-tooltip"
            },
            {
              "kind": "field",
              "name": "contextNote",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Text that appears above the input, on the right, to add additional context. If you need to display HTML in this text, use the `context-note` slot instead.",
              "attribute": "context-note"
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "'top' | 'bottom'"
              },
              "default": "'bottom'",
              "description": "The preferred placement of the selects menu. Note that the actual placement may vary as needed to keep the listbox\ninside 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"
              },
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside 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": "cacheKey",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "attribute": "cache-key"
            },
            {
              "kind": "field",
              "name": "triggerSubmit",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "trigger-submit"
            },
            {
              "kind": "field",
              "name": "getTag",
              "type": {
                "text": "(option: ZnOption, 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": "selectFirst",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Automatically select the first option if no value is set.",
              "attribute": "select-first"
            },
            {
              "kind": "field",
              "name": "distinct",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "attribute": "distinct"
            },
            {
              "kind": "field",
              "name": "conditional",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "attribute": "conditional"
            },
            {
              "kind": "field",
              "name": "dataUri",
              "type": {
                "text": "string"
              },
              "description": "The URL to fetch options from. When set, the component fetches JSON from this URL and renders the results as\noptions. The expected format is an array of objects with `key` and `value` properties:\n`[{\"key\": \"us\", \"value\": \"United States\"}, ...]`\nWhen not set, the component works exactly as before using slotted `<zn-option>` elements.",
              "attribute": "data-uri"
            },
            {
              "kind": "field",
              "name": "contextData",
              "type": {
                "text": "string"
              },
              "description": "Context data to send as a header when fetching options from the URL specified by the `src` property.",
              "attribute": "context-data"
            },
            {
              "kind": "field",
              "name": "maxResults",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The maximum number of options to display from a remote fetch response. Set to 0 for unlimited.\nOnly applies when fetching from `data-uri`.",
              "attribute": "max-results"
            },
            {
              "kind": "field",
              "name": "searchDebounce",
              "type": {
                "text": "number"
              },
              "default": "300",
              "description": "Debounce delay in milliseconds for remote search requests. The component waits this long after the user\nstops typing before sending a request.",
              "attribute": "search-debounce"
            },
            {
              "kind": "field",
              "name": "searchParam",
              "type": {
                "text": "string"
              },
              "default": "'q'",
              "description": "The query parameter name appended to the `data-uri` URL for remote search requests.\nDefaults to `\"q\"`, e.g. `/api/items?q=search+term`. Set to a custom value like `\"search\"` or `\"filter\"` to match your API.",
              "attribute": "search-param"
            },
            {
              "kind": "field",
              "name": "searchOnly",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set alongside `search` and `data-uri`, the component will not fetch options on initial load.\nOptions are only fetched when the user starts typing a search query.",
              "attribute": "search-only"
            },
            {
              "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": "updateHasInputPrefix",
              "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": "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": "field",
              "name": "_isRemoteSearch",
              "privacy": "private",
              "description": "Whether the component is in remote-search mode (search + dataUri both set)",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_isTypeable",
              "privacy": "private",
              "description": "Whether the display input is editable and filters options (search or free-text).",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "handleSearchInput",
              "privacy": "private",
              "description": "Handles text input on the display input for search/filter mode"
            },
            {
              "kind": "method",
              "name": "filterOptions",
              "privacy": "private",
              "description": "Filters visible options based on the current search query"
            },
            {
              "kind": "method",
              "name": "clearSearch",
              "privacy": "private",
              "description": "Clears the search query and shows all options"
            },
            {
              "kind": "method",
              "name": "commitFreeText",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "refocus",
                  "default": "true"
                }
              ],
              "description": "Commits the current typed text as a selected value when `free-text` is enabled. A selected `<zn-option>`\n(value = label = trimmed text) is created in the light DOM so the value flows through the existing\ntag/value/selection machinery and appears as a deselectable row in the listbox. Returns `true` when\nsomething was committed, `false` when there was nothing to commit."
            },
            {
              "kind": "field",
              "name": "_freeTextAddValue",
              "type": {
                "text": "string | null"
              },
              "privacy": "private",
              "description": "The trimmed pending text to offer as a free-text \"Add\" row, or `null` when no Add row should be shown\n(free-text disabled, dropdown closed, input empty, or the text exactly matches an existing option).",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "handleAddOptionMouseDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ],
              "description": "Commits the typed value when the \"Add\" row is pressed, keeping focus on the input."
            },
            {
              "kind": "method",
              "name": "_materialiseFreeTextValues",
              "privacy": "private",
              "parameters": [
                {
                  "name": "values",
                  "type": {
                    "text": "string[]"
                  }
                }
              ],
              "description": "In free-text mode, creates a hidden `<zn-option>` for any value that has no matching option, so values\nset via the `value`/`defaultValue` attribute (e.g. previously-saved custom entries) render as tags or\nthe display value on load. No-op when free-text is disabled."
            },
            {
              "kind": "method",
              "name": "_createFreeTextOption",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "ZnOption"
                }
              },
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Creates a free-text-marked `<zn-option>` in the light DOM (value = label) and returns it. The option is\na normal, visible, selectable row so the user can deselect a custom value from the dropdown like any\nother option; the `data-free-text` marker lets us drop it from the DOM once it's no longer selected."
            },
            {
              "kind": "method",
              "name": "handleOptionClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleDefaultSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleTagRemove",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "ZnRemoveEvent"
                  }
                },
                {
                  "name": "option",
                  "type": {
                    "text": "ZnOption"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getAllOptions",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getAllOptGroups",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getVisibleOptions",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getFirstOption",
              "privacy": "public"
            },
            {
              "kind": "method",
              "name": "setCurrentOption",
              "privacy": "private",
              "parameters": [
                {
                  "name": "option",
                  "type": {
                    "text": "ZnOption | null"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "setSelectedOptions",
              "privacy": "private",
              "parameters": [
                {
                  "name": "option",
                  "type": {
                    "text": "ZnOption | ZnOption[]"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "toggleOptionSelection",
              "privacy": "private",
              "parameters": [
                {
                  "name": "option",
                  "type": {
                    "text": "ZnOption"
                  }
                },
                {
                  "name": "force",
                  "optional": true,
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "selectionChanged",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "tags",
              "privacy": "protected",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "_renderSelectedRemoteItems",
              "privacy": "private",
              "description": "Renders hidden <zn-option> elements for items that are currently selected but not present in\nthe latest `_fetchedOptions` (e.g. because a remote search narrowed the results). This keeps\nthem in the DOM so `handleDefaultSlotChange` can find and re-select them."
            },
            {
              "kind": "method",
              "name": "handleInvalid",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleDisabledChange"
            },
            {
              "kind": "method",
              "name": "handleSrcChange"
            },
            {
              "kind": "method",
              "name": "_handleFetchError",
              "privacy": "private",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_buildCacheKey",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "searchQuery",
                  "optional": true,
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Builds the localStorage cache key for a given search query"
            },
            {
              "kind": "method",
              "name": "_readCache",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "typeof this._fetchedOptions | null"
                }
              },
              "parameters": [
                {
                  "name": "searchQuery",
                  "optional": true,
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Reads cached results from localStorage"
            },
            {
              "kind": "method",
              "name": "_writeCache",
              "privacy": "private",
              "parameters": [
                {
                  "name": "searchQuery",
                  "type": {
                    "text": "string | undefined"
                  }
                },
                {
                  "name": "data",
                  "type": {
                    "text": "typeof this._fetchedOptions"
                  }
                }
              ],
              "description": "Writes results to localStorage cache"
            },
            {
              "kind": "method",
              "name": "_parseOptions",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "typeof this._fetchedOptions | null"
                }
              },
              "parameters": [
                {
                  "name": "data",
                  "type": {
                    "text": "unknown"
                  }
                }
              ],
              "description": "Parses raw JSON data into the internal fetched-options format.\nApplies `maxResults` limiting to flat option arrays."
            },
            {
              "kind": "method",
              "name": "fetchOptions",
              "parameters": [
                {
                  "name": "searchQuery",
                  "optional": true,
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Fetches options from the URL specified by the `data-uri` property. Optionally appends a search query."
            },
            {
              "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."
            },
            {
              "kind": "method",
              "name": "updateDependencies",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "updateDependencyState",
              "privacy": "private",
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLInputElement"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "toggleDisabled",
              "privacy": "private",
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLInputElement"
                  }
                },
                {
                  "name": "disabled",
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            }
          ],
          "events": [
            {
              "description": "Emitted when the control's value changes.",
              "name": "zn-change"
            },
            {
              "description": "Emitted when the control's value is cleared.",
              "name": "zn-clear"
            },
            {
              "description": "Emitted when the control receives input.",
              "name": "zn-input"
            },
            {
              "description": "Emitted when the control gains focus.",
              "name": "zn-focus"
            },
            {
              "description": "Emitted when the control loses focus.",
              "name": "zn-blur"
            },
            {
              "description": "Emitted when the select's menu opens.",
              "name": "zn-show"
            },
            {
              "description": "Emitted after the select's menu opens and all animations are complete.",
              "name": "zn-after-show"
            },
            {
              "description": "Emitted when the select's menu closes.",
              "name": "zn-hide"
            },
            {
              "description": "Emitted after the select's menu closes and all animations are complete.",
              "name": "zn-after-hide"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
              "name": "zn-invalid"
            },
            {
              "description": "Emitted when options have been successfully loaded from the `src` URL.",
              "name": "zn-load"
            },
            {
              "description": "Emitted when loading options from the `src` URL fails.",
              "name": "zn-error"
            }
          ],
          "attributes": [
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name of the select, submitted as a name/value pair with form data.",
              "fieldName": "name"
            },
            {
              "name": "non-removable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "nonRemovable"
            },
            {
              "name": "value",
              "type": {
                "text": "string | string[]"
              },
              "default": "''",
              "description": "The default value of the form control. Primarily used for resetting the form control.",
              "fieldName": "defaultValue"
            },
            {
              "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",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "Max number of options that can be selected when `multiple` is true. Set to 0 to allow unlimited selections.",
              "fieldName": "maxOptions"
            },
            {
              "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": "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": "hoist",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Enable this option to prevent the listbox from being clipped when the component is placed inside a container with\n`overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.",
              "fieldName": "hoist"
            },
            {
              "name": "pill",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a pill-style select with rounded edges.",
              "fieldName": "pill"
            },
            {
              "name": "search",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Enables search/filter functionality. When enabled, the user can type into the select to filter the visible options.",
              "fieldName": "search"
            },
            {
              "name": "free-text",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Allows the user to enter values that are not in the options list (\"free text\"). Implies the editable,\nfiltering input behavior of `search`. A typed value that doesn't match an existing option is committed\nby pressing Enter, clicking the \"Add\" row, or blurring the field, and becomes a selected option — a tag\nwhen `multiple` is enabled. The committed value is both the option's value and its label.",
              "fieldName": "freeText"
            },
            {
              "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": "label-tooltip",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Text that appears in a tooltip next to the label. If you need to display HTML in the tooltip, use the `label-tooltip` slot instead.",
              "fieldName": "labelTooltip"
            },
            {
              "name": "context-note",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Text that appears above the input, on the right, to add additional context. If you need to display HTML in this text, use the `context-note` slot instead.",
              "fieldName": "contextNote"
            },
            {
              "name": "placement",
              "type": {
                "text": "'top' | 'bottom'"
              },
              "default": "'bottom'",
              "description": "The preferred placement of the selects menu. Note that the actual placement may vary as needed to keep the listbox\ninside 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"
              },
              "description": "By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside 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": "cache-key",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "fieldName": "cacheKey"
            },
            {
              "name": "trigger-submit",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "triggerSubmit"
            },
            {
              "name": "getTag",
              "type": {
                "text": "(option: ZnOption, 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": "select-first",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Automatically select the first option if no value is set.",
              "fieldName": "selectFirst"
            },
            {
              "name": "distinct",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "fieldName": "distinct"
            },
            {
              "name": "conditional",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "fieldName": "conditional"
            },
            {
              "name": "data-uri",
              "type": {
                "text": "string"
              },
              "description": "The URL to fetch options from. When set, the component fetches JSON from this URL and renders the results as\noptions. The expected format is an array of objects with `key` and `value` properties:\n`[{\"key\": \"us\", \"value\": \"United States\"}, ...]`\nWhen not set, the component works exactly as before using slotted `<zn-option>` elements.",
              "fieldName": "dataUri"
            },
            {
              "name": "context-data",
              "type": {
                "text": "string"
              },
              "description": "Context data to send as a header when fetching options from the URL specified by the `src` property.",
              "fieldName": "contextData"
            },
            {
              "name": "max-results",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "The maximum number of options to display from a remote fetch response. Set to 0 for unlimited.\nOnly applies when fetching from `data-uri`.",
              "fieldName": "maxResults"
            },
            {
              "name": "search-debounce",
              "type": {
                "text": "number"
              },
              "default": "300",
              "description": "Debounce delay in milliseconds for remote search requests. The component waits this long after the user\nstops typing before sending a request.",
              "fieldName": "searchDebounce"
            },
            {
              "name": "search-param",
              "type": {
                "text": "string"
              },
              "default": "'q'",
              "description": "The query parameter name appended to the `data-uri` URL for remote search requests.\nDefaults to `\"q\"`, e.g. `/api/items?q=search+term`. Set to a custom value like `\"search\"` or `\"filter\"` to match your API.",
              "fieldName": "searchParam"
            },
            {
              "name": "search-only",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When set alongside `search` and `data-uri`, the component will not fetch options on initial load.\nOptions are only fetched when the user starts typing a search query.",
              "fieldName": "searchOnly"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "select",
          "tagName": "zn-select",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/select\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-icon\n * @dependency zn-opt-group\n * @dependency zn-option\n * @dependency zn-popup\n * @dependency zn-tag\n *\n * @slot - The listbox options. Must be `<zn-option>` elements. You can use `<zn-opt-group>` to group options under a labeled header, or `<zn-divider>` to group items visually.\n * @slot label - The input's label. Alternatively, you can use the `label` attribute.\n * @slot label-tooltip - Used to add text that is displayed in a tooltip next to the label. Alternatively, you can use the `label-tooltip` attribute.\n * @slot context-note - Used to add contextual text that is displayed above the select, on the right. Alternatively, you can use the `context-note` attribute.\n * @slot prefix - Used to prepend a presentational icon or similar element to the combobox.\n * @slot suffix - Used to append a presentational element — a chip marking the selected option's state, for\n *   instance — to the combobox, between the value and the clear and expand icons.\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 zn-change - Emitted when the control's value changes.\n * @event zn-clear - Emitted when the control's value is cleared.\n * @event zn-input - Emitted when the control receives input.\n * @event zn-focus - Emitted when the control gains focus.\n * @event zn-blur - Emitted when the control loses focus.\n * @event zn-show - Emitted when the select's menu opens.\n * @event zn-after-show - Emitted after the select's menu opens and all animations are complete.\n * @event zn-hide - Emitted when the select's menu closes.\n * @event zn-after-hide - Emitted after the select's menu closes and all animations are complete.\n * @event zn-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n * @event zn-load - Emitted when options have been successfully loaded from the `src` URL.\n * @event zn-error - Emitted when loading options from the `src` URL fails.\n *\n * @csspart search-loading - The container shown while a remote search request is in flight.\n * @csspart max-results-indicator - The message shown when results are truncated by `max-results`.\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, 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 */",
          "documentation": "https://zinc.style/components/select",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-icon",
            "zn-opt-group",
            "zn-option",
            "zn-popup",
            "zn-tag"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnSelect",
            "module": "components/select/select.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/settings-container/settings-container.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnSettingsContainer",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "Filter definitions used to toggle visibility of content.",
              "name": "filter"
            },
            {
              "description": "Custom content for the settings panel.",
              "name": "dropdown-content"
            },
            {
              "description": "Extra content rendered inside the pull tab next to the chevron.",
              "name": "tab"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "filters",
              "type": {
                "text": "SettingsContainerFilter[]"
              },
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "position",
              "type": {
                "text": "'top-end' | 'top-start' | 'bottom-end' | 'bottom-start'"
              },
              "default": "'bottom-start'",
              "attribute": "position"
            },
            {
              "kind": "field",
              "name": "storeKey",
              "type": {
                "text": "string"
              },
              "attribute": "store-key"
            },
            {
              "kind": "field",
              "name": "noScroll",
              "type": {
                "text": "boolean"
              },
              "attribute": "no-scroll"
            },
            {
              "kind": "field",
              "name": "pullTab",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "pull-tab",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "panelExpanded",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "_mutationObserver",
              "privacy": "private",
              "readonly": true,
              "default": "new MutationController(this, { target: null, config: {childList: true, subtree: true, attributes: true}, callback: mutations => { for (const mutation of mutations) { if (mutation.type === 'attributes' && (mutation.attributeName === 'hidden' || this.filters.some(f => f.toggleAttribute === mutation.attributeName))) { continue; } this.scheduleUpdateFilters(); break; } }, })"
            },
            {
              "kind": "field",
              "name": "_updateFiltersScheduled",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "_store",
              "type": {
                "text": "Store"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_hiddenElements",
              "type": {
                "text": "Set<Element>"
              },
              "privacy": "private",
              "default": "new Set()"
            },
            {
              "kind": "field",
              "name": "handleDocumentMouseDown",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "togglePullTab",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "hidePullTab",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handlePanelTransitionEnd",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "scheduleUpdateFilters",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleContentSlotChange",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleFiltersSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "recomputeFiltersFromSlot",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "updateSingleFilter",
              "privacy": "private",
              "parameters": [
                {
                  "name": "filter",
                  "type": {
                    "text": "SettingsContainerFilter"
                  }
                },
                {
                  "name": "checked",
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "updateFilters"
            },
            {
              "kind": "method",
              "name": "updateFilter",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "ZnChangeEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "renderPullTab",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getDropdownContent",
              "privacy": "private"
            }
          ],
          "events": [
            {
              "description": "Emitted when the pull tab panel opens.",
              "name": "zn-show"
            },
            {
              "description": "Emitted when the pull tab panel closes.",
              "name": "zn-hide"
            }
          ],
          "attributes": [
            {
              "name": "position",
              "type": {
                "text": "'top-end' | 'top-start' | 'bottom-end' | 'bottom-start'"
              },
              "default": "'bottom-start'",
              "fieldName": "position"
            },
            {
              "name": "store-key",
              "type": {
                "text": "string"
              },
              "fieldName": "storeKey"
            },
            {
              "name": "no-scroll",
              "type": {
                "text": "boolean"
              },
              "fieldName": "noScroll"
            },
            {
              "name": "pull-tab",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "pullTab"
            },
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "open"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "settings-container",
          "tagName": "zn-settings-container",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/settings-container\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-show - Emitted when the pull tab panel opens.\n * @event zn-hide - Emitted when the pull tab panel closes.\n *\n * @slot - The default slot.\n * @slot filter - Filter definitions used to toggle visibility of content.\n * @slot dropdown-content - Custom content for the settings panel.\n * @slot tab - Extra content rendered inside the pull tab next to the chevron.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/settings-container",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnSettingsContainer",
            "module": "components/settings-container/settings-container.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/sidebar/sidebar.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnSidebar",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "caption",
              "type": {
                "text": "string"
              },
              "attribute": "caption",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "startScrolled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "start-scrolled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "wide",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "wide"
            },
            {
              "kind": "field",
              "name": "domObserver",
              "privacy": "private",
              "default": "new MutationController(this, { target: null, config: {childList: true, subtree: true}, callback: () => { setTimeout(() => this.scrollBottom(), 10); }, })"
            },
            {
              "kind": "method",
              "name": "scrollBottom"
            },
            {
              "kind": "method",
              "name": "_expander"
            },
            {
              "kind": "method",
              "name": "handleClick",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "any"
                  }
                }
              ]
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "attributes": [
            {
              "name": "caption",
              "type": {
                "text": "string"
              },
              "fieldName": "caption"
            },
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "open"
            },
            {
              "name": "start-scrolled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "startScrolled"
            },
            {
              "name": "wide",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "wide"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "sidebar",
          "tagName": "zn-sidebar",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/sidebar\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/sidebar",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnSidebar",
            "module": "components/sidebar/sidebar.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/simple-chart/simple-chart.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnSimpleChart",
          "members": [
            {
              "kind": "field",
              "name": "datasets",
              "type": {
                "text": "{ data: number[] }[] | undefined"
              },
              "attribute": "datasets"
            },
            {
              "kind": "field",
              "name": "labels",
              "type": {
                "text": "string[] | undefined"
              },
              "attribute": "labels"
            },
            {
              "kind": "field",
              "name": "enableAnimations",
              "type": {
                "text": "boolean | number"
              },
              "default": "false",
              "attribute": "enable-animations"
            },
            {
              "kind": "field",
              "name": "chart",
              "type": {
                "text": "ECharts | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "initPromise",
              "type": {
                "text": "Promise<void> | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "resizeObserver",
              "privacy": "private",
              "readonly": true,
              "default": "new ResizeController(this, { target: null, skipInitial: true, callback: () => this.chart?.resize(), })"
            },
            {
              "kind": "method",
              "name": "getUpdateComplete",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "Promise<boolean>"
                }
              }
            },
            {
              "kind": "method",
              "name": "initChart",
              "privacy": "private"
            }
          ],
          "attributes": [
            {
              "name": "datasets",
              "type": {
                "text": "{ data: number[] }[] | undefined"
              },
              "fieldName": "datasets"
            },
            {
              "name": "labels",
              "type": {
                "text": "string[] | undefined"
              },
              "fieldName": "labels"
            },
            {
              "name": "enable-animations",
              "type": {
                "text": "boolean | number"
              },
              "default": "false",
              "fieldName": "enableAnimations"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "A simple, pre-styled bar chart.",
          "tagNameWithoutPrefix": "simple-chart",
          "tagName": "zn-simple-chart",
          "customElement": true,
          "jsDoc": "/**\n * @summary A simple, pre-styled bar chart.\n * @documentation https://zinc.style/components/simple-chart\n * @status experimental\n * @since 1.0\n */",
          "documentation": "https://zinc.style/components/simple-chart",
          "status": "experimental",
          "since": "1.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnSimpleChart",
            "module": "components/simple-chart/simple-chart.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/skeleton/skeleton.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnSkeleton",
          "members": [
            {
              "kind": "field",
              "name": "speed",
              "type": {
                "text": "string"
              },
              "default": "'3s'",
              "description": "Animation speed for the shimmer effect. Default: \"3s\"",
              "attribute": "speed"
            },
            {
              "kind": "field",
              "name": "width",
              "type": {
                "text": "string"
              },
              "default": "'100%'",
              "description": "Width of the skeleton element. Default: \"100%\"",
              "attribute": "width"
            },
            {
              "kind": "field",
              "name": "height",
              "type": {
                "text": "string"
              },
              "default": "'20px'",
              "description": "Height of the skeleton element. Default: \"20px\"",
              "attribute": "height"
            },
            {
              "kind": "field",
              "name": "radius",
              "type": {
                "text": "string"
              },
              "default": "'4px'",
              "description": "Border radius of the skeleton element. Default: \"4px\"",
              "attribute": "radius"
            }
          ],
          "attributes": [
            {
              "name": "speed",
              "type": {
                "text": "string"
              },
              "default": "'3s'",
              "description": "Animation speed for the shimmer effect. Default: \"3s\"",
              "fieldName": "speed"
            },
            {
              "name": "width",
              "type": {
                "text": "string"
              },
              "default": "'100%'",
              "description": "Width of the skeleton element. Default: \"100%\"",
              "fieldName": "width"
            },
            {
              "name": "height",
              "type": {
                "text": "string"
              },
              "default": "'20px'",
              "description": "Height of the skeleton element. Default: \"20px\"",
              "fieldName": "height"
            },
            {
              "name": "radius",
              "type": {
                "text": "string"
              },
              "default": "'4px'",
              "description": "Border radius of the skeleton element. Default: \"4px\"",
              "fieldName": "radius"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Skeleton loaders provide visual placeholders while content is loading, improving perceived performance and user experience.",
          "tagNameWithoutPrefix": "skeleton",
          "tagName": "zn-skeleton",
          "customElement": true,
          "jsDoc": "/**\n * @summary Skeleton loaders provide visual placeholders while content is loading, improving perceived performance and user experience.\n * @documentation https://zinc.style/components/skeleton\n * @status experimental\n * @since 1.0\n *\n * @property {string} speed - Animation speed for the shimmer effect. Default: \"3s\"\n * @property {string} width - Width of the skeleton element. Default: \"100%\"\n * @property {string} height - Height of the skeleton element. Default: \"20px\"\n * @property {string} radius - Border radius of the skeleton element. Default: \"4px\"\n */",
          "documentation": "https://zinc.style/components/skeleton",
          "status": "experimental",
          "since": "1.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnSkeleton",
            "module": "components/skeleton/skeleton.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/slash-item/slash-item.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnSlashItem",
          "slots": [
            {
              "description": "The text to insert, for values that are long or span multiple lines. Ignored when the `value` attribute is set.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The text shown in the menu.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "The text inserted into the field. Falls back to this element's text content.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "icon",
              "type": {
                "text": "string"
              },
              "description": "Icon shown against the item, e.g. `tag@lu`.",
              "attribute": "icon"
            },
            {
              "kind": "field",
              "name": "description",
              "type": {
                "text": "string"
              },
              "description": "Supporting text shown under the label.",
              "attribute": "description"
            },
            {
              "kind": "field",
              "name": "keywords",
              "type": {
                "text": "string"
              },
              "description": "Extra terms the item can be found by, comma separated.",
              "attribute": "keywords"
            },
            {
              "kind": "field",
              "name": "group",
              "type": {
                "text": "string"
              },
              "description": "Heading the item is listed under.",
              "attribute": "group"
            },
            {
              "kind": "field",
              "name": "order",
              "type": {
                "text": "number"
              },
              "description": "Overrides the item's position in the menu. Lower sorts first.",
              "attribute": "order"
            },
            {
              "kind": "field",
              "name": "caretOffset",
              "type": {
                "text": "number"
              },
              "description": "Where the caret lands after insertion, as an offset into the inserted value.",
              "attribute": "caret-offset"
            },
            {
              "kind": "field",
              "name": "action",
              "type": {
                "text": "string"
              },
              "description": "Identifier passed through on `zn-slash-select`, for items that do something other than insert.",
              "attribute": "action"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Listed, but not selectable.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "toSlashMenuItem",
              "return": {
                "type": {
                  "text": "SlashMenuItem"
                }
              },
              "description": "The item as the slash menu consumes it."
            },
            {
              "kind": "field",
              "name": "insertValue",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "readonly": true
            }
          ],
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The text shown in the menu.",
              "fieldName": "label"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "description": "The text inserted into the field. Falls back to this element's text content.",
              "fieldName": "value"
            },
            {
              "name": "icon",
              "type": {
                "text": "string"
              },
              "description": "Icon shown against the item, e.g. `tag@lu`.",
              "fieldName": "icon"
            },
            {
              "name": "description",
              "type": {
                "text": "string"
              },
              "description": "Supporting text shown under the label.",
              "fieldName": "description"
            },
            {
              "name": "keywords",
              "type": {
                "text": "string"
              },
              "description": "Extra terms the item can be found by, comma separated.",
              "fieldName": "keywords"
            },
            {
              "name": "group",
              "type": {
                "text": "string"
              },
              "description": "Heading the item is listed under.",
              "fieldName": "group"
            },
            {
              "name": "order",
              "type": {
                "text": "number"
              },
              "description": "Overrides the item's position in the menu. Lower sorts first.",
              "fieldName": "order"
            },
            {
              "name": "caret-offset",
              "type": {
                "text": "number"
              },
              "description": "Where the caret lands after insertion, as an offset into the inserted value.",
              "fieldName": "caretOffset"
            },
            {
              "name": "action",
              "type": {
                "text": "string"
              },
              "description": "Identifier passed through on `zn-slash-select`, for items that do something other than insert.",
              "fieldName": "action"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Listed, but not selectable.",
              "fieldName": "disabled"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Declares a single insertion for a slash menu. Renders nothing itself — it describes an\nentry for the component it is slotted into, e.g. `<zn-textarea>`'s `slash-items` slot.",
          "tagNameWithoutPrefix": "slash-item",
          "tagName": "zn-slash-item",
          "customElement": true,
          "jsDoc": "/**\n * @summary Declares a single insertion for a slash menu. Renders nothing itself — it describes an\n *  entry for the component it is slotted into, e.g. `<zn-textarea>`'s `slash-items` slot.\n * @documentation https://zinc.style/components/slash-item\n * @status experimental\n * @since 1.1\n *\n * @slot - The text to insert, for values that are long or span multiple lines. Ignored when the\n *  `value` attribute is set.\n */",
          "documentation": "https://zinc.style/components/slash-item",
          "status": "experimental",
          "since": "1.1"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnSlashItem",
            "module": "components/slash-item/slash-item.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/slash-menu/slash-menu.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "SLASH_ITEM_SELECT",
          "type": {
            "text": "string"
          },
          "default": "'zn-slash-item-select'"
        },
        {
          "kind": "class",
          "description": "",
          "name": "ZnSlashMenu",
          "cssProperties": [
            {
              "description": "The width of the panel.",
              "name": "--slash-menu-width"
            },
            {
              "description": "The corner radius of the panel.",
              "name": "--slash-menu-border-radius"
            },
            {
              "description": "The corner radius of the items and their icon chips.",
              "name": "--slash-menu-item-border-radius"
            },
            {
              "description": "The maximum height of the panel before it scrolls.",
              "name": "--slash-menu-max-height"
            }
          ],
          "cssParts": [
            {
              "description": "The floating panel that holds the list.",
              "name": "panel"
            },
            {
              "description": "The scrolling list of items.",
              "name": "list"
            },
            {
              "description": "An item in the list.",
              "name": "item"
            },
            {
              "description": "The chip holding an item's icon.",
              "name": "icon"
            },
            {
              "description": "A group heading between items.",
              "name": "group-heading"
            },
            {
              "description": "The rule closing the recently used section, when the items below it have no heading of their own.",
              "name": "divider"
            },
            {
              "description": "The truncation footer, shown when not every match fits.",
              "name": "footer"
            },
            {
              "description": "The pinned footer of keyboard hints.",
              "name": "hints"
            },
            {
              "description": "A single keyboard hint within the footer.",
              "name": "hint"
            },
            {
              "description": "The key shown against a hint.",
              "name": "hint-key"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'zn-icon': ZnIcon }"
            },
            {
              "kind": "field",
              "name": "panel",
              "type": {
                "text": "HTMLElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "list",
              "type": {
                "text": "HTMLElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "stopAutoUpdate",
              "type": {
                "text": "() => void | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the menu is showing.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "items",
              "type": {
                "text": "SlashMenuItem[]"
              },
              "default": "[]",
              "description": "The items to list. Already filtered — the menu displays what it is given.",
              "attribute": "items"
            },
            {
              "kind": "field",
              "name": "query",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The query the items were matched against, shown in the heading.",
              "attribute": "query"
            },
            {
              "kind": "field",
              "name": "heading",
              "type": {
                "text": "string"
              },
              "default": "'Insert'",
              "description": "The name the list is announced by when there is no query.",
              "attribute": "heading"
            },
            {
              "kind": "field",
              "name": "emptyText",
              "type": {
                "text": "string"
              },
              "default": "'No matches'",
              "description": "Shown in place of the list when there are no items.",
              "attribute": "empty-text"
            },
            {
              "kind": "field",
              "name": "maxItems",
              "type": {
                "text": "number"
              },
              "default": "25",
              "description": "The most items to render at once. Remaining matches are reported in the footer.",
              "attribute": "max-items"
            },
            {
              "kind": "field",
              "name": "hideKeys",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the insertion key (the item's value) normally shown against each item.",
              "attribute": "hide-keys"
            },
            {
              "kind": "field",
              "name": "hideHints",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the pinned footer of keyboard hints.",
              "attribute": "hide-hints"
            },
            {
              "kind": "field",
              "name": "recentKey",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Remembers the items chosen here and lists the most recent of them first, under their own heading.\nThe key scopes the list to where the menu is used, so each place keeps its own history in\n`localStorage`. Leave unset to offer no recently used section.",
              "attribute": "recent-key"
            },
            {
              "kind": "field",
              "name": "maxRecent",
              "type": {
                "text": "number"
              },
              "default": "3",
              "description": "The most recently used items to list.",
              "attribute": "max-recent"
            },
            {
              "kind": "field",
              "name": "recentHeading",
              "type": {
                "text": "string"
              },
              "default": "'Recently used'",
              "description": "The heading shown above the recently used items.",
              "attribute": "recent-heading"
            },
            {
              "kind": "field",
              "name": "anchor",
              "type": {
                "text": "Element | VirtualElement | null"
              },
              "default": "null",
              "description": "The element or caret rect the panel is positioned against."
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "Placement"
              },
              "default": "'bottom-start'",
              "description": "The preferred placement of the panel.",
              "attribute": "placement"
            },
            {
              "kind": "field",
              "name": "distance",
              "type": {
                "text": "number"
              },
              "default": "4",
              "description": "The gap between the caret and the panel.",
              "attribute": "distance"
            },
            {
              "kind": "field",
              "name": "activeIndex",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "recentKeys",
              "type": {
                "text": "string[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "recentCount",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0",
              "description": "How many recently used items the last update listed, to spot the list appearing or reordering."
            },
            {
              "kind": "field",
              "name": "listItems",
              "type": {
                "text": "SlashMenuItem[]"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "recentItems",
              "type": {
                "text": "SlashMenuItem[]"
              },
              "privacy": "private",
              "description": "The remembered items that are in the current list, newest first. Only offered without a query —\nonce the user is searching, the ranked matches are the better answer.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "visibleItems",
              "type": {
                "text": "SlashMenuItem[]"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "activeItem",
              "type": {
                "text": "SlashMenuItem | undefined"
              },
              "description": "The item that Enter would insert.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "show"
            },
            {
              "kind": "method",
              "name": "hide"
            },
            {
              "kind": "method",
              "name": "clearRecent",
              "description": "Forgets the items remembered under `recent-key`."
            },
            {
              "kind": "method",
              "name": "setActiveIndex",
              "parameters": [
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Sets the active item by index, wrapping at both ends and skipping disabled items."
            },
            {
              "kind": "method",
              "name": "moveActive",
              "parameters": [
                {
                  "name": "delta",
                  "type": {
                    "text": "number"
                  }
                }
              ],
              "description": "Moves the active item by `delta` places."
            },
            {
              "kind": "method",
              "name": "selectActive",
              "description": "Chooses the active item, as pressing Enter would."
            },
            {
              "kind": "method",
              "name": "reposition",
              "description": "Recalculates the panel's position against its anchor."
            },
            {
              "kind": "method",
              "name": "showPanelPopover",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "hidePanelPopover",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "startPositioner",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "stopPositioner",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "position",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "selectItem",
              "privacy": "private",
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "SlashMenuItem"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "scrollActiveIntoView",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleItemMouseDown",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "renderItem",
              "privacy": "private",
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "SlashMenuItem"
                  }
                },
                {
                  "name": "index",
                  "type": {
                    "text": "number"
                  }
                },
                {
                  "name": "showIcons",
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "renderItems",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "renderHint",
              "privacy": "private",
              "parameters": [
                {
                  "name": "keys",
                  "type": {
                    "text": "(TemplateResult | string)[]"
                  }
                },
                {
                  "name": "label",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "renderHints",
              "privacy": "private"
            }
          ],
          "events": [
            {
              "name": "SLASH_ITEM_SELECT",
              "type": {
                "text": "CustomEvent"
              }
            },
            {
              "description": "Emitted when an item is chosen. Does not cross shadow boundaries; the component driving the menu (e.g. `zn-textarea`) re-emits it as `zn-slash-select`.",
              "name": "zn-slash-item-select"
            }
          ],
          "attributes": [
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Whether the menu is showing.",
              "fieldName": "open"
            },
            {
              "name": "items",
              "type": {
                "text": "SlashMenuItem[]"
              },
              "default": "[]",
              "description": "The items to list. Already filtered — the menu displays what it is given.",
              "fieldName": "items"
            },
            {
              "name": "query",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The query the items were matched against, shown in the heading.",
              "fieldName": "query"
            },
            {
              "name": "heading",
              "type": {
                "text": "string"
              },
              "default": "'Insert'",
              "description": "The name the list is announced by when there is no query.",
              "fieldName": "heading"
            },
            {
              "name": "empty-text",
              "type": {
                "text": "string"
              },
              "default": "'No matches'",
              "description": "Shown in place of the list when there are no items.",
              "fieldName": "emptyText"
            },
            {
              "name": "max-items",
              "type": {
                "text": "number"
              },
              "default": "25",
              "description": "The most items to render at once. Remaining matches are reported in the footer.",
              "fieldName": "maxItems"
            },
            {
              "name": "hide-keys",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the insertion key (the item's value) normally shown against each item.",
              "fieldName": "hideKeys"
            },
            {
              "name": "hide-hints",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the pinned footer of keyboard hints.",
              "fieldName": "hideHints"
            },
            {
              "name": "recent-key",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Remembers the items chosen here and lists the most recent of them first, under their own heading.\nThe key scopes the list to where the menu is used, so each place keeps its own history in\n`localStorage`. Leave unset to offer no recently used section.",
              "fieldName": "recentKey"
            },
            {
              "name": "max-recent",
              "type": {
                "text": "number"
              },
              "default": "3",
              "description": "The most recently used items to list.",
              "fieldName": "maxRecent"
            },
            {
              "name": "recent-heading",
              "type": {
                "text": "string"
              },
              "default": "'Recently used'",
              "description": "The heading shown above the recently used items.",
              "fieldName": "recentHeading"
            },
            {
              "name": "placement",
              "type": {
                "text": "Placement"
              },
              "default": "'bottom-start'",
              "description": "The preferred placement of the panel.",
              "fieldName": "placement"
            },
            {
              "name": "distance",
              "type": {
                "text": "number"
              },
              "default": "4",
              "description": "The gap between the caret and the panel.",
              "fieldName": "distance"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "A keyboard-driven list of insertions, anchored to the caret of the field that opened it.",
          "tagNameWithoutPrefix": "slash-menu",
          "tagName": "zn-slash-menu",
          "customElement": true,
          "jsDoc": "/**\n * @summary A keyboard-driven list of insertions, anchored to the caret of the field that opened it.\n * @documentation https://zinc.style/components/slash-menu\n * @status experimental\n * @since 1.1\n *\n * @dependency zn-icon\n *\n * @event zn-slash-item-select - Emitted when an item is chosen. Does not cross shadow boundaries; the\n *  component driving the menu (e.g. `zn-textarea`) re-emits it as `zn-slash-select`.\n *\n * @csspart panel - The floating panel that holds the list.\n * @csspart list - The scrolling list of items.\n * @csspart item - An item in the list.\n * @csspart icon - The chip holding an item's icon.\n * @csspart group-heading - A group heading between items.\n * @csspart divider - The rule closing the recently used section, when the items below it have no heading of their own.\n * @csspart footer - The truncation footer, shown when not every match fits.\n * @csspart hints - The pinned footer of keyboard hints.\n * @csspart hint - A single keyboard hint within the footer.\n * @csspart hint-key - The key shown against a hint.\n *\n * @cssproperty --slash-menu-width - The width of the panel.\n * @cssproperty --slash-menu-border-radius - The corner radius of the panel.\n * @cssproperty --slash-menu-item-border-radius - The corner radius of the items and their icon chips.\n * @cssproperty --slash-menu-max-height - The maximum height of the panel before it scrolls.\n */",
          "documentation": "https://zinc.style/components/slash-menu",
          "status": "experimental",
          "since": "1.1",
          "dependencies": [
            "zn-icon"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "SLASH_ITEM_SELECT",
          "declaration": {
            "name": "SLASH_ITEM_SELECT",
            "module": "components/slash-menu/slash-menu.js"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnSlashMenu",
            "module": "components/slash-menu/slash-menu.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/slideout/slideout.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnSlideout",
          "cssProperties": [
            {
              "description": "The preferred width of the slideout. Note the slideout 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"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The slideout's header. This element wraps the title and header actions.",
              "name": "header"
            },
            {
              "description": "The slideout's close button.",
              "name": "close-button"
            },
            {
              "description": "The close buttons exported `base` part.",
              "name": "close-button__base"
            },
            {
              "description": "The slideout's body.",
              "name": "body"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "The slideout's label. Alternatively you can use the `label` attribute.",
              "name": "label"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'zn-button': ZnButton }"
            },
            {
              "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": "slideout",
              "type": {
                "text": "HTMLDialogElement"
              }
            },
            {
              "kind": "field",
              "name": "panel",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "overlay",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicated whether of not the slideout is open. You can toggle this attribute to show and hide the slideout, or you can\nuse the `show()` and `hide()` methods and this attribute will reflect the slideout's state.",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "The slideout'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": "trigger",
              "type": {
                "text": "string"
              },
              "description": "The slideout's trigger element. This is used to open the slideout when clicked. If you do not provide a trigger, you\nwill need to manually open the slideout using the `show()` method.",
              "attribute": "trigger",
              "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": "method",
              "name": "show",
              "description": "Shows the slideout."
            },
            {
              "kind": "method",
              "name": "hide",
              "description": "Hides the slideout."
            },
            {
              "kind": "field",
              "name": "closeClickHandler",
              "privacy": "private"
            }
          ],
          "events": [
            {
              "description": "Emitted when the slideout is opens.",
              "name": "zn-show"
            },
            {
              "description": "Emitted when the slideout is closed.",
              "name": "zn-close"
            },
            {
              "type": {
                "text": "{ source: 'close-button' | 'keyboard' | 'overlay' }"
              },
              "description": "Emitted when the user attempts to close the slideout by clicking the close button, clicking the overlay, or pressing escape. Calling `event.preventDefault()` will keep the slideout open. Avoid using this unless closing the slideout will result in destructive behavior such as data loss.",
              "name": "zn-request-close"
            }
          ],
          "attributes": [
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Indicated whether of not the slideout is open. You can toggle this attribute to show and hide the slideout, or you can\nuse the `show()` and `hide()` methods and this attribute will reflect the slideout's state.",
              "fieldName": "open"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "The slideout'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": "trigger",
              "type": {
                "text": "string"
              },
              "description": "The slideout's trigger element. This is used to open the slideout when clicked. If you do not provide a trigger, you\nwill need to manually open the slideout using the `show()` method.",
              "fieldName": "trigger"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "slideout",
          "tagName": "zn-slideout",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/slideout\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-button\n *\n * @event zn-show - Emitted when the slideout is opens.\n * @event zn-close - Emitted when the slideout is closed.\n * @event {{ source: 'close-button' | 'keyboard' | 'overlay' }} zn-request-close - Emitted when the user attempts to\n * close the slideout by clicking the close button, clicking the overlay, or pressing escape. Calling\n * `event.preventDefault()` will keep the slideout open. Avoid using this unless closing the slideout will result in\n * destructive behavior such as data loss.\n *\n * @slot - The default slot.\n * @slot label - The slideout's label. Alternatively you can use the `label` attribute.\n *\n * @csspart base - The component's base wrapper.\n * @csspart header - The slideout's header. This element wraps the title and header actions.\n * @csspart close-button - The slideout's close button.\n * @csspart close-button__base - The close buttons exported `base` part.\n * @csspart body - The slideout's body.\n *\n * @cssproperty --width - The preferred width of the slideout. Note the slideout 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 */",
          "documentation": "https://zinc.style/components/slideout",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-button"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnSlideout",
            "module": "components/slideout/slideout.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/sp/sp.js",
      "declarations": [
        {
          "kind": "variable",
          "name": "defaultSizes",
          "type": {
            "text": "object"
          },
          "default": "{ px: '1', xxs: '3', xs: '5', sm: '10', md: '15', lg: '20', xl: '25' }"
        },
        {
          "kind": "class",
          "description": "",
          "name": "ZnSp",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "divide",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "divide",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "gap",
              "type": {
                "text": "keyof typeof defaultSizes"
              },
              "attribute": "gap",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "row",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "row",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "align",
              "type": {
                "text": "'start' | 'center' | 'end' | 'stretch' | 'baseline'"
              },
              "attribute": "align",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "justify",
              "type": {
                "text": "'start' | 'center' | 'end' | 'between' | 'around' | 'evenly'"
              },
              "attribute": "justify",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "grow",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "grow",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "padX",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "pad-x",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "padY",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "pad-y",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "noGap",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "no-gap",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "noPosition",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "no-pos",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "flush",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "flush",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "flushX",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "flush-x",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "flushY",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "flush-y",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "flushT",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "flush-t",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "flushB",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "flush-b",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "flushL",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "flush-l",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "flushR",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "flush-r",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "widthContainer",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "width-container",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "formContainer",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "form-container",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "wideFormContainer",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "wide-form-container",
              "reflects": true
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "attributes": [
            {
              "name": "divide",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "divide"
            },
            {
              "name": "gap",
              "type": {
                "text": "keyof typeof defaultSizes"
              },
              "fieldName": "gap"
            },
            {
              "name": "row",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "row"
            },
            {
              "name": "align",
              "type": {
                "text": "'start' | 'center' | 'end' | 'stretch' | 'baseline'"
              },
              "fieldName": "align"
            },
            {
              "name": "justify",
              "type": {
                "text": "'start' | 'center' | 'end' | 'between' | 'around' | 'evenly'"
              },
              "fieldName": "justify"
            },
            {
              "name": "grow",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "grow"
            },
            {
              "name": "pad-x",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "padX"
            },
            {
              "name": "pad-y",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "padY"
            },
            {
              "name": "no-gap",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "noGap"
            },
            {
              "name": "no-pos",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "noPosition"
            },
            {
              "name": "flush",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "flush"
            },
            {
              "name": "flush-x",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "flushX"
            },
            {
              "name": "flush-y",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "flushY"
            },
            {
              "name": "flush-t",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "flushT"
            },
            {
              "name": "flush-b",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "flushB"
            },
            {
              "name": "flush-l",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "flushL"
            },
            {
              "name": "flush-r",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "flushR"
            },
            {
              "name": "width-container",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "widthContainer"
            },
            {
              "name": "form-container",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "formContainer"
            },
            {
              "name": "wide-form-container",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "wideFormContainer"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "A flexible layout container for spacing and arranging child elements in rows or columns with configurable gap, padding, and dividers.",
          "tagNameWithoutPrefix": "sp",
          "tagName": "zn-sp",
          "customElement": true,
          "jsDoc": "/**\n * @summary A flexible layout container for spacing and arranging child elements in rows or columns with configurable gap, padding, and dividers.\n * @documentation https://zinc.style/components/sp\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/sp",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "defaultSizes",
          "declaration": {
            "name": "defaultSizes",
            "module": "components/sp/sp.js"
          }
        },
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnSp",
            "module": "components/sp/sp.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/split-button/split-button.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnSplitButton",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "formControlController",
              "privacy": "private",
              "readonly": true,
              "default": "new FormControlController(this)"
            },
            {
              "kind": "field",
              "name": "caption",
              "type": {
                "text": "string"
              },
              "attribute": "caption"
            },
            {
              "kind": "field",
              "name": "href",
              "type": {
                "text": "string"
              },
              "attribute": "href"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "string"
              }
            },
            {
              "kind": "field",
              "name": "type",
              "type": {
                "text": "string"
              },
              "attribute": "type"
            },
            {
              "kind": "field",
              "name": "dropdown",
              "type": {
                "text": "ZnDropdown"
              }
            },
            {
              "kind": "field",
              "name": "button",
              "type": {
                "text": "ZnButton"
              }
            },
            {
              "kind": "method",
              "name": "handleMenuItemClick",
              "privacy": "public",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "ZnMenuSelectEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleTriggerClick",
              "privacy": "public"
            },
            {
              "kind": "method",
              "name": "renderTriggerSlot",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "checkValidity",
              "return": {
                "type": {
                  "text": "boolean"
                }
              }
            },
            {
              "kind": "method",
              "name": "getForm",
              "return": {
                "type": {
                  "text": "HTMLFormElement | null"
                }
              }
            },
            {
              "kind": "method",
              "name": "reportValidity"
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "validity",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "_isButton",
              "privacy": "private"
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "attributes": [
            {
              "name": "caption",
              "type": {
                "text": "string"
              },
              "fieldName": "caption"
            },
            {
              "name": "href",
              "type": {
                "text": "string"
              },
              "fieldName": "href"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "fieldName": "name"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "fieldName": "value"
            },
            {
              "name": "type",
              "type": {
                "text": "string"
              },
              "fieldName": "type"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "split-button",
          "tagName": "zn-split-button",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/split-button\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/split-button",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnSplitButton",
            "module": "components/split-button/split-button.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/split-pane/split-pane.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnSplitPane",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "storage",
              "type": {
                "text": "Storage"
              }
            },
            {
              "kind": "field",
              "name": "mouseMoveHandler",
              "type": {
                "text": "null | EventListener"
              },
              "default": "null"
            },
            {
              "kind": "field",
              "name": "mouseUpHandler",
              "type": {
                "text": "null | EventListener"
              },
              "default": "null"
            },
            {
              "kind": "field",
              "name": "currentPixelSize",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "currentPercentSize",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "currentContainerSize",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "focusChangeHandler",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "primaryFull",
              "type": {
                "text": "string"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "resizeObserver",
              "type": {
                "text": "ResizeObserver | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "parentIsNarrow",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "calculatePixels",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "pixels",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "preferSecondarySize",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "secondary",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "minimumPaneSize",
              "type": {
                "text": "number"
              },
              "default": "10",
              "attribute": "min-size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "minimumSecondaryPaneSize",
              "type": {
                "text": "number"
              },
              "attribute": "min-secondary-size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "maximumPaneSize",
              "type": {
                "text": "number"
              },
              "attribute": "max-size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "initialSize",
              "type": {
                "text": "number"
              },
              "default": "50",
              "attribute": "initial-size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "storeKey",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "attribute": "store-key",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "border",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "bordered",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "vertical",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "vertical",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "primaryCaption",
              "type": {
                "text": "string"
              },
              "default": "'Primary'",
              "attribute": "primary-caption",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "secondaryCaption",
              "type": {
                "text": "string"
              },
              "default": "'Secondary'",
              "attribute": "secondary-caption",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "_focusPane",
              "type": {
                "text": "number"
              },
              "default": "0",
              "attribute": "focus-pane",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "padded",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "padded",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "paddedRight",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "padded-right",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "gap",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "gap",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "hide",
              "type": {
                "text": "'primary' | 'secondary' | ''"
              },
              "default": "''",
              "attribute": "hide",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "mergedNavigation",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "merged-navigation",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "localStorage",
              "type": {
                "text": "boolean"
              },
              "attribute": "local-storage",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "storeTtl",
              "type": {
                "text": "number"
              },
              "default": "0",
              "attribute": "store-ttl",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "_store",
              "type": {
                "text": "Store"
              },
              "privacy": "protected"
            },
            {
              "kind": "method",
              "name": "refreshNarrowState",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "applyStoredSize"
            },
            {
              "kind": "method",
              "name": "resize",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "any"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "setSize",
              "parameters": [
                {
                  "name": "primaryPanelPixels",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_setFocusPane",
              "parameters": [
                {
                  "name": "idx",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getDirectNestedSplitPanes",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "updateNestedNavigationMerging",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "getPaneIndexForNestedSplitPane",
              "privacy": "private",
              "parameters": [
                {
                  "name": "child",
                  "type": {
                    "text": "ZnSplitPane"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getNestedNavigationItems",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "NavigationItem[]"
                }
              },
              "parameters": [
                {
                  "name": "parentIdx",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getDirectNestedSplitPanesForPane",
              "privacy": "private",
              "parameters": [
                {
                  "name": "parentIdx",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getNavigationItems",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "NavigationItem[]"
                }
              }
            }
          ],
          "events": [
            {
              "name": "zn-split-pane-focus-change",
              "type": {
                "text": "CustomEvent"
              }
            },
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "attributes": [
            {
              "name": "pixels",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "calculatePixels"
            },
            {
              "name": "secondary",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "preferSecondarySize"
            },
            {
              "name": "min-size",
              "type": {
                "text": "number"
              },
              "default": "10",
              "fieldName": "minimumPaneSize"
            },
            {
              "name": "min-secondary-size",
              "type": {
                "text": "number"
              },
              "fieldName": "minimumSecondaryPaneSize"
            },
            {
              "name": "max-size",
              "type": {
                "text": "number"
              },
              "fieldName": "maximumPaneSize"
            },
            {
              "name": "initial-size",
              "type": {
                "text": "number"
              },
              "default": "50",
              "fieldName": "initialSize"
            },
            {
              "name": "store-key",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "fieldName": "storeKey"
            },
            {
              "name": "bordered",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "border"
            },
            {
              "name": "vertical",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "vertical"
            },
            {
              "name": "primary-caption",
              "type": {
                "text": "string"
              },
              "default": "'Primary'",
              "fieldName": "primaryCaption"
            },
            {
              "name": "secondary-caption",
              "type": {
                "text": "string"
              },
              "default": "'Secondary'",
              "fieldName": "secondaryCaption"
            },
            {
              "name": "focus-pane",
              "type": {
                "text": "number"
              },
              "default": "0",
              "fieldName": "_focusPane"
            },
            {
              "name": "padded",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "padded"
            },
            {
              "name": "padded-right",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "paddedRight"
            },
            {
              "name": "gap",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "gap"
            },
            {
              "name": "hide",
              "type": {
                "text": "'primary' | 'secondary' | ''"
              },
              "default": "''",
              "fieldName": "hide"
            },
            {
              "name": "merged-navigation",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "mergedNavigation"
            },
            {
              "name": "local-storage",
              "type": {
                "text": "boolean"
              },
              "fieldName": "localStorage"
            },
            {
              "name": "store-ttl",
              "type": {
                "text": "number"
              },
              "default": "0",
              "fieldName": "storeTtl"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "split-pane",
          "tagName": "zn-split-pane",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/split-pane\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/split-pane",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnSplitPane",
            "module": "components/split-pane/split-pane.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/stat/stat.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnStatsTile",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "caption",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "caption"
            },
            {
              "kind": "field",
              "name": "description",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "description"
            },
            {
              "kind": "field",
              "name": "amount",
              "type": {
                "text": "string"
              },
              "default": "'0'",
              "attribute": "amount"
            },
            {
              "kind": "field",
              "name": "type",
              "type": {
                "text": "string"
              },
              "default": "'number'",
              "attribute": "type"
            },
            {
              "kind": "field",
              "name": "previous",
              "type": {
                "text": "string"
              },
              "default": "'0'",
              "attribute": "previous"
            },
            {
              "kind": "field",
              "name": "currency",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "currency"
            },
            {
              "kind": "field",
              "name": "showDelta",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "show-delta"
            },
            {
              "kind": "field",
              "name": "color",
              "type": {
                "text": "'primary' | 'error' | 'info' | 'warning' | 'success' | 'neutral'"
              },
              "default": "'primary'",
              "attribute": "color"
            },
            {
              "kind": "method",
              "name": "calcPercentageDifference"
            },
            {
              "kind": "method",
              "name": "getCurrentAmount"
            },
            {
              "kind": "method",
              "name": "getDisplayAmount",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "diffText"
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "attributes": [
            {
              "name": "caption",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "caption"
            },
            {
              "name": "description",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "description"
            },
            {
              "name": "amount",
              "type": {
                "text": "string"
              },
              "default": "'0'",
              "fieldName": "amount"
            },
            {
              "name": "type",
              "type": {
                "text": "string"
              },
              "default": "'number'",
              "fieldName": "type"
            },
            {
              "name": "previous",
              "type": {
                "text": "string"
              },
              "default": "'0'",
              "fieldName": "previous"
            },
            {
              "name": "currency",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "currency"
            },
            {
              "name": "show-delta",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "showDelta"
            },
            {
              "name": "color",
              "type": {
                "text": "'primary' | 'error' | 'info' | 'warning' | 'success' | 'neutral'"
              },
              "default": "'primary'",
              "fieldName": "color"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "stat",
          "tagName": "zn-stat",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/stats-tile\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/stats-tile",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnStatsTile",
            "module": "components/stat/stat.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/status-indicator/status-indicator.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnStatusIndicator",
          "members": [
            {
              "kind": "field",
              "name": "type",
              "type": {
                "text": "'success' | 'error' | 'warning' | 'info' | 'disabled'"
              },
              "default": "'info'",
              "attribute": "type"
            },
            {
              "kind": "field",
              "name": "altType",
              "type": {
                "text": "'success' | 'error' | 'warning' | 'info' | 'disabled' | undefined"
              },
              "description": "A secondary status type. When set, the indicator animates between `type`\nand this colour to represent a status transitioning between two states\n(e.g. `warning` and `disabled`).",
              "attribute": "alt-type"
            },
            {
              "kind": "field",
              "name": "glow",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Animates a throbbing glow effect around the indicator.",
              "attribute": "glow",
              "reflects": true
            }
          ],
          "attributes": [
            {
              "name": "type",
              "type": {
                "text": "'success' | 'error' | 'warning' | 'info' | 'disabled'"
              },
              "default": "'info'",
              "fieldName": "type"
            },
            {
              "name": "alt-type",
              "type": {
                "text": "'success' | 'error' | 'warning' | 'info' | 'disabled' | undefined"
              },
              "description": "A secondary status type. When set, the indicator animates between `type`\nand this colour to represent a status transitioning between two states\n(e.g. `warning` and `disabled`).",
              "fieldName": "altType"
            },
            {
              "name": "glow",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Animates a throbbing glow effect around the indicator.",
              "fieldName": "glow"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Circular status indicators.",
          "tagNameWithoutPrefix": "status-indicator",
          "tagName": "zn-status-indicator",
          "customElement": true,
          "jsDoc": "/**\n * @summary Circular status indicators.\n * @documentation https://zinc.style/components/status-indicator\n * @status experimental\n * @since 1.0\n */",
          "documentation": "https://zinc.style/components/status-indicator",
          "status": "experimental",
          "since": "1.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnStatusIndicator",
            "module": "components/status-indicator/status-indicator.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/stepper/stepper.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnStepper",
          "cssParts": [
            {
              "description": "The container holding the progress line and steps.",
              "name": "step-container"
            },
            {
              "description": "The background line showing the full step track.",
              "name": "step-line"
            },
            {
              "description": "The filled progress indicator showing completion.",
              "name": "step-progress"
            },
            {
              "description": "The container for individual step markers.",
              "name": "steps"
            },
            {
              "description": "An individual step marker circle.",
              "name": "step"
            },
            {
              "description": "The header container with caption and progress text.",
              "name": "header"
            },
            {
              "description": "The caption text element.",
              "name": "caption"
            },
            {
              "description": "The progress count text (e.g., \"2 / 5 steps\").",
              "name": "progress"
            },
            {
              "description": "The label text container.",
              "name": "label"
            },
            {
              "description": "The label text element.",
              "name": "info"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "caption",
              "type": {
                "text": "string"
              },
              "description": "A descriptive label displayed above the stepper to indicate the current step or phase.",
              "attribute": "caption",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "An optional label displayed above the caption, typically used for the wizard or workflow name.",
              "attribute": "label",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "steps",
              "type": {
                "text": "number"
              },
              "description": "The total number of steps in the process.",
              "attribute": "steps",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "number"
              },
              "description": "The current step position (0 to steps). Progress is calculated as value/steps.",
              "attribute": "value",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "showProgress",
              "type": {
                "text": "boolean"
              },
              "attribute": "show-progress",
              "reflects": true
            },
            {
              "type": {
                "text": "boolean"
              },
              "description": "When true, displays the step count (e.g., \"2 / 5 steps\") next to the caption.",
              "name": "show-progress",
              "kind": "field"
            }
          ],
          "attributes": [
            {
              "name": "caption",
              "type": {
                "text": "string"
              },
              "description": "A descriptive label displayed above the stepper to indicate the current step or phase.",
              "fieldName": "caption"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "description": "An optional label displayed above the caption, typically used for the wizard or workflow name.",
              "fieldName": "label"
            },
            {
              "name": "steps",
              "type": {
                "text": "number"
              },
              "description": "The total number of steps in the process.",
              "fieldName": "steps"
            },
            {
              "name": "value",
              "type": {
                "text": "number"
              },
              "description": "The current step position (0 to steps). Progress is calculated as value/steps.",
              "fieldName": "value"
            },
            {
              "name": "show-progress",
              "type": {
                "text": "boolean"
              },
              "fieldName": "showProgress"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Steppers provide visual feedback about progress through a multi-step process or workflow.",
          "tagNameWithoutPrefix": "stepper",
          "tagName": "zn-stepper",
          "customElement": true,
          "jsDoc": "/**\n * @summary Steppers provide visual feedback about progress through a multi-step process or workflow.\n * @documentation https://zinc.style/components/stepper\n * @status experimental\n * @since 1.0\n *\n * @property {string} caption - A descriptive label displayed above the stepper to indicate the current step or phase.\n * @property {string} label - An optional label displayed above the caption, typically used for the wizard or workflow name.\n * @property {number} steps - The total number of steps in the process.\n * @property {number} value - The current step position (0 to steps). Progress is calculated as value/steps.\n * @property {boolean} show-progress - When true, displays the step count (e.g., \"2 / 5 steps\") next to the caption.\n *\n * @csspart step-container - The container holding the progress line and steps.\n * @csspart step-line - The background line showing the full step track.\n * @csspart step-progress - The filled progress indicator showing completion.\n * @csspart steps - The container for individual step markers.\n * @csspart step - An individual step marker circle.\n * @csspart header - The header container with caption and progress text.\n * @csspart caption - The caption text element.\n * @csspart progress - The progress count text (e.g., \"2 / 5 steps\").\n * @csspart label - The label text container.\n * @csspart info - The label text element.\n */",
          "documentation": "https://zinc.style/components/stepper",
          "status": "experimental",
          "since": "1.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnStepper",
            "module": "components/stepper/stepper.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/style/style.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnStyle",
          "members": [
            {
              "kind": "field",
              "name": "localize",
              "privacy": "private",
              "readonly": true,
              "default": "new LocalizeController(this)"
            },
            {
              "kind": "field",
              "name": "color",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "color"
            },
            {
              "kind": "field",
              "name": "border",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "border"
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "size"
            },
            {
              "kind": "field",
              "name": "error",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "error"
            },
            {
              "kind": "field",
              "name": "success",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "success"
            },
            {
              "kind": "field",
              "name": "info",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "info"
            },
            {
              "kind": "field",
              "name": "warning",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "warning"
            },
            {
              "kind": "field",
              "name": "primary",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "primary"
            },
            {
              "kind": "field",
              "name": "accent",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "accent"
            },
            {
              "kind": "field",
              "name": "center",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "center"
            },
            {
              "kind": "field",
              "name": "display",
              "type": {
                "text": "null"
              },
              "default": "null",
              "attribute": "display"
            },
            {
              "kind": "field",
              "name": "font",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "font"
            },
            {
              "kind": "field",
              "name": "width",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "width"
            },
            {
              "kind": "field",
              "name": "height",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "height"
            },
            {
              "kind": "field",
              "name": "pad",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "pad"
            },
            {
              "kind": "field",
              "name": "margin",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "margin"
            },
            {
              "kind": "field",
              "name": "muted",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "muted"
            },
            {
              "kind": "field",
              "name": "gutter",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "gutter"
            },
            {
              "kind": "field",
              "name": "autoMargin",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "a-margin"
            }
          ],
          "attributes": [
            {
              "name": "color",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "color"
            },
            {
              "name": "border",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "border"
            },
            {
              "name": "size",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "size"
            },
            {
              "name": "error",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "error"
            },
            {
              "name": "success",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "success"
            },
            {
              "name": "info",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "info"
            },
            {
              "name": "warning",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "warning"
            },
            {
              "name": "primary",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "primary"
            },
            {
              "name": "accent",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "accent"
            },
            {
              "name": "center",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "center"
            },
            {
              "name": "display",
              "type": {
                "text": "null"
              },
              "default": "null",
              "fieldName": "display"
            },
            {
              "name": "font",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "font"
            },
            {
              "name": "width",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "width"
            },
            {
              "name": "height",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "height"
            },
            {
              "name": "pad",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "pad"
            },
            {
              "name": "margin",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "margin"
            },
            {
              "name": "muted",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "muted"
            },
            {
              "name": "gutter",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "gutter"
            },
            {
              "name": "a-margin",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "autoMargin"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "tagNameWithoutPrefix": "style",
          "tagName": "zn-style",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnStyle",
            "module": "components/style/style.js"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "zn-style",
          "declaration": {
            "name": "ZnStyle",
            "module": "components/style/style.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/tab/tab.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnTab",
          "slots": [
            {
              "description": "The tab panel content.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "caption",
              "type": {
                "text": "string"
              },
              "attribute": "caption"
            },
            {
              "kind": "field",
              "name": "priority",
              "type": {
                "text": "number"
              },
              "attribute": "priority"
            },
            {
              "kind": "field",
              "name": "uri",
              "type": {
                "text": "string"
              },
              "attribute": "uri"
            },
            {
              "kind": "field",
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When present, zn-page opens this tab on load instead of the first tab.",
              "attribute": "selected",
              "reflects": true
            }
          ],
          "attributes": [
            {
              "name": "caption",
              "type": {
                "text": "string"
              },
              "fieldName": "caption"
            },
            {
              "name": "priority",
              "type": {
                "text": "number"
              },
              "fieldName": "priority"
            },
            {
              "name": "uri",
              "type": {
                "text": "string"
              },
              "fieldName": "uri"
            },
            {
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When present, zn-page opens this tab on load instead of the first tab.",
              "fieldName": "selected"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Defines a tab panel for use inside zn-page.",
          "tagNameWithoutPrefix": "tab",
          "tagName": "zn-tab",
          "customElement": true,
          "jsDoc": "/**\n * @summary Defines a tab panel for use inside zn-page.\n * @documentation https://zinc.style/components/tab\n * @status experimental\n * @since 1.0\n *\n * @slot - The tab panel content.\n */",
          "documentation": "https://zinc.style/components/tab",
          "status": "experimental",
          "since": "1.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnTab",
            "module": "components/tab/tab.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/table/table.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnTable",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "fixedFirst",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "fixed-first",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "hasActions",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "has-actions",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "headless",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "headless",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "allLeft",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "left-align",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "data",
              "type": {
                "text": "any"
              },
              "attribute": "data",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "boolIcons",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "bool-icons"
            },
            {
              "kind": "field",
              "name": "columns",
              "type": {
                "text": "any"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "columnDisplay",
              "type": {
                "text": "any"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "wideColumn",
              "type": {
                "text": "any"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "rows",
              "type": {
                "text": "any"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "resizeObserver",
              "privacy": "private",
              "readonly": true,
              "default": "new ResizeController(this, { target: null, callback: () => this.resizing(), })"
            },
            {
              "kind": "method",
              "name": "resizing"
            },
            {
              "kind": "method",
              "name": "tableHead"
            },
            {
              "kind": "method",
              "name": "tableBody"
            },
            {
              "kind": "method",
              "name": "columnContent",
              "parameters": [
                {
                  "name": "col",
                  "type": {
                    "text": "any"
                  }
                }
              ]
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "attributes": [
            {
              "name": "fixed-first",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "fixedFirst"
            },
            {
              "name": "has-actions",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "hasActions"
            },
            {
              "name": "headless",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "headless"
            },
            {
              "name": "left-align",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "allLeft"
            },
            {
              "name": "data",
              "type": {
                "text": "any"
              },
              "fieldName": "data"
            },
            {
              "name": "bool-icons",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "boolIcons"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "table",
          "tagName": "zn-table",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/table\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/table",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnTable",
            "module": "components/table/table.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/tabs/tabs.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnTabs",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "masterId",
              "type": {
                "text": "string"
              },
              "attribute": "master-id",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "defaultUri",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "default-uri",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "_current",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "active",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "_split",
              "type": {
                "text": "number"
              },
              "attribute": "split",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "_splitMin",
              "type": {
                "text": "number"
              },
              "default": "60",
              "attribute": "split-min",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "_splitMinSecondary",
              "type": {
                "text": "number"
              },
              "attribute": "split-min-secondary",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "_splitMax",
              "type": {
                "text": "number"
              },
              "attribute": "split-max",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "primaryCaption",
              "type": {
                "text": "string"
              },
              "default": "'Navigation'",
              "attribute": "primary-caption",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "secondaryCaption",
              "type": {
                "text": "string"
              },
              "default": "'Content'",
              "attribute": "secondary-caption",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "noPrefetch",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "no-prefetch",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "noCache",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "no-cache",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "localStorage",
              "type": {
                "text": "boolean"
              },
              "attribute": "local-storage",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "storeKey",
              "type": {
                "text": "string"
              },
              "attribute": "store-key"
            },
            {
              "kind": "field",
              "name": "storeTtl",
              "type": {
                "text": "number"
              },
              "default": "0",
              "attribute": "store-ttl",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "padded",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "padded",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "fetchStyle",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "attribute": "fetch-style",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "fullWidth",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "full-width",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "paddedRight",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "padded-right",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "monitor",
              "type": {
                "text": "string"
              },
              "attribute": "monitor"
            },
            {
              "kind": "field",
              "name": "caption",
              "type": {
                "text": "string"
              },
              "attribute": "caption"
            },
            {
              "kind": "field",
              "name": "description",
              "type": {
                "text": "string"
              },
              "attribute": "description"
            },
            {
              "kind": "field",
              "name": "preload",
              "type": {
                "text": "boolean"
              },
              "privacy": "protected",
              "default": "true"
            },
            {
              "kind": "field",
              "name": "_store",
              "type": {
                "text": "Store"
              },
              "privacy": "protected"
            },
            {
              "kind": "field",
              "name": "_activeClicks",
              "type": {
                "text": "number"
              },
              "privacy": "protected",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "_panel",
              "type": {
                "text": "Element | null | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_panels",
              "type": {
                "text": "Map<string, Element[]>"
              },
              "privacy": "private",
              "default": "new Map<string, Element[]>()"
            },
            {
              "kind": "field",
              "name": "_activeTab",
              "type": {
                "text": "Element | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "_tabs",
              "type": {
                "text": "HTMLElement[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "_actions",
              "type": {
                "text": "HTMLElement[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "_knownUri",
              "type": {
                "text": "Map<string, string>"
              },
              "privacy": "private",
              "default": "new Map<string, string>()"
            },
            {
              "kind": "field",
              "name": "_defaultTab",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, '[default]', 'bottom', 'right', 'left', 'top', 'actions')"
            },
            {
              "kind": "field",
              "name": "_domObserver",
              "privacy": "private",
              "readonly": true,
              "default": "new MutationController(this, { target: null, config: {childList: true, subtree: true}, callback: mutations => { mutations.forEach(mutation => { if (mutation.type !== 'childList') return; if (mutation.addedNodes.length > 0) { this._registerTabs(); } if (mutation.removedNodes.length > 0) { mutation.removedNodes.forEach(node => { const id = node instanceof HTMLElement ? node.id : ''; if (id) this.removeTabAndPanel(id); }); } }); }, })"
            },
            {
              "kind": "field",
              "name": "_monitorObserver",
              "privacy": "private",
              "readonly": true,
              "default": "new MutationController(this, { target: null, config: {childList: true, subtree: true}, callback: mutations => { mutations.forEach(mutation => { if (mutation.type !== 'childList') return; mutation.addedNodes.forEach(node => { if (node instanceof HTMLElement && node.id === this.monitor) { this.reRegisterTabs(); const storedValue = this.getStoredTab(); if (storedValue !== null) { this.restoreStoredTab(storedValue); } } }); }); }, })"
            },
            {
              "kind": "method",
              "name": "monitorDom"
            },
            {
              "kind": "method",
              "name": "getTabStoreKey",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "string | null"
                }
              },
              "description": "The key the active tab is persisted under. Null disables persistence."
            },
            {
              "kind": "method",
              "name": "getStoredTab",
              "privacy": "protected",
              "return": {
                "type": {
                  "text": "string | null"
                }
              }
            },
            {
              "kind": "method",
              "name": "storeActiveTab",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "tabName",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "restoreStoredTab",
              "privacy": "protected",
              "parameters": [
                {
                  "name": "stored",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "activateDefaultTab",
              "privacy": "protected",
              "description": "Activates the tab the container starts on, ignoring any stored selection."
            },
            {
              "kind": "field",
              "name": "handlePopState",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "pushTabHistory",
              "privacy": "private",
              "parameters": [
                {
                  "name": "tabName",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getUriForTabId",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string | null"
                }
              },
              "parameters": [
                {
                  "name": "tabId",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_addPanel",
              "parameters": [
                {
                  "name": "panel",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_addTab",
              "parameters": [
                {
                  "name": "tab",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "reRegisterTabs"
            },
            {
              "kind": "method",
              "name": "switchTab",
              "parameters": [
                {
                  "name": "inc",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "nextTab"
            },
            {
              "kind": "method",
              "name": "previousTab"
            },
            {
              "kind": "method",
              "name": "_prepareTab",
              "parameters": [
                {
                  "name": "tabId",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_uriToId",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "tabUri",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_createUriPanel",
              "return": {
                "type": {
                  "text": "HTMLDivElement"
                }
              },
              "parameters": [
                {
                  "name": "tabEle",
                  "type": {
                    "text": "Element"
                  }
                },
                {
                  "name": "tabUri",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "tabId",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_handleClick",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "PointerEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "fetchUriTab",
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "clickTab",
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  }
                },
                {
                  "name": "refresh",
                  "type": {
                    "text": "boolean"
                  }
                },
                {
                  "name": "pushHistory",
                  "default": "false"
                }
              ]
            },
            {
              "kind": "method",
              "name": "getRefTab",
              "parameters": [
                {
                  "name": "target",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "setActiveTab",
              "parameters": [
                {
                  "name": "tabName",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "store",
                  "type": {
                    "text": "boolean"
                  }
                },
                {
                  "name": "refresh",
                  "type": {
                    "text": "boolean"
                  }
                },
                {
                  "name": "refTab",
                  "default": "null",
                  "type": {
                    "text": "string | null"
                  }
                },
                {
                  "name": "pushHistory",
                  "default": "false"
                }
              ]
            },
            {
              "kind": "method",
              "name": "_setTabEleActive",
              "parameters": [
                {
                  "name": "ele",
                  "type": {
                    "text": "Element"
                  }
                },
                {
                  "name": "active",
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "selectTab",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "tabName",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "refresh",
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "getActiveTab",
              "return": {
                "type": {
                  "text": "Element[]"
                }
              }
            },
            {
              "kind": "method",
              "name": "observerDom"
            },
            {
              "kind": "method",
              "name": "removeTabAndPanel",
              "parameters": [
                {
                  "name": "tabId",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "_registerTabs"
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "attributes": [
            {
              "name": "master-id",
              "type": {
                "text": "string"
              },
              "fieldName": "masterId"
            },
            {
              "name": "default-uri",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "defaultUri"
            },
            {
              "name": "active",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "_current"
            },
            {
              "name": "split",
              "type": {
                "text": "number"
              },
              "fieldName": "_split"
            },
            {
              "name": "split-min",
              "type": {
                "text": "number"
              },
              "default": "60",
              "fieldName": "_splitMin"
            },
            {
              "name": "split-min-secondary",
              "type": {
                "text": "number"
              },
              "fieldName": "_splitMinSecondary"
            },
            {
              "name": "split-max",
              "type": {
                "text": "number"
              },
              "fieldName": "_splitMax"
            },
            {
              "name": "primary-caption",
              "type": {
                "text": "string"
              },
              "default": "'Navigation'",
              "fieldName": "primaryCaption"
            },
            {
              "name": "secondary-caption",
              "type": {
                "text": "string"
              },
              "default": "'Content'",
              "fieldName": "secondaryCaption"
            },
            {
              "name": "no-prefetch",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "noPrefetch"
            },
            {
              "name": "no-cache",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "noCache"
            },
            {
              "name": "local-storage",
              "type": {
                "text": "boolean"
              },
              "fieldName": "localStorage"
            },
            {
              "name": "store-key",
              "type": {
                "text": "string"
              },
              "fieldName": "storeKey"
            },
            {
              "name": "store-ttl",
              "type": {
                "text": "number"
              },
              "default": "0",
              "fieldName": "storeTtl"
            },
            {
              "name": "padded",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "padded"
            },
            {
              "name": "fetch-style",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "fieldName": "fetchStyle"
            },
            {
              "name": "full-width",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "fullWidth"
            },
            {
              "name": "padded-right",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "paddedRight"
            },
            {
              "name": "monitor",
              "type": {
                "text": "string"
              },
              "fieldName": "monitor"
            },
            {
              "name": "caption",
              "type": {
                "text": "string"
              },
              "fieldName": "caption"
            },
            {
              "name": "description",
              "type": {
                "text": "string"
              },
              "fieldName": "description"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "tabs",
          "tagName": "zn-tabs",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/tabs\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/tabs",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnTabs",
            "module": "components/tabs/tabs.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/textarea/textarea.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnTextarea",
          "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"
            },
            {
              "description": "The slash menu shown at the caret.",
              "name": "slash-menu"
            }
          ],
          "slots": [
            {
              "description": "The textareas label. Alternatively, you can use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "Used to add text that is displayed in a tooltip next to the label. Alternatively, you can use the `label-tooltip` attribute.",
              "name": "label-tooltip"
            },
            {
              "description": "Used to add contextual text that is displayed above the textarea, on the right. Alternatively, you can use the `context-note` attribute.",
              "name": "context-note"
            },
            {
              "description": "Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.",
              "name": "help-text"
            },
            {
              "description": "`<zn-slash-item>` elements describing the insertions offered by the slash menu. Items are picked up wherever they sit inside the textarea, so this slot name is optional.",
              "name": "slash-items"
            },
            {
              "description": "A `<zn-slash-menu>` to use instead of the built-in one, so its heading, sizing and styling can be set in markup. Any `<zn-slash-item>` children of it become the menu's items.",
              "name": "slash-menu"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'zn-slash-item': ZnSlashItem, 'zn-slash-menu': ZnSlashMenu }"
            },
            {
              "kind": "field",
              "name": "formControlController",
              "privacy": "private",
              "readonly": true,
              "default": "new FormControlController(this, { assumeInteractionOn: ['zn-blur', 'zn-input'] })"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'help-text', 'label')"
            },
            {
              "kind": "field",
              "name": "resizeObserver",
              "privacy": "private",
              "readonly": true,
              "default": "new ResizeController(this, { target: null, callback: () => this.setTextareaHeight(), })"
            },
            {
              "kind": "field",
              "name": "_didInitFromContent",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Ensures we only attempt to derive the initial value from light DOM content once"
            },
            {
              "kind": "field",
              "name": "slashController",
              "privacy": "private",
              "readonly": true,
              "default": "new SlashMenuController(this, { menu: () => this.mountSlashMenu(), items: search => this.resolveSlashItems(search), trigger: () => this.slashTrigger, onSelect: (item, search) => !this.emit('zn-slash-select', { detail: {item, query: search} }).defaultPrevented, // The field's own input event has already synced `value` by this point onInsert: (item, value) => this.emit('zn-slash-insert', {detail: {item, value}}) })"
            },
            {
              "kind": "field",
              "name": "formControl",
              "type": {
                "text": "HTMLElement"
              }
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "HTMLTextAreaElement"
              }
            },
            {
              "kind": "field",
              "name": "slashMenuElement",
              "type": {
                "text": "ZnSlashMenu | null"
              }
            },
            {
              "kind": "field",
              "name": "hasFocus",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "hasSlashMenu",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false",
              "description": "Renders the slash menu only once it has been needed, keeping unused textareas cheap."
            },
            {
              "kind": "field",
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "title"
            },
            {
              "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 text area's size.",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The textarea label. If you need to display HTML, use the `label` slot instead.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "labelTooltip",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Text that appears in a tooltip next to the label. If you need to display HTML in the tooltip, use the `label-tooltip` slot instead.",
              "attribute": "label-tooltip"
            },
            {
              "kind": "field",
              "name": "contextNote",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Text that appears above the textarea, on the right, to add additional context. If you need to display HTML in this text, use the `context-note` slot instead.",
              "attribute": "context-note"
            },
            {
              "kind": "field",
              "name": "helpText",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The text area'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": "flush",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "flush",
              "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": "string"
              },
              "description": "Indicates whether the browser's autocorrect feature is on or off.",
              "attribute": "autocorrect"
            },
            {
              "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": "slashItems",
              "type": {
                "text": "SlashMenuItem[]"
              },
              "default": "[]",
              "description": "Quick insertions offered by the slash menu. Accepts a JSON array of items, or the shorthand\n`Brand name={{BRAND_NAME}}, Support email={{SUPPORT_EMAIL}}`. Can also be set as an array of\n`SlashMenuItem` objects in JavaScript.",
              "attribute": "slash-items"
            },
            {
              "kind": "field",
              "name": "slashPreset",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Names of item sets registered with `registerSlashMenuPreset`, comma separated.",
              "attribute": "slash-preset"
            },
            {
              "kind": "field",
              "name": "slashTrigger",
              "type": {
                "text": "string"
              },
              "default": "'/'",
              "description": "The characters that open the slash menu.",
              "attribute": "slash-trigger"
            },
            {
              "kind": "field",
              "name": "slashHeading",
              "type": {
                "text": "string"
              },
              "default": "'Insert'",
              "description": "The name the slash menu's list is announced by.",
              "attribute": "slash-heading"
            },
            {
              "kind": "field",
              "name": "slashHideKeys",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the insertion keys normally shown against the slash menu's items.",
              "attribute": "slash-hide-keys"
            },
            {
              "kind": "field",
              "name": "slashRecentKey",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Lists the items most recently chosen here above the rest, remembered in `localStorage` under this\nkey. Share a key between the fields that should share a history; leave unset to offer no such list.",
              "attribute": "slash-recent-key"
            },
            {
              "kind": "field",
              "name": "slashItemsProvider",
              "type": {
                "text": "(query: string) => SlashMenuItem[] | Promise<SlashMenuItem[]> | undefined"
              },
              "description": "Resolves additional items each time the menu opens, for lists that come from elsewhere (e.g. an\nAPI). Receives the current query and may return a promise. JavaScript only."
            },
            {
              "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": "transparent",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "transparent"
            },
            {
              "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": "resolveSlashItems",
              "return": {
                "type": {
                  "text": "Promise<SlashMenuItem[]>"
                }
              },
              "parameters": [
                {
                  "name": "search",
                  "default": "''"
                }
              ],
              "description": "The insertions the slash menu offers, gathered from every source, in the order they were declared."
            },
            {
              "kind": "method",
              "name": "showSlashMenu",
              "description": "Opens the slash menu at the caret, inserting the trigger if it isn't already there."
            },
            {
              "kind": "method",
              "name": "hideSlashMenu",
              "description": "Closes the slash menu."
            },
            {
              "kind": "method",
              "name": "slottedSlashItems",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "SlashMenuItem[]"
                }
              }
            },
            {
              "kind": "method",
              "name": "mountSlashMenu",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<ZnSlashMenu | null>"
                }
              }
            },
            {
              "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": "handleKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "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 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": "zn-blur"
            },
            {
              "description": "Emitted when an alteration to the control's value is committed by the user.",
              "name": "zn-change"
            },
            {
              "description": "Emitted when the control gains focus.",
              "name": "zn-focus"
            },
            {
              "description": "Emitted when the control receives input.",
              "name": "zn-input"
            },
            {
              "description": "Emitted when the form control has been checked for validity and its constraints aren't satisfied.",
              "name": "zn-invalid"
            },
            {
              "description": "Emitted when a slash menu item is chosen. Cancelable — call `preventDefault()` to suppress the insertion and handle the item yourself.",
              "name": "zn-slash-select"
            },
            {
              "description": "Emitted after a slash menu item's value has been inserted.",
              "name": "zn-slash-insert"
            }
          ],
          "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 text area's size.",
              "fieldName": "size"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The textarea label. If you need to display HTML, use the `label` slot instead.",
              "fieldName": "label"
            },
            {
              "name": "label-tooltip",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Text that appears in a tooltip next to the label. If you need to display HTML in the tooltip, use the `label-tooltip` slot instead.",
              "fieldName": "labelTooltip"
            },
            {
              "name": "context-note",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Text that appears above the textarea, on the right, to add additional context. If you need to display HTML in this text, use the `context-note` slot instead.",
              "fieldName": "contextNote"
            },
            {
              "name": "help-text",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The text area'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": "flush",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "flush"
            },
            {
              "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": "string"
              },
              "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"
            },
            {
              "name": "slash-items",
              "type": {
                "text": "SlashMenuItem[]"
              },
              "default": "[]",
              "description": "Quick insertions offered by the slash menu. Accepts a JSON array of items, or the shorthand\n`Brand name={{BRAND_NAME}}, Support email={{SUPPORT_EMAIL}}`. Can also be set as an array of\n`SlashMenuItem` objects in JavaScript.",
              "fieldName": "slashItems"
            },
            {
              "name": "slash-preset",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Names of item sets registered with `registerSlashMenuPreset`, comma separated.",
              "fieldName": "slashPreset"
            },
            {
              "name": "slash-trigger",
              "type": {
                "text": "string"
              },
              "default": "'/'",
              "description": "The characters that open the slash menu.",
              "fieldName": "slashTrigger"
            },
            {
              "name": "slash-heading",
              "type": {
                "text": "string"
              },
              "default": "'Insert'",
              "description": "The name the slash menu's list is announced by.",
              "fieldName": "slashHeading"
            },
            {
              "name": "slash-hide-keys",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the insertion keys normally shown against the slash menu's items.",
              "fieldName": "slashHideKeys"
            },
            {
              "name": "slash-recent-key",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Lists the items most recently chosen here above the rest, remembered in `localStorage` under this\nkey. Share a key between the fields that should share a history; leave unset to offer no such list.",
              "fieldName": "slashRecentKey"
            },
            {
              "name": "transparent",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "transparent"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Textareas collect data from the user and allow multiple lines of text.",
          "tagNameWithoutPrefix": "textarea",
          "tagName": "zn-textarea",
          "customElement": true,
          "jsDoc": "/**\n * @summary Textareas collect data from the user and allow multiple lines of text.\n * @documentation https://zinc.style/components/textarea\n * @status stable\n * @since 2.0\n *\n * @slot label - The textareas label. Alternatively, you can use the `label` attribute.\n * @slot label-tooltip - Used to add text that is displayed in a tooltip next to the label. Alternatively, you can use the `label-tooltip` attribute.\n * @slot context-note - Used to add contextual text that is displayed above the textarea, on the right. Alternatively, you can use the `context-note` attribute.\n * @slot help-text - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n * @slot slash-items - `<zn-slash-item>` elements describing the insertions offered by the slash menu. Items are\n *  picked up wherever they sit inside the textarea, so this slot name is optional.\n * @slot slash-menu - A `<zn-slash-menu>` to use instead of the built-in one, so its heading, sizing and styling can\n *  be set in markup. Any `<zn-slash-item>` children of it become the menu's items.\n *\n * @dependency zn-slash-item\n * @dependency zn-slash-menu\n *\n * @event zn-blur - Emitted when the control loses focus.\n * @event zn-change - Emitted when an alteration to the control's value is committed by the user.\n * @event zn-focus - Emitted when the control gains focus.\n * @event zn-input - Emitted when the control receives input.\n * @event zn-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n * @event zn-slash-select - Emitted when a slash menu item is chosen. Cancelable — call `preventDefault()` to\n *  suppress the insertion and handle the item yourself.\n * @event zn-slash-insert - Emitted after a slash menu item's value has been inserted.\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 * @csspart slash-menu - The slash menu shown at the caret.\n */",
          "documentation": "https://zinc.style/components/textarea",
          "status": "stable",
          "since": "2.0",
          "dependencies": [
            "zn-slash-item",
            "zn-slash-menu"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnTextarea",
            "module": "components/textarea/textarea.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/theme-editor/theme-editor.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnThemeEditor",
          "cssProperties": [
            {
              "description": "Width of the controls column.",
              "name": "--zn-theme-editor-controls-width"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The left-hand controls column, full height.",
              "name": "controls"
            },
            {
              "description": "The controls column's header row: `controls-caption` on the left, the light/dark mode toggle on the right.",
              "name": "controls-header"
            },
            {
              "description": "The preview column's header row: `preview-caption` on the left, the device switcher (and sources/submit) on the right. Spans the preview column only.",
              "name": "toolbar"
            },
            {
              "description": "A rendered section's or group's collapsible (`section-layout=\"collapsible\"`, or any nested group).",
              "name": "section"
            },
            {
              "description": "The footer wrapper beneath the controls.",
              "name": "footer"
            },
            {
              "description": "The preview column.",
              "name": "preview"
            },
            {
              "description": "The inline error strip.",
              "name": "error"
            },
            {
              "description": "The frame's base wrapper (forwarded from zn-preview-frame).",
              "name": "preview__base"
            },
            {
              "description": "The frame's device-width wrapper (forwarded from zn-preview-frame).",
              "name": "preview__stage"
            },
            {
              "description": "The frame's iframe (forwarded from zn-preview-frame).",
              "name": "preview__iframe"
            },
            {
              "description": "The frame's own error overlay (forwarded from zn-preview-frame).",
              "name": "preview__error"
            }
          ],
          "slots": [
            {
              "description": "Ungrouped theme controls, rendered above any sections. Controls assigned `slot=\"<name>\"` matching a `sections` entry (or, when nested, a `groups` entry) render inside that section/group instead. Harvesting and change detection walk every slot's full assigned subtree, not just direct children. With `sections` left unset, the structure is instead derived from the controls' own attributes: `group=\"<label>\"` becomes a tab and `category=\"<label>\"` a collapsible within it, and the control is slotted into that collapsible automatically. Either attribute works alone - a control with only `group` sits directly in its tab, and one with only `category` becomes its own top-level section. Setting `sections` explicitly disables the derivation entirely.",
              "name": ""
            },
            {
              "description": "Actions in the toolbar, right-aligned beside the device controls. Where a save button belongs.",
              "name": "toolbar"
            },
            {
              "description": "Actions pinned beneath the controls. The built-in submit button lives in the toolbar, not here.",
              "name": "footer"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'zn-collapsible': ZnCollapsible, 'zn-preview-frame': ZnPreviewFrame, 'zn-icon': ZnIcon, 'zn-button': ZnButton, 'zn-button-group': ZnButtonGroup, 'zn-tabs': ZnTabs, 'zn-navbar': ZnNavbar, 'zn-select': ZnSelect, 'zn-option': ZnOption, }"
            },
            {
              "kind": "field",
              "name": "src",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "URL of the preview shell page; forwarded to the frame.",
              "attribute": "src"
            },
            {
              "kind": "field",
              "name": "frameOrigin",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Expected origin of the iframe; forwarded to the frame.",
              "attribute": "frame-origin"
            },
            {
              "kind": "field",
              "name": "dataUri",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Optional endpoint returning the base hp-preview:config payload.",
              "attribute": "data-uri"
            },
            {
              "kind": "field",
              "name": "mode",
              "type": {
                "text": "ThemeEditorMode"
              },
              "default": "'light'",
              "description": "Which mode the preview renders in. Travels in the theme payload.",
              "attribute": "mode",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "device",
              "type": {
                "text": "ThemeEditorDevice"
              },
              "default": "'desktop'",
              "description": "Preview viewport width. Resizes the frame only; not part of the payload.",
              "attribute": "device",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "minHeight",
              "type": {
                "text": "number"
              },
              "default": "480",
              "description": "Minimum height of the preview row, in pixels; forwarded to the frame as its own floor.",
              "attribute": "min-height"
            },
            {
              "kind": "field",
              "name": "debounce",
              "type": {
                "text": "number"
              },
              "default": "150",
              "description": "Debounce in ms between a control change and the push to the preview.",
              "attribute": "debounce"
            },
            {
              "kind": "field",
              "name": "action",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Optional endpoint the values are POSTed to. Empty = no persistence.",
              "attribute": "action"
            },
            {
              "kind": "field",
              "name": "saveDebounce",
              "type": {
                "text": "number"
              },
              "default": "1000",
              "description": "Debounce in ms between a control change and the save POST.",
              "attribute": "save-debounce"
            },
            {
              "kind": "field",
              "name": "sections",
              "type": {
                "text": "ThemeEditorSection[]"
              },
              "default": "[]",
              "description": "Groups controls into named sections. Empty/unset falls back to deriving the\nstructure from the controls' own `group`/`category` attributes, and renders\none ungrouped column when they carry neither. A section with a non-empty\n`groups` nests a collapsible per group inside a `zn-tabs` tab for that\nsection - see `groups` on `ThemeEditorSection`.",
              "attribute": "sections"
            },
            {
              "kind": "field",
              "name": "sectionLayout",
              "type": {
                "text": "'collapsible' | 'tabs'"
              },
              "default": "'collapsible'",
              "description": "Presentation for flat, group-less `sections`: stacked `zn-collapsible`s\n(default) or a `zn-tabs` strip. Ignored once any section has `groups` -\nnested sections always render as tabs.",
              "attribute": "section-layout"
            },
            {
              "kind": "field",
              "name": "sources",
              "type": {
                "text": "ThemeEditorSource[]"
              },
              "default": "[]",
              "description": "Dropdown of preview sources, `{label, src}`, rendered in the toolbar. Empty/unset renders no dropdown; the first entry wins over an explicit `src` when non-empty.",
              "attribute": "sources"
            },
            {
              "kind": "field",
              "name": "controlsCollapsed",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Collapses the controls column.",
              "attribute": "controls-collapsed",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "standalone",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Presents the editor as its own bordered, rounded panel with a plain preview backdrop, rather than embedded in a dotted canvas.",
              "attribute": "standalone",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "controlsCaption",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Caption in the controls column's header row. Empty (default) renders no text; the row itself always renders.",
              "attribute": "controls-caption"
            },
            {
              "kind": "field",
              "name": "previewCaption",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Caption at the left of the toolbar, opposite the device and mode controls. Empty (default) renders no text.",
              "attribute": "preview-caption"
            },
            {
              "kind": "field",
              "name": "submitLabel",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Label for the built-in submit button. Empty (default) renders no button.",
              "attribute": "submit-label"
            },
            {
              "kind": "field",
              "name": "manual",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the debounced auto-save; saving then happens only via submit. Preview pushes are unaffected.",
              "attribute": "manual"
            },
            {
              "kind": "field",
              "name": "frame",
              "type": {
                "text": "ZnPreviewFrame"
              }
            },
            {
              "kind": "field",
              "name": "controlsSlot",
              "type": {
                "text": "HTMLSlotElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "sectionSlots",
              "type": {
                "text": "NodeListOf<HTMLSlotElement>"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "error",
              "type": {
                "text": "string"
              },
              "privacy": "protected",
              "default": "''"
            },
            {
              "kind": "field",
              "name": "_submitting",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "_sourceIndex",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'footer', '[default]')"
            },
            {
              "kind": "field",
              "name": "_pushTimer",
              "type": {
                "text": "number | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_saveTimer",
              "type": {
                "text": "number | undefined"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_saving",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "_saveQueued",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "_saveWaiters",
              "type": {
                "text": "((ok: boolean) => void)[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "_narrowQuery",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_wasNarrow",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "_mounted",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "_lastControls",
              "type": {
                "text": "HarvestableControl[]"
              },
              "privacy": "private",
              "default": "[]"
            },
            {
              "kind": "field",
              "name": "_controlsObserverConfig",
              "type": {
                "text": "MutationObserverInit"
              },
              "privacy": "private",
              "readonly": true,
              "default": "{ childList: true, subtree: true }"
            },
            {
              "kind": "field",
              "name": "_controlsObserver",
              "privacy": "private",
              "readonly": true,
              "default": "new MutationController(this, { target: null, config: this._controlsObserverConfig, callback: () => this._pushIfControlsChanged(), })"
            },
            {
              "kind": "field",
              "name": "_modeValues",
              "type": {
                "text": "Record<ThemeEditorMode, Record<string, unknown>>"
              },
              "privacy": "private",
              "default": "{ light: {}, dark: {} }"
            },
            {
              "kind": "field",
              "name": "_suppressDepth",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "_openedInitialCollapsible",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "values",
              "type": {
                "text": "{ light: Record<string, unknown>; dark: Record<string, unknown> }"
              },
              "description": "The current per-mode value sets. Returns copies.",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "activeValues",
              "type": {
                "text": "Record<string, unknown>"
              },
              "description": "The active mode's values - what gets pushed to the preview frame.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "_controlSlots",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "HTMLSlotElement[]"
                }
              },
              "description": "The default slot plus every rendered section slot."
            },
            {
              "kind": "method",
              "name": "_harvestNamed",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "{ name: string; control: HarvestableControl }[]"
                }
              },
              "description": "Walks every control slot (default and sections) for every enabled, named control."
            },
            {
              "kind": "method",
              "name": "_hasAssignedControls",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "slotName",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Whether a direct child is assigned to the named slot — an empty section renders no chrome."
            },
            {
              "kind": "method",
              "name": "_isBooleanControl",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "control",
                  "type": {
                    "text": "HarvestableControl"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_readControlValue",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "unknown"
                }
              },
              "parameters": [
                {
                  "name": "control",
                  "type": {
                    "text": "HarvestableControl"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_seed",
              "privacy": "private",
              "description": "Seeds light/dark entries for any control name not already present."
            },
            {
              "kind": "method",
              "name": "_writeBack",
              "privacy": "private",
              "parameters": [
                {
                  "name": "mode",
                  "default": "this.mode",
                  "type": {
                    "text": "ThemeEditorMode"
                  }
                }
              ],
              "description": "Writes a mode's value set back into the controls so they display it."
            },
            {
              "kind": "method",
              "name": "_harvestInto",
              "privacy": "private",
              "parameters": [
                {
                  "name": "mode",
                  "type": {
                    "text": "ThemeEditorMode"
                  }
                }
              ],
              "description": "Harvests the controls' current displayed values into a mode's set."
            },
            {
              "kind": "field",
              "name": "_onNarrowChange",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "_push",
              "privacy": "private",
              "description": "Pushes the active mode's values into the preview and announces it."
            },
            {
              "kind": "method",
              "name": "_queueSave",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_save",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_awaitSave",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Promise<boolean>"
                }
              },
              "description": "Resolves once a save actually carrying the current values has settled."
            },
            {
              "kind": "method",
              "name": "_pushIfControlsChanged",
              "privacy": "private",
              "description": "Pushes only if the deep set of named controls (the same set harvesting\nwalks, so it includes controls nested inside sections) has changed since\nthe last push. Comparison is by element identity only, never by value."
            },
            {
              "kind": "method",
              "name": "_flushPendingEdit",
              "privacy": "private",
              "description": "Harvests and queues a save for a pending debounced edit, then cancels its timer."
            },
            {
              "kind": "field",
              "name": "_onSubmit",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "_announce",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_fail",
              "privacy": "private",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "_onControlChange",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_onSlotChange",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_setDevice",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_toggleMode",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_onFrameError",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "_sourcesSafe",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "ThemeEditorSource[]"
                }
              }
            },
            {
              "kind": "method",
              "name": "_frameSrc",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              }
            },
            {
              "kind": "field",
              "name": "_onSourceChange",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "_sectionsSafe",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "ThemeEditorSection[]"
                }
              }
            },
            {
              "kind": "method",
              "name": "_groupsFor",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "ThemeEditorGroup[]"
                }
              },
              "parameters": [
                {
                  "name": "section",
                  "type": {
                    "text": "ThemeEditorSection"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_hasStructureAttributes",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "description": "Whether any direct child carries the `group`/`category` structure attributes."
            },
            {
              "kind": "method",
              "name": "_usesDerivedSections",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "description": "Attribute-derived structure applies only when `sections` is left unset."
            },
            {
              "kind": "method",
              "name": "_derive",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "DerivedStructure"
                }
              },
              "description": "Builds the tab/collapsible tree from the controls' own `group` (tab) and\n`category` (collapsible) attributes, alongside the slot name each control\nneeds assigning to. Only direct children are considered, since `slot` only\nworks one level deep. Slot names are slugged from the labels and made\nunique across the whole tree, so two tabs can each hold a \"Colors\"\ncategory without their slots colliding."
            },
            {
              "kind": "method",
              "name": "_effectiveSections",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "ThemeEditorSection[]"
                }
              },
              "description": "Explicit `sections` when set, otherwise the attribute-derived tree."
            },
            {
              "kind": "method",
              "name": "_assignDerivedSlots",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_hasNestedGroups",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "description": "Whether any section has a populated `groups` - the switch to nested tabs+collapsibles."
            },
            {
              "kind": "method",
              "name": "_visibleGroups",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "ThemeEditorGroup[]"
                }
              },
              "parameters": [
                {
                  "name": "section",
                  "type": {
                    "text": "ThemeEditorSection"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_visibleSections",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "ThemeEditorSection[]"
                }
              },
              "description": "Configured sections that have an assigned control, or (nested) a populated group - shared by every presentation."
            },
            {
              "kind": "method",
              "name": "_renderSections",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_renderGroups",
              "privacy": "private",
              "parameters": [
                {
                  "name": "section",
                  "type": {
                    "text": "ThemeEditorSection"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_tabCollapsibles",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "ZnCollapsible[]"
                }
              },
              "parameters": [
                {
                  "name": "section",
                  "type": {
                    "text": "ThemeEditorSection"
                  }
                }
              ],
              "description": "Every collapsible inside a tab's panel, in document order."
            },
            {
              "kind": "method",
              "name": "_expandFirst",
              "privacy": "private",
              "parameters": [
                {
                  "name": "collapsibles",
                  "type": {
                    "text": "ZnCollapsible[]"
                  }
                }
              ],
              "description": "Expands the first collapsible, unless one is already open."
            },
            {
              "kind": "method",
              "name": "_openFirstCollapsible",
              "privacy": "private",
              "parameters": [
                {
                  "name": "section",
                  "type": {
                    "text": "ThemeEditorSection"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_renderTabs",
              "privacy": "private",
              "parameters": [
                {
                  "name": "panel",
                  "type": {
                    "text": "(section: ThemeEditorSection) => unknown"
                  }
                }
              ]
            }
          ],
          "events": [
            {
              "description": "Emitted when the values, mode or device change.",
              "name": "zn-theme-change"
            },
            {
              "description": "Emitted on submit (button click), carrying the current values. With `action` set, only fires after a successful save.",
              "name": "zn-theme-submit"
            },
            {
              "description": "Emitted when a save fails. Also seen for preview render failures: the frame's zn-error is composed and not stopped, so it bubbles out through the editor too.",
              "name": "zn-error"
            }
          ],
          "attributes": [
            {
              "name": "src",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "URL of the preview shell page; forwarded to the frame.",
              "fieldName": "src"
            },
            {
              "name": "frame-origin",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Expected origin of the iframe; forwarded to the frame.",
              "fieldName": "frameOrigin"
            },
            {
              "name": "data-uri",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Optional endpoint returning the base hp-preview:config payload.",
              "fieldName": "dataUri"
            },
            {
              "name": "mode",
              "type": {
                "text": "ThemeEditorMode"
              },
              "default": "'light'",
              "description": "Which mode the preview renders in. Travels in the theme payload.",
              "fieldName": "mode"
            },
            {
              "name": "device",
              "type": {
                "text": "ThemeEditorDevice"
              },
              "default": "'desktop'",
              "description": "Preview viewport width. Resizes the frame only; not part of the payload.",
              "fieldName": "device"
            },
            {
              "name": "min-height",
              "type": {
                "text": "number"
              },
              "default": "480",
              "description": "Minimum height of the preview row, in pixels; forwarded to the frame as its own floor.",
              "fieldName": "minHeight"
            },
            {
              "name": "debounce",
              "type": {
                "text": "number"
              },
              "default": "150",
              "description": "Debounce in ms between a control change and the push to the preview.",
              "fieldName": "debounce"
            },
            {
              "name": "action",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Optional endpoint the values are POSTed to. Empty = no persistence.",
              "fieldName": "action"
            },
            {
              "name": "save-debounce",
              "type": {
                "text": "number"
              },
              "default": "1000",
              "description": "Debounce in ms between a control change and the save POST.",
              "fieldName": "saveDebounce"
            },
            {
              "name": "sections",
              "type": {
                "text": "ThemeEditorSection[]"
              },
              "default": "[]",
              "description": "Groups controls into named sections. Empty/unset falls back to deriving the\nstructure from the controls' own `group`/`category` attributes, and renders\none ungrouped column when they carry neither. A section with a non-empty\n`groups` nests a collapsible per group inside a `zn-tabs` tab for that\nsection - see `groups` on `ThemeEditorSection`.",
              "fieldName": "sections"
            },
            {
              "name": "section-layout",
              "type": {
                "text": "'collapsible' | 'tabs'"
              },
              "default": "'collapsible'",
              "description": "Presentation for flat, group-less `sections`: stacked `zn-collapsible`s\n(default) or a `zn-tabs` strip. Ignored once any section has `groups` -\nnested sections always render as tabs.",
              "fieldName": "sectionLayout"
            },
            {
              "name": "sources",
              "type": {
                "text": "ThemeEditorSource[]"
              },
              "default": "[]",
              "description": "Dropdown of preview sources, `{label, src}`, rendered in the toolbar. Empty/unset renders no dropdown; the first entry wins over an explicit `src` when non-empty.",
              "fieldName": "sources"
            },
            {
              "name": "controls-collapsed",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Collapses the controls column.",
              "fieldName": "controlsCollapsed"
            },
            {
              "name": "standalone",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Presents the editor as its own bordered, rounded panel with a plain preview backdrop, rather than embedded in a dotted canvas.",
              "fieldName": "standalone"
            },
            {
              "name": "controls-caption",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Caption in the controls column's header row. Empty (default) renders no text; the row itself always renders.",
              "fieldName": "controlsCaption"
            },
            {
              "name": "preview-caption",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Caption at the left of the toolbar, opposite the device and mode controls. Empty (default) renders no text.",
              "fieldName": "previewCaption"
            },
            {
              "name": "submit-label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Label for the built-in submit button. Empty (default) renders no button.",
              "fieldName": "submitLabel"
            },
            {
              "name": "manual",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables the debounced auto-save; saving then happens only via submit. Preview pushes are unaffected.",
              "fieldName": "manual"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "A theme editor: slotted form controls drive a live preview frame,\nwith a toolbar for the preview's light/dark mode and device width.",
          "tagNameWithoutPrefix": "theme-editor",
          "tagName": "zn-theme-editor",
          "customElement": true,
          "jsDoc": "/**\n * @summary A theme editor: slotted form controls drive a live preview frame,\n * with a toolbar for the preview's light/dark mode and device width.\n * @documentation https://zinc.style/components/theme-editor\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-collapsible\n * @dependency zn-preview-frame\n * @dependency zn-icon\n * @dependency zn-button\n * @dependency zn-button-group\n * @dependency zn-tabs\n * @dependency zn-navbar\n * @dependency zn-select\n *\n * @event zn-theme-change - Emitted when the values, mode or device change.\n * @event zn-theme-submit - Emitted on submit (button click), carrying the\n * current values. With `action` set, only fires after a successful save.\n * @event zn-error - Emitted when a save fails. Also seen for preview render\n * failures: the frame's zn-error is composed and not stopped, so it bubbles\n * out through the editor too.\n *\n * @slot - Ungrouped theme controls, rendered above any sections. Controls\n * assigned `slot=\"<name>\"` matching a `sections` entry (or, when nested, a\n * `groups` entry) render inside that section/group instead. Harvesting and\n * change detection walk every slot's full assigned subtree, not just direct\n * children.\n *\n * With `sections` left unset, the structure is instead derived from the\n * controls' own attributes: `group=\"<label>\"` becomes a tab and\n * `category=\"<label>\"` a collapsible within it, and the control is slotted\n * into that collapsible automatically. Either attribute works alone - a\n * control with only `group` sits directly in its tab, and one with only\n * `category` becomes its own top-level section. Setting `sections`\n * explicitly disables the derivation entirely.\n * @slot toolbar - Actions in the toolbar, right-aligned beside the device\n * controls. Where a save button belongs.\n * @slot footer - Actions pinned beneath the controls. The built-in submit button\n * lives in the toolbar, not here.\n *\n * @csspart base - The component's base wrapper.\n * @csspart controls - The left-hand controls column, full height.\n * @csspart controls-header - The controls column's header row: `controls-caption` on the left, the light/dark mode toggle on the right.\n * @csspart toolbar - The preview column's header row: `preview-caption` on the left, the device switcher (and sources/submit) on the right. Spans the preview column only.\n * @csspart section - A rendered section's or group's collapsible (`section-layout=\"collapsible\"`, or any nested group).\n * @csspart footer - The footer wrapper beneath the controls.\n * @csspart preview - The preview column.\n * @csspart error - The inline error strip.\n * @csspart preview__base - The frame's base wrapper (forwarded from zn-preview-frame).\n * @csspart preview__stage - The frame's device-width wrapper (forwarded from zn-preview-frame).\n * @csspart preview__iframe - The frame's iframe (forwarded from zn-preview-frame).\n * @csspart preview__error - The frame's own error overlay (forwarded from zn-preview-frame).\n *\n * @cssproperty --zn-theme-editor-controls-width - Width of the controls column.\n */",
          "documentation": "https://zinc.style/components/theme-editor",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-collapsible",
            "zn-preview-frame",
            "zn-icon",
            "zn-button",
            "zn-button-group",
            "zn-tabs",
            "zn-navbar",
            "zn-select"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnThemeEditor",
            "module": "components/theme-editor/theme-editor.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/thumbnail/thumbnail.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnThumbnail",
          "cssProperties": [
            {
              "description": "Aspect ratio of the media frame. Defaults to 16 / 9. The `aspect-ratio` attribute sets this on the thumbnail itself; set the property on any ancestor (including a `zn-thumbnail-group`) to apply it to every thumbnail beneath it.",
              "name": "--zn-thumbnail-aspect-ratio"
            },
            {
              "description": "Corner radius of the media frame.",
              "name": "--zn-thumbnail-radius"
            },
            {
              "description": "Overrides the measured aspect ratio of the preview panel. By default the panel takes the asset's own ratio so it wraps the image exactly.",
              "name": "--zn-thumbnail-preview-aspect-ratio"
            },
            {
              "description": "Largest width the preview may take. Defaults to 70vw.",
              "name": "--zn-thumbnail-preview-max-width"
            },
            {
              "description": "Largest height the preview may take. Defaults to 70vh.",
              "name": "--zn-thumbnail-preview-max-height"
            },
            {
              "description": "Corner radius of the preview panel.",
              "name": "--zn-thumbnail-preview-radius"
            },
            {
              "description": "Corner radius of a badge, action or preview chip.",
              "name": "--zn-thumbnail-chip-radius"
            },
            {
              "description": "Background of a badge, action or preview chip.",
              "name": "--zn-thumbnail-chip-background"
            },
            {
              "description": "Hover background of an action or preview chip.",
              "name": "--zn-thumbnail-chip-background-hover"
            },
            {
              "description": "Foreground colour of a badge, action or preview chip.",
              "name": "--zn-thumbnail-chip-color"
            },
            {
              "description": "Gap between adjacent chips.",
              "name": "--zn-thumbnail-chip-gap"
            },
            {
              "description": "Opacity of a badge, holding it back from the action chips beside it. Defaults to 0.65.",
              "name": "--zn-thumbnail-badge-opacity"
            },
            {
              "description": "Ring colour for the selected state.",
              "name": "--zn-thumbnail-selected-color"
            },
            {
              "description": "Ring colour for the active state.",
              "name": "--zn-thumbnail-active-color"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The anchor (or div) covering the media and caption.",
              "name": "link"
            },
            {
              "description": "The fixed aspect-ratio media frame.",
              "name": "media"
            },
            {
              "description": "The built-in image element.",
              "name": "image"
            },
            {
              "description": "The layer holding the badge, actions and preview button.",
              "name": "overlay"
            },
            {
              "description": "The bottom-left badge container.",
              "name": "badge"
            },
            {
              "description": "The bottom-right actions container.",
              "name": "actions"
            },
            {
              "description": "The built-in preview trigger, when `preview-trigger=\"button\"`.",
              "name": "preview-button"
            },
            {
              "description": "The caption beneath the media.",
              "name": "caption"
            },
            {
              "description": "The preview `<dialog>`.",
              "name": "preview"
            },
            {
              "description": "The full-screen backdrop behind the preview.",
              "name": "preview-backdrop"
            },
            {
              "description": "The rounded panel the preview media sits in.",
              "name": "preview-frame"
            },
            {
              "description": "The full-size image inside the preview.",
              "name": "preview-image"
            },
            {
              "description": "The preview's close button.",
              "name": "preview-close"
            }
          ],
          "slots": [
            {
              "description": "Fallback content rendered in place of the media when no `src` is set.",
              "name": ""
            },
            {
              "description": "Replaces the built-in `<img>` (e.g. a video, canvas or `zn-icon`).",
              "name": "image"
            },
            {
              "description": "Replaces the caption text.",
              "name": "caption"
            },
            {
              "description": "Content pinned to the bottom-left of the media (e.g. a play indicator). Badges take no pointer events and are held back on opacity, so they read as information about the asset rather than as something to click.",
              "name": "badge"
            },
            {
              "description": "Controls pinned to the bottom-right of the media (e.g. a download button). Each slotted element becomes its own chip, so several actions read as separate icons on the thumbnail rather than one grouped pill. This sits outside the thumbnail's link, so buttons and links here behave normally and never select the thumbnail or follow its `href`.",
              "name": "actions"
            },
            {
              "description": "Replaces the preview media (e.g. a `<video>` for the full-size asset).",
              "name": "preview"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{'zn-icon': ZnIcon}"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, '[default]', 'image', 'caption', 'badge', 'actions', 'preview')"
            },
            {
              "kind": "field",
              "name": "src",
              "type": {
                "text": "string"
              },
              "description": "Image URL for the built-in `<img>`.",
              "attribute": "src"
            },
            {
              "kind": "field",
              "name": "alt",
              "type": {
                "text": "string"
              },
              "description": "Alternative text for the built-in image. Falls back to the caption.",
              "attribute": "alt"
            },
            {
              "kind": "field",
              "name": "caption",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The title shown beneath the media.",
              "attribute": "caption"
            },
            {
              "kind": "field",
              "name": "aspectRatio",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Aspect ratio of the media frame, as any CSS `aspect-ratio` value (e.g. `1 / 1`, `4 / 3`).\nTakes precedence over an inherited `--zn-thumbnail-aspect-ratio`. Defaults to `16 / 9`.",
              "attribute": "aspect-ratio",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "href",
              "type": {
                "text": "string"
              },
              "description": "Renders the thumbnail as a link to this URL.",
              "attribute": "href"
            },
            {
              "kind": "field",
              "name": "target",
              "type": {
                "text": "string"
              },
              "description": "Where to open `href` (e.g. `_blank`).",
              "attribute": "target"
            },
            {
              "kind": "field",
              "name": "fullUri",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "URL of the full-size asset. Setting this enables the preview overlay, which grows out of the\nthumbnail's position over a full-screen backdrop.",
              "attribute": "full-uri"
            },
            {
              "kind": "field",
              "name": "previewTrigger",
              "type": {
                "text": "'click' | 'button'"
              },
              "default": "'click'",
              "description": "How the preview opens. `click` (the default) opens it when the thumbnail is activated; `button`\nadds a dedicated expand control to the media instead, leaving clicks for selection or the link.",
              "attribute": "preview-trigger"
            },
            {
              "kind": "field",
              "name": "previewLabel",
              "type": {
                "text": "string"
              },
              "default": "'Preview'",
              "description": "Accessible label for the built-in preview trigger and the preview overlay.",
              "attribute": "preview-label"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Identifier reported in the `zn-select` event detail and used for group selection.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the selected ring. Managed automatically inside a `selectable` `zn-thumbnail-group`.",
              "attribute": "selected",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "active",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the active ring — for the thumbnail currently in use (playing, open, being edited), as\ndistinct from the user's selection. Takes the ring colour when a thumbnail is both active and\nselected. Recolour it with `--zn-thumbnail-active-color`.",
              "attribute": "active",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "selectable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Set by `zn-thumbnail-group` when it manages selection, so the thumbnail reads as clickable.",
              "attribute": "selectable",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Dims the thumbnail and blocks selection, navigation and preview.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "icon",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Icon rendered in the bottom-left badge when the `badge` slot is empty.",
              "attribute": "icon"
            },
            {
              "kind": "field",
              "name": "hideCaption",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the caption row, leaving just the media frame.",
              "attribute": "hide-caption"
            },
            {
              "kind": "field",
              "name": "_previewOpen",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "_previewRatio",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0",
              "description": "Aspect ratio (width / height) measured from the asset, so the preview wraps it exactly."
            },
            {
              "kind": "field",
              "name": "_media",
              "type": {
                "text": "HTMLElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_image",
              "type": {
                "text": "HTMLImageElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_previewImage",
              "type": {
                "text": "HTMLImageElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_preview",
              "type": {
                "text": "HTMLDialogElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_previewFrame",
              "type": {
                "text": "HTMLElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_previewBackdrop",
              "type": {
                "text": "HTMLElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_previewClose",
              "type": {
                "text": "HTMLElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_origin",
              "type": {
                "text": "DOMRect | null"
              },
              "privacy": "private",
              "default": "null",
              "description": "The media rect captured when the preview opened, so the grow animation starts from the thumbnail."
            },
            {
              "kind": "field",
              "name": "_animating",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "method",
              "name": "_isLink",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_previewable",
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_previewOnActivate",
              "privacy": "private",
              "description": "True when activating the thumbnail itself should open the preview.",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "_resolveRatio",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "number"
                }
              },
              "description": "The asset's real aspect ratio, so the preview panel wraps the image instead of letterboxing it\ninside a fixed-ratio box. The full-size image is preferred, but it usually hasn't loaded when\nthe preview opens — the already-loaded thumbnail shares the asset's ratio, and the rendered\nmedia box is the last resort for slotted media that can't be measured."
            },
            {
              "kind": "method",
              "name": "showPreview",
              "description": "Opens the preview overlay."
            },
            {
              "kind": "method",
              "name": "hidePreview",
              "description": "Closes the preview overlay."
            },
            {
              "kind": "method",
              "name": "_animatePreview",
              "privacy": "private",
              "parameters": [
                {
                  "name": "direction",
                  "type": {
                    "text": "'in' | 'out'"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "_collapsedTransform",
              "privacy": "private",
              "parameters": [
                {
                  "name": "from",
                  "type": {
                    "text": "DOMRect | null"
                  }
                },
                {
                  "name": "to",
                  "type": {
                    "text": "DOMRect"
                  }
                }
              ],
              "description": "Maps the preview panel onto the thumbnail's box, so the panel appears to grow out of it."
            },
            {
              "kind": "method",
              "name": "_activate",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                },
                {
                  "name": "allowPreview",
                  "type": {
                    "text": "boolean"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "_handleClick",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_handleKeyDown",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_handlePreviewButtonClick",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_handlePreviewCancel",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_handleBackdropClick",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_handlePreviewImageLoad",
              "privacy": "private"
            }
          ],
          "events": [
            {
              "description": "Emitted when an enabled thumbnail is activated by click or keyboard. Cancelable — call `preventDefault()` to stop the preview from opening and to stop a parent `zn-thumbnail-group` from changing its selection.",
              "name": "zn-select"
            },
            {
              "description": "Emitted when the preview overlay starts opening.",
              "name": "zn-show"
            },
            {
              "description": "Emitted once the preview overlay has finished closing.",
              "name": "zn-close"
            }
          ],
          "attributes": [
            {
              "name": "src",
              "type": {
                "text": "string"
              },
              "description": "Image URL for the built-in `<img>`.",
              "fieldName": "src"
            },
            {
              "name": "alt",
              "type": {
                "text": "string"
              },
              "description": "Alternative text for the built-in image. Falls back to the caption.",
              "fieldName": "alt"
            },
            {
              "name": "caption",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The title shown beneath the media.",
              "fieldName": "caption"
            },
            {
              "name": "aspect-ratio",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Aspect ratio of the media frame, as any CSS `aspect-ratio` value (e.g. `1 / 1`, `4 / 3`).\nTakes precedence over an inherited `--zn-thumbnail-aspect-ratio`. Defaults to `16 / 9`.",
              "fieldName": "aspectRatio"
            },
            {
              "name": "href",
              "type": {
                "text": "string"
              },
              "description": "Renders the thumbnail as a link to this URL.",
              "fieldName": "href"
            },
            {
              "name": "target",
              "type": {
                "text": "string"
              },
              "description": "Where to open `href` (e.g. `_blank`).",
              "fieldName": "target"
            },
            {
              "name": "full-uri",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "URL of the full-size asset. Setting this enables the preview overlay, which grows out of the\nthumbnail's position over a full-screen backdrop.",
              "fieldName": "fullUri"
            },
            {
              "name": "preview-trigger",
              "type": {
                "text": "'click' | 'button'"
              },
              "default": "'click'",
              "description": "How the preview opens. `click` (the default) opens it when the thumbnail is activated; `button`\nadds a dedicated expand control to the media instead, leaving clicks for selection or the link.",
              "fieldName": "previewTrigger"
            },
            {
              "name": "preview-label",
              "type": {
                "text": "string"
              },
              "default": "'Preview'",
              "description": "Accessible label for the built-in preview trigger and the preview overlay.",
              "fieldName": "previewLabel"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Identifier reported in the `zn-select` event detail and used for group selection.",
              "fieldName": "value"
            },
            {
              "name": "selected",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the selected ring. Managed automatically inside a `selectable` `zn-thumbnail-group`.",
              "fieldName": "selected"
            },
            {
              "name": "active",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws the active ring — for the thumbnail currently in use (playing, open, being edited), as\ndistinct from the user's selection. Takes the ring colour when a thumbnail is both active and\nselected. Recolour it with `--zn-thumbnail-active-color`.",
              "fieldName": "active"
            },
            {
              "name": "selectable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Set by `zn-thumbnail-group` when it manages selection, so the thumbnail reads as clickable.",
              "fieldName": "selectable"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Dims the thumbnail and blocks selection, navigation and preview.",
              "fieldName": "disabled"
            },
            {
              "name": "icon",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Icon rendered in the bottom-left badge when the `badge` slot is empty.",
              "fieldName": "icon"
            },
            {
              "name": "hide-caption",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the caption row, leaving just the media frame.",
              "fieldName": "hideCaption"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "A captioned image tile — a fixed aspect-ratio preview with a title beneath it, optional\ncorner badges and actions, and an optional full-screen preview that grows out of the thumbnail.",
          "tagNameWithoutPrefix": "thumbnail",
          "tagName": "zn-thumbnail",
          "customElement": true,
          "jsDoc": "/**\n * @summary A captioned image tile — a fixed aspect-ratio preview with a title beneath it, optional\n * corner badges and actions, and an optional full-screen preview that grows out of the thumbnail.\n * @documentation https://zinc.style/components/thumbnail\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-icon\n *\n * @event zn-select - Emitted when an enabled thumbnail is activated by click or keyboard. Cancelable —\n *  call `preventDefault()` to stop the preview from opening and to stop a parent\n *  `zn-thumbnail-group` from changing its selection.\n * @event zn-show - Emitted when the preview overlay starts opening.\n * @event zn-close - Emitted once the preview overlay has finished closing.\n *\n * @slot - Fallback content rendered in place of the media when no `src` is set.\n * @slot image - Replaces the built-in `<img>` (e.g. a video, canvas or `zn-icon`).\n * @slot caption - Replaces the caption text.\n * @slot badge - Content pinned to the bottom-left of the media (e.g. a play indicator). Badges take\n *  no pointer events and are held back on opacity, so they read as information about the asset\n *  rather than as something to click.\n * @slot actions - Controls pinned to the bottom-right of the media (e.g. a download button). Each\n *  slotted element becomes its own chip, so several actions read as separate icons on the thumbnail\n *  rather than one grouped pill. This sits outside the thumbnail's link, so buttons and links here\n *  behave normally and never select the thumbnail or follow its `href`.\n * @slot preview - Replaces the preview media (e.g. a `<video>` for the full-size asset).\n *\n * @csspart base - The component's base wrapper.\n * @csspart link - The anchor (or div) covering the media and caption.\n * @csspart media - The fixed aspect-ratio media frame.\n * @csspart image - The built-in image element.\n * @csspart overlay - The layer holding the badge, actions and preview button.\n * @csspart badge - The bottom-left badge container.\n * @csspart actions - The bottom-right actions container.\n * @csspart preview-button - The built-in preview trigger, when `preview-trigger=\"button\"`.\n * @csspart caption - The caption beneath the media.\n * @csspart preview - The preview `<dialog>`.\n * @csspart preview-backdrop - The full-screen backdrop behind the preview.\n * @csspart preview-frame - The rounded panel the preview media sits in.\n * @csspart preview-image - The full-size image inside the preview.\n * @csspart preview-close - The preview's close button.\n *\n * @cssproperty --zn-thumbnail-aspect-ratio - Aspect ratio of the media frame. Defaults to 16 / 9. The\n *  `aspect-ratio` attribute sets this on the thumbnail itself; set the property on any ancestor\n *  (including a `zn-thumbnail-group`) to apply it to every thumbnail beneath it.\n * @cssproperty --zn-thumbnail-radius - Corner radius of the media frame.\n * @cssproperty --zn-thumbnail-preview-aspect-ratio - Overrides the measured aspect ratio of the preview\n *  panel. By default the panel takes the asset's own ratio so it wraps the image exactly.\n * @cssproperty --zn-thumbnail-preview-max-width - Largest width the preview may take. Defaults to 70vw.\n * @cssproperty --zn-thumbnail-preview-max-height - Largest height the preview may take. Defaults to 70vh.\n * @cssproperty --zn-thumbnail-preview-radius - Corner radius of the preview panel.\n * @cssproperty --zn-thumbnail-chip-radius - Corner radius of a badge, action or preview chip.\n * @cssproperty --zn-thumbnail-chip-background - Background of a badge, action or preview chip.\n * @cssproperty --zn-thumbnail-chip-background-hover - Hover background of an action or preview chip.\n * @cssproperty --zn-thumbnail-chip-color - Foreground colour of a badge, action or preview chip.\n * @cssproperty --zn-thumbnail-chip-gap - Gap between adjacent chips.\n * @cssproperty --zn-thumbnail-badge-opacity - Opacity of a badge, holding it back from the action\n *  chips beside it. Defaults to 0.65.\n * @cssproperty --zn-thumbnail-selected-color - Ring colour for the selected state.\n * @cssproperty --zn-thumbnail-active-color - Ring colour for the active state.\n */",
          "documentation": "https://zinc.style/components/thumbnail",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-icon"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnThumbnail",
            "module": "components/thumbnail/thumbnail.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/thumbnail-group/thumbnail-group.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnThumbnailGroup",
          "cssProperties": [
            {
              "description": "Track width of a thumbnail. Defaults to 180px. Also settable with the `thumbnail-width` attribute.",
              "name": "--zn-thumbnail-width"
            },
            {
              "description": "Gap between thumbnails. Also settable with the `gap` attribute.",
              "name": "--zn-thumbnail-gap"
            },
            {
              "description": "Aspect ratio of every thumbnail in the group. Also settable with the `aspect-ratio` attribute. Any `zn-thumbnail` custom property set here is inherited by the slotted thumbnails.",
              "name": "--zn-thumbnail-aspect-ratio"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            },
            {
              "description": "The header row holding the caption and toggle.",
              "name": "header"
            },
            {
              "description": "The heading text.",
              "name": "caption"
            },
            {
              "description": "The show all / show less button.",
              "name": "toggle"
            },
            {
              "description": "The scrolling row / expanded grid that holds the thumbnails.",
              "name": "items"
            }
          ],
          "slots": [
            {
              "description": "One or more `zn-thumbnail` elements.",
              "name": ""
            },
            {
              "description": "Replaces the heading text.",
              "name": "caption"
            },
            {
              "description": "Extra content in the header, before the toggle.",
              "name": "actions"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "caption",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The heading shown at the top left of the group.",
              "attribute": "caption"
            },
            {
              "kind": "field",
              "name": "expanded",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Expands the group into the full wrapping grid.",
              "attribute": "expanded",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "total",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "Total number of thumbnails in the underlying set, shown in the \"Show All (n)\" label. Set this when\nthe row only holds the first page of a larger set; otherwise the slotted thumbnails are counted.",
              "attribute": "total"
            },
            {
              "kind": "field",
              "name": "showAllLabel",
              "type": {
                "text": "string"
              },
              "default": "'Show All'",
              "description": "Label of the expand toggle. The count is appended in brackets.",
              "attribute": "show-all-label"
            },
            {
              "kind": "field",
              "name": "showLessLabel",
              "type": {
                "text": "string"
              },
              "default": "'Show Less'",
              "description": "Label of the collapse toggle.",
              "attribute": "show-less-label"
            },
            {
              "kind": "field",
              "name": "hideToggle",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Never render the toggle, even when the row overflows.",
              "attribute": "hide-toggle"
            },
            {
              "kind": "field",
              "name": "alwaysToggle",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Always render the toggle, even when every thumbnail already fits on the row.",
              "attribute": "always-toggle"
            },
            {
              "kind": "field",
              "name": "selectable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Manages single selection across the slotted thumbnails.",
              "attribute": "selectable",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "aspectRatio",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Aspect ratio for every thumbnail in the group, as any CSS `aspect-ratio` value (e.g. `1 / 1`).\nShorthand for setting `--zn-thumbnail-aspect-ratio` on the group. A thumbnail's own\n`aspect-ratio` attribute still wins.",
              "attribute": "aspect-ratio",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "thumbnailWidth",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Track width of each thumbnail (e.g. `140px`). Shorthand for `--zn-thumbnail-width`.",
              "attribute": "thumbnail-width",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "gap",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Gap between thumbnails (e.g. `8px`). Shorthand for `--zn-thumbnail-gap`.",
              "attribute": "gap",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The `value` of the selected thumbnail (`selectable` groups only).",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "_overflowing",
              "type": {
                "text": "boolean"
              },
              "privacy": "private",
              "default": "false"
            },
            {
              "kind": "field",
              "name": "_count",
              "type": {
                "text": "number"
              },
              "privacy": "private",
              "default": "0"
            },
            {
              "kind": "field",
              "name": "_items",
              "type": {
                "text": "HTMLElement"
              },
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_resizeObserver",
              "type": {
                "text": "ResizeObserver | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "method",
              "name": "_observe",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_syncCustomProperties",
              "privacy": "private",
              "parameters": [
                {
                  "name": "changed",
                  "type": {
                    "text": "PropertyValues"
                  }
                }
              ],
              "description": "Mirrors the shorthand attributes onto host custom properties. They go on the host rather than\nanywhere in the shadow root because the thumbnails are light-DOM children — inheriting from the\nhost is the only way the values reach them."
            },
            {
              "kind": "method",
              "name": "show",
              "description": "Expands the group into the full grid."
            },
            {
              "kind": "method",
              "name": "hide",
              "description": "Collapses the group back to a single row."
            },
            {
              "kind": "field",
              "name": "_thumbnails",
              "type": {
                "text": "ZnThumbnail[]"
              },
              "privacy": "private",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "_handleSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_sync",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_measure",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_handleSelect",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "_handleToggle",
              "privacy": "private"
            }
          ],
          "events": [
            {
              "description": "Emitted when the group expands into the full grid.",
              "name": "zn-expand"
            },
            {
              "description": "Emitted when the group collapses back to a single row.",
              "name": "zn-collapse"
            },
            {
              "description": "Emitted when the selected thumbnail changes (`selectable` groups only).",
              "name": "zn-change"
            }
          ],
          "attributes": [
            {
              "name": "caption",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The heading shown at the top left of the group.",
              "fieldName": "caption"
            },
            {
              "name": "expanded",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Expands the group into the full wrapping grid.",
              "fieldName": "expanded"
            },
            {
              "name": "total",
              "type": {
                "text": "number"
              },
              "default": "0",
              "description": "Total number of thumbnails in the underlying set, shown in the \"Show All (n)\" label. Set this when\nthe row only holds the first page of a larger set; otherwise the slotted thumbnails are counted.",
              "fieldName": "total"
            },
            {
              "name": "show-all-label",
              "type": {
                "text": "string"
              },
              "default": "'Show All'",
              "description": "Label of the expand toggle. The count is appended in brackets.",
              "fieldName": "showAllLabel"
            },
            {
              "name": "show-less-label",
              "type": {
                "text": "string"
              },
              "default": "'Show Less'",
              "description": "Label of the collapse toggle.",
              "fieldName": "showLessLabel"
            },
            {
              "name": "hide-toggle",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Never render the toggle, even when the row overflows.",
              "fieldName": "hideToggle"
            },
            {
              "name": "always-toggle",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Always render the toggle, even when every thumbnail already fits on the row.",
              "fieldName": "alwaysToggle"
            },
            {
              "name": "selectable",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Manages single selection across the slotted thumbnails.",
              "fieldName": "selectable"
            },
            {
              "name": "aspect-ratio",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Aspect ratio for every thumbnail in the group, as any CSS `aspect-ratio` value (e.g. `1 / 1`).\nShorthand for setting `--zn-thumbnail-aspect-ratio` on the group. A thumbnail's own\n`aspect-ratio` attribute still wins.",
              "fieldName": "aspectRatio"
            },
            {
              "name": "thumbnail-width",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Track width of each thumbnail (e.g. `140px`). Shorthand for `--zn-thumbnail-width`.",
              "fieldName": "thumbnailWidth"
            },
            {
              "name": "gap",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Gap between thumbnails (e.g. `8px`). Shorthand for `--zn-thumbnail-gap`.",
              "fieldName": "gap"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The `value` of the selected thumbnail (`selectable` groups only).",
              "fieldName": "value"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Lays a set of `zn-thumbnail` elements out as a single scrollable row, with a\n\"Show All\" toggle that expands them into a wrapping grid.",
          "tagNameWithoutPrefix": "thumbnail-group",
          "tagName": "zn-thumbnail-group",
          "customElement": true,
          "jsDoc": "/**\n * @summary Lays a set of `zn-thumbnail` elements out as a single scrollable row, with a\n * \"Show All\" toggle that expands them into a wrapping grid.\n * @documentation https://zinc.style/components/thumbnail-group\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-thumbnail\n *\n * @event zn-expand - Emitted when the group expands into the full grid.\n * @event zn-collapse - Emitted when the group collapses back to a single row.\n * @event zn-change - Emitted when the selected thumbnail changes (`selectable` groups only).\n *\n * @slot - One or more `zn-thumbnail` elements.\n * @slot caption - Replaces the heading text.\n * @slot actions - Extra content in the header, before the toggle.\n *\n * @csspart base - The component's base wrapper.\n * @csspart header - The header row holding the caption and toggle.\n * @csspart caption - The heading text.\n * @csspart toggle - The show all / show less button.\n * @csspart items - The scrolling row / expanded grid that holds the thumbnails.\n *\n * @cssproperty --zn-thumbnail-width - Track width of a thumbnail. Defaults to 180px. Also settable\n *  with the `thumbnail-width` attribute.\n * @cssproperty --zn-thumbnail-gap - Gap between thumbnails. Also settable with the `gap` attribute.\n * @cssproperty --zn-thumbnail-aspect-ratio - Aspect ratio of every thumbnail in the group. Also\n *  settable with the `aspect-ratio` attribute. Any `zn-thumbnail` custom property set here is\n *  inherited by the slotted thumbnails.\n */",
          "documentation": "https://zinc.style/components/thumbnail-group",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-thumbnail"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnThumbnailGroup",
            "module": "components/thumbnail-group/thumbnail-group.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/tile/tile.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnTile",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, '[default]', 'properties', 'actions', 'image')"
            },
            {
              "kind": "field",
              "name": "caption",
              "type": {
                "text": "string"
              },
              "attribute": "caption"
            },
            {
              "kind": "field",
              "name": "description",
              "type": {
                "text": "string"
              },
              "attribute": "description"
            },
            {
              "kind": "field",
              "name": "href",
              "type": {
                "text": "string"
              },
              "attribute": "href"
            },
            {
              "kind": "field",
              "name": "dataTarget",
              "type": {
                "text": "string"
              },
              "attribute": "data-target"
            },
            {
              "kind": "field",
              "name": "gaid",
              "type": {
                "text": "string"
              },
              "attribute": "gaid"
            },
            {
              "kind": "field",
              "name": "dataUri",
              "type": {
                "text": "string"
              },
              "attribute": "data-uri"
            },
            {
              "kind": "field",
              "name": "flush",
              "type": {
                "text": "boolean"
              },
              "attribute": "flush"
            },
            {
              "kind": "field",
              "name": "flushX",
              "type": {
                "text": "boolean"
              },
              "attribute": "flush-x"
            },
            {
              "kind": "field",
              "name": "flushY",
              "type": {
                "text": "boolean"
              },
              "attribute": "flush-y"
            },
            {
              "kind": "field",
              "name": "inline",
              "type": {
                "text": "boolean"
              },
              "attribute": "inline"
            },
            {
              "kind": "field",
              "name": "plain",
              "type": {
                "text": "boolean"
              },
              "description": "Renders the caption in the normal table-content weight instead of bold.",
              "attribute": "plain"
            },
            {
              "kind": "field",
              "name": "grouped",
              "type": {
                "text": "boolean"
              },
              "description": "Set by `zn-tile-group` to lay the tile out as a shared-column subgrid row.",
              "attribute": "grouped",
              "reflects": true
            },
            {
              "kind": "method",
              "name": "_isLink",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_handleActionsClick",
              "privacy": "private",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "MouseEvent"
                  }
                }
              ]
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "attributes": [
            {
              "name": "caption",
              "type": {
                "text": "string"
              },
              "fieldName": "caption"
            },
            {
              "name": "description",
              "type": {
                "text": "string"
              },
              "fieldName": "description"
            },
            {
              "name": "href",
              "type": {
                "text": "string"
              },
              "fieldName": "href"
            },
            {
              "name": "data-target",
              "type": {
                "text": "string"
              },
              "fieldName": "dataTarget"
            },
            {
              "name": "gaid",
              "type": {
                "text": "string"
              },
              "fieldName": "gaid"
            },
            {
              "name": "data-uri",
              "type": {
                "text": "string"
              },
              "fieldName": "dataUri"
            },
            {
              "name": "flush",
              "type": {
                "text": "boolean"
              },
              "fieldName": "flush"
            },
            {
              "name": "flush-x",
              "type": {
                "text": "boolean"
              },
              "fieldName": "flushX"
            },
            {
              "name": "flush-y",
              "type": {
                "text": "boolean"
              },
              "fieldName": "flushY"
            },
            {
              "name": "inline",
              "type": {
                "text": "boolean"
              },
              "fieldName": "inline"
            },
            {
              "name": "plain",
              "type": {
                "text": "boolean"
              },
              "description": "Renders the caption in the normal table-content weight instead of bold.",
              "fieldName": "plain"
            },
            {
              "name": "grouped",
              "type": {
                "text": "boolean"
              },
              "description": "Set by `zn-tile-group` to lay the tile out as a shared-column subgrid row.",
              "fieldName": "grouped"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "tile",
          "tagName": "zn-tile",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/tile\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/tile",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnTile",
            "module": "components/tile/tile.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/tile-group/tile-group.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnTileGroup",
          "cssProperties": [
            {
              "description": "The number of value/action columns (set automatically).",
              "name": "--zn-tile-cols"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper (the grid container).",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "One or more `zn-tile` elements.",
              "name": ""
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "divide",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a dividing border between rows.",
              "attribute": "divide",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "_mutationObserver",
              "type": {
                "text": "MutationObserver | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "_handleSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_sync",
              "privacy": "private"
            }
          ],
          "attributes": [
            {
              "name": "divide",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Draws a dividing border between rows.",
              "fieldName": "divide"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Aligns a list of `zn-tile` rows into shared, content-driven columns so values\nand actions line up across every row, with optional dividing borders.",
          "tagNameWithoutPrefix": "tile-group",
          "tagName": "zn-tile-group",
          "customElement": true,
          "jsDoc": "/**\n * @summary Aligns a list of `zn-tile` rows into shared, content-driven columns so values\n * and actions line up across every row, with optional dividing borders.\n * @documentation https://zinc.style/components/tile-group\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-tile\n *\n * @slot - One or more `zn-tile` elements.\n *\n * @csspart base - The component's base wrapper (the grid container).\n *\n * @cssproperty --zn-tile-cols - The number of value/action columns (set automatically).\n */",
          "documentation": "https://zinc.style/components/tile-group",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-tile"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnTileGroup",
            "module": "components/tile-group/tile-group.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/tile-property/tile-property.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnTileProperty",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "caption",
              "type": {
                "text": "string"
              },
              "attribute": "caption",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "description",
              "type": {
                "text": "string"
              },
              "attribute": "description",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "icon",
              "type": {
                "text": "string"
              },
              "attribute": "icon",
              "reflects": true
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "attributes": [
            {
              "name": "caption",
              "type": {
                "text": "string"
              },
              "fieldName": "caption"
            },
            {
              "name": "description",
              "type": {
                "text": "string"
              },
              "fieldName": "description"
            },
            {
              "name": "icon",
              "type": {
                "text": "string"
              },
              "fieldName": "icon"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "tile-property",
          "tagName": "zn-tile-property",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/tile-property\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/tile-property",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnTileProperty",
            "module": "components/tile-property/tile-property.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/timer/timer.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnTimer",
          "cssProperties": [
            {
              "description": "An example CSS custom property.",
              "name": "--example"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base"
            }
          ],
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "An example slot.",
              "name": "example"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "timestamp",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "''",
              "attribute": "timestamp"
            },
            {
              "kind": "field",
              "name": "_timerId",
              "type": {
                "text": "number | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "method",
              "name": "_getLastMessage",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "_getTimes",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "diff",
                  "type": {
                    "text": "number"
                  }
                }
              ]
            }
          ],
          "events": [
            {
              "description": "Emitted as an example.",
              "name": "zn-event-name"
            }
          ],
          "attributes": [
            {
              "name": "timestamp",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "timestamp"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "timer",
          "tagName": "zn-timer",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/timer\n * @status experimental\n * @since 1.0\n *\n * @dependency zn-example\n *\n * @event zn-event-name - Emitted as an example.\n *\n * @slot - The default slot.\n * @slot example - An example slot.\n *\n * @csspart base - The component's base wrapper.\n *\n * @cssproperty --example - An example CSS custom property.\n */",
          "documentation": "https://zinc.style/components/timer",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-example"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnTimer",
            "module": "components/timer/timer.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/toggle/toggle.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnToggle",
          "cssProperties": [
            {
              "description": "The margin around the toggle switch. Defaults to `8px 0`.",
              "name": "--zn-toggle-margin"
            }
          ],
          "cssParts": [
            {
              "description": "The component's base wrapper containing the toggle switch.",
              "name": "base"
            },
            {
              "description": "The toggle switch control (the circular button that slides).",
              "name": "control"
            },
            {
              "description": "The toggle's label.",
              "name": "label"
            },
            {
              "description": "The container that wraps the toggle's description.",
              "name": "description"
            }
          ],
          "slots": [
            {
              "description": "The toggle's label.",
              "name": ""
            },
            {
              "description": "A description of the toggle's label. Alternatively, you can use the `description` attribute.",
              "name": "description"
            },
            {
              "description": "Text that describes how to use the toggle. Alternatively, you can use the `help-text` attribute.",
              "name": "help-text"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'help-text', 'description')"
            },
            {
              "kind": "field",
              "name": "formControlController",
              "privacy": "private",
              "readonly": true,
              "default": "new FormControlController(this, { value: (control: ZnToggle) => (control.checked ? control.value || 'on' : control.fallbackValue), defaultValue: (control: ZnToggle) => control.defaultChecked, setValue: (control: ZnToggle, checked: boolean) => (control.checked = checked) })"
            },
            {
              "kind": "field",
              "name": "input",
              "type": {
                "text": "HTMLInputElement"
              }
            },
            {
              "kind": "field",
              "name": "hasFocus",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "attribute": "title"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "fallbackValue",
              "type": {
                "text": "string"
              },
              "default": "'off'",
              "description": "The value submitted when the toggle is unchecked, so the toggle always submits a value.",
              "attribute": "fallback"
            },
            {
              "kind": "field",
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "attribute": "size",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "checked",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "defaultChecked",
              "type": {
                "text": "boolean"
              },
              "default": "false"
            },
            {
              "kind": "field",
              "name": "form",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "form",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "required",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "helpText",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "attribute": "help-text"
            },
            {
              "kind": "field",
              "name": "triggerSubmit",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "trigger-submit"
            },
            {
              "kind": "field",
              "name": "onText",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "on-text"
            },
            {
              "kind": "field",
              "name": "offText",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "off-text"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "description",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The toggle's description, displayed under the label. If you need to display HTML, use the `description` slot instead.",
              "attribute": "description"
            },
            {
              "kind": "field",
              "name": "labelPosition",
              "type": {
                "text": "'top' | 'left' | 'right'"
              },
              "default": "'top'",
              "attribute": "label-position",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "inline",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "inline"
            },
            {
              "kind": "field",
              "name": "validity",
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "handleBlur",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleInvalid",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "handleInput",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleClick",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleFocus",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "click"
            },
            {
              "kind": "method",
              "name": "focus",
              "parameters": [
                {
                  "name": "options",
                  "optional": true,
                  "type": {
                    "text": "FocusOptions"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "blur"
            },
            {
              "kind": "method",
              "name": "checkValidity"
            },
            {
              "kind": "method",
              "name": "getForm",
              "return": {
                "type": {
                  "text": "HTMLFormElement | null"
                }
              }
            },
            {
              "kind": "method",
              "name": "reportValidity"
            },
            {
              "kind": "method",
              "name": "setCustomValidity",
              "parameters": [
                {
                  "name": "message",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            }
          ],
          "events": [
            {
              "description": "Emitted when the toggle receives input.",
              "name": "zn-input"
            }
          ],
          "attributes": [
            {
              "name": "title",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "fieldName": "title"
            },
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "fieldName": "name"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "fieldName": "value"
            },
            {
              "name": "fallback",
              "type": {
                "text": "string"
              },
              "default": "'off'",
              "description": "The value submitted when the toggle is unchecked, so the toggle always submits a value.",
              "fieldName": "fallbackValue"
            },
            {
              "name": "size",
              "type": {
                "text": "'small' | 'medium' | 'large'"
              },
              "default": "'medium'",
              "fieldName": "size"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "disabled"
            },
            {
              "name": "checked",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "checked"
            },
            {
              "name": "form",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "form"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "required"
            },
            {
              "name": "help-text",
              "type": {
                "text": "string"
              },
              "default": "\"\"",
              "fieldName": "helpText"
            },
            {
              "name": "trigger-submit",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "triggerSubmit"
            },
            {
              "name": "on-text",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "onText"
            },
            {
              "name": "off-text",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "offText"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "label"
            },
            {
              "name": "description",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The toggle's description, displayed under the label. If you need to display HTML, use the `description` slot instead.",
              "fieldName": "description"
            },
            {
              "name": "label-position",
              "type": {
                "text": "'top' | 'left' | 'right'"
              },
              "default": "'top'",
              "fieldName": "labelPosition"
            },
            {
              "name": "inline",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "inline"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Toggles allow the user to switch an option on or off.",
          "tagNameWithoutPrefix": "toggle",
          "tagName": "zn-toggle",
          "customElement": true,
          "jsDoc": "/**\n * @summary Toggles allow the user to switch an option on or off.\n * @documentation https://zinc.style/components/toggle\n * @status stable\n * @since 1.0\n *\n * @dependency zn-tooltip\n *\n * @event zn-input - Emitted when the toggle receives input.\n *\n * @slot - The toggle's label.\n * @slot description - A description of the toggle's label. Alternatively, you can use the `description` attribute.\n * @slot help-text - Text that describes how to use the toggle. Alternatively, you can use the `help-text` attribute.\n *\n * @csspart base - The component's base wrapper containing the toggle switch.\n * @csspart control - The toggle switch control (the circular button that slides).\n * @csspart label - The toggle's label.\n * @csspart description - The container that wraps the toggle's description.\n *\n * @cssproperty --zn-toggle-margin - The margin around the toggle switch. Defaults to `8px 0`.\n */",
          "documentation": "https://zinc.style/components/toggle",
          "status": "stable",
          "since": "1.0",
          "dependencies": [
            "zn-tooltip"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnToggle",
            "module": "components/toggle/toggle.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/tooltip/tooltip.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnTooltip",
          "slots": [
            {
              "description": "The content of the tooltip",
              "name": ""
            },
            {
              "description": "The anchor the tooltip is attached to.",
              "name": "anchor"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "hoverTimeout",
              "type": {
                "text": "number"
              },
              "privacy": "private"
            },
            {
              "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": "Popup"
              }
            },
            {
              "kind": "field",
              "name": "content",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "content"
            },
            {
              "kind": "field",
              "name": "placement",
              "type": {
                "text": "| 'top' | 'top-start' | 'top-end' | 'right' | 'right-start' | 'right-end' | 'bottom' |\n    'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end'"
              },
              "default": "'top'",
              "attribute": "placement"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "distance",
              "type": {
                "text": "number"
              },
              "default": "4",
              "attribute": "distance"
            },
            {
              "kind": "field",
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "attribute": "open",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "skidding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "attribute": "skidding"
            },
            {
              "kind": "field",
              "name": "trigger",
              "type": {
                "text": "string"
              },
              "default": "'hover focus'",
              "attribute": "trigger"
            },
            {
              "kind": "field",
              "name": "hoist",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "attribute": "hoist"
            },
            {
              "kind": "method",
              "name": "hasTrigger",
              "privacy": "private",
              "parameters": [
                {
                  "name": "triggerType",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "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": "method",
              "name": "handleMouseOver",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleMouseOut",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "handleOpenChange"
            },
            {
              "kind": "method",
              "name": "handleOptionsChange"
            },
            {
              "kind": "method",
              "name": "handleDisabledChange"
            },
            {
              "kind": "method",
              "name": "show"
            },
            {
              "kind": "method",
              "name": "hide"
            }
          ],
          "events": [
            {
              "description": "Emitted when the tooltip is shown.",
              "name": "zn-show"
            },
            {
              "description": "Emitted after the tooltip is shown.",
              "name": "zn-after-show"
            },
            {
              "description": "Emitted when the tooltip is hidden.",
              "name": "zn-hide"
            },
            {
              "description": "Emitted after the tooltip is hidden.",
              "name": "zn-after-hide"
            }
          ],
          "attributes": [
            {
              "name": "content",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "content"
            },
            {
              "name": "placement",
              "type": {
                "text": "| 'top' | 'top-start' | 'top-end' | 'right' | 'right-start' | 'right-end' | 'bottom' |\n    'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end'"
              },
              "default": "'top'",
              "fieldName": "placement"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "disabled"
            },
            {
              "name": "distance",
              "type": {
                "text": "number"
              },
              "default": "4",
              "fieldName": "distance"
            },
            {
              "name": "open",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "fieldName": "open"
            },
            {
              "name": "skidding",
              "type": {
                "text": "number"
              },
              "default": "0",
              "fieldName": "skidding"
            },
            {
              "name": "trigger",
              "type": {
                "text": "string"
              },
              "default": "'hover focus'",
              "fieldName": "trigger"
            },
            {
              "name": "hoist",
              "type": {
                "text": "boolean"
              },
              "default": "true",
              "fieldName": "hoist"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "The Tooltip component is used to display additional information when a user hovers over or clicks\non an element.",
          "tagNameWithoutPrefix": "tooltip",
          "tagName": "zn-tooltip",
          "customElement": true,
          "jsDoc": "/**\n * @summary The Tooltip component is used to display additional information when a user hovers over or clicks\n * on an element.\n *\n * @documentation https://zinc.style/components/tooltip\n * @status experimental\n * @since 1.0\n *\n * @event zn-show - Emitted when the tooltip is shown.\n * @event zn-after-show - Emitted after the tooltip is shown.\n * @event zn-hide - Emitted when the tooltip is hidden.\n * @event zn-after-hide - Emitted after the tooltip is hidden.\n *\n * @slot - The content of the tooltip\n * @slot anchor - The anchor the tooltip is attached to.\n */",
          "documentation": "https://zinc.style/components/tooltip",
          "status": "experimental",
          "since": "1.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnTooltip",
            "module": "components/tooltip/tooltip.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/translation-group/translation-group.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnTranslationGroup",
          "cssParts": [
            {
              "description": "The component's base wrapper.",
              "name": "base",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "src/components/panel/panel.component.ts"
              }
            },
            {
              "description": "The row of buttons at the bottom of the body.",
              "name": "actions"
            },
            {
              "description": "The label and select that choose the language every child is editing.",
              "name": "language-field"
            },
            {
              "description": "The select itself.",
              "name": "language-select"
            }
          ],
          "slots": [
            {
              "description": "The `zn-translations` fields the select drives.",
              "name": "",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "src/components/panel/panel.component.ts"
              }
            },
            {
              "description": "Buttons for the bottom of the panel, on the white body rather than the grey footer. They sit on the right, as zinc's form action rows do; `align=\"start\"` moves one to the left. Write them in the order they should be read — the sides are set by CSS ordering, so markup order is what a keyboard follows.",
              "name": "actions",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "src/components/panel/panel.component.ts"
              }
            },
            {
              "description": "Content displayed in the grey panel footer. The header belongs to the language select; nothing else is slotted into it.",
              "name": "footer",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "src/components/panel/panel.component.ts"
              }
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'zn-chip': ZnChip, 'zn-header': ZnHeader, 'zn-option': ZnOption, 'zn-select': ZnSelect }"
            },
            {
              "kind": "field",
              "name": "_slotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'actions', 'footer')"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The caption shown in the panel header. An alias for the inherited `caption`, which wins where both are set.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "inline",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Drops the panel chrome — border, background and padding — so the group reads as a section of the form around it\nrather than a panel of its own. For groups nested inside another panel, where the fields would otherwise sit\nindented behind a second border.",
              "attribute": "inline",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "languageLabel",
              "type": {
                "text": "string"
              },
              "default": "'Edit Languages'",
              "description": "The select's accessible name. Not shown — the caption is what names the section on screen — but read out by a\nscreen reader, which has nothing else to go on once the visible label is gone.",
              "attribute": "language-label"
            },
            {
              "kind": "field",
              "name": "languages",
              "type": {
                "text": "Record<string, string>"
              },
              "default": "{ 'en': 'EN' }",
              "description": "The languages on offer, as language code to display name — `{\"en\": \"English\", \"fr\": \"French\"}`. Writing the code\nas the name (`{\"en\": \"EN\"}`) is also accepted. `en` is the language every other one falls back to. Set on every\nchild, so they do not need their own copy.",
              "attribute": "languages"
            },
            {
              "kind": "field",
              "name": "_activeLanguage",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "'en'",
              "description": "The language every child is currently editing."
            },
            {
              "kind": "field",
              "name": "_form",
              "type": {
                "text": "HTMLFormElement | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "method",
              "name": "getAllTranslations",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "ZnTranslations[]"
                }
              },
              "description": "The children the select drives. Read live rather than cached, so markup added later is picked up."
            },
            {
              "kind": "method",
              "name": "syncChildren",
              "privacy": "private",
              "description": "Sync grouped state, languages, and active language to all children."
            },
            {
              "kind": "method",
              "name": "languageState",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "{ type: 'success' | 'warning' | 'error'; label: string }"
                }
              },
              "parameters": [
                {
                  "name": "language",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "A language is translated once every child carries a value for it, partial while only some do. The chips and the\ncount are read off the children, so a child's edit has to bring the group back round."
            },
            {
              "kind": "method",
              "name": "displayName",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "language",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "`English (EN)`, or the code alone where the configured name already is the code."
            },
            {
              "kind": "method",
              "name": "syncChildLanguages",
              "privacy": "private",
              "description": "Children take their language list from the group, so a change to `languages` has to reach them."
            },
            {
              "kind": "field",
              "name": "handleSlotChange",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "switchLanguage",
              "privacy": "private",
              "parameters": [
                {
                  "name": "lang",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Moves every child onto `lang` and announces it. Does not touch their values."
            },
            {
              "kind": "field",
              "name": "handleLanguageSelect",
              "privacy": "private",
              "description": "The select's own change and input events describe the language being browsed, not a translation being edited, so\nthey are stopped rather than allowed to reach a consumer listening for a child's value change."
            },
            {
              "kind": "field",
              "name": "handleLanguageInput",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleChildChange",
              "privacy": "private",
              "description": "A child's edit changes which chips the select shows, and the translated count above it."
            },
            {
              "kind": "field",
              "name": "handleFormReset",
              "privacy": "private",
              "description": "The children restore their own values on the form's reset event without announcing it, and the chips and the\ncount are read off them — so re-read once every listener on that event has run."
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, '[default]', 'actions', 'footer')",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "components/panel/panel.js"
              }
            },
            {
              "kind": "field",
              "name": "basis",
              "type": {
                "text": "number"
              },
              "attribute": "basis-px",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "components/panel/panel.js"
              }
            },
            {
              "kind": "field",
              "name": "caption",
              "type": {
                "text": "string"
              },
              "attribute": "caption",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "components/panel/panel.js"
              }
            },
            {
              "kind": "field",
              "name": "icon",
              "type": {
                "text": "string"
              },
              "attribute": "icon",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "components/panel/panel.js"
              }
            },
            {
              "kind": "field",
              "name": "tabbed",
              "type": {
                "text": "boolean"
              },
              "attribute": "tabbed",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "components/panel/panel.js"
              }
            },
            {
              "kind": "field",
              "name": "headerBorderless",
              "type": {
                "text": "boolean"
              },
              "attribute": "header-borderless",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "components/panel/panel.js"
              }
            },
            {
              "kind": "field",
              "name": "cosmic",
              "type": {
                "text": "boolean"
              },
              "attribute": "cosmic",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "components/panel/panel.js"
              }
            },
            {
              "kind": "field",
              "name": "flush",
              "type": {
                "text": "boolean"
              },
              "attribute": "flush",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "components/panel/panel.js"
              }
            },
            {
              "kind": "field",
              "name": "flushX",
              "type": {
                "text": "boolean"
              },
              "attribute": "flush-x",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "components/panel/panel.js"
              }
            },
            {
              "kind": "field",
              "name": "flushY",
              "type": {
                "text": "boolean"
              },
              "attribute": "flush-y",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "components/panel/panel.js"
              }
            },
            {
              "kind": "field",
              "name": "flushFooter",
              "type": {
                "text": "boolean"
              },
              "attribute": "flush-footer",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "components/panel/panel.js"
              }
            },
            {
              "kind": "field",
              "name": "transparent",
              "type": {
                "text": "boolean"
              },
              "attribute": "transparent",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "components/panel/panel.js"
              }
            },
            {
              "kind": "field",
              "name": "shadow",
              "type": {
                "text": "boolean"
              },
              "attribute": "shadow",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "components/panel/panel.js"
              }
            }
          ],
          "events": [
            {
              "description": "Emitted when the active language changes. Detail: `{ language: string }`.",
              "name": "zn-language-change"
            }
          ],
          "attributes": [
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The caption shown in the panel header. An alias for the inherited `caption`, which wins where both are set.",
              "fieldName": "label"
            },
            {
              "name": "inline",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Drops the panel chrome — border, background and padding — so the group reads as a section of the form around it\nrather than a panel of its own. For groups nested inside another panel, where the fields would otherwise sit\nindented behind a second border.",
              "fieldName": "inline"
            },
            {
              "name": "language-label",
              "type": {
                "text": "string"
              },
              "default": "'Edit Languages'",
              "description": "The select's accessible name. Not shown — the caption is what names the section on screen — but read out by a\nscreen reader, which has nothing else to go on once the visible label is gone.",
              "fieldName": "languageLabel"
            },
            {
              "name": "languages",
              "type": {
                "text": "Record<string, string>"
              },
              "default": "{ 'en': 'EN' }",
              "description": "The languages on offer, as language code to display name — `{\"en\": \"English\", \"fr\": \"French\"}`. Writing the code\nas the name (`{\"en\": \"EN\"}`) is also accepted. `en` is the language every other one falls back to. Set on every\nchild, so they do not need their own copy.",
              "fieldName": "languages"
            },
            {
              "name": "basis-px",
              "type": {
                "text": "number"
              },
              "fieldName": "basis",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "src/components/panel/panel.component.ts"
              }
            },
            {
              "name": "caption",
              "type": {
                "text": "string"
              },
              "fieldName": "caption",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "src/components/panel/panel.component.ts"
              }
            },
            {
              "name": "icon",
              "type": {
                "text": "string"
              },
              "fieldName": "icon",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "src/components/panel/panel.component.ts"
              }
            },
            {
              "name": "tabbed",
              "type": {
                "text": "boolean"
              },
              "fieldName": "tabbed",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "src/components/panel/panel.component.ts"
              }
            },
            {
              "name": "header-borderless",
              "type": {
                "text": "boolean"
              },
              "fieldName": "headerBorderless",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "src/components/panel/panel.component.ts"
              }
            },
            {
              "name": "cosmic",
              "type": {
                "text": "boolean"
              },
              "fieldName": "cosmic",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "src/components/panel/panel.component.ts"
              }
            },
            {
              "name": "flush",
              "type": {
                "text": "boolean"
              },
              "fieldName": "flush",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "src/components/panel/panel.component.ts"
              }
            },
            {
              "name": "flush-x",
              "type": {
                "text": "boolean"
              },
              "fieldName": "flushX",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "src/components/panel/panel.component.ts"
              }
            },
            {
              "name": "flush-y",
              "type": {
                "text": "boolean"
              },
              "fieldName": "flushY",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "src/components/panel/panel.component.ts"
              }
            },
            {
              "name": "flush-footer",
              "type": {
                "text": "boolean"
              },
              "fieldName": "flushFooter",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "src/components/panel/panel.component.ts"
              }
            },
            {
              "name": "transparent",
              "type": {
                "text": "boolean"
              },
              "fieldName": "transparent",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "src/components/panel/panel.component.ts"
              }
            },
            {
              "name": "shadow",
              "type": {
                "text": "boolean"
              },
              "fieldName": "shadow",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "src/components/panel/panel.component.ts"
              }
            }
          ],
          "superclass": {
            "name": "ZnPanel",
            "module": "/src/components/panel/panel.component"
          },
          "summary": "Puts several zn-translations fields behind one language select, so a whole form's worth of copy is\ntranslated a language at a time.",
          "tagNameWithoutPrefix": "translation-group",
          "tagName": "zn-translation-group",
          "customElement": true,
          "jsDoc": "/**\n * @summary Puts several zn-translations fields behind one language select, so a whole form's worth of copy is\n *  translated a language at a time.\n * @documentation https://zinc.style/components/translation-group\n * @status experimental\n * @since 1.0\n *\n * The select sits at the top right of the header, opposite the caption. Choosing a language switches every child at\n * once, and each child hides its own select while it is in a group — `grouped` is set on them here.\n *\n * Closed, the select carries how many target languages are done — `1/5`. Its options each carry a chip aggregated\n * across the children:\n *\n * - `Translated` — every child has a value for it\n * - `Partial` — only some children do\n * - `English` — none do, so all of them fall back to the English text\n *\n * `Empty` replaces the last of those for English itself, which has nothing to fall back to. English is the source\n * rather than a translation, so it is also left out of the `n of m translated` count beside the label.\n *\n * The children own their values; this component only chooses which language is shown and reports on what they hold.\n * It reads them back on every child `zn-change`, so the chips and the count follow an edit as it is typed.\n *\n * Extends `zn-panel`, so `caption`, `icon`, `flush`, `transparent` and the `footer` slot behave as they do there.\n * Nested inside another panel, add `inline` to drop the chrome and keep the fields aligned with the surrounding form.\n *\n * @dependency zn-chip\n * @dependency zn-header\n * @dependency zn-option\n * @dependency zn-select\n *\n * @event zn-language-change - Emitted when the active language changes. Detail: `{ language: string }`.\n *\n * @slot - The `zn-translations` fields the select drives.\n * @slot actions - Buttons for the bottom of the panel, on the white body rather than the grey footer. They sit on\n *  the right, as zinc's form action rows do; `align=\"start\"` moves one to the left. Write them in the order they\n *  should be read — the sides are set by CSS ordering, so markup order is what a keyboard follows.\n * @slot footer - Content displayed in the grey panel footer. The header belongs to the language select; nothing\n *  else is slotted into it.\n *\n * @csspart base - The component's base wrapper.\n * @csspart actions - The row of buttons at the bottom of the body.\n * @csspart language-field - The label and select that choose the language every child is editing.\n * @csspart language-select - The select itself.\n */",
          "documentation": "https://zinc.style/components/translation-group",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-chip",
            "zn-header",
            "zn-option",
            "zn-select"
          ],
          "cssProperties": [
            {
              "description": "The flex-basis of the panel. Can be set using the basis-px attribute.",
              "name": "--zn-panel-basis",
              "inheritedFrom": {
                "name": "ZnPanel",
                "module": "src/components/panel/panel.component.ts"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnTranslationGroup",
            "module": "components/translation-group/translation-group.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/translations/translations.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnTranslations",
          "cssParts": [
            {
              "description": "The form control that wraps the label, the language select, the field and the help text.",
              "name": "form-control"
            },
            {
              "description": "The label's wrapper.",
              "name": "form-control-label"
            },
            {
              "description": "The wrapper around the field being edited.",
              "name": "form-control-input"
            },
            {
              "description": "The help text's wrapper.",
              "name": "form-control-help-text"
            },
            {
              "description": "The select that chooses the language being edited.",
              "name": "language-select"
            }
          ],
          "slots": [
            {
              "description": "The field's label. Alternatively, use the `label` attribute.",
              "name": "label"
            },
            {
              "description": "Text describing how to fill the field in, shown below it and shared by every language. Alternatively, use the `help-text` attribute.",
              "name": "help-text"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "dependencies",
              "type": {
                "text": "object"
              },
              "static": true,
              "default": "{ 'zn-chip': ZnChip, 'zn-inline-edit': ZnInlineEdit, 'zn-input': ZnInput, 'zn-option': ZnOption, 'zn-select': ZnSelect, 'zn-textarea': ZnTextarea }"
            },
            {
              "kind": "field",
              "name": "formControlController",
              "type": {
                "text": "FormControlController"
              },
              "privacy": "private",
              "readonly": true,
              "default": "new FormControlController(this)"
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, 'label', 'help-text')"
            },
            {
              "kind": "field",
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name submitted with the form.",
              "attribute": "name"
            },
            {
              "kind": "field",
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "'{\"en\":\"\"}'",
              "description": "The translations as a JSON object keyed by language code. The mirror of `values` in attribute form.",
              "attribute": "value"
            },
            {
              "kind": "field",
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The label shown above the field. If you need HTML, use the `label` slot instead.",
              "attribute": "label"
            },
            {
              "kind": "field",
              "name": "helpText",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Text shown below the field, describing how to fill it in. Applies to every language. If you need HTML, use the\n`help-text` slot instead.",
              "attribute": "help-text"
            },
            {
              "kind": "field",
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables editing in every language.",
              "attribute": "disabled",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Marks the label required. Validity is not enforced per language.",
              "attribute": "required",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "flush",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Removes the component's own padding.",
              "attribute": "flush",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "inputType",
              "type": {
                "text": "'text' | 'number' | 'textarea'"
              },
              "default": "'text'",
              "description": "The control each translation is edited through.",
              "attribute": "input-type"
            },
            {
              "kind": "field",
              "name": "textareaRows",
              "type": {
                "text": "number | undefined"
              },
              "description": "Rows of the textarea, when `input-type` is `textarea`.",
              "attribute": "textarea-rows"
            },
            {
              "kind": "field",
              "name": "inlineEdit",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Edits the translation through a `zn-inline-edit` — the value reads as text until it is clicked — rather than a\nplain input or textarea.",
              "attribute": "inline-edit",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "slashItems",
              "type": {
                "text": "SlashMenuItem[]"
              },
              "default": "[]",
              "description": "Quick insertions offered by the slash menu on `text` and `textarea` inputs. Accepts a JSON array of items, or\nthe shorthand `Brand name={{BRAND_NAME}}, Support email={{SUPPORT_EMAIL}}`. Every language shares the list.",
              "attribute": "slash-items"
            },
            {
              "kind": "field",
              "name": "slashPreset",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Names of item sets registered with `registerSlashMenuPreset`, comma separated.",
              "attribute": "slash-preset"
            },
            {
              "kind": "field",
              "name": "slashTrigger",
              "type": {
                "text": "string"
              },
              "default": "'/'",
              "description": "The characters that open the slash menu.",
              "attribute": "slash-trigger"
            },
            {
              "kind": "field",
              "name": "slashHeading",
              "type": {
                "text": "string"
              },
              "default": "'Insert'",
              "description": "The name the slash menu's list is announced by.",
              "attribute": "slash-heading"
            },
            {
              "kind": "field",
              "name": "slashHideKeys",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the insertion keys normally shown against the slash menu's items.",
              "attribute": "slash-hide-keys"
            },
            {
              "kind": "field",
              "name": "slashRecentKey",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Lists the slash menu items most recently chosen here above the rest, remembered under this key.",
              "attribute": "slash-recent-key"
            },
            {
              "kind": "field",
              "name": "slashItemsProvider",
              "type": {
                "text": "(query: string) => SlashMenuItem[] | Promise<SlashMenuItem[]> | undefined"
              },
              "description": "Resolves additional slash menu items each time the menu opens. JavaScript only."
            },
            {
              "kind": "field",
              "name": "grouped",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides this component's own language select and defers the choice to a parent zn-translation-group. The group sets\nthis on its children itself.",
              "attribute": "grouped",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "languages",
              "type": {
                "text": "Record<string, string>"
              },
              "default": "{ 'en': 'EN' }",
              "description": "The languages on offer, as language code to display name — `{\"en\": \"English\", \"fr\": \"French\"}`. Writing the code\nas the name (`{\"en\": \"EN\"}`) is also accepted. `en` is the language every other one falls back to.",
              "attribute": "languages"
            },
            {
              "kind": "field",
              "name": "values",
              "type": {
                "text": "Record<string, string>"
              },
              "default": "{}",
              "description": "The translations as an object keyed by language code. The mirror of `value` in property form.",
              "attribute": "values"
            },
            {
              "kind": "field",
              "name": "defaultValue",
              "type": {
                "text": "string"
              },
              "default": "'{\"en\":\"\"}'",
              "description": "The serialized translations a form reset restores. Taken from the `value` attribute where there is one."
            },
            {
              "kind": "field",
              "name": "_activeLanguage",
              "type": {
                "text": "string"
              },
              "privacy": "private",
              "default": "'en'"
            },
            {
              "kind": "field",
              "name": "validity",
              "type": {
                "text": "ValidityState"
              },
              "readonly": true
            },
            {
              "kind": "field",
              "name": "validationMessage",
              "readonly": true
            },
            {
              "kind": "method",
              "name": "checkValidity"
            },
            {
              "kind": "method",
              "name": "getForm"
            },
            {
              "kind": "method",
              "name": "reportValidity"
            },
            {
              "kind": "method",
              "name": "setCustomValidity"
            },
            {
              "kind": "method",
              "name": "setActiveLanguage",
              "privacy": "public",
              "parameters": [
                {
                  "name": "language",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Sets the active language externally. Used by zn-translation-group. Browsing to a language does not create a key\nfor it — an untouched language stays absent from `values` so it is not submitted as an empty translation."
            },
            {
              "kind": "method",
              "name": "getActiveLanguage",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "description": "Returns the currently active language."
            },
            {
              "kind": "method",
              "name": "addLanguageKey",
              "privacy": "public",
              "parameters": [
                {
                  "name": "languageCode",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Adds a language key to this component's values if not already present. Used by zn-translation-group."
            },
            {
              "kind": "method",
              "name": "getValueLanguages",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "string[]"
                }
              },
              "description": "Returns all language codes that have values."
            },
            {
              "kind": "method",
              "name": "hasTranslation",
              "privacy": "public",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "language",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Whether the language carries a translation of its own, rather than falling back to English."
            },
            {
              "kind": "method",
              "name": "languageState",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "{ type: 'success' | 'error'; label: string }"
                }
              },
              "parameters": [
                {
                  "name": "language",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "The chip shown against a language, in the select's value and against each of its options."
            },
            {
              "kind": "method",
              "name": "languageLabel",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "string"
                }
              },
              "parameters": [
                {
                  "name": "language",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "`English (EN)` — the configured name plus its code, unless the name already is the code, in which case the code\nalone. `languages` is written both ways: `{\"en\": \"English\"}` and `{\"en\": \"EN\"}`."
            },
            {
              "kind": "method",
              "name": "pendingValues",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "Record<string, string>"
                }
              },
              "description": "`values`, falling back to the `value` attribute it is built from while that is still pending. A parent\nzn-translation-group syncs its children from its own first update, which runs before theirs, so reading\n`values` alone would see it empty and overwrite the value the server rendered."
            },
            {
              "kind": "field",
              "name": "handleLanguageSelect",
              "privacy": "private",
              "description": "The select's own change and input events are stopped here: they describe the language being browsed, not the\ntranslation being edited, and a consumer listening on zn-translations reads either as a value change."
            },
            {
              "kind": "field",
              "name": "handleLanguageInput",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "switchLanguage",
              "privacy": "private",
              "description": "The language shown in the field, without touching `values`."
            },
            {
              "kind": "field",
              "name": "handleValueUpdate",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "updateValue",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleKeyDown",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "handleSubmit",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "renderField",
              "privacy": "private",
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "placeholder",
                  "type": {
                    "text": "string"
                  }
                },
                {
                  "name": "isRTL",
                  "type": {
                    "text": "boolean"
                  }
                }
              ],
              "description": "The control the active language's translation is edited through."
            },
            {
              "kind": "method",
              "name": "isRTLLanguage",
              "privacy": "private",
              "return": {
                "type": {
                  "text": "boolean"
                }
              },
              "parameters": [
                {
                  "name": "languageCode",
                  "type": {
                    "text": "string"
                  }
                }
              ],
              "description": "Arabic and Hebrew read right to left, so the field's `dir` follows the language being edited."
            }
          ],
          "events": [
            {
              "description": "Emitted when a translation's value changes.",
              "name": "zn-change"
            },
            {
              "description": "Emitted when a translation receives input.",
              "name": "zn-input"
            }
          ],
          "attributes": [
            {
              "name": "name",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The name submitted with the form.",
              "fieldName": "name"
            },
            {
              "name": "value",
              "type": {
                "text": "string"
              },
              "default": "'{\"en\":\"\"}'",
              "description": "The translations as a JSON object keyed by language code. The mirror of `values` in attribute form.",
              "fieldName": "value"
            },
            {
              "name": "label",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "The label shown above the field. If you need HTML, use the `label` slot instead.",
              "fieldName": "label"
            },
            {
              "name": "help-text",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Text shown below the field, describing how to fill it in. Applies to every language. If you need HTML, use the\n`help-text` slot instead.",
              "fieldName": "helpText"
            },
            {
              "name": "disabled",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Disables editing in every language.",
              "fieldName": "disabled"
            },
            {
              "name": "required",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Marks the label required. Validity is not enforced per language.",
              "fieldName": "required"
            },
            {
              "name": "flush",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Removes the component's own padding.",
              "fieldName": "flush"
            },
            {
              "name": "input-type",
              "type": {
                "text": "'text' | 'number' | 'textarea'"
              },
              "default": "'text'",
              "description": "The control each translation is edited through.",
              "fieldName": "inputType"
            },
            {
              "name": "textarea-rows",
              "type": {
                "text": "number | undefined"
              },
              "description": "Rows of the textarea, when `input-type` is `textarea`.",
              "fieldName": "textareaRows"
            },
            {
              "name": "inline-edit",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Edits the translation through a `zn-inline-edit` — the value reads as text until it is clicked — rather than a\nplain input or textarea.",
              "fieldName": "inlineEdit"
            },
            {
              "name": "slash-items",
              "type": {
                "text": "SlashMenuItem[]"
              },
              "default": "[]",
              "description": "Quick insertions offered by the slash menu on `text` and `textarea` inputs. Accepts a JSON array of items, or\nthe shorthand `Brand name={{BRAND_NAME}}, Support email={{SUPPORT_EMAIL}}`. Every language shares the list.",
              "fieldName": "slashItems"
            },
            {
              "name": "slash-preset",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Names of item sets registered with `registerSlashMenuPreset`, comma separated.",
              "fieldName": "slashPreset"
            },
            {
              "name": "slash-trigger",
              "type": {
                "text": "string"
              },
              "default": "'/'",
              "description": "The characters that open the slash menu.",
              "fieldName": "slashTrigger"
            },
            {
              "name": "slash-heading",
              "type": {
                "text": "string"
              },
              "default": "'Insert'",
              "description": "The name the slash menu's list is announced by.",
              "fieldName": "slashHeading"
            },
            {
              "name": "slash-hide-keys",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides the insertion keys normally shown against the slash menu's items.",
              "fieldName": "slashHideKeys"
            },
            {
              "name": "slash-recent-key",
              "type": {
                "text": "string"
              },
              "default": "''",
              "description": "Lists the slash menu items most recently chosen here above the rest, remembered under this key.",
              "fieldName": "slashRecentKey"
            },
            {
              "name": "grouped",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "Hides this component's own language select and defers the choice to a parent zn-translation-group. The group sets\nthis on its children itself.",
              "fieldName": "grouped"
            },
            {
              "name": "languages",
              "type": {
                "text": "Record<string, string>"
              },
              "default": "{ 'en': 'EN' }",
              "description": "The languages on offer, as language code to display name — `{\"en\": \"English\", \"fr\": \"French\"}`. Writing the code\nas the name (`{\"en\": \"EN\"}`) is also accepted. `en` is the language every other one falls back to.",
              "fieldName": "languages"
            },
            {
              "name": "values",
              "type": {
                "text": "Record<string, string>"
              },
              "default": "{}",
              "description": "The translations as an object keyed by language code. The mirror of `value` in property form.",
              "fieldName": "values"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Collects one piece of text in several languages, one language at a time.",
          "tagNameWithoutPrefix": "translations",
          "tagName": "zn-translations",
          "customElement": true,
          "jsDoc": "/**\n * @summary Collects one piece of text in several languages, one language at a time.\n * @documentation https://zinc.style/components/translations\n * @status experimental\n * @since 1.0\n *\n * A select above the field chooses the language being edited. Closed, it carries how many languages are translated —\n * `1/5`; open, every language it offers carries a chip saying whether it has a translation of its own or falls back\n * to English. Blank languages fall back to English at render\n * time, so a blank field shows the English text as its placeholder rather than looking empty.\n *\n * The value submitted is a JSON object keyed by language code. A language stays out of it until it is typed into, so\n * browsing the languages does not pad the payload with empty translations.\n *\n * Put several of these in a `zn-translation-group` to have one select drive all of them.\n *\n * @dependency zn-chip\n * @dependency zn-inline-edit\n * @dependency zn-input\n * @dependency zn-option\n * @dependency zn-select\n * @dependency zn-textarea\n *\n * @slot label - The field's label. Alternatively, use the `label` attribute.\n * @slot help-text - Text describing how to fill the field in, shown below it and shared by every language.\n *  Alternatively, use the `help-text` attribute.\n *\n * @event zn-change - Emitted when a translation's value changes.\n * @event zn-input - Emitted when a translation receives input.\n *\n * @csspart form-control - The form control that wraps the label, the language select, the field and the help text.\n * @csspart form-control-label - The label's wrapper.\n * @csspart form-control-input - The wrapper around the field being edited.\n * @csspart form-control-help-text - The help text's wrapper.\n * @csspart language-select - The select that chooses the language being edited.\n */",
          "documentation": "https://zinc.style/components/translations",
          "status": "experimental",
          "since": "1.0",
          "dependencies": [
            "zn-chip",
            "zn-inline-edit",
            "zn-input",
            "zn-option",
            "zn-select",
            "zn-textarea"
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnTranslations",
            "module": "components/translations/translations.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/vertical-stepper/vertical-stepper.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnVerticalStepper",
          "cssParts": [
            {
              "description": "The main container for the vertical stepper.",
              "name": "vs"
            },
            {
              "description": "The left section containing the icon and connecting line.",
              "name": "vs__left"
            },
            {
              "description": "The icon container.",
              "name": "vs__icon"
            },
            {
              "description": "The vertical connecting line between steps.",
              "name": "vs__line"
            },
            {
              "description": "The right section containing caption and description text.",
              "name": "vs__right"
            },
            {
              "description": "The caption/title text element.",
              "name": "vs__caption"
            },
            {
              "description": "The description text element.",
              "name": "vs__description"
            }
          ],
          "slots": [
            {
              "description": "Optional slot for adding an icon or indicator before the step content.",
              "name": "icon"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "last",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, removes the connecting line below this step (use for the final step in a sequence).",
              "attribute": "last",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "first",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, indicates this is the first step in the sequence (affects visual styling).",
              "attribute": "first",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "active",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, highlights this step as the current active step in the process.",
              "attribute": "active",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "description",
              "type": {
                "text": "string"
              },
              "description": "A descriptive text explaining what happens in this step or its current status.",
              "attribute": "description",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "caption",
              "type": {
                "text": "string"
              },
              "description": "The main label/title for this step.",
              "attribute": "caption",
              "reflects": true
            }
          ],
          "attributes": [
            {
              "name": "last",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, removes the connecting line below this step (use for the final step in a sequence).",
              "fieldName": "last"
            },
            {
              "name": "first",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, indicates this is the first step in the sequence (affects visual styling).",
              "fieldName": "first"
            },
            {
              "name": "active",
              "type": {
                "text": "boolean"
              },
              "default": "false",
              "description": "When true, highlights this step as the current active step in the process.",
              "fieldName": "active"
            },
            {
              "name": "description",
              "type": {
                "text": "string"
              },
              "description": "A descriptive text explaining what happens in this step or its current status.",
              "fieldName": "description"
            },
            {
              "name": "caption",
              "type": {
                "text": "string"
              },
              "description": "The main label/title for this step.",
              "fieldName": "caption"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Vertical steppers display a sequence of steps in a vertical layout with descriptions and optional icons.",
          "tagNameWithoutPrefix": "vertical-stepper",
          "tagName": "zn-vertical-stepper",
          "customElement": true,
          "jsDoc": "/**\n * @summary Vertical steppers display a sequence of steps in a vertical layout with descriptions and optional icons.\n * @documentation https://zinc.style/components/vertical-stepper\n * @status experimental\n * @since 1.0\n *\n * @property {boolean} last - When true, removes the connecting line below this step (use for the final step in a sequence).\n * @property {boolean} first - When true, indicates this is the first step in the sequence (affects visual styling).\n * @property {boolean} active - When true, highlights this step as the current active step in the process.\n * @property {string} description - A descriptive text explaining what happens in this step or its current status.\n * @property {string} caption - The main label/title for this step.\n *\n * @slot icon - Optional slot for adding an icon or indicator before the step content.\n *\n * @csspart vs - The main container for the vertical stepper.\n * @csspart vs__left - The left section containing the icon and connecting line.\n * @csspart vs__icon - The icon container.\n * @csspart vs__line - The vertical connecting line between steps.\n * @csspart vs__right - The right section containing caption and description text.\n * @csspart vs__caption - The caption/title text element.\n * @csspart vs__description - The description text element.\n */",
          "documentation": "https://zinc.style/components/vertical-stepper",
          "status": "experimental",
          "since": "1.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnVerticalStepper",
            "module": "components/vertical-stepper/vertical-stepper.js"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "components/well/well.js",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "ZnWell",
          "slots": [
            {
              "description": "The default slot.",
              "name": ""
            },
            {
              "description": "Content displayed on the right hand side of the well.",
              "name": "action"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "icon",
              "type": {
                "text": "string"
              },
              "default": "''",
              "attribute": "icon"
            },
            {
              "kind": "field",
              "name": "inline",
              "type": {
                "text": "boolean"
              },
              "attribute": "inline",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "pre",
              "type": {
                "text": "boolean"
              },
              "description": "Renders the default slot inside a `pre` element, preserving whitespace using a monospace font.",
              "attribute": "pre",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "breakLong",
              "type": {
                "text": "boolean"
              },
              "description": "Breaks long unbroken words, so they wrap instead of forcing the well wider.",
              "attribute": "break-long",
              "reflects": true
            },
            {
              "kind": "field",
              "name": "hasSlotController",
              "privacy": "private",
              "readonly": true,
              "default": "new HasSlotController(this, '[default]', 'action')"
            }
          ],
          "attributes": [
            {
              "name": "icon",
              "type": {
                "text": "string"
              },
              "default": "''",
              "fieldName": "icon"
            },
            {
              "name": "inline",
              "type": {
                "text": "boolean"
              },
              "fieldName": "inline"
            },
            {
              "name": "pre",
              "type": {
                "text": "boolean"
              },
              "description": "Renders the default slot inside a `pre` element, preserving whitespace using a monospace font.",
              "fieldName": "pre"
            },
            {
              "name": "break-long",
              "type": {
                "text": "boolean"
              },
              "description": "Breaks long unbroken words, so they wrap instead of forcing the well wider.",
              "fieldName": "breakLong"
            }
          ],
          "superclass": {
            "name": "ZincElement",
            "module": "/src/internal/zinc-element"
          },
          "summary": "Short summary of the component's intended use.",
          "tagNameWithoutPrefix": "well",
          "tagName": "zn-well",
          "customElement": true,
          "jsDoc": "/**\n * @summary Short summary of the component's intended use.\n * @documentation https://zinc.style/components/well\n * @status experimental\n * @since 1.0\n *\n * @slot - The default slot.\n * @slot action - Content displayed on the right hand side of the well.\n */",
          "documentation": "https://zinc.style/components/well",
          "status": "experimental",
          "since": "1.0"
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "name": "ZnWell",
            "module": "components/well/well.js"
          }
        }
      ]
    }
  ],
  "package": {
    "name": "@kubex/zinc",
    "description": "A collection of web components for building web applications based off of @shoelace-style/Shoelace",
    "version": "1.1.117",
    "author": "",
    "license": "MIT"
  }
}
