UNPKG

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
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>; };