import type { CbpAccordion } from "src/components/cbp-accordion/cbp-accordion.tsx"; import type { CbpActionBar } from "src/components/cbp-action-bar/cbp-action-bar.tsx"; import type { CbpAccordionItem } from "src/components/cbp-accordion-item/cbp-accordion-item.tsx"; import type { CbpApp } from "src/components/cbp-app/cbp-app.tsx"; import type { CbpAppHeader } from "src/components/cbp-app-header/cbp-app-header.tsx"; import type { CbpBadge } from "src/components/cbp-badge/cbp-badge.tsx"; import type { CbpBanner } from "src/components/cbp-banner/cbp-banner.tsx"; import type { CbpBreadcrumb } from "src/components/cbp-breadcrumb/cbp-breadcrumb.tsx"; import type { CbpButton } from "src/components/cbp-button/cbp-button.tsx"; import type { CbpCard } from "src/components/cbp-card/cbp-card.tsx"; import type { CbpCarousel } from "src/components/cbp-carousel/cbp-carousel.tsx"; import type { CbpCarouselItem } from "src/components/cbp-carousel-item/cbp-carousel-item.tsx"; import type { CbpCheckbox } from "src/components/cbp-checkbox/cbp-checkbox.tsx"; import type { CbpChip } from "src/components/cbp-chip/cbp-chip.tsx"; import type { CbpCodeSnippet } from "src/components/cbp-code-snippet/cbp-code-snippet.tsx"; import type { CbpContainer } from "src/components/cbp-container/cbp-container.tsx"; import type { CbpDialog } from "src/components/cbp-dialog/cbp-dialog.tsx"; import type { CbpDotIndicator } from "src/components/cbp-dot-indicator/cbp-dot-indicator.tsx"; import type { CbpDrawer } from "src/components/cbp-drawer/cbp-drawer.tsx"; import type { CbpDropdown } from "src/components/cbp-dropdown/cbp-dropdown.tsx"; import type { CbpDropdownItem } from "src/components/cbp-dropdown-item/cbp-dropdown-item.tsx"; import type { CbpExpand } from "src/components/cbp-expand/cbp-expand.tsx"; import type { CbpFileInput } from "src/components/cbp-file-input/cbp-file-input.tsx"; import type { CbpFlex } from "src/components/cbp-flex/cbp-flex.tsx"; import type { CbpFlexItem } from "src/components/cbp-flex-item/cbp-flex-item.tsx"; import type { CbpFloatingAction } from "src/components/cbp-floating-action/cbp-floating-action.tsx"; import type { CbpFooter } from "src/components/cbp-footer/cbp-footer.tsx"; import type { CbpForm } from "src/components/cbp-form/cbp-form.tsx"; import type { CbpFormField } from "src/components/cbp-form-field/cbp-form-field.tsx"; import type { CbpFormFieldWrapper } from "src/components/cbp-form-field-wrapper/cbp-form-field-wrapper.tsx"; import type { CbpGrid } from "src/components/cbp-grid/cbp-grid.tsx"; import type { CbpGridItem } from "src/components/cbp-grid-item/cbp-grid-item.tsx"; import type { CbpHide } from "src/components/cbp-hide/cbp-hide.tsx"; import type { CbpIcon } from "src/components/cbp-icon/cbp-icon.tsx"; import type { CbpLink } from "src/components/cbp-link/cbp-link.tsx"; import type { CbpList } from "src/components/cbp-list/cbp-list.tsx"; import type { CbpListbox } from "src/components/cbp-listbox/cbp-listbox.tsx"; import type { CbpLoader } from "src/components/cbp-loader/cbp-loader.tsx"; import type { CbpMenu } from "src/components/cbp-menu/cbp-menu.tsx"; import type { CbpMenuItem } from "src/components/cbp-menu-item/cbp-menu-item.tsx"; import type { CbpMulticol } from "src/components/cbp-multicol/cbp-multicol.tsx"; import type { CbpNavItem } from "src/components/cbp-nav-item/cbp-nav-item.tsx"; import type { CbpNotice } from "src/components/cbp-notice/cbp-notice.tsx"; import type { CbpPagination } from "src/components/cbp-pagination/cbp-pagination.tsx"; import type { CbpPanel } from "src/components/cbp-panel/cbp-panel.tsx"; import type { CbpRadio } from "src/components/cbp-radio/cbp-radio.tsx"; import type { CbpResizeObserver } from "src/components/cbp-resize-observer/cbp-resize-observer.tsx"; import type { CbpSection } from "src/components/cbp-section/cbp-section.tsx"; import type { SegmentedButtonGroup } from "src/components/cbp-segmented-button-group/cbp-segmented-button-group.tsx"; import type { CbpSkipNav } from "src/components/cbp-skip-nav/cbp-skip-nav.tsx"; import type { CbpSlider } from "src/components/cbp-slider/cbp-slider.tsx"; import type { CbpStructuredList } from "src/components/cbp-structured-list/cbp-structured-list.tsx"; import type { CbpStructuredListItem } from "src/components/cbp-structured-list-item/cbp-structured-list-item.tsx"; import type { CbpSubNav } from "src/components/cbp-subnav/cbp-subnav.tsx"; import type { CbpSubnavItem } from "src/components/cbp-subnav-item/cbp-subnav-item.tsx"; import type { CbpTab } from "src/components/cbp-tab/cbp-tab.tsx"; import type { CbpTabPanel } from "src/components/cbp-tab-panel/cbp-tab-panel.tsx"; import type { CbpTable } from "src/components/cbp-table/cbp-table.tsx"; import type { CbpTabs } from "src/components/cbp-tabs/cbp-tabs.tsx"; import type { CbpTag } from "src/components/cbp-tag/cbp-tag.tsx"; import type { CbpToast } from "src/components/cbp-toast/cbp-toast.tsx"; import type { CbpToggle } from "src/components/cbp-toggle/cbp-toggle.tsx"; import type { CbpTooltip } from "src/components/cbp-tooltip/cbp-tooltip.tsx"; import type { CbpTreeview } from "src/components/cbp-treeview/cbp-treeview.tsx"; import type { CbpTreeviewItem } from "src/components/cbp-treeview-item/cbp-treeview-item.tsx"; import type { CbpTypography } from "src/components/cbp-typography/cbp-typography.tsx"; import type { CbpUniversalHeader } from "src/components/cbp-universal-header/cbp-universal-header.tsx"; import type { CbpUsaBanner } from "src/components/cbp-usa-banner/cbp-usa-banner.tsx"; /** * 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