@allxsmith/bestax-bulma 5.6.2 → 5.8.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 (128) hide show
  1. package/AGENTS.md +28 -0
  2. package/CLAUDE.md +28 -0
  3. package/README.md +15 -15
  4. package/dist/index.cjs.js +3885 -243
  5. package/dist/index.cjs.js.map +1 -1
  6. package/dist/index.esm.js +3884 -242
  7. package/dist/index.esm.js.map +1 -1
  8. package/dist/types/columns/Column.d.ts +43 -0
  9. package/dist/types/columns/Columns.d.ts +41 -1
  10. package/dist/types/components/Avatar.d.ts +37 -0
  11. package/dist/types/components/Avatars.d.ts +15 -2
  12. package/dist/types/components/Badge.d.ts +42 -0
  13. package/dist/types/components/Breadcrumb.d.ts +28 -0
  14. package/dist/types/components/Card.d.ts +70 -18
  15. package/dist/types/components/Carousel.d.ts +70 -0
  16. package/dist/types/components/Collapse.d.ts +53 -0
  17. package/dist/types/components/Dialog.d.ts +94 -0
  18. package/dist/types/components/Dropdown.d.ts +44 -0
  19. package/dist/types/components/Loading.d.ts +55 -0
  20. package/dist/types/components/Menu.d.ts +48 -0
  21. package/dist/types/components/Message.d.ts +27 -9
  22. package/dist/types/components/Modal.d.ts +65 -17
  23. package/dist/types/components/Navbar.d.ts +171 -12
  24. package/dist/types/components/Pagination.d.ts +84 -7
  25. package/dist/types/components/Panel.d.ts +109 -9
  26. package/dist/types/components/Reveal.d.ts +43 -0
  27. package/dist/types/components/Sidebar.d.ts +40 -0
  28. package/dist/types/components/Steps.d.ts +66 -1
  29. package/dist/types/components/Tabs.d.ts +100 -11
  30. package/dist/types/components/Toast.d.ts +109 -0
  31. package/dist/types/components/Tooltip.d.ts +50 -0
  32. package/dist/types/elements/Block.d.ts +20 -0
  33. package/dist/types/elements/Box.d.ts +23 -1
  34. package/dist/types/elements/Button.d.ts +26 -0
  35. package/dist/types/elements/Buttons.d.ts +16 -1
  36. package/dist/types/elements/Code.d.ts +19 -0
  37. package/dist/types/elements/Content.d.ts +21 -0
  38. package/dist/types/elements/Delete.d.ts +22 -0
  39. package/dist/types/elements/Divider.d.ts +16 -0
  40. package/dist/types/elements/Emphasis.d.ts +19 -0
  41. package/dist/types/elements/Figure.d.ts +25 -0
  42. package/dist/types/elements/Icon.d.ts +28 -0
  43. package/dist/types/elements/IconText.d.ts +20 -1
  44. package/dist/types/elements/Image.d.ts +27 -0
  45. package/dist/types/elements/Link.d.ts +24 -0
  46. package/dist/types/elements/LinkButton.d.ts +26 -0
  47. package/dist/types/elements/ListItem.d.ts +20 -0
  48. package/dist/types/elements/Notification.d.ts +101 -0
  49. package/dist/types/elements/OrderedList.d.ts +14 -1
  50. package/dist/types/elements/Paragraph.d.ts +19 -0
  51. package/dist/types/elements/Pre.d.ts +19 -0
  52. package/dist/types/elements/Progress.d.ts +20 -0
  53. package/dist/types/elements/Skeleton.d.ts +31 -0
  54. package/dist/types/elements/Span.d.ts +18 -0
  55. package/dist/types/elements/Strong.d.ts +19 -0
  56. package/dist/types/elements/SubTitle.d.ts +27 -0
  57. package/dist/types/elements/Table.d.ts +23 -1
  58. package/dist/types/elements/Tag.d.ts +28 -0
  59. package/dist/types/elements/Tags.d.ts +11 -1
  60. package/dist/types/elements/Tbody.d.ts +19 -0
  61. package/dist/types/elements/Td.d.ts +24 -0
  62. package/dist/types/elements/Tfoot.d.ts +19 -0
  63. package/dist/types/elements/Th.d.ts +25 -0
  64. package/dist/types/elements/Thead.d.ts +19 -0
  65. package/dist/types/elements/Title.d.ts +28 -0
  66. package/dist/types/elements/Tr.d.ts +21 -0
  67. package/dist/types/elements/UnorderedList.d.ts +11 -1
  68. package/dist/types/form/Autocomplete.d.ts +67 -0
  69. package/dist/types/form/Checkbox.d.ts +44 -0
  70. package/dist/types/form/Checkboxes.d.ts +13 -1
  71. package/dist/types/form/Control.d.ts +36 -0
  72. package/dist/types/form/DateInput.d.ts +44 -0
  73. package/dist/types/form/DateInputBase.d.ts +47 -0
  74. package/dist/types/form/DateTimeInput.d.ts +42 -0
  75. package/dist/types/form/DateTimeInputBase.d.ts +56 -0
  76. package/dist/types/form/Field.d.ts +66 -2
  77. package/dist/types/form/File.d.ts +26 -0
  78. package/dist/types/form/FormContext.d.ts +46 -0
  79. package/dist/types/form/Input.d.ts +49 -0
  80. package/dist/types/form/InputBase.d.ts +22 -0
  81. package/dist/types/form/Numberinput.d.ts +46 -0
  82. package/dist/types/form/Radio.d.ts +44 -0
  83. package/dist/types/form/Radios.d.ts +13 -1
  84. package/dist/types/form/Rate.d.ts +71 -0
  85. package/dist/types/form/Select.d.ts +39 -0
  86. package/dist/types/form/SelectBase.d.ts +25 -0
  87. package/dist/types/form/Slider.d.ts +71 -0
  88. package/dist/types/form/Switch.d.ts +53 -0
  89. package/dist/types/form/Taginput.d.ts +77 -0
  90. package/dist/types/form/TextArea.d.ts +38 -0
  91. package/dist/types/form/TextAreaBase.d.ts +25 -0
  92. package/dist/types/form/TimeInput.d.ts +39 -0
  93. package/dist/types/form/TimeInputBase.d.ts +72 -0
  94. package/dist/types/form/_pickerInternals/Calendar.d.ts +6 -0
  95. package/dist/types/form/_pickerInternals/TimeWheels.d.ts +13 -0
  96. package/dist/types/form/_pickerInternals/audioTick.d.ts +47 -0
  97. package/dist/types/form/_pickerInternals/dateUtils.d.ts +13 -0
  98. package/dist/types/form/_pickerInternals/formatters.d.ts +19 -0
  99. package/dist/types/form/_pickerInternals/haptics.d.ts +23 -0
  100. package/dist/types/form/_pickerInternals/pickerTypes.d.ts +8 -0
  101. package/dist/types/form/_pickerInternals/segmentMap.d.ts +48 -0
  102. package/dist/types/form/_pickerInternals/useNativeMobilePicker.d.ts +1 -0
  103. package/dist/types/form/_pickerInternals/useSegmentedEntry.d.ts +30 -0
  104. package/dist/types/form/fieldProps.d.ts +12 -0
  105. package/dist/types/grid/Cell.d.ts +26 -0
  106. package/dist/types/grid/Grid.d.ts +36 -1
  107. package/dist/types/helpers/Config.d.ts +50 -0
  108. package/dist/types/helpers/Theme.d.ts +66 -0
  109. package/dist/types/helpers/bulmaClassHelpers.d.ts +97 -0
  110. package/dist/types/helpers/classNames.d.ts +50 -0
  111. package/dist/types/helpers/useBulmaClasses.d.ts +22 -0
  112. package/dist/types/helpers/useColorClasses.d.ts +20 -0
  113. package/dist/types/helpers/useFlexboxClasses.d.ts +34 -0
  114. package/dist/types/helpers/useOtherClasses.d.ts +27 -0
  115. package/dist/types/helpers/useSpacingClasses.d.ts +27 -0
  116. package/dist/types/helpers/useTypographyClasses.d.ts +32 -0
  117. package/dist/types/helpers/useVisibilityClasses.d.ts +25 -0
  118. package/dist/types/helpers/withSubComponents.d.ts +16 -0
  119. package/dist/types/layout/Container.d.ts +26 -0
  120. package/dist/types/layout/Footer.d.ts +23 -0
  121. package/dist/types/layout/Hero.d.ts +66 -5
  122. package/dist/types/layout/Level.d.ts +68 -5
  123. package/dist/types/layout/Media.d.ts +63 -5
  124. package/dist/types/layout/Section.d.ts +21 -0
  125. package/dist/types/skill-examples/ExampleMeta.d.ts +5 -0
  126. package/dist/types/skill-examples/ProfileCard.d.ts +13 -0
  127. package/llms.txt +9 -0
  128. package/package.json +13 -11
