Skip to content

Component Catalog

@bquery/ui already covers the primary component categories that teams expect from modern component libraries for Angular, React, Svelte, Vue, and plain Web Components.

This catalog gives you a complete overview of the currently available building blocks and the cross-cutting features that make them production-ready.

Coverage at a Glance

CategoryComponents
Actionsbq-button, bq-icon-button, bq-button-group, bq-copy-button
Formsbq-input, bq-number-input, bq-textarea, bq-select, bq-combobox, bq-tag-input, bq-pin-input, bq-date-picker, bq-segmented-control, bq-checkbox, bq-radio, bq-switch, bq-slider, bq-chip, bq-rating, bq-file-upload
Navigation & Disclosurebq-tabs, bq-accordion, bq-breadcrumbs, bq-pagination, bq-stepper, bq-tree
Data Displaybq-card, bq-badge, bq-avatar, bq-avatar-group, bq-table, bq-divider, bq-empty-state, bq-stat-card, bq-timeline, bq-kbd, bq-icon, bq-meter
Feedback & Loadingbq-alert, bq-banner, bq-progress, bq-spinner, bq-skeleton, bq-tooltip, bq-toast
Overlaysbq-dialog, bq-drawer, bq-dropdown-menu, bq-popover

Cross-Cutting Features

Across the component library you will find the same professional capabilities that developers expect from mature UI systems:

  • Accessibility-first APIs with semantic roles, ARIA attributes, keyboard support, and focus management
  • Framework interoperability through native Custom Elements and DOM events
  • Themeability through design tokens, CSS custom properties, and ::part() hooks
  • Dark mode support without changing component APIs
  • Internationalization support for user-facing component strings
  • Tree-shakeable imports so applications can register only the components they use

Actions

ComponentUse it forHighlights
bq-buttonPrimary and secondary actionsVariants, sizes, loading state, link rendering, icon slots, accessible label override
bq-icon-buttonCompact icon-only actionsAccessible label or title fallback, multiple variants, loading state, link rendering
bq-button-groupJoining related actions into one controlAttached mode with shared borders, orientation, shared size forwarding, group semantics
bq-copy-buttonCopying a snippet or token to the clipboardConfirmed state with icon swap, copy-from-selector, legacy clipboard fallback

Forms

ComponentUse it forHighlights
bq-inputSingle-line text inputLabels, hints, validation, prefix/suffix slots, size variants
bq-number-inputNumeric entry with boundsStepper buttons, range clamping, step snapping, precision control, prefix/suffix slots
bq-textareaMulti-line text inputRows, max length, validation, hints
bq-selectNative dropdown selectionPlaceholder, form-friendly behavior, error state
bq-segmented-controlCompact single-choice view and filter togglesRadio-group semantics, form participation, keyboard navigation, mobile-friendly full-width mode
bq-checkboxBoolean or multi-select formsChecked and indeterminate states, hint text
bq-radioExclusive option groupsShared name support, hint text
bq-switchToggle settings and preferencesSize variants, switch semantics, animated thumb
bq-sliderNumeric range selectionMin/max/step, inline value display, input/change events
bq-chipCompact selectable tagsSelection state, removable chips, contextual variants
bq-ratingStar ratings and scoresRadio-group semantics, keyboard support, read-only and clearable modes, form participation
bq-file-uploadFile selection and drag-and-dropType and size filtering, selected-file list, rejection events, keyboard-reachable drop zone
bq-comboboxFiltering a long list of optionsARIA 1.2 combobox pattern, single and multiple selection, diacritic-insensitive matching
bq-tag-inputFree-form tag and keyword entryDelimiter splitting, paste handling, per-tag removal, limit enforcement
bq-pin-inputOne-time codes and PINsPer-cell entry, paste distribution, one-time-code autofill, completion event
bq-date-pickerChoosing a calendar dateLocale-aware calendar, UTC date maths, min/max range, full keyboard grid
ComponentUse it forHighlights
bq-tabsSwitching between related viewsKeyboard navigation, tab/panel sync, multiple visual variants
bq-accordionExpand/collapse detail sectionsSmooth toggle animation, bordered/flush variants, keyboard support
bq-breadcrumbsHierarchical navigationAutomatic separators, semantic navigation markup
bq-paginationPaging through result setsPrevious/next controls, ellipsis logic, sibling page calculation
bq-stepperMulti-step flows and wizardsHorizontal/vertical layouts, clickable steps, per-step status announcements
bq-treeHierarchical browsing and pickersARIA tree pattern, roving tab stop, typeahead, single or multiple selection

Data Display

ComponentUse it forHighlights
bq-cardStructured surfaces and grouped contentHeader/footer slots, padding control, elevation toggle
bq-badgeInline statuses and labelsVariants, sizes, pill mode
bq-avatarUser and entity identityImage/initial fallback, shapes, sizes, status indicators
bq-avatar-groupStacked collections of peopleOverflow counter, shared sizing, configurable spacing
bq-tableTabular datasetsSortable columns, bordered/striped/hoverable variants, empty/loading states
bq-dividerVisual separation of contentHorizontal/vertical orientation, label support, multiple line styles
bq-empty-stateNo-data or no-results messagingTitle, description, icon slot, action slot
bq-stat-cardDashboard metrics and KPI summariesCompact metric layout, trend pill, loading skeleton, icon slot
bq-timelineActivity feeds and audit trailsOrdered-list semantics, event variants, machine-readable timestamps, custom markers
bq-kbdKeyboard shortcutsCombination parsing, symbol substitution, sizes and variants
bq-iconInterface glyphsMask-rendered set that inherits text colour and size, decorative by default
bq-meterLevels and gauges that are not progressNative <meter> band semantics, graded colouring, custom value text

Feedback & Loading

ComponentUse it forHighlights
bq-alertIn-page status messagingSemantic variants, dismissible mode, optional title
bq-bannerPage-level announcementsSticky mode, cancelable dismissal, severity-aware live regions, action slot
bq-progressDeterminate or indeterminate progressValue/max support, size variants, status variants
bq-spinnerCompact loading indicatorMultiple sizes and color variants
bq-skeletonLoading placeholdersText, circle, rect, and card variants with shimmer animation
bq-tooltipContextual helper textPlacement options, delay, keyboard dismissal
bq-toastEphemeral notificationsAuto-dismiss, dismissible actions, imperative show API

Overlays

ComponentUse it forHighlights
bq-dialogBlocking confirmation and form flowsFocus trap, escape handling, click-outside close, multiple sizes
bq-drawerSupplemental side panels and mobile flowsMultiple placements, responsive sizes, overlay/backdrop handling
bq-dropdown-menuContextual actions and navigation menusFull keyboard navigation, placement options, click-outside close, focus management
bq-popoverRich anchored overlaysDialog semantics, placement options, focus management, escape and click-outside close

Feature Coverage Compared to Typical UI Libraries

Common libraries such as Material UI, Vuetify, and Angular Material typically organize their APIs around actions, forms, navigation, data display, overlays, and feedback. @bquery/ui already provides components in each of these core areas, while also shipping shared capabilities that matter in production:

  • accessible interaction patterns,
  • consistent event contracts,
  • framework-agnostic usage,
  • theme tokens and dark mode,
  • and Storybook/VitePress-based documentation.

Next Steps

If you are evaluating the library for a product team, start with:

  1. Getting Started
  2. Framework Integration
  3. Theming
  4. Accessibility

For component-level API examples, see the dedicated references for Button, Icon Button, Input, and Card.

Released under the MIT License.