@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,5 +1,17 @@
1
1
  import React from 'react';
2
2
  import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
3
+ /**
4
+ * Props for the Delete 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 {'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'} [color] - Bulma color modifier for the delete button.
9
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').
10
+ * @property {(event: React.MouseEvent<HTMLButtonElement>) => void} [onClick] - Click handler for the button.
11
+ * @property {'small' | 'medium' | 'large'} [size] - Size modifier for the delete button.
12
+ * @property {string} [ariaLabel='Close'] - ARIA label for accessibility (default: 'Close').
13
+ * @property {boolean} [disabled=false] - Whether the button is disabled (default: false).
14
+ */
3
15
  interface DeleteProps extends React.HTMLAttributes<HTMLButtonElement>, BulmaClassesProps {
4
16
  className?: string;
5
17
  textColor?: (typeof validColors)[number] | 'inherit' | 'current';
@@ -10,5 +22,15 @@ interface DeleteProps extends React.HTMLAttributes<HTMLButtonElement>, BulmaClas
10
22
  ariaLabel?: string;
11
23
  disabled?: boolean;
12
24
  }
25
+ /**
26
+ * Delete component for rendering a Bulma-styled delete/close button.
27
+ *
28
+ * Supports Bulma helper classes for styling, color, and size, and includes accessibility and disabled state.
29
+ *
30
+ * @function
31
+ * @param {DeleteProps} props - Props for the Delete component.
32
+ * @returns {JSX.Element} The rendered delete button.
33
+ * @see {@link https://bulma.io/documentation/elements/delete/ | Bulma Delete documentation}
34
+ */
13
35
  export declare const Delete: React.FC<DeleteProps>;
14
36
  export {};
@@ -1,7 +1,23 @@
1
1
  import React from 'react';
2
2
  import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
3
+ /**
4
+ * Props for the Divider component.
5
+ *
6
+ * @property {string} [className] - Additional CSS classes to apply.
7
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').
8
+ */
3
9
  export interface DividerProps extends React.HTMLAttributes<HTMLHRElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
4
10
  className?: string;
5
11
  bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
6
12
  }
13
+ /**
14
+ * Divider component for rendering a styled horizontal rule element.
15
+ *
16
+ * A Divider wraps the HTML `<hr>` element with Bulma helper class integration.
17
+ * Use it to visually separate content sections with a horizontal line.
18
+ *
19
+ * @function
20
+ * @param {DividerProps} props - Props for the Divider component.
21
+ * @returns {JSX.Element} The rendered hr element.
22
+ */
7
23
  export declare const Divider: React.FC<DividerProps>;
@@ -1,9 +1,28 @@
1
1
  import React from 'react';
2
2
  import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
3
+ /**
4
+ * Props for the Emphasis 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 em element.
10
+ */
3
11
  export interface EmphasisProps 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
+ * Emphasis component for rendering semantically emphasized italic text.
19
+ *
20
+ * An Emphasis wraps the HTML `<em>` element with Bulma helper class integration.
21
+ * Use it for text that has stress emphasis, affecting the meaning of the sentence.
22
+ * For visual-only italic styling without semantic meaning, use CSS font-style: italic.
23
+ *
24
+ * @function
25
+ * @param {EmphasisProps} props - Props for the Emphasis component.
26
+ * @returns {JSX.Element} The rendered em element.
27
+ */
9
28
  export declare const Emphasis: React.FC<EmphasisProps>;
@@ -1,17 +1,42 @@
1
1
  import React from 'react';
2
2
  import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
3
+ /**
4
+ * Props for the FigureCaption 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 figcaption.
10
+ */
3
11
  export interface FigureCaptionProps 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
+ * Props for the Figure component.
19
+ *
20
+ * @property {string} [className] - Additional CSS classes to apply.
21
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').
22
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').
23
+ * @property {React.ReactNode} [children] - Content to be rendered inside the figure.
24
+ */
9
25
  export interface FigureProps extends React.HTMLAttributes<HTMLElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
10
26
  className?: string;
11
27
  textColor?: (typeof validColors)[number] | 'inherit' | 'current';
12
28
  bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
