@allxsmith/bestax-bulma 5.8.0 → 5.8.2

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 (102) hide show
  1. package/README.md +20 -0
  2. package/dist/index.cjs.js +304 -387
  3. package/dist/index.cjs.js.map +1 -1
  4. package/dist/index.esm.js +304 -387
  5. package/dist/index.esm.js.map +1 -1
  6. package/dist/types/columns/Column.d.ts +25 -30
  7. package/dist/types/columns/Columns.d.ts +23 -30
  8. package/dist/types/components/Avatar.d.ts +15 -20
  9. package/dist/types/components/Avatars.d.ts +8 -9
  10. package/dist/types/components/Badge.d.ts +13 -21
  11. package/dist/types/components/Breadcrumb.d.ts +6 -9
  12. package/dist/types/components/Card.d.ts +34 -36
  13. package/dist/types/components/Carousel.d.ts +29 -29
  14. package/dist/types/components/Collapse.d.ts +17 -18
  15. package/dist/types/components/Dialog.d.ts +24 -29
  16. package/dist/types/components/Dropdown.d.ts +16 -18
  17. package/dist/types/components/Loading.d.ts +13 -18
  18. package/dist/types/components/Menu.d.ts +11 -15
  19. package/dist/types/components/Message.d.ts +11 -14
  20. package/dist/types/components/Modal.d.ts +23 -29
  21. package/dist/types/components/Navbar.d.ts +60 -72
  22. package/dist/types/components/Pagination.d.ts +39 -35
  23. package/dist/types/components/Panel.d.ts +26 -33
  24. package/dist/types/components/Reveal.d.ts +11 -17
  25. package/dist/types/components/Sidebar.d.ts +17 -20
  26. package/dist/types/components/Steps.d.ts +28 -37
  27. package/dist/types/components/Tabs.d.ts +44 -43
  28. package/dist/types/components/Toast.d.ts +23 -28
  29. package/dist/types/components/Tooltip.d.ts +16 -20
  30. package/dist/types/elements/Block.d.ts +11 -10
  31. package/dist/types/elements/Box.d.ts +12 -10
  32. package/dist/types/elements/Button.d.ts +30 -23
  33. package/dist/types/elements/Buttons.d.ts +13 -9
  34. package/dist/types/elements/Code.d.ts +5 -10
  35. package/dist/types/elements/Content.d.ts +12 -11
  36. package/dist/types/elements/Delete.d.ts +14 -12
  37. package/dist/types/elements/Divider.d.ts +3 -7
  38. package/dist/types/elements/Emphasis.d.ts +5 -10
  39. package/dist/types/elements/Figure.d.ts +8 -10
  40. package/dist/types/elements/Icon.d.ts +18 -18
  41. package/dist/types/elements/IconText.d.ts +14 -11
  42. package/dist/types/elements/Image.d.ts +17 -17
  43. package/dist/types/elements/Link.d.ts +10 -14
  44. package/dist/types/elements/LinkButton.d.ts +3 -9
  45. package/dist/types/elements/ListItem.d.ts +6 -11
  46. package/dist/types/elements/Notification.d.ts +33 -24
  47. package/dist/types/elements/OrderedList.d.ts +7 -8
  48. package/dist/types/elements/Paragraph.d.ts +5 -10
  49. package/dist/types/elements/Pre.d.ts +5 -10
  50. package/dist/types/elements/Progress.d.ts +16 -10
  51. package/dist/types/elements/Skeleton.d.ts +4 -13
  52. package/dist/types/elements/Span.d.ts +5 -9
  53. package/dist/types/elements/Strong.d.ts +5 -10
  54. package/dist/types/elements/SubTitle.d.ts +9 -11
  55. package/dist/types/elements/Table.d.ts +8 -9
  56. package/dist/types/elements/Tag.d.ts +9 -12
  57. package/dist/types/elements/Tags.d.ts +4 -5
  58. package/dist/types/elements/Tbody.d.ts +2 -3
  59. package/dist/types/elements/Td.d.ts +3 -4
  60. package/dist/types/elements/Tfoot.d.ts +2 -3
  61. package/dist/types/elements/Th.d.ts +5 -6
  62. package/dist/types/elements/Thead.d.ts +2 -3
  63. package/dist/types/elements/Title.d.ts +10 -12
  64. package/dist/types/elements/Tr.d.ts +4 -5
  65. package/dist/types/elements/UnorderedList.d.ts +4 -5
  66. package/dist/types/form/Autocomplete.d.ts +35 -38
  67. package/dist/types/form/Checkbox.d.ts +7 -18
  68. package/dist/types/form/Checkboxes.d.ts +6 -7
  69. package/dist/types/form/Control.d.ts +21 -20
  70. package/dist/types/form/DateInput.d.ts +24 -24
  71. package/dist/types/form/DateInputBase.d.ts +36 -34
  72. package/dist/types/form/DateTimeInput.d.ts +22 -22
  73. package/dist/types/form/DateTimeInputBase.d.ts +44 -42
  74. package/dist/types/form/Field.d.ts +23 -26
  75. package/dist/types/form/File.d.ts +20 -16
  76. package/dist/types/form/Input.d.ts +20 -24
  77. package/dist/types/form/InputBase.d.ts +10 -11
  78. package/dist/types/form/Numberinput.d.ts +27 -24
  79. package/dist/types/form/Radio.d.ts +7 -18
  80. package/dist/types/form/Radios.d.ts +6 -7
  81. package/dist/types/form/Rate.d.ts +21 -37
  82. package/dist/types/form/Select.d.ts +16 -20
  83. package/dist/types/form/SelectBase.d.ts +13 -14
  84. package/dist/types/form/Slider.d.ts +62 -41
  85. package/dist/types/form/Switch.d.ts +16 -19
  86. package/dist/types/form/Taginput.d.ts +45 -48
  87. package/dist/types/form/TextArea.d.ts +11 -15
  88. package/dist/types/form/TextAreaBase.d.ts +13 -14
  89. package/dist/types/form/TimeInput.d.ts +24 -23
  90. package/dist/types/form/TimeInputBase.d.ts +38 -59
  91. package/dist/types/form/fieldProps.d.ts +1 -1
  92. package/dist/types/form/useAutoLabelId.d.ts +28 -0
  93. package/dist/types/grid/Cell.d.ts +12 -13
  94. package/dist/types/grid/Grid.d.ts +16 -17
  95. package/dist/types/helpers/colorDeprecations.d.ts +17 -0
  96. package/dist/types/layout/Container.d.ts +16 -13
  97. package/dist/types/layout/Footer.d.ts +7 -8
  98. package/dist/types/layout/Hero.d.ts +34 -28
  99. package/dist/types/layout/Level.d.ts +30 -33
  100. package/dist/types/layout/Media.d.ts +25 -29
  101. package/dist/types/layout/Section.d.ts +7 -8
  102. package/package.json +18 -18
