@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,72 @@
1
+ import React from 'react';
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
+ */
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
+ */
26
+ export interface DropdownProps extends Omit<React.HTMLAttributes<HTMLDivElement>, keyof BulmaClassesProps>, BulmaClassesProps {
27
+ label: React.ReactNode;
28
+ children: React.ReactNode;
29
+ className?: string;
30
+ menuClassName?: string;
31
+ active?: boolean;
32
+ up?: boolean;
33
+ right?: boolean;
34
+ hoverable?: boolean;
35
+ disabled?: boolean;
36
+ onActiveChange?: (active: boolean) => void;
37
+ closeOnClick?: boolean;
38
+ id?: string;
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
+ */
48
+ export interface DropdownItemProps extends Omit<React.HTMLAttributes<HTMLElement>, keyof BulmaClassesProps>, BulmaClassesProps {
49
+ active?: boolean;
50
+ className?: string;
51
+ as?: 'a' | 'div' | 'button';
52
+ children?: React.ReactNode;
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
+ */
61
+ export declare const DropdownItem: React.FC<DropdownItemProps>;
62
+ /**
63
+ * Bulma Dropdown divider.
64
+ *
65
+ * @returns {JSX.Element} The divider element.
66
+ */
67
+ export declare const DropdownDivider: React.FC;
68
+ export declare const Dropdown: React.FC<DropdownProps> & {
69
+ Item: React.FC<DropdownItemProps>;
70
+ Divider: React.FC<{}>;
71
+ };
72
+ export default Dropdown;
@@ -0,0 +1,79 @@
1
+ import React from 'react';
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
+ */
9
+ export interface MenuProps extends Omit<React.HTMLAttributes<HTMLElement>, keyof BulmaClassesProps>, BulmaClassesProps {
10
+ className?: string;
11
+ children: React.ReactNode;
12
+ }
13
+ /**
14
+ * Props for the MenuLabel component.
15
+ *
16
+ * @property {string} [className] - Additional CSS classes.
17
+ * @property {React.ReactNode} children - Label content.
18
+ */
19
+ export interface MenuLabelProps extends Omit<React.HTMLAttributes<HTMLParagraphElement>, keyof BulmaClassesProps>, BulmaClassesProps {
20
+ className?: string;
21
+ children: React.ReactNode;
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
+ */
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
+ */
37
+ export interface MenuListProps extends Omit<React.HTMLAttributes<HTMLUListElement>, keyof BulmaClassesProps>, BulmaClassesProps {
38
+ className?: string;
39
+ children: React.ReactNode;
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
+ */
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
+ */
58
+ export interface MenuItemProps extends Omit<React.LiHTMLAttributes<HTMLLIElement>, keyof BulmaClassesProps>, BulmaClassesProps {
59
+ className?: string;
60
+ children: React.ReactNode;
61
+ active?: boolean;
62
+ href?: string;
63
+ as?: React.ElementType;
64
+ [key: string]: unknown;
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
+ */
73
+ export declare const MenuItem: React.FC<MenuItemProps>;
74
+ export declare const Menu: React.FC<MenuProps> & {
75
+ Label: React.FC<MenuLabelProps>;
76
+ List: React.FC<MenuListProps>;
77
+ Item: React.FC<MenuItemProps>;
78
+ };
79
+ export default Menu;
@@ -0,0 +1,34 @@
1
+ import React from 'react';
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
+ */
14
+ export interface MessageProps extends Omit<React.HTMLAttributes<HTMLElement>, 'title'>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
15
+ className?: string;
16
+ title?: React.ReactNode;
17
+ textColor?: (typeof validColors)[number] | 'inherit' | 'current';
18
+ color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
19
+ bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
20
+ onClose?: () => void;
21
+ children?: React.ReactNode;
22
+ }
23
+ /**
24
+ * Bulma-styled Message component.
25
+ *
26
+ * Supports Bulma helper classes, color, and an optional close button.
27
+ *
28
+ * @function
29
+ * @param {MessageProps} props - Props for the Message component.
30
+ * @returns {JSX.Element} The rendered message.
31
+ * @see {@link https://bulma.io/documentation/components/message/ | Bulma Message documentation}
32
+ */
33
+ export declare const Message: React.FC<MessageProps>;
34
+ export default Message;
@@ -0,0 +1,36 @@
1
+ import React from 'react';
2
+ import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
3
+ /**
4
+ * Props for the Modal component.
5
+ *
6
+ * @property {boolean} [active] - Whether the modal is open.
7
+ * @property {() => void} [onClose] - Called when modal is closed.
8
+ * @property {string} [className] - Additional CSS classes for the modal.
9
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color for modal content.
10
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color for modal content.
11
+ * @property {React.ReactNode} [modalCardTitle] - Title for modal card variant.
12
+ * @property {React.ReactNode} [modalCardFoot] - Footer for modal card variant.
13
+ * @property {'card'|'content'} [type] - Modal type ('card' for modal-card, 'content' for modal-content).
14
+ * @property {React.ReactNode} [children] - Modal body/content.
15
+ */
16
+ export interface ModalProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'color' | 'title'>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
17
+ active?: boolean;
18
+ onClose?: () => void;
19
+ className?: string;
20
+ textColor?: (typeof validColors)[number] | 'inherit' | 'current';
21
+ bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
22
+ modalCardTitle?: React.ReactNode;
23
+ modalCardFoot?: React.ReactNode;
24
+ type?: 'card' | 'content';
25
+ children?: React.ReactNode;
26
+ }
27
+ /**
28
+ * Bulma Modal component, supporting both modal-card and modal-content variants.
29
+ *
30
+ * @function
31
+ * @param {ModalProps} props - Props for the Modal component.
32
+ * @returns {JSX.Element} The rendered modal.
33
+ * @see {@link https://bulma.io/documentation/components/modal/ | Bulma Modal documentation}
34
+ */
35
+ export declare const Modal: React.FC<ModalProps>;
36
+ export default Modal;
@@ -0,0 +1,229 @@
1
+ import React from 'react';
2
+ import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
3
+ /**
4
+ * Props for the Navbar component.
5
+ *
6
+ * @property {string} [className] - Additional CSS classes for the navbar.
7
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Color for text.
8
+ * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'|'black'|'dark'|'light'|'white'} [color] - Bulma color modifier for the navbar.
9
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color for the navbar.
10
+ * @property {boolean} [transparent] - Whether the navbar is transparent.
11
+ * @property {'top'|'bottom'} [fixed] - Whether the navbar is fixed to the top or bottom.
12
+ * @property {React.ReactNode} [children] - Navbar content.
13
+ */
14
+ export interface NavbarProps extends React.HTMLAttributes<HTMLElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
15
+ className?: string;
16
+ textColor?: (typeof validColors)[number] | 'inherit' | 'current';
17
+ color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger' | 'black' | 'dark' | 'light' | 'white';
18
+ bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
19
+ transparent?: boolean;
20
+ fixed?: 'top' | 'bottom';
21
+ children?: React.ReactNode;
22
+ }
23
+ /**
24
+ * Bulma Navbar component, supports subcomponents for structured navigation.
25
+ *
26
+ * @function
27
+ * @param {NavbarProps} props - Props for the Navbar component.
28
+ * @returns {JSX.Element} The rendered navbar.
29
+ * @see {@link https://bulma.io/documentation/components/navbar/ | Bulma Navbar documentation}
30
+ */
31
+ export declare const Navbar: React.FC<NavbarProps> & {
32
+ Brand: typeof NavbarBrand;
33
+ Item: typeof NavbarItem;
34
+ Burger: typeof NavbarBurger;
35
+ Menu: typeof NavbarMenu;
36
+ Start: typeof NavbarStart;
37
+ End: typeof NavbarEnd;
38
+ Dropdown: typeof NavbarDropdown;
39
+ DropdownMenu: typeof NavbarDropdownMenu;
40
+ Divider: typeof NavbarDivider;
41
+ };
42
+ /**
43
+ * Props for the NavbarBrand component.
44
+ *
45
+ * @property {string} [className] - Additional CSS classes.
46
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color for the brand.
47
+ * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier for the brand.
48
+ * @property {React.ReactNode} [children] - Brand content.
49
+ */
50
+ export interface NavbarBrandProps extends React.HTMLAttributes<HTMLDivElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
51
+ className?: string;
52
+ textColor?: (typeof validColors)[number] | 'inherit' | 'current';
53
+ color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
54
+ children?: React.ReactNode;
55
+ }
56
+ /**
57
+ * Bulma Navbar brand area (usually left side).
58
+ *
59
+ * @function
60
+ * @param {NavbarBrandProps} props - Props for the NavbarBrand component.
61
+ * @returns {JSX.Element} The rendered brand area.
62
+ */
63
+ export declare const NavbarBrand: React.FC<NavbarBrandProps>;
64
+ /**
65
+ * Props for the NavbarItem component.
66
+ *
67
+ * @property {string} [className] - Additional CSS classes.
68
+ * @property {React.ElementType} [as] - Render as a custom component.
69
+ * @property {boolean} [active] - Whether the item is active.
70
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color for the item.
71
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color for the item.
72
+ * @property {React.ReactNode} [children] - Navbar item content.
73
+ */
74
+ export interface NavbarItemProps extends Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'color'>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
75
+ className?: string;
76
+ as?: React.ElementType;
77
+ active?: boolean;
78
+ textColor?: (typeof validColors)[number] | 'inherit' | 'current';
79
+ bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
80
+ children?: React.ReactNode;
81
+ }
82
+ /**
83
+ * Bulma Navbar item (link, button, etc).
84
+ *
85
+ * @function
86
+ * @param {NavbarItemProps} props - Props for the NavbarItem component.
87
+ * @returns {JSX.Element} The rendered item.
88
+ */
89
+ export declare const NavbarItem: React.FC<NavbarItemProps>;
90
+ /**
91
+ * Props for the NavbarBurger component.
92
+ *
93
+ * @property {string} [className] - Additional CSS classes.
94
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color for the burger.
95
+ * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier for the burger.
96
+ * @property {boolean} [active] - Whether the burger is active.
97
+ * @property {React.ReactNode} [children] - Custom content inside the burger.
98
+ * @property {string} ['aria-label'] - Aria label for accessibility.
99
+ * @property {boolean} ['aria-expanded'] - Aria expanded state.
100
+ * @property {React.MouseEventHandler<HTMLButtonElement>} [onClick] - Click handler.
101
+ */
102
+ export interface NavbarBurgerProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
103
+ className?: string;
104
+ textColor?: (typeof validColors)[number] | 'inherit' | 'current';
105
+ color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
106
+ active?: boolean;
107
+ children?: React.ReactNode;
108
+ 'aria-label'?: string;
109
+ 'aria-expanded'?: boolean;
110
+ onClick?: React.MouseEventHandler<HTMLButtonElement>;
111
+ }
112
+ /**
113
+ * Bulma Navbar burger (responsive menu toggle).
114
+ *
115
+ * @function
116
+ * @param {NavbarBurgerProps} props - Props for the NavbarBurger component.
117
+ * @returns {JSX.Element} The rendered burger.
118
+ */
119
+ export declare const NavbarBurger: React.FC<NavbarBurgerProps>;
120
+ /**
121
+ * Props for the NavbarMenu component.
122
+ *
123
+ * @property {string} [className] - Additional CSS classes.
124
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color for the menu.
125
+ * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier for the menu.
126
+ * @property {boolean} [active] - Whether the menu is active.
127
+ * @property {React.ReactNode} [children] - Menu content.
128
+ */
129
+ export interface NavbarMenuProps extends React.HTMLAttributes<HTMLDivElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
130
+ className?: string;
131
+ textColor?: (typeof validColors)[number] | 'inherit' | 'current';
132
+ color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
133
+ active?: boolean;
134
+ children?: React.ReactNode;
135
+ }
136
+ /**
137
+ * Bulma Navbar menu area (collapsible content).
138
+ *
139
+ * @function
140
+ * @param {NavbarMenuProps} props - Props for the NavbarMenu component.
141
+ * @returns {JSX.Element} The rendered menu.
142
+ */
143
+ export declare const NavbarMenu: React.FC<NavbarMenuProps>;
144
+ /**
145
+ * Props for the NavbarStartEnd component.
146
+ *
147
+ * @property {string} [className] - Additional CSS classes.
148
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.
149
+ * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier.
150
+ * @property {React.ReactNode} [children] - Content.
151
+ */
152
+ export interface NavbarStartEndProps extends React.HTMLAttributes<HTMLDivElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
153
+ className?: string;
154
+ textColor?: (typeof validColors)[number] | 'inherit' | 'current';
155
+ color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
156
+ children?: React.ReactNode;
157
+ }
158
+ /**
159
+ * Bulma Navbar start area (left-aligned).
160
+ *
161
+ * @function
162
+ * @param {NavbarStartEndProps} props - Props for the NavbarStart component.
163
+ * @returns {JSX.Element} The rendered start area.
164
+ */
165
+ export declare const NavbarStart: React.FC<NavbarStartEndProps>;
166
+ /**
167
+ * Bulma Navbar end area (right-aligned).
168
+ *
169
+ * @function
170
+ * @param {NavbarStartEndProps} props - Props for the NavbarEnd component.
171
+ * @returns {JSX.Element} The rendered end area.
172
+ */
173
+ export declare const NavbarEnd: React.FC<NavbarStartEndProps>;
174
+ /**
175
+ * Props for the NavbarDropdown component.
176
+ *
177
+ * @property {string} [className] - Additional CSS classes.
178
+ * @property {boolean} [right] - Dropdown aligned right.
179
+ * @property {boolean} [up] - Dropdown opens upwards.
180
+ * @property {boolean} [hoverable] - Dropdown opens on hover.
181
+ * @property {boolean} [active] - Dropdown is open.
182
+ * @property {React.ReactNode} [children] - Dropdown content.
183
+ */
184
+ export interface NavbarDropdownProps extends React.HTMLAttributes<HTMLDivElement> {
185
+ className?: string;
186
+ right?: boolean;
187
+ up?: boolean;
188
+ hoverable?: boolean;
189
+ active?: boolean;
190
+ children?: React.ReactNode;
191
+ }
192
+ /**
193
+ * Bulma Navbar dropdown (for nested dropdown menus).
194
+ *
195
+ * @function
196
+ * @param {NavbarDropdownProps} props - Props for the NavbarDropdown component.
197
+ * @returns {JSX.Element} The rendered dropdown.
198
+ */
199
+ export declare const NavbarDropdown: React.FC<NavbarDropdownProps>;
200
+ /**
201
+ * Props for the NavbarDropdownMenu component.
202
+ *
203
+ * @property {string} [className] - Additional CSS classes.
204
+ * @property {boolean} [right] - Dropdown aligned right.
205
+ * @property {boolean} [up] - Dropdown opens upwards.
206
+ * @property {React.ReactNode} [children] - Dropdown menu content.
207
+ */
208
+ export interface NavbarDropdownMenuProps extends React.HTMLAttributes<HTMLDivElement> {
209
+ className?: string;
210
+ right?: boolean;
211
+ up?: boolean;
212
+ children?: React.ReactNode;
213
+ }
214
+ /**
215
+ * Bulma Navbar dropdown menu container.
216
+ *
217
+ * @function
218
+ * @param {NavbarDropdownMenuProps} props - Props for the NavbarDropdownMenu component.
219
+ * @returns {JSX.Element} The rendered dropdown menu.
220
+ */
221
+ export declare const NavbarDropdownMenu: React.FC<NavbarDropdownMenuProps>;
222
+ /**
223
+ * Bulma Navbar divider.
224
+ *
225
+ * @param props - Standard hr props.
226
+ * @returns {JSX.Element} The rendered divider.
227
+ */
228
+ export declare const NavbarDivider: React.FC<React.HTMLAttributes<HTMLHRElement>>;
229
+ export default Navbar;
@@ -0,0 +1,117 @@
1
+ import React from 'react';
2
+ import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
3
+ /**
4
+ * Props for the Pagination component.
5
+ *
6
+ * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'|'black'|'dark'|'light'|'white'} [color] - Bulma color for the pagination.
7
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color for the pagination.
8
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color for the pagination.
9
+ * @property {'small'|'medium'|'large'} [size] - Size modifier for the pagination.
10
+ * @property {'centered'|'right'} [align] - Alignment for the pagination.
11
+ * @property {boolean} [rounded] - Renders pagination with rounded corners.
12
+ * @property {number} [total] - Total number of pages.
13
+ * @property {number} [current] - Current page.
14
+ * @property {(page: number) => void} [onPageChange] - Page change callback.
15
+ * @property {string} [className] - Additional CSS classes.
16
+ * @property {React.ReactNode} [children] - Custom pagination content.
17
+ */
18
+ export interface PaginationProps extends React.HTMLAttributes<HTMLElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
19
+ color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger' | 'black' | 'dark' | 'light' | 'white';
20
+ textColor?: (typeof validColors)[number] | 'inherit' | 'current';
21
+ bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
22
+ size?: 'small' | 'medium' | 'large';
23
+ align?: 'centered' | 'right';
24
+ rounded?: boolean;
25
+ total?: number;
26
+ current?: number;
27
+ onPageChange?: (page: number) => void;
28
+ className?: string;
29
+ children?: React.ReactNode;
30
+ }
31
+ /**
32
+ * Props for PaginationPrevious and PaginationNext components.
33
+ *
34
+ * @property {string} [className] - Additional CSS classes.
35
+ * @property {boolean} [disabled] - Whether previous/next is disabled.
36
+ * @property {React.ReactNode} [children] - Button content.
37
+ */
38
+ export interface PaginationPreviousNextProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
39
+ className?: string;
40
+ disabled?: boolean;
41
+ children?: React.ReactNode;
42
+ }
43
+ /**
44
+ * Bulma Pagination previous button.
45
+ */
46
+ export declare const PaginationPrevious: React.FC<PaginationPreviousNextProps>;
47
+ /**
48
+ * Bulma Pagination next button.
49
+ */
50
+ export declare const PaginationNext: React.FC<PaginationPreviousNextProps>;
51
+ /**
52
+ * Bulma Pagination navigation component.
53
+ *
54
+ * @function
55
+ * @param {PaginationProps} props - Props for the Pagination component.
56
+ * @returns {JSX.Element} The rendered pagination.
57
+ * @see {@link https://bulma.io/documentation/components/pagination/ | Bulma Pagination documentation}
58
+ */
59
+ export declare const Pagination: React.FC<PaginationProps> & {
60
+ Link: typeof PaginationLink;
61
+ List: typeof PaginationList;
62
+ Ellipsis: typeof PaginationEllipsis;
63
+ Previous: typeof PaginationPrevious;
64
+ Next: typeof PaginationNext;
65
+ };
66
+ /**
67
+ * Props for the PaginationList component.
68
+ *
69
+ * @property {string} [className] - Additional CSS classes.
70
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color for the list.
71
+ * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier for the list.
72
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color for the list.
73
+ * @property {React.ReactNode} [children] - List items.
74
+ */
75
+ export interface PaginationListProps extends React.HTMLAttributes<HTMLUListElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
76
+ className?: string;
77
+ textColor?: (typeof validColors)[number] | 'inherit' | 'current';
78
+ color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
79
+ bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
80
+ children?: React.ReactNode;
81
+ }
82
+ /**
83
+ * Bulma Pagination list container.
84
+ */
85
+ export declare const PaginationList: React.FC<PaginationListProps>;
86
+ /**
87
+ * Props for the PaginationLink component.
88
+ *
89
+ * @property {string} [className] - Additional CSS classes.
90
+ * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier.
91
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.
92
+ * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.
93
+ * @property {boolean} [active] - Whether the link is for the current page.
94
+ * @property {boolean} [disabled] - Whether the link is disabled.
95
+ * @property {React.ReactNode} [children] - Link content.
96
+ */
97
+ export interface PaginationLinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
98
+ className?: string;
99
+ color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
100
+ textColor?: (typeof validColors)[number] | 'inherit' | 'current';
101
+ bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
102
+ active?: boolean;
103
+ disabled?: boolean;
104
+ children?: React.ReactNode;
105
+ }
106
+ /**
107
+ * Bulma Pagination link (page number).
108
+ */
109
+ export declare const PaginationLink: React.FC<PaginationLinkProps>;
110
+ /**
111
+ * Bulma Pagination ellipsis element.
112
+ *
113
+ * @param props - Standard li props.
114
+ * @returns {JSX.Element} The rendered ellipsis.
115
+ */
116
+ export declare const PaginationEllipsis: React.FC<React.LiHTMLAttributes<HTMLLIElement>>;
117
+ export default Pagination;