13
29
  children?: React.ReactNode;
14
30
  }
31
+ /**
32
+ * Figure component with Caption subcomponent.
33
+ *
34
+ * @example
35
+ * <Figure>
36
+ * <img src="image.jpg" alt="Description" />
37
+ * <Figure.Caption>Image caption text</Figure.Caption>
38
+ * </Figure>
39
+ */
15
40
  export declare const Figure: React.FC<FigureProps> & {
16
41
  Caption: React.FC<FigureCaptionProps>;
17
42
  };
@@ -20,6 +20,24 @@ declare module 'react' {
20
20
  }
21
21
  }
22
22
  type IconLibrary = 'fa' | 'mdi' | 'ion' | 'material-icons' | 'material-symbols';
23
+ /**
24
+ * Props for the Icon component.
25
+ *
26
+ * @property {string} [className] - Additional CSS classes to apply.
27
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').
28
+ * @property {'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'} [color] - Bulma color modifier for the icon.
29
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').
30
+ * @property {string} name - The icon name (without library prefix).
31
+ * @property {IconLibrary} [library] - The icon library to use ('fa' = Font Awesome, 'mdi' = Material Design Icons, 'ion' = Ionicons Web Components, 'material-icons' = Google Material Icons, 'material-symbols' = Google Material Symbols). Defaults to the value set in ConfigProvider or 'fa' if not configured.
32
+ * @property {string} [variant] - Icon style variant. For Font Awesome: 'solid', 'regular', 'brands', etc. For Material Icons: 'filled', 'outlined', 'round', 'sharp'. For Material Symbols: 'outlined', 'rounded', 'sharp'. For Ionicons: 'outline', 'sharp'.
33
+ * @property {string | string[]} [features] - Additional library-specific modifiers. For Font Awesome: 'fa-lg', 'fa-spin', etc. For others: size classes like 'is-size-1', etc.
34
+ * @property {string | string[]} [libraryFeatures] - DEPRECATED: Use 'variant' and 'features' instead. Additional library-specific classes.
35
+ * @property {'small' | 'medium' | 'large'} [size] - Size modifier for the icon.
36
+ * @property {string} [ariaLabel='icon'] - ARIA label for accessibility (default: 'icon').
37
+ * @property {object} [style] - Inline style object.
38
+ * @property {string} [icon] - DEPRECATED: Legacy prop, use `name` instead.
39
+ * @property {string} [containerClassName] - Override the default 'icon' container class (e.g., 'panel-icon').
40
+ */
23
41
  export interface IconProps extends React.HTMLAttributes<HTMLSpanElement>, BulmaClassesProps {
24
42
  className?: string;
25
43
  textColor?: (typeof validColors)[number] | 'inherit' | 'current';
@@ -36,5 +54,15 @@ export interface IconProps extends React.HTMLAttributes<HTMLSpanElement>, BulmaC
36
54
  style?: React.CSSProperties;
37
55
  containerClassName?: string;
38
56
  }
57
+ /**
58
+ * Icon component for rendering a Bulma-styled icon container.
59
+ *
60
+ * Supports Bulma helper classes for styling, color, and size, and renders an <i></i> element for the icon itself.
61
+ *
62
+ * @function
63
+ * @param {IconProps} props - Props for the Icon component.
64
+ * @returns {JSX.Element} The rendered icon element.
65
+ * @see {@link https://bulma.io/documentation/elements/icon/ | Bulma Icon documentation}
66
+ */
39
67
  export declare const Icon: React.FC<IconProps>;
40
68
  export {};
@@ -1,10 +1,27 @@
1
1
  import React from 'react';
2
2
  import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
3
3
  import { IconProps } from './Icon';
4
+ /**
5
+ * Represents an item for the IconText component, containing icon props and optional text.
6
+ *
7
+ * @property {IconProps} iconProps - Props for the Icon component.
8
+ * @property {string} [text] - Optional text to display next to the icon.
9
+ */
4
10
  interface IconTextItem {
5
11
  iconProps: IconProps;
6
12
  text?: string;
7
13
  }
