@allxsmith/bestax-bulma 5.35.0 → 5.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bestax.css +1 -1
- package/dist/bestax.css.map +1 -1
- package/dist/esm/components/EmptyState.js +2 -2
- package/dist/esm/components/EmptyState.js.map +1 -1
- package/dist/esm/components/Timeline.js +150 -0
- package/dist/esm/components/Timeline.js.map +1 -0
- package/dist/esm/elements/Icon.js +2 -3
- package/dist/esm/elements/Icon.js.map +1 -1
- package/dist/esm/form/Autocomplete.js +2 -2
- package/dist/esm/form/Autocomplete.js.map +1 -1
- package/dist/esm/form/Taginput.js +64 -55
- package/dist/esm/form/Taginput.js.map +1 -1
- package/dist/esm/form/useAutoLabelId.js +3 -3
- package/dist/esm/form/useAutoLabelId.js.map +1 -1
- package/dist/extras.css +1 -1
- package/dist/extras.css.map +1 -1
- package/dist/index.cjs +896 -748
- package/dist/index.cjs.map +1 -1
- package/dist/index.esm.js +1 -0
- package/dist/index.esm.js.map +1 -1
- package/dist/types/components/Timeline.d.ts +130 -0
- package/dist/types/elements/Icon.d.ts +6 -1
- package/dist/types/form/Taginput.d.ts +12 -5
- package/dist/types/index.d.ts +1 -0
- package/dist/types-cjs/components/Timeline.d.ts +130 -0
- package/dist/types-cjs/elements/Icon.d.ts +6 -1
- package/dist/types-cjs/form/Taginput.d.ts +12 -5
- package/dist/types-cjs/index.d.ts +1 -0
- package/dist/versions/bestax-no-dark-mode.css +1 -1
- package/dist/versions/bestax-no-dark-mode.css.map +1 -1
- package/dist/versions/bestax-no-helpers-prefixed.css +1 -1
- package/dist/versions/bestax-no-helpers-prefixed.css.map +1 -1
- package/dist/versions/bestax-no-helpers.css +1 -1
- package/dist/versions/bestax-no-helpers.css.map +1 -1
- package/dist/versions/bestax-prefixed.css +1 -1
- package/dist/versions/bestax-prefixed.css.map +1 -1
- package/package.json +1 -1
- package/src/scss/components/_index.scss +2 -0
- package/src/scss/components/_loading.scss +26 -0
- package/src/scss/components/_menu.scss +37 -0
- package/src/scss/components/_timeline.scss +371 -0
- package/src/scss/form/_checkbox.scss +14 -14
- package/src/scss/form/_radio.scss +12 -12
- package/src/scss/form/_switch.scss +21 -21
package/dist/index.esm.js
CHANGED
|
@@ -24,6 +24,7 @@ export { Popover, PopoverBody, PopoverClose, PopoverFooter, PopoverHeader } from
|
|
|
24
24
|
export { HoverCard } from './esm/components/HoverCard.js';
|
|
25
25
|
export { ContextMenu } from './esm/components/ContextMenu.js';
|
|
26
26
|
export { Step, Steps } from './esm/components/Steps.js';
|
|
27
|
+
export { Timeline, TimelineItem } from './esm/components/Timeline.js';
|
|
27
28
|
export { Sidebar } from './esm/components/Sidebar.js';
|
|
28
29
|
export { Toast, ToastContainer, toast } from './esm/components/Toast.js';
|
|
29
30
|
export { Dialog, DialogContainer, dialog } from './esm/components/Dialog.js';
|
package/dist/index.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses.js';
|
|
3
|
+
declare const validTimelineColors: readonly ["primary", "link", "info", "success", "warning", "danger"];
|
|
4
|
+
/** The Bulma colors a marker takes. */
|
|
5
|
+
export type TimelineColor = (typeof validTimelineColors)[number];
|
|
6
|
+
declare const validTimelineTitleElements: readonly ["h2", "h3", "h4", "h5", "h6", "p"];
|
|
7
|
+
/** What each item's title renders as: a heading level, or `p` for a plain line. */
|
|
8
|
+
export type TimelineTitleElement = (typeof validTimelineTitleElements)[number];
|
|
9
|
+
/** Where the rail goes. */
|
|
10
|
+
export type TimelineAlign = 'start' | 'end' | 'alternate';
|
|
11
|
+
/**
|
|
12
|
+
* Props for the Timeline component. The helper props, the other attributes
|
|
13
|
+
* and the `ref` land on the `<ol>`.
|
|
14
|
+
*
|
|
15
|
+
* @extraProp {React.Ref<HTMLOListElement>} [ref] - Ref forwarded to the `<ol>`.
|
|
16
|
+
*/
|
|
17
|
+
export interface TimelineProps extends Omit<React.OlHTMLAttributes<HTMLOListElement>, 'color' | 'role'>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
|
|
18
|
+
/** Additional CSS classes to apply. */
|
|
19
|
+
className?: string;
|
|
20
|
+
/**
|
|
21
|
+
* `Timeline.Item`s, in the order they're read: newest first or oldest
|
|
22
|
+
* first for a record, oldest first with `active` or `pending`.
|
|
23
|
+
*/
|
|
24
|
+
children?: React.ReactNode;
|
|
25
|
+
/**
|
|
26
|
+
* Marks progress. The item at this index, counting the children from 0, is
|
|
27
|
+
* current; the ones before it are completed and the ones after it are
|
|
28
|
+
* upcoming. Leave it out for a record, where nothing is marked. `-1` marks
|
|
29
|
+
* every item upcoming, and an index past the last marks them all completed.
|
|
30
|
+
* A fraction counts as the item it has reached, so `2.5` marks the third
|
|
31
|
+
* item current. Each child counts as one item, with Fragments and arrays opened up, so
|
|
32
|
+
* render one item per child. A component of your own around a
|
|
33
|
+
* `Timeline.Item` still gets its state, but one that renders nothing still
|
|
34
|
+
* counts.
|
|
35
|
+
*/
|
|
36
|
+
active?: number;
|
|
37
|
+
/**
|
|
38
|
+
* What's under way, as a last item after the children: its title, read
|
|
39
|
+
* with `pendingLabel`. Write it as words that say so ("Out for delivery").
|
|
40
|
+
*/
|
|
41
|
+
pending?: React.ReactNode;
|
|
42
|
+
/**
|
|
43
|
+
* `start`: the rail at the start of the line. `end`: at the end, with the
|
|
44
|
+
* text against it. `alternate`: down the middle, the items taking turns and
|
|
45
|
+
* each time across the rail; below Bulma's tablet breakpoint it's `start`.
|
|
46
|
+
*/
|
|
47
|
+
align?: TimelineAlign;
|
|
48
|
+
/**
|
|
49
|
+
* What every item's title renders as: a heading at the level under the
|
|
50
|
+
* heading the timeline sits beneath, or `p` for a busy feed.
|
|
51
|
+
*/
|
|
52
|
+
titleAs?: TimelineTitleElement;
|
|
53
|
+
/**
|
|
54
|
+
* The markers' color, and the color of progress with `active`. Neutral
|
|
55
|
+
* without it, and Bulma's `link` for progress. The markers are hidden from
|
|
56
|
+
* assistive tech, so say what a color means in the words too.
|
|
57
|
+
*/
|
|
58
|
+
color?: TimelineColor;
|
|
59
|
+
/** Read after a completed item's title, visually hidden. In your app's language. */
|
|
60
|
+
completedLabel?: string;
|
|
61
|
+
/** Read after an upcoming item's title, visually hidden. In your app's language. */
|
|
62
|
+
upcomingLabel?: string;
|
|
63
|
+
/** Read after the pending item's title, visually hidden. In your app's language. */
|
|
64
|
+
pendingLabel?: string;
|
|
65
|
+
/** Text color helper. */
|
|
66
|
+
textColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
67
|
+
/** Background color helper. */
|
|
68
|
+
bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Props for Timeline.Item, one event. The helper props, the other attributes
|
|
72
|
+
* and the `ref` land on its `<li>`. The native `title` attribute isn't one of
|
|
73
|
+
* them, since `title` here is the event's title.
|
|
74
|
+
*
|
|
75
|
+
* @extraProp {React.Ref<HTMLLIElement>} [ref] - Ref forwarded to the `<li>`.
|
|
76
|
+
*/
|
|
77
|
+
export interface TimelineItemProps extends Omit<React.LiHTMLAttributes<HTMLLIElement>, 'color' | 'title'>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
|
|
78
|
+
/** Additional CSS classes to apply. */
|
|
79
|
+
className?: string;
|
|
80
|
+
/** What happened, in a line. It renders as the root's `titleAs`. */
|
|
81
|
+
title?: React.ReactNode;
|
|
82
|
+
/**
|
|
83
|
+
* When it happened, as the reader sees it: "14 October 2026", "2 hours
|
|
84
|
+
* ago". Put the whole date in the words, since screen readers mostly read
|
|
85
|
+
* the text.
|
|
86
|
+
*/
|
|
87
|
+
time?: React.ReactNode;
|
|
88
|
+
/**
|
|
89
|
+
* The same moment for machines, as HTML's `datetime` takes it:
|
|
90
|
+
* "2026-10-14", "2026-10-14T08:12", "2026-10". With it, `time` renders in
|
|
91
|
+
* a `<time>`. Keep it the same moment as `time`, since some readers speak it.
|
|
92
|
+
*/
|
|
93
|
+
dateTime?: string;
|
|
94
|
+
/**
|
|
95
|
+
* A picture in the marker. A string is an `Icon` name, drawn from the icon
|
|
96
|
+
* library `ConfigProvider` sets, and anything else renders as it is.
|
|
97
|
+
* Without it, the marker is a dot. It's hidden from assistive tech, so
|
|
98
|
+
* what it means goes in the title.
|
|
99
|
+
*/
|
|
100
|
+
icon?: React.ReactNode;
|
|
101
|
+
/** This item's marker color, over the root's. Say what it means in the words too. */
|
|
102
|
+
color?: TimelineColor;
|
|
103
|
+
/** Anything else about the event, under the title and the time, as written. */
|
|
104
|
+
children?: React.ReactNode;
|
|
105
|
+
/** Text color helper. */
|
|
106
|
+
textColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
107
|
+
/** Background color helper. */
|
|
108
|
+
bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* One event: a marker on the rail, then its title, its time and anything else about it.
|
|
112
|
+
*
|
|
113
|
+
* Outside a `Timeline` it's a record item with an `h2` title, though the
|
|
114
|
+
* styles are registered on `.timeline`, so the rail and the marker need one.
|
|
115
|
+
*
|
|
116
|
+
* @function
|
|
117
|
+
* @param {TimelineItemProps} props - Props for Timeline.Item.
|
|
118
|
+
* @param {React.Ref<HTMLLIElement>} ref - Forwarded ref to the `<li>`.
|
|
119
|
+
* @returns {JSX.Element} The rendered event.
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* <Timeline.Item title="Shipped" time="14 October 2026" dateTime="2026-10-14">
|
|
123
|
+
* Left the warehouse in Leeds.
|
|
124
|
+
* </Timeline.Item>
|
|
125
|
+
*/
|
|
126
|
+
export declare const TimelineItem: React.ForwardRefExoticComponent<TimelineItemProps & React.RefAttributes<HTMLLIElement>>;
|
|
127
|
+
export declare const Timeline: React.ForwardRefExoticComponent<TimelineProps & React.RefAttributes<HTMLOListElement>> & {
|
|
128
|
+
Item: React.ForwardRefExoticComponent<TimelineItemProps & React.RefAttributes<HTMLLIElement>>;
|
|
129
|
+
};
|
|
130
|
+
export default Timeline;
|
|
@@ -29,7 +29,12 @@ interface IconBaseProps extends React.HTMLAttributes<HTMLSpanElement>, BulmaClas
|
|
|
29
29
|
className?: string;
|
|
30
30
|
/** Text color helper. */
|
|
31
31
|
textColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
32
|
-
/**
|
|
32
|
+
/**
|
|
33
|
+
* Text color alias: renders `has-text-<color>`, exactly like `textColor`.
|
|
34
|
+
* Not a filled variant (no `.icon.is-<color>` CSS exists). Prefer
|
|
35
|
+
* `textColor`, which takes precedence when both are set; use `bgColor` for
|
|
36
|
+
* a colored surface.
|
|
37
|
+
*/
|
|
33
38
|
color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
|
|
34
39
|
/** Background color helper. */
|
|
35
40
|
bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
@@ -26,7 +26,7 @@ type IconLibrary = 'fa' | 'mdi' | 'ion' | 'material-icons' | 'material-symbols';
|
|
|
26
26
|
* @extraProp {React.Ref<HTMLInputElement>} [ref] - Ref forwarded to the input element.
|
|
27
27
|
*/
|
|
28
28
|
export interface TaginputProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange' | 'defaultValue'>, Omit<BulmaClassesProps, 'color'>, FormFieldProps {
|
|
29
|
-
/** Field label. Automatically associated with the text input via `htmlFor` — uses your `id` when provided, otherwise a generated one.
|
|
29
|
+
/** Field label. Automatically associated with the text input via `htmlFor` — uses your `id` when provided, otherwise a generated one. Dropped inside an outer `Field`, whose own label associates instead when that `Field` generates a target id (not `grouped`/`hasAddons`, no explicit `labelProps.htmlFor`) and you set no `id` here; it then replaces the `aria-label="Add tag"` fallback too. With `data`, the label naming the input also names the open suggestion list, through `aria-labelledby`, when it has an id: this label always does, and an outer `Field`'s does unless you wired it by hand without an `id` in its `labelProps`. Otherwise the list is named "Suggestions". */
|
|
30
30
|
label?: React.ReactNode;
|
|
31
31
|
/** Props for the label element. An explicit `htmlFor` here overrides the automatic association (no id is generated then). With `data`, while the label names the input, the suggestion list's `aria-labelledby` points at it, through an `id` here when you give one and a generated one otherwise. */
|
|
32
32
|
labelProps?: React.LabelHTMLAttributes<HTMLLabelElement> & {
|
|
@@ -64,9 +64,11 @@ export interface TaginputProps extends Omit<React.HTMLAttributes<HTMLDivElement>
|
|
|
64
64
|
/** Attach tags visually. */
|
|
65
65
|
attached?: boolean;
|
|
66
66
|
/**
|
|
67
|
-
* Maximum number of tags allowed. At the limit the text input
|
|
68
|
-
*
|
|
69
|
-
* tags
|
|
67
|
+
* Maximum number of tags allowed. At the limit the text input stays but
|
|
68
|
+
* turns read-only, so focus stays put and the label still names it. It
|
|
69
|
+
* takes no more tags and the suggestion list stays closed. Backspace (with
|
|
70
|
+
* `removeOnKeys`) or a tag's remove button makes room again. While the
|
|
71
|
+
* counter shows, it describes the input.
|
|
70
72
|
*/
|
|
71
73
|
maxTags?: number;
|
|
72
74
|
/** Maximum length of input. */
|
|
@@ -81,7 +83,12 @@ export interface TaginputProps extends Omit<React.HTMLAttributes<HTMLDivElement>
|
|
|
81
83
|
ellipsis?: boolean;
|
|
82
84
|
/** Shows a counter of the number of tags. */
|
|
83
85
|
hasCounter?: boolean;
|
|
84
|
-
/**
|
|
86
|
+
/**
|
|
87
|
+
* Characters that split pasted text into tags. Each part goes through the
|
|
88
|
+
* same checks as a typed tag, against the tags before it, the paste's own
|
|
89
|
+
* included, and adding stops at `maxTags`. `onChange` fires once for the
|
|
90
|
+
* whole paste, and `onAdd` once for each tag it adds.
|
|
91
|
+
*/
|
|
85
92
|
onPasteSeparators?: string[];
|
|
86
93
|
/** Validation function called before adding a tag. */
|
|
87
94
|
beforeAdding?: (tag: string) => boolean;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -23,6 +23,7 @@ export * from './components/Popover.js';
|
|
|
23
23
|
export * from './components/HoverCard.js';
|
|
24
24
|
export * from './components/ContextMenu.js';
|
|
25
25
|
export * from './components/Steps.js';
|
|
26
|
+
export * from './components/Timeline.js';
|
|
26
27
|
export * from './components/Sidebar.js';
|
|
27
28
|
export * from './components/Toast.js';
|
|
28
29
|
export * from './components/Dialog.js';
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { BulmaClassesProps, validColors } from '../helpers/useBulmaClasses.js';
|
|
3
|
+
declare const validTimelineColors: readonly ["primary", "link", "info", "success", "warning", "danger"];
|
|
4
|
+
/** The Bulma colors a marker takes. */
|
|
5
|
+
export type TimelineColor = (typeof validTimelineColors)[number];
|
|
6
|
+
declare const validTimelineTitleElements: readonly ["h2", "h3", "h4", "h5", "h6", "p"];
|
|
7
|
+
/** What each item's title renders as: a heading level, or `p` for a plain line. */
|
|
8
|
+
export type TimelineTitleElement = (typeof validTimelineTitleElements)[number];
|
|
9
|
+
/** Where the rail goes. */
|
|
10
|
+
export type TimelineAlign = 'start' | 'end' | 'alternate';
|
|
11
|
+
/**
|
|
12
|
+
* Props for the Timeline component. The helper props, the other attributes
|
|
13
|
+
* and the `ref` land on the `<ol>`.
|
|
14
|
+
*
|
|
15
|
+
* @extraProp {React.Ref<HTMLOListElement>} [ref] - Ref forwarded to the `<ol>`.
|
|
16
|
+
*/
|
|
17
|
+
export interface TimelineProps extends Omit<React.OlHTMLAttributes<HTMLOListElement>, 'color' | 'role'>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
|
|
18
|
+
/** Additional CSS classes to apply. */
|
|
19
|
+
className?: string;
|
|
20
|
+
/**
|
|
21
|
+
* `Timeline.Item`s, in the order they're read: newest first or oldest
|
|
22
|
+
* first for a record, oldest first with `active` or `pending`.
|
|
23
|
+
*/
|
|
24
|
+
children?: React.ReactNode;
|
|
25
|
+
/**
|
|
26
|
+
* Marks progress. The item at this index, counting the children from 0, is
|
|
27
|
+
* current; the ones before it are completed and the ones after it are
|
|
28
|
+
* upcoming. Leave it out for a record, where nothing is marked. `-1` marks
|
|
29
|
+
* every item upcoming, and an index past the last marks them all completed.
|
|
30
|
+
* A fraction counts as the item it has reached, so `2.5` marks the third
|
|
31
|
+
* item current. Each child counts as one item, with Fragments and arrays opened up, so
|
|
32
|
+
* render one item per child. A component of your own around a
|
|
33
|
+
* `Timeline.Item` still gets its state, but one that renders nothing still
|
|
34
|
+
* counts.
|
|
35
|
+
*/
|
|
36
|
+
active?: number;
|
|
37
|
+
/**
|
|
38
|
+
* What's under way, as a last item after the children: its title, read
|
|
39
|
+
* with `pendingLabel`. Write it as words that say so ("Out for delivery").
|
|
40
|
+
*/
|
|
41
|
+
pending?: React.ReactNode;
|
|
42
|
+
/**
|
|
43
|
+
* `start`: the rail at the start of the line. `end`: at the end, with the
|
|
44
|
+
* text against it. `alternate`: down the middle, the items taking turns and
|
|
45
|
+
* each time across the rail; below Bulma's tablet breakpoint it's `start`.
|
|
46
|
+
*/
|
|
47
|
+
align?: TimelineAlign;
|
|
48
|
+
/**
|
|
49
|
+
* What every item's title renders as: a heading at the level under the
|
|
50
|
+
* heading the timeline sits beneath, or `p` for a busy feed.
|
|
51
|
+
*/
|
|
52
|
+
titleAs?: TimelineTitleElement;
|
|
53
|
+
/**
|
|
54
|
+
* The markers' color, and the color of progress with `active`. Neutral
|
|
55
|
+
* without it, and Bulma's `link` for progress. The markers are hidden from
|
|
56
|
+
* assistive tech, so say what a color means in the words too.
|
|
57
|
+
*/
|
|
58
|
+
color?: TimelineColor;
|
|
59
|
+
/** Read after a completed item's title, visually hidden. In your app's language. */
|
|
60
|
+
completedLabel?: string;
|
|
61
|
+
/** Read after an upcoming item's title, visually hidden. In your app's language. */
|
|
62
|
+
upcomingLabel?: string;
|
|
63
|
+
/** Read after the pending item's title, visually hidden. In your app's language. */
|
|
64
|
+
pendingLabel?: string;
|
|
65
|
+
/** Text color helper. */
|
|
66
|
+
textColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
67
|
+
/** Background color helper. */
|
|
68
|
+
bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Props for Timeline.Item, one event. The helper props, the other attributes
|
|
72
|
+
* and the `ref` land on its `<li>`. The native `title` attribute isn't one of
|
|
73
|
+
* them, since `title` here is the event's title.
|
|
74
|
+
*
|
|
75
|
+
* @extraProp {React.Ref<HTMLLIElement>} [ref] - Ref forwarded to the `<li>`.
|
|
76
|
+
*/
|
|
77
|
+
export interface TimelineItemProps extends Omit<React.LiHTMLAttributes<HTMLLIElement>, 'color' | 'title'>, Omit<BulmaClassesProps, 'color' | 'backgroundColor'> {
|
|
78
|
+
/** Additional CSS classes to apply. */
|
|
79
|
+
className?: string;
|
|
80
|
+
/** What happened, in a line. It renders as the root's `titleAs`. */
|
|
81
|
+
title?: React.ReactNode;
|
|
82
|
+
/**
|
|
83
|
+
* When it happened, as the reader sees it: "14 October 2026", "2 hours
|
|
84
|
+
* ago". Put the whole date in the words, since screen readers mostly read
|
|
85
|
+
* the text.
|
|
86
|
+
*/
|
|
87
|
+
time?: React.ReactNode;
|
|
88
|
+
/**
|
|
89
|
+
* The same moment for machines, as HTML's `datetime` takes it:
|
|
90
|
+
* "2026-10-14", "2026-10-14T08:12", "2026-10". With it, `time` renders in
|
|
91
|
+
* a `<time>`. Keep it the same moment as `time`, since some readers speak it.
|
|
92
|
+
*/
|
|
93
|
+
dateTime?: string;
|
|
94
|
+
/**
|
|
95
|
+
* A picture in the marker. A string is an `Icon` name, drawn from the icon
|
|
96
|
+
* library `ConfigProvider` sets, and anything else renders as it is.
|
|
97
|
+
* Without it, the marker is a dot. It's hidden from assistive tech, so
|
|
98
|
+
* what it means goes in the title.
|
|
99
|
+
*/
|
|
100
|
+
icon?: React.ReactNode;
|
|
101
|
+
/** This item's marker color, over the root's. Say what it means in the words too. */
|
|
102
|
+
color?: TimelineColor;
|
|
103
|
+
/** Anything else about the event, under the title and the time, as written. */
|
|
104
|
+
children?: React.ReactNode;
|
|
105
|
+
/** Text color helper. */
|
|
106
|
+
textColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
107
|
+
/** Background color helper. */
|
|
108
|
+
bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* One event: a marker on the rail, then its title, its time and anything else about it.
|
|
112
|
+
*
|
|
113
|
+
* Outside a `Timeline` it's a record item with an `h2` title, though the
|
|
114
|
+
* styles are registered on `.timeline`, so the rail and the marker need one.
|
|
115
|
+
*
|
|
116
|
+
* @function
|
|
117
|
+
* @param {TimelineItemProps} props - Props for Timeline.Item.
|
|
118
|
+
* @param {React.Ref<HTMLLIElement>} ref - Forwarded ref to the `<li>`.
|
|
119
|
+
* @returns {JSX.Element} The rendered event.
|
|
120
|
+
*
|
|
121
|
+
* @example
|
|
122
|
+
* <Timeline.Item title="Shipped" time="14 October 2026" dateTime="2026-10-14">
|
|
123
|
+
* Left the warehouse in Leeds.
|
|
124
|
+
* </Timeline.Item>
|
|
125
|
+
*/
|
|
126
|
+
export declare const TimelineItem: React.ForwardRefExoticComponent<TimelineItemProps & React.RefAttributes<HTMLLIElement>>;
|
|
127
|
+
export declare const Timeline: React.ForwardRefExoticComponent<TimelineProps & React.RefAttributes<HTMLOListElement>> & {
|
|
128
|
+
Item: React.ForwardRefExoticComponent<TimelineItemProps & React.RefAttributes<HTMLLIElement>>;
|
|
129
|
+
};
|
|
130
|
+
export default Timeline;
|
|
@@ -29,7 +29,12 @@ interface IconBaseProps extends React.HTMLAttributes<HTMLSpanElement>, BulmaClas
|
|
|
29
29
|
className?: string;
|
|
30
30
|
/** Text color helper. */
|
|
31
31
|
textColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
32
|
-
/**
|
|
32
|
+
/**
|
|
33
|
+
* Text color alias: renders `has-text-<color>`, exactly like `textColor`.
|
|
34
|
+
* Not a filled variant (no `.icon.is-<color>` CSS exists). Prefer
|
|
35
|
+
* `textColor`, which takes precedence when both are set; use `bgColor` for
|
|
36
|
+
* a colored surface.
|
|
37
|
+
*/
|
|
33
38
|
color?: 'primary' | 'link' | 'info' | 'success' | 'warning' | 'danger';
|
|
34
39
|
/** Background color helper. */
|
|
35
40
|
bgColor?: (typeof validColors)[number] | 'inherit' | 'current';
|
|
@@ -26,7 +26,7 @@ type IconLibrary = 'fa' | 'mdi' | 'ion' | 'material-icons' | 'material-symbols';
|
|
|
26
26
|
* @extraProp {React.Ref<HTMLInputElement>} [ref] - Ref forwarded to the input element.
|
|
27
27
|
*/
|
|
28
28
|
export interface TaginputProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange' | 'defaultValue'>, Omit<BulmaClassesProps, 'color'>, FormFieldProps {
|
|
29
|
-
/** Field label. Automatically associated with the text input via `htmlFor` — uses your `id` when provided, otherwise a generated one.
|
|
29
|
+
/** Field label. Automatically associated with the text input via `htmlFor` — uses your `id` when provided, otherwise a generated one. Dropped inside an outer `Field`, whose own label associates instead when that `Field` generates a target id (not `grouped`/`hasAddons`, no explicit `labelProps.htmlFor`) and you set no `id` here; it then replaces the `aria-label="Add tag"` fallback too. With `data`, the label naming the input also names the open suggestion list, through `aria-labelledby`, when it has an id: this label always does, and an outer `Field`'s does unless you wired it by hand without an `id` in its `labelProps`. Otherwise the list is named "Suggestions". */
|
|
30
30
|
label?: React.ReactNode;
|
|
31
31
|
/** Props for the label element. An explicit `htmlFor` here overrides the automatic association (no id is generated then). With `data`, while the label names the input, the suggestion list's `aria-labelledby` points at it, through an `id` here when you give one and a generated one otherwise. */
|
|
32
32
|
labelProps?: React.LabelHTMLAttributes<HTMLLabelElement> & {
|
|
@@ -64,9 +64,11 @@ export interface TaginputProps extends Omit<React.HTMLAttributes<HTMLDivElement>
|
|
|
64
64
|
/** Attach tags visually. */
|
|
65
65
|
attached?: boolean;
|
|
66
66
|
/**
|
|
67
|
-
* Maximum number of tags allowed. At the limit the text input
|
|
68
|
-
*
|
|
69
|
-
* tags
|
|
67
|
+
* Maximum number of tags allowed. At the limit the text input stays but
|
|
68
|
+
* turns read-only, so focus stays put and the label still names it. It
|
|
69
|
+
* takes no more tags and the suggestion list stays closed. Backspace (with
|
|
70
|
+
* `removeOnKeys`) or a tag's remove button makes room again. While the
|
|
71
|
+
* counter shows, it describes the input.
|
|
70
72
|
*/
|
|
71
73
|
maxTags?: number;
|
|
72
74
|
/** Maximum length of input. */
|
|
@@ -81,7 +83,12 @@ export interface TaginputProps extends Omit<React.HTMLAttributes<HTMLDivElement>
|
|
|
81
83
|
ellipsis?: boolean;
|
|
82
84
|
/** Shows a counter of the number of tags. */
|
|
83
85
|
hasCounter?: boolean;
|
|
84
|
-
/**
|
|
86
|
+
/**
|
|
87
|
+
* Characters that split pasted text into tags. Each part goes through the
|
|
88
|
+
* same checks as a typed tag, against the tags before it, the paste's own
|
|
89
|
+
* included, and adding stops at `maxTags`. `onChange` fires once for the
|
|
90
|
+
* whole paste, and `onAdd` once for each tag it adds.
|
|
91
|
+
*/
|
|
85
92
|
onPasteSeparators?: string[];
|
|
86
93
|
/** Validation function called before adding a tag. */
|
|
87
94
|
beforeAdding?: (tag: string) => boolean;
|
|
@@ -23,6 +23,7 @@ export * from './components/Popover.js';
|
|
|
23
23
|
export * from './components/HoverCard.js';
|
|
24
24
|
export * from './components/ContextMenu.js';
|
|
25
25
|
export * from './components/Steps.js';
|
|
26
|
+
export * from './components/Timeline.js';
|
|
26
27
|
export * from './components/Sidebar.js';
|
|
27
28
|
export * from './components/Toast.js';
|
|
28
29
|
export * from './components/Dialog.js';
|