@allxsmith/bestax-bulma 5.8.0 → 5.8.2

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 (102) hide show
  1. package/README.md +20 -0
  2. package/dist/index.cjs.js +304 -387
  3. package/dist/index.cjs.js.map +1 -1
  4. package/dist/index.esm.js +304 -387
  5. package/dist/index.esm.js.map +1 -1
  6. package/dist/types/columns/Column.d.ts +25 -30
  7. package/dist/types/columns/Columns.d.ts +23 -30
  8. package/dist/types/components/Avatar.d.ts +15 -20
  9. package/dist/types/components/Avatars.d.ts +8 -9
  10. package/dist/types/components/Badge.d.ts +13 -21
  11. package/dist/types/components/Breadcrumb.d.ts +6 -9
  12. package/dist/types/components/Card.d.ts +34 -36
  13. package/dist/types/components/Carousel.d.ts +29 -29
  14. package/dist/types/components/Collapse.d.ts +17 -18
  15. package/dist/types/components/Dialog.d.ts +24 -29
  16. package/dist/types/components/Dropdown.d.ts +16 -18
  17. package/dist/types/components/Loading.d.ts +13 -18
  18. package/dist/types/components/Menu.d.ts +11 -15
  19. package/dist/types/components/Message.d.ts +11 -14
  20. package/dist/types/components/Modal.d.ts +23 -29
  21. package/dist/types/components/Navbar.d.ts +60 -72
  22. package/dist/types/components/Pagination.d.ts +39 -35
  23. package/dist/types/components/Panel.d.ts +26 -33
  24. package/dist/types/components/Reveal.d.ts +11 -17
  25. package/dist/types/components/Sidebar.d.ts +17 -20
  26. package/dist/types/components/Steps.d.ts +28 -37
  27. package/dist/types/components/Tabs.d.ts +44 -43
  28. package/dist/types/components/Toast.d.ts +23 -28
  29. package/dist/types/components/Tooltip.d.ts +16 -20
  30. package/dist/types/elements/Block.d.ts +11 -10
  31. package/dist/types/elements/Box.d.ts +12 -10
  32. package/dist/types/elements/Button.d.ts +30 -23
  33. package/dist/types/elements/Buttons.d.ts +13 -9
  34. package/dist/types/elements/Code.d.ts +5 -10
  35. package/dist/types/elements/Content.d.ts +12 -11
  36. package/dist/types/elements/Delete.d.ts +14 -12
  37. package/dist/types/elements/Divider.d.ts +3 -7
  38. package/dist/types/elements/Emphasis.d.ts +5 -10
  39. package/dist/types/elements/Figure.d.ts +8 -10
  40. package/dist/types/elements/Icon.d.ts +18 -18
  41. package/dist/types/elements/IconText.d.ts +14 -11
  42. package/dist/types/elements/Image.d.ts +17 -17
  43. package/dist/types/elements/Link.d.ts +10 -14
  44. package/dist/types/elements/LinkButton.d.ts +3 -9
  45. package/dist/types/elements/ListItem.d.ts +6 -11
  46. package/dist/types/elements/Notification.d.ts +33 -24
  47. package/dist/types/elements/OrderedList.d.ts +7 -8
  48. package/dist/types/elements/Paragraph.d.ts +5 -10
  49. package/dist/types/elements/Pre.d.ts +5 -10
  50. package/dist/types/elements/Progress.d.ts +16 -10
  51. package/dist/types/elements/Skeleton.d.ts +4 -13
  52. package/dist/types/elements/Span.d.ts +5 -9
  53. package/dist/types/elements/Strong.d.ts +5 -10
  54. package/dist/types/elements/SubTitle.d.ts +9 -11
  55. package/dist/types/elements/Table.d.ts +8 -9
  56. package/dist/types/elements/Tag.d.ts +9 -12
  57. package/dist/types/elements/Tags.d.ts +4 -5
  58. package/dist/types/elements/Tbody.d.ts +2 -3
  59. package/dist/types/elements/Td.d.ts +3 -4
  60. package/dist/types/elements/Tfoot.d.ts +2 -3
  61. package/dist/types/elements/Th.d.ts +5 -6
  62. package/dist/types/elements/Thead.d.ts +2 -3
  63. package/dist/types/elements/Title.d.ts +10 -12
  64. package/dist/types/elements/Tr.d.ts +4 -5
  65. package/dist/types/elements/UnorderedList.d.ts +4 -5
  66. package/dist/types/form/Autocomplete.d.ts +35 -38
  67. package/dist/types/form/Checkbox.d.ts +7 -18
  68. package/dist/types/form/Checkboxes.d.ts +6 -7
  69. package/dist/types/form/Control.d.ts +21 -20
  70. package/dist/types/form/DateInput.d.ts +24 -24
  71. package/dist/types/form/DateInputBase.d.ts +36 -34
  72. package/dist/types/form/DateTimeInput.d.ts +22 -22
  73. package/dist/types/form/DateTimeInputBase.d.ts +44 -42
  74. package/dist/types/form/Field.d.ts +23 -26
  75. package/dist/types/form/File.d.ts +20 -16
  76. package/dist/types/form/Input.d.ts +20 -24
  77. package/dist/types/form/InputBase.d.ts +10 -11
  78. package/dist/types/form/Numberinput.d.ts +27 -24
  79. package/dist/types/form/Radio.d.ts +7 -18
  80. package/dist/types/form/Radios.d.ts +6 -7
  81. package/dist/types/form/Rate.d.ts +21 -37
  82. package/dist/types/form/Select.d.ts +16 -20
  83. package/dist/types/form/SelectBase.d.ts +13 -14
  84. package/dist/types/form/Slider.d.ts +62 -41
  85. package/dist/types/form/Switch.d.ts +16 -19
  86. package/dist/types/form/Taginput.d.ts +45 -48
  87. package/dist/types/form/TextArea.d.ts +11 -15
  88. package/dist/types/form/TextAreaBase.d.ts +13 -14
  89. package/dist/types/form/TimeInput.d.ts +24 -23
  90. package/dist/types/form/TimeInputBase.d.ts +38 -59
  91. package/dist/types/form/fieldProps.d.ts +1 -1
  92. package/dist/types/form/useAutoLabelId.d.ts +28 -0
  93. package/dist/types/grid/Cell.d.ts +12 -13
  94. package/dist/types/grid/Grid.d.ts +16 -17
  95. package/dist/types/helpers/colorDeprecations.d.ts +17 -0
  96. package/dist/types/layout/Container.d.ts +16 -13
  97. package/dist/types/layout/Footer.d.ts +7 -8
  98. package/dist/types/layout/Hero.d.ts +34 -28
  99. package/dist/types/layout/Level.d.ts +30 -33
  100. package/dist/types/layout/Media.d.ts +25 -29
  101. package/dist/types/layout/Section.d.ts +7 -8
  102. package/package.json +18 -18
