@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.
Files changed (129) hide show
  1. package/AGENTS.md +28 -0
  2. package/CLAUDE.md +28 -0
  3. package/README.md +24 -0
  4. package/dist/index.cjs.js +3485 -55
  5. package/dist/index.cjs.js.map +1 -1
  6. package/dist/index.esm.js +3485 -55
  7. package/dist/index.esm.js.map +1 -1
  8. package/dist/types/columns/Column.d.ts +38 -0
  9. package/dist/types/columns/Columns.d.ts +31 -0
  10. package/dist/types/components/Avatar.d.ts +32 -0
  11. package/dist/types/components/Avatars.d.ts +12 -0
  12. package/dist/types/components/Badge.d.ts +34 -0
  13. package/dist/types/components/Breadcrumb.d.ts +25 -0
  14. package/dist/types/components/Card.d.ts +60 -0
  15. package/dist/types/components/Carousel.d.ts +70 -0
  16. package/dist/types/components/Collapse.d.ts +52 -0
  17. package/dist/types/components/Dialog.d.ts +89 -0
  18. package/dist/types/components/Dropdown.d.ts +42 -0
  19. package/dist/types/components/Loading.d.ts +50 -0
  20. package/dist/types/components/Menu.d.ts +44 -0
  21. package/dist/types/components/Message.d.ts +20 -0
  22. package/dist/types/components/Modal.d.ts +50 -0
  23. package/dist/types/components/Navbar.d.ts +147 -0
  24. package/dist/types/components/Pagination.d.ts +81 -0
  25. package/dist/types/components/Panel.d.ts +93 -0
  26. package/dist/types/components/Reveal.d.ts +37 -0
  27. package/dist/types/components/Sidebar.d.ts +37 -0
  28. package/dist/types/components/Steps.d.ts +56 -0
  29. package/dist/types/components/Tabs.d.ts +90 -0
  30. package/dist/types/components/Toast.d.ts +104 -0
  31. package/dist/types/components/Tooltip.d.ts +46 -0
  32. package/dist/types/elements/Block.d.ts +21 -0
  33. package/dist/types/elements/Box.d.ts +25 -1
  34. package/dist/types/elements/Button.d.ts +33 -0
  35. package/dist/types/elements/Buttons.d.ts +16 -0
  36. package/dist/types/elements/Code.d.ts +14 -0
  37. package/dist/types/elements/Content.d.ts +22 -0
  38. package/dist/types/elements/Delete.d.ts +24 -0
  39. package/dist/types/elements/Divider.d.ts +12 -0
  40. package/dist/types/elements/Emphasis.d.ts +14 -0
  41. package/dist/types/elements/Figure.d.ts +23 -0
  42. package/dist/types/elements/Icon.d.ts +28 -0
  43. package/dist/types/elements/IconText.d.ts +20 -0
  44. package/dist/types/elements/Image.d.ts +27 -0
  45. package/dist/types/elements/Link.d.ts +20 -0
  46. package/dist/types/elements/LinkButton.d.ts +20 -0
  47. package/dist/types/elements/ListItem.d.ts +15 -0
  48. package/dist/types/elements/Notification.d.ts +110 -0
  49. package/dist/types/elements/OrderedList.d.ts +10 -0
  50. package/dist/types/elements/Paragraph.d.ts +14 -0
  51. package/dist/types/elements/Pre.d.ts +14 -0
  52. package/dist/types/elements/Progress.d.ts +26 -0
  53. package/dist/types/elements/Skeleton.d.ts +22 -0
  54. package/dist/types/elements/Span.d.ts +14 -0
  55. package/dist/types/elements/Strong.d.ts +14 -0
  56. package/dist/types/elements/SubTitle.d.ts +25 -0
  57. package/dist/types/elements/Table.d.ts +14 -0
  58. package/dist/types/elements/Tag.d.ts +25 -0
  59. package/dist/types/elements/Tags.d.ts +7 -0
  60. package/dist/types/elements/Tbody.d.ts +18 -0
  61. package/dist/types/elements/Td.d.ts +23 -0
  62. package/dist/types/elements/Tfoot.d.ts +18 -0
  63. package/dist/types/elements/Th.d.ts +24 -0
  64. package/dist/types/elements/Thead.d.ts +18 -0
  65. package/dist/types/elements/Title.d.ts +26 -0
  66. package/dist/types/elements/Tr.d.ts +20 -0
  67. package/dist/types/elements/UnorderedList.d.ts +7 -0
  68. package/dist/types/form/Autocomplete.d.ts +64 -0
  69. package/dist/types/form/Checkbox.d.ts +33 -0
  70. package/dist/types/form/Checkboxes.d.ts +9 -0
  71. package/dist/types/form/Control.d.ts +37 -0
  72. package/dist/types/form/DateInput.d.ts +44 -0
  73. package/dist/types/form/DateInputBase.d.ts +49 -0
  74. package/dist/types/form/DateTimeInput.d.ts +42 -0
  75. package/dist/types/form/DateTimeInputBase.d.ts +58 -0
  76. package/dist/types/form/Field.d.ts +52 -0
  77. package/dist/types/form/File.d.ts +24 -0
  78. package/dist/types/form/FormContext.d.ts +46 -0
  79. package/dist/types/form/Input.d.ts +45 -0
  80. package/dist/types/form/InputBase.d.ts +21 -0
  81. package/dist/types/form/Numberinput.d.ts +43 -0
  82. package/dist/types/form/Radio.d.ts +33 -0
  83. package/dist/types/form/Radios.d.ts +9 -0
  84. package/dist/types/form/Rate.d.ts +55 -0
  85. package/dist/types/form/Select.d.ts +35 -0
  86. package/dist/types/form/SelectBase.d.ts +24 -0
  87. package/dist/types/form/Slider.d.ts +86 -0
  88. package/dist/types/form/Switch.d.ts +50 -0
  89. package/dist/types/form/Taginput.d.ts +74 -0
  90. package/dist/types/form/TextArea.d.ts +34 -0
  91. package/dist/types/form/TextAreaBase.d.ts +24 -0
  92. package/dist/types/form/TimeInput.d.ts +40 -0
  93. package/dist/types/form/TimeInputBase.d.ts +51 -0
  94. package/dist/types/form/_pickerInternals/Calendar.d.ts +6 -0
  95. package/dist/types/form/_pickerInternals/TimeWheels.d.ts +13 -0
  96. package/dist/types/form/_pickerInternals/audioTick.d.ts +47 -0
  97. package/dist/types/form/_pickerInternals/dateUtils.d.ts +13 -0
  98. package/dist/types/form/_pickerInternals/formatters.d.ts +19 -0
  99. package/dist/types/form/_pickerInternals/haptics.d.ts +23 -0
  100. package/dist/types/form/_pickerInternals/pickerTypes.d.ts +8 -0
  101. package/dist/types/form/_pickerInternals/segmentMap.d.ts +48 -0
  102. package/dist/types/form/_pickerInternals/useNativeMobilePicker.d.ts +1 -0
  103. package/dist/types/form/_pickerInternals/useSegmentedEntry.d.ts +30 -0
  104. package/dist/types/form/fieldProps.d.ts +12 -0
  105. package/dist/types/grid/Cell.d.ts +25 -0
  106. package/dist/types/grid/Grid.d.ts +32 -0
  107. package/dist/types/helpers/Config.d.ts +50 -0
  108. package/dist/types/helpers/Theme.d.ts +66 -0
  109. package/dist/types/helpers/bulmaClassHelpers.d.ts +97 -0
  110. package/dist/types/helpers/classNames.d.ts +50 -0
  111. package/dist/types/helpers/colorDeprecations.d.ts +17 -0
  112. package/dist/types/helpers/useBulmaClasses.d.ts +22 -0
  113. package/dist/types/helpers/useColorClasses.d.ts +20 -0
  114. package/dist/types/helpers/useFlexboxClasses.d.ts +34 -0
  115. package/dist/types/helpers/useOtherClasses.d.ts +27 -0
  116. package/dist/types/helpers/useSpacingClasses.d.ts +27 -0
  117. package/dist/types/helpers/useTypographyClasses.d.ts +32 -0
  118. package/dist/types/helpers/useVisibilityClasses.d.ts +25 -0
  119. package/dist/types/helpers/withSubComponents.d.ts +13 -0
  120. package/dist/types/layout/Container.d.ts +29 -0
  121. package/dist/types/layout/Footer.d.ts +22 -0
  122. package/dist/types/layout/Hero.d.ts +67 -0
  123. package/dist/types/layout/Level.d.ts +60 -0
  124. package/dist/types/layout/Media.d.ts +56 -0
  125. package/dist/types/layout/Section.d.ts +20 -0
  126. package/dist/types/skill-examples/ExampleMeta.d.ts +5 -0
  127. package/dist/types/skill-examples/ProfileCard.d.ts +13 -0
  128. package/llms.txt +9 -0
  129. 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>> & {