@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.
- package/AGENTS.md +28 -0
- package/CLAUDE.md +28 -0
- package/README.md +15 -15
- package/dist/index.cjs.js +3885 -243
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +3884 -242
- package/dist/index.esm.js.map +1 -1
- package/dist/types/columns/Column.d.ts +43 -0
- package/dist/types/columns/Columns.d.ts +41 -1
- package/dist/types/components/Avatar.d.ts +37 -0
- package/dist/types/components/Avatars.d.ts +15 -2
- package/dist/types/components/Badge.d.ts +42 -0
- package/dist/types/components/Breadcrumb.d.ts +28 -0
- package/dist/types/components/Card.d.ts +70 -18
- package/dist/types/components/Carousel.d.ts +70 -0
- package/dist/types/components/Collapse.d.ts +53 -0
- package/dist/types/components/Dialog.d.ts +94 -0
- package/dist/types/components/Dropdown.d.ts +44 -0
- package/dist/types/components/Loading.d.ts +55 -0
- package/dist/types/components/Menu.d.ts +48 -0
- package/dist/types/components/Message.d.ts +27 -9
- package/dist/types/components/Modal.d.ts +65 -17
- package/dist/types/components/Navbar.d.ts +171 -12
- package/dist/types/components/Pagination.d.ts +84 -7
- package/dist/types/components/Panel.d.ts +109 -9
- package/dist/types/components/Reveal.d.ts +43 -0
- package/dist/types/components/Sidebar.d.ts +40 -0
- package/dist/types/components/Steps.d.ts +66 -1
- package/dist/types/components/Tabs.d.ts +100 -11
- package/dist/types/components/Toast.d.ts +109 -0
- package/dist/types/components/Tooltip.d.ts +50 -0
- package/dist/types/elements/Block.d.ts +20 -0
- package/dist/types/elements/Box.d.ts +23 -1
- package/dist/types/elements/Button.d.ts +26 -0
- package/dist/types/elements/Buttons.d.ts +16 -1
- package/dist/types/elements/Code.d.ts +19 -0
- package/dist/types/elements/Content.d.ts +21 -0
- package/dist/types/elements/Delete.d.ts +22 -0
- package/dist/types/elements/Divider.d.ts +16 -0
- package/dist/types/elements/Emphasis.d.ts +19 -0
- package/dist/types/elements/Figure.d.ts +25 -0
- package/dist/types/elements/Icon.d.ts +28 -0
- package/dist/types/elements/IconText.d.ts +20 -1
- package/dist/types/elements/Image.d.ts +27 -0
- package/dist/types/elements/Link.d.ts +24 -0
- package/dist/types/elements/LinkButton.d.ts +26 -0
- package/dist/types/elements/ListItem.d.ts +20 -0
- package/dist/types/elements/Notification.d.ts +101 -0
- package/dist/types/elements/OrderedList.d.ts +14 -1
- package/dist/types/elements/Paragraph.d.ts +19 -0
- package/dist/types/elements/Pre.d.ts +19 -0
- package/dist/types/elements/Progress.d.ts +20 -0
- package/dist/types/elements/Skeleton.d.ts +31 -0
- package/dist/types/elements/Span.d.ts +18 -0
- package/dist/types/elements/Strong.d.ts +19 -0
- package/dist/types/elements/SubTitle.d.ts +27 -0
- package/dist/types/elements/Table.d.ts +23 -1
- package/dist/types/elements/Tag.d.ts +28 -0
- package/dist/types/elements/Tags.d.ts +11 -1
- package/dist/types/elements/Tbody.d.ts +19 -0
- package/dist/types/elements/Td.d.ts +24 -0
- package/dist/types/elements/Tfoot.d.ts +19 -0
- package/dist/types/elements/Th.d.ts +25 -0
- package/dist/types/elements/Thead.d.ts +19 -0
- package/dist/types/elements/Title.d.ts +28 -0
- package/dist/types/elements/Tr.d.ts +21 -0
- package/dist/types/elements/UnorderedList.d.ts +11 -1
- package/dist/types/form/Autocomplete.d.ts +67 -0
- package/dist/types/form/Checkbox.d.ts +44 -0
- package/dist/types/form/Checkboxes.d.ts +13 -1
- package/dist/types/form/Control.d.ts +36 -0
- package/dist/types/form/DateInput.d.ts +44 -0
- package/dist/types/form/DateInputBase.d.ts +47 -0
- package/dist/types/form/DateTimeInput.d.ts +42 -0
- package/dist/types/form/DateTimeInputBase.d.ts +56 -0
- package/dist/types/form/Field.d.ts +66 -2
- package/dist/types/form/File.d.ts +26 -0
- package/dist/types/form/FormContext.d.ts +46 -0
- package/dist/types/form/Input.d.ts +49 -0
- package/dist/types/form/InputBase.d.ts +22 -0
- package/dist/types/form/Numberinput.d.ts +46 -0
- package/dist/types/form/Radio.d.ts +44 -0
- package/dist/types/form/Radios.d.ts +13 -1
- package/dist/types/form/Rate.d.ts +71 -0
- package/dist/types/form/Select.d.ts +39 -0
- package/dist/types/form/SelectBase.d.ts +25 -0
- package/dist/types/form/Slider.d.ts +71 -0
- package/dist/types/form/Switch.d.ts +53 -0
- package/dist/types/form/Taginput.d.ts +77 -0
- package/dist/types/form/TextArea.d.ts +38 -0
- package/dist/types/form/TextAreaBase.d.ts +25 -0
- package/dist/types/form/TimeInput.d.ts +39 -0
- package/dist/types/form/TimeInputBase.d.ts +72 -0
- package/dist/types/form/_pickerInternals/Calendar.d.ts +6 -0
- package/dist/types/form/_pickerInternals/TimeWheels.d.ts +13 -0
- package/dist/types/form/_pickerInternals/audioTick.d.ts +47 -0
- package/dist/types/form/_pickerInternals/dateUtils.d.ts +13 -0
- package/dist/types/form/_pickerInternals/formatters.d.ts +19 -0
- package/dist/types/form/_pickerInternals/haptics.d.ts +23 -0
- package/dist/types/form/_pickerInternals/pickerTypes.d.ts +8 -0
- package/dist/types/form/_pickerInternals/segmentMap.d.ts +48 -0
- package/dist/types/form/_pickerInternals/useNativeMobilePicker.d.ts +1 -0
- package/dist/types/form/_pickerInternals/useSegmentedEntry.d.ts +30 -0
- package/dist/types/form/fieldProps.d.ts +12 -0
- package/dist/types/grid/Cell.d.ts +26 -0
- package/dist/types/grid/Grid.d.ts +36 -1
- package/dist/types/helpers/Config.d.ts +50 -0
- package/dist/types/helpers/Theme.d.ts +66 -0
- package/dist/types/helpers/bulmaClassHelpers.d.ts +97 -0
- package/dist/types/helpers/classNames.d.ts +50 -0
- package/dist/types/helpers/useBulmaClasses.d.ts +22 -0
- package/dist/types/helpers/useColorClasses.d.ts +20 -0
- package/dist/types/helpers/useFlexboxClasses.d.ts +34 -0
- package/dist/types/helpers/useOtherClasses.d.ts +27 -0
- package/dist/types/helpers/useSpacingClasses.d.ts +27 -0
- package/dist/types/helpers/useTypographyClasses.d.ts +32 -0
- package/dist/types/helpers/useVisibilityClasses.d.ts +25 -0
- package/dist/types/helpers/withSubComponents.d.ts +16 -0
- package/dist/types/layout/Container.d.ts +26 -0
- package/dist/types/layout/Footer.d.ts +23 -0
- package/dist/types/layout/Hero.d.ts +66 -5
- package/dist/types/layout/Level.d.ts +68 -5
- package/dist/types/layout/Media.d.ts +63 -5
- package/dist/types/layout/Section.d.ts +21 -0
- package/dist/types/skill-examples/ExampleMeta.d.ts +5 -0
- package/dist/types/skill-examples/ProfileCard.d.ts +13 -0
- package/llms.txt +9 -0
- 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
|
-
|
|
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
|
|
22
|
-
|
|
23
|
-
|
|
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
|
-
|
|
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:
|
|
56
|
-
Content:
|
|
57
|
-
Card:
|
|
58
|
-
|
|
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;
|