Skip to content

Conversation

@planetabhi
Copy link
Member

@planetabhi planetabhi commented Sep 20, 2025

Summary by CodeRabbit

  • New Features

    • Adds 15 root-level CSS custom properties for standardized font stacks and includes them in typography.
    • Introduces an enhanced responsive grid with breakpoint-driven rules, gutter/column helpers, visibility utilities, and improved layout fallbacks.
  • Chores

    • Bumped several packages (typography, reset, grid, colors, effects) and updated development tooling to newer minor releases.
    • Updated CDN usage in READMEs to reference latest releases.

@coderabbitai
Copy link

coderabbitai bot commented Sep 20, 2025

Walkthrough

Move font-stack CSS custom properties from _variables.scss into a new _fonts.scss, import it from index.scss; add new responsive grid mixins/placeholders and rewrite grid layout rules; bump package versions and update Parcel/PostCSS devDependencies across multiple packages; update CDN README links to @latest.

Changes

Cohort / File(s) Summary
Typography package metadata
packages/typography/package.json
Bump version 0.1.80.1.9; update devDependencies: @parcel/transformer-sass ^2.14.4^2.16.0, parcel ^2.14.4^2.16.0, postcss ^8.5.3^8.5.6.
Typography fonts extraction
packages/typography/src/_fonts.scss, packages/typography/src/_variables.scss, packages/typography/src/index.scss
Add new :root CSS custom-properties block defining 15 font-stack variables in _fonts.scss; remove the same font-stack declarations from _variables.scss; prepend @use 'fonts'; in index.scss.
Reset package metadata
packages/reset/package.json
Bump version 0.0.90.1.0; update devDependencies: @parcel/transformer-sass ^2.14.4^2.16.0, parcel ^2.14.4^2.16.0.
Grid package metadata & README
packages/grid/package.json, packages/grid/README.md
Bump package version 0.0.90.1.0; remove @new-ui/reset from devDependencies; update devDependencies: @parcel/transformer-sass & parcel to ^2.16.0; update CDN README snippet to use @latest.
Grid implementation
packages/grid/src/_grid.scss
Introduce @use "sass:map" and @use "sass:math"; add breakpoint($breakpoint) and grid-gutter-reset mixins; add %col-base, %col-flex-column placeholders; refactor container/.grid/.col to be breakpoint-driven with generated sizing, offset, grow, visibility utilities, gap fallback and reduced-motion handling.
Colors package metadata
packages/colors/package.json
Bump version 2.0.12.0.2; remove trailing period from description; update devDependencies: @parcel/transformer-sass, parcel, and caniuse-lite.
Effects package metadata & README
packages/effects/package.json, packages/effects/README.md
Bump version 0.1.50.1.6; change CDN snippet in README to use @latest.
Spacings README
packages/spacings/README.md
Change CDN include snippet to use @latest instead of a version placeholder.

Sequence Diagram(s)

(Skipped — changes are stylesheet extraction and static build/config updates, not control-flow or runtime interactions.)

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • polishing #5 — Updates Parcel-related devDependencies (@parcel/transformer-sass, parcel) in package.json files; likely related tooling alignment.

Poem

A nibble of type beneath the moonlit lawn,
I hopped the stacks where font-variables spawn.
Roots now sing from a brand-new file,
Grids learn breakpoints and stretch a while.
Parcel packs carrots — build-time dawn. 🥕

Pre-merge checks and finishing touches

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Title Check ❓ Inconclusive The title "polishing" is a single, vague word that does not describe the primary changes in this pull request; the diff includes extracting system font stacks, modifying typography imports, significant grid refactors, and multiple package version bumps, none of which are conveyed by the title. Because it uses non-descriptive language rather than summarizing the main change, the title is insufficient for a teammate scanning history to understand the PR's intent. Please rename the PR to a concise, descriptive single sentence that highlights the main change (for example: "typography: extract system font stacks to _fonts.scss and bump package versions" or "chore(typography,grid): add font tokens, grid refactor, and update dev deps"); pick the one that best reflects the primary intent and keep it brief.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feature

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 and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (1)
packages/typography/src/_fonts.scss (1)

1-18: Optional: add a short usage note or example.

A brief comment showing font-family: var(--system-ui); helps consumers discover these tokens.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between d569daa and e60365a.