@@ -1,9 +1,27 @@
1
1
  import React from 'react';
2
2
  import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
3
+ /**
4
+ * Props for the Span component.
5
+ *
6
+ * @property {string} [className] - Additional CSS classes to apply.
7
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').
8
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').
9
+ * @property {React.ReactNode} [children] - Content to be rendered inside the span.
10
+ */
3
11
  export interface SpanProps extends React.HTMLAttributes<HTMLSpanElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
4
12
  className?: string;
5
13
  textColor?: (typeof validColors)[number] | 'inherit' | 'current';
6
14
  bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
7
15
  children?: React.ReactNode;
8
16
  }
17
+ /**
18
+ * Span component for rendering a styled inline element.
19
+ *
20
+ * A Span wraps the HTML `<span>` element with Bulma helper class integration.
21
+ * Useful for styling inline text with Bulma's color, typography, and spacing utilities.
22
+ *
23
+ * @function
24
+ * @param {SpanProps} props - Props for the Span component.
25
+ * @returns {JSX.Element} The rendered span element.
26
+ */
9
27
  export declare const Span: React.FC<SpanProps>;
@@ -1,9 +1,28 @@
1
1
  import React from 'react';
2
2
  import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
3
+ /**
4
+ * Props for the Strong component.
5
+ *
6
+ * @property {string} [className] - Additional CSS classes to apply.
7
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').
8
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').
9
+ * @property {React.ReactNode} [children] - Content to be rendered inside the strong element.
10
+ */
3
11
  export interface StrongProps extends React.HTMLAttributes<HTMLElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