14
+ /**
15
+ * Props for the IconText component.
16
+ *
17
+ * @property {string} [className] - Additional CSS classes to apply.
18
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').
19
+ * @property {'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'} [color] - Bulma color modifier for the icon text.
20
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').
21
+ * @property {IconProps} [iconProps] - Props for a single Icon component.
22
+ * @property {React.ReactNode} [children] - Text for a single icon.
23
+ * @property {IconTextItem[]} [items] - Array of icon/text pairs for multiple icons.
24
+ */
8
25
  interface IconTextProps extends React.HTMLAttributes<HTMLSpanElement>, BulmaClassesProps {
9
26
  className?: string;
10
27
  textColor?: (typeof validColors)[number] | 'inherit' | 'current';
@@ -14,5 +31,7 @@ interface IconTextProps extends React.HTMLAttributes<HTMLSpanElement>, BulmaClas
14
31
  children?: React.ReactNode;
15
32
  items?: IconTextItem[];
16
33
  }
17
- export declare const IconText: React.FC<IconTextProps>;
34
+ export declare const IconText: React.FC<IconTextProps> & {
35
+ Icon: React.FC<IconProps>;
36
+ };
18
37
  export {};
@@ -1,5 +1,20 @@
1
1
  import React from 'react';
2
2
  import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
3
+ /**
4
+ * Props for the Image 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 {'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'} [color] - Bulma color modifier for the image container.
9
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').
10
+ * @property {string} [size] - Size or aspect ratio modifier (e.g., '128x128', '16by9', etc.).
11
+ * @property {boolean} [isRounded] - Whether the image should have rounded corners.
12
+ * @property {boolean} [isRetina] - Whether to use retina (2x) image source.
13
+ * @property {string} [src] - Image source URL.
14
+ * @property {string} [alt] - Alternate text for the image.
15
+ * @property {React.ReactNode} [children] - Arbitrary children (e.g., iframe or custom content).
16
+ * @property {'figure' | 'div' | 'p'} [as] - The tag to render. Defaults to 'figure', but can be 'p', 'div', etc.
17
+ */
3
18
  export interface ImageProps extends React.HTMLAttributes<HTMLElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
4
19
  className?: string;
5
20
  textColor?: (typeof validColors)[number] | 'inherit' | 'current';
@@ -13,5 +28,17 @@ export interface ImageProps extends React.HTMLAttributes<HTMLElement>, Omit<Bulm
13
28
  children?: React.ReactNode;
14
29
  as?: 'figure' | 'div' | 'p';
15
30
  }
31
+ /**
32
+ * Image component for rendering a styled Bulma image element.
33
+ *
34
+ * Supports fixed-size containers, aspect ratios, rounded images, retina images, and arbitrary children (e.g., iframe).
35
+ *
36
+ * The "as" prop allows rendering as "figure", "p", or "div" tags etc.
37
+ *
38
+ * @function
39
+ * @param {ImageProps} props - Props for the Image component.
40
+ * @returns {JSX.Element} The rendered image element.
41
+ * @see {@link https://bulma.io/documentation/elements/image/ | Bulma Image documentation}
42
+ */
16
43
  export declare const Image: React.FC<ImageProps>;
17
44
  export default Image;
@@ -1,5 +1,18 @@
1
1
  import React from 'react';
2
2
  import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
3
+ /**
4
+ * Props for the Link 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 {string} [href] - The URL the link points to.
10
+ * @property {string} [target] - Where to open the linked document.
11
+ * @property {string} [rel] - Relationship between the current and linked document.
12
+ * @property {boolean} [isActive] - Whether the link appears active.
13
+ * @property {React.ElementType} [as] - Render as a custom component (e.g. a router `Link`) instead of `<a>`. Defaults to `'a'`.
14
+ * @property {React.ReactNode} [children] - Content to be rendered inside the link.
15
+ */
3
16
  export interface LinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
4
17
  className?: string;
5
18
  textColor?: (typeof validColors)[number] | 'inherit' | 'current';
@@ -8,4 +21,15 @@ export interface LinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement>
8
21
  as?: React.ElementType;
9
22
  children?: React.ReactNode;
10
23
  }