@@ -2,40 +2,38 @@ import React from 'react';
2
2
  import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
3
3
  /**
4
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
5
  */
14
6
  export interface NavbarProps extends React.HTMLAttributes<HTMLElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
7
+ /** Additional CSS classes for the navbar. */
15
8
  className?: string;
9
+ /** Text color for the navbar. */
16
10
  textColor?: (typeof validColors)[number] | 'inherit' | 'current';
11
+ /** Bulma color modifier for the navbar. */
17
12
  color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger' | 'black' | 'dark' | 'light' | 'white';
13
+ /** Background color for the navbar. */
18
14
  bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
15
+ /** Renders the navbar with a transparent background. */
19
16
  transparent?: boolean;
17
+ /** Fixes the navbar to the top or bottom of the viewport. */
20
18
  fixed?: 'top' | 'bottom';
19
+ /** Navbar content (compose with subcomponents). */
21
20
  children?: React.ReactNode;
22
21
  }
23
22
  /**
24
23
  * Props for the NavbarBrand component.
25
- *
26
- * @property {string} [className] - Additional CSS classes.
27
- * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color for the brand.
28
- * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier for the brand.
29
- * @property {React.ReactNode} [children] - Brand content.
30
24
  */
31
25
  export interface NavbarBrandProps extends React.HTMLAttributes<HTMLDivElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
26
+ /** Additional CSS classes. */
32
27
  className?: string;
28
+ /** Text color for the brand. */
33
29
  textColor?: (typeof validColors)[number] | 'inherit' | 'current';
30
+ /** Bulma color modifier for the brand. */
34
31
  color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
32
+ /** Brand content. */
35
33
  children?: React.ReactNode;
36
34
  }
37
35
  /**
38
- * Bulma Navbar brand area (usually left side).
36
+ * For logo and branding (left side)
39
37
  *
40
38
  * @function
41
39
  * @param {NavbarBrandProps} props - Props for the NavbarBrand component.
@@ -44,25 +42,24 @@ export interface NavbarBrandProps extends React.HTMLAttributes<HTMLDivElement>,
44
42
  export declare const NavbarBrand: React.FC<NavbarBrandProps>;
45
43
  /**
46
44
  * Props for the NavbarItem component.
47
- *
48
- * @property {string} [className] - Additional CSS classes.
49
- * @property {React.ElementType} [as] - Render as a custom component (e.g., a router link).
50
- * @property {boolean} [active] - Whether the item is active.
51
- * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color for the item.
52
- * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color for the item.
53
- * @property {React.ReactNode} [children] - Navbar item content.
54
45
  */
55
46
  export interface NavbarItemProps extends Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'color'>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
47
+ /** Additional CSS classes. */
56
48
  className?: string;