4
12
  className?: string;
5
13
  textColor?: (typeof validColors)[number] | 'inherit' | 'current';
6
14
  bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
7
15
  children?: React.ReactNode;
8
16
  }
17
+ /**
18
+ * Strong component for rendering semantically important bold text.
19
+ *
20
+ * A Strong wraps the HTML `<strong>` element with Bulma helper class integration.
21
+ * Use it for text that has strong importance, seriousness, or urgency.
22
+ * For visual-only bold styling without semantic meaning, use Span with textWeight="bold".
23
+ *
24
+ * @function
25
+ * @param {StrongProps} props - Props for the Strong component.
26
+ * @returns {JSX.Element} The rendered strong element.
27
+ */
9
28
  export declare const Strong: React.FC<StrongProps>;
@@ -1,9 +1,26 @@
1
1
  import React from 'react';
2
2
  import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
3
3
  declare const validSubTitleSizes: readonly ["1", "2", "3", "4", "5", "6"];
4
+ /**
5
+ * Valid size values for the SubTitle component (Bulma subtitle sizes).
6
+ */
4
7
  export type SubTitleSize = (typeof validSubTitleSizes)[number];
5
8
  declare const validSubTitleElements: readonly ["h1", "h2", "h3", "h4", "h5", "h6", "p"];
9
+ /**
10
+ * Valid HTML elements for the SubTitle component.
11
+ */
6
12
  export type SubTitleElement = (typeof validSubTitleElements)[number];
13
+ /**
14
+ * Props for the SubTitle component.
15
+ *
16
+ * @property {string} [className] - Additional CSS classes to apply.
17
+ * @property {SubTitleSize} [size] - Size of the subtitle (1-6).
18
+ * @property {SubTitleElement} [as='h1'] - HTML element to render as (h1-h6 or p).
19
+ * @property {boolean} [hasSkeleton] - Adds the has-skeleton CSS class.
20
+ * @property {React.ReactNode} [children] - Subtitle content.
21
+ * @property {string} [textColor] - Text color class (maps to Bulma's color helper).
22
+ * @property {string} [bgColor] - Background color class (maps to Bulma's backgroundColor helper).
23
+ */
7
24
  export interface SubTitleProps extends Omit<React.HTMLAttributes<HTMLHeadingElement | HTMLParagraphElement>, 'color'>, Omit<BulmaClassesProps, 'backgroundColor' | 'color'> {
8
25
  className?: string;
9
26
  size?: SubTitleSize;
@@ -13,5 +30,15 @@ export interface SubTitleProps extends Omit<React.HTMLAttributes<HTMLHeadingElem
13
30
  textColor?: (typeof validColors)[number] | 'inherit' | 'current';
14
31
  bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
15
32
  }
33
+ /**
34
+ * SubTitle component for rendering a styled Bulma subtitle.
35
+ *
36
+ * Supports Bulma subtitle sizes and rendering as different HTML elements (h1-h6, p).
37
+ *
38
+ * @function
39
+ * @param {SubTitleProps} props - Props for the SubTitle component.
40
+ * @returns {JSX.Element} The rendered subtitle element.
41
+ * @see {@link https://bulma.io/documentation/elements/title/#subtitle | Bulma Subtitle documentation}
42
+ */
16
43
  export declare const SubTitle: React.FC<SubTitleProps>;
17
44
  export default SubTitle;
@@ -1,5 +1,20 @@
1
+ /**
2
+ * @group Table
3
+ */
1
4
  import React from 'react';
2
5
  import { BulmaClassesProps } from '../helpers/useBulmaClasses';
6
+ /**
7
+ * Props for the Table component.
8
+ *
9
+ * @property {string} [className] - Additional CSS classes to apply.
10
+ * @property {boolean} [isBordered] - Adds borders to all the cells.
11
+ * @property {boolean} [isStriped] - Adds zebra-striping to rows.
12
+ * @property {boolean} [isNarrow] - Makes the table more compact by cutting cell padding in half.
13
+ * @property {boolean} [isHoverable] - Adds a hover effect on rows.
14
+ * @property {boolean} [isFullwidth] - Makes the table span the full width of its parent.
15
+ * @property {boolean} [isResponsive] - Makes the table horizontally scrollable on small screens.
16
+ * @property {React.ReactNode} [children] - Table content.
17
+ */
3
18
  export interface TableProps extends Omit<React.TableHTMLAttributes<HTMLTableElement>, 'color'>, Omit<BulmaClassesProps, 'backgroundColor'> {
4
19
  className?: string;
5
20
  isBordered?: boolean;
@@ -10,4 +25,11 @@ export interface TableProps extends Omit<React.TableHTMLAttributes<HTMLTableElem
10
25
  isResponsive?: boolean;
11
26
  children?: React.ReactNode;
12
27
  }
