@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,34 +1,101 @@
1
1
  import React from 'react';
2
2
  import { BulmaClassesProps } from '../helpers/useBulmaClasses';
3
+ /** Valid dialog type/color values. */
3
4
  export type DialogType = 'default' | 'success' | 'danger' | 'warning' | 'info';
5
+ /**
6
+ * Props for the Dialog component.
7
+ * @extraProp {string} [className] - Additional CSS classes.
8
+ * @extraProp {React.Ref<HTMLElement>} [ref] - Ref forwarded to the dialog element.
9
+ */
4
10
  export interface DialogProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'color'>, Omit<BulmaClassesProps, 'color'> {
11
+ /** Whether the dialog is open (required). */
5
12
  isOpen: boolean;
13
+ /** Dialog title. */
6
14
  title?: string;
15
+ /** Dialog message/content (required). */
7
16
  message: string | React.ReactNode;
17
+ /** The type/color of the dialog. Default: 'default'. */
8
18
  type?: DialogType;
19
+ /** Text for confirm button. Default: 'OK'. */
9
20
  confirmText?: string;
21
+ /** Text for cancel button. Default: 'Cancel'. */
10
22
  cancelText?: string;
23
+ /** Callback when confirm button is clicked. */
11
24
  onConfirm?: () => void;
25
+ /** Callback when cancel button is clicked or dismissed. */
12
26
  onCancel?: () => void;
27
+ /** Whether to show cancel button. Default: true for confirm dialogs. */
13
28
  showCancel?: boolean;
29
+ /** Whether the dialog can be dismissed. Default: true. */
14
30
  canCancel?: boolean;
31
+ /** Focus cancel button instead of confirm. Default: false. */
15
32
  focusCancel?: boolean;
33
+ /** Custom icon to display. */
16
34
  icon?: React.ReactNode;
17
35
  }
36
+ /**
37
+ * The `Dialog` component provides confirmation and alert dialogs with customizable actions.
38
+ *
39
+ * @function
40
+ * @param {DialogProps} props - Props for the Dialog component.
41
+ * @param {React.Ref<HTMLDivElement>} ref - Forwarded ref to the dialog element.
42
+ * @returns {JSX.Element | null} The rendered dialog component.
43
+ *
44
+ * @example
45
+ * // Alert dialog
46
+ * <Dialog
47
+ * isOpen={showAlert}
48
+ * title="Success"
49
+ * message="Operation completed successfully!"
50
+ * type="success"
51
+ * onConfirm={() => setShowAlert(false)}
52
+ * showCancel={false}
53
+ * />
54
+ *
55
+ * @example
56
+ * // Confirm dialog
57
+ * <Dialog
58
+ * isOpen={showConfirm}
59
+ * title="Delete Item?"
60
+ * message="This action cannot be undone."
61
+ * type="danger"
62
+ * confirmText="Delete"
63
+ * onConfirm={handleDelete}
64
+ * onCancel={() => setShowConfirm(false)}
65
+ * />
66
+ */
18
67
  export declare const Dialog: React.ForwardRefExoticComponent<DialogProps & React.RefAttributes<HTMLDivElement>>;
68
+ /**
69
+ * Options for showing a programmatic alert dialog.
70
+ */
19
71
  export interface AlertOptions {
72
+ /** Dialog title. */
20
73
  title?: string;
74
+ /** Dialog message/content. */
21
75
  message: string | React.ReactNode;
76
+ /** Dialog type/color. */
22
77
  type?: DialogType;
78
+ /** Text for the confirm button. */
23
79
  confirmText?: string;
80
+ /** Custom icon to display. */
24
81
  icon?: React.ReactNode;
25
82
  }
83
+ /**
84
+ * Options for showing a programmatic confirm dialog.
85
+ */
26
86
  export interface ConfirmOptions extends AlertOptions {
87
+ /** Text for the cancel button. */
27
88
  cancelText?: string;
89
+ /** Focus cancel button instead of confirm. */
28
90
  focusCancel?: boolean;
29
91
  }
