twntyx-css 1.0.10 → 1.0.11
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/README.md +36 -1
- package/llm/components/chat-ai.json +6 -100
- package/llm/examples/chat-ai.html +1 -1
- package/llm/index.json +2 -2
- package/package.json +2 -1
- package/styles/button.css +2 -2
- package/styles/chat.css +3 -1
- package/styles/font.css +2 -2
- package/styles/globals.css +1 -1
- package/styles/menu.css +1 -1
- package/styles/typography.css +4 -0
- /package/fonts/{InstrumentSans-Italic-VariableFont_wdth,wght.ttf → InstrumentSans-Italic-Variable.ttf} +0 -0
- /package/fonts/{InstrumentSans-VariableFont_wdth,wght.ttf → InstrumentSans-Variable.ttf} +0 -0
package/README.md
CHANGED
|
@@ -28,12 +28,47 @@ npm install twntyx-css
|
|
|
28
28
|
|
|
29
29
|
### 3. Import the css
|
|
30
30
|
|
|
31
|
-
Import the
|
|
31
|
+
Import the framework stylesheets into your project. Load fonts before globals so bundlers resolve packaged font files correctly:
|
|
32
32
|
|
|
33
33
|
```css
|
|
34
|
+
@import url('twntyx-css/styles/font.css');
|
|
34
35
|
@import 'twntyx-css/styles/globals.css';
|
|
35
36
|
```
|
|
36
37
|
|
|
38
|
+
Or import both in your app entry:
|
|
39
|
+
|
|
40
|
+
```js
|
|
41
|
+
import 'twntyx-css/styles/font.css';
|
|
42
|
+
import 'twntyx-css/styles/globals.css';
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Nuxt + Tailwind CSS v4
|
|
46
|
+
|
|
47
|
+
```ts
|
|
48
|
+
// nuxt.config.ts
|
|
49
|
+
export default defineNuxtConfig({
|
|
50
|
+
css: [
|
|
51
|
+
'twntyx-css/styles/font.css',
|
|
52
|
+
'twntyx-css/styles/globals.css',
|
|
53
|
+
],
|
|
54
|
+
postcss: {
|
|
55
|
+
plugins: {
|
|
56
|
+
'@tailwindcss/postcss': {},
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
})
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
twntyx-css ships `@font-face` rules for Instrument Sans and Gazpacho, so `@nuxt/fonts` is optional.
|
|
63
|
+
|
|
64
|
+
### Fonts troubleshooting
|
|
65
|
+
|
|
66
|
+
If fonts fall back to system defaults:
|
|
67
|
+
|
|
68
|
+
1. Import `twntyx-css/styles/font.css` before `twntyx-css/styles/globals.css`.
|
|
69
|
+
2. In DevTools Network, confirm font requests resolve to bundled assets (not `/fonts/...` at your site root).
|
|
70
|
+
3. After upgrading, clear `.nuxt/` and `node_modules/.cache`.
|
|
71
|
+
|
|
37
72
|
### 4. Adapt webpack config.
|
|
38
73
|
|
|
39
74
|
Add postcss-loader to webpack.config.js.
|
|
@@ -17,64 +17,19 @@
|
|
|
17
17
|
"new message state"
|
|
18
18
|
],
|
|
19
19
|
"sourcePaths": [
|
|
20
|
-
"app/design-system/chat-ai/page.js"
|
|
21
|
-
"assets/styles/button.css",
|
|
22
|
-
"assets/styles/chat.css",
|
|
23
|
-
"assets/styles/form-text-select.css",
|
|
24
|
-
"assets/styles/panel.css",
|
|
25
|
-
"assets/styles/toast.css"
|
|
20
|
+
"app/design-system/chat-ai/page.js"
|
|
26
21
|
],
|
|
27
22
|
"apiModel": "html-class",
|
|
28
23
|
"baseClass": "chat-ai",
|
|
29
|
-
"variants": [
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
"className": "chat-secondary",
|
|
33
|
-
"description": "AI chat visual variant styling."
|
|
34
|
-
}
|
|
35
|
-
],
|
|
36
|
-
"sizes": [
|
|
37
|
-
{
|
|
38
|
-
"name": "chat-loop-stack-lg",
|
|
39
|
-
"className": "chat-loop-stack-lg",
|
|
40
|
-
"description": "Large min-height variant for loop stack."
|
|
41
|
-
}
|
|
42
|
-
],
|
|
43
|
-
"states": [
|
|
44
|
-
{
|
|
45
|
-
"name": "chat-loop-loading",
|
|
46
|
-
"className": "chat-loop-loading",
|
|
47
|
-
"description": "Animated loading row in loop simulation."
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
"name": "chat-loop-message",
|
|
51
|
-
"className": "chat-loop-message",
|
|
52
|
-
"description": "Animated resolved message row in loop simulation."
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
"name": "is-owner",
|
|
56
|
-
"className": "is-owner",
|
|
57
|
-
"description": "Marks messages authored by the current user."
|
|
58
|
-
},
|
|
59
|
-
{
|
|
60
|
-
"name": "is-loading",
|
|
61
|
-
"className": "is-loading",
|
|
62
|
-
"description": "Shows loading placeholder behavior for a message group."
|
|
63
|
-
}
|
|
64
|
-
],
|
|
24
|
+
"variants": [],
|
|
25
|
+
"sizes": [],
|
|
26
|
+
"states": [],
|
|
65
27
|
"structure": {
|
|
66
28
|
"rootElement": "div",
|
|
67
29
|
"requiredClasses": [
|
|
68
30
|
"chat-ai"
|
|
69
31
|
],
|
|
70
|
-
"optionalClasses": [
|
|
71
|
-
"chat-secondary",
|
|
72
|
-
"chat-loop-stack-lg",
|
|
73
|
-
"chat-loop-loading",
|
|
74
|
-
"chat-loop-message",
|
|
75
|
-
"is-owner",
|
|
76
|
-
"is-loading"
|
|
77
|
-
],
|
|
32
|
+
"optionalClasses": [],
|
|
78
33
|
"requiredChildren": [],
|
|
79
34
|
"optionalChildren": []
|
|
80
35
|
},
|
|
@@ -114,56 +69,7 @@
|
|
|
114
69
|
"Do not rely on undocumented internal classes in production templates.",
|
|
115
70
|
"Do not remove required accessibility attributes when component is interactive."
|
|
116
71
|
],
|
|
117
|
-
"tokenUsage": [
|
|
118
|
-
"background-brand",
|
|
119
|
-
"background-brand-active",
|
|
120
|
-
"background-error",
|
|
121
|
-
"background-error-active",
|
|
122
|
-
"background-info",
|
|
123
|
-
"background-info-active",
|
|
124
|
-
"background-inverted",
|
|
125
|
-
"background-page",
|
|
126
|
-
"background-success",
|
|
127
|
-
"background-success-active",
|
|
128
|
-
"background-surface",
|
|
129
|
-
"background-surface-elevated",
|
|
130
|
-
"background-surface-sunken",
|
|
131
|
-
"background-warning",
|
|
132
|
-
"background-warning-active",
|
|
133
|
-
"brand-default",
|
|
134
|
-
"brand-moderate",
|
|
135
|
-
"brand-strong",
|
|
136
|
-
"core-black",
|
|
137
|
-
"core-ui-100",
|
|
138
|
-
"core-ui-50",
|
|
139
|
-
"core-ui-700",
|
|
140
|
-
"core-ui-800",
|
|
141
|
-
"core-ui-900",
|
|
142
|
-
"core-white",
|
|
143
|
-
"line-default",
|
|
144
|
-
"line-error",
|
|
145
|
-
"line-focus",
|
|
146
|
-
"line-highlight",
|
|
147
|
-
"line-info",
|
|
148
|
-
"line-strong",
|
|
149
|
-
"line-success",
|
|
150
|
-
"line-warning",
|
|
151
|
-
"text-attention",
|
|
152
|
-
"text-brand",
|
|
153
|
-
"text-brand-active",
|
|
154
|
-
"text-brand-hover",
|
|
155
|
-
"text-default",
|
|
156
|
-
"text-disabled",
|
|
157
|
-
"text-error",
|
|
158
|
-
"text-info",
|
|
159
|
-
"text-inverted",
|
|
160
|
-
"text-link",
|
|
161
|
-
"text-link-hover",
|
|
162
|
-
"text-secondary",
|
|
163
|
-
"text-success",
|
|
164
|
-
"text-tertiary",
|
|
165
|
-
"text-warning"
|
|
166
|
-
],
|
|
72
|
+
"tokenUsage": [],
|
|
167
73
|
"examples": [
|
|
168
74
|
{
|
|
169
75
|
"id": "canonical",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<div class="chat-ai
|
|
1
|
+
<div class="chat-ai">AI chat structure</div>
|
package/llm/index.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"llmSchemaVersion": "1.0.0",
|
|
3
|
-
"designSystemVersion": "1.0.
|
|
3
|
+
"designSystemVersion": "1.0.11",
|
|
4
4
|
"packageName": "twntyx-css",
|
|
5
5
|
"apiModel": "html-class",
|
|
6
|
-
"sourceFingerprint": "
|
|
6
|
+
"sourceFingerprint": "bcce447bfbebb4a79325f5db8a4af76b85fb2dec7e871f5ff848f6e33901ee92",
|
|
7
7
|
"files": {
|
|
8
8
|
"schema": "schema.json",
|
|
9
9
|
"tokens": "tokens.json",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "twntyx-css",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.11",
|
|
4
4
|
"exports": {
|
|
5
5
|
"./llm": "./llm/index.json",
|
|
6
6
|
"./llm/components/*": "./llm/components/*.json",
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
"./*": "./*",
|
|
12
12
|
"./fonts/*": "./fonts/*",
|
|
13
13
|
"./styles": "./styles/globals.css",
|
|
14
|
+
"./styles/font.css": "./styles/font.css",
|
|
14
15
|
"./styles/*": "./styles/*",
|
|
15
16
|
"./tailwind.config": "./tailwind.config.cjs"
|
|
16
17
|
},
|
package/styles/button.css
CHANGED
|
@@ -310,7 +310,7 @@
|
|
|
310
310
|
}
|
|
311
311
|
|
|
312
312
|
@utility button-destructive {
|
|
313
|
-
@apply border backdrop-blur include-border-destructive bg-background-error border-line-error hover:border-
|
|
313
|
+
@apply border backdrop-blur include-border-destructive bg-background-error border-line-error hover:border-text-error text-text-error active:bg-background-surface-elevated;
|
|
314
314
|
|
|
315
315
|
&.is-active {
|
|
316
316
|
@apply bg-background-surface-elevated;
|
|
@@ -318,7 +318,7 @@
|
|
|
318
318
|
}
|
|
319
319
|
|
|
320
320
|
@utility button-constructive {
|
|
321
|
-
@apply border backdrop-blur include-border-destructive bg-background-success border-line-success hover:border-
|
|
321
|
+
@apply border backdrop-blur include-border-destructive bg-background-success border-line-success hover:border-text-success text-text-success active:bg-background-surface-elevated;
|
|
322
322
|
|
|
323
323
|
&.is-active {
|
|
324
324
|
@apply bg-background-surface-elevated;
|
package/styles/chat.css
CHANGED
package/styles/font.css
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
@font-face {
|
|
6
6
|
font-family: "Instrument Sans";
|
|
7
|
-
src: url("../fonts/InstrumentSans-
|
|
7
|
+
src: url("../fonts/InstrumentSans-Variable.ttf") format("truetype");
|
|
8
8
|
font-weight: 100 900;
|
|
9
9
|
font-style: normal;
|
|
10
10
|
font-display: swap;
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
@font-face {
|
|
14
14
|
font-family: "Instrument Sans";
|
|
15
|
-
src: url("../fonts/InstrumentSans-Italic-
|
|
15
|
+
src: url("../fonts/InstrumentSans-Italic-Variable.ttf") format("truetype");
|
|
16
16
|
font-weight: 100 900;
|
|
17
17
|
font-style: italic;
|
|
18
18
|
font-display: swap;
|
package/styles/globals.css
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@import url("./font.css");
|
|
1
2
|
@import 'tailwindcss';
|
|
2
3
|
@import './theme.css';
|
|
3
4
|
|
|
@@ -25,7 +26,6 @@
|
|
|
25
26
|
@import './drawer.css';
|
|
26
27
|
@import './fieldset.css';
|
|
27
28
|
@import './field.css';
|
|
28
|
-
@import './font.css';
|
|
29
29
|
@import './dropdown.css';
|
|
30
30
|
@import './form-shared.css';
|
|
31
31
|
@import './form-checkbox-radio-toggle.css';
|
package/styles/menu.css
CHANGED
package/styles/typography.css
CHANGED
|
File without changes
|
|
File without changes
|