import type { DefineComponent } from "vue"; import type { PAvatar } from "../../components/avatar/avatar.component.js"; import type { PBadge } from "../../components/badge/badge.component.js"; import type { PBreadcrumb } from "../../components/breadcrumb/breadcrumb.component.js"; import type { PBreadcrumbItem } from "../../components/breadcrumb-item/breadcrumb-item.component.js"; import type { PAnimatedImage } from "../../components/animated-image/animated-image.component.js"; import type { PAlert } from "../../components/alert/alert.component.js"; import type { PButton } from "../../components/button/button.component.js"; import type { PAnimation } from "../../components/animation/animation.component.js"; import type { PButtonGroup } from "../../components/button-group/button-group.component.js"; import type { PCalendar } from "../../components/calendar/calendar.component.js"; import type { PCard } from "../../components/card/card.component.js"; import type { PCarousel } from "../../components/carousel/carousel.component.js"; import type { PCarouselItem } from "../../components/carousel-item/carousel-item.component.js"; import type { PCheckbox } from "../../components/checkbox/checkbox.component.js"; import type { PColorPicker } from "../../components/color-picker/color-picker.component.js"; import type { PCopyButton } from "../../components/copy-button/copy-button.component.js"; import type { PDetails } from "../../components/details/details.component.js"; import type { PDialog } from "../../components/dialog/dialog.component.js"; import type { PDivider } from "../../components/divider/divider.component.js"; import type { PDrawer } from "../../components/drawer/drawer.component.js"; import type { PDropdown } from "../../components/dropdown/dropdown.component.js"; import type { PFileUpload } from "../../components/file-upload/file-upload.component.js"; import type { PFileUploadItem } from "../../components/file-upload-item/file-upload-item.component.js"; import type { PFormatBytes } from "../../components/format-bytes/format-bytes.component.js"; import type { PFormatDate } from "../../components/format-date/format-date.component.js"; import type { PFormatNumber } from "../../components/format-number/format-number.component.js"; import type { PIcon } from "../../components/icon/icon.component.js"; import type { PIconButton } from "../../components/icon-button/icon-button.component.js"; import type { PImageComparer } from "../../components/image-comparer/image-comparer.component.js"; import type { PInclude } from "../../components/include/include.component.js"; import type { PInput } from "../../components/input/input.component.js"; import type { PMenu } from "../../components/menu/menu.component.js"; import type { PMenuItem } from "../../components/menu-item/menu-item.component.js"; import type { PMenuLabel } from "../../components/menu-label/menu-label.component.js"; import type { PMutationObserver } from "../../components/mutation-observer/mutation-observer.component.js"; import type { POption } from "../../components/option/option.component.js"; import type { PPaginate } from "../../components/paginate/paginate.component.js"; import type { PPopup } from "../../components/popup/popup.component.js"; import type { PProgressBar } from "../../components/progress-bar/progress-bar.component.js"; import type { PProgressRing } from "../../components/progress-ring/progress-ring.component.js"; import type { PQrCode } from "../../components/qr-code/qr-code.component.js"; import type { PRadio } from "../../components/radio/radio.component.js"; import type { PRadioButton } from "../../components/radio-button/radio-button.component.js"; import type { PRadioGroup } from "../../components/radio-group/radio-group.component.js"; import type { PRange } from "../../components/range/range.component.js"; import type { PRating } from "../../components/rating/rating.component.js"; import type { PRelativeTime } from "../../components/relative-time/relative-time.component.js"; import type { PResizeObserver } from "../../components/resize-observer/resize-observer.component.js"; import type { PSelect } from "../../components/select/select.component.js"; import type { PSkeleton } from "../../components/skeleton/skeleton.component.js"; import type { PSmartContainer } from "../../components/smart-container/smart-container.component.js"; import type { PSpinner } from "../../components/spinner/spinner.component.js"; import type { PSplitPanel } from "../../components/split-panel/split-panel.component.js"; import type { PSwitch } from "../../components/switch/switch.component.js"; import type { PTab } from "../../components/tab/tab.component.js"; import type { PTabGroup } from "../../components/tab-group/tab-group.component.js"; import type { PTabPanel } from "../../components/tab-panel/tab-panel.component.js"; import type { PTable } from "../../components/table/table.component.js"; import type { PTag } from "../../components/tag/tag.component.js"; import type { PTextarea } from "../../components/textarea/textarea.component.js"; import type { PTooltip } from "../../components/tooltip/tooltip.component.js"; import type { PTree } from "../../components/tree/tree.component.js"; import type { PTreeItem } from "../../components/tree-item/tree-item.component.js"; import type { PVisuallyHidden } from "../../components/visually-hidden/visually-hidden.component.js"; type PAvatarProps = { /** The image source to use for the avatar. */ image?: PAvatar["image"]; /** A label to use to describe the avatar to assistive devices. */ label?: PAvatar["label"]; /** Initials to use as a fallback when no image is available (1-2 characters max recommended). */ initials?: PAvatar["initials"]; /** Indicates how the browser should load the image. */ loading?: PAvatar["loading"]; /** The shape of the avatar. */ shape?: PAvatar["shape"]; /** The image could not be loaded. This may because of an invalid URL, a temporary network condition, or some unknown cause. */ "onp-error"?: (e: CustomEvent) => void; }; type PBadgeProps = { /** The badge's theme variant. */ variant?: PBadge["variant"]; /** Draws a pill-style badge with rounded edges. */ pill?: PBadge["pill"]; /** Makes the badge pulsate to draw attention. */ pulse?: PBadge["pulse"]; }; type PBreadcrumbProps = { /** 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?: PBreadcrumb["label"]; /** */ defaultSlot?: PBreadcrumb["defaultSlot"]; /** */ separatorSlot?: PBreadcrumb["separatorSlot"]; }; type PBreadcrumbItemProps = { /** 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?: PBreadcrumbItem["href"]; /** Tells the browser where to open the link. Only used when `href` is set. */ target?: PBreadcrumbItem["target"]; /** The `rel` attribute to use on the link. Only used when `href` is set. */ rel?: PBreadcrumbItem["rel"]; }; type PAnimatedImageProps = { /** The path to the image to load. */ src?: PAnimatedImage["src"]; /** A description of the image used by assistive devices. */ alt?: PAnimatedImage["alt"]; /** Plays the animation. When this attribute is remove, the animation will pause. */ play?: PAnimatedImage["play"]; /** */ animatedImage?: PAnimatedImage["animatedImage"]; /** */ frozenFrame?: PAnimatedImage["frozenFrame"]; /** */ isLoaded?: PAnimatedImage["isLoaded"]; /** Emitted when the image loads successfully. */ "onp-load"?: (e: CustomEvent) => void; /** Emitted when the image fails to load. */ "onp-error"?: (e: CustomEvent) => void; }; type PAlertProps = { /** Indicates whether or not the alert is open. You can toggle this attribute to show and hide the alert, or you can use the `show()` and `hide()` methods and this attribute will reflect the alert's open state. */ open?: PAlert["open"]; /** Enables a close button that allows the user to dismiss the alert. */ closable?: PAlert["closable"]; /** The alert's theme variant. */ variant?: PAlert["variant"]; /** The length of time, in milliseconds, the alert will show before closing itself. If the user interacts with the alert before it closes (e.g. moves the mouse over it), the timer will restart. Defaults to `Infinity`, meaning the alert will not close on its own. */ duration?: PAlert["duration"]; /** */ base?: PAlert["base"]; /** Emitted when the alert opens. */ "onp-show"?: (e: CustomEvent) => void; /** Emitted after the alert opens and all animations are complete. */ "onp-after-show"?: (e: CustomEvent) => void; /** Emitted when the alert closes. */ "onp-hide"?: (e: CustomEvent) => void; /** Emitted after the alert closes and all animations are complete. */ "onp-after-hide"?: (e: CustomEvent) => void; }; type PButtonProps = { /** */ title?: PButton["title"]; /** The button's theme variant. */ variant?: PButton["variant"]; /** The button's size. */ size?: PButton["size"]; /** Draws the button with a caret. Used to indicate that the button triggers a dropdown menu or similar behavior. */ caret?: PButton["caret"]; /** Disables the button. */ disabled?: PButton["disabled"]; /** Draws the button in a loading state. */ loading?: PButton["loading"]; /** Draws an outlined button. */ outline?: PButton["outline"]; /** Draws a pill-style button with rounded edges. */ pill?: PButton["pill"]; /** Draws a circular icon button. When this attribute is present, the button expects a single `` in the default slot. */ circle?: PButton["circle"]; /** The type of button. Note that the default value is `button` instead of `submit`, which is opposite of how native `