import type { default as WebAwesomeElement } from "./internal/webawesome-element.js"; import type { default as WaIcon } from "./components/icon/icon.js"; import type { default as WaCheckbox } from "./components/checkbox/checkbox.js"; import type { default as WaSpinner } from "./components/spinner/spinner.js"; import type { default as WaTreeItem } from "./components/tree-item/tree-item.js"; import type { default as WaCarouselItem } from "./components/carousel-item/carousel-item.js"; import type { default as WaButton } from "./components/button/button.js"; import type { default as WaAnimatedImage } from "./components/animated-image/animated-image.js"; import type { default as WaAnimation } from "./components/animation/animation.js"; import type { default as WaAvatar } from "./components/avatar/avatar.js"; import type { default as WaBadge } from "./components/badge/badge.js"; import type { default as WaBreadcrumbItem } from "./components/breadcrumb-item/breadcrumb-item.js"; import type { default as WaBreadcrumb } from "./components/breadcrumb/breadcrumb.js"; import type { default as WaButtonGroup } from "./components/button-group/button-group.js"; import type { default as WaCallout } from "./components/callout/callout.js"; import type { default as WaCard } from "./components/card/card.js"; import type { default as WaCarousel } from "./components/carousel/carousel.js"; import type { default as WaInput } from "./components/input/input.js"; import type { default as WaPopup } from "./components/popup/popup.js"; import type { default as WaColorPicker } from "./components/color-picker/color-picker.js"; import type { default as WaComparison } from "./components/comparison/comparison.js"; import type { default as WaTooltip } from "./components/tooltip/tooltip.js"; import type { default as WaCopyButton } from "./components/copy-button/copy-button.js"; import type { default as WaDetails } from "./components/details/details.js"; import type { default as WaDialog } from "./components/dialog/dialog.js"; import type { default as WaDivider } from "./components/divider/divider.js"; import type { default as WaDrawer } from "./components/drawer/drawer.js"; import type { default as WaDropdownItem } from "./components/dropdown-item/dropdown-item.js"; import type { default as WaDropdown } from "./components/dropdown/dropdown.js"; import type { default as WaFormatBytes } from "./components/format-bytes/format-bytes.js"; import type { default as WaFormatDate } from "./components/format-date/format-date.js"; import type { default as WaFormatNumber } from "./components/format-number/format-number.js"; import type { default as WaInclude } from "./components/include/include.js"; import type { default as WaIntersectionObserver } from "./components/intersection-observer/intersection-observer.js"; import type { default as WaMutationObserver } from "./components/mutation-observer/mutation-observer.js"; import type { default as WaNumberInput } from "./components/number-input/number-input.js"; import type { default as WaTag } from "./components/tag/tag.js"; import type { default as WaSelect } from "./components/select/select.js"; import type { default as WaOption } from "./components/option/option.js"; import type { default as WaPopover } from "./components/popover/popover.js"; import type { default as WaProgressBar } from "./components/progress-bar/progress-bar.js"; import type { default as WaProgressRing } from "./components/progress-ring/progress-ring.js"; import type { default as WaQrCode } from "./components/qr-code/qr-code.js"; import type { default as WaRadio } from "./components/radio/radio.js"; import type { default as WaRadioGroup } from "./components/radio-group/radio-group.js"; import type { default as WaRating } from "./components/rating/rating.js"; import type { default as WaRelativeTime } from "./components/relative-time/relative-time.js"; import type { default as WaScroller } from "./components/scroller/scroller.js"; import type { default as WaResizeObserver } from "./components/resize-observer/resize-observer.js"; import type { default as WaSkeleton } from "./components/skeleton/skeleton.js"; import type { default as WaSlider } from "./components/slider/slider.js"; import type { default as WaSwitch } from "./components/switch/switch.js"; import type { default as WaTab } from "./components/tab/tab.js"; import type { default as WaSplitPanel } from "./components/split-panel/split-panel.js"; import type { default as WaTabPanel } from "./components/tab-panel/tab-panel.js"; import type { default as WaTabGroup } from "./components/tab-group/tab-group.js"; import type { default as WaTextarea } from "./components/textarea/textarea.js"; import type { default as WaTree } from "./components/tree/tree.js"; import type { default as WaZoomableFrame } from "./components/zoomable-frame/zoomable-frame.js"; import type { default as WaMarkdown } from "./components/markdown/markdown.js"; import type { default as WaPage } from "./components/page/page.js"; /** * This type can be used to create scoped tags for your components. * * Usage: * * ```ts * import type { ScopedElements } from "path/to/library/jsx-integration"; * * declare module "my-library" { * namespace JSX { * interface IntrinsicElements * extends ScopedElements<'test-', ''> {} * } * } * ``` * * @deprecated Runtime scoped elements result in duplicate types and can confusing for developers. It is recommended to use the `prefix` and `suffix` options to generate new types instead. */ export type ScopedElements< Prefix extends string = "", Suffix extends string = "" > = { [Key in keyof CustomElements as `${Prefix}${Key}${Suffix}`]: CustomElements[Key]; }; type BaseProps = { /** Content added between the opening and closing tags of the element */ children?: any; /** Used for declaratively styling one or more elements using CSS (Cascading Stylesheets) */ class?: string; /** Used for declaratively styling one or more elements using CSS (Cascading Stylesheets) */ className?: string; /** Takes an object where the key is the class name(s) and the value is a boolean expression. When true, the class is applied, and when false, it is removed. */ classList?: Record; /** Specifies the text direction of the element. */ dir?: "ltr" | "rtl"; /** Contains a space-separated list of the part names of the element that should be exposed on the host element. */ exportparts?: string; /** For