Releases: Samyssmile/construct
Releases · Samyssmile/construct
Release list
v2.0.4 — Datum grammar in components
Added
- Datum grammar — the signature, now spoken by components. The orange "datum"
(Construct's reference line for focus / active / current state) was promoted from focus
rings and bespoke docs CSS into reusable, opt-in component vocabulary in a new
components/datum.css:.ct-eyebrow— a mono kicker with a leading datum tick, for labelling sections..ct-datum-scale— a measured reference line (a ruler with minor/major ticks and an
orange "origin" segment) for section headers..ct-specs/.ct-spec(+.ct-spec--origin) — an engineering datasheet for key figures.- Card modifiers in
card.css:.ct-card--datum(a corner registration mark) and an
active state (.ct-card--active/[data-state="active"]) that carries the same orange
leading edge as.ct-list__itemand.ct-sidebar, so every active surface reads as one system.
Accessibility
- Eyebrow and spec labels use
--color-text-secondary(≥7:1 on every surface across light,
dark and high-contrast); orange is reserved for non-text edges/ticks (--color-brand-accent,
≥3:1 as a graphic object). Default cards and existingaria-selectedcard behaviour are unchanged.
Also in this release (post-2.0.4 docs): branded README, community health files
(CODE_OF_CONDUCT, CONTRIBUTING, SECURITY, issue/PR templates), brand assets, and a
datum-grammar demo page.
v2.0.1
What's Changed
- chore: design-sync to claude.ai/design + release 1.4.0 by @Samyssmile in #87
- feat(design)!: new visual identity — Manrope + ink/safety-orange "datum" (v2.0.0) by @Samyssmile in #88
Full Changelog: v1.2.0...v2.0.1
v1.2.0 — Tree component
Added
- Tree component (
ct-tree) implementing the WAI-ARIA Tree View pattern: n-level nesting, roving tabindex on the<li role="treeitem">itself, full keyboard navigation (↑/↓/→/←/Home/End/*/type-ahead), single & multi selection, async loading state viaaria-busy, and an orphan-node modifier (.ct-tree__node--orphan) for hierarchies with missing parents. Modifiers:--guides,--dense,--bordered. Forced-colors andprefers-reduced-motionsupported. (#86)
Accessibility highlights
- Focus target is the
<li role="treeitem">— never the inner row<div>— so screen readers announce role, level, expanded and selected state on focus. - Controller sets/clears
aria-multiselectable="true"when invoked withselection: 'multi'. aria-disabled="true"nodes are skipped for activation, selection and toggle while staying reachable via arrow keys.- Action buttons in
__actionsusetabindex="-1"to preserve the single Tab stop of the tree.
Custom events
ct-tree:expand, :collapse, :select, :activate — bubbling CustomEvents on the focused treeitem so consumers can wire up application logic without re-implementing the keyboard model.
Out of scope (tracked separately)
Drag & drop reparenting, virtual scrolling, and tristate parent-derived checkboxes.
Full changelog: v1.1.6...v1.2.0
v1.1.6
What's Changed
- App shell by @Samyssmile in #84
- fix(datepicker): popover animation statt display:none (resolve #78) by @Samyssmile in #81
- fix(a11y): add prefers-reduced-motion to file-upload component by @Samyssmile in #77
Full Changelog: v1.1.2...v1.1.6
v1.1.2
What's Changed
- fix(select): replace CSS-gradient chevron with SVG mask-image by @Samyssmile in #23
- fix(table): replace CSS-triangle sort indicator with SVG mask-image by @Samyssmile in #22
- feat: organize story sidebar with hierarchical grouping by @Samyssmile in #7
- Add claude GitHub actions 1773334415174 by @Samyssmile in #28
- fix(switch): add focus ring, size variants, use token for border-radius by @Samyssmile in #27
- fix(tooltip): add max-width, allow text wrapping, and DRY up positioning by @Samyssmile in #26
- fix(checkbox/radio): logical props, focus ring, indeterminate state by @Samyssmile in #25
- fix(toast): use logical border property and add reduced-motion support by @Samyssmile in #24
- fix: resolve #4 – Enable Controls addon for interactive component exploration by @github-actions[bot] in #29
- fix: resolve #10 – docs: add MDX pages for tokens, theming, and getting started by @github-actions[bot] in #31
- fix: resolve #11 – fix(datepicker): critical accessibility gaps — missing keyboard nav, wrong ARIA, no focus trap by @github-actions[bot] in #32
- fix: resolve #12 – test: add missing play tests to CardAndTable, Icon, and DataTableSimple stories by @github-actions[bot] in #33
- fix: resolve #9 – docs: add component descriptions to all story meta by @github-actions[bot] in #30
- fix: resolve #15 – fix(card): missing base class definition, no focus state on interactive variant by @github-actions[bot] in #35
- fix: resolve #14 – fix(dropdown): wrong ARIA role, no keyboard support, no focus management by @github-actions[bot] in #34
- fix: resolve #17 – fix(sidebar): RTL broken on overlay mode, fragile sibling selector, hardcoded width by @github-actions[bot] in #36
- docs: add comprehensive argTypes to 6 stories by @Samyssmile in #37
- docs: resolve #2 – add MDX documentation pages by @Samyssmile in #38
- docs: add Design Principles and Component Patterns MDX pages, fix MDX… by @Samyssmile in #41
- fix(a11y): add hover states to checkbox, radio, and switch by @Samyssmile in #82
- fix(a11y): use error color for focus ring on invalid form controls by @Samyssmile in #83
New Contributors
- @github-actions[bot] made their first contribution in #29
Full Changelog: https://github.com/Samyssmile/construct/commits/v1.1.2