13
- export declare const Table: React.FC<TableProps>;
28
+ export declare const Table: React.FC<TableProps> & {
29
+ Thead: React.FC<import("./Thead").TheadProps>;
30
+ Tbody: React.FC<import("./Tbody").TbodyProps>;
31
+ Tfoot: React.FC<import("./Tfoot").TfootProps>;
32
+ Tr: React.FC<import("./Tr").TrProps>;
33
+ Th: React.FC<import("./Th").ThProps>;
34
+ Td: React.FC<import("./Td").TdProps>;
35
+ };
@@ -1,9 +1,27 @@
1
1
  import React from 'react';
2
2
  import { BulmaClassesProps } from '../helpers/useBulmaClasses';
3
3
  declare const validTagColors: readonly ["primary", "link", "info", "success", "warning", "danger", "black", "dark", "light", "white"];
4
+ /**
5
+ * Valid color values for the Tag component (Bulma tag colors).
6
+ */
4
7
  export type TagColor = (typeof validTagColors)[number];
5
8
  declare const validTagSizes: readonly ["normal", "medium", "large"];
9
+ /**
10
+ * Valid size values for the Tag component (Bulma tag sizes).
11
+ */
6
12
  export type TagSize = (typeof validTagSizes)[number];
13
+ /**
14
+ * Props for the Tag component.
15
+ *
16
+ * @property {string} [className] - Additional CSS classes to apply.
17
+ * @property {TagColor} [color] - Bulma color modifier for the tag.
18
+ * @property {TagSize} [size] - Size modifier for the tag.
19
+ * @property {boolean} [isRounded] - Whether the tag should have rounded corners.
20
+ * @property {boolean} [isDelete] - Whether the tag is a delete button.
21
+ * @property {boolean} [isHoverable] - Whether the tag is hoverable.
22
+ * @property {() => void} [onDelete] - Callback fired when the delete button is clicked.
23
+ * @property {React.ReactNode} [children] - Tag content.
24
+ */
7
25
  export interface TagProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'color'>, Omit<BulmaClassesProps, 'color'> {
8
26
  className?: string;
9
27
  color?: TagColor;
@@ -14,5 +32,15 @@ export interface TagProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'c
14
32
  onDelete?: () => void;
15
33
  children?: React.ReactNode;
16
34
  }
35
+ /**
36
+ * Tag component for rendering a styled Bulma tag.
37
+ *
38
+ * Supports colors, sizes, rounded, delete, and hoverable variants.
39
+ *
40
+ * @function
41
+ * @param {TagProps} props - Props for the Tag component.
42
+ * @returns {JSX.Element} The rendered tag element.
43
+ * @see {@link https://bulma.io/documentation/elements/tag/ | Bulma Tag documentation}
44
+ */
17
45
  export declare const Tag: React.FC<TagProps>;
18
46
  export {};
@@ -1,9 +1,19 @@
1
1
  import React from 'react';
2
2
  import { BulmaClassesProps } from '../helpers/useBulmaClasses';
3
+ /**
4
+ * Props for the Tags component.
5
+ *
6
+ * @property {string} [className] - Additional CSS classes to apply.
7
+ * @property {boolean} [hasAddons] - Group tags together as addons.
8
+ * @property {boolean} [isMultiline] - Allow tags to wrap onto multiple lines.
9
+ * @property {React.ReactNode} [children] - Tag elements to render inside the container.
10
+ */
3
11
  export interface TagsProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'color'>, Omit<BulmaClassesProps, 'backgroundColor' | 'color'> {
4
12
  className?: string;
5
13
  hasAddons?: boolean;
6
14
  isMultiline?: boolean;
7
15
  children?: React.ReactNode;
8
16
  }
9
- export declare const Tags: React.FC<TagsProps>;
17
+ export declare const Tags: React.FC<TagsProps> & {
18
+ Tag: React.FC<import("./Tag").TagProps>;
19
+ };
@@ -1,7 +1,26 @@
1
+ /**
2
+ * @group Table
3
+ */
1
4
  import React from 'react';
2
5
  import { BulmaClassesProps } from '../helpers/useBulmaClasses';
6
+ /**
7
+ * Props for the Tbody component.
8
+ *
9
+ * @property {string} [className] - Additional CSS classes to apply.
10
+ * @property {React.ReactNode} [children] - Table body content (rows).
11
+ */
3
12
  export interface TbodyProps extends Omit<React.HTMLAttributes<HTMLTableSectionElement>, 'color'>, Omit<BulmaClassesProps, 'backgroundColor'> {
4
13
  className?: string;
5
14
  children?: React.ReactNode;
6
15
  }
16
+ /**
17
+ * Tbody component for rendering a styled Bulma table body.
18
+ *
19
+ * Supports Bulma helper classes for additional styling.
20
+ *
21
+ * @function
22
+ * @param {TbodyProps} props - Props for the Tbody component.
23
+ * @returns {JSX.Element} The rendered table body element.
24
+ * @see {@link https://bulma.io/documentation/elements/table/#table-body | Bulma Table documentation}
25
+ */
7
26
  export declare const Tbody: React.FC<TbodyProps>;
