@danxbot/ui 20.23.3 → 21.1.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/index.js +23607 -22540
- package/dist/index.js.map +1 -1
- package/dist/pure.js +290 -210
- package/dist/pure.js.map +1 -1
- package/dist/types/components/AppShell.d.ts +1 -1
- package/dist/types/components/Board.d.ts +4 -6
- package/dist/types/components/Card.d.ts +25 -1
- package/dist/types/components/Combobox.d.ts +2 -1
- package/dist/types/components/CommandPalette.d.ts +2 -0
- package/dist/types/components/DateField.d.ts +2 -2
- package/dist/types/components/DragDrop.d.ts +2 -4
- package/dist/types/components/InlineEdit.d.ts +4 -4
- package/dist/types/components/InlineMarkdownEdit.d.ts +2 -2
- package/dist/types/components/PagedWindowList.d.ts +1 -9
- package/dist/types/components/Progress.d.ts +4 -4
- package/dist/types/components/ReadMore.d.ts +2 -2
- package/dist/types/components/SecretField.d.ts +1 -1
- package/dist/types/components/Slider.d.ts +1 -1
- package/dist/types/components/SortMenu.d.ts +1 -1
- package/dist/types/components/Stat.d.ts +1 -1
- package/dist/types/components/StatusSelect.d.ts +1 -1
- package/dist/types/components/TriStateSwitch.d.ts +1 -7
- package/dist/types/components/board/context.d.ts +2 -4
- package/dist/types/components/calendar/CalendarMonth.d.ts +2 -3
- package/dist/types/components/calendar/CalendarTimeGrid.d.ts +1 -2
- package/dist/types/components/calendar/EventActions.d.ts +1 -2
- package/dist/types/components/calendar/format.d.ts +10 -9
- package/dist/types/components/calendar/use-calendar-drag.d.ts +0 -1
- package/dist/types/components/calendar/use-event-keyboard.d.ts +0 -1
- package/dist/types/components/chart/BarList.d.ts +1 -1
- package/dist/types/components/chart/ShareBar.d.ts +1 -1
- package/dist/types/components/chart/TimeSeriesChart.d.ts +2 -4
- package/dist/types/components/chart/shared.d.ts +2 -2
- package/dist/types/components/chart/time-series-scale.d.ts +1 -1
- package/dist/types/components/chat/EffortControl.d.ts +2 -2
- package/dist/types/components/chat/MessageScroller.d.ts +1 -1
- package/dist/types/components/checklist/StatusChecklist.d.ts +1 -1
- package/dist/types/components/edit/outcome.d.ts +0 -12
- package/dist/types/components/file-viewer/frames.d.ts +2 -1
- package/dist/types/components/kanban/KanbanBoard.d.ts +2 -21
- package/dist/types/components/kanban/types.d.ts +1 -1
- package/dist/types/components/markdown/Affordances.d.ts +3 -1
- package/dist/types/components/openapi/resolve.d.ts +7 -3
- package/dist/types/components/openapi/types.d.ts +2 -1
- package/dist/types/components/provenance/ConfidenceBar.d.ts +1 -1
- package/dist/types/components/provenance/ConfidenceReadout.d.ts +2 -2
- package/dist/types/components/provenance/ProvenanceBadge.d.ts +4 -3
- package/dist/types/components/provenance/ProvenanceDetail.d.ts +4 -6
- package/dist/types/components/provenance/ProvenanceDisclosure.d.ts +1 -1
- package/dist/types/components/provenance/absence.d.ts +4 -3
- package/dist/types/components/rbac/RoleKeyPicker.d.ts +1 -1
- package/dist/types/components/rbac/permissionSections.d.ts +1 -1
- package/dist/types/components/rbac/stagedForm.d.ts +4 -4
- package/dist/types/components/roadmap/RoadmapItemCard.d.ts +0 -1
- package/dist/types/index.d.ts +9 -7
- package/dist/types/lib/board/index.d.ts +2 -1
- package/dist/types/lib/board/move.d.ts +2 -2
- package/dist/types/lib/board/rejection.d.ts +8 -0
- package/dist/types/lib/board/types.d.ts +46 -0
- package/dist/types/lib/board/use-board.d.ts +2 -2
- package/dist/types/lib/calendar/drag.d.ts +1 -1
- package/dist/types/lib/calendar/index.d.ts +1 -1
- package/dist/types/lib/calendar/types.d.ts +3 -3
- package/dist/types/lib/confidence.d.ts +5 -0
- package/dist/types/lib/dnd/announce.d.ts +5 -23
- package/dist/types/lib/dnd/index.d.ts +1 -1
- package/dist/types/lib/format.d.ts +19 -18
- package/dist/types/lib/i18n/areas/auth-provenance-flows.d.ts +258 -0
- package/dist/types/lib/i18n/areas/board.d.ts +51 -0
- package/dist/types/lib/i18n/areas/chat-chart.d.ts +164 -0
- package/dist/types/lib/i18n/areas/code-editor.d.ts +40 -0
- package/dist/types/lib/i18n/areas/dates.d.ts +103 -0
- package/dist/types/lib/i18n/areas/docs-views.d.ts +268 -0
- package/dist/types/lib/i18n/areas/feedback.d.ts +104 -0
- package/dist/types/lib/i18n/areas/formats.d.ts +30 -0
- package/dist/types/lib/i18n/areas/forms.d.ts +130 -0
- package/dist/types/lib/i18n/areas/markdown.d.ts +139 -0
- package/dist/types/lib/i18n/areas/move-rejected.d.ts +16 -0
- package/dist/types/lib/i18n/areas/navigation.d.ts +144 -0
- package/dist/types/lib/i18n/areas/rbac.d.ts +584 -0
- package/dist/types/lib/i18n/emphasis.d.ts +3 -0
- package/dist/types/lib/i18n/index.d.ts +8 -0
- package/dist/types/lib/i18n/number-format.d.ts +5 -0
- package/dist/types/lib/i18n/plural.d.ts +7 -0
- package/dist/types/lib/i18n/provider.d.ts +16 -0
- package/dist/types/lib/i18n/strings.d.ts +15 -0
- package/dist/types/lib/intl-cache.d.ts +31 -0
- package/dist/types/lib/markdown/commands.d.ts +4 -2
- package/dist/types/lib/markdown/dom.d.ts +27 -21
- package/dist/types/lib/markdown/hotkeys.d.ts +12 -5
- package/dist/types/lib/markdown/image-decoration.d.ts +22 -1
- package/dist/types/lib/markdown/image-pipeline.d.ts +2 -0
- package/dist/types/lib/markdown/images.d.ts +1 -1
- package/dist/types/lib/markdown/reconcile.d.ts +4 -2
- package/dist/types/lib/markdown/surface.d.ts +4 -2
- package/dist/types/lib/reduced-motion-help.d.ts +2 -1
- package/dist/types/lib/time/relativeAge.d.ts +3 -2
- package/dist/types/lib/time/zone.d.ts +9 -0
- package/dist/types/lib/values/boolean.d.ts +11 -10
- package/dist/types/lib/values/currency.d.ts +5 -5
- package/dist/types/lib/values/date.d.ts +4 -4
- package/dist/types/lib/values/datetime.d.ts +3 -3
- package/dist/types/lib/values/locale-date.d.ts +34 -0
- package/dist/types/lib/values/number.d.ts +5 -5
- package/dist/types/pure.d.ts +1 -0
- package/package.json +1 -1
|
@@ -70,7 +70,7 @@ interface InlineEditFieldProps {
|
|
|
70
70
|
* What the control shows in place of a blank value, and its
|
|
71
71
|
* `aria-placeholder`.
|
|
72
72
|
*
|
|
73
|
-
*
|
|
73
|
+
* Omit for the built-in empty text.
|
|
74
74
|
*/
|
|
75
75
|
placeholder?: string;
|
|
76
76
|
/** Box ramp. Matches `Input`'s names. */
|
|
@@ -122,9 +122,9 @@ interface InlineEditFieldProps {
|
|
|
122
122
|
* What is shown when the commit REJECTS (a thrown error or a rejected
|
|
123
123
|
* promise — never a `{ refusal }`, which renders its own text).
|
|
124
124
|
*
|
|
125
|
-
*
|
|
126
|
-
*
|
|
127
|
-
*
|
|
125
|
+
* Omit for the built-in sentence, which names the key that commits in this
|
|
126
|
+
* configuration: Enter, or Ctrl+Enter for a `multiline` field without
|
|
127
|
+
* `autosaveMs` (blur never re-attempts a failed value, DX-3372 review L1).
|
|
128
128
|
*/
|
|
129
129
|
failureMessage?: string;
|
|
130
130
|
/** The rejected error, handed on so it can be logged or reported. */
|
|
@@ -25,7 +25,7 @@ export interface InlineMarkdownEditProps extends EditActivation {
|
|
|
25
25
|
editing: boolean;
|
|
26
26
|
/** The accessible name of the field and of its editor. */
|
|
27
27
|
label: string;
|
|
28
|
-
/** Shown at rest and in the editor when the value is empty.
|
|
28
|
+
/** Shown at rest and in the editor when the value is empty. Omit for the built-in text. */
|
|
29
29
|
placeholder?: string;
|
|
30
30
|
/** Collapse the rendered view to this many lines behind a `ReadMore`. */
|
|
31
31
|
collapsedLines?: number;
|
|
@@ -55,7 +55,7 @@ export interface InlineMarkdownEditProps extends EditActivation {
|
|
|
55
55
|
* What is shown when the commit REJECTS (never a `{ refusal }`, which
|
|
56
56
|
* renders its own text).
|
|
57
57
|
*
|
|
58
|
-
*
|
|
58
|
+
* Omit for the built-in sentence, which names Ctrl+Enter as the retry key.
|
|
59
59
|
*/
|
|
60
60
|
failureMessage?: string;
|
|
61
61
|
/** The rejected error, handed on so it can be logged or reported. */
|
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
import { type ReactNode } from "react";
|
|
2
2
|
import type { PagedWindow } from "../lib/paged-window";
|
|
3
|
-
export interface PagedWindowStrings {
|
|
4
|
-
/** Shown in a page whose request failed. */
|
|
5
|
-
error: string;
|
|
6
|
-
/** The retry button's label. */
|
|
7
|
-
retry: string;
|
|
8
|
-
}
|
|
9
3
|
export interface PagedWindowItemPosition {
|
|
10
4
|
/** Position among the items currently shown, across every shown page. */
|
|
11
5
|
local: number;
|
|
@@ -24,8 +18,6 @@ export interface PagedWindowListProps<T> {
|
|
|
24
18
|
* arrive, so it only has to be close.
|
|
25
19
|
*/
|
|
26
20
|
estimatedItemHeight: number;
|
|
27
|
-
/** Words in the failed-page row. */
|
|
28
|
-
strings?: Partial<PagedWindowStrings>;
|
|
29
21
|
className?: string;
|
|
30
22
|
}
|
|
31
|
-
export declare function PagedWindowList<T>({ source, getKey, renderItem, estimatedItemHeight,
|
|
23
|
+
export declare function PagedWindowList<T>({ source, getKey, renderItem, estimatedItemHeight, className, }: PagedWindowListProps<T>): import("react").JSX.Element;
|
|
@@ -230,7 +230,7 @@ export interface ProgressProps extends VariantProps<typeof bar> {
|
|
|
230
230
|
className?: string;
|
|
231
231
|
ref?: Ref<HTMLDivElement>;
|
|
232
232
|
}
|
|
233
|
-
export declare function Progress({ value, label, format, showValue, size, tone, className, ref, }: ProgressProps): import("react").JSX.Element;
|
|
233
|
+
export declare function Progress({ value, label, format: formatProp, showValue, size, tone, className, ref, }: ProgressProps): import("react").JSX.Element;
|
|
234
234
|
export interface MeterProps extends VariantProps<typeof bar> {
|
|
235
235
|
value: number;
|
|
236
236
|
min?: number;
|
|
@@ -273,7 +273,7 @@ declare const ring: import("tailwind-variants").TVReturnType<{
|
|
|
273
273
|
* Extracted-tab EXTRACTED/AUDITS/HUMAN VERIFIED/answer-key row) needs more
|
|
274
274
|
* room than `lg` for a "count/total" fraction than a bare percentage ever
|
|
275
275
|
* did — `lg` was sized for two digits, and a real fraction runs to eight
|
|
276
|
-
* or nine characters even compacted ("1.
|
|
276
|
+
* or nine characters even compacted ("1.1K/1.5K"). `xl` is that room.
|
|
277
277
|
*/
|
|
278
278
|
xl: "size-32";
|
|
279
279
|
};
|
|
@@ -307,7 +307,7 @@ declare const ring: import("tailwind-variants").TVReturnType<{
|
|
|
307
307
|
* Extracted-tab EXTRACTED/AUDITS/HUMAN VERIFIED/answer-key row) needs more
|
|
308
308
|
* room than `lg` for a "count/total" fraction than a bare percentage ever
|
|
309
309
|
* did — `lg` was sized for two digits, and a real fraction runs to eight
|
|
310
|
-
* or nine characters even compacted ("1.
|
|
310
|
+
* or nine characters even compacted ("1.1K/1.5K"). `xl` is that room.
|
|
311
311
|
*/
|
|
312
312
|
xl: "size-32";
|
|
313
313
|
};
|
|
@@ -341,7 +341,7 @@ declare const ring: import("tailwind-variants").TVReturnType<{
|
|
|
341
341
|
* Extracted-tab EXTRACTED/AUDITS/HUMAN VERIFIED/answer-key row) needs more
|
|
342
342
|
* room than `lg` for a "count/total" fraction than a bare percentage ever
|
|
343
343
|
* did — `lg` was sized for two digits, and a real fraction runs to eight
|
|
344
|
-
* or nine characters even compacted ("1.
|
|
344
|
+
* or nine characters even compacted ("1.1K/1.5K"). `xl` is that room.
|
|
345
345
|
*/
|
|
346
346
|
xl: "size-32";
|
|
347
347
|
};
|
|
@@ -10,9 +10,9 @@ export interface ReadMoreProps {
|
|
|
10
10
|
defaultExpanded?: boolean;
|
|
11
11
|
/** Fires on every toggle, controlled or not. */
|
|
12
12
|
onExpandedChange?: (expanded: boolean) => void;
|
|
13
|
-
/**
|
|
13
|
+
/** Absent, the built-in "Read more" word of the active `UiLocaleProvider`. */
|
|
14
14
|
moreLabel?: string;
|
|
15
|
-
/**
|
|
15
|
+
/** Absent, the built-in "Show less" word of the active `UiLocaleProvider`. */
|
|
16
16
|
lessLabel?: string;
|
|
17
17
|
className?: string;
|
|
18
18
|
ref?: Ref<HTMLDivElement>;
|
|
@@ -41,7 +41,7 @@ export interface SecretFieldProps extends Pick<FieldProps, "label" | "descriptio
|
|
|
41
41
|
* never rendered while there is no typed text to reveal.
|
|
42
42
|
*/
|
|
43
43
|
revealable?: boolean;
|
|
44
|
-
/** Label on the destructive confirm button.
|
|
44
|
+
/** Label on the destructive confirm button. Absent, the built-in "Clear" word of the active `UiLocaleProvider`. */
|
|
45
45
|
clearConfirmLabel?: string;
|
|
46
46
|
ref?: Ref<HTMLInputElement>;
|
|
47
47
|
}
|
|
@@ -227,5 +227,5 @@ export interface SliderProps extends Omit<VariantProps<typeof slider>, "disabled
|
|
|
227
227
|
className?: string;
|
|
228
228
|
ref?: Ref<HTMLDivElement>;
|
|
229
229
|
}
|
|
230
|
-
export declare function Slider({ value, defaultValue, onValueChange, onValueCommitted, min, max, step, minStepsBetweenValues, thumbCollision, meetingThumbs, thumbLabels, thumbMarkers, label, format, showValue, marks, tooltip, size, tone, disabled, className, ref, }: SliderProps): import("react").JSX.Element;
|
|
230
|
+
export declare function Slider({ value, defaultValue, onValueChange, onValueCommitted, min, max, step, minStepsBetweenValues, thumbCollision, meetingThumbs, thumbLabels, thumbMarkers, label, format: formatProp, showValue, marks, tooltip, size, tone, disabled, className, ref, }: SliderProps): import("react").JSX.Element;
|
|
231
231
|
export {};
|
|
@@ -8,7 +8,7 @@ export interface SortOption<Field extends string = string> {
|
|
|
8
8
|
/**
|
|
9
9
|
* What each direction means for THIS field, in the words that fit it
|
|
10
10
|
* ("A to Z" / "Z to A", "Oldest first" / "Newest first"). Absent, the
|
|
11
|
-
* directions read "Ascending" / "Descending"
|
|
11
|
+
* directions read the built-in "Ascending" / "Descending" words of the active `UiLocaleProvider`. It names the arrows to
|
|
12
12
|
* assistive technology and appears in their tooltips, so a person is never
|
|
13
13
|
* left decoding which way an arrow sorts a date.
|
|
14
14
|
*/
|
|
@@ -91,7 +91,7 @@ export interface StatProps extends VariantProps<typeof stat> {
|
|
|
91
91
|
value: ReactNode;
|
|
92
92
|
/** Rendered smaller, beside the value — "ms", "/min", "GB". */
|
|
93
93
|
unit?: ReactNode;
|
|
94
|
-
/** The change itself — "12%", "+1.
|
|
94
|
+
/** The change itself — "12%", "+1.2K". */
|
|
95
95
|
delta?: ReactNode;
|
|
96
96
|
trend?: StatTrend;
|
|
97
97
|
/** Whether that movement is good. Independent of direction, on purpose. */
|
|
@@ -58,7 +58,7 @@ export interface StatusSelectProps<Value extends string = string> {
|
|
|
58
58
|
* always a mistake somewhere, so this is the wording of the report rather
|
|
59
59
|
* than a label anyone should be seeing.
|
|
60
60
|
*
|
|
61
|
-
*
|
|
61
|
+
* Absent, the built-in "Unknown" word of the active `UiLocaleProvider`. It is NOT the raw value: see the component body.
|
|
62
62
|
*/
|
|
63
63
|
placeholder?: ReactNode;
|
|
64
64
|
className?: string;
|
|
@@ -52,12 +52,6 @@ export interface TriStateSwitchProps {
|
|
|
52
52
|
onValueChange: (value: boolean | null) => void;
|
|
53
53
|
/** The question being answered — the group's accessible name. Required. */
|
|
54
54
|
"aria-label": string;
|
|
55
|
-
/** The words for each stop, read aloud and shown in the caption. */
|
|
56
|
-
labels?: {
|
|
57
|
-
yes?: string;
|
|
58
|
-
no?: string;
|
|
59
|
-
unset?: string;
|
|
60
|
-
};
|
|
61
55
|
/** Shows the current state's word beside the track. @default true */
|
|
62
56
|
showCaption?: boolean;
|
|
63
57
|
disabled?: boolean;
|
|
@@ -65,5 +59,5 @@ export interface TriStateSwitchProps {
|
|
|
65
59
|
size?: TriStateSwitchSize;
|
|
66
60
|
className?: string;
|
|
67
61
|
}
|
|
68
|
-
export declare function TriStateSwitch({ value, onValueChange, "aria-label": ariaLabel,
|
|
62
|
+
export declare function TriStateSwitch({ value, onValueChange, "aria-label": ariaLabel, showCaption, disabled, size, className, }: TriStateSwitchProps): import("react").JSX.Element;
|
|
69
63
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { BoardColumnId, BoardColumnModel, BoardItemId, BoardMoveRequest,
|
|
1
|
+
import type { BoardColumnId, BoardColumnModel, BoardItemId, BoardMoveRequest, BoardMoveOutcome, BoardReorderLabels } from "../../lib/board";
|
|
2
2
|
import type { CrossDrop } from "../../lib/dnd";
|
|
3
3
|
export declare const BoardCardSurfaceContext: import("react").Context<boolean>;
|
|
4
4
|
/** `true` when an ancestor `BoardCardSurface` makes this whole card draggable. */
|
|
@@ -21,14 +21,12 @@ export interface BoardContextValue<T> {
|
|
|
21
21
|
* never fails silently" true of every source by construction, not by
|
|
22
22
|
* convention.
|
|
23
23
|
*/
|
|
24
|
-
requestMove: (request: BoardMoveRequest) =>
|
|
24
|
+
requestMove: (request: BoardMoveRequest) => BoardMoveOutcome;
|
|
25
25
|
/** The words for the card menu's within-column items (`Board`'s `reorderLabels`). */
|
|
26
26
|
reorderLabels: BoardReorderLabels;
|
|
27
27
|
/** What a card dropped on another lane means — `Board`'s `crossLaneDrop`. */
|
|
28
28
|
crossLaneDrop: CrossDrop;
|
|
29
29
|
}
|
|
30
|
-
/** What the menu says when `Board` is given no `reorderLabels`. */
|
|
31
|
-
export declare const DEFAULT_REORDER_LABELS: BoardReorderLabels;
|
|
32
30
|
export interface BoardColumnContextValue {
|
|
33
31
|
columnId: BoardColumnId;
|
|
34
32
|
label: string;
|
|
@@ -21,13 +21,12 @@ export interface CalendarMonthProps {
|
|
|
21
21
|
* See `packBand`; the affordance is counted so it cannot be drawn over an event.
|
|
22
22
|
*/
|
|
23
23
|
maxEventRows?: number;
|
|
24
|
-
locale?: string;
|
|
25
24
|
/** Replace a chip's contents. The chip itself — button, label, colour — stays ours. */
|
|
26
25
|
renderEvent?: (event: CalendarEvent) => ReactNode;
|
|
27
26
|
className?: string;
|
|
28
|
-
/** Accessible name for the grid. */
|
|
27
|
+
/** Accessible name for the grid. Omit for the built-in one. */
|
|
29
28
|
label?: string;
|
|
30
29
|
}
|
|
31
|
-
export declare function CalendarMonth({ month: monthProp, zone, events, weekStartsOn, today, selectedDate, onSelectDate, onSelectEvent, onMonthChange, maxEventRows,
|
|
30
|
+
export declare function CalendarMonth({ month: monthProp, zone, events, weekStartsOn, today, selectedDate, onSelectDate, onSelectEvent, onMonthChange, maxEventRows, renderEvent, className, label, }: CalendarMonthProps): import("react").JSX.Element;
|
|
32
31
|
/** The first day of the month `date` falls in — re-exported for consumers paging. */
|
|
33
32
|
export { startOfMonth, addDays };
|
|
@@ -67,9 +67,8 @@ export interface CalendarTimeGridProps {
|
|
|
67
67
|
* same three outcomes: a new day, a new start, a new length.
|
|
68
68
|
*/
|
|
69
69
|
eventActions?: boolean;
|
|
70
|
-
locale?: string;
|
|
71
70
|
renderEvent?: (event: CalendarEvent) => ReactNode;
|
|
72
71
|
className?: string;
|
|
73
72
|
label?: string;
|
|
74
73
|
}
|
|
75
|
-
export declare function CalendarTimeGrid({ days, zone, events, today, onSelectEvent, slotMinutes, slotHeightPx, scrollToHour, maxAllDayRows, maxLanes, overlapMode, nowInstant, snapMinutes, onEventChange, onCreate, onAnnounce, eventActions,
|
|
74
|
+
export declare function CalendarTimeGrid({ days, zone, events, today, onSelectEvent, slotMinutes, slotHeightPx, scrollToHour, maxAllDayRows, maxLanes, overlapMode, nowInstant, snapMinutes, onEventChange, onCreate, onAnnounce, eventActions, renderEvent, className, label, }: CalendarTimeGridProps): import("react").JSX.Element;
|
|
@@ -11,7 +11,6 @@ export interface EventActionsProps {
|
|
|
11
11
|
maxDurationMinutes?: number;
|
|
12
12
|
onApply: (next: TimedEvent) => void;
|
|
13
13
|
onClose?: () => void;
|
|
14
|
-
locale?: string;
|
|
15
14
|
className?: string;
|
|
16
15
|
}
|
|
17
|
-
export declare function EventActions({ event, zone, days, snapMinutes, maxDurationMinutes, onApply, onClose,
|
|
16
|
+
export declare function EventActions({ event, zone, days, snapMinutes, maxDurationMinutes, onApply, onClose, className, }: EventActionsProps): import("react").JSX.Element;
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import { type Instant, type PlainDate, type TimeZone } from "@/lib/time";
|
|
2
2
|
import type { CalendarEvent } from "@/lib/calendar/types";
|
|
3
|
+
import type { CalendarStrings } from "@/lib/i18n/areas/dates";
|
|
3
4
|
/** `Monday` / `Mon` / `M`, in the viewer's locale. */
|
|
4
|
-
export declare function weekdayName(date: PlainDate, width: "long" | "short" | "narrow", locale
|
|
5
|
+
export declare function weekdayName(date: PlainDate, width: "long" | "short" | "narrow", locale: string): string;
|
|
5
6
|
/** `15` — the number in the cell. */
|
|
6
|
-
export declare function dayNumber(date: PlainDate, locale
|
|
7
|
+
export declare function dayNumber(date: PlainDate, locale: string): string;
|
|
7
8
|
/** `June 2026` — the view's title. */
|
|
8
|
-
export declare function monthTitle(date: PlainDate, locale
|
|
9
|
+
export declare function monthTitle(date: PlainDate, locale: string): string;
|
|
9
10
|
/** `Monday, 15 June 2026` — a cell's accessible name starts with this. */
|
|
10
|
-
export declare function longDate(date: PlainDate, locale
|
|
11
|
+
export declare function longDate(date: PlainDate, locale: string): string;
|
|
11
12
|
/** `9:30 AM` in the calendar's zone — never the host's. */
|
|
12
|
-
export declare function timeOfDay(instant: Instant, zone: TimeZone, locale
|
|
13
|
+
export declare function timeOfDay(instant: Instant, zone: TimeZone, locale: string, withMinutes?: boolean): string;
|
|
13
14
|
/** `GMT−6` — the label above the hour gutter. */
|
|
14
|
-
export declare function zoneLabel(zone: TimeZone, at: Instant, locale
|
|
15
|
+
export declare function zoneLabel(zone: TimeZone, at: Instant, locale: string): string;
|
|
15
16
|
/**
|
|
16
17
|
* The human range of an event: `15–17 June`, `9:30 – 10:30 AM`, `All day`.
|
|
17
18
|
*
|
|
@@ -21,7 +22,7 @@ export declare function zoneLabel(zone: TimeZone, at: Instant, locale?: string):
|
|
|
21
22
|
* most-reported bug in calendar interoperability, so it happens once, here,
|
|
22
23
|
* where a test can point at it.
|
|
23
24
|
*/
|
|
24
|
-
export declare function formatDateRange(event: CalendarEvent, zone: TimeZone, locale
|
|
25
|
+
export declare function formatDateRange(event: CalendarEvent, zone: TimeZone, locale: string, strings: CalendarStrings): string;
|
|
25
26
|
/**
|
|
26
27
|
* A cell's accessible name: `Monday, 15 June 2026, 3 events`.
|
|
27
28
|
*
|
|
@@ -30,7 +31,7 @@ export declare function formatDateRange(event: CalendarEvent, zone: TimeZone, lo
|
|
|
30
31
|
* is empty. Arrowing across a month hearing "14. 15. 16." tells them nothing
|
|
31
32
|
* about where the work is.
|
|
32
33
|
*/
|
|
33
|
-
export declare function cellLabel(date: PlainDate, eventCount: number, locale
|
|
34
|
+
export declare function cellLabel(date: PlainDate, eventCount: number, locale: string, strings: CalendarStrings): string;
|
|
34
35
|
/**
|
|
35
36
|
* An event chip's accessible name.
|
|
36
37
|
*
|
|
@@ -38,4 +39,4 @@ export declare function cellLabel(date: PlainDate, eventCount: number, locale?:
|
|
|
38
39
|
* two identically-titled events on different calendars are distinguishable
|
|
39
40
|
* without seeing the colour.
|
|
40
41
|
*/
|
|
41
|
-
export declare function eventLabel(event: CalendarEvent, zone: TimeZone, paletteLabel: string | undefined, locale
|
|
42
|
+
export declare function eventLabel(event: CalendarEvent, zone: TimeZone, paletteLabel: string | undefined, locale: string, strings: CalendarStrings): string;
|
|
@@ -17,7 +17,6 @@ export interface CalendarDragOptions {
|
|
|
17
17
|
}) => void;
|
|
18
18
|
/** Fired on every committed slot change, for the live region. */
|
|
19
19
|
readonly onAnnounce?: (message: string) => void;
|
|
20
|
-
readonly locale?: string;
|
|
21
20
|
readonly disabled?: boolean;
|
|
22
21
|
}
|
|
23
22
|
export interface CalendarDragState {
|
|
@@ -9,7 +9,6 @@ export interface EventKeyboardOptions {
|
|
|
9
9
|
readonly days: readonly PlainDate[];
|
|
10
10
|
readonly onCommit: (event: TimedEvent, next: TimedEvent) => void;
|
|
11
11
|
readonly onAnnounce?: (message: string) => void;
|
|
12
|
-
readonly locale?: string;
|
|
13
12
|
}
|
|
14
13
|
export interface EventKeyboardState {
|
|
15
14
|
/** The event currently held, or null. */
|
|
@@ -24,4 +24,4 @@ export interface BarListProps {
|
|
|
24
24
|
className?: string;
|
|
25
25
|
ref?: Ref<HTMLUListElement>;
|
|
26
26
|
}
|
|
27
|
-
export declare function BarList({ items, label, maxItems, formatValue, className, ref }: BarListProps): import("react").JSX.Element;
|
|
27
|
+
export declare function BarList({ items, label, maxItems, formatValue: formatCaller, className, ref }: BarListProps): import("react").JSX.Element;
|
|
@@ -17,4 +17,4 @@ export interface ShareBarProps {
|
|
|
17
17
|
className?: string;
|
|
18
18
|
ref?: Ref<HTMLDivElement>;
|
|
19
19
|
}
|
|
20
|
-
export declare function ShareBar({ segments, label, formatValue, className, ref }: ShareBarProps): import("react").JSX.Element;
|
|
20
|
+
export declare function ShareBar({ segments, label, formatValue: formatCaller, className, ref }: ShareBarProps): import("react").JSX.Element;
|
|
@@ -44,17 +44,15 @@ export interface TimeSeriesChartProps {
|
|
|
44
44
|
formatValue?: (value: number) => string;
|
|
45
45
|
/** How a value reads on the y axis; use a compact form here. @default `formatValue` */
|
|
46
46
|
formatAxis?: (value: number) => string;
|
|
47
|
-
/** Locale of the time labels. @default the viewer's */
|
|
48
|
-
locale?: string;
|
|
49
47
|
/** IANA zone the buckets are labelled in, e.g. "UTC". @default the viewer's */
|
|
50
48
|
timeZone?: string;
|
|
51
49
|
/** Called with a member series' key when its band or its legend name is clicked. */
|
|
52
50
|
onSelectSeries?: (key: string) => void;
|
|
53
51
|
/** Plot height in px. @default 240 */
|
|
54
52
|
height?: number;
|
|
55
|
-
/** Said when there is nothing to draw. @default "No data" */
|
|
53
|
+
/** Said when there is nothing to draw. @default the built-in "No data" */
|
|
56
54
|
emptyLabel?: string;
|
|
57
|
-
/** Said over the axis when every value is zero. @default "All values are zero" */
|
|
55
|
+
/** Said over the axis when every value is zero. @default the built-in "All values are zero" */
|
|
58
56
|
zeroLabel?: string;
|
|
59
57
|
className?: string;
|
|
60
58
|
ref?: Ref<HTMLDivElement>;
|
|
@@ -18,9 +18,9 @@ export declare function assertChartData(component: string, data: readonly ChartD
|
|
|
18
18
|
* (`4.5%`), and `<1%` for a real but tiny share so a nonzero segment is never
|
|
19
19
|
* printed as `0%`. A zero total reads `0%`, never `NaN%`.
|
|
20
20
|
*/
|
|
21
|
-
export declare function formatShare(fraction: number): string;
|
|
21
|
+
export declare function formatShare(fraction: number, locale: string): string;
|
|
22
22
|
/** The default way a raw value reads. Callers pass `formatValue` for units. */
|
|
23
|
-
export declare function defaultFormatValue(value: number): string;
|
|
23
|
+
export declare function defaultFormatValue(value: number, locale: string): string;
|
|
24
24
|
/**
|
|
25
25
|
* A tooltip a keyboard and a finger can reach. Base UI opens its tooltip on
|
|
26
26
|
* hover and on KEYBOARD focus only — a tap or a programmatic focus never
|
|
@@ -24,6 +24,6 @@ export interface TimeFormatters {
|
|
|
24
24
|
* its date; a month or wider by month and year. `timeZone` is passed straight
|
|
25
25
|
* to `Intl` (an unknown zone throws, loudly); undefined is the viewer's own.
|
|
26
26
|
*/
|
|
27
|
-
export declare function timeFormatters(bucketMs: number, locale: string
|
|
27
|
+
export declare function timeFormatters(bucketMs: number, locale: string, timeZone: string | undefined): TimeFormatters;
|
|
28
28
|
/** The index of the bucket whose span `[start, start + bucketMs)` holds `at`, or -1. */
|
|
29
29
|
export declare function bucketIndexAt(buckets: readonly number[], bucketMs: number, at: number): number;
|
|
@@ -6,8 +6,8 @@ export interface EffortLevel {
|
|
|
6
6
|
/** One line explaining the trade at this stop. */
|
|
7
7
|
description?: ReactNode;
|
|
8
8
|
}
|
|
9
|
-
export declare const DEFAULT_EFFORT_LEVELS: EffortLevel[];
|
|
10
9
|
export interface EffortControlProps {
|
|
10
|
+
/** The scale, lowest first. @default the built-in five-step scale */
|
|
11
11
|
levels?: EffortLevel[];
|
|
12
12
|
value: string;
|
|
13
13
|
onValueChange: (id: string) => void;
|
|
@@ -20,4 +20,4 @@ export interface EffortControlProps {
|
|
|
20
20
|
disabled?: boolean;
|
|
21
21
|
className?: string;
|
|
22
22
|
}
|
|
23
|
-
export declare function EffortControl({ levels, value, onValueChange, help, inline, side, align, disabled, className, }: EffortControlProps): import("react").JSX.Element;
|
|
23
|
+
export declare function EffortControl({ levels: levelsProp, value, onValueChange, help, inline, side, align, disabled, className, }: EffortControlProps): import("react").JSX.Element;
|
|
@@ -3,7 +3,7 @@ export interface MessageScrollerProps {
|
|
|
3
3
|
children: ReactNode;
|
|
4
4
|
/** Distance from the bottom, in px, still counted as "at the bottom". */
|
|
5
5
|
threshold?: number;
|
|
6
|
-
/** Label for the return-to-newest button. */
|
|
6
|
+
/** Label for the return-to-newest button. @default the built-in "Jump to latest" */
|
|
7
7
|
jumpLabel?: string;
|
|
8
8
|
/** Fades content at the top edge so it reads as continuing past the frame. */
|
|
9
9
|
fade?: boolean;
|
|
@@ -27,7 +27,7 @@ export interface StatusChecklistProps<Key extends string = string> {
|
|
|
27
27
|
* information the consumer put in deliberately.
|
|
28
28
|
*/
|
|
29
29
|
order?: "state" | "given";
|
|
30
|
-
/** Shown when `items` is empty. `EmptyState` supplies the shape. */
|
|
30
|
+
/** Shown when `items` is empty (absent means the provider's own words). `EmptyState` supplies the shape. */
|
|
31
31
|
emptyTitle?: ReactNode;
|
|
32
32
|
emptyDescription?: ReactNode;
|
|
33
33
|
emptyAction?: ReactNode;
|
|
@@ -10,18 +10,6 @@ export type EditOutcome = void | EditRefusal;
|
|
|
10
10
|
export type EditCommit = (value: string, base: string) => EditOutcome | Promise<EditOutcome>;
|
|
11
11
|
export declare function isRefusal(outcome: EditOutcome): outcome is EditRefusal;
|
|
12
12
|
export declare function isPromise(outcome: EditOutcome | Promise<EditOutcome>): outcome is Promise<EditOutcome>;
|
|
13
|
-
/**
|
|
14
|
-
* The key that retries a failed save in a given field: Enter where Enter
|
|
15
|
-
* commits, Ctrl+Enter where Enter inserts a newline. (Both fields accept
|
|
16
|
-
* Cmd+Enter as well as Ctrl+Enter, so "Ctrl+Enter" is true on every platform.)
|
|
17
|
-
*/
|
|
18
|
-
export type RetryKey = "Enter" | "Ctrl+Enter";
|
|
19
|
-
/**
|
|
20
|
-
* The default failure message. It names the retry key because blur never
|
|
21
|
-
* re-attempts a failed value — DX-3372 review L1: the single shared sentence
|
|
22
|
-
* said "press Enter" in fields where Enter inserts a newline.
|
|
23
|
-
*/
|
|
24
|
-
export declare function defaultFailureMessage(retryKey: RetryKey): string;
|
|
25
13
|
/**
|
|
26
14
|
* A refusal nobody can read leaves the field open with nothing beside it — the
|
|
27
15
|
* exact silent failure the outcome contract exists to rule out — so an empty
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { UiStrings } from "../../lib/i18n";
|
|
1
2
|
import type { ViewerFile, ViewerFrame } from "./types";
|
|
2
3
|
/** Where the reader is. The ids are the truth; `index` only says where to land
|
|
3
4
|
when both have vanished (the nearest position). */
|
|
@@ -24,4 +25,4 @@ export interface Start {
|
|
|
24
25
|
*/
|
|
25
26
|
export declare function startFrame(frames: readonly ViewerFrame[], start: Start): ViewerFrame | null;
|
|
26
27
|
/** The frame's name, for a screen reader and for an alt attribute. */
|
|
27
|
-
export declare function frameLabel(frame: ViewerFrame): string;
|
|
28
|
+
export declare function frameLabel(frame: ViewerFrame, strings: UiStrings["fileViewer"], fmt: (n: number) => string): string;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { type ReactNode } from "react";
|
|
2
2
|
import type { DragSessionCallbacks } from "../../lib/dnd";
|
|
3
|
-
import { type DragDropProps } from "../DragDrop";
|
|
4
3
|
import type { KanbanLane, KanbanMove, KanbanRefusal } from "./types";
|
|
5
4
|
export type { KanbanLane, KanbanMove, KanbanRefusal };
|
|
6
5
|
export interface KanbanBoardProps<T> extends Omit<DragSessionCallbacks, "onDragEnd"> {
|
|
@@ -39,26 +38,8 @@ export interface KanbanBoardProps<T> extends Omit<DragSessionCallbacks, "onDragE
|
|
|
39
38
|
onMove: (move: KanbanMove) => void;
|
|
40
39
|
/** Called INSTEAD of `onMove` when the destination lane carries a `refusal`. */
|
|
41
40
|
onRefuse?: (refusal: KanbanRefusal) => void;
|
|
42
|
-
/** Shown in a lane with no cards. */
|
|
41
|
+
/** Shown in a lane with no cards. Omitted, the provider's `kanban.empty`. */
|
|
43
42
|
emptyLane?: ReactNode;
|
|
44
|
-
/**
|
|
45
|
-
* Override any part of the announcement grammar — `DragDrop.strings`, reached
|
|
46
|
-
* through the board.
|
|
47
|
-
*
|
|
48
|
-
* IT WAS UNREACHABLE, and the omission had a symptom. The default sentence is
|
|
49
|
-
* `… Position 1 of 4 in ${containerLabel}`, which reads correctly right up
|
|
50
|
-
* until a lane is called "In review" and a screen reader says "in In review".
|
|
51
|
-
* That is a property of the lane's NAME rather than of the template, so there
|
|
52
|
-
* is no template this component could ship that is right for every board —
|
|
53
|
-
* which is precisely why the engine exposes the grammar, and precisely why a
|
|
54
|
-
* board that swallowed the prop left its consumer with no way out of a
|
|
55
|
-
* sentence they could hear was wrong. Rename the lane, or write the sentence:
|
|
56
|
-
*
|
|
57
|
-
* ```tsx
|
|
58
|
-
* strings={{ picked: (c) => `Picked up ${c.label}, ${c.containerLabel} column.` }}
|
|
59
|
-
* ```
|
|
60
|
-
*/
|
|
61
|
-
strings?: DragDropProps["strings"];
|
|
62
43
|
/**
|
|
63
44
|
* Fill the space between the board's own top and the bottom of whatever
|
|
64
45
|
* scrolls it, so the lanes are the only thing that scrolls down.
|
|
@@ -88,4 +69,4 @@ export interface KanbanBoardProps<T> extends Omit<DragSessionCallbacks, "onDragE
|
|
|
88
69
|
fill?: boolean;
|
|
89
70
|
className?: string;
|
|
90
71
|
}
|
|
91
|
-
export declare function KanbanBoard<T>({ label, lanes, getItemId, itemLabel, renderItem, renderDragging, onMove, onRefuse, emptyLane,
|
|
72
|
+
export declare function KanbanBoard<T>({ label, lanes, getItemId, itemLabel, renderItem, renderDragging, onMove, onRefuse, emptyLane, fill, className, ...callbacks }: KanbanBoardProps<T>): import("react").JSX.Element;
|
|
@@ -50,6 +50,6 @@ export interface KanbanMove {
|
|
|
50
50
|
export interface KanbanRefusal {
|
|
51
51
|
id: string;
|
|
52
52
|
lane: string;
|
|
53
|
-
/**
|
|
53
|
+
/** The sentence shown: the lane's `refusal` verbatim, or the provider's `moveRejected` wording of the core's refusal. */
|
|
54
54
|
reason: string;
|
|
55
55
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type UiStrings } from "../../lib/i18n";
|
|
1
2
|
import { type BlockInfo, type BlockKind, type ConstructInfo, type InlineMark } from "../../lib/markdown/convert";
|
|
2
3
|
import { type Command } from "../../lib/markdown/commands";
|
|
3
4
|
import type { MarkdownSurface } from "../../lib/markdown/surface";
|
|
@@ -30,7 +31,8 @@ export declare function useEditorState(surface: MarkdownSurface | null, version:
|
|
|
30
31
|
interface TypeChoice {
|
|
31
32
|
kind: BlockKind;
|
|
32
33
|
level?: number;
|
|
33
|
-
|
|
34
|
+
/** Which of the active provider's `markdownAffordances.blockTypes` words names this choice. */
|
|
35
|
+
name: keyof UiStrings["markdownAffordances"]["blockTypes"];
|
|
34
36
|
icon: string;
|
|
35
37
|
}
|
|
36
38
|
export interface LineHandleProps {
|
|
@@ -33,15 +33,19 @@ export declare function resolveSchema(doc: Pick<OpenApiDocument, "components">,
|
|
|
33
33
|
* more specifically, never withdrawing it.
|
|
34
34
|
*/
|
|
35
35
|
export declare function mergedParameters(pathParameters: readonly OpenApiParameter[], operationParameters: readonly OpenApiParameter[] | undefined): OpenApiParameter[];
|
|
36
|
+
/** The one word `groupOperations` needs; the viewer passes `useUiStrings().openApiViewer`. */
|
|
37
|
+
export interface GroupOperationsStrings {
|
|
38
|
+
untaggedGroup: string;
|
|
39
|
+
}
|
|
36
40
|
/**
|
|
37
41
|
* Groups every operation by tag, falling back to the first path segment ONLY
|
|
38
42
|
* when the document declares no tag on any operation at all — a document
|
|
39
43
|
* that tags SOME operations and not others puts the untagged remainder in
|
|
40
|
-
*
|
|
44
|
+
* `strings.untaggedGroup` rather than silently switching the whole document to path-based
|
|
41
45
|
* grouping, so a partially-tagged spec still reads as "the author meant to
|
|
42
|
-
* group by tag".
|
|
46
|
+
* group by tag". Groups are ordered the way `locale` sorts their names (DX-4740).
|
|
43
47
|
*/
|
|
44
|
-
export declare function groupOperations(doc: OpenApiDocument): OperationGroup[];
|
|
48
|
+
export declare function groupOperations(doc: OpenApiDocument, strings: GroupOperationsStrings, locale: string): OperationGroup[];
|
|
45
49
|
/**
|
|
46
50
|
* Every operation of the document's top-level `webhooks` (DX-4178), in
|
|
47
51
|
* document order, each carrying its webhook NAME as `path` and `webhook:
|
|
@@ -120,7 +120,8 @@ export interface OperationGroup {
|
|
|
120
120
|
/** The tag name, or — when the document declares no tags at all on the
|
|
121
121
|
* operations it carries — the first non-empty path segment (`resolve.ts`).
|
|
122
122
|
* Never both in the same document: a document that tags ANY operation is
|
|
123
|
-
* grouped by tag, with untagged operations falling into
|
|
123
|
+
* grouped by tag, with untagged operations falling into the group the
|
|
124
|
+
* provider names (`openApiViewer.untaggedGroup`). */
|
|
124
125
|
readonly name: string;
|
|
125
126
|
readonly description?: string;
|
|
126
127
|
readonly operations: readonly ResolvedOperation[];
|
|
@@ -107,7 +107,7 @@ export interface ConfidenceBarProps {
|
|
|
107
107
|
* What the rating is OF, used verbatim at the head of the accessible name and
|
|
108
108
|
* the tooltip: `"<label> 3 of 5"`.
|
|
109
109
|
*
|
|
110
|
-
*
|
|
110
|
+
* Absent means the provider's own word for it.
|
|
111
111
|
*/
|
|
112
112
|
label?: string;
|
|
113
113
|
/** @default "sm" */
|
|
@@ -2,13 +2,13 @@ import type { ProvenanceConfidence } from "./types";
|
|
|
2
2
|
export interface ConfidenceReadoutProps {
|
|
3
3
|
confidence: ProvenanceConfidence | null;
|
|
4
4
|
/**
|
|
5
|
-
* What to say when nothing scored it.
|
|
5
|
+
* What to say when nothing scored it. Absent means the provider's own words.
|
|
6
6
|
*
|
|
7
7
|
* Text rather than an empty bar, because a bar at zero and a bar with nothing
|
|
8
8
|
* to show look identical and mean opposite things.
|
|
9
9
|
*/
|
|
10
10
|
unscoredLabel?: string;
|
|
11
|
-
/** What a RATING is of, at the head of its accessible name.
|
|
11
|
+
/** What a RATING is of, at the head of its accessible name. Absent means the provider's own word. */
|
|
12
12
|
ratingLabel?: string;
|
|
13
13
|
/** Hides the band name on a SCORE, for dense rows where the bar is enough. */
|
|
14
14
|
compact?: boolean;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type UiStrings } from "../../lib/i18n";
|
|
1
2
|
import type { ProvenanceState } from "./types";
|
|
2
3
|
/** How much of the state the badge draws. The accessible name is the same either way. */
|
|
3
4
|
export type ProvenanceBadgeAppearance = "word" | "icon";
|
|
@@ -17,6 +18,6 @@ export interface ProvenanceBadgeProps {
|
|
|
17
18
|
className?: string;
|
|
18
19
|
}
|
|
19
20
|
export declare function ProvenanceBadge({ state, alwaysShow, appearance, size, className, }: ProvenanceBadgeProps): import("react").JSX.Element | null;
|
|
20
|
-
/** The words this library uses for each state. Exported so a
|
|
21
|
-
filters and legends read the same as its badges. */
|
|
22
|
-
export declare function provenanceStateLabel(state: ProvenanceState): string;
|
|
21
|
+
/** The words this library uses for each state, from the provider's strings. Exported so a
|
|
22
|
+
consumer's own filters and legends read the same as its badges. */
|
|
23
|
+
export declare function provenanceStateLabel(state: ProvenanceState, strings: UiStrings["provenanceBadge"]): string;
|
|
@@ -14,9 +14,9 @@ export interface ProvenanceDetailProps {
|
|
|
14
14
|
* audit trail — none of which this library can name.
|
|
15
15
|
*/
|
|
16
16
|
actions?: ReactNode;
|
|
17
|
-
/** Shown in place of the value when there is none and it did not fail. */
|
|
17
|
+
/** Shown in place of the value when there is none and it did not fail. Absent means the provider's own words. */
|
|
18
18
|
emptyLabel?: string;
|
|
19
|
-
/** Shown in place of the value when the viewer may not see it. */
|
|
19
|
+
/** Shown in place of the value when the viewer may not see it. Absent means the provider's own words. */
|
|
20
20
|
redactedLabel?: string;
|
|
21
21
|
/**
|
|
22
22
|
* YOUR word for what a discrete rating is a rating OF — "Self-rated
|
|
@@ -24,12 +24,10 @@ export interface ProvenanceDetailProps {
|
|
|
24
24
|
* tooltip.
|
|
25
25
|
*
|
|
26
26
|
* A rating is drawn as a coloured bar with no words on its face, so this is
|
|
27
|
-
* the only place its meaning is stated to a reader who stops on it.
|
|
28
|
-
*
|
|
27
|
+
* the only place its meaning is stated to a reader who stops on it. Absent
|
|
28
|
+
* means the provider's own word, the blandest true one, because a default naming
|
|
29
29
|
* anybody's domain would be a lie in everybody else's. Ignored for a
|
|
30
30
|
* continuous score, which says its own band aloud.
|
|
31
|
-
*
|
|
32
|
-
* @default "Confidence"
|
|
33
31
|
*/
|
|
34
32
|
ratingLabel?: string;
|
|
35
33
|
/**
|