@@ -6,64 +6,59 @@ import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
6
6
  export type BulmaColumnSize = number | 'full' | 'half' | 'one-third' | 'two-thirds' | 'one-quarter' | 'three-quarters' | 'one-fifth' | 'two-fifths' | 'three-fifths' | 'four-fifths';
7
7
  /**
8
8
  * Props for the Column component.
9
- *
10
- * @property {string} [className] - Additional CSS classes to apply.
11
- * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').
12
- * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier for the column.
13
- * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').
14
- *
15
- * @property {BulmaColumnSize} [size] - Column size.
16
- * @property {BulmaColumnSize} [sizeMobile] - Mobile column size.
17
- * @property {BulmaColumnSize} [sizeTablet] - Tablet column size.
18
- * @property {BulmaColumnSize} [sizeDesktop] - Desktop column size.
19
- * @property {BulmaColumnSize} [sizeWidescreen] - Widescreen column size.
20
- * @property {BulmaColumnSize} [sizeFullhd] - FullHD column size.
21
- *
22
- * @property {BulmaColumnSize} [offset] - Column offset.
23
- * @property {BulmaColumnSize} [offsetMobile] - Mobile column offset.
24
- * @property {BulmaColumnSize} [offsetTablet] - Tablet column offset.
25
- * @property {BulmaColumnSize} [offsetDesktop] - Desktop column offset.
26
- * @property {BulmaColumnSize} [offsetWidescreen] - Widescreen column offset.
27
- * @property {BulmaColumnSize} [offsetFullhd] - FullHD column offset.
28
- *
29
- * @property {boolean} [isNarrow] - The column is narrow.
30
- * @property {boolean} [isNarrowMobile] - The column is narrow on mobile.
31
- * @property {boolean} [isNarrowTablet] - The column is narrow on tablet.
32
- * @property {boolean} [isNarrowTouch] - The column is narrow on touch devices.
33
- * @property {boolean} [isNarrowDesktop] - The column is narrow on desktop.
34
- * @property {boolean} [isNarrowWidescreen] - The column is narrow on widescreen.
35
- * @property {boolean} [isNarrowFullhd] - The column is narrow on fullhd.
36
- *
37
- * @property {React.ReactNode} [children] - Children to render inside the column.
38
9
  */
39
10
  export interface ColumnProps extends React.HTMLAttributes<HTMLDivElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
11
+ /** Additional CSS classes for the column. */
40
12
  className?: string;
13
+ /** Text color. */
41
14
  textColor?: (typeof validColors)[number] | 'inherit' | 'current';
15
+ /** Bulma color modifier for the column. */
42
16
  color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
17
+ /** Background color. */
43
18
  bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
19
+ /** Column size (see Bulma docs). */
44
20
  size?: BulmaColumnSize;
21
+ /** Size for mobile breakpoint. */
45
22
  sizeMobile?: BulmaColumnSize;
23
+ /** Size for tablet breakpoint. */
46
24
  sizeTablet?: BulmaColumnSize;
25
+ /** Size for desktop breakpoint. */
47
26
  sizeDesktop?: BulmaColumnSize;
27
+ /** Size for widescreen breakpoint. */
48
28
  sizeWidescreen?: BulmaColumnSize;
29
+ /** Size for fullhd breakpoint. */
49
30
  sizeFullhd?: BulmaColumnSize;
31
+ /** Offset for column. */
50
32
  offset?: BulmaColumnSize;
33
+ /** Offset for mobile. */
51
34
  offsetMobile?: BulmaColumnSize;
35
+ /** Offset for tablet. */
52
36
  offsetTablet?: BulmaColumnSize;
37
+ /** Offset for desktop. */
53
38
  offsetDesktop?: BulmaColumnSize;
39
+ /** Offset for widescreen. */
54
40
  offsetWidescreen?: BulmaColumnSize;
41
+ /** Offset for fullhd. */
55
42
  offsetFullhd?: BulmaColumnSize;
43
+ /** Column is only as wide as its content. */
56
44
  isNarrow?: boolean;