49
+ /** Render as a custom component (e.g., a router link). */
57
50
  as?: React.ElementType;
51
+ /** Whether the item is active. */
58
52
  active?: boolean;
53
+ /** Text color for the item. */
59
54
  textColor?: (typeof validColors)[number] | 'inherit' | 'current';
55
+ /** Background color for the item. */
60
56
  bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
57
+ /** Navbar item content. */
61
58
  children?: React.ReactNode;
62
59
  [key: string]: unknown;
63
60
  }
64
61
  /**
65
- * Bulma Navbar item (link, button, etc).
62
+ * Navigation links, buttons, or custom content
66
63
  *
67
64
  * @function
68
65
  * @param {NavbarItemProps} props - Props for the NavbarItem component.
@@ -71,28 +68,27 @@ export interface NavbarItemProps extends Omit<React.AnchorHTMLAttributes<HTMLAnc
71
68
  export declare const NavbarItem: React.FC<NavbarItemProps>;
72
69
  /**
73
70
  * Props for the NavbarBurger component.
74
- *
75
- * @property {string} [className] - Additional CSS classes.
76
- * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color for the burger.
77
- * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier for the burger.
78
- * @property {boolean} [active] - Whether the burger is active.
79
- * @property {React.ReactNode} [children] - Custom content inside the burger.
80
- * @property {string} ['aria-label'] - Aria label for accessibility.
81
- * @property {boolean} ['aria-expanded'] - Aria expanded state.
82
- * @property {React.MouseEventHandler<HTMLButtonElement>} [onClick] - Click handler.
83
71
  */
84
72
  export interface NavbarBurgerProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
73
+ /** Additional CSS classes. */
85
74
  className?: string;
75
+ /** Text color for the burger. */
86
76
  textColor?: (typeof validColors)[number] | 'inherit' | 'current';
77
+ /** Bulma color modifier for the burger. */
87
78
  color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
79
+ /** Whether the burger is active. */
88
80
  active?: boolean;
81
+ /** Custom content inside the burger. */
89
82
  children?: React.ReactNode;
83
+ /** Aria label for accessibility. */
90
84
  'aria-label'?: string;
85
+ /** Aria expanded state. */
91
86
  'aria-expanded'?: boolean;
87
+ /** Click handler. */
92
88
  onClick?: React.MouseEventHandler<HTMLButtonElement>;
93
89
  }
94
90
  /**
95
- * Bulma Navbar burger (responsive menu toggle).
91
+ * Responsive menu toggle (mobile)
96
92
  *
97
93
  * @function
98
94
  * @param {NavbarBurgerProps} props - Props for the NavbarBurger component.
@@ -101,22 +97,21 @@ export interface NavbarBurgerProps extends React.ButtonHTMLAttributes<HTMLButton
101
97
  export declare const NavbarBurger: React.FC<NavbarBurgerProps>;
102
98
  /**
103
99
  * Props for the NavbarMenu component.
104
- *
105
- * @property {string} [className] - Additional CSS classes.
106
- * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color for the menu.
107
- * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier for the menu.
108
- * @property {boolean} [active] - Whether the menu is active.
109
- * @property {React.ReactNode} [children] - Menu content.
110
100
  */
111
101
  export interface NavbarMenuProps extends React.HTMLAttributes<HTMLDivElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
102
+ /** Additional CSS classes. */
112
103
  className?: string;
104
+ /** Text color for the menu. */
113
105
  textColor?: (typeof validColors)[number] | 'inherit' | 'current';
106
+ /** Bulma color modifier for the menu. */
114
107
  color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
108
+ /** Whether the menu is active. */
115
109
  active?: boolean;
110
+ /** Menu content. */
116
111
  children?: React.ReactNode;
117
112
  }
118
113
  /**
119
- * Bulma Navbar menu area (collapsible content).
114
+ * Collapsible content (contains `Navbar.Start` and `Navbar.End`)
120
115
  *
121
116
  * @function
122
117
  * @param {NavbarMenuProps} props - Props for the NavbarMenu component.
@@ -125,20 +120,19 @@ export interface NavbarMenuProps extends React.HTMLAttributes<HTMLDivElement>, O
125
120
  export declare const NavbarMenu: React.FC<NavbarMenuProps>;
126
121
  /**
127
122
  * Props for the NavbarStartEnd component.
128
- *
129
- * @property {string} [className] - Additional CSS classes.
130
- * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.
131
- * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier.
132
- * @property {React.ReactNode} [children] - Content.
133
123
  */
134
124
  export interface NavbarStartEndProps extends React.HTMLAttributes<HTMLDivElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
125
+ /** Additional CSS classes. */
135
126
  className?: string;
127
+ /** Text color. */
136
128
  textColor?: (typeof validColors)[number] | 'inherit' | 'current';
129
+ /** Bulma color modifier. */
137
130
  color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
