Package Exports
- @getufy/flint-ui
- @getufy/flint-ui/__benchmarks__/component-render.bench
- @getufy/flint-ui/_shared/date-utils-BPs1eM8U
- @getufy/flint-ui/_shared/decorate-B1hCE6tV
- @getufy/flint-ui/_shared/flint-accordion-eVN1iZyN
- @getufy/flint-ui/_shared/flint-alert-Dw_SfFf3
- @getufy/flint-ui/_shared/flint-animation-Bg_SHhpL
- @getufy/flint-ui/_shared/flint-app-bar-DStXAAW-
- @getufy/flint-ui/_shared/flint-autocomplete-DuhkQXW6
- @getufy/flint-ui/_shared/flint-avatar-d5Dvss5B
- @getufy/flint-ui/_shared/flint-backdrop-BbHZAAtu
- @getufy/flint-ui/_shared/flint-badge-C25Vy6AP
- @getufy/flint-ui/_shared/flint-bottom-navigation-CppLQqT4
- @getufy/flint-ui/_shared/flint-bottom-navigation-action-Cu54-Vb4
- @getufy/flint-ui/_shared/flint-box-AzWfTcuY
- @getufy/flint-ui/_shared/flint-breadcrumbs-Ddw_GTVj
- @getufy/flint-ui/_shared/flint-button-BaNEQi85
- @getufy/flint-ui/_shared/flint-button-group-Dbai9Cah
- @getufy/flint-ui/_shared/flint-card-CjSCtJhO
- @getufy/flint-ui/_shared/flint-card-action-area-SEBGML9E
- @getufy/flint-ui/_shared/flint-card-actions-DNK3Zkee
- @getufy/flint-ui/_shared/flint-card-content-CdNzcjfS
- @getufy/flint-ui/_shared/flint-card-header-44f4javM
- @getufy/flint-ui/_shared/flint-card-media-DgRuXnd6
- @getufy/flint-ui/_shared/flint-carousel-5eDuIvK0
- @getufy/flint-ui/_shared/flint-checkbox-vxxBdd91
- @getufy/flint-ui/_shared/flint-chip-CvysqcpG
- @getufy/flint-ui/_shared/flint-circular-progress-Ce2MltVU
- @getufy/flint-ui/_shared/flint-collapsible-BhC6oqqY
- @getufy/flint-ui/_shared/flint-combobox-CjwpFxux
- @getufy/flint-ui/_shared/flint-command-hOUtMAsj
- @getufy/flint-ui/_shared/flint-container-W73gIc9H
- @getufy/flint-ui/_shared/flint-copy-button-OXd4ra_N
- @getufy/flint-ui/_shared/flint-date-field-BqCWpqUj
- @getufy/flint-ui/_shared/flint-date-picker-CZhqRV7D
- @getufy/flint-ui/_shared/flint-date-range-calendar-CSit-dl0
- @getufy/flint-ui/_shared/flint-date-range-picker-BmjLn-iG
- @getufy/flint-ui/_shared/flint-dialog-DS57A9F7
- @getufy/flint-ui/_shared/flint-divider-CfUWtWz4
- @getufy/flint-ui/_shared/flint-drawer-C4SuBgf2
- @getufy/flint-ui/_shared/flint-element-Hdfajdbv
- @getufy/flint-ui/_shared/flint-empty-B6mDajHd
- @getufy/flint-ui/_shared/flint-fab-DhnCdhBC
- @getufy/flint-ui/_shared/flint-form-field-CoXiTOGY
- @getufy/flint-ui/_shared/flint-format-date-jkBxRX_p
- @getufy/flint-ui/_shared/flint-format-number-BIv6wM49
- @getufy/flint-ui/_shared/flint-grid-NtUfsD-r
- @getufy/flint-ui/_shared/flint-hover-card-pwJg0PJ2
- @getufy/flint-ui/_shared/flint-icon-BznMIGF6
- @getufy/flint-ui/_shared/flint-image-comparer-C37R6_gJ
- @getufy/flint-ui/_shared/flint-image-list-LHke1iH_
- @getufy/flint-ui/_shared/flint-image-list-item-B1CY2uV6
- @getufy/flint-ui/_shared/flint-image-list-item-bar-B1_5QQCY
- @getufy/flint-ui/_shared/flint-input-C_ym6mXB
- @getufy/flint-ui/_shared/flint-input-otp-Bfb0bhWe
- @getufy/flint-ui/_shared/flint-item-DzXo4jmy
- @getufy/flint-ui/_shared/flint-kbd-lgPb5Wp4
- @getufy/flint-ui/_shared/flint-linear-progress-DNAXviUa
- @getufy/flint-ui/_shared/flint-link-FlpvUlrQ
- @getufy/flint-ui/_shared/flint-list-D4iImgFJ
- @getufy/flint-ui/_shared/flint-menu-BgxUgDTs
- @getufy/flint-ui/_shared/flint-menubar-Demk1sfG
- @getufy/flint-ui/_shared/flint-pagination-BrHARNby
- @getufy/flint-ui/_shared/flint-paper-BGrRMlgL
- @getufy/flint-ui/_shared/flint-popup.component-C5HOXuKA
- @getufy/flint-ui/_shared/flint-radio-B4QOqqS6
- @getufy/flint-ui/_shared/flint-range-slider-DyYm_KvZ
- @getufy/flint-ui/_shared/flint-rating-DIkx25wh
- @getufy/flint-ui/_shared/flint-relative-time-M7myPDFM
- @getufy/flint-ui/_shared/flint-rich-tree-view-CRbLo_pE
- @getufy/flint-ui/_shared/flint-scroll-area-GgmECKhX
- @getufy/flint-ui/_shared/flint-select-DkilkpUj
- @getufy/flint-ui/_shared/flint-simple-tree-view-DJOsp4gl
- @getufy/flint-ui/_shared/flint-single-input-date-range-field-BumL8cbV
- @getufy/flint-ui/_shared/flint-skeleton-Be9kWMhv
- @getufy/flint-ui/_shared/flint-slider-DIX_y6Nl
- @getufy/flint-ui/_shared/flint-snackbar-Dmwny61F
- @getufy/flint-ui/_shared/flint-sonner-CgfeydzU
- @getufy/flint-ui/_shared/flint-speed-dial-_5YBMtZI
- @getufy/flint-ui/_shared/flint-stack-Ae0raMsO
- @getufy/flint-ui/_shared/flint-stepper-Bb4IQqZJ
- @getufy/flint-ui/_shared/flint-switch-CnGo6ov-
- @getufy/flint-ui/_shared/flint-table-DBPyfB75
- @getufy/flint-ui/_shared/flint-table-pagination--ggDQR4w
- @getufy/flint-ui/_shared/flint-table-sort-label-Bvzrl3rd
- @getufy/flint-ui/_shared/flint-tabs-ByQ8fDwe
- @getufy/flint-ui/_shared/flint-text-field-BZolyFJE
- @getufy/flint-ui/_shared/flint-textarea-B9DSttgU
- @getufy/flint-ui/_shared/flint-time-picker-Cn3K5zc_
- @getufy/flint-ui/_shared/flint-toggle-Dg4RJFRd
- @getufy/flint-ui/_shared/flint-toggle-button-group-3TD7H5WR
- @getufy/flint-ui/_shared/flint-toggle-button.component-Bp_c7ATA
- @getufy/flint-ui/_shared/flint-tooltip.component-CF9rRLUm
- @getufy/flint-ui/_shared/flint-transfer-list-xk46rskd
- @getufy/flint-ui/_shared/flint-tree-item-RKYRmKyy
- @getufy/flint-ui/_shared/flint-typography-BZNJsQBp
- @getufy/flint-ui/_shared/flint-visually-hidden-DzfuZJ-H
- @getufy/flint-ui/_shared/focus-trap-DpgQQLYn
- @getufy/flint-ui/_shared/form-associated-B6qLL8qR
- @getufy/flint-ui/_shared/id-generator-ChicdH_P
- @getufy/flint-ui/_shared/roving-index-CV2AGDi0
- @getufy/flint-ui/_shared/scroll-lock-2u1qW_er
- @getufy/flint-ui/accordion/flint-accordion
- @getufy/flint-ui/accordion/flint-accordion.component
- @getufy/flint-ui/alert/flint-alert
- @getufy/flint-ui/alert/flint-alert.component
- @getufy/flint-ui/animation/flint-animation
- @getufy/flint-ui/animation/flint-animation.component
- @getufy/flint-ui/app-bar/flint-app-bar
- @getufy/flint-ui/app-bar/flint-app-bar.component
- @getufy/flint-ui/autocomplete/flint-autocomplete
- @getufy/flint-ui/autocomplete/flint-autocomplete.component
- @getufy/flint-ui/autoloader
- @getufy/flint-ui/avatar/flint-avatar
- @getufy/flint-ui/avatar/flint-avatar.component
- @getufy/flint-ui/backdrop/flint-backdrop
- @getufy/flint-ui/backdrop/flint-backdrop.component
- @getufy/flint-ui/badge/flint-badge
- @getufy/flint-ui/badge/flint-badge.component
- @getufy/flint-ui/bottom-navigation/flint-bottom-navigation
- @getufy/flint-ui/bottom-navigation/flint-bottom-navigation-action
- @getufy/flint-ui/bottom-navigation/flint-bottom-navigation-action.component
- @getufy/flint-ui/bottom-navigation/flint-bottom-navigation.component
- @getufy/flint-ui/box/flint-box
- @getufy/flint-ui/box/flint-box.component
- @getufy/flint-ui/breadcrumbs/flint-breadcrumbs
- @getufy/flint-ui/breadcrumbs/flint-breadcrumbs.component
- @getufy/flint-ui/button/flint-button
- @getufy/flint-ui/button/flint-button-group
- @getufy/flint-ui/button/flint-button-group.component
- @getufy/flint-ui/button/flint-button.component
- @getufy/flint-ui/button/flint-toggle-button
- @getufy/flint-ui/button/flint-toggle-button-group
- @getufy/flint-ui/button/flint-toggle-button-group.component
- @getufy/flint-ui/button/flint-toggle-button.component
- @getufy/flint-ui/card/flint-card
- @getufy/flint-ui/card/flint-card-action-area
- @getufy/flint-ui/card/flint-card-action-area.component
- @getufy/flint-ui/card/flint-card-actions
- @getufy/flint-ui/card/flint-card-actions.component
- @getufy/flint-ui/card/flint-card-content
- @getufy/flint-ui/card/flint-card-content.component
- @getufy/flint-ui/card/flint-card-header
- @getufy/flint-ui/card/flint-card-header.component
- @getufy/flint-ui/card/flint-card-media
- @getufy/flint-ui/card/flint-card-media.component
- @getufy/flint-ui/card/flint-card.component
- @getufy/flint-ui/carousel/flint-carousel
- @getufy/flint-ui/carousel/flint-carousel.component
- @getufy/flint-ui/checkbox/flint-checkbox
- @getufy/flint-ui/checkbox/flint-checkbox.component
- @getufy/flint-ui/chip/flint-chip
- @getufy/flint-ui/chip/flint-chip.component
- @getufy/flint-ui/collapsible/flint-collapsible
- @getufy/flint-ui/collapsible/flint-collapsible.component
- @getufy/flint-ui/combobox/flint-combobox
- @getufy/flint-ui/combobox/flint-combobox.component
- @getufy/flint-ui/command/flint-command
- @getufy/flint-ui/command/flint-command.component
- @getufy/flint-ui/command/fuzzy-score
- @getufy/flint-ui/container/flint-container
- @getufy/flint-ui/container/flint-container.component
- @getufy/flint-ui/controllers/form-control
- @getufy/flint-ui/copy-button/flint-copy-button
- @getufy/flint-ui/copy-button/flint-copy-button.component
- @getufy/flint-ui/date-field/flint-date-field
- @getufy/flint-ui/date-field/flint-date-field.component
- @getufy/flint-ui/date-picker/flint-date-picker
- @getufy/flint-ui/date-picker/flint-date-picker.component
- @getufy/flint-ui/date-range-picker/date-range-helpers
- @getufy/flint-ui/date-range-picker/flint-date-range-calendar
- @getufy/flint-ui/date-range-picker/flint-date-range-calendar.component
- @getufy/flint-ui/date-range-picker/flint-date-range-picker
- @getufy/flint-ui/date-range-picker/flint-date-range-picker.component
- @getufy/flint-ui/date-range-picker/flint-single-input-date-range-field
- @getufy/flint-ui/date-range-picker/flint-single-input-date-range-field.component
- @getufy/flint-ui/decorators/watch
- @getufy/flint-ui/dialog/flint-dialog
- @getufy/flint-ui/dialog/flint-dialog.component
- @getufy/flint-ui/divider/flint-divider
- @getufy/flint-ui/divider/flint-divider.component
- @getufy/flint-ui/drawer/flint-drawer
- @getufy/flint-ui/drawer/flint-drawer.component
- @getufy/flint-ui/empty/flint-empty
- @getufy/flint-ui/empty/flint-empty.component
- @getufy/flint-ui/events
- @getufy/flint-ui/fab/flint-fab
- @getufy/flint-ui/fab/flint-fab.component
- @getufy/flint-ui/flint-element
- @getufy/flint-ui/flint-range-slider/flint-range-slider
- @getufy/flint-ui/flint-range-slider/flint-range-slider.component
- @getufy/flint-ui/form-field/flint-form-field
- @getufy/flint-ui/form-field/flint-form-field.component
- @getufy/flint-ui/format-date/flint-format-date
- @getufy/flint-ui/format-date/flint-format-date.component
- @getufy/flint-ui/format-number/flint-format-number
- @getufy/flint-ui/format-number/flint-format-number.component
- @getufy/flint-ui/grid/flint-grid
- @getufy/flint-ui/grid/flint-grid.component
- @getufy/flint-ui/hover-card/flint-hover-card
- @getufy/flint-ui/hover-card/flint-hover-card.component
- @getufy/flint-ui/icon/flint-icon
- @getufy/flint-ui/icon/flint-icon.component
- @getufy/flint-ui/image-comparer/flint-image-comparer
- @getufy/flint-ui/image-comparer/flint-image-comparer.component
- @getufy/flint-ui/image-list/flint-image-list
- @getufy/flint-ui/image-list/flint-image-list-item
- @getufy/flint-ui/image-list/flint-image-list-item-bar
- @getufy/flint-ui/image-list/flint-image-list-item-bar.component
- @getufy/flint-ui/image-list/flint-image-list-item.component
- @getufy/flint-ui/image-list/flint-image-list.component
- @getufy/flint-ui/index
- @getufy/flint-ui/input-otp/flint-input-otp
- @getufy/flint-ui/input-otp/flint-input-otp.component
- @getufy/flint-ui/input/flint-input
- @getufy/flint-ui/input/flint-input.component
- @getufy/flint-ui/item/flint-item
- @getufy/flint-ui/item/flint-item.component
- @getufy/flint-ui/kbd/flint-kbd
- @getufy/flint-ui/kbd/flint-kbd.component
- @getufy/flint-ui/layer/flint-layer
- @getufy/flint-ui/layer/flint-layer.component
- @getufy/flint-ui/link/flint-link
- @getufy/flint-ui/link/flint-link.component
- @getufy/flint-ui/list/flint-list
- @getufy/flint-ui/list/flint-list.component
- @getufy/flint-ui/menu/flint-menu
- @getufy/flint-ui/menu/flint-menu.component
- @getufy/flint-ui/menubar/flint-menubar
- @getufy/flint-ui/menubar/flint-menubar.component
- @getufy/flint-ui/mixins/form-associated
- @getufy/flint-ui/navigation-menu/flint-navigation-menu
- @getufy/flint-ui/navigation-menu/flint-navigation-menu-content
- @getufy/flint-ui/navigation-menu/flint-navigation-menu-content.component
- @getufy/flint-ui/navigation-menu/flint-navigation-menu-item
- @getufy/flint-ui/navigation-menu/flint-navigation-menu-item.component
- @getufy/flint-ui/navigation-menu/flint-navigation-menu-link
- @getufy/flint-ui/navigation-menu/flint-navigation-menu-link.component
- @getufy/flint-ui/navigation-menu/flint-navigation-menu-list
- @getufy/flint-ui/navigation-menu/flint-navigation-menu-list.component
- @getufy/flint-ui/navigation-menu/flint-navigation-menu-trigger
- @getufy/flint-ui/navigation-menu/flint-navigation-menu-trigger.component
- @getufy/flint-ui/navigation-menu/flint-navigation-menu.component
- @getufy/flint-ui/pagination/flint-pagination
- @getufy/flint-ui/pagination/flint-pagination.component
- @getufy/flint-ui/paper/flint-paper
- @getufy/flint-ui/paper/flint-paper.component
- @getufy/flint-ui/popup/flint-popup
- @getufy/flint-ui/popup/flint-popup.component
- @getufy/flint-ui/progress/flint-circular-progress
- @getufy/flint-ui/progress/flint-circular-progress.component
- @getufy/flint-ui/progress/flint-linear-progress
- @getufy/flint-ui/progress/flint-linear-progress.component
- @getufy/flint-ui/radio/flint-radio
- @getufy/flint-ui/radio/flint-radio.component
- @getufy/flint-ui/rating/flint-rating
- @getufy/flint-ui/rating/flint-rating.component
- @getufy/flint-ui/relative-time/flint-relative-time
- @getufy/flint-ui/relative-time/flint-relative-time.component
- @getufy/flint-ui/resizable/flint-resizable
- @getufy/flint-ui/resizable/flint-resizable.component
- @getufy/flint-ui/scroll-area/flint-scroll-area
- @getufy/flint-ui/scroll-area/flint-scroll-area.component
- @getufy/flint-ui/select/flint-select
- @getufy/flint-ui/select/flint-select.component
- @getufy/flint-ui/skeleton/flint-skeleton
- @getufy/flint-ui/skeleton/flint-skeleton.component
- @getufy/flint-ui/slider/flint-slider
- @getufy/flint-ui/slider/flint-slider.component
- @getufy/flint-ui/snackbar/flint-snackbar
- @getufy/flint-ui/snackbar/flint-snackbar.component
- @getufy/flint-ui/sonner/flint-sonner
- @getufy/flint-ui/sonner/flint-sonner.component
- @getufy/flint-ui/speed-dial/flint-speed-dial
- @getufy/flint-ui/speed-dial/flint-speed-dial.component
- @getufy/flint-ui/split-panel/flint-split-panel
- @getufy/flint-ui/split-panel/flint-split-panel.component
- @getufy/flint-ui/stack/flint-stack
- @getufy/flint-ui/stack/flint-stack.component
- @getufy/flint-ui/stepper/flint-stepper
- @getufy/flint-ui/stepper/flint-stepper.component
- @getufy/flint-ui/suppress-warnings
- @getufy/flint-ui/switch/flint-switch
- @getufy/flint-ui/switch/flint-switch.component
- @getufy/flint-ui/table/flint-table
- @getufy/flint-ui/table/flint-table-pagination
- @getufy/flint-ui/table/flint-table-pagination.component
- @getufy/flint-ui/table/flint-table-sort-label
- @getufy/flint-ui/table/flint-table-sort-label.component
- @getufy/flint-ui/table/flint-table.component
- @getufy/flint-ui/tabs/flint-tabs
- @getufy/flint-ui/tabs/flint-tabs.component
- @getufy/flint-ui/test-utils/axe
- @getufy/flint-ui/text-field/flint-text-field
- @getufy/flint-ui/text-field/flint-text-field.component
- @getufy/flint-ui/textarea/flint-textarea
- @getufy/flint-ui/textarea/flint-textarea.component
- @getufy/flint-ui/theme-dark.css
- @getufy/flint-ui/theme.css
- @getufy/flint-ui/theme/flint-theme
- @getufy/flint-ui/theme/flint-theme.component
- @getufy/flint-ui/time-picker/flint-time-picker
- @getufy/flint-ui/time-picker/flint-time-picker.component
- @getufy/flint-ui/toggle/flint-toggle
- @getufy/flint-ui/toggle/flint-toggle.component
- @getufy/flint-ui/tooltip/flint-tooltip
- @getufy/flint-ui/tooltip/flint-tooltip.component
- @getufy/flint-ui/transfer-list/flint-transfer-list
- @getufy/flint-ui/transfer-list/flint-transfer-list.component
- @getufy/flint-ui/translations/de
- @getufy/flint-ui/translations/en
- @getufy/flint-ui/translations/es
- @getufy/flint-ui/translations/fr
- @getufy/flint-ui/translations/ja
- @getufy/flint-ui/translations/pt
- @getufy/flint-ui/tree-view/flint-rich-tree-view
- @getufy/flint-ui/tree-view/flint-rich-tree-view.component
- @getufy/flint-ui/tree-view/flint-simple-tree-view
- @getufy/flint-ui/tree-view/flint-simple-tree-view.component
- @getufy/flint-ui/tree-view/flint-tree-item
- @getufy/flint-ui/tree-view/flint-tree-item.component
- @getufy/flint-ui/types
- @getufy/flint-ui/typography/flint-typography
- @getufy/flint-ui/typography/flint-typography.component
- @getufy/flint-ui/utilities/animation-presets
- @getufy/flint-ui/utilities/animation-registry
- @getufy/flint-ui/utilities/data-provider
- @getufy/flint-ui/utilities/date-utils
- @getufy/flint-ui/utilities/dev-warnings
- @getufy/flint-ui/utilities/focus-trap
- @getufy/flint-ui/utilities/form
- @getufy/flint-ui/utilities/id-generator
- @getufy/flint-ui/utilities/localize
- @getufy/flint-ui/utilities/overlay-manager
- @getufy/flint-ui/utilities/roving-index
- @getufy/flint-ui/utilities/scroll-lock
- @getufy/flint-ui/utilities/theme
- @getufy/flint-ui/virtual-scroll/flint-virtual-scroll
- @getufy/flint-ui/virtual-scroll/flint-virtual-scroll.component
- @getufy/flint-ui/visually-hidden/flint-visually-hidden
- @getufy/flint-ui/visually-hidden/flint-visually-hidden.component
Readme
@getufy/flint-ui
A modern, lightweight web component library built with Lit. 50+ components for building rich UIs — works with any framework.
Installation
npm install @getufy/flint-ui litResources
- Documentation — full component docs, guides, and examples
- Live Storybook — interactive component playground
- React wrappers —
@getufy/flint-ui-reactfor React projects
Getting Started
Required: Import the theme CSS once in your app entry point. Without this, components render unstyled.
import '@getufy/flint-ui/theme.css';
Suppress Dev Warnings
In development, Lit prints a console warning about running in dev mode. To silence it, add this import before any component imports:
// Must come before any @getufy/flint-ui imports
import '@getufy/flint-ui/suppress-warnings';Usage
<script type="module">
import '@getufy/flint-ui/button/flint-button';
</script>
<flint-button variant="contained" color="primary">Click me</flint-button>Or import the full bundle:
import { FlintButton, FlintTabs, FlintDialog } from '@getufy/flint-ui';Tree-shakeable imports
import '@getufy/flint-ui/tabs/flint-tabs';
import '@getufy/flint-ui/dialog/flint-dialog';
import '@getufy/flint-ui/date-picker/flint-date-picker';Components
Inputs: Button, Checkbox, Input, Radio, Rating, Select, Slider, Switch, Textarea, Toggle, Autocomplete, Input OTP, Date Picker, Date Range Picker, Time Picker, Transfer List
Data Display: Avatar, Badge, Chip, Divider, Item, List, Table, Tooltip, Typography, Kbd, Empty, Carousel
Feedback: Alert, Dialog, Progress, Skeleton, Snackbar, Sonner, Backdrop
Surfaces: Accordion, App Bar, Card, Paper
Navigation: Bottom Navigation, Breadcrumbs, Drawer, Link, Menu, Menubar, Navigation Menu, Pagination, Speed Dial, Stepper, Tabs
Layout: Box, Container, Grid, Stack, Image List, Split Panel, Resizable, Scroll Area
Utilities: Collapsible, Command, Copy Button, Hover Card, Image Comparer, Tree View, Relative Time, Format Date, Format Number, Visually Hidden
Theming
:root {
--flint-primary-color: #3b82f6;
--flint-text-color: #111827;
--flint-font-family: system-ui, sans-serif;
}import '@getufy/flint-ui/theme.css'; // Light theme
import '@getufy/flint-ui/theme-dark.css'; // Dark themeReact
Looking for React wrappers? See @getufy/flint-ui-react.