Skip to content

feat(ui): Tailwind v4 + Zard UI setup, Bootstrap cascade-layered#148

Merged
gkbishnoi07 merged 1 commit into
angular-zard-migrationfrom
feat/tailwind-zard-setup
Jul 9, 2026
Merged

feat(ui): Tailwind v4 + Zard UI setup, Bootstrap cascade-layered#148
gkbishnoi07 merged 1 commit into
angular-zard-migrationfrom
feat/tailwind-zard-setup

Conversation

@gkbishnoi07

Copy link
Copy Markdown

Stacked on #147 (standalone conversion). Sets up the shared AMRIT frontend stack — Tailwind CSS v4 + Zard UI (Common-UI/v2/ui) — with Bootstrap cascade-layered underneath, exactly mirroring the architecture proven in MMU-UI.

What this adds

  • Common-UI submodule → 306f09b (angular-zard-migration): full Zard component set (button, card, input, select, dialog, table, form, tabs, date-picker, paginator, …) incl. the dialog engine fix that resolves route/feature-scoped providers (NG0201)
  • Tailwind v4 via @tailwindcss/postcss + .postcssrc.json; src/tailwind.css carries the AMRIT blue+white theme tokens; Preflight stays off during coexistence
  • Bootstrap loaded once, cascade-layered: @layer bootstrap, theme, components, utilities — utilities beat Bootstrap on migrated markup; un-migrated screens render unchanged. Previously Bootstrap was loaded three times, all unlayered (angular.json + index.html <link> + @import in styles.css) — the unlayered copies beat every Tailwind utility and are removed
  • Zard host deps (@ng-icons v32, CVA, clsx, tailwind-merge, tailwindcss-animate)
  • Coexistence reset for [z-button]/z-select trigger radius (Material's unlayered button{border-radius:0})
  • Common-UI/src/* imports switched to Common-UI/v2/* (51 files, SessionStorageService)

Verification

build-dev ✅ · build-prod ✅ · lint ✅ · compiled bundle inspected: layer order declared, Bootstrap wrapped in its layer (0 unlayered leakage), theme tokens + utilities generated from the Zard sources

Screens are intentionally untouched — migration starts in the next PR (login + shell first).

@coderabbitai

coderabbitai Bot commented Jul 5, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: fadb9f07-0d0a-4b3d-8a50-1efdb260c762

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

…ered

Adopt the shared AMRIT frontend stack (same architecture as MMU-UI):

- bump the Common-UI submodule to angular-zard-migration (306f09b) - brings
  the full Zard UI component set (Common-UI/v2/ui) incl. the dialog engine
  with route-scoped-provider resolution
- add tailwindcss v4 (+ @tailwindcss/postcss, tailwindcss-animate) and the
  Zard host deps (@ng-icons/core+lucide, class-variance-authority, clsx,
  tailwind-merge); .postcssrc.json enables the Tailwind postcss plugin
- src/tailwind.css: AMRIT blue+white theme tokens + @layer bootstrap, theme,
  components, utilities (Preflight intentionally off during coexistence)
- Bootstrap is now loaded exactly once, wrapped in the lowest cascade layer
  (src/bootstrap.layer.css), so Tailwind utilities beat Bootstrap on migrated
  markup while un-migrated screens render unchanged. Previously it was loaded
  three times, all unlayered: angular.json styles entry, an index.html <link>
  and an @import in styles.css - all removed
- custom.css/layout.css become their own angular.json style entries instead
  of @imports through the Tailwind postcss pipeline (keeps their relative
  font/image urls resolving as before)
- unlayered coexistence reset for [z-button]/z-select trigger radius (Material
  ships an unlayered button{border-radius:0})
- switch Common-UI imports from Common-UI/src/* to Common-UI/v2/*

build-dev, build-prod and lint verified green; compiled bundle verified:
layer order declared, bootstrap wrapped, theme tokens + utilities generated.
@gkbishnoi07
gkbishnoi07 force-pushed the feat/tailwind-zard-setup branch from a5a8ddb to 5dd1ea8 Compare July 5, 2026 19:45
@sonarqubecloud

sonarqubecloud Bot commented Jul 5, 2026

Copy link
Copy Markdown

@gkbishnoi07
gkbishnoi07 changed the base branch from feat/standalone-conversion to angular-zard-migration July 9, 2026 06:12
@gkbishnoi07
gkbishnoi07 merged commit fdac7ee into angular-zard-migration Jul 9, 2026
4 checks passed
@gkbishnoi07
gkbishnoi07 deleted the feat/tailwind-zard-setup branch July 9, 2026 06:14
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.

2 participants