45
+ /** The column is narrow on mobile. */
57
46
  isNarrowMobile?: boolean;
47
+ /** The column is narrow on tablet. */
58
48
  isNarrowTablet?: boolean;
49
+ /** The column is narrow on touch devices. */
59
50
  isNarrowTouch?: boolean;
51
+ /** The column is narrow on desktop. */
60
52
  isNarrowDesktop?: boolean;
53
+ /** The column is narrow on widescreen. */
61
54
  isNarrowWidescreen?: boolean;
55
+ /** The column is narrow on fullhd. */
62
56
  isNarrowFullhd?: boolean;
57
+ /** Children to render inside the column. */
63
58
  children?: React.ReactNode;
64
59
  }
65
60
  /**
66
- * Bulma Column component for responsive grid layouts.
61
+ * The `Column` component provides a single responsive layout column using Bulma's flexbox-based column system.
67
62
  *
68
63
  * @function
69
64
  * @param {ColumnProps} props - Props for the Column component.
@@ -9,60 +9,53 @@ import type { BulmaGapValue } from '../grid/Grid';
9
9
  export type BulmaGapSize = BulmaGapValue;
10
10
  /**
11
11
  * Props for the Columns component.
12
- *
13
- * @property {string} [className] - Additional CSS classes to apply.
14
- * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').
15
- * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier for columns.
16
- * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').
17
- * @property {boolean} [isCentered] - Center the columns container.
18
- * @property {boolean} [isGapless] - Remove all column gaps.
19
- * @property {boolean} [isMultiline] - Allow columns to wrap to multiple lines.
20
- * @property {boolean} [isVCentered] - Vertically center columns.
21
- * @property {boolean} [isMobile] - Only apply columns styles on mobile.
22
- * @property {boolean} [isDesktop] - Only apply columns styles on desktop.
23
- * @property {BulmaGapValue} [gap] - Gap size for all breakpoints. Wins over `gapSize` if both are set.
24
- * @property {BulmaGapValue} [gapMobile] - Gap size for mobile. Wins over `gapSizeMobile` if both are set.
25
- * @property {BulmaGapValue} [gapTablet] - Gap size for tablet. Wins over `gapSizeTablet` if both are set.
26
- * @property {BulmaGapValue} [gapDesktop] - Gap size for desktop. Wins over `gapSizeDesktop` if both are set.
27
- * @property {BulmaGapValue} [gapWidescreen] - Gap size for widescreen. Wins over `gapSizeWidescreen` if both are set.
28
- * @property {BulmaGapValue} [gapFullhd] - Gap size for fullhd. Wins over `gapSizeFullhd` if both are set.
29
- * @property {BulmaGapSize} [gapSize] - Gap size for all breakpoints. @deprecated Use `gap` instead.
30
- * @property {BulmaGapSize} [gapSizeMobile] - Gap size for mobile. @deprecated Use `gapMobile` instead.
31
- * @property {BulmaGapSize} [gapSizeTablet] - Gap size for tablet. @deprecated Use `gapTablet` instead.
32
- * @property {BulmaGapSize} [gapSizeDesktop] - Gap size for desktop. @deprecated Use `gapDesktop` instead.
33
- * @property {BulmaGapSize} [gapSizeWidescreen] - Gap size for widescreen. @deprecated Use `gapWidescreen` instead.
34
- * @property {BulmaGapSize} [gapSizeFullhd] - Gap size for fullhd. @deprecated Use `gapFullhd` instead.
35
- * @property {React.ReactNode} [children] - Columns to render within the container.
36
12
  */
37
13
  export interface ColumnsProps extends React.HTMLAttributes<HTMLDivElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
14
+ /** Additional CSS classes for the columns container. */
38
15
  className?: string;
16
+ /** Text color. */
39
17
  textColor?: (typeof validColors)[number] | 'inherit' | 'current';
18
+ /** Bulma color modifier for all columns. */
40
19
  color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
20
+ /** Background color for all columns. */
41
21
  bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
22
+ /** Horizontally center columns within the container. */
42
23
  isCentered?: boolean;
24
+ /** Remove gap between columns. */
43
25
  isGapless?: boolean;
26
+ /** Allow columns to wrap to multiple lines. */
44
27
  isMultiline?: boolean;
28
+ /** Vertically center columns within the container. */
45
29
  isVCentered?: boolean;
30
+ /** Apply columns layout on mobile and up. */
46
31
  isMobile?: boolean;
32
+ /** Apply columns layout on desktop and up. */
47
33
  isDesktop?: boolean;
34
+ /** Gap size for all breakpoints. Same scale as `Grid`'s `gap` prop; wins over `gapSize` if both are set. */
48
35
  gap?: BulmaGapValue;
36
+ /** Gap size for mobile. Wins over `gapSizeMobile` if both are set. */
49
37
  gapMobile?: BulmaGapValue;
38
+ /** Gap size for tablet. Wins over `gapSizeTablet` if both are set. */
50
39
  gapTablet?: BulmaGapValue;
40
+ /** Gap size for desktop. Wins over `gapSizeDesktop` if both are set. */
51
41
  gapDesktop?: BulmaGapValue;
42
+ /** Gap size for widescreen. Wins over `gapSizeWidescreen` if both are set. */
52
43
  gapWidescreen?: BulmaGapValue;
44
+ /** Gap size for fullhd. Wins over `gapSizeFullhd` if both are set. */
53
45
  gapFullhd?: BulmaGapValue;
