franken-ui
Version:
Franken UI is an HTML-first, open-source library of UI components based on the utility-first Tailwind CSS with UIkit 3 compatibility. The design is based on shadcn/ui ported to be framework-agnostic.
203 lines (202 loc) • 11.5 kB
TypeScript
import type { AccordionHooks as AccordionHooksType } from '../uikit/stylings/accordion.js';
import type { AlertHooks as AlertHooksType } from '../uikit/stylings/alert.js';
import type { AlignHooks as AlignHooksType } from '../uikit/stylings/align.js';
import type { AnimationHooks as AnimationHooksType } from '../uikit/stylings/animation.js';
import type { ArticleHooks as ArticleHooksType } from '../uikit/stylings/article.js';
import type { BackgroundHooks as BackgroundHooksType } from '../uikit/stylings/background.js';
import type { BadgeHooks as BadgeHooksType } from '../uikit/stylings/badge.js';
import type { BreadcrumbHooks as BreadcrumbHooksType } from '../uikit/stylings/breadcrumb.js';
import type { ButtonHooks as ButtonHooksType } from '../uikit/stylings/button.js';
import type { CardHooks as CardHooksType } from '../uikit/stylings/card.js';
import type { CloseHooks as CloseHooksType } from '../uikit/stylings/close.js';
import type { ColumnHooks as ColumnHooksType } from '../uikit/stylings/column.js';
import type { CommentHooks as CommentHooksType } from '../uikit/stylings/comment.js';
import type { ContainerHooks as ContainerHooksType } from '../uikit/stylings/container.js';
import type { CountdownHooks as CountdownHooksType } from '../uikit/stylings/countdown.js';
import type { CoverHooks as CoverHooksType } from '../uikit/stylings/cover.js';
import type { DescriptionListHooks as DescriptionListHooksType } from '../uikit/stylings/description-list.js';
import type { DividerHooks as DividerHooksType } from '../uikit/stylings/divider.js';
import type { DotnavHooks as DotnavHooksType } from '../uikit/stylings/dotnav.js';
import type { DropHooks as DropHooksType } from '../uikit/stylings/drop.js';
import type { DropbarHooks as DropbarHooksType } from '../uikit/stylings/dropbar.js';
import type { DropdownHooks as DropdownHooksType } from '../uikit/stylings/dropdown.js';
import type { DropnavHooks as DropnavHooksType } from '../uikit/stylings/dropnav.js';
import type { ExtensionsHooks as ExtensionsHooksType } from '../uikit/stylings/extensions.js';
import type { FlexHooks as FlexHooksType } from '../uikit/stylings/flex.js';
import type { FormRangeHooks as FormRangeHooksType } from '../uikit/stylings/form-range.js';
import type { FormHooks as FormHooksType } from '../uikit/stylings/form.js';
import type { GridHooks as GridHooksType } from '../uikit/stylings/grid.js';
import type { HeadingHooks as HeadingHooksType } from '../uikit/stylings/heading.js';
import type { HeightHooks as HeightHooksType } from '../uikit/stylings/height.js';
import type { IconHooks as IconHooksType } from '../uikit/stylings/icon.js';
import type { IconnavHooks as IconnavHooksType } from '../uikit/stylings/iconnav.js';
import type { LabelHooks as LabelHooksType } from '../uikit/stylings/label.js';
import type { LeaderHooks as LeaderHooksType } from '../uikit/stylings/leader.js';
import type { LightboxHooks as LightboxHooksType } from '../uikit/stylings/lightbox.js';
import type { LinkHooks as LinkHooksType } from '../uikit/stylings/link.js';
import type { ListHooks as ListHooksType } from '../uikit/stylings/list.js';
import type { MarginHooks as MarginHooksType } from '../uikit/stylings/margin.js';
import type { MarkerHooks as MarkerHooksType } from '../uikit/stylings/marker.js';
import type { ModalHooks as ModalHooksType } from '../uikit/stylings/modal.js';
import type { NavHooks as NavHooksType } from '../uikit/stylings/nav.js';
import type { NavbarHooks as NavbarHooksType } from '../uikit/stylings/navbar.js';
import type { NotificationHooks as NotificationHooksType } from '../uikit/stylings/notification.js';
import type { OffcanvasHooks as OffcanvasHooksType } from '../uikit/stylings/offcanvas.js';
import type { OverlayHooks as OverlayHooksType } from '../uikit/stylings/overlay.js';
import type { PaddingHooks as PaddingHooksType } from '../uikit/stylings/padding.js';
import type { PaginationHooks as PaginationHooksType } from '../uikit/stylings/pagination.js';
import type { PlaceholderHooks as PlaceholderHooksType } from '../uikit/stylings/placeholder.js';
import type { PositionHooks as PositionHooksType } from '../uikit/stylings/position.js';
import type { PrintHooks as PrintHooksType } from '../uikit/stylings/print.js';
import type { ProgressHooks as ProgressHooksType } from '../uikit/stylings/progress.js';
import type { SearchHooks as SearchHooksType } from '../uikit/stylings/search.js';
import type { SectionHooks as SectionHooksType } from '../uikit/stylings/section.js';
import type { SliderHooks as SliderHooksType } from '../uikit/stylings/slider.js';
import type { SlidenavHooks as SlidenavHooksType } from '../uikit/stylings/slidenav.js';
import type { SlideshowHooks as SlideshowHooksType } from '../uikit/stylings/slideshow.js';
import type { SortableHooks as SortableHooksType } from '../uikit/stylings/sortable.js';
import type { SpinnerHooks as SpinnerHooksType } from '../uikit/stylings/spinner.js';
import type { StickyHooks as StickyHooksType } from '../uikit/stylings/sticky.js';
import type { StepperHooks as StepperHooksType } from '../uikit/stylings/stepper.js';
import type { SubnavHooks as SubnavHooksType } from '../uikit/stylings/subnav.js';
import type { SwitcherHooks as SwitcherHooksType } from '../uikit/stylings/switcher.js';
import type { SvgHooks as SvgHooksType } from '../uikit/stylings/svg.js';
import type { TabHooks as TabHooksType } from '../uikit/stylings/tab.js';
import type { TableHooks as TableHooksType } from '../uikit/stylings/table.js';
import type { TextHooks as TextHooksType } from '../uikit/stylings/text.js';
import type { ThumbnavHooks as ThumbnavHooksType } from '../uikit/stylings/thumbnav.js';
import type { TileHooks as TileHooksType } from '../uikit/stylings/tile.js';
import type { TooltipHooks as TooltipHooksType } from '../uikit/stylings/tooltip.js';
import type { ToTopHooks as ToTopHooksType } from '../uikit/stylings/totop.js';
import type { TransitionHooks as TransitionHooksType } from '../uikit/stylings/transition.js';
import type { UtilityHooks as UtilityHooksType } from '../uikit/stylings/utility.js';
import type { WidthHooks as WidthHooksType } from '../uikit/stylings/width.js';
import type { VisibilityHooks as VisibilityHooksType } from '../uikit/stylings/visibility.js';
export type Overrides = {
accordion: Partial<AccordionHooksType>;
alert: Partial<AlertHooksType>;
align: Partial<AlignHooksType>;
animation: Partial<AnimationHooksType>;
article: Partial<ArticleHooksType>;
background: Partial<BackgroundHooksType>;
badge: Partial<BadgeHooksType>;
breadcrumb: Partial<BreadcrumbHooksType>;
button: Partial<ButtonHooksType>;
card: Partial<CardHooksType>;
close: Partial<CloseHooksType>;
column: Partial<ColumnHooksType>;
comment: Partial<CommentHooksType>;
container: Partial<ContainerHooksType>;
countdown: Partial<CountdownHooksType>;
cover: Partial<CoverHooksType>;
'description-list': Partial<DescriptionListHooksType>;
divider: Partial<DividerHooksType>;
dotnav: Partial<DotnavHooksType>;
drop: Partial<DropHooksType>;
dropbar: Partial<DropbarHooksType>;
dropdown: Partial<DropdownHooksType>;
dropnav: Partial<DropnavHooksType>;
extensions: Partial<ExtensionsHooksType>;
flex: Partial<FlexHooksType>;
'form-range': Partial<FormRangeHooksType>;
form: Partial<FormHooksType>;
grid: Partial<GridHooksType>;
heading: Partial<HeadingHooksType>;
height: Partial<HeightHooksType>;
icon: Partial<IconHooksType>;
iconnav: Partial<IconnavHooksType>;
label: Partial<LabelHooksType>;
leader: Partial<LeaderHooksType>;
lightbox: Partial<LightboxHooksType>;
link: Partial<LinkHooksType>;
list: Partial<ListHooksType>;
margin: Partial<MarginHooksType>;
marker: Partial<MarkerHooksType>;
modal: Partial<ModalHooksType>;
nav: Partial<NavHooksType>;
navbar: Partial<NavbarHooksType>;
notification: Partial<NotificationHooksType>;
offcanvas: Partial<OffcanvasHooksType>;
overlay: Partial<OverlayHooksType>;
padding: Partial<PaddingHooksType>;
pagination: Partial<PaginationHooksType>;
placeholder: Partial<PlaceholderHooksType>;
position: Partial<PositionHooksType>;
progress: Partial<ProgressHooksType>;
search: Partial<SearchHooksType>;
section: Partial<SectionHooksType>;
slidenav: Partial<SlidenavHooksType>;
slider: Partial<SliderHooksType>;
slideshow: Partial<SlideshowHooksType>;
sortable: Partial<SortableHooksType>;
spinner: Partial<SpinnerHooksType>;
stepper: Partial<StepperHooksType>;
sticky: Partial<StickyHooksType>;
subnav: Partial<SubnavHooksType>;
svg: Partial<SvgHooksType>;
switcher: Partial<SwitcherHooksType>;
tab: Partial<TabHooksType>;
table: Partial<TableHooksType>;
text: Partial<TextHooksType>;
thumbnav: Partial<ThumbnavHooksType>;
tile: Partial<TileHooksType>;
tooltip: Partial<TooltipHooksType>;
totop: Partial<ToTopHooksType>;
transition: Partial<TransitionHooksType>;
utility: Partial<UtilityHooksType>;
visibility: Partial<VisibilityHooksType>;
width: Partial<WidthHooksType>;
print: Partial<PrintHooksType>;
};
export type Palette = {
'--background': string;
'--foreground': string;
'--muted': string;
'--muted-foreground': string;
'--popover': string;
'--popover-foreground': string;
'--card': string;
'--card-foreground': string;
'--border': string;
'--input': string;
'--primary': string;
'--primary-foreground': string;
'--secondary': string;
'--secondary-foreground': string;
'--accent': string;
'--accent-foreground': string;
'--destructive': string;
'--destructive-foreground': string;
'--ring': string;
};
export type Scheme = {
background: string;
foreground: string;
muted: string;
mutedForeground: string;
popover: string;
popoverForeground: string;
card: string;
cardForeground: string;
border: string;
input: string;
primary: string;
primaryForeground: string;
secondary: string;
secondaryForeground: string;
accent: string;
accentForeground: string;
destructive: string;
destructiveForeground: string;
ring: string;
};
export type Theme = 'zinc' | 'slate' | 'stone' | 'gray' | 'neutral' | 'red' | 'rose' | 'orange' | 'green' | 'blue' | 'yellow' | 'violet';
export type Components = 'accordion' | 'alert' | 'align' | 'animation' | 'article' | 'background' | 'badge' | 'breadcrumb' | 'button' | 'card' | 'close' | 'column' | 'comment' | 'container' | 'countdown' | 'cover' | 'description-list' | 'divider' | 'dotnav' | 'drop' | 'dropbar' | 'dropdown' | 'dropnav' | 'extensions' | 'flex' | 'form-range' | 'form' | 'grid' | 'heading' | 'height' | 'icon' | 'iconnav' | 'label' | 'leader' | 'lightbox' | 'link' | 'list' | 'margin' | 'marker' | 'modal' | 'nav' | 'navbar' | 'notification' | 'offcanvas' | 'overlay' | 'padding' | 'pagination' | 'placeholder' | 'position' | 'progress' | 'search' | 'section' | 'slidenav' | 'slider' | 'slideshow' | 'sortable' | 'spinner' | 'stepper' | 'sticky' | 'subnav' | 'svg' | 'switcher' | 'tab' | 'table' | 'text' | 'thumbnav' | 'tile' | 'tooltip' | 'totop' | 'transition' | 'utility' | 'visibility' | 'width' | 'print';
export type OptionsType = {
theme?: Theme;
palette?: {
':root': Palette;
'.dark': Palette;
};
overrides?: Partial<Overrides>;
};