twntyx-css 1.0.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.
Files changed (228) hide show
  1. package/README.md +105 -0
  2. package/llm/CHANGELOG.md +7 -0
  3. package/llm/components/ai-background.json +90 -0
  4. package/llm/components/ai-orb.json +91 -0
  5. package/llm/components/ai-perl.json +91 -0
  6. package/llm/components/all-components.json +104 -0
  7. package/llm/components/animation-references.json +84 -0
  8. package/llm/components/avatar.json +149 -0
  9. package/llm/components/badge.json +263 -0
  10. package/llm/components/banner-marketplace.json +81 -0
  11. package/llm/components/banner.json +120 -0
  12. package/llm/components/breadcrumb.json +169 -0
  13. package/llm/components/button-container.json +150 -0
  14. package/llm/components/button-feedback.json +155 -0
  15. package/llm/components/button.json +290 -0
  16. package/llm/components/card-assessment.json +93 -0
  17. package/llm/components/card-test.json +83 -0
  18. package/llm/components/card.json +94 -0
  19. package/llm/components/chat.json +155 -0
  20. package/llm/components/checkbox.json +186 -0
  21. package/llm/components/checkmark.json +175 -0
  22. package/llm/components/collapsible.json +100 -0
  23. package/llm/components/color-palette.json +79 -0
  24. package/llm/components/color-usage.json +83 -0
  25. package/llm/components/combobox.json +143 -0
  26. package/llm/components/command-palette.json +159 -0
  27. package/llm/components/countdown.json +113 -0
  28. package/llm/components/datepicker.json +151 -0
  29. package/llm/components/divider.json +104 -0
  30. package/llm/components/empty-state.json +80 -0
  31. package/llm/components/field.json +123 -0
  32. package/llm/components/fieldset.json +78 -0
  33. package/llm/components/file-upload.json +163 -0
  34. package/llm/components/form-example.json +82 -0
  35. package/llm/components/getting-started.json +70 -0
  36. package/llm/components/icons-reference.json +78 -0
  37. package/llm/components/illustrations-library.json +78 -0
  38. package/llm/components/input-group.json +94 -0
  39. package/llm/components/introduction.json +71 -0
  40. package/llm/components/join.json +105 -0
  41. package/llm/components/kbd.json +139 -0
  42. package/llm/components/key-value.json +86 -0
  43. package/llm/components/link.json +120 -0
  44. package/llm/components/loader.json +117 -0
  45. package/llm/components/logotype.json +75 -0
  46. package/llm/components/menu.json +192 -0
  47. package/llm/components/modal.json +167 -0
  48. package/llm/components/navbar.json +158 -0
  49. package/llm/components/pagination.json +122 -0
  50. package/llm/components/pie-chart.json +94 -0
  51. package/llm/components/popover.json +174 -0
  52. package/llm/components/progress-bullet.json +203 -0
  53. package/llm/components/progress-linear.json +129 -0
  54. package/llm/components/progress-radial.json +125 -0
  55. package/llm/components/radio.json +162 -0
  56. package/llm/components/range-slider.json +125 -0
  57. package/llm/components/scrollbar.json +96 -0
  58. package/llm/components/select-input.json +224 -0
  59. package/llm/components/shadows.json +107 -0
  60. package/llm/components/skeleton.json +84 -0
  61. package/llm/components/stacked-chart.json +100 -0
  62. package/llm/components/state.json +138 -0
  63. package/llm/components/stepper.json +95 -0
  64. package/llm/components/steps.json +177 -0
  65. package/llm/components/surface.json +181 -0
  66. package/llm/components/table.json +223 -0
  67. package/llm/components/tabs.json +147 -0
  68. package/llm/components/template-ai.json +80 -0
  69. package/llm/components/template-login.json +88 -0
  70. package/llm/components/template-stats.json +76 -0
  71. package/llm/components/text-input.json +275 -0
  72. package/llm/components/textarea.json +183 -0
  73. package/llm/components/timeline.json +142 -0
  74. package/llm/components/toast.json +164 -0
  75. package/llm/components/toggle.json +158 -0
  76. package/llm/components/tool-svg-to-base64.json +78 -0
  77. package/llm/components/tool-svg-to-icon-data.json +81 -0
  78. package/llm/components/tooltip.json +90 -0
  79. package/llm/examples/ai-background.html +1 -0
  80. package/llm/examples/ai-orb.html +1 -0
  81. package/llm/examples/ai-perl.html +1 -0
  82. package/llm/examples/all-components.html +1 -0
  83. package/llm/examples/animation-references.html +1 -0
  84. package/llm/examples/avatar.html +1 -0
  85. package/llm/examples/badge.html +1 -0
  86. package/llm/examples/banner-marketplace.html +1 -0
  87. package/llm/examples/banner.html +1 -0
  88. package/llm/examples/breadcrumb.html +1 -0
  89. package/llm/examples/button-container.html +1 -0
  90. package/llm/examples/button-feedback.html +1 -0
  91. package/llm/examples/button.html +3 -0
  92. package/llm/examples/card-assessment.html +1 -0
  93. package/llm/examples/card-test.html +1 -0
  94. package/llm/examples/card.html +1 -0
  95. package/llm/examples/chat.html +1 -0
  96. package/llm/examples/checkbox.html +1 -0
  97. package/llm/examples/checkmark.html +1 -0
  98. package/llm/examples/collapsible.html +1 -0
  99. package/llm/examples/color-palette.html +1 -0
  100. package/llm/examples/color-usage.html +1 -0
  101. package/llm/examples/combobox.html +1 -0
  102. package/llm/examples/command-palette.html +1 -0
  103. package/llm/examples/countdown.html +1 -0
  104. package/llm/examples/datepicker.html +1 -0
  105. package/llm/examples/divider.html +1 -0
  106. package/llm/examples/empty-state.html +1 -0
  107. package/llm/examples/field.html +1 -0
  108. package/llm/examples/fieldset.html +1 -0
  109. package/llm/examples/file-upload.html +1 -0
  110. package/llm/examples/form-example.html +1 -0
  111. package/llm/examples/getting-started.html +1 -0
  112. package/llm/examples/icons-reference.html +1 -0
  113. package/llm/examples/illustrations-library.html +1 -0
  114. package/llm/examples/input-group.html +1 -0
  115. package/llm/examples/introduction.html +1 -0
  116. package/llm/examples/join.html +1 -0
  117. package/llm/examples/kbd.html +1 -0
  118. package/llm/examples/key-value.html +1 -0
  119. package/llm/examples/link.html +1 -0
  120. package/llm/examples/loader.html +1 -0
  121. package/llm/examples/logotype.html +1 -0
  122. package/llm/examples/menu.html +1 -0
  123. package/llm/examples/modal.html +16 -0
  124. package/llm/examples/navbar.html +1 -0
  125. package/llm/examples/pagination.html +1 -0
  126. package/llm/examples/pie-chart.html +1 -0
  127. package/llm/examples/popover.html +1 -0
  128. package/llm/examples/progress-bullet.html +1 -0
  129. package/llm/examples/progress-linear.html +1 -0
  130. package/llm/examples/progress-radial.html +1 -0
  131. package/llm/examples/radio.html +1 -0
  132. package/llm/examples/range-slider.html +1 -0
  133. package/llm/examples/scrollbar.html +1 -0
  134. package/llm/examples/select-input.html +1 -0
  135. package/llm/examples/shadows.html +1 -0
  136. package/llm/examples/skeleton.html +1 -0
  137. package/llm/examples/stacked-chart.html +1 -0
  138. package/llm/examples/state.html +1 -0
  139. package/llm/examples/stepper.html +1 -0
  140. package/llm/examples/steps.html +1 -0
  141. package/llm/examples/surface.html +1 -0
  142. package/llm/examples/table.html +16 -0
  143. package/llm/examples/tabs.html +1 -0
  144. package/llm/examples/template-ai.html +1 -0
  145. package/llm/examples/template-login.html +1 -0
  146. package/llm/examples/template-stats.html +1 -0
  147. package/llm/examples/text-input.html +10 -0
  148. package/llm/examples/textarea.html +1 -0
  149. package/llm/examples/timeline.html +1 -0
  150. package/llm/examples/toast.html +5 -0
  151. package/llm/examples/toggle.html +1 -0
  152. package/llm/examples/tool-svg-to-base64.html +1 -0
  153. package/llm/examples/tool-svg-to-icon-data.html +1 -0
  154. package/llm/examples/tooltip.html +1 -0
  155. package/llm/index.json +1615 -0
  156. package/llm/llms.txt +18 -0
  157. package/llm/patterns.json +111 -0
  158. package/llm/rules.json +47 -0
  159. package/llm/schema.json +804 -0
  160. package/llm/tokens.json +3629 -0
  161. package/package.json +30 -0
  162. package/styles/ai.css +114 -0
  163. package/styles/animation.css +2493 -0
  164. package/styles/avatar.css +101 -0
  165. package/styles/background-ai.css +118 -0
  166. package/styles/badge.css +274 -0
  167. package/styles/banner.css +98 -0
  168. package/styles/breadcrumb.css +72 -0
  169. package/styles/button.css +621 -0
  170. package/styles/card.css +27 -0
  171. package/styles/chart-pie.css +39 -0
  172. package/styles/chart-stacked.css +91 -0
  173. package/styles/chat.css +506 -0
  174. package/styles/checkmark.css +105 -0
  175. package/styles/code.css +264 -0
  176. package/styles/collapsible.css +93 -0
  177. package/styles/colors.css +536 -0
  178. package/styles/combobox.css +66 -0
  179. package/styles/command.css +81 -0
  180. package/styles/contest.css +227 -0
  181. package/styles/countdown.css +65 -0
  182. package/styles/datepicker.css +124 -0
  183. package/styles/divider.css +72 -0
  184. package/styles/drawer.css +142 -0
  185. package/styles/dropdown.css +22 -0
  186. package/styles/empty-state.css +48 -0
  187. package/styles/field.css +47 -0
  188. package/styles/fieldset.css +24 -0
  189. package/styles/form-checkbox-radio-toggle.css +233 -0
  190. package/styles/form-fileupload.css +146 -0
  191. package/styles/form-rangeslider.css +106 -0
  192. package/styles/form-shared.css +41 -0
  193. package/styles/form-text-select.css +411 -0
  194. package/styles/form.css +86 -0
  195. package/styles/globals.css +66 -0
  196. package/styles/input-group.css +63 -0
  197. package/styles/join.css +141 -0
  198. package/styles/kbd.css +55 -0
  199. package/styles/key-value.css +44 -0
  200. package/styles/link.css +48 -0
  201. package/styles/loader.css +183 -0
  202. package/styles/logotype.css +13 -0
  203. package/styles/menu.css +317 -0
  204. package/styles/modal.css +172 -0
  205. package/styles/navbar.css +48 -0
  206. package/styles/package-quill.css +1001 -0
  207. package/styles/pagination.css +147 -0
  208. package/styles/panel.css +113 -0
  209. package/styles/popover.css +303 -0
  210. package/styles/prism.css +60 -0
  211. package/styles/progress.css +209 -0
  212. package/styles/scrollbar.css +17 -0
  213. package/styles/shadow.css +25 -0
  214. package/styles/shared.css +226 -0
  215. package/styles/skeleton.css +34 -0
  216. package/styles/state.css +150 -0
  217. package/styles/stepper.css +72 -0
  218. package/styles/steps.css +98 -0
  219. package/styles/surface.css +252 -0
  220. package/styles/tab.css +286 -0
  221. package/styles/table.css +243 -0
  222. package/styles/theme.css +126 -0
  223. package/styles/timeline.css +193 -0
  224. package/styles/toast.css +150 -0
  225. package/styles/tooltip.css +8 -0
  226. package/styles/typography.css +160 -0
  227. package/styles/utility.css +20 -0
  228. package/tailwind.config.cjs +9 -0