54
- /** @deprecated Use `gap` instead — `gap` wins if both are set. */
46
+ /** Gap size for all breakpoints. @deprecated Use `gap` instead — `gap` wins if both are set. */
55
47
  gapSize?: BulmaGapSize;
56
- /** @deprecated Use `gapMobile` instead — `gapMobile` wins if both are set. */
48
+ /** Gap size for mobile. @deprecated Use `gapMobile` instead — `gapMobile` wins if both are set. */
57
49
  gapSizeMobile?: BulmaGapSize;
58
- /** @deprecated Use `gapTablet` instead — `gapTablet` wins if both are set. */
50
+ /** Gap size for tablet. @deprecated Use `gapTablet` instead — `gapTablet` wins if both are set. */
59
51
  gapSizeTablet?: BulmaGapSize;
60
- /** @deprecated Use `gapDesktop` instead — `gapDesktop` wins if both are set. */
52
+ /** Gap size for desktop. @deprecated Use `gapDesktop` instead — `gapDesktop` wins if both are set. */
61
53
  gapSizeDesktop?: BulmaGapSize;
62
- /** @deprecated Use `gapWidescreen` instead — `gapWidescreen` wins if both are set. */
54
+ /** Gap size for widescreen. @deprecated Use `gapWidescreen` instead — `gapWidescreen` wins if both are set. */
63
55
  gapSizeWidescreen?: BulmaGapSize;
64
- /** @deprecated Use `gapFullhd` instead — `gapFullhd` wins if both are set. */
56
+ /** Gap size for fullhd. @deprecated Use `gapFullhd` instead — `gapFullhd` wins if both are set. */
65
57
  gapSizeFullhd?: BulmaGapSize;
58
+ /** Columns to render within the container. */
66
59
  children?: React.ReactNode;
67
60
  }
