@nadicodeai/ui 4.0.2 → 4.0.4

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.
package/AGENTS.md CHANGED
@@ -1,30 +1,19 @@
1
1
  # @nadicodeai/ui
2
2
 
3
- The `@nadicodeai/ui` npm workspace: the shared React UI package, with shadcn primitives on Base UI, the `@nadicodeai/ui/agents` interface, section compositions and product components. Source in `src/`, published from `dist/`. Read `docs/contract.md` before changing the library.
3
+ Shared React components, primitives, Agent interfaces, and page compositions.
4
+ Source lives in `src/`; consumers receive `dist/` through `package.json`
5
+ exports.
4
6
 
5
- ## Commands
7
+ - Component changes and admission: `docs/contract.md`.
8
+ - Consumer setup: `docs/consuming-cross-repo.md`.
9
+ - Tokens, CSS, motion, and assets: `../design-system/DESIGN.md`.
10
+ - Agent visuals: `docs/agent-visual.md`.
11
+ - Package releases: `../../docs/agents/publish.md`.
6
12
 
7
- | Command | When |
8
- | --- | --- |
9
- | `npm run check -w @nadicodeai/ui` then `npm run test -w @nadicodeai/ui` | Before pushing; `test` builds `dist`, then runs the guards and the jsdom accessibility tier |
10
- | `npm run dev -w @nadicodeai/ui` | Watch `src/`, refresh `dist/` |
11
- | `npm run build:dev -w @nadicodeai/ui` | One-shot incremental `dist/` refresh |
12
- | `npm run build -w @nadicodeai/ui` | Emit `dist/` before packing or app builds |
13
- | `npm run generate:brand-icons -w @nadicodeai/ui` | After editing the allow-list in `scripts/build-brand-icons.mjs` |
14
- | `npm pack --dry-run -w @nadicodeai/ui` | What consumers receive, after a surface, export, CSS or docs change |
13
+ `npm run dev -w @nadicodeai/ui` watches source and refreshes `dist/`;
14
+ `build:dev` refreshes it once. Remaining commands live in `package.json`;
15
+ validation policy is in `../../docs/agents/develop.md`.
15
16
 
16
- ## Routing
17
-
18
- | Topic | Path |
19
- | --- | --- |
20
- | Design-language terms | `../design-system/CONTEXT.md` |
21
- | Invariants, component admission, section vocabulary, consumer boundary | `docs/contract.md` |
22
- | Third-party brand marks | [Admission Rules](docs/contract.md#admission-rules); the NadicodeAI logo is `BrandLockup`, `BrandMark`, `BrandWordmark` |
23
- | Consumer installation and stylesheet setup | `docs/consuming-cross-repo.md` |
24
- | Tokens, modes, themes, cascade, the public stylesheet | `../design-system/DESIGN.md` and `../design-system/AGENTS.md` |
25
- | Motion | `../design-system/DESIGN.md`, `src/lib/motion.ts`, then the `product-design` skill |
26
- | Which component subpaths exist | `package.json` `exports`; the `./components/*` wildcard over `src/components/` is the whole surface |
27
- | shadcn and assistant-ui discovery | the live CLIs `npx shadcn@latest` and `npx assistant-ui@latest`; `--overwrite` needs a maintainer ask |
28
- | Releasing and publishing | `../../docs/agents/publish.md` |
29
- | Website page assembly | `../../apps/website/AGENTS.md`. Portal screens: `../../apps/portal/AGENTS.md` |
30
- | User-visible UI work | the `product-design` skill, loaded after this file |
17
+ When the brand-icon allow-list changes, run `generate:brand-icons`.
18
+ Use current shadcn or assistant-ui discovery for their components;
19
+ `--overwrite` requires authorization to replace the affected component.
@@ -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.2",
3
+ "version": "4.0.4",
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.2",
64
+ "@nadicodeai/design-system": "4.0.4",
65
65
  "@paper-design/shaders": "0.0.78",
66
66
  "class-variance-authority": "^0.7.1",
67
67
  "clsx": "^2.1.1",