import type { SigveloIcon } from "src/components/icon/icon.ts"; import type { SigveloAccordionItem } from "src/components/accordion-item/accordion-item.ts"; import type { SigveloAccordion } from "src/components/accordion/accordion.ts"; import type { SigveloActionBar } from "src/components/action-bar/action-bar.ts"; import type { SigveloDialog } from "src/components/dialog/dialog.ts"; import type { SigveloAlertDialog } from "src/components/alert-dialog/alert-dialog.ts"; import type { SigveloAvatar } from "src/components/avatar/avatar.ts"; import type { SigveloBadge } from "src/components/badge/badge.ts"; import type { SigveloBreadcrumb } from "src/components/breadcrumb/breadcrumb.ts"; import type { SigveloBreadcrumbItem } from "src/components/breadcrumb-item/breadcrumb-item.ts"; import type { SigveloSpinner } from "src/components/spinner/spinner.ts"; import type { SigveloButton } from "src/components/button/button.ts"; import type { SigveloButtonGroup } from "src/components/button-group/button-group.ts"; import type { SigveloCallout } from "src/components/callout/callout.ts"; import type { SigveloCard } from "src/components/card/card.ts"; import type { SigveloCarouselItem } from "src/components/carousel-item/carousel-item.ts"; import type { SigveloCarousel } from "src/components/carousel/carousel.ts"; import type { SigveloCheckbox } from "src/components/checkbox/checkbox.ts"; import type { SigveloCheckboxGroup } from "src/components/checkbox-group/checkbox-group.ts"; import type { SigveloCopy } from "src/components/copy/copy.ts"; import type { SigveloTooltip } from "src/components/tooltip/tooltip.ts"; import type { SigveloSlider } from "src/components/slider/slider.ts"; import type { SigveloTextField } from "src/components/text-field/text-field.ts"; import type { SigveloColorPicker } from "src/components/color-picker/color-picker.ts"; import type { SigveloColorInput } from "src/components/color-input/color-input.ts"; import type { SigveloComboboxItem } from "src/components/combobox-item/combobox-item.ts"; import type { SigveloCombobox } from "src/components/combobox/combobox.ts"; import type { SigveloComparison } from "src/components/comparison/comparison.ts"; import type { SigveloDate } from "src/components/date/date.ts"; import type { SigveloDataTable, SigveloRowSelectEvent, } from "src/components/data-table/data-table.ts"; import type { SigveloDivider } from "src/components/divider/divider.ts"; import type { SigveloDropdownItem } from "src/components/dropdown-item/dropdown-item.ts"; import type { SigveloDropdown } from "src/components/dropdown/dropdown.ts"; import type { SigveloEmptyState } from "src/components/empty-state/empty-state.ts"; import type { SigveloEmptyResult } from "src/components/empty-result/empty-result.ts"; import type { SigveloExpander } from "src/components/expander/expander.ts"; import type { SigveloField } from "src/components/field/field.ts"; import type { SigveloFileInput } from "src/components/file-input/file-input.ts"; import type { SigveloFilterBar, SigveloFilterChangeEvent, } from "src/components/filter-bar/filter-bar.ts"; import type { SigveloFormSection } from "src/components/form-section/form-section.ts"; import type { SigveloInclude } from "src/components/include/include.ts"; import type { SigveloInfiniteScroller } from "src/components/infinite-scroller/infinite-scroller.ts"; import type { SigveloIntersectionObserver } from "src/components/intersection-observer/intersection-observer.ts"; import type { SigveloListboxItem } from "src/components/listbox-item/listbox-item.ts"; import type { SigveloListbox } from "src/components/listbox/listbox.ts"; import type { SigveloLoremIpsum } from "src/components/lorem-ipsum/lorem-ipsum.ts"; import type { SigveloMeter } from "src/components/meter/meter.ts"; import type { SigveloMetric } from "src/components/metric/metric.ts"; import type { SigveloMetricGrid } from "src/components/metric-grid/metric-grid.ts"; import type { SigveloMutationObserver } from "src/components/mutation-observer/mutation-observer.ts"; import type { SigveloNavicon } from "src/components/navicon/navicon.ts"; import type { SigveloNumber } from "src/components/number/number.ts"; import type { SigveloNumberField } from "src/components/number-field/number-field.ts"; import type { SigveloPagination } from "src/components/pagination/pagination.ts"; import type { SigveloPopover } from "src/components/popover/popover.ts"; import type { SigveloPreviewCard } from "src/components/preview-card/preview-card.ts"; import type { SigveloProgress } from "src/components/progress/progress.ts"; import type { SigveloRadioItem } from "src/components/radio-item/radio-item.ts"; import type { SigveloRadio } from "src/components/radio/radio.ts"; import type { SigveloRandomContent } from "src/components/random-content/random-content.ts"; import type { SigveloRating } from "src/components/rating/rating.ts"; import type { SigveloResizeObserver } from "src/components/resize-observer/resize-observer.ts"; import type { SigveloScrollArea } from "src/components/scroll-area/scroll-area.ts"; import type { SigveloScroller } from "src/components/scroller/scroller.ts"; import type { SigveloSearchList } from "src/components/search-list/search-list.ts"; import type { SigveloSelect } from "src/components/select/select.ts"; import type { SigveloSelectionSummary } from "src/components/selection-summary/selection-summary.ts"; import type { SigveloShare } from "src/components/share/share.ts"; import type { SigveloSlideActivator } from "src/components/slide-activator/slide-activator.ts"; import type { SigveloSparkline } from "src/components/sparkline/sparkline.ts"; import type { SigveloSplitter } from "src/components/splitter/splitter.ts"; import type { SigveloSwitch } from "src/components/switch/switch.ts"; import type { SigveloTab } from "src/components/tab/tab.ts"; import type { SigveloTabPanel } from "src/components/tab-panel/tab-panel.ts"; import type { SigveloTabList } from "src/components/tab-list/tab-list.ts"; import type { SigveloTextArea } from "src/components/text-area/text-area.ts"; import type { SigveloTextMask } from "src/components/text-mask/text-mask.ts"; import type { SigveloTimedContent } from "src/components/timed-content/timed-content.ts"; import type { SigveloToastItem } from "src/components/toast-item/toast-item.ts"; import type { SigveloTransitionGroup } from "src/components/transition-group/transition-group.ts"; import type { SigveloToast } from "src/components/toast/toast.ts"; import type { SigveloToggleIcon } from "src/components/toggle-icon/toggle-icon.ts"; import type { SigveloToggleTag } from "src/components/toggle-tag/toggle-tag.ts"; import type { SigveloToolbar } from "src/components/toolbar/toolbar.ts"; import type { SigveloZoomableFrame } from "src/components/zoomable-frame/zoomable-frame.ts"; /** * 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]; }; /** * A generic type for strongly typing custom events with their targets * @template T - The type of the event target (extends EventTarget) * @template D - The type of the detail payload for the custom event */ type TypedEvent = E & { target: T; }; type BaseProps = { /** Content added between the opening and closing tags of the element */ children?: any | undefined; /** Used for declaratively styling one or more elements using CSS (Cascading Stylesheets) */ class?: string | undefined; /** Used for declaratively styling one or more elements using CSS (Cascading Stylesheets) */ className?: string | undefined; /** 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 | undefined; /** Specifies the text direction of the element. */ dir?: "ltr" | "rtl" | undefined; /** Contains a space-separated list of the part names of the element that should be exposed on the host element. */ exportparts?: string | undefined; /** For