@@ -1,10 +1,34 @@
1
+ /**
2
+ * @group Table
3
+ */
1
4
  import React from 'react';
2
5
  import { BulmaClassesProps } from '../helpers/useBulmaClasses';
6
+ /** Valid Bulma color values for table cells. */
3
7
  export declare const validTableColors: readonly ["primary", "link", "info", "success", "warning", "danger", "black", "dark", "light", "white"];
8
+ /**
9
+ * Valid color values for the Td component (Bulma table cell colors).
10
+ */
4
11
  export type TableColor = (typeof validTableColors)[number];
12
+ /**
13
+ * Props for the Td component.
14
+ *
15
+ * @property {string} [className] - Additional CSS classes to apply.
16
+ * @property {TableColor} [color] - Bulma color modifier for the table cell.
17
+ * @property {React.ReactNode} [children] - Table cell content.
18
+ */
5
19
  export interface TdProps extends Omit<React.TdHTMLAttributes<HTMLTableCellElement>, 'color'>, Omit<BulmaClassesProps, 'backgroundColor' | 'color'> {
6
20
  className?: string;
7
21
  color?: TableColor;
8
22
  children?: React.ReactNode;
9
23
  }
24
+ /**
25
+ * Td component for rendering a styled Bulma table cell.
26
+ *
27
+ * Supports Bulma color modifiers and helper classes for additional styling.
28
+ *
29
+ * @function
30
+ * @param {TdProps} props - Props for the Td component.
31
+ * @returns {JSX.Element} The rendered table cell element.
32
+ * @see {@link https://bulma.io/documentation/elements/table/#table-body | Bulma Table documentation}
33
+ */
10
34
  export declare const Td: React.FC<TdProps>;
@@ -1,7 +1,26 @@
1
+ /**
2
+ * @group Table
3
+ */
1
4
  import React from 'react';
2
5
  import { BulmaClassesProps } from '../helpers/useBulmaClasses';
6
+ /**
7
+ * Props for the Tfoot component.
8
+ *
9
+ * @property {string} [className] - Additional CSS classes to apply.
10
+ * @property {React.ReactNode} [children] - Table footer content (rows).
11
+ */
3
12
  export interface TfootProps extends Omit<React.HTMLAttributes<HTMLTableSectionElement>, 'color'>, Omit<BulmaClassesProps, 'backgroundColor'> {
4
13
  className?: string;
5
14
  children?: React.ReactNode;
6
15
  }
16
+ /**
17
+ * Tfoot component for rendering a styled Bulma table footer.
18
+ *
19
+ * Supports Bulma helper classes for additional styling.
20
+ *
21
+ * @function
22
+ * @param {TfootProps} props - Props for the Tfoot component.
23
+ * @returns {JSX.Element} The rendered table footer element.
24
+ * @see {@link https://bulma.io/documentation/elements/table/#table-footer | Bulma Table documentation}
25
+ */
7
26
  export declare const Tfoot: React.FC<TfootProps>;
@@ -1,8 +1,23 @@
1
+ /**
2
+ * @group Table
3
+ */
1
4
  import React from 'react';
2
5
  import { BulmaClassesProps } from '../helpers/useBulmaClasses';
3
6
  import { TableColor } from './Td';
4
7
  declare const validAlignments: readonly ["left", "right", "centered"];
8
+ /**
9
+ * Valid alignment values for the Th component.
10
+ */
5
11
  type TableAlignment = (typeof validAlignments)[number];
12
+ /**
13
+ * Props for the Th component.
14
+ *
15
+ * @property {string} [className] - Additional CSS classes to apply.
16
+ * @property {TableAlignment} [isAligned] - Text alignment for the header cell ('left', 'right', 'centered').
17
+ * @property {string|number} [width] - Width of the header cell (e.g., '100px' or 100).
18
+ * @property {TableColor} [color] - Bulma color modifier for the header cell.
19
+ * @property {React.ReactNode} [children] - Table header cell content.
20
+ */
6
21
  export interface ThProps extends Omit<React.ThHTMLAttributes<HTMLTableCellElement>, 'color'>, Omit<BulmaClassesProps, 'backgroundColor' | 'color'> {
7
22
  className?: string;
8
23
  isAligned?: TableAlignment;
@@ -10,5 +25,15 @@ export interface ThProps extends Omit<React.ThHTMLAttributes<HTMLTableCellElemen
10
25
  color?: TableColor;
11
26
  children?: React.ReactNode;
12
27
  }
28
+ /**
29
+ * Th component for rendering a styled Bulma table header cell.
30
+ *
31
+ * Supports alignment, width, and color modifiers.
32
+ *
33
+ * @function
34
+ * @param {ThProps} props - Props for the Th component.
35
+ * @returns {JSX.Element} The rendered table header cell element.
36
+ * @see {@link https://bulma.io/documentation/elements/table/#table-head | Bulma Table documentation}
37
+ */
13
38
  export declare const Th: React.FC<ThProps>;
14
39
  export {};
@@ -1,7 +1,26 @@
1
+ /**
2
+ * @group Table
3
+ */
1
4
  import React from 'react';
2
5
  import { BulmaClassesProps } from '../helpers/useBulmaClasses';
