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,78 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "icons-reference",
|
|
3
|
+
"name": "Icons reference",
|
|
4
|
+
"status": "stable",
|
|
5
|
+
"summary": "Collection of icons used throughout the application, twntyX uses [Google's Material Symbols and Icons](https://fonts.google.com/icons), which provides us with an extensive icon library with over 2,500 glyphs",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"assets",
|
|
8
|
+
"collection",
|
|
9
|
+
"glyphs",
|
|
10
|
+
"icons",
|
|
11
|
+
"icons reference",
|
|
12
|
+
"icons-reference",
|
|
13
|
+
"interface elements",
|
|
14
|
+
"material symbols",
|
|
15
|
+
"pictograms",
|
|
16
|
+
"visual indicators"
|
|
17
|
+
],
|
|
18
|
+
"sourcePaths": [
|
|
19
|
+
"app/design-system/icons-reference/page.js"
|
|
20
|
+
],
|
|
21
|
+
"apiModel": "html-class",
|
|
22
|
+
"baseClass": "icons-reference",
|
|
23
|
+
"variants": [],
|
|
24
|
+
"sizes": [],
|
|
25
|
+
"states": [],
|
|
26
|
+
"structure": {
|
|
27
|
+
"rootElement": "div",
|
|
28
|
+
"requiredClasses": [
|
|
29
|
+
"icons-reference"
|
|
30
|
+
],
|
|
31
|
+
"optionalClasses": [],
|
|
32
|
+
"requiredChildren": [],
|
|
33
|
+
"optionalChildren": []
|
|
34
|
+
},
|
|
35
|
+
"attributes": {
|
|
36
|
+
"allowed": [
|
|
37
|
+
"class"
|
|
38
|
+
],
|
|
39
|
+
"required": [],
|
|
40
|
+
"dataAttributes": [],
|
|
41
|
+
"roles": [],
|
|
42
|
+
"aria": []
|
|
43
|
+
},
|
|
44
|
+
"a11y": {
|
|
45
|
+
"interactive": false,
|
|
46
|
+
"requiredRoles": [],
|
|
47
|
+
"requiredAria": [],
|
|
48
|
+
"keyboardSupport": [],
|
|
49
|
+
"focusBehavior": "No keyboard interaction is required unless nested interactive children are introduced."
|
|
50
|
+
},
|
|
51
|
+
"dos": [
|
|
52
|
+
"Apply the base class 'icons-reference' on the root element.",
|
|
53
|
+
"Use documented modifiers for visual variants instead of ad-hoc custom classes.",
|
|
54
|
+
"Keep semantic color usage aligned with token classes for light/dark support."
|
|
55
|
+
],
|
|
56
|
+
"donts": [
|
|
57
|
+
"Do not combine conflicting state classes on the same element.",
|
|
58
|
+
"Do not rely on undocumented internal classes in production templates.",
|
|
59
|
+
"Do not remove required accessibility attributes when component is interactive."
|
|
60
|
+
],
|
|
61
|
+
"tokenUsage": [],
|
|
62
|
+
"examples": [
|
|
63
|
+
{
|
|
64
|
+
"id": "canonical",
|
|
65
|
+
"file": "examples/icons-reference.html",
|
|
66
|
+
"description": "Minimal canonical Icons reference usage."
|
|
67
|
+
}
|
|
68
|
+
],
|
|
69
|
+
"composition": {
|
|
70
|
+
"patterns": [],
|
|
71
|
+
"relatedComponents": [],
|
|
72
|
+
"notes": []
|
|
73
|
+
},
|
|
74
|
+
"breakingChangePolicy": {
|
|
75
|
+
"classContract": "Base class, documented modifiers, and state class names are semver-protected for consumer markup.",
|
|
76
|
+
"a11yContract": "Documented role and aria requirements are semver-protected for generated markup."
|
|
77
|
+
}
|
|
78
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "illustrations-library",
|
|
3
|
+
"name": "Illustrations library",
|
|
4
|
+
"status": "stable",
|
|
5
|
+
"summary": "Browse our collection of custom illustrations and visual elements used to enhance the user experience and reinforce our brand identity across the application. The source assets located in [Figma](https://www.figma.com/design/1zI7ewgpqCGoxrPpiu6w2R/Product-illustrations?m=auto&t=LU9WIUq52kD6qdO8-1) *(Marketing / Assets)*, which can also be downloaded as a [.fig file](/figma/Product_illustrations.fig).",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"artwork",
|
|
8
|
+
"assets",
|
|
9
|
+
"brand assets",
|
|
10
|
+
"decorative graphics",
|
|
11
|
+
"graphics",
|
|
12
|
+
"illustrations",
|
|
13
|
+
"illustrations library",
|
|
14
|
+
"illustrations-library",
|
|
15
|
+
"images",
|
|
16
|
+
"visual elements"
|
|
17
|
+
],
|
|
18
|
+
"sourcePaths": [
|
|
19
|
+
"app/design-system/illustrations-library/page.js"
|
|
20
|
+
],
|
|
21
|
+
"apiModel": "html-class",
|
|
22
|
+
"baseClass": "illustrations-library",
|
|
23
|
+
"variants": [],
|
|
24
|
+
"sizes": [],
|
|
25
|
+
"states": [],
|
|
26
|
+
"structure": {
|
|
27
|
+
"rootElement": "div",
|
|
28
|
+
"requiredClasses": [
|
|
29
|
+
"illustrations-library"
|
|
30
|
+
],
|
|
31
|
+
"optionalClasses": [],
|
|
32
|
+
"requiredChildren": [],
|
|
33
|
+
"optionalChildren": []
|
|
34
|
+
},
|
|
35
|
+
"attributes": {
|
|
36
|
+
"allowed": [
|
|
37
|
+
"class"
|
|
38
|
+
],
|
|
39
|
+
"required": [],
|
|
40
|
+
"dataAttributes": [],
|
|
41
|
+
"roles": [],
|
|
42
|
+
"aria": []
|
|
43
|
+
},
|
|
44
|
+
"a11y": {
|
|
45
|
+
"interactive": false,
|
|
46
|
+
"requiredRoles": [],
|
|
47
|
+
"requiredAria": [],
|
|
48
|
+
"keyboardSupport": [],
|
|
49
|
+
"focusBehavior": "No keyboard interaction is required unless nested interactive children are introduced."
|
|
50
|
+
},
|
|
51
|
+
"dos": [
|
|
52
|
+
"Apply the base class 'illustrations-library' on the root element.",
|
|
53
|
+
"Use documented modifiers for visual variants instead of ad-hoc custom classes.",
|
|
54
|
+
"Keep semantic color usage aligned with token classes for light/dark support."
|
|
55
|
+
],
|
|
56
|
+
"donts": [
|
|
57
|
+
"Do not combine conflicting state classes on the same element.",
|
|
58
|
+
"Do not rely on undocumented internal classes in production templates.",
|
|
59
|
+
"Do not remove required accessibility attributes when component is interactive."
|
|
60
|
+
],
|
|
61
|
+
"tokenUsage": [],
|
|
62
|
+
"examples": [
|
|
63
|
+
{
|
|
64
|
+
"id": "canonical",
|
|
65
|
+
"file": "examples/illustrations-library.html",
|
|
66
|
+
"description": "Minimal canonical Illustrations library usage."
|
|
67
|
+
}
|
|
68
|
+
],
|
|
69
|
+
"composition": {
|
|
70
|
+
"patterns": [],
|
|
71
|
+
"relatedComponents": [],
|
|
72
|
+
"notes": []
|
|
73
|
+
},
|
|
74
|
+
"breakingChangePolicy": {
|
|
75
|
+
"classContract": "Base class, documented modifiers, and state class names are semver-protected for consumer markup.",
|
|
76
|
+
"a11yContract": "Documented role and aria requirements are semver-protected for generated markup."
|
|
77
|
+
}
|
|
78
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "input-group",
|
|
3
|
+
"name": "Input group",
|
|
4
|
+
"status": "stable",
|
|
5
|
+
"summary": "Input group pattern for combining controls with prefixes, suffixes, and inline actions.",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"addon",
|
|
8
|
+
"composed input",
|
|
9
|
+
"input group",
|
|
10
|
+
"input-group",
|
|
11
|
+
"prefix",
|
|
12
|
+
"suffix"
|
|
13
|
+
],
|
|
14
|
+
"sourcePaths": [
|
|
15
|
+
"app/design-system/input-group/page.js",
|
|
16
|
+
"assets/styles/form.css",
|
|
17
|
+
"assets/styles/input-group.css"
|
|
18
|
+
],
|
|
19
|
+
"apiModel": "html-class",
|
|
20
|
+
"baseClass": "input-group",
|
|
21
|
+
"variants": [],
|
|
22
|
+
"sizes": [],
|
|
23
|
+
"states": [],
|
|
24
|
+
"structure": {
|
|
25
|
+
"rootElement": "div",
|
|
26
|
+
"requiredClasses": [
|
|
27
|
+
"input-group"
|
|
28
|
+
],
|
|
29
|
+
"optionalClasses": [],
|
|
30
|
+
"requiredChildren": [],
|
|
31
|
+
"optionalChildren": []
|
|
32
|
+
},
|
|
33
|
+
"attributes": {
|
|
34
|
+
"allowed": [
|
|
35
|
+
"class",
|
|
36
|
+
"id",
|
|
37
|
+
"tabindex"
|
|
38
|
+
],
|
|
39
|
+
"required": [],
|
|
40
|
+
"dataAttributes": [],
|
|
41
|
+
"roles": [],
|
|
42
|
+
"aria": []
|
|
43
|
+
},
|
|
44
|
+
"a11y": {
|
|
45
|
+
"interactive": true,
|
|
46
|
+
"requiredRoles": [],
|
|
47
|
+
"requiredAria": [
|
|
48
|
+
"aria-label (when no visible label)"
|
|
49
|
+
],
|
|
50
|
+
"keyboardSupport": [
|
|
51
|
+
"Tab",
|
|
52
|
+
"Shift+Tab",
|
|
53
|
+
"Enter",
|
|
54
|
+
"Space"
|
|
55
|
+
],
|
|
56
|
+
"focusBehavior": "Visible focus state is required when the component is focusable or clickable."
|
|
57
|
+
},
|
|
58
|
+
"dos": [
|
|
59
|
+
"Apply the base class 'input-group' on the root element.",
|
|
60
|
+
"Use documented modifiers for visual variants instead of ad-hoc custom classes.",
|
|
61
|
+
"Keep semantic color usage aligned with token classes for light/dark support."
|
|
62
|
+
],
|
|
63
|
+
"donts": [
|
|
64
|
+
"Do not combine conflicting state classes on the same element.",
|
|
65
|
+
"Do not rely on undocumented internal classes in production templates.",
|
|
66
|
+
"Do not remove required accessibility attributes when component is interactive."
|
|
67
|
+
],
|
|
68
|
+
"tokenUsage": [
|
|
69
|
+
"background-surface",
|
|
70
|
+
"background-surface-elevated",
|
|
71
|
+
"line-brand",
|
|
72
|
+
"line-default",
|
|
73
|
+
"line-focus",
|
|
74
|
+
"line-highlight",
|
|
75
|
+
"line-strong",
|
|
76
|
+
"text-tertiary"
|
|
77
|
+
],
|
|
78
|
+
"examples": [
|
|
79
|
+
{
|
|
80
|
+
"id": "canonical",
|
|
81
|
+
"file": "examples/input-group.html",
|
|
82
|
+
"description": "Minimal canonical Input group usage."
|
|
83
|
+
}
|
|
84
|
+
],
|
|
85
|
+
"composition": {
|
|
86
|
+
"patterns": [],
|
|
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
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "introduction",
|
|
3
|
+
"name": "Introduction",
|
|
4
|
+
"status": "stable",
|
|
5
|
+
"summary": "The **twntyX CSS Framework** is a comprehensive design system that empowers developers to rapidly build consistent, accessible, and brand-aligned user interfaces. Check out our [getting started guide](/design-system/getting-started) or explore our [components](/design-system/button).",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"introduction",
|
|
8
|
+
"luigUI",
|
|
9
|
+
"overview"
|
|
10
|
+
],
|
|
11
|
+
"sourcePaths": [
|
|
12
|
+
"app/design-system/introduction/page.js"
|
|
13
|
+
],
|
|
14
|
+
"apiModel": "html-class",
|
|
15
|
+
"baseClass": "introduction",
|
|
16
|
+
"variants": [],
|
|
17
|
+
"sizes": [],
|
|
18
|
+
"states": [],
|
|
19
|
+
"structure": {
|
|
20
|
+
"rootElement": "div",
|
|
21
|
+
"requiredClasses": [
|
|
22
|
+
"introduction"
|
|
23
|
+
],
|
|
24
|
+
"optionalClasses": [],
|
|
25
|
+
"requiredChildren": [],
|
|
26
|
+
"optionalChildren": []
|
|
27
|
+
},
|
|
28
|
+
"attributes": {
|
|
29
|
+
"allowed": [
|
|
30
|
+
"class"
|
|
31
|
+
],
|
|
32
|
+
"required": [],
|
|
33
|
+
"dataAttributes": [],
|
|
34
|
+
"roles": [],
|
|
35
|
+
"aria": []
|
|
36
|
+
},
|
|
37
|
+
"a11y": {
|
|
38
|
+
"interactive": false,
|
|
39
|
+
"requiredRoles": [],
|
|
40
|
+
"requiredAria": [],
|
|
41
|
+
"keyboardSupport": [],
|
|
42
|
+
"focusBehavior": "No keyboard interaction is required unless nested interactive children are introduced."
|
|
43
|
+
},
|
|
44
|
+
"dos": [
|
|
45
|
+
"Apply the base class 'introduction' on the root element.",
|
|
46
|
+
"Use documented modifiers for visual variants instead of ad-hoc custom classes.",
|
|
47
|
+
"Keep semantic color usage aligned with token classes for light/dark support."
|
|
48
|
+
],
|
|
49
|
+
"donts": [
|
|
50
|
+
"Do not combine conflicting state classes on the same element.",
|
|
51
|
+
"Do not rely on undocumented internal classes in production templates.",
|
|
52
|
+
"Do not remove required accessibility attributes when component is interactive."
|
|
53
|
+
],
|
|
54
|
+
"tokenUsage": [],
|
|
55
|
+
"examples": [
|
|
56
|
+
{
|
|
57
|
+
"id": "canonical",
|
|
58
|
+
"file": "examples/introduction.html",
|
|
59
|
+
"description": "Minimal canonical Introduction usage."
|
|
60
|
+
}
|
|
61
|
+
],
|
|
62
|
+
"composition": {
|
|
63
|
+
"patterns": [],
|
|
64
|
+
"relatedComponents": [],
|
|
65
|
+
"notes": []
|
|
66
|
+
},
|
|
67
|
+
"breakingChangePolicy": {
|
|
68
|
+
"classContract": "Base class, documented modifiers, and state class names are semver-protected for consumer markup.",
|
|
69
|
+
"a11yContract": "Documented role and aria requirements are semver-protected for generated markup."
|
|
70
|
+
}
|
|
71
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "join",
|
|
3
|
+
"name": "Join",
|
|
4
|
+
"status": "stable",
|
|
5
|
+
"summary": "Join component for grouping multiple items together with consistent styling.",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"button group",
|
|
8
|
+
"container",
|
|
9
|
+
"group",
|
|
10
|
+
"input group",
|
|
11
|
+
"join"
|
|
12
|
+
],
|
|
13
|
+
"sourcePaths": [
|
|
14
|
+
"app/design-system/join/page.js",
|
|
15
|
+
"assets/styles/button.css",
|
|
16
|
+
"assets/styles/join.css"
|
|
17
|
+
],
|
|
18
|
+
"apiModel": "html-class",
|
|
19
|
+
"baseClass": "join",
|
|
20
|
+
"variants": [],
|
|
21
|
+
"sizes": [],
|
|
22
|
+
"states": [],
|
|
23
|
+
"structure": {
|
|
24
|
+
"rootElement": "div",
|
|
25
|
+
"requiredClasses": [
|
|
26
|
+
"join"
|
|
27
|
+
],
|
|
28
|
+
"optionalClasses": [],
|
|
29
|
+
"requiredChildren": [],
|
|
30
|
+
"optionalChildren": []
|
|
31
|
+
},
|
|
32
|
+
"attributes": {
|
|
33
|
+
"allowed": [
|
|
34
|
+
"class"
|
|
35
|
+
],
|
|
36
|
+
"required": [],
|
|
37
|
+
"dataAttributes": [],
|
|
38
|
+
"roles": [],
|
|
39
|
+
"aria": [
|
|
40
|
+
"aria-label"
|
|
41
|
+
]
|
|
42
|
+
},
|
|
43
|
+
"a11y": {
|
|
44
|
+
"interactive": false,
|
|
45
|
+
"requiredRoles": [],
|
|
46
|
+
"requiredAria": [
|
|
47
|
+
"aria-label"
|
|
48
|
+
],
|
|
49
|
+
"keyboardSupport": [],
|
|
50
|
+
"focusBehavior": "No keyboard interaction is required unless nested interactive children are introduced."
|
|
51
|
+
},
|
|
52
|
+
"dos": [
|
|
53
|
+
"Apply the base class 'join' 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
|
+
"background-brand",
|
|
64
|
+
"background-brand-active",
|
|
65
|
+
"background-error",
|
|
66
|
+
"background-inverted",
|
|
67
|
+
"background-surface",
|
|
68
|
+
"background-surface-elevated",
|
|
69
|
+
"brand-default",
|
|
70
|
+
"brand-strong",
|
|
71
|
+
"core-black",
|
|
72
|
+
"core-ui-100",
|
|
73
|
+
"core-ui-800",
|
|
74
|
+
"core-white",
|
|
75
|
+
"line-default",
|
|
76
|
+
"line-error",
|
|
77
|
+
"line-strong",
|
|
78
|
+
"text-attention",
|
|
79
|
+
"text-brand",
|
|
80
|
+
"text-brand-active",
|
|
81
|
+
"text-brand-hover",
|
|
82
|
+
"text-default",
|
|
83
|
+
"text-error",
|
|
84
|
+
"text-inverted",
|
|
85
|
+
"text-secondary",
|
|
86
|
+
"text-success",
|
|
87
|
+
"text-tertiary"
|
|
88
|
+
],
|
|
89
|
+
"examples": [
|
|
90
|
+
{
|
|
91
|
+
"id": "canonical",
|
|
92
|
+
"file": "examples/join.html",
|
|
93
|
+
"description": "Minimal canonical Join usage."
|
|
94
|
+
}
|
|
95
|
+
],
|
|
96
|
+
"composition": {
|
|
97
|
+
"patterns": [],
|
|
98
|
+
"relatedComponents": [],
|
|
99
|
+
"notes": []
|
|
100
|
+
},
|
|
101
|
+
"breakingChangePolicy": {
|
|
102
|
+
"classContract": "Base class, documented modifiers, and state class names are semver-protected for consumer markup.",
|
|
103
|
+
"a11yContract": "Documented role and aria requirements are semver-protected for generated markup."
|
|
104
|
+
}
|
|
105
|
+
}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "kbd",
|
|
3
|
+
"name": "Kbd",
|
|
4
|
+
"status": "stable",
|
|
5
|
+
"summary": "Display keyboard shortcuts and key combinations.",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"command",
|
|
8
|
+
"control",
|
|
9
|
+
"hotkey",
|
|
10
|
+
"hotkeys",
|
|
11
|
+
"input",
|
|
12
|
+
"kbd",
|
|
13
|
+
"key",
|
|
14
|
+
"keybind",
|
|
15
|
+
"keybinding",
|
|
16
|
+
"keyboard",
|
|
17
|
+
"keypress",
|
|
18
|
+
"keys",
|
|
19
|
+
"shortcut"
|
|
20
|
+
],
|
|
21
|
+
"sourcePaths": [
|
|
22
|
+
"app/design-system/kbd/page.js",
|
|
23
|
+
"assets/styles/colors.css",
|
|
24
|
+
"assets/styles/kbd.css",
|
|
25
|
+
"assets/styles/shared.css"
|
|
26
|
+
],
|
|
27
|
+
"apiModel": "html-class",
|
|
28
|
+
"baseClass": "kbd",
|
|
29
|
+
"variants": [
|
|
30
|
+
{
|
|
31
|
+
"name": "kbd-combo",
|
|
32
|
+
"className": "kbd-combo",
|
|
33
|
+
"description": "Style for key combinations"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"name": "kbd-ghost",
|
|
37
|
+
"className": "kbd-ghost",
|
|
38
|
+
"description": "Ghost keyboard key"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"name": "inverted",
|
|
42
|
+
"className": "inverted",
|
|
43
|
+
"description": "Inverted keyboard key"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"name": "kbd-disabled",
|
|
47
|
+
"className": "kbd-disabled",
|
|
48
|
+
"description": "Disabled state for keyboard key"
|
|
49
|
+
}
|
|
50
|
+
],
|
|
51
|
+
"sizes": [
|
|
52
|
+
{
|
|
53
|
+
"name": "kbd-sm",
|
|
54
|
+
"className": "kbd-sm",
|
|
55
|
+
"description": "Small keyboard key size"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"name": "kbd-lg",
|
|
59
|
+
"className": "kbd-lg",
|
|
60
|
+
"description": "Large keyboard key size"
|
|
61
|
+
}
|
|
62
|
+
],
|
|
63
|
+
"states": [],
|
|
64
|
+
"structure": {
|
|
65
|
+
"rootElement": "kbd",
|
|
66
|
+
"requiredClasses": [
|
|
67
|
+
"kbd"
|
|
68
|
+
],
|
|
69
|
+
"optionalClasses": [
|
|
70
|
+
"kbd-combo",
|
|
71
|
+
"kbd-ghost",
|
|
72
|
+
"inverted",
|
|
73
|
+
"kbd-disabled",
|
|
74
|
+
"kbd-sm",
|
|
75
|
+
"kbd-lg"
|
|
76
|
+
],
|
|
77
|
+
"requiredChildren": [],
|
|
78
|
+
"optionalChildren": []
|
|
79
|
+
},
|
|
80
|
+
"attributes": {
|
|
81
|
+
"allowed": [
|
|
82
|
+
"class"
|
|
83
|
+
],
|
|
84
|
+
"required": [],
|
|
85
|
+
"dataAttributes": [],
|
|
86
|
+
"roles": [],
|
|
87
|
+
"aria": []
|
|
88
|
+
},
|
|
89
|
+
"a11y": {
|
|
90
|
+
"interactive": false,
|
|
91
|
+
"requiredRoles": [],
|
|
92
|
+
"requiredAria": [],
|
|
93
|
+
"keyboardSupport": [],
|
|
94
|
+
"focusBehavior": "No keyboard interaction is required unless nested interactive children are introduced."
|
|
95
|
+
},
|
|
96
|
+
"dos": [
|
|
97
|
+
"Apply the base class 'kbd' on the root element.",
|
|
98
|
+
"Use documented modifiers for visual variants instead of ad-hoc custom classes.",
|
|
99
|
+
"Keep semantic color usage aligned with token classes for light/dark support."
|
|
100
|
+
],
|
|
101
|
+
"donts": [
|
|
102
|
+
"Do not combine conflicting state classes on the same element.",
|
|
103
|
+
"Do not rely on undocumented internal classes in production templates.",
|
|
104
|
+
"Do not remove required accessibility attributes when component is interactive."
|
|
105
|
+
],
|
|
106
|
+
"tokenUsage": [
|
|
107
|
+
"background-page",
|
|
108
|
+
"background-surface",
|
|
109
|
+
"background-surface-elevated",
|
|
110
|
+
"brand-default",
|
|
111
|
+
"brand-moderate",
|
|
112
|
+
"line-brand",
|
|
113
|
+
"line-default",
|
|
114
|
+
"line-error",
|
|
115
|
+
"line-focus",
|
|
116
|
+
"line-highlight",
|
|
117
|
+
"line-strong",
|
|
118
|
+
"text-default",
|
|
119
|
+
"text-inverted",
|
|
120
|
+
"text-secondary",
|
|
121
|
+
"text-tertiary"
|
|
122
|
+
],
|
|
123
|
+
"examples": [
|
|
124
|
+
{
|
|
125
|
+
"id": "canonical",
|
|
126
|
+
"file": "examples/kbd.html",
|
|
127
|
+
"description": "Minimal canonical Kbd usage."
|
|
128
|
+
}
|
|
129
|
+
],
|
|
130
|
+
"composition": {
|
|
131
|
+
"patterns": [],
|
|
132
|
+
"relatedComponents": [],
|
|
133
|
+
"notes": []
|
|
134
|
+
},
|
|
135
|
+
"breakingChangePolicy": {
|
|
136
|
+
"classContract": "Base class, documented modifiers, and state class names are semver-protected for consumer markup.",
|
|
137
|
+
"a11yContract": "Documented role and aria requirements are semver-protected for generated markup."
|
|
138
|
+
}
|
|
139
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "key-value",
|
|
3
|
+
"name": "Key-value",
|
|
4
|
+
"status": "stable",
|
|
5
|
+
"summary": "Key-value layout for compact metadata, account details, and structured summaries.",
|
|
6
|
+
"keywords": [
|
|
7
|
+
"definition list",
|
|
8
|
+
"details",
|
|
9
|
+
"key value",
|
|
10
|
+
"key-value",
|
|
11
|
+
"label value",
|
|
12
|
+
"metadata"
|
|
13
|
+
],
|
|
14
|
+
"sourcePaths": [
|
|
15
|
+
"app/design-system/key-value/page.js",
|
|
16
|
+
"assets/styles/key-value.css"
|
|
17
|
+
],
|
|
18
|
+
"apiModel": "html-class",
|
|
19
|
+
"baseClass": "key-value",
|
|
20
|
+
"variants": [
|
|
21
|
+
{
|
|
22
|
+
"name": "key-value-compact",
|
|
23
|
+
"className": "key-value-compact",
|
|
24
|
+
"description": "Compact spacing variant."
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
"sizes": [],
|
|
28
|
+
"states": [],
|
|
29
|
+
"structure": {
|
|
30
|
+
"rootElement": "div",
|
|
31
|
+
"requiredClasses": [
|
|
32
|
+
"key-value"
|
|
33
|
+
],
|
|
34
|
+
"optionalClasses": [
|
|
35
|
+
"key-value-compact"
|
|
36
|
+
],
|
|
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 'key-value' 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
|
+
"text-default",
|
|
68
|
+
"text-tertiary"
|
|
69
|
+
],
|
|
70
|
+
"examples": [
|
|
71
|
+
{
|
|
72
|
+
"id": "canonical",
|
|
73
|
+
"file": "examples/key-value.html",
|
|
74
|
+
"description": "Minimal canonical Key-value usage."
|
|
75
|
+
}
|
|
76
|
+
],
|
|
77
|
+
"composition": {
|
|
78
|
+
"patterns": [],
|
|
79
|
+
"relatedComponents": [],
|
|
80
|
+
"notes": []
|
|
81
|
+
},
|
|
82
|
+
"breakingChangePolicy": {
|
|
83
|
+
"classContract": "Base class, documented modifiers, and state class names are semver-protected for consumer markup.",
|
|
84
|
+
"a11yContract": "Documented role and aria requirements are semver-protected for generated markup."
|
|
85
|
+
}
|
|
86
|
+
}
|