@allxsmith/bestax-bulma 5.16.4 → 5.16.6

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 (133) hide show
  1. package/dist/types-cjs/columns/Column.d.ts +68 -0
  2. package/dist/types-cjs/columns/Columns.d.ts +63 -0
  3. package/dist/types-cjs/components/Avatar.d.ts +91 -0
  4. package/dist/types-cjs/components/Avatars.d.ts +30 -0
  5. package/dist/types-cjs/components/Badge.d.ts +56 -0
  6. package/dist/types-cjs/components/Breadcrumb.d.ts +42 -0
  7. package/dist/types-cjs/components/Card.d.ts +166 -0
  8. package/dist/types-cjs/components/Carousel.d.ts +104 -0
  9. package/dist/types-cjs/components/Collapse.d.ts +69 -0
  10. package/dist/types-cjs/components/Dialog.d.ts +142 -0
  11. package/dist/types-cjs/components/Dropdown.d.ts +104 -0
  12. package/dist/types-cjs/components/Loading.d.ts +68 -0
  13. package/dist/types-cjs/components/Menu.d.ts +100 -0
  14. package/dist/types-cjs/components/Message.d.ts +51 -0
  15. package/dist/types-cjs/components/Modal.d.ts +126 -0
  16. package/dist/types-cjs/components/Navbar.d.ts +302 -0
  17. package/dist/types-cjs/components/Pagination.d.ts +130 -0
  18. package/dist/types-cjs/components/Panel.d.ts +147 -0
  19. package/dist/types-cjs/components/Reveal.d.ts +47 -0
  20. package/dist/types-cjs/components/Sidebar.d.ts +76 -0
  21. package/dist/types-cjs/components/Steps.d.ts +101 -0
  22. package/dist/types-cjs/components/Tabs.d.ts +160 -0
  23. package/dist/types-cjs/components/Toast.d.ts +150 -0
  24. package/dist/types-cjs/components/Tooltip.d.ts +68 -0
  25. package/dist/types-cjs/elements/Block.d.ts +31 -0
  26. package/dist/types-cjs/elements/Box.d.ts +41 -0
  27. package/dist/types-cjs/elements/Button.d.ts +74 -0
  28. package/dist/types-cjs/elements/Buttons.d.ts +40 -0
  29. package/dist/types-cjs/elements/Code.d.ts +23 -0
  30. package/dist/types-cjs/elements/Content.d.ts +34 -0
  31. package/dist/types-cjs/elements/Delete.d.ts +38 -0
  32. package/dist/types-cjs/elements/Divider.d.ts +19 -0
  33. package/dist/types-cjs/elements/Emphasis.d.ts +23 -0
  34. package/dist/types-cjs/elements/Figure.d.ts +40 -0
  35. package/dist/types-cjs/elements/Icon.d.ts +138 -0
  36. package/dist/types-cjs/elements/IconText.d.ts +40 -0
  37. package/dist/types-cjs/elements/Image.d.ts +44 -0
  38. package/dist/types-cjs/elements/Link.d.ts +55 -0
  39. package/dist/types-cjs/elements/LinkButton.d.ts +57 -0
  40. package/dist/types-cjs/elements/ListItem.d.ts +24 -0
  41. package/dist/types-cjs/elements/Notification.d.ts +148 -0
  42. package/dist/types-cjs/elements/OrderedList.d.ts +21 -0
  43. package/dist/types-cjs/elements/Paragraph.d.ts +23 -0
  44. package/dist/types-cjs/elements/Pre.d.ts +23 -0
  45. package/dist/types-cjs/elements/Progress.d.ts +36 -0
  46. package/dist/types-cjs/elements/Skeleton.d.ts +30 -0
  47. package/dist/types-cjs/elements/Span.d.ts +23 -0
  48. package/dist/types-cjs/elements/Strong.d.ts +23 -0
  49. package/dist/types-cjs/elements/SubTitle.d.ts +41 -0
  50. package/dist/types-cjs/elements/Table.d.ts +36 -0
  51. package/dist/types-cjs/elements/Tag.d.ts +45 -0
  52. package/dist/types-cjs/elements/Tags.d.ts +32 -0
  53. package/dist/types-cjs/elements/Tbody.d.ts +25 -0
  54. package/dist/types-cjs/elements/Td.d.ts +33 -0
  55. package/dist/types-cjs/elements/Tfoot.d.ts +25 -0
  56. package/dist/types-cjs/elements/Th.d.ts +38 -0
  57. package/dist/types-cjs/elements/Thead.d.ts +25 -0
  58. package/dist/types-cjs/elements/Title.d.ts +43 -0
  59. package/dist/types-cjs/elements/Tr.d.ts +30 -0
  60. package/dist/types-cjs/elements/UnorderedList.d.ts +18 -0
  61. package/dist/types-cjs/elements/iconProps.d.ts +30 -0
  62. package/dist/types-cjs/form/Autocomplete.d.ts +114 -0
  63. package/dist/types-cjs/form/Checkbox.d.ts +47 -0
  64. package/dist/types-cjs/form/Checkboxes.d.ts +30 -0
  65. package/dist/types-cjs/form/Control.d.ts +68 -0
  66. package/dist/types-cjs/form/DateInput.d.ts +70 -0
  67. package/dist/types-cjs/form/DateInputBase.d.ts +91 -0
  68. package/dist/types-cjs/form/DateTimeInput.d.ts +68 -0
  69. package/dist/types-cjs/form/DateTimeInputBase.d.ts +108 -0
  70. package/dist/types-cjs/form/Field.d.ts +101 -0
  71. package/dist/types-cjs/form/File.d.ts +52 -0
  72. package/dist/types-cjs/form/FormContext.d.ts +78 -0
  73. package/dist/types-cjs/form/Input.d.ts +72 -0
  74. package/dist/types-cjs/form/InputBase.d.ts +37 -0
  75. package/dist/types-cjs/form/Numberinput.d.ts +83 -0
  76. package/dist/types-cjs/form/Radio.d.ts +47 -0
  77. package/dist/types-cjs/form/Radios.d.ts +30 -0
  78. package/dist/types-cjs/form/Rate.d.ts +99 -0
  79. package/dist/types-cjs/form/Select.d.ts +58 -0
  80. package/dist/types-cjs/form/SelectBase.d.ts +45 -0
  81. package/dist/types-cjs/form/Slider.d.ts +141 -0
  82. package/dist/types-cjs/form/Switch.d.ts +67 -0
  83. package/dist/types-cjs/form/Taginput.d.ts +140 -0
  84. package/dist/types-cjs/form/TextArea.d.ts +52 -0
  85. package/dist/types-cjs/form/TextAreaBase.d.ts +43 -0
  86. package/dist/types-cjs/form/TimeInput.d.ts +66 -0
  87. package/dist/types-cjs/form/TimeInputBase.d.ts +95 -0
  88. package/dist/types-cjs/form/_pickerInternals/Calendar.d.ts +32 -0
  89. package/dist/types-cjs/form/_pickerInternals/PickerPopover.d.ts +20 -0
  90. package/dist/types-cjs/form/_pickerInternals/TimeWheels.d.ts +42 -0
  91. package/dist/types-cjs/form/_pickerInternals/audioTick.d.ts +50 -0
  92. package/dist/types-cjs/form/_pickerInternals/dateUtils.d.ts +52 -0
  93. package/dist/types-cjs/form/_pickerInternals/formatters.d.ts +32 -0
  94. package/dist/types-cjs/form/_pickerInternals/haptics.d.ts +24 -0
  95. package/dist/types-cjs/form/_pickerInternals/pickerTypes.d.ts +39 -0
  96. package/dist/types-cjs/form/_pickerInternals/segmentMap.d.ts +68 -0
  97. package/dist/types-cjs/form/_pickerInternals/useFocusTrap.d.ts +7 -0
  98. package/dist/types-cjs/form/_pickerInternals/useNativeMobilePicker.d.ts +11 -0
  99. package/dist/types-cjs/form/_pickerInternals/useSegmentedEntry.d.ts +75 -0
  100. package/dist/types-cjs/form/fieldProps.d.ts +24 -0
  101. package/dist/types-cjs/form/useAutoLabelId.d.ts +51 -0
  102. package/dist/types-cjs/grid/Cell.d.ts +42 -0
  103. package/dist/types-cjs/grid/Grid.d.ts +59 -0
  104. package/dist/types-cjs/helpers/Config.d.ts +67 -0
  105. package/dist/types-cjs/helpers/Theme.d.ts +116 -0
  106. package/dist/types-cjs/helpers/anchorAttrs.d.ts +37 -0
  107. package/dist/types-cjs/helpers/bulmaClassHelpers.d.ts +197 -0
  108. package/dist/types-cjs/helpers/classNames.d.ts +55 -0
  109. package/dist/types-cjs/helpers/colorDeprecations.d.ts +17 -0
  110. package/dist/types-cjs/helpers/mergeBulmaStyles.d.ts +17 -0
  111. package/dist/types-cjs/helpers/polymorphic.d.ts +138 -0
  112. package/dist/types-cjs/helpers/portal.d.ts +15 -0
  113. package/dist/types-cjs/helpers/scrollLock.d.ts +9 -0
  114. package/dist/types-cjs/helpers/useBulmaClasses.d.ts +60 -0
  115. package/dist/types-cjs/helpers/useColorClasses.d.ts +69 -0
  116. package/dist/types-cjs/helpers/useFlexboxClasses.d.ts +46 -0
  117. package/dist/types-cjs/helpers/useIsHydrated.d.ts +12 -0
  118. package/dist/types-cjs/helpers/useOtherClasses.d.ts +43 -0
  119. package/dist/types-cjs/helpers/useSpacingClasses.d.ts +45 -0
  120. package/dist/types-cjs/helpers/useTypographyClasses.d.ts +51 -0
  121. package/dist/types-cjs/helpers/useVisibilityClasses.d.ts +43 -0
  122. package/dist/types-cjs/helpers/withSubComponents.d.ts +16 -0
  123. package/dist/types-cjs/index.d.ts +113 -0
  124. package/dist/types-cjs/layout/Container.d.ts +51 -0
  125. package/dist/types-cjs/layout/Footer.d.ts +39 -0
  126. package/dist/types-cjs/layout/Hero.d.ts +126 -0
  127. package/dist/types-cjs/layout/Level.d.ts +112 -0
  128. package/dist/types-cjs/layout/Media.d.ts +97 -0
  129. package/dist/types-cjs/layout/Section.d.ts +38 -0
  130. package/dist/types-cjs/package.json +3 -0
  131. package/dist/types-cjs/skill-examples/ExampleMeta.d.ts +15 -0
  132. package/dist/types-cjs/skill-examples/ProfileCard.d.ts +23 -0
  133. package/package.json +9 -4
