@mindfiredigital/ignix-lite-mcp 1.2.0 → 1.3.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 +108 -0
- package/dist/server.js +187 -1954
- package/dist/server.js.map +1 -1
- package/dist/utils/check-api.js +2 -0
- package/dist/utils/check-api.js.map +1 -1
- package/package.json +14 -6
- package/.turbo/turbo-build.log +0 -25
- package/CHANGELOG.md +0 -7
- package/dist/manifests/accordion.json +0 -61
- package/dist/manifests/alert.json +0 -69
- package/dist/manifests/avatar.json +0 -75
- package/dist/manifests/badge.json +0 -74
- package/dist/manifests/breadcrumb.json +0 -87
- package/dist/manifests/button.json +0 -85
- package/dist/manifests/card.json +0 -91
- package/dist/manifests/checkbox.json +0 -122
- package/dist/manifests/codeblock.json +0 -63
- package/dist/manifests/combobox.json +0 -33
- package/dist/manifests/dialog.json +0 -64
- package/dist/manifests/divider.json +0 -47
- package/dist/manifests/dropdown.json +0 -105
- package/dist/manifests/form.json +0 -81
- package/dist/manifests/grid.json +0 -143
- package/dist/manifests/input.json +0 -99
- package/dist/manifests/meter.json +0 -103
- package/dist/manifests/navigation.json +0 -70
- package/dist/manifests/progress.json +0 -88
- package/dist/manifests/radio.json +0 -121
- package/dist/manifests/select.json +0 -109
- package/dist/manifests/skeleton.json +0 -101
- package/dist/manifests/tab.json +0 -88
- package/dist/manifests/table.json +0 -92
- package/dist/manifests/textarea.json +0 -117
- package/dist/manifests/toast.json +0 -157
- package/dist/manifests/tooltip.json +0 -115
- package/dist/vector-index.json +0 -14015
- package/src/context/api-context.ts +0 -14
- package/src/global.d.ts +0 -15
- package/src/manifests/accordion.json +0 -61
- package/src/manifests/alert.json +0 -69
- package/src/manifests/avatar.json +0 -75
- package/src/manifests/badge.json +0 -74
- package/src/manifests/breadcrumb.json +0 -87
- package/src/manifests/button.json +0 -85
- package/src/manifests/card.json +0 -91
- package/src/manifests/checkbox.json +0 -122
- package/src/manifests/codeblock.json +0 -63
- package/src/manifests/combobox.json +0 -33
- package/src/manifests/dialog.json +0 -64
- package/src/manifests/divider.json +0 -47
- package/src/manifests/dropdown.json +0 -105
- package/src/manifests/form.json +0 -81
- package/src/manifests/grid.json +0 -143
- package/src/manifests/index.ts +0 -45
- package/src/manifests/input.json +0 -99
- package/src/manifests/meter.json +0 -103
- package/src/manifests/navigation.json +0 -70
- package/src/manifests/progress.json +0 -88
- package/src/manifests/radio.json +0 -121
- package/src/manifests/select.json +0 -109
- package/src/manifests/skeleton.json +0 -101
- package/src/manifests/tab.json +0 -88
- package/src/manifests/table.json +0 -92
- package/src/manifests/textarea.json +0 -117
- package/src/manifests/toast.json +0 -157
- package/src/manifests/tooltip.json +0 -115
- package/src/server.ts +0 -201
- package/src/tools/build-index.ts +0 -55
- package/src/tools/check-a11y.ts +0 -106
- package/src/tools/embedder.ts +0 -18
- package/src/tools/generate-theme.ts +0 -42
- package/src/tools/get-emmet.ts +0 -64
- package/src/tools/get-manifests.ts +0 -55
- package/src/tools/intent-engine.ts +0 -197
- package/src/tools/list-components.ts +0 -20
- package/src/tools/search-index.ts +0 -66
- package/src/tools/theme-palette.ts +0 -65
- package/src/tools/theme-tokens.ts +0 -176
- package/src/tools/validator.ts +0 -367
- package/src/types.ts +0 -63
- package/src/utils/a11y-rules.ts +0 -873
- package/src/utils/a11y-types.ts +0 -15
- package/src/utils/check-api.ts +0 -13
- package/src/utils/cosine.ts +0 -15
- package/src/utils/emmet-helpers.ts +0 -171
- package/src/utils/intent-helpers.ts +0 -66
- package/src/utils/intent-parser.ts +0 -186
- package/src/utils/tokenizer.ts +0 -7
- package/tsconfig.json +0 -14
- package/tsup.config.ts +0 -13
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"component": "avatar",
|
|
3
|
-
"version": "2.0",
|
|
4
|
-
|
|
5
|
-
"description": "Displays user profile visuals using native img element with text fallback support through span. Supports multiple sizes and loading skeletons.",
|
|
6
|
-
|
|
7
|
-
"element": "img | span",
|
|
8
|
-
|
|
9
|
-
"emmet": "img[src=? alt=? data-size=?]",
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
"props": {
|
|
13
|
-
"data-size": {
|
|
14
|
-
"type": "enum",
|
|
15
|
-
"values": ["sm", "md", "lg"],
|
|
16
|
-
"default": "md",
|
|
17
|
-
"native": false,
|
|
18
|
-
"agent_hint": "Use sm for compact lists, md for profile previews, lg for detailed cards."
|
|
19
|
-
},
|
|
20
|
-
|
|
21
|
-
"src": {
|
|
22
|
-
"type": "string",
|
|
23
|
-
"native": true,
|
|
24
|
-
"agent_hint": "Image URL for avatar image."
|
|
25
|
-
},
|
|
26
|
-
|
|
27
|
-
"alt": {
|
|
28
|
-
"type": "string",
|
|
29
|
-
"native": true,
|
|
30
|
-
"agent_hint": "Always provide descriptive alt text for accessibility."
|
|
31
|
-
}
|
|
32
|
-
},
|
|
33
|
-
|
|
34
|
-
"states": ["loading"],
|
|
35
|
-
|
|
36
|
-
"forbidden_props": ["size", "variant", "shape", "rounded", "class"],
|
|
37
|
-
|
|
38
|
-
"required_props": [],
|
|
39
|
-
|
|
40
|
-
"required_slots": [],
|
|
41
|
-
|
|
42
|
-
"fallback_element": "span",
|
|
43
|
-
|
|
44
|
-
"do": [
|
|
45
|
-
"Use img for avatar images",
|
|
46
|
-
"Use span fallback for initials",
|
|
47
|
-
"Always provide alt text on images"
|
|
48
|
-
],
|
|
49
|
-
|
|
50
|
-
"dont": [
|
|
51
|
-
"Do not use class attribute",
|
|
52
|
-
"Do not use size prop instead of data-size",
|
|
53
|
-
"Do not omit alt attribute on img"
|
|
54
|
-
],
|
|
55
|
-
|
|
56
|
-
"examples": [
|
|
57
|
-
{
|
|
58
|
-
"label": "Small avatar",
|
|
59
|
-
"emmet": "img[src=? alt=User data-size=sm]",
|
|
60
|
-
"html": "<img src=\"https://picsum.photos/100\" alt=\"User\" data-size=\"sm\">"
|
|
61
|
-
},
|
|
62
|
-
|
|
63
|
-
{
|
|
64
|
-
"label": "Medium avatar",
|
|
65
|
-
"emmet": "img[src=? alt=Sarah data-size=md]",
|
|
66
|
-
"html": "<img src=\"https://picsum.photos/100\" alt=\"Sarah\" data-size=\"md\">"
|
|
67
|
-
},
|
|
68
|
-
|
|
69
|
-
{
|
|
70
|
-
"label": "Fallback initials",
|
|
71
|
-
"emmet": "span[data-size=md]{JD}",
|
|
72
|
-
"html": "<span data-size=\"md\">JD</span>"
|
|
73
|
-
}
|
|
74
|
-
]
|
|
75
|
-
}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"component": "badge",
|
|
3
|
-
"version": "2.0",
|
|
4
|
-
"description": "Status indicator using mark or span[role=status] with intent styling.",
|
|
5
|
-
|
|
6
|
-
"element": "badge",
|
|
7
|
-
|
|
8
|
-
"emmet": "mark[data-intent=?]{Label}",
|
|
9
|
-
"tokens": 3,
|
|
10
|
-
|
|
11
|
-
"props": {
|
|
12
|
-
"data-intent": {
|
|
13
|
-
"type": "enum",
|
|
14
|
-
"values": ["success", "danger", "warning", "neutral"],
|
|
15
|
-
"default": "neutral",
|
|
16
|
-
"native": false,
|
|
17
|
-
"agent_hint": "Controls badge color"
|
|
18
|
-
},
|
|
19
|
-
|
|
20
|
-
"role": {
|
|
21
|
-
"type": "enum",
|
|
22
|
-
"values": ["status"],
|
|
23
|
-
"native": true,
|
|
24
|
-
"agent_hint": "Required when using span"
|
|
25
|
-
}
|
|
26
|
-
},
|
|
27
|
-
|
|
28
|
-
"allowed_elements": ["mark", "span"],
|
|
29
|
-
|
|
30
|
-
"required_conditions": ["span must have role=status"],
|
|
31
|
-
|
|
32
|
-
"states": [],
|
|
33
|
-
|
|
34
|
-
"required_props": [],
|
|
35
|
-
|
|
36
|
-
"forbidden_props": ["class", "variant", "color", "style", "onclick"],
|
|
37
|
-
|
|
38
|
-
"do": [
|
|
39
|
-
"Use mark for standard badges",
|
|
40
|
-
"Use span with role=status for accessibility cases",
|
|
41
|
-
"Use data-intent to convey meaning",
|
|
42
|
-
"Keep text short"
|
|
43
|
-
],
|
|
44
|
-
|
|
45
|
-
"dont": [
|
|
46
|
-
"Do not use class attribute",
|
|
47
|
-
"Do not use variant or color props",
|
|
48
|
-
"Do not attach JS handlers",
|
|
49
|
-
"Do not use span without role=status"
|
|
50
|
-
],
|
|
51
|
-
|
|
52
|
-
"examples": [
|
|
53
|
-
{
|
|
54
|
-
"label": "Basic badge",
|
|
55
|
-
"emmet": "mark[data-intent=neutral]{Active}",
|
|
56
|
-
"html": "<mark data-intent=\"neutral\">Active</mark>"
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
"label": "Success badge",
|
|
60
|
-
"emmet": "mark[data-intent=success]{Active}",
|
|
61
|
-
"html": "<mark data-intent=\"success\">Active</mark>"
|
|
62
|
-
},
|
|
63
|
-
{
|
|
64
|
-
"label": "Danger badge",
|
|
65
|
-
"emmet": "mark[data-intent=danger]{Error}",
|
|
66
|
-
"html": "<mark data-intent=\"danger\">Error</mark>"
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
"label": "Status badge",
|
|
70
|
-
"emmet": "span[role=status data-intent=success]{Active}",
|
|
71
|
-
"html": "<span role=\"status\" data-intent=\"success\">Active</span>"
|
|
72
|
-
}
|
|
73
|
-
]
|
|
74
|
-
}
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"component": "breadcrumb",
|
|
3
|
-
"version": "2.0",
|
|
4
|
-
"description": "Displays hierarchical navigation path using native nav > ol > li > a structure.",
|
|
5
|
-
|
|
6
|
-
"element": "nav",
|
|
7
|
-
|
|
8
|
-
"emmet": "nav[aria-label=Breadcrumb]>ol>(li>a[href=?])*3",
|
|
9
|
-
|
|
10
|
-
"props": {
|
|
11
|
-
"data-style": {
|
|
12
|
-
"type": "enum",
|
|
13
|
-
|
|
14
|
-
"values": ["chevron", "slash", "guillemet", "arrow", "thread", "pipe"],
|
|
15
|
-
|
|
16
|
-
"default": "chevron",
|
|
17
|
-
"native": false,
|
|
18
|
-
"agent_hint": "Controls breadcrumb separator style."
|
|
19
|
-
},
|
|
20
|
-
|
|
21
|
-
"data-intent": {
|
|
22
|
-
"type": "enum",
|
|
23
|
-
|
|
24
|
-
"values": ["primary", "success", "warning", "danger", "gradient"],
|
|
25
|
-
|
|
26
|
-
"default": "primary",
|
|
27
|
-
"native": false,
|
|
28
|
-
"agent_hint": "Controls active breadcrumb color intent."
|
|
29
|
-
},
|
|
30
|
-
|
|
31
|
-
"aria-label": {
|
|
32
|
-
"type": "string",
|
|
33
|
-
"native": true,
|
|
34
|
-
"required": true,
|
|
35
|
-
"agent_hint": "Use aria-label='Breadcrumb' for accessibility."
|
|
36
|
-
}
|
|
37
|
-
},
|
|
38
|
-
|
|
39
|
-
"states": [],
|
|
40
|
-
"slots": {},
|
|
41
|
-
|
|
42
|
-
"forbidden_props": [
|
|
43
|
-
"variant",
|
|
44
|
-
"color",
|
|
45
|
-
"appearance",
|
|
46
|
-
"separator",
|
|
47
|
-
"items",
|
|
48
|
-
"activeItem",
|
|
49
|
-
"class"
|
|
50
|
-
],
|
|
51
|
-
|
|
52
|
-
"required_props": ["aria-label"],
|
|
53
|
-
|
|
54
|
-
"required_slots": [],
|
|
55
|
-
|
|
56
|
-
"do": [
|
|
57
|
-
"Use nav as breadcrumb container",
|
|
58
|
-
"Use ordered list structure",
|
|
59
|
-
"Mark current page using aria-current='page'"
|
|
60
|
-
],
|
|
61
|
-
|
|
62
|
-
"dont": [
|
|
63
|
-
"Do not use class attribute",
|
|
64
|
-
"Do not replace nav with div",
|
|
65
|
-
"Do not pass breadcrumb items as props"
|
|
66
|
-
],
|
|
67
|
-
|
|
68
|
-
"examples": [
|
|
69
|
-
{
|
|
70
|
-
"label": "Default breadcrumb",
|
|
71
|
-
"emmet": "nav[aria-label=Breadcrumb]>ol>(li>a[href=?])*3",
|
|
72
|
-
"html": "<nav aria-label=\"Breadcrumb\"><ol><li><a href=\"#\">Home</a></li><li><a href=\"#\">Docs</a></li><li><a aria-current=\"page\">Breadcrumb</a></li></ol></nav>"
|
|
73
|
-
},
|
|
74
|
-
|
|
75
|
-
{
|
|
76
|
-
"label": "Slash style",
|
|
77
|
-
"emmet": "nav[aria-label=Breadcrumb data-style=slash]>ol>(li>a[href=?])*3",
|
|
78
|
-
"html": "<nav aria-label=\"Breadcrumb\" data-style=\"slash\"></nav>"
|
|
79
|
-
},
|
|
80
|
-
|
|
81
|
-
{
|
|
82
|
-
"label": "Danger intent",
|
|
83
|
-
"emmet": "nav[aria-label=Breadcrumb data-intent=danger]>ol>(li>a[href=?])*3",
|
|
84
|
-
"html": "<nav aria-label=\"Breadcrumb\" data-intent=\"danger\"></nav>"
|
|
85
|
-
}
|
|
86
|
-
]
|
|
87
|
-
}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"component": "button",
|
|
3
|
-
"version": "2.0",
|
|
4
|
-
"description": "Triggers an action. Renders as native <button>.",
|
|
5
|
-
|
|
6
|
-
"element": "button",
|
|
7
|
-
|
|
8
|
-
"emmet": "button[data-intent=?]{label}",
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
"props": {
|
|
12
|
-
"data-intent": {
|
|
13
|
-
"type": "enum",
|
|
14
|
-
"values": ["primary", "danger", "warning", "success", "neutral", "ghost"],
|
|
15
|
-
"default": "primary",
|
|
16
|
-
"native": false,
|
|
17
|
-
"agent_hint": "Use danger for destructive actions. Use ghost for secondary actions."
|
|
18
|
-
},
|
|
19
|
-
|
|
20
|
-
"disabled": {
|
|
21
|
-
"type": "boolean",
|
|
22
|
-
"native": true,
|
|
23
|
-
"agent_hint": "Use native disabled attribute"
|
|
24
|
-
},
|
|
25
|
-
|
|
26
|
-
"aria-busy": {
|
|
27
|
-
"type": "boolean",
|
|
28
|
-
"native": true,
|
|
29
|
-
"agent_hint": "Use for loading state"
|
|
30
|
-
},
|
|
31
|
-
|
|
32
|
-
"type": {
|
|
33
|
-
"type": "enum",
|
|
34
|
-
"values": ["button", "submit", "reset"],
|
|
35
|
-
"default": "button",
|
|
36
|
-
"native": true
|
|
37
|
-
}
|
|
38
|
-
},
|
|
39
|
-
|
|
40
|
-
"states": ["disabled", "aria-busy"],
|
|
41
|
-
|
|
42
|
-
"forbidden_props": [
|
|
43
|
-
"variant",
|
|
44
|
-
"color",
|
|
45
|
-
"appearance",
|
|
46
|
-
"colorScheme",
|
|
47
|
-
"isLoading",
|
|
48
|
-
"isDisabled",
|
|
49
|
-
"size",
|
|
50
|
-
"class"
|
|
51
|
-
],
|
|
52
|
-
|
|
53
|
-
"required_props": [],
|
|
54
|
-
"required_slots": [],
|
|
55
|
-
|
|
56
|
-
"do": [
|
|
57
|
-
"Use data-intent='danger' for destructive actions",
|
|
58
|
-
"Use aria-busy='true' for loading state",
|
|
59
|
-
"Use type='submit' inside forms"
|
|
60
|
-
],
|
|
61
|
-
|
|
62
|
-
"dont": [
|
|
63
|
-
"Do not use class attribute",
|
|
64
|
-
"Do not use variant or color props",
|
|
65
|
-
"Do not use isLoading or isDisabled"
|
|
66
|
-
],
|
|
67
|
-
|
|
68
|
-
"examples": [
|
|
69
|
-
{
|
|
70
|
-
"label": "Primary button",
|
|
71
|
-
"emmet": "button[data-intent=primary]{Save}",
|
|
72
|
-
"html": "<button data-intent=\"primary\">Save</button>"
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
"label": "Danger button",
|
|
76
|
-
"emmet": "button[data-intent=danger]{Delete}",
|
|
77
|
-
"html": "<button data-intent=\"danger\">Delete</button>"
|
|
78
|
-
},
|
|
79
|
-
{
|
|
80
|
-
"label": "Loading button",
|
|
81
|
-
"emmet": "button[aria-busy=true]{Saving...}",
|
|
82
|
-
"html": "<button aria-busy=\"true\">Saving...</button>"
|
|
83
|
-
}
|
|
84
|
-
]
|
|
85
|
-
}
|
package/dist/manifests/card.json
DELETED
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"component": "card",
|
|
3
|
-
"version": "2.0",
|
|
4
|
-
"description": "Displays structured content using semantic slots for avatar, title, metadata, body, actions, and footer. Renders as native article element.",
|
|
5
|
-
|
|
6
|
-
"element": "article",
|
|
7
|
-
|
|
8
|
-
"emmet": "article>(img[slot=avatar])+(span[slot=title])+(p[slot=body])",
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
"props": {},
|
|
12
|
-
|
|
13
|
-
"states": [],
|
|
14
|
-
|
|
15
|
-
"slots": {
|
|
16
|
-
"avatar": {
|
|
17
|
-
"required": false,
|
|
18
|
-
|
|
19
|
-
"element": ["img", "span"],
|
|
20
|
-
|
|
21
|
-
"agent_hint": "Avatar image or visual content."
|
|
22
|
-
},
|
|
23
|
-
|
|
24
|
-
"title": {
|
|
25
|
-
"required": true,
|
|
26
|
-
|
|
27
|
-
"element": ["span", "h1", "h2", "h3"],
|
|
28
|
-
|
|
29
|
-
"agent_hint": "Primary card heading."
|
|
30
|
-
},
|
|
31
|
-
|
|
32
|
-
"meta": {
|
|
33
|
-
"required": false,
|
|
34
|
-
|
|
35
|
-
"element": ["span", "small"],
|
|
36
|
-
|
|
37
|
-
"agent_hint": "Subtitle or metadata."
|
|
38
|
-
},
|
|
39
|
-
|
|
40
|
-
"body": {
|
|
41
|
-
"required": true,
|
|
42
|
-
|
|
43
|
-
"element": ["p"],
|
|
44
|
-
|
|
45
|
-
"agent_hint": "Main content area."
|
|
46
|
-
},
|
|
47
|
-
|
|
48
|
-
"action": {
|
|
49
|
-
"required": false,
|
|
50
|
-
|
|
51
|
-
"element": ["button", "a"],
|
|
52
|
-
|
|
53
|
-
"agent_hint": "Primary action area."
|
|
54
|
-
},
|
|
55
|
-
|
|
56
|
-
"footer": {
|
|
57
|
-
"required": false,
|
|
58
|
-
|
|
59
|
-
"element": ["span", "small"],
|
|
60
|
-
|
|
61
|
-
"agent_hint": "Footer metadata."
|
|
62
|
-
}
|
|
63
|
-
},
|
|
64
|
-
|
|
65
|
-
"forbidden_props": [
|
|
66
|
-
"title",
|
|
67
|
-
"subtitle",
|
|
68
|
-
"avatar",
|
|
69
|
-
"image",
|
|
70
|
-
"body",
|
|
71
|
-
"footer",
|
|
72
|
-
"actionLabel",
|
|
73
|
-
"class"
|
|
74
|
-
],
|
|
75
|
-
|
|
76
|
-
"required_props": [],
|
|
77
|
-
|
|
78
|
-
"required_slots": ["title", "body"],
|
|
79
|
-
|
|
80
|
-
"do": [
|
|
81
|
-
"Use slot attributes for content placement",
|
|
82
|
-
"Use article as card container",
|
|
83
|
-
"Place actions inside slot='action'"
|
|
84
|
-
],
|
|
85
|
-
|
|
86
|
-
"dont": [
|
|
87
|
-
"Do not pass title or body as props",
|
|
88
|
-
"Do not replace slots with attributes",
|
|
89
|
-
"Do not use class attribute"
|
|
90
|
-
]
|
|
91
|
-
}
|
|
@@ -1,122 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"component": "checkbox",
|
|
3
|
-
"version": "2.0",
|
|
4
|
-
"description": "Checkbox for boolean selection. Must be wrapped inside a label element.",
|
|
5
|
-
|
|
6
|
-
"element": "input",
|
|
7
|
-
|
|
8
|
-
"emmet": "label[data-intent=? data-size=?]>(input[type=checkbox]+{Label})",
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
"props": {
|
|
12
|
-
"type": {
|
|
13
|
-
"type": "enum",
|
|
14
|
-
"values": ["checkbox"],
|
|
15
|
-
"default": "checkbox",
|
|
16
|
-
"native": true,
|
|
17
|
-
"agent_hint": "Always use type=checkbox"
|
|
18
|
-
},
|
|
19
|
-
|
|
20
|
-
"checked": {
|
|
21
|
-
"type": "boolean",
|
|
22
|
-
"native": true,
|
|
23
|
-
"agent_hint": "Marks checkbox as checked"
|
|
24
|
-
},
|
|
25
|
-
|
|
26
|
-
"disabled": {
|
|
27
|
-
"type": "boolean",
|
|
28
|
-
"native": true,
|
|
29
|
-
"agent_hint": "Disables checkbox"
|
|
30
|
-
},
|
|
31
|
-
|
|
32
|
-
"required": {
|
|
33
|
-
"type": "boolean",
|
|
34
|
-
"native": true,
|
|
35
|
-
"agent_hint": "Marks checkbox as required"
|
|
36
|
-
},
|
|
37
|
-
|
|
38
|
-
"name": {
|
|
39
|
-
"type": "string",
|
|
40
|
-
"native": true,
|
|
41
|
-
"agent_hint": "Used for grouping checkboxes"
|
|
42
|
-
},
|
|
43
|
-
|
|
44
|
-
"value": {
|
|
45
|
-
"type": "string",
|
|
46
|
-
"native": true,
|
|
47
|
-
"agent_hint": "Submitted value in forms"
|
|
48
|
-
},
|
|
49
|
-
|
|
50
|
-
"data-intent": {
|
|
51
|
-
"type": "enum",
|
|
52
|
-
"values": ["success", "danger", "warning", "neutral"],
|
|
53
|
-
"default": "neutral",
|
|
54
|
-
"native": false,
|
|
55
|
-
"agent_hint": "Controls checkbox color (applied on label)"
|
|
56
|
-
},
|
|
57
|
-
|
|
58
|
-
"data-size": {
|
|
59
|
-
"type": "enum",
|
|
60
|
-
"values": ["sm", "md", "lg"],
|
|
61
|
-
"default": "md",
|
|
62
|
-
"native": false,
|
|
63
|
-
"agent_hint": "Controls checkbox size (applied on label)"
|
|
64
|
-
}
|
|
65
|
-
},
|
|
66
|
-
|
|
67
|
-
"states": ["checked", "disabled"],
|
|
68
|
-
|
|
69
|
-
"required_props": ["type"],
|
|
70
|
-
|
|
71
|
-
"required_wrapper": "label",
|
|
72
|
-
|
|
73
|
-
"forbidden_props": ["class", "variant", "color", "style", "onclick"],
|
|
74
|
-
|
|
75
|
-
"do": [
|
|
76
|
-
"Wrap checkbox inside label",
|
|
77
|
-
"Use checked for default state",
|
|
78
|
-
"Use name and value for grouping",
|
|
79
|
-
"Use data-intent for styling",
|
|
80
|
-
"Use data-size for scaling"
|
|
81
|
-
],
|
|
82
|
-
|
|
83
|
-
"dont": [
|
|
84
|
-
"Do not use class attribute",
|
|
85
|
-
"Do not use variant or color props",
|
|
86
|
-
"Do not use inline JS handlers",
|
|
87
|
-
"Do not place checkbox outside label"
|
|
88
|
-
],
|
|
89
|
-
|
|
90
|
-
"examples": [
|
|
91
|
-
{
|
|
92
|
-
"label": "Basic checkbox",
|
|
93
|
-
"emmet": "label>(input[type=checkbox]+{Accept terms})",
|
|
94
|
-
"html": "<label><input type=\"checkbox\" />Accept terms</label>"
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
"label": "Checked checkbox",
|
|
98
|
-
"emmet": "label>(input[type=checkbox checked]+{Checked})",
|
|
99
|
-
"html": "<label><input type=\"checkbox\" checked />Checked</label>"
|
|
100
|
-
},
|
|
101
|
-
{
|
|
102
|
-
"label": "Disabled checkbox",
|
|
103
|
-
"emmet": "label>(input[type=checkbox disabled]+{Disabled})",
|
|
104
|
-
"html": "<label><input type=\"checkbox\" disabled />Disabled</label>"
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
"label": "Intent variant",
|
|
108
|
-
"emmet": "label[data-intent=success]>(input[type=checkbox checked]+{Success})",
|
|
109
|
-
"html": "<label data-intent=\"success\"><input type=\"checkbox\" checked />Success</label>"
|
|
110
|
-
},
|
|
111
|
-
{
|
|
112
|
-
"label": "Size variant",
|
|
113
|
-
"emmet": "label[data-size=lg]>(input[type=checkbox]+{Large})",
|
|
114
|
-
"html": "<label data-size=\"lg\"><input type=\"checkbox\" />Large</label>"
|
|
115
|
-
},
|
|
116
|
-
{
|
|
117
|
-
"label": "Checkbox group",
|
|
118
|
-
"emmet": "label>(input[type=checkbox name=lang value=js]+{JavaScript})",
|
|
119
|
-
"html": "<label><input type=\"checkbox\" name=\"lang\" value=\"js\" />JavaScript</label>"
|
|
120
|
-
}
|
|
121
|
-
]
|
|
122
|
-
}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"component": "code",
|
|
3
|
-
"version": "2.0",
|
|
4
|
-
|
|
5
|
-
"description": "Displays formatted code snippets using native pre and code elements with language metadata support and horizontal scrolling.",
|
|
6
|
-
|
|
7
|
-
"element": "pre > code",
|
|
8
|
-
|
|
9
|
-
"emmet": "pre>code[data-lang=?]{content}",
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
"props": {
|
|
13
|
-
"data-lang": {
|
|
14
|
-
"type": "string",
|
|
15
|
-
"values": ["js", "ts", "python", "bash", "html", "css", "json"],
|
|
16
|
-
"default": "text",
|
|
17
|
-
"native": false,
|
|
18
|
-
"agent_hint": "Specify language metadata for code examples."
|
|
19
|
-
}
|
|
20
|
-
},
|
|
21
|
-
|
|
22
|
-
"states": [],
|
|
23
|
-
|
|
24
|
-
"forbidden_props": ["language", "variant", "theme", "class"],
|
|
25
|
-
|
|
26
|
-
"required_props": [],
|
|
27
|
-
|
|
28
|
-
"required_slots": [],
|
|
29
|
-
|
|
30
|
-
"required_children": ["code"],
|
|
31
|
-
|
|
32
|
-
"do": [
|
|
33
|
-
"Wrap code inside pre element",
|
|
34
|
-
"Use data-lang to indicate language",
|
|
35
|
-
"Use code element for code content"
|
|
36
|
-
],
|
|
37
|
-
|
|
38
|
-
"dont": [
|
|
39
|
-
"Do not use div instead of pre",
|
|
40
|
-
"Do not use language prop",
|
|
41
|
-
"Do not use class attribute"
|
|
42
|
-
],
|
|
43
|
-
|
|
44
|
-
"examples": [
|
|
45
|
-
{
|
|
46
|
-
"label": "JavaScript code",
|
|
47
|
-
"emmet": "pre>code[data-lang=js]{function greet(){}}",
|
|
48
|
-
"html": "<pre><code data-lang=\"js\">function greet(){}</code></pre>"
|
|
49
|
-
},
|
|
50
|
-
|
|
51
|
-
{
|
|
52
|
-
"label": "Python code",
|
|
53
|
-
"emmet": "pre>code[data-lang=python]{print('Hello')}",
|
|
54
|
-
"html": "<pre><code data-lang=\"python\">print('Hello')</code></pre>"
|
|
55
|
-
},
|
|
56
|
-
|
|
57
|
-
{
|
|
58
|
-
"label": "Bash command",
|
|
59
|
-
"emmet": "pre>code[data-lang=bash]{npm install ignix-lite}",
|
|
60
|
-
"html": "<pre><code data-lang=\"bash\">npm install ignix-lite</code></pre>"
|
|
61
|
-
}
|
|
62
|
-
]
|
|
63
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"component": "ix-combobox",
|
|
3
|
-
"element": "ix-combobox",
|
|
4
|
-
|
|
5
|
-
"emmet": "ix-combobox>(label>(span[data-chips])+input[placeholder=?]+button[data-clear]{Clear})+ul>(li{Option})*",
|
|
6
|
-
|
|
7
|
-
"required_children": ["label", "input", "ul", "li"],
|
|
8
|
-
|
|
9
|
-
"optional_children": ["[data-chips]", "button[data-clear]"],
|
|
10
|
-
|
|
11
|
-
"props": {
|
|
12
|
-
"multiple": {
|
|
13
|
-
"type": "boolean",
|
|
14
|
-
"native": true,
|
|
15
|
-
"agent_hint": "Enables chip rendering and multi-select mode."
|
|
16
|
-
},
|
|
17
|
-
|
|
18
|
-
"data-intent": {
|
|
19
|
-
"type": "enum",
|
|
20
|
-
"values": ["primary", "success", "warning", "danger", "gradient"]
|
|
21
|
-
},
|
|
22
|
-
|
|
23
|
-
"data-clear": {
|
|
24
|
-
"type": "boolean",
|
|
25
|
-
"native": false
|
|
26
|
-
},
|
|
27
|
-
|
|
28
|
-
"data-chips": {
|
|
29
|
-
"type": "boolean",
|
|
30
|
-
"native": false
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|