68
61
  export declare const Columns: React.FC<ColumnsProps> & {
@@ -10,44 +10,39 @@ export type AvatarSize = (typeof avatarSizes)[number];
10
10
  export type AvatarShape = 'circle' | 'rounded' | 'square';
11
11
  /**
12
12
  * Props for the Avatar component.
13
- *
14
- * @property {string} [className] - Additional CSS classes to apply.
15
- * @property {string} [src] - Image URL. On load error (or if absent), falls back to initials, then icon.
16
- * @property {string} [alt] - Alternate text for the image (required for meaningful images). An explicit `alt=""` marks a non-interactive avatar as decorative (skipped by screen readers).
17
- * @property {string} [name] - Derives initials and a deterministic background color when no `src`/`initials` is shown.
18
- * @property {string} [initials] - Explicit initials override (else derived from `name`).
19
- * @property {React.ReactNode} [icon] - Final fallback rendered when there is no `src`, `name`, or `initials`.
20
- * @property {AvatarSize | number} [size] - Preset size, or a pixel size when a number.
21
- * @property {AvatarShape} [shape] - Avatar shape. Default `'circle'`.
22
- * @property {AvatarColor} [color] - Background color for initials/icon avatars (else auto-derived from `name`).
23
- * @property {React.ElementType} [as] - Element/component to render as. Defaults to `'a'` when `href` is set, else `'figure'`.
24
- * @property {string} [href] - When set, renders the avatar as a link.
25
- * @property {string} [target] - Anchor target (forwarded only when rendering a link).
26
- * @property {string} [rel] - Anchor rel (forwarded only when rendering a link).
27
- * @property {React.ImgHTMLAttributes<HTMLImageElement>} [imageProps] - Extra props forwarded to the underlying `<img>` (e.g. `loading`, `crossOrigin`); its `onError` is chained before the fallback fires.
28
13
  */
29
14
  export interface AvatarProps extends Omit<React.HTMLAttributes<HTMLElement>, 'color'>, Omit<BulmaClassesProps, 'color'> {
15
+ /** Additional CSS classes to apply. */
30
16
  className?: string;
17
+ /** Image URL. On load error (or if absent), falls back to initials, then `icon`. */
31
18
  src?: string;
19
+ /** Alternate text for the image (used for the accessible name in every render mode). An explicit `alt=""` marks a non-interactive avatar as decorative. */
32
20
  alt?: string;
21
+ /** Derives initials and a deterministic background color when no `src` is shown. */
33
22
  name?: string;
23
+ /** Explicit initials override (else derived from `name`). */
34
24
  initials?: string;
25
+ /** Final fallback, rendered when there is no `src`, `name`, or `initials`. */
35
26
  icon?: React.ReactNode;
27
+ /** Preset size, or a pixel size when a number. */
36
28
  size?: AvatarSize | number;
29
+ /** Avatar shape. Default `'circle'`. */
37
30
  shape?: AvatarShape;
31
+ /** Background color for initials/icon avatars (else auto-derived from `name`). */
38
32
  color?: AvatarColor;
33
+ /** Element/component to render as. Defaults to `'a'` when `href` is set, else `'figure'`. */
39
34
  as?: React.ElementType;
35
+ /** When set, renders the avatar as a link. */
40
36
  href?: string;
37
+ /** Anchor target — forwarded only when rendering a link (an `a` or a custom `as` component). */
41
38
  target?: string;
39
+ /** Anchor rel — forwarded only when rendering a link (an `a` or a custom `as` component). */
42
40
  rel?: string;
41
+ /** Extra props forwarded to the underlying `<img>` (e.g. `loading`, `crossOrigin`); its `onError` is chained before the fallback fires. */
43
42
  imageProps?: React.ImgHTMLAttributes<HTMLImageElement>;
44
43
  }
45
44
  /**
46
- * Avatar component for representing a person or entity as a compact image.
47
- *
48
- * Falls back automatically: `src` (image) -> initials (from `initials`/`name`) -> `icon` ->
49
- * a generic default icon. Initials avatars get a stable auto background color derived from
50
- * `name` unless `color` is set.
45
+ * The `Avatar` component represents a person or entity as a compact image.
51
46
  *
52
47
  * @function
53
48
  * @param {AvatarProps} props - Props for the Avatar component.
@@ -5,24 +5,23 @@ import { AvatarProps } from './Avatar';
5
5
  export type AvatarsSpacing = 'sm' | 'md' | 'lg';
6
6
  /**
7
7
  * Props for the Avatars component.
8
- *
9
- * @property {string} [className] - Additional CSS classes to apply.
10
- * @property {number} [max] - 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".
11
- * @property {AvatarProps['size']} [size] - Uniform size applied to every child `Avatar` (and the surplus avatar).
12
- * @property {AvatarProps['shape']} [shape] - Uniform shape applied to every child `Avatar` (and the surplus avatar).
13
- * @property {AvatarsSpacing | number} [spacing] - Space between avatars: a `'sm'`/`'md'`/`'lg'` preset or a pixel `number`. Default `'md'`.
14
- * @property {boolean} [spaced] - Lay the avatars out side by side (non-overlapping) with `spacing` as the gap. Default `false`.
15
- * @property {(count: number) => string} [surplusLabel] - Builds the surplus avatar's accessible name from the hidden count, for localization. Default: `` `${count} more` ``.
16
- * @property {React.ReactNode} [children] - `Avatar` elements to render inside the group.
17
8
  */
18
9
  export interface AvatarsProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'color'>, Omit<BulmaClassesProps, 'backgroundColor' | 'color'> {
10
+ /** Additional CSS classes to apply. */
19
11
  className?: string;
12
+ /** 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". */
20
13
  max?: number;
14
+ /** Uniform size applied to every child `Avatar` (and the surplus avatar). */
21
15
  size?: AvatarProps['size'];
16
+ /** Uniform shape applied to every child `Avatar` (and the surplus avatar); a child's own `shape` wins when this is unset. */
22
17
  shape?: AvatarProps['shape'];
18
+ /** Space between avatars: a preset or a pixel `number`. The overlap distance, or the gap when `spaced`. */
23
19
  spacing?: AvatarsSpacing | number;
20
+ /** Lay the avatars out side by side (non-overlapping), using `spacing` as the gap. */
24
21
  spaced?: boolean;
22
+ /** Builds the surplus avatar's accessible name from the hidden count, for localization. Default: `` `${count} more` ``. */
25
23
  surplusLabel?: (count: number) => string;
24
+ /** `Avatar` elements to render inside the group. */
26
25
  children?: React.ReactNode;
27
26
  }
28
27
  export declare const Avatars: React.FC<AvatarsProps> & {
@@ -9,43 +9,35 @@ export type BadgePosition = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-
9
9
  export type BadgeOverlap = 'circle' | 'square';
10
10
  /**
11
11
  * Props for the Badge component.
12
- *
13
- * @property {string} [className] - Additional CSS classes applied to the root (the wrapper when `children` are present, else the badge pill).
14
- * @property {string} [badgeClassName] - Additional CSS classes applied to the badge pill itself.
15
- * @property {React.ReactNode} [content] - Count, short text, or a custom node to display; omit with `dot` for a plain dot. `max`/`showZero` apply only to numeric content.
16
- * @property {number} [max] - Numeric `content` above this renders as `"{max}+"`. Default `99`; a
17
- * negative or non-integer value falls back to the default.
18
- * @property {boolean} [dot] - Render a small dot with no content.
19
- * @property {boolean} [showZero] - Show the badge when `content` is `0`. Default `false`.
20
- * @property {BadgeColor} [color] - Status color. Default `'danger'`.
21
- * @property {BadgePosition} [position] - Corner to overlay the badge on, relative to `children`. Default `'top-right'`.
22
- * @property {BadgeOverlap} [overlap] - Nudges the offset for a round (`'circle'`) vs rectangular (`'square'`) child. Default `'square'`.
23
- * @property {boolean} [pulse] - Processing/pulse animation; no-ops under `prefers-reduced-motion: reduce`.
24
- * @property {boolean} [invisible] - Hide the badge without unmounting it.
25
- * @property {React.ReactNode} [children] - The element the badge overlays. Omit to render a standalone badge.
26
12
  */
27
13
  export interface BadgeProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'color' | 'content'>, Omit<BulmaClassesProps, 'color'> {
14
+ /** Additional CSS classes for the root — the wrapper when `children` are present, else the badge pill. */
28
15
  className?: string;
16
+ /** Additional CSS classes applied to the badge pill itself (unprefixed, like `Tooltip`'s `tooltipClassName`). */
29
17
  badgeClassName?: string;
18
+ /** Count, short text, or a custom node to display; omit with `dot` for a plain dot. `max`/`showZero` apply only to numeric content. */
30
19
  content?: React.ReactNode;
20
+ /** Numeric `content` above this renders as `"{max}+"`. A negative or non-integer value falls back to the default. */
31
21
  max?: number;
22
+ /** Render a small dot with no content. */
32
23
  dot?: boolean;
24
+ /** Show the badge when `content` is `0`. Default `false`. */
33
25
  showZero?: boolean;
26
+ /** Status color. Default `'danger'`. */
34
27
  color?: BadgeColor;
28
+ /** Corner to overlay the badge on, relative to `children`. Ignored for standalone badges (no `children`). */
35
29
  position?: BadgePosition;
30
+ /** Nudges the offset for a round (`'circle'`) vs rectangular (`'square'`) child. Ignored for standalone badges (no `children`). */
36
31
  overlap?: BadgeOverlap;
32
+ /** Processing/pulse animation; no-ops under `prefers-reduced-motion: reduce`. */
37
33
  pulse?: boolean;
34
+ /** Hide the badge pill without unmounting it (the wrapper and `children` stay visible). */
38
35
  invisible?: boolean;
36
+ /** The element the badge overlays. Omit to render a standalone badge. */
39
37
  children?: React.ReactNode;
40
38
  }
41
39
  /**
42
- * Badge component for a small status/count indicator overlaid on the corner of another
43
- * element (or rendered standalone).
44
- *
45
- * Renders `{max}+` when a numeric `content` exceeds `max` and no-ops its `pulse` animation
46
- * under `prefers-reduced-motion: reduce`. At `0` without `showZero` the pill is visually
47
- * hidden but stays mounted, so its `role="status"` live region announces a later `0 -> 1`
48
- * change.
40
+ * The `Badge` component is a small status/count indicator overlaid on the corner of another element, or rendered standalone.
49
41
  *
50
42
  * @function
51
43
  * @param {BadgeProps} props - Props for the Badge component.
@@ -17,24 +17,21 @@ declare const validBreadcrumbSizes: readonly ["small", "medium", "large"];
17
17
  export type BreadcrumbSize = (typeof validBreadcrumbSizes)[number];
18
18
  /**
19
19
  * Props for the Breadcrumb component.
20
- *
21
- * @property {string} [className] - Additional CSS classes to apply.
22
- * @property {BreadcrumbAlignment} [alignment] - Alignment modifier for the breadcrumb.
23
- * @property {BreadcrumbSeparator} [separator] - Separator style for the breadcrumb.
24
- * @property {BreadcrumbSize} [size] - Size modifier for the breadcrumb.
25
- * @property {React.ReactNode} [children] - Breadcrumb items (e.g., "a" or "span" html elements).
26
20
  */
27
21
  export interface BreadcrumbProps extends Omit<React.HTMLAttributes<HTMLElement>, 'color'>, Omit<BulmaClassesProps, 'backgroundColor' | 'color'> {
22
+ /** Additional CSS classes to apply. */
28
23
  className?: string;
24
+ /** Alignment of the breadcrumb (`is-centered`, `is-right`). */
29
25
  alignment?: BreadcrumbAlignment;
26
+ /** Type of separator between breadcrumb items. */
30
27
  separator?: BreadcrumbSeparator;
28
+ /** Breadcrumb size. */
31
29
  size?: BreadcrumbSize;
30
+ /** Breadcrumb items (`<li>`s with `<a>` or `<span>`). */
32
31
  children?: React.ReactNode;
33
32
  }
34
33
  /**
35
- * Breadcrumb component for rendering a styled Bulma breadcrumb navigation.
36
- *
37
- * Supports alignment, separator styles, and sizes.
34
+ * The `Breadcrumb` component renders a Bulma-styled breadcrumb navigation.
38
35
  *
39
36
  * @function
40
37
  * @param {BreadcrumbProps} props - Props for the Breadcrumb component.
@@ -2,106 +2,104 @@ import React from 'react';
2
2
  import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
3
3
  /**
4
4
  * Props for the Card component.
5
- *
6
- * @property {string} [className] - Additional CSS classes to apply.
7
- * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color for the card.
8
- * @property {'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'} [color] - Bulma color modifier for the card.
9
- * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color for the card.
10
- * @property {boolean} [hasShadow] - Whether the card has a shadow (default: true).
11
- * @property {React.ReactNode} [header] - Card header content, rendered inside `.card-header-title`.
12
- * @property {boolean} [headerCentered] - If true, centers the header title.
13
- * @property {React.ReactNode} [headerIcon] - Card header icon, rendered as a sibling to the header title.
14
- * @property {React.ReactNode|React.ReactNode[]} [footer] - Card footer content, each wrapped in `.card-footer-item`.
15
- * @property {React.ReactNode|string} [image] - Card image node or image src string.
16
- * @property {string} [imageAlt] - Alternate text for the card image.
17
- * @property {React.ReactNode} [children] - Card content.
5
+ * @extraProp {'centered' | 'justified' | 'left' | 'right'} [textAlign] - Text alignment.
18
6
  */
19
7
  export interface CardProps extends React.HTMLAttributes<HTMLDivElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
8
+ /** Additional CSS classes to apply. */
20
9
  className?: string;
10
+ /** Text color for the card. */
21
11
  textColor?: (typeof validColors)[number] | 'inherit' | 'current';
12
+ /**
13
+ * Text color alias: renders `has-text-<color>`, exactly like `textColor`.
14
+ * Not a filled card variant (no `.card.is-<color>` CSS exists). Prefer
15
+ * `textColor`, which takes precedence when both are set; use `bgColor` for
16
+ * a colored surface.
17
+ */
22
18
  color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
19
+ /** Background color for the card. */
23
20
  bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
21
+ /** Whether the card has a shadow (default: `true`). */
24
22
  hasShadow?: boolean;
23
+ /** Card header content, rendered inside `.card-header-title`. */
25
24
  header?: React.ReactNode;
25
+ /** If true, centers the header title. */
26
26
  headerCentered?: boolean;
27
+ /** Card header icon, rendered as a sibling to the header title. */
27
28
  headerIcon?: React.ReactNode;
29
+ /** Card footer content; each item is wrapped in `.card-footer-item`. */
28
30
  footer?: React.ReactNode | React.ReactNode[];
31
+ /** Card image node or image src string. */
29
32
  image?: React.ReactNode | string;
33
+ /** Alternate text for the card image. */
30
34
  imageAlt?: string;
35
+ /** Card content (body). */
31
36
  children?: React.ReactNode;
32
37
  }
33
38
  /**
34
39
  * Props for the Card.Header compound component.
35
- *
36
- * @property {string} [className] - Additional CSS classes.
37
- * @property {React.ReactNode} [children] - Header content. Wrap in Card.Header.Title for Bulma styling.
38
- * @property {boolean} [centered] - Whether to center the header title text.
39
40
  */
40
41
  export interface CardHeaderProps extends React.HTMLAttributes<HTMLElement> {
42
+ /** Additional CSS classes. */
41
43
  className?: string;
44
+ /** Header content. Wrap in Card.Header.Title for Bulma styling. */
42
45
  children?: React.ReactNode;
46
+ /** Whether to center the header title text. */
43
47
  centered?: boolean;
44
48
  }
45
49
  /**
46
50
  * Props for the Card.Image compound component.
47
- *
48
- * @property {string} [className] - Additional CSS classes.
49
- * @property {React.ReactNode} [children] - Image content (e.g. a `<figure>` with an `<img>`).
50
51
  */
51
52
  export interface CardImageProps extends React.HTMLAttributes<HTMLDivElement> {
53
+ /** Additional CSS classes. */
52
54
  className?: string;
55
+ /** Image content (e.g. a `<figure>` with an `<img>`). */
53
56
  children?: React.ReactNode;
54
57
  }
55
58
  /**
56
59
  * Props for the Card.Content compound component.
57
- *
58
- * @property {string} [className] - Additional CSS classes.
59
- * @property {React.ReactNode} [children] - Card body content.
60
60
  */
61
61
  export interface CardContentProps extends React.HTMLAttributes<HTMLDivElement> {
62
+ /** Additional CSS classes. */
62
63
  className?: string;
64
+ /** Card body content. */
63
65
  children?: React.ReactNode;
64
66
  }
65
67
  /**
66
68
  * Props for the Card.Footer compound component.
67
- *
68
- * @property {string} [className] - Additional CSS classes.
69
- * @property {React.ReactNode} [children] - Footer content, typically Card.FooterItem elements.
70
69
  */
71
70
  export interface CardFooterProps extends React.HTMLAttributes<HTMLElement> {
71
+ /** Additional CSS classes. */
72
72
  className?: string;
73
+ /** Footer content, typically Card.FooterItem elements. */
73
74
  children?: React.ReactNode;
74
75
  }
75
76
  /**
76
77
  * Props for the Card.FooterItem compound component.
77
- *
78
- * @property {string} [className] - Additional CSS classes.
79
- * @property {React.ReactNode} [children] - Footer item content (link, button, text, etc.).
80
78
  */
81
79
  export interface CardFooterItemProps extends React.HTMLAttributes<HTMLSpanElement> {
80
+ /** Additional CSS classes. */
82
81
  className?: string;
82
+ /** Footer item content (link, button, text, etc.). */
83
83
  children?: React.ReactNode;
84
84
  }
85
85
  /**
86
86
  * Props for the Card.Header.Title compound component.
87
- *
88
- * @property {string} [className] - Additional CSS classes.
89
- * @property {React.ReactNode} [children] - Title text content.
90
- * @property {boolean} [centered] - Whether to center the title text.
91
87
  */
92
88
  export interface CardHeaderTitleProps extends React.HTMLAttributes<HTMLDivElement> {
89
+ /** Additional CSS classes. */
93
90
  className?: string;
91
+ /** Title text content. */
94
92
  children?: React.ReactNode;
93
+ /** Whether to center the title text. */
95
94
  centered?: boolean;
96
95
  }
97
96
  /**
98
97
  * Props for the Card.Header.Icon compound component.
99
- *
100
- * @property {string} [className] - Additional CSS classes.
101
- * @property {React.ReactNode} [children] - Icon content (e.g. an icon element).
102
98
  */
103
99
  export interface CardHeaderIconProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
100
+ /** Additional CSS classes. */
104
101
  className?: string;
102
+ /** Icon content (e.g. an icon element). */
105
103
  children?: React.ReactNode;
106
104
  }