24
+ /**
25
+ * Link component for rendering a styled Bulma anchor element.
26
+ *
27
+ * A Link wraps the HTML `<a>` element with Bulma styling support and helper class integration.
28
+ * Supports Bulma helper classes for additional styling like text color, background color, and layout.
29
+ *
30
+ * @function
31
+ * @param {LinkProps} props - Props for the Link component.
32
+ * @returns {JSX.Element} The rendered anchor element.
33
+ * @see {@link https://bulma.io/documentation/elements/content/ | Bulma Content documentation}
34
+ */
11
35
  export declare const Link: React.FC<LinkProps>;
@@ -1,8 +1,34 @@
1
1
  import React from 'react';
2
2
  import { ButtonProps } from './Button';
3
+ /**
4
+ * Props for the LinkButton component.
5
+ *
6
+ * @property {'text' | 'ghost' | 'underline'} [variant] - Display mode. 'text' renders a minimal button without underline; 'ghost' renders a link-like button with default text color; 'underline' renders a text button that underlines on hover/focus. Defaults to 'text'.
7
+ * @property {'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger' | 'white' | 'light' | 'dark' | 'black'} [color] - Text color override.
8
+ */
3
9
  export interface LinkButtonProps extends Omit<ButtonProps, 'color' | 'isOutlined' | 'isInverted' | 'isLight'> {
4
10
  variant?: 'text' | 'ghost' | 'underline';
5
11
  color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger' | 'white' | 'light' | 'dark' | 'black';
6
12
  }
13
+ /**
14
+ * A button that visually looks like text or a link, for a11y-friendly replacements
15
+ * of `<div onClick>` anti-patterns.
16
+ *
17
+ * Wraps the Button component with `is-text` or `is-ghost` styling, plus CSS overrides
18
+ * to remove the underline (text variant) or link color (ghost variant).
19
+ * The 'underline' variant uses `is-text` styling with an underline that appears on hover/focus.
20
+ *
21
+ * @function
22
+ * @param {LinkButtonProps} props - Props for the LinkButton component.
23
+ * @returns {JSX.Element} The rendered link-styled button element.
24
+ *
25
+ * @example
26
+ * // Text variant (default)
27
+ * <LinkButton onClick={handleClick}>Click me</LinkButton>
28
+ *
29
+ * @example
30
+ * // Underline variant with color
31
+ * <LinkButton variant="underline" color="primary">Learn more</LinkButton>
32
+ */
7
33
  export declare const LinkButton: React.FC<LinkButtonProps>;
8
34
  export default LinkButton;
@@ -1,9 +1,29 @@
1
1
  import React from 'react';
2
2
  import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
3
+ /**
4
+ * Props for the ListItem 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 list item.
10
+ */
3
11
  export interface ListItemProps extends React.LiHTMLAttributes<HTMLLIElement>, 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
+ * ListItem component for rendering a styled list item element.
19
+ *
20
+ * A ListItem wraps the HTML `<li>` element with Bulma helper class integration.
21
+ * Use it inside UnorderedList or OrderedList components.
22
+ * Supports Bulma helper classes for additional styling like text color, background color,
23
+ * and spacing utilities.
24
+ *
25
+ * @function
26
+ * @param {ListItemProps} props - Props for the ListItem component.
27
+ * @returns {JSX.Element} The rendered li element.
28
+ */
9
29
  export declare const ListItem: React.FC<ListItemProps>;
@@ -1,5 +1,16 @@
1
1
  import React from 'react';
2
2
  import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
3
+ /**
4
+ * Props for the Notification component.
5
+ *
6
+ * @property {string} [className] - Additional CSS classes to apply.
7
+ * @property {(typeof validColors)[number]} [color] - Bulma color modifier for the notification.
8
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').
9
+ * @property {boolean} [isLight] - Use the light color variant.
10
+ * @property {boolean} [hasDelete] - Show a delete (close) button.
11
+ * @property {() => void} [onDelete] - Callback fired when the delete button is clicked.
12
+ * @property {React.ReactNode} [children] - Content to be rendered inside the notification.
13
+ */
3
14
  export interface NotificationProps extends React.HTMLAttributes<HTMLDivElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