92
+ /**
93
+ * Options for showing a programmatic prompt dialog.
94
+ */
30
95
  export interface PromptOptions extends ConfirmOptions {
96
+ /** Input placeholder text. */
31
97
  placeholder?: string;
98
+ /** Default input value. */
32
99
  defaultValue?: string;
33
100
  }
34
101
  type DialogResolve = (value?: void | boolean | string) => void;
@@ -37,11 +104,33 @@ type DialogState = {
37
104
  options: PromptOptions;
38
105
  resolve: DialogResolve;
39
106
  };
107
+ /**
108
+ * Programmatic dialog API for showing dialogs from anywhere.
109
+ */
40
110
  export declare const dialog: {
111
+ /**
112
+ * Show an alert dialog. Returns a promise that resolves when closed.
113
+ */
41
114
  alert: (options: AlertOptions | string) => Promise<void>;
115
+ /**
116
+ * Show a confirm dialog. Returns a promise that resolves to true/false.
117
+ */
42
118
  confirm: (options: ConfirmOptions | string) => Promise<boolean>;
119
+ /**
120
+ * Close the current dialog.
121
+ */
43
122
  close: (value?: string | boolean | void | undefined) => void;
123
+ /**
124
+ * Subscribe to dialog changes.
125
+ */
44
126
  subscribe: (listener: (dialog: DialogState | null) => void) => (() => void);
45
127
  };
128
+ /**
129
+ * DialogContainer component to render programmatic dialogs.
130
+ * Place this once at the root of your app.
131
+ *
132
+ * @function
133
+ * @returns {JSX.Element | null} The rendered dialog, or null if none is active.
134
+ */
46
135
  export declare const DialogContainer: React.FC;
47
136
  export default Dialog;
@@ -1,28 +1,70 @@
1
1
  import React from 'react';
2
2
  import { BulmaClassesProps } from '../helpers/useBulmaClasses';
3
+ /**
4
+ * Checks if code is running in a browser environment.
5
+ * @param win - Window object.
6
+ * @param doc - Document object.
7
+ * @returns {boolean} True if in browser, false otherwise.
8
+ */
3
9
  export declare const isBrowser: (win?: typeof window, doc?: typeof document) => boolean;
10
+ /**
11
+ * Props for the Dropdown component.
12
+ */
4
13
  export interface DropdownProps extends Omit<React.HTMLAttributes<HTMLDivElement>, keyof BulmaClassesProps>, BulmaClassesProps {
14
+ /** The dropdown button/trigger content. */
5
15
  label: React.ReactNode;
16
+ /** Dropdown menu items and dividers. */
6
17
  children: React.ReactNode;
18
+ /** Additional CSS classes for root. */
7
19
  className?: string;
20
+ /** Additional CSS classes for the dropdown menu. */
8
21
  menuClassName?: string;
22
+ /** Whether the dropdown is open (controlled). */
9
23
  active?: boolean;
24
+ /** Dropdown menu opens upward. */
10
25
  up?: boolean;
26
+ /** Menu is right-aligned. */
11
27
  right?: boolean;
28
+ /** Open on hover instead of click. */
12
29
  hoverable?: boolean;
30
+ /** Disables the dropdown trigger. */
13
31
  disabled?: boolean;
32
+ /** Callback when dropdown active state changes. */
14
33
  onActiveChange?: (active: boolean) => void;
34
+ /** Close dropdown when a menu item is clicked. */
15
35
  closeOnClick?: boolean;
36
+ /** Root element ID (for aria-controls, etc). */
16
37
  id?: string;
17
38
  }
39
+ /**
40
+ * Props for the DropdownItem component.
41
+ */
18
42
  export interface DropdownItemProps extends Omit<React.HTMLAttributes<HTMLElement>, keyof BulmaClassesProps>, BulmaClassesProps {
43
+ /** Whether the item is active. */
19
44
  active?: boolean;
45
+ /** Additional CSS classes. */
20
46
  className?: string;
47
+ /** The element type to render. */
21
48
  as?: 'a' | 'div' | 'button';
49
+ /** Item content. */
22
50
  children?: React.ReactNode;
23
51
  }
