Promote .sl-chip to a unified meta-label component with color-mix tones and group every content meta hook (date, category, views, comments, posts, votes, favorites, new, messages, etc.) onto it: non-link chips carry a semantic tone (date/comments=info, votes=success, favourites=danger, new=warn, rest neutral), link chips (a.*) use the system success tone, 26px tall with auto width.
Drop the old per-field icon list; keep cart/shop actions and forum/topic state glyphs as plain icons (chips there are overload). Show forum-post and comment meta (date/edit + flag+IP) as chips via one shared rule; combine flag and IP into a single sl-geo-ip chip built through the span fragment (is_geo_ip flag), keeping markup out of PHP.
The float UI sandbox prose referenced the removed .sl-editor-gear; point it at the realised .sl-but-mini chip it prototyped.
Add .sl-but-mini (26px icon/number chip) and migrate id badges, pagination, menu triggers (gear/three-dots) and info tips to it; group the moderator menu beside the id badge via shared .sl-meta-actions (reused by .sl-com-edit). Collapse the leftover sl-card-read/-admin/-back/-navi-lower button hooks into the single .sl-but.
Rebuild the rating-like widget: thumbs as .sl-but-mini, always-filled pill with a pointer corner on both sides driven by --sl-rate-fill + calc(100% - 2px), unified with the star-rating votes badge. Centre avatar/rating/rank in the comment column (widened to 130px so the widget fits) and centre icons in .sl-but-mini and .sl-circle-action with one flex-fill method.
Drop the now-dead editor_span data from the news cards.
Reduce ui-neutral-lab buttons to the single .sl-but recipe (drop size/shape/icon/group/split/fab variants and their showcase blocks), migrate form-notices-lab variants, and repoint alerts-lab / ui-tactile-lab to --sl-grad-* tokens (inline literals for the removed danger/warning/accent colours).
Replace every sl-but-* variant class in fragments, partials and layouts with the consolidated .sl-but; semantic flags in fragments now all map to the one button class. Point the error.html search button at the renamed --sl-grad-info-* tokens.
Merge all sl-but-* colour and structural variants (neutral/primary/ success/danger/warning/accent/navi/read) into one neutral .sl-but. Add border/appearance reset so input/button submits match anchors (the ring is drawn via box-shadow, not a CSS border).
Rename live palette tokens --sl-but-primary/success-* to --sl-grad-info/success-*, drop dead button colour tokens, and dedupe --sl-but-link-text into the identical --sl-color-brand-link.
Add a family of five self-contained demo pages under demo/, each presenting 83 components in a distinct design language with one shared canonical order, unified names and CSS-counter numbering. Live behaviour reuses the real slaed.js + tablesort (tabs, sort, float dropdowns/tooltips, accordion and collapse), re-dressed per theme.
Core changes:
- UI kits (demo/ui-*-lab.html):
- ui-neutral-lab: flat production look on theme.css tokens
- ui-tactile-lab: convex/concave soft skeuomorphism, 4 corner-forms
- ui-float-lab: soft grey controls energizing to brand-blue
- ui-midnight-lab: dark neon glassmorphism
- ui-clay-lab: playful claymorphism with springy interactions
- Naming (demo/buttons-lab.html -> demo/ui-buttons-lab.html):
- fold the original button sandbox into the ui-*-lab family
Benefits:
- Shared component order and names make the five themes directly comparable
- Pure HTML/CSS plus the real slaed.js mechanics, no new dependencies
- Demo-scoped classes only; production base.css/theme.css untouched
Technical notes:
- Each page is standalone; charts are inline SVG / CSS conic-gradients
- Section numbering via CSS counters; interactives wired with vanilla JS
- Backward compatible: nothing outside demo/ is modified
Patch the vendored bootstrap-icons @font-face (lite and admin) to drop the FOIT: font-display block delays icon paint until the font loads, which Lighthouse flags (~60ms FCP). swap paints immediately and swaps in the glyphs once ready.
Core changes:
- Icon font face (templates/{lite,admin}/assets/vendor/bootstrap/css/bootstrap-icons.min.css):
- font-display: block -> swap
- drop the dead .woff src (no .woff file is shipped; only woff2 exists)
Technical notes:
- Vendor file edit; re-apply on a bootstrap-icons upgrade
Review sandbox for button styles, on lite design tokens, isolated under slb- (does not touch production sl-but-). Stays within the lite theme's clean, light look.
Core changes:
- Demo (demo/buttons-lab.html):
- flat families: solid / soft / outline / ghost / gradient / elevated
- frame shapes, sizes, icons, states (loading/disabled), groups, split, FAB
- clip-path/mask/skew shapes (chamfer, arrows, tag, hex, ticket, parallelogram)
- faithful repros: pillow (old frontend pill) and admin (admin-panel recipe)
- proposed theme families: rect / pill / elevated / elevated-shadow
Technical notes:
token-driven channels (--c / --cd / --ct, --slb-h/px/r) for combinable color x style x shape x size without CSS duplication
- :focus-visible rings, prefers-reduced-motion, color-mix edge derivation
Align theme CSS with the unified tab markup and the new admin field-value atom.
Core changes:
- lite theme.css:
restyle tabs for the class-based markup (sl-tabs-nav, sl-tabs-item, sl-tabs-link, sl-is-active, sl-tabs-content, sl-tab-panel)
- drop the legacy anchor-based tab selectors
- admin theme.css:
- add sl-form-row / sl-form-label / sl-form-value for field-value
Benefits:
- Consistent tab styling on the shared markup in both themes