@mindfiredigital/ignix-lite-mcp 1.2.0 → 1.4.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.
Files changed (90) hide show
  1. package/README.md +108 -0
  2. package/dist/server.js +187 -1954
  3. package/dist/server.js.map +1 -1
  4. package/dist/utils/check-api.js +2 -0
  5. package/dist/utils/check-api.js.map +1 -1
  6. package/package.json +14 -6
  7. package/.turbo/turbo-build.log +0 -25
  8. package/CHANGELOG.md +0 -7
  9. package/dist/manifests/accordion.json +0 -61
  10. package/dist/manifests/alert.json +0 -69
  11. package/dist/manifests/avatar.json +0 -75
  12. package/dist/manifests/badge.json +0 -74
  13. package/dist/manifests/breadcrumb.json +0 -87
  14. package/dist/manifests/button.json +0 -85
  15. package/dist/manifests/card.json +0 -91
  16. package/dist/manifests/checkbox.json +0 -122
  17. package/dist/manifests/codeblock.json +0 -63
  18. package/dist/manifests/combobox.json +0 -33
  19. package/dist/manifests/dialog.json +0 -64
  20. package/dist/manifests/divider.json +0 -47
  21. package/dist/manifests/dropdown.json +0 -105
  22. package/dist/manifests/form.json +0 -81
  23. package/dist/manifests/grid.json +0 -143
  24. package/dist/manifests/input.json +0 -99
  25. package/dist/manifests/meter.json +0 -103
  26. package/dist/manifests/navigation.json +0 -70
  27. package/dist/manifests/progress.json +0 -88
  28. package/dist/manifests/radio.json +0 -121
  29. package/dist/manifests/select.json +0 -109
  30. package/dist/manifests/skeleton.json +0 -101
  31. package/dist/manifests/tab.json +0 -88
  32. package/dist/manifests/table.json +0 -92
  33. package/dist/manifests/textarea.json +0 -117
  34. package/dist/manifests/toast.json +0 -157
  35. package/dist/manifests/tooltip.json +0 -115
  36. package/dist/vector-index.json +0 -14015
  37. package/src/context/api-context.ts +0 -14
  38. package/src/global.d.ts +0 -15
  39. package/src/manifests/accordion.json +0 -61
  40. package/src/manifests/alert.json +0 -69
  41. package/src/manifests/avatar.json +0 -75
  42. package/src/manifests/badge.json +0 -74
  43. package/src/manifests/breadcrumb.json +0 -87
  44. package/src/manifests/button.json +0 -85
  45. package/src/manifests/card.json +0 -91
  46. package/src/manifests/checkbox.json +0 -122
  47. package/src/manifests/codeblock.json +0 -63
  48. package/src/manifests/combobox.json +0 -33
  49. package/src/manifests/dialog.json +0 -64
  50. package/src/manifests/divider.json +0 -47
  51. package/src/manifests/dropdown.json +0 -105
  52. package/src/manifests/form.json +0 -81
  53. package/src/manifests/grid.json +0 -143
  54. package/src/manifests/index.ts +0 -45
  55. package/src/manifests/input.json +0 -99
  56. package/src/manifests/meter.json +0 -103
  57. package/src/manifests/navigation.json +0 -70
  58. package/src/manifests/progress.json +0 -88
  59. package/src/manifests/radio.json +0 -121
  60. package/src/manifests/select.json +0 -109
  61. package/src/manifests/skeleton.json +0 -101
  62. package/src/manifests/tab.json +0 -88
  63. package/src/manifests/table.json +0 -92
  64. package/src/manifests/textarea.json +0 -117
  65. package/src/manifests/toast.json +0 -157
  66. package/src/manifests/tooltip.json +0 -115
  67. package/src/server.ts +0 -201
  68. package/src/tools/build-index.ts +0 -55
  69. package/src/tools/check-a11y.ts +0 -106
  70. package/src/tools/embedder.ts +0 -18
  71. package/src/tools/generate-theme.ts +0 -42
  72. package/src/tools/get-emmet.ts +0 -64
  73. package/src/tools/get-manifests.ts +0 -55
  74. package/src/tools/intent-engine.ts +0 -197
  75. package/src/tools/list-components.ts +0 -20
  76. package/src/tools/search-index.ts +0 -66
  77. package/src/tools/theme-palette.ts +0 -65
  78. package/src/tools/theme-tokens.ts +0 -176
  79. package/src/tools/validator.ts +0 -367
  80. package/src/types.ts +0 -63
  81. package/src/utils/a11y-rules.ts +0 -873
  82. package/src/utils/a11y-types.ts +0 -15
  83. package/src/utils/check-api.ts +0 -13
  84. package/src/utils/cosine.ts +0 -15
  85. package/src/utils/emmet-helpers.ts +0 -171
  86. package/src/utils/intent-helpers.ts +0 -66
  87. package/src/utils/intent-parser.ts +0 -186
  88. package/src/utils/tokenizer.ts +0 -7
  89. package/tsconfig.json +0 -14
  90. package/tsup.config.ts +0 -13
