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.
- package/README.md +90 -0
- package/data/catalog.json +1869 -0
- package/data/components/Autocomplete.json +604 -0
- package/data/components/Avatar.json +220 -0
- package/data/components/Avatars.json +294 -0
- package/data/components/Badge.json +261 -0
- package/data/components/Block.json +105 -0
- package/data/components/Box.json +157 -0
- package/data/components/Breadcrumb.json +155 -0
- package/data/components/Button.json +599 -0
- package/data/components/Buttons.json +533 -0
- package/data/components/Card.json +506 -0
- package/data/components/Carousel.json +512 -0
- package/data/components/Cell.json +154 -0
- package/data/components/Checkbox.json +176 -0
- package/data/components/Checkboxes.json +240 -0
- package/data/components/Code.json +128 -0
- package/data/components/Collapse.json +218 -0
- package/data/components/Column.json +284 -0
- package/data/components/Columns.json +542 -0
- package/data/components/ConfigProvider.json +16 -0
- package/data/components/Container.json +149 -0
- package/data/components/Content.json +228 -0
- package/data/components/Control.json +484 -0
- package/data/components/DateInput.json +872 -0
- package/data/components/DateTimeInput.json +952 -0
- package/data/components/Delete.json +153 -0
- package/data/components/Dialog.json +285 -0
- package/data/components/Divider.json +68 -0
- package/data/components/Dropdown.json +353 -0
- package/data/components/Emphasis.json +99 -0
- package/data/components/Field.json +539 -0
- package/data/components/Figure.json +143 -0
- package/data/components/File.json +403 -0
- package/data/components/Footer.json +109 -0
- package/data/components/Grid.json +357 -0
- package/data/components/Hero.json +340 -0
- package/data/components/Icon.json +232 -0
- package/data/components/IconText.json +307 -0
- package/data/components/Image.json +166 -0
- package/data/components/Input.json +583 -0
- package/data/components/Level.json +332 -0
- package/data/components/Link.json +154 -0
- package/data/components/LinkButton.json +247 -0
- package/data/components/ListItem.json +101 -0
- package/data/components/Loading.json +323 -0
- package/data/components/Media.json +345 -0
- package/data/components/Menu.json +317 -0
- package/data/components/Message.json +303 -0
- package/data/components/Modal.json +444 -0
- package/data/components/Navbar.json +996 -0
- package/data/components/Notification.json +165 -0
- package/data/components/Numberinput.json +364 -0
- package/data/components/OrderedList.json +189 -0
- package/data/components/Pagination.json +619 -0
- package/data/components/Panel.json +582 -0
- package/data/components/Paragraph.json +107 -0
- package/data/components/Pre.json +114 -0
- package/data/components/Progress.json +137 -0
- package/data/components/Radio.json +164 -0
- package/data/components/Radios.json +240 -0
- package/data/components/Rate.json +466 -0
- package/data/components/Reveal.json +177 -0
- package/data/components/Section.json +123 -0
- package/data/components/Select.json +526 -0
- package/data/components/Sidebar.json +488 -0
- package/data/components/Skeleton.json +162 -0
- package/data/components/Slider.json +534 -0
- package/data/components/Span.json +100 -0
- package/data/components/Steps.json +452 -0
- package/data/components/Strong.json +105 -0
- package/data/components/SubTitle.json +233 -0
- package/data/components/Switch.json +291 -0
- package/data/components/Table.json +490 -0
- package/data/components/Tabs.json +592 -0
- package/data/components/Tag.json +197 -0
- package/data/components/Taginput.json +587 -0
- package/data/components/Tags.json +181 -0
- package/data/components/TextArea.json +483 -0
- package/data/components/Theme.json +65 -0
- package/data/components/TimeInput.json +906 -0
- package/data/components/Title.json +240 -0
- package/data/components/Toast.json +308 -0
- package/data/components/Tooltip.json +212 -0
- package/data/components/UnorderedList.json +149 -0
- package/data/components/Valid value constants.json +16 -0
- package/data/components/classNames.json +65 -0
- package/data/components/useBulmaClasses.json +169 -0
- package/data/components/usePrefixedClassNames.json +25 -0
- package/data/skills/bestax-custom-component/SKILL.md +196 -0
- package/data/skills/bestax-custom-component/examples/stat-card.tsx +105 -0
- package/data/skills/bestax-custom-component/references/api.md +90 -0
- package/data/skills/bestax-custom-component/references/component-catalog.md +149 -0
- package/data/skills/bestax-custom-component/references/library-contributor.md +395 -0
- package/data/skills/bestax-custom-component/references/patterns.md +136 -0
- package/data/skills/bestax-form/SKILL.md +254 -0
- package/data/skills/bestax-form/references/api.md +103 -0
- package/data/skills/bestax-form/references/patterns.md +210 -0
- package/data/skills/bestax-icons/SKILL.md +80 -0
- package/data/skills/bestax-icons/examples/icon-usage.tsx +80 -0
- package/data/skills/bestax-icons/references/icon-libraries.md +131 -0
- package/data/skills/bestax-layout-scaffold/SKILL.md +196 -0
- package/data/skills/bestax-layout-scaffold/examples/app-shell.tsx +86 -0
- package/data/skills/bestax-layout-scaffold/examples/card-grid.tsx +106 -0
- package/data/skills/bestax-layout-scaffold/examples/centered.tsx +56 -0
- package/data/skills/bestax-layout-scaffold/examples/content-page.tsx +90 -0
- package/data/skills/bestax-layout-scaffold/examples/landing.tsx +122 -0
- package/data/skills/bestax-layout-scaffold/references/archetypes.md +246 -0
- package/data/skills/bestax-layout-scaffold/references/layout-components.md +269 -0
- package/data/skills/bestax-migrate/SKILL.md +78 -0
- package/data/skills/bestax-migrate/references/component-map.md +91 -0
- package/data/skills/bestax-migrate/references/css-migration.md +100 -0
- package/data/skills/bestax-migrate/references/prop-map.md +48 -0
- package/data/skills/bestax-migrate/references/unmappables.md +124 -0
- package/data/skills/bestax-optimize/SKILL.md +131 -0
- package/data/skills/bestax-optimize/references/modular-build.md +173 -0
- package/data/skills/bestax-theming/SKILL.md +117 -0
- package/data/skills/bestax-theming/examples/dark-mode.tsx +38 -0
- package/data/skills/bestax-theming/examples/theme-config.tsx +60 -0
- package/data/skills/bestax-theming/references/css-variables.md +466 -0
- package/data/skills/bestax-theming/references/themeable-components.md +119 -0
- package/data/skills.json +148 -0
- package/dist/data.d.ts +131 -0
- package/dist/data.d.ts.map +1 -0
- package/dist/data.js +111 -0
- package/dist/format.d.ts +37 -0
- package/dist/format.d.ts.map +1 -0
- package/dist/format.js +178 -0
- package/dist/helper-props.d.ts +57 -0
- package/dist/helper-props.d.ts.map +1 -0
- package/dist/helper-props.js +249 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +18 -0
- package/dist/search.d.ts +32 -0
- package/dist/search.d.ts.map +1 -0
- package/dist/search.js +194 -0
- package/dist/server.d.ts +28 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +616 -0
- package/dist/version.d.ts +29 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +147 -0
- package/package.json +70 -0
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Section",
|
|
3
|
+
"kind": "component",
|
|
4
|
+
"category": "layout",
|
|
5
|
+
"slug": "layout/section",
|
|
6
|
+
"docsUrl": "https://bestax.io/docs/api/layout/section",
|
|
7
|
+
"examples": [
|
|
8
|
+
{
|
|
9
|
+
"title": "Default Section",
|
|
10
|
+
"code": "<Section>\n <Title>Section</Title>\n <SubTitle>\n Divide your content into into <Strong>sections</Strong>. Tada!\n </SubTitle>\n</Section>"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"title": "Medium Section",
|
|
14
|
+
"code": "<Section size=\"medium\">\n <Title>Medium Section</Title>\n <SubTitle>\n Divide your content into into <Strong>sections</Strong>. Tada! Make sure\n your window is wide or you won't see a medium section.\n </SubTitle>\n</Section>"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"title": "Large Section",
|
|
18
|
+
"code": "<Section size=\"large\">\n <Title>Large Section</Title>\n <SubTitle>\n Divide your content into into <Strong>sections</Strong>. Tada! Make sure\n your window is wide or you won't see a large section.\n </SubTitle>\n</Section>"
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
"accessibility": "- The section renders as a semantic `<section>` for improved structure and accessibility.\n- Use headings (`<Title>`, `<SubTitle>`) and semantic content for screen reader support.\n\n:::note\nSections help organize your document outline for screen readers and SEO.\n:::",
|
|
22
|
+
"related": ["Container", "SubTitle", "Title", "useBulmaClasses"],
|
|
23
|
+
"storybook": "https://bestax.io/storybook/?path=/story/layout-section--default",
|
|
24
|
+
"summary": "The `Section` component provides vertical spacing and visual separation for your Bulma React UI.",
|
|
25
|
+
"import": "import { Section } from '@allxsmith/bestax-bulma';",
|
|
26
|
+
"sourceFile": "bulma-ui/src/layout/Section.tsx",
|
|
27
|
+
"rootClass": "section",
|
|
28
|
+
"parts": [
|
|
29
|
+
{
|
|
30
|
+
"path": "Section",
|
|
31
|
+
"summary": "The `Section` component provides vertical spacing and visual separation for your Bulma React UI.",
|
|
32
|
+
"component": null,
|
|
33
|
+
"props": [
|
|
34
|
+
{
|
|
35
|
+
"name": "color",
|
|
36
|
+
"type": "Bulma color | 'inherit' | 'current'",
|
|
37
|
+
"default": null,
|
|
38
|
+
"description": "Bulma color modifier for text.",
|
|
39
|
+
"required": false,
|
|
40
|
+
"inherited": false,
|
|
41
|
+
"deprecated": false,
|
|
42
|
+
"valuesRef": "helpers/valid-values"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"name": "bgColor",
|
|
46
|
+
"type": "Bulma color | 'inherit' | 'current'",
|
|
47
|
+
"default": null,
|
|
48
|
+
"description": "Bulma background color helper.",
|
|
49
|
+
"required": false,
|
|
50
|
+
"inherited": false,
|
|
51
|
+
"deprecated": false,
|
|
52
|
+
"valuesRef": "helpers/valid-values"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"name": "textColor",
|
|
56
|
+
"type": "Bulma color | 'inherit' | 'current'",
|
|
57
|
+
"default": null,
|
|
58
|
+
"description": "Bulma text color helper.",
|
|
59
|
+
"required": false,
|
|
60
|
+
"inherited": false,
|
|
61
|
+
"deprecated": false,
|
|
62
|
+
"valuesRef": "helpers/valid-values"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"name": "size",
|
|
66
|
+
"type": "'medium' | 'large'",
|
|
67
|
+
"default": null,
|
|
68
|
+
"description": "Section size for extra vertical spacing.",
|
|
69
|
+
"required": false,
|
|
70
|
+
"inherited": false,
|
|
71
|
+
"deprecated": false
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"name": "className",
|
|
75
|
+
"type": "string",
|
|
76
|
+
"default": null,
|
|
77
|
+
"description": "Additional CSS classes.",
|
|
78
|
+
"required": false,
|
|
79
|
+
"inherited": false,
|
|
80
|
+
"deprecated": false
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"name": "children",
|
|
84
|
+
"type": "React.ReactNode",
|
|
85
|
+
"default": null,
|
|
86
|
+
"description": "Section content.",
|
|
87
|
+
"required": false,
|
|
88
|
+
"inherited": false,
|
|
89
|
+
"deprecated": false
|
|
90
|
+
}
|
|
91
|
+
],
|
|
92
|
+
"extraProps": [],
|
|
93
|
+
"catchAll": "All standard HTML attributes and Bulma helper props",
|
|
94
|
+
"types": []
|
|
95
|
+
}
|
|
96
|
+
],
|
|
97
|
+
"cssVars": [
|
|
98
|
+
{
|
|
99
|
+
"css": "--bulma-section-padding",
|
|
100
|
+
"sass": "$section-padding",
|
|
101
|
+
"default": "3rem 1.5rem",
|
|
102
|
+
"scope": "component"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"css": "--bulma-section-padding-desktop",
|
|
106
|
+
"sass": "$section-padding-desktop",
|
|
107
|
+
"default": "3rem 3rem",
|
|
108
|
+
"scope": "component"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"css": "--bulma-section-padding-medium",
|
|
112
|
+
"sass": "$section-padding-medium",
|
|
113
|
+
"default": "9rem 4.5rem",
|
|
114
|
+
"scope": "component"
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"css": "--bulma-section-padding-large",
|
|
118
|
+
"sass": "$section-padding-large",
|
|
119
|
+
"default": "18rem 6rem",
|
|
120
|
+
"scope": "component"
|
|
121
|
+
}
|
|
122
|
+
]
|
|
123
|
+
}
|
|
@@ -0,0 +1,526 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Select",
|
|
3
|
+
"kind": "component",
|
|
4
|
+
"category": "form",
|
|
5
|
+
"slug": "form/select",
|
|
6
|
+
"docsUrl": "https://bestax.io/docs/api/form/select",
|
|
7
|
+
"examples": [
|
|
8
|
+
{
|
|
9
|
+
"title": "Default Select",
|
|
10
|
+
"code": "<Select label=\"Default\">\n <option value=\"\">Please select</option>\n <option value=\"option1\">Option 1</option>\n <option value=\"option2\">Option 2</option>\n</Select>"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"title": "Multi Select",
|
|
14
|
+
"code": "<Select label=\"Multi Select\" multiple multipleSize={10}>\n <option value=\"huck\">Huckleberry Finn</option>\n <option value=\"tom\">Tom Sawyer</option>\n <option value=\"becky\">Becky Thatcher</option>\n <option value=\"jim\">Jim</option>\n <option value=\"pap\">Pap Finn</option>\n <option value=\"duke\">The Duke</option>\n <option value=\"king\">The King</option>\n <option value=\"widow\">Widow Douglas</option>\n <option value=\"judge\">Judge Thatcher</option>\n <option value=\"sid\">Sid Sawyer</option>\n</Select>"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"title": "Colored Select",
|
|
18
|
+
"code": "<>\n <Select label=\"Primary\" color=\"primary\">\n <option value=\"1\">Option 1</option>\n <option value=\"2\">Option 2</option>\n </Select>\n <Select label=\"Link\" color=\"link\">\n <option value=\"1\">Option 1</option>\n <option value=\"2\">Option 2</option>\n </Select>\n <Select label=\"Info\" color=\"info\">\n <option value=\"1\">Option 1</option>\n <option value=\"2\">Option 2</option>\n </Select>\n <Select label=\"Success\" color=\"success\">\n <option value=\"1\">Option 1</option>\n <option value=\"2\">Option 2</option>\n </Select>\n <Select label=\"Warning\" color=\"warning\">\n <option value=\"1\">Option 1</option>\n <option value=\"2\">Option 2</option>\n </Select>\n <Select label=\"Danger\" color=\"danger\">\n <option value=\"1\">Option 1</option>\n <option value=\"2\">Option 2</option>\n </Select>\n</>"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"title": "Rounded Style",
|
|
22
|
+
"code": "<Select label=\"Rounded\" isRounded>\n <option value=\"\">Please select</option>\n <option value=\"option1\">Option 1</option>\n <option value=\"option2\">Option 2</option>\n</Select>"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"title": "Sizes",
|
|
26
|
+
"code": "<>\n <Select label=\"Small\" size=\"small\">\n <option value=\"\">Please select</option>\n <option value=\"option1\">Option 1</option>\n <option value=\"option2\">Option 2</option>\n </Select>\n <Select label=\"Normal\">\n <option value=\"\">Please select</option>\n <option value=\"option1\">Option 1</option>\n <option value=\"option2\">Option 2</option>\n </Select>\n <Select label=\"Medium\" size=\"medium\">\n <option value=\"\">Please select</option>\n <option value=\"option1\">Option 1</option>\n <option value=\"option2\">Option 2</option>\n </Select>\n <Select label=\"Large\" size=\"large\">\n <option value=\"\">Please select</option>\n <option value=\"option1\">Option 1</option>\n <option value=\"option2\">Option 2</option>\n </Select>\n</>"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"title": "States",
|
|
30
|
+
"code": "<>\n <Select label=\"Normal\">\n <option value=\"\">Please select</option>\n <option value=\"option1\">Option 1</option>\n </Select>\n <Select label=\"Hover\" isHovered>\n <option value=\"\">Please select</option>\n <option value=\"option1\">Option 1</option>\n </Select>\n <Select label=\"Focus\" isFocused>\n <option value=\"\">Please select</option>\n <option value=\"option1\">Option 1</option>\n </Select>\n <Select label=\"Loading\" isLoading>\n <option value=\"\">Please select</option>\n <option value=\"option1\">Option 1</option>\n </Select>\n</>"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"title": "Loading States by Size",
|
|
34
|
+
"code": "<>\n <Select label=\"Loading Small\" size=\"small\" isLoading>\n <option value=\"\">Please select</option>\n </Select>\n <Select label=\"Loading Normal\" isLoading>\n <option value=\"\">Please select</option>\n </Select>\n <Select label=\"Loading Medium\" size=\"medium\" isLoading>\n <option value=\"\">Please select</option>\n </Select>\n <Select label=\"Loading Large\" size=\"large\" isLoading>\n <option value=\"\">Please select</option>\n </Select>\n</>"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"title": "Disabled",
|
|
38
|
+
"code": "<Select label=\"Disabled\" disabled>\n <option value=\"\">Cannot change</option>\n</Select>"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"title": "With Icons",
|
|
42
|
+
"code": "<Select label=\"With Icons\" iconLeftName=\"person\">\n <option value=\"huck\">Huckleberry Finn</option>\n <option value=\"tom\">Tom Sawyer</option>\n <option value=\"becky\">Becky Thatcher</option>\n <option value=\"jim\">Jim</option>\n <option value=\"pap\">Pap Finn</option>\n</Select>"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"title": "With Icons and Size Variations",
|
|
46
|
+
"code": "<>\n <Select\n label=\"With Icons Small\"\n size=\"small\"\n iconLeftName=\"person\"\n iconLeftSize=\"small\"\n >\n <option value=\"huck\">Huckleberry Finn</option>\n <option value=\"tom\">Tom Sawyer</option>\n </Select>\n <Select label=\"With Icons Normal\" iconLeftName=\"person\">\n <option value=\"huck\">Huckleberry Finn</option>\n <option value=\"tom\">Tom Sawyer</option>\n </Select>\n <Select\n label=\"With Icons Medium\"\n size=\"medium\"\n iconLeftName=\"person\"\n iconLeftSize=\"medium\"\n >\n <option value=\"huck\">Huckleberry Finn</option>\n <option value=\"tom\">Tom Sawyer</option>\n </Select>\n <Select\n label=\"With Icons Large\"\n size=\"large\"\n iconLeftName=\"person\"\n iconLeftSize=\"large\"\n >\n <option value=\"huck\">Huckleberry Finn</option>\n <option value=\"tom\">Tom Sawyer</option>\n </Select>\n</>"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"title": "Form Addons",
|
|
50
|
+
"code": "<Field hasAddons>\n <Control>\n <Select aria-label=\"Currency\">\n <option>$</option>\n <option>£</option>\n <option>€</option>\n </Select>\n </Control>\n <Control isExpanded>\n <Input type=\"text\" placeholder=\"Amount of money\" />\n </Control>\n <Control>\n <Button>Transfer</Button>\n </Control>\n</Field>"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"title": "Form Addons",
|
|
54
|
+
"code": "<Field hasAddons>\n <Control isExpanded>\n <Select isFullwidth aria-label=\"Country\">\n <option>United States</option>\n <option>United Kingdom</option>\n <option>Canada</option>\n <option>France</option>\n <option>Germany</option>\n </Select>\n </Control>\n <Control>\n <Button color=\"primary\">Choose</Button>\n </Control>\n</Field>"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"title": "Horizontal — Select in Narrow Field",
|
|
58
|
+
"code": "<Field horizontal label=\"Department\">\n <Field.Body>\n <Field narrow>\n <Control>\n <Select isFullwidth>\n <option>Business development</option>\n <option>Marketing</option>\n <option>Sales</option>\n </Select>\n </Control>\n </Field>\n </Field.Body>\n</Field>"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"title": "Context-Aware Rendering",
|
|
62
|
+
"code": "<Select label=\"Country\">\n <option value=\"\">Please select</option>\n <option value=\"us\">United States</option>\n <option value=\"uk\">United Kingdom</option>\n <option value=\"ca\">Canada</option>\n</Select>"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"title": "Context-Aware Rendering",
|
|
66
|
+
"code": "function example() {\n return (\n <Field horizontal label=\"Country\">\n <Field.Body>\n <Field>\n <Select>\n <option value=\"\">Please select</option>\n <option value=\"us\">United States</option>\n <option value=\"uk\">United Kingdom</option>\n <option value=\"ca\">Canada</option>\n </Select>\n </Field>\n </Field.Body>\n </Field>\n );\n}"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"title": "Context-Aware Rendering",
|
|
70
|
+
"code": "function example() {\n return (\n <Field horizontal label=\"Country\">\n <Field.Body>\n <Field>\n <Control iconLeftName=\"globe\">\n <Select>\n <option value=\"\">Please select</option>\n <option value=\"us\">United States</option>\n <option value=\"uk\">United Kingdom</option>\n <option value=\"ca\">Canada</option>\n </Select>\n </Control>\n </Field>\n </Field.Body>\n </Field>\n );\n}"
|
|
71
|
+
}
|
|
72
|
+
],
|
|
73
|
+
"accessibility": "- Always provide a label. Select's `label` prop is automatically associated with the `<select>` (`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 select automatically when the select 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 `multiple` and `multipleSize` props for multi-select dropdowns.",
|
|
74
|
+
"related": ["Control", "Field"],
|
|
75
|
+
"storybook": "https://bestax.io/storybook/?path=/story/form-select--default",
|
|
76
|
+
"summary": "The `Select` component provides a Bulma-styled dropdown for selecting one or more options.",
|
|
77
|
+
"import": "import { Select, Field, Control } from '@allxsmith/bestax-bulma';",
|
|
78
|
+
"sourceFile": "bulma-ui/src/form/Select.tsx",
|
|
79
|
+
"rootClass": "select",
|
|
80
|
+
"parts": [
|
|
81
|
+
{
|
|
82
|
+
"path": "Select",
|
|
83
|
+
"summary": "The `Select` component provides a Bulma-styled dropdown for selecting one or more options.",
|
|
84
|
+
"component": null,
|
|
85
|
+
"props": [
|
|
86
|
+
{
|
|
87
|
+
"name": "label",
|
|
88
|
+
"type": "React.ReactNode",
|
|
89
|
+
"default": null,
|
|
90
|
+
"description": "Field label. Automatically associated with the select 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`).",
|
|
91
|
+
"required": false,
|
|
92
|
+
"inherited": false,
|
|
93
|
+
"deprecated": false
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"name": "labelSize",
|
|
97
|
+
"type": "'small' | 'normal' | 'medium' | 'large'",
|
|
98
|
+
"default": null,
|
|
99
|
+
"description": "Size for the label.",
|
|
100
|
+
"required": false,
|
|
101
|
+
"inherited": false,
|
|
102
|
+
"deprecated": false
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"name": "labelProps",
|
|
106
|
+
"type": "React.LabelHTMLAttributes<HTMLLabelElement> & { [key: string]: unknown; }",
|
|
107
|
+
"default": null,
|
|
108
|
+
"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.",
|
|
109
|
+
"required": false,
|
|
110
|
+
"inherited": false,
|
|
111
|
+
"deprecated": false
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"name": "horizontal",
|
|
115
|
+
"type": "boolean",
|
|
116
|
+
"default": "false",
|
|
117
|
+
"description": "Horizontal field layout.",
|
|
118
|
+
"required": false,
|
|
119
|
+
"inherited": false,
|
|
120
|
+
"deprecated": false
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"name": "iconLeft",
|
|
124
|
+
"type": "IconProps",
|
|
125
|
+
"default": null,
|
|
126
|
+
"description": "Icon props for left icon.",
|
|
127
|
+
"required": false,
|
|
128
|
+
"inherited": false,
|
|
129
|
+
"deprecated": false
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"name": "iconLeftName",
|
|
133
|
+
"type": "string",
|
|
134
|
+
"default": null,
|
|
135
|
+
"description": "Shortcut for left icon name.",
|
|
136
|
+
"required": false,
|
|
137
|
+
"inherited": false,
|
|
138
|
+
"deprecated": false
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"name": "iconLeftSize",
|
|
142
|
+
"type": "'small' | 'medium' | 'large'",
|
|
143
|
+
"default": null,
|
|
144
|
+
"description": "Shortcut for left icon size.",
|
|
145
|
+
"required": false,
|
|
146
|
+
"inherited": false,
|
|
147
|
+
"deprecated": false
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"name": "hasIconsLeft",
|
|
151
|
+
"type": "boolean",
|
|
152
|
+
"default": "false",
|
|
153
|
+
"description": "Force left icon container.",
|
|
154
|
+
"required": false,
|
|
155
|
+
"inherited": false,
|
|
156
|
+
"deprecated": false
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"name": "isLoading",
|
|
160
|
+
"type": "boolean",
|
|
161
|
+
"default": "false",
|
|
162
|
+
"description": "Shows loading indicator.",
|
|
163
|
+
"required": false,
|
|
164
|
+
"inherited": false,
|
|
165
|
+
"deprecated": false
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"name": "isExpanded",
|
|
169
|
+
"type": "boolean",
|
|
170
|
+
"default": "false",
|
|
171
|
+
"description": "Expand the control.",
|
|
172
|
+
"required": false,
|
|
173
|
+
"inherited": false,
|
|
174
|
+
"deprecated": false
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"name": "controlSize",
|
|
178
|
+
"type": "'small' | 'medium' | 'large'",
|
|
179
|
+
"default": null,
|
|
180
|
+
"description": "Control size.",
|
|
181
|
+
"required": false,
|
|
182
|
+
"inherited": false,
|
|
183
|
+
"deprecated": false
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
"name": "message",
|
|
187
|
+
"type": "React.ReactNode",
|
|
188
|
+
"default": null,
|
|
189
|
+
"description": "Help/validation message below the select.",
|
|
190
|
+
"required": false,
|
|
191
|
+
"inherited": false,
|
|
192
|
+
"deprecated": false
|
|
193
|
+
},
|
|
194
|
+
{
|
|
195
|
+
"name": "messageColor",
|
|
196
|
+
"type": "'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'",
|
|
197
|
+
"default": null,
|
|
198
|
+
"description": "Bulma color for the message.",
|
|
199
|
+
"required": false,
|
|
200
|
+
"inherited": false,
|
|
201
|
+
"deprecated": false
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
"name": "fieldClassName",
|
|
205
|
+
"type": "string",
|
|
206
|
+
"default": null,
|
|
207
|
+
"description": "Additional CSS classes for the Field.",
|
|
208
|
+
"required": false,
|
|
209
|
+
"inherited": false,
|
|
210
|
+
"deprecated": false
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
"name": "controlClassName",
|
|
214
|
+
"type": "string",
|
|
215
|
+
"default": null,
|
|
216
|
+
"description": "Additional CSS classes for the Control.",
|
|
217
|
+
"required": false,
|
|
218
|
+
"inherited": false,
|
|
219
|
+
"deprecated": false
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
"name": "color",
|
|
223
|
+
"type": "'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger' | 'black' | 'dark' | 'light' | 'white'",
|
|
224
|
+
"default": null,
|
|
225
|
+
"description": "Bulma color modifier for the select.",
|
|
226
|
+
"required": false,
|
|
227
|
+
"inherited": true,
|
|
228
|
+
"deprecated": false
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
"name": "size",
|
|
232
|
+
"type": "'small' | 'medium' | 'large'",
|
|
233
|
+
"default": null,
|
|
234
|
+
"description": "Size modifier for the select.",
|
|
235
|
+
"required": false,
|
|
236
|
+
"inherited": true,
|
|
237
|
+
"deprecated": false
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
"name": "isRounded",
|
|
241
|
+
"type": "boolean",
|
|
242
|
+
"default": "false",
|
|
243
|
+
"description": "Rounded select corners.",
|
|
244
|
+
"required": false,
|
|
245
|
+
"inherited": true,
|
|
246
|
+
"deprecated": false
|
|
247
|
+
},
|
|
248
|
+
{
|
|
249
|
+
"name": "isActive",
|
|
250
|
+
"type": "boolean",
|
|
251
|
+
"default": "false",
|
|
252
|
+
"description": "Applies Bulma's is-active modifier.",
|
|
253
|
+
"required": false,
|
|
254
|
+
"inherited": true,
|
|
255
|
+
"deprecated": false
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
"name": "isHovered",
|
|
259
|
+
"type": "boolean",
|
|
260
|
+
"default": "false",
|
|
261
|
+
"description": "Forces hovered state on the inner select.",
|
|
262
|
+
"required": false,
|
|
263
|
+
"inherited": true,
|
|
264
|
+
"deprecated": false
|
|
265
|
+
},
|
|
266
|
+
{
|
|
267
|
+
"name": "isFocused",
|
|
268
|
+
"type": "boolean",
|
|
269
|
+
"default": "false",
|
|
270
|
+
"description": "Forces focused state on the inner select.",
|
|
271
|
+
"required": false,
|
|
272
|
+
"inherited": true,
|
|
273
|
+
"deprecated": false
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
"name": "isFullwidth",
|
|
277
|
+
"type": "boolean",
|
|
278
|
+
"default": "false",
|
|
279
|
+
"description": "Makes the select span the full width of parent.",
|
|
280
|
+
"required": false,
|
|
281
|
+
"inherited": true,
|
|
282
|
+
"deprecated": false
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
"name": "className",
|
|
286
|
+
"type": "string",
|
|
287
|
+
"default": null,
|
|
288
|
+
"description": "Additional CSS classes to apply.",
|
|
289
|
+
"required": false,
|
|
290
|
+
"inherited": true,
|
|
291
|
+
"deprecated": false
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
"name": "disabled",
|
|
295
|
+
"type": "boolean",
|
|
296
|
+
"default": "false",
|
|
297
|
+
"description": "Disables the select.",
|
|
298
|
+
"required": false,
|
|
299
|
+
"inherited": true,
|
|
300
|
+
"deprecated": false
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
"name": "multiple",
|
|
304
|
+
"type": "boolean",
|
|
305
|
+
"default": "false",
|
|
306
|
+
"description": "Allows multiple selections.",
|
|
307
|
+
"required": false,
|
|
308
|
+
"inherited": true,
|
|
309
|
+
"deprecated": false
|
|
310
|
+
},
|
|
311
|
+
{
|
|
312
|
+
"name": "multipleSize",
|
|
313
|
+
"type": "number",
|
|
314
|
+
"default": null,
|
|
315
|
+
"description": "Number of visible options in multiselect.",
|
|
316
|
+
"required": false,
|
|
317
|
+
"inherited": true,
|
|
318
|
+
"deprecated": false
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
"name": "children",
|
|
322
|
+
"type": "React.ReactNode",
|
|
323
|
+
"default": null,
|
|
324
|
+
"description": "`<option>` elements.",
|
|
325
|
+
"required": false,
|
|
326
|
+
"inherited": true,
|
|
327
|
+
"deprecated": false
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
"name": "ref",
|
|
331
|
+
"type": "React.Ref<HTMLSelectElement>",
|
|
332
|
+
"default": null,
|
|
333
|
+
"description": "Forwarded to the underlying element.",
|
|
334
|
+
"required": false,
|
|
335
|
+
"inherited": false,
|
|
336
|
+
"deprecated": false
|
|
337
|
+
}
|
|
338
|
+
],
|
|
339
|
+
"extraProps": [],
|
|
340
|
+
"catchAll": "All standard <select> attributes and Bulma helper props",
|
|
341
|
+
"types": []
|
|
342
|
+
}
|
|
343
|
+
],
|
|
344
|
+
"cssVars": [
|
|
345
|
+
{
|
|
346
|
+
"css": "--bulma-input-h",
|
|
347
|
+
"sass": null,
|
|
348
|
+
"default": "var(--bulma-scheme-h)",
|
|
349
|
+
"scope": "component"
|
|
350
|
+
},
|
|
351
|
+
{
|
|
352
|
+
"css": "--bulma-input-s",
|
|
353
|
+
"sass": null,
|
|
354
|
+
"default": "var(--bulma-scheme-s)",
|
|
355
|
+
"scope": "component"
|
|
356
|
+
},
|
|
357
|
+
{
|
|
358
|
+
"css": "--bulma-input-border-style",
|
|
359
|
+
"sass": null,
|
|
360
|
+
"default": "solid",
|
|
361
|
+
"scope": "component"
|
|
362
|
+
},
|
|
363
|
+
{
|
|
364
|
+
"css": "--bulma-input-border-width",
|
|
365
|
+
"sass": null,
|
|
366
|
+
"default": "1px",
|
|
367
|
+
"scope": "component"
|
|
368
|
+
},
|
|
369
|
+
{
|
|
370
|
+
"css": "--bulma-input-border-l",
|
|
371
|
+
"sass": null,
|
|
372
|
+
"default": "var(--bulma-border-l)",
|
|
373
|
+
"scope": "component"
|
|
374
|
+
},
|
|
375
|
+
{
|
|
376
|
+
"css": "--bulma-input-l",
|
|
377
|
+
"sass": "$input-l",
|
|
378
|
+
"default": "var(--bulma-scheme-main-l)",
|
|
379
|
+
"scope": "component"
|
|
380
|
+
},
|
|
381
|
+
{
|
|
382
|
+
"css": "--bulma-input-border-l-delta",
|
|
383
|
+
"sass": "$input-border-l-delta",
|
|
384
|
+
"default": "0%",
|
|
385
|
+
"scope": "component"
|
|
386
|
+
},
|
|
387
|
+
{
|
|
388
|
+
"css": "--bulma-input-border-color",
|
|
389
|
+
"sass": "$input-border-color",
|
|
390
|
+
"default": "hsl(var(--bulma-input-h), var(--bulma-input-s), calc(var(--bulma-input-border-l) + var(--bulma-input-border-l-delta)))",
|
|
391
|
+
"scope": "component"
|
|
392
|
+
},
|
|
393
|
+
{
|
|
394
|
+
"css": "--bulma-input-hover-border-l-delta",
|
|
395
|
+
"sass": "$input-hover-border-l-delta",
|
|
396
|
+
"default": "var(--bulma-hover-border-l-delta)",
|
|
397
|
+
"scope": "component"
|
|
398
|
+
},
|
|
399
|
+
{
|
|
400
|
+
"css": "--bulma-input-active-border-l-delta",
|
|
401
|
+
"sass": "$input-active-border-l-delta",
|
|
402
|
+
"default": "var(--bulma-active-border-l-delta)",
|
|
403
|
+
"scope": "component"
|
|
404
|
+
},
|
|
405
|
+
{
|
|
406
|
+
"css": "--bulma-input-focus-h",
|
|
407
|
+
"sass": "$input-focus-h",
|
|
408
|
+
"default": "var(--bulma-focus-h)",
|
|
409
|
+
"scope": "component"
|
|
410
|
+
},
|
|
411
|
+
{
|
|
412
|
+
"css": "--bulma-input-focus-s",
|
|
413
|
+
"sass": "$input-focus-s",
|
|
414
|
+
"default": "var(--bulma-focus-s)",
|
|
415
|
+
"scope": "component"
|
|
416
|
+
},
|
|
417
|
+
{
|
|
418
|
+
"css": "--bulma-input-focus-l",
|
|
419
|
+
"sass": "$input-focus-l",
|
|
420
|
+
"default": "var(--bulma-focus-l)",
|
|
421
|
+
"scope": "component"
|
|
422
|
+
},
|
|
423
|
+
{
|
|
424
|
+
"css": "--bulma-input-focus-shadow-size",
|
|
425
|
+
"sass": "$input-focus-shadow-size",
|
|
426
|
+
"default": "var(--bulma-focus-shadow-size)",
|
|
427
|
+
"scope": "component"
|
|
428
|
+
},
|
|
429
|
+
{
|
|
430
|
+
"css": "--bulma-input-focus-shadow-alpha",
|
|
431
|
+
"sass": "$input-focus-shadow-alpha",
|
|
432
|
+
"default": "var(--bulma-focus-shadow-alpha)",
|
|
433
|
+
"scope": "component"
|
|
434
|
+
},
|
|
435
|
+
{
|
|
436
|
+
"css": "--bulma-input-color-l",
|
|
437
|
+
"sass": "$input-color-l",
|
|
438
|
+
"default": "var(--bulma-text-strong-l)",
|
|
439
|
+
"scope": "component"
|
|
440
|
+
},
|
|
441
|
+
{
|
|
442
|
+
"css": "--bulma-input-background-l",
|
|
443
|
+
"sass": "$input-background-l",
|
|
444
|
+
"default": "var(--bulma-scheme-main-l)",
|
|
445
|
+
"scope": "component"
|
|
446
|
+
},
|
|
447
|
+
{
|
|
448
|
+
"css": "--bulma-input-background-l-delta",
|
|
449
|
+
"sass": "$input-background-l-delta",
|
|
450
|
+
"default": "0%",
|
|
451
|
+
"scope": "component"
|
|
452
|
+
},
|
|
453
|
+
{
|
|
454
|
+
"css": "--bulma-input-height",
|
|
455
|
+
"sass": "$input-height",
|
|
456
|
+
"default": "var(--bulma-control-height)",
|
|
457
|
+
"scope": "component"
|
|
458
|
+
},
|
|
459
|
+
{
|
|
460
|
+
"css": "--bulma-input-shadow",
|
|
461
|
+
"sass": "$input-shadow",
|
|
462
|
+
"default": "inset 0 0.0625em 0.125em hsla(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-invert-l), 0.05)",
|
|
463
|
+
"scope": "component"
|
|
464
|
+
},
|
|
465
|
+
{
|
|
466
|
+
"css": "--bulma-input-placeholder-color",
|
|
467
|
+
"sass": "$input-placeholder-color",
|
|
468
|
+
"default": "hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-strong-l), 0.3)",
|
|
469
|
+
"scope": "component"
|
|
470
|
+
},
|
|
471
|
+
{
|
|
472
|
+
"css": "--bulma-input-disabled-color",
|
|
473
|
+
"sass": "$input-disabled-color",
|
|
474
|
+
"default": "var(--bulma-text-weak)",
|
|
475
|
+
"scope": "component"
|
|
476
|
+
},
|
|
477
|
+
{
|
|
478
|
+
"css": "--bulma-input-disabled-background-color",
|
|
479
|
+
"sass": "$input-disabled-background-color",
|
|
480
|
+
"default": "var(--bulma-background)",
|
|
481
|
+
"scope": "component"
|
|
482
|
+
},
|
|
483
|
+
{
|
|
484
|
+
"css": "--bulma-input-disabled-border-color",
|
|
485
|
+
"sass": "$input-disabled-border-color",
|
|
486
|
+
"default": "var(--bulma-background)",
|
|
487
|
+
"scope": "component"
|
|
488
|
+
},
|
|
489
|
+
{
|
|
490
|
+
"css": "--bulma-input-disabled-placeholder-color",
|
|
491
|
+
"sass": "$input-disabled-placeholder-color",
|
|
492
|
+
"default": "hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-weak-l), 0.3)",
|
|
493
|
+
"scope": "component"
|
|
494
|
+
},
|
|
495
|
+
{
|
|
496
|
+
"css": "--bulma-input-arrow",
|
|
497
|
+
"sass": "$input-arrow",
|
|
498
|
+
"default": "var(--bulma-link)",
|
|
499
|
+
"scope": "component"
|
|
500
|
+
},
|
|
501
|
+
{
|
|
502
|
+
"css": "--bulma-input-icon-color",
|
|
503
|
+
"sass": "$input-icon-color",
|
|
504
|
+
"default": "var(--bulma-text-light)",
|
|
505
|
+
"scope": "component"
|
|
506
|
+
},
|
|
507
|
+
{
|
|
508
|
+
"css": "--bulma-input-icon-hover-color",
|
|
509
|
+
"sass": "$input-icon-hover-color",
|
|
510
|
+
"default": "var(--bulma-text-weak)",
|
|
511
|
+
"scope": "component"
|
|
512
|
+
},
|
|
513
|
+
{
|
|
514
|
+
"css": "--bulma-input-icon-focus-color",
|
|
515
|
+
"sass": "$input-icon-focus-color",
|
|
516
|
+
"default": "var(--bulma-link)",
|
|
517
|
+
"scope": "component"
|
|
518
|
+
},
|
|
519
|
+
{
|
|
520
|
+
"css": "--bulma-input-radius",
|
|
521
|
+
"sass": "$input-radius",
|
|
522
|
+
"default": "var(--bulma-radius)",
|
|
523
|
+
"scope": "component"
|
|
524
|
+
}
|
|
525
|
+
]
|
|
526
|
+
}
|