@arbidocs/blocks 0.4.110 → 0.4.111

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 (94) hide show
  1. package/dist/{NativeDocxEditor-WODZAURG.cjs → NativeDocxEditor-AQKRZBIU.cjs} +7 -7
  2. package/dist/{NativeDocxEditor-WODZAURG.cjs.map → NativeDocxEditor-AQKRZBIU.cjs.map} +1 -1
  3. package/dist/{NativeDocxEditor-4PY4YZYC.js → NativeDocxEditor-IN2HEO5I.js} +3 -3
  4. package/dist/{NativeDocxEditor-4PY4YZYC.js.map → NativeDocxEditor-IN2HEO5I.js.map} +1 -1
  5. package/dist/agents/index.cjs +207 -207
  6. package/dist/agents/index.js +2 -2
  7. package/dist/calendar/EventEditor.d.ts +1 -1
  8. package/dist/calendar/draft.d.ts +7 -1
  9. package/dist/calendar/index.cjs +58 -10
  10. package/dist/calendar/index.cjs.map +1 -1
  11. package/dist/calendar/index.d.ts +1 -1
  12. package/dist/calendar/index.js +56 -11
  13. package/dist/calendar/index.js.map +1 -1
  14. package/dist/calendar/types.d.ts +20 -0
  15. package/dist/calls/CallSidePanel.d.ts +16 -1
  16. package/dist/calls/ControlBar.d.ts +25 -3
  17. package/dist/calls/PreJoin.d.ts +6 -2
  18. package/dist/calls/cards.d.ts +6 -2
  19. package/dist/calls/index.cjs +1078 -47
  20. package/dist/calls/index.cjs.map +1 -1
  21. package/dist/calls/index.d.ts +4 -3
  22. package/dist/calls/index.js +1067 -51
  23. package/dist/calls/index.js.map +1 -1
  24. package/dist/calls/panels.d.ts +11 -0
  25. package/dist/calls/webinar/ChatPermissionSetting.d.ts +18 -0
  26. package/dist/calls/webinar/OnStageCheck.d.ts +23 -0
  27. package/dist/calls/webinar/QAPanel.d.ts +56 -0
  28. package/dist/calls/webinar/RaiseHandButton.d.ts +14 -0
  29. package/dist/calls/webinar/WebinarAudiencePanel.d.ts +23 -0
  30. package/dist/calls/webinar/WebinarViewer.d.ts +39 -0
  31. package/dist/calls/webinar/WebinarWaiting.d.ts +19 -0
  32. package/dist/calls/webinar/hooks.d.ts +13 -0
  33. package/dist/calls/webinar/index.d.ts +14 -0
  34. package/dist/calls/webinar/live.d.ts +43 -0
  35. package/dist/calls/webinar/types.d.ts +49 -0
  36. package/dist/{chunk-GKDWQLVU.js → chunk-2C7TCVQZ.js} +172 -121
  37. package/dist/chunk-2C7TCVQZ.js.map +1 -0
  38. package/dist/{chunk-54WBIVHV.cjs → chunk-2WO5L7YT.cjs} +5 -5
  39. package/dist/{chunk-54WBIVHV.cjs.map → chunk-2WO5L7YT.cjs.map} +1 -1
  40. package/dist/{chunk-A35KT2II.js → chunk-6Z7DLJU2.js} +3 -3
  41. package/dist/{chunk-A35KT2II.js.map → chunk-6Z7DLJU2.js.map} +1 -1
  42. package/dist/{chunk-VZKBI2KJ.cjs → chunk-FXUQZFAN.cjs} +3 -3
  43. package/dist/{chunk-VZKBI2KJ.cjs.map → chunk-FXUQZFAN.cjs.map} +1 -1
  44. package/dist/{chunk-SQNAJPNR.js → chunk-GFYGYME3.js} +3 -3
  45. package/dist/{chunk-SQNAJPNR.js.map → chunk-GFYGYME3.js.map} +1 -1
  46. package/dist/chunk-GICUGQNN.cjs +76 -0
  47. package/dist/chunk-GICUGQNN.cjs.map +1 -0
  48. package/dist/chunk-JJLMCV3T.js +73 -0
  49. package/dist/chunk-JJLMCV3T.js.map +1 -0
  50. package/dist/{chunk-W7ZDBPJ3.cjs → chunk-OR4CO743.cjs} +3 -3
  51. package/dist/{chunk-W7ZDBPJ3.cjs.map → chunk-OR4CO743.cjs.map} +1 -1
  52. package/dist/{chunk-PEHLUB52.js → chunk-Q6B77ZWZ.js} +3 -3
  53. package/dist/{chunk-PEHLUB52.js.map → chunk-Q6B77ZWZ.js.map} +1 -1
  54. package/dist/{chunk-ELDUWTRR.cjs → chunk-TF47ATYS.cjs} +4 -4
  55. package/dist/{chunk-ELDUWTRR.cjs.map → chunk-TF47ATYS.cjs.map} +1 -1
  56. package/dist/{chunk-JB32KYAH.js → chunk-WTM65ZNG.js} +3 -3
  57. package/dist/{chunk-JB32KYAH.js.map → chunk-WTM65ZNG.js.map} +1 -1
  58. package/dist/{chunk-2NIL2ASF.cjs → chunk-XIGWUDOD.cjs} +170 -119
  59. package/dist/chunk-XIGWUDOD.cjs.map +1 -0
  60. package/dist/collaboration/index.cjs +1 -1
  61. package/dist/collaboration/index.js +1 -1
  62. package/dist/connect/docx.cjs +6 -6
  63. package/dist/connect/docx.js +4 -4
  64. package/dist/connect/index.cjs +31 -31
  65. package/dist/connect/index.js +7 -7
  66. package/dist/docx/AgentUndo.d.ts +4 -0
  67. package/dist/docx/index.cjs +46 -46
  68. package/dist/docx/index.js +3 -3
  69. package/dist/files/index.cjs +1 -1
  70. package/dist/files/index.js +1 -1
  71. package/dist/index.cjs +332 -332
  72. package/dist/index.js +6 -6
  73. package/dist/settings/index.cjs +48 -102
  74. package/dist/settings/index.cjs.map +1 -1
  75. package/dist/settings/index.js +10 -70
  76. package/dist/settings/index.js.map +1 -1
  77. package/dist/workflow-canvas/index.cjs +9 -9
  78. package/dist/workflow-canvas/index.js +2 -2
  79. package/node_modules/@arbidocs/coedit/dist/commands.cjs +179 -9
  80. package/node_modules/@arbidocs/coedit/dist/commands.cjs.map +1 -1
  81. package/node_modules/@arbidocs/coedit/dist/commands.d.cts +81 -1
  82. package/node_modules/@arbidocs/coedit/dist/commands.d.ts +81 -1
  83. package/node_modules/@arbidocs/coedit/dist/commands.js +173 -11
  84. package/node_modules/@arbidocs/coedit/dist/commands.js.map +1 -1
  85. package/node_modules/@arbidocs/coedit/dist/server.cjs +58 -2
  86. package/node_modules/@arbidocs/coedit/dist/server.cjs.map +1 -1
  87. package/node_modules/@arbidocs/coedit/dist/server.d.cts +29 -1
  88. package/node_modules/@arbidocs/coedit/dist/server.d.ts +29 -1
  89. package/node_modules/@arbidocs/coedit/dist/server.js +58 -3
  90. package/node_modules/@arbidocs/coedit/dist/server.js.map +1 -1
  91. package/node_modules/@arbidocs/coedit/package.json +1 -1
  92. package/package.json +4 -4
  93. package/dist/chunk-2NIL2ASF.cjs.map +0 -1
  94. package/dist/chunk-GKDWQLVU.js.map +0 -1