131
+ /** Content. */
138
132
  children?: React.ReactNode;
139
133
  }
140
134
  /**
141
- * Bulma Navbar start area (left-aligned).
135
+ * Left-aligned menu area
142
136
  *
143
137
  * @function
144
138
  * @param {NavbarStartEndProps} props - Props for the NavbarStart component.
@@ -146,7 +140,7 @@ export interface NavbarStartEndProps extends React.HTMLAttributes<HTMLDivElement
146
140
  */
147
141
  export declare const NavbarStart: React.FC<NavbarStartEndProps>;
148
142
  /**
149
- * Bulma Navbar end area (right-aligned).
143
+ * Right-aligned menu area
150
144
  *
151
145
  * @function
152
146
  * @param {NavbarStartEndProps} props - Props for the NavbarEnd component.
@@ -155,27 +149,23 @@ export declare const NavbarStart: React.FC<NavbarStartEndProps>;
155
149
  export declare const NavbarEnd: React.FC<NavbarStartEndProps>;
156
150
  /**
157
151
  * Props for the NavbarLink component.
158
- *
159
- * @property {string} [className] - Additional CSS classes.
160
- * @property {React.ElementType} [as] - Render as a custom component (default: 'a').
161
- * @property {boolean} [arrowless] - Remove the dropdown arrow indicator.
162
- * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.
163
- * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.
164
- * @property {React.ReactNode} [children] - Link content.
165
152
  */
166
153
  export interface NavbarLinkProps extends Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'color'>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
154
+ /** Additional CSS classes. */
167
155
  className?: string;
156
+ /** Render as a custom component (default: 'a'). */
168
157
  as?: React.ElementType;
158
+ /** Remove the dropdown arrow indicator. */
169
159
  arrowless?: boolean;
160
+ /** Text color. */
170
161
  textColor?: (typeof validColors)[number] | 'inherit' | 'current';
162
+ /** Background color. */
171
163
  bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
164
+ /** Link content. */
172
165
  children?: React.ReactNode;
173
166
  }
174
167
  /**
175
- * Bulma Navbar link — the dropdown trigger inside a `Navbar.Dropdown`.
176
- *
177
- * Renders with the `navbar-link` class, which adds a dropdown arrow indicator
178
- * automatically. Use `arrowless` to remove the arrow.
168
+ * Dropdown trigger with arrow indicator (use as first child of `Navbar.Dropdown`)
179
169
  *
180
170
  * @function
181
171
  * @param {NavbarLinkProps} props - Props for the NavbarLink component.
@@ -184,24 +174,23 @@ export interface NavbarLinkProps extends Omit<React.AnchorHTMLAttributes<HTMLAnc
184
174
  export declare const NavbarLink: React.FC<NavbarLinkProps>;
185
175
  /**
186
176
  * Props for the NavbarDropdown component.
187
- *
188
- * @property {string} [className] - Additional CSS classes.
189
- * @property {boolean} [right] - Dropdown aligned right.
190
- * @property {boolean} [up] - Dropdown opens upwards.
191
- * @property {boolean} [hoverable] - Dropdown opens on hover.
192
- * @property {boolean} [active] - Dropdown is open.
193
- * @property {React.ReactNode} [children] - Dropdown content.
194
177
  */
195
178
  export interface NavbarDropdownProps extends React.HTMLAttributes<HTMLDivElement> {
179
+ /** Additional CSS classes. */
196
180
  className?: string;
181
+ /** Dropdown aligned right. */
197
182
  right?: boolean;
183
+ /** Dropdown opens upwards. */
198
184
  up?: boolean;
185
+ /** Dropdown opens on hover. */
199
186
  hoverable?: boolean;
187
+ /** Dropdown is open. */
200
188
  active?: boolean;
189
+ /** Dropdown content. */
201
190
  children?: React.ReactNode;
202
191
  }
203
192
  /**
204
- * Bulma Navbar dropdown (for nested dropdown menus).
193
+ * Dropdown parent (with options for hover, up, right, active)
205
194
  *
206
195
  * @function
207
196
  * @param {NavbarDropdownProps} props - Props for the NavbarDropdown component.
@@ -210,20 +199,19 @@ export interface NavbarDropdownProps extends React.HTMLAttributes<HTMLDivElement
210
199
  export declare const NavbarDropdown: React.FC<NavbarDropdownProps>;
211
200
  /**
212
201
  * Props for the NavbarDropdownMenu component.
213
- *
214
- * @property {string} [className] - Additional CSS classes.
215
- * @property {boolean} [right] - Dropdown aligned right.
216
- * @property {boolean} [up] - Dropdown opens upwards.
217
- * @property {React.ReactNode} [children] - Dropdown menu content.
218
202
  */
