bestax-mcp 0.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.
Files changed (144) hide show
  1. package/README.md +90 -0
  2. package/data/catalog.json +1869 -0
  3. package/data/components/Autocomplete.json +604 -0
  4. package/data/components/Avatar.json +220 -0
  5. package/data/components/Avatars.json +294 -0
  6. package/data/components/Badge.json +261 -0
  7. package/data/components/Block.json +105 -0
  8. package/data/components/Box.json +157 -0
  9. package/data/components/Breadcrumb.json +155 -0
  10. package/data/components/Button.json +599 -0
  11. package/data/components/Buttons.json +533 -0
  12. package/data/components/Card.json +506 -0
  13. package/data/components/Carousel.json +512 -0
  14. package/data/components/Cell.json +154 -0
  15. package/data/components/Checkbox.json +176 -0
  16. package/data/components/Checkboxes.json +240 -0
  17. package/data/components/Code.json +128 -0
  18. package/data/components/Collapse.json +218 -0
  19. package/data/components/Column.json +284 -0
  20. package/data/components/Columns.json +542 -0
  21. package/data/components/ConfigProvider.json +16 -0
  22. package/data/components/Container.json +149 -0
  23. package/data/components/Content.json +228 -0
  24. package/data/components/Control.json +484 -0
  25. package/data/components/DateInput.json +872 -0
  26. package/data/components/DateTimeInput.json +952 -0
  27. package/data/components/Delete.json +153 -0
  28. package/data/components/Dialog.json +285 -0
  29. package/data/components/Divider.json +68 -0
  30. package/data/components/Dropdown.json +353 -0
  31. package/data/components/Emphasis.json +99 -0
  32. package/data/components/Field.json +539 -0
  33. package/data/components/Figure.json +143 -0
  34. package/data/components/File.json +403 -0
  35. package/data/components/Footer.json +109 -0
  36. package/data/components/Grid.json +357 -0
  37. package/data/components/Hero.json +340 -0
  38. package/data/components/Icon.json +232 -0
  39. package/data/components/IconText.json +307 -0
  40. package/data/components/Image.json +166 -0
  41. package/data/components/Input.json +583 -0
  42. package/data/components/Level.json +332 -0
  43. package/data/components/Link.json +154 -0
  44. package/data/components/LinkButton.json +247 -0
  45. package/data/components/ListItem.json +101 -0
  46. package/data/components/Loading.json +323 -0
  47. package/data/components/Media.json +345 -0
  48. package/data/components/Menu.json +317 -0
  49. package/data/components/Message.json +303 -0
  50. package/data/components/Modal.json +444 -0
  51. package/data/components/Navbar.json +996 -0
  52. package/data/components/Notification.json +165 -0
  53. package/data/components/Numberinput.json +364 -0
  54. package/data/components/OrderedList.json +189 -0
  55. package/data/components/Pagination.json +619 -0
  56. package/data/components/Panel.json +582 -0
  57. package/data/components/Paragraph.json +107 -0
  58. package/data/components/Pre.json +114 -0
  59. package/data/components/Progress.json +137 -0
  60. package/data/components/Radio.json +164 -0
  61. package/data/components/Radios.json +240 -0
  62. package/data/components/Rate.json +466 -0
  63. package/data/components/Reveal.json +177 -0
  64. package/data/components/Section.json +123 -0
  65. package/data/components/Select.json +526 -0
  66. package/data/components/Sidebar.json +488 -0
  67. package/data/components/Skeleton.json +162 -0
  68. package/data/components/Slider.json +534 -0
  69. package/data/components/Span.json +100 -0
  70. package/data/components/Steps.json +452 -0
  71. package/data/components/Strong.json +105 -0
  72. package/data/components/SubTitle.json +233 -0
  73. package/data/components/Switch.json +291 -0
  74. package/data/components/Table.json +490 -0
  75. package/data/components/Tabs.json +592 -0
  76. package/data/components/Tag.json +197 -0
  77. package/data/components/Taginput.json +587 -0
  78. package/data/components/Tags.json +181 -0
  79. package/data/components/TextArea.json +483 -0
  80. package/data/components/Theme.json +65 -0
  81. package/data/components/TimeInput.json +906 -0
  82. package/data/components/Title.json +240 -0
  83. package/data/components/Toast.json +308 -0
  84. package/data/components/Tooltip.json +212 -0
  85. package/data/components/UnorderedList.json +149 -0
  86. package/data/components/Valid value constants.json +16 -0
  87. package/data/components/classNames.json +65 -0
  88. package/data/components/useBulmaClasses.json +169 -0
  89. package/data/components/usePrefixedClassNames.json +25 -0
  90. package/data/skills/bestax-custom-component/SKILL.md +196 -0
  91. package/data/skills/bestax-custom-component/examples/stat-card.tsx +105 -0
  92. package/data/skills/bestax-custom-component/references/api.md +90 -0
  93. package/data/skills/bestax-custom-component/references/component-catalog.md +149 -0
  94. package/data/skills/bestax-custom-component/references/library-contributor.md +395 -0
  95. package/data/skills/bestax-custom-component/references/patterns.md +136 -0
  96. package/data/skills/bestax-form/SKILL.md +254 -0
  97. package/data/skills/bestax-form/references/api.md +103 -0
  98. package/data/skills/bestax-form/references/patterns.md +210 -0
  99. package/data/skills/bestax-icons/SKILL.md +80 -0
  100. package/data/skills/bestax-icons/examples/icon-usage.tsx +80 -0
  101. package/data/skills/bestax-icons/references/icon-libraries.md +131 -0
  102. package/data/skills/bestax-layout-scaffold/SKILL.md +196 -0
  103. package/data/skills/bestax-layout-scaffold/examples/app-shell.tsx +86 -0
  104. package/data/skills/bestax-layout-scaffold/examples/card-grid.tsx +106 -0
  105. package/data/skills/bestax-layout-scaffold/examples/centered.tsx +56 -0
  106. package/data/skills/bestax-layout-scaffold/examples/content-page.tsx +90 -0
  107. package/data/skills/bestax-layout-scaffold/examples/landing.tsx +122 -0
  108. package/data/skills/bestax-layout-scaffold/references/archetypes.md +246 -0
  109. package/data/skills/bestax-layout-scaffold/references/layout-components.md +269 -0
  110. package/data/skills/bestax-migrate/SKILL.md +78 -0
  111. package/data/skills/bestax-migrate/references/component-map.md +91 -0
  112. package/data/skills/bestax-migrate/references/css-migration.md +100 -0
  113. package/data/skills/bestax-migrate/references/prop-map.md +48 -0
  114. package/data/skills/bestax-migrate/references/unmappables.md +124 -0
  115. package/data/skills/bestax-optimize/SKILL.md +131 -0
  116. package/data/skills/bestax-optimize/references/modular-build.md +173 -0
  117. package/data/skills/bestax-theming/SKILL.md +117 -0
  118. package/data/skills/bestax-theming/examples/dark-mode.tsx +38 -0
  119. package/data/skills/bestax-theming/examples/theme-config.tsx +60 -0
  120. package/data/skills/bestax-theming/references/css-variables.md +466 -0
  121. package/data/skills/bestax-theming/references/themeable-components.md +119 -0
  122. package/data/skills.json +148 -0
  123. package/dist/data.d.ts +131 -0
  124. package/dist/data.d.ts.map +1 -0
  125. package/dist/data.js +111 -0
  126. package/dist/format.d.ts +37 -0
  127. package/dist/format.d.ts.map +1 -0
  128. package/dist/format.js +178 -0
  129. package/dist/helper-props.d.ts +57 -0
  130. package/dist/helper-props.d.ts.map +1 -0
  131. package/dist/helper-props.js +249 -0
  132. package/dist/index.d.ts +3 -0
  133. package/dist/index.d.ts.map +1 -0
  134. package/dist/index.js +18 -0
  135. package/dist/search.d.ts +32 -0
  136. package/dist/search.d.ts.map +1 -0
  137. package/dist/search.js +194 -0
  138. package/dist/server.d.ts +28 -0
  139. package/dist/server.d.ts.map +1 -0
  140. package/dist/server.js +616 -0
  141. package/dist/version.d.ts +29 -0
  142. package/dist/version.d.ts.map +1 -0
  143. package/dist/version.js +147 -0
  144. package/package.json +70 -0