4
15
  className?: string;
5
16
  color?: (typeof validColors)[number];
@@ -9,33 +20,123 @@ export interface NotificationProps extends React.HTMLAttributes<HTMLDivElement>,
9
20
  onDelete?: () => void;
10
21
  children?: React.ReactNode;
11
22
  }
23
+ /**
24
+ * Notification component for rendering a styled Bulma notification.
25
+ *
26
+ * Supports colors, light variants, a delete button, and arbitrary content.
27
+ *
28
+ * @function
29
+ * @param {NotificationProps} props - Props for the Notification component.
30
+ * @returns {JSX.Element} The rendered notification element.
31
+ * @see {@link https://bulma.io/documentation/elements/notification/ | Bulma Notification documentation}
32
+ */
12
33
  export declare const Notification: React.FC<NotificationProps>;
34
+ /** Screen positions where programmatic notifications can be displayed. */
13
35
  export type NotificationPosition = 'top-left' | 'top' | 'top-right' | 'bottom-left' | 'bottom' | 'bottom-right';
36
+ /**
37
+ * Options for showing a programmatic notification.
38
+ *
39
+ * @property {string|React.ReactNode} message - The message to display.
40
+ * @property {(typeof validColors)[number]} [color] - Bulma color modifier.
41
+ * @property {boolean} [isLight] - Use the light color variant.
42
+ * @property {number} [duration] - Duration in ms before auto-close. Default: 3000.
43
+ * @property {NotificationPosition} [position] - Position on the screen. Default: 'top-right'.
44
+ * @property {boolean} [queue] - Display notifications one at a time in FIFO order.
45
+ * @property {boolean} [hasDelete] - Show a delete (close) button. Default: true.
46
+ * @property {boolean} [indefinite] - Stay open until dismissed.
47
+ * @property {boolean} [pauseOnHover] - Pause auto-close timer on hover. Default: true.
48
+ */
14
49
  export interface NotificationOptions {
15
50
  message: string | React.ReactNode;
16
51
  color?: (typeof validColors)[number];
17
52
  isLight?: boolean;
53
+ /** Duration in ms before auto-close. Default 3000. */
18
54
  duration?: number;
55
+ /** Position on the screen. Default 'top-right'. */
19
56
  position?: NotificationPosition;
57
+ /** When true, notifications enter a FIFO queue and display one at a time. Default false. */
20
58
  queue?: boolean;
59
+ /** Show a delete (close) button. Default true. */
21
60
  hasDelete?: boolean;
61
+ /** Stay open until dismissed. */
22
62
  indefinite?: boolean;
63
+ /** Pause auto-close timer on hover. Default true. */
23
64
  pauseOnHover?: boolean;
24
65
  }
66
+ /**
67
+ * Internal representation of a notification instance.
68
+ *
69
+ * @property {string} id - Unique identifier for this notification.
70
+ * @property {NotificationOptions} options - Configuration options for the notification.
71
+ */
25
72
  interface NotificationInstance {
26
73
  id: string;
27
74
  options: NotificationOptions;
28
75
  }