52
+ /**
53
+ * Bulma Dropdown item.
54
+ *
55
+ * @function
56
+ * @param {DropdownItemProps} props - Props for the DropdownItem component.
57
+ * @returns {JSX.Element} The rendered dropdown item.
58
+ */
24
59
  export declare const DropdownItem: React.FC<DropdownItemProps>;
60
+ /**
61
+ * Bulma Dropdown divider.
62
+ *
63
+ * @function
64
+ * @returns {JSX.Element} The rendered divider element.
65
+ */
25
66
  export declare const DropdownDivider: React.FC;
67
+ /** Bulma Dropdown component with Item and Divider sub-components. */
26
68
  export declare const Dropdown: React.FC<DropdownProps> & {
27
69
  Item: React.FC<DropdownItemProps>;
28
70
  Divider: React.FC<{}>;
@@ -1,18 +1,68 @@
1
1
  import React from 'react';
2
2
  import { BulmaClassesProps } from '../helpers/useBulmaClasses';
3
+ /**
4
+ * Overlay opacity levels for the Loading background.
5
+ */
3
6
  export type LoadingOverlay = 'light' | 'dark' | 'opaque';
7
+ /**
8
+ * Color variants for the Loading spinner.
9
+ */
4
10
  export type LoadingColor = 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
11
+ /**
12
+ * Props for the Loading component.
13
+ * @extraProp {React.ReactNode} [children] - Content to display below the spinner.
14
+ * @extraProp {string} [className] - Additional CSS classes.
15
+ */
5
16
  export interface LoadingProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'color'>, Omit<BulmaClassesProps, 'color' | 'backgroundColor' | 'size' | 'overlay'> {
17
+ /** Whether the loading overlay is visible. */
6
18
  active?: boolean;
19
+ /** Cover the entire viewport. */
7
20
  isFullPage?: boolean;
21
+ /** Size of the loading spinner. */
8
22
  size?: 'small' | 'medium' | 'large';
23
+ /** Color variant for the spinner. Default is light grey. */
9
24
  color?: LoadingColor;
25
+ /** Show a cancel button and allow closing. */
10
26
  canCancel?: boolean;
27
+ /** Callback when cancel is triggered. */
11
28
  onCancel?: () => void;
29
+ /** Additional classes for the overlay. */
12
30
  overlayClassName?: string;
31
+ /** Additional classes for the spinner icon. */
13
32
  iconClassName?: string;
33
+ /** Custom loading indicator element. */
14
34
  indicator?: React.ReactNode;
35
+ /** Style of the loading overlay. */
15
36
  overlay?: LoadingOverlay;
16
37
  }
38
+ /**
39
+ * The `Loading` component provides a loading overlay with a spinner animation.
40
+ *
41
+ * @function
42
+ * @param {LoadingProps} props - Props for the Loading component.
43
+ * @returns {JSX.Element | null} The rendered loading overlay or null if not active.
44
+ *
45
+ * @example
46
+ * // Full page loading
47
+ * <Loading active isFullPage />
48
+ *
49
+ * @example
50
+ * // Container loading with message
51
+ * <div style={{ position: 'relative', height: '200px' }}>
52
+ * <Loading active>Loading data...</Loading>
53
+ * </div>
54
+ *
55
+ * @example
56
+ * // With color variant
57
+ * <Loading active color="primary" />
58
+ *
59
+ * @example
60
+ * // With cancel functionality
61
+ * <Loading
62
+ * active={isLoading}
63
+ * canCancel
64
+ * onCancel={() => setIsLoading(false)}
65
+ * />
66
+ */
17
67
  export declare const Loading: React.FC<LoadingProps>;
18
68
  export default Loading;
@@ -1,27 +1,71 @@
1
1
  import React from 'react';
2
2
  import { BulmaClassesProps } from '../helpers/useBulmaClasses';
3
+ /**
4
+ * Props for the Menu component.
5
+ */
3
6
  export interface MenuProps extends Omit<React.HTMLAttributes<HTMLElement>, keyof BulmaClassesProps>, BulmaClassesProps {
7
+ /** Additional CSS classes. */
4
8
  className?: string;
9
+ /** Menu content (labels, lists, items, etc). */
5
10
  children: React.ReactNode;
6
11
  }
12
+ /**
13
+ * Props for the MenuLabel component.
14
+ */
7
15
  export interface MenuLabelProps extends Omit<React.HTMLAttributes<HTMLParagraphElement>, keyof BulmaClassesProps>, BulmaClassesProps {
16
+ /** Additional CSS classes. */
8
17
  className?: string;
18
+ /** Label content. */
9
19
  children: React.ReactNode;
10
20
  }
21
+ /**
22
+ * Bulma Menu label component.
23
+ *
24
+ * @function
25
+ * @param {MenuLabelProps} props - Props for the MenuLabel component.
26
+ * @returns {JSX.Element} The rendered menu label.
27
+ */
11
28
  export declare const MenuLabel: React.FC<MenuLabelProps>;
29
+ /**
30
+ * Props for the MenuList component.
31
+ */
12
32
  export interface MenuListProps extends Omit<React.HTMLAttributes<HTMLUListElement>, keyof BulmaClassesProps>, BulmaClassesProps {
33
+ /** Additional CSS classes. */
13
34
  className?: string;
35
+ /** List items. */
14
36
  children: React.ReactNode;
15
37
  }
38
+ /**
39
+ * MenuList applies `menu-list` class only at the top level (not for nested lists).
40
+ *
41
+ * @function
42
+ * @param {MenuListProps} props - Props for the MenuList component.
43
+ * @returns {JSX.Element} The rendered menu list.
44
+ */
16
45
  export declare const MenuList: React.FC<MenuListProps>;
46
+ /**
47
+ * Props for the MenuItem component.
48
+ */
17
49
  export interface MenuItemProps extends Omit<React.LiHTMLAttributes<HTMLLIElement>, keyof BulmaClassesProps>, BulmaClassesProps {
50
+ /** Additional CSS classes. */
18
51
  className?: string;
52
+ /** Item content and optional nested MenuList. */
19
53
  children: React.ReactNode;
54
+ /** Highlight item as active. */
20
55
  active?: boolean;
56
+ /** Href for link items (if rendered as `<a>`). */
21
57
  href?: string;
58
+ /** Custom link component (e.g. `Link` from router). */
22
59
  as?: React.ElementType;
23
60
  [key: string]: unknown;
24
61
  }
62
+ /**
63
+ * MenuItem supports `as` prop for custom link components, e.g., react-router-dom Link.
64
+ *
65
+ * @function
66
+ * @param {MenuItemProps} props - Props for the MenuItem component.
67
+ * @returns {JSX.Element} The rendered menu item.
68
+ */
25
69
  export declare const MenuItem: React.FC<MenuItemProps>;
26
70
  export declare const Menu: React.FC<MenuProps> & {
27
71
  Label: React.FC<MenuLabelProps>;
@@ -1,20 +1,40 @@
1
1
  import React from 'react';
2
2
  import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
3
+ /**
4
+ * Props for the Message component.
5
+ */
3
6
  export interface MessageProps extends Omit<React.HTMLAttributes<HTMLElement>, 'title'>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
7
+ /** Additional CSS classes. */
4
8
  className?: string;
9
+ /** Title string/node (renders header section). */
5
10
  title?: React.ReactNode;
11
+ /** Text color for the message (Bulma helper). */
6
12
  textColor?: (typeof validColors)[number] | 'inherit' | 'current';
13
+ /** Bulma color modifier for the message. */
7
14
  color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
15
+ /** Background color for the message (Bulma helper). */
8
16
  bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
17
+ /** Callback for the close ("X") button. */
9
18
  onClose?: () => void;
19
+ /** Body content for the message. */
10
20
  children?: React.ReactNode;
11
21
  }
22
+ /**
23
+ * Props for the Message.Header compound component.
24
+ */
12
25
  export interface MessageHeaderProps extends React.HTMLAttributes<HTMLDivElement> {
26
+ /** Additional CSS classes. */
13
27
  className?: string;
28
+ /** Header content (title, close button, etc.). */
14
29
  children?: React.ReactNode;
15
30
  }
31
+ /**
32
+ * Props for the Message.Body compound component.
33
+ */
16
34
  export interface MessageBodyProps extends React.HTMLAttributes<HTMLDivElement> {
35
+ /** Additional CSS classes. */
17
36
  className?: string;
37
+ /** Message body content. */
18
38
  children?: React.ReactNode;
19
39
  }
20
40
  export declare const Message: React.FC<MessageProps> & {
@@ -1,41 +1,91 @@
1
1
  import React from 'react';
2
2
  import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
3
+ /**
4
+ * Props for the Modal component.
5
+ */
3
6
  export interface ModalProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'color' | 'title'>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
7
+ /** Whether the modal is open/visible. */
4
8
  active?: boolean;
9
+ /** Alias for `active`. Whether the modal is open/visible. */
5
10
  isActive?: boolean;
11
+ /** Callback invoked to request modal close (background or close button). */
6
12
  onClose?: () => void;
13
+ /** Additional CSS classes for the modal. */
7
14
  className?: string;
15
+ /** Text color for modal content. */
8
16
  textColor?: (typeof validColors)[number] | 'inherit' | 'current';
17
+ /** Background color for modal content. */
9
18
  bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
19
+ /** Title/header for modal-card variant. (Legacy API only) */
10
20
  modalCardTitle?: React.ReactNode;
21
+ /** Footer for modal-card variant. (Legacy API only) */
11
22
  modalCardFoot?: React.ReactNode;
23
+ /**
24
+ * Modal style: `'card'` for modal-card, `'content'` for modal-content. (Legacy API only)
25
+ * @defaultValue auto
26
+ */
12
27
  type?: 'card' | 'content';
28
+ /** Modal body/content or compound components. */
13
29
  children?: React.ReactNode;
14
30
  }
31
+ /**
32
+ * Props for Modal.Background component.
33
+ */
15
34
  export interface ModalBackgroundProps extends React.HTMLAttributes<HTMLDivElement> {
35
+ /** Additional CSS classes. */
16
36
  className?: string;
17
37
  }
38
+ /**
39
+ * Props for Modal.Content component.
40
+ */
18
41
  export interface ModalContentProps extends React.HTMLAttributes<HTMLDivElement> {
42
+ /** Additional CSS classes. */
19
43
  className?: string;
20
44
  }
45
+ /**
46
+ * Props for Modal.Card component.
47
+ */
21
48
  export interface ModalCardProps extends React.HTMLAttributes<HTMLDivElement> {
49
+ /** Additional CSS classes. */
22
50
  className?: string;
23
51
  }
52
+ /**
53
+ * Props for Modal.Card.Head component.
54
+ */
24
55
  export interface ModalCardHeadProps extends React.HTMLAttributes<HTMLElement> {
56
+ /** Additional CSS classes. */
25
57
  className?: string;
26
58
  }
59
+ /**
60
+ * Props for Modal.Card.Title component.
61
+ */
27
62
  export interface ModalCardTitleProps extends React.HTMLAttributes<HTMLParagraphElement> {
63
+ /** Additional CSS classes. */
28
64
  className?: string;
29
65
  }
66
+ /**
67
+ * Props for Modal.Card.Body component.
68
+ */
30
69
  export interface ModalCardBodyProps extends React.HTMLAttributes<HTMLElement> {
70
+ /** Additional CSS classes. */
31
71
  className?: string;
32
72
  }
73
+ /**
74
+ * Props for Modal.Card.Foot component.
75
+ */
33
76
  export interface ModalCardFootProps extends React.HTMLAttributes<HTMLElement> {
77
+ /** Additional CSS classes. */
34
78
  className?: string;
35
79
  }
80
+ /**
81
+ * Props for Modal.Close component.
82
+ */
36
83
  export interface ModalCloseProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
84
+ /** Additional CSS classes. */
37
85
  className?: string;
86
+ /** Size of the close button (only applies to 'floating' variant). */
38
87
  size?: 'small' | 'medium' | 'large';
88
+ /** Button variant. 'delete' (default) for modal card headers, 'floating' for overlay close button. */
39
89
  variant?: 'delete' | 'floating';
40
90
  }
41
91
  export declare const Modal: React.FC<ModalProps> & {