@allxsmith/bestax-bulma 1.0.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 (61) hide show
  1. package/dist/index.cjs.js +3799 -0
  2. package/dist/index.cjs.js.map +1 -0
  3. package/dist/index.esm.js +3701 -0
  4. package/dist/index.esm.js.map +1 -0
  5. package/dist/types/columns/Column.d.ts +73 -0
  6. package/dist/types/columns/Columns.d.ts +55 -0
  7. package/dist/types/components/Breadcrumb.d.ts +45 -0
  8. package/dist/types/components/Card.d.ts +44 -0
  9. package/dist/types/components/Dropdown.d.ts +72 -0
  10. package/dist/types/components/Menu.d.ts +79 -0
  11. package/dist/types/components/Message.d.ts +34 -0
  12. package/dist/types/components/Modal.d.ts +36 -0
  13. package/dist/types/components/Navbar.d.ts +229 -0
  14. package/dist/types/components/Pagination.d.ts +117 -0
  15. package/dist/types/components/Panel.d.ts +136 -0
  16. package/dist/types/components/Tab.d.ts +79 -0
  17. package/dist/types/components/Tabs.d.ts +79 -0
  18. package/dist/types/elements/Block.d.ts +30 -0
  19. package/dist/types/elements/Box.d.ts +33 -0
  20. package/dist/types/elements/Button.d.ts +64 -0
  21. package/dist/types/elements/Buttons.d.ts +36 -0
  22. package/dist/types/elements/Content.d.ts +33 -0
  23. package/dist/types/elements/Delete.d.ts +36 -0
  24. package/dist/types/elements/Icon.d.ts +41 -0
  25. package/dist/types/elements/IconText.d.ts +45 -0
  26. package/dist/types/elements/Image.d.ts +44 -0
  27. package/dist/types/elements/Notification.d.ts +31 -0
  28. package/dist/types/elements/Progress.d.ts +31 -0
  29. package/dist/types/elements/SubTitle.d.ts +38 -0
  30. package/dist/types/elements/Table.d.ts +38 -0
  31. package/dist/types/elements/Tag.d.ts +46 -0
  32. package/dist/types/elements/Tags.d.ts +27 -0
  33. package/dist/types/elements/Tbody.d.ts +26 -0
  34. package/dist/types/elements/Td.d.ts +33 -0
  35. package/dist/types/elements/Tfoot.d.ts +26 -0
  36. package/dist/types/elements/Th.d.ts +39 -0
  37. package/dist/types/elements/Thead.d.ts +26 -0
  38. package/dist/types/elements/Title.d.ts +40 -0
  39. package/dist/types/elements/Tr.d.ts +31 -0
  40. package/dist/types/form/Checkbox.d.ts +25 -0
  41. package/dist/types/form/Checkboxes.d.ts +23 -0
  42. package/dist/types/form/Control.d.ts +61 -0
  43. package/dist/types/form/Field.d.ts +96 -0
  44. package/dist/types/form/File.d.ts +45 -0
  45. package/dist/types/form/Input.d.ts +38 -0
  46. package/dist/types/form/Radio.d.ts +25 -0
  47. package/dist/types/form/Radios.d.ts +23 -0
  48. package/dist/types/form/Select.d.ts +38 -0
  49. package/dist/types/form/TextArea.d.ts +44 -0
  50. package/dist/types/grid/Cell.d.ts +43 -0
  51. package/dist/types/grid/Grid.d.ts +65 -0
  52. package/dist/types/helpers/classNames.d.ts +16 -0
  53. package/dist/types/helpers/useBulmaClasses.d.ts +194 -0
  54. package/dist/types/index.d.ts +54 -0
  55. package/dist/types/layout/Container.d.ts +43 -0
  56. package/dist/types/layout/Footer.d.ts +31 -0
  57. package/dist/types/layout/Hero.d.ts +98 -0
  58. package/dist/types/layout/Level.d.ts +104 -0
  59. package/dist/types/layout/Media.d.ts +96 -0
  60. package/dist/types/layout/Section.d.ts +34 -0
  61. package/package.json +95 -0