@@ -0,0 +1,68 @@
1
+ import React from 'react';
2
+ import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses.js';
3
+ /**
4
+ * Possible values for Bulma column size: a number 1–12 (as a number or a numeric string, `7` and `"7"` are equivalent) or a named fraction.
5
+ */
6
+ export type BulmaColumnSize = number | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12' | 'full' | 'half' | 'one-third' | 'two-thirds' | 'one-quarter' | 'three-quarters' | 'one-fifth' | 'two-fifths' | 'three-fifths' | 'four-fifths';
7
+ /**
8
+ * Props for the Column component.
9
+ */
10
+ export interface ColumnProps extends React.HTMLAttributes<HTMLDivElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
11
+ /** Additional CSS classes for the column. */
12
+ className?: string;
13
+ /** Text color. */
14
+ textColor?: (typeof validColors)[number] | 'inherit' | 'current';
15
+ /** Bulma color modifier for the column. */
16
+ color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
17
+ /** Background color. */
18
+ bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
19
+ /** Column size (see Bulma docs). */
20
+ size?: BulmaColumnSize;
21
+ /** Size for mobile breakpoint. */
22
+ sizeMobile?: BulmaColumnSize;
23
+ /** Size for tablet breakpoint. */
24
+ sizeTablet?: BulmaColumnSize;
25
+ /** Size for desktop breakpoint. */
26
+ sizeDesktop?: BulmaColumnSize;
27
+ /** Size for widescreen breakpoint. */
28
+ sizeWidescreen?: BulmaColumnSize;
29
+ /** Size for fullhd breakpoint. */
30
+ sizeFullhd?: BulmaColumnSize;
31
+ /** Offset for column. */
32
+ offset?: BulmaColumnSize;
33
+ /** Offset for mobile. */
34
+ offsetMobile?: BulmaColumnSize;
35
+ /** Offset for tablet. */
36
+ offsetTablet?: BulmaColumnSize;
37
+ /** Offset for desktop. */
38
+ offsetDesktop?: BulmaColumnSize;
39
+ /** Offset for widescreen. */
40
+ offsetWidescreen?: BulmaColumnSize;
41
+ /** Offset for fullhd. */
42
+ offsetFullhd?: BulmaColumnSize;
43
+ /** Column is only as wide as its content. */
44
+ isNarrow?: boolean;
45
+ /** The column is narrow on mobile. */
46
+ isNarrowMobile?: boolean;
47
+ /** The column is narrow on tablet. */
48
+ isNarrowTablet?: boolean;
49
+ /** The column is narrow on touch devices. */
50
+ isNarrowTouch?: boolean;
51
+ /** The column is narrow on desktop. */
52
+ isNarrowDesktop?: boolean;
53
+ /** The column is narrow on widescreen. */
54
+ isNarrowWidescreen?: boolean;
55
+ /** The column is narrow on fullhd. */
56
+ isNarrowFullhd?: boolean;
57
+ /** Children to render inside the column. */
58
+ children?: React.ReactNode;
59
+ }
60
+ /**
61
+ * The `Column` component provides a single responsive layout column using Bulma's flexbox-based column system.
62
+ *
63
+ * @function
64
+ * @param {ColumnProps} props - Props for the Column component.
65
+ * @returns {JSX.Element} The rendered column.
66
+ * @see {@link https://bulma.io/documentation/columns/ | Bulma Columns documentation}
67
+ */
68
+ export declare const Column: React.FC<ColumnProps>;
@@ -0,0 +1,63 @@
1
+ import React from 'react';
2
+ import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses.js';
3
+ import type { BulmaGapValue } from '../grid/Grid.js';
4
+ /**
5
+ * Possible values for the Bulma columns gap size.
6
+ * @deprecated Use {@link BulmaGapValue} instead — `gapSize*` and `gap*` share
7
+ * the same 0-8 scale.
8
+ */
9
+ export type BulmaGapSize = BulmaGapValue;
10
+ /**
11
+ * Props for the Columns component.
12
+ */
13
+ export interface ColumnsProps extends React.HTMLAttributes<HTMLDivElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
14
+ /** Additional CSS classes for the columns container. */
15
+ className?: string;
16
+ /** Text color. */
17
+ textColor?: (typeof validColors)[number] | 'inherit' | 'current';
18
+ /** Bulma color modifier for all columns. */
19
+ color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
20
+ /** Background color for all columns. */
21
+ bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
22
+ /** Horizontally center columns within the container. */
23
+ isCentered?: boolean;
24
+ /** Remove gap between columns. */
25
+ isGapless?: boolean;
26
+ /** Allow columns to wrap to multiple lines. */
27
+ isMultiline?: boolean;
28
+ /** Vertically center columns within the container. */
29
+ isVCentered?: boolean;
30
+ /** Apply columns layout on mobile and up. */
31
+ isMobile?: boolean;
32
+ /** Apply columns layout on desktop and up. */
33
+ isDesktop?: boolean;
34
+ /** Gap size for all breakpoints. Same scale as `Grid`'s `gap` prop; wins over `gapSize` if both are set. */
35
+ gap?: BulmaGapValue;
36
+ /** Gap size for mobile. Wins over `gapSizeMobile` if both are set. */
37
+ gapMobile?: BulmaGapValue;
38
+ /** Gap size for tablet. Wins over `gapSizeTablet` if both are set. */
39
+ gapTablet?: BulmaGapValue;
40
+ /** Gap size for desktop. Wins over `gapSizeDesktop` if both are set. */
41
+ gapDesktop?: BulmaGapValue;
42
+ /** Gap size for widescreen. Wins over `gapSizeWidescreen` if both are set. */
43
+ gapWidescreen?: BulmaGapValue;
44
+ /** Gap size for fullhd. Wins over `gapSizeFullhd` if both are set. */
45
+ gapFullhd?: BulmaGapValue;
46
+ /** Gap size for all breakpoints. @deprecated Use `gap` instead — `gap` wins if both are set. */
47
+ gapSize?: BulmaGapSize;
48
+ /** Gap size for mobile. @deprecated Use `gapMobile` instead — `gapMobile` wins if both are set. */
49
+ gapSizeMobile?: BulmaGapSize;
50
+ /** Gap size for tablet. @deprecated Use `gapTablet` instead — `gapTablet` wins if both are set. */
51
+ gapSizeTablet?: BulmaGapSize;
52
+ /** Gap size for desktop. @deprecated Use `gapDesktop` instead — `gapDesktop` wins if both are set. */
53
+ gapSizeDesktop?: BulmaGapSize;
54
+ /** Gap size for widescreen. @deprecated Use `gapWidescreen` instead — `gapWidescreen` wins if both are set. */
55
+ gapSizeWidescreen?: BulmaGapSize;
56
+ /** Gap size for fullhd. @deprecated Use `gapFullhd` instead — `gapFullhd` wins if both are set. */
57
+ gapSizeFullhd?: BulmaGapSize;
58
+ /** Columns to render within the container. */
59
+ children?: React.ReactNode;
60
+ }
61
+ export declare const Columns: React.FC<ColumnsProps> & {
62
+ Column: React.FC<import("./Column.js").ColumnProps>;
63
+ };
@@ -0,0 +1,91 @@
1
+ import React from 'react';
2
+ import { BulmaClassesProps } from '../helpers/useBulmaClasses.js';
3
+ import { type PolymorphicComponent } from '../helpers/polymorphic.js';
4
+ declare const avatarColors: readonly ["primary", "link", "info", "success", "warning", "danger", "black", "dark", "light", "white"];
5
+ /** Valid color values for the Avatar component. */
6
+ export type AvatarColor = (typeof avatarColors)[number];
7
+ declare const avatarSizes: readonly ["16x16", "24x24", "32x32", "48x48", "64x64", "96x96", "128x128"];
8
+ /** Valid preset size values for the Avatar component. */
9
+ export type AvatarSize = (typeof avatarSizes)[number];
10
+ /** Valid shape values for the Avatar component. */
11
+ export type AvatarShape = 'circle' | 'rounded' | 'square';
12
+ /**
13
+ * The Avatar component's own props — everything it adds on top of the
14
+ * attributes of whatever element `as` renders.
15
+ */
16
+ export interface AvatarOwnProps extends Omit<BulmaClassesProps, 'color'> {
17
+ /** Additional CSS classes to apply. */
18
+ className?: string;
19
+ /** Image URL. On load error (or if absent), falls back to initials, then `icon`. */
20
+ src?: string;
21
+ /** Alternate text for the image (used for the accessible name in every render mode). An explicit `alt=""` marks a non-interactive avatar as decorative. */
22
+ alt?: string;
23
+ /** Derives initials and a deterministic background color when no `src` is shown. */
24
+ name?: string;
25
+ /** Explicit initials override (else derived from `name`). */
26
+ initials?: string;
27
+ /** Final fallback, rendered when there is no `src`, `name`, or `initials`. */
28
+ icon?: React.ReactNode;
29
+ /** Preset size, or a pixel size when a number. */
30
+ size?: AvatarSize | number;
31
+ /** Avatar shape. Default `'circle'`. */
32
+ shape?: AvatarShape;
33
+ /** Background color for initials/icon avatars (else auto-derived from `name`). */
34
+ color?: AvatarColor;
35
+ /** When set, renders the avatar as a link. */
36
+ href?: string;
37
+ /** Anchor target — forwarded only when rendering a link (an `a` or a custom `as` component). */
38
+ target?: string;
39
+ /** Anchor rel — forwarded only when rendering a link (an `a` or a custom `as` component). */
40
+ rel?: string;
41
+ /** Extra props forwarded to the underlying `<img>` (e.g. `loading`, `crossOrigin`); its `onError` is chained before the fallback fires. */
42
+ imageProps?: React.ImgHTMLAttributes<HTMLImageElement>;
43
+ /** Inline styles, merged after the size style. */
44
+ style?: React.CSSProperties;
45
+ /**
46
+ * Not accepted. Avatar always renders its own content — the image, the
47
+ * initials, or the icon — so anything a caller passed would be replaced. It
48
+ * is declared unavailable rather than derived from `as`, which would let a
49
+ * target requiring `children` compel a value it then never receives.
50
+ * @internal
51
+ */
52
+ children?: never;
53
+ }
54
+ /**
55
+ * Props for the Avatar component. The DOM attributes and the `ref` both follow
56
+ * `as`.
57
+ *
58
+ * `href`, `target` and `rel` stay Avatar's own props rather than being derived:
59
+ * they are what *chooses* the element when `as` is absent (an `<a>` with an
60
+ * `href`, a `<figure>` without one), so they have to be accepted before `as` is
61
+ * known.
62
+ *
63
+ * The type parameter defaults to `'figure'`, not to `React.ElementType`.
64
+ * Defaulting to the constraint sounds truer to a runtime default that is
65
+ * conditional, but `ComponentPropsWithoutRef<React.ElementType>` spreads across
66
+ * every element at once and accepts anything — which is the false-positive this
67
+ * whole change exists to remove. `'figure'` is the element a no-`href` avatar
68
+ * actually renders, and the anchor props it can additionally take are declared
69
+ * above.
70
+ *
71
+ * @extraProp {PolymorphicRef<React.ElementType>} [ref] - Ref forwarded to the element `as` renders, typed from `as`: the DOM node for an intrinsic tag, or whatever handle a custom component exposes.
72
+ */
73
+ export type AvatarProps<T extends React.ElementType = 'figure'> = AvatarOwnProps & Omit<React.ComponentPropsWithoutRef<T>, keyof AvatarOwnProps | 'as'> & {
74
+ /** Element/component to render as. Defaults to `'a'` when `href` is set, else `'figure'`. */
75
+ as?: T;
76
+ };
77
+ /**
78
+ * The `Avatar` component represents a person or entity as a compact image.
79
+ *
80
+ * @function
81
+ * @param {AvatarProps} props - Props for the Avatar component.
82
+ * @param {React.Ref} ref - Forwarded ref to the element `as` renders.
83
+ * @returns {JSX.Element} The rendered avatar element.
84
+ *
85
+ * @example
86
+ * <Avatar src="/users/ada.jpg" name="Ada Lovelace" size="64x64" />
87
+ * @example
88
+ * <Avatar name="Grace Hopper" />
89
+ */
90
+ export declare const Avatar: PolymorphicComponent<AvatarOwnProps, "figure">;
91
+ export default Avatar;
@@ -0,0 +1,30 @@
1
+ import React from 'react';
2
+ import { BulmaClassesProps } from '../helpers/useBulmaClasses.js';
3
+ import { AvatarProps } from './Avatar.js';
4
+ /** Valid overlap spacing values for the Avatars component. */
5
+ export type AvatarsSpacing = 'sm' | 'md' | 'lg';
6
+ /**
7
+ * Props for the Avatars component.
8
+ */
9
+ export interface AvatarsProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'color'>, Omit<BulmaClassesProps, 'backgroundColor' | 'color'> {
10
+ /** Additional CSS classes to apply. */
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". */
13
+ max?: number;
14
+ /** Uniform size applied to every child `Avatar` (and the surplus avatar). */
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. */
17
+ shape?: AvatarProps['shape'];
18
+ /** Space between avatars: a preset or a pixel `number`. The overlap distance, or the gap when `spaced`. */
19
+ spacing?: AvatarsSpacing | number;
20
+ /** Lay the avatars out side by side (non-overlapping), using `spacing` as the gap. */
21
+ spaced?: boolean;
22
+ /** Builds the surplus avatar's accessible name from the hidden count, for localization. Default: `` `${count} more` ``. */
23
+ surplusLabel?: (count: number) => string;
24
+ /** `Avatar` elements to render inside the group. */
25
+ children?: React.ReactNode;
26
+ }
27
+ export declare const Avatars: React.FC<AvatarsProps> & {
28
+ Avatar: import("../index.js").PolymorphicComponent<import("./Avatar.js").AvatarOwnProps, "figure">;
29
+ };
30
+ export default Avatars;
@@ -0,0 +1,56 @@
1
+ import React from 'react';
2
+ import { BulmaClassesProps } from '../helpers/useBulmaClasses.js';
3
+ declare const badgeColors: readonly ["primary", "link", "info", "success", "warning", "danger", "black", "dark", "light", "white"];
4
+ /** Valid color values for the Badge component. */
5
+ export type BadgeColor = (typeof badgeColors)[number];
6
+ /** Valid corner position values for the Badge component. */
7
+ export type BadgePosition = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left';
8
+ /** Valid overlap adjustment values for the Badge component. */
9
+ export type BadgeOverlap = 'circle' | 'square';
10
+ /**
11
+ * Props for the Badge component.
12
+ */
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. */
15
+ className?: string;
16
+ /** Additional CSS classes applied to the badge pill itself (unprefixed, like `Tooltip`'s `tooltipClassName`). */
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. */
19
+ content?: React.ReactNode;
20
+ /** Numeric `content` above this renders as `"{max}+"`. A negative or non-integer value falls back to the default. */
21
+ max?: number;
22
+ /** Render a small dot with no content. */
23
+ dot?: boolean;
24
+ /** Show the badge when `content` is `0`. Default `false`. */
25
+ showZero?: boolean;
26
+ /** Status color. Default `'danger'`. */
27
+ color?: BadgeColor;
28
+ /** Corner to overlay the badge on, relative to `children`. Ignored for standalone badges (no `children`). */
29
+ position?: BadgePosition;
30
+ /** Nudges the offset for a round (`'circle'`) vs rectangular (`'square'`) child. Ignored for standalone badges (no `children`). */
31
+ overlap?: BadgeOverlap;
32
+ /** Processing/pulse animation; no-ops under `prefers-reduced-motion: reduce`. */
33
+ pulse?: boolean;
34
+ /** Hide the badge pill without unmounting it (the wrapper and `children` stay visible). */
35
+ invisible?: boolean;
36
+ /** The element the badge overlays. Omit to render a standalone badge. */
37
+ children?: React.ReactNode;
38
+ }
39
+ /**
40
+ * The `Badge` component is a small status/count indicator overlaid on the corner of another element, or rendered standalone.
41
+ *
42
+ * @function
43
+ * @param {BadgeProps} props - Props for the Badge component.
44
+ * @returns {JSX.Element | null} The rendered badge (and children, if provided).
45
+ *
46
+ * @example
47
+ * <Badge dot color="success" overlap="circle">
48
+ * <Avatar src="/users/ada.jpg" name="Ada" />
49
+ * </Badge>
50
+ * @example
51
+ * <Badge content={128} max={99} color="danger">
52
+ * <Icon name="bell" />
53
+ * </Badge>
54
+ */
55
+ export declare const Badge: React.FC<BadgeProps>;
56
+ export default Badge;
@@ -0,0 +1,42 @@
1
+ import React from 'react';
2
+ import { BulmaClassesProps } from '../helpers/useBulmaClasses.js';
3
+ declare const validBreadcrumbAlignments: readonly ["centered", "right"];
4
+ /**
5
+ * Valid alignment values for the Breadcrumb component.
6
+ */
7
+ export type BreadcrumbAlignment = (typeof validBreadcrumbAlignments)[number];
8
+ declare const validBreadcrumbSeparators: readonly ["arrow", "bullet", "dot", "succeeds"];
9
+ /**
10
+ * Valid separator values for the Breadcrumb component.
11
+ */
12
+ export type BreadcrumbSeparator = (typeof validBreadcrumbSeparators)[number];
13
+ declare const validBreadcrumbSizes: readonly ["small", "medium", "large"];
14
+ /**
15
+ * Valid size values for the Breadcrumb component.
16
+ */
17
+ export type BreadcrumbSize = (typeof validBreadcrumbSizes)[number];
18
+ /**
19
+ * Props for the Breadcrumb component.
20
+ */
21
+ export interface BreadcrumbProps extends Omit<React.HTMLAttributes<HTMLElement>, 'color'>, Omit<BulmaClassesProps, 'backgroundColor' | 'color'> {
22
+ /** Additional CSS classes to apply. */
23
+ className?: string;
24
+ /** Alignment of the breadcrumb (`is-centered`, `is-right`). */
25
+ alignment?: BreadcrumbAlignment;
26
+ /** Type of separator between breadcrumb items. */
27
+ separator?: BreadcrumbSeparator;
28
+ /** Breadcrumb size. */
29
+ size?: BreadcrumbSize;
30
+ /** Breadcrumb items (`<li>`s with `<a>` or `<span>`). */
31
+ children?: React.ReactNode;
32
+ }
33
+ /**
34
+ * The `Breadcrumb` component renders a Bulma-styled breadcrumb navigation.
35
+ *
36
+ * @function
37
+ * @param {BreadcrumbProps} props - Props for the Breadcrumb component.
38
+ * @returns {JSX.Element} The rendered breadcrumb element.
39
+ * @see {@link https://bulma.io/documentation/components/breadcrumb/ | Bulma Breadcrumb documentation}
40
+ */
41
+ export declare const Breadcrumb: React.FC<BreadcrumbProps>;
42
+ export {};
@@ -0,0 +1,166 @@
1
+ import React from 'react';
2
+ import { BulmaClassesProps, validColors, validSchemeColors } from '../helpers/useBulmaClasses.js';
3
+ /**
4
+ * Props for the Card component.
5
+ * @extraProp {'centered' | 'justified' | 'left' | 'right'} [textAlign] - Text alignment.
6
+ */
7
+ export interface CardProps extends React.HTMLAttributes<HTMLDivElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
8
+ /** Additional CSS classes to apply. */
9
+ className?: string;
10
+ /** Text color for the card. */
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
+ */
18
+ color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
19
+ /**
20
+ * Background color for the card. `scheme-*` values render as a
21
+ * dark-mode-safe inline `background-color: var(--bulma-scheme-*)` instead
22
+ * of a class. The `scheme-invert*` values do not change text color — pair
23
+ * them with a contrasting foreground.
24
+ */
25
+ bgColor?: (typeof validColors)[number] | (typeof validSchemeColors)[number] | 'inherit' | 'current';
26
+ /** Whether the card has a shadow (default: `true`). */
27
+ hasShadow?: boolean;
28
+ /** Card header content, rendered inside `.card-header-title`. */
29
+ header?: React.ReactNode;
30
+ /** If true, centers the header title. */
31
+ headerCentered?: boolean;
32
+ /** Card header icon, rendered as a sibling to the header title. */
33
+ headerIcon?: React.ReactNode;
34
+ /** Card footer content; each item is wrapped in `.card-footer-item`. */
35
+ footer?: React.ReactNode | React.ReactNode[];
36
+ /** Card image node or image src string. */
37
+ image?: React.ReactNode | string;
38
+ /** Alternate text for the card image. */
39
+ imageAlt?: string;
40
+ /** Card content (body). */
41
+ children?: React.ReactNode;
42
+ }
43
+ /**
44
+ * Props for the Card.Header compound component.
45
+ */
46
+ export interface CardHeaderProps extends React.HTMLAttributes<HTMLElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
47
+ /** Bulma color modifier (text color helper). */
48
+ color?: (typeof validColors)[number] | 'inherit' | 'current';
49
+ /** Background color helper. */
50
+ bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
51
+ /** Text color helper; wins over `color` when both are set. */
52
+ textColor?: (typeof validColors)[number] | 'inherit' | 'current';
53
+ /** Additional CSS classes. */
54
+ className?: string;
55
+ /** Header content. Wrap in Card.Header.Title for Bulma styling. */
56
+ children?: React.ReactNode;
57
+ /** Whether to center the header title text. */
58
+ centered?: boolean;
59
+ }
60
+ /**
61
+ * Props for the Card.Image compound component.
62
+ */
63
+ export interface CardImageProps extends React.HTMLAttributes<HTMLDivElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
64
+ /** Bulma color modifier (text color helper). */
65
+ color?: (typeof validColors)[number] | 'inherit' | 'current';
66
+ /** Background color helper. */
67
+ bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
68
+ /** Text color helper; wins over `color` when both are set. */
69
+ textColor?: (typeof validColors)[number] | 'inherit' | 'current';
70
+ /** Additional CSS classes. */
71
+ className?: string;
72
+ /** Image content (e.g. a `<figure>` with an `<img>`). */
73
+ children?: React.ReactNode;
74
+ }
75
+ /**
76
+ * Props for the Card.Content compound component.
77
+ */
78
+ export interface CardContentProps extends React.HTMLAttributes<HTMLDivElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
79
+ /** Bulma color modifier (text color helper). */
80
+ color?: (typeof validColors)[number] | 'inherit' | 'current';
81
+ /** Background color helper. */
82
+ bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
83
+ /** Text color helper; wins over `color` when both are set. */
84
+ textColor?: (typeof validColors)[number] | 'inherit' | 'current';
85
+ /** Additional CSS classes. */
86
+ className?: string;
87
+ /** Card body content. */
88
+ children?: React.ReactNode;
89
+ }
90
+ /**
91
+ * Props for the Card.Footer compound component.
92
+ */
93
+ export interface CardFooterProps extends React.HTMLAttributes<HTMLElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
94
+ /** Bulma color modifier (text color helper). */
95
+ color?: (typeof validColors)[number] | 'inherit' | 'current';
96
+ /** Background color helper. */
97
+ bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
98
+ /** Text color helper; wins over `color` when both are set. */
99
+ textColor?: (typeof validColors)[number] | 'inherit' | 'current';
100
+ /** Additional CSS classes. */
101
+ className?: string;
102
+ /** Footer content, typically Card.FooterItem elements. */
103
+ children?: React.ReactNode;
104
+ }
105
+ /**
106
+ * Props for the Card.FooterItem compound component.
107
+ */
108
+ export interface CardFooterItemProps extends React.HTMLAttributes<HTMLSpanElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
109
+ /** Bulma color modifier (text color helper). */
110
+ color?: (typeof validColors)[number] | 'inherit' | 'current';
111
+ /** Background color helper. */
112
+ bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
113
+ /** Text color helper; wins over `color` when both are set. */
114
+ textColor?: (typeof validColors)[number] | 'inherit' | 'current';
115
+ /** Additional CSS classes. */
116
+ className?: string;
117
+ /** Footer item content (link, button, text, etc.). */
118
+ children?: React.ReactNode;
119
+ }
120
+ /**
121
+ * Props for the Card.Header.Title compound component.
122
+ */
123
+ export interface CardHeaderTitleProps extends React.HTMLAttributes<HTMLDivElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
124
+ /** Bulma color modifier (text color helper). */
125
+ color?: (typeof validColors)[number] | 'inherit' | 'current';
126
+ /** Background color helper. */
127
+ bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
128
+ /** Text color helper; wins over `color` when both are set. */
129
+ textColor?: (typeof validColors)[number] | 'inherit' | 'current';
130
+ /** Additional CSS classes. */
131
+ className?: string;
132
+ /** Title text content. */
133
+ children?: React.ReactNode;
134
+ /** Whether to center the title text. */
135
+ centered?: boolean;
136
+ }
137
+ /**
138
+ * Props for the Card.Header.Icon compound component.
139
+ */
140
+ export interface CardHeaderIconProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
141
+ /** Bulma color modifier (text color helper). */
142
+ color?: (typeof validColors)[number] | 'inherit' | 'current';
143
+ /** Background color helper. */
144
+ bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
145
+ /** Text color helper; wins over `color` when both are set. */
146
+ textColor?: (typeof validColors)[number] | 'inherit' | 'current';
147
+ /** Additional CSS classes. */
148
+ className?: string;
149
+ /** Icon content (e.g. an icon element). */
150
+ children?: React.ReactNode;
151
+ }
152
+ /** Card component with Header, Image, Content, Footer, and FooterItem sub-components. */
153
+ export declare const Card: React.FC<CardProps> & {
154
+ Header: React.FC<CardHeaderProps> & {
155
+ Title: React.FC<CardHeaderTitleProps>;
156
+ Icon: React.FC<CardHeaderIconProps>;
157
+ };
158
+ Image: React.FC<CardImageProps>;
159
+ Content: React.FC<CardContentProps>;
160
+ Footer: React.FC<CardFooterProps>;
161
+ FooterItem: React.FC<CardFooterItemProps>;
162
+ };
163
+ /** Internal test-only exports. Not part of the public API. */
164
+ export declare const __test_exports__: {
165
+ renderFooter: (footer: CardProps["footer"], classPrefix: string | undefined) => React.JSX.Element[] | null;
166
+ };
@@ -0,0 +1,104 @@
1
+ import React from 'react';
2
+ import { BulmaClassesProps } from '../helpers/useBulmaClasses.js';
3
+ /**
4
+ * Props for the CarouselItem component.
5
+ */
6
+ export interface CarouselItemProps extends React.HTMLAttributes<HTMLDivElement> {
7
+ /** Whether this item is active (set automatically). */
8
+ active?: boolean;
9
+ }
10
+ /**
11
+ * Individual carousel item/slide.
12
+ *
13
+ * @function
14
+ * @param {CarouselItemProps} props - Props for the CarouselItem component.
15
+ * @param {React.Ref<HTMLDivElement>} ref - Forwarded ref to the carousel item element.
16
+ * @returns {JSX.Element} The rendered carousel item.
17
+ */
18
+ export declare const CarouselItem: React.ForwardRefExoticComponent<CarouselItemProps & React.RefAttributes<HTMLDivElement>>;
19
+ type IconLibrary = 'fa' | 'mdi' | 'ion' | 'material-icons' | 'material-symbols';
20
+ /**
21
+ * Props for the Carousel component.
22
+ * @extraProp {string} [className] - Additional CSS classes.
23
+ * @extraProp {React.Ref<HTMLElement>} [ref] - Ref forwarded to the carousel element.
24
+ */
25
+ export interface CarouselProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange' | 'color'>, BulmaClassesProps {
26
+ /**
27
+ * Current active slide index (controlled).
28
+ * @defaultValue 0
29
+ */
30
+ value?: number;
31
+ /** Enable auto-play. */
32
+ autoplay?: boolean;
33
+ /** Auto-play interval in milliseconds. Default: 5000. */
34
+ interval?: number;
35
+ /** Pause auto-play on hover. Default: true. */
36
+ pauseOnHover?: boolean;
37
+ /** Loop back to first slide after last. Default: true. */
38
+ repeat?: boolean;
39
+ /** Enable drag/swipe navigation. Default: true. */
40
+ hasDrag?: boolean;
41
+ /** Show navigation arrows. Default: true. */
42
+ arrow?: boolean;
43
+ /** Only show arrows on hover. */
44
+ arrowHover?: boolean;
45
+ /** Show slide indicators. Default: true. */
46
+ indicator?: boolean;
47
+ /** Position indicators inside carousel. */
48
+ indicatorInside?: boolean;
49
+ /** Indicator position. Default: 'bottom'. */
50
+ indicatorPosition?: 'bottom' | 'top';
51
+ /** Indicator style. Default: 'dots'. */
52
+ indicatorStyle?: 'circles' | 'dots' | 'lines' | 'bars';
53
+ /** Icon name for the previous arrow button. */
54
+ iconPrev?: string;
55
+ /** Icon name for the next arrow button. */
56
+ iconNext?: string;
57
+ /** Icon library to use. */
58
+ iconLibrary?: IconLibrary;
59
+ /** Icon style variant (e.g., 'solid', 'outlined'). */
60
+ iconVariant?: string;
61
+ /** Icon size modifier. */
62
+ iconSize?: 'small' | 'medium' | 'large';
63
+ /** Additional icon modifiers. */
64
+ iconFeatures?: string | string[];
65
+ /** Show semi-transparent background on arrow buttons. Set to `false` for icon-only arrows. */
66
+ arrowBackground?: boolean;
67
+ /** Color theme for navigation arrows. */
68
+ arrowColor?: 'light' | 'dark';
69
+ /** Accessible label for the carousel region. Default: 'Image carousel'. */
70
+ ariaLabel?: string;
71
+ /** Callback when slide changes. */
72
+ onChange?: (value: number) => void;
73
+ /** CarouselItem children. */
74
+ children?: React.ReactNode;
75
+ }
76
+ /**
77
+ * The `Carousel` component provides an image/content slider with navigation arrows and indicators.
78
+ *
79
+ * @function
80
+ * @param {CarouselProps} props - Props for the Carousel component.
81
+ * @param {React.Ref<HTMLDivElement>} ref - Forwarded ref to the carousel element.
82
+ * @returns {JSX.Element} The rendered carousel component.
83
+ *
84
+ * @example
85
+ * // Basic carousel
86
+ * <Carousel>
87
+ * <CarouselItem>Slide 1</CarouselItem>
88
+ * <CarouselItem>Slide 2</CarouselItem>
89
+ * <CarouselItem>Slide 3</CarouselItem>
90
+ * </Carousel>
91
+ *
92
+ * @example
93
+ * // Auto-playing carousel
94
+ * <Carousel autoplay interval={3000}>
95
+ * <CarouselItem>
96
+ * <img src="image1.jpg" alt="Slide 1" />
97
+ * </CarouselItem>
98
+ * <CarouselItem>
99
+ * <img src="image2.jpg" alt="Slide 2" />
100
+ * </CarouselItem>
101
+ * </Carousel>
102
+ */
103
+ export declare const Carousel: React.ForwardRefExoticComponent<CarouselProps & React.RefAttributes<HTMLDivElement>>;
104
+ export default Carousel;