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