twntyx-css 1.0.1 → 1.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.
@@ -0,0 +1,100 @@
1
+ {
2
+ "id": "loader-text",
3
+ "name": "Text loader",
4
+ "status": "stable",
5
+ "summary": "Animated loading text with configurable gradient colors for inline and page loading states.",
6
+ "keywords": [
7
+ "gradient",
8
+ "indicator",
9
+ "loader text",
10
+ "loader-text",
11
+ "loading",
12
+ "message",
13
+ "pulse",
14
+ "status",
15
+ "text loader",
16
+ "wait"
17
+ ],
18
+ "sourcePaths": [
19
+ "app/design-system/loader-text/page.js",
20
+ "assets/styles/loader.css"
21
+ ],
22
+ "apiModel": "html-class",
23
+ "baseClass": "loader-text",
24
+ "variants": [
25
+ {
26
+ "name": "from-[color]",
27
+ "className": "from-[color]",
28
+ "description": "Set the starting color of the text loader"
29
+ },
30
+ {
31
+ "name": "to-[color]",
32
+ "className": "to-[color]",
33
+ "description": "Set the ending color of the text loader"
34
+ }
35
+ ],
36
+ "sizes": [],
37
+ "states": [],
38
+ "structure": {
39
+ "rootElement": "div",
40
+ "requiredClasses": [
41
+ "loader-text"
42
+ ],
43
+ "optionalClasses": [
44
+ "from-[color]",
45
+ "to-[color]"
46
+ ],
47
+ "requiredChildren": [],
48
+ "optionalChildren": []
49
+ },
50
+ "attributes": {
51
+ "allowed": [
52
+ "class"
53
+ ],
54
+ "required": [],
55
+ "dataAttributes": [],
56
+ "roles": [],
57
+ "aria": []
58
+ },
59
+ "a11y": {
60
+ "interactive": false,
61
+ "requiredRoles": [],
62
+ "requiredAria": [],
63
+ "keyboardSupport": [],
64
+ "focusBehavior": "No keyboard interaction is required unless nested interactive children are introduced."
65
+ },
66
+ "dos": [
67
+ "Apply the base class 'loader-text' on the root element.",
68
+ "Use documented modifiers for visual variants instead of ad-hoc custom classes.",
69
+ "Keep semantic color usage aligned with token classes for light/dark support."
70
+ ],
71
+ "donts": [
72
+ "Do not combine conflicting state classes on the same element.",
73
+ "Do not rely on undocumented internal classes in production templates.",
74
+ "Do not remove required accessibility attributes when component is interactive."
75
+ ],
76
+ "tokenUsage": [
77
+ "core-black",
78
+ "core-ui-200",
79
+ "core-ui-700",
80
+ "core-white",
81
+ "line-strong",
82
+ "text-default"
83
+ ],
84
+ "examples": [
85
+ {
86
+ "id": "canonical",
87
+ "file": "examples/loader-text.html",
88
+ "description": "Minimal canonical Text loader usage."
89
+ }
90
+ ],
91
+ "composition": {
92
+ "patterns": [],
93
+ "relatedComponents": [],
94
+ "notes": []
95
+ },
96
+ "breakingChangePolicy": {
97
+ "classContract": "Base class, documented modifiers, and state class names are semver-protected for consumer markup.",
98
+ "a11yContract": "Documented role and aria requirements are semver-protected for generated markup."
99
+ }
100
+ }
@@ -21,6 +21,7 @@
21
21
  ],
22
22
  "sourcePaths": [
23
23
  "app/design-system/menu/page.js",
24
+ "assets/styles/chat.css",
24
25
  "assets/styles/menu.css"
25
26
  ],
26
27
  "apiModel": "html-class",
@@ -162,12 +163,21 @@
162
163
  ],
163
164
  "tokenUsage": [
164
165
  "background-brand",
166
+ "background-error",
167
+ "background-page",
165
168
  "background-surface",
169
+ "background-surface-elevated",
170
+ "background-surface-sunken",
171
+ "core-black",
172
+ "core-white",
166
173
  "line-brand",
167
174
  "line-default",
175
+ "line-strong",
168
176
  "text-brand",
169
177
  "text-default",
170
178
  "text-disabled",
179
+ "text-link",
180
+ "text-link-hover",
171
181
  "text-secondary",
172
182
  "text-tertiary"
173
183
  ],
