@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.
Files changed (130) hide show
  1. package/dist/Input-yN516s5_.d.cts +3 -0
  2. package/dist/Input-yN516s5_.d.ts +3 -0
  3. package/dist/ag-grid.d.cts +142 -1
  4. package/dist/ag-grid.d.ts +142 -1
  5. package/dist/{chunk-3M7TAXNR.js → chunk-3YFJBUX4.js} +3 -3
  6. package/dist/{chunk-3M7TAXNR.js.map → chunk-3YFJBUX4.js.map} +1 -1
  7. package/dist/{chunk-ACCAXVOG.js → chunk-4CXGT3P7.js} +61 -41
  8. package/dist/chunk-4CXGT3P7.js.map +1 -0
  9. package/dist/{chunk-OD47TTAW.cjs → chunk-V43ZFGCE.cjs} +9 -9
  10. package/dist/{chunk-OD47TTAW.cjs.map → chunk-V43ZFGCE.cjs.map} +1 -1
  11. package/dist/{chunk-X4XPNTCZ.cjs → chunk-YQ2NQV5C.cjs} +61 -41
  12. package/dist/chunk-YQ2NQV5C.cjs.map +1 -0
  13. package/dist/components/Alert/index.d.cts +1 -1
  14. package/dist/components/Alert/index.d.ts +1 -1
  15. package/dist/components/AlertDialog/index.d.cts +28 -3
  16. package/dist/components/AlertDialog/index.d.ts +28 -3
  17. package/dist/components/AudioRecorder/index.d.cts +2 -2
  18. package/dist/components/AudioRecorder/index.d.ts +2 -2
  19. package/dist/components/Autocomplete/index.d.cts +8 -2
  20. package/dist/components/Autocomplete/index.d.ts +8 -2
  21. package/dist/components/Avatar/index.d.cts +1 -1
  22. package/dist/components/Avatar/index.d.ts +1 -1
  23. package/dist/components/Badge/index.d.cts +1 -1
  24. package/dist/components/Badge/index.d.ts +1 -1
  25. package/dist/components/BoardView/index.d.cts +91 -4
  26. package/dist/components/BoardView/index.d.ts +91 -4
  27. package/dist/components/Button/index.d.cts +1 -1
  28. package/dist/components/Button/index.d.ts +1 -1
  29. package/dist/components/CalendarView/index.d.cts +1 -2
  30. package/dist/components/CalendarView/index.d.ts +1 -2
  31. package/dist/components/Card/index.d.cts +3 -3
  32. package/dist/components/Card/index.d.ts +3 -3
  33. package/dist/components/Dropdown/index.d.cts +2 -1
  34. package/dist/components/Dropdown/index.d.ts +2 -1
  35. package/dist/components/GanttView/index.d.cts +1 -2
  36. package/dist/components/GanttView/index.d.ts +1 -2
  37. package/dist/components/ListView/index.d.cts +2 -3
  38. package/dist/components/ListView/index.d.ts +2 -3
  39. package/dist/components/MediaEditor/index.d.cts +91 -2
  40. package/dist/components/MediaEditor/index.d.ts +91 -2
  41. package/dist/components/MediaPlayer/index.d.cts +1 -1
  42. package/dist/components/MediaPlayer/index.d.ts +1 -1
  43. package/dist/components/Pagination/index.d.cts +1 -1
  44. package/dist/components/Pagination/index.d.ts +1 -1
  45. package/dist/components/PhoneInput/index.d.cts +36 -3
  46. package/dist/components/PhoneInput/index.d.ts +36 -3
  47. package/dist/components/Progress/index.d.cts +1 -1
  48. package/dist/components/Progress/index.d.ts +1 -1
  49. package/dist/components/Q/index.d.cts +2 -2
  50. package/dist/components/Q/index.d.ts +2 -2
  51. package/dist/components/QuickAction/index.d.cts +1 -1
  52. package/dist/components/QuickAction/index.d.ts +1 -1
  53. package/dist/components/RecordButton/index.d.cts +1 -1
  54. package/dist/components/RecordButton/index.d.ts +1 -1
  55. package/dist/components/RichTextEditor/index.d.cts +7 -2
  56. package/dist/components/RichTextEditor/index.d.ts +7 -2
  57. package/dist/components/ScrollArea/index.d.cts +1 -1
  58. package/dist/components/ScrollArea/index.d.ts +1 -1
  59. package/dist/components/Select/index.d.cts +1 -2
  60. package/dist/components/Select/index.d.ts +1 -2
  61. package/dist/components/Skeleton/index.d.cts +1 -1
  62. package/dist/components/Skeleton/index.d.ts +1 -1
  63. package/dist/components/Slider/index.d.cts +2 -2
  64. package/dist/components/Slider/index.d.ts +2 -2
  65. package/dist/components/Spinner/index.d.cts +2 -2
  66. package/dist/components/Spinner/index.d.ts +2 -2
  67. package/dist/components/SuperChat/index.cjs +3 -3
  68. package/dist/components/SuperChat/index.d.cts +2 -4
  69. package/dist/components/SuperChat/index.d.ts +2 -4
  70. package/dist/components/SuperChat/index.js +1 -1
  71. package/dist/components/SuperChat/plugins/index.cjs +3 -3
  72. package/dist/components/SuperChat/plugins/index.d.cts +2 -3
  73. package/dist/components/SuperChat/plugins/index.d.ts +2 -3
  74. package/dist/components/SuperChat/plugins/index.js +2 -2
  75. package/dist/components/Text/index.d.cts +3 -3
  76. package/dist/components/Text/index.d.ts +3 -3
  77. package/dist/components/Textarea/index.d.cts +1 -2
  78. package/dist/components/Textarea/index.d.ts +1 -2
  79. package/dist/components/ThemeProvider/index.d.cts +3 -1
  80. package/dist/components/ThemeProvider/index.d.ts +3 -1
  81. package/dist/components/TranscriptView/index.d.cts +85 -4
  82. package/dist/components/TranscriptView/index.d.ts +85 -4
  83. package/dist/components/ViewSet/index.d.cts +120 -9
  84. package/dist/components/ViewSet/index.d.ts +120 -9
  85. package/dist/components/ViewSwitcher/index.d.cts +4 -40
  86. package/dist/components/ViewSwitcher/index.d.ts +4 -40
  87. package/dist/datavis.d.cts +167 -13
  88. package/dist/datavis.d.ts +167 -13
  89. package/dist/esheet.d.cts +183 -1
  90. package/dist/esheet.d.ts +183 -1
  91. package/dist/hooks/index.d.cts +383 -31
  92. package/dist/hooks/index.d.ts +383 -31
  93. package/dist/index-DoYYWsNc.d.cts +127 -0
  94. package/dist/index-DoYYWsNc.d.ts +127 -0
  95. package/dist/index.cjs +47 -47
  96. package/dist/index.d.cts +7600 -414
  97. package/dist/index.d.ts +7600 -414
  98. package/dist/index.js +4 -4
  99. package/dist/motion.d.cts +186 -2
  100. package/dist/motion.d.ts +186 -2
  101. package/dist/q.d.cts +25 -3
  102. package/dist/q.d.ts +25 -3
  103. package/dist/styles.css +1 -1
  104. package/dist/{types-B97JNRNQ.d.cts → types-DOxdTwmq.d.cts} +170 -2
  105. package/dist/{types-gZXrfLj6.d.ts → types-DOxdTwmq.d.ts} +170 -2
  106. package/dist/{types-CbWXIKbe.d.cts → types-DsdZvEI1.d.cts} +1 -28
  107. package/dist/{types-CbWXIKbe.d.ts → types-DsdZvEI1.d.ts} +1 -28
  108. package/dist/utils/index.d.cts +13 -2
  109. package/dist/utils/index.d.ts +13 -2
  110. package/package.json +3 -2
  111. package/dist/Animated-XmH6k8pZ.d.cts +0 -188
  112. package/dist/Animated-XmH6k8pZ.d.ts +0 -188
  113. package/dist/MedicationEditor-Bp4NLy7y.d.cts +0 -352
  114. package/dist/MedicationEditor-Bp4NLy7y.d.ts +0 -352
  115. package/dist/chunk-ACCAXVOG.js.map +0 -1
  116. package/dist/chunk-X4XPNTCZ.cjs.map +0 -1
  117. package/dist/html-MdxqSzjD.d.cts +0 -13
  118. package/dist/html-MdxqSzjD.d.ts +0 -13
  119. package/dist/orderRows-BUJYgSc7.d.cts +0 -221
  120. package/dist/orderRows-BUJYgSc7.d.ts +0 -221
  121. package/dist/transcript-Cg7uSW-C.d.cts +0 -84
  122. package/dist/transcript-Cg7uSW-C.d.ts +0 -84
  123. package/dist/types-CnPEwzlp.d.cts +0 -254
  124. package/dist/types-CnPEwzlp.d.ts +0 -254
  125. package/dist/useAnchoredPosition-CKwLSQW8.d.cts +0 -76
  126. package/dist/useAnchoredPosition-CKwLSQW8.d.ts +0 -76
  127. package/dist/useTheme-B9SWu6ui.d.cts +0 -24
  128. package/dist/useTheme-B9SWu6ui.d.ts +0 -24
  129. package/dist/useTranscriptEdits-CGzlemHT.d.cts +0 -182
  130. 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?: "paused" | "idle" | "recording" | "listening" | "stopped" | "playback" | null | undefined;
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" | "ghost" | "danger" | null | undefined;
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 { inputVariants, RequiredMarkVariant } from '../Input/index.cjs';
5
- import 'class-variance-authority/types';
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 { inputVariants, RequiredMarkVariant } from '../Input/index.js';
5
- import 'class-variance-authority/types';
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?: "sm" | "md" | "lg" | "xl" | "xs" | null | undefined;
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?: "sm" | "md" | "lg" | "xl" | "xs" | null | undefined;
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" | "outline" | "danger" | "warning" | "success" | null | undefined;
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" | "outline" | "danger" | "warning" | "success" | null | undefined;
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 { c as ViewLabels, a as ViewBaseProps, S as Stage } from '../../types-CbWXIKbe.cjs';
5
- import 'react';
6
- import 'luxon';
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?: "compact" | "comfortable" | null | undefined;
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 { c as ViewLabels, a as ViewBaseProps, S as Stage } from '../../types-CbWXIKbe.js';
5
- import 'react';
6
- import 'luxon';
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?: "compact" | "comfortable" | null | undefined;
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" | "primary" | "secondary" | "ghost" | "outline" | "danger" | null | undefined;
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" | "primary" | "secondary" | "ghost" | "outline" | "danger" | null | undefined;
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 { c as ViewLabels, a as ViewBaseProps } from '../../types-CbWXIKbe.cjs';
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 { c as ViewLabels, a as ViewBaseProps } from '../../types-CbWXIKbe.js';
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" | "ghost" | "filled" | "elevated" | "outlined" | null | undefined;
7
+ variant?: "default" | "elevated" | "outlined" | "ghost" | "filled" | null | undefined;
8
8
  interactive?: boolean | null | undefined;