@@ -0,0 +1,136 @@
1
+ import React from 'react';
2
+ import { BulmaClassesProps } from '../helpers/useBulmaClasses';
3
+ /**
4
+ * Props for the Panel component.
5
+ *
6
+ * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'|'black'|'dark'|'light'|'white'} [color] - Bulma color modifier for the panel.
7
+ * @property {string} [className] - Additional CSS classes.
8
+ * @property {React.ReactNode} [children] - Panel content.
9
+ */
10
+ export interface PanelProps extends React.HTMLAttributes<HTMLElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
11
+ color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger' | 'black' | 'dark' | 'light' | 'white';
12
+ className?: string;
13
+ children?: React.ReactNode;
14
+ }
15
+ /**
16
+ * Props for the PanelHeading component.
17
+ *
18
+ * @property {string} [className] - Additional CSS classes.
19
+ * @property {React.ReactNode} [children] - Heading content.
20
+ */
21
+ export interface PanelHeadingProps extends React.HTMLAttributes<HTMLParagraphElement> {
22
+ className?: string;
23
+ children?: React.ReactNode;
24
+ }
25
+ /**
26
+ * Props for the PanelTabs component.
27
+ *
28
+ * @property {string} [className] - Additional CSS classes.
29
+ * @property {React.ReactNode} [children] - Tabs content.
30
+ */
31
+ export interface PanelTabsProps extends React.HTMLAttributes<HTMLDivElement> {
32
+ className?: string;
33
+ children?: React.ReactNode;
34
+ }
35
+ /**
36
+ * Props for the PanelBlock component.
37
+ *
38
+ * @property {string} [className] - Additional CSS classes.
39
+ * @property {boolean} [active] - Whether the block is active.
40
+ * @property {React.ReactNode} [children] - Block content.
41
+ */
42
+ export interface PanelBlockProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
43
+ className?: string;
44
+ active?: boolean;
45
+ children?: React.ReactNode;
46
+ }
47
+ /**
48
+ * Props for the PanelIcon component.
49
+ *
50
+ * @property {string} [className] - Additional CSS classes.
51
+ * @property {React.ReactNode} [children] - Icon content.
52
+ */
53
+ export interface PanelIconProps extends React.HTMLAttributes<HTMLSpanElement> {
54
+ className?: string;
55
+ children?: React.ReactNode;
56
+ }
57
+ /**
58
+ * Props for the PanelInputBlock component.
59
+ *
60
+ * @property {string} [value] - Input value.
61
+ * @property {(event: React.ChangeEvent<HTMLInputElement>) => void} [onChange] - Input change handler.
62
+ * @property {string} [placeholder] - Input placeholder.
63
+ * @property {string} [iconClassName] - Icon class for left icon (default 'fas fa-search').
64
+ */
65
+ export interface PanelInputBlockProps extends React.HTMLAttributes<HTMLDivElement> {
66
+ value?: string;
67
+ onChange?: React.ChangeEventHandler<HTMLInputElement>;
68
+ placeholder?: string;
69
+ iconClassName?: string;
70
+ }
71
+ /**
72
+ * Props for the PanelCheckboxBlock component.
73
+ *
74
+ * @property {boolean} [checked] - Whether the checkbox is checked.
75
+ * @property {(event: React.ChangeEvent<HTMLInputElement>) => void} [onChange] - Checkbox change handler.
76
+ * @property {React.ReactNode} [children] - Label/content.
77
+ */
78
+ export interface PanelCheckboxBlockProps extends Omit<React.LabelHTMLAttributes<HTMLLabelElement>, 'onChange'> {
79
+ checked?: boolean;
80
+ onChange?: React.ChangeEventHandler<HTMLInputElement>;
81
+ children?: React.ReactNode;
82
+ }
83
+ /**
84
+ * Props for the PanelButtonBlock component.
85
+ *
86
+ * @property {React.ReactNode} [children] - Button content.
87
+ */
88
+ export interface PanelButtonBlockProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
89
+ children?: React.ReactNode;
90
+ }
91
+ /**
92
+ * Bulma Panel component, supports various panel subcomponents.
93
+ *
94
+ * @function
95
+ * @param {PanelProps} props - Props for the Panel component.
96
+ * @returns {JSX.Element} The rendered panel.
97
+ * @see {@link https://bulma.io/documentation/components/panel/ | Bulma Panel documentation}
98
+ */
99
+ export declare const Panel: React.FC<PanelProps> & {
100
+ Heading: typeof PanelHeading;
101
+ Tabs: typeof PanelTabs;
102
+ Block: typeof PanelBlock;
103
+ Icon: typeof PanelIcon;
104
+ InputBlock: typeof PanelInputBlock;
105
+ CheckboxBlock: typeof PanelCheckboxBlock;
106
+ ButtonBlock: typeof PanelButtonBlock;
107
+ };
108
+ /**
109
+ * Bulma Panel heading.
110
+ */
111
+ export declare const PanelHeading: React.FC<PanelHeadingProps>;
112
+ /**
113
+ * Bulma Panel tabs.
114
+ */
115
+ export declare const PanelTabs: React.FC<PanelTabsProps>;
116
+ /**
117
+ * Bulma Panel block.
118
+ */
119
+ export declare const PanelBlock: React.FC<PanelBlockProps>;
120
+ /**
121
+ * Bulma Panel icon.
122
+ */
123
+ export declare const PanelIcon: React.FC<PanelIconProps>;
124
+ /**
125
+ * Bulma Panel input block.
126
+ */
127
+ export declare const PanelInputBlock: React.FC<PanelInputBlockProps>;
128
+ /**
129
+ * Bulma Panel checkbox block.
130
+ */
131
+ export declare const PanelCheckboxBlock: React.FC<PanelCheckboxBlockProps>;
132
+ /**
133
+ * Bulma Panel button block.
134
+ */
135
+ export declare const PanelButtonBlock: React.FC<PanelButtonBlockProps>;
136
+ export default Panel;
@@ -0,0 +1,79 @@
1
+ import React from 'react';
2
+ import { BulmaClassesProps } from '../helpers/useBulmaClasses';
3
+ /**
4
+ * Props for the Tabs component.
5
+ *
6
+ * @property {'centered'|'right'|'left'} [align] - Tab alignment.
7
+ * @property {'small'|'medium'|'large'} [size] - Tab size.
8
+ * @property {boolean} [fullwidth] - Tabs are fullwidth.
9
+ * @property {boolean} [boxed] - Tabs are boxed style.
10
+ * @property {boolean} [toggle] - Tabs are toggle style.
11
+ * @property {boolean} [rounded] - Tabs are rounded (if toggle).
12
+ * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'|'black'|'dark'|'light'|'white'} [color] - Bulma color for the tabs.
13
+ * @property {string} [className] - Additional CSS classes.
14
+ * @property {React.ReactNode} [children] - Tab content.
15
+ */
16
+ export interface TabsProps extends React.HTMLAttributes<HTMLDivElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
17
+ align?: 'centered' | 'right' | 'left';
18
+ size?: 'small' | 'medium' | 'large';
19
+ fullwidth?: boolean;
20
+ boxed?: boolean;
21
+ toggle?: boolean;
22
+ rounded?: boolean;
23
+ color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger' | 'black' | 'dark' | 'light' | 'white';
24
+ className?: string;
25
+ children?: React.ReactNode;
26
+ }
27
+ /**
28
+ * Props for the TabList component.
29
+ *
30
+ * @property {string} [className] - Additional CSS classes.
31
+ * @property {React.ReactNode} [children] - Tab list items.
32
+ */
33
+ export interface TabListProps extends React.HTMLAttributes<HTMLUListElement> {
34
+ className?: string;
35
+ children?: React.ReactNode;
36
+ }
37
+ /**
38
+ * Props for the TabItem component.
39
+ *
40
+ * @property {boolean} [active] - Whether the tab is active.
41
+ * @property {string} [className] - Additional CSS classes.
42
+ * @property {React.ReactNode} [children] - Tab content.
43
+ * @property {React.MouseEventHandler<HTMLLIElement>} [onClick] - Click handler.
44
+ */
45
+ export interface TabItemProps extends React.LiHTMLAttributes<HTMLLIElement> {
46
+ active?: boolean;
47
+ className?: string;
48
+ children?: React.ReactNode;
49
+ onClick?: React.MouseEventHandler<HTMLLIElement>;
50
+ }
51
+ /**
52
+ * Bulma Tabs component with subcomponents for tab lists and items.
53
+ *
54
+ * @function
55
+ * @param {TabsProps} props - Props for the Tabs component.
56
+ * @returns {JSX.Element} The rendered tabs.
57
+ * @see {@link https://bulma.io/documentation/components/tabs/ | Bulma Tabs documentation}
58
+ */
59
+ export declare const Tabs: React.FC<TabsProps> & {
60
+ List: typeof TabList;
61
+ Item: typeof TabItem;
62
+ };
63
+ /**
64
+ * Bulma Tab list container.
65
+ *
66
+ * @function
67
+ * @param {TabListProps} props - Props for the TabList component.
68
+ * @returns {JSX.Element} The rendered tab list.
69
+ */
70
+ export declare const TabList: React.FC<TabListProps>;
71
+ /**
72
+ * Bulma Tab item.
73
+ *
74
+ * @function
75
+ * @param {TabItemProps} props - Props for the TabItem component.
76
+ * @returns {JSX.Element} The rendered tab item.
77
+ */
78
+ export declare const TabItem: React.FC<TabItemProps>;
79
+ export default Tabs;
@@ -0,0 +1,79 @@
1
+ import React from 'react';
2
+ import { BulmaClassesProps } from '../helpers/useBulmaClasses';
3
+ /**
4
+ * Props for the Tabs component.
5
+ *
6
+ * @property {'centered'|'right'|'left'} [align] - Tab alignment.
7
+ * @property {'small'|'medium'|'large'} [size] - Tab size.
8
+ * @property {boolean} [fullwidth] - Tabs are fullwidth.
9
+ * @property {boolean} [boxed] - Tabs are boxed style.
10
+ * @property {boolean} [toggle] - Tabs are toggle style.
11
+ * @property {boolean} [rounded] - Tabs are rounded (if toggle).
12
+ * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'|'black'|'dark'|'light'|'white'} [color] - Bulma color for the tabs.
13
+ * @property {string} [className] - Additional CSS classes.
14
+ * @property {React.ReactNode} [children] - Tab content.
15
+ */
16
+ export interface TabsProps extends React.HTMLAttributes<HTMLDivElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
17
+ align?: 'centered' | 'right' | 'left';
18
+ size?: 'small' | 'medium' | 'large';
19
+ fullwidth?: boolean;
20
+ boxed?: boolean;
21
+ toggle?: boolean;
22
+ rounded?: boolean;
23
+ color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger' | 'black' | 'dark' | 'light' | 'white';
24
+ className?: string;
25
+ children?: React.ReactNode;
26
+ }
27
+ /**
28
+ * Props for the TabList component.
29
+ *
30
+ * @property {string} [className] - Additional CSS classes.
31
+ * @property {React.ReactNode} [children] - Tab list items.
32
+ */
33
+ export interface TabListProps extends React.HTMLAttributes<HTMLUListElement> {
34
+ className?: string;
35
+ children?: React.ReactNode;
36
+ }
37
+ /**
38
+ * Props for the TabItem component.
39
+ *
40
+ * @property {boolean} [active] - Whether the tab is active.
41
+ * @property {string} [className] - Additional CSS classes.
42
+ * @property {React.ReactNode} [children] - Tab content.
43
+ * @property {React.MouseEventHandler<HTMLLIElement>} [onClick] - Click handler.
44
+ */
45
+ export interface TabItemProps extends React.LiHTMLAttributes<HTMLLIElement> {
46
+ active?: boolean;
47
+ className?: string;
48
+ children?: React.ReactNode;
49
+ onClick?: React.MouseEventHandler<HTMLLIElement>;
50
+ }
51
+ /**
52
+ * Bulma Tabs component with subcomponents for tab lists and items.
53
+ *
54
+ * @function
55
+ * @param {TabsProps} props - Props for the Tabs component.
56
+ * @returns {JSX.Element} The rendered tabs.
57
+ * @see {@link https://bulma.io/documentation/components/tabs/ | Bulma Tabs documentation}
58
+ */
59
+ export declare const Tabs: React.FC<TabsProps> & {
60
+ List: typeof TabList;
61
+ Item: typeof TabItem;
62
+ };
63
+ /**
64
+ * Bulma Tab list container.
65
+ *
66
+ * @function
67
+ * @param {TabListProps} props - Props for the TabList component.
68
+ * @returns {JSX.Element} The rendered tab list.
69
+ */
70
+ export declare const TabList: React.FC<TabListProps>;
71
+ /**
72
+ * Bulma Tab item.
73
+ *
74
+ * @function
75
+ * @param {TabItemProps} props - Props for the TabItem component.
76
+ * @returns {JSX.Element} The rendered tab item.
77
+ */
78
+ export declare const TabItem: React.FC<TabItemProps>;
79
+ export default Tabs;
@@ -0,0 +1,30 @@
1
+ import React from 'react';
2
+ import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
3
+ /**
4
+ * Props for the Block 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 block.
9
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').
10
+ * @property {React.ReactNode} [children] - Content to be rendered inside the block.
11
+ */
12
+ export interface BlockProps extends React.HTMLAttributes<HTMLDivElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
13
+ className?: string;
14
+ textColor?: (typeof validColors)[number] | 'inherit' | 'current';
15
+ color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
16
+ bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
17
+ children?: React.ReactNode;
18
+ }
19
+ /**
20
+ * Block component for rendering a styled Bulma block element.
21
+ *
22
+ * A block is a simple utility element that adds spacing (margin-bottom) between elements.
23
+ * Supports Bulma helper classes for additional styling like text color, background color, and layout.
24
+ *
25
+ * @function
26
+ * @param {BlockProps} props - Props for the Block component.
27
+ * @returns {JSX.Element} The rendered block element.
28
+ * @see {@link https://bulma.io/documentation/elements/block/ | Bulma Block documentation}
29
+ */
30
+ export declare const Block: React.FC<BlockProps>;
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
3
+ /**
4
+ * Props for the Box 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 box.
9
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').
10
+ * @property {boolean} [hasShadow=true] - Whether the box has a shadow (default: true).
11
+ * @property {React.ReactNode} [children] - Content to be rendered inside the box.
12
+ */
13
+ export interface BoxProps
14
+ /** @ignore */
15
+ extends React.HTMLAttributes<HTMLDivElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
16
+ className?: string;
17
+ textColor?: (typeof validColors)[number] | 'inherit' | 'current';
18
+ color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
19
+ bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
20
+ hasShadow?: boolean;
21
+ children?: React.ReactNode;
22
+ }
23
+ /**
24
+ * Box component for rendering a styled Bulma box element.
25
+ *
26
+ * Supports Bulma helper classes for styling and layout, with optional shadow control.
27
+ *
28
+ * @function
29
+ * @param {BoxProps} props - Props for the Box component.
30
+ * @returns {JSX.Element} The rendered box element.
31
+ * @see {@link https://bulma.io/documentation/elements/box/ | Bulma Box documentation}
32
+ */
33
+ export declare const Box: React.FC<BoxProps>;
@@ -0,0 +1,64 @@
1
+ import React from 'react';
2
+ import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
3
+ /**
4
+ * Props for the Button component.
5
+ *
6
+ * @property {'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'} [color] - Bulma color modifier for the button.
7
+ * @property {'small' | 'normal' | 'medium' | 'large'} [size] - Button size.
8
+ * @property {boolean} [isLight] - Use the light version of the color.
9
+ * @property {boolean} [isRounded] - Button is fully rounded.
10
+ * @property {boolean} [isLoading] - Button shows a loading spinner.
11
+ * @property {boolean} [isStatic] - Button is static and non-interactive.
12
+ * @property {boolean} [isFullWidth] - Button takes the full width of parent.
13
+ * @property {boolean} [isOutlined] - Use outlined button style.
14
+ * @property {boolean} [isInverted] - Use inverted color style.
15
+ * @property {boolean} [isFocused] - Button is styled as focused.
16
+ * @property {boolean} [isActive] - Button is styled as active.
17
+ * @property {boolean} [isHovered] - Button is styled as hovered.
18
+ * @property {boolean} [isDisabled] - Button is disabled.
19
+ * @property {string} [className] - Additional CSS classes to apply.
20
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').
21
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').
22
+ * @property {'a' | 'button'} [as] - Render as an anchor or button element.
23
+ * @property {string} [href] - Specifies the URL for anchor buttons.
24
+ * @property {React.MouseEventHandler<HTMLButtonElement> | React.MouseEventHandler<HTMLAnchorElement>} [onClick] - Click handler for the button or anchor.
25
+ * @property {string} [target] - Target for anchor element.
26
+ * @property {string} [rel] - Rel attribute for anchor element.
27
+ * @property {React.ReactNode} [children] - Content to be rendered inside the button.
28
+ */
29
+ export interface ButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'color' | 'onClick'>, Omit<BulmaClassesProps, 'color' | 'backgroundColor' | 'size'> {
30
+ color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
31
+ size?: 'small' | 'normal' | 'medium' | 'large';
32
+ isLight?: boolean;
33
+ isRounded?: boolean;
34
+ isLoading?: boolean;
35
+ isStatic?: boolean;
36
+ isFullWidth?: boolean;
37
+ isOutlined?: boolean;
38
+ isInverted?: boolean;
39
+ isFocused?: boolean;
40
+ isActive?: boolean;
41
+ isHovered?: boolean;
42
+ isDisabled?: boolean;
43
+ className?: string;
44
+ textColor?: (typeof validColors)[number] | 'inherit' | 'current';
45
+ bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
46
+ as?: 'a' | 'button';
47
+ href?: string;
48
+ onClick?: React.MouseEventHandler<HTMLButtonElement> | React.MouseEventHandler<HTMLAnchorElement>;
49
+ target?: string;
50
+ rel?: string;
51
+ children?: React.ReactNode;
52
+ }
53
+ /**
54
+ * Button component for rendering a Bulma-styled button or anchor.
55
+ *
56
+ * Supports Bulma helper classes for colors, sizes, and various button states and modifiers.
57
+ *
58
+ * @function
59
+ * @param {ButtonProps} props - Props for the Button component.
60
+ * @returns {JSX.Element} The rendered button or anchor element.
61
+ * @see {@link https://bulma.io/documentation/elements/button/ | Bulma Button documentation}
62
+ */
63
+ export declare const Button: React.FC<ButtonProps>;
64
+ export default Button;
@@ -0,0 +1,36 @@
1
+ import React from 'react';
2
+ import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
3
+ /**
4
+ * Props for the Buttons 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 buttons group.
9
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').
10
+ * @property {boolean} [isCentered] - Center the group of buttons.
11
+ * @property {boolean} [isRight] - Align the group of buttons to the right.
12
+ * @property {boolean} [hasAddons] - Group buttons together as addons.
13
+ * @property {React.ReactNode} children - The button elements to render inside the group.
14
+ */
15
+ interface ButtonsProps extends React.HTMLAttributes<HTMLDivElement>, BulmaClassesProps {
16
+ className?: string;
17
+ textColor?: (typeof validColors)[number] | 'inherit' | 'current';
18
+ color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
19
+ bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
20
+ isCentered?: boolean;
21
+ isRight?: boolean;
22
+ hasAddons?: boolean;
23
+ children: React.ReactNode;
24
+ }
25
+ /**
26
+ * Buttons component for rendering a group of Bulma-styled buttons.
27
+ *
28
+ * Supports Bulma helper classes for styling, color, and layout, including centering, right alignment, and grouping as addons.
29
+ *
30
+ * @function
31
+ * @param {ButtonsProps} props - Props for the Buttons component.
32
+ * @returns {JSX.Element} The rendered group of buttons.
33
+ * @see {@link https://bulma.io/documentation/elements/button/#group | Bulma Button Group documentation}
34
+ */
35
+ export declare const Buttons: React.FC<ButtonsProps>;
36
+ export {};
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
3
+ /**
4
+ * Props for the Content 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 content.
9
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').
10
+ * @property {'small' | 'normal' | 'medium' | 'large'} [size] - Size modifier for the content.
11
+ * @property {React.ReactNode} [children] - Content to be rendered inside the block.
12
+ */
13
+ interface ContentProps extends React.HTMLAttributes<HTMLDivElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
14
+ className?: string;
15
+ textColor?: (typeof validColors)[number] | 'inherit' | 'current';
16
+ color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
17
+ bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
18
+ size?: 'small' | 'normal' | 'medium' | 'large';
19
+ children?: React.ReactNode;
20
+ }
21
+ /**
22
+ * Content component for rendering a styled Bulma content block.
23
+ *
24
+ * Applies typographic styles to HTML content (e.g., paragraphs, headings, lists) with Bulma's content class.
25
+ * Supports size modifiers and Bulma helper classes for additional styling.
26
+ *
27
+ * @function
28
+ * @param {ContentProps} props - Props for the Content component.
29
+ * @returns {JSX.Element} The rendered content block.
30
+ * @see {@link https://bulma.io/documentation/elements/content/ | Bulma Content documentation}
31
+ */
32
+ export declare const Content: React.FC<ContentProps>;
33
+ export default Content;
@@ -0,0 +1,36 @@
1
+ import React from 'react';
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
+ */
15
+ interface DeleteProps extends React.HTMLAttributes<HTMLButtonElement>, BulmaClassesProps {
16
+ className?: string;
17
+ textColor?: (typeof validColors)[number] | 'inherit' | 'current';
18
+ color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
19
+ bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
20
+ onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;
21
+ size?: 'small' | 'medium' | 'large';
22
+ ariaLabel?: string;
23
+ disabled?: boolean;
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
+ */
35
+ export declare const Delete: React.FC<DeleteProps>;
36
+ export {};
@@ -0,0 +1,41 @@
1
+ import React from 'react';
2
+ import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
3
+ type IconLibrary = 'fa' | 'mdi' | 'ion';
4
+ /**
5
+ * Props for the Icon component.
6
+ *
7
+ * @property {string} [className] - Additional CSS classes to apply.
8
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').
9
+ * @property {'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger'} [color] - Bulma color modifier for the icon.
10
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').
11
+ * @property {string} name - The icon name (without library prefix).
12
+ * @property {IconLibrary} [library='fa'] - The icon library to use ('fa' = Font Awesome, 'mdi' = Material Design Icons, 'ion' = Ionicons).
13
+ * @property {string | string[]} [libraryFeatures] - Additional library-specific classes, e.g. 'fa-lg', 'fa-spin', or ['fa-lg', 'fa-fw'].
14
+ * @property {'small' | 'medium' | 'large'} [size] - Size modifier for the icon.
15
+ * @property {string} [ariaLabel='icon'] - ARIA label for accessibility (default: 'icon').
16
+ * @property {object} [style] - Inline style object.
17
+ */
18
+ export interface IconProps extends React.HTMLAttributes<HTMLSpanElement>, BulmaClassesProps {
19
+ className?: string;
20
+ textColor?: (typeof validColors)[number] | 'inherit' | 'current';
21
+ color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
22
+ bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
23
+ name: string;
24
+ library?: IconLibrary;
25
+ libraryFeatures?: string | string[];
26
+ size?: 'small' | 'medium' | 'large';
27
+ ariaLabel?: string;
28
+ style?: React.CSSProperties;
29
+ }
30
+ /**
31
+ * Icon component for rendering a Bulma-styled icon container.
32
+ *
33
+ * Supports Bulma helper classes for styling, color, and size, and renders an <i></i> element for the icon itself.
34
+ *
35
+ * @function
36
+ * @param {IconProps} props - Props for the Icon component.
37
+ * @returns {JSX.Element} The rendered icon element.
38
+ * @see {@link https://bulma.io/documentation/elements/icon/ | Bulma Icon documentation}
39
+ */
40
+ export declare const Icon: React.FC<IconProps>;
41
+ export {};
@@ -0,0 +1,45 @@
1
+ import React from 'react';
2
+ import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
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
+ */
10
+ interface IconTextItem {
11
+ iconProps: IconProps;
12
+ text?: string;
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
+ */
25
+ interface IconTextProps extends React.HTMLAttributes<HTMLSpanElement>, BulmaClassesProps {
26
+ className?: string;
27
+ textColor?: (typeof validColors)[number] | 'inherit' | 'current';
28
+ color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
29
+ bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
30
+ iconProps?: IconProps;
31
+ children?: React.ReactNode;
32
+ items?: IconTextItem[];
33
+ }
34
+ /**
35
+ * IconText component for rendering one or more icons with optional text, styled with Bulma.
36
+ *
37
+ * Supports Bulma helper classes for styling, color, and layout. Can render a single icon with text or multiple icon/text pairs.
38
+ *
39
+ * @function
40
+ * @param {IconTextProps} props - Props for the IconText component.
41
+ * @returns {JSX.Element} The rendered icon text element.
42
+ * @see {@link https://bulma.io/documentation/elements/icon/#icon-text | Bulma IconText documentation}
43
+ */
44
+ export declare const IconText: React.FC<IconTextProps>;
45
+ export {};