6
+ /**
7
+ * Props for the Thead component.
8
+ *
9
+ * @property {string} [className] - Additional CSS classes to apply.
10
+ * @property {React.ReactNode} [children] - Table header content (rows).
11
+ */
3
12
  export interface TheadProps extends Omit<React.HTMLAttributes<HTMLTableSectionElement>, 'color'>, Omit<BulmaClassesProps, 'backgroundColor'> {
4
13
  className?: string;
5
14
  children?: React.ReactNode;
6
15
  }
16
+ /**
17
+ * Thead component for rendering a styled Bulma table header.
18
+ *
19
+ * Supports Bulma helper classes for additional styling.
20
+ *
21
+ * @function
22
+ * @param {TheadProps} props - Props for the Thead component.
23
+ * @returns {JSX.Element} The rendered table header element.
24
+ * @see {@link https://bulma.io/documentation/elements/table/#table-head | Bulma Table documentation}
25
+ */
7
26
  export declare const Thead: React.FC<TheadProps>;
@@ -1,9 +1,27 @@
1
1
  import React from 'react';
2
2
  import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
3
3
  declare const validTitleSizes: readonly ["1", "2", "3", "4", "5", "6"];
4
+ /**
5
+ * Valid size values for the Title component (Bulma title sizes).
6
+ */
4
7
  export type TitleSize = (typeof validTitleSizes)[number];
5
8
  declare const validTitleElements: readonly ["h1", "h2", "h3", "h4", "h5", "h6", "p"];
9
+ /**
10
+ * Valid HTML elements for the Title component.
11
+ */
6
12
  export type TitleElement = (typeof validTitleElements)[number];
13
+ /**
14
+ * Props for the Title component.
15
+ *
16
+ * @property {string} [className] - Additional CSS classes to apply.
17
+ * @property {TitleSize} [size] - Size of the title (1-6).
18
+ * @property {boolean} [isSpaced] - Adds margin below the title.
19
+ * @property {TitleElement} [as='h1'] - HTML element to render as (h1-h6 or p).
20
+ * @property {boolean} [hasSkeleton] - Adds the has-skeleton CSS class.
21
+ * @property {React.ReactNode} [children] - Title content.
22
+ * @property {string} [textColor] - Text color class (maps to Bulma's color helper).
23
+ * @property {string} [bgColor] - Background color class (maps to Bulma's backgroundColor helper).
24
+ */
7
25
  export interface TitleProps extends Omit<React.HTMLAttributes<HTMLHeadingElement | HTMLParagraphElement>, 'color'>, Omit<BulmaClassesProps, 'backgroundColor' | 'color'> {
8
26
  className?: string;
9
27
  size?: TitleSize;
@@ -14,5 +32,15 @@ export interface TitleProps extends Omit<React.HTMLAttributes<HTMLHeadingElement
14
32
  textColor?: (typeof validColors)[number] | 'inherit' | 'current';
15
33
  bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
16
34
  }
35
+ /**
36
+ * Title component for rendering a styled Bulma title.
37
+ *
38
+ * Supports sizes, spacing, and rendering as different HTML elements.
39
+ *
40
+ * @function
41
+ * @param {TitleProps} props - Props for the Title component.
42
+ * @returns {JSX.Element} The rendered title element.
43
+ * @see {@link https://bulma.io/documentation/elements/title/ | Bulma Title documentation}
44
+ */
17
45
  export declare const Title: React.FC<TitleProps>;
18
46
  export default Title;
@@ -1,10 +1,31 @@
1
+ /**
2
+ * @group Table
3
+ */
1
4
  import React from 'react';
2
5
  import { BulmaClassesProps } from '../helpers/useBulmaClasses';
3
6
  import { TableColor } from './Td';
7
+ /**
8
+ * Props for the Tr component.
9
+ *
10
+ * @property {string} [className] - Additional CSS classes to apply.
11
+ * @property {boolean} [isSelected] - Whether the row is selected (adds Bulma's is-selected class).
12
+ * @property {TableColor} [color] - Bulma color modifier for the table row.
13
+ * @property {React.ReactNode} [children] - Table row content (cells).
14
+ */
4
15
  export interface TrProps extends Omit<React.HTMLAttributes<HTMLTableRowElement>, 'color'>, Omit<BulmaClassesProps, 'backgroundColor' | 'color'> {
5
16
  className?: string;
6
17
  isSelected?: boolean;
7
18
  color?: TableColor;
8
19
  children?: React.ReactNode;
9
20
  }
21
+ /**
22
+ * Tr component for rendering a styled Bulma table row.
23
+ *
24
+ * Supports the is-selected modifier and color modifiers.
25
+ *
26
+ * @function
27
+ * @param {TrProps} props - Props for the Tr component.
28
+ * @returns {JSX.Element} The rendered table row element.
29
+ * @see {@link https://bulma.io/documentation/elements/table/#table-row | Bulma Table documentation}
30
+ */
10
31
  export declare const Tr: React.FC<TrProps>;
@@ -1,9 +1,19 @@
1
1
  import React from 'react';
2
2
  import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