76
+ /**
77
+ * Programmatic notification API for showing, closing, and managing notifications.
78
+ *
79
+ * @example
80
+ * notification.success('File saved successfully');
81
+ * notification.danger('Something went wrong', { duration: 5000 });
82
+ */
29
83
  export declare const notification: {
84
+ /**
85
+ * Show a notification with the given options.
86
+ * @param {NotificationOptions} options - Notification configuration.
87
+ * @returns {string} The unique ID of the created notification.
88
+ */
30
89
  show: (options: NotificationOptions) => string;
90
+ /**
91
+ * Show a success notification.
92
+ * @param {string|React.ReactNode} message - The message to display.
93
+ * @param {Partial<NotificationOptions>} [options] - Additional options.
94
+ * @returns {string} The notification ID.
95
+ */
31
96
  success: (message: string | React.ReactNode, options?: Partial<NotificationOptions>) => string;
97
+ /**
98
+ * Show a danger notification.
99
+ * @param {string|React.ReactNode} message - The message to display.
100
+ * @param {Partial<NotificationOptions>} [options] - Additional options.
101
+ * @returns {string} The notification ID.
102
+ */
32
103
  danger: (message: string | React.ReactNode, options?: Partial<NotificationOptions>) => string;
104
+ /**
105
+ * Show a warning notification.
106
+ * @param {string|React.ReactNode} message - The message to display.
107
+ * @param {Partial<NotificationOptions>} [options] - Additional options.
108
+ * @returns {string} The notification ID.
109
+ */
33
110
  warning: (message: string | React.ReactNode, options?: Partial<NotificationOptions>) => string;
111
+ /**
112
+ * Show an info notification.
113
+ * @param {string|React.ReactNode} message - The message to display.
114
+ * @param {Partial<NotificationOptions>} [options] - Additional options.
115
+ * @returns {string} The notification ID.
116
+ */
34
117
  info: (message: string | React.ReactNode, options?: Partial<NotificationOptions>) => string;
118
+ /**
119
+ * Close a specific notification by ID.
120
+ * @param {string} id - The notification ID to close.
121
+ */
35
122
  close: (id: string) => void;
123
+ /** Close all notifications and clear the queue. */
36
124
  closeAll: () => void;
125
+ /**
126
+ * Subscribe to notification state changes.
127
+ * @param {(items: NotificationInstance[]) => void} listener - Callback invoked on changes.
128
+ * @returns {() => void} Unsubscribe function.
129
+ */
37
130
  subscribe: (listener: (items: NotificationInstance[]) => void) => (() => void);
38
131
  };
132
+ /**
133
+ * Container component for rendering programmatic notifications.
134
+ * Place once at your app root to enable the notification API.
135
+ *
136
+ * @function
137
+ * @param {{ position?: NotificationPosition }} props - Container props.
138
+ * @returns {JSX.Element | null} The rendered notification container, or null if empty.
139
+ */
39
140
  export declare const NotificationContainer: React.FC<{
40
141
  position?: NotificationPosition;
41
142
  }>;
@@ -1,9 +1,22 @@
1
1
  import React from 'react';
2
2
  import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
3
+ /**
4
+ * Props for the OrderedList 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 {'1' | 'a' | 'A' | 'i' | 'I'} [type] - The numbering type for the list.
10
+ * @property {number} [start] - The starting number for the list.
11
+ * @property {boolean} [reversed] - Whether to reverse the list numbering.
12
+ * @property {React.ReactNode} [children] - List items to be rendered inside the list.
13
+ */
3
14
  export interface OrderedListProps extends React.OlHTMLAttributes<HTMLOListElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
4
15
  className?: string;
5
16
  textColor?: (typeof validColors)[number] | 'inherit' | 'current';
6
17
  bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
7
18
  children?: React.ReactNode;
8
19
  }
9
- export declare const OrderedList: React.FC<OrderedListProps>;
20
+ export declare const OrderedList: React.FC<OrderedListProps> & {
21
+ Item: React.FC<import("./ListItem").ListItemProps>;
22
+ };
@@ -1,9 +1,28 @@
1
1
  import React from 'react';
2
2
  import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
3
+ /**
4
+ * Props for the Paragraph 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 paragraph.
10
+ */
3
11
  export interface ParagraphProps extends React.HTMLAttributes<HTMLParagraphElement>, 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
+ * Paragraph component for rendering a styled paragraph element.
19
+ *
20
+ * A Paragraph wraps the HTML `<p>` element with Bulma helper class integration.
21
+ * Supports Bulma helper classes for additional styling like text color, background color,
22
+ * typography, and spacing utilities.
23
+ *
24
+ * @function
25
+ * @param {ParagraphProps} props - Props for the Paragraph component.
26
+ * @returns {JSX.Element} The rendered paragraph element.
27
+ */
9
28
  export declare const Paragraph: React.FC<ParagraphProps>;
@@ -1,9 +1,28 @@
1
1
  import React from 'react';
2
2
  import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
3
+ /**
4
+ * Props for the Pre 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] - Preformatted content to be rendered inside the element.
10
+ */
3
11
  export interface PreProps extends React.HTMLAttributes<HTMLPreElement>, 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
