UNPKG

svelte-5-ui-lib

Version:

Svelte 5 UI Lib is a UI library built from scratch to leverage Svelte 5's runes system, creating smooth, reactive components.

110 lines (109 loc) 2.58 kB
import type { Snippet, Component } from 'svelte'; import type { SVGAttributes, HTMLAttributes } from 'svelte/elements'; type RatingItem = { label: string | null | undefined; rating: number; }; interface AdvancedRatingProps { rating?: Snippet; globalText?: Snippet; ratings: RatingItem[]; divClass?: string; spanClass?: string; div2Class?: string; div3Class?: string; span2Class?: string; unit?: string; } interface RatingProps { children?: Snippet; text?: Snippet; divClass?: string; size?: number; total?: number; rating?: number; Icon?: Component; count?: boolean; pClass?: string; } interface RatingCommentProps { children: Snippet; evaluation?: Snippet; helpfullink?: string; abuselink?: string; comment: { id?: string; user: { name?: string; img: { src: string | undefined | null; alt?: string; }; joined?: string; }; total?: number; rating: number; heading?: string; address?: string; datetime?: string; }; } type ReviewType = { name?: string; imgSrc?: string; imgAlt?: string; address?: string; reviewDate?: string; title?: string; rating?: number; item1?: string; item2?: string; item3?: string; }; interface ReviewProps extends HTMLAttributes<HTMLElement> { children: Snippet; address?: Snippet; item1?: Snippet; item2?: Snippet; item3?: Snippet; review?: ReviewType; articleClass?: string; divClass?: string; div2Class?: string; div3Class?: string; imgClass?: string; ulClass?: string; liClass?: string; } interface ScoreRatingProps { ratings?: { label: string | undefined | null; rating: number; }[]; ratings2?: { label: string | undefined | null; rating: number; }[]; headerLabel?: { desc1?: string; desc2?: string; desc3?: string; link?: { label: string | undefined | null; url: string; }; }; } interface RatingIconProps extends SVGAttributes<SVGSVGElement> { fillPercent?: number; fillColor?: string; strokeColor?: string; size?: number; ariaLabel?: string; role?: string; svgClass?: string; iconIndex?: number; groupId?: string; pathd?: string; } export type { AdvancedRatingProps, RatingProps, RatingCommentProps, ReviewProps, ScoreRatingProps, RatingIconProps };