import type { DefineComponent } from "vue"; import type { WaIcon } from "../../components/icon/icon.js"; import type { WaCheckbox, Event } from "../../components/checkbox/checkbox.js"; import type { WaSpinner } from "../../components/spinner/spinner.js"; import type { WaTreeItem } from "../../components/tree-item/tree-item.js"; import type { WaCarouselItem } from "../../components/carousel-item/carousel-item.js"; import type { WaButton } from "../../components/button/button.js"; import type { WaAnimatedImage } from "../../components/animated-image/animated-image.js"; import type { WaAnimation } from "../../components/animation/animation.js"; import type { WaAvatar } from "../../components/avatar/avatar.js"; import type { WaBadge } from "../../components/badge/badge.js"; import type { WaBreadcrumbItem } from "../../components/breadcrumb-item/breadcrumb-item.js"; import type { WaBreadcrumb } from "../../components/breadcrumb/breadcrumb.js"; import type { WaButtonGroup } from "../../components/button-group/button-group.js"; import type { WaCallout } from "../../components/callout/callout.js"; import type { WaCard } from "../../components/card/card.js"; import type { WaCarousel } from "../../components/carousel/carousel.js"; import type { WaInput, InputEvent, Event } from "../../components/input/input.js"; import type { WaPopup } from "../../components/popup/popup.js"; import type { WaColorPicker, Event, InputEvent, CustomEvent } from "../../components/color-picker/color-picker.js"; import type { WaComparison, Event } from "../../components/comparison/comparison.js"; import type { WaTooltip } from "../../components/tooltip/tooltip.js"; import type { WaCopyButton } from "../../components/copy-button/copy-button.js"; import type { WaDetails } from "../../components/details/details.js"; import type { WaDialog } from "../../components/dialog/dialog.js"; import type { WaDivider } from "../../components/divider/divider.js"; import type { WaDrawer } from "../../components/drawer/drawer.js"; import type { WaDropdownItem } from "../../components/dropdown-item/dropdown-item.js"; import type { WaDropdown } from "../../components/dropdown/dropdown.js"; import type { WaFormatBytes } from "../../components/format-bytes/format-bytes.js"; import type { WaFormatDate } from "../../components/format-date/format-date.js"; import type { WaFormatNumber } from "../../components/format-number/format-number.js"; import type { WaInclude } from "../../components/include/include.js"; import type { WaIntersectionObserver } from "../../components/intersection-observer/intersection-observer.js"; import type { WaMutationObserver } from "../../components/mutation-observer/mutation-observer.js"; import type { WaNumberInput, InputEvent, Event } from "../../components/number-input/number-input.js"; import type { WaTag } from "../../components/tag/tag.js"; import type { WaSelect, InputEvent, Event } from "../../components/select/select.js"; import type { WaOption } from "../../components/option/option.js"; import type { WaPopover } from "../../components/popover/popover.js"; import type { WaProgressBar } from "../../components/progress-bar/progress-bar.js"; import type { WaProgressRing } from "../../components/progress-ring/progress-ring.js"; import type { WaQrCode } from "../../components/qr-code/qr-code.js"; import type { WaRadio } from "../../components/radio/radio.js"; import type { WaRadioGroup, InputEvent, Event } from "../../components/radio-group/radio-group.js"; import type { WaRating } from "../../components/rating/rating.js"; import type { WaRelativeTime } from "../../components/relative-time/relative-time.js"; import type { WaScroller } from "../../components/scroller/scroller.js"; import type { WaResizeObserver } from "../../components/resize-observer/resize-observer.js"; import type { WaSkeleton } from "../../components/skeleton/skeleton.js"; import type { WaSlider, Event, FocusEvent, InputEvent } from "../../components/slider/slider.js"; import type { WaSwitch, Event, InputEvent } from "../../components/switch/switch.js"; import type { WaTab } from "../../components/tab/tab.js"; import type { WaSplitPanel } from "../../components/split-panel/split-panel.js"; import type { WaTabPanel } from "../../components/tab-panel/tab-panel.js"; import type { WaTabGroup } from "../../components/tab-group/tab-group.js"; import type { WaTextarea } from "../../components/textarea/textarea.js"; import type { WaTree } from "../../components/tree/tree.js"; import type { WaZoomableFrame, Event } from "../../components/zoomable-frame/zoomable-frame.js"; import type { WaMarkdown } from "../../components/markdown/markdown.js"; import type { WaPage } from "../../components/page/page.js"; type WaIconProps = { /** The name of the icon to draw. Available names depend on the icon library being used. */ name?: WaIcon["name"]; /** The family of icons to choose from. For Font Awesome Free, valid options include `classic` and `brands`. For Font Awesome Pro subscribers, valid options include, `classic`, `sharp`, `duotone`, `sharp-duotone`, and `brands`. A valid kit code must be present to show pro icons via CDN. You can set `` to provide one. */ family?: WaIcon["family"]; /** The name of the icon's variant. For Font Awesome, valid options include `thin`, `light`, `regular`, and `solid` for the `classic` and `sharp` families. Some variants require a Font Awesome Pro subscription. Custom icon libraries may or may not use this property. */ variant?: WaIcon["variant"]; /** Sets the width of the icon to match the cropped SVG viewBox. This operates like the Font `fa-width-auto` class. */ "auto-width"?: WaIcon["autoWidth"]; /** Swaps the opacity of duotone icons. */ "swap-opacity"?: WaIcon["swapOpacity"]; /** An external URL of an SVG file. Be sure you trust the content you are including, as it will be executed as code and can result in XSS attacks. */ src?: WaIcon["src"]; /** An alternate description to use for assistive devices. If omitted, the icon will be considered presentational and ignored by assistive devices. */ label?: WaIcon["label"]; /** The name of a registered custom icon library. */ library?: WaIcon["library"]; /** Sets the rotation degree of the icon */ rotate?: WaIcon["rotate"]; /** Sets the flip direction of the icon along the 'x' (horizontal), 'y' (vertical), or 'both' axes. */ flip?: WaIcon["flip"]; /** Sets the animation for the icon */ animation?: WaIcon["animation"]; /** */ dir?: WaIcon["dir"]; /** */ lang?: WaIcon["lang"]; /** */ "did-ssr"?: WaIcon["didSSR"]; /** */ initialReflectedProperties?: WaIcon["initialReflectedProperties"]; /** */ internals?: WaIcon["internals"]; /** Emitted when the icon has loaded. When using `spriteSheet: true` this will not emit. */ "onwa-load"?: (e: CustomEvent) => void; /** Emitted when the icon fails to load due to an error. When using `spriteSheet: true` this will not emit. */ "onwa-error"?: (e: CustomEvent) => void; }; type WaCheckboxProps = { /** */ title?: WaCheckbox["title"]; /** The name of the checkbox, submitted as a name/value pair with form data. */ name?: WaCheckbox["name"]; /** The value of the checkbox, submitted as a name/value pair with form data. */ value?: WaCheckbox["value"]; /** The checkbox's size. */ size?: WaCheckbox["size"]; /** Disables the checkbox. */ disabled?: WaCheckbox["disabled"]; /** Draws the checkbox in an indeterminate state. This is usually applied to checkboxes that represents a "select all/none" behavior when associated checkboxes have a mix of checked and unchecked states. */ indeterminate?: WaCheckbox["indeterminate"]; /** The default value of the form control. Primarily used for resetting the form control. */ checked?: WaCheckbox["defaultChecked"]; /** Makes the checkbox a required field. */ required?: WaCheckbox["required"]; /** The checkbox's hint. If you need to display HTML, use the `hint` slot instead. */ hint?: WaCheckbox["hint"]; /** */ "custom-error"?: WaCheckbox["customError"]; /** */ dir?: WaCheckbox["dir"]; /** */ lang?: WaCheckbox["lang"]; /** */ "did-ssr"?: WaCheckbox["didSSR"]; /** */ input?: WaCheckbox["input"]; /** */ _checked?: WaCheckbox["_checked"]; /** Draws the checkbox in a checked state. */ checked?: WaCheckbox["checked"]; /** */ assumeInteractionOn?: WaCheckbox["assumeInteractionOn"]; /** */ valueHasChanged?: WaCheckbox["valueHasChanged"]; /** */ hasInteracted?: WaCheckbox["hasInteracted"]; /** */ states?: WaCheckbox["states"]; /** */ emitInvalid?: WaCheckbox["emitInvalid"]; /** */ labels?: WaCheckbox["labels"]; /** By default, form controls are associated with the nearest containing `
` element. This attribute allows you to place the form control outside of a form and associate it with the form that has this `id`. The form must be in the same document or shadow root for this to work. */ form?: WaCheckbox["form"]; /** */ validity?: WaCheckbox["validity"]; /** */ willValidate?: WaCheckbox["willValidate"]; /** */ validationMessage?: WaCheckbox["validationMessage"]; /** Override this to change where constraint validation popups are anchored. */ validationTarget?: WaCheckbox["validationTarget"]; /** */ allValidators?: WaCheckbox["allValidators"]; /** */ initialReflectedProperties?: WaCheckbox["initialReflectedProperties"]; /** */ internals?: WaCheckbox["internals"]; /** Emitted when the checked state changes. */ onchange?: (e: CustomEvent) => void; /** Emitted when the checkbox loses focus. */ onblur?: (e: CustomEvent) => void; /** Emitted when the checkbox gains focus. */ onfocus?: (e: CustomEvent) => void; /** Emitted when the checkbox receives input. */ oninput?: (e: CustomEvent) => void; /** Emitted when the form control has been checked for validity and its constraints aren't satisfied. */ "onwa-invalid"?: (e: CustomEvent) => void; }; type WaSpinnerProps = { /** */ dir?: WaSpinner["dir"]; /** */ lang?: WaSpinner["lang"]; /** */ "did-ssr"?: WaSpinner["didSSR"]; /** */ initialReflectedProperties?: WaSpinner["initialReflectedProperties"]; /** */ internals?: WaSpinner["internals"]; }; type WaTreeItemProps = { /** Expands the tree item. */ expanded?: WaTreeItem["expanded"]; /** Draws the tree item in a selected state. */ selected?: WaTreeItem["selected"]; /** Disables the tree item. */ disabled?: WaTreeItem["disabled"]; /** Enables lazy loading behavior. */ lazy?: WaTreeItem["lazy"]; /** */ dir?: WaTreeItem["dir"]; /** */ lang?: WaTreeItem["lang"]; /** */ "did-ssr"?: WaTreeItem["didSSR"]; /** */ indeterminate?: WaTreeItem["indeterminate"]; /** */ isLeaf?: WaTreeItem["isLeaf"]; /** */ loading?: WaTreeItem["loading"]; /** */ selectable?: WaTreeItem["selectable"]; /** */ defaultSlot?: WaTreeItem["defaultSlot"]; /** */ childrenSlot?: WaTreeItem["childrenSlot"]; /** */ itemElement?: WaTreeItem["itemElement"]; /** */ childrenContainer?: WaTreeItem["childrenContainer"]; /** */ expandButtonSlot?: WaTreeItem["expandButtonSlot"]; /** */ initialReflectedProperties?: WaTreeItem["initialReflectedProperties"]; /** */ internals?: WaTreeItem["internals"]; /** Emitted when the tree item expands. */ "onwa-expand"?: (e: CustomEvent) => void; /** Emitted after the tree item expands and all animations are complete. */ "onwa-after-expand"?: (e: CustomEvent) => void; /** Emitted when the tree item collapses. */ "onwa-collapse"?: (e: CustomEvent) => void; /** Emitted after the tree item collapses and all animations are complete. */ "onwa-after-collapse"?: (e: CustomEvent) => void; /** Emitted when the tree item's lazy state changes. */ "onwa-lazy-change"?: (e: CustomEvent) => void; /** 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. */ "onwa-lazy-load"?: (e: CustomEvent) => void; }; type WaCarouselItemProps = { /** */ dir?: WaCarouselItem["dir"]; /** */ lang?: WaCarouselItem["lang"]; /** */ "did-ssr"?: WaCarouselItem["didSSR"]; /** */ initialReflectedProperties?: WaCarouselItem["initialReflectedProperties"]; /** */ internals?: WaCarouselItem["internals"]; }; type WaButtonProps = { /** */ title?: WaButton["title"]; /** The button's theme variant. Defaults to `neutral` if not within another element with a variant. */ variant?: WaButton["variant"]; /** The button's visual appearance. */ appearance?: WaButton["appearance"]; /** The button's size. */ size?: WaButton["size"]; /** Draws the button with a caret. Used to indicate that the button triggers a dropdown menu or similar behavior. */ "with-caret"?: WaButton["withCaret"]; /** Only required for SSR. Set to `true` if you're slotting in a `start` element so the server-rendered markup includes the start slot before the component hydrates on the client. */ "with-start"?: WaButton["withStart"]; /** Only required for SSR. Set to `true` if you're slotting in an `end` element so the server-rendered markup includes the end slot before the component hydrates on the client. */ "with-end"?: WaButton["withEnd"]; /** Disables the button. */ disabled?: WaButton["disabled"]; /** Draws the button in a loading state. */ loading?: WaButton["loading"]; /** Draws a pill-style button with rounded edges. */ pill?: WaButton["pill"]; /** The type of button. Note that the default value is `button` instead of `submit`, which is opposite of how native `