3
+ /**
4
+ * Props for the UnorderedList component.
5
+ *
6
+ * @property {string} [className] - Additional CSS classes to apply.
7
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').
8
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').
9
+ * @property {React.ReactNode} [children] - List items to be rendered inside the list.
10
+ */
3
11
  export interface UnorderedListProps extends React.HTMLAttributes<HTMLUListElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
4
12
  className?: string;
5
13
  textColor?: (typeof validColors)[number] | 'inherit' | 'current';
6
14
  bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
7
15
  children?: React.ReactNode;
8
16
  }
9
- export declare const UnorderedList: React.FC<UnorderedListProps>;
17
+ export declare const UnorderedList: React.FC<UnorderedListProps> & {
18
+ Item: React.FC<import("./ListItem").ListItemProps>;
19
+ };
@@ -1,12 +1,52 @@
1
1
  import React from 'react';
2
2
  import { BulmaClassesProps } from '../helpers/useBulmaClasses';
3
3
  import { FormFieldProps } from './fieldProps';
4
+ /**
5
+ * An item in the Autocomplete dropdown list.
6
+ *
7
+ * @property {string} value - The value used for filtering and selection.
8
+ * @property {string} [label] - Display label (falls back to value if omitted).
9
+ * @property {boolean} [disabled] - Whether the item is disabled and unselectable.
10
+ */
4
11
  export interface AutocompleteItem {
5
12
  value: string;
6
13
  label?: string;
7
14
  disabled?: boolean;
8
15
  [key: string]: unknown;
9
16
  }
17
+ /**
18
+ * Props for the Autocomplete component.
19
+ *
20
+ * @property {AutocompleteItem[] | string[]} data - The options data to display.
21
+ * @property {string} [value] - The current input value (controlled).
22
+ * @property {AutocompleteItem | string | null} [selected] - The selected item (controlled).
23
+ * @property {string} [placeholder] - Placeholder text for the input.
24
+ * @property {string} [field] - Object property to use as the display field.
25
+ * @property {boolean} [clearable] - Whether to show a clear button.
26
+ * @property {boolean} [openOnFocus] - Open dropdown when input is focused.
27
+ * @property {boolean} [keepFirst] - Keep first option highlighted.
28
+ * @property {boolean} [keepOpen] - Keep dropdown open after selection.
29
+ * @property {boolean} [selectOnClickOutside] - Select highlighted item on click outside.
30
+ * @property {number} [maxHeight] - Maximum dropdown height in pixels.
31
+ * @property {boolean} [dropdown] - Render as dropdown style.
32
+ * @property {boolean} [loading] - Show loading state.
33
+ * @property {boolean} [disabled] - Whether the input is disabled.
34
+ * @property {boolean} [checkInfiniteScroll] - Enable infinite scroll detection.
35
+ * @property {number} [infiniteScrollDistance] - Distance threshold for infinite scroll.
36
+ * @property {(value: string) => void} [onInput] - Callback when input value changes.
37
+ * @property {(item: AutocompleteItem | string | null) => void} [onSelect] - Callback when item is selected.
38
+ * @property {(active: boolean) => void} [onActiveChange] - Callback when dropdown active state changes.
39
+ * @property {() => void} [onInfiniteScroll] - Callback when scrolled to bottom (infinite scroll).
40
+ * @property {(item: AutocompleteItem | string) => React.ReactNode} [itemTemplate] - Custom render for items.
41
+ * @property {React.ReactNode} [header] - Custom header in dropdown.
42
+ * @property {React.ReactNode} [footer] - Custom footer in dropdown.
43
+ * @property {React.ReactNode} [empty] - Content to show when no results.
44
+ * @property {'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'} [color] - Bulma color modifier for the input.
45
+ * @property {'small' | 'medium' | 'large'} [size] - Size modifier for the input.
46
+ * @property {string} [name] - Form field name; forwarded to the inner input so the typed/selected value submits with the surrounding form.
47
+ * @property {string} [form] - The id of the form the input belongs to.
48
+ * @property {boolean} [required] - Whether the input is required.
49
+ */
10
50
  export interface AutocompleteProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect' | 'onInput'>, Omit<BulmaClassesProps, 'color'>, FormFieldProps {
11
51
  data: AutocompleteItem[] | string[];
12
52
  value?: string;
@@ -38,5 +78,32 @@ export interface AutocompleteProps extends Omit<React.HTMLAttributes<HTMLDivElem
38
78
  footer?: React.ReactNode;
39
79
  empty?: React.ReactNode;
40
80
  }
81
+ /**
82
+ * Autocomplete component with dropdown suggestions.
83
+ *
84
+ * Provides an input field with a dropdown of suggestions that filter
85
+ * based on user input.
86
+ *
87
+ * @function
88
+ * @param {AutocompleteProps} props - Props for the Autocomplete component.
89
+ * @param {React.Ref<HTMLInputElement>} ref - Forwarded ref to the input element.
90
+ * @returns {JSX.Element} The rendered autocomplete component.
91
+ *
92
+ * @example
93
+ * // Basic usage with string array
94
+ * <Autocomplete
95
+ * data={['Apple', 'Banana', 'Cherry']}
96
+ * placeholder="Search fruit..."
97
+ * onSelect={(item) => console.log(item)}
98
+ * />
99
+ *
100
+ * @example
101
+ * // With object data
102
+ * <Autocomplete
103
+ * data={[{ value: '1', label: 'Option 1' }, { value: '2', label: 'Option 2' }]}
104
+ * field="label"
105
+ * onSelect={(item) => console.log(item)}
106
+ * />
107
+ */
41
108
  export declare const Autocomplete: React.ForwardRefExoticComponent<AutocompleteProps & React.RefAttributes<HTMLInputElement>>;
