Skip to content

feat: skeleton component (Web Awesome parity) #77

Description

@eddyloewen

Goal

Add skeleton to the library, following the Web Awesome anatomy of wa-skeleton (attributes, slots, CSS parts, events) but implemented with element-js on the shared style layer from the "style layer" issue in this milestone.

Loading placeholder with effect (none/sheen/pulse), shape controlled by CSS custom properties, aria-busy guidance in the readme.

Acceptance criteria

  • src/components/skeleton/ with the standard files: skeleton.js (class + define()), skeleton.define.js, skeleton.style.js (composed from the shared style modules), skeleton.events.js where events exist, skeleton.stories.js, skeleton.readme.md, skeleton.changelog.md, skeleton.test.unit.js, skeleton.test.feature.js.
  • Attributes reflect to properties; sizes small/medium/large and the variant vocabulary of the style layer where they apply.
  • Accessible: correct roles/ARIA, keyboard operable, focus visible; axe passes in the feature test.
  • Renders server-side through @webtides/element-js-ssr-renderer (catalog smoke test passes) and hydrates without a flash.
  • Custom-elements manifest, catalog, all.js, and README component list updated.

Depends on

Style layer issue of this milestone.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions