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,181 @@
1
+ {
2
+ "name": "Tags",
3
+ "kind": "component",
4
+ "category": "elements",
5
+ "slug": "elements/tags",
6
+ "docsUrl": "https://bestax.io/docs/api/elements/tags",
7
+ "examples": [
8
+ {
9
+ "title": "Default Tags",
10
+ "code": "<Tags>\n <Tag color=\"primary\">Primary</Tag>\n <Tag color=\"info\">Info</Tag>\n <Tag color=\"success\">Success</Tag>\n</Tags>"
11
+ },
12
+ {
13
+ "title": "Add-ons (Grouped)",
14
+ "code": "<Tags hasAddons>\n <Tag color=\"primary\">Package</Tag>\n <Tag color=\"success\">Ready</Tag>\n <Tag isDelete onDelete={() => alert('Deleted!')} />\n</Tags>"
15
+ },
16
+ {
17
+ "title": "Multiline",
18
+ "code": "<Tags isMultiline>\n <Tag color=\"primary\">Bulma</Tag>\n <Tag color=\"success\">React</Tag>\n <Tag color=\"warning\">Typescript</Tag>\n <Tag color=\"danger\">Library</Tag>\n <Tag color=\"link\">UI</Tag>\n</Tags>"
19
+ },
20
+ {
21
+ "title": "With Margin",
22
+ "code": "<Tags m=\"4\">\n <Tag color=\"primary\">With Margin</Tag>\n</Tags>"
23
+ },
24
+ {
25
+ "title": "Mixed Tags",
26
+ "code": "function example() {\n const [show, setShow] = useState();\n\n return (\n <Tags isMultiline>\n <Tag color=\"primary\" size=\"medium\">\n Primary Medium\n </Tag>\n <Tag color=\"success\" isRounded>\n Success Rounded\n </Tag>\n {/* Dismissible tag */}\n {show && <Tag color=\"danger\" isDelete onDelete={() => setShow(false)} />}\n <Tag color=\"info\">Info</Tag>\n </Tags>\n );\n}"
27
+ },
28
+ {
29
+ "title": "Add-ons with Delete Tag",
30
+ "code": "<Tags hasAddons>\n <Tag color=\"danger\">Allxsmith</Tag>\n <Tag isDelete onDelete={() => alert('Deleted!')} />\n</Tags>"
31
+ },
32
+ {
33
+ "title": "Compound (dot-notation) usage",
34
+ "code": "<Tags>\n <Tags.Tag color=\"primary\">React</Tags.Tag>\n <Tags.Tag color=\"info\">TypeScript</Tags.Tag>\n</Tags>"
35
+ }
36
+ ],
37
+ "accessibility": "- **Grouping:** The container is a `<div class=\"tags\">`, which is semantically neutral.\n- **Delete buttons:** If using delete tags, ensure each has an accessible label.\n- **Multiline:** `isMultiline` ensures tags wrap for better readability on small screens.\n\n:::tip\nUse `hasAddons` for tightly grouped tags (no space between them).\n:::",
38
+ "related": ["Delete", "Tag", "useBulmaClasses"],
39
+ "storybook": "https://bestax.io/storybook/?path=/story/elements-tag--default",
40
+ "summary": "The `Tags` component groups multiple `Tag` components together in a horizontal (or multiline) Bulma-styled container.",
41
+ "import": "import { Tags } from '@allxsmith/bestax-bulma';",
42
+ "sourceFile": "bulma-ui/src/elements/Tags.tsx",
43
+ "rootClass": "tags",
44
+ "parts": [
45
+ {
46
+ "path": "Tags",
47
+ "summary": "The `Tags` component groups multiple `Tag` components together in a horizontal (or multiline) Bulma-styled container.",
48
+ "component": null,
49
+ "props": [
50
+ {
51
+ "name": "className",
52
+ "type": "string",
53
+ "default": null,
54
+ "description": "Additional CSS classes to apply.",
55
+ "required": false,
56
+ "inherited": false,
57
+ "deprecated": false
58
+ },
59
+ {
60
+ "name": "hasAddons",
61
+ "type": "boolean",
62
+ "default": "false",
63
+ "description": "Group tags together as add-ons (no spacing).",
64
+ "required": false,
65
+ "inherited": false,
66
+ "deprecated": false
67
+ },
68
+ {
69
+ "name": "isMultiline",
70
+ "type": "boolean",
71
+ "default": "false",
72
+ "description": "Allow tags to wrap onto multiple lines.",
73
+ "required": false,
74
+ "inherited": false,
75
+ "deprecated": false
76
+ },
77
+ {
78
+ "name": "children",
79
+ "type": "React.ReactNode",
80
+ "default": null,
81
+ "description": "Tag elements to render inside the container.",
82
+ "required": false,
83
+ "inherited": false,
84
+ "deprecated": false
85
+ }
86
+ ],
87
+ "extraProps": [],
88
+ "catchAll": "All standard <div> attributes and Bulma helper props",
89
+ "types": []
90
+ },
91
+ {
92
+ "path": "Tags.Tag",
93
+ "summary": "The `Tag` component renders a Bulma-styled label or badge.",
94
+ "component": "Tag",
95
+ "props": [
96
+ {
97
+ "name": "className",
98
+ "type": "string",
99
+ "default": null,
100
+ "description": "Additional CSS classes to apply.",
101
+ "required": false,
102
+ "inherited": false,
103
+ "deprecated": false
104
+ },
105
+ {
106
+ "name": "color",
107
+ "type": "TagColor",
108
+ "default": null,
109
+ "description": "Bulma color modifier for the tag.",
110
+ "required": false,
111
+ "inherited": false,
112
+ "deprecated": false
113
+ },
114
+ {
115
+ "name": "size",
116
+ "type": "'normal' | 'medium' | 'large'",
117
+ "default": null,
118
+ "description": "Tag size.",
119
+ "required": false,
120
+ "inherited": false,
121
+ "deprecated": false
122
+ },
123
+ {
124
+ "name": "isRounded",
125
+ "type": "boolean",
126
+ "default": "false",
127
+ "description": "Renders a rounded tag.",
128
+ "required": false,
129
+ "inherited": false,
130
+ "deprecated": false
131
+ },
132
+ {
133
+ "name": "isDelete",
134
+ "type": "boolean",
135
+ "default": "false",
136
+ "description": "Renders a delete-style tag (delete button).",
137
+ "required": false,
138
+ "inherited": false,
139
+ "deprecated": false
140
+ },
141
+ {
142
+ "name": "isHoverable",
143
+ "type": "boolean",
144
+ "default": "false",
145
+ "description": "Adds hover effect to the tag.",
146
+ "required": false,
147
+ "inherited": false,
148
+ "deprecated": false
149
+ },
150
+ {
151
+ "name": "onDelete",
152
+ "type": "() => void",
153
+ "default": null,
154
+ "description": "Callback for delete tag/button.",
155
+ "required": false,
156
+ "inherited": false,
157
+ "deprecated": false
158
+ },
159
+ {
160
+ "name": "children",
161
+ "type": "React.ReactNode",
162
+ "default": null,
163
+ "description": "Tag content.",
164
+ "required": false,
165
+ "inherited": false,
166
+ "deprecated": false
167
+ }
168
+ ],
169
+ "extraProps": [],
170
+ "catchAll": "All standard <span> attributes and Bulma helper props",
171
+ "types": [
172
+ {
173
+ "name": "TagColor",
174
+ "expansion": "'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger' | 'black' | 'dark' | 'light' | 'white'",
175
+ "summary": "Valid color values for the Tag component (Bulma tag colors)."
176
+ }
177
+ ]
178
+ }
179
+ ],
180
+ "cssVars": []
181
+ }
@@ -0,0 +1,483 @@
1
+ {
2
+ "name": "TextArea",
3
+ "kind": "component",
4
+ "category": "form",
5
+ "slug": "form/textarea",
6
+ "docsUrl": "https://bestax.io/docs/api/form/textarea",
7
+ "examples": [
8
+ {
9
+ "title": "Default",
10
+ "code": "<TextArea label=\"Default\" placeholder=\"e.g. Hello world\" />"
11
+ },
12
+ {
13
+ "title": "Row Count",
14
+ "code": "<TextArea label=\"Rows\" rows={10} placeholder=\"10 rows\" />"
15
+ },
16
+ {
17
+ "title": "Colors",
18
+ "code": "<>\n <TextArea label=\"Primary\" color=\"primary\" placeholder=\"Primary textarea\" />\n <TextArea label=\"Link\" color=\"link\" placeholder=\"Link textarea\" />\n <TextArea label=\"Info\" color=\"info\" placeholder=\"Info textarea\" />\n <TextArea label=\"Success\" color=\"success\" placeholder=\"Success textarea\" />\n <TextArea label=\"Warning\" color=\"warning\" placeholder=\"Warning textarea\" />\n <TextArea label=\"Danger\" color=\"danger\" placeholder=\"Danger textarea\" />\n</>"
19
+ },
20
+ {
21
+ "title": "Sizes",
22
+ "code": "<>\n <TextArea label=\"Small\" size=\"small\" placeholder=\"Small textarea\" />\n <TextArea label=\"Normal\" placeholder=\"Normal textarea\" />\n <TextArea label=\"Medium\" size=\"medium\" placeholder=\"Medium textarea\" />\n <TextArea label=\"Large\" size=\"large\" placeholder=\"Large textarea\" />\n</>"
23
+ },
24
+ {
25
+ "title": "States",
26
+ "code": "<>\n <TextArea label=\"Normal\" placeholder=\"Normal textarea\" />\n <TextArea label=\"Hover\" isHovered placeholder=\"Hovered textarea\" />\n <TextArea label=\"Focus\" isFocused placeholder=\"Focused textarea\" />\n <TextArea label=\"Loading\" isLoading placeholder=\"Loading textarea\" />\n</>"
27
+ },
28
+ {
29
+ "title": "Loading States by Size",
30
+ "code": "<>\n <TextArea\n label=\"Loading Small\"\n size=\"small\"\n controlSize=\"small\"\n isLoading\n placeholder=\"Small loading textarea\"\n />\n <TextArea\n label=\"Loading Normal\"\n isLoading\n placeholder=\"Normal loading textarea\"\n />\n <TextArea\n label=\"Loading Medium\"\n size=\"medium\"\n controlSize=\"medium\"\n isLoading\n placeholder=\"Medium loading textarea\"\n />\n <TextArea\n label=\"Loading Large\"\n size=\"large\"\n controlSize=\"large\"\n isLoading\n placeholder=\"Large loading textarea\"\n />\n</>"
31
+ },
32
+ {
33
+ "title": "Disabled & Read Only",
34
+ "code": "<>\n <TextArea label=\"Disabled\" disabled placeholder=\"Disabled textarea\" />\n <TextArea label=\"Read Only\" readOnly value=\"This content is readonly\" />\n</>"
35
+ },
36
+ {
37
+ "title": "Fixed Size",
38
+ "code": "<TextArea\n label=\"Fixed Size\"\n hasFixedSize\n rows={3}\n placeholder=\"Fixed size textarea\"\n/>"
39
+ },
40
+ {
41
+ "title": "Horizontal",
42
+ "code": "<TextArea\n horizontal\n label=\"Question\"\n placeholder=\"Explain how we can help you\"\n rows={4}\n/>"
43
+ },
44
+ {
45
+ "title": "Context-Aware Rendering",
46
+ "code": "<TextArea label=\"Message\" placeholder=\"Enter your message\" />"
47
+ },
48
+ {
49
+ "title": "Context-Aware Rendering",
50
+ "code": "function example() {\n return (\n <Field horizontal label=\"Message\">\n <Field.Body>\n <Field>\n <TextArea placeholder=\"Enter your message\" />\n </Field>\n </Field.Body>\n </Field>\n );\n}"
51
+ },
52
+ {
53
+ "title": "Context-Aware Rendering",
54
+ "code": "function example() {\n return (\n <Field horizontal label=\"Message\">\n <Field.Body>\n <Field>\n <Control iconLeftName=\"comment\">\n <TextArea placeholder=\"Enter your message\" />\n </Control>\n </Field>\n </Field.Body>\n </Field>\n );\n}"
55
+ }
56
+ ],
57
+ "accessibility": "- Always provide a label. TextArea's `label` prop is automatically associated with the `<textarea>` (`htmlFor` plus a generated `id`, or your own `id` if you pass one).\n- When composing with `Field` instead, the `Field`'s own `label` associates with the textarea automatically when the textarea sits directly in that labeled `Field` — a nested unlabeled `Field` (as in horizontal multi-field layouts) starts its own scope. Pass `labelProps={{ htmlFor }}` and a matching `id` for a stable id or to label across a nested `Field`.\n- Use the `rows` prop to set an appropriate height for your content.",
58
+ "related": ["Control", "Field"],
59
+ "storybook": "https://bestax.io/storybook/?path=/story/form-textarea--default",
60
+ "summary": "The `TextArea` component provides a Bulma-styled multi-line text input, supporting color, size, rounded corners, static/read-only state, hover/focus/loading states, fixed size, and all Bulma helper props.",
61
+ "import": "import { TextArea, Field, Control } from '@allxsmith/bestax-bulma';",
62
+ "sourceFile": "bulma-ui/src/form/TextArea.tsx",
63
+ "rootClass": "textarea",
64
+ "parts": [
65
+ {
66
+ "path": "TextArea",
67
+ "summary": "The `TextArea` component provides a Bulma-styled multi-line text input, supporting color, size, rounded corners, static/read-only state, hover/focus/loading states, fixed size, and all Bulma helper props.",
68
+ "component": null,
69
+ "props": [
70
+ {
71
+ "name": "label",
72
+ "type": "React.ReactNode",
73
+ "default": null,
74
+ "description": "Field label. Automatically associated with the textarea via `htmlFor` — uses your `id` when provided, otherwise a generated one. Dropped inside an outer `Field`, whose own label associates instead when that `Field` generates a target id (not `grouped`/`hasAddons`, no explicit `labelProps.htmlFor`).",
75
+ "required": false,
76
+ "inherited": false,
77
+ "deprecated": false
78
+ },
79
+ {
80
+ "name": "labelSize",
81
+ "type": "'small' | 'normal' | 'medium' | 'large'",
82
+ "default": null,
83
+ "description": "Size for the label.",
84
+ "required": false,
85
+ "inherited": false,
86
+ "deprecated": false
87
+ },
88
+ {
89
+ "name": "labelProps",
90
+ "type": "React.LabelHTMLAttributes<HTMLLabelElement> & { [key: string]: unknown; }",
91
+ "default": null,
92
+ "description": "Props for the label element when the component renders its own `Field`; dropped inside an outer `Field` (use that `Field`'s `labelProps` instead). An explicit `htmlFor` key — even `undefined` — overrides the automatic association and no id is generated.",
93
+ "required": false,
94
+ "inherited": false,
95
+ "deprecated": false
96
+ },
97
+ {
98
+ "name": "horizontal",
99
+ "type": "boolean",
100
+ "default": "false",
101
+ "description": "Horizontal field layout.",
102
+ "required": false,
103
+ "inherited": false,
104
+ "deprecated": false
105
+ },
106
+ {
107
+ "name": "isLoading",
108
+ "type": "boolean",
109
+ "default": "false",
110
+ "description": "Shows loading indicator on the wrapping Control.",
111
+ "required": false,
112
+ "inherited": false,
113
+ "deprecated": false
114
+ },
115
+ {
116
+ "name": "controlSize",
117
+ "type": "'small' | 'medium' | 'large'",
118
+ "default": null,
119
+ "description": "Control size.",
120
+ "required": false,
121
+ "inherited": false,
122
+ "deprecated": false
123
+ },
124
+ {
125
+ "name": "message",
126
+ "type": "React.ReactNode",
127
+ "default": null,
128
+ "description": "Help/validation message below the textarea.",
129
+ "required": false,
130
+ "inherited": false,
131
+ "deprecated": false
132
+ },
133
+ {
134
+ "name": "messageColor",
135
+ "type": "'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'",
136
+ "default": null,
137
+ "description": "Bulma color for the message.",
138
+ "required": false,
139
+ "inherited": false,
140
+ "deprecated": false
141
+ },
142
+ {
143
+ "name": "fieldClassName",
144
+ "type": "string",
145
+ "default": null,
146
+ "description": "Additional CSS classes for the Field.",
147
+ "required": false,
148
+ "inherited": false,
149
+ "deprecated": false
150
+ },
151
+ {
152
+ "name": "controlClassName",
153
+ "type": "string",
154
+ "default": null,
155
+ "description": "Additional CSS classes for the Control.",
156
+ "required": false,
157
+ "inherited": false,
158
+ "deprecated": false
159
+ },
160
+ {
161
+ "name": "color",
162
+ "type": "'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger' | 'black' | 'dark' | 'light' | 'white'",
163
+ "default": null,
164
+ "description": "Bulma color modifier for the textarea.",
165
+ "required": false,
166
+ "inherited": true,
167
+ "deprecated": false
168
+ },
169
+ {
170
+ "name": "size",
171
+ "type": "'small' | 'medium' | 'large'",
172
+ "default": null,
173
+ "description": "Size modifier for the textarea.",
174
+ "required": false,
175
+ "inherited": true,
176
+ "deprecated": false
177
+ },
178
+ {
179
+ "name": "isRounded",
180
+ "type": "boolean",
181
+ "default": "false",
182
+ "description": "Rounded textarea corners.",
183
+ "required": false,
184
+ "inherited": true,
185
+ "deprecated": false
186
+ },
187
+ {
188
+ "name": "isStatic",
189
+ "type": "boolean",
190
+ "default": "false",
191
+ "description": "Renders textarea as static (styled readonly).",
192
+ "required": false,
193
+ "inherited": true,
194
+ "deprecated": false
195
+ },
196
+ {
197
+ "name": "isHovered",
198
+ "type": "boolean",
199
+ "default": "false",
200
+ "description": "Applies hovered state.",
201
+ "required": false,
202
+ "inherited": true,
203
+ "deprecated": false
204
+ },
205
+ {
206
+ "name": "isFocused",
207
+ "type": "boolean",
208
+ "default": "false",
209
+ "description": "Applies focused state.",
210
+ "required": false,
211
+ "inherited": true,
212
+ "deprecated": false
213
+ },
214
+ {
215
+ "name": "isActive",
216
+ "type": "boolean",
217
+ "default": "false",
218
+ "description": "Applies Bulma's is-active modifier.",
219
+ "required": false,
220
+ "inherited": true,
221
+ "deprecated": false
222
+ },
223
+ {
224
+ "name": "hasFixedSize",
225
+ "type": "boolean",
226
+ "default": "false",
227
+ "description": "Fixed textarea size (no resize).",
228
+ "required": false,
229
+ "inherited": true,
230
+ "deprecated": false
231
+ },
232
+ {
233
+ "name": "className",
234
+ "type": "string",
235
+ "default": null,
236
+ "description": "Additional CSS classes to apply.",
237
+ "required": false,
238
+ "inherited": true,
239
+ "deprecated": false
240
+ },
241
+ {
242
+ "name": "disabled",
243
+ "type": "boolean",
244
+ "default": "false",
245
+ "description": "Disables the textarea.",
246
+ "required": false,
247
+ "inherited": true,
248
+ "deprecated": false
249
+ },
250
+ {
251
+ "name": "readOnly",
252
+ "type": "boolean",
253
+ "default": "false",
254
+ "description": "Read-only textarea.",
255
+ "required": false,
256
+ "inherited": true,
257
+ "deprecated": false
258
+ },
259
+ {
260
+ "name": "rows",
261
+ "type": "number",
262
+ "default": null,
263
+ "description": "Number of visible text lines.",
264
+ "required": false,
265
+ "inherited": true,
266
+ "deprecated": false
267
+ },
268
+ {
269
+ "name": "ref",
270
+ "type": "React.Ref<HTMLTextAreaElement>",
271
+ "default": null,
272
+ "description": "Forwarded to the underlying element.",
273
+ "required": false,
274
+ "inherited": false,
275
+ "deprecated": false
276
+ }
277
+ ],
278
+ "extraProps": [],
279
+ "catchAll": "All standard <textarea> attributes and Bulma helper props",
280
+ "types": []
281
+ }
282
+ ],
283
+ "cssVars": [
284
+ {
285
+ "css": "--bulma-textarea-padding",
286
+ "sass": "$textarea-padding",
287
+ "default": "var(--bulma-control-padding-horizontal)",
288
+ "scope": "component"
289
+ },
290
+ {
291
+ "css": "--bulma-textarea-max-height",
292
+ "sass": "$textarea-max-height",
293
+ "default": "40em",
294
+ "scope": "component"
295
+ },
296
+ {
297
+ "css": "--bulma-textarea-min-height",
298
+ "sass": "$textarea-min-height",
299
+ "default": "8em",
300
+ "scope": "component"
301
+ },
302
+ {
303
+ "css": "--bulma-input-h",
304
+ "sass": "$input-h",
305
+ "default": "var(--bulma-scheme-h)",
306
+ "scope": "component"
307
+ },
308
+ {
309
+ "css": "--bulma-input-s",
310
+ "sass": "$input-s",
311
+ "default": "var(--bulma-scheme-s)",
312
+ "scope": "component"
313
+ },
314
+ {
315
+ "css": "--bulma-input-l",
316
+ "sass": "$input-l",
317
+ "default": "var(--bulma-scheme-main-l)",
318
+ "scope": "component"
319
+ },
320
+ {
321
+ "css": "--bulma-input-border-style",
322
+ "sass": "$input-border-style",
323
+ "default": "solid",
324
+ "scope": "component"
325
+ },
326
+ {
327
+ "css": "--bulma-input-border-width",
328
+ "sass": "$input-border-width",
329
+ "default": "var(--bulma-control-border-width)",
330
+ "scope": "component"
331
+ },
332
+ {
333
+ "css": "--bulma-input-border-l",
334
+ "sass": "$input-border-l",
335
+ "default": "var(--bulma-border-l)",
336
+ "scope": "component"
337
+ },
338
+ {
339
+ "css": "--bulma-input-border-l-delta",
340
+ "sass": "$input-border-l-delta",
341
+ "default": "0%",
342
+ "scope": "component"
343
+ },
344
+ {
345
+ "css": "--bulma-input-border-color",
346
+ "sass": "$input-border-color",
347
+ "default": "hsl(var(--bulma-input-h), var(--bulma-input-s), calc(var(--bulma-input-border-l) + var(--bulma-input-border-l-delta)))",
348
+ "scope": "component"
349
+ },
350
+ {
351
+ "css": "--bulma-input-hover-border-l-delta",
352
+ "sass": "$input-hover-border-l-delta",
353
+ "default": "var(--bulma-hover-border-l-delta)",
354
+ "scope": "component"
355
+ },
356
+ {
357
+ "css": "--bulma-input-active-border-l-delta",
358
+ "sass": "$input-active-border-l-delta",
359
+ "default": "var(--bulma-active-border-l-delta)",
360
+ "scope": "component"
361
+ },
362
+ {
363
+ "css": "--bulma-input-focus-h",
364
+ "sass": "$input-focus-h",
365
+ "default": "var(--bulma-focus-h)",
366
+ "scope": "component"
367
+ },
368
+ {
369
+ "css": "--bulma-input-focus-s",
370
+ "sass": "$input-focus-s",
371
+ "default": "var(--bulma-focus-s)",
372
+ "scope": "component"
373
+ },
374
+ {
375
+ "css": "--bulma-input-focus-l",
376
+ "sass": "$input-focus-l",
377
+ "default": "var(--bulma-focus-l)",
378
+ "scope": "component"
379
+ },
380
+ {
381
+ "css": "--bulma-input-focus-shadow-size",
382
+ "sass": "$input-focus-shadow-size",
383
+ "default": "var(--bulma-focus-shadow-size)",
384
+ "scope": "component"
385
+ },
386
+ {
387
+ "css": "--bulma-input-focus-shadow-alpha",
388
+ "sass": "$input-focus-shadow-alpha",
389
+ "default": "var(--bulma-focus-shadow-alpha)",
390
+ "scope": "component"
391
+ },
392
+ {
393
+ "css": "--bulma-input-color-l",
394
+ "sass": "$input-color-l",
395
+ "default": "var(--bulma-text-strong-l)",
396
+ "scope": "component"
397
+ },
398
+ {
399
+ "css": "--bulma-input-background-l",
400
+ "sass": "$input-background-l",
401
+ "default": "var(--bulma-scheme-main-l)",
402
+ "scope": "component"
403
+ },
404
+ {
405
+ "css": "--bulma-input-background-l-delta",
406
+ "sass": "$input-background-l-delta",
407
+ "default": "0%",
408
+ "scope": "component"
409
+ },
410
+ {
411
+ "css": "--bulma-input-height",
412
+ "sass": "$input-height",
413
+ "default": "var(--bulma-control-height)",
414
+ "scope": "component"
415
+ },
416
+ {
417
+ "css": "--bulma-input-shadow",
418
+ "sass": "$input-shadow",
419
+ "default": "inset 0 0.0625em 0.125em hsla(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-invert-l), 0.05)",
420
+ "scope": "component"
421
+ },
422
+ {
423
+ "css": "--bulma-input-placeholder-color",
424
+ "sass": "$input-placeholder-color",
425
+ "default": "hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-strong-l), 0.3)",
426
+ "scope": "component"
427
+ },
428
+ {
429
+ "css": "--bulma-input-disabled-color",
430
+ "sass": "$input-disabled-color",
431
+ "default": "var(--bulma-text-weak)",
432
+ "scope": "component"
433
+ },
434
+ {
435
+ "css": "--bulma-input-disabled-background-color",
436
+ "sass": "$input-disabled-background-color",
437
+ "default": "var(--bulma-background)",
438
+ "scope": "component"
439
+ },
440
+ {
441
+ "css": "--bulma-input-disabled-border-color",
442
+ "sass": "$input-disabled-border-color",
443
+ "default": "var(--bulma-background)",
444
+ "scope": "component"
445
+ },
446
+ {
447
+ "css": "--bulma-input-disabled-placeholder-color",
448
+ "sass": "$input-disabled-placeholder-color",
449
+ "default": "hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-weak-l), 0.3)",
450
+ "scope": "component"
451
+ },
452
+ {
453
+ "css": "--bulma-input-arrow",
454
+ "sass": "$input-arrow",
455
+ "default": "var(--bulma-link)",
456
+ "scope": "component"
457
+ },
458
+ {
459
+ "css": "--bulma-input-icon-color",
460
+ "sass": "$input-icon-color",
461
+ "default": "var(--bulma-text-light)",
462
+ "scope": "component"
463
+ },
464
+ {
465
+ "css": "--bulma-input-icon-hover-color",
466
+ "sass": "$input-icon-hover-color",
467
+ "default": "var(--bulma-text-weak)",
468
+ "scope": "component"
469
+ },
470
+ {
471
+ "css": "--bulma-input-icon-focus-color",
472
+ "sass": "$input-icon-focus-color",
473
+ "default": "var(--bulma-link)",
474
+ "scope": "component"
475
+ },
476
+ {
477
+ "css": "--bulma-input-radius",
478
+ "sass": "$input-radius",
479
+ "default": "var(--bulma-radius)",
480
+ "scope": "component"
481
+ }
482
+ ]
483
+ }