107
105
  /** Card component with Header, Image, Content, Footer, and FooterItem sub-components. */
@@ -2,11 +2,9 @@ import React from 'react';
2
2
  import { BulmaClassesProps } from '../helpers/useBulmaClasses';
3
3
  /**
4
4
  * Props for the CarouselItem component.
5
- *
6
- * @property {boolean} [active] - Whether this item is the active/visible slide.
7
5
  */
8
6
  export interface CarouselItemProps extends React.HTMLAttributes<HTMLDivElement> {
9
- /** Whether this item is active */
7
+ /** Whether this item is active (set automatically). */
10
8
  active?: boolean;
11
9
  }
12
10
  /**
@@ -21,60 +19,62 @@ export declare const CarouselItem: React.ForwardRefExoticComponent<CarouselItemP
21
19
  type IconLibrary = 'fa' | 'mdi' | 'ion' | 'material-icons' | 'material-symbols';
22
20
  /**
23
21
  * Props for the Carousel component.
24
- *
25
- * @property {number} [value] - Current active slide index (controlled).
26
- * @property {boolean} [autoplay] - Enable auto-play.
27
- * @property {number} [interval] - Auto-play interval in milliseconds. Default: 5000.
28
- * @property {boolean} [pauseOnHover] - Pause auto-play on hover. Default: true.
29
- * @property {boolean} [repeat] - Loop back to first slide after last. Default: true.
30
- * @property {boolean} [hasDrag] - Enable drag/swipe navigation. Default: true.
31
- * @property {boolean} [arrow] - Show navigation arrows. Default: true.
32
- * @property {boolean} [arrowHover] - Only show arrows on hover.
33
- * @property {boolean} [indicator] - Show slide indicators. Default: true.
34
- * @property {boolean} [indicatorInside] - Position indicators inside carousel.
35
- * @property {'bottom'|'top'} [indicatorPosition] - Indicator position. Default: 'bottom'.
36
- * @property {'circles'|'dots'|'lines'|'bars'} [indicatorStyle] - Indicator style. Default: 'dots'.
37
- * @property {string} [iconPrev] - Icon name for the previous arrow button.
38
- * @property {string} [iconNext] - Icon name for the next arrow button.
39
- * @property {IconLibrary} [iconLibrary] - Icon library to use.
40
- * @property {string} [iconVariant] - Icon style variant (e.g., 'solid', 'outlined').
41
- * @property {'small' | 'medium' | 'large'} [iconSize] - Icon size modifier.
42
- * @property {string | string[]} [iconFeatures] - Additional icon modifiers.
43
- * @property {boolean} [arrowBackground] - Show semi-transparent background on arrow buttons. Default: true.
44
- * @property {'light'|'dark'} [arrowColor] - Arrow icon color variant. Useful for transparent arrows on dark/light backgrounds.
45
- * @property {(value: number) => void} [onChange] - Callback when slide changes.
46
- * @property {React.ReactNode} [children] - Carousel slide items (CarouselItem elements).
22
+ * @extraProp {string} [className] - Additional CSS classes.
23
+ * @extraProp {React.Ref<HTMLElement>} [ref] - Ref forwarded to the carousel element.
47
24
  */