219
203
  export interface NavbarDropdownMenuProps extends React.HTMLAttributes<HTMLDivElement> {
204
+ /** Additional CSS classes. */
220
205
  className?: string;
206
+ /** Dropdown aligned right. */
221
207
  right?: boolean;
208
+ /** Dropdown opens upwards. */
222
209
  up?: boolean;
210
+ /** Dropdown menu content. */
223
211
  children?: React.ReactNode;
224
212
  }
225
213
  /**
226
- * Bulma Navbar dropdown menu container.
214
+ * Dropdown menu container
227
215
  *
228
216
  * @function
229
217
  * @param {NavbarDropdownMenuProps} props - Props for the NavbarDropdownMenu component.
@@ -231,7 +219,7 @@ export interface NavbarDropdownMenuProps extends React.HTMLAttributes<HTMLDivEle
231
219
  */
232
220
  export declare const NavbarDropdownMenu: React.FC<NavbarDropdownMenuProps>;
233
221
  /**
234
- * Bulma Navbar divider.
222
+ * Divider in dropdown menus.
235
223
  *
236
224
  * @function
237
225
  * @param {React.HTMLAttributes<HTMLHRElement>} props - Standard hr props.
@@ -2,46 +2,52 @@ import React from 'react';
2
2
  import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
3
3
  /**
4
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
5
  */
18
6
  export interface PaginationProps extends React.HTMLAttributes<HTMLElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
7
+ /**
8
+ * Color modifier for the pagination (renders `is-<color>`).
9
+ *
10
+ * Bulma ships no pagination color CSS, so this prop has never had a visual
11
+ * effect for any value. Passing it logs a console warning in development.
12
+ * Use `textColor` / `bgColor` instead.
13
+ * @deprecated No `.pagination.is-<color>` CSS exists; the prop renders
14
+ * unstyled and will be removed in the next major version.
15
+ */
19
16
  color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger' | 'black' | 'dark' | 'light' | 'white';
17
+ /** Text color helper. */
20
18
  textColor?: (typeof validColors)[number] | 'inherit' | 'current';
19
+ /** Background color helper. */
21
20
  bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
21
+ /** Size modifier for the pagination. */
22
22
  size?: 'small' | 'medium' | 'large';
23
+ /** Alignment for the pagination. */
23
24
  align?: 'centered' | 'right';
25
+ /** Renders pagination with rounded corners. */
24
26
  rounded?: boolean;
27
+ /** Total number of pages (for custom implementations). */
25
28
  total?: number;
29
+ /** Current page (for controlled implementations). */
26
30
  current?: number;
31
+ /** Callback when a page is selected. */
27
32
  onPageChange?: (page: number) => void;
33
+ /** Additional CSS classes. */
28
34
  className?: string;
35
+ /** Custom pagination content (usually subcomponents). */
29
36
  children?: React.ReactNode;
30
37
  }
31
38
  /**
32
39
  * 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
40
  */
38
41
  export interface PaginationPreviousNextProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
42
+ /** Additional CSS classes. */
39
43
  className?: string;
44
+ /** Whether previous/next is disabled. */
40
45
  disabled?: boolean;
46
+ /** Button content. */
41
47
  children?: React.ReactNode;
42
48
  }
43
49
  /**
44
- * Bulma Pagination previous button.
50
+ * "Previous" navigation button.
45
51
  *
46
52
  * @function
47
53
  * @param {PaginationPreviousNextProps} props - Props for the PaginationPrevious component.
@@ -49,7 +55,7 @@ export interface PaginationPreviousNextProps extends React.AnchorHTMLAttributes<
49
55
  */
50
56
  export declare const PaginationPrevious: React.FC<PaginationPreviousNextProps>;
51
57
  /**
52
- * Bulma Pagination next button.
58
+ * "Next" navigation button.
53
59
  *
54
60
  * @function
55
61
  * @param {PaginationPreviousNextProps} props - Props for the PaginationNext component.
@@ -58,22 +64,21 @@ export declare const PaginationPrevious: React.FC<PaginationPreviousNextProps>;
58
64
  export declare const PaginationNext: React.FC<PaginationPreviousNextProps>;
59
65
  /**
60
66
  * Props for the PaginationList component.
61
- *
62
- * @property {string} [className] - Additional CSS classes.
63
- * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color for the list.
64
- * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier for the list.
65
- * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color for the list.
66
- * @property {React.ReactNode} [children] - List items.
67
67
  */
68
68
  export interface PaginationListProps extends React.HTMLAttributes<HTMLUListElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
69
+ /** Additional CSS classes. */
69
70
  className?: string;
71
+ /** Text color for the list. */
70
72
  textColor?: (typeof validColors)[number] | 'inherit' | 'current';
73
+ /** Bulma color modifier for the list. */
71
74
  color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
75
+ /** Background color for the list. */
72
76
  bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
77
+ /** List items. */
73
78
  children?: React.ReactNode;
74
79
  }
