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,105 @@
1
+ // StatCard — the app-side worked example for the bestax-custom-component skill.
2
+ // (The library-contributor counterpart is Dialog, in references/patterns.md.)
3
+ //
4
+ // Context: an app depending on @allxsmith/bestax-bulma (e.g. `npm create bestax`).
5
+ // Everything imports from the package; no monorepo wiring, no Sass pipeline.
6
+ //
7
+ // It demonstrates the two lowest rungs of the styling ladder:
8
+ // Rung 1 — composition + helper props only (StatCard): Box/Title/Icon plus
9
+ // flexbox and spacing helper props. No CSS written at all.
10
+ // Rung 2 — a small scoped CSS file consuming --bulma-* variables (the
11
+ // commented block at the bottom) for the one thing helper props
12
+ // can't do (an accent border), keeping Theme + dark mode working.
13
+ import type React from 'react';
14
+ import {
15
+ Box,
16
+ Title,
17
+ Icon,
18
+ classNames,
19
+ usePrefixedClassNames,
20
+ useBulmaClasses,
21
+ type BulmaClassesProps,
22
+ } from '@allxsmith/bestax-bulma';
23
+
24
+ export interface StatCardProps
25
+ extends
26
+ Omit<React.HTMLAttributes<HTMLDivElement>, 'color'>,
27
+ Omit<BulmaClassesProps, 'color'> {
28
+ /** Metric label, e.g. "Active users". */
29
+ label: string;
30
+ /** The headline value, e.g. "12,481". */
31
+ value: string;
32
+ /** Icon name (Font Awesome by default), e.g. "users". */
33
+ icon?: string;
34
+ /** Bulma color for the icon + accent. */
35
+ color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
36
+ }
37
+
38
+ export function StatCard({
39
+ label,
40
+ value,
41
+ icon,
42
+ color = 'primary',
43
+ className,
44
+ ...props
45
+ }: StatCardProps) {
46
+ // The library's own spine, via public exports: helper props in, classes out.
47
+ const { bulmaHelperClasses, rest } = useBulmaClasses(props);
48
+ const mainClasses = usePrefixedClassNames('statcard', {
49
+ [`is-${color}`]: !!color,
50
+ });
51
+
52
+ return (
53
+ <Box
54
+ className={classNames(mainClasses, bulmaHelperClasses, className)}
55
+ // Rung 1: layout entirely with helper props — no style={{}}, no CSS.
56
+ display="flex"
57
+ alignItems="center"
58
+ p="4"
59
+ {...rest}
60
+ >
61
+ {icon && (
62
+ <Icon
63
+ name={icon}
64
+ size="large"
65
+ textColor={color}
66
+ mr="4"
67
+ // Decorative: the label below already says it, so hide it from AT —
68
+ // Icon otherwise emits its default aria-label="icon". (To *label* an
69
+ // icon, use Icon's own camelCase `ariaLabel`; most components take
70
+ // the plain aria-label attribute.)
71
+ aria-hidden="true"
72
+ />
73
+ )}
74
+ {/* No `gap` helper exists — space siblings with margin props (mr above). */}
75
+ <div>
76
+ {/* as="p": the sizes are visual scale, not document structure — a bare
77
+ <Title size> renders a heading and breaks the page outline. */}
78
+ <Title as="p" size="6" textColor="grey" mb="1">
79
+ {label}
80
+ </Title>
81
+ <Title as="p" size="3" mb="0">
82
+ {value}
83
+ </Title>
84
+ </div>
85
+ </Box>
86
+ );
87
+ }
88
+
89
+ // Rung 2 (optional) — src/components/StatCard.css, imported from this file:
90
+ //
91
+ // .statcard {
92
+ // /* Component-scoped custom props initialized from Bulma tokens, so any
93
+ // ancestor (or <Theme>) can re-theme the card by overriding them. */
94
+ // --statcard-accent: var(--bulma-primary);
95
+ // --statcard-radius: var(--bulma-radius);
96
+ // border-left: 0.25rem solid var(--statcard-accent);
97
+ // border-radius: var(--statcard-radius);
98
+ // }
99
+ // .statcard.is-success { --statcard-accent: var(--bulma-success); }
100
+ // .statcard.is-danger { --statcard-accent: var(--bulma-danger); }
101
+ //
102
+ // Only --bulma-*-derived values — never literal colors — so dark mode and
103
+ // Theme overrides keep working. Caveat: if the app uses the prefixed CSS
104
+ // flavor / ConfigProvider classPrefix, usePrefixedClassNames renders
105
+ // `bestax-statcard`; adjust the selectors (or use plain classNames).
@@ -0,0 +1,90 @@
1
+ # Reference: helper APIs for building components
2
+
3
+ Everything below is public API. Where to import from depends on your context:
4
+
5
+ | Context | Import from |
6
+ | --------------------------------------------- | ------------------------------------------------ |
7
+ | An app depending on `@allxsmith/bestax-bulma` | `'@allxsmith/bestax-bulma'` |
8
+ | Inside the bestax monorepo (`bulma-ui/src/`) | Relative paths — `'../helpers/classNames'`, etc. |
9
+
10
+ ## `useBulmaClasses(props)` — `helpers/useBulmaClasses.tsx`
11
+
12
+ Turns Bulma helper props into a class string and returns the leftover (non-helper) props.
13
+
14
+ ```ts
15
+ const { bulmaHelperClasses, rest } = useBulmaClasses(props);
16
+ // bulmaHelperClasses: e.g. 'has-text-primary is-size-3 m-3'
17
+ // rest: every prop that was NOT a recognized helper (safe to spread on the DOM)
18
+ ```
19
+
20
+ `BulmaClassesProps` is the union of all helper prop groups, composed from per-concern hooks
21
+ that can also be used on their own:
22
+
23
+ | Group | Hook | Representative props |
24
+ | ---------- | ---------------------- | -------------------------------------------------------------------------------------------------------------------------------- |
25
+ | Color | `useColorClasses` | `color`, `colorShade`, `backgroundColor`, `backgroundColorShade` |
26
+ | Spacing | `useSpacingClasses` | `m`, `mt`, `mr`, `mb`, `ml`, `mx`, `my`, `p`, `pt`, `pr`, `pb`, `pl`, `px`, `py` |
27
+ | Typography | `useTypographyClasses` | `textSize`, `textAlign`, `textTransform`, `textWeight`, `fontFamily` (+ responsive variants) |
28
+ | Visibility | `useVisibilityClasses` | `display`, `visibility` (+ per-viewport variants) |
29
+ | Flexbox | `useFlexboxClasses` | `flexDirection`, `flexWrap`, `justifyContent`, `alignItems`, `alignContent`, `alignSelf`, `flexGrow`, `flexShrink` |
30
+ | Other | `useOtherClasses` | `float`, `overflow`, `radius`, `shadow`, `interaction`, `cursor`, `skeleton`, `clearfix`, `relative`, `fullHeight`, `responsive` |
31
+
32
+ Because the component destructures these into `bulmaHelperClasses`, callers get the full Bulma
33
+ helper surface for free on every component built this way, and `rest` stays clean for DOM
34
+ spreading. (Library compound sub-parts — `Card.Content`, `Modal.Card`, `Tabs.Tab`,
35
+ `Message.Body` — do **not** take helper props: just `className`, HTML attributes, and their own
36
+ few, e.g. `Tabs.Tab`'s required `index` and its built-in `icon`/`disabled` props.)
37
+
38
+ ## `classNames(...)` and friends — `helpers/classNames.ts`
39
+
40
+ ```ts
41
+ classNames('foo', ['bar', { baz: true }], { qux: false }); // => 'foo bar baz'
42
+ ```
43
+
44
+ Accepts strings, numbers, arrays, and objects (truthy keys included); flattens recursively and
45
+ de-dupes. Related exports:
46
+
47
+ - `usePrefixedClassNames(...args)` — **use this in components.** Reads `classPrefix` from the
48
+ `ConfigProvider` context and prefixes every class. With `classPrefix="bulma-"`,
49
+ `usePrefixedClassNames('button', { 'is-primary': true })` → `'bulma-button bulma-is-primary'`.
50
+ - `prefixedClassNames(prefix, ...args)` — non-hook form; pass `undefined` for no prefix.
51
+ - `createPrefixedClassNames(prefix)` — factory returning a bound `classNames`.
52
+
53
+ ## Valid-value constants — `helpers/bulmaClassHelpers.ts`
54
+
55
+ Re-exported through `useBulmaClasses`. Use them to type component-specific props and to drive
56
+ Storybook `argTypes`/tests:
57
+
58
+ `validColors`, `validColorShades`, `validSizes`, `validTextSizes`, `validAlignments`,
59
+ `validTextTransforms`, `validTextWeights`, `validFontFamilies`, `validDisplays`,
60
+ `validVisibilities`, `validFlexDirections`, `validFlexWraps`, `validJustifyContents`,
61
+ `validAlignContents`, `validAlignItems`, `validAlignSelfs`, `validFlexGrowShrink`,
62
+ `validViewports`.
63
+
64
+ ```ts
65
+ export type MyColor = (typeof validColors)[number];
66
+ ```
67
+
68
+ ## `ConfigProvider` / `Theme` — `helpers/Config.tsx`, `helpers/Theme.tsx`
69
+
70
+ `ConfigProvider` provides the runtime `classPrefix` (and `iconLibrary`) consumed via `useConfig`;
71
+ `classPrefix` feeds `usePrefixedClassNames` (opt-in class prefixing to avoid collisions). `Theme`
72
+ overrides `--bulma-*` custom properties at runtime —
73
+ which is exactly why component SCSS must register its vars via `cv.register-vars` rather than
74
+ hard-coding values.
75
+
76
+ ## SCSS utilities — from the `bulma` package
77
+
78
+ ```scss
79
+ @use 'bulma/sass/utilities/initial-variables' as iv; // iv.$class-prefix
80
+ @use 'bulma/sass/utilities/css-variables' as cv; // cv.getVar, cv.register-vars
81
+ ```
82
+
83
+ In an app these work too (styling-ladder rung 3 in `SKILL.md`): `npm i -D sass` and Vite
84
+ compiles imported `.scss` zero-config — `bulma` resolves because it's a runtime dependency of
85
+ bestax-bulma.
86
+
87
+ - `iv.$class-prefix` — the configurable class prefix; prepend to every selector.
88
+ - `cv.getVar("name")` — emits `var(--bulma-name)`; use for both Bulma vars (`"primary"`,
89
+ `"radius"`, `"scheme-main"`, `"text"`) and your own registered vars.
90
+ - `cv.register-vars((...))` — declares `--bulma-*` custom properties on the current selector.
@@ -0,0 +1,149 @@
1
+ <!-- GENERATED by scripts/gen-component-catalog.mjs — do not edit by hand. -->
2
+ <!-- Regenerate with `npm run gen:catalog`. Source: docs/docs/api/**. -->
3
+
4
+ # Component catalog
5
+
6
+ Every **documented** component of `@allxsmith/bestax-bulma`, so you **don't
7
+ reinvent one that already exists**. Import everything from the package root
8
+ (`@allxsmith/bestax-bulma`). Scan this list first; if a component fits, use it
9
+ instead of hand-writing markup.
10
+
11
+ - **Full props are not listed here** (that would be too large to keep in context).
12
+ Follow a component's link for its complete prop table, or see the per-skill
13
+ references. Value unions (`size`, `color`, variants) differ per component —
14
+ never reuse one by analogy (`Tag size` is `normal|medium|large`; `Button`
15
+ adds `small`): the bestax-theming skill's
16
+ `references/themeable-components.md` lists them verbatim. The installed
17
+ types are at `node_modules/@allxsmith/bestax-bulma/dist/types/` (the
18
+ symlink resolves under pnpm's isolated linker — go straight there, no
19
+ `find` hunt), and when a `.d.ts` shows an opaque alias (`size?: TagSize`),
20
+ grep the alias name in that same file for the literals instead of guessing.
21
+ Top-level components accept the shared Bulma **helper props**
22
+ (`m`/`p` spacing, `textColor`/`bgColor`, `textAlign`, `display`, flex, …) —
23
+ documented once in `references/api.md` — with rare exceptions (`Skeleton`).
24
+ - **Compound components** expose sub-parts via dot access (e.g. `Card.Header`,
25
+ `Navbar.Item`, `Tabs.Tab`, `Hero.Body`, `Columns.Column`, `Table.Tr`); see the
26
+ component's linked page for the full set. Sub-parts do **not** all take helper
27
+ props: the `Table.*`, `Menu.*`, and `Hero.*` families do (most `Navbar.*`
28
+ too), but `Card.*`, `Modal.*`, `Tabs.*`, and `Message.*` sub-parts take none —
29
+ just `className`, HTML attributes, and their own few (`Tabs.Tab` requires
30
+ `index` and has built-in `icon`/`disabled` props). Put helper props on the
31
+ parent or on an element inside (`Span`, `Paragraph`, …) instead.
32
+ - **Composing these into your own reusable component?** Use the spine in this
33
+ skill's `SKILL.md`: extend `BulmaClassesProps`, run your props through
34
+ `useBulmaClasses`, merge its `bulmaHelperClasses` into `className`, and spread
35
+ the `rest` it returns — so it takes the same helper props as the library
36
+ components.
37
+ - Raw `*Base` form exports (`InputBase`, `SelectBase`, `TextAreaBase`, …) are
38
+ escape-hatch variants of the convenience wrappers above them; see the Form docs.
39
+
40
+ 87 documented components. Generated from the API docs — every exported
41
+ component is guaranteed to appear (the generator fails if one lacks an API page).
42
+
43
+ ## Elements
44
+
45
+ - [Block](https://bestax.io/docs/api/elements/block) — The `Block` component renders a simple container with Bulma's `.block` class, adding vertical margin between sections of content.
46
+ - [Box](https://bestax.io/docs/api/elements/box) — The `Box` component renders a bordered, padded container with an optional shadow using Bulma's `.box` class.
47
+ - [Button](https://bestax.io/docs/api/elements/button) — The `Button` component provides a flexible and highly customizable button for your Bulma React UI.
48
+ - [Buttons](https://bestax.io/docs/api/elements/buttons) — The `Buttons` component lets you group multiple `Button` elements together with Bulma's spacing, alignment, and add-on features.
49
+ - [Code](https://bestax.io/docs/api/elements/code) — The `Code` component renders a styled `<code>` element with Bulma helper class integration.
50
+ - [Content](https://bestax.io/docs/api/elements/content) — The `Content` component applies Bulma’s typographic styles to its children, enhancing the appearance of HTML elements like paragraphs, headings, lists…
51
+ - [Delete](https://bestax.io/docs/api/elements/delete) — The `Delete` component provides a Bulma-styled close/delete button for dismissing modals, notifications, tags, messages, and more.
52
+ - [Divider](https://bestax.io/docs/api/elements/divider) — The `Divider` component renders a styled horizontal rule (`<hr>`) element with Bulma helper class integration.
53
+ - [Emphasis](https://bestax.io/docs/api/elements/emphasis) — The `Emphasis` component renders a styled `<em>` element with Bulma helper class integration.
54
+ - [Figure](https://bestax.io/docs/api/elements/figure) — The `Figure` component renders a styled `<figure>` element with Bulma helper class integration.
55
+ - [Icon](https://bestax.io/docs/api/elements/icon) — The `Icon` component is a Bulma-styled wrapper for displaying icons from various libraries (Font Awesome, Material Design Icons, Ionicons…
56
+ - [IconText](https://bestax.io/docs/api/elements/icontext) — The `IconText` component provides a Bulma-styled horizontal arrangement of one or more `Icon` components and optional text.
57
+ - [Image](https://bestax.io/docs/api/elements/image) — The `Image` component wraps images, iframes, or custom content in a Bulma-styled container, supporting fixed sizes, aspect ratios, rounded corners…
58
+ - [Link](https://bestax.io/docs/api/elements/link) — The `Link` component renders a styled anchor (`<a>`) element with Bulma helper class integration.
59
+ - [LinkButton](https://bestax.io/docs/api/elements/linkbutton) — The `LinkButton` component renders a `<button>` that visually looks like text or a link.
60
+ - [ListItem](https://bestax.io/docs/api/elements/listitem) — The `ListItem` component renders a styled list item (`<li>`) element with Bulma helper class integration.
61
+ - [Notification](https://bestax.io/docs/api/elements/notification) — The `Notification` component is a Bulma-styled alert/message area for providing feedback, warnings, or information to users.
62
+ - [OrderedList](https://bestax.io/docs/api/elements/orderedlist) — The `OrderedList` component renders a styled ordered list (`<ol>`) element with Bulma helper class integration.
63
+ - [Paragraph](https://bestax.io/docs/api/elements/paragraph) — The `Paragraph` component renders a styled `<p>` element with Bulma helper class integration.
64
+ - [Pre](https://bestax.io/docs/api/elements/pre) — The `Pre` component renders a styled `<pre>` element with Bulma helper class integration.
65
+ - [Progress](https://bestax.io/docs/api/elements/progress) — The `Progress` component displays a Bulma-styled progress bar.
66
+ - [Skeleton](https://bestax.io/docs/api/elements/skeleton) — The `Skeleton` component provides a Bulma-styled skeleton loader for React applications, useful for indicating that content is loading.
67
+ - [Span](https://bestax.io/docs/api/elements/span) — The `Span` component renders a styled inline `<span>` element with Bulma helper class integration.
68
+ - [Strong](https://bestax.io/docs/api/elements/strong) — The `Strong` component renders a styled `<strong>` element with Bulma helper class integration.
69
+ - [SubTitle](https://bestax.io/docs/api/elements/subtitle) — The `SubTitle` component renders a Bulma-styled subtitle (secondary heading), supporting sizes `1-6` and rendering as any heading or paragraph element (`h1-h6`…
70
+ - [Table](https://bestax.io/docs/api/elements/table) — The `Table` component and its subcomponents provide a highly composable, Bulma-styled table system for React.
71
+ - [Tag](https://bestax.io/docs/api/elements/tag) — The `Tag` component renders a Bulma-styled label or badge.
72
+ - [Tags](https://bestax.io/docs/api/elements/tags) — The `Tags` component groups multiple `Tag` components together in a horizontal (or multiline) Bulma-styled container.
73
+ - [Title](https://bestax.io/docs/api/elements/title) — The `Title` component renders a Bulma-styled title (heading), supporting sizes `1`-`6`, spacing, and rendering as any heading or paragraph element (`h1`-`h6`…
74
+ - [UnorderedList](https://bestax.io/docs/api/elements/unorderedlist) — The `UnorderedList` component renders a styled unordered list (`<ul>`) element with Bulma helper class integration.
75
+
76
+ ## Components
77
+
78
+ - [Avatar](https://bestax.io/docs/api/components/avatar) — The `Avatar` component represents a person or entity as a compact image.
79
+ - [Avatars](https://bestax.io/docs/api/components/avatars) — The `Avatars` component renders an overlapping/stacked group of `Avatar`s, the "members" list pattern.
80
+ - [Badge](https://bestax.io/docs/api/components/badge) — The `Badge` component is a small status/count indicator overlaid on the corner of another element, or rendered standalone.
81
+ - [Breadcrumb](https://bestax.io/docs/api/components/breadcrumb) — The `Breadcrumb` component renders a Bulma-styled breadcrumb navigation.
82
+ - [Card](https://bestax.io/docs/api/components/card) — The `Card` component renders a Bulma-styled card with optional header, image, content, and footer.
83
+ - [Carousel](https://bestax.io/docs/api/components/carousel) — The `Carousel` component provides an image/content slider with navigation arrows and indicators.
84
+ - [Collapse](https://bestax.io/docs/api/components/collapse) — The `Collapse` component provides an expandable/collapsible content panel.
85
+ - [Dialog](https://bestax.io/docs/api/components/dialog) — The `Dialog` component provides confirmation and alert dialogs with customizable actions.
86
+ - [Dropdown](https://bestax.io/docs/api/components/dropdown) — The `Dropdown` component provides Bulma's versatile dropdown menu for your Bulma React UI.
87
+ - [Loading](https://bestax.io/docs/api/components/loading) — The `Loading` component provides a loading overlay with a spinner animation.
88
+ - [Menu](https://bestax.io/docs/api/components/menu) — The `Menu` component provides Bulma's vertical navigation menu: a simple, accessible sidebar or section menu for your Bulma React UI.
89
+ - [Message](https://bestax.io/docs/api/components/message) — The `Message` component provides Bulma's flexible notice/message box for your Bulma React UI.
90
+ - [Modal](https://bestax.io/docs/api/components/modal) — The `Modal` component provides a flexible, accessible modal dialog for your Bulma React UI.
91
+ - [Navbar](https://bestax.io/docs/api/components/navbar) — The `Navbar` component implements Bulma's powerful, responsive navigation bar for your Bulma React UI.
92
+ - [Pagination](https://bestax.io/docs/api/components/pagination) — The `Pagination` component provides a flexible, composable Bulma pagination navigation for your Bulma React UI.
93
+ - [Panel](https://bestax.io/docs/api/components/panel) — The `Panel` component implements Bulma's versatile panel block for React.
94
+ - [Reveal](https://bestax.io/docs/api/components/reveal) — The `Reveal` component animates its content into view as it scrolls into the viewport, backed by `IntersectionObserver`.
95
+ - [Sidebar](https://bestax.io/docs/api/components/sidebar) — The `Sidebar` component provides a slide-out navigation panel that appears from the left or right side of the screen.
96
+ - [Steps](https://bestax.io/docs/api/components/steps) — The `Steps` component provides a multi-step progress indicator for wizard flows, checkout processes, or any multi-step workflow.
97
+ - [Tabs](https://bestax.io/docs/api/components/tabs) — The `Tabs` component provides flexible and fully-featured Bulma tab navigation for your Bulma React UI.
98
+ - [Toast](https://bestax.io/docs/api/components/toast) — The `Toast` component provides brief notification messages with optional action and cancel buttons.
99
+ - [Tooltip](https://bestax.io/docs/api/components/tooltip) — The `Tooltip` component displays helpful information when users hover over or focus on an element.
100
+
101
+ ## Form
102
+
103
+ - [Autocomplete](https://bestax.io/docs/api/form/autocomplete) — The `Autocomplete` component provides an input field with dropdown suggestions that filter based on user input.
104
+ - [Checkbox](https://bestax.io/docs/api/form/checkbox) — The `Checkbox` component provides a Bulma-styled checkbox input.
105
+ - [Checkboxes](https://bestax.io/docs/api/form/checkboxes) — The `Checkboxes` component wraps multiple `Checkbox` components in a Bulma-styled group.
106
+ - [Control](https://bestax.io/docs/api/form/control) — The `Control` component is a Bulma-styled wrapper for form controls (`Input`, `Select`, `TextArea`, etc.), supporting icons (left/right), loading state…
107
+ - [DateInput](https://bestax.io/docs/api/form/datetime/dateinput) — The `DateInput` component is a form input that opens a popover calendar for date selection.
108
+ - [DateTimeInput](https://bestax.io/docs/api/form/datetime/datetimeinput) — The `DateTimeInput` combines a calendar and a time **wheel spinner** in a single popover — an iOS-style layout.
109
+ - [Field](https://bestax.io/docs/api/form/field) — The `Field` component is a Bulma-styled form field container.
110
+ - [File](https://bestax.io/docs/api/form/file) — The `File` component provides a Bulma-styled file input, supporting color, size, boxed/fullwidth/align styles, icons, "has name", and filename display.
111
+ - [Input](https://bestax.io/docs/api/form/input) — The `Input` component provides a Bulma-styled text input, supporting colors, sizes, rounded corners, static/read-only state, hover/focus/loading states…
112
+ - [Numberinput](https://bestax.io/docs/api/form/numberinput) — The `Numberinput` component provides a number input with increment/decrement buttons.
113
+ - [Radio](https://bestax.io/docs/api/form/radio) — The `Radio` component provides a Bulma-styled radio button input with flexible labels and helper classes.
114
+ - [Radios](https://bestax.io/docs/api/form/radios) — The `Radios` component wraps multiple `Radio` components in a Bulma-styled group.
115
+ - [Rate](https://bestax.io/docs/api/form/rate) — The `Rate` component provides a star/icon-based rating system.
116
+ - [Select](https://bestax.io/docs/api/form/select) — The `Select` component provides a Bulma-styled dropdown for selecting one or more options.
117
+ - [Slider](https://bestax.io/docs/api/form/slider) — The `Slider` component provides a range slider input for selecting values within a range.
118
+ - [Switch](https://bestax.io/docs/api/form/switch) — The `Switch` component provides a toggle switch for boolean on/off states.
119
+ - [Taginput](https://bestax.io/docs/api/form/taginput) — The `Taginput` component provides a tag/chip input field for managing multiple tags.
120
+ - [TextArea](https://bestax.io/docs/api/form/textarea) — The `TextArea` component provides a Bulma-styled multi-line text input, supporting color, size, rounded corners, static/read-only state…
121
+ - [TimeInput](https://bestax.io/docs/api/form/datetime/timeinput) — The `TimeInput` component is a form input that opens a popover spinner for time-of-day selection.
122
+
123
+ ## Columns
124
+
125
+ - [Column](https://bestax.io/docs/api/columns/column) — The `Column` component provides a single responsive layout column using Bulma's flexbox-based column system.
126
+ - [Columns](https://bestax.io/docs/api/columns/columns) — The `Columns` component provides Bulma's flexible, responsive grid container for aligning and distributing [`Column`](./column.md) components.
127
+
128
+ ## Grid
129
+
130
+ - [Cell](https://bestax.io/docs/api/grid/cell) — The `Cell` component provides a single Bulma grid cell for use inside the [`Grid`](./grid.md) component.
131
+ - [Grid](https://bestax.io/docs/api/grid/grid) — The `Grid` component provides Bulma's advanced CSS Grid layout for complex, modern layouts.
132
+
133
+ ## Layout
134
+
135
+ - [Container](https://bestax.io/docs/api/layout/container) — The `Container` component provides a responsive and flexible layout wrapper for your Bulma React UI.
136
+ - [Footer](https://bestax.io/docs/api/layout/footer) — The `Footer` component provides a semantic and accessible site footer for your Bulma React UI.
137
+ - [Hero](https://bestax.io/docs/api/layout/hero) — The `Hero` component provides a responsive, flexible, and visually striking section for your Bulma React UI.
138
+ - [Level](https://bestax.io/docs/api/layout/level) — The `Level` component provides a flexible horizontal layout for your Bulma React UI, perfect for aligning items on the left and right…
139
+ - [Media](https://bestax.io/docs/api/layout/media) — The `Media` component implements Bulma’s powerful media object layout for React.
140
+ - [Section](https://bestax.io/docs/api/layout/section) — The `Section` component provides vertical spacing and visual separation for your Bulma React UI.
141
+
142
+ ## Helpers
143
+
144
+ - [ConfigProvider](https://bestax.io/docs/api/helpers/config) — The `ConfigProvider` component provides a React context for configuring global settings across all Bulma UI components.
145
+ - [Theme](https://bestax.io/docs/api/helpers/theme) — The `Theme` component provides a powerful way to customize Bulma's appearance using CSS custom properties (CSS variables).
146
+ - [Valid value constants](https://bestax.io/docs/api/helpers/valid-values) — The `valid*` constant arrays enumerate every accepted value for the shared Bulma helper props — public API you can import to build prop types and validation.
147
+ - [classNames](https://bestax.io/docs/api/helpers/classnames) — `classNames` is a utility function for conditionally joining class names together.
148
+ - [useBulmaClasses](https://bestax.io/docs/api/helpers/usebulmaclasses) — `useBulmaClasses` is a custom React hook that generates Bulma helper class strings from a set of props.
149
+ - [usePrefixedClassNames](https://bestax.io/docs/api/helpers/useprefixedclassnames) — `usePrefixedClassNames` builds a component class string that honors the `classPrefix` from `ConfigProvider` — the hook every bestax component uses for its own…