@adia-ai/a2ui-corpus 0.7.16 → 0.7.18
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/CHANGELOG.md +10 -0
- package/catalog-a2ui_0_9.json +5 -0
- package/chunks/_index.json +804 -4
- package/chunks/admin-page-header-flush.json +83 -0
- package/chunks/admin-page-header-title-description.json +80 -0
- package/chunks/admin-page-header-with-actions.json +109 -0
- package/chunks/admin-page-header-with-tabs.json +144 -0
- package/chunks/admin-sidebar-brand-signin.json +152 -0
- package/chunks/admin-sidebar-brand-version.json +124 -0
- package/chunks/admin-sidebar-flat-nav.json +125 -0
- package/chunks/admin-sidebar-nav-dividers.json +144 -0
- package/chunks/admin-sidebar-nav-groups.json +165 -0
- package/chunks/admin-sidebar-workspace-switcher.json +132 -0
- package/chunks/admin-topbar-breadcrumb-actions.json +130 -0
- package/chunks/admin-topbar-breadcrumb-minimal.json +79 -0
- package/chunks/admin-topbar-deep-breadcrumb.json +129 -0
- package/chunks/admin-topbar-search.json +104 -0
- package/chunks/admin-topbar-status-indicator.json +131 -0
- package/chunks/admin-topbar-trailing-toggle.json +114 -0
- package/chunks/form-checkbox-group.json +65 -0
- package/chunks/form-field-email-hint.json +53 -0
- package/chunks/form-field-range.json +54 -0
- package/chunks/form-field-required.json +52 -0
- package/chunks/form-field-select.json +66 -0
- package/chunks/form-field-textarea.json +51 -0
- package/chunks/form-fields-two-column.json +69 -0
- package/chunks/form-switch-toggle.json +41 -0
- package/package.json +1 -1
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "admin-topbar-breadcrumb-minimal",
|
|
3
|
+
"kind": "block",
|
|
4
|
+
"primary": "admin-topbar",
|
|
5
|
+
"page": "/site/patterns/admin-content-topbar.html",
|
|
6
|
+
"slots": [],
|
|
7
|
+
"nested": [],
|
|
8
|
+
"attrs": {},
|
|
9
|
+
"html": "<admin-topbar>\n <button-ui data-sidebar-toggle=\"leading\" icon=\"sidebar\" variant=\"ghost\" size=\"sm\"></button-ui>\n <breadcrumb-ui>\n <a href=\"#\">Settings</a>\n <span>Profile</span>\n </breadcrumb-ui>\n </admin-topbar>",
|
|
10
|
+
"source": "site/pages/patterns/admin-content-topbar.html",
|
|
11
|
+
"metadata": {
|
|
12
|
+
"domain": "navigation",
|
|
13
|
+
"description": "Minimal app-chrome topbar — sidebar-toggle plus a breadcrumb only, no actions. Use when the page just needs to show where the user is.",
|
|
14
|
+
"keywords": [
|
|
15
|
+
"admin",
|
|
16
|
+
"topbar",
|
|
17
|
+
"breadcrumb",
|
|
18
|
+
"minimal",
|
|
19
|
+
"sidebar",
|
|
20
|
+
"toggle",
|
|
21
|
+
"location",
|
|
22
|
+
"navigation",
|
|
23
|
+
"admin-topbar",
|
|
24
|
+
"breadcrumb-ui",
|
|
25
|
+
"simple",
|
|
26
|
+
"header",
|
|
27
|
+
"band",
|
|
28
|
+
"you-are-here"
|
|
29
|
+
]
|
|
30
|
+
},
|
|
31
|
+
"captured_at": "2026-06-09T18:16:34.245Z",
|
|
32
|
+
"template": [
|
|
33
|
+
{
|
|
34
|
+
"id": "button",
|
|
35
|
+
"component": "Button",
|
|
36
|
+
"icon": "sidebar",
|
|
37
|
+
"size": "sm",
|
|
38
|
+
"variant": "ghost",
|
|
39
|
+
"data-sidebar-toggle": "leading"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"id": "text",
|
|
43
|
+
"component": "Text",
|
|
44
|
+
"textContent": "Settings",
|
|
45
|
+
"variant": "body"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "link",
|
|
49
|
+
"component": "Link",
|
|
50
|
+
"href": "#",
|
|
51
|
+
"text": "Settings",
|
|
52
|
+
"children": [
|
|
53
|
+
"text"
|
|
54
|
+
]
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"id": "text-2",
|
|
58
|
+
"component": "Text",
|
|
59
|
+
"variant": "body",
|
|
60
|
+
"textContent": "Profile"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"id": "breadcrumb",
|
|
64
|
+
"component": "Breadcrumb",
|
|
65
|
+
"children": [
|
|
66
|
+
"link",
|
|
67
|
+
"text-2"
|
|
68
|
+
]
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"id": "root",
|
|
72
|
+
"component": "AdminTopbar",
|
|
73
|
+
"children": [
|
|
74
|
+
"button",
|
|
75
|
+
"breadcrumb"
|
|
76
|
+
]
|
|
77
|
+
}
|
|
78
|
+
]
|
|
79
|
+
}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "admin-topbar-deep-breadcrumb",
|
|
3
|
+
"kind": "block",
|
|
4
|
+
"primary": "admin-topbar",
|
|
5
|
+
"page": "/site/patterns/admin-content-topbar.html",
|
|
6
|
+
"slots": [],
|
|
7
|
+
"nested": [],
|
|
8
|
+
"attrs": {},
|
|
9
|
+
"html": "<admin-topbar>\n <button-ui data-sidebar-toggle=\"leading\" icon=\"sidebar\" variant=\"ghost\" size=\"sm\"></button-ui>\n <breadcrumb-ui>\n <a href=\"#\">Workspaces</a>\n <a href=\"#\">Acme Co.</a>\n <a href=\"#\">Projects</a>\n <a href=\"#\">Q4 Launch</a>\n <span>Activity</span>\n </breadcrumb-ui>\n </admin-topbar>",
|
|
10
|
+
"source": "site/pages/patterns/admin-content-topbar.html",
|
|
11
|
+
"metadata": {
|
|
12
|
+
"domain": "navigation",
|
|
13
|
+
"description": "App-chrome topbar with a deep multi-level breadcrumb trail (five levels) for deeply-nested hierarchies — Workspaces / Acme Co. / Projects / Q4 Launch / Activity.",
|
|
14
|
+
"keywords": [
|
|
15
|
+
"admin",
|
|
16
|
+
"topbar",
|
|
17
|
+
"breadcrumb",
|
|
18
|
+
"deep",
|
|
19
|
+
"multi-level",
|
|
20
|
+
"hierarchy",
|
|
21
|
+
"nested",
|
|
22
|
+
"trail",
|
|
23
|
+
"path",
|
|
24
|
+
"sidebar",
|
|
25
|
+
"navigation",
|
|
26
|
+
"admin-topbar",
|
|
27
|
+
"breadcrumb-ui",
|
|
28
|
+
"workspaces",
|
|
29
|
+
"projects",
|
|
30
|
+
"ancestors"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"captured_at": "2026-06-09T18:16:34.245Z",
|
|
34
|
+
"template": [
|
|
35
|
+
{
|
|
36
|
+
"id": "button",
|
|
37
|
+
"component": "Button",
|
|
38
|
+
"icon": "sidebar",
|
|
39
|
+
"size": "sm",
|
|
40
|
+
"variant": "ghost",
|
|
41
|
+
"data-sidebar-toggle": "leading"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"id": "text",
|
|
45
|
+
"component": "Text",
|
|
46
|
+
"textContent": "Workspaces",
|
|
47
|
+
"variant": "body"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"id": "link",
|
|
51
|
+
"component": "Link",
|
|
52
|
+
"href": "#",
|
|
53
|
+
"text": "Workspaces",
|
|
54
|
+
"children": [
|
|
55
|
+
"text"
|
|
56
|
+
]
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"id": "text-2",
|
|
60
|
+
"component": "Text",
|
|
61
|
+
"textContent": "Acme Co.",
|
|
62
|
+
"variant": "body"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"id": "link-2",
|
|
66
|
+
"component": "Link",
|
|
67
|
+
"href": "#",
|
|
68
|
+
"text": "Acme Co.",
|
|
69
|
+
"children": [
|
|
70
|
+
"text-2"
|
|
71
|
+
]
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"id": "text-3",
|
|
75
|
+
"component": "Text",
|
|
76
|
+
"textContent": "Projects",
|
|
77
|
+
"variant": "body"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"id": "link-3",
|
|
81
|
+
"component": "Link",
|
|
82
|
+
"href": "#",
|
|
83
|
+
"text": "Projects",
|
|
84
|
+
"children": [
|
|
85
|
+
"text-3"
|
|
86
|
+
]
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"id": "text-4",
|
|
90
|
+
"component": "Text",
|
|
91
|
+
"textContent": "Q4 Launch",
|
|
92
|
+
"variant": "body"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"id": "link-4",
|
|
96
|
+
"component": "Link",
|
|
97
|
+
"href": "#",
|
|
98
|
+
"text": "Q4 Launch",
|
|
99
|
+
"children": [
|
|
100
|
+
"text-4"
|
|
101
|
+
]
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"id": "text-5",
|
|
105
|
+
"component": "Text",
|
|
106
|
+
"variant": "body",
|
|
107
|
+
"textContent": "Activity"
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"id": "breadcrumb",
|
|
111
|
+
"component": "Breadcrumb",
|
|
112
|
+
"children": [
|
|
113
|
+
"link",
|
|
114
|
+
"link-2",
|
|
115
|
+
"link-3",
|
|
116
|
+
"link-4",
|
|
117
|
+
"text-5"
|
|
118
|
+
]
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"id": "root",
|
|
122
|
+
"component": "AdminTopbar",
|
|
123
|
+
"children": [
|
|
124
|
+
"button",
|
|
125
|
+
"breadcrumb"
|
|
126
|
+
]
|
|
127
|
+
}
|
|
128
|
+
]
|
|
129
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "admin-topbar-search",
|
|
3
|
+
"kind": "block",
|
|
4
|
+
"primary": "admin-topbar",
|
|
5
|
+
"page": "/site/patterns/admin-content-topbar.html",
|
|
6
|
+
"slots": [],
|
|
7
|
+
"nested": [],
|
|
8
|
+
"attrs": {},
|
|
9
|
+
"html": "<admin-topbar>\n <button-ui data-sidebar-toggle=\"leading\" icon=\"sidebar\" variant=\"ghost\" size=\"sm\"></button-ui>\n <breadcrumb-ui>\n <span>Inbox</span>\n </breadcrumb-ui>\n <span data-spacer></span>\n <search-ui placeholder=\"Search messages...\" size=\"sm\" style=\"max-width:280px\"></search-ui>\n <div data-actions>\n <button-ui icon=\"funnel\" variant=\"ghost\" size=\"sm\" title=\"Filter\"></button-ui>\n <button-ui text=\"Compose\" icon=\"plus\" variant=\"primary\" size=\"sm\"></button-ui>\n </div>\n </admin-topbar>",
|
|
10
|
+
"source": "site/pages/patterns/admin-content-topbar.html",
|
|
11
|
+
"metadata": {
|
|
12
|
+
"domain": "navigation",
|
|
13
|
+
"description": "App-chrome topbar with a global search field — sidebar-toggle, breadcrumb, spacer, search-ui, then a filter + compose action cluster. Gives a search anchor visible across the app.",
|
|
14
|
+
"keywords": [
|
|
15
|
+
"admin",
|
|
16
|
+
"topbar",
|
|
17
|
+
"search",
|
|
18
|
+
"global",
|
|
19
|
+
"search-ui",
|
|
20
|
+
"filter",
|
|
21
|
+
"compose",
|
|
22
|
+
"breadcrumb",
|
|
23
|
+
"sidebar",
|
|
24
|
+
"toggle",
|
|
25
|
+
"navigation",
|
|
26
|
+
"admin-topbar",
|
|
27
|
+
"header",
|
|
28
|
+
"band",
|
|
29
|
+
"find",
|
|
30
|
+
"query",
|
|
31
|
+
"inbox"
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
"captured_at": "2026-06-09T18:16:34.245Z",
|
|
35
|
+
"template": [
|
|
36
|
+
{
|
|
37
|
+
"id": "button",
|
|
38
|
+
"component": "Button",
|
|
39
|
+
"icon": "sidebar",
|
|
40
|
+
"size": "sm",
|
|
41
|
+
"variant": "ghost",
|
|
42
|
+
"data-sidebar-toggle": "leading"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"id": "text",
|
|
46
|
+
"component": "Text",
|
|
47
|
+
"variant": "body",
|
|
48
|
+
"textContent": "Inbox"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"id": "breadcrumb",
|
|
52
|
+
"component": "Breadcrumb",
|
|
53
|
+
"children": [
|
|
54
|
+
"text"
|
|
55
|
+
]
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"id": "text-2",
|
|
59
|
+
"component": "Text",
|
|
60
|
+
"variant": "body",
|
|
61
|
+
"data-spacer": ""
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"id": "search-ui",
|
|
65
|
+
"component": "search-ui",
|
|
66
|
+
"placeholder": "Search messages..."
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"id": "button-2",
|
|
70
|
+
"component": "Button",
|
|
71
|
+
"icon": "funnel",
|
|
72
|
+
"size": "sm",
|
|
73
|
+
"variant": "ghost"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"id": "button-3",
|
|
77
|
+
"component": "Button",
|
|
78
|
+
"icon": "plus",
|
|
79
|
+
"size": "sm",
|
|
80
|
+
"text": "Compose",
|
|
81
|
+
"variant": "primary"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"id": "column",
|
|
85
|
+
"component": "Column",
|
|
86
|
+
"data-actions": "",
|
|
87
|
+
"children": [
|
|
88
|
+
"button-2",
|
|
89
|
+
"button-3"
|
|
90
|
+
]
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"id": "root",
|
|
94
|
+
"component": "AdminTopbar",
|
|
95
|
+
"children": [
|
|
96
|
+
"button",
|
|
97
|
+
"breadcrumb",
|
|
98
|
+
"text-2",
|
|
99
|
+
"search-ui",
|
|
100
|
+
"column"
|
|
101
|
+
]
|
|
102
|
+
}
|
|
103
|
+
]
|
|
104
|
+
}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "admin-topbar-status-indicator",
|
|
3
|
+
"kind": "block",
|
|
4
|
+
"primary": "admin-topbar",
|
|
5
|
+
"page": "/site/patterns/admin-content-topbar.html",
|
|
6
|
+
"slots": [],
|
|
7
|
+
"nested": [],
|
|
8
|
+
"attrs": {},
|
|
9
|
+
"html": "<admin-topbar>\n <button-ui data-sidebar-toggle=\"leading\" icon=\"sidebar\" variant=\"ghost\" size=\"sm\"></button-ui>\n <breadcrumb-ui>\n <a href=\"#\">Pipeline</a>\n <span>Run #4421</span>\n </breadcrumb-ui>\n <span data-spacer></span>\n <tag-ui size=\"sm\" variant=\"success\">Healthy</tag-ui>\n <div data-actions>\n <button-ui icon=\"arrow-clockwise\" variant=\"ghost\" size=\"sm\" title=\"Refresh\"></button-ui>\n <button-ui text=\"Logs\" icon=\"terminal\" variant=\"outline\" size=\"sm\"></button-ui>\n </div>\n </admin-topbar>",
|
|
10
|
+
"source": "site/pages/patterns/admin-content-topbar.html",
|
|
11
|
+
"metadata": {
|
|
12
|
+
"domain": "navigation",
|
|
13
|
+
"description": "App-chrome topbar with an inline status indicator — a success tag-ui (Healthy) beside the action cluster gives an always-visible health/sync signal. For pipeline / connection state.",
|
|
14
|
+
"keywords": [
|
|
15
|
+
"admin",
|
|
16
|
+
"topbar",
|
|
17
|
+
"status",
|
|
18
|
+
"indicator",
|
|
19
|
+
"health",
|
|
20
|
+
"sync",
|
|
21
|
+
"connection",
|
|
22
|
+
"tag-ui",
|
|
23
|
+
"success",
|
|
24
|
+
"badge",
|
|
25
|
+
"breadcrumb",
|
|
26
|
+
"sidebar",
|
|
27
|
+
"navigation",
|
|
28
|
+
"admin-topbar",
|
|
29
|
+
"pipeline",
|
|
30
|
+
"healthy",
|
|
31
|
+
"refresh",
|
|
32
|
+
"logs"
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
"captured_at": "2026-06-09T18:16:34.245Z",
|
|
36
|
+
"template": [
|
|
37
|
+
{
|
|
38
|
+
"id": "button",
|
|
39
|
+
"component": "Button",
|
|
40
|
+
"icon": "sidebar",
|
|
41
|
+
"size": "sm",
|
|
42
|
+
"variant": "ghost",
|
|
43
|
+
"data-sidebar-toggle": "leading"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"id": "text",
|
|
47
|
+
"component": "Text",
|
|
48
|
+
"textContent": "Pipeline",
|
|
49
|
+
"variant": "body"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"id": "link",
|
|
53
|
+
"component": "Link",
|
|
54
|
+
"href": "#",
|
|
55
|
+
"text": "Pipeline",
|
|
56
|
+
"children": [
|
|
57
|
+
"text"
|
|
58
|
+
]
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"id": "text-2",
|
|
62
|
+
"component": "Text",
|
|
63
|
+
"variant": "body",
|
|
64
|
+
"textContent": "Run #4421"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"id": "breadcrumb",
|
|
68
|
+
"component": "Breadcrumb",
|
|
69
|
+
"children": [
|
|
70
|
+
"link",
|
|
71
|
+
"text-2"
|
|
72
|
+
]
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"id": "text-3",
|
|
76
|
+
"component": "Text",
|
|
77
|
+
"variant": "body",
|
|
78
|
+
"data-spacer": ""
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"id": "text-4",
|
|
82
|
+
"component": "Text",
|
|
83
|
+
"textContent": "Healthy",
|
|
84
|
+
"variant": "body"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"id": "tag",
|
|
88
|
+
"component": "Tag",
|
|
89
|
+
"size": "sm",
|
|
90
|
+
"variant": "success",
|
|
91
|
+
"children": [
|
|
92
|
+
"text-4"
|
|
93
|
+
]
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"id": "button-2",
|
|
97
|
+
"component": "Button",
|
|
98
|
+
"icon": "arrow-clockwise",
|
|
99
|
+
"size": "sm",
|
|
100
|
+
"variant": "ghost"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"id": "button-3",
|
|
104
|
+
"component": "Button",
|
|
105
|
+
"icon": "terminal",
|
|
106
|
+
"size": "sm",
|
|
107
|
+
"text": "Logs",
|
|
108
|
+
"variant": "outline"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"id": "column",
|
|
112
|
+
"component": "Column",
|
|
113
|
+
"data-actions": "",
|
|
114
|
+
"children": [
|
|
115
|
+
"button-2",
|
|
116
|
+
"button-3"
|
|
117
|
+
]
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"id": "root",
|
|
121
|
+
"component": "AdminTopbar",
|
|
122
|
+
"children": [
|
|
123
|
+
"button",
|
|
124
|
+
"breadcrumb",
|
|
125
|
+
"text-3",
|
|
126
|
+
"tag",
|
|
127
|
+
"column"
|
|
128
|
+
]
|
|
129
|
+
}
|
|
130
|
+
]
|
|
131
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "admin-topbar-trailing-toggle",
|
|
3
|
+
"kind": "block",
|
|
4
|
+
"primary": "admin-topbar",
|
|
5
|
+
"page": "/site/patterns/admin-content-topbar.html",
|
|
6
|
+
"slots": [],
|
|
7
|
+
"nested": [],
|
|
8
|
+
"attrs": {},
|
|
9
|
+
"html": "<admin-topbar>\n <button-ui data-sidebar-toggle=\"leading\" icon=\"sidebar\" variant=\"ghost\" size=\"sm\" title=\"Toggle nav\"></button-ui>\n <breadcrumb-ui>\n <a href=\"#\">Records</a>\n <span>Acme Co.</span>\n </breadcrumb-ui>\n <span data-spacer></span>\n <div data-actions>\n <button-ui text=\"Edit\" icon=\"pencil\" variant=\"outline\" size=\"sm\"></button-ui>\n <button-ui data-sidebar-toggle=\"trailing\" icon=\"sidebar\" variant=\"ghost\" size=\"sm\" title=\"Toggle inspector\"></button-ui>\n </div>\n </admin-topbar>",
|
|
10
|
+
"source": "site/pages/patterns/admin-content-topbar.html",
|
|
11
|
+
"metadata": {
|
|
12
|
+
"domain": "navigation",
|
|
13
|
+
"description": "App-chrome topbar with both leading-nav and trailing-inspector toggles — data-sidebar-toggle=trailing wires a button to a second admin-sidebar (inspector / context rail) collapsed state.",
|
|
14
|
+
"keywords": [
|
|
15
|
+
"admin",
|
|
16
|
+
"topbar",
|
|
17
|
+
"trailing",
|
|
18
|
+
"toggle",
|
|
19
|
+
"inspector",
|
|
20
|
+
"context",
|
|
21
|
+
"rail",
|
|
22
|
+
"sidebar",
|
|
23
|
+
"leading",
|
|
24
|
+
"edit",
|
|
25
|
+
"breadcrumb",
|
|
26
|
+
"navigation",
|
|
27
|
+
"admin-topbar",
|
|
28
|
+
"data-sidebar-toggle",
|
|
29
|
+
"records",
|
|
30
|
+
"detail"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"captured_at": "2026-06-09T18:16:34.245Z",
|
|
34
|
+
"template": [
|
|
35
|
+
{
|
|
36
|
+
"id": "button",
|
|
37
|
+
"component": "Button",
|
|
38
|
+
"icon": "sidebar",
|
|
39
|
+
"size": "sm",
|
|
40
|
+
"variant": "ghost",
|
|
41
|
+
"data-sidebar-toggle": "leading"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"id": "text",
|
|
45
|
+
"component": "Text",
|
|
46
|
+
"textContent": "Records",
|
|
47
|
+
"variant": "body"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"id": "link",
|
|
51
|
+
"component": "Link",
|
|
52
|
+
"href": "#",
|
|
53
|
+
"text": "Records",
|
|
54
|
+
"children": [
|
|
55
|
+
"text"
|
|
56
|
+
]
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"id": "text-2",
|
|
60
|
+
"component": "Text",
|
|
61
|
+
"variant": "body",
|
|
62
|
+
"textContent": "Acme Co."
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"id": "breadcrumb",
|
|
66
|
+
"component": "Breadcrumb",
|
|
67
|
+
"children": [
|
|
68
|
+
"link",
|
|
69
|
+
"text-2"
|
|
70
|
+
]
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"id": "text-3",
|
|
74
|
+
"component": "Text",
|
|
75
|
+
"variant": "body",
|
|
76
|
+
"data-spacer": ""
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"id": "button-2",
|
|
80
|
+
"component": "Button",
|
|
81
|
+
"icon": "pencil",
|
|
82
|
+
"size": "sm",
|
|
83
|
+
"text": "Edit",
|
|
84
|
+
"variant": "outline"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"id": "button-3",
|
|
88
|
+
"component": "Button",
|
|
89
|
+
"icon": "sidebar",
|
|
90
|
+
"size": "sm",
|
|
91
|
+
"variant": "ghost",
|
|
92
|
+
"data-sidebar-toggle": "trailing"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"id": "column",
|
|
96
|
+
"component": "Column",
|
|
97
|
+
"data-actions": "",
|
|
98
|
+
"children": [
|
|
99
|
+
"button-2",
|
|
100
|
+
"button-3"
|
|
101
|
+
]
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"id": "root",
|
|
105
|
+
"component": "AdminTopbar",
|
|
106
|
+
"children": [
|
|
107
|
+
"button",
|
|
108
|
+
"breadcrumb",
|
|
109
|
+
"text-3",
|
|
110
|
+
"column"
|
|
111
|
+
]
|
|
112
|
+
}
|
|
113
|
+
]
|
|
114
|
+
}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "form-checkbox-group",
|
|
3
|
+
"kind": "block",
|
|
4
|
+
"primary": "col-ui",
|
|
5
|
+
"page": "/site/patterns/forms.html",
|
|
6
|
+
"slots": [],
|
|
7
|
+
"nested": [],
|
|
8
|
+
"attrs": {
|
|
9
|
+
"gap": "2"
|
|
10
|
+
},
|
|
11
|
+
"html": "<col-ui gap=\"2\">\n <check-ui label=\"Send weekly digest\"></check-ui>\n <check-ui label=\"Send product updates\" checked></check-ui>\n <check-ui label=\"Send security alerts\" checked></check-ui>\n </col-ui>",
|
|
12
|
+
"source": "site/pages/patterns/forms.html",
|
|
13
|
+
"metadata": {
|
|
14
|
+
"domain": "forms",
|
|
15
|
+
"description": "A vertical group of self-labeling checkboxes — check-ui rows stacked in a col-ui, each carrying its own label attribute (no field-ui wrapper). For multi-select preferences like notification opt-ins.",
|
|
16
|
+
"keywords": [
|
|
17
|
+
"form",
|
|
18
|
+
"checkbox",
|
|
19
|
+
"group",
|
|
20
|
+
"self-labeling",
|
|
21
|
+
"check-ui",
|
|
22
|
+
"col-ui",
|
|
23
|
+
"multi-select",
|
|
24
|
+
"preferences",
|
|
25
|
+
"opt-in",
|
|
26
|
+
"notifications",
|
|
27
|
+
"digest",
|
|
28
|
+
"stacked",
|
|
29
|
+
"vertical",
|
|
30
|
+
"forms",
|
|
31
|
+
"label",
|
|
32
|
+
"checked"
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
"captured_at": "2026-06-09T18:16:34.245Z",
|
|
36
|
+
"template": [
|
|
37
|
+
{
|
|
38
|
+
"id": "check-box",
|
|
39
|
+
"component": "CheckBox",
|
|
40
|
+
"label": "Send weekly digest"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"id": "check-box-2",
|
|
44
|
+
"component": "CheckBox",
|
|
45
|
+
"checked": true,
|
|
46
|
+
"label": "Send product updates"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"id": "check-box-3",
|
|
50
|
+
"component": "CheckBox",
|
|
51
|
+
"checked": true,
|
|
52
|
+
"label": "Send security alerts"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"id": "root",
|
|
56
|
+
"component": "Column",
|
|
57
|
+
"gap": "2",
|
|
58
|
+
"children": [
|
|
59
|
+
"check-box",
|
|
60
|
+
"check-box-2",
|
|
61
|
+
"check-box-3"
|
|
62
|
+
]
|
|
63
|
+
}
|
|
64
|
+
]
|
|
65
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "form-field-email-hint",
|
|
3
|
+
"kind": "block",
|
|
4
|
+
"primary": "field-ui",
|
|
5
|
+
"page": "/site/patterns/forms.html",
|
|
6
|
+
"slots": [],
|
|
7
|
+
"nested": [],
|
|
8
|
+
"attrs": {
|
|
9
|
+
"label": "Email address",
|
|
10
|
+
"hint": "We'll never share your email."
|
|
11
|
+
},
|
|
12
|
+
"html": "<field-ui label=\"Email address\" hint=\"We'll never share your email.\">\n <input-ui type=\"email\" placeholder=\"you@example.com\"></input-ui>\n </field-ui>",
|
|
13
|
+
"source": "site/pages/patterns/forms.html",
|
|
14
|
+
"metadata": {
|
|
15
|
+
"domain": "forms",
|
|
16
|
+
"description": "A labeled email field with helper hint text — field-ui wrapping an input-ui type=email. The canonical field-wrapper shape that owns the label, hint, and ARIA binding.",
|
|
17
|
+
"keywords": [
|
|
18
|
+
"form",
|
|
19
|
+
"field",
|
|
20
|
+
"email",
|
|
21
|
+
"hint",
|
|
22
|
+
"helper",
|
|
23
|
+
"label",
|
|
24
|
+
"field-ui",
|
|
25
|
+
"input-ui",
|
|
26
|
+
"type-email",
|
|
27
|
+
"wrapper",
|
|
28
|
+
"labeled",
|
|
29
|
+
"forms",
|
|
30
|
+
"validation",
|
|
31
|
+
"aria",
|
|
32
|
+
"placeholder"
|
|
33
|
+
]
|
|
34
|
+
},
|
|
35
|
+
"captured_at": "2026-06-09T18:16:34.245Z",
|
|
36
|
+
"template": [
|
|
37
|
+
{
|
|
38
|
+
"id": "input",
|
|
39
|
+
"component": "Input",
|
|
40
|
+
"type": "email",
|
|
41
|
+
"placeholder": "you@example.com"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"id": "root",
|
|
45
|
+
"component": "Field",
|
|
46
|
+
"hint": "We'll never share your email.",
|
|
47
|
+
"label": "Email address",
|
|
48
|
+
"children": [
|
|
49
|
+
"input"
|
|
50
|
+
]
|
|
51
|
+
}
|
|
52
|
+
]
|
|
53
|
+
}
|