{
  "version": 1.1,
  "tags": [
    {
      "name": "flow-ui-alert",
      "description": "Alerts are used to display important messages inline or as toast notifications.\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-show** - Emitted when the alert opens.\n- **flow-ui-after-show** - Emitted after the alert opens and all animations are complete.\n- **flow-ui-hide** - Emitted when the alert closes.\n- **flow-ui-after-hide** - Emitted after the alert closes and all animations are complete.\n\n### **Methods:**\n - **show()** - Shows the alert.\n- **hide()** - Hides the alert\n- **toast(): _Promise<void>_** - Displays the alert as a toast notification. This will move the alert out of its position in the DOM and, when\ndismissed, it will be removed from the DOM completely. By storing a reference to the alert, you can reuse it by\ncalling this method again. The returned promise will resolve after the alert is hidden.\n\n### **Slots:**\n - _default_ - The alert's main content.\n- **icon** - An icon to show in the alert. Works best with `<flow-ui-icon>`.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **icon** - The container that wraps the optional icon.\n- **message** - The container that wraps the alert's main content.\n- **close-button** - The close button, an `<flow-ui-icon-button>`.\n- **close-button__base** - The close button's exported `base` part.",
      "attributes": [
        {
          "name": "open",
          "description": "Set to `true` to display the alert. You can also\nuse the `show()` and `hide()` methods.",
          "values": []
        },
        {
          "name": "closable",
          "description": "Enables a close button that allows the user to dismiss the alert.",
          "values": []
        },
        {
          "name": "variant",
          "description": "The alert's theme variant.",
          "values": [
            { "name": "primary" },
            { "name": "secondary" },
            { "name": "success" },
            { "name": "neutral" },
            { "name": "warning" },
            { "name": "danger" }
          ]
        },
        {
          "name": "duration",
          "description": "The length of time (in ms) that the alert will show itself before closing. If the user interacts with\nthe alert before it closes (e.g. by moving the mouse over it), the timer will restart.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-animation",
      "description": "Animate elements declaratively with over 100 animation presets. Powered by the [Web Animations API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Animations_API).\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-cancel** - Emitted when the animation is canceled.\n- **flow-ui-finish** - Emitted when the animation finishes.\n- **flow-ui-start** - Emitted when the animation starts or restarts.\n\n### **Methods:**\n - **cancel()** - Clears all keyframe effects caused by this animation and aborts its playback.\n- **finish()** - Sets the playback time to the end of the animation corresponding to the current playback direction.\n\n### **Slots:**\n - _default_ - The element to animate. Avoid slotting in more than one element, as subsequent ones will be ignored. To animate multiple elements, either wrap them in a single container or use multiple `<flow-ui-animation>` elements.",
      "attributes": [
        {
          "name": "name",
          "description": "The name of the built-in animation to use. For custom animations, use the `keyframes` prop.\nUse `getAnimationNames()` to retrieve a list of available animations.",
          "values": []
        },
        {
          "name": "play",
          "description": "Plays the animation. When omitted, the animation will be paused. This attribute will be automatically removed when\nthe animation finishes or gets canceled.",
          "values": []
        },
        {
          "name": "delay",
          "description": "The number of milliseconds to delay the start of the animation.",
          "values": []
        },
        {
          "name": "direction",
          "description": "Determines the direction of playback as well as the behavior when reaching the end of an iteration.\n[Learn more](https://developer.mozilla.org/en-US/docs/Web/CSS/animation-direction)",
          "values": [{ "name": "PlaybackDirection" }]
        },
        {
          "name": "duration",
          "description": "The number of milliseconds each iteration of the animation takes to complete.",
          "values": []
        },
        {
          "name": "easing",
          "description": "The easing function to use for the animation. This can be a Shoelace easing function or a custom easing function\nsuch as `cubic-bezier(0, 1, .76, 1.14)`.",
          "values": []
        },
        {
          "name": "end-delay",
          "description": "The number of milliseconds to delay after the active period of an animation sequence.",
          "values": []
        },
        {
          "name": "fill",
          "description": "Sets how the animation applies styles to its target before and after its execution.",
          "values": [{ "name": "FillMode" }]
        },
        {
          "name": "iterations",
          "description": "The number of iterations to run before the animation completes. Defaults to `Infinity`, which loops.",
          "values": []
        },
        {
          "name": "iteration-start",
          "description": "The offset at which to start the animation, usually between 0 (start) and 1 (end).",
          "values": []
        },
        {
          "name": "playback-rate",
          "description": "Sets the animation's playback rate. The default is `1`, which plays the animation at a normal speed. Setting this\nto `2`, for example, will double the animation's speed. A negative value can be used to reverse the animation. This\nvalue can be changed without causing the animation to restart.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-badge",
      "description": "Badges are used to draw attention and display statuses or counts.\n\n\n---\n\n\n\n\n### **Slots:**\n - _default_ - The badge's content.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.",
      "attributes": [
        {
          "name": "variant",
          "description": "The badge's theme variant.",
          "values": [
            { "name": "primary" },
            { "name": "secondary" },
            { "name": "success" },
            { "name": "neutral" },
            { "name": "warning" },
            { "name": "danger" }
          ]
        },
        {
          "name": "size",
          "description": "The badge size.",
          "values": [
            { "name": "small" },
            { "name": "medium" },
            { "name": "large" }
          ]
        },
        {
          "name": "pill",
          "description": "Draws a pill-style badge with rounded edges.",
          "values": []
        },
        {
          "name": "pulse",
          "description": "Makes the badge pulsate to draw attention.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-breadcrumb",
      "description": "Breadcrumbs provide a group of links so users can easily navigate a website's hierarchy.\n\n\n---\n\n\n\n\n### **Slots:**\n - _default_ - One or more breadcrumb items to display.\n- **separator** - The separator to use between breadcrumb items. Works best with `<flow-ui-icon>`.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.",
      "attributes": [
        {
          "name": "label",
          "description": "The label to use for the breadcrumb control. This will not be shown on the screen, but it will be announced by\nscreen readers and other assistive devices to provide more context for users.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-base-control",
      "description": "Inputs collect data from the user.\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-blur** - Emitted when the control loses focus.\n- **flow-ui-change** - Emitted when an alteration to the control's value is committed by the user.\n- **flow-ui-clear** - Emitted when the clear button is activated.\n- **flow-ui-focus** - Emitted when the control gains focus.\n- **flow-ui-input** - Emitted when the control receives input.\n- **flow-ui-invalid** - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n\n### **Methods:**\n - **focus(options: _FocusOptions_)** - Sets focus on the input.\n- **blur()** - Removes focus from the input.\n- **checkValidity()** - Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid.\n- **getForm(): _HTMLFormElement | null_** - Gets the associated form, if one exists.\n- **reportValidity()** - Checks for validity and shows the browser's validation message if the control is invalid.\n- **setCustomValidity(message: _string_)** - Sets a custom validation message. Pass an empty string to restore validity.\n\n### **Slots:**\n - **label** - The input's label. Alternatively, you can use the `label` attribute.\n- **prefix** - Used to prepend a presentational icon or similar element to the input.\n- **suffix** - Used to append a presentational icon or similar element to the input.\n- **clear-icon** - An icon to use in lieu of the default clear icon.\n- **show-password-icon** - An icon to use in lieu of the default show password icon.\n- **hide-password-icon** - An icon to use in lieu of the default hide password icon.\n- **help-text** - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n\n### **CSS Parts:**\n - **form-control** - The form control that wraps the label, input, and help text.\n- **form-control-label** - The label's wrapper.\n- **form-control-input** - The input's wrapper.\n- **form-control-help-text** - The help text's wrapper.\n- **base** - The component's base wrapper.\n- **input** - The internal `<input>` control.\n- **prefix** - The container that wraps the prefix.\n- **clear-button** - The clear button.\n- **password-toggle-button** - The password toggle button.\n- **suffix** - The container that wraps the suffix.",
      "attributes": [
        {
          "name": "size",
          "description": "The input's size.",
          "values": [
            { "name": "small" },
            { "name": "medium" },
            { "name": "large" }
          ]
        },
        {
          "name": "filled",
          "description": "Draws a filled input.",
          "values": []
        },
        {
          "name": "pill",
          "description": "Draws a pill-style input with rounded edges.",
          "values": []
        },
        {
          "name": "label",
          "description": "The input's label. If you need to display HTML, use the `label` slot instead.",
          "values": []
        },
        {
          "name": "help-text",
          "description": "The input's help text. If you need to display HTML, use the `help-text` slot instead.",
          "values": []
        },
        {
          "name": "disabled",
          "description": "Disables the input.",
          "values": []
        },
        {
          "name": "form",
          "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.",
          "values": []
        },
        {
          "name": "required",
          "description": "Makes the input a required field.",
          "values": []
        },
        {
          "name": "inline",
          "description": "Display the input in the 'inline' form control style.",
          "values": []
        },
        {
          "name": "divider",
          "description": "Indicates that the control should display a divider",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-avatar",
      "description": "Avatars are used to represent a person or object.\n\n\n---\n\n\n\n\n### **Slots:**\n - **icon** - The default icon to use when no image or initials are present. Works best with `<flow-ui-icon>`.\n\n### **CSS Properties:**\n - **--size** - The size of the avatar. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **icon** - The container that wraps the avatar's icon.\n- **initials** - The container that wraps the avatar's initials.\n- **image** - The avatar image. Only shown when the `image` attribute is set.",
      "attributes": [
        {
          "name": "image",
          "description": "The image source to use for the avatar.",
          "values": []
        },
        {
          "name": "label",
          "description": "A label to use to describe the avatar to assistive devices.",
          "values": []
        },
        {
          "name": "initials",
          "description": "Initials to use as a fallback when no image is available (1-2 characters max recommended).",
          "values": []
        },
        {
          "name": "loading",
          "description": "Indicates how the browser should load the image.",
          "values": [{ "name": "eager" }, { "name": "lazy" }]
        },
        {
          "name": "shape",
          "description": "The shape of the avatar.",
          "values": [
            { "name": "circle" },
            { "name": "square" },
            { "name": "rounded" }
          ]
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-autocomplete",
      "description": "Autocompletes allow users to type into a text input and choose a value from a list of suggested [options](./flow-ui-option).\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-input** - Emitted when the input text changes. When the user types, the event is emitted after the `debounce-delay`. Call `getInputText()` to read the text, for example to update the options.\n- **flow-ui-change** - Emitted when the autocomplete's value changes.\n- **flow-ui-focus** - Emitted when the autocomplete gains focus.\n- **flow-ui-blur** - Emitted when the autocomplete loses focus.\n- **flow-ui-show** - Emitted when the listbox opens.\n- **flow-ui-after-show** - Emitted after the listbox opens and all animations are complete.\n- **flow-ui-hide** - Emitted when the listbox closes.\n- **flow-ui-after-hide** - Emitted after the listbox closes and all animations are complete.\n\n### **Methods:**\n - **getForm(): _HTMLFormElement | null_** - Gets the associated form, if one exists.\n- **checkValidity(): _boolean_** - Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid.\n- **reportValidity(): _boolean_** - Checks for validity and shows the browser's validation message if the control is invalid.\n- **setCustomValidity(_: _string_)** - Sets a custom validation message. Pass an empty string to restore validity.\n- **focus()** - Focuses on the control\n- **blur()** - Blurs from the control.\n- **show()** - Shows the listbox.\n- **hide()** - Hides the listbox.\n- **getInputText()** - Gets the current value of the text input\n\n### **Slots:**\n - _default_ - The listbox options. Must be `<flow-ui-option>` elements. You can use `<flow-ui-divider>` to group items visually.\n- **label** - The autocomplete's label. Alternatively, you can use the `label` attribute.\n- **prefix** - Used to prepend a presentational icon or similar element to the combobox.\n- **suffix** - Used to append a presentational icon or similar element to the combobox.\n- **clear-icon** - An icon to use in lieu of the default clear icon.\n- **help-text** - Text that describes how to use the autocomplete. Alternatively, you can use the `help-text` attribute.\n\n### **CSS Parts:**\n - **form-control** - The form control that wraps the label, input, and help text.\n- **label** - The label's wrapper.\n- **help-text** - The help text's wrapper.\n- **control** - The input's wrapper.\n- **combobox** - The container that wraps the prefix, suffix, input and clear button.\n- **prefix** - The container that wraps the prefix.\n- **suffix** - The container that wraps the suffix.\n- **display-input** - The text input, an `<input>` element.\n- **listbox** - The listbox container where options are slotted.\n- **clear-button** - The clear button.",
      "attributes": [
        {
          "name": "size",
          "description": "The autocomplete's size.",
          "values": [
            { "name": "small" },
            { "name": "medium" },
            { "name": "large" }
          ]
        },
        {
          "name": "filled",
          "description": "Draws a filled autocomplete input.",
          "values": []
        },
        {
          "name": "pill",
          "description": "Draws a pill-style autocomplete input with rounded edges.",
          "values": []
        },
        {
          "name": "label",
          "description": "The autocomplete's label. If you need to display HTML, use the `label` slot instead.",
          "values": []
        },
        {
          "name": "help-text",
          "description": "The autocomplete's help text. If you need to display HTML, use the `help-text` slot instead.",
          "values": []
        },
        {
          "name": "placeholder",
          "description": "The autocomplete's placeholder text.",
          "values": []
        },
        {
          "name": "disabled",
          "description": "Disables the autocomplete.",
          "values": []
        },
        {
          "name": "form",
          "description": "The \"form owner\" to associate the autocomplete with. If omitted, the closest containing form will be used\ninstead. The value of this attribute must be an id of a form in the same document or shadow root as the\nautocomplete.",
          "values": []
        },
        {
          "name": "required",
          "description": "Makes the autocomplete a required field.",
          "values": []
        },
        {
          "name": "inline",
          "description": "Set to `true` to display the autocomplete in the inline form control style.",
          "values": []
        },
        {
          "name": "divider",
          "description": "Set to `true` to display a divider below the control.",
          "values": []
        },
        {
          "name": "hoist",
          "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.",
          "values": []
        },
        {
          "name": "placement",
          "description": "The preferred placement of the autocomplete's menu. Note that the actual placement may vary as needed to keep the listbox\ninside of the viewport.",
          "values": [{ "name": "top" }, { "name": "bottom" }]
        },
        {
          "name": "value",
          "description": "The option value of the selected option.",
          "values": []
        },
        {
          "name": "displayWith",
          "description": "The function that returns the text to show in the input for a given `value`. It can return a promise. If not set,\nthe input shows the value itself.",
          "values": [
            { "name": "((value: string) => string)" },
            { "name": "((value: string) => Promise<string>)" }
          ]
        },
        {
          "name": "debounce-delay",
          "description": "The delay in milliseconds between the user's last keystroke and the `flow-ui-input` event.",
          "values": []
        },
        {
          "name": "clearable",
          "description": "Set to `true` to show a clear button when the autocomplete has a value.",
          "values": []
        },
        {
          "name": "clear-on-focus",
          "description": "Set to `true` to clear the value when the autocomplete gains focus.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-breadcrumb-item",
      "description": "Breadcrumb Items are used inside [breadcrumbs](./flow-ui-breadcrumb) to represent different links.\n\n\n---\n\n\n\n\n### **Slots:**\n - _default_ - The breadcrumb item's label.\n- **prefix** - An optional prefix, usually an icon or icon button.\n- **suffix** - An optional suffix, usually an icon or icon button.\n- **separator** - The separator to use for the breadcrumb item. This will only change the separator for this item. If you want to change it for all items in the group, set the separator on `<flow-ui-breadcrumb>` instead.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **label** - The breadcrumb item's label.\n- **prefix** - The container that wraps the prefix.\n- **suffix** - The container that wraps the suffix.\n- **separator** - The container that wraps the separator.",
      "attributes": [
        {
          "name": "href",
          "description": "Optional URL to direct the user to when the breadcrumb item is activated. When set, a link will be rendered\ninternally. When unset, a button will be rendered instead.",
          "values": []
        },
        {
          "name": "target",
          "description": "Tells the browser where to open the link. Only used when `href` is set.",
          "values": [
            { "name": "_blank" },
            { "name": "_parent" },
            { "name": "_self" },
            { "name": "_top" }
          ]
        },
        {
          "name": "rel",
          "description": "The `rel` attribute to use on the link. Only used when `href` is set.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-busy-overlay",
      "description": "Busy overlay is used to indicate that a component which displays data is being currently updated.\n\n\n---\n\n\n\n\n### **Slots:**\n - _default_ - The component to overlay with when busy.\n- **busy-animation** - The indeterminate custom loading animation to display when busy.\n\n### **CSS Properties:**\n - **--transition-delay** - The delay after which the overlay is shown. _(default: undefined)_\n- **--transition-duration** - The duration of the overlay's fade-in/out transition. _(default: undefined)_\n- **--progress-ring-size** - The size of the default progress ring loading animation. _(default: undefined)_\n- **--progress-ring-track-width** - The width of the default progress ring's track. _(default: undefined)_\n- **--progress-ring-track-color** - The color of the default progress ring's track. _(default: undefined)_\n- **--overlay-background-color** - The background color of the overlay. _(default: undefined)_",
      "attributes": [
        { "name": "busy", "values": [] },
        {
          "name": "variant",
          "description": "The default loading animation's theme variant.",
          "values": [
            { "name": "primary" },
            { "name": "secondary" },
            { "name": "success" },
            { "name": "neutral" },
            { "name": "warning" },
            { "name": "danger" }
          ]
        },
        {
          "name": "size",
          "description": "Size of the loading animation",
          "values": [
            { "name": "small" },
            { "name": "medium" },
            { "name": "large" }
          ]
        },
        {
          "name": "overlay-parent",
          "description": "To overlay the parent element",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-button",
      "description": "Buttons represent actions that are available to the user.\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-blur** - Emitted when the button loses focus.\n- **flow-ui-focus** - Emitted when the button gains focus.\n- **flow-ui-invalid** - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n\n### **Methods:**\n - **click()** - Simulates a click on the button.\n- **focus(options: _FocusOptions_)** - Sets focus on the button.\n- **blur()** - Removes focus from the button.\n- **checkValidity()** - Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid.\n- **getForm(): _HTMLFormElement | null_** - Gets the associated form, if one exists.\n- **reportValidity()** - Checks for validity and shows the browser's validation message if the control is invalid.\n- **setCustomValidity(message: _string_)** - Sets a custom validation message. Pass an empty string to restore validity.\n\n### **Slots:**\n - _default_ - The button's label.\n- **prefix** - A presentational prefix icon or similar element.\n- **suffix** - A presentational suffix icon or similar element.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **prefix** - The container that wraps the prefix.\n- **label** - The button's label.\n- **suffix** - The container that wraps the suffix.\n- **caret** - The button's caret icon, an `<flow-ui-icon>` element.",
      "attributes": [
        { "name": "label", "values": [] },
        {
          "name": "variant",
          "description": "The button's theme variant.",
          "values": [
            { "name": "" },
            { "name": "default" },
            { "name": "primary" },
            { "name": "secondary" },
            { "name": "success" },
            { "name": "neutral" },
            { "name": "warning" },
            { "name": "danger" },
            { "name": "text" }
          ]
        },
        {
          "name": "size",
          "description": "The button's size.",
          "values": [
            { "name": "small" },
            { "name": "medium" },
            { "name": "large" }
          ]
        },
        {
          "name": "caret",
          "description": "Draws the button with a caret. Used to indicate that the button triggers a dropdown menu or similar behavior.",
          "values": []
        },
        {
          "name": "disabled",
          "description": "Disables the button.",
          "values": []
        },
        {
          "name": "loading",
          "description": "Draws the button in a loading state.",
          "values": []
        },
        {
          "name": "outline",
          "description": "Draws an outlined button.",
          "values": []
        },
        {
          "name": "pill",
          "description": "Draws a pill-style button with rounded edges.",
          "values": []
        },
        {
          "name": "fab-circle",
          "description": "Draws a circular FAB. When this attribute is present, the button expects a single `<flow-ui-icon>` in the\ndefault slot.",
          "values": []
        },
        {
          "name": "fab-square",
          "description": "Draws a square FAB. When this attribute is present, the button expects a single `<flow-ui-icon>` in the\ndefault slot.",
          "values": []
        },
        {
          "name": "type",
          "description": "The type of button. Note that the default value is `button` instead of `submit`, which is opposite of how native\n`<button>` elements behave. When the type is `submit`, the button will submit the surrounding form.",
          "values": [
            { "name": "button" },
            { "name": "submit" },
            { "name": "reset" }
          ]
        },
        {
          "name": "name",
          "description": "The name of the button, submitted as a name/value pair with form data, but only when this button is the submitter.\nThis attribute is ignored when `href` is present.",
          "values": []
        },
        {
          "name": "value",
          "description": "The value of the button, submitted as a pair with the button's name as part of the form data, but only when this\nbutton is the submitter. This attribute is ignored when `href` is present.",
          "values": []
        },
        {
          "name": "href",
          "description": "When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`.",
          "values": []
        },
        {
          "name": "target",
          "description": "Tells the browser where to open the link. Only used when `href` is present.",
          "values": [
            { "name": "_blank" },
            { "name": "_parent" },
            { "name": "_self" },
            { "name": "_top" }
          ]
        },
        {
          "name": "rel",
          "description": "When using `href`, this attribute will map to the underlying link's `rel` attribute. Unlike regular links, the\ndefault is `noreferrer noopener` to prevent security exploits. However, if you're using `target` to point to a\nspecific tab/window, this will prevent that from working correctly. You can remove or change the default value by\nsetting the attribute to an empty string or a value of your choice, respectively.",
          "values": []
        },
        {
          "name": "download",
          "description": "Tells the browser to download the linked file as this filename. Only used when `href` is present.",
          "values": []
        },
        {
          "name": "form",
          "description": "The \"form owner\" to associate the button with. If omitted, the closest containing form will be used instead. The\nvalue of this attribute must be an id of a form in the same document or shadow root as the button.",
          "values": []
        },
        {
          "name": "formaction",
          "description": "Used to override the form owner's `action` attribute.",
          "values": []
        },
        {
          "name": "formenctype",
          "description": "Used to override the form owner's `enctype` attribute.",
          "values": [
            { "name": "application/x-www-form-urlencoded" },
            { "name": "multipart/form-data" },
            { "name": "text/plain" }
          ]
        },
        {
          "name": "formmethod",
          "description": "Used to override the form owner's `method` attribute.",
          "values": [{ "name": "post" }, { "name": "get" }]
        },
        {
          "name": "formnovalidate",
          "description": "Used to override the form owner's `novalidate` attribute.",
          "values": []
        },
        {
          "name": "formtarget",
          "description": "Used to override the form owner's `target` attribute.",
          "values": [
            { "name": "_self" },
            { "name": "_blank" },
            { "name": "_parent" },
            { "name": "_top" }
          ]
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-button-group",
      "description": "Button groups can be used to group related buttons into sections.\n\n\n---\n\n\n\n\n### **Slots:**\n - _default_ - One or more `<flow-ui-button>` elements to display in the button group.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.",
      "attributes": [
        {
          "name": "label",
          "description": "Text label for assistive devices.",
          "values": []
        },
        {
          "name": "vertical",
          "description": "Use vertical layout for the button group.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-calendar",
      "description": "Calendars allow users to select a date, time or date range.\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-input** - Emitted when the calendar value changes.\n- **flow-ui-change** - Emitted when the calendar value changes.\n\n### **CSS Properties:**\n - **--width** - The width of the calendar in CSS units, or of each month when `months` is `2`. Set automatically if `size` is set. _(default: undefined)_\n- **--font-size** - The font size of the calendar. Set automatically if `size` is set. _(default: undefined)_\n- **--day-font-size** - The font size of the day labels. Set automatically if `size` is set. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.",
      "attributes": [
        {
          "name": "value",
          "description": "The value of the control. (ISO8601 date/time string) In range mode, the value is an ISO8601 interval string\n(`<start>/<end>`) and the end is exclusive. For example, the date range October 1 to October 2 has the value\n`2026-10-01T00:00:00.000+01:00/2026-10-03T00:00:00.000+01:00`.",
          "values": []
        },
        {
          "name": "display-mode",
          "description": "The display mode: date only, time only, or both date and time.",
          "values": [
            { "name": "date" },
            { "name": "time" },
            { "name": "datetime" }
          ]
        },
        {
          "name": "range",
          "description": "Set to `true` to select a date, datetime or time range instead of a single value, depending on `display-mode`.",
          "values": []
        },
        {
          "name": "timezone",
          "description": "Set the timezone for display. If not set the default timezone will be used. (TZ name e.g. `'Europe/London'`)",
          "values": []
        },
        {
          "name": "locale",
          "description": "Set the locale for display. If not set the default locale will be used. (e.g `'en-GB'`)",
          "values": []
        },
        {
          "name": "size",
          "description": "Set the size of the calendar.",
          "values": [
            { "name": "small" },
            { "name": "medium" },
            { "name": "large" }
          ]
        },
        {
          "name": "months",
          "description": "The number of months to show side by side.",
          "values": [{ "name": "1" }, { "name": "2" }]
        },
        {
          "name": "min",
          "description": "The earliest date that can be selected. (ISO8601 date or date/time string) Note that `min` is ignored when\n`display-mode` is `time`.",
          "values": []
        },
        {
          "name": "max",
          "description": "The latest date that can be selected. (ISO8601 date or date/time string) Note that `max` is ignored when\n`display-mode` is `time`.",
          "values": []
        },
        {
          "name": "max-range",
          "description": "The maximum length of a range. (Duration string, e.g. `'7 days'` or `'1 month'`) Supported units are milliseconds,\nseconds, minutes, hours, days, weeks and months.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-card",
      "description": "Cards can be used to group related subjects in a container.\n\n\n---\n\n\n\n\n### **Slots:**\n - _default_ - The card's main content.\n- **header** - An optional header for the card.\n- **footer** - An optional footer for the card.\n- **image** - An optional image to render at the start of the card.\n\n### **CSS Properties:**\n - **--border-color** - The card's border color, including borders that occur inside the card. _(default: undefined)_\n- **--border-radius** - The border radius for the card's edges. _(default: undefined)_\n- **--border-width** - The width of the card's borders. _(default: undefined)_\n- **--padding** - The padding to use for the card's sections. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **image** - The container that wraps the card's image.\n- **header** - The container that wraps the card's header.\n- **body** - The container that wraps the card's main content.\n- **footer** - The container that wraps the card's footer.",
      "attributes": [{ "name": "title", "values": [] }],
      "references": []
    },
    {
      "name": "flow-ui-carousel",
      "description": "Carousels display an arbitrary number of content slides along a horizontal or vertical axis.\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-slide-change** - Emitted when the active slide changes.\n\n### **Methods:**\n - **previous(behavior: _ScrollBehavior_)** - Move the carousel backward by `slides-per-move` slides.\n- **next(behavior: _ScrollBehavior_)** - Move the carousel forward by `slides-per-move` slides.\n- **goToSlide(index: _number_, behavior: _ScrollBehavior_)** - Scrolls the carousel to the slide specified by `index`.\n\n### **Slots:**\n - _default_ - The carousel's main content, one or more `<flow-ui-carousel-item>` elements.\n- **next-icon** - Optional next icon to use instead of the default. Works best with `<flow-ui-icon>`.\n- **previous-icon** - Optional previous icon to use instead of the default. Works best with `<flow-ui-icon>`.\n\n### **CSS Properties:**\n - **--slide-gap** - The space between each slide. _(default: undefined)_\n- **--aspect-ratio** - The aspect ratio of each slide. _(default: undefined)_\n- **--scroll-hint** - The amount of padding to apply to the scroll area, allowing adjacent slides to become partially visible as a scroll hint. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The carousel's internal wrapper.\n- **scroll-container** - The scroll container that wraps the slides.\n- **pagination** - The pagination indicators wrapper.\n- **pagination-item** - The pagination indicator.\n- **pagination-item--active** - Applied when the item is active.\n- **navigation** - The navigation wrapper.\n- **navigation-button** - The navigation button.\n- **navigation-button--previous** - Applied to the previous button.\n- **navigation-button--next** - Applied to the next button.",
      "attributes": [
        {
          "name": "loop",
          "description": "Set to `true` to allow the user to navigate the carousel in the same direction indefinitely.",
          "values": []
        },
        {
          "name": "navigation",
          "description": "Set to `true` to show the carousel's navigation.",
          "values": []
        },
        {
          "name": "pagination",
          "description": "Set to `true` to show the carousel's pagination indicators.",
          "values": []
        },
        {
          "name": "autoplay",
          "description": "Set to `true` to automatically advance the carousel.",
          "values": []
        },
        {
          "name": "autoplay-interval",
          "description": "Specifies the amount of time (in ms) between each automatic scroll.",
          "values": []
        },
        {
          "name": "slides-per-page",
          "description": "Specifies how many slides should be shown at a given time.",
          "values": []
        },
        {
          "name": "slides-per-move",
          "description": "Specifies the number of slides the carousel will advance when scrolling, useful when specifying a `slides-per-page`\ngreater than one.",
          "values": []
        },
        {
          "name": "orientation",
          "description": "Specifies the orientation in which the carousel will lay out.",
          "values": [{ "name": "horizontal" }, { "name": "vertical" }]
        },
        {
          "name": "mouse-dragging",
          "description": "When set, it is possible to scroll through the slides by dragging them with the mouse.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-carousel-item",
      "description": "A carousel item represent a slide within a [carousel](./flow-ui-carousel).\n\n\n---\n\n\n\n\n### **Slots:**\n - _default_ - The carousel item's content..\n\n### **CSS Properties:**\n - **--aspect-ratio** - The slide's aspect ratio. Inherited from the carousel by default. _(default: undefined)_",
      "attributes": [],
      "references": []
    },
    {
      "name": "flow-ui-chart",
      "description": "The chart component displays Chart.js charts.\n\n\n---\n\n\n\n\n### **Methods:**\n - **repaint()** - Trigger a repaint of the chart.\n\n### **Slots:**\n - **title** - The chart's title. Alternatively, you can use the `title` attribute.\n\n### **CSS Properties:**\n - **--background-color** - Chart background color (applied as the background color of the base container). _(default: undefined)_\n- **--text-color** - General text color (titles etc.) _(default: undefined)_\n- **--axis-color** - Color of the axis lines. _(default: undefined)_\n- **--x-axis-color** - Color of the x-axis lines. (defaults to `--axis-color`) _(default: undefined)_\n- **--y-axis-color** - Color of the y-axis lines. (defaults to `--axis-color`) _(default: undefined)_\n- **--axis-grid-color** - Color of the axis grid lines. _(default: undefined)_\n- **--x-axis-grid-color** - Color of the x-axis grid lines. (defaults to `--axis-grid-color`) _(default: undefined)_\n- **--y-axis-grid-color** - Color of the y-axis grid lines. (defaults to `--axis-grid-color`) _(default: undefined)_\n- **--axis-label-color** - Color of the axis labels. _(default: undefined)_\n- **--x-axis-label-color** - Color of the x-axis labels. (defaults to `--axis-label-color`) _(default: undefined)_\n- **--y-axis-label-color** - Color of the y-axis labels. (defaults to `--axis-label-color`) _(default: undefined)_\n- **--tick-label-color** - Color of the tick labels. _(default: undefined)_\n- **--x-tick-label-color** - Color of the x-axis tick labels. (defaults to `--tick-label-color`) _(default: undefined)_\n- **--y-tick-label-color** - Color of the y-axis tick labels. (defaults to `--tick-label-color`) _(default: undefined)_\n- **--dataset-stroke-color-n** - Color of the stroke for dataset n (where n = 0-9). _(default: undefined)_\n- **--dataset-fill-color-n** - Color of the fill for dataset n (where n = 0-9). _(default: undefined)_\n- **--header-padding** - Chart header padding. _(default: undefined)_\n- **--header-height** - Chart header height. _(default: undefined)_\n- **--header-font-size** - Chart header font size. _(default: undefined)_\n- **--header-color** - Chart header text color. _(default: undefined)_\n\n### **CSS Parts:**\n - **header** - The header container of the chart.\n- **title** - The chart title placed in the header.",
      "attributes": [
        {
          "name": "title",
          "description": "A label displayed in the chart's header. If you need to display HTML, use the `label` slot instead.",
          "values": []
        },
        {
          "name": "type",
          "description": "The Chart.js chart type (e.g `line`, `bar` or a custom type).",
          "values": []
        },
        {
          "name": "plugins",
          "description": "List of extra plugins to use for this chart.",
          "values": [{ "name": "Plugin[]" }]
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-checkbox",
      "description": "Checkboxes allow the user to toggle an option on or off.\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-blur** - Emitted when the checkbox loses focus.\n- **flow-ui-change** - Emitted when the checked state changes.\n- **flow-ui-focus** - Emitted when the checkbox gains focus.\n- **flow-ui-input** - Emitted when the checkbox receives input.\n- **flow-ui-invalid** - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n\n### **Methods:**\n - **click()** - Simulates a click on the checkbox.\n- **focus(options: _FocusOptions_)** - Sets focus on the checkbox.\n- **blur()** - Removes focus from the checkbox.\n- **checkValidity()** - Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid.\n- **getForm(): _HTMLFormElement | null_** - Gets the associated form, if one exists.\n- **reportValidity()** - Checks for validity and shows the browser's validation message if the control is invalid.\n- **setCustomValidity(message: _string_)** - 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.\n\n### **Slots:**\n - _default_ - The checkbox's label.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **control** - The square container that wraps the checkbox's checked state.\n- **control--checked** - Matches the control part when the checkbox is checked.\n- **control--indeterminate** - Matches the control part when the checkbox is indeterminate.\n- **checked-icon** - The checked icon, an `<flow-ui-icon>` element.\n- **indeterminate-icon** - The indeterminate icon, an `<flow-ui-icon>` element.\n- **label** - The container that wraps the checkbox's label.",
      "attributes": [
        {
          "name": "name",
          "description": "The name of the checkbox, submitted as a name/value pair with form data.",
          "values": []
        },
        {
          "name": "value",
          "description": "The current value of the checkbox.",
          "values": []
        },
        {
          "name": "size",
          "description": "The checkbox's size.",
          "values": [
            { "name": "small" },
            { "name": "medium" },
            { "name": "large" }
          ]
        },
        {
          "name": "disabled",
          "description": "Disables the checkbox.",
          "values": []
        },
        {
          "name": "checked",
          "description": "Draws the checkbox in a checked state.",
          "values": []
        },
        {
          "name": "indeterminate",
          "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.",
          "values": []
        },
        {
          "name": "reverse",
          "description": "Display the checkbox using a reversed style with left-aligned label.",
          "values": []
        },
        {
          "name": "form",
          "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.",
          "values": []
        },
        {
          "name": "required",
          "description": "Makes the checkbox a required field.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-checkbox-group",
      "description": "Checkbox groups are used to group multiple [checkboxes](./flow-ui-checkbox) so they function as a single form control.\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-change** - Emitted when the checkbox group's value changes by UI interaction.\n- **flow-ui-input** - Emitted when the checkbox group receives user input.\n- **flow-ui-invalid** - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n\n### **Methods:**\n - **checkValidity()** - Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid.\n- **getForm(): _HTMLFormElement | null_** - Gets the associated form, if one exists.\n- **reportValidity(): _boolean_** - Checks for validity and shows the browser's validation message if the control is invalid.\n- **setCustomValidity(message)** - Sets a custom validation message. Pass an empty string to restore validity.\n- **handleChildEvents(event: _Event_)** - Stop propagation of flow-ui-input and flow-ui-change from child checkboxes\n\n### **Slots:**\n - _default_ - The default slot where `<flow-ui-checkbox>` elements are placed.\n- **label** - The checkbox group's label. Required for proper accessibility. Alternatively, you can use the `label` attribute.\n- **help-text** - The checkbox group's help text. Alternatively, you can use the `help-text` attribute.\n\n### **CSS Parts:**\n - **form-control** - The form control that wraps the label, input, and help text.\n- **form-control-label** - The label's wrapper.\n- **form-control-input** - The input's wrapper.\n- **form-control-help-text** - The help text's wrapper.",
      "attributes": [
        {
          "name": "label",
          "description": "The checkbox group's label. Required for proper accessibility. If you need to display HTML, use the `label` slot\ninstead.",
          "values": []
        },
        {
          "name": "help-text",
          "description": "The checkbox group's help text. If you need to display HTML, use the `help-text` slot instead.",
          "values": []
        },
        {
          "name": "name",
          "description": "The name of the checkbox group, submitted as a name/value pair with form data.",
          "values": []
        },
        {
          "name": "value",
          "description": "The values of the checked checkboxes. (Space-separated list when set as an attribute)",
          "values": [{ "name": "string[]" }]
        },
        {
          "name": "size",
          "description": "The checkbox group's size. This size will be applied to all child checkboxes.",
          "values": [
            { "name": "small" },
            { "name": "medium" },
            { "name": "large" }
          ]
        },
        {
          "name": "form",
          "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.",
          "values": []
        },
        {
          "name": "required",
          "description": "Makes the checkbox group a required field.",
          "values": []
        },
        {
          "name": "reverse",
          "description": "Set to `true` to display the child checkboxes in a reversed style with a left-aligned label.",
          "values": []
        },
        {
          "name": "divider",
          "description": "Set to `true` to display a divider below the control.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-color-mapper",
      "description": "A component for defining mappings between data values and colors.\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-change** - Fired when the color mapper's value changes.",
      "attributes": [
        {
          "name": "options",
          "description": "The color mapper configuration specifying available fields.",
          "values": [{ "name": "ColorMapperOptions" }]
        },
        {
          "name": "value",
          "description": "The current value of the color mapper.",
          "values": [{ "name": "ColorMapperValue" }]
        },
        {
          "name": "size",
          "description": "The size of the color mapper component.",
          "values": [
            { "name": "small" },
            { "name": "medium" },
            { "name": "large" }
          ]
        },
        {
          "name": "swatches",
          "description": "One or more predefined color swatches to display as presets in the color picker. Can include any format the color\npicker can parse, including HEX(A), RGB(A), HSL(A), HSV(A), and CSS color names. Each color must be separated by a\nsemicolon (`;`). Alternatively, you can pass an array of color values to this property using JavaScript.",
          "values": [{ "name": "string[]" }]
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-color-picker",
      "description": "Color pickers allow the user to select a color.\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-blur** - Emitted when the color picker loses focus.\n- **flow-ui-change** - Emitted when the color picker's value changes.\n- **flow-ui-focus** - Emitted when the color picker receives focus.\n- **flow-ui-input** - Emitted when the color picker receives input.\n- **flow-ui-invalid** - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n\n### **Methods:**\n - **focus(options: _FocusOptions_)** - Sets focus on the color picker.\n- **blur()** - Removes focus from the color picker.\n- **getFormattedValue(format: _'hex' | 'hexa' | 'rgb' | 'rgba' | 'hsl' | 'hsla' | 'hsv' | 'hsva'_)** - Returns the current value as a string in the specified format.\n- **checkValidity()** - Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid.\n- **getForm(): _HTMLFormElement | null_** - Gets the associated form, if one exists.\n- **reportValidity()** - Checks for validity and shows the browser's validation message if the control is invalid.\n- **setCustomValidity(message: _string_)** - Sets a custom validation message. Pass an empty string to restore validity.\n\n### **Slots:**\n - **label** - The color picker's form label. Alternatively, you can use the `label` attribute.\n\n### **CSS Properties:**\n - **--grid-width** - The width of the color grid. _(default: undefined)_\n- **--grid-height** - The height of the color grid. _(default: undefined)_\n- **--grid-handle-size** - The size of the color grid's handle. _(default: undefined)_\n- **--slider-height** - The height of the hue and alpha sliders. _(default: undefined)_\n- **--slider-handle-size** - The diameter of the slider's handle. _(default: undefined)_\n- **--swatch-size** - The size of each predefined color swatch. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **trigger** - The color picker's dropdown trigger.\n- **swatches** - The container that holds the swatches.\n- **swatch** - Each individual swatch.\n- **grid** - The color grid.\n- **grid-handle** - The color grid's handle.\n- **slider** - Hue and opacity sliders.\n- **slider-handle** - Hue and opacity slider handles.\n- **hue-slider** - The hue slider.\n- **hue-slider-handle** - The hue slider's handle.\n- **opacity-slider** - The opacity slider.\n- **opacity-slider-handle** - The opacity slider's handle.\n- **preview** - The preview color.\n- **input** - The text input.\n- **eye-dropper-button** - The eye dropper button.\n- **eye-dropper-button__base** - The eye dropper button's exported `button` part.\n- **eye-dropper-button__prefix** - The eye dropper button's exported `prefix` part.\n- **eye-dropper-button__label** - The eye dropper button's exported `label` part.\n- **eye-dropper-button__suffix** - The eye dropper button's exported `suffix` part.\n- **eye-dropper-button__caret** - The eye dropper button's exported `caret` part.\n- **format-button** - The format button.\n- **format-button__base** - The format button's exported `button` part.\n- **format-button__prefix** - The format button's exported `prefix` part.\n- **format-button__label** - The format button's exported `label` part.\n- **format-button__suffix** - The format button's exported `suffix` part.\n- **format-button__caret** - The format button's exported `caret` part.",
      "attributes": [
        {
          "name": "value",
          "description": "The current value of the color picker. The value's format will vary based the `format` attribute. To get the value\nin a specific format, use the `getFormattedValue()` method. The value is submitted as a name/value pair with form\ndata.",
          "values": []
        },
        {
          "name": "label",
          "description": "The color picker's label. This will not be displayed, but it will be announced by assistive devices. If you need to\ndisplay HTML, you can use the `label` slot` instead.",
          "values": []
        },
        {
          "name": "format",
          "description": "The format to use. If opacity is enabled, these will translate to HEXA, RGBA, HSLA, and HSVA respectively. The color\npicker will accept user input in any format (including CSS color names) and convert it to the desired format.",
          "values": [
            { "name": "hex" },
            { "name": "rgb" },
            { "name": "hsl" },
            { "name": "hsv" }
          ]
        },
        {
          "name": "inline",
          "description": "Renders the color picker inline rather than in a dropdown.",
          "values": []
        },
        {
          "name": "size",
          "description": "Determines the size of the color picker's trigger. This has no effect on inline color pickers.",
          "values": [
            { "name": "small" },
            { "name": "medium" },
            { "name": "large" }
          ]
        },
        {
          "name": "no-format-toggle",
          "description": "Removes the button that lets users toggle between format.",
          "values": []
        },
        {
          "name": "name",
          "description": "The name of the form control, submitted as a name/value pair with form data.",
          "values": []
        },
        {
          "name": "disabled",
          "description": "Disables the color picker.",
          "values": []
        },
        {
          "name": "placement",
          "description": "The preferred placement of the dropdown panel. Note that the actual placement may vary as needed to keep the panel\ninside of the viewport.",
          "values": [
            { "name": "" },
            { "name": "top" },
            { "name": "top-start" },
            { "name": "top-end" },
            { "name": "bottom" },
            { "name": "bottom-start" },
            { "name": "bottom-end" },
            { "name": "right" },
            { "name": "right-start" },
            { "name": "right-end" },
            { "name": "left" },
            { "name": "left-start" },
            { "name": "left-end" }
          ]
        },
        {
          "name": "distance",
          "description": "The distance in pixels from which to offset the panel away from its trigger.",
          "values": []
        },
        {
          "name": "skidding",
          "description": "The distance in pixels from which to offset the panel along its trigger.",
          "values": []
        },
        {
          "name": "hoist",
          "description": "Enable this option to prevent the panel 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.",
          "values": []
        },
        {
          "name": "opacity",
          "description": "Shows the opacity slider. Enabling this will cause the formatted value to be HEXA, RGBA, or HSLA.",
          "values": []
        },
        {
          "name": "uppercase",
          "description": "By default, values are lowercase. With this attribute, values will be uppercase instead.",
          "values": []
        },
        {
          "name": "swatches",
          "description": "One or more predefined color swatches to display as presets in the color picker. Can include any format the color\npicker can parse, including HEX(A), RGB(A), HSL(A), HSV(A), and CSS color names. Each color must be separated by a\nsemicolon (`;`). Alternatively, you can pass an array of color values to this property using JavaScript.",
          "values": [{ "name": "string[]" }]
        },
        {
          "name": "form",
          "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.",
          "values": []
        },
        {
          "name": "required",
          "description": "Makes the color picker a required field.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-color-stop",
      "description": "A single color stop used by the `flow-ui-color-mapper` component.\n\n\n---\n\n\n\n\n### **Methods:**\n - **checkValidity()** - Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid.\n- **getForm(): _HTMLFormElement | null_** - Gets the associated form, if one exists.\n- **reportValidity()** - Checks for validity and shows the browser's validation message if the control is invalid.\n- **setCustomValidity(message: _string_)** - Sets a custom validation message. Pass an empty string to restore validity.",
      "attributes": [
        {
          "name": "name",
          "description": "The name of the color stop, submitted as a name/value pair with form data.",
          "values": []
        },
        {
          "name": "form",
          "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.",
          "values": []
        },
        {
          "name": "required",
          "description": "Makes the color stop as a required field.",
          "values": []
        },
        {
          "name": "options",
          "description": "The color stop options object.",
          "values": [{ "name": "ColorStopOptions" }]
        },
        {
          "name": "value",
          "description": "The current value of the color stop component.",
          "values": [{ "name": "ColorStopValue" }]
        },
        {
          "name": "size",
          "description": "The size of the color stop component.",
          "values": [
            { "name": "small" },
            { "name": "medium" },
            { "name": "large" }
          ]
        },
        {
          "name": "placeholder",
          "description": "Set to `true` to display a placeholder color stop that\nallows the user to add a new color stop.",
          "values": []
        },
        {
          "name": "fixed",
          "description": "Set to `true` to display a fixed color stop that allows the user\nto select a fixed color in a color mapping.",
          "values": []
        },
        {
          "name": "swatches",
          "description": "One or more predefined color swatches to display as presets in the color picker. Can include any format the color\npicker can parse, including HEX(A), RGB(A), HSL(A), HSV(A), and CSS color names. Each color must be separated by a\nsemicolon (`;`). Alternatively, you can pass an array of color values to this property using JavaScript.",
          "values": [{ "name": "string[]" }]
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-date-time-picker",
      "description": "Date time pickers allow users to select a date and time, or a date range, from a calendar.\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-change** - Emitted when the control's value changes.\n- **flow-ui-clear** - Emitted when the control's value is cleared.\n- **flow-ui-input** - Emitted when the control receives input.\n- **flow-ui-focus** - Emitted when the control gains focus.\n- **flow-ui-blur** - Emitted when the control loses focus.\n- **flow-ui-show** - Emitted when calendar opens.\n- **flow-ui-after-show** - Emitted after the calendar opens and all animations are complete.\n- **flow-ui-hide** - Emitted when the calendar closes.\n- **flow-ui-after-hide** - Emitted after the calendar closes and all animations are complete.\n- **flow-ui-invalid** - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n\n### **Methods:**\n - **show()** - Shows the calendar.\n- **hide()** - Hides the calendar.\n- **checkValidity()** - Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid.\n- **getForm(): _HTMLFormElement | null_** - Gets the associated form, if one exists.\n- **reportValidity()** - Checks for validity and shows the browser's validation message if the control is invalid.\n- **setCustomValidity(message: _string_)** - Sets a custom validation message. Pass an empty string to restore validity.\n- **focus(options: _FocusOptions_)** - Sets focus on the control.\n- **blur()** - Removes focus from the control.\n\n### **Slots:**\n - **label** - The input's label. Alternatively, you can use the `label` attribute.\n- **prefix** - Used to prepend a presentational icon or similar element to the picker.\n- **clear-icon** - An icon to use in lieu of the default clear icon.\n- **mode-icon** - An icon to use in lieu of the default mode icon.\n- **help-text** - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n\n### **CSS Parts:**\n - **form-control** - The form control that wraps the label, input, and help text.\n- **form-control-label** - The label's wrapper.\n- **form-control-help-text** - The help text's wrapper.\n- **combobox** - The container the wraps the prefix, mode-icon, combobox, and clear icon.\n- **prefix** - The container that wraps the prefix slot.\n- **display-input** - The element that displays the selected date/time, an `<input>` element.\n- **clear-button** - The clear button.\n- **mode-icon** - The mode icon, a `<flow-ui-icon>` element.",
      "attributes": [
        {
          "name": "name",
          "description": "The name of the date/time picker, submitted as a name/value pair with form data.",
          "values": []
        },
        {
          "name": "value",
          "description": "The current value of the date/time picker. (ISO8601 date/time string) In range mode, the value is an ISO8601\ninterval string (`<start>/<end>`) and the end is exclusive. For example, the date range October 1 to October 2 has\nthe value `2026-10-01T00:00:00.000+01:00/2026-10-03T00:00:00.000+01:00`.",
          "values": []
        },
        {
          "name": "display-mode",
          "description": "The display mode: date only, time only, or both date and time.",
          "values": [
            { "name": "date" },
            { "name": "time" },
            { "name": "datetime" }
          ]
        },
        {
          "name": "range",
          "description": "Set to `true` to select a date, datetime or time range instead of a single value, depending on `display-mode`.",
          "values": []
        },
        {
          "name": "format",
          "description": "The format to use for display as a\n[Luxon format string](https://moment.github.io/luxon/#/formatting?id=table-of-tokens). If not set, the format\ndepends on `display-mode` (`'DD'` for `date`, `'HH:mm'` for `time` and `'FFF'` for `datetime`).",
          "values": []
        },
        {
          "name": "timezone",
          "description": "Set the timezone for display. If not set the default timezone will be used. (TZ name e.g. `'Europe/London'`)",
          "values": []
        },
        {
          "name": "locale",
          "description": "Set the locale for display. If not set the default locale will be used. (e.g `'en-GB'`)",
          "values": []
        },
        {
          "name": "size",
          "description": "The date/time picker's size.",
          "values": [
            { "name": "small" },
            { "name": "medium" },
            { "name": "large" }
          ]
        },
        {
          "name": "months",
          "description": "The number of months to show side by side in the calendar.",
          "values": [{ "name": "1" }, { "name": "2" }]
        },
        {
          "name": "min",
          "description": "The earliest date that can be selected. (ISO8601 date or date/time string) Note that `min` is ignored when\n`display-mode` is `time`.",
          "values": []
        },
        {
          "name": "max",
          "description": "The latest date that can be selected. (ISO8601 date or date/time string) Note that `max` is ignored when\n`display-mode` is `time`.",
          "values": []
        },
        {
          "name": "max-range",
          "description": "The maximum length of a range. (Duration string, e.g. `'7 days'` or `'1 month'`) Supported units are milliseconds,\nseconds, minutes, hours, days, weeks and months.",
          "values": []
        },
        {
          "name": "placeholder",
          "description": "Placeholder text to show as a hint when the date/time picker is empty.",
          "values": []
        },
        {
          "name": "disabled",
          "description": "Disables the date/time picker control.",
          "values": []
        },
        {
          "name": "clearable",
          "description": "Adds a clear button when the date/time picker is not empty.",
          "values": []
        },
        {
          "name": "open",
          "description": "Indicates whether or not the calendar is open. You can toggle this attribute to show and hide the calendar, or you can\nuse the `show()` and `hide()` methods.",
          "values": []
        },
        {
          "name": "hoist",
          "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.",
          "values": []
        },
        {
          "name": "filled",
          "description": "Draws a filled select.",
          "values": []
        },
        {
          "name": "pill",
          "description": "Draws a pill-style select with rounded edges.",
          "values": []
        },
        {
          "name": "label",
          "description": "The select's label. If you need to display HTML, use the `label` slot instead.",
          "values": []
        },
        {
          "name": "placement",
          "description": "The preferred placement of the select's menu. Note that the actual placement may vary as needed to keep the listbox\ninside of the viewport.",
          "values": [
            { "name": "top" },
            { "name": "top-end" },
            { "name": "top-start" },
            { "name": "bottom" },
            { "name": "bottom-end" },
            { "name": "bottom-start" }
          ]
        },
        {
          "name": "help-text",
          "description": "The select's help text. If you need to display HTML, use the `help-text` slot instead.",
          "values": []
        },
        {
          "name": "form",
          "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.",
          "values": []
        },
        {
          "name": "required",
          "description": "The select's required attribute.",
          "values": []
        },
        {
          "name": "inline",
          "description": "Display the control in the 'inline' form control style.",
          "values": []
        },
        {
          "name": "divider",
          "description": "Indicates that the control should display a divider",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-details",
      "description": "Details show a brief summary and expand to show additional content.\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-show** - Emitted when the details opens.\n- **flow-ui-after-show** - Emitted after the details opens and all animations are complete.\n- **flow-ui-hide** - Emitted when the details closes.\n- **flow-ui-after-hide** - Emitted after the details closes and all animations are complete.\n\n### **Methods:**\n - **show()** - Shows the details.\n- **hide()** - Hides the details\n\n### **Slots:**\n - _default_ - The details' main content.\n- **summary** - The details' summary. Alternatively, you can use the `summary` attribute.\n- **expand-icon** - Optional expand icon to use instead of the default. Works best with `<flow-ui-icon>`.\n- **collapse-icon** - Optional collapse icon to use instead of the default. Works best with `<flow-ui-icon>`.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **header** - The header that wraps both the summary and the expand/collapse icon.\n- **summary** - The container that wraps the summary.\n- **summary-icon** - The container that wraps the expand/collapse icons.\n- **content** - The details content.",
      "attributes": [
        {
          "name": "open",
          "description": "Indicates whether or not the details is open. You can toggle this attribute to show and hide the details, or you\ncan use the `show()` and `hide()` methods and this attribute will reflect the details' open state.",
          "values": []
        },
        {
          "name": "summary",
          "description": "The summary to show in the header. If you need to display HTML, use the `summary` slot instead.",
          "values": []
        },
        {
          "name": "disabled",
          "description": "Disables the details so it can't be toggled.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-diagram",
      "description": "Diagrams are used to display and edit nodes connected by edges.\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-diagram-init** - Emitted when every node, port and label has been measured and the diagram is shown.\n- **flow-ui-diagram-selection-moved** - Emitted when selected nodes are moved, by dragging or through the API.\n- **flow-ui-diagram-selection-changed** - Emitted when the selected nodes or edges change.\n- **flow-ui-diagram-selection-removed** - Emitted when selected nodes and edges are deleted.\n- **flow-ui-diagram-group-membership-changed** - Emitted when nodes are moved into or out of a group.\n- **flow-ui-diagram-selection-rotated** - Emitted when a node is rotated.\n- **flow-ui-diagram-viewport-changed** - Emitted when the viewport is panned or zoomed.\n- **flow-ui-diagram-edge-drawn** - Emitted when the user draws an edge between two nodes. Deprecated: use `flow-ui-diagram-edge-draw-ended` instead, which is also emitted when a draw is canceled.\n- **flow-ui-diagram-edge-draw-ended** - Emitted when an edge-drawing gesture ends, whether an edge was created or not.\n- **flow-ui-diagram-edge-relink-started** - Emitted when the user starts dragging an end of an existing edge.\n- **flow-ui-diagram-edge-relink-ended** - Emitted when an edge relink gesture ends: the edge is reconnected, left dangling or reverted.\n- **flow-ui-diagram-clipboard-pasted** - Emitted when nodes and edges are pasted.\n- **flow-ui-diagram-node-resized** - Emitted when a node or group changes size.\n- **flow-ui-diagram-palette-item-dropped** - Emitted when a palette item is dropped onto the diagram.\n- **flow-ui-diagram-node-resize-started** - Emitted when the user starts resizing a node.\n- **flow-ui-diagram-node-resize-ended** - Emitted when the user finishes resizing a node.\n- **flow-ui-diagram-node-rotate-started** - Emitted when the user starts rotating a node.\n- **flow-ui-diagram-node-rotate-ended** - Emitted when the user finishes rotating a node.\n- **flow-ui-diagram-selection-gesture-ended** - Emitted when a selection gesture (click, box selection or select-all) ends.\n- **flow-ui-diagram-node-drag-started** - Emitted when a node drag crosses the drag threshold.\n- **flow-ui-diagram-node-drag-ended** - Emitted when the user finishes dragging nodes.\n- **flow-ui-diagram-context-menu** - Emitted when the user asks for a context menu: a right-click on a node, an edge or the background, or a touch long press on a node or an edge. The `detail` has the `target` and `targetType`, and the `clientPosition` and `flowPosition` to open the menu at. Calling `event.preventDefault()` will cancel the browser's context menu.\n\n### **Slots:**\n - **background** - A background, such as `flow-ui-diagram-background`, drawn beneath the content. A `flow-ui-diagram-background` child is assigned to it automatically. Without one, the diagram has the plain `--flow-ui-diagram-background-color`.\n- **overlay** - Elements drawn above the diagram, such as `flow-ui-diagram-minimap` and `flow-ui-diagram-zoom-controls` (assigned to it automatically when they are direct children). Pointer presses on overlay elements do not pan, select or box-select in the diagram.\n\n### **CSS Properties:**\n - **--flow-ui-diagram-background-color** - The diagram's background color. _(default: undefined)_\n- **--flow-ui-diagram-text-color** - The default text color of the diagram content. _(default: undefined)_\n- **--flow-ui-diagram-accent-color** - The accent color (selection, hover, handles). _(default: undefined)_\n- **--flow-ui-diagram-node-background-color** - The background color of default nodes. _(default: undefined)_\n- **--flow-ui-diagram-node-border-color** - The border color of default nodes. _(default: undefined)_\n- **--flow-ui-diagram-node-border-color-hover** - The border color of hovered and selected default nodes. _(default: undefined)_\n- **--flow-ui-diagram-node-border-radius** - The corner radius of default nodes. _(default: undefined)_\n- **--flow-ui-diagram-selected-node-box-shadow** - The box shadow of selected default nodes. _(default: undefined)_\n- **--flow-ui-diagram-group-border-color** - The border color of default groups. _(default: undefined)_\n- **--flow-ui-diagram-box-selection-background** - The fill of the box-selection rectangle. _(default: undefined)_\n- **--flow-ui-diagram-box-selection-border-color** - The border color of the box-selection rectangle. _(default: undefined)_\n- **--flow-ui-diagram-box-selection-border-size** - The border width of the box-selection rectangle. _(default: undefined)_\n\n### **CSS Parts:**\n - **background** - The container of the `background` slot.\n- **overlay** - The container of the `overlay` slot, covering the diagram. It does not take pointer events itself, but its slotted elements do.\n- **canvas** - The transformed layer (pan and zoom) that holds the nodes and edges.\n- **box-selection** - The rectangle drawn during a box selection.",
      "attributes": [
        {
          "name": "tabbable",
          "description": "Set to `false` to take the diagram out of the page's Tab order (`tabindex=\"-1\"` instead of `tabindex=\"0\"`). It\ncan still be clicked and focused from code, and keyboard shortcuts still work while it has focus. Focusable\ncontent inside node and edge templates keeps its own Tab stops.",
          "values": []
        },
        {
          "name": "selection-mode",
          "description": "The selection mode: how pressing nodes and edges changes the selection. In `default` mode, a press selects the\npressed node or edge alone, unless the multi-selection modifier is held. In `toggle` mode, each tap adds the\ntapped node or edge to the selection or removes it, which allows multi-selection on touch screens. Note that\nswitching modes keeps the current selection.",
          "values": [{ "name": "DiagramSelectionMode" }]
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-diagram-background",
      "description": "Diagram backgrounds are used to draw a dotted, grid or custom backdrop that follows pan and zoom.\n\n\n---\n\n\n\n\n### **Slots:**\n - _default_ - Custom background content, in place of the built-in pattern.\n\n### **CSS Properties:**\n - **--flow-ui-diagram-background-dot-color** - The color of the dots. _(default: undefined)_\n- **--flow-ui-diagram-background-line-minor-color** - The color of minor grid lines. _(default: undefined)_\n- **--flow-ui-diagram-background-line-major-color** - The color of major grid lines. _(default: undefined)_\n- **--flow-ui-diagram-background-line-minor-width** - The width of minor grid lines, in pixels (a number). _(default: undefined)_\n- **--flow-ui-diagram-background-line-major-width** - The width of major grid lines, in pixels (a number). _(default: undefined)_\n- **--flow-ui-diagram-background-line-minor-opacity** - The opacity of minor grid lines. _(default: undefined)_\n- **--flow-ui-diagram-background-line-major-opacity** - The opacity of major grid lines. _(default: undefined)_\n\n### **CSS Parts:**\n - **pattern** - The SVG that draws the built-in dots or grid.\n- **custom** - The container of slotted custom content.",
      "attributes": [
        {
          "name": "type",
          "description": "The built-in pattern. Note that it is ignored when the element has custom content.",
          "values": [{ "name": "dots" }, { "name": "grid" }]
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-diagram-base-edge",
      "description": "Base edges are used in edge templates to draw the path and arrowheads of a diagram edge.\n\n\n---\n\n\n\n\n### **Slots:**\n - _default_ - Edge labels, such as `flow-ui-diagram-edge-label`.\n\n### **CSS Properties:**\n - **--edge-stroke** - The stroke color, when the `stroke` property is not set. Defaults to `--flow-ui-diagram-edge-stroke`. _(default: undefined)_\n- **--edge-stroke-width** - The stroke width, when `stroke-width` is not set. Defaults to `2px`. _(default: undefined)_\n- **--edge-stroke-dasharray** - The stroke dash pattern, when `stroke-dasharray` is not set. Defaults to `none`. _(default: undefined)_\n- **--edge-stroke-opacity** - The stroke opacity, when `stroke-opacity` is not set. Defaults to `1`. _(default: undefined)_\n- **--edge-stroke-transition** - A transition for the stroke, for example on hover. Defaults to `none`. _(default: undefined)_\n- **--edge-relink-handle-size** - The outer diameter of the relink handles. Defaults to `--flow-ui-diagram-relink-handle-size`; the other `--edge-relink-handle-*` properties default to the matching `--flow-ui-diagram-relink-handle-*` ones. _(default: undefined)_\n- **--edge-relink-handle-stroke-width** - The width of the relink handles' ring. _(default: undefined)_\n- **--edge-relink-handle-fill** - The relink handles' fill color. _(default: undefined)_\n- **--edge-relink-handle-fill-hover** - The fill color of a hovered relink handle. _(default: undefined)_\n- **--edge-relink-handle-fill-drag** - The fill color of a dragged relink handle. _(default: undefined)_\n- **--edge-relink-handle-stroke** - The relink handles' ring color. _(default: undefined)_\n- **--edge-relink-handle-stroke-hover** - The ring color of a hovered relink handle. _(default: undefined)_\n- **--edge-relink-handle-stroke-drag** - The ring color of a dragged relink handle. _(default: undefined)_\n- **--edge-relink-handle-halo-size** - The width of the halo around a hovered or dragged relink handle. _(default: undefined)_\n- **--edge-relink-handle-halo-color-hover** - The halo color of a hovered relink handle. _(default: undefined)_\n- **--edge-relink-handle-halo-color-drag** - The halo color of a dragged relink handle. _(default: undefined)_\n\n### **CSS Parts:**\n - **svg** - The SVG element (positioned at the diagram origin, with visible overflow).\n- **path** - The visible path.\n- **hit-area** - The invisible, wider path that catches pointer events.",
      "attributes": [
        {
          "name": "routing",
          "description": "The name of the edge routing to use, which is written to the edge in the model. If not set, the edge's `routing`\nis used.",
          "values": []
        },
        {
          "name": "stroke",
          "description": "The stroke color. If not set, `--edge-stroke` is used.",
          "values": []
        },
        {
          "name": "source-arrowhead",
          "description": "The ID of the marker at the source end. Note that the edge's `sourceArrowhead` takes precedence.",
          "values": []
        },
        {
          "name": "target-arrowhead",
          "description": "The ID of the marker at the target end. Note that the edge's `targetArrowhead` takes precedence.",
          "values": []
        },
        {
          "name": "stroke-opacity",
          "description": "The stroke opacity, from 0 to 1. If not set, `--edge-stroke-opacity` is used.",
          "values": []
        },
        {
          "name": "stroke-width",
          "description": "The stroke width in pixels. If not set, `--edge-stroke-width` is used.",
          "values": []
        },
        {
          "name": "stroke-dasharray",
          "description": "The stroke dash pattern (e.g. `5 5` for a dashed line). If not set, `--edge-stroke-dasharray` is used.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-diagram-base-node",
      "description": "Base nodes are used in node templates to draw the default node look, with adornments and ports.\n\n\n---\n\n\n\n\n### **Slots:**\n - _default_ - The node's content.\n\n### **CSS Properties:**\n - **--flow-ui-diagram-node-background-color** - The node's background color. _(default: undefined)_\n- **--flow-ui-diagram-node-color** - The node's text color. _(default: undefined)_\n- **--flow-ui-diagram-node-border-color** - The node's border color. _(default: undefined)_\n- **--flow-ui-diagram-node-border-color-hover** - The node's border color on hover and while selected. _(default: undefined)_\n- **--flow-ui-diagram-node-border-radius** - The node's corner radius. _(default: undefined)_\n- **--flow-ui-diagram-node-border-size** - The node's border width. _(default: undefined)_\n- **--flow-ui-diagram-node-padding** - The padding around the content. _(default: undefined)_\n- **--flow-ui-diagram-selected-node-box-shadow** - The box shadow of the selected node. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The node box around the slotted content.",
      "attributes": [
        {
          "name": "remove-default-ports",
          "description": "Set to `true` to remove the two default ports. If not set, the diagram's `defaultNode.removePorts` setting is\nused (by default the ports are shown). Set to `false` to show them whatever the diagram's setting.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-diagram-edge-label",
      "description": "Edge labels are used in edge templates to show text or controls at a position along a diagram edge.\n\n\n---\n\n\n\n\n### **Slots:**\n - _default_ - The label's content: text, icons, buttons.\n\n### **CSS Properties:**\n - **--edge-label-padding** - The default label's padding. Defaults to `4px 8px`. _(default: undefined)_\n- **--edge-label-border-radius** - The default label's corner radius. Defaults to `4px`. _(default: undefined)_\n- **--edge-label-font-size** - The default label's font size. Defaults to `12px`. _(default: undefined)_\n- **--edge-label-background-color** - The default label's background color. Defaults to `--flow-ui-diagram-edge-label-background-color`. _(default: undefined)_\n- **--edge-label-text-color** - The default label's text color. Defaults to `--flow-ui-diagram-edge-label-color`. _(default: undefined)_\n- **--edge-label-border-width** - The default label's border width. Defaults to `1px`. _(default: undefined)_\n- **--edge-label-border-color** - The default label's border color. Defaults to `--flow-ui-diagram-edge-label-border-color`. _(default: undefined)_\n- **--edge-label-border-color-hover** - The default label's border color while the edge is hovered. Defaults to `--edge-label-border-color`, then `--flow-ui-diagram-edge-stroke-hover`. _(default: undefined)_\n- **--edge-label-border-color-selected** - The default label's border color while the edge is selected. Defaults to `--edge-label-border-color`, then `--flow-ui-diagram-edge-stroke-selected`. _(default: undefined)_\n- **--edge-label-border-transition** - The transition of the default label's border. Defaults to `border-color 0.1s ease-in-out`. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The element around the slotted content. With `variant=\"default\"`, it draws the label chip.",
      "attributes": [
        {
          "name": "id",
          "description": "The label's ID, unique within its edge. It identifies the label in the edge's `measuredLabels`. Note that the\nproperty is not reflected, so many edges can use the same label ID without duplicate DOM IDs.",
          "values": []
        },
        {
          "name": "position-on-edge",
          "description": "The label's position along the edge: a number from 0 (the source end) to 1 (the target end), or an absolute\ndistance (e.g. `30px` from the source or `-20px` from the target).",
          "values": [{ "name": "DiagramEdgeLabelPosition" }]
        },
        {
          "name": "variant",
          "description": "The label's look: `default` for the built-in label chip. If not set, the slotted content is shown as it is.",
          "values": [{ "name": "default" }]
        },
        {
          "name": "hidden",
          "description": "Set to `true` to hide the label. A hidden label stays registered but does not hold up initialization. It is\nmeasured again when shown.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-diagram-marker",
      "description": "Diagram markers are used to define SVG arrowheads for diagram edges.\n\n\n---\n\n\n\n\n### **Slots:**\n - _default_ - An `<svg>` with the `<marker>` definitions.",
      "attributes": [],
      "references": []
    },
    {
      "name": "flow-ui-diagram-minimap",
      "description": "Minimaps provide a navigable overview of a diagram, with zoom controls.\n\n\n---\n\n\n\n\n### **CSS Properties:**\n - **--flow-ui-diagram-minimap-background** - The panel background. _(default: undefined)_\n- **--flow-ui-diagram-minimap-border-color** - The panel border color. _(default: undefined)_\n- **--flow-ui-diagram-minimap-border-radius** - The panel corner radius. _(default: undefined)_\n- **--flow-ui-diagram-minimap-padding** - The panel padding. _(default: undefined)_\n- **--flow-ui-diagram-minimap-margin** - The distance from the corner of the containing block. _(default: undefined)_\n- **--flow-ui-diagram-minimap-shadow-color** - The color of the panel shadow. _(default: undefined)_\n- **--flow-ui-diagram-minimap-node-color** - The fill of the default node shapes. _(default: undefined)_\n- **--flow-ui-diagram-minimap-node-opacity** - The opacity of the default node shapes. _(default: undefined)_\n- **--flow-ui-diagram-minimap-viewport-stroke-color** - The stroke of the visible-area rectangle. _(default: undefined)_\n- **--flow-ui-diagram-minimap-viewport-stroke-width** - The stroke width of the visible-area rectangle (a number). _(default: undefined)_\n- **--flow-ui-diagram-minimap-diagram-bounds-color** - The fill of the diagram extent (virtualized mode). _(default: undefined)_\n- **--flow-ui-diagram-minimap-diagram-bounds-opacity** - The opacity of the diagram extent (virtualized mode). _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The panel that holds the map and the zoom controls.\n- **svg** - The map.\n- **node** - Each default node shape. A node's `nodeStyle.cssClass` names are added as part names too.\n- **viewport** - The rectangle of the visible area.\n- **diagram-bounds** - The diagram's extent, drawn in virtualized mode.\n- **zoom-controls** - The zoom controls.",
      "attributes": [
        {
          "name": "diagram",
          "description": "The diagram to show: the `id` of a `flow-ui-diagram` in the same document or shadow root (attribute), or the\ndiagram element (property). If not set, the minimap uses the diagram it is inside.",
          "values": [{ "name": "DiagramReference" }]
        },
        {
          "name": "position",
          "description": "The corner of the containing block to place the minimap in.",
          "values": [{ "name": "DiagramPanelPosition" }]
        },
        {
          "name": "width",
          "description": "The width of the map, in pixels.",
          "values": []
        },
        {
          "name": "height",
          "description": "The height of the map, in pixels.",
          "values": []
        },
        {
          "name": "show-zoom-controls",
          "description": "Set to `false` to hide the zoom controls below the map.",
          "values": []
        },
        {
          "name": "defer-node-updates",
          "description": "Set to `true` to update the nodes on the minimap only when a drag, resize or rotation ends, not while it is in\nprogress. The visible-area rectangle always updates. We recommend it for large diagrams.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-diagram-palette-item",
      "description": "Palette items allow users to add nodes to a diagram by dragging them from a palette.\n\n\n---\n\n\n\n\n### **Slots:**\n - _default_ - The item's content, and optionally its `flow-ui-diagram-palette-item-preview`.\n\n### **CSS Parts:**\n - **base** - The draggable container around the content.",
      "attributes": [
        {
          "name": "item",
          "description": "The node or group that dropping the item creates: its `type`, `data`, `size`, `autoSize`, `resizable`,\n`rotatable`, `angle`, `zOrder` and, for a group, `isGroup`. The node gets a new ID and the drop point as its\nposition. Set it as a property, or as JSON in the attribute.",
          "values": [{ "name": "DiagramPaletteItem" }]
        },
        {
          "name": "diagram",
          "description": "The diagram whose node templates and zoom level the item's preview uses: the `id` of a `flow-ui-diagram` in the\nsame document or shadow root (attribute), or the diagram element (property). If not set, the item uses the\ndiagram it is inside, if any.",
          "values": [{ "name": "DiagramReference" }]
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-diagram-palette-item-preview",
      "description": "Palette item previews are used with palette items to provide the drag image.\n\n\n---\n\n\n\n\n### **Slots:**\n - _default_ - Custom preview content. Without it, the preview renders the item's node through the node templates.\n\n### **CSS Parts:**\n - **base** - The off-screen container of the preview, which becomes the drag image.",
      "attributes": [],
      "references": []
    },
    {
      "name": "flow-ui-diagram-port",
      "description": "Ports are used in node templates to provide connection points for edges.\n\n\n---\n\n\n\n\n### **Slots:**\n - _default_ - Optional custom content for the port, in place of the default round shape.\n\n### **CSS Properties:**\n - **--flow-ui-diagram-port-size** - The width and height of the default port (inside its border). _(default: undefined)_\n- **--flow-ui-diagram-port-background-color** - The port's background color. _(default: undefined)_\n- **--flow-ui-diagram-port-border-color** - The port's border color. _(default: undefined)_\n- **--flow-ui-diagram-port-border-size** - The port's border width. _(default: undefined)_\n- **--flow-ui-diagram-port-border-radius** - The default port's corner radius. _(default: undefined)_\n- **--flow-ui-diagram-port-background-color-hover** - The highlighted port's background color. _(default: undefined)_\n- **--flow-ui-diagram-port-border-color-hover** - The color of the highlighted port's outer ring. _(default: undefined)_\n- **--flow-ui-diagram-port-border-size-hover** - The width of the highlighted port's outer ring. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The element that draws the port's background and border, around the slotted content.",
      "attributes": [
        {
          "name": "id",
          "description": "The port's ID, unique within its node. Edges reference it as `sourcePort` / `targetPort`.",
          "values": []
        },
        {
          "name": "type",
          "description": "The port's role: edges can start at a `source` port, end at a `target` port, or both.",
          "values": [{ "name": "DiagramPort['type']" }]
        },
        {
          "name": "side",
          "description": "The side of the node that the port is on, which is also the direction in which edges leave or enter it.",
          "values": [{ "name": "DiagramPortSide" }]
        },
        {
          "name": "origin-point",
          "description": "The point of the port that lies on the node's side.",
          "values": [{ "name": "DiagramOriginPoint" }]
        },
        {
          "name": "hidden",
          "description": "Set to `true` to hide the port. A hidden port stays registered with its last measured position, so its edges\nstay put, but it does not hold up initialization and cannot be linked to. It is measured again when shown.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-diagram-resize-adornment",
      "description": "Resize adornments allow users to resize a selected diagram node.\n\n\n---\n\n\n\n\n### **Slots:**\n - _default_ - The node's content.\n\n### **CSS Properties:**\n - **--flow-ui-diagram-resize-line-border-width** - The width of the resize lines. _(default: undefined)_\n- **--flow-ui-diagram-resize-line-border-style** - The style of the resize lines. _(default: undefined)_\n- **--flow-ui-diagram-resize-line-border-color** - The color of the resize lines. _(default: undefined)_\n- **--flow-ui-diagram-resize-handle-size** - The width and height of a corner handle. _(default: undefined)_\n- **--flow-ui-diagram-resize-handle-background-color** - A corner handle's background color. _(default: undefined)_\n- **--flow-ui-diagram-resize-handle-border-size** - A corner handle's border width. _(default: undefined)_\n- **--flow-ui-diagram-resize-handle-border-style** - A corner handle's border style. _(default: undefined)_\n- **--flow-ui-diagram-resize-handle-border-color** - A corner handle's border color. _(default: undefined)_\n- **--flow-ui-diagram-resize-handle-border-radius** - A corner handle's corner radius. _(default: undefined)_\n\n### **CSS Parts:**\n - **line** - A resize line, one for each side. Inert lines also have the `line-inactive` part.\n- **line-inactive** - A resize line for a side missing from `active-sides`.\n- **handle** - A corner resize handle.",
      "attributes": [
        {
          "name": "default-resizable",
          "description": "Set to `false` to stop users from resizing nodes that use this adornment and do not set their own `resizable`.\nIf not set, the diagram's `resize.defaultResizable` is used.",
          "values": []
        },
        {
          "name": "active-sides",
          "description": "The sides of the node that can be dragged to resize it, separated by spaces (`active-sides=\"right bottom\"`).\nLines for other sides still render, as the selection frame, but are inert. An empty value keeps the frame\nwithout any interactive resize.",
          "values": [{ "name": "readonly DiagramSide[]" }]
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-diagram-rotate-adornment",
      "description": "Rotate adornments allow users to rotate a selected diagram node.\n\n\n---\n\n\n\n\n### **Slots:**\n - _default_ - Optional custom content for the handle, in place of the built-in icon.\n\n### **CSS Properties:**\n - **--flow-ui-diagram-rotate-handle-size** - The width and height of the handle. _(default: undefined)_\n- **--flow-ui-diagram-rotate-handle-background-color** - The built-in handle's background color. _(default: undefined)_\n- **--flow-ui-diagram-rotate-handle-background-color-hover** - The built-in handle's background color on hover. _(default: undefined)_\n- **--flow-ui-diagram-rotate-handle-background-color-active** - The built-in handle's background color while rotating. _(default: undefined)_\n- **--flow-ui-diagram-rotate-handle-top** - The handle's `top` offset from the node's top edge. _(default: undefined)_\n- **--flow-ui-diagram-rotate-handle-right** - The handle's `right` offset from the node's right edge. _(default: undefined)_\n- **--flow-ui-diagram-rotate-handle-bottom** - The handle's `bottom` offset (unset by default). _(default: undefined)_\n- **--flow-ui-diagram-rotate-handle-left** - The handle's `left` offset (unset by default). _(default: undefined)_\n\n### **CSS Parts:**\n - **handle** - The rotation handle. It has the `data-rotating` attribute while pressed.",
      "attributes": [
        {
          "name": "default-rotatable",
          "description": "Set to `false` to stop users from rotating nodes that use this adornment and do not set their own `rotatable`.\nIf not set, the diagram's `nodeRotation.defaultRotatable` is used.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-diagram-zoom-controls",
      "description": "Zoom controls allow users to zoom a diagram in and out, and to fit its content into the view.\n\n\n---\n\n\n\n\n### **Methods:**\n - **zoomIn(): _void_** - Zooms in by `step`, around the center of the view.\n- **zoomOut(): _void_** - Zooms out by `step`, around the center of the view.\n- **fit(): _void_** - Fits the diagram content into the view.\n\n### **CSS Properties:**\n - **--flow-ui-diagram-nav-button-color** - The color of the buttons. _(default: undefined)_\n- **--flow-ui-diagram-nav-button-size** - The size of the button icons. _(default: undefined)_\n- **--flow-ui-diagram-nav-button-padding** - The padding around the button icons. _(default: undefined)_\n- **--flow-ui-diagram-nav-button-border-radius** - The corner radius of the buttons. _(default: undefined)_\n- **--flow-ui-diagram-nav-button-background-color-hover** - The background color of hovered buttons. _(default: undefined)_\n- **--flow-ui-diagram-nav-button-color-active** - The color of pressed buttons. _(default: undefined)_\n- **--flow-ui-diagram-nav-button-color-disabled** - The color of disabled buttons. _(default: undefined)_\n- **--flow-ui-diagram-zoom-controls-font-size** - The font size of the zoom level. _(default: undefined)_\n- **--flow-ui-diagram-zoom-controls-font-weight** - The font weight of the zoom level. _(default: undefined)_\n- **--flow-ui-diagram-zoom-controls-color** - The color of the zoom level. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The container of the buttons and the label.\n- **zoom-out** - The zoom-out button (`flow-ui-icon-button`).\n- **label** - The zoom level label.\n- **zoom-in** - The zoom-in button (`flow-ui-icon-button`).\n- **fit** - The fit-to-view button (`flow-ui-icon-button`).",
      "attributes": [
        {
          "name": "diagram",
          "description": "The diagram to control: the `id` of a `flow-ui-diagram` in the same document or shadow root (attribute), or\nthe diagram element (property). If not set, the controls use the diagram they are inside.",
          "values": [{ "name": "DiagramReference" }]
        },
        {
          "name": "step",
          "description": "The change in zoom scale for one click on zoom in or zoom out (`0.1` is 10 percentage points).",
          "values": []
        },
        {
          "name": "position",
          "description": "The corner of the containing block to place the controls in, on a panel. If not set, the controls are laid out\ninline, without a panel (as inside the minimap).",
          "values": [{ "name": "DiagramPanelPosition" }]
        },
        {
          "name": "show-fit",
          "description": "Set to `false` to hide the fit-to-view button.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-dialog",
      "description": "Dialogs, sometimes called \"modals\", appear above the page and require the user's immediate attention.\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-show** - Emitted when the dialog opens.\n- **flow-ui-after-show** - Emitted after the dialog opens and all animations are complete.\n- **flow-ui-hide** - Emitted when the dialog closes.\n- **flow-ui-after-hide** - Emitted after the dialog closes and all animations are complete.\n- **flow-ui-initial-focus** - Emitted when the dialog opens and is ready to receive focus. Calling `event.preventDefault()` will prevent focusing and allow you to set it on a different element, such as an input.\n- **flow-ui-request-close** - 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.\n- **flow-ui-tab-show** - Emitted when a tab is shown.\n- **flow-ui-tab-hide** - Emitted when a tab is hidden.\n\n### **Methods:**\n - **show()** - Shows the dialog.\n- **hide()** - Hides the dialog\n\n### **Slots:**\n - _default_ - The dialog's main content.\n- **title** - The dialog's title text. Alternatively, you can use the `title` attribute.\n- **header-actions** - Optional actions to add to the header. Works best with `<flow-ui-icon-button>`.\n- **footer** - The dialog's footer, usually one or more buttons representing various options.\n\n### **CSS Properties:**\n - **--width** - The preferred width of the dialog. Note that the dialog will shrink to accommodate smaller screens. _(default: undefined)_\n- **--header-spacing** - The amount of padding to use for the header. _(default: undefined)_\n- **--body-spacing** - The amount of padding to use for the body. _(default: undefined)_\n- **--footer-spacing** - The amount of padding to use for the footer. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **overlay** - The overlay that covers the screen behind the dialog.\n- **panel** - The dialog's panel (where the dialog and its content are rendered).\n- **header** - The dialog's header. This element wraps the title and header actions.\n- **header-actions** - Optional actions to add to the header. Works best with `<flow-ui-icon-button>`.\n- **title** - The dialog's title text.\n- **close-button** - The close button, an `<flow-ui-icon-button>`.\n- **close-button__base** - The close button's exported `base` part.\n- **body** - The dialog's body.\n- **footer** - The dialog's footer.\n- **tab-group__nav** - The tab group's navigation container where tabs are slotted in.\n- **tab-group__tabs** - The container that wraps the tabs.\n- **tab-group__active-tab-indicator** - The line that highlights the currently selected tab.\n- **tab-group__body** - The tab group's body where tab panels are slotted in.",
      "attributes": [
        {
          "name": "open",
          "description": "Indicates whether or not the dialog is open. You can toggle this attribute to show and hide the dialog, or you can\nuse the `show()` and `hide()` methods and this attribute will reflect the dialog's open state.",
          "values": []
        },
        {
          "name": "title",
          "description": "The dialog's title text. If you need to display HTML, use the `title` slot instead.",
          "values": []
        },
        {
          "name": "no-header",
          "description": "Disables the header. This will also remove the default close button, so please ensure you provide an easy,\naccessible way for users to dismiss the dialog.",
          "values": []
        },
        {
          "name": "tabbed",
          "description": "Display a tabbed-style settings dialog.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-divider",
      "description": "Dividers are used to visually separate or group elements.\n\n\n---\n\n\n\n\n### **CSS Properties:**\n - **--color** - The color of the divider. _(default: undefined)_\n- **--width** - The width of the divider. _(default: undefined)_\n- **--spacing** - The spacing of the divider. _(default: undefined)_",
      "attributes": [
        {
          "name": "vertical",
          "description": "Draws the divider in a vertical orientation.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-drawer",
      "description": "Drawers slide in from a container to expose additional options and information.\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-show** - Emitted when the drawer opens.\n- **flow-ui-after-show** - Emitted after the drawer opens and all animations are complete.\n- **flow-ui-hide** - Emitted when the drawer closes.\n- **flow-ui-after-hide** - Emitted after the drawer closes and all animations are complete.\n- **flow-ui-initial-focus** - Emitted when the drawer opens and is ready to receive focus. Calling `event.preventDefault()` will prevent focusing and allow you to set it on a different element, such as an input.\n- **flow-ui-request-close** - Emitted when the user attempts to close the drawer by clicking the close button, clicking the overlay, or pressing escape. Calling `event.preventDefault()` will keep the drawer open. Avoid using this unless closing the drawer will result in destructive behavior such as data loss.\n\n### **Methods:**\n - **show()** - Shows the drawer.\n- **hide()** - Hides the drawer\n\n### **Slots:**\n - _default_ - The drawer's main content.\n- **label** - The drawer's label. Alternatively, you can use the `label` attribute.\n- **header-actions** - Optional actions to add to the header. Works best with `<flow-ui-icon-button>`.\n- **footer** - The drawer's footer, usually one or more buttons representing various options.\n\n### **CSS Properties:**\n - **--size** - The preferred size of the drawer. This will be applied to the drawer's width or height depending on its `placement`. Note that the drawer will shrink to accommodate smaller screens. _(default: undefined)_\n- **--header-spacing** - The amount of padding to use for the header. _(default: undefined)_\n- **--body-spacing** - The amount of padding to use for the body. _(default: undefined)_\n- **--footer-spacing** - The amount of padding to use for the footer. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **overlay** - The overlay that covers the screen behind the drawer.\n- **panel** - The drawer's panel (where the drawer and its content are rendered).\n- **header** - The drawer's header. This element wraps the title and header actions.\n- **header-actions** - Optional actions to add to the header. Works best with `<flow-ui-icon-button>`.\n- **title** - The drawer's title.\n- **close-button** - The close button, an `<flow-ui-icon-button>`.\n- **close-button__base** - The close button's exported `base` part.\n- **body** - The drawer's body.\n- **footer** - The drawer's footer.",
      "attributes": [
        {
          "name": "open",
          "description": "Indicates whether or not the drawer is open. You can toggle this attribute to show and hide the drawer, or you can\nuse the `show()` and `hide()` methods and this attribute will reflect the drawer's open state.",
          "values": []
        },
        {
          "name": "label",
          "description": "The drawer's label as displayed in the header. You should always include a relevant label even when using\n`no-header`, as it is required for proper accessibility. If you need to display HTML, use the `label` slot instead.",
          "values": []
        },
        {
          "name": "placement",
          "description": "The direction from which the drawer will open.",
          "values": [
            { "name": "top" },
            { "name": "end" },
            { "name": "bottom" },
            { "name": "start" }
          ]
        },
        {
          "name": "contained",
          "description": "By default, the drawer slides out of its containing block (usually the viewport). To make the drawer slide out of\nits parent element, set this attribute and add `position: relative` to the parent.",
          "values": []
        },
        {
          "name": "no-header",
          "description": "Removes the header. This will also remove the default close button, so please ensure you provide an easy,\naccessible way for users to dismiss the drawer.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-dropdown",
      "description": "Dropdowns expose additional content that \"drops down\" in a panel.\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-show** - Emitted when the dropdown opens.\n- **flow-ui-after-show** - Emitted after the dropdown opens and all animations are complete.\n- **flow-ui-hide** - Emitted when the dropdown closes.\n- **flow-ui-after-hide** - Emitted after the dropdown closes and all animations are complete.\n\n### **Methods:**\n - **show()** - Shows the dropdown panel.\n- **hide()** - Hides the dropdown panel\n- **reposition()** - Instructs the dropdown menu to reposition. Useful when the position or size of the trigger changes when the menu\nis activated.\n\n### **Slots:**\n - _default_ - The dropdown's main content.\n- **trigger** - The dropdown's trigger, usually a `<flow-ui-button>` element.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper, an `<flow-ui-popup>` element.\n- **base__popup** - The popup's exported `popup` part. Use this to target the tooltip's popup container.\n- **trigger** - The container that wraps the trigger.\n- **panel** - The panel that gets shown when the dropdown is open.",
      "attributes": [
        {
          "name": "open",
          "description": "Indicates whether or not the dropdown is open. You can toggle this attribute to show and hide the dropdown, or you\ncan use the `show()` and `hide()` methods and this attribute will reflect the dropdown's open state.",
          "values": []
        },
        {
          "name": "placement",
          "description": "The preferred placement of the dropdown panel. Note that the actual placement may vary as needed to keep the panel\ninside of the viewport.",
          "values": [
            { "name": "" },
            { "name": "top" },
            { "name": "top-start" },
            { "name": "top-end" },
            { "name": "bottom" },
            { "name": "bottom-start" },
            { "name": "bottom-end" },
            { "name": "right" },
            { "name": "right-start" },
            { "name": "right-end" },
            { "name": "left" },
            { "name": "left-start" },
            { "name": "left-end" }
          ]
        },
        {
          "name": "disabled",
          "description": "Disables the dropdown so the panel will not open.",
          "values": []
        },
        {
          "name": "stay-open-on-select",
          "description": "By default, the dropdown is closed when an item is selected. This attribute will keep it open instead. Useful for\ndropdowns that allow for multiple interactions.",
          "values": []
        },
        {
          "name": "distance",
          "description": "The distance in pixels from which to offset the panel away from its trigger.",
          "values": []
        },
        {
          "name": "skidding",
          "description": "The distance in pixels from which to offset the panel along its trigger.",
          "values": []
        },
        {
          "name": "hoist",
          "description": "Enable this option to prevent the panel 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.",
          "values": []
        },
        {
          "name": "arrow",
          "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.",
          "values": []
        },
        {
          "name": "arrow-placement",
          "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.",
          "values": [
            { "name": "start" },
            { "name": "end" },
            { "name": "center" },
            { "name": "anchor" }
          ]
        },
        {
          "name": "arrow-padding",
          "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.",
          "values": []
        },
        {
          "name": "sync",
          "description": "Syncs the popup width or height to that of the trigger element.",
          "values": [
            { "name": "width" },
            { "name": "height" },
            { "name": "both" }
          ]
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-form-group",
      "description": "Form groups are used to group related form controls under a shared label and help text.\n\n\n---\n\n\n\n\n### **Slots:**\n - _default_ - The default slot where form controls are placed.\n- **label** - The form group's label. Alternatively, you can use the `label` attribute.\n- **help-text** - The form group's help text. Alternatively, you can use the `help-text` attribute.\n\n### **CSS Parts:**\n - **form-control** - The component's base wrapper.\n- **label** - The label's wrapper.\n- **help-text** - The help text's wrapper.\n- **control** - The container that wraps the form controls.",
      "attributes": [
        {
          "name": "label",
          "description": "The form group's label. If you need to display HTML, use the `label` slot instead.",
          "values": []
        },
        {
          "name": "size",
          "description": "The form group's size. Child form controls will automatically be set to the selected size.",
          "values": [
            { "name": "small" },
            { "name": "medium" },
            { "name": "large" }
          ]
        },
        {
          "name": "help-text",
          "description": "The form group's help text. If you need to display HTML, use the `help-text` slot instead.",
          "values": []
        },
        {
          "name": "borders",
          "description": "Set to `true` to draw the form controls in a bordered panel with a divider between each control.",
          "values": []
        },
        {
          "name": "variant",
          "description": "The form group's theme variant.",
          "values": [
            { "name": "default" },
            { "name": "warning" },
            { "name": "danger" }
          ]
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-gauge",
      "description": "Gauges are used to display a single value with an optional icon and heading.\n\n\n---\n\n\n\n\n### **Slots:**\n - **title** - The gauge's title. Alternatively, you can use the `title` attribute.\n- **value** - The gauge's value. Alternatively, you can use the `value` attribute.\n- **unit** - Alternatively, you can use the `unit` attribute.\n- **info** - The content to display in the gauge's info dialog. If this is set then an info button will be displayed in the gauge's header.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **header** - The gauge's header.\n- **header-icon** - The icon in the gauge's header.\n- **title** - The title text in the gauge's header.\n- **info-button** - The info button in the gauge's header (if info dialog configured).",
      "attributes": [
        {
          "name": "title",
          "description": "The gauge title displayed in the header. Alternatively, use the `title` slot to enhance the label with HTML markup.",
          "values": []
        },
        {
          "name": "units",
          "description": "The units of the gauge value.",
          "values": []
        },
        {
          "name": "value",
          "description": "The value to display in the gauge.",
          "values": []
        },
        {
          "name": "icon",
          "description": "The icon to display in the gauge header.",
          "values": []
        },
        {
          "name": "icon-library",
          "description": "The icon library to use for the icon. Uses default library if not specified.",
          "values": []
        },
        {
          "name": "format",
          "description": "The [D3 format](https://d3js.org/d3-format#locale_format) to use when displaying numeric values.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-icon",
      "description": "Icons are symbols that can be used to represent various options within an application.\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-load** - Emitted when the icon has loaded.\n- **flow-ui-error** - Emitted when the icon fails to load due to an error.\n\n### **CSS Parts:**\n - **svg** - The internal SVG element.",
      "attributes": [
        {
          "name": "name",
          "description": "The name of the icon to draw. Available names depend on the icon library being used.",
          "values": []
        },
        {
          "name": "src",
          "description": "An external URL of an SVG file. Be sure you trust the content you are including, as it will be executed as code and\ncan result in XSS attacks.",
          "values": []
        },
        {
          "name": "label",
          "description": "An alternate description to use for assistive devices. If omitted, the icon will be considered presentational and\nignored by assistive devices.",
          "values": []
        },
        {
          "name": "library",
          "description": "The name of a registered custom icon library.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-icon-button",
      "description": "Icons buttons are simple, icon-only buttons that can be used for actions and in toolbars.\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-blur** - Emitted when the icon button loses focus.\n- **flow-ui-focus** - Emitted when the icon button gains focus.\n\n### **Methods:**\n - **click()** - Simulates a click on the icon button.\n- **focus(options: _FocusOptions_)** - Sets focus on the icon button.\n- **blur()** - Removes focus from the icon button.\n- **hideConfirm()** - Hide the confirmation tooltip if it is showing\n- **showConfirm()** - Show the confirmation tooltip\n\n### **Slots:**\n - **tooltip** - The tooltip content to display when the user hovers over the icon button. Alternatively, you can use the `tooltip` attribute.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.",
      "attributes": [
        {
          "name": "name",
          "description": "The name of the icon to draw. Available names depend on the icon library being used.",
          "values": []
        },
        {
          "name": "library",
          "description": "The name of a registered custom icon library.",
          "values": []
        },
        {
          "name": "src",
          "description": "An external URL of an SVG file. Be sure you trust the content you are including, as it will be executed as code and\ncan result in XSS attacks.",
          "values": []
        },
        {
          "name": "href",
          "description": "When set, the underlying button will be rendered as an `<a>` with this `href` instead of a `<button>`.",
          "values": []
        },
        {
          "name": "target",
          "description": "Tells the browser where to open the link. Only used when `href` is set.",
          "values": [
            { "name": "_blank" },
            { "name": "_parent" },
            { "name": "_self" },
            { "name": "_top" }
          ]
        },
        {
          "name": "download",
          "description": "Tells the browser to download the linked file as this filename. Only used when `href` is set.",
          "values": []
        },
        {
          "name": "label",
          "description": "A description that gets read by assistive devices. For optimal accessibility, you should always include a label\nthat describes what the icon button does.",
          "values": []
        },
        {
          "name": "tooltip",
          "description": "Tooltip text that gets displayed when the user hovers over the icon button. If you need to display HTML, use the\n`tooltip` slot instead.",
          "values": []
        },
        {
          "name": "tooltip-placement",
          "description": "The preferred placement of the tooltip. Note that the actual placement may vary as needed to keep the tooltip\ninside of the viewport.",
          "values": [
            { "name": "" },
            { "name": "top" },
            { "name": "top-start" },
            { "name": "top-end" },
            { "name": "right" },
            { "name": "right-start" },
            { "name": "right-end" },
            { "name": "bottom" },
            { "name": "bottom-start" },
            { "name": "bottom-end" },
            { "name": "left" },
            { "name": "left-start" },
            { "name": "left-end" }
          ]
        },
        {
          "name": "tooltip-distance",
          "description": "The distance in pixels from which to offset the tooltip away from the icon button.",
          "values": []
        },
        {
          "name": "tooltip-skidding",
          "description": "The distance in pixels from which to offset the tooltip along the icon button.",
          "values": []
        },
        {
          "name": "disabled",
          "description": "Disables the button.",
          "values": []
        },
        {
          "name": "confirm",
          "description": "Confirmation text that gets displayed in a tooltip when the user clicks the icon button.\n If you need to display HTML, use the `confirm` slot instead.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-input",
      "description": "Inputs collect data from the user.\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-blur** - Emitted when the control loses focus.\n- **flow-ui-change** - Emitted when an alteration to the control's value is committed by the user.\n- **flow-ui-clear** - Emitted when the clear button is activated.\n- **flow-ui-focus** - Emitted when the control gains focus.\n- **flow-ui-input** - Emitted when the control receives input.\n- **flow-ui-invalid** - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n\n### **Methods:**\n - **focus(options: _FocusOptions_)** - Sets focus on the input.\n- **blur()** - Removes focus from the input.\n- **select()** - Selects all the text in the input.\n- **setSelectionRange(selectionStart: _number_, selectionEnd: _number_, selectionDirection: _'forward' | 'backward' | 'none'_)** - Sets the start and end positions of the text selection (0-based).\n- **setRangeText(replacement: _string_, start: _number_, end: _number_, selectMode: _'select' | 'start' | 'end' | 'preserve'_)** - Replaces a range of text with a new string.\n- **showPicker()** - Displays the browser picker for an input element (only works if the browser supports it for the input type).\n- **stepUp()** - Increments the value of a numeric input type by the value of the step attribute.\n- **stepDown()** - Decrements the value of a numeric input type by the value of the step attribute.\n- **checkValidity()** - Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid.\n- **getForm(): _HTMLFormElement | null_** - Gets the associated form, if one exists.\n- **reportValidity()** - Checks for validity and shows the browser's validation message if the control is invalid.\n- **setCustomValidity(message: _string_)** - Sets a custom validation message. Pass an empty string to restore validity.\n\n### **Slots:**\n - **label** - The input's label. Alternatively, you can use the `label` attribute.\n- **prefix** - Used to prepend a presentational icon or similar element to the input.\n- **suffix** - Used to append a presentational icon or similar element to the input.\n- **clear-icon** - An icon to use in lieu of the default clear icon.\n- **show-password-icon** - An icon to use in lieu of the default show password icon.\n- **hide-password-icon** - An icon to use in lieu of the default hide password icon.\n- **help-text** - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n\n### **CSS Parts:**\n - **form-control** - The form control that wraps the label, input, and help text.\n- **form-control-label** - The label's wrapper.\n- **form-control-input** - The input's wrapper.\n- **form-control-help-text** - The help text's wrapper.\n- **base** - The component's base wrapper.\n- **input** - The internal `<input>` control.\n- **prefix** - The container that wraps the prefix.\n- **clear-button** - The clear button.\n- **password-toggle-button** - The password toggle button.\n- **suffix** - The container that wraps the suffix.",
      "attributes": [
        {
          "name": "type",
          "description": "The type of input. Works the same as a native `<input>` element, but only a subset of types are supported. Defaults\nto `text`.",
          "values": [
            { "name": "" },
            { "name": "date" },
            { "name": "datetime-local" },
            { "name": "email" },
            { "name": "number" },
            { "name": "password" },
            { "name": "search" },
            { "name": "tel" },
            { "name": "text" },
            { "name": "time" },
            { "name": "url" }
          ]
        },
        {
          "name": "name",
          "description": "The name of the input, submitted as a name/value pair with form data.",
          "values": []
        },
        {
          "name": "value",
          "description": "The current value of the input, submitted as a name/value pair with form data.",
          "values": []
        },
        {
          "name": "size",
          "description": "The input's size.",
          "values": [
            { "name": "small" },
            { "name": "medium" },
            { "name": "large" }
          ]
        },
        {
          "name": "filled",
          "description": "Draws a filled input.",
          "values": []
        },
        {
          "name": "pill",
          "description": "Draws a pill-style input with rounded edges.",
          "values": []
        },
        {
          "name": "label",
          "description": "The input's label. If you need to display HTML, use the `label` slot instead.",
          "values": []
        },
        {
          "name": "help-text",
          "description": "The input's help text. If you need to display HTML, use the `help-text` slot instead.",
          "values": []
        },
        {
          "name": "clearable",
          "description": "Adds a clear button when the input is not empty.",
          "values": []
        },
        {
          "name": "disabled",
          "description": "Disables the input.",
          "values": []
        },
        {
          "name": "placeholder",
          "description": "Placeholder text to show as a hint when the input is empty.",
          "values": []
        },
        {
          "name": "format",
          "description": "Number format to use for input controls with `type=\"number\"`. (D3 format string)",
          "values": []
        },
        {
          "name": "readonly",
          "description": "Makes the input readonly.",
          "values": []
        },
        {
          "name": "password-toggle",
          "description": "Adds a button to toggle the password's visibility. Only applies to password types.",
          "values": []
        },
        {
          "name": "password-visible",
          "description": "Determines whether or not the password is currently visible. Only applies to password input types.",
          "values": []
        },
        {
          "name": "no-step-buttons",
          "description": "Hides the increment/decrement step buttons for number inputs.",
          "values": []
        },
        {
          "name": "form",
          "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.",
          "values": []
        },
        {
          "name": "required",
          "description": "Makes the input a required field.",
          "values": []
        },
        {
          "name": "pattern",
          "description": "A regular expression pattern to validate input against.",
          "values": []
        },
        {
          "name": "minlength",
          "description": "The minimum length of input that will be considered valid.",
          "values": []
        },
        {
          "name": "maxlength",
          "description": "The maximum length of input that will be considered valid.",
          "values": []
        },
        {
          "name": "min",
          "description": "The input's minimum value. Only applies to date and number input types.",
          "values": []
        },
        {
          "name": "max",
          "description": "The input's maximum value. Only applies to date and number input types.",
          "values": []
        },
        {
          "name": "step",
          "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.",
          "values": [{ "name": "any" }]
        },
        {
          "name": "autocapitalize",
          "description": "Controls whether and how text input is automatically capitalized as it is entered by the user.",
          "values": [
            { "name": "off" },
            { "name": "none" },
            { "name": "on" },
            { "name": "sentences" },
            { "name": "words" },
            { "name": "characters" }
          ]
        },
        {
          "name": "autocorrect",
          "description": "Indicates whether the browser's autocorrect feature is on or off.",
          "values": [{ "name": "off" }, { "name": "on" }]
        },
        {
          "name": "autocomplete",
          "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.",
          "values": []
        },
        {
          "name": "autofocus",
          "description": "Indicates that the input should receive focus on page load.",
          "values": []
        },
        {
          "name": "enterkeyhint",
          "description": "Used to customize the label or icon of the Enter key on virtual keyboards.",
          "values": [
            { "name": "enter" },
            { "name": "done" },
            { "name": "go" },
            { "name": "next" },
            { "name": "previous" },
            { "name": "search" },
            { "name": "send" }
          ]
        },
        {
          "name": "spellcheck",
          "description": "Enables spell checking on the input.",
          "values": []
        },
        {
          "name": "inputmode",
          "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.",
          "values": [
            { "name": "none" },
            { "name": "text" },
            { "name": "decimal" },
            { "name": "numeric" },
            { "name": "tel" },
            { "name": "search" },
            { "name": "email" },
            { "name": "url" }
          ]
        },
        {
          "name": "inline",
          "description": "Display the input in the 'inline' form control style.",
          "values": []
        },
        {
          "name": "divider",
          "description": "Indicates that the control should display a divider",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-list",
      "description": "A list of items that can be edited and reordered.\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-change** - Emitted when a list item is renamed **or**  a list item is selected (selectable lists only).\n- **flow-ui-input** - Emitted when a list item is selected (selectable lists only).\n- **flow-ui-remove** - Emitted when a list item is removed.\n- **flow-ui-drag-start** - Emitted when the user starts dragging to reorder list items.\n- **flow-ui-drag-drop** - Emitted when the user drops a list item to reorder it.\n- **flow-ui-drag-end** - Emitted when the drag-drop operation has finished or been cancelled.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.",
      "attributes": [
        {
          "name": "value",
          "description": "The current selected list item. (selectable lists only)",
          "values": []
        },
        {
          "name": "selectable",
          "description": "Set to enable radio-button-style selection of list items.",
          "values": []
        },
        {
          "name": "editable",
          "description": "Set to enable renaming of the list item text.",
          "values": []
        },
        {
          "name": "reorder",
          "description": "Set to reordering of the list item.",
          "values": []
        },
        {
          "name": "removable",
          "description": "Set to enable removing the list item.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-list-item",
      "description": "A list item. Use with `<flow-ui-list>` to create selectable, editable, and reorderable lists.\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-change** - Emitted when the list item is renamed.\n- **flow-ui-remove** - Emitted when the list item is removed. Calling `event.preventDefault()` will cancel the removal.\n- **flow-ui-select** - Emitted when a menu item is selected.\n- **flow-ui-blur** - Emitted when the control loses focus.\n- **flow-ui-focus** - Emitted when the control gains focus.\n\n### **Slots:**\n - **prefix** - The list item's prefix content.\n- **suffix** - The list item's suffix content.\n- **menu** - Specify custom menu items to add to the list item's menu.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **input** - The list item's flow-ui-input control.\n- **prefix** - The container that wraps the prefix.\n- **suffix** - The container that wraps the suffix.\n- **reorder-icon** - The list item's reorder icon.\n- **menu-button** - The list item's menu-button.",
      "attributes": [
        {
          "name": "label",
          "description": "The label text for the list item.",
          "values": []
        },
        {
          "name": "edit-menu-name",
          "description": "The 'edit' menu item text. (default: 'Edit')",
          "values": []
        },
        {
          "name": "placeholder",
          "description": "The list item input control's placeholder text.",
          "values": []
        },
        {
          "name": "value",
          "description": "The tracking value (id) for the list item.",
          "values": []
        },
        { "name": "checked", "values": [] },
        {
          "name": "editable",
          "description": "Set to enable renaming of the list item text.",
          "values": []
        },
        {
          "name": "reorder",
          "description": "Set to reordering of the list item.",
          "values": []
        },
        {
          "name": "removable",
          "description": "Set to enable removing the list item.",
          "values": []
        },
        {
          "name": "disabled",
          "description": "Set to enable removing the list item.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-map",
      "description": "Display a Flo.w map.\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-map-load** - Dispatched when the map is first initialized and has completed loading. The Flo.w Core map instance can be retrieved from the event `detail` property.\n\n### **CSS Properties:**\n - **--flow-ui-map-inset** - The inset of the `fixed` map canvas from the edges of the viewport (as for the CSS `inset` property). Defaults to `0`. Note that the canvas is clipped to the map element, so an inset is no longer needed to keep the map out of the borders of an application shell. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The base element of the component.\n- **busy-indicator** - The busy indicator flow-ui-progress-bar.\n- **control-container** - The map control containers.\n- **control-container--top-left** - The top left control container element.\n- **control-container--top-right** - The top right control container element.\n- **control-container--bottom-left** - The bottom left control container element.\n- **control-container--bottom-right** - The bottom right control container element.",
      "attributes": [
        {
          "name": "map-id",
          "description": "The map ID. If not provided, a unique ID will be generated.",
          "values": []
        },
        {
          "name": "base-style",
          "description": "The base style of the map.",
          "values": []
        },
        {
          "name": "center",
          "description": "The center of the map specified as a longitude and latitude pair.\n\nAlternatively, use the `setCenter` method to update the center of the map\nwith animation options.",
          "values": [{ "name": "[number" }, { "name": "number]" }]
        },
        {
          "name": "zoom",
          "description": "The zoom level of the map.\n\nAlternatively, use the `setCenter` method to update the center of the map\nwith animation options.",
          "values": []
        },
        {
          "name": "bearing",
          "description": "The bearing of the map.\n\nAlternatively, use the `setCenter` method to update the center of the map\nwith animation options.",
          "values": []
        },
        {
          "name": "pitch",
          "description": "The pitch of the map.\n\nAlternatively, use the `setCenter` method to update the center of the map\nwith animation options.",
          "values": []
        },
        {
          "name": "busy",
          "description": "Set to `true` to show a busy indicator on the map.\n\nNote that the busy indicator will also be automatically be shown when the map\nis loading data.",
          "values": []
        },
        {
          "name": "fixed",
          "description": "Set to `true` to keep the map canvas the size of the viewport, so that the map is not resized or re-rendered when\nthe map element is.\n\nThe canvas fills the viewport and is clipped to the map element, which shows the part of the map that lies\nwithin it. Side bars next to the map can then be opened and closed smoothly: the map stays still on screen while\nthe map element grows and shrinks. Nothing outside the map element shows the map or passes pointer events to it,\nso the surrounding panes need no `z-index` or opaque background, and popups hoisted out of them are shown above\nthe map.\n\nUse the `getVisibleBounds()` method of the `FlowCoreMap` to get the bounds of the part of the map that is\nvisible within the map element. `getBounds()` returns the bounds of the whole canvas.\n\nNote that the canvas is still resized with the viewport, and that MapLibre's own controls, such as the\nattribution, are placed at the corners of the canvas, so they are hidden unless the map element reaches that\ncorner of the viewport.",
          "values": []
        },
        {
          "name": "bearing-snap",
          "description": "Set the bearing snap threshold in degrees. Set to 0 to disable bearing snapping.",
          "values": []
        },
        {
          "name": "fade-duration",
          "description": "Set fade duration in milliseconds for the label collision fade-in/fade-out animation.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-menu",
      "description": "Menus provide a list of options for the user to choose from.\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-select** - Emitted when a menu item is selected.\n\n### **Slots:**\n - _default_ - The menu's content, including menu items, menu labels, and dividers.",
      "attributes": [],
      "references": []
    },
    {
      "name": "flow-ui-menu-item",
      "description": "Menu items provide options for the user to pick from in a menu.\n\n\n---\n\n\n\n\n### **Slots:**\n - _default_ - The menu item's label.\n- **prefix** - Used to prepend an icon or similar element to the menu item.\n- **suffix** - Used to append an icon or similar element to the menu item.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **checked-icon** - The checked icon, which is only visible when the menu item is checked.\n- **prefix** - The prefix container.\n- **label** - The menu item label.\n- **suffix** - The suffix container.\n- **submenu-icon** - The submenu icon, visible only when the menu item has a submenu (not yet implemented).",
      "attributes": [
        {
          "name": "type",
          "description": "The type of menu item to render. To use `checked`, this value must be set to `checkbox` or `radio`.",
          "values": [
            { "name": "normal" },
            { "name": "checkbox" },
            { "name": "radio" }
          ]
        },
        {
          "name": "checked",
          "description": "Draws the item in a checked state.",
          "values": []
        },
        {
          "name": "value",
          "description": "A unique value to store in the menu item. This can be used as a way to identify menu items when selected.",
          "values": []
        },
        {
          "name": "disabled",
          "description": "Draws the menu item in a disabled state, preventing selection.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-menu-label",
      "description": "Menu labels are used to describe a group of menu items.\n\n\n---\n\n\n\n\n### **Slots:**\n - _default_ - The menu label's content.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.",
      "attributes": [],
      "references": []
    },
    {
      "name": "flow-ui-mutation-observer",
      "description": "The Mutation Observer component offers a thin, declarative interface to the [`MutationObserver API`](https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver).\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-mutation** - Emitted when a mutation occurs.\n\n### **Slots:**\n - _default_ - The content to watch for mutations.",
      "attributes": [
        {
          "name": "attr",
          "description": "Watches for changes to attributes. To watch only specific attributes, separate them by a space, e.g.\n`attr=\"class id title\"`. To watch all attributes, use `*`.",
          "values": []
        },
        {
          "name": "attr-old-value",
          "description": "Indicates whether or not the attribute's previous value should be recorded when monitoring changes.",
          "values": []
        },
        {
          "name": "char-data",
          "description": "Watches for changes to the character data contained within the node.",
          "values": []
        },
        {
          "name": "char-data-old-value",
          "description": "Indicates whether or not the previous value of the node's text should be recorded.",
          "values": []
        },
        {
          "name": "child-list",
          "description": "Watches for the addition or removal of new child nodes.",
          "values": []
        },
        {
          "name": "disabled",
          "description": "Disables the observer.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-option",
      "description": "Options define the selectable items within various form controls such as [select](./flow-ui-select).\n\n\n---\n\n\n\n\n### **Slots:**\n - _default_ - The option's label.\n- **prefix** - Used to prepend an icon or similar element to the menu item.\n- **suffix** - Used to append an icon or similar element to the menu item.\n\n### **CSS Parts:**\n - **checked-icon** - The checked icon, a `<flow-ui-icon>` element.\n- **base** - The component's base wrapper.\n- **label** - The option's label.\n- **prefix** - The container that wraps the prefix.\n- **suffix** - The container that wraps the suffix.",
      "attributes": [
        {
          "name": "value",
          "description": "The option's value. When selected, the containing form control will receive this value. The value must be unique\nfrom other options in the same group. Values may not contain spaces, as spaces are used as delimiters when listing\nmultiple values.",
          "values": []
        },
        {
          "name": "disabled",
          "description": "Draws the option in a disabled state, preventing selection.",
          "values": []
        },
        {
          "name": "size",
          "description": "The options's size.",
          "values": [
            { "name": "small" },
            { "name": "medium" },
            { "name": "large" }
          ]
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-panel",
      "description": "Panels are used with split-views to create resizable areas.\n\n\n---\n\n\n\n\n### **Methods:**\n - **expand(emitEvent: _boolean_)** - Open the panel\n- **collapse(emitEvent: _boolean_)** - Close the panel\n\n### **CSS Properties:**\n - **--padding** - Padding to add to the panel when the `padding` attribute is set. Defaults to `--flow-ui-spacing-small`. _(default: undefined)_",
      "attributes": [
        {
          "name": "closed",
          "description": "Indicates whether the panel is open or closed. A closed panel hides its body and shows only its header. A panel\nheader in the `header` slot follows this state. In a [split-view pane](./flow-ui-split-view-pane), set `closed` on\nthe pane instead: the pane passes its state to a panel that is its direct child (or a child of an element that\nwraps it, such as an Angular component's host element), overriding the panel's own.",
          "values": []
        },
        {
          "name": "scrollable",
          "description": "Indicates whether the panel is scrollable. By default overflow is hidden.",
          "values": []
        },
        {
          "name": "padding",
          "description": "Indicates whether the panel body has padding.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-panel-header",
      "description": "A panel header provides a label, optional accessory controls and expand/collapse behavior for panels.\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-collapse** - Emitted when the header is collapsed by UI interaction.\n- **flow-ui-expand** - Emitted when the header is expanded by UI interaction.\n\n### **Slots:**\n - **title** - The panel header's title content. Alternatively, use the `title` attribute for plain text.\n- **prefix** - The panel header's prefix content.\n- **suffix** - The panel header's suffix content.\n- **expand-icon** - Specify an alternative `<flow-ui-icon>` to use for the expand icon.\n- **collapse-icon** - Specify an alternative `<flow-ui-icon>` to use for the collapse icon.\n\n### **CSS Properties:**\n - **padding** - The padding around the header. Defaults to `--flow-ui-panel-header-padding`. _(default: undefined)_\n- **header-height** - The height of the header. Defaults to `--flow-ui-panel-header-height`. _(default: undefined)_\n- **background-color** - The background color of the header. Defaults to `--flow-ui-panel-header-background-color`. _(default: undefined)_\n- **color** - The text color of the header. Defaults to `--flow-ui-panel-header-color`. _(default: undefined)_\n- **accessory-color** - The color of the accessory controls. Defaults to `--flow-ui-panel-header-accessory-color`. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **title** - The container that wraps the title.\n- **prefix** - The container that wraps the prefix.\n- **suffix** - The container that wraps the suffix.\n- **toggle-icon** - The container that wraps the expand/collapse icon.",
      "attributes": [
        {
          "name": "closed",
          "description": "Indicates whether or not the header is open or closed. Toggle this attribute to expand or collapse the header.\nAlternatively, call the `expand()` and `collapse()` methods.",
          "values": []
        },
        {
          "name": "title",
          "description": "The header title. Use the `title` slot instead to display HTML.",
          "values": []
        },
        {
          "name": "fixed",
          "description": "Set to `true` to hide the panel expand/collapse button.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-popup",
      "description": "Popup is a utility that lets you declaratively anchor \"popup\" containers to another element.\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-reposition** - Emitted when the popup is repositioned. This event can fire a lot, so avoid putting expensive operations in your listener or consider debouncing it.\n\n### **Methods:**\n - **reposition()** - Forces the popup to recalculate and reposition itself.\n\n### **Slots:**\n - _default_ - The popup's content.\n- **anchor** - The element the popup will be anchored to. If the anchor lives outside of the popup, you can use the `anchor` attribute or property instead.\n\n### **CSS Properties:**\n - **--arrow-size** - The size of the arrow. Note that an arrow won't be shown unless the `arrow` attribute is used. _(default: 6px)_\n- **--arrow-color** - The color of the arrow. _(default: undefined)_\n- **--auto-size-available-width** - A read-only custom property that determines the amount of width the popup can be before overflowing. Useful for positioning child elements that need to overflow. This property is only available when using `auto-size`. _(default: undefined)_\n- **--auto-size-available-height** - A read-only custom property that determines the amount of height the popup can be before overflowing. Useful for positioning child elements that need to overflow. This property is only available when using `auto-size`. _(default: undefined)_\n\n### **CSS Parts:**\n - **arrow** - The arrow's container. Avoid setting `top|bottom|left|right` properties, as these values are assigned dynamically as the popup moves. This is most useful for applying a background color to match the popup, and maybe a border or box shadow.\n- **popup** - The popup's container. Useful for setting a background color, box shadow, etc.\n- **hover-bridge** - The hover bridge element. Only available when the `hover-bridge` option is enabled.",
      "attributes": [
        {
          "name": "anchor",
          "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.",
          "values": [{ "name": "Element" }, { "name": "VirtualElement" }]
        },
        {
          "name": "active",
          "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.",
          "values": []
        },
        {
          "name": "placement",
          "description": "The preferred placement of the popup. Note that the actual placement will vary as configured to keep the\npanel inside of the viewport.",
          "values": [
            { "name": "" },
            { "name": "top" },
            { "name": "top-start" },
            { "name": "top-end" },
            { "name": "bottom" },
            { "name": "bottom-start" },
            { "name": "bottom-end" },
            { "name": "right" },
            { "name": "right-start" },
            { "name": "right-end" },
            { "name": "left" },
            { "name": "left-start" },
            { "name": "left-end" }
          ]
        },
        {
          "name": "strategy",
          "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.",
          "values": [{ "name": "absolute" }, { "name": "fixed" }]
        },
        {
          "name": "distance",
          "description": "The distance in pixels from which to offset the panel away from its anchor.",
          "values": []
        },
        {
          "name": "skidding",
          "description": "The distance in pixels from which to offset the panel along its anchor.",
          "values": []
        },
        {
          "name": "arrow",
          "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.",
          "values": []
        },
        {
          "name": "arrow-placement",
          "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.",
          "values": [
            { "name": "start" },
            { "name": "end" },
            { "name": "center" },
            { "name": "anchor" }
          ]
        },
        {
          "name": "arrow-padding",
          "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.",
          "values": []
        },
        {
          "name": "flip",
          "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.",
          "values": []
        },
        {
          "name": "flip-fallback-placements",
          "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.",
          "values": []
        },
        {
          "name": "flip-fallback-strategy",
          "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.",
          "values": [{ "name": "best-fit" }, { "name": "initial" }]
        },
        {
          "name": "flipBoundary",
          "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.",
          "values": [{ "name": "Element" }, { "name": "Element[]" }]
        },
        {
          "name": "flip-padding",
          "description": "The amount of padding, in pixels, to exceed before the flip behavior will occur.",
          "values": []
        },
        {
          "name": "shift",
          "description": "Moves the popup along the axis to keep it in view when clipped.",
          "values": []
        },
        {
          "name": "shiftBoundary",
          "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.",
          "values": [{ "name": "Element" }, { "name": "Element[]" }]
        },
        {
          "name": "shift-padding",
          "description": "The amount of padding, in pixels, to exceed before the shift behavior will occur.",
          "values": []
        },
        {
          "name": "auto-size",
          "description": "When set, this will cause the popup to automatically resize itself to prevent it from overflowing.",
          "values": [
            { "name": "horizontal" },
            { "name": "vertical" },
            { "name": "both" }
          ]
        },
        {
          "name": "sync",
          "description": "Syncs the popup's width or height to that of the anchor element.",
          "values": [
            { "name": "width" },
            { "name": "height" },
            { "name": "both" }
          ]
        },
        {
          "name": "autoSizeBoundary",
          "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.",
          "values": [{ "name": "Element" }, { "name": "Element[]" }]
        },
        {
          "name": "auto-size-padding",
          "description": "The amount of padding, in pixels, to exceed before the auto-size behavior will occur.",
          "values": []
        },
        {
          "name": "hover-bridge",
          "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.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-progress-bar",
      "description": "Progress bars are used to show the status of an ongoing operation.\n\n\n---\n\n\n\n\n### **Slots:**\n - _default_ - A label to show inside the progress indicator.\n\n### **CSS Properties:**\n - **--track-height** - The progress bar's thickness (same as the indicator's thickness). _(default: undefined)_\n- **--track-color** - The color of the track. _(default: undefined)_\n- **--indicator-color** - The color of the indicator. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **indicator** - The progress bar's indicator.\n- **label** - The progress bar's label.",
      "attributes": [
        {
          "name": "label",
          "description": "A custom label for assistive devices.",
          "values": []
        },
        {
          "name": "value",
          "description": "The current progress as a percentage, 0 to 100.",
          "values": []
        },
        {
          "name": "indeterminate",
          "description": "When true, percentage is ignored, the label is hidden, and the progress bar is drawn in an indeterminate state.",
          "values": []
        },
        {
          "name": "variant",
          "description": "The progress bar's theme variant",
          "values": [
            { "name": "primary" },
            { "name": "secondary" },
            { "name": "success" },
            { "name": "neutral" },
            { "name": "warning" },
            { "name": "danger" }
          ]
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-progress-ring",
      "description": "Progress rings are used to show the progress of a determinate operation in a circular fashion.\n\n\n---\n\n\n\n\n### **Slots:**\n - **label** - A label to show inside the ring.\n\n### **CSS Properties:**\n - **--size** - The diameter of the progress ring (cannot be a percentage). _(default: undefined)_\n- **--track-width** - The width of the track. _(default: undefined)_\n- **--track-color** - The color of the track. _(default: undefined)_\n- **--indicator-width** - The width of the indicator. Defaults to the track width. _(default: undefined)_\n- **--indicator-color** - The color of the indicator. _(default: undefined)_\n- **--indicator-transition-duration** - The duration of the indicator's transition when the value changes. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **label** - The progress ring label.",
      "attributes": [
        {
          "name": "label",
          "description": "A custom label for assistive devices.",
          "values": []
        },
        {
          "name": "value",
          "description": "The current progress as a percentage, 0 to 100.",
          "values": []
        },
        {
          "name": "indeterminate",
          "description": "If the progress animation is indeterminate",
          "values": []
        },
        {
          "name": "variant",
          "description": "The progress ring's theme variant",
          "values": [
            { "name": "primary" },
            { "name": "secondary" },
            { "name": "success" },
            { "name": "neutral" },
            { "name": "warning" },
            { "name": "danger" }
          ]
        },
        {
          "name": "size",
          "description": "The progress ring's size",
          "values": [
            { "name": "small" },
            { "name": "medium" },
            { "name": "large" }
          ]
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-query-builder",
      "description": "Query builder component\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-input** - Emitted when the control's value changes.\n- **flow-ui-change** - Emitted when the control's value changes.\n- **flow-ui-select** - Emitted when a custom menu item is selected.\n- **flow-ui-remove** - Emitted when the user attempts to remove a rule or ruleset. Calling `event.preventDefault()` will cancel the removal.\n- **flow-ui-clear** - Emitted when the user clears all rules from the tool menu.\n- **flow-ui-apply** - Emitted when the user presses 'Enter' twice in the same value input control.\n\n### **Methods:**\n - **registerFieldDefinition(type: _T_, fieldDefinition: _FlowQueryBuilderFieldDefinition<NoUnion<T>>_)** - Register a custom field definition.\n\nA field definition is used to add support for a custom field type. A field type comprises:\n\n- a field `type` string\n- a `template` function that returns the template for the field's value control\n- an array of `operators` that are valid for the field\n\n### **Slots:**\n - **label** - The component's label. Alternatively, you can use the `label` attribute.\n- **help-text** - Text that describes how to use the component. Alternatively, you can use the `help-text` attribute.",
      "attributes": [
        {
          "name": "size",
          "description": "The query builder's size.",
          "values": [
            { "name": "small" },
            { "name": "medium" },
            { "name": "large" }
          ]
        },
        {
          "name": "disabled",
          "description": "Disables the select control.",
          "values": []
        },
        {
          "name": "label",
          "description": "The query builders's label. If you need to display HTML, use the `label` slot instead.",
          "values": []
        },
        {
          "name": "help-text",
          "description": "The query builders's help text. If you need to display HTML, use the `help-text` slot instead.",
          "values": []
        },
        {
          "name": "tree-lines",
          "description": "Display tree connector lines between query rules",
          "values": []
        },
        {
          "name": "borders",
          "description": "Display control borders",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-radio",
      "description": "Radios allow the user to select a single option from a group.\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-blur** - Emitted when the control loses focus.\n- **flow-ui-focus** - Emitted when the control gains focus.\n\n### **Slots:**\n - _default_ - The radio's label.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **control** - The circular container that wraps the radio's checked state.\n- **control--checked** - The radio control when the radio is checked.\n- **checked-icon** - The checked icon, an `<flow-ui-icon>` element.\n- **label** - The container that wraps the radio's label.",
      "attributes": [
        {
          "name": "value",
          "description": "The radio's value. When selected, the radio group will receive this value.",
          "values": []
        },
        {
          "name": "size",
          "description": "The radio's size. When used inside a radio group, the size will be determined by the radio group's size so this\nattribute can typically be omitted.",
          "values": [
            { "name": "small" },
            { "name": "medium" },
            { "name": "large" }
          ]
        },
        {
          "name": "variant",
          "description": "The radio's variant color.",
          "values": [
            { "name": "primary" },
            { "name": "secondary" },
            { "name": "success" },
            { "name": "warning" },
            { "name": "danger" },
            { "name": "neutral" }
          ]
        },
        {
          "name": "disabled",
          "description": "Disables the radio.",
          "values": []
        },
        {
          "name": "reverse",
          "description": "Display the radio using a reversed style with left-aligned label.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-radio-group",
      "description": "Radio groups are used to group multiple [radios](./flow-ui-radio) so they function as a single form control.\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-change** - Emitted when the radio group's selected value changes.\n- **flow-ui-input** - Emitted when the radio group receives user input.\n- **flow-ui-invalid** - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n\n### **Methods:**\n - **checkValidity()** - Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid.\n- **getForm(): _HTMLFormElement | null_** - Gets the associated form, if one exists.\n- **reportValidity(): _boolean_** - Checks for validity and shows the browser's validation message if the control is invalid.\n- **setCustomValidity(message)** - Sets a custom validation message. Pass an empty string to restore validity.\n\n### **Slots:**\n - _default_ - The default slot where `<flow-ui-radio>` elements are placed.\n- **label** - The radio group's label. Required for proper accessibility. Alternatively, you can use the `label` attribute.\n- **help-text** - The radio group's help text. Alternatively, you can use the `help-text` attribute.\n\n### **CSS Parts:**\n - **form-control** - The form control that wraps the label, input, and help text.\n- **form-control-label** - The label's wrapper.\n- **form-control-input** - The input's wrapper.\n- **form-control-help-text** - The help text's wrapper.",
      "attributes": [
        {
          "name": "label",
          "description": "The radio group's label. Required for proper accessibility. If you need to display HTML, use the `label` slot\ninstead.",
          "values": []
        },
        {
          "name": "help-text",
          "description": "The radio groups's help text. If you need to display HTML, use the `help-text` slot instead.",
          "values": []
        },
        {
          "name": "name",
          "description": "The name of the radio group, submitted as a name/value pair with form data.",
          "values": []
        },
        {
          "name": "value",
          "description": "The current value of the radio group, submitted as a name/value pair with form data.",
          "values": []
        },
        {
          "name": "size",
          "description": "The radio group's size. This size will be applied to all child radios and radio buttons.",
          "values": [
            { "name": "small" },
            { "name": "medium" },
            { "name": "large" }
          ]
        },
        {
          "name": "reverse",
          "description": "Display the radios using a reversed style with left-aligned labels.",
          "values": []
        },
        {
          "name": "form",
          "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.",
          "values": []
        },
        {
          "name": "required",
          "description": "Ensures a child radio is checked before allowing the containing form to submit.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-range",
      "description": "Ranges allow the user to select a single value within a given range using a slider.\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-blur** - Emitted when the control loses focus.\n- **flow-ui-change** - Emitted when an alteration to the control's value is committed by the user.\n- **flow-ui-focus** - Emitted when the control gains focus.\n- **flow-ui-input** - Emitted when the control receives input.\n- **flow-ui-invalid** - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n\n### **Methods:**\n - **focus(options: _FocusOptions_)** - Sets focus on the range.\n- **blur()** - Removes focus from the range.\n- **stepUp()** - Increments the value of the range by the value of the step attribute.\n- **stepDown()** - Decrements the value of the range by the value of the step attribute.\n- **checkValidity()** - Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid.\n- **getForm(): _HTMLFormElement | null_** - Gets the associated form, if one exists.\n- **reportValidity()** - Checks for validity and shows the browser's validation message if the control is invalid.\n- **setCustomValidity(message: _string_)** - Sets a custom validation message. Pass an empty string to restore validity.\n\n### **Slots:**\n - **label** - The range's label. Alternatively, you can use the `label` attribute.\n- **help-text** - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n\n### **CSS Properties:**\n - **--thumb-size** - The size of the thumb. _(default: undefined)_\n- **--track-color-active** - The color of the portion of the track that represents the current value. _(default: undefined)_\n- **--track-color-inactive** - The of the portion of the track that represents the remaining value. _(default: undefined)_\n- **--track-height** - The height of the track. _(default: undefined)_\n- **--track-active-offset** - The point of origin of the active track. _(default: undefined)_\n\n### **CSS Parts:**\n - **form-control** - The form control that wraps the label, input, and help text.\n- **form-control-label** - The label's wrapper.\n- **form-control-input** - The range's wrapper.\n- **form-control-help-text** - The help text's wrapper.\n- **base** - The component's base wrapper.\n- **number-input** - The range's number input control.",
      "attributes": [
        {
          "name": "name",
          "description": "The name of the range, submitted as a name/value pair with form data.",
          "values": []
        },
        {
          "name": "value",
          "description": "The current value of the range, submitted as a name/value pair with form data.",
          "values": []
        },
        {
          "name": "size",
          "description": "The input's size.",
          "values": [
            { "name": "small" },
            { "name": "medium" },
            { "name": "large" }
          ]
        },
        {
          "name": "label",
          "description": "The range's label. If you need to display HTML, use the `label` slot instead.",
          "values": []
        },
        {
          "name": "help-text",
          "description": "The range's help text. If you need to display HTML, use the help-text slot instead.",
          "values": []
        },
        {
          "name": "disabled",
          "description": "Disables the range.",
          "values": []
        },
        {
          "name": "min",
          "description": "The minimum acceptable value of the range.",
          "values": []
        },
        {
          "name": "max",
          "description": "The maximum acceptable value of the range.",
          "values": []
        },
        {
          "name": "step",
          "description": "The interval at which the range will increase and decrease.",
          "values": []
        },
        {
          "name": "format",
          "description": "Number format to use for numeric display. (D3 format string)",
          "values": []
        },
        {
          "name": "form",
          "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.",
          "values": []
        },
        {
          "name": "inline",
          "description": "Display the control in the 'inline' form control style.",
          "values": []
        },
        { "name": "no-input", "values": [] }
      ],
      "references": []
    },
    {
      "name": "flow-ui-resize-observer",
      "description": "The Resize Observer component offers a thin, declarative interface to the [`ResizeObserver API`](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver).\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-resize** - Emitted when the element is resized.\n\n### **Slots:**\n - _default_ - One or more elements to watch for resizing.",
      "attributes": [
        {
          "name": "disabled",
          "description": "Disables the observer.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-select",
      "description": "Selects allow you to choose items from a menu of predefined options.\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-change** - Emitted when the control's value changes.\n- **flow-ui-clear** - Emitted when the control's value is cleared.\n- **flow-ui-input** - Emitted when the control receives input.\n- **flow-ui-focus** - Emitted when the control gains focus.\n- **flow-ui-blur** - Emitted when the control loses focus.\n- **flow-ui-show** - Emitted when the select's menu opens.\n- **flow-ui-after-show** - Emitted after the select's menu opens and all animations are complete.\n- **flow-ui-hide** - Emitted when the select's menu closes.\n- **flow-ui-after-hide** - Emitted after the select's menu closes and all animations are complete.\n- **flow-ui-invalid** - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n\n### **Methods:**\n - **show()** - Shows the listbox.\n- **hide()** - Hides the listbox.\n- **checkValidity()** - Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid.\n- **getForm(): _HTMLFormElement | null_** - Gets the associated form, if one exists.\n- **reportValidity()** - Checks for validity and shows the browser's validation message if the control is invalid.\n- **setCustomValidity(message: _string_)** - Sets a custom validation message. Pass an empty string to restore validity.\n- **focus(options: _FocusOptions_)** - Sets focus on the control.\n- **blur()** - Removes focus from the control.\n\n### **Slots:**\n - _default_ - The listbox options. Must be `<flow-option>` elements. You can use `<flow-divider>` to group items visually.\n- **label** - The input's label. Alternatively, you can use the `label` attribute.\n- **prefix** - Used to prepend a presentational icon or similar element to the combobox.\n- **suffix** - Used to append a presentational icon or similar element to the combobox.\n- **clear-icon** - An icon to use in lieu of the default clear icon.\n- **expand-icon** - The icon to show when the control is expanded and collapsed. Rotates on open and close.\n- **help-text** - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n\n### **CSS Parts:**\n - **form-control** - The form control that wraps the label, input, and help text.\n- **form-control-label** - The label's wrapper.\n- **form-control-input** - The select's wrapper.\n- **form-control-help-text** - The help text's wrapper.\n- **combobox** - The container the wraps the prefix, suffix, combobox, clear icon, and expand button.\n- **prefix** - The container that wraps the prefix slot.\n- **suffix** - The container that wraps the suffix slot.\n- **display-input** - The element that displays the selected option's label, an `<input>` element.\n- **listbox** - The listbox container where options are slotted.\n- **tags** - The container that houses option tags when `multiselect` is used.\n- **tag** - The individual tags that represent each multiselect option.\n- **tag__base** - The tag's base part.\n- **tag__content** - The tag's content part.\n- **tag__remove-button** - The tag's remove button.\n- **tag__remove-button__base** - The tag's remove button base part.\n- **clear-button** - The clear button.\n- **expand-icon** - The container that wraps the expand icon.",
      "attributes": [
        {
          "name": "name",
          "description": "The name of the select, submitted as a name/value pair with form data.",
          "values": []
        },
        {
          "name": "value",
          "description": "The current value of the select, submitted as a name/value pair with form data. When `multiple` is enabled, the\nvalue attribute will be a space-delimited list of values based on the options selected, and the value property will\nbe an array. **For this reason, values must not contain spaces.**",
          "values": [{ "name": "string[]" }]
        },
        {
          "name": "size",
          "description": "The select's size.",
          "values": [
            { "name": "small" },
            { "name": "medium" },
            { "name": "large" }
          ]
        },
        {
          "name": "placeholder",
          "description": "Placeholder text to show as a hint when the select is empty.",
          "values": []
        },
        {
          "name": "multiple",
          "description": "Allows more than one option to be selected.",
          "values": []
        },
        {
          "name": "max-options-visible",
          "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.",
          "values": []
        },
        {
          "name": "disabled",
          "description": "Disables the select control.",
          "values": []
        },
        {
          "name": "clearable",
          "description": "Adds a clear button when the select is not empty.",
          "values": []
        },
        {
          "name": "open",
          "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.",
          "values": []
        },
        {
          "name": "filled",
          "description": "Draws a filled input.",
          "values": []
        },
        {
          "name": "inline",
          "description": "Display the select in the 'inline' form control style.",
          "values": []
        },
        {
          "name": "hoist",
          "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.",
          "values": []
        },
        {
          "name": "pill",
          "description": "Draws a pill-style select with rounded edges.",
          "values": []
        },
        {
          "name": "label",
          "description": "The select's label. If you need to display HTML, use the `label` slot instead.",
          "values": []
        },
        {
          "name": "placement",
          "description": "The preferred placement of the select's menu. Note that the actual placement may vary as needed to keep the listbox\ninside of the viewport.",
          "values": [{ "name": "top" }, { "name": "bottom" }]
        },
        { "name": "sync", "values": [{ "name": "width" }, { "name": "none" }] },
        {
          "name": "help-text",
          "description": "The select's help text. If you need to display HTML, use the `help-text` slot instead.",
          "values": []
        },
        {
          "name": "form",
          "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.",
          "values": []
        },
        {
          "name": "required",
          "description": "The select's required attribute.",
          "values": []
        },
        {
          "name": "getTag",
          "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.",
          "values": [
            { "name": "(option: FlowOption, index: number) => TemplateResult" },
            { "name": "HTMLElement" }
          ]
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-split-view",
      "description": "Split-views are used to arrange two or more split-view panes in resizable areas.\n\n\n---\n\n\n\n\n### **CSS Properties:**\n - **--flow-ui-split-view-divider-color** - The color of the dividers' line. Hovered, focused and dragged dividers are highlighted with `--flow-ui-divider-color-active`. _(default: undefined)_\n\n### **CSS Parts:**\n - **divider** - Each divider between two visible panes. The divider's line is its background.",
      "attributes": [
        {
          "name": "no-drag-close",
          "description": "Set to `true` to stop dragging a divider from closing panes.",
          "values": []
        },
        {
          "name": "vertical",
          "description": "Set to `true` for vertically-arranged panes. By default, panes are laid out horizontally.",
          "values": []
        },
        {
          "name": "dragging",
          "description": "Indicates whether the user is dragging a divider. The split view sets this attribute while a drag is in progress,\nfor example to style the cursor with `flow-ui-split-view[dragging] *`. Note that setting it has no effect on the\ndrag.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-split-view-divider",
      "description": "Split-view dividers are used internally by split-views to resize the panes on either side of them.\n\n\n---\n\n\n",
      "attributes": [
        {
          "name": "disabled",
          "description": "Disables the divider. The split view sets it when the divider cannot move a pane or close one.",
          "values": []
        },
        {
          "name": "vertical",
          "description": "Set to `true` to draw the divider for vertically-arranged panes. The split view sets it.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-split-view-pane",
      "description": "Split-view panes are used with split-views to create resizable areas.\n\n\n---\n\n\n\n\n### **Methods:**\n - **expand(emitEvent)** - Opens the pane.\n- **collapse(emitEvent)** - Closes the pane.",
      "attributes": [
        {
          "name": "vertical",
          "description": "Set to `true` for vertically-arranged panes.",
          "values": []
        },
        {
          "name": "size",
          "description": "The pane's preferred size, in CSS px or % units, `auto` or `content`. If not set, the pane is `auto`: it shares the\nspace the other panes leave with the other `auto` panes. Note that dragging a divider changes the pane's preferred\nsize but not this attribute; changing the attribute resets the preferred size to the new value.\n\nWith `content`, the preferred size is the natural size of the pane's content, within `min-size` and `max-size`,\nand follows the content as it changes, for example a card that appears or a header that wraps. The pane never\ngrows past its content to fill spare space, even when it is the only open pane. Dragging the divider can make it\nsmaller than its content, which then scrolls, but never larger; the dragged size lasts until this attribute\nchanges, and the pane still shrinks if the content becomes smaller. A [panel](./flow-ui-panel) or\n[tab group](./flow-ui-tab-group) child fills the pane, so a scrollable panel scrolls its body, and a tab group its\ntab panels. A pane whose content is a split view has no natural size: there, `content` is treated as `auto` (the\npanes inside the nested split view can be content-sized).",
          "values": []
        },
        {
          "name": "min-size",
          "description": "The pane's minimum size, in CSS px or % units.",
          "values": []
        },
        {
          "name": "max-size",
          "description": "The pane's maximum size, in CSS px or % units.",
          "values": []
        },
        {
          "name": "closed-size",
          "description": "The pane's size when closed, in CSS px or % units, or `content`. If not set (or `0px`), a closed pane takes no\nspace. Note that only panes with a non-zero or `content` closed size can be closed by dragging a divider, or by\nthe split view when the panes do not fit.\n\nWith `content`, a closed pane takes the natural size of what its content still renders while closed. A\n[panel](./flow-ui-panel) child hides its body when closed, so the pane closes to the panel's header at any font\nsize, however the header wraps. A [tab group](./flow-ui-tab-group) child hides its header, body and footer, so the\npane closes to the tab bar: its width for tabs at the `start` or `end` in a horizontal split view, or its height\nfor tabs at the `top` or `bottom` in a vertical one. A panel or tab group inside an element that wraps it, such as\nan Angular component's host element, does the same. Other content can hide parts of itself with CSS on the pane's\n`closed` attribute, for example `flow-ui-split-view-pane[closed] .details { display: none }`. In a horizontal\nsplit view, the closed size is the natural width, for a panel the width of its header on one line. A pane whose\ncontent is a split view has no natural size: there, `content` is treated as `0px`.",
          "values": []
        },
        {
          "name": "closed",
          "description": "Indicates whether the split-view pane is open or closed. Toggle this attribute to expand or collapse the pane,\nor call the `expand()` and `collapse()` methods. Note that the split view also closes panes that have a\n`closed-size` when they do not fit, and opens them again when there is space, without emitting events. A\n[panel](./flow-ui-panel) or [tab group](./flow-ui-tab-group) that is a direct child of the pane, or a child of an\nelement that wraps it, follows this state, whatever changes it.",
          "values": []
        },
        {
          "name": "divider",
          "description": "Has no effect. The split view draws a divider between each pair of visible panes.",
          "values": []
        },
        {
          "name": "hidden",
          "description": "Set to `true` to hide the pane. The other panes take its space, and give it back when it is shown again. Note\nthat a pane without an `id` gets its space back from wherever there is room, not necessarily from where it went.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-split-view-toggle-button",
      "description": "Split-view toggle buttons are used to open and close the split-view pane that contains them.\n\n\n---\n\n\n\n\n### **Methods:**\n - **toggle(emitEvents)** - Toggles the button's state. Unless `emitEvents` is `false`, it emits `flow-ui-collapse` or `flow-ui-expand`,\nwhich closes or opens the parent split-view pane.",
      "attributes": [
        {
          "name": "name",
          "description": "The icon to use for the button.",
          "values": []
        },
        {
          "name": "library",
          "description": "The icon library to use for the button icon.",
          "values": []
        },
        {
          "name": "closed",
          "description": "Indicates whether the parent split-view pane is closed. The button follows the pane's state; clicking it opens or\ncloses the pane.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-stepper",
      "description": "Steppers are used to guide users through a series of steps in a wizard-like UI.\n\n\n---\n\n\n\n\n### **Methods:**\n - **setComplete(panelName: _string_, complete: _boolean_)** - Mark the specified panel as `complete`",
      "attributes": [],
      "references": []
    },
    {
      "name": "flow-ui-stepper-panel",
      "description": "Stepper panels provide a single page in a stepper to guide users through a series of steps.\n\n\n---\n\n\n",
      "attributes": [
        {
          "name": "name",
          "description": "The tab panel's name.",
          "values": []
        },
        {
          "name": "sub-title",
          "description": "The stepper panel's sub-title.",
          "values": []
        },
        {
          "name": "active",
          "description": "When true, the stepper panel will be shown.",
          "values": []
        },
        {
          "name": "complete",
          "description": "When true, the stepper panel is marked as complete",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-switch",
      "description": "Switches allow the user to toggle an option on or off.\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-blur** - Emitted when the control loses focus.\n- **flow-ui-change** - Emitted when the control's checked state changes.\n- **flow-ui-input** - Emitted when the control receives input.\n- **flow-ui-focus** - Emitted when the control gains focus.\n- **flow-ui-invalid** - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n\n### **Methods:**\n - **click()** - Simulates a click on the switch.\n- **focus(options: _FocusOptions_)** - Sets focus on the switch.\n- **blur()** - Removes focus from the switch.\n- **checkValidity()** - Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid.\n- **getForm(): _HTMLFormElement | null_** - Gets the associated form, if one exists.\n- **reportValidity()** - Checks for validity and shows the browser's validation message if the control is invalid.\n- **setCustomValidity(message: _string_)** - Sets a custom validation message. Pass an empty string to restore validity.\n\n### **Slots:**\n - _default_ - The switch's label.\n\n### **CSS Properties:**\n - **--width** - The width of the switch. _(default: undefined)_\n- **--height** - The height of the switch. _(default: undefined)_\n- **--thumb-size** - The size of the thumb. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **control** - The control that houses the switch's thumb.\n- **thumb** - The switch's thumb.\n- **label** - The switch's label.",
      "attributes": [
        {
          "name": "name",
          "description": "The name of the switch, submitted as a name/value pair with form data.",
          "values": []
        },
        {
          "name": "value",
          "description": "The current value of the switch, submitted as a name/value pair with form data.",
          "values": []
        },
        {
          "name": "size",
          "description": "The switch's size.",
          "values": [
            { "name": "small" },
            { "name": "medium" },
            { "name": "large" }
          ]
        },
        {
          "name": "disabled",
          "description": "Disables the switch.",
          "values": []
        },
        {
          "name": "checked",
          "description": "Draws the switch in a checked state.",
          "values": []
        },
        {
          "name": "form",
          "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.",
          "values": []
        },
        {
          "name": "required",
          "description": "Makes the switch a required field.",
          "values": []
        },
        {
          "name": "help-text",
          "description": "The select's help text. If you need to display HTML, use the `help-text` slot instead.",
          "values": []
        },
        {
          "name": "divider",
          "description": "Indicates that the control should display a divider",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-tab",
      "description": "Tabs are used inside [tab groups](./flow-ui-tab-group) to represent and activate [tab panels](./flow-ui-tab-panel).\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-close** - Emitted when the tab is closable and the close button is activated.\n\n### **Methods:**\n - **focus(options: _FocusOptions_)** - Sets focus to the tab.\n- **blur()** - Removes focus from the tab.\n\n### **Slots:**\n - _default_ - The tab's label.\n- **icon** - An icon shown with the label, such as a `<flow-ui-icon>`. With `icon-only`, the tab shows only the icon and the label is shown as a tooltip.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **icon** - The container of the `icon` slot.\n- **label** - The container of the label.\n- **close-button** - The close button, an `<flow-ui-icon-button>`.\n- **close-button__base** - The close button's exported `base` part.",
      "attributes": [
        {
          "name": "panel",
          "description": "The name of the tab panel this tab is associated with. The panel must be located in the same tab group.",
          "values": []
        },
        {
          "name": "active",
          "description": "Draws the tab in an active state.",
          "values": []
        },
        {
          "name": "icon-only",
          "description": "Display tab icon only. Label text is displayed as a tooltip",
          "values": []
        },
        {
          "name": "closable",
          "description": "Makes the tab closable and shows a close button.",
          "values": []
        },
        {
          "name": "disabled",
          "description": "Disables the tab and prevents selection.",
          "values": []
        },
        { "name": "label", "description": "Full title of tab", "values": [] },
        {
          "name": "tooltip-placement",
          "description": "The preferred placement of the tooltip. Note that the actual placement may vary as needed to keep the tooltip\ninside of the viewport.",
          "values": [
            { "name": "" },
            { "name": "top" },
            { "name": "top-start" },
            { "name": "top-end" },
            { "name": "right" },
            { "name": "right-start" },
            { "name": "right-end" },
            { "name": "bottom" },
            { "name": "bottom-start" },
            { "name": "bottom-end" },
            { "name": "left" },
            { "name": "left-start" },
            { "name": "left-end" }
          ]
        },
        {
          "name": "tooltip-distance",
          "description": "The distance in pixels from which to offset the tooltip away from the icon button.",
          "values": []
        },
        {
          "name": "tooltip-skidding",
          "description": "The distance in pixels from which to offset the tooltip along the icon button.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-tab-group",
      "description": "Tab groups organize content into a container that shows one section at a time.\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-tab-show** - Emitted when a tab is shown.\n- **flow-ui-tab-hide** - Emitted when a tab is hidden.\n\n### **Methods:**\n - **show(panel: _string_)** - Shows the specified tab panel.\n\n### **Slots:**\n - _default_ - Used for grouping tab panels in the tab group. Must be `<flow-ui-tab-panel>` elements.\n- **nav** - Used for grouping tabs in the tab group. Must be `<flow-ui-tab>` elements.\n- **nav-accessories-start** - Content before the tabs in the tab bar, such as a split-view toggle button. Shown when the tab group is closed.\n- **nav-accessories-end** - Content after the tabs in the tab bar, such as icon buttons. Shown when the tab group is closed.\n- **header** - Content above the tab panels, such as an application title. Hidden when the tab group is closed.\n- **footer** - Content below the tab panels. Hidden when the tab group is closed.\n\n### **CSS Properties:**\n - **--indicator-color** - The color of the active tab indicator. _(default: undefined)_\n- **--track-color** - The color of the indicator's track (the line that separates tabs from panels). _(default: undefined)_\n- **--track-width** - The width of the indicator's track (the line that separates tabs from panels). _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **nav** - The tab group's navigation container where tabs are slotted in.\n- **tabs** - The container that wraps the tabs.\n- **active-tab-indicator** - The line that highlights the currently selected tab.\n- **nav-accessories-start** - The container of the `nav-accessories-start` slot.\n- **nav-accessories-end** - The container of the `nav-accessories-end` slot.\n- **accessory-divider** - The dividers between the nav accessories and the tabs, `<flow-ui-divider>` elements.\n- **header** - The `header` slot.\n- **body** - The tab group's body where tab panels are slotted in.\n- **footer** - The `footer` slot.\n- **scroll-button** - The previous/next scroll buttons that show when tabs are scrollable, an `<flow-ui-icon-button>`.\n- **scroll-button--start** - The starting scroll button.\n- **scroll-button--end** - The ending scroll button.\n- **scroll-button__base** - The scroll button's exported `base` part.",
      "attributes": [
        {
          "name": "placement",
          "description": "The placement of the tabs.",
          "values": [
            { "name": "top" },
            { "name": "bottom" },
            { "name": "start" },
            { "name": "end" }
          ]
        },
        {
          "name": "activation",
          "description": "When set to auto, navigating tabs with the arrow keys will instantly show the corresponding tab panel. When set to\nmanual, the tab will receive focus but will not show until the user presses spacebar or enter.",
          "values": [{ "name": "auto" }, { "name": "manual" }]
        },
        {
          "name": "no-scroll-controls",
          "description": "Disables the scroll arrows that appear when tabs overflow.",
          "values": []
        },
        {
          "name": "control-split-view",
          "description": "Set to `true` to allow parent split-view pane to be automatically opened and closed when tabs are clicked.",
          "values": []
        },
        {
          "name": "closed",
          "description": "Indicates whether the tab group is open or closed. A closed tab group shows only its tab bar (the tabs and the nav\naccessories) and hides its header, tab panels and footer. In a [split-view pane](./flow-ui-split-view-pane), set\n`closed` on the pane instead: the pane passes its state to a tab group that is its direct child (or a child of an\nelement that wraps it, such as an Angular component's host element), overriding the tab group's own. While the\npane animates closed, the header, tab panels and footer keep their size and cannot be focused, and they are hidden\nwhen the animation ends.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-tab-panel",
      "description": "Tab panels are used inside [tab groups](./flow-ui-tab-group) to display tabbed content.\n\n\n---\n\n\n\n\n### **Slots:**\n - _default_ - The tab panel's content.\n\n### **CSS Properties:**\n - **--padding** - The tab panel's padding. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.",
      "attributes": [
        {
          "name": "name",
          "description": "The tab panel's name.",
          "values": []
        },
        {
          "name": "active",
          "description": "When true, the tab panel will be shown.",
          "values": []
        },
        {
          "name": "scrollable",
          "description": "Indicates whether the panel is scrollable. By default overflow is hidden.",
          "values": []
        },
        {
          "name": "padding",
          "description": "Indicates whether the panel body has padding.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-tag",
      "description": "Tags are used as labels to organize things or to indicate a selection.\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-remove** - Emitted when the remove button is activated.\n\n### **Slots:**\n - _default_ - The tag's content.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **content** - The tag's content.\n- **remove-button** - The tag's remove button, an `<flow-ui-icon-button>`.\n- **remove-button__base** - The remove button's exported `base` part.",
      "attributes": [
        {
          "name": "variant",
          "description": "The tag's theme variant.",
          "values": [
            { "name": "" },
            { "name": "primary" },
            { "name": "secondary" },
            { "name": "success" },
            { "name": "neutral" },
            { "name": "warning" },
            { "name": "danger" },
            { "name": "text" }
          ]
        },
        {
          "name": "size",
          "description": "The tag's size.",
          "values": [
            { "name": "small" },
            { "name": "medium" },
            { "name": "large" }
          ]
        },
        {
          "name": "pill",
          "description": "Draws a pill-style tag with rounded edges.",
          "values": []
        },
        {
          "name": "removable",
          "description": "Makes the tag removable and shows a remove button.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-textarea",
      "description": "Textareas collect data from the user and allow multiple lines of text.\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-blur** - Emitted when the control loses focus.\n- **flow-ui-change** - Emitted when an alteration to the control's value is committed by the user.\n- **flow-ui-focus** - Emitted when the control gains focus.\n- **flow-ui-input** - Emitted when the control receives input.\n- **flow-ui-invalid** - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n\n### **Methods:**\n - **focus(options: _FocusOptions_)** - Sets focus on the textarea.\n- **blur()** - Removes focus from the textarea.\n- **select()** - Selects all the text in the textarea.\n- **scrollPosition(position: _{ top?: number; left?: number }_): _{ top: number; left: number } | undefined_** - Gets or sets the textarea's scroll position.\n- **setSelectionRange(selectionStart: _number_, selectionEnd: _number_, selectionDirection: _'forward' | 'backward' | 'none'_)** - Sets the start and end positions of the text selection (0-based).\n- **setRangeText(replacement: _string_, start: _number_, end: _number_, selectMode: _'select' | 'start' | 'end' | 'preserve'_)** - Replaces a range of text with a new string.\n- **checkValidity()** - Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid.\n- **getForm(): _HTMLFormElement | null_** - Gets the associated form, if one exists.\n- **reportValidity()** - Checks for validity and shows the browser's validation message if the control is invalid.\n- **setCustomValidity(message: _string_)** - Sets a custom validation message. Pass an empty string to restore validity.\n\n### **Slots:**\n - **label** - The textarea's label. Alternatively, you can use the `label` attribute.\n- **help-text** - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n\n### **CSS Parts:**\n - **form-control** - The form control that wraps the label, input, and help text.\n- **form-control-label** - The label's wrapper.\n- **form-control-input** - The input's wrapper.\n- **form-control-help-text** - The help text's wrapper.\n- **base** - The component's base wrapper.\n- **textarea** - The internal `<textarea>` control.",
      "attributes": [
        {
          "name": "name",
          "description": "The name of the textarea, submitted as a name/value pair with form data.",
          "values": []
        },
        {
          "name": "value",
          "description": "The current value of the textarea, submitted as a name/value pair with form data.",
          "values": []
        },
        {
          "name": "size",
          "description": "The textarea's size.",
          "values": [
            { "name": "small" },
            { "name": "medium" },
            { "name": "large" }
          ]
        },
        {
          "name": "filled",
          "description": "Draws a filled textarea.",
          "values": []
        },
        {
          "name": "label",
          "description": "The textarea's label. If you need to display HTML, use the `label` slot instead.",
          "values": []
        },
        {
          "name": "help-text",
          "description": "The textarea's help text. If you need to display HTML, use the `help-text` slot instead.",
          "values": []
        },
        {
          "name": "placeholder",
          "description": "Placeholder text to show as a hint when the input is empty.",
          "values": []
        },
        {
          "name": "rows",
          "description": "The number of rows to display by default.",
          "values": []
        },
        {
          "name": "resize",
          "description": "Controls how the textarea can be resized.",
          "values": [
            { "name": "none" },
            { "name": "vertical" },
            { "name": "auto" }
          ]
        },
        {
          "name": "disabled",
          "description": "Disables the textarea.",
          "values": []
        },
        {
          "name": "readonly",
          "description": "Makes the textarea readonly.",
          "values": []
        },
        {
          "name": "form",
          "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.",
          "values": []
        },
        {
          "name": "required",
          "description": "Makes the textarea a required field.",
          "values": []
        },
        {
          "name": "minlength",
          "description": "The minimum length of input that will be considered valid.",
          "values": []
        },
        {
          "name": "maxlength",
          "description": "The maximum length of input that will be considered valid.",
          "values": []
        },
        {
          "name": "autocapitalize",
          "description": "Controls whether and how text input is automatically capitalized as it is entered by the user.",
          "values": [
            { "name": "off" },
            { "name": "none" },
            { "name": "on" },
            { "name": "sentences" },
            { "name": "words" },
            { "name": "characters" }
          ]
        },
        {
          "name": "autocorrect",
          "description": "Indicates whether the browser's autocorrect feature is on or off.",
          "values": []
        },
        {
          "name": "autocomplete",
          "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.",
          "values": []
        },
        {
          "name": "autofocus",
          "description": "Indicates that the input should receive focus on page load.",
          "values": []
        },
        {
          "name": "enterkeyhint",
          "description": "Used to customize the label or icon of the Enter key on virtual keyboards.",
          "values": [
            { "name": "enter" },
            { "name": "done" },
            { "name": "go" },
            { "name": "next" },
            { "name": "previous" },
            { "name": "search" },
            { "name": "send" }
          ]
        },
        {
          "name": "spellcheck",
          "description": "Enables spell checking on the textarea.",
          "values": []
        },
        {
          "name": "inputmode",
          "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.",
          "values": [
            { "name": "none" },
            { "name": "text" },
            { "name": "decimal" },
            { "name": "numeric" },
            { "name": "tel" },
            { "name": "search" },
            { "name": "email" },
            { "name": "url" }
          ]
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-timer",
      "description": "The timer component is the primary time control for Flo.w time-based visualizations.\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-change** - Emitted when the control's value changes.\n- **flow-ui-input** - Emitted when the control receives input.",
      "attributes": [
        {
          "name": "value",
          "description": "The value of the timer. (ISO8601 date/time string)",
          "values": []
        },
        {
          "name": "timezone",
          "description": "The timezone to use for display. (IANA timezone string).\nIf not set, the timezone will be the browser's local timezone.",
          "values": []
        },
        {
          "name": "locale",
          "description": "The locale to use for display. (IETF BCP 47 language tag).\nIf not set, the locale will be the browser's default locale.",
          "values": []
        },
        {
          "name": "running",
          "description": "Set to `true` to start the timer running.",
          "values": []
        },
        {
          "name": "dateFormat",
          "description": "The date format to use for display as a [Luxon format string](https://moment.github.io/luxon/#/formatting?id=table-of-tokens).",
          "values": []
        },
        {
          "name": "dayFormat",
          "description": "The day format to use for display as a [Luxon format string](https://moment.github.io/luxon/#/formatting?id=table-of-tokens).",
          "values": []
        },
        {
          "name": "timeFormat",
          "description": "The time format to use for display as a [Luxon format string](https://moment.github.io/luxon/#/formatting?id=table-of-tokens).",
          "values": []
        },
        {
          "name": "zoneFormat",
          "description": "The timezone format to use for display as a [Luxon format string](https://moment.github.io/luxon/#/formatting?id=table-of-tokens).",
          "values": []
        },
        {
          "name": "major-step",
          "description": "The major step size to use for the timer step controls.",
          "values": []
        },
        {
          "name": "minor-step",
          "description": "The minor step size to use for the timer step controls.",
          "values": []
        },
        {
          "name": "update-interval",
          "description": "The timer update interval.",
          "values": []
        },
        {
          "name": "hide-zone",
          "description": "Set to `true` to hide the timezone display.",
          "values": []
        },
        {
          "name": "placement",
          "description": "The placement of the calendar popup relative to the timer control.",
          "values": [
            { "name": "top" },
            { "name": "top-end" },
            { "name": "top-start" },
            { "name": "bottom" },
            { "name": "bottom-start" },
            { "name": "bottom-end" }
          ]
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-tool-button",
      "description": "Tool buttons are used to build [toolbars](./flow-ui-tool-button-group). They can be used to toggle a state or perform an action.\n\n\n---\n\n\n\n\n### **Methods:**\n - **focus(options: _FocusOptions_)** - Sets focus on the radio button.\n- **blur()** - Removes focus from the radio button.\n\n### **Slots:**\n - **prefix** - A presentational prefix icon or similar element.\n- **suffix** - A presentational suffix icon or similar element.\n- **icon** - The tool button's icon.\n- **tooltip** - The tool button's tooltip content.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **button** - The button element.\n- **button--checked** - The button element when checked.\n- **tooltip** - The tooltip element.\n- **prefix** - The prefix slot.\n- **suffix** - The suffix slot.\n- **label-wrapper** - The wrapper that contains the icon and label.\n- **icon** - The icon slot. Alternatively, you can use the `icon` attribute.\n- **label** - The button label.",
      "attributes": [
        {
          "name": "value",
          "description": "The radio's value. When selected, the radio group will receive this value.",
          "values": []
        },
        {
          "name": "disabled",
          "description": "Disables the radio button.",
          "values": []
        },
        {
          "name": "size",
          "description": "The radio button's size. When used inside a radio group, the size will be determined by the radio group's size so\nthis attribute can typically be omitted.",
          "values": [
            { "name": "x-small" },
            { "name": "small" },
            { "name": "medium" },
            { "name": "large" }
          ]
        },
        {
          "name": "pill",
          "description": "Draws a pill-style radio button with rounded edges.",
          "values": []
        },
        {
          "name": "outline",
          "description": "Draws an tool button with with an outline.",
          "values": []
        },
        {
          "name": "tooltip",
          "description": "Tooltip text that gets displayed when the user hovers over the button. If you need to display HTML, use the\n`tooltip` slot instead.",
          "values": []
        },
        {
          "name": "tooltip-placement",
          "description": "The preferred placement of the tooltip. Note that the actual placement may vary as needed to keep the tooltip\ninside of the viewport.",
          "values": [
            { "name": "" },
            { "name": "top" },
            { "name": "top-start" },
            { "name": "top-end" },
            { "name": "right" },
            { "name": "right-start" },
            { "name": "right-end" },
            { "name": "bottom" },
            { "name": "bottom-start" },
            { "name": "bottom-end" },
            { "name": "left" },
            { "name": "left-start" },
            { "name": "left-end" }
          ]
        },
        {
          "name": "tooltip-distance",
          "description": "The distance in pixels from which to offset the tooltip away from the button.",
          "values": []
        },
        {
          "name": "tooltip-skidding",
          "description": "The distance in pixels from which to offset the tooltip along the button.",
          "values": []
        },
        {
          "name": "icon",
          "description": "Specify an icon by name to display above the tool button label. Available names depend on the icon library being used.",
          "values": []
        },
        {
          "name": "icon-src",
          "description": "Specify an external SVG file to display as an icon above the tool button label.",
          "values": []
        },
        {
          "name": "icon-library",
          "description": "The name of a registered custom icon library.",
          "values": []
        },
        {
          "name": "variant",
          "values": [
            { "name": "primary" },
            { "name": "secondary" },
            { "name": "success" },
            { "name": "warning" },
            { "name": "danger" },
            { "name": "neutral" }
          ]
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-tool-button-group",
      "description": "Tool buttons groups are used to build toolbars from [tool buttons](./flow-ui-tool-button).\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-change** - Emitted when the control's value changes.\n- **flow-ui-input** - Emitted when the control receives input.\n\n### **Methods:**\n - **checkValidity()** - Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid.\n- **getForm(): _HTMLFormElement | null_** - Gets the associated form, if one exists.\n- **reportValidity(): _boolean_** - Checks for validity and shows the browser's validation message if the control is invalid.\n- **setCustomValidity(message)** - Sets a custom validation message. Pass an empty string to restore validity.",
      "attributes": [
        {
          "name": "label",
          "description": "The radio group's label. Required for proper accessibility. If you need to display HTML, use the `label` slot\ninstead.",
          "values": []
        },
        {
          "name": "name",
          "description": "The name of the tool button group, submitted as a name/value pair with form data.",
          "values": []
        },
        {
          "name": "value",
          "description": "The current value of the tool button group, submitted as a name/value pair with form data. When `checkbox` mode is enabled, the\nvalue will be a space-delimited list of values based on the checked tool buttons.",
          "values": [{ "name": "string[]" }]
        },
        {
          "name": "size",
          "description": "The radio group's size. This size will be applied to all child radios and radio buttons.",
          "values": [
            { "name": "x-small" },
            { "name": "small" },
            { "name": "medium" },
            { "name": "large" }
          ]
        },
        {
          "name": "pill",
          "description": "Draws pill-style tool buttons. This style will be applied to all child tool buttons.",
          "values": []
        },
        {
          "name": "outline",
          "description": "Draws outline-style tool buttons. This style will be applied to all child tool buttons.",
          "values": []
        },
        {
          "name": "variant",
          "values": [
            { "name": "primary" },
            { "name": "secondary" },
            { "name": "success" },
            { "name": "warning" },
            { "name": "danger" },
            { "name": "neutral" }
          ]
        },
        {
          "name": "form",
          "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.",
          "values": []
        },
        {
          "name": "vertical",
          "description": "Use vertical layout for the radio group.",
          "values": []
        },
        {
          "name": "mode",
          "values": [{ "name": "radio" }, { "name": "checkbox" }]
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-tooltip",
      "description": "Tooltips display additional information based on a specific action.\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-show** - Emitted when the tooltip begins to show.\n- **flow-ui-after-show** - Emitted after the tooltip has shown and all animations are complete.\n- **flow-ui-hide** - Emitted when the tooltip begins to hide.\n- **flow-ui-after-hide** - Emitted after the tooltip has hidden and all animations are complete.\n\n### **Methods:**\n - **show()** - Shows the tooltip.\n- **hide()** - Hides the tooltip\n\n### **Slots:**\n - _default_ - The tooltip's target element. Avoid slotting in more than one element, as subsequent ones will be ignored.\n- **content** - The content to render in the tooltip. Alternatively, you can use the `content` attribute.\n\n### **CSS Properties:**\n - **--max-width** - The maximum width of the tooltip before its content will wrap. _(default: undefined)_\n- **--hide-delay** - The amount of time to wait before hiding the tooltip when hovering. _(default: undefined)_\n- **--show-delay** - The amount of time to wait before showing the tooltip when hovering. _(default: undefined)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper, an `<flow-ui-popup>` element.\n- **base__popup** - The popup's exported `popup` part. Use this to target the tooltip's popup container.\n- **base__arrow** - The popup's exported `arrow` part. Use this to target the tooltip's arrow.\n- **body** - The tooltip's body where its content is rendered.",
      "attributes": [
        {
          "name": "content",
          "description": "The tooltip's content. If you need to display HTML, use the `content` slot instead.",
          "values": []
        },
        {
          "name": "placement",
          "description": "The preferred placement of the tooltip. Note that the actual placement may vary as needed to keep the tooltip\ninside of the viewport.",
          "values": [
            { "name": "" },
            { "name": "top" },
            { "name": "top-start" },
            { "name": "top-end" },
            { "name": "right" },
            { "name": "right-start" },
            { "name": "right-end" },
            { "name": "bottom" },
            { "name": "bottom-start" },
            { "name": "bottom-end" },
            { "name": "left" },
            { "name": "left-start" },
            { "name": "left-end" }
          ]
        },
        {
          "name": "disabled",
          "description": "Disables the tooltip so it won't show when triggered.",
          "values": []
        },
        {
          "name": "distance",
          "description": "The distance in pixels from which to offset the tooltip away from its target.",
          "values": []
        },
        {
          "name": "open",
          "description": "Indicates whether or not the tooltip is open. You can use this in lieu of the show/hide methods.",
          "values": []
        },
        {
          "name": "skidding",
          "description": "The distance in pixels from which to offset the tooltip along its target.",
          "values": []
        },
        {
          "name": "trigger",
          "description": "Controls how the tooltip is activated. Possible options include `click`, `hover`, `focus`, and `manual`. Multiple\noptions can be passed by separating them with a space. When manual is used, the tooltip must be activated\nprogrammatically.",
          "values": []
        },
        {
          "name": "hoist",
          "description": "Enable this option to prevent the tooltip from being clipped when the component is placed inside a container with\n`overflow: auto|hidden|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all,\nscenarios.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-tree",
      "description": "Trees allow you to display a hierarchical list of selectable [tree items](./flow-ui-tree-item). Items with children can be expanded and collapsed as desired by the user.\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-input** - Emitted when a tree item is selected or deselected.\n- **flow-ui-change** - Emitted when a tree item is selected or deselected.\n\n### **Slots:**\n - _default_ - The default slot.\n- **expand-icon** - The icon to show when the tree item is expanded. Works best with `<flow-ui-icon>`.\n- **collapse-icon** - The icon to show when the tree item is collapsed. Works best with `<flow-ui-icon>`.\n\n### **CSS Properties:**\n - **--indent-size** - The size of the indentation for nested items. _(default: var(--flow-ui-spacing-medium))_\n- **--indent-guide-color** - The color of the indentation line. _(default: var(--flow-ui-color-neutral-200))_\n- **--indent-guide-offset** - The amount of vertical spacing to leave between the top and bottom of the indentation line's starting position. _(default: 0)_\n- **--indent-guide-style** - The style of the indentation line, e.g. solid, dotted, dashed. _(default: solid)_\n- **--indent-guide-width** - The width of the indentation line. _(default: 0)_\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.",
      "attributes": [
        {
          "name": "value",
          "description": "The current value of the select, submitted as a name/value pair with form data. When `multiple` is enabled, the\nvalue attribute will be a space-delimited list of values based on the options selected, and the value property will\nbe an array. **For this reason, values must not contain spaces.**",
          "values": [{ "name": "string[]" }]
        },
        {
          "name": "selection-mode",
          "description": "The selection behavior of the tree. Single selection allows only one node to be selected at a time. Multiple\ndisplays checkboxes and allows more than one node to be selected. Leaf allows only leaf nodes to be selected.",
          "values": [
            { "name": "single" },
            { "name": "multiple" },
            { "name": "leaf" }
          ]
        },
        {
          "name": "size",
          "description": "The select's size.",
          "values": [
            { "name": "small" },
            { "name": "medium" },
            { "name": "large" }
          ]
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-tree-item",
      "description": "A tree item serves as a hierarchical node that lives inside a [tree](./flow-ui-tree).\n\n\n---\n\n\n\n\n### **Events:**\n - **flow-ui-expand** - Emitted when the tree item expands.\n- **flow-ui-after-expand** - Emitted after the tree item expands and all animations are complete.\n- **flow-ui-collapse** - Emitted when the tree item collapses.\n- **flow-ui-after-collapse** - Emitted after the tree item collapses and all animations are complete.\n- **flow-ui-lazy-change** - Emitted when the tree item's lazy state changes.\n- **flow-ui-lazy-load** - Emitted when a lazy item is selected. Use this event to asynchronously load data and append items to the tree before expanding. After appending new items, remove the `lazy` attribute to remove the loading state and update the tree.\n\n### **Methods:**\n - **getChildrenItems({ includeDisabled = true }: _{ includeDisabled?: boolean }_): _FlowUiTreeItem[]_** - Gets all the nested tree items in this node.\n\n### **Slots:**\n - _default_ - The default slot.\n- **expand-icon** - The icon to show when the tree item is expanded.\n- **collapse-icon** - The icon to show when the tree item is collapsed.\n\n### **CSS Parts:**\n - **base** - The component's base wrapper.\n- **item** - The tree item's container. This element wraps everything except slotted tree item children.\n- **item--disabled** - Applied when the tree item is disabled.\n- **item--expanded** - Applied when the tree item is expanded.\n- **item--indeterminate** - Applied when the selection is indeterminate.\n- **item--selected** - Applied when the tree item is selected.\n- **indentation** - The tree item's indentation container.\n- **expand-button** - The container that wraps the tree item's expand button and spinner.\n- **label** - The tree item's label.\n- **children** - The container that wraps the tree item's nested children.\n- **checkbox** - The checkbox that shows when using multiselect.\n- **checkbox__base** - The checkbox's exported `base` part.\n- **checkbox__control** - The checkbox's exported `control` part.\n- **checkbox__control--checked** - The checkbox's exported `control--checked` part.\n- **checkbox__control--indeterminate** - The checkbox's exported `control--indeterminate` part.\n- **checkbox__checked-icon** - The checkbox's exported `checked-icon` part.\n- **checkbox__indeterminate-icon** - The checkbox's exported `indeterminate-icon` part.\n- **checkbox__label** - The checkbox's exported `label` part.",
      "attributes": [
        {
          "name": "value",
          "description": "The tree-items's value. When selected, the containing tree control will receive this value. The value must be unique\nfrom other tree-items in the same tree. Values may not contain spaces, as spaces are used as delimiters when listing\nmultiple values.",
          "values": []
        },
        {
          "name": "expanded",
          "description": "Expands the tree item.",
          "values": []
        },
        {
          "name": "selected",
          "description": "Draws the tree item in a selected state.",
          "values": []
        },
        {
          "name": "disabled",
          "description": "Disables the tree item.",
          "values": []
        },
        {
          "name": "lazy",
          "description": "Enables lazy loading behavior.",
          "values": []
        },
        {
          "name": "size",
          "description": "The select's size.",
          "values": [
            { "name": "small" },
            { "name": "medium" },
            { "name": "large" }
          ]
        },
        {
          "name": "hidden",
          "description": "Set to `true` to visually hide the tree item.",
          "values": []
        }
      ],
      "references": []
    },
    {
      "name": "flow-ui-visually-hidden",
      "description": "The visually hidden utility makes content accessible to assistive devices without displaying it on the screen.\n\n\n---\n\n\n\n\n### **Slots:**\n - _default_ - The content to be visually hidden.",
      "attributes": [],
      "references": []
    }
  ]
}
