import { LitElement } from 'lit'; import type { JSX as SolidJSX } from 'solid-js'; import KemetAccordionClass from '../dist/elements/accordion'; import KemetAccordionPanelClass from '../dist/elements/accordion-panel'; import KemetAlertClass from '../dist/elements/alert'; import KemetAvatarClass from '../dist/elements/avatar'; import KemetBadgeClass from '../dist/elements/badge'; import KemetButtonClass from '../dist/elements/button'; import KemetCardClass from '../dist/elements/card'; import KemetCarouselClass from '../dist/elements/carousel'; import KemetCarouselCurrentClass from '../dist/elements/carousel-current'; import KemetCarouselFirstClass from '../dist/elements/carousel-first'; import KemetCarouselLastClass from '../dist/elements/carousel-last'; import KemetCarouselNextClass from '../dist/elements/carousel-next'; import KemetCarouselPrevClass from '../dist/elements/carousel-prev'; import KemetCarouselLinkClass from '../dist/elements/carousel-link'; import KemetCarouselSlideClass from '../dist/elements/carousel-slide'; import KemetCarouselTotalClass from '../dist/elements/carousel-total'; import KemetCheckboxClass from '../dist/elements/checkbox'; import KemetComboClass from '../dist/elements/combo'; import KemetCountClass from '../dist/elements/count'; import KemetDraggableClass from '../dist/elements/draggable'; import KemetDrawerClass from '../dist/elements/drawer'; import KemetFabClass from '../dist/elements/fab'; import KemetFieldClass from '../dist/elements/field'; import KemetFlipcardClass from '../dist/elements/flipcard'; import KemetFlipcardTriggerClass from '../dist/elements/flipcard-trigger'; import KemetIconBootstrapClass from '../dist/elements/icon-bootstrap'; import KemetIconLucideClass from '../dist/elements/icon-lucide'; import KemetInputClass from '../dist/elements/input'; import KemetModalClass from '../dist/elements/modal'; import KemetMultiInputClass from '../dist/elements/multi-input'; import KemetPasswordClass from '../dist/elements/password'; import KemetPopperClass from '../dist/elements/popper'; import KemetRadioClass from '../dist/elements/radio'; import KemetRotatorClass from '../dist/elements/rotator'; import KemetSelectClass from '../dist/elements/select'; import KemetScrollNavClass from '../dist/elements/scroll-nav'; import KemetScrollSnapClass from '../dist/elements/scroll-snap'; import KemetScrollSnapPaginatorClass from '../dist/elements/scroll-snap-paginator'; import KemetScrollSnapSlideClass from '../dist/elements/scroll-snap-slide'; import KemetSortableClass from '../dist/elements/sortable'; import KemetSvgs from '../dist/elements/svgs'; import KemetTabClass from '../dist/elements/tab'; import KemetTabPanelClass from '../dist/elements/tab-panel'; import KemetTabsClass from '../dist/elements/tabs'; import KemetTextareaClass from '../dist/elements/textarea'; import KemetTimerClass from '../dist/elements/timer'; import KemetToggleClass from '../dist/elements/toggle'; import KemetTooltipClass from '../dist/elements/tooltip'; import KemetTrackerClass from '../dist/elements/tracker'; import KemetUpload from '../dist/elements/upload'; /** * Extract only data properties (no methods) from a type */ type DataProps = { [K in keyof T as T[K] extends (...args: any[]) => any ? never : K]: T[K]; }; /** * Extract custom properties from a LitElement instance (excluding base LitElement props) */ type LitElementProps = Omit< DataProps, keyof LitElement >; /** * Create React-compatible props for a Lit custom element */ type SolidLitProps = Omit, 'children' | 'ref'> & Partial> & { ref?: T | ((el: T) => void); children?: SolidJSX.Element; slot?: string; }; declare module 'solid-js' { namespace JSX { interface IntrinsicElements { 'kemet-accordion': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-accordion-panel': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-alert': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-avatar': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-badge': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-button': SolidJSX.IntrinsicElements['button'] & SolidLitProps; 'kemet-card': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-carousel': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-carousel-current': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-carousel-first': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-carousel-last': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-carousel-next': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-carousel-prev': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-carousel-link': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-carousel-slide': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-carousel-total': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-checkbox': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-combo': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-count': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-draggable': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-drawer': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-fab': SolidJSX.IntrinsicElements['button'] & SolidLitProps; 'kemet-field': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-flipcard': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-flipcard-trigger': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-icon-bootstrap': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-icon-lucide' : SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-input': SolidJSX.IntrinsicElements['input'] & SolidLitProps; 'kemet-modal': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-multi-input': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-password': SolidJSX.IntrinsicElements['input'] & SolidLitProps; 'kemet-popper': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-radio': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-rotator': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-select': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-scroll-nav': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-scroll-snap': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-scroll-snap-paginator': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-scroll-snap-slide': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-sortable': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-svgs': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-tab': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-tab-panel': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-tabs': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-textarea': SolidJSX.IntrinsicElements['textarea'] & SolidLitProps; 'kemet-timer': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-toggle': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-tooltip': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-tracker': SolidJSX.IntrinsicElements['div'] & SolidLitProps; 'kemet-upload': SolidJSX.IntrinsicElements['div'] & SolidLitProps; } } }