@allxsmith/bestax-bulma 5.7.0 → 5.8.1

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