⛔ Files ignored due to path filters (3)
  • packages/typography/bun.lock is excluded by !**/*.lock
  • packages/typography/dist/index.css.map is excluded by !**/dist/**, !**/*.map
  • packages/typography/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (3)
  • packages/typography/package.json (2 hunks)
  • packages/typography/src/_fonts.scss (1 hunks)
  • packages/typography/src/index.scss (1 hunks)
🔇 Additional comments (1)
packages/typography/src/index.scss (1)

1-1: LGTM: importing fonts first is correct.

This ensures CSS custom properties are available to later modules.

{
"name": "@new-ui/typography",
"version": "0.1.8",
"version": "0.1.9",
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue

🧩 Analysis chain

Version/devDeps bump looks fine; verify Node/Parcel compatibility and lockfile.

  • Parcel 2.16 may require a newer Node runtime. Ensure CI/runtime Node version satisfies Parcel’s requirement.
  • Make sure all @parcel/* plugins in the repo (if any) are on compatible 2.16.x to avoid subtle build issues.
  • Refresh and commit your lockfile to prevent CI drift.

Run to audit engines, parcel plugins, and lockfile presence:

Also applies to: 42-46


🏁 Script executed:

#!/bin/bash
set -euo pipefail
echo "Node engines (if declared):"
fd -t f package.json | while read -r f; do
  jq -r --arg f "$f" '(.engines.node // empty) as $n | if $n != null then "\($f): \($n)" else empty end' "$f"
done

echo -e "\nAll @parcel deps by version:"
rg -nP '"@parcel/[^"]+"\s*:\s*"[^"]+"' -g '!**/dist/**' -g '!**/node_modules/**'

echo -e "\nTop-level lockfiles:"
ls -1 pnpm-lock.yaml package-lock.json yarn.lock 2>/dev/null || true

Length of output: 276


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "Collecting package.json files..."
mapfile -t files < <(fd -t f 'package.json' 2>/dev/null || find . -type f -name 'package.json' -not -path '*/node_modules/*' 2>/dev/null || true)

if [ ${#files[@]} -eq 0 ]; then
  echo "No package.json files found"
else
  echo "Found ${#files[@]} package.json files"

  echo -e "\nNode engines (if declared):"
  for f in "${files[@]}"; do
    node_engine=$(jq -r '.engines.node // empty' "$f" 2>/dev/null || true)
    if [ -n "$node_engine" ]; then
      printf '%s: %s\n' "$f" "$node_engine"
    fi
  done

  echo -e "\nAll @parcel deps by version (per package.json):"
  for f in "${files[@]}"; do
    echo "--- $f ---"
    jq -r '((.dependencies // {}) + (.devDependencies // {}) + (.peerDependencies // {}))
           | to_entries[]? 
           | select(.key|test("^@parcel/"))
           | "\(.key): \(.value)"' "$f" 2>/dev/null || true
  done

  echo -e "\npackages/typography/package.json version (if present):"
  if [ -f packages/typography/package.json ]; then
    jq -r '.version // empty' packages/typography/package.json || true
  else
    echo "not found"
  fi
fi

echo -e "\nTop-level lockfiles (root):"
for lock in pnpm-lock.yaml package-lock.json yarn.lock; do
  [ -f "$lock" ] && echo "$lock"
done

Length of output: 89


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "Safe search for package.json files (no process substitution)..."

tmpfile=$(mktemp)
cleanup() { rm -f "$tmpfile"; }
trap cleanup EXIT

if command -v fd >/dev/null 2>&1; then
  fd -t f 'package.json' 2>/dev/null > "$tmpfile" || true
else
  find . -type f -name 'package.json' -not -path '*/node_modules/*' 2>/dev/null > "$tmpfile" || true
fi

if [ ! -s "$tmpfile" ]; then
  echo "No package.json files found"
  exit 0
fi

mapfile -t files < "$tmpfile"
echo "Found ${#files[@]} package.json files"

if ! command -v jq >/dev/null 2>&1; then
  echo "jq is not installed; cannot parse JSON fields."
fi

echo -e "\nNode engines (if declared):"
for f in "${files[@]}"; do
  jq -r '.engines.node // empty' "$f" 2>/dev/null || true
  if [ "${PIPESTATUS[0]:-0}" -ne 0 ]; then
    echo "(failed to read $f)"
  else
    node_engine=$(jq -r '.engines.node // empty' "$f" 2>/dev/null || true)
    [ -n "$node_engine" ] && printf '%s: %s\n' "$f" "$node_engine"
  fi
done

echo -e "\nAll @parcel deps by version (per package.json):"
for f in "${files[@]}"; do
  echo "--- $f ---"
  jq -r '((.dependencies // {}) + (.devDependencies // {}) + (.peerDependencies // {}))
         | to_entries[]? 
         | select(.key|test("^@parcel/"))
         | "\(.key): \(.value)"' "$f" 2>/dev/null || true
done

echo -e "\npackages/typography/package.json version (if present):"
if [ -f packages/typography/package.json ]; then
  jq -r '.version // empty' packages/typography/package.json || true
else
  echo "not found"
fi

echo -e "\nTop-level lockfiles (root):"
for lock in pnpm-lock.yaml package-lock.json yarn.lock; do
  [ -f "$lock" ] && echo "$lock"
done

Length of output: 777


Action required — align @parcel/ to 2.16.x, declare Node engine, and add/commit lockfile*

  • No engines.node declared in any package.json — add engines.node in the repo root (or enforce the Node version in CI) so runtime satisfies Parcel 2.16.x.
  • Mismatched @parcel/* versions found — update so all plugins use the same 2.16.x series:
    • package.json (root): @parcel/transformer-sass: ^2.16.0
    • packages/typography/package.json: @parcel/transformer-sass: ^2.16.0
    • packages/colors/package.json: @parcel/transformer-sass: ^2.14.4
    • packages/effects/package.json: @parcel/transformer-sass: ^2.14.4
    • packages/grid/package.json: @parcel/transformer-sass: ^2.14.4
    • packages/reset/package.json: @parcel/transformer-sass: ^2.14.4
    • packages/spacings/package.json: @parcel/transformer-css: ^2.14.4, @parcel/transformer-sass: ^2.14.4
  • No top-level lockfile detected — run your package-manager install (npm/pnpm/yarn), refresh the lockfile, and commit it to prevent CI drift.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e60365a and 75ce094.

⛔ Files ignored due to path filters (4)
  • packages/reset/bun.lock is excluded by !**/*.lock
  • packages/reset/dist/index.css is excluded by !**/dist/**
  • packages/reset/dist/index.css.map is excluded by !**/dist/**, !**/*.map
  • packages/reset/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (2)
  • packages/reset/package.json (2 hunks)
  • packages/typography/src/_variables.scss (0 hunks)
💤 Files with no reviewable changes (1)
  • packages/typography/src/_variables.scss
🔇 Additional comments (2)
packages/reset/package.json (2)

3-3: Semver bump looks fine; remember release hygiene.

  • Minor version to 0.1.0 aligns with tooling updates.
  • Please update CHANGELOG and tag the release when merging.

38-38: Align Parcel version across workspaces and refresh lockfile.

  • Make sure all packages use parcel@^2.16.0 to avoid duplicated toolchains.
  • After merge, run a clean install to regenerate the lockfile with the new tool versions.

"homepage": "https://github.com/NewDesignFile/foundations#readme",
"devDependencies": {
"@parcel/transformer-sass": "^2.14.4",
"@parcel/transformer-sass": "^2.16.0",
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue

🧩 Analysis chain

Check sass peer and Node engine for Parcel/Sass pipeline.

  • @parcel/transformer-sass@^2.16.0 typically expects a sass peer. If you’re relying on workspace hoisting, consider adding an explicit devDependency here to avoid fragility.
  • Ensure CI uses a Node version compatible with Parcel 2.16 (generally Node 18+).

Run this script to verify across the monorepo:


🏁 Script executed:

#!/bin/bash
set -euo pipefail

echo "== Packages with transformer-sass but missing sass =="
fd -a package.json packages | while read -r f; do
  trans=$(jq -r '.devDependencies["@parcel/transformer-sass"] // empty' "$f")
  if [[ -n "$trans" ]]; then
    sass=$(jq -r '.devDependencies.sass // empty' "$f")
    if [[ -z "$sass" ]]; then
      echo "Missing sass -> $f (transformer-sass: $trans)"
    fi
  fi
done

echo
echo "== Parcel versions by package =="
fd -a package.json packages | while read -r f; do
  parcel=$(jq -r '.devDependencies.parcel // empty' "$f")
  if [[ -n "$parcel" ]]; then
    echo "$f : parcel $parcel"
  fi
done

echo
echo "== Root engines.node (if any) =="
jq -r '.engines.node // "NO engines.node in root package.json"' package.json 2>/dev/null || true

echo
echo "== .nvmrc / .node-version (if present) =="
[ -f .nvmrc ] && { echo -n ".nvmrc: "; cat .nvmrc; } || echo "No .nvmrc"
[ -f .node-version ] && { echo -n ".node-version: "; cat .node-version; } || echo "No .node-version"

Length of output: 1178


Add explicit sass devDependency to packages using @parcel/transformer-sass and declare Node engine (Node 18+)

  • Add devDependency sass to: packages/colors/package.json, packages/effects/package.json, packages/grid/package.json, packages/reset/package.json, packages/spacings/package.json, packages/typography/package.json (each lists @parcel/transformer-sass but lacks sass).
  • Declare engines.node in root package.json (or add .nvmrc/.node-version) and ensure CI uses Node 18+; parcel versions present: packages/reset & packages/typography → ^2.16.0, others → ^2.14.4 — verify Node 18+ compatibility across these.
🤖 Prompt for AI Agents
In packages/reset/package.json around line 36, the package lists
@parcel/transformer-sass but does not declare the required peer/devDependency
"sass"; add "sass" as a devDependency (use a current stable version compatible
with your Parcel v2.x) to packages/reset/package.json, and repeat for the other
listed packages (colors, effects, grid, spacings, typography); additionally
declare engines.node (Node 18+) in the repository root package.json or add an
.nvmrc/.node-version file and ensure CI is configured to use Node 18+; finally
verify Parcel v2.14/2.16 compatibility with Node 18 across those packages.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 75ce094 and dc8da00.

⛔ Files ignored due to path filters (2)
  • packages/grid/bun.lock is excluded by !**/*.lock
  • packages/grid/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (1)
  • packages/grid/package.json (1 hunks)
🔇 Additional comments (2)
packages/grid/package.json (2)

40-40: No extra sass devDependency required — @parcel/transformer-sass already depends on sass.
@parcel/transformer-sass declares sass (dart-sass) in its dependencies for Parcel 2.16, so adding sass to packages/grid/package.json is unnecessary.

Likely an incorrect or invalid review comment.


42-42: Parcel 2.16 upgrade — ensure Node engine compatibility and repo-wide Parcel/transformer sync.

  • Parcel v2.16 requires Node >=16.0.0 — add an engines.node >=16.0.0 (repo root or per-package) and ensure CI uses the same Node image.
  • Repo shows mixed Parcel/transformer versions; align to a single version (recommend ^2.16.0):
    • ^2.16.0: packages/typography/package.json, packages/grid/package.json, packages/reset/package.json (bun.lock entries present).
    • ^2.14.4: packages/spacings/package.json, packages/effects/package.json, packages/colors/package.json (bun.lock entries present).
    • @parcel/transformer-sass is also mixed (2.16.0 vs 2.14.4) — sync this alongside parcel.
  • Re-run CI and a repo-wide audit after syncing. Quick audit commands used here:
    • rg -nP '"parcel"\s*:\s*"^?2..+"' -C1 packages
    • rg -nP '"@parcel/transformer-sass"\s*:\s*"^?2..+"' -C1 packages

"devDependencies": {
"@new-ui/reset": "^0.0.8",
"@parcel/transformer-sass": "^2.14.4",
"@new-ui/reset": "^0.0.9",
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue

🧩 Analysis chain

Reset bump looks fine; verify workspace alignment and refresh lockfile.

Ensure all packages reference the same @new-ui/reset range and re-generate the lockfile to avoid version skew.

Run to audit versions across the monorepo:


🏁 Script executed:

#!/bin/bash
# Where: repo root
rg -nP '"@new-ui/reset"\s*:\s*".*"' -C1 packages
jq -r '[.name, .version] | @tsv' packages/reset/package.json 2>/dev/null || true

Length of output: 393


Align @new-ui/reset version & refresh lockfile.

packages/grid/package.json (devDependencies ~line 39) declares "@new-ui/reset": "^0.0.9" while packages/reset/package.json is version 0.1.0; packages/grid/bun.lock still references ^0.0.9. Update packages/grid/package.json to "^0.1.0" (or use "workspace:*"), reinstall to regenerate lockfiles, and confirm no other packages reference ^0.0.9.

🤖 Prompt for AI Agents
In packages/grid/package.json around line 39, devDependency "@new-ui/reset" is
pinned to "^0.0.9" which is out of sync with packages/reset/package.json (0.1.0)
and bun.lock; update the dependency to "^0.1.0" or use "workspace:*" in
packages/grid/package.json, then reinstall dependencies to regenerate lockfiles
(bun.lock / package-lock / pnpm-lock as applicable) and run a repo-wide search
to confirm no other packages or lockfiles still reference "^0.0.9".

@planetabhi planetabhi changed the title typography updates polishing Sep 20, 2025
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (7)
packages/effects/README.md (1)

14-15: Prefer pinning a version over @latest for production CDN usage.

@latest can introduce breaking changes without notice. Recommend pinning a semver (e.g., @0.x.y) and, if pinning, consider adding SRI. Keep @latest only for quickstart/demos and note the trade‑off in the README.

Here’s a safer snippet:

-<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@new-ui/effects@latest/dist/index.css">
+<!-- For production, pin a version -->
+<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@new-ui/effects@0.1.0/dist/index.css">
+<!-- Optionally add SRI when version is pinned -->
+<!-- <link rel="stylesheet" href="...@0.1.0/dist/index.css" integrity="sha256-..." crossorigin="anonymous"> -->
packages/spacings/README.md (1)

14-16: Same note: avoid @latest in production docs.

Mirror the effects README guidance: pin a version in the example and optionally add SRI; keep @latest only for sandbox/demos with a cautionary note.

-<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@new-ui/spacings@latest/dist/index.css">
+<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@new-ui/spacings@0.1.0/dist/index.css">
packages/grid/src/_grid.scss (5)

2-2: Remove unused Sass module import.

"sass:math" isn’t referenced; drop it to reduce compile overhead.

-@use "sass:math";

96-105: Make fixed-width columns non-growing to avoid unexpected expansion.

With %col-base setting flex: 1 0 0%, width classes can still grow; prefer locking width via flex: 0 0 .

-  &--#{$i} {
-    flex-basis: calc(100% * #{$i} / 12);
-    max-width: calc(100% * #{$i} / 12);
-  }
+  &--#{$i} {
+    flex: 0 0 calc(100% * #{$i} / 12);
+    max-width: calc(100% * #{$i} / 12);
+  }

71-77: Clarify intent of “.col--” baseline rules (100% at breakpoint).

These set columns to 100% width at each token. Is the intent “stack at and above token unless an explicit width is provided”? If so, consider documenting or generating “.col--md-6” style utilities for per‑breakpoint sizing to complete the API.


125-127: Avoid will-change unless profiling proves benefit.

will-change: margin can keep layers alive and increase memory/painting cost. Recommend removing or gating to interactive states.

-.col--push-left,
-.col--push-right {
-  will-change: margin;
-  contain: layout;
-}
+.col--push-left,
+.col--push-right {
+  contain: layout;
+}

131-135: prefers-reduced-motion shouldn’t alter layout direction.

Reduced‑motion is for animation/transition effects; flipping .grid--reverse to row changes content order and may surprise users. Recommend removing or restricting to animated reversals only.

-@media (prefers-reduced-motion: reduce) {
-  .grid--reverse {
-    flex-direction: row;
-  }
-}
+/* Consider handling motion via transitions/animations only, not layout direction */
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between dc8da00 and dc83255.

⛔ Files ignored due to path filters (9)
  • packages/colors/bun.lock is excluded by !**/*.lock
  • packages/colors/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
  • packages/effects/bun.lock is excluded by !**/*.lock
  • packages/effects/pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
  • packages/grid/bun.lock is excluded by !**/*.lock
  • packages/grid/dist/index.css is excluded by !**/dist/**
  • packages/grid/dist/index.css.map is excluded by !**/dist/**, !**/*.map
  • packages/typography/dist/index.css is excluded by !**/dist/**
  • packages/typography/dist/index.css.map is excluded by !**/dist/**, !**/*.map
📒 Files selected for processing (9)
  • packages/colors/package.json (2 hunks)
  • packages/effects/README.md (1 hunks)
  • packages/effects/package.json (1 hunks)
  • packages/grid/README.md (1 hunks)
  • packages/grid/package.json (2 hunks)
  • packages/grid/src/_grid.scss (1 hunks)
  • packages/spacings/README.md (1 hunks)
  • packages/typography/README.md (1 hunks)
  • packages/typography/src/_fonts.scss (1 hunks)
✅ Files skipped from review due to trivial changes (3)
  • packages/typography/README.md
  • packages/grid/README.md
  • packages/effects/package.json
🚧 Files skipped from review as they are similar to previous changes (2)
  • packages/typography/src/_fonts.scss
  • packages/grid/package.json
🔇 Additional comments (4)
packages/grid/src/_grid.scss (3)

47-58: Gap + fallback approach looks solid.

grid-gutter-reset with gap and the @supports fallback correctly reconcile padding/margins and avoid double gutters.

Also applies to: 136-142


16-23: Gutter reset is correct and safely scoped.


111-122: Visibility utilities look good; add an a11y note.

Rules are correct with non‑overlapping ranges. Ensure consumers pair with aria-hidden when hiding meaningful content.

packages/colors/package.json (1)

39-43: Align Parcel versions, confirm Node engine, and refresh Browserslist DB.

  • Parcel/@parcel/transformer-sass mismatch — packages/spacings and packages/effects use ^2.14.4; colors, grid, typography, reset use ^2.16.0. Pick one version and align across the monorepo.
  • caniuse-lite is only declared in packages/colors/package.json (^1.0.30001743). After bumping, run locally and commit lockfile: npx update-browserslist-db@latest.
  • Script run produced jq errors when reading package.json "engines"; ensure package.json/CI declare Node >=16 (recommended for Parcel’s watcher) or confirm CI uses Node ≥16.
 "scripts": {
+  "postinstall": "npx update-browserslist-db@latest || true",
   "watch": "parcel watch",
   "build": "parcel build"
 }

Comment on lines +3 to +4
"version": "2.0.2",
"description": "New UI colors",
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue

🧩 Analysis chain

Patch bump + microcopy tweak look good. Please tag and verify references.

Semver patch to 2.0.2 and description punctuation are fine. Make sure any hard‑coded CDN/version references (if any remain) aren’t still pointing at 2.0.1.

Run to spot stray hard-coded versions and confirm a changelog/tag exist:


🏁 Script executed:

#!/bin/bash
# Find hard-coded package versions/usages
rg -nP '@new-ui/colors@|@new-ui/colors[^@]?\b' -S -C1

# Look for a changelog and recent tag for colors
fd -i --full-path '(CHANGELOG.md|changelog.md|news.md)'
git tag --list | rg -n '^@new-ui/colors@?2\.0\.2$' || echo "Tag @new-ui/colors@2.0.2 missing"

Length of output: 1416


Patch bump + microcopy OK — update remaining refs & add release tag

  • Root package.json still depends on "@new-ui/colors": "^2.0.1" (package.json:49) — update to ^2.0.2 and regenerate/commit lockfile(s).
  • Root bun.lock contains @new-ui/colors@2.0.1 — regenerate and commit updated lockfile(s).
  • No changelog found and git tag for 2.0.2 is missing — add a changelog entry and create the release tag (use repo tag convention).
🤖 Prompt for AI Agents
In packages/colors/package.json around lines 3 to 4, the package version was
bumped to 2.0.2 but other repo artifacts still reference 2.0.1; update the root
package.json dependency for "@new-ui/colors" (line ~49) to "^2.0.2", regenerate
and commit updated lockfile(s) (e.g., bun.lock / package-lock.json /
pnpm-lock.yaml as applicable), add a short changelog entry documenting the 2.0.2
release in the repo's changelog location, and create the git release tag
following the repository's tag convention (e.g., v2.0.2) before committing and
pushing the changes.

Comment on lines +41 to +45
@each $breakpoint, $value in $breakpoints {
@include breakpoint($breakpoint) {
max-width: calc(#{$value} - #{$base});
}
}
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue

Container width off by one side of padding (should subtract 2× base).

max-width currently subtracts only $base, but the container adds left and right padding ($base each). Subtract 2×$base to keep the container within the intended breakpoint width.

- max-width: calc(#{$value} - #{$base});
+ max-width: calc(#{$value} - #{2 * $base});
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
@each $breakpoint, $value in $breakpoints {
@include breakpoint($breakpoint) {
max-width: calc(#{$value} - #{$base});
}
}
@each $breakpoint, $value in $breakpoints {
@include breakpoint($breakpoint) {
max-width: calc(#{$value} - #{2 * $base});
}
}
🤖 Prompt for AI Agents
In packages/grid/src/_grid.scss around lines 41 to 45, the media-query container
max-width only subtracts $base once but the container applies left and right
padding of $base each; update the calc to subtract 2×$base (e.g., calc(#{$value}
- #{2 * $base})) so the max-width accounts for both side paddings and keeps the
container inside the breakpoint width.

@planetabhi planetabhi merged commit 254fe9b into main Sep 21, 2025
1 check passed
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