@nadicodeai/ui 4.0.1 → 4.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,7 +4,7 @@ import { cn } from "../lib/utils.js";
4
4
  * action-band — the full-bleed on-verde conversion band (V5 · B19).
5
5
  *
6
6
  * A solid brand-verde field (`bg-primary`) carrying one statement and one action,
7
- * per the founder rule "one statement, one button". The band bleeds full width; a
7
+ * one statement, one button. The band bleeds full width; a
8
8
  * centred rail (`max-w-[1200px]`, left/right hairlines) holds the content, and a
9
9
  * crosshair marks the STRUCTURAL intersection of the rail's top edge and left edge
10
10
  * — it is never decorative. A fractal-noise overlay adds grain TEXTURE only (an
@@ -1 +1 @@
1
- {"version":3,"file":"brand.d.ts","sourceRoot":"","sources":["../../src/components/brand.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,KAAK,cAAc,GAAG,IAAI,CACxB,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAC3B,aAAa,GAAG,YAAY,GAAG,UAAU,GAAG,MAAM,CACnD,GAAG;IACF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC;CACpD,CAAC;AA6BF,iBAAS,SAAS,CAAC,EACjB,GAAkB,EAClB,SAAS,EACT,KAAU,EACV,MAAW,EACX,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,cAAc,qBAyBhB;AAED,iBAAS,WAAW,CAAC,EACnB,GAAkB,EAClB,SAAS,EACT,KAAW,EACX,MAAW,EACX,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,cAAc,qBAuBhB;AAED,iBAAS,aAAa,CAAC,EACrB,GAAkB,EAClB,SAAS,EACT,KAAU,EACV,MAAW,EACX,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,cAAc,qBAoBhB;AAED,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"brand.d.ts","sourceRoot":"","sources":["../../src/components/brand.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,KAAK,cAAc,GAAG,IAAI,CACxB,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,EAC3B,aAAa,GAAG,YAAY,GAAG,UAAU,GAAG,MAAM,CACnD,GAAG;IACF,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC;CACpD,CAAC;AA6BF,iBAAS,SAAS,CAAC,EACjB,GAAkB,EAClB,SAAS,EACT,KAAU,EACV,MAAW,EACX,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,cAAc,qBA6BhB;AAED,iBAAS,WAAW,CAAC,EACnB,GAAkB,EAClB,SAAS,EACT,KAAW,EACX,MAAW,EACX,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,cAAc,qBAuBhB;AAED,iBAAS,aAAa,CAAC,EACrB,GAAkB,EAClB,SAAS,EACT,KAAU,EACV,MAAW,EACX,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,cAAc,qBAoBhB;AAED,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,CAAC"}
@@ -24,9 +24,13 @@ function BrandMark({ alt = "NadicodeAI", className, width = 32, height = 32, dec
24
24
  // The canonical geometry contains a named clip reference. Scope it per
25
25
  // instance so nav + footer marks never emit duplicate DOM ids; useId is SSR-safe.
26
26
  const idPrefix = `mklip-${React.useId().replace(/[^a-zA-Z0-9]/g, "")}-`;
27
+ // The verde link is the brand anchor, `{colors.primary}`, never the shadcn
28
+ // `--primary` role: that role is the neutral action family, so painting the
29
+ // link with it turns the logo monochrome. The `.dark` remap flips
30
+ // `--nc-primary` under any dark ancestor, the always-dark nav included.
27
31
  const geometry = resolveLogoGeometry(logoMarkGeometry, {
28
32
  idPrefix,
29
- paints: { ink: "currentColor", primary: "var(--primary)" },
33
+ paints: { ink: "currentColor", primary: "var(--nc-primary)" },
30
34
  });
31
35
  return (_jsx("svg", { "data-slot": "brand-mark", xmlns: "http://www.w3.org/2000/svg", viewBox: geometry.viewBox, width: width, height: height, className: cn("block size-6", className), ...accessibilityProps(alt), ...props, children: renderGeometryNodes(geometry.nodes) }));
32
36
  }
@@ -35,14 +39,14 @@ function BrandLockup({ alt = "NadicodeAI", className, width = 154, height = 32,
35
39
  const idPrefix = `lklip-${React.useId().replace(/[^a-zA-Z0-9]/g, "")}-`;
36
40
  const geometry = resolveLogoGeometry(logoLockupGeometry, {
37
41
  idPrefix,
38
- paints: { ink: "currentColor", primary: "var(--primary)" },
42
+ paints: { ink: "currentColor", primary: "var(--nc-primary)" },
39
43
  });
40
44
  return (_jsx("svg", { "data-slot": "brand-lockup", xmlns: "http://www.w3.org/2000/svg", viewBox: geometry.viewBox, width: width, height: height, className: cn("block h-8 w-auto", className), ...accessibilityProps(alt), ...props, children: renderGeometryNodes(geometry.nodes) }));
41
45
  }
42
46
  function BrandWordmark({ alt = "NadicodeAI", className, width = 96, height = 30, decoding, ...props }) {
43
47
  void decoding;
44
48
  const geometry = resolveLogoGeometry(logoWordmarkGeometry, {
45
- paints: { ink: "currentColor", primary: "var(--primary)" },
49
+ paints: { ink: "currentColor", primary: "var(--nc-primary)" },
46
50
  });
47
51
  return (_jsx("svg", { "data-slot": "brand-wordmark", xmlns: "http://www.w3.org/2000/svg", viewBox: geometry.viewBox, width: width, height: height, className: cn("block h-6 w-auto", className), ...accessibilityProps(alt), ...props, children: renderGeometryNodes(geometry.nodes) }));
48
52
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nadicodeai/ui",
3
- "version": "4.0.1",
3
+ "version": "4.0.3",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -61,7 +61,7 @@
61
61
  "@assistant-ui/react": "0.15.1",
62
62
  "@assistant-ui/react-markdown": "0.14.8",
63
63
  "@base-ui/react": "^1.6.0",
64
- "@nadicodeai/design-system": "4.0.1",
64
+ "@nadicodeai/design-system": "4.0.3",
65
65
  "@paper-design/shaders": "0.0.78",
66
66
  "class-variance-authority": "^0.7.1",
67
67
  "clsx": "^2.1.1",