lucent-ui 0.6.0 → 0.8.0

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.
File without changes
@@ -6,8 +6,8 @@ import { figmaColorToHex, isFigmaColor, isAlias, } from './figma.js';
6
6
  */
7
7
  const LUCENT_TOKEN_KEYS = new Set([
8
8
  // SemanticColorTokens
9
- 'bgBase', 'bgSubtle', 'bgMuted', 'bgOverlay',
10
- 'surfaceDefault', 'surfaceRaised', 'surfaceOverlay',
9
+ 'bgBase', 'bgSubtle', 'bgOverlay',
10
+ 'surface', 'surfaceSecondary', 'surfaceRaised', 'surfaceOverlay',
11
11
  'borderDefault', 'borderSubtle', 'borderStrong',
12
12
  'textPrimary', 'textSecondary', 'textDisabled', 'textInverse', 'textOnAccent',
13
13
  'accentDefault', 'accentHover', 'accentActive', 'accentSubtle',
File without changes
@@ -17,13 +17,13 @@ export const COMPONENT_MANIFEST = {
17
17
  type: 'boolean',
18
18
  required: false,
19
19
  default: 'false',
20
- description: 'Applies alternating bgMuted backgrounds to even tbody rows.',
20
+ description: 'Applies alternating surfaceSecondary backgrounds to even tbody rows.',
21
21
  },
22
22
  {
23
23
  name: 'Table.Head',
24
24
  type: 'component',
25
25
  required: false,
26
- description: 'Renders <thead> with bgMuted background. Accepts Table.Row children.',
26
+ description: 'Renders <thead> with surfaceSecondary background. Accepts Table.Row children.',
27
27
  },
28
28
  {
29
29
  name: 'Table.Body',
@@ -35,7 +35,7 @@ export const COMPONENT_MANIFEST = {
35
35
  name: 'Table.Foot',
36
36
  type: 'component',
37
37
  required: false,
38
- description: 'Renders <tfoot> with bgMuted background.',
38
+ description: 'Renders <tfoot> with surfaceSecondary background.',
39
39
  },
40
40
  {
41
41
  name: 'Table.Row',
@@ -9,7 +9,11 @@ export const COMPONENT_MANIFEST = {
9
9
  'are separated from the body by a border-default divider, giving visual structure without requiring ' +
10
10
  'the consumer to manage spacing. Padding, shadow, and radius are all configurable to accommodate ' +
11
11
  'flat/ghost cards, modal-like surfaces, and compact data-dense layouts. The overflow: hidden ensures ' +
12
- 'children respect the border-radius without needing additional clipping.',
12
+ 'children respect the border-radius without needing additional clipping.\n\n' +
13
+ 'Token rule: Card uses surface for its background. Never use bgBase or bgSubtle on a Card — ' +
14
+ 'those tokens are reserved for the page canvas (body, sidebar, layout regions). Content nested ' +
15
+ 'inside a Card that needs a tinted fill (e.g. a footer, inset panel, or disabled input) should use ' +
16
+ 'surfaceSecondary.',
13
17
  props: [
14
18
  {
15
19
  name: 'children',
@@ -27,7 +27,7 @@ export function validateManifest(manifest) {
27
27
  errors.push(err('id', 'Must be kebab-case (e.g. "button", "form-field")'));
28
28
  }
29
29
  // tier
30
- const validTiers = ['atom', 'molecule', 'block', 'flow', 'overlay'];
30
+ const validTiers = ['atom', 'molecule', 'block', 'flow', 'overlay', 'provider'];
31
31
  if (!validTiers.includes(m['tier'])) {
32
32
  errors.push(err('tier', `Must be one of: ${validTiers.join(', ')}`));
33
33
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lucent-ui",
3
- "version": "0.6.0",
3
+ "version": "0.8.0",
4
4
  "description": "An AI-first React component library with machine-readable manifests.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -24,6 +24,17 @@
24
24
  "dist-server",
25
25
  "dist-cli"
26
26
  ],
27
+ "scripts": {
28
+ "dev": "vite --config vite.dev.config.ts",
29
+ "build": "vite build",
30
+ "build:server": "tsc -p server/tsconfig.json",
31
+ "build:cli": "tsc -p cli/tsconfig.json && cp cli/template.manifest.json dist-cli/cli/template.manifest.json",
32
+ "test": "echo \"No tests yet\" && exit 0",
33
+ "prepublishOnly": "tsc --noEmit && pnpm build && pnpm build:server && pnpm build:cli",
34
+ "changeset": "changeset",
35
+ "version-packages": "changeset version",
36
+ "release": "pnpm prepublishOnly && changeset publish"
37
+ },
27
38
  "keywords": [
28
39
  "react",
29
40
  "component-library",
@@ -33,6 +44,7 @@
33
44
  ],
34
45
  "author": "Rozina Szogyenyi",
35
46
  "license": "MIT",
47
+ "packageManager": "pnpm@10.30.3",
36
48
  "peerDependencies": {
37
49
  "react": "^18.0.0 || ^19.0.0",
38
50
  "react-dom": "^18.0.0 || ^19.0.0"
@@ -52,15 +64,5 @@
52
64
  "dependencies": {
53
65
  "@modelcontextprotocol/sdk": "^1.27.1",
54
66
  "zod": "^4.3.6"
55
- },
56
- "scripts": {
57
- "dev": "vite --config vite.dev.config.ts",
58
- "build": "vite build",
59
- "build:server": "tsc -p server/tsconfig.json",
60
- "build:cli": "tsc -p cli/tsconfig.json && cp cli/template.manifest.json dist-cli/cli/template.manifest.json",
61
- "test": "echo \"No tests yet\" && exit 0",
62
- "changeset": "changeset",
63
- "version-packages": "changeset version",
64
- "release": "pnpm prepublishOnly && changeset publish"
65
67
  }
66
- }
68
+ }