@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.
- package/README.md +20 -0
- package/dist/index.cjs.js +304 -387
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +304 -387
- package/dist/index.esm.js.map +1 -1
- package/dist/types/columns/Column.d.ts +25 -30
- package/dist/types/columns/Columns.d.ts +23 -30
- package/dist/types/components/Avatar.d.ts +15 -20
- package/dist/types/components/Avatars.d.ts +8 -9
- package/dist/types/components/Badge.d.ts +13 -21
- package/dist/types/components/Breadcrumb.d.ts +6 -9
- package/dist/types/components/Card.d.ts +34 -36
- package/dist/types/components/Carousel.d.ts +29 -29
- package/dist/types/components/Collapse.d.ts +17 -18
- package/dist/types/components/Dialog.d.ts +24 -29
- package/dist/types/components/Dropdown.d.ts +16 -18
- package/dist/types/components/Loading.d.ts +13 -18
- package/dist/types/components/Menu.d.ts +11 -15
- package/dist/types/components/Message.d.ts +11 -14
- package/dist/types/components/Modal.d.ts +23 -29
- package/dist/types/components/Navbar.d.ts +60 -72
- package/dist/types/components/Pagination.d.ts +39 -35
- package/dist/types/components/Panel.d.ts +26 -33
- package/dist/types/components/Reveal.d.ts +11 -17
- package/dist/types/components/Sidebar.d.ts +17 -20
- package/dist/types/components/Steps.d.ts +28 -37
- package/dist/types/components/Tabs.d.ts +44 -43
- package/dist/types/components/Toast.d.ts +23 -28
- package/dist/types/components/Tooltip.d.ts +16 -20
- package/dist/types/elements/Block.d.ts +11 -10
- package/dist/types/elements/Box.d.ts +12 -10
- package/dist/types/elements/Button.d.ts +30 -23
- package/dist/types/elements/Buttons.d.ts +13 -9
- package/dist/types/elements/Code.d.ts +5 -10
- package/dist/types/elements/Content.d.ts +12 -11
- package/dist/types/elements/Delete.d.ts +14 -12
- package/dist/types/elements/Divider.d.ts +3 -7
- package/dist/types/elements/Emphasis.d.ts +5 -10
- package/dist/types/elements/Figure.d.ts +8 -10
- package/dist/types/elements/Icon.d.ts +18 -18
- package/dist/types/elements/IconText.d.ts +14 -11
- package/dist/types/elements/Image.d.ts +17 -17
- package/dist/types/elements/Link.d.ts +10 -14
- package/dist/types/elements/LinkButton.d.ts +3 -9
- package/dist/types/elements/ListItem.d.ts +6 -11
- package/dist/types/elements/Notification.d.ts +33 -24
- package/dist/types/elements/OrderedList.d.ts +7 -8
- package/dist/types/elements/Paragraph.d.ts +5 -10
- package/dist/types/elements/Pre.d.ts +5 -10
- package/dist/types/elements/Progress.d.ts +16 -10
- package/dist/types/elements/Skeleton.d.ts +4 -13
- package/dist/types/elements/Span.d.ts +5 -9
- package/dist/types/elements/Strong.d.ts +5 -10
- package/dist/types/elements/SubTitle.d.ts +9 -11
- package/dist/types/elements/Table.d.ts +8 -9
- package/dist/types/elements/Tag.d.ts +9 -12
- package/dist/types/elements/Tags.d.ts +4 -5
- package/dist/types/elements/Tbody.d.ts +2 -3
- package/dist/types/elements/Td.d.ts +3 -4
- package/dist/types/elements/Tfoot.d.ts +2 -3
- package/dist/types/elements/Th.d.ts +5 -6
- package/dist/types/elements/Thead.d.ts +2 -3
- package/dist/types/elements/Title.d.ts +10 -12
- package/dist/types/elements/Tr.d.ts +4 -5
- package/dist/types/elements/UnorderedList.d.ts +4 -5
- package/dist/types/form/Autocomplete.d.ts +35 -38
- package/dist/types/form/Checkbox.d.ts +7 -18
- package/dist/types/form/Checkboxes.d.ts +6 -7
- package/dist/types/form/Control.d.ts +21 -20
- package/dist/types/form/DateInput.d.ts +24 -24
- package/dist/types/form/DateInputBase.d.ts +36 -34
- package/dist/types/form/DateTimeInput.d.ts +22 -22
- package/dist/types/form/DateTimeInputBase.d.ts +44 -42
- package/dist/types/form/Field.d.ts +23 -26
- package/dist/types/form/File.d.ts +20 -16
- package/dist/types/form/Input.d.ts +20 -24
- package/dist/types/form/InputBase.d.ts +10 -11
- package/dist/types/form/Numberinput.d.ts +27 -24
- package/dist/types/form/Radio.d.ts +7 -18
- package/dist/types/form/Radios.d.ts +6 -7
- package/dist/types/form/Rate.d.ts +21 -37
- package/dist/types/form/Select.d.ts +16 -20
- package/dist/types/form/SelectBase.d.ts +13 -14
- package/dist/types/form/Slider.d.ts +62 -41
- package/dist/types/form/Switch.d.ts +16 -19
- package/dist/types/form/Taginput.d.ts +45 -48
- package/dist/types/form/TextArea.d.ts +11 -15
- package/dist/types/form/TextAreaBase.d.ts +13 -14
- package/dist/types/form/TimeInput.d.ts +24 -23
- package/dist/types/form/TimeInputBase.d.ts +38 -59
- package/dist/types/form/fieldProps.d.ts +1 -1
- package/dist/types/form/useAutoLabelId.d.ts +28 -0
- package/dist/types/grid/Cell.d.ts +12 -13
- package/dist/types/grid/Grid.d.ts +16 -17
- package/dist/types/helpers/colorDeprecations.d.ts +17 -0
- package/dist/types/layout/Container.d.ts +16 -13
- package/dist/types/layout/Footer.d.ts +7 -8
- package/dist/types/layout/Hero.d.ts +34 -28
- package/dist/types/layout/Level.d.ts +30 -33
- package/dist/types/layout/Media.d.ts +25 -29
- package/dist/types/layout/Section.d.ts +7 -8
- package/package.json +18 -18
|
@@ -2,34 +2,33 @@ import React from 'react';
|
|
|
2
2
|
import { BulmaClassesProps } from '../helpers/useBulmaClasses';
|
|
3
3
|
/**
|
|
4
4
|
* Props for the TextArea component.
|
|
5
|
-
*
|
|
6
|
-
* @property {'primary'|'link'|'info'|'success'|'warning'|'danger'|'black'|'dark'|'light'|'white'} [color] - Bulma color modifier for the textarea.
|
|
7
|
-
* @property {'small'|'medium'|'large'} [size] - Size modifier for the textarea.
|
|
8
|
-
* @property {boolean} [isRounded] - Renders the textarea with rounded corners.
|
|
9
|
-
* @property {boolean} [isStatic] - Renders the textarea as static text.
|
|
10
|
-
* @property {boolean} [isHovered] - Applies the hovered state.
|
|
11
|
-
* @property {boolean} [isFocused] - Applies the focused state.
|
|
12
|
-
* @property {boolean} [isLoading] - Shows loading indicator.
|
|
13
|
-
* @property {boolean} [isActive] - Applies Bulma's is-active modifier.
|
|
14
|
-
* @property {boolean} [hasFixedSize] - Applies Bulma's has-fixed-size modifier.
|
|
15
|
-
* @property {string} [className] - Additional CSS classes to apply.
|
|
16
|
-
* @property {boolean} [disabled] - Whether the textarea is disabled.
|
|
17
|
-
* @property {boolean} [readOnly] - Whether the textarea is read-only.
|
|
18
|
-
* @property {number} [rows] - Number of visible text lines.
|
|
19
5
|
*/
|
|
20
6
|
export interface TextAreaBaseProps extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, 'size'>, Omit<BulmaClassesProps, 'color'> {
|
|
7
|
+
/** Bulma color modifier for the textarea. */
|
|
21
8
|
color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger' | 'black' | 'dark' | 'light' | 'white';
|
|
9
|
+
/** Size modifier for the textarea. */
|
|
22
10
|
size?: 'small' | 'medium' | 'large';
|
|
11
|
+
/** Rounded textarea corners. */
|
|
23
12
|
isRounded?: boolean;
|
|
13
|
+
/** Renders textarea as static (styled readonly). */
|
|
24
14
|
isStatic?: boolean;
|
|
15
|
+
/** Applies hovered state. */
|
|
25
16
|
isHovered?: boolean;
|
|
17
|
+
/** Applies focused state. */
|
|
26
18
|
isFocused?: boolean;
|
|
19
|
+
/** Shows loading indicator on the wrapping Control. */
|
|
27
20
|
isLoading?: boolean;
|
|
21
|
+
/** Applies Bulma's is-active modifier. */
|
|
28
22
|
isActive?: boolean;
|
|
23
|
+
/** Fixed textarea size (no resize). */
|
|
29
24
|
hasFixedSize?: boolean;
|
|
25
|
+
/** Additional CSS classes to apply. */
|
|
30
26
|
className?: string;
|
|
27
|
+
/** Disables the textarea. */
|
|
31
28
|
disabled?: boolean;
|
|
29
|
+
/** Read-only textarea. */
|
|
32
30
|
readOnly?: boolean;
|
|
31
|
+
/** Number of visible text lines. */
|
|
33
32
|
rows?: number;
|
|
34
33
|
}
|
|
35
34
|
/**
|
|
@@ -5,51 +5,52 @@ import { TimeInputBaseProps } from './TimeInputBase';
|
|
|
5
5
|
/**
|
|
6
6
|
* Props for the TimeInput convenience wrapper. Extends `TimeInputBaseProps`
|
|
7
7
|
* with Field-level (label, horizontal) and Control-level (icons, loading) props.
|
|
8
|
-
*
|
|
9
|
-
* @
|
|
10
|
-
* @
|
|
11
|
-
* @
|
|
12
|
-
* @
|
|
13
|
-
* @property {ControlBaseProps['iconLeft']} [iconLeft] - Icon props for the left icon.
|
|
14
|
-
* @property {ControlBaseProps['iconRight']} [iconRight] - Icon props for the right icon.
|
|
15
|
-
* @property {string} [iconRightName] - Shortcut for the right icon name.
|
|
16
|
-
* @property {ControlBaseProps['iconLeftSize']} [iconLeftSize] - Shortcut for left icon size.
|
|
17
|
-
* @property {ControlBaseProps['iconRightSize']} [iconRightSize] - Shortcut for right icon size.
|
|
18
|
-
* @property {boolean} [hasIconsLeft] - Force the left icon container.
|
|
19
|
-
* @property {boolean} [hasIconsRight] - Force the right icon container.
|
|
20
|
-
* @property {boolean} [isLoading] - Show a loading indicator on the control.
|
|
21
|
-
* @property {boolean} [isExpanded] - Expand the control to fill its container.
|
|
22
|
-
* @property {ControlBaseProps['size']} [controlSize] - Size of the wrapping Control.
|
|
23
|
-
* @property {React.ReactNode} [message] - Help/validation text below the input.
|
|
24
|
-
* @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [messageColor] - Message color.
|
|
25
|
-
* @property {string} [fieldClassName] - Additional CSS classes for the Field wrapper.
|
|
26
|
-
* @property {string} [controlClassName] - Additional CSS classes for the Control wrapper.
|
|
8
|
+
* @extraProp {string} [name] - Form field name.
|
|
9
|
+
* @extraProp {string} [form] - Form id the input belongs to.
|
|
10
|
+
* @extraProp {boolean} [required=false] - Marks the input as required.
|
|
11
|
+
* @extraProp {string} [className] - Additional CSS classes for the input.
|
|
12
|
+
* @extraProp {React.Ref<HTMLInputElement>} [ref] - Forwarded to the underlying `<input>`.
|
|
27
13
|
*/
|
|
28
14
|
export interface TimeInputProps extends TimeInputBaseProps {
|
|
15
|
+
/** Field label. Automatically associated with the input via `htmlFor` — uses your `id` when provided, otherwise a generated one. Not wired in `inline` mode (no visible input to label) and dropped inside an outer `Field`. */
|
|
29
16
|
label?: React.ReactNode;
|
|
17
|
+
/** Size for the label. */
|
|
30
18
|
labelSize?: FieldProps['labelSize'];
|
|
19
|
+
/** Props for the label element. An explicit `htmlFor` here overrides the automatic association (no id is generated then). */
|
|
31
20
|
labelProps?: FieldProps['labelProps'];
|
|
21
|
+
/** Render the field with horizontal layout. */
|
|
32
22
|
horizontal?: boolean;
|
|
23
|
+
/** Icon props for the left icon. */
|
|
33
24
|
iconLeft?: ControlBaseProps['iconLeft'];
|
|
25
|
+
/** Icon props for the right icon. */
|
|
34
26
|
iconRight?: ControlBaseProps['iconRight'];
|
|
27
|
+
/** Shortcut for the right icon name. */
|
|
35
28
|
iconRightName?: string;
|
|
29
|
+
/** Shortcut for left icon size. */
|
|
36
30
|
iconLeftSize?: ControlBaseProps['iconLeftSize'];
|
|
31
|
+
/** Shortcut for right icon size. */
|
|
37
32
|
iconRightSize?: ControlBaseProps['iconRightSize'];
|
|
33
|
+
/** Force the left icon container. */
|
|
38
34
|
hasIconsLeft?: boolean;
|
|
35
|
+
/** Force the right icon container. */
|
|
39
36
|
hasIconsRight?: boolean;
|
|
37
|
+
/** Show a loading indicator on the control. */
|
|
40
38
|
isLoading?: boolean;
|
|
39
|
+
/** Expand the control to fill its container. */
|
|
41
40
|
isExpanded?: boolean;
|
|
41
|
+
/** Size of the wrapping Control. */
|
|
42
42
|
controlSize?: ControlBaseProps['size'];
|
|
43
|
+
/** Help/validation text below the input. */
|
|
43
44
|
message?: React.ReactNode;
|
|
45
|
+
/** Color modifier for the help message. */
|
|
44
46
|
messageColor?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
|
|
47
|
+
/** Additional CSS classes for the Field wrapper. */
|
|
45
48
|
fieldClassName?: string;
|
|
49
|
+
/** Additional CSS classes for the Control wrapper. */
|
|
46
50
|
controlClassName?: string;
|
|
47
51
|
}
|
|
48
52
|
/**
|
|
49
|
-
* TimeInput is a form input that opens a popover spinner for time-of-day
|
|
50
|
-
* selection. Supports 12h/24h, optional seconds, custom step increments,
|
|
51
|
-
* min/max bounds, an unselectable-times predicate, and a native
|
|
52
|
-
* `<input type="time">` fallback for touch devices.
|
|
53
|
+
* The `TimeInput` component is a form input that opens a popover spinner for time-of-day selection.
|
|
53
54
|
*
|
|
54
55
|
* @function
|
|
55
56
|
* @param {TimeInputProps} props
|
|
@@ -5,103 +5,82 @@ import { DateFormatOption } from './_pickerInternals/formatters';
|
|
|
5
5
|
/**
|
|
6
6
|
* Props for the raw TimeInput base. Use the higher-level `TimeInput` for
|
|
7
7
|
* Field/Control composition; `TimeInputBase` is the input + popover only.
|
|
8
|
-
*
|
|
9
|
-
* @property {Date | null} [value] - Controlled selected time.
|
|
10
|
-
* @property {Date | null} [defaultValue] - Initial value for uncontrolled usage.
|
|
11
|
-
* @property {(d: Date | null) => void} [onChange] - Fired when the value changes.
|
|
12
|
-
* @property {() => void} [onOpen] - Fired when the popover opens.
|
|
13
|
-
* @property {() => void} [onClose] - Fired when the popover closes.
|
|
14
|
-
* @property {Date} [min] - Earliest selectable time.
|
|
15
|
-
* @property {Date} [max] - Latest selectable time.
|
|
16
|
-
* @property {boolean} [disabled] - Disable the input.
|
|
17
|
-
* @property {boolean} [readOnly] - Make the input read-only.
|
|
18
|
-
* @property {string} [placeholder] - Placeholder text.
|
|
19
|
-
* @property {DateFormatOption} [format] - Token format string or `Intl.DateTimeFormat` options.
|
|
20
|
-
* @property {(s: string) => Date | null} [parse] - Custom parser.
|
|
21
|
-
* @property {string} [locale] - BCP-47 locale tag.
|
|
22
|
-
* @property {boolean} [inline] - Render the spinner inline (no popover).
|
|
23
|
-
* @property {boolean | 'auto'} [mobileNative] - Use native `<input type="time">` on coarse-pointer devices.
|
|
24
|
-
* @property {boolean} [editable] - Allow segmented keyboard typing in the input (type the time directly, auto-advancing across segments). Default `true`.
|
|
25
|
-
* @property {boolean} [popover] - Whether the spinner popover exists. `false` makes the field input-only (segmented typing with no popover). Default `true`.
|
|
26
|
-
* @property {boolean} [openOnFocus] - Open the popover on focus. Default `true`.
|
|
27
|
-
* @property {boolean} [closeOnSelect] - Close after selection. Default `false`.
|
|
28
|
-
* @property {PickerPosition} [position] - Popover anchor position.
|
|
29
|
-
* @property {boolean} [appendToBody] - Render the popover into `document.body` via portal.
|
|
30
|
-
* @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier.
|
|
31
|
-
* @property {'small'|'medium'|'large'} [size] - Size variant.
|
|
32
|
-
* @property {boolean} [isRounded] - Rounded input corners.
|
|
33
|
-
* @property {HourFormat} [hourFormat] - `'12'` or `'24'`. Default `'24'`.
|
|
34
|
-
* @property {boolean} [enableSeconds] - Show a seconds column. Note: iOS Safari's native time picker has no seconds wheel; combine with `mobileNative={false}` if a seconds wheel is required on iOS.
|
|
35
|
-
* @property {number} [incrementHours] - Hour step. Default `1`.
|
|
36
|
-
* @property {number} [incrementMinutes] - Minute step. Default `1`.
|
|
37
|
-
* @property {number} [incrementSeconds] - Second step. Default `1`.
|
|
38
|
-
* @property {(d: Date) => boolean} [unselectableTimes] - Predicate for blocked times (the spinner skips ahead; manual typing rejects them).
|
|
39
|
-
* @property {string} [iconLeftName] - Decorative left icon glyph for the wrapping Control (shown by default; set to '' to hide).
|
|
40
|
-
* @property {boolean} [triggerIcon] - Show a clickable launcher button on the right that toggles the popover. Default `true`.
|
|
41
|
-
* @property {string} [triggerIconName] - Glyph name for the right launcher button. Default `'chevron-down'`.
|
|
42
|
-
* @property {boolean} [audioTick] - Play a short audible tick on each wheel-item crossing. Useful as a substitute for haptic feedback on iOS Safari, which has no web-accessible haptic API. Off by default.
|
|
43
|
-
* @property {boolean} [haptics] - Auto-route platform-appropriate tactile feedback per wheel tick: real vibration on Android (via `navigator.vibrate`) and an audible thunk on iOS (where no haptic API exists). Adds the audio thunk only when vibrate is unavailable, so Android devices aren't subjected to extra sound. The visual band pulse fires regardless. Off by default for backward compat.
|
|
44
8
|
*/
|
|
45
9
|
export interface TimeInputBaseProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'value' | 'defaultValue' | 'onChange' | 'size' | 'color' | 'min' | 'max' | 'type' | 'popover'>, Omit<BulmaClassesProps, 'color'> {
|
|
10
|
+
/** Controlled selected time (date portion is preserved). */
|
|
46
11
|
value?: Date | null;
|
|
12
|
+
/** Initial value for uncontrolled usage. */
|
|
47
13
|
defaultValue?: Date | null;
|
|
14
|
+
/** Fired when the value changes. */
|
|
48
15
|
onChange?: (d: Date | null) => void;
|
|
16
|
+
/** Fired when the popover opens. */
|
|
49
17
|
onOpen?: () => void;
|
|
18
|
+
/** Fired when the popover closes. */
|
|
50
19
|
onClose?: () => void;
|
|
20
|
+
/** Earliest selectable time. */
|
|
51
21
|
min?: Date;
|
|
22
|
+
/** Latest selectable time. */
|
|
52
23
|
max?: Date;
|
|
24
|
+
/** Disable the input. */
|
|
53
25
|
disabled?: boolean;
|
|
26
|
+
/** Make the input read-only. */
|
|
54
27
|
readOnly?: boolean;
|
|
28
|
+
/** Placeholder text for the input. */
|
|
55
29
|
placeholder?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Token format string or `Intl.DateTimeFormat` options.
|
|
32
|
+
* @defaultValue (see below)
|
|
33
|
+
*/
|
|
56
34
|
format?: DateFormatOption;
|
|
35
|
+
/** Custom parser. */
|
|
57
36
|
parse?: (s: string) => Date | null;
|
|
37
|
+
/** BCP-47 locale tag for Intl formatting. */
|
|
58
38
|
locale?: string;
|
|
39
|
+
/** Render the spinner inline (no popover). */
|
|
59
40
|
inline?: boolean;
|
|
41
|
+
/** Use `<input type="time">` on coarse-pointer + small-viewport devices. */
|
|
60
42
|
mobileNative?: boolean | 'auto';
|
|
43
|
+
/** Allow segmented keyboard typing in the input (type the time directly, auto-advancing across segments). `false` makes the field picker-only. */
|
|
61
44
|
editable?: boolean;
|
|
45
|
+
/** Whether the spinner popover exists. `false` makes the field input-only (segmented typing, no popover). */
|
|
62
46
|
popover?: boolean;
|
|
47
|
+
/** Open the popover when the input is focused. */
|
|
63
48
|
openOnFocus?: boolean;
|
|
49
|
+
/** Close the popover after a time is selected (off by default). */
|
|
64
50
|
closeOnSelect?: boolean;
|
|
51
|
+
/** Popover anchor position relative to the input. */
|
|
65
52
|
position?: PickerPosition;
|
|
53
|
+
/** Render the popover into `document.body` via portal. */
|
|
66
54
|
appendToBody?: boolean;
|
|
55
|
+
/** Bulma color modifier. */
|
|
67
56
|
color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
|
|
57
|
+
/** Size variant. */
|
|
68
58
|
size?: 'small' | 'medium' | 'large';
|
|
59
|
+
/** Render the input with rounded corners. */
|
|
69
60
|
isRounded?: boolean;
|
|
61
|
+
/** Hour format. `'12'` shows an AM/PM toggle. */
|
|
70
62
|
hourFormat?: HourFormat;
|
|
63
|
+
/** Show a seconds column. Note: iOS Safari's native time picker UI does not include a seconds wheel; pass `mobileNative={false}` if you need one on iOS. */
|
|
71
64
|
enableSeconds?: boolean;
|
|
65
|
+
/** Hour step for the spinner. */
|
|
72
66
|
incrementHours?: number;
|
|
67
|
+
/** Minute step. Combine with `min`/`max` for slot-style pickers. */
|
|
73
68
|
incrementMinutes?: number;
|
|
69
|
+
/** Second step. Default `1`. */
|
|
74
70
|
incrementSeconds?: number;
|
|
71
|
+
/** Predicate returning `true` for times that should be skipped. Blocked times are also rejected during manual typing. */
|
|
75
72
|
unselectableTimes?: (d: Date) => boolean;
|
|
73
|
+
/** Decorative left icon glyph for the wrapping `Control` (shown by default). Set `''` to hide. */
|
|
76
74
|
iconLeftName?: string;
|
|
75
|
+
/** Show a clickable launcher button on the right that toggles the popover. Default `true`. */
|
|
77
76
|
triggerIcon?: boolean;
|
|
77
|
+
/** Glyph for the right launcher button. */
|
|
78
78
|
triggerIconName?: string;
|
|
79
79
|
/** Optional translatable string overrides. */
|
|
80
80
|
labels?: PickerLabels;
|
|
81
|
-
/**
|
|
82
|
-
* Play a short audible tick on each wheel-item crossing. Provides a
|
|
83
|
-
* substitute for haptic feedback on iOS Safari, which has no web-
|
|
84
|
-
* accessible haptic API as of May 2026. Off by default to avoid
|
|
85
|
-
* surprising users with sound; the tick respects the device's silent
|
|
86
|
-
* switch and is suppressed when no audio device is available.
|
|
87
|
-
*/
|
|
81
|
+
/** Play a short audible click on each wheel-item crossing. Substitute for haptic feedback on iOS Safari (which has no web haptic API as of May 2026); on Android, `navigator.vibrate(5)` fires automatically regardless. */
|
|
88
82
|
audioTick?: boolean;
|
|
89
|
-
/**
|
|
90
|
-
* Auto-route platform-appropriate tactile feedback per wheel tick. When
|
|
91
|
-
* `true`:
|
|
92
|
-
* - On platforms where `navigator.vibrate` is implemented (Android
|
|
93
|
-
* Chrome / Firefox Android / Samsung Internet), the existing
|
|
94
|
-
* unconditional `navigator.vibrate(5)` carries the haptic — no audio
|
|
95
|
-
* is added (don't want to subject Android users to extra sound).
|
|
96
|
-
* - On platforms where `navigator.vibrate` is absent (notably iOS
|
|
97
|
-
* Safari, which has no web-accessible haptic API as of May 2026),
|
|
98
|
-
* the audio thunk is enabled automatically — same as setting
|
|
99
|
-
* `audioTick={true}` manually.
|
|
100
|
-
* - The visual band pulse fires regardless (gated only by
|
|
101
|
-
* `prefers-reduced-motion`).
|
|
102
|
-
* Off by default for backward compat. If `audioTick` is also set, the
|
|
103
|
-
* audio fires regardless of detection (manual opt-in wins).
|
|
104
|
-
*/
|
|
83
|
+
/** Auto-route platform-appropriate feedback: vibrate on Android (already happening), audio thunk on iOS (where vibrate is unavailable). One switch instead of platform-sniffing on the consumer side. `audioTick={true}` always wins. */
|
|
105
84
|
haptics?: boolean;
|
|
106
85
|
}
|
|
107
86
|
/**
|
|
@@ -5,7 +5,7 @@ import React from 'react';
|
|
|
5
5
|
* it will automatically render a Field around itself.
|
|
6
6
|
*/
|
|
7
7
|
export interface FormFieldProps {
|
|
8
|
-
/** Field label. */
|
|
8
|
+
/** Field label, rendered above the widget. */
|
|
9
9
|
label?: React.ReactNode;
|
|
10
10
|
/** Size for the label (used in horizontal layouts). */
|
|
11
11
|
labelSize?: 'small' | 'normal' | 'medium' | 'large';
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { FieldProps } from './Field';
|
|
3
|
+
interface UseAutoLabelIdOptions {
|
|
4
|
+
/** The convenience `label` prop as passed by the caller. */
|
|
5
|
+
label: React.ReactNode;
|
|
6
|
+
/** User-supplied id for the control, if any. */
|
|
7
|
+
id?: string;
|
|
8
|
+
/** User-supplied labelProps, if any. */
|
|
9
|
+
labelProps?: FieldProps['labelProps'];
|
|
10
|
+
/**
|
|
11
|
+
* True when this render actually outputs the label wired to a control —
|
|
12
|
+
* false inside an outer Field (label is dropped), in variants that render
|
|
13
|
+
* no Field, and in modes with no labellable control (e.g. inline pickers).
|
|
14
|
+
*/
|
|
15
|
+
rendersLabel: boolean;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Associates the convenience `label` prop with its control (#368): generates
|
|
19
|
+
* an id for the control and returns labelProps carrying a matching `htmlFor`.
|
|
20
|
+
* A user-supplied `id` is used as the target instead of the generated one, and
|
|
21
|
+
* an explicit `labelProps.htmlFor` disables generation entirely — the user has
|
|
22
|
+
* taken over the association. Internal; not part of the public API.
|
|
23
|
+
*/
|
|
24
|
+
export declare function useAutoLabelId({ label, id, labelProps, rendersLabel, }: UseAutoLabelIdOptions): {
|
|
25
|
+
controlId: string | undefined;
|
|
26
|
+
fieldLabelProps: FieldProps['labelProps'] | undefined;
|
|
27
|
+
};
|
|
28
|
+
export {};
|
|
@@ -6,34 +6,33 @@ import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
|
|
|
6
6
|
export type CellSpanValue = number;
|
|
7
7
|
/**
|
|
8
8
|
* Props for the Cell component.
|
|
9
|
-
*
|
|
10
|
-
* @property {number} [colStart] - Which column the cell starts at (Bulma: is-col-start-x).
|
|
11
|
-
* @property {number} [colFromEnd] - Which column the cell ends at, counting from the end (Bulma: is-col-from-end-x).
|
|
12
|
-
* @property {CellSpanValue} [colSpan] - How many columns the cell will span (Bulma: is-col-span-x).
|
|
13
|
-
* @property {number} [rowStart] - Which row the cell starts at (Bulma: is-row-start-x).
|
|
14
|
-
* @property {number} [rowFromEnd] - Which row the cell ends at, counting from the end (Bulma: is-row-from-end-x).
|
|
15
|
-
* @property {CellSpanValue} [rowSpan] - How many rows the cell will span (Bulma: is-row-span-x).
|
|
16
|
-
* @property {string} [className] - Additional CSS class names.
|
|
17
|
-
* @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').
|
|
18
|
-
* @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier for the cell.
|
|
19
|
-
* @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').
|
|
20
|
-
* @property {React.ReactNode} [children] - Children to render inside the cell.
|
|
21
9
|
*/
|
|
22
10
|
export interface CellProps extends React.HTMLAttributes<HTMLDivElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
|
|
11
|
+
/** Which column the cell starts at (Bulma: `is-col-start-x`). */
|
|
23
12
|
colStart?: number;
|
|
13
|
+
/** Which column the cell ends at, counting from the end (Bulma: `is-col-from-end-x`). */
|
|
24
14
|
colFromEnd?: number;
|
|
15
|
+
/** How many columns the cell will span (Bulma: `is-col-span-x`). */
|
|
25
16
|
colSpan?: CellSpanValue;
|
|
17
|
+
/** Which row the cell starts at (Bulma: `is-row-start-x`). */
|
|
26
18
|
rowStart?: number;
|
|
19
|
+
/** Which row the cell ends at, counting from the end (Bulma: `is-row-from-end-x`). */
|
|
27
20
|
rowFromEnd?: number;
|
|
21
|
+
/** How many rows the cell will span (Bulma: `is-row-span-x`). */
|
|
28
22
|
rowSpan?: CellSpanValue;
|
|
23
|
+
/** Additional CSS class names. */
|
|
29
24
|
className?: string;
|
|
25
|
+
/** Text color. */
|
|
30
26
|
textColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
27
|
+
/** Bulma color modifier for the cell. */
|
|
31
28
|
color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
|
|
29
|
+
/** Background color. */
|
|
32
30
|
bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
31
|
+
/** Content to render inside the cell. */
|
|
33
32
|
children?: React.ReactNode;
|
|
34
33
|
}
|
|
35
34
|
/**
|
|
36
|
-
*
|
|
35
|
+
* The `Cell` component provides a single Bulma grid cell for use inside the [`Grid`](./grid.md) component.
|
|
37
36
|
*
|
|
38
37
|
* @function
|
|
39
38
|
* @param {CellProps} props - Props for the Cell component.
|
|
@@ -19,40 +19,39 @@ export type BulmaFixedGridCols = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11
|
|
|
19
19
|
export type BulmaFixedGridColsProp = BulmaFixedGridCols | 'auto';
|
|
20
20
|
/**
|
|
21
21
|
* Props for the Grid component.
|
|
22
|
-
*
|
|
23
|
-
* @property {boolean} [isFixed] - Use a fixed grid layout (Bulma's .fixed-grid > .grid).
|
|
24
|
-
* @property {BulmaGapValue} [gap] - Main gap for grid (applies is-gap-X, 0-8).
|
|
25
|
-
* @property {BulmaGapValue} [columnGap] - Column gap for grid (applies is-column-gap-X, 0-8).
|
|
26
|
-
* @property {BulmaGapValue} [rowGap] - Row gap for grid (applies is-row-gap-X, 0-8).
|
|
27
|
-
* @property {BulmaMinColValue} [minCol] - Minimum column width for the grid (applies is-col-min-X, 1-32).
|
|
28
|
-
* @property {BulmaFixedGridColsProp} [fixedCols] - For fixed grid only: explicit column count (applies has-X-cols, 0-12), or 'auto' for has-auto-count.
|
|
29
|
-
* @property {BulmaFixedGridCols} [fixedColsMobile] - For fixed grid only: explicit column count for mobile.
|
|
30
|
-
* @property {BulmaFixedGridCols} [fixedColsTablet] - For fixed grid only: explicit column count for tablet.
|
|
31
|
-
* @property {BulmaFixedGridCols} [fixedColsDesktop] - For fixed grid only: explicit column count for desktop.
|
|
32
|
-
* @property {BulmaFixedGridCols} [fixedColsWidescreen] - For fixed grid only: explicit column count for widescreen.
|
|
33
|
-
* @property {BulmaFixedGridCols} [fixedColsFullhd] - For fixed grid only: explicit column count for fullhd.
|
|
34
|
-
* @property {string} [className] - Additional CSS class names.
|
|
35
|
-
* @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color (Bulma color, 'inherit', or 'current').
|
|
36
|
-
* @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier for the grid.
|
|
37
|
-
* @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color (Bulma color, 'inherit', or 'current').
|
|
38
|
-
* @property {React.ReactNode} [children] - Children to render inside the grid.
|
|
39
22
|
*/
|
|
40
23
|
export interface GridProps extends React.HTMLAttributes<HTMLDivElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
|
|
24
|
+
/** Use a fixed grid layout (`.fixed-grid > .grid`). */
|
|
41
25
|
isFixed?: boolean;
|
|
26
|
+
/** Main gap for grid (Bulma `is-gap-X`). */
|
|
42
27
|
gap?: BulmaGapValue;
|
|
28
|
+
/** Column gap for grid (`is-column-gap-X`). */
|
|
43
29
|
columnGap?: BulmaGapValue;
|
|
30
|
+
/** Row gap for grid (`is-row-gap-X`). */
|
|
44
31
|
rowGap?: BulmaGapValue;
|
|
32
|
+
/** Minimum column width for the grid (`is-col-min-X`). */
|
|
45
33
|
minCol?: BulmaMinColValue;
|
|
34
|
+
/** For fixed grids: explicit column count (`has-X-cols`), or `'auto'` for auto-count. */
|
|
46
35
|
fixedCols?: BulmaFixedGridColsProp;
|
|
36
|
+
/** For fixed grids: explicit column count for mobile. */
|
|
47
37
|
fixedColsMobile?: BulmaFixedGridCols;
|
|
38
|
+
/** For fixed grids: explicit column count for tablet. */
|
|
48
39
|
fixedColsTablet?: BulmaFixedGridCols;
|
|
40
|
+
/** For fixed grids: explicit column count for desktop. */
|
|
49
41
|
fixedColsDesktop?: BulmaFixedGridCols;
|
|
42
|
+
/** For fixed grids: explicit column count for widescreen. */
|
|
50
43
|
fixedColsWidescreen?: BulmaFixedGridCols;
|
|
44
|
+
/** For fixed grids: explicit column count for fullhd. */
|
|
51
45
|
fixedColsFullhd?: BulmaFixedGridCols;
|
|
46
|
+
/** Additional CSS classes for the grid. */
|
|
52
47
|
className?: string;
|
|
48
|
+
/** Text color. */
|
|
53
49
|
textColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
50
|
+
/** Bulma color modifier for the grid. */
|
|
54
51
|
color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
|
|
52
|
+
/** Background color. */
|
|
55
53
|
bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
54
|
+
/** Children to render inside the grid (usually `Cell` components). */
|
|
56
55
|
children?: React.ReactNode;
|
|
57
56
|
}
|
|
58
57
|
export declare const Grid: React.FC<GridProps> & {
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Color values that emit an `is-<color>` modifier no shipped Bulma 1.0.4 rule
|
|
3
|
+
* matches on `.progress`/`.notification`/`.hero`. The `has-text-*` and
|
|
4
|
+
* `has-background-*` helpers DO cover these values — only the
|
|
5
|
+
* component-modifier form is dead.
|
|
6
|
+
*/
|
|
7
|
+
export declare const UNSTYLED_MODIFIER_COLORS: readonly ["black-bis", "black-ter", "grey-darker", "grey-dark", "grey", "grey-light", "grey-lighter"];
|
|
8
|
+
/** Test-only: re-arm the warn-once registry. */
|
|
9
|
+
export declare const resetColorDeprecationWarnings: () => void;
|
|
10
|
+
/**
|
|
11
|
+
* Dev warning for a `color` value whose `is-<color>` modifier has no shipped
|
|
12
|
+
* CSS. `extraUnstyled` covers per-component dead values beyond the shared
|
|
13
|
+
* list (e.g. Hero's `inherit`/`current`).
|
|
14
|
+
*/
|
|
15
|
+
export declare const warnUnstyledColor: (component: string, value: string | undefined, extraUnstyled?: readonly string[]) => void;
|
|
16
|
+
/** Dev warning for a `color` prop that has no shipped CSS for any value. */
|
|
17
|
+
export declare const warnDeprecatedColorProp: (component: string, value: string | undefined, hint: string) => void;
|
|
@@ -6,33 +6,36 @@ import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
|
|
|
6
6
|
export type ContainerBreakpoint = 'tablet' | 'desktop' | 'widescreen';
|
|
7
7
|
/**
|
|
8
8
|
* Props for the Container component.
|
|
9
|
-
*
|
|
10
|
-
* @property {string} [className] - Additional CSS classes.
|
|
11
|
-
* @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.
|
|
12
|
-
* @property {'primary'|'link'|'info'|'success'|'warning'|'danger'} [color] - Bulma color modifier.
|
|
13
|
-
* @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.
|
|
14
|
-
* @property {boolean} [fluid] - Full-width container.
|
|
15
|
-
* @property {boolean} [widescreen] - Container is widescreen.
|
|
16
|
-
* @property {boolean} [fullhd] - Container is fullhd.
|
|
17
|
-
* @property {ContainerBreakpoint} [breakpoint] - Responsive breakpoint.
|
|
18
|
-
* @property {boolean} [isMax] - Use is-max-* class for breakpoint.
|
|
19
|
-
* @property {React.ReactNode} [children] - Content inside the container.
|
|
20
9
|
*/
|
|
21
10
|
export interface ContainerProps extends React.HTMLAttributes<HTMLDivElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
|
|
11
|
+
/** Additional CSS classes. */
|
|
22
12
|
className?: string;
|
|
13
|
+
/** Text color helper. */
|
|
23
14
|
textColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
15
|
+
/**
|
|
16
|
+
* Text color alias: renders `has-text-<color>`, exactly like `textColor`.
|
|
17
|
+
* Not a filled variant (no `.container.is-<color>` CSS exists). Prefer
|
|
18
|
+
* `textColor`, which takes precedence when both are set; use `bgColor` for
|
|
19
|
+
* a colored surface.
|
|
20
|
+
*/
|
|
24
21
|
color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
|
|
22
|
+
/** Background color helper. */
|
|
25
23
|
bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
24
|
+
/** Makes the container full-width with a 32px gap on each side. */
|
|
26
25
|
fluid?: boolean;
|
|
26
|
+
/** Makes the container full-width until the `widescreen` breakpoint. */
|
|
27
27
|
widescreen?: boolean;
|
|
28
|
+
/** Makes the container full-width until the `fullhd` breakpoint. */
|
|
28
29
|
fullhd?: boolean;
|
|
30
|
+
/** Responsive breakpoint for container (`is-tablet`, `is-desktop`, `is-widescreen`). */
|
|
29
31
|
breakpoint?: ContainerBreakpoint;
|
|
32
|
+
/** Uses Bulma's `is-max-*` class for the specified breakpoint, limiting max width. */
|
|
30
33
|
isMax?: boolean;
|
|
34
|
+
/** Content inside the container. */
|
|
31
35
|
children?: React.ReactNode;
|
|
32
36
|
}
|
|
33
37
|
/**
|
|
34
|
-
* Container component for Bulma.
|
|
35
|
-
* Adds optional responsive, fluid, and color support, including is-max-* and breakpoint classes.
|
|
38
|
+
* The `Container` component provides a responsive and flexible layout wrapper for your Bulma React UI.
|
|
36
39
|
*
|
|
37
40
|
* @function
|
|
38
41
|
* @param {ContainerProps} props - Props for the Container component.
|
|
@@ -2,24 +2,23 @@ import React from 'react';
|
|
|
2
2
|
import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
|
|
3
3
|
/**
|
|
4
4
|
* Props for the Footer component.
|
|
5
|
-
*
|
|
6
|
-
* @property {'footer'|'div'} [as] - The HTML tag to render as.
|
|
7
|
-
* @property {(typeof validColors)[number] | 'inherit' | 'current'} [color] - Bulma color modifier.
|
|
8
|
-
* @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.
|
|
9
|
-
* @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.
|
|
10
|
-
* @property {string} [className] - Additional CSS classes.
|
|
11
|
-
* @property {React.ReactNode} [children] - Content inside the footer.
|
|
12
5
|
*/
|
|
13
6
|
export interface FooterProps extends React.HTMLAttributes<HTMLElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
|
|
7
|
+
/** The HTML tag to render as. */
|
|
14
8
|
as?: 'footer' | 'div';
|
|
9
|
+
/** Bulma color modifier. */
|
|
15
10
|
color?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
11
|
+
/** Background color. */
|
|
16
12
|
bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
13
|
+
/** Text color. */
|
|
17
14
|
textColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
15
|
+
/** Additional CSS classes. */
|
|
18
16
|
className?: string;
|
|
17
|
+
/** Content inside the footer. */
|
|
19
18
|
children?: React.ReactNode;
|
|
20
19
|
}
|
|
21
20
|
/**
|
|
22
|
-
*
|
|
21
|
+
* The `Footer` component provides a semantic and accessible site footer for your Bulma React UI.
|
|
23
22
|
*
|
|
24
23
|
* @function
|
|
25
24
|
* @param {FooterProps} props - Props for the Footer component.
|
|
@@ -6,40 +6,48 @@ import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses';
|
|
|
6
6
|
export type HeroSize = 'small' | 'medium' | 'large' | 'fullheight' | 'fullheight-with-navbar';
|
|
7
7
|
/**
|
|
8
8
|
* Props for the Hero component.
|
|
9
|
-
*
|
|
10
|
-
* @property {string} [className] - Additional CSS classes.
|
|
11
|
-
* @property {(typeof validColors)[number] | 'inherit' | 'current'} [color] - Bulma color modifier.
|
|
12
|
-
* @property {HeroSize} [size] - Hero size.
|
|
13
|
-
* @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.
|
|
14
|
-
* @property {boolean} [fullheightWithNavbar] - Use fullheight with navbar.
|
|
15
|
-
* @property {React.ReactNode} [children] - Content inside the hero.
|
|
16
9
|
*/
|
|
17
10
|
export interface HeroProps extends React.HTMLAttributes<HTMLElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
|
|
11
|
+
/** Additional CSS classes. */
|
|
18
12
|
className?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Bulma color modifier for the hero section (renders `is-<color>`).
|
|
15
|
+
*
|
|
16
|
+
* Only `primary`, `link`, `info`, `success`, `warning`, `danger`, `black`,
|
|
17
|
+
* `white`, `light`, and `dark` have shipped CSS for `.hero`. The other
|
|
18
|
+
* accepted values (`black-bis`, `black-ter`, `grey-darker`, `grey-dark`,
|
|
19
|
+
* `grey`, `grey-light`, `grey-lighter`, `inherit`, `current`) emit a class
|
|
20
|
+
* no CSS rule matches, so the hero renders unstyled; they log a console
|
|
21
|
+
* warning in development and will be removed from this union in the next
|
|
22
|
+
* major version.
|
|
23
|
+
*/
|
|
19
24
|
color?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
25
|
+
/** Hero size. */
|
|
20
26
|
size?: HeroSize;
|
|
27
|
+
/** Bulma background color helper. */
|
|
21
28
|
bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
29
|
+
/** Use fullheight hero with a navbar offset. */
|
|
22
30
|
fullheightWithNavbar?: boolean;
|
|
31
|
+
/** Hero content (often includes `Hero.Head`, `Hero.Body`, `Hero.Foot`). */
|
|
23
32
|
children?: React.ReactNode;
|
|
24
33
|
}
|
|
25
34
|
/**
|
|
26
35
|
* Props for the HeroHead component.
|
|
27
|
-
*
|
|
28
|
-
* @property {string} [className] - Additional CSS classes.
|
|
29
|
-
* @property {(typeof validColors)[number] | 'inherit' | 'current'} [color] - Bulma color modifier for text.
|
|
30
|
-
* @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.
|
|
31
|
-
* @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.
|
|
32
|
-
* @property {React.ReactNode} [children] - Content.
|
|
33
36
|
*/
|
|
34
37
|
export interface HeroHeadProps extends React.HTMLAttributes<HTMLDivElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
|
|
38
|
+
/** Additional CSS classes. */
|
|
35
39
|
className?: string;
|
|
40
|
+
/** Bulma color modifier for text. */
|
|
36
41
|
color?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
42
|
+
/** Background color. */
|
|
37
43
|
bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
44
|
+
/** Text color. */
|
|
38
45
|
textColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
46
|
+
/** Content. */
|
|
39
47
|
children?: React.ReactNode;
|
|
40
48
|
}
|
|
41
49
|
/**
|
|
42
|
-
*
|
|
50
|
+
* Top bar for navigation or branding.
|
|
43
51
|
*
|
|
44
52
|
* @function
|
|
45
53
|
* @param {HeroHeadProps} props - Props for the HeroHead component.
|
|
@@ -48,22 +56,21 @@ export interface HeroHeadProps extends React.HTMLAttributes<HTMLDivElement>, Omi
|
|
|
48
56
|
export declare const HeroHead: React.FC<HeroHeadProps>;
|
|
49
57
|
/**
|
|
50
58
|
* Props for the HeroBody component.
|
|
51
|
-
*
|
|
52
|
-
* @property {string} [className] - Additional CSS classes.
|
|
53
|
-
* @property {(typeof validColors)[number] | 'inherit' | 'current'} [color] - Bulma color modifier for text.
|
|
54
|
-
* @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.
|
|
55
|
-
* @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.
|
|
56
|
-
* @property {React.ReactNode} [children] - Content.
|
|
57
59
|
*/
|
|
58
60
|
export interface HeroBodyProps extends React.HTMLAttributes<HTMLDivElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
|
|
61
|
+
/** Additional CSS classes. */
|
|
59
62
|
className?: string;
|
|
63
|
+
/** Bulma color modifier for text. */
|
|
60
64
|
color?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
65
|
+
/** Background color. */
|
|
61
66
|
bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
67
|
+
/** Text color. */
|
|
62
68
|
textColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
69
|
+
/** Content. */
|
|
63
70
|
children?: React.ReactNode;
|
|
64
71
|
}
|
|
65
72
|
/**
|
|
66
|
-
*
|
|
73
|
+
* Main content area, vertically centered by default.
|
|
67
74
|
*
|
|
68
75
|
* @function
|
|
69
76
|
* @param {HeroBodyProps} props - Props for the HeroBody component.
|
|
@@ -72,22 +79,21 @@ export interface HeroBodyProps extends React.HTMLAttributes<HTMLDivElement>, Omi
|
|
|
72
79
|
export declare const HeroBody: React.FC<HeroBodyProps>;
|
|
73
80
|
/**
|
|
74
81
|
* Props for the HeroFoot component.
|
|
75
|
-
*
|
|
76
|
-
* @property {string} [className] - Additional CSS classes.
|
|
77
|
-
* @property {(typeof validColors)[number] | 'inherit' | 'current'} [color] - Bulma color modifier for text.
|
|
78
|
-
* @property {(typeof validColors)[number] | 'inherit' | 'current'} [bgColor] - Background color.
|
|
79
|
-
* @property {(typeof validColors)[number] | 'inherit' | 'current'} [textColor] - Text color.
|
|
80
|
-
* @property {React.ReactNode} [children] - Content.
|
|
81
82
|
*/
|
|
82
83
|
export interface HeroFootProps extends React.HTMLAttributes<HTMLDivElement>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
|
|
84
|
+
/** Additional CSS classes. */
|
|
83
85
|
className?: string;
|
|
86
|
+
/** Bulma color modifier for text. */
|
|
84
87
|
color?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
88
|
+
/** Background color. */
|
|
85
89
|
bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
90
|
+
/** Text color. */
|
|
86
91
|
textColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
92
|
+
/** Content. */
|
|
87
93
|
children?: React.ReactNode;
|
|
88
94
|
}
|
|
89
95
|
/**
|
|
90
|
-
*
|
|
96
|
+
* Bottom bar for tabs or actions.
|
|
91
97
|
*
|
|
92
98
|
* @function
|
|
93
99
|
* @param {HeroFootProps} props - Props for the HeroFoot component.
|