+ * Pre component for rendering preformatted text blocks.
19
+ *
20
+ * A Pre wraps the HTML `<pre>` element with Bulma helper class integration.
21
+ * Use it for multi-line code blocks, ASCII art, or any content where whitespace
22
+ * formatting must be preserved. Often used together with the Code component.
23
+ *
24
+ * @function
25
+ * @param {PreProps} props - Props for the Pre component.
26
+ * @returns {JSX.Element} The rendered pre element.
27
+ */
9
28
  export declare const Pre: React.FC<PreProps>;
@@ -1,5 +1,15 @@
1
1
  import React from 'react';
2
2
  import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
3
+ /**
4
+ * Props for the Progress component.
5
+ *
6
+ * @property {string} [className] - Additional CSS classes to apply.
7
+ * @property {(typeof validColors)[number]} [color] - Bulma color modifier for the progress bar.
8
+ * @property {'small' | 'medium' | 'large'} [size] - Size modifier for the progress bar.
9
+ * @property {number} [value] - Current value of the progress bar.
10
+ * @property {number} [max] - Maximum value of the progress bar.
11
+ * @property {React.ReactNode} [children] - Optional custom content inside the progress element.
12
+ */
3
13
  export interface ProgressProps extends React.ProgressHTMLAttributes<HTMLProgressElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
4
14
  className?: string;
5
15
  color?: (typeof validColors)[number];
@@ -8,4 +18,14 @@ export interface ProgressProps extends React.ProgressHTMLAttributes<HTMLProgress
8
18
  max?: number;
9
19
  children?: React.ReactNode;
10
20
  }
21
+ /**
22
+ * Progress component for rendering a styled Bulma progress bar.
23
+ *
24
+ * Supports Bulma color and size modifiers, value/max attributes, and optional custom content.
25
+ *
26
+ * @function
27
+ * @param {ProgressProps} props - Props for the Progress component.
28
+ * @returns {JSX.Element} The rendered progress bar element.
29
+ * @see {@link https://bulma.io/documentation/elements/progress/ | Bulma Progress documentation}
30
+ */
11
31
  export declare const Progress: React.FC<ProgressProps>;
@@ -1,8 +1,39 @@
1
1
  import React from 'react';
2
+ /**
3
+ * Props for the Skeleton component.
4
+ *
5
+ * @property {string} [className] - Additional CSS classes to apply.
6
+ * @property {'block' | 'lines'} [variant] - Variant of skeleton: 'block' (default) or 'lines'.
7
+ * @property {number} [lines] - Number of lines (only used if variant="lines").
8
+ * @property {React.ReactNode} [children] - Render content inside the skeleton (block variant only).
9
+ * @see {@link https://bulma.io/documentation/features/skeletons/ | Bulma Skeletons documentation}
10
+ */
2
11
  export interface SkeletonProps extends React.HTMLAttributes<HTMLDivElement> {
12
+ /** Additional CSS classes to apply */
3
13
  className?: string;
14
+ /** Variant of skeleton: 'block' (default) or 'lines' */
4
15
  variant?: 'block' | 'lines';
16
+ /** Number of lines (only used if variant="lines") */
5
17
  lines?: number;
18
+ /** Render content inside the skeleton (block variant only) */
6
19
  children?: React.ReactNode;
7
20
  }
21
+ /**
22
+ * Skeleton component for rendering a styled Bulma skeleton element.
23
+ *
24
+ * Renders an animated placeholder that indicates content is loading.
25
+ * Supports block and multi-line variants.
26
+ *
27
+ * @function
28
+ * @param {SkeletonProps} props - Props for the Skeleton component.
29
+ * @returns {JSX.Element} The rendered skeleton element.
30
+ *
31
+ * @example
32
+ * // Block skeleton
33
+ * <Skeleton />
34
+ *
35
+ * @example
36
+ * // Multi-line skeleton
37
+ * <Skeleton variant="lines" lines={5} />
38
+ */
8
39
  export declare const Skeleton: React.FC<SkeletonProps>;