@@ -0,0 +1 @@
1
+ <div class="chat-ai">AI chat structure</div>
@@ -0,0 +1 @@
1
+ <div class="chat-footer">Chat footer</div>
@@ -0,0 +1 @@
1
+ <div class="chat">Person to person chat structure</div>
@@ -1 +1 @@
1
- <div class="chat chat-secondary">Chat</div>
1
+ <div class="chat">Chat</div>
@@ -0,0 +1 @@
1
+ <div class="demo">Demo</div>
@@ -0,0 +1 @@
1
+ <div class="skeleton">Skeleton loader</div>
@@ -0,0 +1 @@
1
+ <div class="loader">Symbol loader</div>
@@ -0,0 +1 @@
1
+ <div class="loader-text from-[color]">Text loader</div>
package/llm/index.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "llmSchemaVersion": "1.0.0",
3
- "designSystemVersion": "1.0.1",
3
+ "designSystemVersion": "1.0.3",
4
4
  "packageName": "twntyx-css",
5
5
  "apiModel": "html-class",
6
- "sourceFingerprint": "0d67c24ed9207b2b6608184923d21917bd858192f3b090b8b464a63f83df00cb",
6
+ "sourceFingerprint": "3d83af24c73bdcd72a4b708f61c25fe52a177fe10b41c2b2ba325a3cf9abf037",
7
7
  "files": {
8
8
  "schema": "schema.json",
9
9
  "tokens": "tokens.json",
@@ -375,15 +375,69 @@
375
375
  "id": "chat",
376
376
  "name": "Chat",
377
377
  "file": "components/chat.json",
378
+ "status": "preview",
379
+ "summary": "Documentation and contract metadata for Chat in the twntyX design system.",
380
+ "keywords": [
381
+ "chat"
382
+ ]
383
+ },
384
+ {
385
+ "id": "chat-ai",
386
+ "name": "AI chat structure",
387
+ "file": "components/chat-ai.json",
378
388
  "status": "stable",
379
- "summary": "Chat component for displaying conversations between users or with AI assistants.",
389
+ "summary": "AI chat conversation patterns with text, media, MCP bubbles, loading, and assistant response loop simulations.",
380
390
  "keywords": [
381
391
  "ai chat",
392
+ "assistant",
382
393
  "chat",
394
+ "chat ai",
395
+ "chat-ai",
383
396
  "chatbot",
384
- "communication",
397
+ "loading state",
398
+ "mcp fallback",
399
+ "mcp result",
400
+ "mcp tool action",
401
+ "new message state"
402
+ ]
403
+ },
404
+ {
405
+ "id": "chat-footer",
406
+ "name": "Chat footer",
407
+ "file": "components/chat-footer.json",
408
+ "status": "stable",
409
+ "summary": "Chat composer/footer patterns including the current footer and a full variant with file upload trigger, model selector, and dictation simulation.",
410
+ "keywords": [
411
+ "attachment",
412
+ "chat",
413
+ "chat footer",
414
+ "chat input",
415
+ "chat-footer",
416
+ "composer",
417
+ "dictation",
418
+ "footer",
419
+ "ghost select",
420
+ "model selector"
421
+ ]
422
+ },
423
+ {
424
+ "id": "chat-person-to-person",
425
+ "name": "Person to person chat structure",
426
+ "file": "components/chat-person-to-person.json",
427
+ "status": "stable",
428
+ "summary": "Conversation patterns between people, including text, image attachments, MCP content, loading and new-message simulation states.",
429
+ "keywords": [
430
+ "chat",
431
+ "chat person to person",
432
+ "chat structure",
433
+ "chat-person-to-person",
385
434
  "conversation",
386
- "messages"
435
+ "human chat",
436
+ "loading state",
437
+ "mcp",
438
+ "message attachments",
439
+ "messages",
440
+ "person to person"
387
441
  ]
388
442
  },
389
443
  {
@@ -558,6 +612,16 @@
558
612
  "time"
559
613
  ]
560
614
  },