75
80
  /**
76
- * Bulma Pagination list container.
81
+ * Container for page links and ellipsis.
77
82
  *
78
83
  * @function
79
84
  * @param {PaginationListProps} props - Props for the PaginationList component.
@@ -82,26 +87,25 @@ export interface PaginationListProps extends React.HTMLAttributes<HTMLUListEleme
82
87
  export declare const PaginationList: React.FC<PaginationListProps>;
83
88
  /**
84
89
  * Props for the PaginationLink component.
85
- *
86
- * @property {string} [className] - Additional CSS classes.
87
- * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier.
88
- * @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.
89
- * @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.
90
- * @property {boolean} [active] - Whether the link is for the current page.
91
- * @property {boolean} [disabled] - Whether the link is disabled.
92
- * @property {React.ReactNode} [children] - Link content.
93
90
  */
94
91
  export interface PaginationLinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
92
+ /** Additional CSS classes. */
95
93
  className?: string;
94
+ /** Bulma color modifier. */
96
95
  color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
96
+ /** Text color. */
97
97
  textColor?: (typeof validColors)[number] | 'inherit' | 'current';
98
+ /** Background color. */
98
99
  bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
100
+ /** Whether the link is for the current page. */
99
101
  active?: boolean;
102
+ /** Whether the link is disabled. */
100
103
  disabled?: boolean;
104
+ /** Link content. */
101
105
  children?: React.ReactNode;
102
106
  }
103
107
  /**
104
- * Bulma Pagination link (page number).
108
+ * Page number or navigation link.
105
109
  *
106
110
  * @function
107
111
  * @param {PaginationLinkProps} props - Props for the PaginationLink component.
@@ -109,7 +113,7 @@ export interface PaginationLinkProps extends React.AnchorHTMLAttributes<HTMLAnch
109
113
  */
110
114
  export declare const PaginationLink: React.FC<PaginationLinkProps>;
111
115
  /**
112
- * Bulma Pagination ellipsis element.
116
+ * Ellipsis separator.
113
117
  *
114
118
  * @function
115
119
  * @param {React.LiHTMLAttributes<HTMLLIElement>} props - Standard li props.
@@ -3,46 +3,42 @@ import { BulmaClassesProps } from '../helpers/useBulmaClasses';
3
3
  import { IconProps } from '../elements/Icon';
4
4
  /**
5
5
  * Props for the Panel component.
6
- *
7
- * @property {'primary'|'link'|'info'|'success'|'warning'|'danger'|'black'|'dark'|'light'|'white'} [color] - Bulma color modifier for the panel.
8
- * @property {string} [className] - Additional CSS classes.
9
- * @property {React.ReactNode} [children] - Panel content.
10
6
  */
11
7
  export interface PanelProps extends React.HTMLAttributes<HTMLElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
8
+ /** Bulma color modifier for the panel. */
12
9
  color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger' | 'black' | 'dark' | 'light' | 'white';
10
+ /** Additional CSS classes. */
13
11
  className?: string;
12
+ /** Panel content (usually includes subcomponents). */
14
13
  children?: React.ReactNode;
15
14
  }
16
15
  /**
17
16
  * Props for the PanelHeading component.
18
- *
19
- * @property {string} [className] - Additional CSS classes.
20
- * @property {React.ReactNode} [children] - Heading content.
21
17
  */
22
18
  export interface PanelHeadingProps extends React.HTMLAttributes<HTMLParagraphElement> {
19
+ /** Additional CSS classes. */
23
20
  className?: string;
21
+ /** Heading content. */
24
22
  children?: React.ReactNode;
25
23
  }
26
24
  /**
27
25
  * Props for the PanelTabs component.
28
- *
29
- * @property {string} [className] - Additional CSS classes.
30
- * @property {React.ReactNode} [children] - Tabs content.
31
26
  */
32
27
  export interface PanelTabsProps extends React.HTMLAttributes<HTMLDivElement> {
28
+ /** Additional CSS classes. */
33
29
  className?: string;
30
+ /** Tabs content. */
34
31
  children?: React.ReactNode;
35
32
  }
36
33
  /**
37
34
  * Props for the PanelBlock component.
38
- *
39
- * @property {string} [className] - Additional CSS classes.
40
- * @property {boolean} [active] - Whether the block is active.
41
- * @property {React.ReactNode} [children] - Block content.
42
35
  */
43
36
  export interface PanelBlockProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
37
+ /** Additional CSS classes. */
44
38
  className?: string;
39
+ /** Whether the block is active. */
45
40
  active?: boolean;
41
+ /** Block content. */
46
42
  children?: React.ReactNode;
47
43
  }
