Skip to content

feat(theme): headless surface, opt-in stock theme - #257

Merged
F0rty-Tw0 merged 10 commits into
mainfrom
art/feat/headless-unstyled-base
Jul 8, 2026
Merged

F0rty-Tw0 merged 10 commits into
mainfrom
art/feat/headless-unstyled-base

Conversation

@F0rty-Tw0

@F0rty-Tw0 F0rty-Tw0 commented Jul 7, 2026 •

Copy link
Copy Markdown
Collaborator

What changed

  • The core table is headless by default now. NatTableSurface's --sys-nat-table-* bridge tokens forward the public --nat-table-* tokens with no baked defaults, so an unthemed table inherits page/system colors instead of the dark-teal card look. Every component already carried its own neutral literal fallback, so nothing renders colorless.
  • New opt-in stylesheet ng-advanced-table/components/theme.css brings back the old stock appearance. Import it once (global styles or main.ts). It's wired as an ng-packagr asset plus a ./components/theme.css export, verified resolvable after a real build.
  • The one drag-preview shadow that was hard-coded in the core is now a --nat-table-drag-preview-shadow token.
  • Docs (theming.md, composition.md, quick-start.md) and the nat-best-practises skill now describe the headless default and the opt-in import. Docs HTML registry regenerated.
  • Added a minor version plan (no external consumers yet, so this ships without a major bump).

Impact on existing code

  • A consumer relying on the built-in default look with no tokens set now gets an unstyled table until they import theme.css or provide --nat-table-* tokens.
  • The token contract and all token names are unchanged. Tokens set on a wrapper still win over the opt-in theme, and derived values recompute from overridden palette tokens.
  • The showcase self-themes every surface, so it renders unchanged (confirmed in the browser).
  • Stacked on art/feat/css-discovery (docs: clarify nat table token overrides #253); merge that first.

Closes #245

@vercel

vercel Bot commented Jul 7, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
angular-advanced-table Ready Ready Preview, Comment Jul 8, 2026 9:17am

@F0rty-Tw0
F0rty-Tw0 requested a review from VaggelisKa July 7, 2026 14:22
Base automatically changed from art/feat/css-discovery to main July 7, 2026 14:25
@greptile-apps

greptile-apps Bot commented Jul 7, 2026 •

Copy link
Copy Markdown
Contributor

Confidence Score: 5/5

This looks safe to merge.

  • No blocking issues found in the changed code.

Important Files Changed

Filename Overview
libs/ng-advanced-table/components/feature/table-surface/table-surface.css The surface bridge now forwards public tokens so the core table can inherit page styling by default.
libs/ng-advanced-table/components/theme.css The new stylesheet defines the stock --nat-table-* token values for apps that opt in.
libs/ng-advanced-table/package.json The package export map now exposes ng-advanced-table/components/theme.css.
libs/ng-advanced-table/ng-package.json The theme stylesheet is included as an ng-packagr asset.

Reviews (3): Last reviewed commit: "test(resizing): ✅ improve column resizin..." | Re-trigger Greptile

F0rty-Tw0 added 10 commits July 8, 2026 09:34
- change `--showcase-page-bg` to `--sc-bg` in `docs` index HTML
- clarify internal token usage in theming documentation
Updated the locator for the `Advancing` status chip in multiple
features tests to select all matching elements instead of just the
first one, ensuring accurate test behavior.
…ices

- clarify the use of `--nat-table-*` custom properties
- provide a canonical shape example for theme implementation
- emphasize the importance of scoping themes on wrapper elements
- introduce a new CSS file for the stock theme
- define CSS variables for colors, typography, spacing, and more
- enhance the visual consistency of the table components

fix(table-header-actions): 🐛 ensure background color fallback

- update background property to include a transparent fallback
- improve accessibility for sort icon chips

fix(table): 🐛 adjust box-shadow for drag preview

- refactor box-shadow to use a variable for drag preview shadow
- maintain existing shadow styles as defaults
- change test description to clarify behavior with no tokens
- ensure headless surface inherits ancestor text color
- replace direct assertions with polling for bounding width
- enhance drag resize handle functionality with animation frame
@F0rty-Tw0
F0rty-Tw0 merged commit bbf6730 into main Jul 8, 2026
8 checks passed
@F0rty-Tw0
F0rty-Tw0 deleted the art/feat/headless-unstyled-base branch July 8, 2026 12:17

This branch was successfully deployed

1 active deployment
Preview — 674d06e0 Deployed Jul 8, 2026 by vercel[bot]
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 a mixin/reset to remove table surface styles (or make unstyled by default)

2 participants