Skip to content

Releases

v0.6.5

Choose a tag to compare

@rakibulism rakibulism released this 10 Jul 14:35

Changed

  • Rebranded primary from Tailwind blue to a deep teal-green (#0F453C) — this project's own brand color, generated into a full 50–950 scale anchored exactly at the 600 step. Token names/structure are unchanged, only the hex values differ.

Fixed

  • Dark-mode contrast regression the rebrand exposed: raw primary-600 as text was only ~1.35:1 against the dark theme's surface. Added a --color-accent semantic token (primary-600 in light mode, primary-400 in dark) and moved Accordion/Breadcrumbs/Tabs hover-active text, Checkbox/Radio accent-color, and Spinner's arc onto it.

Full Changelog: v0.6.4...v0.6.5

v0.6.4

Choose a tag to compare

@rakibulism rakibulism released this 10 Jul 14:18

Changed

  • Swapped Radix UI for Base UI as the underlying primitive library for Modal, Menu, Tooltip, Toast, Tabs, Accordion, and Select — replaces 7 @radix-ui/react-* dependencies with a single @base-ui/react package. Public prop APIs are unchanged.
  • MenuItem still renders as a div[role="menuitem"].
  • Toast's dismiss button is aria-hidden while the toast stack isn't expanded/focused (a Base UI accessibility default) — still clickable, just not exposed via role-based queries until the stack expands.

Full Changelog: v0.6.3...v0.6.4

v0.6.3

Choose a tag to compare

@rakibulism rakibulism released this 10 Jul 13:08

Changed

  • Menu, Tooltip, Toast, and Select now wrap Radix UI primitives internally, completing the Radix migration started in v0.6.2.
  • Menu gains arrow-key navigation and portaled positioning; Tooltip goes from zero JS state to a real open/close lifecycle with Escape-to-dismiss; Toast auto-dismiss now pauses on hover/focus.
  • MenuItem now renders as a div[role="menuitem"] instead of a <button>.

Breaking

  • Select now wraps Radix Select instead of a native <select> — custom listbox instead of the platform picker.
    • onChange now receives the selected value directly: (value: string) => void, not a change event.
    • The forwarded ref now points to the trigger <button>, not an HTMLSelectElement.
    • New placeholder prop for empty-state text.

Full Changelog: v0.6.2...v0.6.3

v0.6.2

Choose a tag to compare

@rakibulism rakibulism released this 10 Jul 12:50

Changed

  • Tabs, Accordion, and Modal now wrap Radix UI primitives internally (public prop APIs unchanged). Radix packages are externalized in the build, not bundled.
  • Modal gains a real focus trap and focus restoration to the trigger on close.
  • Accordion gains Up/Down/Home/End keyboard navigation; Tabs gains Home/End plus aria-controls/aria-labelledby linking.
  • The npx rakibulism-ui add CLI now warns about the correct Radix package(s) for Modal/Tabs/Accordion.

Full Changelog: v0.6.1...v0.6.2

v0.6.1

Choose a tag to compare

@rakibulism rakibulism released this 10 Jul 12:33

Fixed

  • WCAG AA color contrast across the library — Button.danger, placeholder text, several icons, the Breadcrumbs separator, and Toast's variant indicators all had confirmed contrast failures; a dark-mode-only regression in gray-300 borders is also fixed.
  • Introduced semantic color tokens (--color-text-muted, --color-icon-default, --color-border-default, --color-border-strong, --color-indicator-*) calibrated to hold AA contrast in both themes.
  • Added a contrast-ratio regression test to prevent this from recurring.

Full Changelog: v0.5.0...v0.6.1

v0.5.0

Choose a tag to compare

@rakibulism rakibulism released this 10 Jul 11:43

Added

  • npx rakibulism-ui CLI — shadcn-style scaffolding tool that copies component source (.tsx + CSS module) directly into your project instead of depending on the published package.
    • npx rakibulism-ui init — writes a rakibulism-ui.json config, copies design tokens + globals.css
    • npx rakibulism-ui add <component> — copies one or more self-contained component folders
    • npx rakibulism-ui list — shows all available components

Full Changelog: v0.4.0...v0.5.0

v0.4.0

Choose a tag to compare

@rakibulism rakibulism released this 10 Jul 11:38

Added

  • Dark mode — the global stylesheet now ships a complete dark theme, activated with data-theme="dark" on <html> or any container. Surfaces, grays, and color tints flip; brand shades 300-600 stay on-brand. New semantic --color-surface token backs component surfaces.

Changed

  • README, npm description/keywords, and site hero copy refreshed to reflect the full 23-component catalog.

Full Changelog: v0.3.0...v0.4.0

v0.3.0 — Alert, test suite, CI gate

Choose a tag to compare

@rakibulism rakibulism released this 02 Jul 04:21

Added

  • Alert component — inline, persistent callout with info/success/error/warning variants, optional title, and optional dismiss button. role="alert" for urgent variants, role="status" otherwise. (#17)
  • Test suite — 64 Vitest + Testing Library behavior tests covering all 23 components: aria wiring, keyboard navigation, controlled/uncontrolled state, portals, timers, fallbacks. (#16)
  • CI gate — type-check, tests, library build, and site build on every PR and push to main; publishing also runs the full suite. (#16)
  • Community docs — CHANGELOG, CONTRIBUTING guide, issue/PR templates. (#18)

Changed

  • GitHub Actions bumped to checkout@v5 / setup-node@v5 on Node 22. (#16)

Install: npm i rakibulism-ui@0.3.0 · Docs & live demos: https://ui-rakibulism.vercel.app

Full history: CHANGELOG.md