48
25
  export interface CarouselProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange' | 'color'>, BulmaClassesProps {
26
+ /**
27
+ * Current active slide index (controlled).
28
+ * @defaultValue 0
29
+ */
49
30
  value?: number;
31
+ /** Enable auto-play. */
50
32
  autoplay?: boolean;
33
+ /** Auto-play interval in milliseconds. Default: 5000. */
51
34
  interval?: number;
35
+ /** Pause auto-play on hover. Default: true. */
52
36
  pauseOnHover?: boolean;
37
+ /** Loop back to first slide after last. Default: true. */
53
38
  repeat?: boolean;
39
+ /** Enable drag/swipe navigation. Default: true. */
54
40
  hasDrag?: boolean;
41
+ /** Show navigation arrows. Default: true. */
55
42
  arrow?: boolean;
43
+ /** Only show arrows on hover. */
56
44
  arrowHover?: boolean;
45
+ /** Show slide indicators. Default: true. */
57
46
  indicator?: boolean;
47
+ /** Position indicators inside carousel. */
58
48
  indicatorInside?: boolean;
49
+ /** Indicator position. Default: 'bottom'. */
59
50
  indicatorPosition?: 'bottom' | 'top';
51
+ /** Indicator style. Default: 'dots'. */
60
52
  indicatorStyle?: 'circles' | 'dots' | 'lines' | 'bars';