48
44
  /**
@@ -52,40 +48,37 @@ export interface PanelBlockProps extends React.AnchorHTMLAttributes<HTMLAnchorEl
52
48
  export type PanelIconProps = Omit<IconProps, 'containerClassName'>;
53
49
  /**
54
50
  * Props for the PanelInputBlock component.
55
- *
56
- * @property {string} [value] - Input value.
57
- * @property {(event: React.ChangeEvent<HTMLInputElement>) => void} [onChange] - Input change handler.
58
- * @property {string} [placeholder] - Input placeholder.
59
- * @property {string} [iconClassName] - Icon class for left icon (default 'fas fa-search').
60
51
  */
61
52
  export interface PanelInputBlockProps extends React.HTMLAttributes<HTMLDivElement> {
53
+ /** Input value. */
62
54
  value?: string;
55
+ /** Input change handler. */
63
56
  onChange?: React.ChangeEventHandler<HTMLInputElement>;
57
+ /** Input placeholder. */
64
58
  placeholder?: string;
59
+ /** Icon class for left icon (default 'fas fa-search'). */
65
60
  iconClassName?: string;
66
61
  }
67
62
  /**
68
63
  * Props for the PanelCheckboxBlock component.
69
- *
70
- * @property {boolean} [checked] - Whether the checkbox is checked.
71
- * @property {(event: React.ChangeEvent<HTMLInputElement>) => void} [onChange] - Checkbox change handler.
72
- * @property {React.ReactNode} [children] - Label/content.
73
64
  */
74
65
  export interface PanelCheckboxBlockProps extends Omit<React.LabelHTMLAttributes<HTMLLabelElement>, 'onChange'> {
66
+ /** Whether the checkbox is checked. */
75
67
  checked?: boolean;
68
+ /** Checkbox change handler. */
76
69
  onChange?: React.ChangeEventHandler<HTMLInputElement>;
70
+ /** Label/content. */
77
71
  children?: React.ReactNode;
78
72
  }
79
73
  /**
80
74
  * Props for the PanelButtonBlock component.
81
- *
82
- * @property {React.ReactNode} [children] - Button content.
83
75
  */
84
76
  export interface PanelButtonBlockProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
77
+ /** Button content. */
85
78
  children?: React.ReactNode;
86
79
  }
87
80
  /**
88
- * Bulma Panel heading.
81
+ * Main heading (renders as `<p class="panel-heading">`)
89
82
  *
90
83
  * @function
91
84
  * @param {PanelHeadingProps} props - Props for the PanelHeading component.
@@ -93,7 +86,7 @@ export interface PanelButtonBlockProps extends React.ButtonHTMLAttributes<HTMLBu
93
86
  */
94
87
  export declare const PanelHeading: React.FC<PanelHeadingProps>;
95
88
  /**
96
- * Bulma Panel tabs.
89
+ * Panel tabs (renders as `<p class="panel-tabs">`)
97
90
  *
98
91
  * @function
99
92
  * @param {PanelTabsProps} props - Props for the PanelTabs component.
@@ -101,7 +94,7 @@ export declare const PanelHeading: React.FC<PanelHeadingProps>;
101
94
  */
102
95
  export declare const PanelTabs: React.FC<PanelTabsProps>;
103
96
  /**
104
- * Bulma Panel block.
97
+ * Individual panel block (renders as `<a class="panel-block">`)
105
98
  *
106
99
  * @function
107
100
  * @param {PanelBlockProps} props - Props for the PanelBlock component.
@@ -109,8 +102,8 @@ export declare const PanelTabs: React.FC<PanelTabsProps>;
109
102
  */
110
103
  export declare const PanelBlock: React.FC<PanelBlockProps>;
111
104
  /**
112
- * Bulma Panel icon.
113
- * Wraps the Icon component with 'panel-icon' container class.
105
+ * Icon wrapper with panel styling (renders as `<span class="panel-icon"><i/></span>`).
106
+ * Accepts all Icon props (`name`, `variant`, `features`, etc.)
114
107
  *
115
108
  * @function
116
109
  * @param {PanelIconProps} props - Props for the PanelIcon component.
@@ -118,7 +111,7 @@ export declare const PanelBlock: React.FC<PanelBlockProps>;
118
111
  */
119
112
  export declare const PanelIcon: React.FC<PanelIconProps>;
120
113
  /**
121
- * Bulma Panel input block.
114
+ * Search input with icon (renders as `<div class="panel-block">`)
122
115
  *
123
116
  * @function
124
117
  * @param {PanelInputBlockProps} props - Props for the PanelInputBlock component.
@@ -126,7 +119,7 @@ export declare const PanelIcon: React.FC<PanelIconProps>;
126
119
  */
127
120
  export declare const PanelInputBlock: React.FC<PanelInputBlockProps>;
128
121
  /**
129
- * Bulma Panel checkbox block.
122
+ * Checkbox block (renders as `<label class="panel-block">`)
130
123
  *
131
124
  * @function
132
125
  * @param {PanelCheckboxBlockProps} props - Props for the PanelCheckboxBlock component.
@@ -134,7 +127,7 @@ export declare const PanelInputBlock: React.FC<PanelInputBlockProps>;
134
127
  */
