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.
- package/README.md +105 -0
- package/llm/CHANGELOG.md +7 -0
- package/llm/components/ai-background.json +90 -0
- package/llm/components/ai-orb.json +91 -0
- package/llm/components/ai-perl.json +91 -0
- package/llm/components/all-components.json +104 -0
- package/llm/components/animation-references.json +84 -0
- package/llm/components/avatar.json +149 -0
- package/llm/components/badge.json +263 -0
- package/llm/components/banner-marketplace.json +81 -0
- package/llm/components/banner.json +120 -0
- package/llm/components/breadcrumb.json +169 -0
- package/llm/components/button-container.json +150 -0
- package/llm/components/button-feedback.json +155 -0
- package/llm/components/button.json +290 -0
- package/llm/components/card-assessment.json +93 -0
- package/llm/components/card-test.json +83 -0
- package/llm/components/card.json +94 -0
- package/llm/components/chat.json +155 -0
- package/llm/components/checkbox.json +186 -0
- package/llm/components/checkmark.json +175 -0
- package/llm/components/collapsible.json +100 -0
- package/llm/components/color-palette.json +79 -0
- package/llm/components/color-usage.json +83 -0
- package/llm/components/combobox.json +143 -0
- package/llm/components/command-palette.json +159 -0
- package/llm/components/countdown.json +113 -0
- package/llm/components/datepicker.json +151 -0
- package/llm/components/divider.json +104 -0
- package/llm/components/empty-state.json +80 -0
- package/llm/components/field.json +123 -0
- package/llm/components/fieldset.json +78 -0
- package/llm/components/file-upload.json +163 -0
- package/llm/components/form-example.json +82 -0
- package/llm/components/getting-started.json +70 -0
- package/llm/components/icons-reference.json +78 -0
- package/llm/components/illustrations-library.json +78 -0
- package/llm/components/input-group.json +94 -0
- package/llm/components/introduction.json +71 -0
- package/llm/components/join.json +105 -0
- package/llm/components/kbd.json +139 -0
- package/llm/components/key-value.json +86 -0
- package/llm/components/link.json +120 -0
- package/llm/components/loader.json +117 -0
- package/llm/components/logotype.json +75 -0
- package/llm/components/menu.json +192 -0
- package/llm/components/modal.json +167 -0
- package/llm/components/navbar.json +158 -0
- package/llm/components/pagination.json +122 -0
- package/llm/components/pie-chart.json +94 -0
- package/llm/components/popover.json +174 -0
- package/llm/components/progress-bullet.json +203 -0
- package/llm/components/progress-linear.json +129 -0
- package/llm/components/progress-radial.json +125 -0
- package/llm/components/radio.json +162 -0
- package/llm/components/range-slider.json +125 -0
- package/llm/components/scrollbar.json +96 -0
- package/llm/components/select-input.json +224 -0
- package/llm/components/shadows.json +107 -0
- package/llm/components/skeleton.json +84 -0
- package/llm/components/stacked-chart.json +100 -0
- package/llm/components/state.json +138 -0
- package/llm/components/stepper.json +95 -0
- package/llm/components/steps.json +177 -0
- package/llm/components/surface.json +181 -0
- package/llm/components/table.json +223 -0
- package/llm/components/tabs.json +147 -0
- package/llm/components/template-ai.json +80 -0
- package/llm/components/template-login.json +88 -0
- package/llm/components/template-stats.json +76 -0
- package/llm/components/text-input.json +275 -0
- package/llm/components/textarea.json +183 -0
- package/llm/components/timeline.json +142 -0
- package/llm/components/toast.json +164 -0
- package/llm/components/toggle.json +158 -0
- package/llm/components/tool-svg-to-base64.json +78 -0
- package/llm/components/tool-svg-to-icon-data.json +81 -0
- package/llm/components/tooltip.json +90 -0
- package/llm/examples/ai-background.html +1 -0
- package/llm/examples/ai-orb.html +1 -0
- package/llm/examples/ai-perl.html +1 -0
- package/llm/examples/all-components.html +1 -0
- package/llm/examples/animation-references.html +1 -0
- package/llm/examples/avatar.html +1 -0
- package/llm/examples/badge.html +1 -0
- package/llm/examples/banner-marketplace.html +1 -0
- package/llm/examples/banner.html +1 -0
- package/llm/examples/breadcrumb.html +1 -0
- package/llm/examples/button-container.html +1 -0
- package/llm/examples/button-feedback.html +1 -0
- package/llm/examples/button.html +3 -0
- package/llm/examples/card-assessment.html +1 -0
- package/llm/examples/card-test.html +1 -0
- package/llm/examples/card.html +1 -0
- package/llm/examples/chat.html +1 -0
- package/llm/examples/checkbox.html +1 -0
- package/llm/examples/checkmark.html +1 -0
- package/llm/examples/collapsible.html +1 -0
- package/llm/examples/color-palette.html +1 -0
- package/llm/examples/color-usage.html +1 -0
- package/llm/examples/combobox.html +1 -0
- package/llm/examples/command-palette.html +1 -0
- package/llm/examples/countdown.html +1 -0
- package/llm/examples/datepicker.html +1 -0
- package/llm/examples/divider.html +1 -0
- package/llm/examples/empty-state.html +1 -0
- package/llm/examples/field.html +1 -0
- package/llm/examples/fieldset.html +1 -0
- package/llm/examples/file-upload.html +1 -0
- package/llm/examples/form-example.html +1 -0
- package/llm/examples/getting-started.html +1 -0
- package/llm/examples/icons-reference.html +1 -0
- package/llm/examples/illustrations-library.html +1 -0
- package/llm/examples/input-group.html +1 -0
- package/llm/examples/introduction.html +1 -0
- package/llm/examples/join.html +1 -0
- package/llm/examples/kbd.html +1 -0
- package/llm/examples/key-value.html +1 -0
- package/llm/examples/link.html +1 -0
- package/llm/examples/loader.html +1 -0
- package/llm/examples/logotype.html +1 -0
- package/llm/examples/menu.html +1 -0
- package/llm/examples/modal.html +16 -0
- package/llm/examples/navbar.html +1 -0
- package/llm/examples/pagination.html +1 -0
- package/llm/examples/pie-chart.html +1 -0
- package/llm/examples/popover.html +1 -0
- package/llm/examples/progress-bullet.html +1 -0
- package/llm/examples/progress-linear.html +1 -0
- package/llm/examples/progress-radial.html +1 -0
- package/llm/examples/radio.html +1 -0
- package/llm/examples/range-slider.html +1 -0
- package/llm/examples/scrollbar.html +1 -0
- package/llm/examples/select-input.html +1 -0
- package/llm/examples/shadows.html +1 -0
- package/llm/examples/skeleton.html +1 -0
- package/llm/examples/stacked-chart.html +1 -0
- package/llm/examples/state.html +1 -0
- package/llm/examples/stepper.html +1 -0
- package/llm/examples/steps.html +1 -0
- package/llm/examples/surface.html +1 -0
- package/llm/examples/table.html +16 -0
- package/llm/examples/tabs.html +1 -0
- package/llm/examples/template-ai.html +1 -0
- package/llm/examples/template-login.html +1 -0
- package/llm/examples/template-stats.html +1 -0
- package/llm/examples/text-input.html +10 -0
- package/llm/examples/textarea.html +1 -0
- package/llm/examples/timeline.html +1 -0
- package/llm/examples/toast.html +5 -0
- package/llm/examples/toggle.html +1 -0
- package/llm/examples/tool-svg-to-base64.html +1 -0
- package/llm/examples/tool-svg-to-icon-data.html +1 -0
- package/llm/examples/tooltip.html +1 -0
- package/llm/index.json +1615 -0
- package/llm/llms.txt +18 -0
- package/llm/patterns.json +111 -0
- package/llm/rules.json +47 -0
- package/llm/schema.json +804 -0
- package/llm/tokens.json +3629 -0
- package/package.json +30 -0
- package/styles/ai.css +114 -0
- package/styles/animation.css +2493 -0
- package/styles/avatar.css +101 -0
- package/styles/background-ai.css +118 -0
- package/styles/badge.css +274 -0
- package/styles/banner.css +98 -0
- package/styles/breadcrumb.css +72 -0
- package/styles/button.css +621 -0
- package/styles/card.css +27 -0
- package/styles/chart-pie.css +39 -0
- package/styles/chart-stacked.css +91 -0
- package/styles/chat.css +506 -0
- package/styles/checkmark.css +105 -0
- package/styles/code.css +264 -0
- package/styles/collapsible.css +93 -0
- package/styles/colors.css +536 -0
- package/styles/combobox.css +66 -0
- package/styles/command.css +81 -0
- package/styles/contest.css +227 -0
- package/styles/countdown.css +65 -0
- package/styles/datepicker.css +124 -0
- package/styles/divider.css +72 -0
- package/styles/drawer.css +142 -0
- package/styles/dropdown.css +22 -0
- package/styles/empty-state.css +48 -0
- package/styles/field.css +47 -0
- package/styles/fieldset.css +24 -0
- package/styles/form-checkbox-radio-toggle.css +233 -0
- package/styles/form-fileupload.css +146 -0
- package/styles/form-rangeslider.css +106 -0
- package/styles/form-shared.css +41 -0
- package/styles/form-text-select.css +411 -0
- package/styles/form.css +86 -0
- package/styles/globals.css +66 -0
- package/styles/input-group.css +63 -0
- package/styles/join.css +141 -0
- package/styles/kbd.css +55 -0
- package/styles/key-value.css +44 -0
- package/styles/link.css +48 -0
- package/styles/loader.css +183 -0
- package/styles/logotype.css +13 -0
- package/styles/menu.css +317 -0
- package/styles/modal.css +172 -0
- package/styles/navbar.css +48 -0
- package/styles/package-quill.css +1001 -0
- package/styles/pagination.css +147 -0
- package/styles/panel.css +113 -0
- package/styles/popover.css +303 -0
- package/styles/prism.css +60 -0
- package/styles/progress.css +209 -0
- package/styles/scrollbar.css +17 -0
- package/styles/shadow.css +25 -0
- package/styles/shared.css +226 -0
- package/styles/skeleton.css +34 -0
- package/styles/state.css +150 -0
- package/styles/stepper.css +72 -0
- package/styles/steps.css +98 -0
- package/styles/surface.css +252 -0
- package/styles/tab.css +286 -0
- package/styles/table.css +243 -0
- package/styles/theme.css +126 -0
- package/styles/timeline.css +193 -0
- package/styles/toast.css +150 -0
- package/styles/tooltip.css +8 -0
- package/styles/typography.css +160 -0
- package/styles/utility.css +20 -0
- package/tailwind.config.cjs +9 -0
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "button",
|
|
3
|
+
"name": "Button",
|
|
4
|
+
"status": "stable",
|
|
5
|
+
"summary": "Interactive button component with various styles and sizes.",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"action",
|
|
8
|
+
"button",
|
|
9
|
+
"cancel",
|
|
10
|
+
"click",
|
|
11
|
+
"close",
|
|
12
|
+
"confirm",
|
|
13
|
+
"cta",
|
|
14
|
+
"delete",
|
|
15
|
+
"disabled",
|
|
16
|
+
"edit",
|
|
17
|
+
"enabled",
|
|
18
|
+
"focus",
|
|
19
|
+
"hover",
|
|
20
|
+
"interactive",
|
|
21
|
+
"pressed",
|
|
22
|
+
"primary",
|
|
23
|
+
"save",
|
|
24
|
+
"secondary",
|
|
25
|
+
"submit"
|
|
26
|
+
],
|
|
27
|
+
"sourcePaths": [
|
|
28
|
+
"app/design-system/button/page.js",
|
|
29
|
+
"assets/styles/badge.css",
|
|
30
|
+
"assets/styles/button.css",
|
|
31
|
+
"assets/styles/card.css",
|
|
32
|
+
"assets/styles/chat.css",
|
|
33
|
+
"assets/styles/form-text-select.css",
|
|
34
|
+
"assets/styles/join.css",
|
|
35
|
+
"assets/styles/shared.css",
|
|
36
|
+
"assets/styles/table.css",
|
|
37
|
+
"assets/styles/toast.css"
|
|
38
|
+
],
|
|
39
|
+
"apiModel": "html-class",
|
|
40
|
+
"baseClass": "button",
|
|
41
|
+
"variants": [
|
|
42
|
+
{
|
|
43
|
+
"name": "button-primary",
|
|
44
|
+
"className": "button-primary",
|
|
45
|
+
"description": "Primary button style"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "button-secondary",
|
|
49
|
+
"className": "button-secondary",
|
|
50
|
+
"description": "Secondary button style"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"name": "button-tertiary",
|
|
54
|
+
"className": "button-tertiary",
|
|
55
|
+
"description": "Tertiary button style"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"name": "button-plain",
|
|
59
|
+
"className": "button-plain",
|
|
60
|
+
"description": "Plain button style without background"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"name": "button-destructive",
|
|
64
|
+
"className": "button-destructive",
|
|
65
|
+
"description": "Destructive action button style"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"name": "button-discreet",
|
|
69
|
+
"className": "button-discreet",
|
|
70
|
+
"description": "Discreet button style with minimal visual impact"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"name": "button-menu",
|
|
74
|
+
"className": "button-menu",
|
|
75
|
+
"description": "Menu button style"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "button-sso",
|
|
79
|
+
"className": "button-sso",
|
|
80
|
+
"description": "Single sign-on button style"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"name": "button-close",
|
|
84
|
+
"className": "button-close",
|
|
85
|
+
"description": "Close button style with X icon"
|
|
86
|
+
}
|
|
87
|
+
],
|
|
88
|
+
"sizes": [
|
|
89
|
+
{
|
|
90
|
+
"name": "button-xs",
|
|
91
|
+
"className": "button-xs",
|
|
92
|
+
"description": "Extra small button size"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"name": "button-sm",
|
|
96
|
+
"className": "button-sm",
|
|
97
|
+
"description": "Small button size"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"name": "button-lg",
|
|
101
|
+
"className": "button-lg",
|
|
102
|
+
"description": "Large button size"
|
|
103
|
+
}
|
|
104
|
+
],
|
|
105
|
+
"states": [
|
|
106
|
+
{
|
|
107
|
+
"name": "is-loading",
|
|
108
|
+
"className": "is-loading",
|
|
109
|
+
"description": "Shows loading spinner state"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"name": "is-charging",
|
|
113
|
+
"className": "is-charging",
|
|
114
|
+
"description": "Shows charging animation state"
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"name": "is-charging-done",
|
|
118
|
+
"className": "is-charging-done",
|
|
119
|
+
"description": "Shows completed charging state"
|
|
120
|
+
}
|
|
121
|
+
],
|
|
122
|
+
"structure": {
|
|
123
|
+
"rootElement": "button",
|
|
124
|
+
"requiredClasses": [
|
|
125
|
+
"button"
|
|
126
|
+
],
|
|
127
|
+
"optionalClasses": [
|
|
128
|
+
"button-primary",
|
|
129
|
+
"button-secondary",
|
|
130
|
+
"button-tertiary",
|
|
131
|
+
"button-plain",
|
|
132
|
+
"button-destructive",
|
|
133
|
+
"button-discreet",
|
|
134
|
+
"button-menu",
|
|
135
|
+
"button-sso",
|
|
136
|
+
"button-close",
|
|
137
|
+
"button-xs",
|
|
138
|
+
"button-sm",
|
|
139
|
+
"button-lg",
|
|
140
|
+
"is-loading",
|
|
141
|
+
"is-charging",
|
|
142
|
+
"is-charging-done"
|
|
143
|
+
],
|
|
144
|
+
"requiredChildren": [],
|
|
145
|
+
"optionalChildren": []
|
|
146
|
+
},
|
|
147
|
+
"attributes": {
|
|
148
|
+
"allowed": [
|
|
149
|
+
"class",
|
|
150
|
+
"type",
|
|
151
|
+
"disabled",
|
|
152
|
+
"aria-label",
|
|
153
|
+
"aria-pressed",
|
|
154
|
+
"data-feedback",
|
|
155
|
+
"data-feedback-icon"
|
|
156
|
+
],
|
|
157
|
+
"required": [
|
|
158
|
+
"type"
|
|
159
|
+
],
|
|
160
|
+
"dataAttributes": [
|
|
161
|
+
"data-feedback",
|
|
162
|
+
"data-feedback-icon"
|
|
163
|
+
],
|
|
164
|
+
"roles": [],
|
|
165
|
+
"aria": [
|
|
166
|
+
"aria-label",
|
|
167
|
+
"aria-pressed"
|
|
168
|
+
]
|
|
169
|
+
},
|
|
170
|
+
"a11y": {
|
|
171
|
+
"interactive": true,
|
|
172
|
+
"requiredRoles": [],
|
|
173
|
+
"requiredAria": [
|
|
174
|
+
"aria-label (required when icon-only)"
|
|
175
|
+
],
|
|
176
|
+
"keyboardSupport": [
|
|
177
|
+
"Tab",
|
|
178
|
+
"Shift+Tab",
|
|
179
|
+
"Enter",
|
|
180
|
+
"Space"
|
|
181
|
+
],
|
|
182
|
+
"focusBehavior": "Buttons must expose visible focus indicators and preserve native keyboard activation semantics."
|
|
183
|
+
},
|
|
184
|
+
"dos": [
|
|
185
|
+
"Use `button-primary` for the default call-to-action and `button-secondary` for secondary actions.",
|
|
186
|
+
"Provide `aria-label` whenever the button only renders an icon.",
|
|
187
|
+
"Use loading or charging states to prevent duplicate submissions while async actions run."
|
|
188
|
+
],
|
|
189
|
+
"donts": [
|
|
190
|
+
"Do not put multiple primary buttons in the same compact action group.",
|
|
191
|
+
"Do not disable focus outlines on keyboard-accessible actions.",
|
|
192
|
+
"Do not use button classes on non-interactive containers."
|
|
193
|
+
],
|
|
194
|
+
"tokenUsage": [
|
|
195
|
+
"background-attention-active",
|
|
196
|
+
"background-brand",
|
|
197
|
+
"background-brand-active",
|
|
198
|
+
"background-error",
|
|
199
|
+
"background-error-active",
|
|
200
|
+
"background-info",
|
|
201
|
+
"background-info-active",
|
|
202
|
+
"background-inverted",
|
|
203
|
+
"background-neutral",
|
|
204
|
+
"background-page",
|
|
205
|
+
"background-success",
|
|
206
|
+
"background-success-active",
|
|
207
|
+
"background-surface",
|
|
208
|
+
"background-surface-elevated",
|
|
209
|
+
"background-surface-sunken",
|
|
210
|
+
"background-warning",
|
|
211
|
+
"background-warning-active",
|
|
212
|
+
"brand-default",
|
|
213
|
+
"brand-moderate",
|
|
214
|
+
"brand-strong",
|
|
215
|
+
"core-black",
|
|
216
|
+
"core-green-100",
|
|
217
|
+
"core-green-200",
|
|
218
|
+
"core-green-50",
|
|
219
|
+
"core-green-700",
|
|
220
|
+
"core-green-800",
|
|
221
|
+
"core-green-900",
|
|
222
|
+
"core-orange-100",
|
|
223
|
+
"core-orange-700",
|
|
224
|
+
"core-red-100",
|
|
225
|
+
"core-red-700",
|
|
226
|
+
"core-ui-100",
|
|
227
|
+
"core-ui-200",
|
|
228
|
+
"core-ui-300",
|
|
229
|
+
"core-ui-400",
|
|
230
|
+
"core-ui-50",
|
|
231
|
+
"core-ui-600",
|
|
232
|
+
"core-ui-700",
|
|
233
|
+
"core-ui-800",
|
|
234
|
+
"core-ui-900",
|
|
235
|
+
"core-white",
|
|
236
|
+
"line-brand",
|
|
237
|
+
"line-default",
|
|
238
|
+
"line-error",
|
|
239
|
+
"line-focus",
|
|
240
|
+
"line-highlight",
|
|
241
|
+
"line-info",
|
|
242
|
+
"line-neutral",
|
|
243
|
+
"line-strong",
|
|
244
|
+
"line-success",
|
|
245
|
+
"line-warning",
|
|
246
|
+
"text-attention",
|
|
247
|
+
"text-brand",
|
|
248
|
+
"text-brand-active",
|
|
249
|
+
"text-brand-hover",
|
|
250
|
+
"text-default",
|
|
251
|
+
"text-disabled",
|
|
252
|
+
"text-error",
|
|
253
|
+
"text-info",
|
|
254
|
+
"text-inverted",
|
|
255
|
+
"text-link",
|
|
256
|
+
"text-link-hover",
|
|
257
|
+
"text-neutral",
|
|
258
|
+
"text-secondary",
|
|
259
|
+
"text-success",
|
|
260
|
+
"text-tertiary",
|
|
261
|
+
"text-warning"
|
|
262
|
+
],
|
|
263
|
+
"examples": [
|
|
264
|
+
{
|
|
265
|
+
"id": "canonical",
|
|
266
|
+
"file": "examples/button.html",
|
|
267
|
+
"description": "Minimal canonical Button usage."
|
|
268
|
+
}
|
|
269
|
+
],
|
|
270
|
+
"composition": {
|
|
271
|
+
"patterns": [
|
|
272
|
+
"feedback-and-status",
|
|
273
|
+
"surface-and-content"
|
|
274
|
+
],
|
|
275
|
+
"relatedComponents": [
|
|
276
|
+
"toast",
|
|
277
|
+
"badge",
|
|
278
|
+
"button-feedback",
|
|
279
|
+
"link"
|
|
280
|
+
],
|
|
281
|
+
"notes": [
|
|
282
|
+
"Pair destructive buttons with confirmation flow (modal or inline undo).",
|
|
283
|
+
"Use button feedback states for lightweight success/error messaging."
|
|
284
|
+
]
|
|
285
|
+
},
|
|
286
|
+
"breakingChangePolicy": {
|
|
287
|
+
"classContract": "Base class, documented modifiers, and state class names are semver-protected for consumer markup.",
|
|
288
|
+
"a11yContract": "Documented role and aria requirements are semver-protected for generated markup."
|
|
289
|
+
}
|
|
290
|
+
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "card-assessment",
|
|
3
|
+
"name": "Investor fit card",
|
|
4
|
+
"status": "preview",
|
|
5
|
+
"summary": "A versatile card component for displaying investor-fit insights, outreach criteria, and funding-readiness signals.",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"card",
|
|
8
|
+
"card assessment",
|
|
9
|
+
"card-assessment",
|
|
10
|
+
"criteria",
|
|
11
|
+
"evaluation",
|
|
12
|
+
"feedback",
|
|
13
|
+
"fundraising",
|
|
14
|
+
"investor",
|
|
15
|
+
"investor fit",
|
|
16
|
+
"outreach",
|
|
17
|
+
"pipeline",
|
|
18
|
+
"pitch call",
|
|
19
|
+
"profile",
|
|
20
|
+
"progress",
|
|
21
|
+
"readiness",
|
|
22
|
+
"results",
|
|
23
|
+
"review"
|
|
24
|
+
],
|
|
25
|
+
"sourcePaths": [
|
|
26
|
+
"app/design-system/card-assessment/page.js"
|
|
27
|
+
],
|
|
28
|
+
"apiModel": "html-class",
|
|
29
|
+
"baseClass": "card-assessment",
|
|
30
|
+
"variants": [],
|
|
31
|
+
"sizes": [],
|
|
32
|
+
"states": [],
|
|
33
|
+
"structure": {
|
|
34
|
+
"rootElement": "div",
|
|
35
|
+
"requiredClasses": [
|
|
36
|
+
"card-assessment"
|
|
37
|
+
],
|
|
38
|
+
"optionalClasses": [],
|
|
39
|
+
"requiredChildren": [],
|
|
40
|
+
"optionalChildren": []
|
|
41
|
+
},
|
|
42
|
+
"attributes": {
|
|
43
|
+
"allowed": [
|
|
44
|
+
"class"
|
|
45
|
+
],
|
|
46
|
+
"required": [],
|
|
47
|
+
"dataAttributes": [],
|
|
48
|
+
"roles": [
|
|
49
|
+
"status"
|
|
50
|
+
],
|
|
51
|
+
"aria": [
|
|
52
|
+
"aria-label"
|
|
53
|
+
]
|
|
54
|
+
},
|
|
55
|
+
"a11y": {
|
|
56
|
+
"interactive": false,
|
|
57
|
+
"requiredRoles": [
|
|
58
|
+
"status"
|
|
59
|
+
],
|
|
60
|
+
"requiredAria": [
|
|
61
|
+
"aria-label"
|
|
62
|
+
],
|
|
63
|
+
"keyboardSupport": [],
|
|
64
|
+
"focusBehavior": "No keyboard interaction is required unless nested interactive children are introduced."
|
|
65
|
+
},
|
|
66
|
+
"dos": [
|
|
67
|
+
"Apply the base class 'card-assessment' 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
|
+
"examples": [
|
|
78
|
+
{
|
|
79
|
+
"id": "canonical",
|
|
80
|
+
"file": "examples/card-assessment.html",
|
|
81
|
+
"description": "Minimal canonical Investor fit card usage."
|
|
82
|
+
}
|
|
83
|
+
],
|
|
84
|
+
"composition": {
|
|
85
|
+
"patterns": [],
|
|
86
|
+
"relatedComponents": [],
|
|
87
|
+
"notes": []
|
|
88
|
+
},
|
|
89
|
+
"breakingChangePolicy": {
|
|
90
|
+
"classContract": "Base class, documented modifiers, and state class names are semver-protected for consumer markup.",
|
|
91
|
+
"a11yContract": "Documented role and aria requirements are semver-protected for generated markup."
|
|
92
|
+
}
|
|
93
|
+
}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "card-test",
|
|
3
|
+
"name": "Readiness card",
|
|
4
|
+
"status": "preview",
|
|
5
|
+
"summary": "A versatile card component for tracking fundraising readiness steps and milestone completion.",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"card",
|
|
8
|
+
"card test",
|
|
9
|
+
"card-test",
|
|
10
|
+
"checklist",
|
|
11
|
+
"due diligence",
|
|
12
|
+
"evaluation",
|
|
13
|
+
"feedback",
|
|
14
|
+
"fundraising",
|
|
15
|
+
"go-to-market",
|
|
16
|
+
"investor",
|
|
17
|
+
"pitch deck",
|
|
18
|
+
"profile",
|
|
19
|
+
"progress",
|
|
20
|
+
"readiness",
|
|
21
|
+
"results"
|
|
22
|
+
],
|
|
23
|
+
"sourcePaths": [
|
|
24
|
+
"app/design-system/card-test/page.js"
|
|
25
|
+
],
|
|
26
|
+
"apiModel": "html-class",
|
|
27
|
+
"baseClass": "card-test",
|
|
28
|
+
"variants": [],
|
|
29
|
+
"sizes": [],
|
|
30
|
+
"states": [],
|
|
31
|
+
"structure": {
|
|
32
|
+
"rootElement": "div",
|
|
33
|
+
"requiredClasses": [
|
|
34
|
+
"card-test"
|
|
35
|
+
],
|
|
36
|
+
"optionalClasses": [],
|
|
37
|
+
"requiredChildren": [],
|
|
38
|
+
"optionalChildren": []
|
|
39
|
+
},
|
|
40
|
+
"attributes": {
|
|
41
|
+
"allowed": [
|
|
42
|
+
"class"
|
|
43
|
+
],
|
|
44
|
+
"required": [],
|
|
45
|
+
"dataAttributes": [],
|
|
46
|
+
"roles": [],
|
|
47
|
+
"aria": []
|
|
48
|
+
},
|
|
49
|
+
"a11y": {
|
|
50
|
+
"interactive": false,
|
|
51
|
+
"requiredRoles": [],
|
|
52
|
+
"requiredAria": [],
|
|
53
|
+
"keyboardSupport": [],
|
|
54
|
+
"focusBehavior": "No keyboard interaction is required unless nested interactive children are introduced."
|
|
55
|
+
},
|
|
56
|
+
"dos": [
|
|
57
|
+
"Apply the base class 'card-test' on the root element.",
|
|
58
|
+
"Use documented modifiers for visual variants instead of ad-hoc custom classes.",
|
|
59
|
+
"Keep semantic color usage aligned with token classes for light/dark support."
|
|
60
|
+
],
|
|
61
|
+
"donts": [
|
|
62
|
+
"Do not combine conflicting state classes on the same element.",
|
|
63
|
+
"Do not rely on undocumented internal classes in production templates.",
|
|
64
|
+
"Do not remove required accessibility attributes when component is interactive."
|
|
65
|
+
],
|
|
66
|
+
"tokenUsage": [],
|
|
67
|
+
"examples": [
|
|
68
|
+
{
|
|
69
|
+
"id": "canonical",
|
|
70
|
+
"file": "examples/card-test.html",
|
|
71
|
+
"description": "Minimal canonical Readiness card usage."
|
|
72
|
+
}
|
|
73
|
+
],
|
|
74
|
+
"composition": {
|
|
75
|
+
"patterns": [],
|
|
76
|
+
"relatedComponents": [],
|
|
77
|
+
"notes": []
|
|
78
|
+
},
|
|
79
|
+
"breakingChangePolicy": {
|
|
80
|
+
"classContract": "Base class, documented modifiers, and state class names are semver-protected for consumer markup.",
|
|
81
|
+
"a11yContract": "Documented role and aria requirements are semver-protected for generated markup."
|
|
82
|
+
}
|
|
83
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "card",
|
|
3
|
+
"name": "Card",
|
|
4
|
+
"status": "stable",
|
|
5
|
+
"summary": "Card is used to display content in a container with a border and padding.",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"block",
|
|
8
|
+
"box",
|
|
9
|
+
"card",
|
|
10
|
+
"container",
|
|
11
|
+
"content",
|
|
12
|
+
"layout",
|
|
13
|
+
"panel",
|
|
14
|
+
"section",
|
|
15
|
+
"surface",
|
|
16
|
+
"wrapper"
|
|
17
|
+
],
|
|
18
|
+
"sourcePaths": [
|
|
19
|
+
"app/design-system/card/page.js",
|
|
20
|
+
"assets/styles/card.css",
|
|
21
|
+
"assets/styles/drawer.css"
|
|
22
|
+
],
|
|
23
|
+
"apiModel": "html-class",
|
|
24
|
+
"baseClass": "card",
|
|
25
|
+
"variants": [
|
|
26
|
+
{
|
|
27
|
+
"name": "card-default",
|
|
28
|
+
"className": "card-default",
|
|
29
|
+
"description": "Default card style"
|
|
30
|
+
}
|
|
31
|
+
],
|
|
32
|
+
"sizes": [],
|
|
33
|
+
"states": [],
|
|
34
|
+
"structure": {
|
|
35
|
+
"rootElement": "div",
|
|
36
|
+
"requiredClasses": [
|
|
37
|
+
"card"
|
|
38
|
+
],
|
|
39
|
+
"optionalClasses": [
|
|
40
|
+
"card-default"
|
|
41
|
+
],
|
|
42
|
+
"requiredChildren": [],
|
|
43
|
+
"optionalChildren": []
|
|
44
|
+
},
|
|
45
|
+
"attributes": {
|
|
46
|
+
"allowed": [
|
|
47
|
+
"class"
|
|
48
|
+
],
|
|
49
|
+
"required": [],
|
|
50
|
+
"dataAttributes": [],
|
|
51
|
+
"roles": [],
|
|
52
|
+
"aria": []
|
|
53
|
+
},
|
|
54
|
+
"a11y": {
|
|
55
|
+
"interactive": false,
|
|
56
|
+
"requiredRoles": [],
|
|
57
|
+
"requiredAria": [],
|
|
58
|
+
"keyboardSupport": [],
|
|
59
|
+
"focusBehavior": "No keyboard interaction is required unless nested interactive children are introduced."
|
|
60
|
+
},
|
|
61
|
+
"dos": [
|
|
62
|
+
"Apply the base class 'card' on the root element.",
|
|
63
|
+
"Use documented modifiers for visual variants instead of ad-hoc custom classes.",
|
|
64
|
+
"Keep semantic color usage aligned with token classes for light/dark support."
|
|
65
|
+
],
|
|
66
|
+
"donts": [
|
|
67
|
+
"Do not combine conflicting state classes on the same element.",
|
|
68
|
+
"Do not rely on undocumented internal classes in production templates.",
|
|
69
|
+
"Do not remove required accessibility attributes when component is interactive."
|
|
70
|
+
],
|
|
71
|
+
"tokenUsage": [
|
|
72
|
+
"background-surface",
|
|
73
|
+
"line-default",
|
|
74
|
+
"line-strong"
|
|
75
|
+
],
|
|
76
|
+
"examples": [
|
|
77
|
+
{
|
|
78
|
+
"id": "canonical",
|
|
79
|
+
"file": "examples/card.html",
|
|
80
|
+
"description": "Minimal canonical Card usage."
|
|
81
|
+
}
|
|
82
|
+
],
|
|
83
|
+
"composition": {
|
|
84
|
+
"patterns": [
|
|
85
|
+
"surface-and-content"
|
|
86
|
+
],
|
|
87
|
+
"relatedComponents": [],
|
|
88
|
+
"notes": []
|
|
89
|
+
},
|
|
90
|
+
"breakingChangePolicy": {
|
|
91
|
+
"classContract": "Base class, documented modifiers, and state class names are semver-protected for consumer markup.",
|
|
92
|
+
"a11yContract": "Documented role and aria requirements are semver-protected for generated markup."
|
|
93
|
+
}
|
|
94
|
+
}
|