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,149 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "avatar",
|
|
3
|
+
"name": "Avatar",
|
|
4
|
+
"status": "stable",
|
|
5
|
+
"summary": "Avatar component for displaying user profile images with various styles and states.",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"account",
|
|
8
|
+
"avatar",
|
|
9
|
+
"face",
|
|
10
|
+
"headshot",
|
|
11
|
+
"icon",
|
|
12
|
+
"identity",
|
|
13
|
+
"image",
|
|
14
|
+
"person",
|
|
15
|
+
"photo",
|
|
16
|
+
"picture",
|
|
17
|
+
"portrait",
|
|
18
|
+
"profile",
|
|
19
|
+
"thumbnail",
|
|
20
|
+
"user"
|
|
21
|
+
],
|
|
22
|
+
"sourcePaths": [
|
|
23
|
+
"app/design-system/avatar/page.js",
|
|
24
|
+
"assets/styles/avatar.css",
|
|
25
|
+
"assets/styles/button.css",
|
|
26
|
+
"assets/styles/chart-stacked.css",
|
|
27
|
+
"assets/styles/chat.css",
|
|
28
|
+
"assets/styles/menu.css"
|
|
29
|
+
],
|
|
30
|
+
"apiModel": "html-class",
|
|
31
|
+
"baseClass": "avatar",
|
|
32
|
+
"variants": [
|
|
33
|
+
{
|
|
34
|
+
"name": "online",
|
|
35
|
+
"className": "online",
|
|
36
|
+
"description": "Shows a green dot as online indicator"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"name": "offline",
|
|
40
|
+
"className": "offline",
|
|
41
|
+
"description": "Shows a gray dot as offline indicator"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"name": "placeholder",
|
|
45
|
+
"className": "placeholder",
|
|
46
|
+
"description": "Shows letters as avatar placeholder"
|
|
47
|
+
}
|
|
48
|
+
],
|
|
49
|
+
"sizes": [],
|
|
50
|
+
"states": [],
|
|
51
|
+
"structure": {
|
|
52
|
+
"rootElement": "div",
|
|
53
|
+
"requiredClasses": [
|
|
54
|
+
"avatar"
|
|
55
|
+
],
|
|
56
|
+
"optionalClasses": [
|
|
57
|
+
"online",
|
|
58
|
+
"offline",
|
|
59
|
+
"placeholder"
|
|
60
|
+
],
|
|
61
|
+
"requiredChildren": [],
|
|
62
|
+
"optionalChildren": []
|
|
63
|
+
},
|
|
64
|
+
"attributes": {
|
|
65
|
+
"allowed": [
|
|
66
|
+
"class"
|
|
67
|
+
],
|
|
68
|
+
"required": [],
|
|
69
|
+
"dataAttributes": [],
|
|
70
|
+
"roles": [],
|
|
71
|
+
"aria": []
|
|
72
|
+
},
|
|
73
|
+
"a11y": {
|
|
74
|
+
"interactive": false,
|
|
75
|
+
"requiredRoles": [],
|
|
76
|
+
"requiredAria": [],
|
|
77
|
+
"keyboardSupport": [],
|
|
78
|
+
"focusBehavior": "No keyboard interaction is required unless nested interactive children are introduced."
|
|
79
|
+
},
|
|
80
|
+
"dos": [
|
|
81
|
+
"Apply the base class 'avatar' on the root element.",
|
|
82
|
+
"Use documented modifiers for visual variants instead of ad-hoc custom classes.",
|
|
83
|
+
"Keep semantic color usage aligned with token classes for light/dark support."
|
|
84
|
+
],
|
|
85
|
+
"donts": [
|
|
86
|
+
"Do not combine conflicting state classes on the same element.",
|
|
87
|
+
"Do not rely on undocumented internal classes in production templates.",
|
|
88
|
+
"Do not remove required accessibility attributes when component is interactive."
|
|
89
|
+
],
|
|
90
|
+
"tokenUsage": [
|
|
91
|
+
"background-brand",
|
|
92
|
+
"background-brand-active",
|
|
93
|
+
"background-error",
|
|
94
|
+
"background-error-active",
|
|
95
|
+
"background-inverted",
|
|
96
|
+
"background-neutral",
|
|
97
|
+
"background-neutral-active",
|
|
98
|
+
"background-page",
|
|
99
|
+
"background-success-active",
|
|
100
|
+
"background-surface",
|
|
101
|
+
"background-surface-elevated",
|
|
102
|
+
"background-surface-sunken",
|
|
103
|
+
"brand-default",
|
|
104
|
+
"brand-strong",
|
|
105
|
+
"core-black",
|
|
106
|
+
"core-green-100",
|
|
107
|
+
"core-green-300",
|
|
108
|
+
"core-ui-100",
|
|
109
|
+
"core-ui-400",
|
|
110
|
+
"core-ui-800",
|
|
111
|
+
"core-white",
|
|
112
|
+
"line-brand",
|
|
113
|
+
"line-default",
|
|
114
|
+
"line-error",
|
|
115
|
+
"line-strong",
|
|
116
|
+
"line-subtle",
|
|
117
|
+
"text-attention",
|
|
118
|
+
"text-brand",
|
|
119
|
+
"text-brand-active",
|
|
120
|
+
"text-brand-hover",
|
|
121
|
+
"text-default",
|
|
122
|
+
"text-disabled",
|
|
123
|
+
"text-error",
|
|
124
|
+
"text-inverted",
|
|
125
|
+
"text-link",
|
|
126
|
+
"text-link-hover",
|
|
127
|
+
"text-secondary",
|
|
128
|
+
"text-success",
|
|
129
|
+
"text-tertiary"
|
|
130
|
+
],
|
|
131
|
+
"examples": [
|
|
132
|
+
{
|
|
133
|
+
"id": "canonical",
|
|
134
|
+
"file": "examples/avatar.html",
|
|
135
|
+
"description": "Minimal canonical Avatar usage."
|
|
136
|
+
}
|
|
137
|
+
],
|
|
138
|
+
"composition": {
|
|
139
|
+
"patterns": [
|
|
140
|
+
"surface-and-content"
|
|
141
|
+
],
|
|
142
|
+
"relatedComponents": [],
|
|
143
|
+
"notes": []
|
|
144
|
+
},
|
|
145
|
+
"breakingChangePolicy": {
|
|
146
|
+
"classContract": "Base class, documented modifiers, and state class names are semver-protected for consumer markup.",
|
|
147
|
+
"a11yContract": "Documented role and aria requirements are semver-protected for generated markup."
|
|
148
|
+
}
|
|
149
|
+
}
|
|
@@ -0,0 +1,263 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "badge",
|
|
3
|
+
"name": "Badge",
|
|
4
|
+
"status": "stable",
|
|
5
|
+
"summary": "Small status indicators and labels.",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"badge",
|
|
8
|
+
"chip",
|
|
9
|
+
"counter",
|
|
10
|
+
"dot",
|
|
11
|
+
"flag",
|
|
12
|
+
"highlight",
|
|
13
|
+
"indicator",
|
|
14
|
+
"label",
|
|
15
|
+
"marker",
|
|
16
|
+
"notification",
|
|
17
|
+
"pill",
|
|
18
|
+
"status",
|
|
19
|
+
"tag"
|
|
20
|
+
],
|
|
21
|
+
"sourcePaths": [
|
|
22
|
+
"app/design-system/badge/page.js",
|
|
23
|
+
"assets/styles/badge.css",
|
|
24
|
+
"assets/styles/button.css",
|
|
25
|
+
"assets/styles/contest.css",
|
|
26
|
+
"assets/styles/form-text-select.css",
|
|
27
|
+
"assets/styles/shared.css"
|
|
28
|
+
],
|
|
29
|
+
"apiModel": "html-class",
|
|
30
|
+
"baseClass": "badge",
|
|
31
|
+
"variants": [
|
|
32
|
+
{
|
|
33
|
+
"name": "badge-placeholder",
|
|
34
|
+
"className": "badge-placeholder",
|
|
35
|
+
"description": "Placeholder badge style"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"name": "badge-neutral",
|
|
39
|
+
"className": "badge-neutral",
|
|
40
|
+
"description": "Neutral badge style"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"name": "badge-success",
|
|
44
|
+
"className": "badge-success",
|
|
45
|
+
"description": "Success badge style"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"name": "badge-error",
|
|
49
|
+
"className": "badge-error",
|
|
50
|
+
"description": "Error badge style"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"name": "badge-warning",
|
|
54
|
+
"className": "badge-warning",
|
|
55
|
+
"description": "Warning badge style"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"name": "badge-info",
|
|
59
|
+
"className": "badge-info",
|
|
60
|
+
"description": "Info badge style"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"name": "badge-attention",
|
|
64
|
+
"className": "badge-attention",
|
|
65
|
+
"description": "Attention badge style"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"name": "badge-brand",
|
|
69
|
+
"className": "badge-brand",
|
|
70
|
+
"description": "Brand badge style"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"name": "badge-filled",
|
|
74
|
+
"className": "badge-filled",
|
|
75
|
+
"description": "Filled badge style variant"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "badge-interactive",
|
|
79
|
+
"className": "badge-interactive",
|
|
80
|
+
"description": "Interactive/clickable badge style"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"name": "badge-status-undefined",
|
|
84
|
+
"className": "badge-status-undefined",
|
|
85
|
+
"description": "Status badge - no data"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"name": "badge-status-verylow",
|
|
89
|
+
"className": "badge-status-verylow",
|
|
90
|
+
"description": "Status badge - very low"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"name": "badge-status-low",
|
|
94
|
+
"className": "badge-status-low",
|
|
95
|
+
"description": "Status badge - low"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"name": "badge-status-high",
|
|
99
|
+
"className": "badge-status-high",
|
|
100
|
+
"description": "Status badge - high"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"name": "badge-status-veryhigh",
|
|
104
|
+
"className": "badge-status-veryhigh",
|
|
105
|
+
"description": "Status badge - very high"
|
|
106
|
+
}
|
|
107
|
+
],
|
|
108
|
+
"sizes": [
|
|
109
|
+
{
|
|
110
|
+
"name": "badge-sm",
|
|
111
|
+
"className": "badge-sm",
|
|
112
|
+
"description": "Small badge size"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"name": "badge-lg",
|
|
116
|
+
"className": "badge-lg",
|
|
117
|
+
"description": "Large badge size"
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"name": "badge-status-medium",
|
|
121
|
+
"className": "badge-status-medium",
|
|
122
|
+
"description": "Status badge - medium"
|
|
123
|
+
}
|
|
124
|
+
],
|
|
125
|
+
"states": [],
|
|
126
|
+
"structure": {
|
|
127
|
+
"rootElement": "div",
|
|
128
|
+
"requiredClasses": [
|
|
129
|
+
"badge"
|
|
130
|
+
],
|
|
131
|
+
"optionalClasses": [
|
|
132
|
+
"badge-placeholder",
|
|
133
|
+
"badge-neutral",
|
|
134
|
+
"badge-success",
|
|
135
|
+
"badge-error",
|
|
136
|
+
"badge-warning",
|
|
137
|
+
"badge-info",
|
|
138
|
+
"badge-attention",
|
|
139
|
+
"badge-brand",
|
|
140
|
+
"badge-filled",
|
|
141
|
+
"badge-interactive",
|
|
142
|
+
"badge-status-undefined",
|
|
143
|
+
"badge-status-verylow",
|
|
144
|
+
"badge-status-low",
|
|
145
|
+
"badge-status-high",
|
|
146
|
+
"badge-status-veryhigh",
|
|
147
|
+
"badge-sm",
|
|
148
|
+
"badge-lg",
|
|
149
|
+
"badge-status-medium"
|
|
150
|
+
],
|
|
151
|
+
"requiredChildren": [],
|
|
152
|
+
"optionalChildren": []
|
|
153
|
+
},
|
|
154
|
+
"attributes": {
|
|
155
|
+
"allowed": [
|
|
156
|
+
"class"
|
|
157
|
+
],
|
|
158
|
+
"required": [],
|
|
159
|
+
"dataAttributes": [],
|
|
160
|
+
"roles": [
|
|
161
|
+
"status"
|
|
162
|
+
],
|
|
163
|
+
"aria": []
|
|
164
|
+
},
|
|
165
|
+
"a11y": {
|
|
166
|
+
"interactive": false,
|
|
167
|
+
"requiredRoles": [
|
|
168
|
+
"status"
|
|
169
|
+
],
|
|
170
|
+
"requiredAria": [],
|
|
171
|
+
"keyboardSupport": [],
|
|
172
|
+
"focusBehavior": "No keyboard interaction is required unless nested interactive children are introduced."
|
|
173
|
+
},
|
|
174
|
+
"dos": [
|
|
175
|
+
"Apply the base class 'badge' on the root element.",
|
|
176
|
+
"Use documented modifiers for visual variants instead of ad-hoc custom classes.",
|
|
177
|
+
"Keep semantic color usage aligned with token classes for light/dark support."
|
|
178
|
+
],
|
|
179
|
+
"donts": [
|
|
180
|
+
"Do not combine conflicting state classes on the same element.",
|
|
181
|
+
"Do not rely on undocumented internal classes in production templates.",
|
|
182
|
+
"Do not remove required accessibility attributes when component is interactive."
|
|
183
|
+
],
|
|
184
|
+
"tokenUsage": [
|
|
185
|
+
"background-attention-active",
|
|
186
|
+
"background-brand",
|
|
187
|
+
"background-brand-active",
|
|
188
|
+
"background-error",
|
|
189
|
+
"background-info",
|
|
190
|
+
"background-inverted",
|
|
191
|
+
"background-neutral",
|
|
192
|
+
"background-success",
|
|
193
|
+
"background-surface",
|
|
194
|
+
"background-surface-elevated",
|
|
195
|
+
"background-surface-sunken",
|
|
196
|
+
"background-warning",
|
|
197
|
+
"brand-default",
|
|
198
|
+
"brand-moderate",
|
|
199
|
+
"brand-strong",
|
|
200
|
+
"core-black",
|
|
201
|
+
"core-green-100",
|
|
202
|
+
"core-green-200",
|
|
203
|
+
"core-green-50",
|
|
204
|
+
"core-green-700",
|
|
205
|
+
"core-green-800",
|
|
206
|
+
"core-green-900",
|
|
207
|
+
"core-orange-100",
|
|
208
|
+
"core-orange-700",
|
|
209
|
+
"core-red-100",
|
|
210
|
+
"core-red-700",
|
|
211
|
+
"core-ui-100",
|
|
212
|
+
"core-ui-200",
|
|
213
|
+
"core-ui-300",
|
|
214
|
+
"core-ui-50",
|
|
215
|
+
"core-ui-600",
|
|
216
|
+
"core-ui-700",
|
|
217
|
+
"core-ui-800",
|
|
218
|
+
"core-ui-900",
|
|
219
|
+
"core-white",
|
|
220
|
+
"line-brand",
|
|
221
|
+
"line-default",
|
|
222
|
+
"line-error",
|
|
223
|
+
"line-focus",
|
|
224
|
+
"line-highlight",
|
|
225
|
+
"line-info",
|
|
226
|
+
"line-neutral",
|
|
227
|
+
"line-strong",
|
|
228
|
+
"line-success",
|
|
229
|
+
"line-warning",
|
|
230
|
+
"text-attention",
|
|
231
|
+
"text-brand",
|
|
232
|
+
"text-brand-active",
|
|
233
|
+
"text-brand-hover",
|
|
234
|
+
"text-default",
|
|
235
|
+
"text-disabled",
|
|
236
|
+
"text-error",
|
|
237
|
+
"text-info",
|
|
238
|
+
"text-inverted",
|
|
239
|
+
"text-neutral",
|
|
240
|
+
"text-secondary",
|
|
241
|
+
"text-success",
|
|
242
|
+
"text-tertiary",
|
|
243
|
+
"text-warning"
|
|
244
|
+
],
|
|
245
|
+
"examples": [
|
|
246
|
+
{
|
|
247
|
+
"id": "canonical",
|
|
248
|
+
"file": "examples/badge.html",
|
|
249
|
+
"description": "Minimal canonical Badge usage."
|
|
250
|
+
}
|
|
251
|
+
],
|
|
252
|
+
"composition": {
|
|
253
|
+
"patterns": [
|
|
254
|
+
"surface-and-content"
|
|
255
|
+
],
|
|
256
|
+
"relatedComponents": [],
|
|
257
|
+
"notes": []
|
|
258
|
+
},
|
|
259
|
+
"breakingChangePolicy": {
|
|
260
|
+
"classContract": "Base class, documented modifiers, and state class names are semver-protected for consumer markup.",
|
|
261
|
+
"a11yContract": "Documented role and aria requirements are semver-protected for generated markup."
|
|
262
|
+
}
|
|
263
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "banner-marketplace",
|
|
3
|
+
"name": "Funding banner",
|
|
4
|
+
"status": "preview",
|
|
5
|
+
"summary": "A marketing banner component designed for promoting fundraising workflows and investor outreach actions.",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"advertisement",
|
|
8
|
+
"alert",
|
|
9
|
+
"announcement",
|
|
10
|
+
"banner",
|
|
11
|
+
"banner marketplace",
|
|
12
|
+
"banner-marketplace",
|
|
13
|
+
"capital raise",
|
|
14
|
+
"fundraising",
|
|
15
|
+
"investor",
|
|
16
|
+
"marketing",
|
|
17
|
+
"message",
|
|
18
|
+
"notification",
|
|
19
|
+
"promotion"
|
|
20
|
+
],
|
|
21
|
+
"sourcePaths": [
|
|
22
|
+
"app/design-system/banner-marketplace/page.js"
|
|
23
|
+
],
|
|
24
|
+
"apiModel": "html-class",
|
|
25
|
+
"baseClass": "banner-marketplace",
|
|
26
|
+
"variants": [],
|
|
27
|
+
"sizes": [],
|
|
28
|
+
"states": [],
|
|
29
|
+
"structure": {
|
|
30
|
+
"rootElement": "div",
|
|
31
|
+
"requiredClasses": [
|
|
32
|
+
"banner-marketplace"
|
|
33
|
+
],
|
|
34
|
+
"optionalClasses": [],
|
|
35
|
+
"requiredChildren": [],
|
|
36
|
+
"optionalChildren": []
|
|
37
|
+
},
|
|
38
|
+
"attributes": {
|
|
39
|
+
"allowed": [
|
|
40
|
+
"class"
|
|
41
|
+
],
|
|
42
|
+
"required": [],
|
|
43
|
+
"dataAttributes": [],
|
|
44
|
+
"roles": [],
|
|
45
|
+
"aria": []
|
|
46
|
+
},
|
|
47
|
+
"a11y": {
|
|
48
|
+
"interactive": false,
|
|
49
|
+
"requiredRoles": [],
|
|
50
|
+
"requiredAria": [],
|
|
51
|
+
"keyboardSupport": [],
|
|
52
|
+
"focusBehavior": "No keyboard interaction is required unless nested interactive children are introduced."
|
|
53
|
+
},
|
|
54
|
+
"dos": [
|
|
55
|
+
"Apply the base class 'banner-marketplace' on the root element.",
|
|
56
|
+
"Use documented modifiers for visual variants instead of ad-hoc custom classes.",
|
|
57
|
+
"Keep semantic color usage aligned with token classes for light/dark support."
|
|
58
|
+
],
|
|
59
|
+
"donts": [
|
|
60
|
+
"Do not combine conflicting state classes on the same element.",
|
|
61
|
+
"Do not rely on undocumented internal classes in production templates.",
|
|
62
|
+
"Do not remove required accessibility attributes when component is interactive."
|
|
63
|
+
],
|
|
64
|
+
"tokenUsage": [],
|
|
65
|
+
"examples": [
|
|
66
|
+
{
|
|
67
|
+
"id": "canonical",
|
|
68
|
+
"file": "examples/banner-marketplace.html",
|
|
69
|
+
"description": "Minimal canonical Funding banner usage."
|
|
70
|
+
}
|
|
71
|
+
],
|
|
72
|
+
"composition": {
|
|
73
|
+
"patterns": [],
|
|
74
|
+
"relatedComponents": [],
|
|
75
|
+
"notes": []
|
|
76
|
+
},
|
|
77
|
+
"breakingChangePolicy": {
|
|
78
|
+
"classContract": "Base class, documented modifiers, and state class names are semver-protected for consumer markup.",
|
|
79
|
+
"a11yContract": "Documented role and aria requirements are semver-protected for generated markup."
|
|
80
|
+
}
|
|
81
|
+
}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "banner",
|
|
3
|
+
"name": "Banner",
|
|
4
|
+
"status": "stable",
|
|
5
|
+
"summary": "Informative banners to display important messages and actions.",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"alert",
|
|
8
|
+
"announcement",
|
|
9
|
+
"banner",
|
|
10
|
+
"bar",
|
|
11
|
+
"callout",
|
|
12
|
+
"error",
|
|
13
|
+
"info",
|
|
14
|
+
"message",
|
|
15
|
+
"notice",
|
|
16
|
+
"notification",
|
|
17
|
+
"strip",
|
|
18
|
+
"success",
|
|
19
|
+
"toast",
|
|
20
|
+
"warning"
|
|
21
|
+
],
|
|
22
|
+
"sourcePaths": [
|
|
23
|
+
"app/design-system/banner/page.js",
|
|
24
|
+
"assets/styles/banner.css"
|
|
25
|
+
],
|
|
26
|
+
"apiModel": "html-class",
|
|
27
|
+
"baseClass": "banner",
|
|
28
|
+
"variants": [
|
|
29
|
+
{
|
|
30
|
+
"name": "banner-info",
|
|
31
|
+
"className": "banner-info",
|
|
32
|
+
"description": "Info variant styling"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"name": "banner-success",
|
|
36
|
+
"className": "banner-success",
|
|
37
|
+
"description": "Success variant styling"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"name": "banner-error",
|
|
41
|
+
"className": "banner-error",
|
|
42
|
+
"description": "Error variant styling"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"name": "banner-attention",
|
|
46
|
+
"className": "banner-attention",
|
|
47
|
+
"description": "Attention variant styling"
|
|
48
|
+
}
|
|
49
|
+
],
|
|
50
|
+
"sizes": [],
|
|
51
|
+
"states": [],
|
|
52
|
+
"structure": {
|
|
53
|
+
"rootElement": "div",
|
|
54
|
+
"requiredClasses": [
|
|
55
|
+
"banner"
|
|
56
|
+
],
|
|
57
|
+
"optionalClasses": [
|
|
58
|
+
"banner-info",
|
|
59
|
+
"banner-success",
|
|
60
|
+
"banner-error",
|
|
61
|
+
"banner-attention"
|
|
62
|
+
],
|
|
63
|
+
"requiredChildren": [],
|
|
64
|
+
"optionalChildren": []
|
|
65
|
+
},
|
|
66
|
+
"attributes": {
|
|
67
|
+
"allowed": [
|
|
68
|
+
"class"
|
|
69
|
+
],
|
|
70
|
+
"required": [],
|
|
71
|
+
"dataAttributes": [],
|
|
72
|
+
"roles": [],
|
|
73
|
+
"aria": []
|
|
74
|
+
},
|
|
75
|
+
"a11y": {
|
|
76
|
+
"interactive": false,
|
|
77
|
+
"requiredRoles": [],
|
|
78
|
+
"requiredAria": [],
|
|
79
|
+
"keyboardSupport": [],
|
|
80
|
+
"focusBehavior": "No keyboard interaction is required unless nested interactive children are introduced."
|
|
81
|
+
},
|
|
82
|
+
"dos": [
|
|
83
|
+
"Apply the base class 'banner' on the root element.",
|
|
84
|
+
"Use documented modifiers for visual variants instead of ad-hoc custom classes.",
|
|
85
|
+
"Keep semantic color usage aligned with token classes for light/dark support."
|
|
86
|
+
],
|
|
87
|
+
"donts": [
|
|
88
|
+
"Do not combine conflicting state classes on the same element.",
|
|
89
|
+
"Do not rely on undocumented internal classes in production templates.",
|
|
90
|
+
"Do not remove required accessibility attributes when component is interactive."
|
|
91
|
+
],
|
|
92
|
+
"tokenUsage": [
|
|
93
|
+
"core-black",
|
|
94
|
+
"core-white",
|
|
95
|
+
"text-attention",
|
|
96
|
+
"text-error",
|
|
97
|
+
"text-info",
|
|
98
|
+
"text-secondary",
|
|
99
|
+
"text-success",
|
|
100
|
+
"text-warning"
|
|
101
|
+
],
|
|
102
|
+
"examples": [
|
|
103
|
+
{
|
|
104
|
+
"id": "canonical",
|
|
105
|
+
"file": "examples/banner.html",
|
|
106
|
+
"description": "Minimal canonical Banner usage."
|
|
107
|
+
}
|
|
108
|
+
],
|
|
109
|
+
"composition": {
|
|
110
|
+
"patterns": [
|
|
111
|
+
"feedback-and-status"
|
|
112
|
+
],
|
|
113
|
+
"relatedComponents": [],
|
|
114
|
+
"notes": []
|
|
115
|
+
},
|
|
116
|
+
"breakingChangePolicy": {
|
|
117
|
+
"classContract": "Base class, documented modifiers, and state class names are semver-protected for consumer markup.",
|
|
118
|
+
"a11yContract": "Documented role and aria requirements are semver-protected for generated markup."
|
|
119
|
+
}
|
|
120
|
+
}
|