135
128
  export declare const PanelCheckboxBlock: React.FC<PanelCheckboxBlockProps>;
136
129
  /**
137
- * Bulma Panel button block.
130
+ * Call-to-action button (renders as `<div class="panel-block"><button /></div>`)
138
131
  *
139
132
  * @function
140
133
  * @param {PanelButtonBlockProps} props - Props for the PanelButtonBlock component.
@@ -6,36 +6,30 @@ import { BulmaClassesProps } from '../helpers/useBulmaClasses';
6
6
  export type RevealAnimation = 'fade' | 'fade-up' | 'fade-down' | 'slide-left' | 'slide-right' | 'zoom' | 'flip';
7
7
  /**
8
8
  * Props for the Reveal component.
9
- *
10
- * @property {RevealAnimation} [animation] - Animation style used when the element enters the viewport. Default: 'fade-up'.
11
- * @property {number} [delay] - Delay in milliseconds before the animation starts. Default: 0.
12
- * @property {number} [duration] - Animation duration in milliseconds. Default: 600.
13
- * @property {number} [threshold] - Fraction (0-1) of the element that must be visible to trigger the reveal. Values are clamped to the 0-1 range and fall back to 0.15 when not a finite number. Default: 0.15.
14
- * @property {boolean} [once] - Animate only the first time the element enters the viewport; if `false`, it re-animates on every entry/exit. Default: true.
15
- * @property {React.ElementType} [as] - Element or component to render as. Default: 'div'. When `as` is a plain intrinsic tag (e.g. `'section'`), your `className`, `style`, and Bulma helper classes plus everything in `...rest` all land on that single element. When `as` is a component (e.g. `Section`, `Card`), scroll detection needs a real DOM node with a ref, so `Reveal` wraps it in an observed `div`: `className`/`style`/helper classes go on that wrapper `div`, while `...rest` (`id`, `aria-*`, `data-*`, event handlers) is forwarded to the inner component.
16
- * @property {boolean} [cascade] - Stagger direct children with an incrementing delay instead of animating this element as a single block.
17
- * @property {number} [cascadeInterval] - Milliseconds added to each successive child's delay when `cascade` is set. Default: 80.
18
- * @property {React.ReactNode} [children] - Content to reveal.
9
+ * @extraProp {string} [className] - Additional CSS classes.
19
10
  */
20
11
  export interface RevealProps extends Omit<React.HTMLAttributes<HTMLElement>, 'color'>, BulmaClassesProps {
12
+ /** Animation style applied when the element enters the viewport. */
21
13
  animation?: RevealAnimation;
14
+ /** Delay in milliseconds before the animation starts. Default: 0. */
22
15
  delay?: number;
16
+ /** Animation duration in milliseconds. Default: 600. */
23
17
  duration?: number;
18
+ /** Fraction (0-1) of the element that must be visible to trigger the reveal. Clamped to the 0-1 range; non-finite values fall back to `0.15`. */
24
19
  threshold?: number;
20
+ /** Animate only the first time the element enters the viewport. If `false`, it re-animates on every entry/exit. */
25
21
  once?: boolean;
22
+ /** Element or component to render as. Default: 'div'. When `as` is a plain intrinsic tag (e.g. `'section'`), your `className`, `style`, and Bulma helper classes plus everything in `...rest` all land on that single element. When `as` is a component (e.g. `Section`, `Card`), scroll detection needs a real DOM node with a ref, so `Reveal` wraps it in an observed `div`: `className`/`style`/helper classes go on that wrapper `div`, while `...rest` (`id`, `aria-*`, `data-*`, event handlers) is forwarded to the inner component. */
26
23
  as?: React.ElementType;
24
+ /** Stagger direct children with an incrementing delay instead of animating this element as a single block. */
27
25
  cascade?: boolean;
26
+ /** Milliseconds added to each successive child's delay when `cascade` is set. Default: 80. */
28
27
  cascadeInterval?: number;
28
+ /** Content to reveal. */
29
29
  children?: React.ReactNode;
30
30
  }
31
31
  /**
32
- * Reveal component that animates its content into view as it scrolls into
33
- * the viewport, backed by `IntersectionObserver`.
34
- *
35
- * Renders in its final, visible state during SSR and on the first client
36
- * render, so content is never hidden if JavaScript never runs (crawlers,
37
- * disabled JS). Automatically skips the animation (renders the final state
38
- * immediately) when the user prefers reduced motion.
32
+ * The `Reveal` component animates its content into view as it scrolls into the viewport, backed by `IntersectionObserver`.
39
33
  *
40
34
  * @function
41
35
  * @param {RevealProps} props - Props for the Reveal component.