bc_ui 0.1.0
bc_ui: ^0.1.0 copied to clipboard
A Flutter design system porting heroui-native 1:1 — 45+ token-driven components, light and dark, on a Material 3 base.
0.1.0 #
Select
- Three presentations: the anchored
popoverit always had, abottomSheetwith room for a long list, and awheelfor short ordered ones, committed with Done. Set withpresentation. - Search.
isSearchablefilters on label and description;onSearchreplaces that with your own lookup — debounced bysearchDebounce, awaited with a spinner, and rendered exactly as returned, so it can hit the network. - Pagination.
onLoadMorefires as the list nears its end, once per page;isLoadingMoreshows a spinner under the last row. - Rows take
leadingandtrailingwidgets, a per-itemonTapthat runs alongside the value change, andisDisabled.itemBuilderhands the whole row over, selection state included. emptyPlaceholderandmaxListHeightfor the rest.
The version jumps to 0.1.0 so ^0.1.0 resolves the way callers expect;
^0.0.x had pinned them to a single patch.
Agent skill
skills/bc-ui/teaches an AI agent to use the library — setup, the naming conventions, a routing table to per-category references, and the traps that fail silently. Install withnpx skills add binary-castle/bc-ui-flutter, or copy it into.claude/skills/; it ships in the package either way.- Its references come out of
tool/gen_api_doc.py, the same script that writesdoc/api.md, so they cannot drift.--checkfails when either is stale and--check-coveragelists public symbols nothing documents.
Fixes
- The generated prop tables dropped every named parameter of a constructor that
led with a positional one, so
BCTextwas documented as taking onlydata, andBCLabel,BCDescription,BCFieldErrorandBCTextFieldLabelwere each missing their flags.BCTextFieldError's argument was listed astextwhen it ismessage. All now generated correctly, along with the previously undocumentedBCTextWeight,BCInputOTPSlot*,BCSkeleton*Animation,BCNavDrawerItemandBCAnchoredOverlayController. - The README's License section still said the license was a placeholder, left over from before the package was licensed. It now states Apache-2.0 and credits heroui-native. pub.dev's own metadata was already correct.
0.0.2 #
- Fixed the README on pub.dev: images and repository links are absolute now.
pub.dev strips raw
<img>tags and drops repo-relative links, so the banner, the light/dark screenshots and every entry in the component table rendered without them. - Install instructions now point at the published package rather than a local path dependency.
0.0.1 #
First release — a Flutter port of heroui-native, covering 50+ components on a Material 3 base.
Foundation
BCTheme.light()/BCTheme.dark()return aThemeData, so Material widgets keep working alongside bc_ui.- 64 semantic colour tokens in
BCThemeExtension, precomputed from heroui-native's oklch sources including everycolor-mixderived hover and soft shade.BCThemeOverridesrecomputes the accent-derived tokens from a single colour. - Continuous (squircle) corners via
RoundedSuperellipseBorder, layered surface and overlay shadows, and the ported motion constants inBCMotion. - Inter is bundled; no font setup.
Components
- Navigation —
BCAppHeader,BCSliverAppHeader,BCBottomNav,BCNavRail,BCNavDrawer,BCToolbar,BCTabswith a swipeableBCTabView. - Actions —
BCButton,BCSocialAuthButton(10 providers, vector brand marks, no assets),BCLinkButton,BCCloseButton,BCFab,BCSpeedDial,BCToggleButton, and theBCPressablefeedback engine. - Containers and data display —
BCSurface,BCCard,BCListGroup,BCFlipCard,BCScrollShadow,BCAvatar,BCChip,BCRibbon,BCTagGroup,BCSkeleton,BCSpinner,BCProgress,BCLoadingOverlay,BCRating,BCEmptyState. - Forms and selection —
BCInput,BCTextField,BCTextArea,BCPasswordInput,BCSearchField,BCInputOTP,BCDateField,BCTimeField,BCDateTimePicker,BCSelect,BCControlField,BCCheckbox,BCRadioGroup,BCSwitch,BCSlider,BCRangeSlider. - Overlays —
BCDialog,BCPopover,BCMenu, andBCToastwith top/bottom placement and an interactive swipe-to-dismiss.
Full prop tables in doc/api.md; the example app has one screen per component.