@allxsmith/bestax-bulma 5.7.0 → 5.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +28 -0
- package/CLAUDE.md +28 -0
- package/README.md +24 -0
- package/dist/index.cjs.js +3485 -55
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +3485 -55
- package/dist/index.esm.js.map +1 -1
- package/dist/types/columns/Column.d.ts +38 -0
- package/dist/types/columns/Columns.d.ts +31 -0
- package/dist/types/components/Avatar.d.ts +32 -0
- package/dist/types/components/Avatars.d.ts +12 -0
- package/dist/types/components/Badge.d.ts +34 -0
- package/dist/types/components/Breadcrumb.d.ts +25 -0
- package/dist/types/components/Card.d.ts +60 -0
- package/dist/types/components/Carousel.d.ts +70 -0
- package/dist/types/components/Collapse.d.ts +52 -0
- package/dist/types/components/Dialog.d.ts +89 -0
- package/dist/types/components/Dropdown.d.ts +42 -0
- package/dist/types/components/Loading.d.ts +50 -0
- package/dist/types/components/Menu.d.ts +44 -0
- package/dist/types/components/Message.d.ts +20 -0
- package/dist/types/components/Modal.d.ts +50 -0
- package/dist/types/components/Navbar.d.ts +147 -0
- package/dist/types/components/Pagination.d.ts +81 -0
- package/dist/types/components/Panel.d.ts +93 -0
- package/dist/types/components/Reveal.d.ts +37 -0
- package/dist/types/components/Sidebar.d.ts +37 -0
- package/dist/types/components/Steps.d.ts +56 -0
- package/dist/types/components/Tabs.d.ts +90 -0
- package/dist/types/components/Toast.d.ts +104 -0
- package/dist/types/components/Tooltip.d.ts +46 -0
- package/dist/types/elements/Block.d.ts +21 -0
- package/dist/types/elements/Box.d.ts +25 -1
- package/dist/types/elements/Button.d.ts +33 -0
- package/dist/types/elements/Buttons.d.ts +16 -0
- package/dist/types/elements/Code.d.ts +14 -0
- package/dist/types/elements/Content.d.ts +22 -0
- package/dist/types/elements/Delete.d.ts +24 -0
- package/dist/types/elements/Divider.d.ts +12 -0
- package/dist/types/elements/Emphasis.d.ts +14 -0
- package/dist/types/elements/Figure.d.ts +23 -0
- package/dist/types/elements/Icon.d.ts +28 -0
- package/dist/types/elements/IconText.d.ts +20 -0
- package/dist/types/elements/Image.d.ts +27 -0
- package/dist/types/elements/Link.d.ts +20 -0
- package/dist/types/elements/LinkButton.d.ts +20 -0
- package/dist/types/elements/ListItem.d.ts +15 -0
- package/dist/types/elements/Notification.d.ts +110 -0
- package/dist/types/elements/OrderedList.d.ts +10 -0
- package/dist/types/elements/Paragraph.d.ts +14 -0
- package/dist/types/elements/Pre.d.ts +14 -0
- package/dist/types/elements/Progress.d.ts +26 -0
- package/dist/types/elements/Skeleton.d.ts +22 -0
- package/dist/types/elements/Span.d.ts +14 -0
- package/dist/types/elements/Strong.d.ts +14 -0
- package/dist/types/elements/SubTitle.d.ts +25 -0
- package/dist/types/elements/Table.d.ts +14 -0
- package/dist/types/elements/Tag.d.ts +25 -0
- package/dist/types/elements/Tags.d.ts +7 -0
- package/dist/types/elements/Tbody.d.ts +18 -0
- package/dist/types/elements/Td.d.ts +23 -0
- package/dist/types/elements/Tfoot.d.ts +18 -0
- package/dist/types/elements/Th.d.ts +24 -0
- package/dist/types/elements/Thead.d.ts +18 -0
- package/dist/types/elements/Title.d.ts +26 -0
- package/dist/types/elements/Tr.d.ts +20 -0
- package/dist/types/elements/UnorderedList.d.ts +7 -0
- package/dist/types/form/Autocomplete.d.ts +64 -0
- package/dist/types/form/Checkbox.d.ts +33 -0
- package/dist/types/form/Checkboxes.d.ts +9 -0
- package/dist/types/form/Control.d.ts +37 -0
- package/dist/types/form/DateInput.d.ts +44 -0
- package/dist/types/form/DateInputBase.d.ts +49 -0
- package/dist/types/form/DateTimeInput.d.ts +42 -0
- package/dist/types/form/DateTimeInputBase.d.ts +58 -0
- package/dist/types/form/Field.d.ts +52 -0
- package/dist/types/form/File.d.ts +24 -0
- package/dist/types/form/FormContext.d.ts +46 -0
- package/dist/types/form/Input.d.ts +45 -0
- package/dist/types/form/InputBase.d.ts +21 -0
- package/dist/types/form/Numberinput.d.ts +43 -0
- package/dist/types/form/Radio.d.ts +33 -0
- package/dist/types/form/Radios.d.ts +9 -0
- package/dist/types/form/Rate.d.ts +55 -0
- package/dist/types/form/Select.d.ts +35 -0
- package/dist/types/form/SelectBase.d.ts +24 -0
- package/dist/types/form/Slider.d.ts +86 -0
- package/dist/types/form/Switch.d.ts +50 -0
- package/dist/types/form/Taginput.d.ts +74 -0
- package/dist/types/form/TextArea.d.ts +34 -0
- package/dist/types/form/TextAreaBase.d.ts +24 -0
- package/dist/types/form/TimeInput.d.ts +40 -0
- package/dist/types/form/TimeInputBase.d.ts +51 -0
- package/dist/types/form/_pickerInternals/Calendar.d.ts +6 -0
- package/dist/types/form/_pickerInternals/TimeWheels.d.ts +13 -0
- package/dist/types/form/_pickerInternals/audioTick.d.ts +47 -0
- package/dist/types/form/_pickerInternals/dateUtils.d.ts +13 -0
- package/dist/types/form/_pickerInternals/formatters.d.ts +19 -0
- package/dist/types/form/_pickerInternals/haptics.d.ts +23 -0
- package/dist/types/form/_pickerInternals/pickerTypes.d.ts +8 -0
- package/dist/types/form/_pickerInternals/segmentMap.d.ts +48 -0
- package/dist/types/form/_pickerInternals/useNativeMobilePicker.d.ts +1 -0
- package/dist/types/form/_pickerInternals/useSegmentedEntry.d.ts +30 -0
- package/dist/types/form/fieldProps.d.ts +12 -0
- package/dist/types/grid/Cell.d.ts +25 -0
- package/dist/types/grid/Grid.d.ts +32 -0
- package/dist/types/helpers/Config.d.ts +50 -0
- package/dist/types/helpers/Theme.d.ts +66 -0
- package/dist/types/helpers/bulmaClassHelpers.d.ts +97 -0
- package/dist/types/helpers/classNames.d.ts +50 -0
- package/dist/types/helpers/colorDeprecations.d.ts +17 -0
- package/dist/types/helpers/useBulmaClasses.d.ts +22 -0
- package/dist/types/helpers/useColorClasses.d.ts +20 -0
- package/dist/types/helpers/useFlexboxClasses.d.ts +34 -0
- package/dist/types/helpers/useOtherClasses.d.ts +27 -0
- package/dist/types/helpers/useSpacingClasses.d.ts +27 -0
- package/dist/types/helpers/useTypographyClasses.d.ts +32 -0
- package/dist/types/helpers/useVisibilityClasses.d.ts +25 -0
- package/dist/types/helpers/withSubComponents.d.ts +13 -0
- package/dist/types/layout/Container.d.ts +29 -0
- package/dist/types/layout/Footer.d.ts +22 -0
- package/dist/types/layout/Hero.d.ts +67 -0
- package/dist/types/layout/Level.d.ts +60 -0
- package/dist/types/layout/Media.d.ts +56 -0
- package/dist/types/layout/Section.d.ts +20 -0
- package/dist/types/skill-examples/ExampleMeta.d.ts +5 -0
- package/dist/types/skill-examples/ProfileCard.d.ts +13 -0
- package/llms.txt +9 -0
- package/package.json +30 -28
|
@@ -1,83 +1,230 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
|
|
3
|
+
/**
|
|
4
|
+
* Props for the Navbar component.
|
|
5
|
+
*/
|
|
3
6
|
export interface NavbarProps extends React.HTMLAttributes<HTMLElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
|
|
7
|
+
/** Additional CSS classes for the navbar. */
|
|
4
8
|
className?: string;
|
|
9
|
+
/** Text color for the navbar. */
|
|
5
10
|
textColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
11
|
+
/** Bulma color modifier for the navbar. */
|
|
6
12
|
color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger' | 'black' | 'dark' | 'light' | 'white';
|
|
13
|
+
/** Background color for the navbar. */
|
|
7
14
|
bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
15
|
+
/** Renders the navbar with a transparent background. */
|
|
8
16
|
transparent?: boolean;
|
|
17
|
+
/** Fixes the navbar to the top or bottom of the viewport. */
|
|
9
18
|
fixed?: 'top' | 'bottom';
|
|
19
|
+
/** Navbar content (compose with subcomponents). */
|
|
10
20
|
children?: React.ReactNode;
|
|
11
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Props for the NavbarBrand component.
|
|
24
|
+
*/
|
|
12
25
|
export interface NavbarBrandProps extends React.HTMLAttributes<HTMLDivElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
|
|
26
|
+
/** Additional CSS classes. */
|
|
13
27
|
className?: string;
|
|
28
|
+
/** Text color for the brand. */
|
|
14
29
|
textColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
30
|
+
/** Bulma color modifier for the brand. */
|
|
15
31
|
color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
|
|
32
|
+
/** Brand content. */
|
|
16
33
|
children?: React.ReactNode;
|
|
17
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* For logo and branding (left side)
|
|
37
|
+
*
|
|
38
|
+
* @function
|
|
39
|
+
* @param {NavbarBrandProps} props - Props for the NavbarBrand component.
|
|
40
|
+
* @returns {JSX.Element} The rendered brand area.
|
|
41
|
+
*/
|
|
18
42
|
export declare const NavbarBrand: React.FC<NavbarBrandProps>;
|
|
43
|
+
/**
|
|
44
|
+
* Props for the NavbarItem component.
|
|
45
|
+
*/
|
|
19
46
|
export interface NavbarItemProps extends Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'color'>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
|
|
47
|
+
/** Additional CSS classes. */
|
|
20
48
|
className?: string;
|
|
49
|
+
/** Render as a custom component (e.g., a router link). */
|
|
21
50
|
as?: React.ElementType;
|
|
51
|
+
/** Whether the item is active. */
|
|
22
52
|
active?: boolean;
|
|
53
|
+
/** Text color for the item. */
|
|
23
54
|
textColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
55
|
+
/** Background color for the item. */
|
|
24
56
|
bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
57
|
+
/** Navbar item content. */
|
|
25
58
|
children?: React.ReactNode;
|
|
26
59
|
[key: string]: unknown;
|
|
27
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* Navigation links, buttons, or custom content
|
|
63
|
+
*
|
|
64
|
+
* @function
|
|
65
|
+
* @param {NavbarItemProps} props - Props for the NavbarItem component.
|
|
66
|
+
* @returns {JSX.Element} The rendered item.
|
|
67
|
+
*/
|
|
28
68
|
export declare const NavbarItem: React.FC<NavbarItemProps>;
|
|
69
|
+
/**
|
|
70
|
+
* Props for the NavbarBurger component.
|
|
71
|
+
*/
|
|
29
72
|
export interface NavbarBurgerProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
|
|
73
|
+
/** Additional CSS classes. */
|
|
30
74
|
className?: string;
|
|
75
|
+
/** Text color for the burger. */
|
|
31
76
|
textColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
77
|
+
/** Bulma color modifier for the burger. */
|
|
32
78
|
color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
|
|
79
|
+
/** Whether the burger is active. */
|
|
33
80
|
active?: boolean;
|
|
81
|
+
/** Custom content inside the burger. */
|
|
34
82
|
children?: React.ReactNode;
|
|
83
|
+
/** Aria label for accessibility. */
|
|
35
84
|
'aria-label'?: string;
|
|
85
|
+
/** Aria expanded state. */
|
|
36
86
|
'aria-expanded'?: boolean;
|
|
87
|
+
/** Click handler. */
|
|
37
88
|
onClick?: React.MouseEventHandler<HTMLButtonElement>;
|
|
38
89
|
}
|
|
90
|
+
/**
|
|
91
|
+
* Responsive menu toggle (mobile)
|
|
92
|
+
*
|
|
93
|
+
* @function
|
|
94
|
+
* @param {NavbarBurgerProps} props - Props for the NavbarBurger component.
|
|
95
|
+
* @returns {JSX.Element} The rendered burger.
|
|
96
|
+
*/
|
|
39
97
|
export declare const NavbarBurger: React.FC<NavbarBurgerProps>;
|
|
98
|
+
/**
|
|
99
|
+
* Props for the NavbarMenu component.
|
|
100
|
+
*/
|
|
40
101
|
export interface NavbarMenuProps extends React.HTMLAttributes<HTMLDivElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
|
|
102
|
+
/** Additional CSS classes. */
|
|
41
103
|
className?: string;
|
|
104
|
+
/** Text color for the menu. */
|
|
42
105
|
textColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
106
|
+
/** Bulma color modifier for the menu. */
|
|
43
107
|
color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
|
|
108
|
+
/** Whether the menu is active. */
|
|
44
109
|
active?: boolean;
|
|
110
|
+
/** Menu content. */
|
|
45
111
|
children?: React.ReactNode;
|
|
46
112
|
}
|
|
113
|
+
/**
|
|
114
|
+
* Collapsible content (contains `Navbar.Start` and `Navbar.End`)
|
|
115
|
+
*
|
|
116
|
+
* @function
|
|
117
|
+
* @param {NavbarMenuProps} props - Props for the NavbarMenu component.
|
|
118
|
+
* @returns {JSX.Element} The rendered menu.
|
|
119
|
+
*/
|
|
47
120
|
export declare const NavbarMenu: React.FC<NavbarMenuProps>;
|
|
121
|
+
/**
|
|
122
|
+
* Props for the NavbarStartEnd component.
|
|
123
|
+
*/
|
|
48
124
|
export interface NavbarStartEndProps extends React.HTMLAttributes<HTMLDivElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
|
|
125
|
+
/** Additional CSS classes. */
|
|
49
126
|
className?: string;
|
|
127
|
+
/** Text color. */
|
|
50
128
|
textColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
129
|
+
/** Bulma color modifier. */
|
|
51
130
|
color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
|
|
131
|
+
/** Content. */
|
|
52
132
|
children?: React.ReactNode;
|
|
53
133
|
}
|
|
134
|
+
/**
|
|
135
|
+
* Left-aligned menu area
|
|
136
|
+
*
|
|
137
|
+
* @function
|
|
138
|
+
* @param {NavbarStartEndProps} props - Props for the NavbarStart component.
|
|
139
|
+
* @returns {JSX.Element} The rendered start area.
|
|
140
|
+
*/
|
|
54
141
|
export declare const NavbarStart: React.FC<NavbarStartEndProps>;
|
|
142
|
+
/**
|
|
143
|
+
* Right-aligned menu area
|
|
144
|
+
*
|
|
145
|
+
* @function
|
|
146
|
+
* @param {NavbarStartEndProps} props - Props for the NavbarEnd component.
|
|
147
|
+
* @returns {JSX.Element} The rendered end area.
|
|
148
|
+
*/
|
|
55
149
|
export declare const NavbarEnd: React.FC<NavbarStartEndProps>;
|
|
150
|
+
/**
|
|
151
|
+
* Props for the NavbarLink component.
|
|
152
|
+
*/
|
|
56
153
|
export interface NavbarLinkProps extends Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'color'>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
|
|
154
|
+
/** Additional CSS classes. */
|
|
57
155
|
className?: string;
|
|
156
|
+
/** Render as a custom component (default: 'a'). */
|
|
58
157
|
as?: React.ElementType;
|
|
158
|
+
/** Remove the dropdown arrow indicator. */
|
|
59
159
|
arrowless?: boolean;
|
|
160
|
+
/** Text color. */
|
|
60
161
|
textColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
162
|
+
/** Background color. */
|
|
61
163
|
bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
164
|
+
/** Link content. */
|
|
62
165
|
children?: React.ReactNode;
|
|
63
166
|
}
|
|
167
|
+
/**
|
|
168
|
+
* Dropdown trigger with arrow indicator (use as first child of `Navbar.Dropdown`)
|
|
169
|
+
*
|
|
170
|
+
* @function
|
|
171
|
+
* @param {NavbarLinkProps} props - Props for the NavbarLink component.
|
|
172
|
+
* @returns {JSX.Element} The rendered navbar link.
|
|
173
|
+
*/
|
|
64
174
|
export declare const NavbarLink: React.FC<NavbarLinkProps>;
|
|
175
|
+
/**
|
|
176
|
+
* Props for the NavbarDropdown component.
|
|
177
|
+
*/
|
|
65
178
|
export interface NavbarDropdownProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
179
|
+
/** Additional CSS classes. */
|
|
66
180
|
className?: string;
|
|
181
|
+
/** Dropdown aligned right. */
|
|
67
182
|
right?: boolean;
|
|
183
|
+
/** Dropdown opens upwards. */
|
|
68
184
|
up?: boolean;
|
|
185
|
+
/** Dropdown opens on hover. */
|
|
69
186
|
hoverable?: boolean;
|
|
187
|
+
/** Dropdown is open. */
|
|
70
188
|
active?: boolean;
|
|
189
|
+
/** Dropdown content. */
|
|
71
190
|
children?: React.ReactNode;
|
|
72
191
|
}
|
|
192
|
+
/**
|
|
193
|
+
* Dropdown parent (with options for hover, up, right, active)
|
|
194
|
+
*
|
|
195
|
+
* @function
|
|
196
|
+
* @param {NavbarDropdownProps} props - Props for the NavbarDropdown component.
|
|
197
|
+
* @returns {JSX.Element} The rendered dropdown.
|
|
198
|
+
*/
|
|
73
199
|
export declare const NavbarDropdown: React.FC<NavbarDropdownProps>;
|
|
200
|
+
/**
|
|
201
|
+
* Props for the NavbarDropdownMenu component.
|
|
202
|
+
*/
|
|
74
203
|
export interface NavbarDropdownMenuProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
204
|
+
/** Additional CSS classes. */
|
|
75
205
|
className?: string;
|
|
206
|
+
/** Dropdown aligned right. */
|
|
76
207
|
right?: boolean;
|
|
208
|
+
/** Dropdown opens upwards. */
|
|
77
209
|
up?: boolean;
|
|
210
|
+
/** Dropdown menu content. */
|
|
78
211
|
children?: React.ReactNode;
|
|
79
212
|
}
|
|
213
|
+
/**
|
|
214
|
+
* Dropdown menu container
|
|
215
|
+
*
|
|
216
|
+
* @function
|
|
217
|
+
* @param {NavbarDropdownMenuProps} props - Props for the NavbarDropdownMenu component.
|
|
218
|
+
* @returns {JSX.Element} The rendered dropdown menu.
|
|
219
|
+
*/
|
|
80
220
|
export declare const NavbarDropdownMenu: React.FC<NavbarDropdownMenuProps>;
|
|
221
|
+
/**
|
|
222
|
+
* Divider in dropdown menus.
|
|
223
|
+
*
|
|
224
|
+
* @function
|
|
225
|
+
* @param {React.HTMLAttributes<HTMLHRElement>} props - Standard hr props.
|
|
226
|
+
* @returns {JSX.Element} The rendered divider.
|
|
227
|
+
*/
|
|
81
228
|
export declare const NavbarDivider: React.FC<React.HTMLAttributes<HTMLHRElement>>;
|
|
82
229
|
export declare const Navbar: React.FC<NavbarProps> & {
|
|
83
230
|
Brand: React.FC<NavbarBrandProps>;
|
|
@@ -1,43 +1,124 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
|
|
3
|
+
/**
|
|
4
|
+
* Props for the Pagination component.
|
|
5
|
+
*/
|
|
3
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
|
+
*/
|
|
4
16
|
color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger' | 'black' | 'dark' | 'light' | 'white';
|
|
17
|
+
/** Text color helper. */
|
|
5
18
|
textColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
19
|
+
/** Background color helper. */
|
|
6
20
|
bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
21
|
+
/** Size modifier for the pagination. */
|
|
7
22
|
size?: 'small' | 'medium' | 'large';
|
|
23
|
+
/** Alignment for the pagination. */
|
|
8
24
|
align?: 'centered' | 'right';
|
|
25
|
+
/** Renders pagination with rounded corners. */
|
|
9
26
|
rounded?: boolean;
|
|
27
|
+
/** Total number of pages (for custom implementations). */
|
|
10
28
|
total?: number;
|
|
29
|
+
/** Current page (for controlled implementations). */
|
|
11
30
|
current?: number;
|
|
31
|
+
/** Callback when a page is selected. */
|
|
12
32
|
onPageChange?: (page: number) => void;
|
|
33
|
+
/** Additional CSS classes. */
|
|
13
34
|
className?: string;
|
|
35
|
+
/** Custom pagination content (usually subcomponents). */
|
|
14
36
|
children?: React.ReactNode;
|
|
15
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Props for PaginationPrevious and PaginationNext components.
|
|
40
|
+
*/
|
|
16
41
|
export interface PaginationPreviousNextProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
|
|
42
|
+
/** Additional CSS classes. */
|
|
17
43
|
className?: string;
|
|
44
|
+
/** Whether previous/next is disabled. */
|
|
18
45
|
disabled?: boolean;
|
|
46
|
+
/** Button content. */
|
|
19
47
|
children?: React.ReactNode;
|
|
20
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* "Previous" navigation button.
|
|
51
|
+
*
|
|
52
|
+
* @function
|
|
53
|
+
* @param {PaginationPreviousNextProps} props - Props for the PaginationPrevious component.
|
|
54
|
+
* @returns {JSX.Element} The rendered previous button.
|
|
55
|
+
*/
|
|
21
56
|
export declare const PaginationPrevious: React.FC<PaginationPreviousNextProps>;
|
|
57
|
+
/**
|
|
58
|
+
* "Next" navigation button.
|
|
59
|
+
*
|
|
60
|
+
* @function
|
|
61
|
+
* @param {PaginationPreviousNextProps} props - Props for the PaginationNext component.
|
|
62
|
+
* @returns {JSX.Element} The rendered next button.
|
|
63
|
+
*/
|
|
22
64
|
export declare const PaginationNext: React.FC<PaginationPreviousNextProps>;
|
|
65
|
+
/**
|
|
66
|
+
* Props for the PaginationList component.
|
|
67
|
+
*/
|
|
23
68
|
export interface PaginationListProps extends React.HTMLAttributes<HTMLUListElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
|
|
69
|
+
/** Additional CSS classes. */
|
|
24
70
|
className?: string;
|
|
71
|
+
/** Text color for the list. */
|
|
25
72
|
textColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
73
|
+
/** Bulma color modifier for the list. */
|
|
26
74
|
color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
|
|
75
|
+
/** Background color for the list. */
|
|
27
76
|
bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
77
|
+
/** List items. */
|
|
28
78
|
children?: React.ReactNode;
|
|
29
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* Container for page links and ellipsis.
|
|
82
|
+
*
|
|
83
|
+
* @function
|
|
84
|
+
* @param {PaginationListProps} props - Props for the PaginationList component.
|
|
85
|
+
* @returns {JSX.Element} The rendered pagination list.
|
|
86
|
+
*/
|
|
30
87
|
export declare const PaginationList: React.FC<PaginationListProps>;
|
|
88
|
+
/**
|
|
89
|
+
* Props for the PaginationLink component.
|
|
90
|
+
*/
|
|
31
91
|
export interface PaginationLinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
|
|
92
|
+
/** Additional CSS classes. */
|
|
32
93
|
className?: string;
|
|
94
|
+
/** Bulma color modifier. */
|
|
33
95
|
color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
|
|
96
|
+
/** Text color. */
|
|
34
97
|
textColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
98
|
+
/** Background color. */
|
|
35
99
|
bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
100
|
+
/** Whether the link is for the current page. */
|
|
36
101
|
active?: boolean;
|
|
102
|
+
/** Whether the link is disabled. */
|
|
37
103
|
disabled?: boolean;
|
|
104
|
+
/** Link content. */
|
|
38
105
|
children?: React.ReactNode;
|
|
39
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* Page number or navigation link.
|
|
109
|
+
*
|
|
110
|
+
* @function
|
|
111
|
+
* @param {PaginationLinkProps} props - Props for the PaginationLink component.
|
|
112
|
+
* @returns {JSX.Element} The rendered pagination link.
|
|
113
|
+
*/
|
|
40
114
|
export declare const PaginationLink: React.FC<PaginationLinkProps>;
|
|
115
|
+
/**
|
|
116
|
+
* Ellipsis separator.
|
|
117
|
+
*
|
|
118
|
+
* @function
|
|
119
|
+
* @param {React.LiHTMLAttributes<HTMLLIElement>} props - Standard li props.
|
|
120
|
+
* @returns {JSX.Element} The rendered ellipsis.
|
|
121
|
+
*/
|
|
41
122
|
export declare const PaginationEllipsis: React.FC<React.LiHTMLAttributes<HTMLLIElement>>;
|
|
42
123
|
export declare const Pagination: React.FC<PaginationProps> & {
|
|
43
124
|
Link: React.FC<PaginationLinkProps>;
|
|
@@ -1,45 +1,138 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { BulmaClassesProps } from '../helpers/useBulmaClasses';
|
|
3
3
|
import { IconProps } from '../elements/Icon';
|
|
4
|
+
/**
|
|
5
|
+
* Props for the Panel component.
|
|
6
|
+
*/
|
|
4
7
|
export interface PanelProps extends React.HTMLAttributes<HTMLElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
|
|
8
|
+
/** Bulma color modifier for the panel. */
|
|
5
9
|
color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger' | 'black' | 'dark' | 'light' | 'white';
|
|
10
|
+
/** Additional CSS classes. */
|
|
6
11
|
className?: string;
|
|
12
|
+
/** Panel content (usually includes subcomponents). */
|
|
7
13
|
children?: React.ReactNode;
|
|
8
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* Props for the PanelHeading component.
|
|
17
|
+
*/
|
|
9
18
|
export interface PanelHeadingProps extends React.HTMLAttributes<HTMLParagraphElement> {
|
|
19
|
+
/** Additional CSS classes. */
|
|
10
20
|
className?: string;
|
|
21
|
+
/** Heading content. */
|
|
11
22
|
children?: React.ReactNode;
|
|
12
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Props for the PanelTabs component.
|
|
26
|
+
*/
|
|
13
27
|
export interface PanelTabsProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
28
|
+
/** Additional CSS classes. */
|
|
14
29
|
className?: string;
|
|
30
|
+
/** Tabs content. */
|
|
15
31
|
children?: React.ReactNode;
|
|
16
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Props for the PanelBlock component.
|
|
35
|
+
*/
|
|
17
36
|
export interface PanelBlockProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
|
|
37
|
+
/** Additional CSS classes. */
|
|
18
38
|
className?: string;
|
|
39
|
+
/** Whether the block is active. */
|
|
19
40
|
active?: boolean;
|
|
41
|
+
/** Block content. */
|
|
20
42
|
children?: React.ReactNode;
|
|
21
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Props for the PanelIcon component.
|
|
46
|
+
* Extends IconProps but uses 'panel-icon' as the container class.
|
|
47
|
+
*/
|
|
22
48
|
export type PanelIconProps = Omit<IconProps, 'containerClassName'>;
|
|
49
|
+
/**
|
|
50
|
+
* Props for the PanelInputBlock component.
|
|
51
|
+
*/
|
|
23
52
|
export interface PanelInputBlockProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
53
|
+
/** Input value. */
|
|
24
54
|
value?: string;
|
|
55
|
+
/** Input change handler. */
|
|
25
56
|
onChange?: React.ChangeEventHandler<HTMLInputElement>;
|
|
57
|
+
/** Input placeholder. */
|
|
26
58
|
placeholder?: string;
|
|
59
|
+
/** Icon class for left icon (default 'fas fa-search'). */
|
|
27
60
|
iconClassName?: string;
|
|
28
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* Props for the PanelCheckboxBlock component.
|
|
64
|
+
*/
|
|
29
65
|
export interface PanelCheckboxBlockProps extends Omit<React.LabelHTMLAttributes<HTMLLabelElement>, 'onChange'> {
|
|
66
|
+
/** Whether the checkbox is checked. */
|
|
30
67
|
checked?: boolean;
|
|
68
|
+
/** Checkbox change handler. */
|
|
31
69
|
onChange?: React.ChangeEventHandler<HTMLInputElement>;
|
|
70
|
+
/** Label/content. */
|
|
32
71
|
children?: React.ReactNode;
|
|
33
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* Props for the PanelButtonBlock component.
|
|
75
|
+
*/
|
|
34
76
|
export interface PanelButtonBlockProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
77
|
+
/** Button content. */
|
|
35
78
|
children?: React.ReactNode;
|
|
36
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* Main heading (renders as `<p class="panel-heading">`)
|
|
82
|
+
*
|
|
83
|
+
* @function
|
|
84
|
+
* @param {PanelHeadingProps} props - Props for the PanelHeading component.
|
|
85
|
+
* @returns {JSX.Element} The rendered panel heading.
|
|
86
|
+
*/
|
|
37
87
|
export declare const PanelHeading: React.FC<PanelHeadingProps>;
|
|
88
|
+
/**
|
|
89
|
+
* Panel tabs (renders as `<p class="panel-tabs">`)
|
|
90
|
+
*
|
|
91
|
+
* @function
|
|
92
|
+
* @param {PanelTabsProps} props - Props for the PanelTabs component.
|
|
93
|
+
* @returns {JSX.Element} The rendered panel tabs.
|
|
94
|
+
*/
|
|
38
95
|
export declare const PanelTabs: React.FC<PanelTabsProps>;
|
|
96
|
+
/**
|
|
97
|
+
* Individual panel block (renders as `<a class="panel-block">`)
|
|
98
|
+
*
|
|
99
|
+
* @function
|
|
100
|
+
* @param {PanelBlockProps} props - Props for the PanelBlock component.
|
|
101
|
+
* @returns {JSX.Element} The rendered panel block.
|
|
102
|
+
*/
|
|
39
103
|
export declare const PanelBlock: React.FC<PanelBlockProps>;
|
|
104
|
+
/**
|
|
105
|
+
* Icon wrapper with panel styling (renders as `<span class="panel-icon"><i/></span>`).
|
|
106
|
+
* Accepts all Icon props (`name`, `variant`, `features`, etc.)
|
|
107
|
+
*
|
|
108
|
+
* @function
|
|
109
|
+
* @param {PanelIconProps} props - Props for the PanelIcon component.
|
|
110
|
+
* @returns {JSX.Element} The rendered panel icon.
|
|
111
|
+
*/
|
|
40
112
|
export declare const PanelIcon: React.FC<PanelIconProps>;
|
|
113
|
+
/**
|
|
114
|
+
* Search input with icon (renders as `<div class="panel-block">`)
|
|
115
|
+
*
|
|
116
|
+
* @function
|
|
117
|
+
* @param {PanelInputBlockProps} props - Props for the PanelInputBlock component.
|
|
118
|
+
* @returns {JSX.Element} The rendered panel input block.
|
|
119
|
+
*/
|
|
41
120
|
export declare const PanelInputBlock: React.FC<PanelInputBlockProps>;
|
|
121
|
+
/**
|
|
122
|
+
* Checkbox block (renders as `<label class="panel-block">`)
|
|
123
|
+
*
|
|
124
|
+
* @function
|
|
125
|
+
* @param {PanelCheckboxBlockProps} props - Props for the PanelCheckboxBlock component.
|
|
126
|
+
* @returns {JSX.Element} The rendered panel checkbox block.
|
|
127
|
+
*/
|
|
42
128
|
export declare const PanelCheckboxBlock: React.FC<PanelCheckboxBlockProps>;
|
|
129
|
+
/**
|
|
130
|
+
* Call-to-action button (renders as `<div class="panel-block"><button /></div>`)
|
|
131
|
+
*
|
|
132
|
+
* @function
|
|
133
|
+
* @param {PanelButtonBlockProps} props - Props for the PanelButtonBlock component.
|
|
134
|
+
* @returns {JSX.Element} The rendered panel button block.
|
|
135
|
+
*/
|
|
43
136
|
export declare const PanelButtonBlock: React.FC<PanelButtonBlockProps>;
|
|
44
137
|
export declare const Panel: React.FC<PanelProps> & {
|
|
45
138
|
Heading: React.FC<PanelHeadingProps>;
|
|
@@ -1,16 +1,53 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { BulmaClassesProps } from '../helpers/useBulmaClasses';
|
|
3
|
+
/**
|
|
4
|
+
* Animation styles available for the Reveal component.
|
|
5
|
+
*/
|
|
3
6
|
export type RevealAnimation = 'fade' | 'fade-up' | 'fade-down' | 'slide-left' | 'slide-right' | 'zoom' | 'flip';
|
|
7
|
+
/**
|
|
8
|
+
* Props for the Reveal component.
|
|
9
|
+
* @extraProp {string} [className] - Additional CSS classes.
|
|
10
|
+
*/
|
|
4
11
|
export interface RevealProps extends Omit<React.HTMLAttributes<HTMLElement>, 'color'>, BulmaClassesProps {
|
|
12
|
+
/** Animation style applied when the element enters the viewport. */
|
|
5
13
|
animation?: RevealAnimation;
|
|
14
|
+
/** Delay in milliseconds before the animation starts. Default: 0. */
|
|
6
15
|
delay?: number;
|
|
16
|
+
/** Animation duration in milliseconds. Default: 600. */
|
|
7
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`. */
|
|
8
19
|
threshold?: number;
|
|
20
|
+
/** Animate only the first time the element enters the viewport. If `false`, it re-animates on every entry/exit. */
|
|
9
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. */
|
|
10
23
|
as?: React.ElementType;
|
|
24
|
+
/** Stagger direct children with an incrementing delay instead of animating this element as a single block. */
|
|
11
25
|
cascade?: boolean;
|
|
26
|
+
/** Milliseconds added to each successive child's delay when `cascade` is set. Default: 80. */
|
|
12
27
|
cascadeInterval?: number;
|
|
28
|
+
/** Content to reveal. */
|
|
13
29
|
children?: React.ReactNode;
|
|
14
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* The `Reveal` component animates its content into view as it scrolls into the viewport, backed by `IntersectionObserver`.
|
|
33
|
+
*
|
|
34
|
+
* @function
|
|
35
|
+
* @param {RevealProps} props - Props for the Reveal component.
|
|
36
|
+
* @returns {JSX.Element} The rendered reveal wrapper.
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* // Fade a section up into view
|
|
40
|
+
* <Reveal animation="fade-up" as={Section}>
|
|
41
|
+
* <Title>Why Grass Doctor</Title>
|
|
42
|
+
* </Reveal>
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* // Stagger a set of cards as they enter the viewport
|
|
46
|
+
* <Reveal animation="fade-up" cascade cascadeInterval={80}>
|
|
47
|
+
* {services.map(service => (
|
|
48
|
+
* <Card key={service.name}>{service.name}</Card>
|
|
49
|
+
* ))}
|
|
50
|
+
* </Reveal>
|
|
51
|
+
*/
|
|
15
52
|
export declare const Reveal: React.FC<RevealProps>;
|
|
16
53
|
export default Reveal;
|
|
@@ -1,30 +1,67 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { BulmaClassesProps } from '../helpers/useBulmaClasses';
|
|
3
|
+
/** Position of the sidebar relative to the viewport. */
|
|
3
4
|
export type SidebarPosition = 'left' | 'right';
|
|
5
|
+
/**
|
|
6
|
+
* Props for the Sidebar component.
|
|
7
|
+
* @extraProp {string} [className] - Additional CSS classes.
|
|
8
|
+
* @extraProp {React.Ref<HTMLElement>} [ref] - Ref forwarded to the sidebar element.
|
|
9
|
+
*/
|
|
4
10
|
export interface SidebarProps extends Omit<React.HTMLAttributes<HTMLElement>, 'children' | 'color'>, BulmaClassesProps {
|
|
11
|
+
/** Whether the sidebar is open (required). */
|
|
5
12
|
isOpen: boolean;
|
|
13
|
+
/** Callback when sidebar should close. */
|
|
6
14
|
onClose?: () => void;
|
|
15
|
+
/** Which side the sidebar appears from. Default: 'left'. */
|
|
7
16
|
position?: SidebarPosition;
|
|
17
|
+
/** Custom width of the sidebar. */
|
|
8
18
|
width?: string;
|
|
19
|
+
/** Sidebar takes full width (mobile-style). */
|
|
9
20
|
fullWidth?: boolean;
|
|
21
|
+
/** Show overlay behind sidebar. Default: true. */
|
|
10
22
|
overlay?: boolean;
|
|
23
|
+
/** Close sidebar when overlay is clicked. Default: true. */
|
|
11
24
|
overlayClose?: boolean;
|
|
25
|
+
/** Close sidebar on Escape key. Default: true. */
|
|
12
26
|
escapeClose?: boolean;
|
|
27
|
+
/** Allow closing the sidebar. Default: true. */
|
|
13
28
|
canCancel?: boolean;
|
|
29
|
+
/** Content to display in the sidebar. */
|
|
14
30
|
children?: React.ReactNode;
|
|
31
|
+
/** Renders inline instead of using a portal. */
|
|
15
32
|
inline?: boolean;
|
|
16
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* Props for the SidebarHeader component.
|
|
36
|
+
*/
|
|
17
37
|
interface SidebarHeaderProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
38
|
+
/** Header content. */
|
|
18
39
|
children?: React.ReactNode;
|
|
19
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Props for the SidebarTitle component.
|
|
43
|
+
*/
|
|
20
44
|
interface SidebarTitleProps extends React.HTMLAttributes<HTMLParagraphElement> {
|
|
45
|
+
/** Title content. */
|
|
21
46
|
children?: React.ReactNode;
|
|
22
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* Props for the SidebarClose component.
|
|
50
|
+
* Extends standard button attributes.
|
|
51
|
+
*/
|
|
23
52
|
type SidebarCloseProps = React.ButtonHTMLAttributes<HTMLButtonElement>;
|
|
53
|
+
/**
|
|
54
|
+
* Props for the SidebarBody component.
|
|
55
|
+
*/
|
|
24
56
|
interface SidebarBodyProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
57
|
+
/** Body content. */
|
|
25
58
|
children?: React.ReactNode;
|
|
26
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Props for the SidebarFooter component.
|
|
62
|
+
*/
|
|
27
63
|
interface SidebarFooterProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
64
|
+
/** Footer content. */
|
|
28
65
|
children?: React.ReactNode;
|
|
29
66
|
}
|
|
30
67
|
export declare const Sidebar: React.ForwardRefExoticComponent<SidebarProps & React.RefAttributes<HTMLElement>> & {
|