@@ -117,6 +117,7 @@ export interface CalendarLabels {
117
117
  startTime: string;
118
118
  endTime: string;
119
119
  arbiCall: string;
120
+ arbiWebinar: string;
120
121
  startTimeZone: string;
121
122
  endTimeZone: string;
122
123
  separateTimeZones: string;
@@ -138,6 +139,14 @@ export interface CalendarLabels {
138
139
  useDefaultReminders: string;
139
140
  conference: string;
140
141
  addArbiCall: string;
142
+ addArbiWebinar: string;
143
+ webinar: string;
144
+ webinarLinkOnSave: string;
145
+ webinarRole: string;
146
+ cohost: string;
147
+ panelist: string;
148
+ webinarAttendee: string;
149
+ joinWebinar: string;
141
150
  addMeetingLink: string;
142
151
  meetingLinkPlaceholder: string;
143
152
  removeConference: string;
@@ -304,11 +313,18 @@ export interface AttendeeDraft {
304
313
  role?: AttendeeRole;
305
314
  kind?: AttendeeKind;
306
315
  }
316
+ /** A webinar invitee's role (the organiser is the host). */
317
+ export type WebinarRole = 'cohost' | 'panelist' | 'attendee';
307
318
  export interface ConferenceDraft {
308
319
  type: 'arbi' | 'external';
320
+ /** Empty for an ARBI webinar not saved yet: its call is made on save, with its roles. */
309
321
  url: string;
310
322
  call_id?: string | null;
311
323
  label?: string | null;
324
+ /** An ARBI conference's kind (editor-only, never sent to the calendar); a call when missing. */
325
+ kind?: 'call' | 'webinar';
326
+ /** A webinar's role per attendee (keyed by `attendeeKey`); missing = attendee. */
327
+ roles?: Record<string, WebinarRole>;
312
328
  }
313
329
  export interface AttachmentDraft {
314
330
  url: string;
@@ -401,6 +417,10 @@ export interface EventEditorProps {
401
417
  call_id: string;
402
418
  url: string;
403
419
  } | null>;
420
+ /** Offer "Webinar" next to "Add ARBI call" (its call is made on save, with the roles picked here). */
421
+ canAddWebinar?: boolean;
422
+ /** Which attendees of a webinar get a role select (the ARBI people it is sealed to); all by default. */
423
+ isWebinarAttendee?: (attendee: AttendeeDraft) => boolean;
404
424
  defaultTimeZone: string;
405
425
  /** Extra section rendered under the guests (the host's scheduling assistant / room finder). */
406
426
  schedulingSlot?: ReactNode;
@@ -2,9 +2,20 @@
2
2
  * A side panel inside the call (chat, participants): the same header as the app's docked panels
3
3
  * (FloatingPanel: title in the brand colour, hairline below, a ghost close button), on the normal
4
4
  * background, beside the tiles rather than over them.
5
+ *
6
+ * With `tabs` the one panel carries several views (People | Q&A | Audience in a webinar): the tabs
7
+ * take the title's place in the header, and `children` is the active tab's content.
5
8
  */
6
9
  import type { ReactElement, ReactNode } from 'react';
7
- export declare function CallSidePanel({ title, icon, actions, onClose, closeLabel, closeTestId, children, className, ...rest }: {
10
+ export interface CallSidePanelTab {
11
+ id: string;
12
+ label: string;
13
+ /** A count after the label (questions, people); hidden when undefined. */
14
+ count?: number;
15
+ testId?: string;
16
+ }
17
+ export declare function CallSidePanel({ title, icon, actions, onClose, closeLabel, closeTestId, tabs, activeTab, onTabChange, children, className, ...rest }: {
18
+ /** The panel's name (its accessible name; shown when there are no tabs). */
8
19
  title: string;
9
20
  icon?: ReactNode;
10
21
  /** Extra header actions, left of the close button. */
@@ -12,6 +23,10 @@ export declare function CallSidePanel({ title, icon, actions, onClose, closeLabe
12
23
  onClose(): void;
13
24
  closeLabel: string;
14
25
  closeTestId?: string;
26
+ /** Views of the panel, shown as tabs in the header instead of the title. */
27
+ tabs?: CallSidePanelTab[];
28
+ activeTab?: string;
29
+ onTabChange?(id: string): void;
15
30
  children: ReactNode;
16
31
  className?: string;
17
32
  } & React.HTMLAttributes<HTMLElement>): ReactElement;
@@ -67,11 +67,23 @@ export declare function RecordControl<M extends string>({ on, busy, modes, note,
67
67
  onStop(): void;
68
68
  }): ReactElement;
69
69
  /** Leave: the one filled red control, at the right end. */
70
- export declare function LeaveButton({ onLeave, compact, label, title, }: {
70
+ /** A further way out offered by Leave (e.g. a webinar's "End webinar for everyone"). */
71
+ export interface LeaveOption {
72
+ key: string;
73
+ label: string;
74
+ onSelect(): void;
75
+ testId?: string;
76
+ }
77
+ /**
78
+ * Leave: one red button. With `options` it opens a menu instead — Leave itself first, then the
79
+ * options (a host ending the webinar for everyone) — so leaving and ending share one control.
80
+ */
81
+ export declare function LeaveButton({ onLeave, compact, label, title, options, }: {
71
82
  onLeave(): void;
72
83
  compact?: boolean;
73
84
  label?: string;
74
85
  title?: string;
86
+ options?: LeaveOption[];
75
87
  }): ReactElement;
76
88
  export interface MoreMenuItem {
77
89
  key: string;
@@ -83,9 +95,19 @@ export interface MoreMenuItem {
83
95
  trailing?: ReactNode;
84
96
  testId?: string;
85
97
  }
86
- /** "More": a details header, then groups of items separated by hairlines. */
98
+ /**
99
+ * A group of More that is a setting rather than actions (e.g. the webinar's "Who can chat"): its
100
+ * own menu content (a `DropdownMenuLabel` and radio items), between the same hairlines.
101
+ */
102
+ export interface MoreMenuSection {
103
+ key: string;
104
+ content: ReactNode;
105
+ }
106
+ type MoreMenuGroup = MoreMenuItem[] | MoreMenuSection;
107
+ /** "More": a details header, then groups of items (or settings) separated by hairlines. */
87
108
  export declare function MoreMenu({ details, groups, label, }: {
88
109
  details?: ReactNode;
89
- groups: MoreMenuItem[][];
110
+ groups: MoreMenuGroup[];
90
111
  label?: string;
91
112
  }): ReactElement;
113
+ export {};
@@ -7,16 +7,20 @@
7
7
  * join / unmount; the call opens its own with the chosen devices. Wide: preview left, choices
8
8
  * right; narrow: stacked.
9
9
  */
10
- import { type ReactElement, type ReactNode } from 'react';
10
+ import { type ElementType, type ReactElement, type ReactNode } from 'react';
11
11
  import { type JoinChoices, type MediaKind } from './join-choices';
12
12
  export interface PreJoinProps {
13
13
  /** The call's name, shown above the choices. */
14
14
  title?: string | null;
15
15
  /** Heading of the choices (default "Ready to join?"). */
16
16
  heading?: string;
17
+ /** The heading's element (default `h2`); a dialog passes its `DialogTitle`. */
18
+ headingAs?: ElementType;
17
19
  /** Extra fields above the join button (optional). */
18
20
  children?: ReactNode;
19
21
  joinLabel?: string;
22
+ /** The cancel button's text (default "Cancel"). */
23
+ cancelLabel?: string;
20
24
  busy?: boolean;
21
25
  /** Shown under the controls (e.g. a join error). */
22
26
  error?: string | null;
@@ -28,4 +32,4 @@ export interface PreJoinProps {
28
32
  describeError?(err: unknown, kind: MediaKind): string;
29
33
  className?: string;
30
34
  }
31
- export declare function PreJoin({ title, heading, children, joinLabel, busy, error, onJoin, onCancel, describeError, mirror, className, }: PreJoinProps): ReactElement;
35
+ export declare function PreJoin({ title, heading, headingAs: Heading, children, joinLabel, cancelLabel, busy, error, onJoin, onCancel, describeError, mirror, className, }: PreJoinProps): ReactElement;
@@ -40,12 +40,16 @@ export declare function IncomingCallCard({ callerName, caller, context, busy, mu
40
40
  onDecline(): void;
41
41
  className?: string;
42
42
  }): ReactElement;
43
- /** A centred state on the stage (waiting in the lobby, connecting). */
44
- export declare function CallStateMessage({ title, description, spinner, action, testId, }: {
43
+ /** A centred state on the stage (waiting in the lobby, connecting, a webinar starting soon). */
44
+ export declare function CallStateMessage({ title, description, spinner, icon, action, children, testId, }: {
45
45
  title: string;
46
46
  description?: string;
47
47
  spinner?: boolean;
48
+ /** Shown instead of the spinner (a calm state that is not loading). */
49
+ icon?: ReactNode;
48
50
  action?: ReactNode;
51
+ /** Extra lines between the description and the action (when, who hosts). */
52
+ children?: ReactNode;
49
53
  testId?: string;
50
54
  }): ReactElement;
51
55
  /** Covers the tiles while (re)connecting. */