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,220 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Avatar",
|
|
3
|
+
"kind": "component",
|
|
4
|
+
"category": "components",
|
|
5
|
+
"slug": "components/avatar",
|
|
6
|
+
"docsUrl": "https://bestax.io/docs/api/components/avatar",
|
|
7
|
+
"examples": [
|
|
8
|
+
{
|
|
9
|
+
"title": "Photo with Automatic Fallback",
|
|
10
|
+
"code": "<Avatars spaced>\n <Avatar src=\"https://github.com/allxsmith.png\" name=\"Al Smith\" size=\"64x64\" />\n <Avatar\n src=\"https://example.invalid/missing.jpg\"\n name=\"Grace Hopper\"\n size=\"64x64\"\n />\n</Avatars>"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"title": "Initials",
|
|
14
|
+
"code": "<Avatars spaced>\n <Avatar name=\"Ada Lovelace\" />\n <Avatar name=\"Grace Hopper\" />\n <Avatar name=\"Katherine Johnson\" />\n</Avatars>"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"title": "Icon Fallback",
|
|
18
|
+
"code": "<Avatar icon={<Icon name=\"user\" />} color=\"info\" shape=\"rounded\" />"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"title": "Shapes",
|
|
22
|
+
"code": "<Avatars spaced>\n <Avatar name=\"Circle\" shape=\"circle\" />\n <Avatar name=\"Rounded\" shape=\"rounded\" />\n <Avatar name=\"Square\" shape=\"square\" />\n</Avatars>"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"title": "Sizes",
|
|
26
|
+
"code": "<Avatars spaced>\n <Avatar name=\"Ada Lovelace\" size=\"24x24\" />\n <Avatar name=\"Ada Lovelace\" size=\"32x32\" />\n <Avatar name=\"Ada Lovelace\" size=\"48x48\" />\n <Avatar name=\"Ada Lovelace\" size=\"64x64\" />\n <Avatar name=\"Ada Lovelace\" size={20} />\n</Avatars>"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"title": "Clickable Avatar",
|
|
30
|
+
"code": "<Avatar name=\"Ada Lovelace\" href=\"https://bestax.io\" />"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"title": "Forwarding Props to the Image",
|
|
34
|
+
"code": "<Avatar\n src=\"https://github.com/allxsmith.png\"\n name=\"Al Smith\"\n size=\"64x64\"\n imageProps={{ loading: 'lazy' }}\n/>"
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"accessibility": "- Image avatars use `alt` (falling back to `name`) for their accessible name.\n- Initials/icon avatars expose `role=\"img\"` and `aria-label` (from `alt`/`name`) — unless\n rendered as a link or button, where the native link/button role and `aria-label` are used\n instead.\n- **Decorative avatars:** pass an explicit `alt=\"\"` when the avatar repeats information\n already visible next to it (e.g. beside the author's name in a comment row). The image\n stays decorative and an initials/icon avatar is skipped entirely (`aria-hidden`), avoiding\n double-speak. The opt-out never applies to a link/button avatar — an interactive element\n always keeps an accessible name (from `name`, or a generic `\"Avatar\"` fallback).\n- A link/button avatar with no `alt`/`name` (e.g. an API that returns only a photo URL) still\n gets an `aria-label` fallback rather than rendering a nameless control.\n- `as=\"button\"` defaults to `type=\"button\"`, so a clickable avatar inside a form doesn't\n submit it.\n- The default fallback icon is `aria-hidden`.",
|
|
38
|
+
"related": ["Avatars", "Badge", "Image", "useBulmaClasses"],
|
|
39
|
+
"storybook": "https://bestax.io/storybook/?path=/story/components-avatar--photo",
|
|
40
|
+
"summary": "The `Avatar` component represents a person or entity as a compact image.",
|
|
41
|
+
"import": "import { Avatar } from '@allxsmith/bestax-bulma';",
|
|
42
|
+
"sourceFile": "bulma-ui/src/components/Avatar.tsx",
|
|
43
|
+
"rootClass": "avatar",
|
|
44
|
+
"parts": [
|
|
45
|
+
{
|
|
46
|
+
"path": "Avatar",
|
|
47
|
+
"summary": "The `Avatar` component represents a person or entity as a compact image.",
|
|
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": "src",
|
|
61
|
+
"type": "string",
|
|
62
|
+
"default": null,
|
|
63
|
+
"description": "Image URL. On load error (or if absent), falls back to initials, then `icon`.",
|
|
64
|
+
"required": false,
|
|
65
|
+
"inherited": false,
|
|
66
|
+
"deprecated": false
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"name": "alt",
|
|
70
|
+
"type": "string",
|
|
71
|
+
"default": null,
|
|
72
|
+
"description": "Alternate text for the image (used for the accessible name in every render mode). An explicit `alt=\"\"` marks a non-interactive avatar as decorative.",
|
|
73
|
+
"required": false,
|
|
74
|
+
"inherited": false,
|
|
75
|
+
"deprecated": false
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "name",
|
|
79
|
+
"type": "string",
|
|
80
|
+
"default": null,
|
|
81
|
+
"description": "Derives initials and a deterministic background color when no `src` is shown.",
|
|
82
|
+
"required": false,
|
|
83
|
+
"inherited": false,
|
|
84
|
+
"deprecated": false
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"name": "initials",
|
|
88
|
+
"type": "string",
|
|
89
|
+
"default": null,
|
|
90
|
+
"description": "Explicit initials override (else derived from `name`).",
|
|
91
|
+
"required": false,
|
|
92
|
+
"inherited": false,
|
|
93
|
+
"deprecated": false
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"name": "icon",
|
|
97
|
+
"type": "React.ReactNode",
|
|
98
|
+
"default": null,
|
|
99
|
+
"description": "Final fallback, rendered when there is no `src`, `name`, or `initials`.",
|
|
100
|
+
"required": false,
|
|
101
|
+
"inherited": false,
|
|
102
|
+
"deprecated": false
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"name": "size",
|
|
106
|
+
"type": "'16x16' | '24x24' | '32x32' | '48x48' | '64x64' | '96x96' | '128x128' | number",
|
|
107
|
+
"default": null,
|
|
108
|
+
"description": "Preset size, or a pixel size when a number.",
|
|
109
|
+
"required": false,
|
|
110
|
+
"inherited": false,
|
|
111
|
+
"deprecated": false
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"name": "shape",
|
|
115
|
+
"type": "'circle' | 'rounded' | 'square'",
|
|
116
|
+
"default": "'circle'",
|
|
117
|
+
"description": "Avatar shape. Default `'circle'`.",
|
|
118
|
+
"required": false,
|
|
119
|
+
"inherited": false,
|
|
120
|
+
"deprecated": false
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"name": "color",
|
|
124
|
+
"type": "AvatarColor",
|
|
125
|
+
"default": null,
|
|
126
|
+
"description": "Background color for initials/icon avatars (else auto-derived from `name`).",
|
|
127
|
+
"required": false,
|
|
128
|
+
"inherited": false,
|
|
129
|
+
"deprecated": false
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"name": "as",
|
|
133
|
+
"type": "React.ElementType",
|
|
134
|
+
"default": null,
|
|
135
|
+
"description": "Element/component to render as. Defaults to `'a'` when `href` is set, else `'figure'`.",
|
|
136
|
+
"required": false,
|
|
137
|
+
"inherited": false,
|
|
138
|
+
"deprecated": false
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"name": "href",
|
|
142
|
+
"type": "string",
|
|
143
|
+
"default": null,
|
|
144
|
+
"description": "When set, renders the avatar as a link.",
|
|
145
|
+
"required": false,
|
|
146
|
+
"inherited": false,
|
|
147
|
+
"deprecated": false
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"name": "target",
|
|
151
|
+
"type": "string",
|
|
152
|
+
"default": null,
|
|
153
|
+
"description": "Anchor target — forwarded only when rendering a link (an `a` or a custom `as` component).",
|
|
154
|
+
"required": false,
|
|
155
|
+
"inherited": false,
|
|
156
|
+
"deprecated": false
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"name": "rel",
|
|
160
|
+
"type": "string",
|
|
161
|
+
"default": null,
|
|
162
|
+
"description": "Anchor rel — forwarded only when rendering a link (an `a` or a custom `as` component).",
|
|
163
|
+
"required": false,
|
|
164
|
+
"inherited": false,
|
|
165
|
+
"deprecated": false
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"name": "imageProps",
|
|
169
|
+
"type": "React.ImgHTMLAttributes<HTMLImageElement>",
|
|
170
|
+
"default": null,
|
|
171
|
+
"description": "Extra props forwarded to the underlying `<img>` (e.g. `loading`, `crossOrigin`); its `onError` is chained before the fallback fires.",
|
|
172
|
+
"required": false,
|
|
173
|
+
"inherited": false,
|
|
174
|
+
"deprecated": false
|
|
175
|
+
}
|
|
176
|
+
],
|
|
177
|
+
"extraProps": [],
|
|
178
|
+
"catchAll": "All standard HTML attributes and Bulma helper props",
|
|
179
|
+
"types": [
|
|
180
|
+
{
|
|
181
|
+
"name": "AvatarColor",
|
|
182
|
+
"expansion": "'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger' | 'black' | 'dark' | 'light' | 'white'",
|
|
183
|
+
"summary": "Valid color values for the Avatar component."
|
|
184
|
+
}
|
|
185
|
+
]
|
|
186
|
+
}
|
|
187
|
+
],
|
|
188
|
+
"cssVars": [
|
|
189
|
+
{
|
|
190
|
+
"css": "--bulma-avatar-size",
|
|
191
|
+
"sass": "$avatar-size",
|
|
192
|
+
"default": "48px",
|
|
193
|
+
"scope": "component"
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"css": "--bulma-avatar-background",
|
|
197
|
+
"sass": "$avatar-background",
|
|
198
|
+
"default": "var(--bulma-background)",
|
|
199
|
+
"scope": "component"
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"css": "--bulma-avatar-color",
|
|
203
|
+
"sass": "$avatar-color",
|
|
204
|
+
"default": "var(--bulma-text)",
|
|
205
|
+
"scope": "component"
|
|
206
|
+
},
|
|
207
|
+
{
|
|
208
|
+
"css": "--bulma-avatar-weight",
|
|
209
|
+
"sass": "$avatar-weight",
|
|
210
|
+
"default": "var(--bulma-weight-semibold)",
|
|
211
|
+
"scope": "component"
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"css": "--bulma-avatar-rounded-radius",
|
|
215
|
+
"sass": "$avatar-rounded-radius",
|
|
216
|
+
"default": "var(--bulma-radius-large)",
|
|
217
|
+
"scope": "component"
|
|
218
|
+
}
|
|
219
|
+
]
|
|
220
|
+
}
|
|
@@ -0,0 +1,294 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Avatars",
|
|
3
|
+
"kind": "component",
|
|
4
|
+
"category": "components",
|
|
5
|
+
"slug": "components/avatars",
|
|
6
|
+
"docsUrl": "https://bestax.io/docs/api/components/avatars",
|
|
7
|
+
"examples": [
|
|
8
|
+
{
|
|
9
|
+
"title": "Default",
|
|
10
|
+
"code": "<Avatars>\n <Avatar name=\"Ada Lovelace\" />\n <Avatar name=\"Grace Hopper\" />\n <Avatar name=\"Katherine Johnson\" />\n</Avatars>"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"title": "Clamped with a Surplus Bubble",
|
|
14
|
+
"code": "<Avatars max={3} size=\"48x48\">\n <Avatar name=\"Ada Lovelace\" />\n <Avatar name=\"Grace Hopper\" />\n <Avatar name=\"Katherine Johnson\" />\n <Avatar name=\"Margaret Hamilton\" />\n <Avatar name=\"Radia Perlman\" />\n</Avatars>"
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"title": "Localized Surplus Label",
|
|
18
|
+
"code": "<Avatars max={3} surplusLabel={count => `${count} weitere`}>\n <Avatar name=\"Ada Lovelace\" />\n <Avatar name=\"Grace Hopper\" />\n <Avatar name=\"Katherine Johnson\" />\n <Avatar name=\"Margaret Hamilton\" />\n <Avatar name=\"Radia Perlman\" />\n</Avatars>"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"title": "Uniform Shape",
|
|
22
|
+
"code": "<Avatars max={4} shape=\"square\">\n <Avatar name=\"Ada Lovelace\" />\n <Avatar name=\"Grace Hopper\" />\n <Avatar name=\"Katherine Johnson\" />\n <Avatar name=\"Margaret Hamilton\" />\n <Avatar name=\"Radia Perlman\" />\n</Avatars>"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"title": "Spacing",
|
|
26
|
+
"code": "<Block display=\"flex\" flexDirection=\"column\">\n <Avatars spacing=\"sm\" mb=\"4\">\n <Avatar name=\"Ada Lovelace\" />\n <Avatar name=\"Grace Hopper\" />\n <Avatar name=\"Katherine Johnson\" />\n </Avatars>\n <Avatars spacing=\"lg\">\n <Avatar name=\"Ada Lovelace\" />\n <Avatar name=\"Grace Hopper\" />\n <Avatar name=\"Katherine Johnson\" />\n </Avatars>\n</Block>"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"title": "Spacing",
|
|
30
|
+
"code": "<Avatars spacing={4}>\n <Avatar name=\"Ada Lovelace\" />\n <Avatar name=\"Grace Hopper\" />\n <Avatar name=\"Katherine Johnson\" />\n</Avatars>"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"title": "Non-overlapping (Spaced)",
|
|
34
|
+
"code": "<Avatars spaced>\n <Avatar name=\"Ada Lovelace\" />\n <Avatar name=\"Grace Hopper\" />\n <Avatar name=\"Katherine Johnson\" />\n</Avatars>"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"title": "Compound (dot-notation) usage",
|
|
38
|
+
"code": "<Avatars>\n <Avatars.Avatar name=\"Ada Lovelace\" />\n <Avatars.Avatar name=\"Grace Hopper\" />\n <Avatars.Avatar name=\"Katherine Johnson\" />\n</Avatars>"
|
|
39
|
+
}
|
|
40
|
+
],
|
|
41
|
+
"accessibility": "- `Avatars` is a plain container — each child `Avatar` carries its own accessible name (see\n [Avatar's accessibility notes](./avatar.md#accessibility)).\n- The `+N` surplus avatar gets an accessible name of `\"{N} more\"` (via its `alt`), so assistive\n tech announces how many members are hidden. Localize it with `surplusLabel`, e.g.\n ``surplusLabel={count => `${count} weitere`}``.\n- A focused clickable avatar is lifted above its overlapping neighbours so its focus outline\n is never partially covered.\n- When the group represents a labelled set (e.g. \"Project members\"), give the container a\n `role=\"group\"` and an `aria-label` describing it.",
|
|
42
|
+
"related": ["Avatar", "Badge", "Tags", "useBulmaClasses"],
|
|
43
|
+
"storybook": "https://bestax.io/storybook/?path=/story/components-avatars--default",
|
|
44
|
+
"summary": "The `Avatars` component renders an overlapping/stacked group of `Avatar`s, the \"members\" list pattern.",
|
|
45
|
+
"import": "import { Avatars, Avatar } from '@allxsmith/bestax-bulma';",
|
|
46
|
+
"sourceFile": "bulma-ui/src/components/Avatars.tsx",
|
|
47
|
+
"rootClass": "avatars",
|
|
48
|
+
"parts": [
|
|
49
|
+
{
|
|
50
|
+
"path": "Avatars",
|
|
51
|
+
"summary": "The `Avatars` component renders an overlapping/stacked group of `Avatar`s, the \"members\" list pattern.",
|
|
52
|
+
"component": null,
|
|
53
|
+
"props": [
|
|
54
|
+
{
|
|
55
|
+
"name": "className",
|
|
56
|
+
"type": "string",
|
|
57
|
+
"default": null,
|
|
58
|
+
"description": "Additional CSS classes to apply.",
|
|
59
|
+
"required": false,
|
|
60
|
+
"inherited": false,
|
|
61
|
+
"deprecated": false
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"name": "max",
|
|
65
|
+
"type": "number",
|
|
66
|
+
"default": null,
|
|
67
|
+
"description": "Show only the first `max` children, replacing the overflow with a \"+N\" surplus avatar. A single overflow avatar is shown directly rather than as a pointless \"+1\".",
|
|
68
|
+
"required": false,
|
|
69
|
+
"inherited": false,
|
|
70
|
+
"deprecated": false
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"name": "size",
|
|
74
|
+
"type": "'16x16' | '24x24' | '32x32' | '48x48' | '64x64' | '96x96' | '128x128' | number",
|
|
75
|
+
"default": null,
|
|
76
|
+
"description": "Uniform size applied to every child `Avatar` (and the surplus avatar).",
|
|
77
|
+
"required": false,
|
|
78
|
+
"inherited": false,
|
|
79
|
+
"deprecated": false
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"name": "shape",
|
|
83
|
+
"type": "'circle' | 'rounded' | 'square'",
|
|
84
|
+
"default": null,
|
|
85
|
+
"description": "Uniform shape applied to every child `Avatar` (and the surplus avatar); a child's own `shape` wins when this is unset.",
|
|
86
|
+
"required": false,
|
|
87
|
+
"inherited": false,
|
|
88
|
+
"deprecated": false
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"name": "spacing",
|
|
92
|
+
"type": "'sm' | 'md' | 'lg' | number",
|
|
93
|
+
"default": "'md'",
|
|
94
|
+
"description": "Space between avatars: a preset or a pixel `number`. The overlap distance, or the gap when `spaced`.",
|
|
95
|
+
"required": false,
|
|
96
|
+
"inherited": false,
|
|
97
|
+
"deprecated": false
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"name": "spaced",
|
|
101
|
+
"type": "boolean",
|
|
102
|
+
"default": "false",
|
|
103
|
+
"description": "Lay the avatars out side by side (non-overlapping), using `spacing` as the gap.",
|
|
104
|
+
"required": false,
|
|
105
|
+
"inherited": false,
|
|
106
|
+
"deprecated": false
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"name": "surplusLabel",
|
|
110
|
+
"type": "(count: number) => string",
|
|
111
|
+
"default": null,
|
|
112
|
+
"description": "Builds the surplus avatar's accessible name from the hidden count, for localization. Default: `` `${count} more` ``.",
|
|
113
|
+
"required": false,
|
|
114
|
+
"inherited": false,
|
|
115
|
+
"deprecated": false
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"name": "children",
|
|
119
|
+
"type": "React.ReactNode",
|
|
120
|
+
"default": null,
|
|
121
|
+
"description": "`Avatar` elements to render inside the group.",
|
|
122
|
+
"required": false,
|
|
123
|
+
"inherited": false,
|
|
124
|
+
"deprecated": false
|
|
125
|
+
}
|
|
126
|
+
],
|
|
127
|
+
"extraProps": [],
|
|
128
|
+
"catchAll": "All standard <div> attributes and Bulma helper props",
|
|
129
|
+
"types": []
|
|
130
|
+
},
|
|
131
|
+
{
|
|
132
|
+
"path": "Avatars.Avatar",
|
|
133
|
+
"summary": "The `Avatar` component represents a person or entity as a compact image.",
|
|
134
|
+
"component": "Avatar",
|
|
135
|
+
"props": [
|
|
136
|
+
{
|
|
137
|
+
"name": "className",
|
|
138
|
+
"type": "string",
|
|
139
|
+
"default": null,
|
|
140
|
+
"description": "Additional CSS classes to apply.",
|
|
141
|
+
"required": false,
|
|
142
|
+
"inherited": false,
|
|
143
|
+
"deprecated": false
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"name": "src",
|
|
147
|
+
"type": "string",
|
|
148
|
+
"default": null,
|
|
149
|
+
"description": "Image URL. On load error (or if absent), falls back to initials, then `icon`.",
|
|
150
|
+
"required": false,
|
|
151
|
+
"inherited": false,
|
|
152
|
+
"deprecated": false
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"name": "alt",
|
|
156
|
+
"type": "string",
|
|
157
|
+
"default": null,
|
|
158
|
+
"description": "Alternate text for the image (used for the accessible name in every render mode). An explicit `alt=\"\"` marks a non-interactive avatar as decorative.",
|
|
159
|
+
"required": false,
|
|
160
|
+
"inherited": false,
|
|
161
|
+
"deprecated": false
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"name": "name",
|
|
165
|
+
"type": "string",
|
|
166
|
+
"default": null,
|
|
167
|
+
"description": "Derives initials and a deterministic background color when no `src` is shown.",
|
|
168
|
+
"required": false,
|
|
169
|
+
"inherited": false,
|
|
170
|
+
"deprecated": false
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"name": "initials",
|
|
174
|
+
"type": "string",
|
|
175
|
+
"default": null,
|
|
176
|
+
"description": "Explicit initials override (else derived from `name`).",
|
|
177
|
+
"required": false,
|
|
178
|
+
"inherited": false,
|
|
179
|
+
"deprecated": false
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"name": "icon",
|
|
183
|
+
"type": "React.ReactNode",
|
|
184
|
+
"default": null,
|
|
185
|
+
"description": "Final fallback, rendered when there is no `src`, `name`, or `initials`.",
|
|
186
|
+
"required": false,
|
|
187
|
+
"inherited": false,
|
|
188
|
+
"deprecated": false
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"name": "size",
|
|
192
|
+
"type": "'16x16' | '24x24' | '32x32' | '48x48' | '64x64' | '96x96' | '128x128' | number",
|
|
193
|
+
"default": null,
|
|
194
|
+
"description": "Preset size, or a pixel size when a number.",
|
|
195
|
+
"required": false,
|
|
196
|
+
"inherited": false,
|
|
197
|
+
"deprecated": false
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
"name": "shape",
|
|
201
|
+
"type": "'circle' | 'rounded' | 'square'",
|
|
202
|
+
"default": "'circle'",
|
|
203
|
+
"description": "Avatar shape. Default `'circle'`.",
|
|
204
|
+
"required": false,
|
|
205
|
+
"inherited": false,
|
|
206
|
+
"deprecated": false
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
"name": "color",
|
|
210
|
+
"type": "AvatarColor",
|
|
211
|
+
"default": null,
|
|
212
|
+
"description": "Background color for initials/icon avatars (else auto-derived from `name`).",
|
|
213
|
+
"required": false,
|
|
214
|
+
"inherited": false,
|
|
215
|
+
"deprecated": false
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
"name": "as",
|
|
219
|
+
"type": "React.ElementType",
|
|
220
|
+
"default": null,
|
|
221
|
+
"description": "Element/component to render as. Defaults to `'a'` when `href` is set, else `'figure'`.",
|
|
222
|
+
"required": false,
|
|
223
|
+
"inherited": false,
|
|
224
|
+
"deprecated": false
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
"name": "href",
|
|
228
|
+
"type": "string",
|
|
229
|
+
"default": null,
|
|
230
|
+
"description": "When set, renders the avatar as a link.",
|
|
231
|
+
"required": false,
|
|
232
|
+
"inherited": false,
|
|
233
|
+
"deprecated": false
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
"name": "target",
|
|
237
|
+
"type": "string",
|
|
238
|
+
"default": null,
|
|
239
|
+
"description": "Anchor target — forwarded only when rendering a link (an `a` or a custom `as` component).",
|
|
240
|
+
"required": false,
|
|
241
|
+
"inherited": false,
|
|
242
|
+
"deprecated": false
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
"name": "rel",
|
|
246
|
+
"type": "string",
|
|
247
|
+
"default": null,
|
|
248
|
+
"description": "Anchor rel — forwarded only when rendering a link (an `a` or a custom `as` component).",
|
|
249
|
+
"required": false,
|
|
250
|
+
"inherited": false,
|
|
251
|
+
"deprecated": false
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
"name": "imageProps",
|
|
255
|
+
"type": "React.ImgHTMLAttributes<HTMLImageElement>",
|
|
256
|
+
"default": null,
|
|
257
|
+
"description": "Extra props forwarded to the underlying `<img>` (e.g. `loading`, `crossOrigin`); its `onError` is chained before the fallback fires.",
|
|
258
|
+
"required": false,
|
|
259
|
+
"inherited": false,
|
|
260
|
+
"deprecated": false
|
|
261
|
+
}
|
|
262
|
+
],
|
|
263
|
+
"extraProps": [],
|
|
264
|
+
"catchAll": "All standard HTML attributes and Bulma helper props",
|
|
265
|
+
"types": [
|
|
266
|
+
{
|
|
267
|
+
"name": "AvatarColor",
|
|
268
|
+
"expansion": "'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger' | 'black' | 'dark' | 'light' | 'white'",
|
|
269
|
+
"summary": "Valid color values for the Avatar component."
|
|
270
|
+
}
|
|
271
|
+
]
|
|
272
|
+
}
|
|
273
|
+
],
|
|
274
|
+
"cssVars": [
|
|
275
|
+
{
|
|
276
|
+
"css": "--bulma-avatars-ring-color",
|
|
277
|
+
"sass": "$avatars-ring-color",
|
|
278
|
+
"default": "var(--bulma-scheme-main)",
|
|
279
|
+
"scope": "component"
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
"css": "--bulma-avatars-ring-width",
|
|
283
|
+
"sass": "$avatars-ring-width",
|
|
284
|
+
"default": "2px",
|
|
285
|
+
"scope": "component"
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
"css": "--bulma-avatars-spacing",
|
|
289
|
+
"sass": "$avatars-spacing-md",
|
|
290
|
+
"default": "0.75rem",
|
|
291
|
+
"scope": "component"
|
|
292
|
+
}
|
|
293
|
+
]
|
|
294
|
+
}
|