import type { DefineComponent } from "vue"; import type { WaIcon } from "../../components/icon/icon.js"; import type { WaAccordionItem } from "../../components/accordion-item/accordion-item.js"; import type { WaSpinner } from "../../components/spinner/spinner.js"; import type { WaStep } from "../../components/step/step.js"; import type { WaCheckbox, Event } from "../../components/checkbox/checkbox.js"; import type { WaTreeItem } from "../../components/tree-item/tree-item.js"; import type { WaCarouselItem } from "../../components/carousel-item/carousel-item.js"; import type { WaAccordion } from "../../components/accordion/accordion.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 { WaButton } from "../../components/button/button.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 { WaCheckboxGroup } from "../../components/checkbox-group/checkbox-group.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 { WaKnownDate, InputEvent, Event } from "../../components/known-date/known-date.js"; import type { WaMarkdown } from "../../components/markdown/markdown.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 { WaOtpInput, InputEvent, Event } from "../../components/otp-input/otp-input.js"; import type { WaPage } from "../../components/page/page.js"; import type { WaPagination } from "../../components/pagination/pagination.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 { WaRandomContent } from "../../components/random-content/random-content.js"; import type { WaRating } from "../../components/rating/rating.js"; import type { WaRelativeTime } from "../../components/relative-time/relative-time.js"; import type { WaResizeObserver } from "../../components/resize-observer/resize-observer.js"; import type { WaScroller } from "../../components/scroller/scroller.js"; import type { WaSkeleton } from "../../components/skeleton/skeleton.js"; import type { WaSlider, Event, FocusEvent, InputEvent } from "../../components/slider/slider.js"; import type { WaSplitPanel } from "../../components/split-panel/split-panel.js"; import type { WaStepper, WaStepChangeEvent } from "../../components/stepper/stepper.js"; import type { WaSwitch, Event, InputEvent } from "../../components/switch/switch.js"; import type { WaTabPanel } from "../../components/tab-panel/tab-panel.js"; import type { WaTab } from "../../components/tab/tab.js"; import type { WaTabGroup } from "../../components/tab-group/tab-group.js"; import type { WaTagInput, InputEvent, Event } from "../../components/tag-input/tag-input.js"; import type { WaTextarea } from "../../components/textarea/textarea.js"; import type { WaTimeInput, InputEvent, Event } from "../../components/time-input/time-input.js"; import type { WaToastItem } from "../../components/toast-item/toast-item.js"; import type { WaToast } from "../../components/toast/toast.js"; import type { WaTree } from "../../components/tree/tree.js"; import type { WaZoomableFrame, Event } from "../../components/zoomable-frame/zoomable-frame.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 icon canvas — the box the icon is centered within. Unset renders as `fixed` (1.25em × 1em); `auto` hugs the icon's width; `square` is 1.25em × 1.25em; `roomy` is 1.5em × 1.5em. Mirrors Font Awesome's `fa-fixed-width`, `fa-width-auto`, `fa-canvas-square`, and `fa-canvas-roomy`. Scales with `font-size`. */ canvas?: WaIcon["canvas"]; /** @deprecated Use `canvas="auto"` instead. - 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 WaAccordionItemProps = { /** The text label shown in the header. If you need HTML, use the `label` slot instead. */ label?: WaAccordionItem["label"]; /** Expands the accordion item. */ expanded?: WaAccordionItem["expanded"]; /** Disables the accordion item so it can't be toggled. */ disabled?: WaAccordionItem["disabled"]; /** */ dir?: WaAccordionItem["dir"]; /** */ lang?: WaAccordionItem["lang"]; /** */ "did-ssr"?: WaAccordionItem["didSSR"]; /** */ initialReflectedProperties?: WaAccordionItem["initialReflectedProperties"]; /** */ internals?: WaAccordionItem["internals"]; }; type WaSpinnerProps = { /** */ dir?: WaSpinner["dir"]; /** */ lang?: WaSpinner["lang"]; /** */ "did-ssr"?: WaSpinner["didSSR"]; /** */ initialReflectedProperties?: WaSpinner["initialReflectedProperties"]; /** */ internals?: WaSpinner["internals"]; }; type WaStepProps = { /** Identifies the step. Matched against the stepper's `active` attribute and used in events. */ name?: WaStep["name"]; /** Marks the step done. Shows a checkmark instead of the step number. */ completed?: WaStep["completed"]; /** Shows a loading indicator instead of the step number, e.g. while an async transition is in progress. */ loading?: WaStep["loading"]; /** Makes the step non-interactive. It can't be clicked or reached with `next()`/`goTo()`, and it renders as a disabled button when the stepper is `clickable`. */ disabled?: WaStep["disabled"]; /** Colors the step's marker with a semantic color. Upcoming `brand` steps keep a neutral outline so a default stepper reads quietly. The color is cosmetic; pair it with an icon in the `icon` slot and a clear label when a step needs to read as failed or flagged. */ variant?: WaStep["variant"]; /** Adds an animation to the step's marker to draw attention to it, e.g. the step the user should do next. */ attention?: WaStep["attention"]; /** Only required for SSR. Set to `true` if you're slotting in a `description` element, so the server-rendered markup includes it before the component hydrates on the client. */ "with-description"?: WaStep["withDescription"]; /** Draws the step as the stepper's current step. The parent `` sets this from its own `active` attribute, so you only need to set it yourself for SSR. */ active?: WaStep["active"]; /** */ role?: WaStep["role"]; /** */ dir?: WaStep["dir"]; /** */ lang?: WaStep["lang"]; /** */ "did-ssr"?: WaStep["didSSR"]; /** */ initialReflectedProperties?: WaStep["initialReflectedProperties"]; /** */ internals?: WaStep["internals"]; }; type WaCheckboxProps = { /** */ title?: WaCheckbox["title"]; /** 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"]; /** The name of the input, submitted as a name/value pair with form data. */ name?: WaCheckbox["name"]; /** */ "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 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"]; /** */ tabindex?: WaTreeItem["tabIndex"]; /** */ role?: WaTreeItem["role"]; /** */ dir?: WaTreeItem["dir"]; /** */ lang?: WaTreeItem["lang"]; /** */ "did-ssr"?: WaTreeItem["didSSR"]; /** */ indeterminate?: WaTreeItem["indeterminate"]; /** */ isLeaf?: WaTreeItem["isLeaf"]; /** */ loading?: WaTreeItem["loading"]; /** */ selectable?: WaTreeItem["selectable"]; /** */ _treeItemContext?: WaTreeItem["_treeItemContext"]; /** */ _parentTreeContext?: WaTreeItem["_parentTreeContext"]; /** */ 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 WaAccordionProps = { /** Controls how items can be expanded. `multiple` (the default) allows any number of items to be open at once. `single` allows only one item to be open at a time; opening a new item collapses the previously open one, and clicking an open item does not collapse it. `single-collapsible` is the same as `single` except that clicking the open item collapses it, so zero open items is a valid state. */ mode?: WaAccordion["mode"]; /** The location of the expand/collapse icon in child items. */ "icon-placement"?: WaAccordion["iconPlacement"]; /** The heading level for child item triggers (1–6), or "none" to omit the heading wrapper. Defaults to 3. */ "heading-level"?: WaAccordion["headingLevel"]; /** The accordion's visual appearance. */ appearance?: WaAccordion["appearance"]; /** */ dir?: WaAccordion["dir"]; /** */ lang?: WaAccordion["lang"]; /** */ "did-ssr"?: WaAccordion["didSSR"]; /** */ initialReflectedProperties?: WaAccordion["initialReflectedProperties"]; /** */ internals?: WaAccordion["internals"]; /** Emitted before an item expands. Cancelable. */ "onwa-expand"?: (e: CustomEvent<{ item: WaAccordionItem }>) => void; /** Emitted after an item finishes expanding. */ "onwa-after-expand"?: (e: CustomEvent<{ item: WaAccordionItem }>) => void; /** Emitted before an item collapses. Cancelable. */ "onwa-collapse"?: (e: CustomEvent<{ item: WaAccordionItem }>) => void; /** Emitted after an item finishes collapsing. */ "onwa-after-collapse"?: (e: CustomEvent<{ item: WaAccordionItem }>) => void; }; type WaAnimatedImageProps = { /** The path to the image to load. */ src?: WaAnimatedImage["src"]; /** A description of the image used by assistive devices. */ alt?: WaAnimatedImage["alt"]; /** Plays the animation. When this attribute is remove, the animation will pause. */ play?: WaAnimatedImage["play"]; /** */ dir?: WaAnimatedImage["dir"]; /** */ lang?: WaAnimatedImage["lang"]; /** */ "did-ssr"?: WaAnimatedImage["didSSR"]; /** */ animatedImage?: WaAnimatedImage["animatedImage"]; /** */ frozenFrame?: WaAnimatedImage["frozenFrame"]; /** */ isLoaded?: WaAnimatedImage["isLoaded"]; /** */ initialReflectedProperties?: WaAnimatedImage["initialReflectedProperties"]; /** */ internals?: WaAnimatedImage["internals"]; /** Emitted when the image loads successfully. */ "onwa-load"?: (e: CustomEvent) => void; /** Emitted when the image fails to load. */ "onwa-error"?: (e: CustomEvent) => void; }; type WaAnimationProps = { /** The name of the built-in animation to use. For custom animations, use the `keyframes` prop. */ name?: WaAnimation["name"]; /** Plays the animation. When omitted, the animation will be paused. This attribute will be automatically removed when the animation finishes or gets canceled. */ play?: WaAnimation["play"]; /** The number of milliseconds to delay the start of the animation. */ delay?: WaAnimation["delay"]; /** Determines the direction of playback as well as the behavior when reaching the end of an iteration. [Learn more](https://developer.mozilla.org/en-US/docs/Web/CSS/animation-direction) */ direction?: WaAnimation["direction"]; /** The number of milliseconds each iteration of the animation takes to complete. */ duration?: WaAnimation["duration"]; /** The easing function to use for the animation. This can be a Web Awesome easing function or a custom easing function such as `cubic-bezier(0, 1, .76, 1.14)`. */ easing?: WaAnimation["easing"]; /** The number of milliseconds to delay after the active period of an animation sequence. */ "end-delay"?: WaAnimation["endDelay"]; /** Sets how the animation applies styles to its target before and after its execution. */ fill?: WaAnimation["fill"]; /** The number of iterations to run before the animation completes. Defaults to `Infinity`, which loops. */ iterations?: WaAnimation["iterations"]; /** The offset at which to start the animation, usually between 0 (start) and 1 (end). */ "iteration-start"?: WaAnimation["iterationStart"]; /** Sets the animation's playback rate. The default is `1`, which plays the animation at a normal speed. Setting this to `2`, for example, will double the animation's speed. A negative value can be used to reverse the animation. This value can be changed without causing the animation to restart. */ "playback-rate"?: WaAnimation["playbackRate"]; /** */ dir?: WaAnimation["dir"]; /** */ lang?: WaAnimation["lang"]; /** */ "did-ssr"?: WaAnimation["didSSR"]; /** */ defaultSlot?: WaAnimation["defaultSlot"]; /** The keyframes to use for the animation. If this is set, `name` will be ignored. */ keyframes?: WaAnimation["keyframes"]; /** Gets and sets the current animation time. */ currentTime?: WaAnimation["currentTime"]; /** */ initialReflectedProperties?: WaAnimation["initialReflectedProperties"]; /** */ internals?: WaAnimation["internals"]; /** Emitted when the animation is canceled. */ "onwa-cancel"?: (e: CustomEvent) => void; /** Emitted when the animation finishes. */ "onwa-finish"?: (e: CustomEvent) => void; /** Emitted when the animation starts or restarts. */ "onwa-start"?: (e: CustomEvent) => void; }; type WaAvatarProps = { /** The image source to use for the avatar. */ image?: WaAvatar["image"]; /** A label to use to describe the avatar to assistive devices. */ label?: WaAvatar["label"]; /** Initials to use as a fallback when no image is available (1-2 characters max recommended). */ initials?: WaAvatar["initials"]; /** Indicates how the browser should load the image. */ loading?: WaAvatar["loading"]; /** The shape of the avatar. */ shape?: WaAvatar["shape"]; /** */ dir?: WaAvatar["dir"]; /** */ lang?: WaAvatar["lang"]; /** */ "did-ssr"?: WaAvatar["didSSR"]; /** */ initialReflectedProperties?: WaAvatar["initialReflectedProperties"]; /** */ internals?: WaAvatar["internals"]; /** The image could not be loaded. This may because of an invalid URL, a temporary network condition, or some unknown cause. */ "onwa-error"?: (e: CustomEvent) => void; }; type WaBadgeProps = { /** The badge's theme variant. Defaults to `brand` if not within another element with a variant. */ variant?: WaBadge["variant"]; /** The badge's visual appearance. */ appearance?: WaBadge["appearance"]; /** Draws a pill-style badge with rounded edges. */ pill?: WaBadge["pill"]; /** Adds an animation to draw attention to the badge. */ attention?: WaBadge["attention"]; /** */ dir?: WaBadge["dir"]; /** */ lang?: WaBadge["lang"]; /** */ "did-ssr"?: WaBadge["didSSR"]; /** */ initialReflectedProperties?: WaBadge["initialReflectedProperties"]; /** */ internals?: WaBadge["internals"]; }; type WaBreadcrumbItemProps = { /** Optional URL to direct the user to when the breadcrumb item is activated. When set, a link will be rendered internally. When unset, a button will be rendered instead. */ href?: WaBreadcrumbItem["href"]; /** Tells the browser where to open the link. Only used when `href` is set. */ target?: WaBreadcrumbItem["target"]; /** The `rel` attribute to use on the link. Only used when `href` is set. */ rel?: WaBreadcrumbItem["rel"]; /** */ dir?: WaBreadcrumbItem["dir"]; /** */ lang?: WaBreadcrumbItem["lang"]; /** */ "did-ssr"?: WaBreadcrumbItem["didSSR"]; /** */ defaultSlot?: WaBreadcrumbItem["defaultSlot"]; /** */ initialReflectedProperties?: WaBreadcrumbItem["initialReflectedProperties"]; /** */ internals?: WaBreadcrumbItem["internals"]; }; type WaBreadcrumbProps = { /** The label to use for the breadcrumb control. This will not be shown on the screen, but it will be announced by screen readers and other assistive devices to provide more context for users. */ label?: WaBreadcrumb["label"]; /** */ dir?: WaBreadcrumb["dir"]; /** */ lang?: WaBreadcrumb["lang"]; /** */ "did-ssr"?: WaBreadcrumb["didSSR"]; /** */ defaultSlot?: WaBreadcrumb["defaultSlot"]; /** */ separatorSlot?: WaBreadcrumb["separatorSlot"]; /** */ initialReflectedProperties?: WaBreadcrumb["initialReflectedProperties"]; /** */ internals?: WaBreadcrumb["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 `