Skip to content

feat(empty-state): add reusable absence messaging - #13

Merged
maxigimenez merged 3 commits into
mainfrom
feat/empty-state-component
Sep 2, 2026
Merged

maxigimenez merged 3 commits into
mainfrom
feat/empty-state-component

Conversation

@maxigimenez

Copy link
Copy Markdown
Owner

Closes #5

Summary

  • add EmptyState for first-use, filtered-zero, and unconfigured states
  • expose @16-bits-design/ui/empty-state plus the root barrel export
  • include the square pixel motif described in the issue, built entirely from semantic variables
  • support document-aware heading levels, custom illustrations, descriptive content, and one action slot
  • cap copy at a readable 46-character measure and adapt spacing/actions for narrow screens
  • document the intentional boundary: use Alert for failures, EmptyState for absence

Visual evidence

Ember

EmptyState in Ember

Ocean

EmptyState in Ocean

Theme, responsive, and accessibility evidence

  • motif center changes from Ember rgb(255, 122, 26) to Ocean rgb(87, 215, 255)
  • default illustration is decorative and hidden from assistive technology
  • headingLevel renders real h2, h3, or h4 semantics
  • at 320px, the page remains 320px wide and the action/button both occupy the available 232px width
  • long title and description examples remain contained

Verification

  • Node 24.13.1
  • ESLint: pass
  • TypeScript: pass
  • Vitest: 15/15 pass
  • package build and 17 public export checks: pass
  • Storybook production build: pass

# Conflicts:
#	README.md
#	scripts/verify-package.mjs
#	src/components/components.test.tsx
#	src/stories/story.css
#	src/styles.css
@maxigimenez
maxigimenez merged commit 5aad6b2 into main Sep 2, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add an EmptyState component

1 participant