53
+ /** Icon name for the previous arrow button. */
61
54
  iconPrev?: string;
55
+ /** Icon name for the next arrow button. */
62
56
  iconNext?: string;
57
+ /** Icon library to use. */
63
58
  iconLibrary?: IconLibrary;
59
+ /** Icon style variant (e.g., 'solid', 'outlined'). */
64
60
  iconVariant?: string;
61
+ /** Icon size modifier. */
65
62
  iconSize?: 'small' | 'medium' | 'large';
63
+ /** Additional icon modifiers. */
66
64
  iconFeatures?: string | string[];
65
+ /** Show semi-transparent background on arrow buttons. Set to `false` for icon-only arrows. */
67
66
  arrowBackground?: boolean;
67
+ /** Color theme for navigation arrows. */
68
68
  arrowColor?: 'light' | 'dark';
69
69
  /** Accessible label for the carousel region. Default: 'Image carousel'. */
70
70
  ariaLabel?: string;
71
+ /** Callback when slide changes. */
71
72
  onChange?: (value: number) => void;
73
+ /** CarouselItem children. */
72
74
  children?: React.ReactNode;
73
75
  }
74
76
  /**
75
- * Carousel component for displaying slides with navigation.
76
- *
77
- * Supports auto-play, drag navigation, indicators, and customizable arrows.
77
+ * The `Carousel` component provides an image/content slider with navigation arrows and indicators.
78
78
  *
79
79
  * @function
80
80
  * @param {CarouselProps} props - Props for the Carousel component.