noph-ui
Version:
Noph UI is a modern, powerful UI library for Svelte 5, fully aligned with the Material 3 guidelines. Build stunning, consistent user interfaces with the efficiency and flexibility of Svelte and Google’s Material Design framework.
59 lines (58 loc) • 1.73 kB
TypeScript
import type { Snippet } from 'svelte';
import type { HTMLAnchorAttributes, HTMLAttributes, HTMLButtonAttributes } from 'svelte/elements';
export interface ChipSetProps extends HTMLAttributes<HTMLDivElement> {
chipsCount?: number;
}
interface AssistChipButtonProps extends HTMLButtonAttributes {
elevated?: boolean;
disabled?: boolean;
label?: string;
icon?: Snippet;
element?: HTMLDivElement;
}
interface AssistChipAnchorProps extends HTMLAnchorAttributes {
elevated?: boolean;
disabled?: boolean;
label?: string;
icon?: Snippet;
element?: HTMLDivElement;
}
export type AssistChipProps = AssistChipButtonProps | AssistChipAnchorProps;
export interface FilterChipProps extends HTMLAttributes<HTMLDivElement> {
selected?: boolean;
removable?: boolean;
disabled?: boolean;
elevated?: boolean;
label?: string;
icon?: Snippet;
ariaLabelRemove?: string;
element?: HTMLDivElement;
name?: string;
value?: string;
group?: (string | number)[] | null;
defaultSelected?: boolean | null;
onremove?: (event: MouseEvent & {
currentTarget: EventTarget & HTMLButtonElement;
}) => void;
}
export interface InputChipProps extends HTMLAttributes<HTMLDivElement> {
selected?: boolean;
disabled?: boolean;
label?: string;
icon?: Snippet;
ariaLabelRemove?: string;
element?: HTMLDivElement;
name?: string;
value?: string | number;
onremove?: (event: MouseEvent & {
currentTarget: EventTarget & HTMLButtonElement;
}) => void;
}
export interface ChipSetContext {
chips: {
label: string;
name: string | undefined;
value: string | number | undefined;
}[];
}
export {};