@nanisoft/prism-llms 0.2.0 → 0.4.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.
package/dist/llms.txt CHANGED
@@ -84,6 +84,8 @@
84
84
 
85
85
  - [ComponentDemo](https://prism.nanisoft.com/md/blocks/component-demo.md): Prism block — full documentation pending.
86
86
  - [PageHeader](https://prism.nanisoft.com/md/blocks/page-header.md): Prism block — full documentation pending.
87
+ - [SiteFooter](https://prism.nanisoft.com/md/blocks/site-footer.md): Prism block — full documentation pending.
88
+ - [SiteHeader](https://prism.nanisoft.com/md/blocks/site-header.md): Prism block — full documentation pending.
87
89
 
88
90
  ## Pages
89
91
 
@@ -96,3 +98,9 @@
96
98
  - [Blue pack · light](https://prism.nanisoft.com/md/theme/blue-light.md): Theming reference for the blue pack in light mode — the createPrismTheme snippet, token tiers, and the antd token lane.
97
99
  - [Green pack · beam-dark](https://prism.nanisoft.com/md/theme/green-dark.md): Theming reference for the green pack in dark mode — the createPrismTheme snippet, token tiers, and the antd token lane.
98
100
  - [Green pack · light](https://prism.nanisoft.com/md/theme/green-light.md): Theming reference for the green pack in light mode — the createPrismTheme snippet, token tiers, and the antd token lane.
101
+ - [Lavender pack · beam-dark](https://prism.nanisoft.com/md/theme/lavender-dark.md): Theming reference for the lavender pack in dark mode — the createPrismTheme snippet, token tiers, and the antd token lane.
102
+ - [Lavender pack · light](https://prism.nanisoft.com/md/theme/lavender-light.md): Theming reference for the lavender pack in light mode — the createPrismTheme snippet, token tiers, and the antd token lane.
103
+ - [Peach pack · beam-dark](https://prism.nanisoft.com/md/theme/peach-dark.md): Theming reference for the peach pack in dark mode — the createPrismTheme snippet, token tiers, and the antd token lane.
104
+ - [Peach pack · light](https://prism.nanisoft.com/md/theme/peach-light.md): Theming reference for the peach pack in light mode — the createPrismTheme snippet, token tiers, and the antd token lane.
105
+ - [Rose pack · beam-dark](https://prism.nanisoft.com/md/theme/rose-dark.md): Theming reference for the rose pack in dark mode — the createPrismTheme snippet, token tiers, and the antd token lane.
106
+ - [Rose pack · light](https://prism.nanisoft.com/md/theme/rose-light.md): Theming reference for the rose pack in light mode — the createPrismTheme snippet, token tiers, and the antd token lane.
@@ -0,0 +1,19 @@
1
+ # SiteFooter
2
+
3
+ Prism block — full documentation pending.
4
+
5
+ ```ts
6
+ import { SiteFooter } from '@nanisoft/prism-ui/blocks';
7
+ ```
8
+
9
+ `SiteFooter` is a Prism block. Full documentation is pending — the prism MCP answers API questions in the meantime (`get_item_props`, `get_item_source`).
10
+
11
+ ## Props
12
+
13
+ | Prop | Type | Default | Description |
14
+ | --- | --- | --- | --- |
15
+ | `site` | PrismProductId | — | The site's registry id — marks the current product in the grid. |
16
+ | `columns` (optional) | readonly SiteFooterColumn[] | — | Site-declared link columns, rendered beside the product grid. |
17
+ | `social` (optional) | readonly SiteFooterSocialLink[] | — | Social links with app-supplied icons. |
18
+ | `legal` (optional) | ReactNode | — | Overrides the default "© NaniSoft" line. |
19
+ | `className` (optional) | string | — | — |
@@ -0,0 +1,19 @@
1
+ # SiteHeader
2
+
3
+ Prism block — full documentation pending.
4
+
5
+ ```ts
6
+ import { SiteHeader } from '@nanisoft/prism-ui/blocks';
7
+ ```
8
+
9
+ `SiteHeader` is a Prism block. Full documentation is pending — the prism MCP answers API questions in the meantime (`get_item_props`, `get_item_source`).
10
+
11
+ ## Props
12
+
13
+ | Prop | Type | Default | Description |
14
+ | --- | --- | --- | --- |
15
+ | `site` | PrismProductId | — | The site's registry id — identity is static and known at build time. |
16
+ | `nav` (optional) | readonly PrismNavLink[] | — | Lean site nav, rendered between the brand and the actions. |
17
+ | `cta` (optional) | ReactNode | — | Right-pinned call to action, before the switcher. |
18
+ | `sticky` (optional) | boolean | — | Sticky by default; pass false to pin the header static. |
19
+ | `className` (optional) | string | — | — |
@@ -13,8 +13,8 @@ brand, and this page — not the license — is where the brand rules live.
13
13
  ## What is ours
14
14
 
15
15
  The names **Prism** and **NaniSoft**, the Prism wordmark, the Spectral
16
- Refraction visual language, and the brand packs (including their names, blue
17
- and green) identify Prism as built by NaniSoft.
16
+ Refraction visual language, and the brand packs (including their names —
17
+ blue, green, lavender, rose, and peach) identify Prism as built by NaniSoft.
18
18
 
19
19
  ## What you may do
20
20
 
@@ -18,10 +18,10 @@ const theme = createPrismTheme({ pack: 'blue', mode: 'dark' });
18
18
  | Token | Value |
19
19
  | --- | --- |
20
20
  | `colorError` | #DC2626 |
21
- | `colorGround` | #0B1220 |
22
- | `colorHairline` | rgba(147, 178, 255, 0.16) |
21
+ | `colorGround` | #0D1730 |
22
+ | `colorHairline` | rgba(158, 191, 255, 0.18) |
23
23
  | `colorInfo` | #2563EB |
24
- | `colorInk` | #3B82F6 |
24
+ | `colorInk` | #4C8DF6 |
25
25
  | `colorSuccess` | #16A34A |
26
26
  | `colorText` | #E8EEF9 |
27
27
  | `colorWarning` | #D97706 |
@@ -46,13 +46,13 @@ const theme = createPrismTheme({ pack: 'blue', mode: 'dark' });
46
46
 
47
47
  | Token | Value |
48
48
  | --- | --- |
49
- | `accentLive` | rgba(59, 130, 246, 0.2) |
49
+ | `accentLive` | rgba(76, 141, 246, 0.2) |
50
50
  | `elevationFloating` | 0 4px 16px 0 rgba(11, 18, 32, 0.24) |
51
51
  | `elevationNone` | none |
52
- | `focusRing` | rgba(59, 130, 246, 0.55) |
53
- | `hairlineFaint` | rgba(59, 130, 246, 0.1) |
54
- | `hairlineStrong` | rgba(147, 178, 255, 0.16) |
55
- | `inkPrimary` | #3B82F6 |
52
+ | `focusRing` | rgba(76, 141, 246, 0.55) |
53
+ | `hairlineFaint` | rgba(76, 141, 246, 0.1) |
54
+ | `hairlineStrong` | rgba(158, 191, 255, 0.18) |
55
+ | `inkPrimary` | #4C8DF6 |
56
56
  | `motionCurveOpacity` | linear |
57
57
  | `motionCurveStandard` | cubic-bezier(0.25, 1, 0.5, 1) |
58
58
  | `motionDurationFast` | 80ms |
@@ -68,8 +68,8 @@ const theme = createPrismTheme({ pack: 'blue', mode: 'dark' });
68
68
  | `stateInfo` | #2563EB |
69
69
  | `stateSuccess` | #16A34A |
70
70
  | `stateWarning` | #D97706 |
71
- | `surfaceContainer` | #0B1220 |
72
- | `surfaceGround` | #0B1220 |
71
+ | `surfaceContainer` | #0D1730 |
72
+ | `surfaceGround` | #0D1730 |
73
73
  | `surfaceScrim` | rgba(4, 10, 20, 0.72) |
74
74
  | `textFaint` | rgba(232, 238, 249, 0.3) |
75
75
  | `textOnInk` | #0B1220 |
@@ -91,23 +91,24 @@ const theme = createPrismTheme({ pack: 'blue', mode: 'dark' });
91
91
  | `boxShadow` | 0 4px 16px 0 rgba(11, 18, 32, 0.24) |
92
92
  | `boxShadowSecondary` | none |
93
93
  | `boxShadowTertiary` | none |
94
- | `colorBgBase` | #0B1220 |
94
+ | `colorBgBase` | #0D1730 |
95
95
  | `colorBgMask` | rgba(4, 10, 20, 0.72) |
96
- | `colorBgTextActive` | rgba(59, 130, 246, 0.2) |
97
- | `colorBorder` | rgba(147, 178, 255, 0.16) |
98
- | `colorBorderSecondary` | rgba(59, 130, 246, 0.1) |
96
+ | `colorBgTextActive` | rgba(76, 141, 246, 0.2) |
97
+ | `colorBorder` | rgba(158, 191, 255, 0.18) |
98
+ | `colorBorderSecondary` | rgba(76, 141, 246, 0.1) |
99
99
  | `colorError` | #DC2626 |
100
100
  | `colorInfo` | #2563EB |
101
- | `colorLink` | #3B82F6 |
102
- | `colorPrimary` | #3B82F6 |
103
- | `colorPrimaryTextActive` | #3B82F6 |
104
- | `colorSplit` | rgba(59, 130, 246, 0.1) |
101
+ | `colorLink` | #4C8DF6 |
102
+ | `colorPrimary` | #4C8DF6 |
103
+ | `colorPrimaryTextActive` | #4C8DF6 |
104
+ | `colorSplit` | rgba(76, 141, 246, 0.1) |
105
105
  | `colorSuccess` | #16A34A |
106
106
  | `colorTextBase` | #E8EEF9 |
107
+ | `colorTextPlaceholder` | rgba(232, 238, 249, 0.45) |
107
108
  | `colorWarning` | #D97706 |
108
- | `controlItemBgActive` | rgba(59, 130, 246, 0.2) |
109
- | `controlItemBgActiveHover` | rgba(59, 130, 246, 0.2) |
110
- | `controlOutline` | rgba(59, 130, 246, 0.55) |
109
+ | `controlItemBgActive` | rgba(76, 141, 246, 0.2) |
110
+ | `controlItemBgActiveHover` | rgba(76, 141, 246, 0.2) |
111
+ | `controlOutline` | rgba(76, 141, 246, 0.55) |
111
112
  | `fontFamily` | "Archivo Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif |
112
113
  | `fontFamilyCode` | "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace |
113
114
  | `fontSize` | 14 |
@@ -18,8 +18,8 @@ const theme = createPrismTheme({ pack: 'blue', mode: 'light' });
18
18
  | Token | Value |
19
19
  | --- | --- |
20
20
  | `colorError` | #DC2626 |
21
- | `colorGround` | #F7F9FC |
22
- | `colorHairline` | rgba(15, 23, 42, 0.08) |
21
+ | `colorGround` | #EEF3FC |
22
+ | `colorHairline` | rgba(30, 64, 158, 0.10) |
23
23
  | `colorInfo` | #2563EB |
24
24
  | `colorInk` | #2563EB |
25
25
  | `colorSuccess` | #16A34A |
@@ -52,7 +52,7 @@ const theme = createPrismTheme({ pack: 'blue', mode: 'light' });
52
52
  | `elevationNone` | none |
53
53
  | `focusRing` | rgba(37, 99, 235, 0.35) |
54
54
  | `hairlineFaint` | rgba(37, 99, 235, 0.06) |
55
- | `hairlineStrong` | rgba(15, 23, 42, 0.08) |
55
+ | `hairlineStrong` | rgba(30, 64, 158, 0.10) |
56
56
  | `inkPrimary` | #2563EB |
57
57
  | `motionCurveOpacity` | linear |
58
58
  | `motionCurveStandard` | cubic-bezier(0.25, 1, 0.5, 1) |
@@ -70,7 +70,7 @@ const theme = createPrismTheme({ pack: 'blue', mode: 'light' });
70
70
  | `stateSuccess` | #16A34A |
71
71
  | `stateWarning` | #D97706 |
72
72
  | `surfaceContainer` | #FFFFFF |
73
- | `surfaceGround` | #F7F9FC |
73
+ | `surfaceGround` | #EEF3FC |
74
74
  | `surfaceScrim` | rgba(15, 23, 42, 0.32) |
75
75
  | `textFaint` | rgba(26, 42, 74, 0.3) |
76
76
  | `textOnInk` | #FFFFFF |
@@ -93,10 +93,10 @@ const theme = createPrismTheme({ pack: 'blue', mode: 'light' });
93
93
  | `boxShadowSecondary` | none |
94
94
  | `boxShadowTertiary` | none |
95
95
  | `colorBgBase` | #FFFFFF |
96
- | `colorBgLayout` | #F7F9FC |
96
+ | `colorBgLayout` | #EEF3FC |
97
97
  | `colorBgMask` | rgba(15, 23, 42, 0.32) |
98
98
  | `colorBgTextActive` | rgba(37, 99, 235, 0.1) |
99
- | `colorBorder` | rgba(15, 23, 42, 0.08) |
99
+ | `colorBorder` | rgba(30, 64, 158, 0.10) |
100
100
  | `colorBorderSecondary` | rgba(37, 99, 235, 0.06) |
101
101
  | `colorError` | #DC2626 |
102
102
  | `colorInfo` | #2563EB |
@@ -106,6 +106,7 @@ const theme = createPrismTheme({ pack: 'blue', mode: 'light' });
106
106
  | `colorSplit` | rgba(37, 99, 235, 0.06) |
107
107
  | `colorSuccess` | #16A34A |
108
108
  | `colorTextBase` | #1A2A4A |
109
+ | `colorTextPlaceholder` | rgba(26, 42, 74, 0.45) |
109
110
  | `colorWarning` | #D97706 |
110
111
  | `controlItemBgActive` | rgba(37, 99, 235, 0.1) |
111
112
  | `controlItemBgActiveHover` | rgba(37, 99, 235, 0.1) |
@@ -18,7 +18,7 @@ const theme = createPrismTheme({ pack: 'green', mode: 'dark' });
18
18
  | Token | Value |
19
19
  | --- | --- |
20
20
  | `colorError` | #DC2626 |
21
- | `colorGround` | #0A1612 |
21
+ | `colorGround` | #0C1812 |
22
22
  | `colorHairline` | rgba(134, 239, 172, 0.16) |
23
23
  | `colorInfo` | #2563EB |
24
24
  | `colorInk` | #22C55E |
@@ -68,8 +68,8 @@ const theme = createPrismTheme({ pack: 'green', mode: 'dark' });
68
68
  | `stateInfo` | #2563EB |
69
69
  | `stateSuccess` | #16A34A |
70
70
  | `stateWarning` | #D97706 |
71
- | `surfaceContainer` | #0A1612 |
72
- | `surfaceGround` | #0A1612 |
71
+ | `surfaceContainer` | #0C1812 |
72
+ | `surfaceGround` | #0C1812 |
73
73
  | `surfaceScrim` | rgba(4, 10, 20, 0.72) |
74
74
  | `textFaint` | rgba(232, 238, 249, 0.3) |
75
75
  | `textOnInk` | #0B1220 |
@@ -91,7 +91,7 @@ const theme = createPrismTheme({ pack: 'green', mode: 'dark' });
91
91
  | `boxShadow` | 0 4px 16px 0 rgba(11, 18, 32, 0.24) |
92
92
  | `boxShadowSecondary` | none |
93
93
  | `boxShadowTertiary` | none |
94
- | `colorBgBase` | #0A1612 |
94
+ | `colorBgBase` | #0C1812 |
95
95
  | `colorBgMask` | rgba(4, 10, 20, 0.72) |
96
96
  | `colorBgTextActive` | rgba(34, 197, 94, 0.2) |
97
97
  | `colorBorder` | rgba(134, 239, 172, 0.16) |
@@ -104,6 +104,7 @@ const theme = createPrismTheme({ pack: 'green', mode: 'dark' });
104
104
  | `colorSplit` | rgba(34, 197, 94, 0.1) |
105
105
  | `colorSuccess` | #16A34A |
106
106
  | `colorTextBase` | #E8EEF9 |
107
+ | `colorTextPlaceholder` | rgba(232, 238, 249, 0.45) |
107
108
  | `colorWarning` | #D97706 |
108
109
  | `controlItemBgActive` | rgba(34, 197, 94, 0.2) |
109
110
  | `controlItemBgActiveHover` | rgba(34, 197, 94, 0.2) |
@@ -18,10 +18,10 @@ const theme = createPrismTheme({ pack: 'green', mode: 'light' });
18
18
  | Token | Value |
19
19
  | --- | --- |
20
20
  | `colorError` | #DC2626 |
21
- | `colorGround` | #F0F9F5 |
22
- | `colorHairline` | rgba(13, 42, 26, 0.08) |
21
+ | `colorGround` | #E9F6EF |
22
+ | `colorHairline` | rgba(17, 90, 47, 0.10) |
23
23
  | `colorInfo` | #2563EB |
24
- | `colorInk` | #0D5C30 |
24
+ | `colorInk` | #117A3B |
25
25
  | `colorSuccess` | #16A34A |
26
26
  | `colorSurface` | #FFFFFF |
27
27
  | `colorText` | #162A1A |
@@ -47,13 +47,13 @@ const theme = createPrismTheme({ pack: 'green', mode: 'light' });
47
47
 
48
48
  | Token | Value |
49
49
  | --- | --- |
50
- | `accentLive` | rgba(13, 92, 48, 0.1) |
50
+ | `accentLive` | rgba(17, 122, 59, 0.1) |
51
51
  | `elevationFloating` | 0 4px 16px 0 rgba(11, 18, 32, 0.16) |
52
52
  | `elevationNone` | none |
53
- | `focusRing` | rgba(13, 92, 48, 0.35) |
54
- | `hairlineFaint` | rgba(13, 92, 48, 0.06) |
55
- | `hairlineStrong` | rgba(13, 42, 26, 0.08) |
56
- | `inkPrimary` | #0D5C30 |
53
+ | `focusRing` | rgba(17, 122, 59, 0.35) |
54
+ | `hairlineFaint` | rgba(17, 122, 59, 0.06) |
55
+ | `hairlineStrong` | rgba(17, 90, 47, 0.10) |
56
+ | `inkPrimary` | #117A3B |
57
57
  | `motionCurveOpacity` | linear |
58
58
  | `motionCurveStandard` | cubic-bezier(0.25, 1, 0.5, 1) |
59
59
  | `motionDurationFast` | 80ms |
@@ -70,7 +70,7 @@ const theme = createPrismTheme({ pack: 'green', mode: 'light' });
70
70
  | `stateSuccess` | #16A34A |
71
71
  | `stateWarning` | #D97706 |
72
72
  | `surfaceContainer` | #FFFFFF |
73
- | `surfaceGround` | #F0F9F5 |
73
+ | `surfaceGround` | #E9F6EF |
74
74
  | `surfaceScrim` | rgba(15, 23, 42, 0.32) |
75
75
  | `textFaint` | rgba(22, 42, 26, 0.3) |
76
76
  | `textOnInk` | #FFFFFF |
@@ -93,23 +93,24 @@ const theme = createPrismTheme({ pack: 'green', mode: 'light' });
93
93
  | `boxShadowSecondary` | none |
94
94
  | `boxShadowTertiary` | none |
95
95
  | `colorBgBase` | #FFFFFF |
96
- | `colorBgLayout` | #F0F9F5 |
96
+ | `colorBgLayout` | #E9F6EF |
97
97
  | `colorBgMask` | rgba(15, 23, 42, 0.32) |
98
- | `colorBgTextActive` | rgba(13, 92, 48, 0.1) |
99
- | `colorBorder` | rgba(13, 42, 26, 0.08) |
100
- | `colorBorderSecondary` | rgba(13, 92, 48, 0.06) |
98
+ | `colorBgTextActive` | rgba(17, 122, 59, 0.1) |
99
+ | `colorBorder` | rgba(17, 90, 47, 0.10) |
100
+ | `colorBorderSecondary` | rgba(17, 122, 59, 0.06) |
101
101
  | `colorError` | #DC2626 |
102
102
  | `colorInfo` | #2563EB |
103
- | `colorLink` | #0D5C30 |
104
- | `colorPrimary` | #0D5C30 |
105
- | `colorPrimaryTextActive` | #0D5C30 |
106
- | `colorSplit` | rgba(13, 92, 48, 0.06) |
103
+ | `colorLink` | #117A3B |
104
+ | `colorPrimary` | #117A3B |
105
+ | `colorPrimaryTextActive` | #117A3B |
106
+ | `colorSplit` | rgba(17, 122, 59, 0.06) |
107
107
  | `colorSuccess` | #16A34A |
108
108
  | `colorTextBase` | #162A1A |
109
+ | `colorTextPlaceholder` | rgba(22, 42, 26, 0.45) |
109
110
  | `colorWarning` | #D97706 |
110
- | `controlItemBgActive` | rgba(13, 92, 48, 0.1) |
111
- | `controlItemBgActiveHover` | rgba(13, 92, 48, 0.1) |
112
- | `controlOutline` | rgba(13, 92, 48, 0.35) |
111
+ | `controlItemBgActive` | rgba(17, 122, 59, 0.1) |
112
+ | `controlItemBgActiveHover` | rgba(17, 122, 59, 0.1) |
113
+ | `controlOutline` | rgba(17, 122, 59, 0.35) |
113
114
  | `fontFamily` | "Archivo Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif |
114
115
  | `fontFamilyCode` | "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace |
115
116
  | `fontSize` | 14 |
@@ -0,0 +1,127 @@
1
+ # Theming — Lavender pack · beam-dark mode
2
+
3
+ > `createPrismTheme({ pack: 'lavender', mode: 'dark' })` returns one frozen `PrismTheme`; cssVar key `prism-lavender-dark`. antd derives everything not listed through its dark algorithm.
4
+
5
+ ## Usage
6
+
7
+ ```ts
8
+ import { createPrismTheme } from '@nanisoft/prism-tokens';
9
+ import { PrismProvider } from '@nanisoft/prism-ui';
10
+
11
+ const theme = createPrismTheme({ pack: 'lavender', mode: 'dark' });
12
+
13
+ // <PrismProvider prismTheme={theme}>…</PrismProvider>
14
+ ```
15
+
16
+ ## Tier 0 — primitives
17
+
18
+ | Token | Value |
19
+ | --- | --- |
20
+ | `colorError` | #DC2626 |
21
+ | `colorGround` | #131022 |
22
+ | `colorHairline` | rgba(157, 141, 244, 0.17) |
23
+ | `colorInfo` | #2563EB |
24
+ | `colorInk` | #9D8DF4 |
25
+ | `colorSuccess` | #16A34A |
26
+ | `colorText` | #ECE9FA |
27
+ | `colorWarning` | #D97706 |
28
+ | `elevationFloating` | 0 4px 16px 0 rgba(11, 18, 32, 0.24) |
29
+ | `motionCurveOpacity` | linear |
30
+ | `motionCurveStandard` | cubic-bezier(0.25, 1, 0.5, 1) |
31
+ | `motionDurationFast` | 80ms |
32
+ | `motionDurationMid` | 160ms |
33
+ | `motionDurationSlow` | 280ms |
34
+ | `shapeRadiusBase` | 4 |
35
+ | `shapeRadiusLg` | 6 |
36
+ | `shapeRadiusOuter` | 4 |
37
+ | `shapeRadiusSm` | 2 |
38
+ | `spaceStep` | 4 |
39
+ | `spaceUnit` | 4 |
40
+ | `typeFamilyMono` | "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace |
41
+ | `typeFamilyUi` | "Archivo Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif |
42
+ | `typeSizeUi` | 14 |
43
+ | `typeWeightStrong` | 600 |
44
+
45
+ ## Tier 1 — semantics
46
+
47
+ | Token | Value |
48
+ | --- | --- |
49
+ | `accentLive` | rgba(157, 141, 244, 0.2) |
50
+ | `elevationFloating` | 0 4px 16px 0 rgba(11, 18, 32, 0.24) |
51
+ | `elevationNone` | none |
52
+ | `focusRing` | rgba(157, 141, 244, 0.55) |
53
+ | `hairlineFaint` | rgba(157, 141, 244, 0.1) |
54
+ | `hairlineStrong` | rgba(157, 141, 244, 0.17) |
55
+ | `inkPrimary` | #9D8DF4 |
56
+ | `motionCurveOpacity` | linear |
57
+ | `motionCurveStandard` | cubic-bezier(0.25, 1, 0.5, 1) |
58
+ | `motionDurationFast` | 80ms |
59
+ | `motionDurationMid` | 160ms |
60
+ | `motionDurationSlow` | 280ms |
61
+ | `shapeRadiusBase` | 4 |
62
+ | `shapeRadiusLg` | 6 |
63
+ | `shapeRadiusOuter` | 4 |
64
+ | `shapeRadiusSm` | 2 |
65
+ | `spaceStep` | 4 |
66
+ | `spaceUnit` | 4 |
67
+ | `stateError` | #DC2626 |
68
+ | `stateInfo` | #2563EB |
69
+ | `stateSuccess` | #16A34A |
70
+ | `stateWarning` | #D97706 |
71
+ | `surfaceContainer` | #131022 |
72
+ | `surfaceGround` | #131022 |
73
+ | `surfaceScrim` | rgba(4, 10, 20, 0.72) |
74
+ | `textFaint` | rgba(236, 233, 250, 0.3) |
75
+ | `textOnInk` | #0B1220 |
76
+ | `textPrimary` | #ECE9FA |
77
+ | `textSecondary` | rgba(236, 233, 250, 0.68) |
78
+ | `textTertiary` | rgba(236, 233, 250, 0.45) |
79
+ | `typeFamily` | "Archivo Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif |
80
+ | `typeFamilyCode` | "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace |
81
+ | `typeSize` | 14 |
82
+ | `typeWeight` | 600 |
83
+
84
+ ## antd token lane (seeds + the closed map-token allowlist)
85
+
86
+ | Token | Value |
87
+ | --- | --- |
88
+ | `borderRadius` | 4 |
89
+ | `borderRadiusLG` | 6 |
90
+ | `borderRadiusSM` | 2 |
91
+ | `boxShadow` | 0 4px 16px 0 rgba(11, 18, 32, 0.24) |
92
+ | `boxShadowSecondary` | none |
93
+ | `boxShadowTertiary` | none |
94
+ | `colorBgBase` | #131022 |
95
+ | `colorBgMask` | rgba(4, 10, 20, 0.72) |
96
+ | `colorBgTextActive` | rgba(157, 141, 244, 0.2) |
97
+ | `colorBorder` | rgba(157, 141, 244, 0.17) |
98
+ | `colorBorderSecondary` | rgba(157, 141, 244, 0.1) |
99
+ | `colorError` | #DC2626 |
100
+ | `colorInfo` | #2563EB |
101
+ | `colorLink` | #9D8DF4 |
102
+ | `colorPrimary` | #9D8DF4 |
103
+ | `colorPrimaryTextActive` | #9D8DF4 |
104
+ | `colorSplit` | rgba(157, 141, 244, 0.1) |
105
+ | `colorSuccess` | #16A34A |
106
+ | `colorTextBase` | #ECE9FA |
107
+ | `colorTextPlaceholder` | rgba(236, 233, 250, 0.45) |
108
+ | `colorWarning` | #D97706 |
109
+ | `controlItemBgActive` | rgba(157, 141, 244, 0.2) |
110
+ | `controlItemBgActiveHover` | rgba(157, 141, 244, 0.2) |
111
+ | `controlOutline` | rgba(157, 141, 244, 0.55) |
112
+ | `fontFamily` | "Archivo Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif |
113
+ | `fontFamilyCode` | "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace |
114
+ | `fontSize` | 14 |
115
+ | `fontWeightStrong` | 600 |
116
+ | `lineWidth` | 1 |
117
+ | `motionBase` | 0 |
118
+ | `motionDurationSlow` | 280ms |
119
+ | `motionEaseInOut` | cubic-bezier(0.25, 1, 0.5, 1) |
120
+ | `motionEaseOut` | cubic-bezier(0.25, 1, 0.5, 1) |
121
+ | `motionEaseOutCirc` | cubic-bezier(0.25, 1, 0.5, 1) |
122
+ | `motionEaseOutQuint` | cubic-bezier(0.25, 1, 0.5, 1) |
123
+ | `motionUnit` | 0.08 |
124
+ | `sizeStep` | 4 |
125
+ | `sizeUnit` | 4 |
126
+
127
+ Component overrides are shadow-zeroing only (Button/Input shadows → `none`, always with `algorithm: true`).
@@ -0,0 +1,129 @@
1
+ # Theming — Lavender pack · light mode
2
+
3
+ > `createPrismTheme({ pack: 'lavender', mode: 'light' })` returns one frozen `PrismTheme`; cssVar key `prism-lavender-light`. antd derives everything not listed through its default algorithm.
4
+
5
+ ## Usage
6
+
7
+ ```ts
8
+ import { createPrismTheme } from '@nanisoft/prism-tokens';
9
+ import { PrismProvider } from '@nanisoft/prism-ui';
10
+
11
+ const theme = createPrismTheme({ pack: 'lavender', mode: 'light' });
12
+
13
+ // <PrismProvider prismTheme={theme}>…</PrismProvider>
14
+ ```
15
+
16
+ ## Tier 0 — primitives
17
+
18
+ | Token | Value |
19
+ | --- | --- |
20
+ | `colorError` | #DC2626 |
21
+ | `colorGround` | #F2F1FB |
22
+ | `colorHairline` | rgba(84, 70, 176, 0.10) |
23
+ | `colorInfo` | #2563EB |
24
+ | `colorInk` | #6A58CE |
25
+ | `colorSuccess` | #16A34A |
26
+ | `colorSurface` | #FFFFFF |
27
+ | `colorText` | #262044 |
28
+ | `colorWarning` | #D97706 |
29
+ | `elevationFloating` | 0 4px 16px 0 rgba(11, 18, 32, 0.16) |
30
+ | `motionCurveOpacity` | linear |
31
+ | `motionCurveStandard` | cubic-bezier(0.25, 1, 0.5, 1) |
32
+ | `motionDurationFast` | 80ms |
33
+ | `motionDurationMid` | 160ms |
34
+ | `motionDurationSlow` | 280ms |
35
+ | `shapeRadiusBase` | 4 |
36
+ | `shapeRadiusLg` | 6 |
37
+ | `shapeRadiusOuter` | 4 |
38
+ | `shapeRadiusSm` | 2 |
39
+ | `spaceStep` | 4 |
40
+ | `spaceUnit` | 4 |
41
+ | `typeFamilyMono` | "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace |
42
+ | `typeFamilyUi` | "Archivo Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif |
43
+ | `typeSizeUi` | 14 |
44
+ | `typeWeightStrong` | 600 |
45
+
46
+ ## Tier 1 — semantics
47
+
48
+ | Token | Value |
49
+ | --- | --- |
50
+ | `accentLive` | rgba(106, 88, 206, 0.1) |
51
+ | `elevationFloating` | 0 4px 16px 0 rgba(11, 18, 32, 0.16) |
52
+ | `elevationNone` | none |
53
+ | `focusRing` | rgba(106, 88, 206, 0.35) |
54
+ | `hairlineFaint` | rgba(106, 88, 206, 0.06) |
55
+ | `hairlineStrong` | rgba(84, 70, 176, 0.10) |
56
+ | `inkPrimary` | #6A58CE |
57
+ | `motionCurveOpacity` | linear |
58
+ | `motionCurveStandard` | cubic-bezier(0.25, 1, 0.5, 1) |
59
+ | `motionDurationFast` | 80ms |
60
+ | `motionDurationMid` | 160ms |
61
+ | `motionDurationSlow` | 280ms |
62
+ | `shapeRadiusBase` | 4 |
63
+ | `shapeRadiusLg` | 6 |
64
+ | `shapeRadiusOuter` | 4 |
65
+ | `shapeRadiusSm` | 2 |
66
+ | `spaceStep` | 4 |
67
+ | `spaceUnit` | 4 |
68
+ | `stateError` | #DC2626 |
69
+ | `stateInfo` | #2563EB |
70
+ | `stateSuccess` | #16A34A |
71
+ | `stateWarning` | #D97706 |
72
+ | `surfaceContainer` | #FFFFFF |
73
+ | `surfaceGround` | #F2F1FB |
74
+ | `surfaceScrim` | rgba(15, 23, 42, 0.32) |
75
+ | `textFaint` | rgba(38, 32, 68, 0.3) |
76
+ | `textOnInk` | #FFFFFF |
77
+ | `textPrimary` | #262044 |
78
+ | `textSecondary` | rgba(38, 32, 68, 0.68) |
79
+ | `textTertiary` | rgba(38, 32, 68, 0.45) |
80
+ | `typeFamily` | "Archivo Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif |
81
+ | `typeFamilyCode` | "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace |
82
+ | `typeSize` | 14 |
83
+ | `typeWeight` | 600 |
84
+
85
+ ## antd token lane (seeds + the closed map-token allowlist)
86
+
87
+ | Token | Value |
88
+ | --- | --- |
89
+ | `borderRadius` | 4 |
90
+ | `borderRadiusLG` | 6 |
91
+ | `borderRadiusSM` | 2 |
92
+ | `boxShadow` | 0 4px 16px 0 rgba(11, 18, 32, 0.16) |
93
+ | `boxShadowSecondary` | none |
94
+ | `boxShadowTertiary` | none |
95
+ | `colorBgBase` | #FFFFFF |
96
+ | `colorBgLayout` | #F2F1FB |
97
+ | `colorBgMask` | rgba(15, 23, 42, 0.32) |
98
+ | `colorBgTextActive` | rgba(106, 88, 206, 0.1) |
99
+ | `colorBorder` | rgba(84, 70, 176, 0.10) |
100
+ | `colorBorderSecondary` | rgba(106, 88, 206, 0.06) |
101
+ | `colorError` | #DC2626 |
102
+ | `colorInfo` | #2563EB |
103
+ | `colorLink` | #6A58CE |
104
+ | `colorPrimary` | #6A58CE |
105
+ | `colorPrimaryTextActive` | #6A58CE |
106
+ | `colorSplit` | rgba(106, 88, 206, 0.06) |
107
+ | `colorSuccess` | #16A34A |
108
+ | `colorTextBase` | #262044 |
109
+ | `colorTextPlaceholder` | rgba(38, 32, 68, 0.45) |
110
+ | `colorWarning` | #D97706 |
111
+ | `controlItemBgActive` | rgba(106, 88, 206, 0.1) |
112
+ | `controlItemBgActiveHover` | rgba(106, 88, 206, 0.1) |
113
+ | `controlOutline` | rgba(106, 88, 206, 0.35) |
114
+ | `fontFamily` | "Archivo Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif |
115
+ | `fontFamilyCode` | "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace |
116
+ | `fontSize` | 14 |
117
+ | `fontWeightStrong` | 600 |
118
+ | `lineWidth` | 1 |
119
+ | `motionBase` | 0 |
120
+ | `motionDurationSlow` | 280ms |
121
+ | `motionEaseInOut` | cubic-bezier(0.25, 1, 0.5, 1) |
122
+ | `motionEaseOut` | cubic-bezier(0.25, 1, 0.5, 1) |
123
+ | `motionEaseOutCirc` | cubic-bezier(0.25, 1, 0.5, 1) |
124
+ | `motionEaseOutQuint` | cubic-bezier(0.25, 1, 0.5, 1) |
125
+ | `motionUnit` | 0.08 |
126
+ | `sizeStep` | 4 |
127
+ | `sizeUnit` | 4 |
128
+
129
+ Component overrides are shadow-zeroing only (Button/Input shadows → `none`, always with `algorithm: true`).