@@ -0,0 +1,587 @@
1
+ {
2
+ "name": "Taginput",
3
+ "kind": "component",
4
+ "category": "form",
5
+ "slug": "form/taginput",
6
+ "docsUrl": "https://bestax.io/docs/api/form/taginput",
7
+ "examples": [
8
+ {
9
+ "title": "Basic Taginput",
10
+ "code": "function example() {\n const [tags, setTags] = useState(['React', 'TypeScript']);\n\n return (\n <Block>\n <Taginput value={tags} onChange={setTags} placeholder=\"Add a tag...\" />\n <Paragraph mt=\"2\" textColor=\"grey\">\n Tags: {tags.join(', ')}\n </Paragraph>\n </Block>\n );\n}"
11
+ },
12
+ {
13
+ "title": "With Autocomplete",
14
+ "code": "function example() {\n const [tags, setTags] = useState(['React']);\n const suggestions = [\n 'React',\n 'Vue',\n 'Angular',\n 'Svelte',\n 'TypeScript',\n 'JavaScript',\n 'Python',\n 'Go',\n ];\n\n return (\n <Taginput\n value={tags}\n onChange={setTags}\n data={suggestions}\n placeholder=\"Add frameworks...\"\n openOnFocus\n />\n );\n}"
15
+ },
16
+ {
17
+ "title": "Restrict to Suggestions",
18
+ "code": "function example() {\n const [tags, setTags] = useState([]);\n const categories = [\n 'Bug',\n 'Feature',\n 'Documentation',\n 'Enhancement',\n 'Question',\n ];\n\n return (\n <Block>\n <Taginput\n value={tags}\n onChange={setTags}\n data={categories}\n allowNew={false}\n placeholder=\"Select categories...\"\n openOnFocus\n />\n <Paragraph mt=\"2\" textColor=\"grey\" textSize=\"7\">\n Only predefined categories can be selected\n </Paragraph>\n </Block>\n );\n}"
19
+ },
20
+ {
21
+ "title": "Tag Colors",
22
+ "code": "<Block display=\"flex\" flexDirection=\"column\" gap=\"4\">\n <Taginput\n defaultValue={['Primary']}\n tagColor=\"primary\"\n placeholder=\"Primary tags...\"\n />\n <Taginput\n defaultValue={['Success']}\n tagColor=\"success\"\n placeholder=\"Success tags...\"\n />\n <Taginput\n defaultValue={['Info']}\n tagColor=\"info\"\n placeholder=\"Info tags...\"\n />\n <Taginput\n defaultValue={['Warning']}\n tagColor=\"warning\"\n placeholder=\"Warning tags...\"\n />\n <Taginput\n defaultValue={['Danger']}\n tagColor=\"danger\"\n placeholder=\"Danger tags...\"\n />\n <Taginput\n defaultValue={['Dark']}\n tagColor=\"dark\"\n placeholder=\"Dark tags...\"\n />\n</Block>"
23
+ },
24
+ {
25
+ "title": "Size Variants",
26
+ "code": "<Block display=\"flex\" flexDirection=\"column\" gap=\"4\">\n <Taginput\n defaultValue={['Small']}\n size=\"small\"\n tagColor=\"primary\"\n placeholder=\"Small...\"\n />\n <Taginput\n defaultValue={['Normal']}\n tagColor=\"primary\"\n placeholder=\"Normal...\"\n />\n <Taginput\n defaultValue={['Medium']}\n size=\"medium\"\n tagColor=\"primary\"\n placeholder=\"Medium...\"\n />\n <Taginput\n defaultValue={['Large']}\n size=\"large\"\n tagColor=\"primary\"\n placeholder=\"Large...\"\n />\n</Block>"
27
+ },
28
+ {
29
+ "title": "Maximum Tags",
30
+ "code": "function example() {\n const [tags, setTags] = useState(['One', 'Two']);\n\n return (\n <Block>\n <Taginput\n value={tags}\n onChange={setTags}\n maxTags={3}\n tagColor=\"info\"\n placeholder=\"Max 3 tags...\"\n />\n <Paragraph mt=\"2\" textColor=\"grey\" textSize=\"7\">\n {3 - tags.length} tags remaining\n </Paragraph>\n </Block>\n );\n}"
31
+ },
32
+ {
33
+ "title": "Allow Duplicates",
34
+ "code": "function example() {\n const [tags, setTags] = useState(['Tag']);\n\n return (\n <Taginput\n value={tags}\n onChange={setTags}\n allowDuplicates\n tagColor=\"warning\"\n placeholder=\"Duplicates allowed...\"\n />\n );\n}"
35
+ },
36
+ {
37
+ "title": "Custom Confirm Keys",
38
+ "code": "function example() {\n const [tags, setTags] = useState([]);\n\n return (\n <Block>\n <Taginput\n value={tags}\n onChange={setTags}\n confirmKeys={['Enter', 'Tab', ' ']}\n tagColor=\"success\"\n placeholder=\"Press Enter, Tab, or Space...\"\n />\n <Paragraph mt=\"2\" textColor=\"grey\" textSize=\"7\">\n Space also creates a new tag\n </Paragraph>\n </Block>\n );\n}"
39
+ },
40
+ {
41
+ "title": "Read-only and Disabled",
42
+ "code": "<Block display=\"flex\" flexDirection=\"column\" gap=\"4\">\n <Block>\n <Paragraph mb=\"1\">Read-only:</Paragraph>\n <Taginput defaultValue={['React', 'TypeScript']} readonly tagColor=\"info\" />\n </Block>\n <Block>\n <Paragraph mb=\"1\">Disabled:</Paragraph>\n <Taginput defaultValue={['React', 'TypeScript']} disabled tagColor=\"info\" />\n </Block>\n</Block>"
43
+ },
44
+ {
45
+ "title": "Non-closable Tags",
46
+ "code": "<Taginput\n defaultValue={['Fixed', 'Tags']}\n closable={false}\n tagColor=\"primary\"\n placeholder=\"Cannot remove tags...\"\n/>"
47
+ },
48
+ {
49
+ "title": "Context-Aware Rendering",
50
+ "code": "<Taginput\n label=\"Tags\"\n defaultValue={['React', 'TypeScript']}\n placeholder=\"Add a tag...\"\n tagColor=\"primary\"\n/>"
51
+ },
52
+ {
53
+ "title": "Context-Aware Rendering",
54
+ "code": "function example() {\n return (\n <Field horizontal label=\"Tags\">\n <Field.Body>\n <Field>\n <Taginput\n defaultValue={['React', 'TypeScript']}\n placeholder=\"Add a tag...\"\n tagColor=\"primary\"\n />\n </Field>\n </Field.Body>\n </Field>\n );\n}"
55
+ },
56
+ {
57
+ "title": "Context-Aware Rendering",
58
+ "code": "function example() {\n return (\n <Field horizontal label=\"Tags\">\n <Field.Body>\n <Field>\n <Control>\n <Taginput\n icon=\"tags\"\n defaultValue={['React', 'TypeScript']}\n placeholder=\"Add a tag...\"\n tagColor=\"primary\"\n />\n </Control>\n </Field>\n </Field.Body>\n </Field>\n );\n}"
59
+ }
60
+ ],
61
+ "accessibility": "- The `label` prop is automatically associated with the inner text input (`htmlFor` plus a generated `id`, or your own `id` if you pass one). While the label is wired it also names the input; without one, the input falls back to `aria-label=\"Add tag\"`.\n- A user-supplied `id` is applied to the inner input (the labellable control), not the wrapper div.\n- When `maxTags` is reached the text input is not rendered, so the label renders without a `for` attribute.\n- Tags are keyboard navigable\n- Delete buttons have proper `aria-label`\n- Autocomplete dropdown follows ARIA listbox pattern",
62
+ "related": ["Autocomplete", "Input", "Tag"],
63
+ "storybook": "https://bestax.io/storybook/?path=/story/form-taginput",
64
+ "summary": "The `Taginput` component provides a tag/chip input field for managing multiple tags.",
65
+ "import": "import { Taginput } from '@allxsmith/bestax-bulma';",
66
+ "sourceFile": "bulma-ui/src/form/Taginput.tsx",
67
+ "rootClass": "taginput",
68
+ "parts": [
69
+ {
70
+ "path": "Taginput",
71
+ "summary": "The `Taginput` component provides a tag/chip input field for managing multiple tags.",
72
+ "component": null,
73
+ "props": [
74
+ {
75
+ "name": "label",
76
+ "type": "React.ReactNode",
77
+ "default": null,
78
+ "description": "Field label. Automatically associated with the text input via `htmlFor` — uses your `id` when provided, otherwise a generated one. Not wired when the tag limit is reached (the input is not rendered) and dropped inside an outer `Field`.",
79
+ "required": false,
80
+ "inherited": false,
81
+ "deprecated": false
82
+ },
83
+ {
84
+ "name": "labelProps",
85
+ "type": "React.LabelHTMLAttributes<HTMLLabelElement> & { [key: string]: unknown; }",
86
+ "default": null,
87
+ "description": "Props for the label element. An explicit `htmlFor` here overrides the automatic association (no id is generated then).",
88
+ "required": false,
89
+ "inherited": false,
90
+ "deprecated": false
91
+ },
92
+ {
93
+ "name": "id",
94
+ "type": "string",
95
+ "default": null,
96
+ "description": "Applied to the inner text input (the labellable control), not the wrapper div.",
97
+ "required": false,
98
+ "inherited": false,
99
+ "deprecated": false
100
+ },
101
+ {
102
+ "name": "value",
103
+ "type": "TaginputTag[]",
104
+ "default": null,
105
+ "description": "The current tags (controlled).",
106
+ "required": false,
107
+ "inherited": false,
108
+ "deprecated": false
109
+ },
110
+ {
111
+ "name": "defaultValue",
112
+ "type": "TaginputTag[]",
113
+ "default": "[]",
114
+ "description": "Default tags (uncontrolled).",
115
+ "required": false,
116
+ "inherited": false,
117
+ "deprecated": false
118
+ },
119
+ {
120
+ "name": "data",
121
+ "type": "string[]",
122
+ "default": "[]",
123
+ "description": "Autocomplete suggestions.",
124
+ "required": false,
125
+ "inherited": false,
126
+ "deprecated": false
127
+ },
128
+ {
129
+ "name": "placeholder",
130
+ "type": "string",
131
+ "default": null,
132
+ "description": "Placeholder text when no tags.",
133
+ "required": false,
134
+ "inherited": false,
135
+ "deprecated": false
136
+ },
137
+ {
138
+ "name": "field",
139
+ "type": "string",
140
+ "default": "'label'",
141
+ "description": "Object property to use as display field.",
142
+ "required": false,
143
+ "inherited": false,
144
+ "deprecated": false
145
+ },
146
+ {
147
+ "name": "allowNew",
148
+ "type": "boolean",
149
+ "default": "true",
150
+ "description": "Allow creating new tags not in suggestions.",
151
+ "required": false,
152
+ "inherited": false,
153
+ "deprecated": false
154
+ },
155
+ {
156
+ "name": "allowDuplicates",
157
+ "type": "boolean",
158
+ "default": "false",
159
+ "description": "Allow duplicate tags.",
160
+ "required": false,
161
+ "inherited": false,
162
+ "deprecated": false
163
+ },
164
+ {
165
+ "name": "openOnFocus",
166
+ "type": "boolean",
167
+ "default": "false",
168
+ "description": "Open autocomplete dropdown on focus.",
169
+ "required": false,
170
+ "inherited": false,
171
+ "deprecated": false
172
+ },
173
+ {
174
+ "name": "removeOnKeys",
175
+ "type": "boolean",
176
+ "default": "true",
177
+ "description": "Remove tag on backspace. Default: true.",
178
+ "required": false,
179
+ "inherited": false,
180
+ "deprecated": false
181
+ },
182
+ {
183
+ "name": "confirmKeys",
184
+ "type": "string[]",
185
+ "default": "['Enter', ',']",
186
+ "description": "Keys to confirm tag creation. Default: ['Enter', ','].",
187
+ "required": false,
188
+ "inherited": false,
189
+ "deprecated": false
190
+ },
191
+ {
192
+ "name": "closable",
193
+ "type": "boolean",
194
+ "default": "true",
195
+ "description": "Show close button on tags. Default: true.",
196
+ "required": false,
197
+ "inherited": false,
198
+ "deprecated": false
199
+ },
200
+ {
201
+ "name": "attached",
202
+ "type": "boolean",
203
+ "default": "false",
204
+ "description": "Attach tags visually.",
205
+ "required": false,
206
+ "inherited": false,
207
+ "deprecated": false
208
+ },
209
+ {
210
+ "name": "maxTags",
211
+ "type": "number",
212
+ "default": null,
213
+ "description": "Maximum number of tags allowed.",
214
+ "required": false,
215
+ "inherited": false,
216
+ "deprecated": false
217
+ },
218
+ {
219
+ "name": "maxlength",
220
+ "type": "number",
221
+ "default": null,
222
+ "description": "Maximum length of input.",
223
+ "required": false,
224
+ "inherited": false,
225
+ "deprecated": false
226
+ },
227
+ {
228
+ "name": "disabled",
229
+ "type": "boolean",
230
+ "default": "false",
231
+ "description": "Whether the input is disabled.",
232
+ "required": false,
233
+ "inherited": false,
234
+ "deprecated": false
235
+ },
236
+ {
237
+ "name": "readonly",
238
+ "type": "boolean",
239
+ "default": "false",
240
+ "description": "Whether the input is read-only.",
241
+ "required": false,
242
+ "inherited": false,
243
+ "deprecated": false
244
+ },
245
+ {
246
+ "name": "rounded",
247
+ "type": "boolean",
248
+ "default": "false",
249
+ "description": "Applies rounded corners to the tags.",
250
+ "required": false,
251
+ "inherited": false,
252
+ "deprecated": false
253
+ },
254
+ {
255
+ "name": "ellipsis",
256
+ "type": "boolean",
257
+ "default": "false",
258
+ "description": "Truncates long tag text with ellipsis.",
259
+ "required": false,
260
+ "inherited": false,
261
+ "deprecated": false
262
+ },
263
+ {
264
+ "name": "hasCounter",
265
+ "type": "boolean",
266
+ "default": "true",
267
+ "description": "Shows a counter of the number of tags.",
268
+ "required": false,
269
+ "inherited": false,
270
+ "deprecated": false
271
+ },
272
+ {
273
+ "name": "onPasteSeparators",
274
+ "type": "string[]",
275
+ "default": "[',']",
276
+ "description": "Characters that split pasted text into tags.",
277
+ "required": false,
278
+ "inherited": false,
279
+ "deprecated": false
280
+ },
281
+ {
282
+ "name": "beforeAdding",
283
+ "type": "(tag: string) => boolean",
284
+ "default": null,
285
+ "description": "Validation function called before adding a tag.",
286
+ "required": false,
287
+ "inherited": false,
288
+ "deprecated": false
289
+ },
290
+ {
291
+ "name": "createTag",
292
+ "type": "(input: string) => TaginputTag",
293
+ "default": null,
294
+ "description": "Custom function for creating tag objects from input.",
295
+ "required": false,
296
+ "inherited": false,
297
+ "deprecated": false
298
+ },
299
+ {
300
+ "name": "keepFirst",
301
+ "type": "boolean",
302
+ "default": "false",
303
+ "description": "Keeps the first autocomplete suggestion highlighted.",
304
+ "required": false,
305
+ "inherited": false,
306
+ "deprecated": false
307
+ },
308
+ {
309
+ "name": "keepOpen",
310
+ "type": "boolean",
311
+ "default": "true",
312
+ "description": "Keeps the autocomplete dropdown open after selection.",
313
+ "required": false,
314
+ "inherited": false,
315
+ "deprecated": false
316
+ },
317
+ {
318
+ "name": "loading",
319
+ "type": "boolean",
320
+ "default": "false",
321
+ "description": "Shows a loading indicator.",
322
+ "required": false,
323
+ "inherited": false,
324
+ "deprecated": false
325
+ },
326
+ {
327
+ "name": "ariaCloseLabel",
328
+ "type": "string",
329
+ "default": null,
330
+ "description": "ARIA label for tag close buttons.",
331
+ "required": false,
332
+ "inherited": false,
333
+ "deprecated": false
334
+ },
335
+ {
336
+ "name": "icon",
337
+ "type": "string",
338
+ "default": null,
339
+ "description": "Icon name for the input field.",
340
+ "required": false,
341
+ "inherited": false,
342
+ "deprecated": false
343
+ },
344
+ {
345
+ "name": "iconLibrary",
346
+ "type": "'fa' | 'mdi' | 'ion' | 'material-icons' | 'material-symbols'",
347
+ "default": null,
348
+ "description": "Icon library to use.",
349
+ "required": false,
350
+ "inherited": false,
351
+ "deprecated": false
352
+ },
353
+ {
354
+ "name": "iconVariant",
355
+ "type": "string",
356
+ "default": null,
357
+ "description": "Icon style variant (e.g., 'solid', 'outlined').",
358
+ "required": false,
359
+ "inherited": false,
360
+ "deprecated": false
361
+ },
362
+ {
363
+ "name": "iconFeatures",
364
+ "type": "string | string[]",
365
+ "default": null,
366
+ "description": "Additional icon modifiers.",
367
+ "required": false,
368
+ "inherited": false,
369
+ "deprecated": false
370
+ },
371
+ {
372
+ "name": "color",
373
+ "type": "'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'",
374
+ "default": null,
375
+ "description": "Input color variant.",
376
+ "required": false,
377
+ "inherited": false,
378
+ "deprecated": false
379
+ },
380
+ {
381
+ "name": "tagColor",
382
+ "type": "'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger' | 'dark' | 'light'",
383
+ "default": null,
384
+ "description": "Tag color variant.",
385
+ "required": false,
386
+ "inherited": false,
387
+ "deprecated": false
388
+ },
389
+ {
390
+ "name": "size",
391
+ "type": "'small' | 'medium' | 'large'",
392
+ "default": null,
393
+ "description": "Size variant.",
394
+ "required": false,
395
+ "inherited": false,
396
+ "deprecated": false
397
+ },
398
+ {
399
+ "name": "name",
400
+ "type": "string",
401
+ "default": null,
402
+ "description": "Form field name. When set, one hidden input per tag is rendered.",
403
+ "required": false,
404
+ "inherited": false,
405
+ "deprecated": false
406
+ },
407
+ {
408
+ "name": "form",
409
+ "type": "string",
410
+ "default": null,
411
+ "description": "Optional id of the form the hidden inputs belong to.",
412
+ "required": false,
413
+ "inherited": false,
414
+ "deprecated": false
415
+ },
416
+ {
417
+ "name": "onChange",
418
+ "type": "(tags: TaginputTag[]) => void",
419
+ "default": null,
420
+ "description": "Callback when tags change.",
421
+ "required": false,
422
+ "inherited": false,
423
+ "deprecated": false
424
+ },
425
+ {
426
+ "name": "onAdd",
427
+ "type": "(tag: TaginputTag) => void",
428
+ "default": null,
429
+ "description": "Callback when tag is added.",
430
+ "required": false,
431
+ "inherited": false,
432
+ "deprecated": false
433
+ },
434
+ {
435
+ "name": "onRemove",
436
+ "type": "(tag: TaginputTag, index: number) => void",
437
+ "default": null,
438
+ "description": "Callback when tag is removed.",
439
+ "required": false,
440
+ "inherited": false,
441
+ "deprecated": false
442
+ },
443
+ {
444
+ "name": "onTyping",
445
+ "type": "(value: string) => void",
446
+ "default": null,
447
+ "description": "Callback when typing in input.",
448
+ "required": false,
449
+ "inherited": false,
450
+ "deprecated": false
451
+ },
452
+ {
453
+ "name": "tagTemplate",
454
+ "type": "(tag: TaginputTag) => React.ReactNode",
455
+ "default": null,
456
+ "description": "Custom render for tags.",
457
+ "required": false,
458
+ "inherited": false,
459
+ "deprecated": false
460
+ },
461
+ {
462
+ "name": "labelSize",
463
+ "type": "'small' | 'normal' | 'medium' | 'large'",
464
+ "default": null,
465
+ "description": "Size for the label (used in horizontal layouts).",
466
+ "required": false,
467
+ "inherited": true,
468
+ "deprecated": false
469
+ },
470
+ {
471
+ "name": "horizontal",
472
+ "type": "boolean",
473
+ "default": "false",
474
+ "description": "Horizontal field layout.",
475
+ "required": false,
476
+ "inherited": true,
477
+ "deprecated": false
478
+ },
479
+ {
480
+ "name": "message",
481
+ "type": "React.ReactNode",
482
+ "default": null,
483
+ "description": "Help/validation message below the input.",
484
+ "required": false,
485
+ "inherited": true,
486
+ "deprecated": false
487
+ },
488
+ {
489
+ "name": "messageColor",
490
+ "type": "'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'",
491
+ "default": null,
492
+ "description": "Bulma color for the message.",
493
+ "required": false,
494
+ "inherited": true,
495
+ "deprecated": false
496
+ },
497
+ {
498
+ "name": "fieldClassName",
499
+ "type": "string",
500
+ "default": null,
501
+ "description": "Additional CSS classes for the Field wrapper.",
502
+ "required": false,
503
+ "inherited": true,
504
+ "deprecated": false
505
+ }
506
+ ],
507
+ "extraProps": [
508
+ {
509
+ "name": "className",
510
+ "type": "string",
511
+ "default": null,
512
+ "description": "Additional CSS classes.",
513
+ "required": false,
514
+ "inherited": false,
515
+ "deprecated": false
516
+ },
517
+ {
518
+ "name": "ref",
519
+ "type": "React.Ref<HTMLInputElement>",
520
+ "default": null,
521
+ "description": "Ref forwarded to the input element.",
522
+ "required": false,
523
+ "inherited": false,
524
+ "deprecated": false
525
+ }
526
+ ],
527
+ "catchAll": "All standard <div> attributes and Bulma helper props",
528
+ "types": []
529
+ }
530
+ ],
531
+ "cssVars": [
532
+ {
533
+ "css": "--bulma-taginput-height",
534
+ "sass": "$taginput-height",
535
+ "default": "auto",
536
+ "scope": "component"
537
+ },
538
+ {
539
+ "css": "--bulma-taginput-min-height",
540
+ "sass": "$taginput-min-height",
541
+ "default": "2.5em",
542
+ "scope": "component"
543
+ },
544
+ {
545
+ "css": "--bulma-taginput-padding",
546
+ "sass": "$taginput-padding",
547
+ "default": "0.375rem 0.5rem",
548
+ "scope": "component"
549
+ },
550
+ {
551
+ "css": "--bulma-taginput-border-color",
552
+ "sass": "$taginput-border-color",
553
+ "default": "var(--bulma-border)",
554
+ "scope": "component"
555
+ },
556
+ {
557
+ "css": "--bulma-taginput-border-radius",
558
+ "sass": "$taginput-border-radius",
559
+ "default": "var(--bulma-radius)",
560
+ "scope": "component"
561
+ },
562
+ {
563
+ "css": "--bulma-taginput-background",
564
+ "sass": "$taginput-background",
565
+ "default": "var(--bulma-scheme-main)",
566
+ "scope": "component"
567
+ },
568
+ {
569
+ "css": "--bulma-taginput-tag-gap",
570
+ "sass": "$taginput-tag-gap",
571
+ "default": "0.25rem",
572
+ "scope": "component"
573
+ },
574
+ {
575
+ "css": "--bulma-taginput-dropdown-max-height",
576
+ "sass": "$taginput-dropdown-max-height",
577
+ "default": "200px",
578
+ "scope": "component"
579
+ },
580
+ {
581
+ "css": "--bulma-taginput-transition-duration",
582
+ "sass": "$taginput-transition-duration",
583
+ "default": "var(--bulma-duration)",
584
+ "scope": "component"
585
+ }
586
+ ]
587
+ }