Skip to content

feat(webkit): overhaul EmptyState (icon tile, size-scaled type, dashed border) + Table empty state - #786

Merged
robsongajunior merged 6 commits into
mainfrom
feat/webkit-empty-state
Jul 23, 2026
Merged

feat(webkit): overhaul EmptyState (icon tile, size-scaled type, dashed border) + Table empty state#786
robsongajunior merged 6 commits into
mainfrom
feat/webkit-empty-state

Conversation

@gabriel-lisboa-azion

Copy link
Copy Markdown
Collaborator

Summary

EmptyState overhaul + Table adoption.

  • Adornment standardized on an icon-driven featured tile (icon prop, e.g. pi pi-inbox), replacing the fixed illustration.
  • Typography — title (heading) and description (body) now scale with size on a harmonic ramp.
  • size reduced to small | medium (removed large).
  • Bordered variant renders a dashed border.
  • Table — no-results state now renders via <EmptyState size="small" icon="pi pi-table"> instead of a hand-rolled illustration + text (routes empty through the shipped component, per the component-states rule).

Notes

  • Version bump: webkit minor.
  • Possible breaking change (not marked): dropped size="large" and changed the adornment API (illustration slot → icon tile). Commits are feat (minor). If EmptyState is already released, these need ! + a BREAKING CHANGE: footer — flag for review.
  • catalog.json includes the adornment regen but is stale for the typography / large-removal / dashed-border changes — regenerate before release.
  • .specs/empty-state.md updated; run /spec-validate empty-state (checksum).
  • No new dependencies.

…ured tile

Replace the bundled EmptyStateIllustration with a size-scaled featured-icon
tile driven by a new `icon` prop (PrimeIcons/Azion class). The `icon` slot
still overrides it, and omitting both prop and slot now renders no adornment.
Scale the title/description typography on the same harmonic size ramp.
…ble empty state

- Title (heading) and description (body) typography now scale with `size` on a harmonic ramp; `size` is small/medium only (`large` removed).
- Bordered variant renders a dashed border.
- Data Table renders its no-results state via <EmptyState size="small" icon="pi pi-table">, replacing the hand-rolled illustration + text.
- empty-state.vue: $slots['icon'] instead of $slots.icon (TS4111 — slots come from an index signature)
- regenerate catalog.json to match the updated EmptyState size subset and docs
The EmptyState overhaul (icon tile, size-scaled type, dashed border) and the new
Table empty state change the rendered output, and the overhaul adds the icon and
no-adornment stories. Regenerated the Linux baselines on CI (Storybook Regenerate
Baseline workflow) so the committed snapshots match — including the two new stories
that would otherwise fail with 'New snapshot was not written.'

@robsongajunior robsongajunior left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

apps/storybook/.storybook/test-visual/__image_snapshots__/linux/components-data-table--empty--light-mobile.png and apps/storybook/.storybook/test-visual/__image_snapshots__/linux/components-data-table--empty--dark-mobile.png not seen tablet responsive.

Please review all the states and the images diff post opened pull request

@robsongajunior
robsongajunior merged commit 26ae5ee into main Jul 23, 2026
23 checks passed
@robsongajunior

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 4.2.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

@robsongajunior

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 4.2.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

@robsongajunior
robsongajunior deleted the feat/webkit-empty-state branch July 26, 2026 02:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Development

Successfully merging this pull request may close these issues.

3 participants