@mieweb/ui 0.10.0-dev.11 → 0.10.0-dev.13
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/Input-yN516s5_.d.cts +3 -0
- package/dist/Input-yN516s5_.d.ts +3 -0
- package/dist/ag-grid.d.cts +142 -1
- package/dist/ag-grid.d.ts +142 -1
- package/dist/{chunk-3M7TAXNR.js → chunk-3YFJBUX4.js} +3 -3
- package/dist/{chunk-3M7TAXNR.js.map → chunk-3YFJBUX4.js.map} +1 -1
- package/dist/{chunk-ACCAXVOG.js → chunk-4CXGT3P7.js} +61 -41
- package/dist/chunk-4CXGT3P7.js.map +1 -0
- package/dist/{chunk-OD47TTAW.cjs → chunk-V43ZFGCE.cjs} +9 -9
- package/dist/{chunk-OD47TTAW.cjs.map → chunk-V43ZFGCE.cjs.map} +1 -1
- package/dist/{chunk-X4XPNTCZ.cjs → chunk-YQ2NQV5C.cjs} +61 -41
- package/dist/chunk-YQ2NQV5C.cjs.map +1 -0
- package/dist/components/Alert/index.d.cts +1 -1
- package/dist/components/Alert/index.d.ts +1 -1
- package/dist/components/AlertDialog/index.d.cts +28 -3
- package/dist/components/AlertDialog/index.d.ts +28 -3
- package/dist/components/AudioRecorder/index.d.cts +2 -2
- package/dist/components/AudioRecorder/index.d.ts +2 -2
- package/dist/components/Autocomplete/index.d.cts +8 -2
- package/dist/components/Autocomplete/index.d.ts +8 -2
- package/dist/components/Avatar/index.d.cts +1 -1
- package/dist/components/Avatar/index.d.ts +1 -1
- package/dist/components/Badge/index.d.cts +1 -1
- package/dist/components/Badge/index.d.ts +1 -1
- package/dist/components/BoardView/index.d.cts +91 -4
- package/dist/components/BoardView/index.d.ts +91 -4
- package/dist/components/Button/index.d.cts +1 -1
- package/dist/components/Button/index.d.ts +1 -1
- package/dist/components/CalendarView/index.d.cts +1 -2
- package/dist/components/CalendarView/index.d.ts +1 -2
- package/dist/components/Card/index.d.cts +3 -3
- package/dist/components/Card/index.d.ts +3 -3
- package/dist/components/Dropdown/index.d.cts +2 -1
- package/dist/components/Dropdown/index.d.ts +2 -1
- package/dist/components/GanttView/index.d.cts +1 -2
- package/dist/components/GanttView/index.d.ts +1 -2
- package/dist/components/ListView/index.d.cts +2 -3
- package/dist/components/ListView/index.d.ts +2 -3
- package/dist/components/MediaEditor/index.d.cts +91 -2
- package/dist/components/MediaEditor/index.d.ts +91 -2
- package/dist/components/MediaPlayer/index.d.cts +1 -1
- package/dist/components/MediaPlayer/index.d.ts +1 -1
- package/dist/components/Pagination/index.d.cts +1 -1
- package/dist/components/Pagination/index.d.ts +1 -1
- package/dist/components/PhoneInput/index.d.cts +36 -3
- package/dist/components/PhoneInput/index.d.ts +36 -3
- package/dist/components/Progress/index.d.cts +1 -1
- package/dist/components/Progress/index.d.ts +1 -1
- package/dist/components/Q/index.d.cts +2 -2
- package/dist/components/Q/index.d.ts +2 -2
- package/dist/components/QuickAction/index.d.cts +1 -1
- package/dist/components/QuickAction/index.d.ts +1 -1
- package/dist/components/RecordButton/index.d.cts +1 -1
- package/dist/components/RecordButton/index.d.ts +1 -1
- package/dist/components/RichTextEditor/index.d.cts +7 -2
- package/dist/components/RichTextEditor/index.d.ts +7 -2
- package/dist/components/ScrollArea/index.d.cts +1 -1
- package/dist/components/ScrollArea/index.d.ts +1 -1
- package/dist/components/Select/index.d.cts +1 -2
- package/dist/components/Select/index.d.ts +1 -2
- package/dist/components/Skeleton/index.d.cts +1 -1
- package/dist/components/Skeleton/index.d.ts +1 -1
- package/dist/components/Slider/index.d.cts +2 -2
- package/dist/components/Slider/index.d.ts +2 -2
- package/dist/components/Spinner/index.d.cts +2 -2
- package/dist/components/Spinner/index.d.ts +2 -2
- package/dist/components/SuperChat/index.cjs +3 -3
- package/dist/components/SuperChat/index.d.cts +2 -4
- package/dist/components/SuperChat/index.d.ts +2 -4
- package/dist/components/SuperChat/index.js +1 -1
- package/dist/components/SuperChat/plugins/index.cjs +3 -3
- package/dist/components/SuperChat/plugins/index.d.cts +2 -3
- package/dist/components/SuperChat/plugins/index.d.ts +2 -3
- package/dist/components/SuperChat/plugins/index.js +2 -2
- package/dist/components/Text/index.d.cts +3 -3
- package/dist/components/Text/index.d.ts +3 -3
- package/dist/components/Textarea/index.d.cts +1 -2
- package/dist/components/Textarea/index.d.ts +1 -2
- package/dist/components/ThemeProvider/index.d.cts +3 -1
- package/dist/components/ThemeProvider/index.d.ts +3 -1
- package/dist/components/TranscriptView/index.d.cts +85 -4
- package/dist/components/TranscriptView/index.d.ts +85 -4
- package/dist/components/ViewSet/index.d.cts +120 -9
- package/dist/components/ViewSet/index.d.ts +120 -9
- package/dist/components/ViewSwitcher/index.d.cts +4 -40
- package/dist/components/ViewSwitcher/index.d.ts +4 -40
- package/dist/datavis.d.cts +167 -13
- package/dist/datavis.d.ts +167 -13
- package/dist/esheet.d.cts +183 -1
- package/dist/esheet.d.ts +183 -1
- package/dist/hooks/index.d.cts +383 -31
- package/dist/hooks/index.d.ts +383 -31
- package/dist/index-DoYYWsNc.d.cts +127 -0
- package/dist/index-DoYYWsNc.d.ts +127 -0
- package/dist/index.cjs +47 -47
- package/dist/index.d.cts +7600 -414
- package/dist/index.d.ts +7600 -414
- package/dist/index.js +4 -4
- package/dist/motion.d.cts +186 -2
- package/dist/motion.d.ts +186 -2
- package/dist/q.d.cts +25 -3
- package/dist/q.d.ts +25 -3
- package/dist/styles.css +1 -1
- package/dist/{types-B97JNRNQ.d.cts → types-DOxdTwmq.d.cts} +170 -2
- package/dist/{types-gZXrfLj6.d.ts → types-DOxdTwmq.d.ts} +170 -2
- package/dist/{types-CbWXIKbe.d.cts → types-DsdZvEI1.d.cts} +1 -28
- package/dist/{types-CbWXIKbe.d.ts → types-DsdZvEI1.d.ts} +1 -28
- package/dist/utils/index.d.cts +13 -2
- package/dist/utils/index.d.ts +13 -2
- package/package.json +3 -2
- package/dist/Animated-XmH6k8pZ.d.cts +0 -188
- package/dist/Animated-XmH6k8pZ.d.ts +0 -188
- package/dist/MedicationEditor-Bp4NLy7y.d.cts +0 -352
- package/dist/MedicationEditor-Bp4NLy7y.d.ts +0 -352
- package/dist/chunk-ACCAXVOG.js.map +0 -1
- package/dist/chunk-X4XPNTCZ.cjs.map +0 -1
- package/dist/html-MdxqSzjD.d.cts +0 -13
- package/dist/html-MdxqSzjD.d.ts +0 -13
- package/dist/orderRows-BUJYgSc7.d.cts +0 -221
- package/dist/orderRows-BUJYgSc7.d.ts +0 -221
- package/dist/transcript-Cg7uSW-C.d.cts +0 -84
- package/dist/transcript-Cg7uSW-C.d.ts +0 -84
- package/dist/types-CnPEwzlp.d.cts +0 -254
- package/dist/types-CnPEwzlp.d.ts +0 -254
- package/dist/useAnchoredPosition-CKwLSQW8.d.cts +0 -76
- package/dist/useAnchoredPosition-CKwLSQW8.d.ts +0 -76
- package/dist/useTheme-B9SWu6ui.d.cts +0 -24
- package/dist/useTheme-B9SWu6ui.d.ts +0 -24
- package/dist/useTranscriptEdits-CGzlemHT.d.cts +0 -182
- package/dist/useTranscriptEdits-D32bLs0l.d.ts +0 -182
|
@@ -62,10 +62,10 @@ declare const audioRecorderVariants: (props?: ({
|
|
|
62
62
|
variant?: "default" | "minimal" | "elevated" | null | undefined;
|
|
63
63
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
64
64
|
declare const waveformContainerVariants: (props?: ({
|
|
65
|
-
state?: "
|
|
65
|
+
state?: "idle" | "listening" | "recording" | "paused" | "stopped" | "playback" | null | undefined;
|
|
66
66
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
67
67
|
declare const controlButtonVariants: (props?: ({
|
|
68
|
-
variant?: "primary" | "secondary" | "
|
|
68
|
+
variant?: "primary" | "secondary" | "danger" | "ghost" | null | undefined;
|
|
69
69
|
size?: "sm" | "md" | "lg" | null | undefined;
|
|
70
70
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
71
71
|
declare function formatTime(seconds: number): string;
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { VariantProps } from 'class-variance-authority';
|
|
4
|
-
import
|
|
5
|
-
|
|
4
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
5
|
+
|
|
6
|
+
declare const inputVariants: (props?: ({
|
|
7
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
8
|
+
hasError?: boolean | null | undefined;
|
|
9
|
+
labelVariant?: "stacked" | "floating" | null | undefined;
|
|
10
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
11
|
+
type RequiredMarkVariant = 'default' | 'warning';
|
|
6
12
|
|
|
7
13
|
interface AutocompleteProps<T> extends Pick<VariantProps<typeof inputVariants>, 'size'> {
|
|
8
14
|
/** Candidate items to search through. */
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { VariantProps } from 'class-variance-authority';
|
|
4
|
-
import
|
|
5
|
-
|
|
4
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
5
|
+
|
|
6
|
+
declare const inputVariants: (props?: ({
|
|
7
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
8
|
+
hasError?: boolean | null | undefined;
|
|
9
|
+
labelVariant?: "stacked" | "floating" | null | undefined;
|
|
10
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
11
|
+
type RequiredMarkVariant = 'default' | 'warning';
|
|
6
12
|
|
|
7
13
|
interface AutocompleteProps<T> extends Pick<VariantProps<typeof inputVariants>, 'size'> {
|
|
8
14
|
/** Candidate items to search through. */
|
|
@@ -3,7 +3,7 @@ import * as React from 'react';
|
|
|
3
3
|
import { VariantProps } from 'class-variance-authority';
|
|
4
4
|
|
|
5
5
|
declare const avatarVariants: (props?: ({
|
|
6
|
-
size?: "
|
|
6
|
+
size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
|
|
7
7
|
ring?: boolean | null | undefined;
|
|
8
8
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
9
9
|
interface AvatarProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof avatarVariants> {
|
|
@@ -3,7 +3,7 @@ import * as React from 'react';
|
|
|
3
3
|
import { VariantProps } from 'class-variance-authority';
|
|
4
4
|
|
|
5
5
|
declare const avatarVariants: (props?: ({
|
|
6
|
-
size?: "
|
|
6
|
+
size?: "xs" | "sm" | "md" | "lg" | "xl" | null | undefined;
|
|
7
7
|
ring?: boolean | null | undefined;
|
|
8
8
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
9
9
|
interface AvatarProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof avatarVariants> {
|
|
@@ -3,7 +3,7 @@ import * as React from 'react';
|
|
|
3
3
|
import { VariantProps } from 'class-variance-authority';
|
|
4
4
|
|
|
5
5
|
declare const badgeVariants: (props?: ({
|
|
6
|
-
variant?: "default" | "secondary" | "
|
|
6
|
+
variant?: "default" | "secondary" | "success" | "warning" | "danger" | "outline" | null | undefined;
|
|
7
7
|
size?: "sm" | "md" | "lg" | null | undefined;
|
|
8
8
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
9
9
|
interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement>, VariantProps<typeof badgeVariants> {
|
|
@@ -3,7 +3,7 @@ import * as React from 'react';
|
|
|
3
3
|
import { VariantProps } from 'class-variance-authority';
|
|
4
4
|
|
|
5
5
|
declare const badgeVariants: (props?: ({
|
|
6
|
-
variant?: "default" | "secondary" | "
|
|
6
|
+
variant?: "default" | "secondary" | "success" | "warning" | "danger" | "outline" | null | undefined;
|
|
7
7
|
size?: "sm" | "md" | "lg" | null | undefined;
|
|
8
8
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
9
9
|
interface BadgeProps extends React.HTMLAttributes<HTMLSpanElement>, VariantProps<typeof badgeVariants> {
|
|
@@ -1,9 +1,96 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
3
3
|
import { VariantProps } from 'class-variance-authority';
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* The contract every component in the `Modules/Views` family reads through.
|
|
8
|
+
*
|
|
9
|
+
* A page describes its collection once — which field is the id, the title, the
|
|
10
|
+
* status, the start date — and every view understands it. That is the whole
|
|
11
|
+
* reason the family exists: without it each view needs its own adapter and you
|
|
12
|
+
* end up re-implementing the same board per entity.
|
|
13
|
+
*
|
|
14
|
+
* Views are headless. Nothing here fetches, subscribes, or navigates.
|
|
15
|
+
* See CONTRIBUTING → "Modules: headless data components".
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Which layout is on screen. `overview` and `table` are rendered by the host
|
|
20
|
+
* through `ViewSet` slots rather than by a component in this family — a tabular
|
|
21
|
+
* collection is `DataVisNitroGrid`, and an overview is domain content.
|
|
22
|
+
*/
|
|
23
|
+
type ViewId = 'overview' | 'list' | 'board' | 'calendar' | 'gantt' | 'roadmap' | 'table';
|
|
24
|
+
/**
|
|
25
|
+
* A semantic colour name, resolved to `--mieweb-*` tokens by each view.
|
|
26
|
+
*
|
|
27
|
+
* Accessors return one of these rather than a class string so a caller cannot
|
|
28
|
+
* hardcode a palette that breaks under another brand or in dark mode.
|
|
29
|
+
*/
|
|
30
|
+
type Accent = 'primary' | 'success' | 'warning' | 'destructive' | 'info' | 'neutral';
|
|
31
|
+
/** A named stage: a board column, and the segments of a stage bar. */
|
|
32
|
+
interface Stage {
|
|
33
|
+
id: string;
|
|
34
|
+
label: string;
|
|
35
|
+
accent?: Accent;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* How a view reads one item. Only `getId` and `getTitle` are always required;
|
|
39
|
+
* each view documents which of the rest it needs (a board needs `getStatus`, a
|
|
40
|
+
* Gantt needs `getStart`) and renders an explanatory empty state without them.
|
|
41
|
+
*/
|
|
42
|
+
interface ViewAccessors<T> {
|
|
43
|
+
getId: (item: T) => string;
|
|
44
|
+
getTitle: (item: T) => string;
|
|
45
|
+
/** Secondary line under the title. */
|
|
46
|
+
getSubtitle?: (item: T) => string | undefined;
|
|
47
|
+
/** Board column and list group; matched against `Stage['id']`. */
|
|
48
|
+
getStatus?: (item: T) => string;
|
|
49
|
+
/** Gantt bar start, calendar placement. */
|
|
50
|
+
getStart?: (item: T) => Date | string | null | undefined;
|
|
51
|
+
/** Gantt bar end, calendar span. Falls back to the start when absent. */
|
|
52
|
+
getEnd?: (item: T) => Date | string | null | undefined;
|
|
53
|
+
/** Swimlane in a roadmap, row group in a Gantt. */
|
|
54
|
+
getGroup?: (item: T) => string | undefined;
|
|
55
|
+
getAccent?: (item: T) => Accent;
|
|
56
|
+
}
|
|
57
|
+
/** Strings a view renders. Every one is overridable; the defaults are English. */
|
|
58
|
+
interface ViewLabels {
|
|
59
|
+
/** Accessible name of the view switcher group. */
|
|
60
|
+
viewSwitcher: string;
|
|
61
|
+
loading: string;
|
|
62
|
+
empty: string;
|
|
63
|
+
error: string;
|
|
64
|
+
/** Action on the error state. */
|
|
65
|
+
retry: string;
|
|
66
|
+
/** Heading for the group a record with no status or group falls into. */
|
|
67
|
+
ungrouped: string;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Props every view accepts. Views are controlled: selection, the active view and
|
|
71
|
+
* filter state live in the page, and every change is handed back.
|
|
72
|
+
*/
|
|
73
|
+
interface ViewBaseProps<T> {
|
|
74
|
+
items: T[];
|
|
75
|
+
accessors: ViewAccessors<T>;
|
|
76
|
+
loading?: boolean;
|
|
77
|
+
error?: Error | null;
|
|
78
|
+
selectedId?: string | null;
|
|
79
|
+
/** Called when the user activates an item. */
|
|
80
|
+
onOpen?: (id: string, item: T) => void;
|
|
81
|
+
/** Return a URL to render each item as a real anchor — middle-clickable and crawlable. */
|
|
82
|
+
getHref?: (id: string, item: T) => string;
|
|
83
|
+
/** Render one item. Receives the active view so one function can serve several. */
|
|
84
|
+
renderItem?: (item: T, context: {
|
|
85
|
+
view: ViewId;
|
|
86
|
+
}) => React.ReactNode;
|
|
87
|
+
/** Replaces the built-in empty state. */
|
|
88
|
+
emptyState?: React.ReactNode;
|
|
89
|
+
labels?: Partial<ViewLabels>;
|
|
90
|
+
/** Pins "today" so stories, tests and visual snapshots stay deterministic. */
|
|
91
|
+
now?: Date;
|
|
92
|
+
className?: string;
|
|
93
|
+
}
|
|
7
94
|
|
|
8
95
|
type BoardViewSlot = 'column' | 'columnHeader' | 'card' | 'selectedCard' | 'state';
|
|
9
96
|
interface BoardLabels extends ViewLabels {
|
|
@@ -32,7 +119,7 @@ interface BoardViewProps<T> extends ViewBaseProps<T>, VariantProps<typeof cardVa
|
|
|
32
119
|
headingLevel?: 'h2' | 'h3' | 'h4';
|
|
33
120
|
}
|
|
34
121
|
declare const cardVariants: (props?: ({
|
|
35
|
-
density?: "
|
|
122
|
+
density?: "comfortable" | "compact" | null | undefined;
|
|
36
123
|
interactive?: boolean | null | undefined;
|
|
37
124
|
selected?: boolean | null | undefined;
|
|
38
125
|
pending?: boolean | null | undefined;
|
|
@@ -1,9 +1,96 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
3
3
|
import { VariantProps } from 'class-variance-authority';
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
import * as React from 'react';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* The contract every component in the `Modules/Views` family reads through.
|
|
8
|
+
*
|
|
9
|
+
* A page describes its collection once — which field is the id, the title, the
|
|
10
|
+
* status, the start date — and every view understands it. That is the whole
|
|
11
|
+
* reason the family exists: without it each view needs its own adapter and you
|
|
12
|
+
* end up re-implementing the same board per entity.
|
|
13
|
+
*
|
|
14
|
+
* Views are headless. Nothing here fetches, subscribes, or navigates.
|
|
15
|
+
* See CONTRIBUTING → "Modules: headless data components".
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Which layout is on screen. `overview` and `table` are rendered by the host
|
|
20
|
+
* through `ViewSet` slots rather than by a component in this family — a tabular
|
|
21
|
+
* collection is `DataVisNitroGrid`, and an overview is domain content.
|
|
22
|
+
*/
|
|
23
|
+
type ViewId = 'overview' | 'list' | 'board' | 'calendar' | 'gantt' | 'roadmap' | 'table';
|
|
24
|
+
/**
|
|
25
|
+
* A semantic colour name, resolved to `--mieweb-*` tokens by each view.
|
|
26
|
+
*
|
|
27
|
+
* Accessors return one of these rather than a class string so a caller cannot
|
|
28
|
+
* hardcode a palette that breaks under another brand or in dark mode.
|
|
29
|
+
*/
|
|
30
|
+
type Accent = 'primary' | 'success' | 'warning' | 'destructive' | 'info' | 'neutral';
|
|
31
|
+
/** A named stage: a board column, and the segments of a stage bar. */
|
|
32
|
+
interface Stage {
|
|
33
|
+
id: string;
|
|
34
|
+
label: string;
|
|
35
|
+
accent?: Accent;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* How a view reads one item. Only `getId` and `getTitle` are always required;
|
|
39
|
+
* each view documents which of the rest it needs (a board needs `getStatus`, a
|
|
40
|
+
* Gantt needs `getStart`) and renders an explanatory empty state without them.
|
|
41
|
+
*/
|
|
42
|
+
interface ViewAccessors<T> {
|
|
43
|
+
getId: (item: T) => string;
|
|
44
|
+
getTitle: (item: T) => string;
|
|
45
|
+
/** Secondary line under the title. */
|
|
46
|
+
getSubtitle?: (item: T) => string | undefined;
|
|
47
|
+
/** Board column and list group; matched against `Stage['id']`. */
|
|
48
|
+
getStatus?: (item: T) => string;
|
|
49
|
+
/** Gantt bar start, calendar placement. */
|
|
50
|
+
getStart?: (item: T) => Date | string | null | undefined;
|
|
51
|
+
/** Gantt bar end, calendar span. Falls back to the start when absent. */
|
|
52
|
+
getEnd?: (item: T) => Date | string | null | undefined;
|
|
53
|
+
/** Swimlane in a roadmap, row group in a Gantt. */
|
|
54
|
+
getGroup?: (item: T) => string | undefined;
|
|
55
|
+
getAccent?: (item: T) => Accent;
|
|
56
|
+
}
|
|
57
|
+
/** Strings a view renders. Every one is overridable; the defaults are English. */
|
|
58
|
+
interface ViewLabels {
|
|
59
|
+
/** Accessible name of the view switcher group. */
|
|
60
|
+
viewSwitcher: string;
|
|
61
|
+
loading: string;
|
|
62
|
+
empty: string;
|
|
63
|
+
error: string;
|
|
64
|
+
/** Action on the error state. */
|
|
65
|
+
retry: string;
|
|
66
|
+
/** Heading for the group a record with no status or group falls into. */
|
|
67
|
+
ungrouped: string;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Props every view accepts. Views are controlled: selection, the active view and
|
|
71
|
+
* filter state live in the page, and every change is handed back.
|
|
72
|
+
*/
|
|
73
|
+
interface ViewBaseProps<T> {
|
|
74
|
+
items: T[];
|
|
75
|
+
accessors: ViewAccessors<T>;
|
|
76
|
+
loading?: boolean;
|
|
77
|
+
error?: Error | null;
|
|
78
|
+
selectedId?: string | null;
|
|
79
|
+
/** Called when the user activates an item. */
|
|
80
|
+
onOpen?: (id: string, item: T) => void;
|
|
81
|
+
/** Return a URL to render each item as a real anchor — middle-clickable and crawlable. */
|
|
82
|
+
getHref?: (id: string, item: T) => string;
|
|
83
|
+
/** Render one item. Receives the active view so one function can serve several. */
|
|
84
|
+
renderItem?: (item: T, context: {
|
|
85
|
+
view: ViewId;
|
|
86
|
+
}) => React.ReactNode;
|
|
87
|
+
/** Replaces the built-in empty state. */
|
|
88
|
+
emptyState?: React.ReactNode;
|
|
89
|
+
labels?: Partial<ViewLabels>;
|
|
90
|
+
/** Pins "today" so stories, tests and visual snapshots stay deterministic. */
|
|
91
|
+
now?: Date;
|
|
92
|
+
className?: string;
|
|
93
|
+
}
|
|
7
94
|
|
|
8
95
|
type BoardViewSlot = 'column' | 'columnHeader' | 'card' | 'selectedCard' | 'state';
|
|
9
96
|
interface BoardLabels extends ViewLabels {
|
|
@@ -32,7 +119,7 @@ interface BoardViewProps<T> extends ViewBaseProps<T>, VariantProps<typeof cardVa
|
|
|
32
119
|
headingLevel?: 'h2' | 'h3' | 'h4';
|
|
33
120
|
}
|
|
34
121
|
declare const cardVariants: (props?: ({
|
|
35
|
-
density?: "
|
|
122
|
+
density?: "comfortable" | "compact" | null | undefined;
|
|
36
123
|
interactive?: boolean | null | undefined;
|
|
37
124
|
selected?: boolean | null | undefined;
|
|
38
125
|
pending?: boolean | null | undefined;
|
|
@@ -3,7 +3,7 @@ import * as React from 'react';
|
|
|
3
3
|
import { VariantProps } from 'class-variance-authority';
|
|
4
4
|
|
|
5
5
|
declare const buttonVariants: (props?: ({
|
|
6
|
-
variant?: "link" | "
|
|
6
|
+
variant?: "link" | "secondary" | "danger" | "outline" | "primary" | "ghost" | null | undefined;
|
|
7
7
|
size?: "sm" | "md" | "lg" | "icon" | null | undefined;
|
|
8
8
|
fullWidth?: boolean | null | undefined;
|
|
9
9
|
effect?: "none" | "sheen" | "orbit" | null | undefined;
|
|
@@ -3,7 +3,7 @@ import * as React from 'react';
|
|
|
3
3
|
import { VariantProps } from 'class-variance-authority';
|
|
4
4
|
|
|
5
5
|
declare const buttonVariants: (props?: ({
|
|
6
|
-
variant?: "link" | "
|
|
6
|
+
variant?: "link" | "secondary" | "danger" | "outline" | "primary" | "ghost" | null | undefined;
|
|
7
7
|
size?: "sm" | "md" | "lg" | "icon" | null | undefined;
|
|
8
8
|
fullWidth?: boolean | null | undefined;
|
|
9
9
|
effect?: "none" | "sheen" | "orbit" | null | undefined;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import {
|
|
2
|
+
import { V as ViewLabels, a as ViewBaseProps } from '../../types-DsdZvEI1.cjs';
|
|
3
3
|
import 'react';
|
|
4
|
-
import 'luxon';
|
|
5
4
|
|
|
6
5
|
type CalendarViewSlot = 'toolbar' | 'weekday' | 'day' | 'outsideDay' | 'today' | 'entry' | 'selectedEntry' | 'state';
|
|
7
6
|
interface CalendarLabels extends ViewLabels {
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import {
|
|
2
|
+
import { V as ViewLabels, a as ViewBaseProps } from '../../types-DsdZvEI1.js';
|
|
3
3
|
import 'react';
|
|
4
|
-
import 'luxon';
|
|
5
4
|
|
|
6
5
|
type CalendarViewSlot = 'toolbar' | 'weekday' | 'day' | 'outsideDay' | 'today' | 'entry' | 'selectedEntry' | 'state';
|
|
7
6
|
interface CalendarLabels extends ViewLabels {
|
|
@@ -4,13 +4,13 @@ import { VariantProps } from 'class-variance-authority';
|
|
|
4
4
|
|
|
5
5
|
declare const cardVariants: (props?: ({
|
|
6
6
|
padding?: "none" | "sm" | "md" | "lg" | "xl" | null | undefined;
|
|
7
|
-
variant?: "default" | "
|
|
7
|
+
variant?: "default" | "elevated" | "outlined" | "ghost" | "filled" | null | undefined;
|
|
8
8
|
interactive?: boolean | null | undefined;
|
|
9
9
|
selected?: boolean | null | undefined;
|
|
10
|
-
orientation?: "
|
|
10
|
+
orientation?: "vertical" | "horizontal" | null | undefined;
|
|
11
11
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
12
12
|
declare const cardAccentVariants: (props?: ({
|
|
13
|
-
color?: "primary" | "
|
|
13
|
+
color?: "primary" | "success" | "warning" | "destructive" | "info" | null | undefined;
|
|
14
14
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
15
15
|
interface CardProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof cardVariants> {
|
|
16
16
|
/** Semantic HTML element to render as */
|
|
@@ -4,13 +4,13 @@ import { VariantProps } from 'class-variance-authority';
|
|
|
4
4
|
|
|
5
5
|
declare const cardVariants: (props?: ({
|
|
6
6
|
padding?: "none" | "sm" | "md" | "lg" | "xl" | null | undefined;
|
|
7
|
-
variant?: "default" | "
|
|
7
|
+
variant?: "default" | "elevated" | "outlined" | "ghost" | "filled" | null | undefined;
|
|
8
8
|
interactive?: boolean | null | undefined;
|
|
9
9
|
selected?: boolean | null | undefined;
|
|
10
|
-
orientation?: "
|
|
10
|
+
orientation?: "vertical" | "horizontal" | null | undefined;
|
|
11
11
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
12
12
|
declare const cardAccentVariants: (props?: ({
|
|
13
|
-
color?: "primary" | "
|
|
13
|
+
color?: "primary" | "success" | "warning" | "destructive" | "info" | null | undefined;
|
|
14
14
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
15
15
|
interface CardProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof cardVariants> {
|
|
16
16
|
/** Semantic HTML element to render as */
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
|
|
3
|
+
|
|
4
|
+
type AnchoredPlacement = 'bottom-start' | 'bottom-end' | 'bottom' | 'top-start' | 'top-end' | 'top' | 'right-start' | 'right-end' | 'right' | 'left-start' | 'left-end' | 'left';
|
|
4
5
|
|
|
5
6
|
type DropdownPlacement = AnchoredPlacement;
|
|
6
7
|
interface DropdownProps {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
|
|
3
|
+
|
|
4
|
+
type AnchoredPlacement = 'bottom-start' | 'bottom-end' | 'bottom' | 'top-start' | 'top-end' | 'top' | 'right-start' | 'right-end' | 'right' | 'left-start' | 'left-end' | 'left';
|
|
4
5
|
|
|
5
6
|
type DropdownPlacement = AnchoredPlacement;
|
|
6
7
|
interface DropdownProps {
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import {
|
|
2
|
+
import { V as ViewLabels, a as ViewBaseProps } from '../../types-DsdZvEI1.cjs';
|
|
3
3
|
import 'react';
|
|
4
|
-
import 'luxon';
|
|
5
4
|
|
|
6
5
|
/**
|
|
7
6
|
* Column width in time. `month` and `quarter` are what a roadmap is — the
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import {
|
|
2
|
+
import { V as ViewLabels, a as ViewBaseProps } from '../../types-DsdZvEI1.js';
|
|
3
3
|
import 'react';
|
|
4
|
-
import 'luxon';
|
|
5
4
|
|
|
6
5
|
/**
|
|
7
6
|
* Column width in time. `month` and `quarter` are what a roadmap is — the
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
3
3
|
import { VariantProps } from 'class-variance-authority';
|
|
4
|
-
import { a as ViewBaseProps, S as Stage } from '../../types-
|
|
4
|
+
import { a as ViewBaseProps, S as Stage } from '../../types-DsdZvEI1.cjs';
|
|
5
5
|
import 'react';
|
|
6
|
-
import 'luxon';
|
|
7
6
|
|
|
8
7
|
type ListViewSlot = 'group' | 'groupHeader' | 'item' | 'selectedItem' | 'state';
|
|
9
8
|
interface ListViewProps<T> extends ViewBaseProps<T>, VariantProps<typeof itemVariants> {
|
|
@@ -24,7 +23,7 @@ interface ListViewProps<T> extends ViewBaseProps<T>, VariantProps<typeof itemVar
|
|
|
24
23
|
headingLevel?: 'h2' | 'h3' | 'h4';
|
|
25
24
|
}
|
|
26
25
|
declare const itemVariants: (props?: ({
|
|
27
|
-
density?: "
|
|
26
|
+
density?: "comfortable" | "compact" | null | undefined;
|
|
28
27
|
interactive?: boolean | null | undefined;
|
|
29
28
|
selected?: boolean | null | undefined;
|
|
30
29
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
3
3
|
import { VariantProps } from 'class-variance-authority';
|
|
4
|
-
import { a as ViewBaseProps, S as Stage } from '../../types-
|
|
4
|
+
import { a as ViewBaseProps, S as Stage } from '../../types-DsdZvEI1.js';
|
|
5
5
|
import 'react';
|
|
6
|
-
import 'luxon';
|
|
7
6
|
|
|
8
7
|
type ListViewSlot = 'group' | 'groupHeader' | 'item' | 'selectedItem' | 'state';
|
|
9
8
|
interface ListViewProps<T> extends ViewBaseProps<T>, VariantProps<typeof itemVariants> {
|
|
@@ -24,7 +23,7 @@ interface ListViewProps<T> extends ViewBaseProps<T>, VariantProps<typeof itemVar
|
|
|
24
23
|
headingLevel?: 'h2' | 'h3' | 'h4';
|
|
25
24
|
}
|
|
26
25
|
declare const itemVariants: (props?: ({
|
|
27
|
-
density?: "
|
|
26
|
+
density?: "comfortable" | "compact" | null | undefined;
|
|
28
27
|
interactive?: boolean | null | undefined;
|
|
29
28
|
selected?: boolean | null | undefined;
|
|
30
29
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
@@ -1,9 +1,78 @@
|
|
|
1
1
|
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { VariantProps } from 'class-variance-authority';
|
|
4
|
-
import { T as Transcript, E as EditableWord, S as SpeedMarker, P as PlaybackSpeed } from '../../transcript-Cg7uSW-C.cjs';
|
|
5
4
|
import { MediaKind, MediaPlayerRef } from '../MediaPlayer/index.cjs';
|
|
6
|
-
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Transcript schema for @mieweb/ui media components.
|
|
8
|
+
*
|
|
9
|
+
* Provider-agnostic and persistence-agnostic. Canonical time unit is
|
|
10
|
+
* **milliseconds** (consumers with seconds-based data, e.g. osheet, adapt
|
|
11
|
+
* at the boundary).
|
|
12
|
+
*
|
|
13
|
+
* Shared by TranscriptView, MediaEditor, and useTranscriptEdits.
|
|
14
|
+
*/
|
|
15
|
+
/** Type of transcript word - 'word' for spoken content, 'silence' for detected gaps, 'silence-newline' for longer pauses */
|
|
16
|
+
type WordType = 'word' | 'silence' | 'silence-newline';
|
|
17
|
+
interface TranscriptWord {
|
|
18
|
+
text: string;
|
|
19
|
+
startMs: number;
|
|
20
|
+
endMs: number;
|
|
21
|
+
/** References Speaker.id when diarization is available */
|
|
22
|
+
speakerId?: string;
|
|
23
|
+
confidence?: number;
|
|
24
|
+
/** Type of word: 'word' for spoken content, 'silence' for detected gaps. Defaults to 'word' */
|
|
25
|
+
wordType?: WordType;
|
|
26
|
+
}
|
|
27
|
+
/** A diarized segment of contiguous speech (osheet-style granularity) */
|
|
28
|
+
interface TranscriptSegment {
|
|
29
|
+
text: string;
|
|
30
|
+
startMs: number;
|
|
31
|
+
endMs: number;
|
|
32
|
+
/** References Speaker.id when diarization is available */
|
|
33
|
+
speakerId?: string;
|
|
34
|
+
words: TranscriptWord[];
|
|
35
|
+
}
|
|
36
|
+
interface Speaker {
|
|
37
|
+
id: string;
|
|
38
|
+
/** Display name (e.g. 'Clinician', 'Patient'). Hosts may remap via speakerLabels props. */
|
|
39
|
+
name?: string;
|
|
40
|
+
}
|
|
41
|
+
interface Transcript {
|
|
42
|
+
durationMs: number;
|
|
43
|
+
speakers?: Speaker[];
|
|
44
|
+
words: TranscriptWord[];
|
|
45
|
+
segments?: TranscriptSegment[];
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* An editable word that references the original transcript word.
|
|
49
|
+
* Used in the edited timeline to track deletions and reordering.
|
|
50
|
+
*/
|
|
51
|
+
interface EditableWord {
|
|
52
|
+
/** Index into the SILENCE-INSERTED baseline timeline (transcript.words
|
|
53
|
+
* with detected silence pseudo-words interleaved) — NOT into
|
|
54
|
+
* transcript.words. -1 for split/inserted entries with no baseline slot.
|
|
55
|
+
* Consumers persisting edits should key by this timeline. */
|
|
56
|
+
originalIndex: number;
|
|
57
|
+
/** The word data (from original transcript) */
|
|
58
|
+
word: TranscriptWord;
|
|
59
|
+
/** Whether this word is marked as deleted */
|
|
60
|
+
deleted: boolean;
|
|
61
|
+
/** Whether this word was inserted (pasted from clipboard) */
|
|
62
|
+
inserted?: boolean;
|
|
63
|
+
}
|
|
64
|
+
/** Available playback speed multipliers */
|
|
65
|
+
type PlaybackSpeed = 0.5 | 0.75 | 1 | 1.25 | 1.5 | 1.75 | 2;
|
|
66
|
+
/**
|
|
67
|
+
* A speed marker applied to a word in the transcript.
|
|
68
|
+
* The speed applies from this word until the next speed marker or end of transcript.
|
|
69
|
+
*/
|
|
70
|
+
interface SpeedMarker {
|
|
71
|
+
/** Index in the editedWords array where the speed marker is placed */
|
|
72
|
+
wordIndex: number;
|
|
73
|
+
/** The playback speed multiplier */
|
|
74
|
+
speed: PlaybackSpeed;
|
|
75
|
+
}
|
|
7
76
|
|
|
8
77
|
interface MediaEditorProps extends VariantProps<typeof mediaEditorVariants> {
|
|
9
78
|
/** Media URL */
|
|
@@ -85,6 +154,26 @@ declare const mediaEditorVariants: (props?: ({
|
|
|
85
154
|
*/
|
|
86
155
|
declare const MediaEditor: React.ForwardRefExoticComponent<MediaEditorProps & React.RefAttributes<HTMLDivElement>>;
|
|
87
156
|
|
|
157
|
+
/**
|
|
158
|
+
* useTranscriptEdits — headless transcript-editing state hook.
|
|
159
|
+
*
|
|
160
|
+
* Extracted from pulseclip's TranscriptViewer for @mieweb/ui. Holds the
|
|
161
|
+
* edited word timeline (deletions, insertions, text edits, silence
|
|
162
|
+
* splitting), a single-level undo stack, an internal clipboard, speed
|
|
163
|
+
* markers, and derived playback/statistics data.
|
|
164
|
+
*
|
|
165
|
+
* Controlled + persistence-agnostic: no DOM, no fetches. Selection lives in
|
|
166
|
+
* the UI layer — mutations take explicit indices. State flows out via
|
|
167
|
+
* `onChange` and back in via `initialEditedWords` / `initialUndoStack`.
|
|
168
|
+
*/
|
|
169
|
+
|
|
170
|
+
/** Count and total duration of silences above a given threshold (seconds) */
|
|
171
|
+
interface SilenceThresholdCount {
|
|
172
|
+
threshold: number;
|
|
173
|
+
count: number;
|
|
174
|
+
durationMs: number;
|
|
175
|
+
}
|
|
176
|
+
|
|
88
177
|
/**
|
|
89
178
|
* FillerWordsModal — select filler words (and long silences) to mark deleted.
|
|
90
179
|
*
|