@@ -0,0 +1,155 @@
1
+ {
2
+ "id": "chat",
3
+ "name": "Chat",
4
+ "status": "stable",
5
+ "summary": "Chat component for displaying conversations between users or with AI assistants.",
6
+ "keywords": [
7
+ "ai chat",
8
+ "chat",
9
+ "chatbot",
10
+ "communication",
11
+ "conversation",
12
+ "messages"
13
+ ],
14
+ "sourcePaths": [
15
+ "app/design-system/chat/page.js",
16
+ "assets/styles/button.css",
17
+ "assets/styles/chat.css",
18
+ "assets/styles/form-text-select.css",
19
+ "assets/styles/panel.css",
20
+ "assets/styles/toast.css"
21
+ ],
22
+ "apiModel": "html-class",
23
+ "baseClass": "chat",
24
+ "variants": [
25
+ {
26
+ "name": "chat-secondary",
27
+ "className": "chat-secondary",
28
+ "description": "Alternative styling for AI chat"
29
+ }
30
+ ],
31
+ "sizes": [],
32
+ "states": [
33
+ {
34
+ "name": "is-owner",
35
+ "className": "is-owner",
36
+ "description": "Indicates messages from the current user"
37
+ },
38
+ {
39
+ "name": "is-loading",
40
+ "className": "is-loading",
41
+ "description": "Loading state that reveals"
42
+ }
43
+ ],
44
+ "structure": {
45
+ "rootElement": "div",
46
+ "requiredClasses": [
47
+ "chat"
48
+ ],
49
+ "optionalClasses": [
50
+ "chat-secondary",
51
+ "is-owner",
52
+ "is-loading"
53
+ ],
54
+ "requiredChildren": [],
55
+ "optionalChildren": []
56
+ },
57
+ "attributes": {
58
+ "allowed": [
59
+ "class"
60
+ ],
61
+ "required": [],
62
+ "dataAttributes": [
63
+ "data-loading"
64
+ ],
65
+ "roles": [
66
+ "status"
67
+ ],
68
+ "aria": []
69
+ },
70
+ "a11y": {
71
+ "interactive": false,
72
+ "requiredRoles": [
73
+ "status"
74
+ ],
75
+ "requiredAria": [],
76
+ "keyboardSupport": [],
77
+ "focusBehavior": "No keyboard interaction is required unless nested interactive children are introduced."
78
+ },
79
+ "dos": [
80
+ "Apply the base class 'chat' on the root element.",
81
+ "Use documented modifiers for visual variants instead of ad-hoc custom classes.",
82
+ "Keep semantic color usage aligned with token classes for light/dark support."
83
+ ],
84
+ "donts": [
85
+ "Do not combine conflicting state classes on the same element.",
86
+ "Do not rely on undocumented internal classes in production templates.",
87
+ "Do not remove required accessibility attributes when component is interactive."
88
+ ],
89
+ "tokenUsage": [
90
+ "background-brand",
91
+ "background-brand-active",
92
+ "background-error",
93
+ "background-error-active",
94
+ "background-info",
95
+ "background-info-active",
96
+ "background-inverted",
97
+ "background-page",
98
+ "background-success",
99
+ "background-success-active",
100
+ "background-surface",
101
+ "background-surface-elevated",
102
+ "background-surface-sunken",
103
+ "background-warning",
104
+ "background-warning-active",
105
+ "brand-default",
106
+ "brand-moderate",
107
+ "brand-strong",
108
+ "core-black",
109
+ "core-ui-100",
110
+ "core-ui-50",
111
+ "core-ui-700",
112
+ "core-ui-800",
113
+ "core-ui-900",
114
+ "core-white",
115
+ "line-default",
116
+ "line-error",
117
+ "line-focus",
118
+ "line-highlight",
119
+ "line-info",
120
+ "line-strong",
121
+ "line-success",
122
+ "line-warning",
123
+ "text-attention",
124
+ "text-brand",
125
+ "text-brand-active",
126
+ "text-brand-hover",
127
+ "text-default",
128
+ "text-disabled",
129
+ "text-error",
130
+ "text-info",
131
+ "text-inverted",
132
+ "text-link",
133
+ "text-link-hover",
134
+ "text-secondary",
135
+ "text-success",
136
+ "text-tertiary",
137
+ "text-warning"
138
+ ],
139
+ "examples": [
140
+ {
141
+ "id": "canonical",
142
+ "file": "examples/chat.html",
143
+ "description": "Minimal canonical Chat usage."
144
+ }
145
+ ],
146
+ "composition": {
147
+ "patterns": [],
148
+ "relatedComponents": [],
149
+ "notes": []
150
+ },
151
+ "breakingChangePolicy": {
152
+ "classContract": "Base class, documented modifiers, and state class names are semver-protected for consumer markup.",
153
+ "a11yContract": "Documented role and aria requirements are semver-protected for generated markup."
154
+ }
155
+ }
@@ -0,0 +1,186 @@
1
+ {
2
+ "id": "checkbox",
3
+ "name": "Checkbox",
4
+ "status": "stable",
5
+ "summary": "Checkbox input component for multiple selection and boolean states.",
6
+ "keywords": [
7
+ "boolean",
8
+ "box",
9
+ "check",
10
+ "checkbox",
11
+ "control",
12
+ "field",
13
+ "form",
14
+ "input",
15
+ "multiple",
16
+ "option",
17
+ "selection",
18
+ "switch",
19
+ "tick",
20
+ "toggle"
21
+ ],
22
+ "sourcePaths": [
23
+ "app/design-system/checkbox/page.js",
24
+ "assets/styles/button.css",
25
+ "assets/styles/chat.css",
26
+ "assets/styles/field.css",
27
+ "assets/styles/form-checkbox-radio-toggle.css",
28
+ "assets/styles/form-shared.css",
29
+ "assets/styles/form-text-select.css",
30
+ "assets/styles/input-group.css",
31
+ "assets/styles/menu.css",
32
+ "assets/styles/pagination.css",
33
+ "assets/styles/shared.css",
34
+ "assets/styles/tab.css"
35
+ ],
36
+ "apiModel": "html-class",
37
+ "baseClass": "checkbox",
38
+ "variants": [
39
+ {
40
+ "name": "input-line-through",
41
+ "className": "input-line-through",
42
+ "description": "Line through state"
43
+ },
44
+ {
45
+ "name": "checkbox-green",
46
+ "className": "checkbox-green",
47
+ "description": "Green variant"
48
+ }
49
+ ],
50
+ "sizes": [],
51
+ "states": [
52
+ {
53
+ "name": "is-error",
54
+ "className": "is-error",
55
+ "description": "Error message"
56
+ },
57
+ {
58
+ "name": "is-disabled",
59
+ "className": "is-disabled",
60
+ "description": "Disabled state"
61
+ },
62
+ {
63
+ "name": "is-checked",
64
+ "className": "is-checked",
65
+ "description": "Checked state"
66
+ }
67
+ ],
68
+ "structure": {
69
+ "rootElement": "input",
70
+ "requiredClasses": [
71
+ "checkbox"
72
+ ],
73
+ "optionalClasses": [
74
+ "input-line-through",
75
+ "checkbox-green",
76
+ "is-error",
77
+ "is-disabled",
78
+ "is-checked"
79
+ ],
80
+ "requiredChildren": [],
81
+ "optionalChildren": []
82
+ },
83
+ "attributes": {
84
+ "allowed": [
85
+ "class",
86
+ "id",
87
+ "tabindex"
88
+ ],
89
+ "required": [],
90
+ "dataAttributes": [],
91
+ "roles": [],
92
+ "aria": []
93
+ },
94
+ "a11y": {
95
+ "interactive": true,
96
+ "requiredRoles": [],
97
+ "requiredAria": [
98
+ "aria-label (when no visible label)"
99
+ ],
100
+ "keyboardSupport": [
101
+ "Tab",
102
+ "Shift+Tab",
103
+ "Enter",
104
+ "Space"
105
+ ],
106
+ "focusBehavior": "Visible focus state is required when the component is focusable or clickable."
107
+ },
108
+ "dos": [
109
+ "Apply the base class 'checkbox' on the root element.",
110
+ "Use documented modifiers for visual variants instead of ad-hoc custom classes.",
111
+ "Keep semantic color usage aligned with token classes for light/dark support."
112
+ ],
113
+ "donts": [
114
+ "Do not combine conflicting state classes on the same element.",
115
+ "Do not rely on undocumented internal classes in production templates.",
116
+ "Do not remove required accessibility attributes when component is interactive."
117
+ ],
118
+ "tokenUsage": [
119
+ "background-brand",
120
+ "background-brand-active",
121
+ "background-error",
122
+ "background-info",
123
+ "background-inverted",
124
+ "background-page",
125
+ "background-success",
126
+ "background-surface",
127
+ "background-surface-elevated",
128
+ "background-surface-sunken",
129
+ "background-warning",
130
+ "brand-default",
131
+ "brand-moderate",
132
+ "brand-strong",
133
+ "core-black",
134
+ "core-ui-100",
135
+ "core-ui-300",
136
+ "core-ui-400",
137
+ "core-ui-50",
138
+ "core-ui-500",
139
+ "core-ui-700",
140
+ "core-ui-800",
141
+ "core-ui-900",
142
+ "core-white",
143
+ "line-brand",
144
+ "line-default",
145
+ "line-error",
146
+ "line-focus",
147
+ "line-highlight",
148
+ "line-info",
149
+ "line-strong",
150
+ "line-success",
151
+ "line-warning",
152
+ "text-attention",
153
+ "text-brand",
154
+ "text-brand-active",
155
+ "text-brand-hover",
156
+ "text-default",
157
+ "text-disabled",
158
+ "text-error",
159
+ "text-info",
160
+ "text-inverted",
161
+ "text-link",
162
+ "text-link-hover",
163
+ "text-secondary",
164
+ "text-success",
165
+ "text-tertiary",
166
+ "text-warning"
167
+ ],
168
+ "examples": [
169
+ {
170
+ "id": "canonical",
171
+ "file": "examples/checkbox.html",
172
+ "description": "Minimal canonical Checkbox usage."
173
+ }
174
+ ],
175
+ "composition": {
176
+ "patterns": [
177
+ "form-field-composition"
178
+ ],
179
+ "relatedComponents": [],
180
+ "notes": []
181
+ },
182
+ "breakingChangePolicy": {
183
+ "classContract": "Base class, documented modifiers, and state class names are semver-protected for consumer markup.",
184
+ "a11yContract": "Documented role and aria requirements are semver-protected for generated markup."
185
+ }
186
+ }
@@ -0,0 +1,175 @@
1
+ {
2
+ "id": "checkmark",
3
+ "name": "Checkmark",
4
+ "status": "stable",
5
+ "summary": "Animated checkmark indicator for active and completion states.",
6
+ "keywords": [
7
+ "boolean",
8
+ "check",
9
+ "checkmark",
10
+ "complete",
11
+ "done",
12
+ "indicator",
13
+ "selection",
14
+ "state",
15
+ "status",
16
+ "success",
17
+ "tick"
18
+ ],
19
+ "sourcePaths": [
20
+ "app/design-system/checkmark/page.js",
21
+ "assets/styles/breadcrumb.css",
22
+ "assets/styles/button.css",
23
+ "assets/styles/chat.css",
24
+ "assets/styles/checkmark.css",
25
+ "assets/styles/command.css",
26
+ "assets/styles/form-text-select.css",
27
+ "assets/styles/menu.css",
28
+ "assets/styles/navbar.css",
29
+ "assets/styles/pagination.css",
30
+ "assets/styles/progress.css",
31
+ "assets/styles/steps.css",
32
+ "assets/styles/tab.css",
33
+ "assets/styles/table.css",
34
+ "assets/styles/toast.css"
35
+ ],
36
+ "apiModel": "html-class",
37
+ "baseClass": "checkmark",
38
+ "variants": [
39
+ {
40
+ "name": "checkmark-invisible",
41
+ "className": "checkmark-invisible",
42
+ "description": "Keeps layout size while hiding the off state"
43
+ }
44
+ ],
45
+ "sizes": [
46
+ {
47
+ "name": "checkmark-sm",
48
+ "className": "checkmark-sm",
49
+ "description": "Small size variant"
50
+ },
51
+ {
52
+ "name": "checkmark-xs",
53
+ "className": "checkmark-xs",
54
+ "description": "Extra small size variant"
55
+ }
56
+ ],
57
+ "states": [
58
+ {
59
+ "name": "is-active",
60
+ "className": "is-active",
61
+ "description": "Activates the checkmark state"
62
+ }
63
+ ],
64
+ "structure": {
65
+ "rootElement": "div",
66
+ "requiredClasses": [
67
+ "checkmark"
68
+ ],
69
+ "optionalClasses": [
70
+ "checkmark-invisible",
71
+ "checkmark-sm",
72
+ "checkmark-xs",
73
+ "is-active"
74
+ ],
75
+ "requiredChildren": [],
76
+ "optionalChildren": []
77
+ },
78
+ "attributes": {
79
+ "allowed": [
80
+ "class"
81
+ ],
82
+ "required": [],
83
+ "dataAttributes": [],
84
+ "roles": [],
85
+ "aria": []
86
+ },
87
+ "a11y": {
88
+ "interactive": false,
89
+ "requiredRoles": [],
90
+ "requiredAria": [],
91
+ "keyboardSupport": [],
92
+ "focusBehavior": "No keyboard interaction is required unless nested interactive children are introduced."
93
+ },
94
+ "dos": [
95
+ "Apply the base class 'checkmark' on the root element.",
96
+ "Use documented modifiers for visual variants instead of ad-hoc custom classes.",
97
+ "Keep semantic color usage aligned with token classes for light/dark support."
98
+ ],
99
+ "donts": [
100
+ "Do not combine conflicting state classes on the same element.",
101
+ "Do not rely on undocumented internal classes in production templates.",
102
+ "Do not remove required accessibility attributes when component is interactive."
103
+ ],
104
+ "tokenUsage": [
105
+ "background-brand",
106
+ "background-brand-active",
107
+ "background-error",
108
+ "background-error-active",
109
+ "background-info",
110
+ "background-info-active",
111
+ "background-inverted",
112
+ "background-page",
113
+ "background-success",
114
+ "background-success-active",
115
+ "background-surface",
116
+ "background-surface-elevated",
117
+ "background-surface-sunken",
118
+ "background-warning",
119
+ "background-warning-active",
120
+ "brand-default",
121
+ "brand-moderate",
122
+ "brand-strong",
123
+ "core-black",
124
+ "core-ui-100",
125
+ "core-ui-300",
126
+ "core-ui-400",
127
+ "core-ui-50",
128
+ "core-ui-600",
129
+ "core-ui-700",
130
+ "core-ui-800",
131
+ "core-ui-900",
132
+ "core-white",
133
+ "line-brand",
134
+ "line-default",
135
+ "line-error",
136
+ "line-focus",
137
+ "line-highlight",
138
+ "line-info",
139
+ "line-strong",
140
+ "line-success",
141
+ "line-warning",
142
+ "text-attention",
143
+ "text-brand",
144
+ "text-brand-active",
145
+ "text-brand-hover",
146
+ "text-default",
147
+ "text-disabled",
148
+ "text-error",
149
+ "text-info",
150
+ "text-inverted",
151
+ "text-link",
152
+ "text-link-active",
153
+ "text-link-hover",
154
+ "text-secondary",
155
+ "text-success",
156
+ "text-tertiary",
157
+ "text-warning"
158
+ ],
159
+ "examples": [
160
+ {
161
+ "id": "canonical",
162
+ "file": "examples/checkmark.html",
163
+ "description": "Minimal canonical Checkmark usage."
164
+ }
165
+ ],
166
+ "composition": {
167
+ "patterns": [],
168
+ "relatedComponents": [],
169
+ "notes": []
170
+ },
171
+ "breakingChangePolicy": {
172
+ "classContract": "Base class, documented modifiers, and state class names are semver-protected for consumer markup.",
173
+ "a11yContract": "Documented role and aria requirements are semver-protected for generated markup."
174
+ }
175
+ }
@@ -0,0 +1,100 @@
1
+ {
2
+ "id": "collapsible",
3
+ "name": "Collapsible",
4
+ "status": "stable",
5
+ "summary": "Expandable and collapsible content container with smooth animations and optional headers.",
6
+ "keywords": [
7
+ "accordion",
8
+ "collapse",
9
+ "collapsible",
10
+ "disclosure",
11
+ "drawer",
12
+ "expand",
13
+ "fold",
14
+ "hide",
15
+ "section",
16
+ "show",
17
+ "toggle",
18
+ "unfold"
19
+ ],
20
+ "sourcePaths": [
21
+ "app/design-system/collapsible/page.js",
22
+ "assets/styles/collapsible.css"
23
+ ],
24
+ "apiModel": "html-class",
25
+ "baseClass": "collapsible",
26
+ "variants": [
27
+ {
28
+ "name": "collapsible-has-arrow",
29
+ "className": "collapsible-has-arrow",
30
+ "description": "Adds a rotating arrow indicator to the header"
31
+ },
32
+ {
33
+ "name": "collapsible-card",
34
+ "className": "collapsible-card",
35
+ "description": "Styles the collapsible as a card with padding and borders"
36
+ }
37
+ ],
38
+ "sizes": [],
39
+ "states": [],
40
+ "structure": {
41
+ "rootElement": "div",
42
+ "requiredClasses": [
43
+ "collapsible"
44
+ ],
45
+ "optionalClasses": [
46
+ "collapsible-has-arrow",
47
+ "collapsible-card"
48
+ ],
49
+ "requiredChildren": [],
50
+ "optionalChildren": []
51
+ },
52
+ "attributes": {
53
+ "allowed": [
54
+ "class"
55
+ ],
56
+ "required": [],
57
+ "dataAttributes": [],
58
+ "roles": [],
59
+ "aria": []
60
+ },
61
+ "a11y": {
62
+ "interactive": false,
63
+ "requiredRoles": [],
64
+ "requiredAria": [],
65
+ "keyboardSupport": [],
66
+ "focusBehavior": "No keyboard interaction is required unless nested interactive children are introduced."
67
+ },
68
+ "dos": [
69
+ "Apply the base class 'collapsible' on the root element.",
70
+ "Use documented modifiers for visual variants instead of ad-hoc custom classes.",
71
+ "Keep semantic color usage aligned with token classes for light/dark support."
72
+ ],
73
+ "donts": [
74
+ "Do not combine conflicting state classes on the same element.",
75
+ "Do not rely on undocumented internal classes in production templates.",
76
+ "Do not remove required accessibility attributes when component is interactive."
77
+ ],
78
+ "tokenUsage": [
79
+ "line-default",
80
+ "text-default",
81
+ "text-secondary",
82
+ "text-tertiary"
83
+ ],
84
+ "examples": [
85
+ {
86
+ "id": "canonical",
87
+ "file": "examples/collapsible.html",
88
+ "description": "Minimal canonical Collapsible 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
+ }
@@ -0,0 +1,79 @@
1
+ {
2
+ "id": "color-palette",
3
+ "name": "Color palette",
4
+ "status": "stable",
5
+ "summary": "Explore our comprehensive color system featuring semantic color tokens, brand colors, and design variables that ensure consistent and accessible interfaces across light and dark themes.",
6
+ "keywords": [
7
+ "brand colors",
8
+ "color palette",
9
+ "color system",
10
+ "color tokens",
11
+ "color variables",
12
+ "color-palette",
13
+ "colors",
14
+ "design tokens",
15
+ "palette",
16
+ "semantic colors",
17
+ "theme"
18
+ ],
19
+ "sourcePaths": [
20
+ "app/design-system/color-palette/page.js"
21
+ ],
22
+ "apiModel": "html-class",
23
+ "baseClass": "color-palette",
24
+ "variants": [],
25
+ "sizes": [],
26
+ "states": [],
27
+ "structure": {
28
+ "rootElement": "div",
29
+ "requiredClasses": [
30
+ "color-palette"
31
+ ],
32
+ "optionalClasses": [],
33
+ "requiredChildren": [],
34
+ "optionalChildren": []
35
+ },
36
+ "attributes": {
37
+ "allowed": [
38
+ "class"
39
+ ],
40
+ "required": [],
41
+ "dataAttributes": [],
42
+ "roles": [],
43
+ "aria": []
44
+ },
45
+ "a11y": {
46
+ "interactive": false,
47
+ "requiredRoles": [],
48
+ "requiredAria": [],
49
+ "keyboardSupport": [],
50
+ "focusBehavior": "No keyboard interaction is required unless nested interactive children are introduced."
51
+ },
52
+ "dos": [
53
+ "Apply the base class 'color-palette' on the root element.",
54
+ "Use documented modifiers for visual variants instead of ad-hoc custom classes.",
55
+ "Keep semantic color usage aligned with token classes for light/dark support."
56
+ ],
57
+ "donts": [
58
+ "Do not combine conflicting state classes on the same element.",
59
+ "Do not rely on undocumented internal classes in production templates.",
60
+ "Do not remove required accessibility attributes when component is interactive."
61
+ ],
62
+ "tokenUsage": [],
63
+ "examples": [
64
+ {
65
+ "id": "canonical",
66
+ "file": "examples/color-palette.html",
67
+ "description": "Minimal canonical Color palette usage."
68
+ }
69
+ ],
70
+ "composition": {
71
+ "patterns": [],
72
+ "relatedComponents": [],
73
+ "notes": []
74
+ },
75
+ "breakingChangePolicy": {
76
+ "classContract": "Base class, documented modifiers, and state class names are semver-protected for consumer markup.",
77
+ "a11yContract": "Documented role and aria requirements are semver-protected for generated markup."
78
+ }
79
+ }