Releases: FastChickensHR/coop
Release list
Coop v1.0.0-beta.1
The first release the compatibility promise applies to. Everything below is
measured against v0.1.0 — the July snapshot, published before the versioning
policy existed — by diffing the generated API.md surface report: 114 exported
names then, 162 now, and none removed. Upgrading from that snapshot is a rename
exercise, not a rewrite.
Breaking
-
The package is now
@fastchickenshr/coop. It wascoop. Change the
install target and every import specifier:- yarn add FastChickensHR/coop#v0.1.0 + yarn add FastChickensHR/coop#v1.0.0-beta.1 - import { Button, lightTheme } from 'coop' + import { Button, lightTheme } from '@fastchickenshr/coop'
-
Transient
$-prefixed props are gone from the public API.$-prefixing is
styled-components' escape syntax for "do not forward this to the DOM" — an
implementation detail that should never have reached consumers. It is now
internal-only, and 23 props across 17 exported components take clean names.
Passing the old name is silently ignored, so this is a compile error only if
you typecheck; grep for$in your JSX either way.Component Renamed Alert,Badge$variant→variantButton$variant→variant,$size→sizeCard$interactive→interactiveCombobox,DatePicker,DateRangePicker,Input,Select,Textarea$hasError→hasErrorSkeleton(andSkeletonCircle,SkeletonText)$radius→radiusSpinner$size→size,$color→colorDropdownMenuItem$danger→dangerStatusMessage$status→statusTr$interactive→interactiveTh$noBorder→noBorder,$align→alignTd$noBorder→noBorder,$align→align,$mono→mono,$muted→muted -
The theme shape gained keys. Purely additive — no key was removed or
retyped — so reading the theme is unaffected. This breaks you only if you hand
author a theme object typed asDefaultTheme, which must now also supply:
a top-levelletterSpacinggroup (normal,tight,wide);lineHeight.flat
andlineHeight.snugTight;colors.onFill; andink50/ink300/ink400
on bothcolorsandfixed. Token values remain outside the promise.
Added
- Three components, taking the surface from 35 to 38:
ConfirmDialog,
PasswordInput, andText. All three existed in the source at 0.1.0 but never
reached a published build. - The date foundations are public.
lib/date(formatDate,formatDateTime,
formatInstant,parseUserDate,toISO,fromISO,todayISO,todayDate,
todayDateIn,dayOfInstant,outOfRange,Timeline) andlib/quickPicks
(QuickPick,QuickPickMatch,QuickPickToken,RangePeriod,RangePick,
quickPicksFor,rangePicksFor,resolveQuickPick,resolveRangePeriod,
matchQuickPick,ALWAYS,ANYTIME,ONGOING) now export from the entry
barrel. They were already load-bearing —DateEdgeandDateRangeValueappear
inside the picker components' public props — so shipping them unexported made
those props unusable. - The typography role tokens (
h1Type,h2Type,pageTitleType,
sectionTitleType,panelHeadingType,cardHeadingType,displayType,
bodyType,bodyLargeType,bodySmallType,captionType,eyebrowType,
overlineType,monoType) export from the theme barrel. - A typed theme for installed consumers. The
DefaultThemeaugmentation of
styled-componentsnow compiles intodist/. At 0.1.0 it lived in a
.d.tsthat the build did not emit, so anyone installing the package got an
untypedthemeinside their own styled components. PasswordInputPropsis exported.Comboboxgainedcreatable,multiple,loading,debounceMs,
onSearch,onCreate,onValuesChange, andvalues.API.md— a normalized snapshot of the public type surface, generated from
the types and shipped with the package. Diff it between two releases to see
exactly what moved.CHANGELOG.mdships inside the package, so the versioning and deprecation
policy travels with the code.
Fixed
- The published build is whole again. The 0.1.0 publishing machinery assembled
its tree from a hand-maintained manifest that omittedlib/quickPicks, which
the date pickers import — a republish from it would not have compiled. The
manifest is gone; the entry barrel and the package's own build are now the only
definition of what ships, so a file the surface reaches cannot be left behind.
Changed
- The compatibility promise starts here. Two tiers: the exported type surface
is gated byAPI.mdin CI, and documented prop behavior is covered by policy.
DOM structure, class names, visuals, and token values are not covered. The full
statement is inCHANGELOG.md, which ships inside the package.
Full changelog: CHANGELOG.md
v0.1.0
The first public snapshot, published before the versioning policy above existed
and retro-tagged for the record. Kept as history: the 1.0.0-beta.N line is
the versioned surface, and no compatibility promise attaches to this release.
Added
- 35 components and the typed theme, installable from GitHub under MIT.