615
+ {
616
+ "id": "demo",
617
+ "name": "Demo",
618
+ "file": "components/demo.json",
619
+ "status": "preview",
620
+ "summary": "Documentation and contract metadata for Demo in the twntyX design system.",
621
+ "keywords": [
622
+ "demo"
623
+ ]
624
+ },
561
625
  {
562
626
  "id": "divider",
563
627
  "name": "Divider",
@@ -694,7 +758,7 @@
694
758
  "name": "Icons reference",
695
759
  "file": "components/icons-reference.json",
696
760
  "status": "stable",
697
- "summary": "Collection of icons used throughout the application, twntyX uses [Google's Material Symbols and Icons](https://fonts.google.com/icons) (weight 300, rounded), which provides us with an extensive icon library with over 2,500 glyphs",
761
+ "summary": "Collection of icons used throughout the application, twntyX uses [Google's Material Symbols and Icons](https://fonts.google.com/icons?icon.style=Rounded&icon.query=soun&icon.size=24) (weight 300, rounded), which provides us with an extensive icon library with over 2,500 glyphs",
698
762
  "keywords": [
699
763
  "assets",
700
764
  "collection",
@@ -828,16 +892,42 @@
828
892
  ]
829
893
  },
830
894
  {
831
- "id": "loader",
832
- "name": "Loader",
833
- "file": "components/loader.json",
895
+ "id": "loader-skeleton",
896
+ "name": "Skeleton loader",
897
+ "file": "components/loader-skeleton.json",
898
+ "status": "stable",
899
+ "summary": "Skeleton loaders provide visual placeholders for content while it loads, improving perceived performance.",
900
+ "keywords": [
901
+ "animation",
902
+ "fallback",
903
+ "loader",
904
+ "loader skeleton",
905
+ "loader-skeleton",
906
+ "loading",
907
+ "placeholder",
908
+ "preview",
909
+ "progress",
910
+ "pulse",
911
+ "shimmer",
912
+ "skeleton",
913
+ "suspense",
914
+ "wait",
915
+ "wave"
916
+ ]
917
+ },
918
+ {
919
+ "id": "loader-symbol",
920
+ "name": "Symbol loader",
921
+ "file": "components/loader-symbol.json",
834
922
  "status": "stable",
835
- "summary": "Loading indicators and spinners to show content loading states.",
923
+ "summary": "Loading indicators and symbol-based spinners to show content loading states.",
836
924
  "keywords": [
837
925
  "animation",
838
926
  "busy",
839
927
  "indicator",
840
928
  "loader",
929
+ "loader symbol",
930
+ "loader-symbol",
841
931
  "loading",
842
932
  "processing",
843
933
  "progress",
@@ -846,6 +936,25 @@
846
936
  "wait"
847
937
  ]
848
938
  },
939
+ {
940
+ "id": "loader-text",
941
+ "name": "Text loader",
942
+ "file": "components/loader-text.json",
943
+ "status": "stable",
944
+ "summary": "Animated loading text with configurable gradient colors for inline and page loading states.",
945
+ "keywords": [
946
+ "gradient",
947
+ "indicator",
948
+ "loader text",
949
+ "loader-text",
950
+ "loading",
951
+ "message",
952
+ "pulse",
953
+ "status",
954
+ "text loader",
955
+ "wait"
956
+ ]
957
+ },
849
958
  {
850
959
  "id": "logotype",
851
960
  "name": "Logotype",
@@ -1196,28 +1305,6 @@
1196
1305
  "stack"
1197
1306
  ]
1198
1307
  },
1199
- {
1200
- "id": "skeleton",
1201
- "name": "Skeleton",
1202
- "file": "components/skeleton.json",
1203
- "status": "stable",
1204
- "summary": "Skeleton loaders provide visual placeholders for content while it loads, improving perceived performance.",
1205
- "keywords": [
1206
- "animation",
1207
- "fallback",
1208
- "loader",
1209
- "loading",
1210
- "placeholder",
1211
- "preview",
1212
- "progress",
1213
- "pulse",
1214
- "shimmer",
1215
- "skeleton",
1216
- "suspense",
1217
- "wait",
1218
- "wave"
1219
- ]
1220
- },
1221
1308
  {
1222
1309
  "id": "stacked-chart",
1223
1310
  "name": "Stacked chart",