42
109
  export default Autocomplete;
@@ -1,7 +1,24 @@
1
1
  import React from 'react';
2
2
  import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
3
+ /**
4
+ * Valid colors for the Checkbox component.
5
+ */
3
6
  export declare const checkboxColors: readonly ["primary", "link", "info", "success", "warning", "danger"];
7
+ /**
8
+ * Valid sizes for the Checkbox component.
9
+ */
4
10
  export declare const checkboxSizes: readonly ["small", "normal", "medium", "large"];
11
+ /**
12
+ * Props for the Checkbox component.
13
+ *
14
+ * @property {(typeof checkboxColors)[number]} [color] - Color variant for the checkbox.
15
+ * @property {(typeof checkboxSizes)[number]} [size] - Size of the checkbox.
16
+ * @property {boolean} [disabled] - Whether the checkbox is disabled.
17
+ * @property {string} [className] - Additional CSS classes to apply.
18
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.
19
+ * @property {React.ReactNode} [children] - The label/content for the checkbox.
20
+ * @see Bulma Checkbox documentation: https://bulma.io/documentation/form/checkbox/
21
+ */
5
22
  export interface CheckboxProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size' | 'type' | 'color'>, Omit<BulmaClassesProps, 'color' | 'backgroundColor' | 'size'> {
6
23
  color?: (typeof checkboxColors)[number];
7
24
  size?: (typeof checkboxSizes)[number];
@@ -10,5 +27,32 @@ export interface CheckboxProps extends Omit<React.InputHTMLAttributes<HTMLInputE
10
27
  className?: string;
11
28
  children?: React.ReactNode;
12
29
  }
30
+ /**
31
+ * Bulma Checkbox component with themed styling support.
32
+ *
33
+ * Renders a custom-styled checkbox with a visual check indicator,
34
+ * supporting colors, sizes, and various states. Inside a `<Checkboxes>`
35
+ * group, Checkbox inherits `name` and (when the group is in controlled or
36
+ * uncontrolled mode) derives its `checked` state from membership in the
37
+ * group's `value` array. On click, dispatches the new array via the group's
38
+ * `onChange`.
39
+ *
40
+ * Local props always win over group context.
41
+ *
42
+ * @function
43
+ * @param {CheckboxProps} props - Props for the Checkbox component.
44
+ * @returns {JSX.Element} The rendered checkbox element.
45
+ *
46
+ * @example
47
+ * // Basic checkbox
48
+ * <Checkbox>Accept terms</Checkbox>
49
+ *
50
+ * @example
51
+ * // Inside a group
52
+ * <Checkboxes name="tags" defaultValue={['react']}>
53
+ * <Checkbox value="react">React</Checkbox>
54
+ * <Checkbox value="vue">Vue</Checkbox>
55
+ * </Checkboxes>
56
+ */
13
57
  export declare const Checkbox: React.ForwardRefExoticComponent<CheckboxProps & React.RefAttributes<HTMLInputElement>>;
14
58
  export default Checkbox;
@@ -1,6 +1,16 @@
1
1
  import React from 'react';
2
2
  import { BulmaClassesProps } from '../helpers/useBulmaClasses';
3
3
  import { FormFieldProps } from './fieldProps';
4
+ /**
5
+ * Props for the Checkboxes component.
6
+ *
7
+ * @property {string} [className] - Additional CSS classes to apply.
8
+ * @property {string} [name] - Form field name shared by every Checkbox in the group.
9
+ * @property {string[]} [value] - Currently-selected values (controlled mode).
10
+ * @property {string[]} [defaultValue] - Initial selected values (uncontrolled mode).
11
+ * @property {(values: string[]) => void} [onChange] - Fired when the selection changes. Receives the new array of selected values.
12
+ * @property {React.ReactNode} [children] - Checkbox elements to render in the group.
13
+ */
4
14
  export interface CheckboxesProps extends Omit<BulmaClassesProps, 'color'>, FormFieldProps {
5
15
  className?: string;
6
16
  name?: string;
@@ -9,5 +19,7 @@ export interface CheckboxesProps extends Omit<BulmaClassesProps, 'color'>, FormF
9
19
  onChange?: (values: string[]) => void;
10
20
  children?: React.ReactNode;
11
21
  }
12
- export declare const Checkboxes: React.FC<CheckboxesProps>;
22
+ export declare const Checkboxes: React.FC<CheckboxesProps> & {
23
+ Checkbox: React.ForwardRefExoticComponent<import("./Checkbox").CheckboxProps & React.RefAttributes<HTMLInputElement>>;
24
+ };
13
25
  export default Checkboxes;