9
9
  selected?: boolean | null | undefined;
10
- orientation?: "horizontal" | "vertical" | null | undefined;
10
+ orientation?: "vertical" | "horizontal" | null | undefined;
11
11
  } & class_variance_authority_types.ClassProp) | undefined) => string;
12
12
  declare const cardAccentVariants: (props?: ({
13
- color?: "primary" | "warning" | "success" | "info" | "destructive" | null | undefined;
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" | "ghost" | "filled" | "elevated" | "outlined" | null | undefined;
7
+ variant?: "default" | "elevated" | "outlined" | "ghost" | "filled" | null | undefined;
8
8
  interactive?: boolean | null | undefined;
9
9
  selected?: boolean | null | undefined;
10
- orientation?: "horizontal" | "vertical" | null | undefined;
10
+ orientation?: "vertical" | "horizontal" | null | undefined;
11
11
  } & class_variance_authority_types.ClassProp) | undefined) => string;
12
12
  declare const cardAccentVariants: (props?: ({
13
- color?: "primary" | "warning" | "success" | "info" | "destructive" | null | undefined;
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
- import { A as AnchoredPlacement } from '../../useAnchoredPosition-CKwLSQW8.cjs';
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
- import { A as AnchoredPlacement } from '../../useAnchoredPosition-CKwLSQW8.js';
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 { c as ViewLabels, a as ViewBaseProps } from '../../types-CbWXIKbe.cjs';
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 { c as ViewLabels, a as ViewBaseProps } from '../../types-CbWXIKbe.js';
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-CbWXIKbe.cjs';
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?: "compact" | "comfortable" | null | undefined;
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-CbWXIKbe.js';
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?: "compact" | "comfortable" | null | undefined;
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
- import { S as SilenceThresholdCount } from '../../useTranscriptEdits-CGzlemHT.cjs';
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
  *