@@ -1,101 +0,0 @@
1
- {
2
- "component": "skeleton",
3
- "version": "2.0",
4
- "description": "Displays loading placeholders using native span elements with semantic loading states.",
5
-
6
- "element": "span",
7
-
8
- "emmet": "span[aria-busy=true data-shape=text]",
9
-
10
- "props": {
11
- "data-shape": {
12
- "type": "enum",
13
- "values": ["text", "rect", "circle"],
14
- "default": "text",
15
- "native": false,
16
- "agent_hint": "Use text for content placeholders, rect for cards/banners, circle for avatars."
17
- },
18
-
19
- "aria-busy": {
20
- "type": "boolean",
21
- "native": true,
22
- "agent_hint": "Required loading state indicator."
23
- },
24
-
25
- "role": {
26
- "type": "string",
27
- "default": "status",
28
- "native": true,
29
- "agent_hint": "Use status role for accessibility."
30
- },
31
-
32
- "aria-label": {
33
- "type": "string",
34
- "native": true,
35
- "agent_hint": "Provide accessible loading description."
36
- },
37
-
38
- "data-lines": {
39
- "type": "number",
40
- "native": false,
41
- "agent_hint": "Use for multiple text line placeholders."
42
- }
43
- },
44
-
45
- "states": ["loading", "text", "rect", "circle", "multiple-lines"],
46
-
47
- "forbidden_props": [
48
- "variant",
49
- "intent",
50
- "color",
51
- "appearance",
52
- "size",
53
- "isLoading",
54
- "class"
55
- ],
56
-
57
- "required_props": ["aria-busy"],
58
-
59
- "required_slots": [],
60
-
61
- "do": [
62
- "Use aria-busy='true' during loading",
63
- "Use data-shape='text' for text placeholders",
64
- "Use data-shape='rect' for cards and banners",
65
- "Use data-shape='circle' for avatars",
66
- "Provide aria-label for accessibility"
67
- ],
68
-
69
- "dont": [
70
- "Do not use class attribute",
71
- "Do not use variant props",
72
- "Do not use color props",
73
- "Do not use skeleton after content loads"
74
- ],
75
-
76
- "examples": [
77
- {
78
- "label": "Text skeleton",
79
- "emmet": "span[role=status aria-busy=true aria-label='loading text' data-shape=text]",
80
- "html": "<span role=\"status\" aria-busy=\"true\" aria-label=\"loading text\" data-shape=\"text\"></span>"
81
- },
82
-
83
- {
84
- "label": "Rectangle skeleton",
85
- "emmet": "span[role=status aria-busy=true aria-label='loading rectangle' data-shape=rect]",
86
- "html": "<span role=\"status\" aria-busy=\"true\" aria-label=\"loading rectangle\" data-shape=\"rect\"></span>"
87
- },
88
-
89
- {
90
- "label": "Circle skeleton",
91
- "emmet": "span[role=status aria-busy=true aria-label='loading avatar' data-shape=circle]",
92
- "html": "<span role=\"status\" aria-busy=\"true\" aria-label=\"loading avatar\" data-shape=\"circle\"></span>"
93
- },
94
-
95
- {
96
- "label": "Multiple lines",
97
- "emmet": "span[role=status aria-busy=true data-shape=text data-lines=3]",
98
- "html": "<span role=\"status\" aria-busy=\"true\" data-shape=\"text\" data-lines=\"3\"></span>"
99
- }
100
- ]
101
- }
@@ -1,88 +0,0 @@
1
- {
2
- "component": "tabs",
3
- "version": "2.0",
4
- "description": "Provides semantic tab navigation using the ix-tabs custom element with keyboard accessibility and visual variants.",
5
- "element": "ix-tabs",
6
- "emmet": "ix-tabs>button[slot=tab]*3",
7
- "props": {
8
- "data-variant": {
9
- "type": "enum",
10
- "values": ["default", "underline", "pill", "gradient"],
11
- "default": "default",
12
- "native": false,
13
- "agent_hint": "Controls tab appearance."
14
- },
15
- "slot": {
16
- "type": "enum",
17
- "values": ["tab", "panel"],
18
- "native": true,
19
- "agent_hint": "tab defines trigger buttons, panel defines tab content."
20
- },
21
- "aria-selected": {
22
- "type": "boolean",
23
- "native": true,
24
- "agent_hint": "Marks active tab."
25
- },
26
- "role": {
27
- "type": "string",
28
- "native": true,
29
- "agent_hint": "Automatically applied for accessibility."
30
- },
31
- "hidden": {
32
- "type": "boolean",
33
- "native": true,
34
- "agent_hint": "Used for inactive panels."
35
- }
36
- },
37
- "states": ["selected", "focused", "keyboard-navigation"],
38
- "forbidden_props": [
39
- "variant",
40
- "color",
41
- "size",
42
- "appearance",
43
- "class",
44
- "activeTab"
45
- ],
46
- "required_props": [],
47
- "required_slots": ["tab"],
48
- "do": [
49
- "Use slot='tab' for tab triggers",
50
- "Use slot='panel' for content sections",
51
- "Use data-variant for visual styles",
52
- "Use aria-selected for active state",
53
- "Keep related panels inside ix-tabs"
54
- ],
55
- "dont": [
56
- "Do not use class styling",
57
- "Do not use variant prop",
58
- "Do not use custom active props",
59
- "Do not omit tab slot"
60
- ],
61
- "examples": [
62
- {
63
- "label": "Default tabs",
64
- "emmet": "ix-tabs>button[slot=tab]*3",
65
- "html": "<ix-tabs><button slot=\"tab\">Overview</button><button slot=\"tab\">Analytics</button><button slot=\"tab\">Settings</button></ix-tabs>"
66
- },
67
- {
68
- "label": "Underline tabs",
69
- "emmet": "ix-tabs[data-variant=underline]",
70
- "html": "<ix-tabs data-variant=\"underline\"><button slot=\"tab\">Profile</button><button slot=\"tab\">Activity</button><button slot=\"tab\">Security</button></ix-tabs>"
71
- },
72
- {
73
- "label": "Pill tabs",
74
- "emmet": "ix-tabs[data-variant=pill]",
75
- "html": "<ix-tabs data-variant=\"pill\"><button slot=\"tab\">Files</button><button slot=\"tab\">Shared</button><button slot=\"tab\">Starred</button></ix-tabs>"
76
- },
77
- {
78
- "label": "Gradient tabs",
79
- "emmet": "ix-tabs[data-variant=gradient]",
80
- "html": "<ix-tabs data-variant=\"gradient\"><button slot=\"tab\">Home</button><button slot=\"tab\">Dashboard</button><button slot=\"tab\">Reports</button></ix-tabs>"
81
- },
82
- {
83
- "label": "Tabs with panels",
84
- "emmet": "ix-tabs>button[slot=tab]+section[slot=panel]",
85
- "html": "<ix-tabs><button slot=\"tab\">Account</button><button slot=\"tab\">Billing</button><section slot=\"panel\">Account content</section><section slot=\"panel\">Billing content</section></ix-tabs>"
86
- }
87
- ]
88
- }
@@ -1,92 +0,0 @@
1
- {
2
- "component": "table",
3
- "version": "2.0",
4
- "description": "Provides semantic tables with optional sortable columns using the ix-table custom element extension.",
5
-
6
- "element": "table",
7
-
8
- "extends": "ix-table",
9
-
10
- "emmet": "table[is=ix-table]>thead>tr+tbody",
11
-
12
- "props": {
13
- "data-sortable": {
14
- "type": "boolean",
15
- "default": false,
16
- "native": false,
17
- "agent_hint": "Enables sorting on table header."
18
- },
19
-
20
- "aria-sort": {
21
- "type": "enum",
22
- "values": ["ascending", "descending", "none"],
23
- "default": "none",
24
- "native": true,
25
- "agent_hint": "Current sort direction."
26
- },
27
-
28
- "is": {
29
- "type": "string",
30
- "values": ["ix-table"],
31
- "default": "ix-table",
32
- "native": true,
33
- "agent_hint": "Activates sortable table behavior."
34
- }
35
- },
36
-
37
- "states": ["default", "ascending", "descending", "sortable"],
38
-
39
- "forbidden_props": ["sortable", "variant", "theme", "direction", "class"],
40
-
41
- "required_props": [],
42
-
43
- "required_slots": [],
44
-
45
- "methods": ["sortColumn(header)"],
46
-
47
- "do": [
48
- "Use is=\"ix-table\" for sorting",
49
- "Apply data-sortable on th only",
50
- "Keep tbody present",
51
- "Use aria-sort state"
52
- ],
53
-
54
- "dont": [
55
- "Do not add data-sortable on td",
56
- "Do not omit tbody",
57
- "Do not use custom sort attributes",
58
- "Do not use class based sorting"
59
- ],
60
-
61
- "examples": [
62
- {
63
- "label": "Default table",
64
- "emmet": "table>thead>tr+tbody",
65
- "html": "<table><thead><tr><th>Name</th><th>Email</th></tr></thead><tbody><tr><td>John</td><td>john@example.com</td></tr></tbody></table>"
66
- },
67
-
68
- {
69
- "label": "Sortable table",
70
- "emmet": "table[is=ix-table]",
71
- "html": "<table is=\"ix-table\"><thead><tr><th data-sortable>Name</th><th data-sortable>Age</th></tr></thead><tbody><tr><td>John</td><td>28</td></tr><tr><td>Alex</td><td>21</td></tr></tbody></table>"
72
- },
73
-
74
- {
75
- "label": "Ascending state",
76
- "emmet": "th[data-sortable]",
77
- "html": "<th data-sortable aria-sort=\"ascending\">Name</th>"
78
- },
79
-
80
- {
81
- "label": "Descending state",
82
- "emmet": "th[data-sortable]",
83
- "html": "<th data-sortable aria-sort=\"descending\">Age</th>"
84
- },
85
-
86
- {
87
- "label": "Status table",
88
- "emmet": "table[is=ix-table]",
89
- "html": "<table is=\"ix-table\"><thead><tr><th data-sortable>Name</th><th data-sortable>Status</th></tr></thead><tbody><tr><td>Riya</td><td><mark data-intent=\"success\">Active</mark></td></tr></tbody></table>"
90
- }
91
- ]
92
- }
@@ -1,117 +0,0 @@
1
- {
2
- "component": "textarea",
3
- "version": "2.0",
4
- "description": "Provides semantic multiline text input using the native HTML textarea element with validation states and intent variants.",
5
-
6
- "element": "textarea",
7
-
8
- "emmet": "textarea[rows=3 placeholder=?]",
9
-
10
- "props": {
11
- "rows": {
12
- "type": "number",
13
- "default": 3,
14
- "native": true,
15
- "agent_hint": "Controls textarea height."
16
- },
17
-
18
- "placeholder": {
19
- "type": "string",
20
- "native": true
21
- },
22
-
23
- "data-intent": {
24
- "type": "enum",
25
- "values": ["primary", "danger", "warning", "success", "neutral"],
26
- "default": "neutral",
27
- "native": false,
28
- "agent_hint": "Use primary for standard forms, danger for destructive flows, success for positive actions."
29
- },
30
-
31
- "disabled": {
32
- "type": "boolean",
33
- "native": true,
34
- "agent_hint": "Disables interaction."
35
- },
36
-
37
- "required": {
38
- "type": "boolean",
39
- "native": true,
40
- "agent_hint": "Marks field as mandatory."
41
- },
42
-
43
- "aria-invalid": {
44
- "type": "boolean",
45
- "native": true,
46
- "agent_hint": "Use for validation errors."
47
- }
48
- },
49
-
50
- "states": ["required", "disabled", "invalid"],
51
-
52
- "forbidden_props": [
53
- "variant",
54
- "color",
55
- "appearance",
56
- "colorScheme",
57
- "size",
58
- "isDisabled",
59
- "class"
60
- ],
61
-
62
- "required_props": [],
63
- "required_slots": [],
64
-
65
- "do": [
66
- "Use rows to control height",
67
- "Use aria-invalid='true' for validation errors",
68
- "Use disabled for unavailable fields",
69
- "Use data-intent for semantic styling",
70
- "Use placeholder for guidance text"
71
- ],
72
-
73
- "dont": [
74
- "Do not use class attribute",
75
- "Do not use variant props",
76
- "Do not use color props",
77
- "Do not use isDisabled"
78
- ],
79
-
80
- "examples": [
81
- {
82
- "label": "Default textarea",
83
- "emmet": "textarea[rows=3 placeholder='Enter message']",
84
- "html": "<textarea rows=\"3\" placeholder=\"Enter message\"></textarea>"
85
- },
86
-
87
- {
88
- "label": "Primary textarea",
89
- "emmet": "textarea[data-intent=primary rows=3]",
90
- "html": "<textarea rows=\"3\" data-intent=\"primary\"></textarea>"
91
- },
92
-
93
- {
94
- "label": "Required textarea",
95
- "emmet": "textarea[rows=3 required]",
96
- "html": "<textarea rows=\"3\" required></textarea>"
97
- },
98
-
99
- {
100
- "label": "Invalid textarea",
101
- "emmet": "textarea[rows=3 aria-invalid=true]",
102
- "html": "<textarea rows=\"3\" aria-invalid=\"true\"></textarea>"
103
- },
104
-
105
- {
106
- "label": "Disabled textarea",
107
- "emmet": "textarea[rows=3 disabled]",
108
- "html": "<textarea rows=\"3\" disabled></textarea>"
109
- },
110
-
111
- {
112
- "label": "Large textarea",
113
- "emmet": "textarea[rows=6 placeholder='Write feedback']",
114
- "html": "<textarea rows=\"6\" placeholder=\"Write feedback\"></textarea>"
115
- }
116
- ]
117
- }
@@ -1,157 +0,0 @@
1
- {
2
- "component": "toast",
3
- "version": "2.0",
4
- "description": "Provides lightweight notification messages using the ix-toast custom element with semantic intents, motion variants, positions, and action support.",
5
-
6
- "element": "ix-toast",
7
-
8
- "emmet": "ix-toast#toast+button",
9
-
10
- "props": {
11
- "data-intent": {
12
- "type": "enum",
13
- "values": [
14
- "neutral",
15
- "primary",
16
- "success",
17
- "warning",
18
- "danger",
19
- "gradient"
20
- ],
21
- "default": "neutral",
22
- "native": false,
23
- "agent_hint": "Applies semantic styling."
24
- },
25
-
26
- "data-variant": {
27
- "type": "enum",
28
- "values": ["fade", "slide", "pop", "action"],
29
- "default": "fade",
30
- "native": false,
31
- "agent_hint": "Controls animation style."
32
- },
33
-
34
- "data-position": {
35
- "type": "enum",
36
- "values": [
37
- "top-left",
38
- "top-right",
39
- "bottom-left",
40
- "bottom-right",
41
- "bottom-center"
42
- ],
43
- "default": "top-right",
44
- "native": false,
45
- "agent_hint": "Controls toast placement."
46
- },
47
-
48
- "title": {
49
- "type": "string",
50
- "native": false,
51
- "agent_hint": "Toast heading text passed to show()."
52
- },
53
-
54
- "message": {
55
- "type": "string",
56
- "native": false,
57
- "agent_hint": "Toast body text."
58
- },
59
-
60
- "duration": {
61
- "type": "number",
62
- "default": 3000,
63
- "native": false,
64
- "agent_hint": "Auto dismiss duration."
65
- },
66
-
67
- "actionText": {
68
- "type": "string",
69
- "default": "OK",
70
- "native": false,
71
- "agent_hint": "Action button label."
72
- },
73
-
74
- "aria-live": {
75
- "type": "string",
76
- "default": "polite",
77
- "native": true,
78
- "agent_hint": "Accessibility live region."
79
- }
80
- },
81
-
82
- "states": ["open", "dismissed", "animated", "action"],
83
-
84
- "forbidden_props": [
85
- "variant",
86
- "position",
87
- "theme",
88
- "class",
89
- "animation",
90
- "placement"
91
- ],
92
-
93
- "required_props": [],
94
-
95
- "required_slots": [],
96
-
97
- "methods": ["show(options)"],
98
-
99
- "do": [
100
- "Use show() for displaying notifications",
101
- "Use semantic intents",
102
- "Use data-position for placement",
103
- "Use action variant for interactive toast",
104
- "Keep toast container mounted"
105
- ],
106
-
107
- "dont": [
108
- "Do not inject aside manually",
109
- "Do not use custom animation props",
110
- "Do not style using classes",
111
- "Do not remove ix-toast container"
112
- ],
113
-
114
- "examples": [
115
- {
116
- "label": "Basic toast",
117
- "emmet": "ix-toast#toast+button",
118
- "html": "<ix-toast id=\"toast\"></ix-toast><button onclick=\"document.getElementById('toast').show({title:'Saved',message:'Changes saved.',intent:'neutral'})\">Show Toast</button>"
119
- },
120
-
121
- {
122
- "label": "Success toast",
123
- "emmet": "ix-toast",
124
- "html": "document.getElementById('toast').show({title:'Success',message:'Profile updated.',intent:'success'})"
125
- },
126
-
127
- {
128
- "label": "Danger toast",
129
- "emmet": "ix-toast",
130
- "html": "document.getElementById('toast').show({title:'Error',message:'Operation failed.',intent:'danger'})"
131
- },
132
-
133
- {
134
- "label": "Slide variant",
135
- "emmet": "ix-toast",
136
- "html": "document.getElementById('toast').show({title:'Saved',message:'Updated successfully.',variant:'slide',intent:'success'})"
137
- },
138
-
139
- {
140
- "label": "Pop variant",
141
- "emmet": "ix-toast",
142
- "html": "document.getElementById('toast').show({title:'Alert',message:'Something failed.',variant:'pop',intent:'danger'})"
143
- },
144
-
145
- {
146
- "label": "Action toast",
147
- "emmet": "ix-toast",
148
- "html": "document.getElementById('toast').show({title:'Delete file',message:'Undo available.',variant:'action',actionText:'Undo'})"
149
- },
150
-
151
- {
152
- "label": "Bottom right position",
153
- "emmet": "ix-toast[data-position=bottom-right]",
154
- "html": "<ix-toast id=\"toast\" data-position=\"bottom-right\"></ix-toast>"
155
- }
156
- ]
157
- }
@@ -1,115 +0,0 @@
1
- {
2
- "component": "tooltip",
3
- "version": "2.0",
4
- "description": "Provides contextual information using the ix-tooltip custom element with position variants, semantic intents, and keyboard accessibility.",
5
-
6
- "element": "ix-tooltip",
7
-
8
- "emmet": "ix-tooltip[content]>button",
9
-
10
- "props": {
11
- "content": {
12
- "type": "string",
13
- "required": true,
14
- "native": false,
15
- "agent_hint": "Defines tooltip text."
16
- },
17
-
18
- "data-position": {
19
- "type": "enum",
20
- "values": ["top", "bottom", "left", "right"],
21
- "default": "top",
22
- "native": false,
23
- "agent_hint": "Controls tooltip placement."
24
- },
25
-
26
- "data-intent": {
27
- "type": "enum",
28
- "values": ["success", "danger", "warning"],
29
- "native": false,
30
- "agent_hint": "Applies semantic tooltip styling."
31
- },
32
-
33
- "tabindex": {
34
- "type": "number",
35
- "default": 0,
36
- "native": true,
37
- "agent_hint": "Enables keyboard focus."
38
- },
39
-
40
- "role": {
41
- "type": "string",
42
- "default": "tooltip",
43
- "native": true,
44
- "agent_hint": "Accessibility role."
45
- }
46
- },
47
-
48
- "states": ["hover", "focus-within", "visible"],
49
-
50
- "forbidden_props": [
51
- "variant",
52
- "placement",
53
- "color",
54
- "theme",
55
- "position",
56
- "class"
57
- ],
58
-
59
- "required_props": ["content"],
60
-
61
- "required_slots": [],
62
-
63
- "do": [
64
- "Provide tooltip text using content attribute",
65
- "Use data-position for placement",
66
- "Use semantic intents when needed",
67
- "Wrap interactive elements inside ix-tooltip",
68
- "Allow keyboard focus"
69
- ],
70
-
71
- "dont": [
72
- "Do not omit content",
73
- "Do not use placement prop",
74
- "Do not use custom classes for variants",
75
- "Do not place tooltip text inside children"
76
- ],
77
-
78
- "examples": [
79
- {
80
- "label": "Default tooltip",
81
- "emmet": "ix-tooltip[content]>button",
82
- "html": "<ix-tooltip content=\"Tooltip text\"><button>Hover me</button></ix-tooltip>"
83
- },
84
-
85
- {
86
- "label": "Position variants",
87
- "emmet": "ix-tooltip[data-position]",
88
- "html": "<ix-tooltip content=\"Bottom tooltip\" data-position=\"bottom\"><button>Bottom</button></ix-tooltip>"
89
- },
90
-
91
- {
92
- "label": "Success tooltip",
93
- "emmet": "ix-tooltip[data-intent=success]",
94
- "html": "<ix-tooltip content=\"Success tooltip\" data-intent=\"success\"><button>Success</button></ix-tooltip>"
95
- },
96
-
97
- {
98
- "label": "Danger tooltip",
99
- "emmet": "ix-tooltip[data-intent=danger]",
100
- "html": "<ix-tooltip content=\"Danger tooltip\" data-intent=\"danger\"><button>Delete</button></ix-tooltip>"
101
- },
102
-
103
- {
104
- "label": "Warning tooltip",
105
- "emmet": "ix-tooltip[data-intent=warning]",
106
- "html": "<ix-tooltip content=\"Warning tooltip\" data-intent=\"warning\"><button>Warning</button></ix-tooltip>"
107
- },
108
-
109
- {
110
- "label": "Position example",
111
- "emmet": "ix-tooltip[data-position=right]",
112
- "html": "<ix-tooltip content=\"Right tooltip\" data-position=\"right\"><button>Info</button></ix-tooltip>"
113
- }
114
- ]
115
- }