@box/threaded-annotations 1.95.1 → 1.96.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.
Files changed (43) hide show
  1. package/dist/chunks/annotation-badge.js +15 -14
  2. package/dist/chunks/message-editor2.module.js +26 -24
  3. package/dist/chunks/timestamp-toggle.js +36 -0
  4. package/dist/esm/lib/components/v2/message-editor/message-editor.js +77 -69
  5. package/dist/esm/lib/components/v2/message-editor/messages.js +4 -0
  6. package/dist/esm/lib/components/v2/message-editor/subcomponents/timestamp-toggle.js +2 -0
  7. package/dist/i18n/bn-IN.js +1 -0
  8. package/dist/i18n/da-DK.js +1 -0
  9. package/dist/i18n/de-DE.js +1 -0
  10. package/dist/i18n/en-AU.js +1 -0
  11. package/dist/i18n/en-CA.js +1 -0
  12. package/dist/i18n/en-GB.js +1 -0
  13. package/dist/i18n/en-US.js +1 -0
  14. package/dist/i18n/en-US.properties +2 -0
  15. package/dist/i18n/en-x-pseudo.js +1 -0
  16. package/dist/i18n/es-419.js +1 -0
  17. package/dist/i18n/es-ES.js +1 -0
  18. package/dist/i18n/fi-FI.js +1 -0
  19. package/dist/i18n/fr-CA.js +1 -0
  20. package/dist/i18n/fr-FR.js +1 -0
  21. package/dist/i18n/hi-IN.js +1 -0
  22. package/dist/i18n/it-IT.js +1 -0
  23. package/dist/i18n/ja-JP.js +1 -0
  24. package/dist/i18n/json/src/lib/components/v2/message-editor/messages.json +1 -1
  25. package/dist/i18n/ko-KR.js +1 -0
  26. package/dist/i18n/nb-NO.js +1 -0
  27. package/dist/i18n/nl-NL.js +1 -0
  28. package/dist/i18n/pl-PL.js +1 -0
  29. package/dist/i18n/pt-BR.js +1 -0
  30. package/dist/i18n/ru-RU.js +1 -0
  31. package/dist/i18n/sv-SE.js +1 -0
  32. package/dist/i18n/tr-TR.js +1 -0
  33. package/dist/i18n/zh-CN.js +1 -0
  34. package/dist/i18n/zh-TW.js +1 -0
  35. package/dist/styles/message-editor2.css +1 -1
  36. package/dist/styles/timestamp-toggle.css +1 -0
  37. package/dist/types/index.d.ts +1 -0
  38. package/dist/types/lib/components/v2/message-editor/message-editor.types.d.ts +15 -0
  39. package/dist/types/lib/components/v2/message-editor/messages.d.ts +5 -0
  40. package/dist/types/lib/components/v2/message-editor/stories/shared.d.ts +1 -1
  41. package/dist/types/lib/components/v2/message-editor/subcomponents/timestamp-toggle.d.ts +9 -0
  42. package/dist/types/lib/v2/test-utils/test-selectors.d.ts +1 -0
  43. package/package.json +11 -11
@@ -5,7 +5,8 @@ import o from "clsx";
5
5
  import { useIntl as s } from "react-intl";
6
6
  import { jsx as c, jsxs as l } from "react/jsx-runtime";
7
7
  import { DashedSquareBubble as u, PencilScribble as d, TextHighlight as f } from "@box/blueprint-web-assets/icons/Medium";
8
- import '../styles/annotation-badge.css';var p = {
8
+ import { Play as p } from "@box/blueprint-web-assets/icons/MediumFilled";
9
+ import '../styles/annotation-badge.css';var m = {
9
10
  annotationBadge: "_annotationBadge_wsfss_1",
10
11
  annotationIcon: "_annotationIcon_wsfss_16",
11
12
  highlightText: "_highlightText_wsfss_22",
@@ -13,22 +14,22 @@ import '../styles/annotation-badge.css';var p = {
13
14
  disabled: "_disabled_wsfss_42",
14
15
  focusableWrapper: "_focusableWrapper_wsfss_47",
15
16
  tooltipContent: "_tooltipContent_wsfss_53"
16
- }, m = {
17
+ }, h = {
17
18
  [e.Drawing]: d,
18
- [e.Frame]: null,
19
+ [e.Frame]: p,
19
20
  [e.Highlight]: f,
20
21
  [e.Point]: d,
21
22
  [e.Region]: u
22
- }, h = ({ annotationTarget: u, onClick: d, originalContentDeleted: f }) => {
23
- let { formatMessage: h } = s(), g = m[u.type], _ = f ? "textOnLightSecondary" : "textOnLightLink", v = /* @__PURE__ */ l(n, {
24
- className: o(p.annotationBadge, f && p.disabled),
23
+ }, g = ({ annotationTarget: u, onClick: d, originalContentDeleted: f }) => {
24
+ let { formatMessage: p } = s(), g = h[u.type], _ = f ? "textOnLightSecondary" : "textOnLightLink", v = /* @__PURE__ */ l(n, {
25
+ className: o(m.annotationBadge, f && m.disabled),
25
26
  "data-testid": "annotation-badge",
26
27
  "data-no-expand": !0,
27
28
  disabled: f,
28
29
  onClick: f ? void 0 : d,
29
30
  children: [g && /* @__PURE__ */ c(i, {
30
31
  as: "span",
31
- className: p.annotationIcon,
32
+ className: m.annotationIcon,
32
33
  color: _,
33
34
  children: /* @__PURE__ */ c(g, {
34
35
  color: "currentColor",
@@ -37,27 +38,27 @@ import '../styles/annotation-badge.css';var p = {
37
38
  })
38
39
  }), u.type === e.Highlight && u.highlightedText ? /* @__PURE__ */ c(i, {
39
40
  as: "span",
40
- className: p.highlightText,
41
+ className: m.highlightText,
41
42
  color: _,
42
43
  variant: "bodySmallSemibold",
43
44
  children: u.highlightedText
44
45
  }) : /* @__PURE__ */ c(i, {
45
46
  as: "span",
46
- className: p.annotationLabel,
47
+ className: m.annotationLabel,
47
48
  color: _,
48
49
  variant: "bodyDefaultSemibold",
49
- children: u.type === e.Frame ? u.timestamp : h(t.annotationPage, { number: u.page })
50
+ children: u.type === e.Frame ? u.timestamp : p(t.annotationPage, { number: u.page })
50
51
  })]
51
52
  });
52
53
  return f ? /* @__PURE__ */ c(a, {
53
- className: p.tooltipContent,
54
- content: h(t.originalContentDeleted),
54
+ className: m.tooltipContent,
55
+ content: p(t.originalContentDeleted),
55
56
  side: "top",
56
57
  children: /* @__PURE__ */ c(r, {
57
- className: p.focusableWrapper,
58
+ className: m.focusableWrapper,
58
59
  "data-no-expand": !0,
59
60
  children: v
60
61
  })
61
62
  }) : v;
62
63
  };
63
- export { h as t };
64
+ export { g as t };
@@ -1,27 +1,29 @@
1
1
  import '../styles/message-editor2.css';var e = {
2
- messageEditorWrapper: "_messageEditorWrapper_sbwz4_4",
3
- editActionsColumn: "_editActionsColumn_sbwz4_9",
4
- editActionsRow: "_editActionsRow_sbwz4_16",
5
- characterLimitCounter: "_characterLimitCounter_sbwz4_22",
6
- characterLimitCounterExceeded: "_characterLimitCounterExceeded_sbwz4_25",
7
- messageEditor: "_messageEditor_sbwz4_4",
8
- editorEditMode: "_editorEditMode_sbwz4_43",
9
- editorFirstAnnotation: "_editorFirstAnnotation_sbwz4_50",
10
- editorError: "_editorError_sbwz4_50",
11
- editorViewport: "_editorViewport_sbwz4_58",
12
- editorContainer: "_editorContainer_sbwz4_64",
13
- editor: "_editor_sbwz4_43",
14
- editorFade: "_editorFade_sbwz4_110",
15
- editorFadeHidden: "_editorFadeHidden_sbwz4_121",
16
- editorFullWidth: "_editorFullWidth_sbwz4_124",
17
- actionsWrapper: "_actionsWrapper_sbwz4_128",
18
- actionsWrapperInner: "_actionsWrapperInner_sbwz4_138",
19
- errorMessage: "_errorMessage_sbwz4_145",
20
- errorText: "_errorText_sbwz4_154",
21
- editorHasScroll: "_editorHasScroll_sbwz4_163",
22
- editorCharacterLimitExceeded: "_editorCharacterLimitExceeded_sbwz4_174",
23
- characterLimitExceeded: "_characterLimitExceeded_sbwz4_196",
24
- scrolledToBottom: "_scrolledToBottom_sbwz4_199",
25
- anchorElement: "_anchorElement_sbwz4_203"
2
+ messageEditorWrapper: "_messageEditorWrapper_15t7h_4",
3
+ editActionsColumn: "_editActionsColumn_15t7h_9",
4
+ editActionsRow: "_editActionsRow_15t7h_16",
5
+ characterLimitCounter: "_characterLimitCounter_15t7h_22",
6
+ characterLimitCounterExceeded: "_characterLimitCounterExceeded_15t7h_25",
7
+ messageEditor: "_messageEditor_15t7h_4",
8
+ editorEditMode: "_editorEditMode_15t7h_43",
9
+ editorFirstAnnotation: "_editorFirstAnnotation_15t7h_50",
10
+ editorError: "_editorError_15t7h_50",
11
+ editorViewport: "_editorViewport_15t7h_58",
12
+ editorContainer: "_editorContainer_15t7h_64",
13
+ editor: "_editor_15t7h_43",
14
+ editorFade: "_editorFade_15t7h_110",
15
+ editorFadeHidden: "_editorFadeHidden_15t7h_121",
16
+ editorFullWidth: "_editorFullWidth_15t7h_124",
17
+ actionsWrapper: "_actionsWrapper_15t7h_128",
18
+ actionsWrapperInner: "_actionsWrapperInner_15t7h_138",
19
+ timestampToggle: "_timestampToggle_15t7h_145",
20
+ errorMessage: "_errorMessage_15t7h_148",
21
+ errorText: "_errorText_15t7h_157",
22
+ editorHasScroll: "_editorHasScroll_15t7h_166",
23
+ editorCharacterLimitExceeded: "_editorCharacterLimitExceeded_15t7h_177",
24
+ characterLimitExceeded: "_characterLimitExceeded_15t7h_199",
25
+ scrolledToBottom: "_scrolledToBottom_15t7h_202",
26
+ anchorElement: "_anchorElement_15t7h_206",
27
+ withTimestampToggle: "_withTimestampToggle_15t7h_215"
26
28
  };
27
29
  export { e as t };
@@ -0,0 +1,36 @@
1
+ import e from "../esm/lib/components/v2/message-editor/messages.js";
2
+ import { Checkbox as t, Text as n } from "@box/blueprint-web";
3
+ import r from "clsx";
4
+ import { useCallback as i } from "react";
5
+ import { useIntl as a } from "react-intl";
6
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
7
+ import { Play as c } from "@box/blueprint-web-assets/icons/MediumFilled";
8
+ import '../styles/timestamp-toggle.css';var l = {
9
+ timestampToggle: "_timestampToggle_11uz9_1",
10
+ timestampToggleDisabled: "_timestampToggleDisabled_11uz9_8",
11
+ label: "_label_11uz9_20"
12
+ }, u = ({ className: u, disabled: d, formattedTimestamp: f, isPressed: p, onChange: m }) => {
13
+ let h = a(), g = i((e) => {
14
+ m(e === !0);
15
+ }, [m]), _ = /* @__PURE__ */ s(n, {
16
+ as: "span",
17
+ className: l.label,
18
+ color: "textOnLightSecondary",
19
+ variant: "bodyDefaultSemibold",
20
+ children: [/* @__PURE__ */ o(c, {
21
+ color: "currentColor",
22
+ height: 16,
23
+ width: 16
24
+ }), f]
25
+ });
26
+ return /* @__PURE__ */ o(t.Item, {
27
+ "aria-label": h.formatMessage(e.timestampToggleLabel),
28
+ checked: p,
29
+ className: r(l.timestampToggle, { [l.timestampToggleDisabled]: d }, u),
30
+ disabled: d,
31
+ label: _,
32
+ onCheckedChange: g,
33
+ value: "video-timestamp"
34
+ });
35
+ };
36
+ export { u as t };
@@ -15,140 +15,148 @@ import { CharacterLimitCounter as u } from "./subcomponents/character-limit-coun
15
15
  import { EditButtons as d } from "./subcomponents/edit-buttons.js";
16
16
  import { ErrorMessage as f } from "./subcomponents/error-message.js";
17
17
  import { PostButton as p } from "./subcomponents/post-button.js";
18
- import { MessageEditorVariant as m } from "./message-editor.types.js";
18
+ import { t as m } from "../../../../../chunks/timestamp-toggle.js";
19
+ import { MessageEditorVariant as h } from "./message-editor.types.js";
19
20
  import { VisuallyHidden as oe } from "@box/blueprint-web";
20
- import h from "clsx";
21
- import { useEffect as g, useMemo as se, useRef as _ } from "react";
22
- import { useIntl as v } from "react-intl";
23
- import { Fragment as y, jsx as b, jsxs as x } from "react/jsx-runtime";
24
- import { UserSelectorHeadless as S } from "@box/user-selector";
25
- import { EditorContent as C, useEditor as w } from "@tiptap/react";
26
- import T from "@tiptap/extension-document";
21
+ import g from "clsx";
22
+ import { useEffect as _, useMemo as se, useRef as v } from "react";
23
+ import { useIntl as y } from "react-intl";
24
+ import { Fragment as b, jsx as x, jsxs as S } from "react/jsx-runtime";
25
+ import { UserSelectorHeadless as C } from "@box/user-selector";
26
+ import { EditorContent as w, useEditor as T } from "@tiptap/react";
27
+ import E from "@tiptap/extension-document";
27
28
  import ce from "@tiptap/extension-text";
28
29
  import le from "@tiptap/extension-placeholder";
29
- var E = (s) => {
30
- let { disableComponent: E = !1, initialContent: D, isFirstAnnotation: O = !1, isReply: ue = !1, maxCharacterCount: k, userSelectorProps: A } = s, j = _(null), M = _(null), N = _(null), P = v(), { errorMessage: F, isLoading: I } = ae(), { close: L, isActive: R, query: z, command: B, suggestionCallbacks: V } = o(j), { closeAllPopovers: H } = t(), U = P.formatMessage(ue ? c.placeholderReply : c.placeholderAddComment), W = s.variant === m.EDIT_MESSAGE, G = w({
30
+ var D = (s) => {
31
+ let { disableComponent: D = !1, initialContent: O, isFirstAnnotation: k = !1, isReply: ue = !1, maxCharacterCount: A, userSelectorProps: j, videoTimestamp: M } = s, N = v(null), P = v(null), F = v(null), I = y(), { errorMessage: L, isLoading: R } = ae(), { close: z, isActive: B, query: V, command: H, suggestionCallbacks: de } = o(N), { closeAllPopovers: fe } = t(), U = I.formatMessage(ue ? c.placeholderReply : c.placeholderAddComment), W = s.variant === h.EDIT_MESSAGE, G = T({
31
32
  extensions: [
32
- T,
33
+ E,
33
34
  te,
34
35
  le.configure({
35
36
  placeholder: U,
36
37
  showOnlyWhenEditable: !1
37
38
  }),
38
39
  ce,
39
- n.configure({ suggestion: r(i, "@", V) })
40
+ n.configure({ suggestion: r(i, "@", de) })
40
41
  ],
41
42
  autofocus: !0,
42
- content: D,
43
+ content: O,
43
44
  editorProps: {
44
45
  attributes: { class: l.editor },
45
46
  handleTextInput: ee,
46
47
  transformPastedText: a
47
48
  },
48
49
  onCreate: ({ editor: e }) => {
49
- N.current = e.view.dom, e.commands.focus("end");
50
+ F.current = e.view.dom, e.commands.focus("end");
50
51
  },
51
52
  onUpdate: () => {
52
- H?.();
53
+ fe?.();
53
54
  }
54
- }, [U]), { onUserSelected: de } = ie(se(() => B && G && !G.isDestroyed ? {
55
- command: B,
55
+ }, [U]), { onUserSelected: pe } = ie(se(() => H && G && !G.isDestroyed ? {
56
+ command: H,
56
57
  editor: G
57
- } : null, [B, G])), { exceedsSingleLine: fe, hasScroll: K, isAtBottom: q } = re(M, G), J = ne(G, D, k), Y = W || !O || O && fe, pe = !G || G?.isEmpty, X = E || I, Z = (J?.excess ?? 0) > 0, Q = pe || X || Z, $ = J && J.excess > 0 && Y;
58
- g(() => {
58
+ } : null, [H, G])), { exceedsSingleLine: me, hasScroll: K, isAtBottom: q } = re(P, G), J = ne(G, O, A), Y = W || !k || k && me, he = !G || G?.isEmpty, X = D || R, Z = (J?.excess ?? 0) > 0, Q = he || X || Z, $ = J && J.excess > 0 && Y;
59
+ _(() => {
59
60
  G && G.setEditable(!X);
60
- }, [G, X]), g(() => {
61
- if (!Z || !M.current || !D) return;
61
+ }, [G, X]), _(() => {
62
+ if (!Z || !P.current || !O) return;
62
63
  let e = 0, t = requestAnimationFrame(() => {
63
64
  e = requestAnimationFrame(() => {
64
- M.current?.scrollTo({ top: M.current.scrollHeight });
65
+ P.current?.scrollTo({ top: P.current.scrollHeight });
65
66
  });
66
67
  });
67
68
  return () => {
68
69
  cancelAnimationFrame(t), cancelAnimationFrame(e);
69
70
  };
70
- }, [Z]), g(() => {
71
- !G || D === void 0 || queueMicrotask(() => {
72
- G.commands.setContent(D ?? "", !1), G.commands.focus("end");
71
+ }, [Z]), _(() => {
72
+ !G || O === void 0 || queueMicrotask(() => {
73
+ G.commands.setContent(O ?? "", !1), G.commands.focus("end");
73
74
  });
74
- }, [D]), g(() => {
75
- if (!R) return;
75
+ }, [O]), _(() => {
76
+ if (!B) return;
76
77
  let t = `[${Object.keys(e)[0]}]`, n = (e) => {
77
- if (M.current?.contains(e)) return !0;
78
+ if (P.current?.contains(e)) return !0;
78
79
  let n = document.querySelectorAll(t);
79
80
  for (let t of n) if (t.contains(e)) return !0;
80
81
  return !1;
81
82
  }, r = (e) => {
82
83
  let t = e.target;
83
- !t || n(t) || L();
84
+ !t || n(t) || z();
84
85
  }, i = requestAnimationFrame(() => {
85
86
  document.addEventListener("mousedown", r), document.addEventListener("focusin", r);
86
87
  });
87
88
  return () => {
88
89
  cancelAnimationFrame(i), document.removeEventListener("mousedown", r), document.removeEventListener("focusin", r);
89
90
  };
90
- }, [L, R]);
91
- let me = /* @__PURE__ */ b("div", { className: l.anchorElement });
92
- return /* @__PURE__ */ b("div", {
91
+ }, [z, B]);
92
+ let ge = /* @__PURE__ */ x("div", { className: l.anchorElement });
93
+ return /* @__PURE__ */ x("div", {
93
94
  "data-no-expand": !0,
94
95
  className: l.messageEditorWrapper,
95
- children: /* @__PURE__ */ x("div", {
96
- className: h(l.messageEditor, {
96
+ children: /* @__PURE__ */ S("div", {
97
+ className: g(l.messageEditor, {
97
98
  [l.editorHasScroll]: K,
98
99
  [l.editorEditMode]: W,
99
- [l.editorError]: F || Z,
100
- [l.editorFirstAnnotation]: !W && O,
100
+ [l.editorError]: L || Z,
101
+ [l.editorFirstAnnotation]: !W && k,
101
102
  [l.editorCharacterLimitExceeded]: Z
102
103
  }),
103
- children: [/* @__PURE__ */ x("div", {
104
- className: h(l.editorViewport, { [l.editorFullWidth]: Y }),
105
- children: [/* @__PURE__ */ x("div", {
106
- ref: M,
104
+ children: [/* @__PURE__ */ S("div", {
105
+ className: g(l.editorViewport, { [l.editorFullWidth]: Y }),
106
+ children: [/* @__PURE__ */ S("div", {
107
+ ref: P,
107
108
  className: l.editorContainer,
108
- "aria-label": P.formatMessage(c.scrollContainerAriaLabel),
109
- children: [/* @__PURE__ */ b(C, {
110
- "aria-label": P.formatMessage(c.editorContentAriaLabel),
109
+ "aria-label": I.formatMessage(c.scrollContainerAriaLabel),
110
+ children: [/* @__PURE__ */ x(w, {
111
+ "aria-label": I.formatMessage(c.editorContentAriaLabel),
111
112
  editor: G
112
- }), /* @__PURE__ */ b(S, {
113
- ref: j,
114
- inputElementRef: N,
115
- onSelectedUserChange: de,
116
- open: R,
117
- rootElement: me,
118
- value: z,
119
- ...A,
113
+ }), /* @__PURE__ */ x(C, {
114
+ ref: N,
115
+ inputElementRef: F,
116
+ onSelectedUserChange: pe,
117
+ open: B,
118
+ rootElement: ge,
119
+ value: V,
120
+ ...j,
120
121
  popoverContentContainerProps: {
121
- ...A.popoverContentContainerProps,
122
+ ...j.popoverContentContainerProps,
122
123
  ...e,
123
124
  avoidCollisions: !0
124
125
  }
125
126
  })]
126
- }), K && /* @__PURE__ */ b("div", {
127
- className: h(l.editorFade, { [l.editorFadeHidden]: q }),
127
+ }), K && /* @__PURE__ */ x("div", {
128
+ className: g(l.editorFade, { [l.editorFadeHidden]: q }),
128
129
  "aria-hidden": "true"
129
130
  })]
130
- }), /* @__PURE__ */ b("div", {
131
- className: h(l.actionsWrapper),
132
- children: /* @__PURE__ */ x("div", {
133
- className: h(l.actionsWrapperInner, {
131
+ }), /* @__PURE__ */ x("div", {
132
+ className: g(l.actionsWrapper, { [l.withTimestampToggle]: !!M }),
133
+ children: /* @__PURE__ */ S("div", {
134
+ className: g(l.actionsWrapperInner, {
134
135
  [l.scrolledToBottom]: q,
135
136
  [l.characterLimitExceeded]: Z
136
137
  }),
137
138
  children: [
138
- F && /* @__PURE__ */ b(f, { errorMessage: F }),
139
- J && J.excess > 0 && !Y && /* @__PURE__ */ b(oe, {
139
+ L && /* @__PURE__ */ x(f, { errorMessage: L }),
140
+ J && J.excess > 0 && !Y && /* @__PURE__ */ x(oe, {
140
141
  role: "alert",
141
- children: P.formatMessage(c.characterLimitExceeded, { excess: J.excess })
142
+ children: I.formatMessage(c.characterLimitExceeded, { excess: J.excess })
142
143
  }),
143
- W ? /* @__PURE__ */ x("div", {
144
+ M && /* @__PURE__ */ x(m, {
145
+ className: l.timestampToggle,
146
+ disabled: X,
147
+ formattedTimestamp: M.formattedTimestamp,
148
+ isPressed: M.isPressed,
149
+ onChange: M.onPressedChange
150
+ }),
151
+ W ? /* @__PURE__ */ S("div", {
144
152
  className: l.editActionsColumn,
145
- children: [$ && /* @__PURE__ */ b(u, {
153
+ children: [$ && /* @__PURE__ */ x(u, {
146
154
  count: J.count,
147
155
  excess: J.excess,
148
156
  maxCount: J.maxCount
149
- }), /* @__PURE__ */ b("div", {
157
+ }), /* @__PURE__ */ x("div", {
150
158
  className: l.editActionsRow,
151
- children: /* @__PURE__ */ b(d, {
159
+ children: /* @__PURE__ */ x(d, {
152
160
  disabled: Q,
153
161
  getEditorJsonContent: () => G?.getJSON(),
154
162
  onCancel: s.onEditCancel,
@@ -157,11 +165,11 @@ var E = (s) => {
157
165
  onSaveError: s.onSaveError
158
166
  })
159
167
  })]
160
- }) : /* @__PURE__ */ x(y, { children: [$ && /* @__PURE__ */ b(u, {
168
+ }) : /* @__PURE__ */ S(b, { children: [$ && /* @__PURE__ */ x(u, {
161
169
  count: J.count,
162
170
  excess: J.excess,
163
171
  maxCount: J.maxCount
164
- }), /* @__PURE__ */ b(p, {
172
+ }), /* @__PURE__ */ x(p, {
165
173
  cleanEditor: () => G?.commands.setContent(""),
166
174
  disabled: Q,
167
175
  getEditorJsonContent: () => G?.getJSON(),
@@ -174,5 +182,5 @@ var E = (s) => {
174
182
  })]
175
183
  })
176
184
  });
177
- }, D = (e) => /* @__PURE__ */ b(s, { children: /* @__PURE__ */ b(E, { ...e }) });
178
- export { D as MessageEditor, m as MessageEditorVariant };
185
+ }, O = (e) => /* @__PURE__ */ x(s, { children: /* @__PURE__ */ x(D, { ...e }) });
186
+ export { O as MessageEditor, h as MessageEditorVariant };
@@ -43,6 +43,10 @@ var t = e({
43
43
  scrollContainerAriaLabel: {
44
44
  id: "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel",
45
45
  defaultMessage: "Message editor scroll container"
46
+ },
47
+ timestampToggleLabel: {
48
+ id: "groupSharedFeatures.threadedAnnotations.messageEditor.timestampToggleLabel",
49
+ defaultMessage: "Comment with timestamp"
46
50
  }
47
51
  });
48
52
  export { t as default };
@@ -0,0 +1,2 @@
1
+ import { t as e } from "../../../../../../chunks/timestamp-toggle.js";
2
+ export { e as TimestampToggle };
@@ -31,6 +31,7 @@ export default {
31
31
  "groupSharedFeatures.threadedAnnotations.messageEditor.save": "সংরক্ষণ করুন",
32
32
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "সংরক্ষণ হচ্ছে...",
33
33
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "মেসেজ এডিটর স্ক্রল কন্টেইনার",
34
+ "groupSharedFeatures.threadedAnnotations.messageEditor.timestampToggleLabel": "Comment with timestamp",
34
35
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "আরও বিকল্প বোতাম",
35
36
  "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "মূল কন্টেন্ট মুছে ফেলা হয়েছে",
36
37
  "groupSharedFeatures.threadedAnnotations.reply": "উত্তর দিন",
@@ -31,6 +31,7 @@ export default {
31
31
  "groupSharedFeatures.threadedAnnotations.messageEditor.save": "Gem",
32
32
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "Gemmer...",
33
33
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "Rulleområde i meddelelseseditor",
34
+ "groupSharedFeatures.threadedAnnotations.messageEditor.timestampToggleLabel": "Comment with timestamp",
34
35
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "'Flere valgmuligheder'-knap",
35
36
  "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Oprindeligt indhold blev slettet",
36
37
  "groupSharedFeatures.threadedAnnotations.reply": "Svar",
@@ -31,6 +31,7 @@ export default {
31
31
  "groupSharedFeatures.threadedAnnotations.messageEditor.save": "Speichern",
32
32
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "Wird gespeichert …",
33
33
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "Scrollcontainer für den Nachrichten-Bearbeiter",
34
+ "groupSharedFeatures.threadedAnnotations.messageEditor.timestampToggleLabel": "Comment with timestamp",
34
35
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "Schaltfläche „Weitere Optionen“",
35
36
  "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Der ursprüngliche Inhalt wurde gelöscht",
36
37
  "groupSharedFeatures.threadedAnnotations.reply": "Antworten",
@@ -31,6 +31,7 @@ export default {
31
31
  "groupSharedFeatures.threadedAnnotations.messageEditor.save": "Save",
32
32
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "Saving...",
33
33
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "Message editor scroll container",
34
+ "groupSharedFeatures.threadedAnnotations.messageEditor.timestampToggleLabel": "Comment with timestamp",
34
35
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "More options button",
35
36
  "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Original content was deleted",
36
37
  "groupSharedFeatures.threadedAnnotations.reply": "Reply",
@@ -31,6 +31,7 @@ export default {
31
31
  "groupSharedFeatures.threadedAnnotations.messageEditor.save": "Save",
32
32
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "Saving...",
33
33
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "Message editor scroll container",
34
+ "groupSharedFeatures.threadedAnnotations.messageEditor.timestampToggleLabel": "Comment with timestamp",
34
35
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "More options button",
35
36
  "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Original content was deleted",
36
37
  "groupSharedFeatures.threadedAnnotations.reply": "Reply",
@@ -31,6 +31,7 @@ export default {
31
31
  "groupSharedFeatures.threadedAnnotations.messageEditor.save": "Save",
32
32
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "Saving...",
33
33
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "Message editor scroll container",
34
+ "groupSharedFeatures.threadedAnnotations.messageEditor.timestampToggleLabel": "Comment with timestamp",
34
35
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "More options button",
35
36
  "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Original content was deleted",
36
37
  "groupSharedFeatures.threadedAnnotations.reply": "Reply",
@@ -31,6 +31,7 @@ export default {
31
31
  "groupSharedFeatures.threadedAnnotations.messageEditor.save": "Save",
32
32
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "Saving...",
33
33
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "Message editor scroll container",
34
+ "groupSharedFeatures.threadedAnnotations.messageEditor.timestampToggleLabel": "Comment with timestamp",
34
35
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "More options button",
35
36
  "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Original content was deleted",
36
37
  "groupSharedFeatures.threadedAnnotations.reply": "Reply",
@@ -62,6 +62,8 @@ groupSharedFeatures.threadedAnnotations.messageEditor.save = Save
62
62
  groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading = Saving...
63
63
  # Aria label for the scrollable message editor content container
64
64
  groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel = Message editor scroll container
65
+ # Label for the toggle that attaches the current video playback timestamp to a comment
66
+ groupSharedFeatures.threadedAnnotations.messageEditor.timestampToggleLabel = Comment with timestamp
65
67
  # Aria label for more options button in annotation message
66
68
  groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel = More options button
67
69
  # Tooltip shown when the annotation badge refers to deleted content
@@ -31,6 +31,7 @@ export default {
31
31
  "groupSharedFeatures.threadedAnnotations.messageEditor.save": "⟦萬 Śàνè 國⟧",
32
32
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "⟦萬萬 Śàνìиĝ... 國國⟧",
33
33
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "⟦萬萬萬萬萬萬萬萬萬 Μèśŝàĝé êďìţòŕ ş¢ŗóĺļ çôиťáíйëř 國國國國國國國國國⟧",
34
+ "groupSharedFeatures.threadedAnnotations.messageEditor.timestampToggleLabel": "Comment with timestamp",
34
35
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "⟦萬萬萬萬萬 Μòŕè óΡţìôиś вµťŧõй 國國國國國⟧",
35
36
  "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "⟦萬萬萬萬萬萬萬萬 Òŕìĝíиàĺ ¢òйţèлť ŵáś ďéļêŧëđ 國國國國國國國國⟧",
36
37
  "groupSharedFeatures.threadedAnnotations.reply": "⟦萬 ŔèΡĺý 國⟧",
@@ -31,6 +31,7 @@ export default {
31
31
  "groupSharedFeatures.threadedAnnotations.messageEditor.save": "Guardar",
32
32
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "Guardando…",
33
33
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "Contenedor de desplazamiento del editor de mensajes",
34
+ "groupSharedFeatures.threadedAnnotations.messageEditor.timestampToggleLabel": "Comment with timestamp",
34
35
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "Botón Más opciones",
35
36
  "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Se ha eliminado el contenido original",
36
37
  "groupSharedFeatures.threadedAnnotations.reply": "Responder",
@@ -31,6 +31,7 @@ export default {
31
31
  "groupSharedFeatures.threadedAnnotations.messageEditor.save": "Guardar",
32
32
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "Guardando…",
33
33
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "Contenedor de desplazamiento del editor de mensajes",
34
+ "groupSharedFeatures.threadedAnnotations.messageEditor.timestampToggleLabel": "Comment with timestamp",
34
35
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "Botón Más opciones",
35
36
  "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Se ha eliminado el contenido original",
36
37
  "groupSharedFeatures.threadedAnnotations.reply": "Responder",
@@ -31,6 +31,7 @@ export default {
31
31
  "groupSharedFeatures.threadedAnnotations.messageEditor.save": "Tallenna",
32
32
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "Tallennetaan...",
33
33
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "Viestieditorin vierityssäiliö",
34
+ "groupSharedFeatures.threadedAnnotations.messageEditor.timestampToggleLabel": "Comment with timestamp",
34
35
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "Lisää asetuksia -painike",
35
36
  "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Alkuperäinen sisältö poistettiin",
36
37
  "groupSharedFeatures.threadedAnnotations.reply": "Vastaus",
@@ -31,6 +31,7 @@ export default {
31
31
  "groupSharedFeatures.threadedAnnotations.messageEditor.save": "Sauvegarder",
32
32
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "Enregistrement en cours",
33
33
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "Conteneur de défilement de l’éditeur de message",
34
+ "groupSharedFeatures.threadedAnnotations.messageEditor.timestampToggleLabel": "Comment with timestamp",
34
35
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "Bouton Plus d'options",
35
36
  "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Le contenu d’origine a été supprimé",
36
37
  "groupSharedFeatures.threadedAnnotations.reply": "Répondre",
@@ -31,6 +31,7 @@ export default {
31
31
  "groupSharedFeatures.threadedAnnotations.messageEditor.save": "Sauvegarder",
32
32
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "Enregistrement en cours",
33
33
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "Conteneur de défilement de l’éditeur de message",
34
+ "groupSharedFeatures.threadedAnnotations.messageEditor.timestampToggleLabel": "Comment with timestamp",
34
35
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "Bouton Plus d'options",
35
36
  "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Le contenu d’origine a été supprimé",
36
37
  "groupSharedFeatures.threadedAnnotations.reply": "Répondre",
@@ -31,6 +31,7 @@ export default {
31
31
  "groupSharedFeatures.threadedAnnotations.messageEditor.save": "सहेजें",
32
32
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "सहेजा जा रहा है...",
33
33
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "संदेश संपादक स्क्रॉल कंटेनर",
34
+ "groupSharedFeatures.threadedAnnotations.messageEditor.timestampToggleLabel": "Comment with timestamp",
34
35
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "अधिक विकल्प बटन",
35
36
  "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "मूल कंटेंट को हटा दिया गया था",
36
37
  "groupSharedFeatures.threadedAnnotations.reply": "जवाब दें",
@@ -31,6 +31,7 @@ export default {
31
31
  "groupSharedFeatures.threadedAnnotations.messageEditor.save": "Salva",
32
32
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "Salvataggio in corso...",
33
33
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "Contenitore di scorrimento dell’editor dei messaggi",
34
+ "groupSharedFeatures.threadedAnnotations.messageEditor.timestampToggleLabel": "Comment with timestamp",
34
35
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "Pulsante Altre opzioni",
35
36
  "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Il contenuto originale è stato eliminato",
36
37
  "groupSharedFeatures.threadedAnnotations.reply": "Rispondi",
@@ -31,6 +31,7 @@ export default {
31
31
  "groupSharedFeatures.threadedAnnotations.messageEditor.save": "保存",
32
32
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "保存しています...",
33
33
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "メッセージエディタのスクロールコンテナ",
34
+ "groupSharedFeatures.threadedAnnotations.messageEditor.timestampToggleLabel": "Comment with timestamp",
34
35
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "[その他のオプション] ボタン",
35
36
  "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "元のコンテンツは削除されています",
36
37
  "groupSharedFeatures.threadedAnnotations.reply": "返信",
@@ -1 +1 @@
1
- [{"id":"groupSharedFeatures.threadedAnnotations.messageEditor.cancel","description":"Cancel button text for message editor","defaultMessage":"Cancel"},{"id":"groupSharedFeatures.threadedAnnotations.messageEditor.characterCount","description":"Character count display showing current count and maximum allowed","defaultMessage":"{count}/{maxCount}"},{"id":"groupSharedFeatures.threadedAnnotations.messageEditor.characterLimitExceeded","description":"Screen reader alert and tooltip text shown when character limit is exceeded","defaultMessage":"Your comment is {excess, plural, one {# character} other {# characters}} too long"},{"id":"groupSharedFeatures.threadedAnnotations.messageEditor.editorContentAriaLabel","description":"Aria label for the rich text editor content area","defaultMessage":"Message editor"},{"id":"groupSharedFeatures.threadedAnnotations.messageEditor.placeholderAddComment","description":"Placeholder when composing the first comment in a thread","defaultMessage":"Add a comment, @ to mention"},{"id":"groupSharedFeatures.threadedAnnotations.messageEditor.placeholderReply","description":"Placeholder when composing a reply in an existing thread","defaultMessage":"Reply, @ to mention"},{"id":"groupSharedFeatures.threadedAnnotations.messageEditor.post","description":"Post button text for message editor","defaultMessage":"Post"},{"id":"groupSharedFeatures.threadedAnnotations.messageEditor.postLoading","description":"Aria label for post button loading state","defaultMessage":"Loading..."},{"id":"groupSharedFeatures.threadedAnnotations.messageEditor.save","description":"Save button text for message editor","defaultMessage":"Save"},{"id":"groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading","description":"Aria label for save button loading state","defaultMessage":"Saving..."},{"id":"groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel","description":"Aria label for the scrollable message editor content container","defaultMessage":"Message editor scroll container"}]
1
+ [{"id":"groupSharedFeatures.threadedAnnotations.messageEditor.cancel","description":"Cancel button text for message editor","defaultMessage":"Cancel"},{"id":"groupSharedFeatures.threadedAnnotations.messageEditor.characterCount","description":"Character count display showing current count and maximum allowed","defaultMessage":"{count}/{maxCount}"},{"id":"groupSharedFeatures.threadedAnnotations.messageEditor.characterLimitExceeded","description":"Screen reader alert and tooltip text shown when character limit is exceeded","defaultMessage":"Your comment is {excess, plural, one {# character} other {# characters}} too long"},{"id":"groupSharedFeatures.threadedAnnotations.messageEditor.editorContentAriaLabel","description":"Aria label for the rich text editor content area","defaultMessage":"Message editor"},{"id":"groupSharedFeatures.threadedAnnotations.messageEditor.placeholderAddComment","description":"Placeholder when composing the first comment in a thread","defaultMessage":"Add a comment, @ to mention"},{"id":"groupSharedFeatures.threadedAnnotations.messageEditor.placeholderReply","description":"Placeholder when composing a reply in an existing thread","defaultMessage":"Reply, @ to mention"},{"id":"groupSharedFeatures.threadedAnnotations.messageEditor.post","description":"Post button text for message editor","defaultMessage":"Post"},{"id":"groupSharedFeatures.threadedAnnotations.messageEditor.postLoading","description":"Aria label for post button loading state","defaultMessage":"Loading..."},{"id":"groupSharedFeatures.threadedAnnotations.messageEditor.save","description":"Save button text for message editor","defaultMessage":"Save"},{"id":"groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading","description":"Aria label for save button loading state","defaultMessage":"Saving..."},{"id":"groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel","description":"Aria label for the scrollable message editor content container","defaultMessage":"Message editor scroll container"},{"id":"groupSharedFeatures.threadedAnnotations.messageEditor.timestampToggleLabel","description":"Label for the toggle that attaches the current video playback timestamp to a comment","defaultMessage":"Comment with timestamp"}]
@@ -31,6 +31,7 @@ export default {
31
31
  "groupSharedFeatures.threadedAnnotations.messageEditor.save": "저장",
32
32
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "저장 중...",
33
33
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "메시지 편집기 스크롤 컨테이너",
34
+ "groupSharedFeatures.threadedAnnotations.messageEditor.timestampToggleLabel": "Comment with timestamp",
34
35
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "추가 옵션 버튼",
35
36
  "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "원본 콘텐츠가 삭제되었습니다",
36
37
  "groupSharedFeatures.threadedAnnotations.reply": "답글",
@@ -31,6 +31,7 @@ export default {
31
31
  "groupSharedFeatures.threadedAnnotations.messageEditor.save": "Lagre",
32
32
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "Lagrer ...",
33
33
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "Rullebeholder for meldingsredaktør",
34
+ "groupSharedFeatures.threadedAnnotations.messageEditor.timestampToggleLabel": "Comment with timestamp",
34
35
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "Knapp for flere alternativer",
35
36
  "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Opprinnelig innhold ble slettet",
36
37
  "groupSharedFeatures.threadedAnnotations.reply": "Svar",
@@ -31,6 +31,7 @@ export default {
31
31
  "groupSharedFeatures.threadedAnnotations.messageEditor.save": "Opslaan",
32
32
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "Wordt opgeslagen …",
33
33
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "Scrolcontainer berichteneditor",
34
+ "groupSharedFeatures.threadedAnnotations.messageEditor.timestampToggleLabel": "Comment with timestamp",
34
35
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "Knop Meer opties",
35
36
  "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Oorspronkelijke inhoud is verwijderd",
36
37
  "groupSharedFeatures.threadedAnnotations.reply": "Beantwoorden",
@@ -31,6 +31,7 @@ export default {
31
31
  "groupSharedFeatures.threadedAnnotations.messageEditor.save": "Zapisz",
32
32
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "Trwa zapisywanie...",
33
33
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "Kontener przewijania edytora wiadomości",
34
+ "groupSharedFeatures.threadedAnnotations.messageEditor.timestampToggleLabel": "Comment with timestamp",
34
35
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "Przycisk większej liczby opcji",
35
36
  "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Oryginalna zawartość została usunięta",
36
37
  "groupSharedFeatures.threadedAnnotations.reply": "Odpowiedz",
@@ -31,6 +31,7 @@ export default {
31
31
  "groupSharedFeatures.threadedAnnotations.messageEditor.save": "Salvar",
32
32
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "Salvando...",
33
33
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "Contêiner de rolagem do editor de mensagens",
34
+ "groupSharedFeatures.threadedAnnotations.messageEditor.timestampToggleLabel": "Comment with timestamp",
34
35
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "Botão Mais opções",
35
36
  "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "O conteúdo original foi excluído",
36
37
  "groupSharedFeatures.threadedAnnotations.reply": "Responder",
@@ -31,6 +31,7 @@ export default {
31
31
  "groupSharedFeatures.threadedAnnotations.messageEditor.save": "Сохранить",
32
32
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "Сохранение...",
33
33
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "Контейнер прокрутки редактора сообщений",
34
+ "groupSharedFeatures.threadedAnnotations.messageEditor.timestampToggleLabel": "Comment with timestamp",
34
35
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "Кнопка дополнительных параметров",
35
36
  "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Оригинальный контент удален",
36
37
  "groupSharedFeatures.threadedAnnotations.reply": "Ответить",
@@ -31,6 +31,7 @@ export default {
31
31
  "groupSharedFeatures.threadedAnnotations.messageEditor.save": "Spara",
32
32
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "Sparar ...",
33
33
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "Skrollbar behållare för meddelanderedaktör",
34
+ "groupSharedFeatures.threadedAnnotations.messageEditor.timestampToggleLabel": "Comment with timestamp",
34
35
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "Knappen fler alternativ",
35
36
  "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Ursprungligt innehåll raderades",
36
37
  "groupSharedFeatures.threadedAnnotations.reply": "Svara",
@@ -31,6 +31,7 @@ export default {
31
31
  "groupSharedFeatures.threadedAnnotations.messageEditor.save": "Kaydet",
32
32
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "Kaydediliyor...",
33
33
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "Mesaj düzenleyici kaydırma konteyneri",
34
+ "groupSharedFeatures.threadedAnnotations.messageEditor.timestampToggleLabel": "Comment with timestamp",
34
35
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "Diğer seçenekler düğmesi",
35
36
  "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "Orijinal içerik silindi",
36
37
  "groupSharedFeatures.threadedAnnotations.reply": "Yanıtla",
@@ -31,6 +31,7 @@ export default {
31
31
  "groupSharedFeatures.threadedAnnotations.messageEditor.save": "保存",
32
32
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "正在保存...",
33
33
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "消息编辑器滚动容器",
34
+ "groupSharedFeatures.threadedAnnotations.messageEditor.timestampToggleLabel": "Comment with timestamp",
34
35
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "更多选项按钮",
35
36
  "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "原始内容已删除",
36
37
  "groupSharedFeatures.threadedAnnotations.reply": "回复",
@@ -31,6 +31,7 @@ export default {
31
31
  "groupSharedFeatures.threadedAnnotations.messageEditor.save": "儲存",
32
32
  "groupSharedFeatures.threadedAnnotations.messageEditor.saveLoading": "儲存中...",
33
33
  "groupSharedFeatures.threadedAnnotations.messageEditor.scrollContainerAriaLabel": "訊息編輯者捲動容器",
34
+ "groupSharedFeatures.threadedAnnotations.messageEditor.timestampToggleLabel": "Comment with timestamp",
34
35
  "groupSharedFeatures.threadedAnnotations.moreOptionsAriaLabel": "更多選項按鈕",
35
36
  "groupSharedFeatures.threadedAnnotations.originalContentDeleted": "原始內容已刪除",
36
37
  "groupSharedFeatures.threadedAnnotations.reply": "回覆",
@@ -1 +1 @@
1
- ._messageEditorWrapper_sbwz4_4{cursor:auto;width:100%}._editActionsColumn_sbwz4_9{align-items:flex-end;gap:var(--bp-space-010);flex-direction:column;display:flex}._editActionsRow_sbwz4_16{align-items:center;gap:var(--bp-space-020);display:flex}._characterLimitCounter_sbwz4_22{white-space:nowrap}._characterLimitCounter_sbwz4_22._characterLimitCounterExceeded_sbwz4_25{font-weight:var(--font-weights-bold)}._messageEditor_sbwz4_4{--gradient-fade-height:var(--bp-size-040);box-sizing:border-box;padding:.625rem var(--bp-space-005) .625rem var(--bp-space-040);background-color:var(--surface-surface);outline:var(--bp-border-01) solid var(--border-divider-border);border-radius:var(--bp-radius-10);gap:var(--bp-space-020) var(--bp-space-010);cursor:auto;flex-wrap:wrap;width:100%;display:flex;position:relative}._messageEditor_sbwz4_4._editorEditMode_sbwz4_43{--gradient-fade-height:var(--bp-size-050)}._messageEditor_sbwz4_4:focus-within{outline-width:var(--bp-border-02);outline-color:var(--border-input-border-focus)}._messageEditor_sbwz4_4._editorFirstAnnotation_sbwz4_50:not(._editorError_sbwz4_50):focus-within{outline-width:var(--bp-border-01);outline-color:var(--border-divider-border)}._messageEditor_sbwz4_4._editorError_sbwz4_50{outline-color:var(--bp-border-message-border-error);outline-width:var(--bp-border-02)}._messageEditor_sbwz4_4 ._editorViewport_sbwz4_58{width:fit-content;min-width:calc(100% - 2.875rem);margin:auto 0;position:relative}._messageEditor_sbwz4_4 ._editorViewport_sbwz4_58 ._editorContainer_sbwz4_64{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--black-opacity-50) transparent;position:relative;overflow-y:scroll}@supports not (scrollbar-color:gray transparent){._messageEditor_sbwz4_4 ._editorViewport_sbwz4_58 ._editorContainer_sbwz4_64{scrollbar-width:initial}._messageEditor_sbwz4_4 ._editorViewport_sbwz4_58 ._editorContainer_sbwz4_64::-webkit-scrollbar{width:var(--size-2);background-color:#0000}._messageEditor_sbwz4_4 ._editorViewport_sbwz4_58 ._editorContainer_sbwz4_64::-webkit-scrollbar-thumb{background:var(--black-opacity-50);border-radius:var(--radius-2)}._messageEditor_sbwz4_4 ._editorViewport_sbwz4_58 ._editorContainer_sbwz4_64::-webkit-scrollbar-thumb:hover{background:var(--black-opacity-50)}}._messageEditor_sbwz4_4 ._editorViewport_sbwz4_58 ._editorContainer_sbwz4_64{max-height:10rem;padding:.375rem .625rem .375rem 0}._messageEditor_sbwz4_4 ._editorViewport_sbwz4_58 ._editorContainer_sbwz4_64 ._editor_sbwz4_43{outline:none;width:100%}._messageEditor_sbwz4_4 ._editorViewport_sbwz4_58 ._editorContainer_sbwz4_64 ._editor_sbwz4_43 [data-placeholder]:first-child:before{font-family:var(--font-families-sans);font-size:var(--bp-font-size-05);font-weight:var(--font-weights-regular);line-height:var(--bp-font-line-height-04);letter-spacing:var(--bp-font-letter-spacing-01);color:var(--text-text-on-light-tertiary);content:attr(data-placeholder);float:left;pointer-events:none;height:0}._messageEditor_sbwz4_4 ._editorViewport_sbwz4_58 ._editorFade_sbwz4_110{height:var(--bp-size-060);background:linear-gradient(to bottom, transparent, var(--bp-canvas-background,var(--surface-surface)));pointer-events:none;opacity:1;transition:opacity .15s ease-out;position:absolute;bottom:0;left:0;right:0}._messageEditor_sbwz4_4 ._editorViewport_sbwz4_58 ._editorFade_sbwz4_110._editorFadeHidden_sbwz4_121{opacity:0}._messageEditor_sbwz4_4 ._editorFullWidth_sbwz4_124{width:100%;min-width:100%}._messageEditor_sbwz4_4 ._actionsWrapper_sbwz4_128{min-height:var(--bp-size-080);width:fit-content;padding-right:var(--bp-space-020);flex:1;justify-content:flex-end;align-items:center;display:flex;position:relative}._messageEditor_sbwz4_4 ._actionsWrapper_sbwz4_128 ._actionsWrapperInner_sbwz4_138{align-items:center;gap:var(--bp-space-020);width:fit-content;display:flex;position:relative}._messageEditor_sbwz4_4 ._errorMessage_sbwz4_145{gap:var(--bp-space-010);align-items:center;min-width:0;display:flex}._messageEditor_sbwz4_4 ._errorMessage_sbwz4_145>:first-child{flex-shrink:0}._messageEditor_sbwz4_4 ._errorMessage_sbwz4_145 ._errorText_sbwz4_154{color:var(--bp-text-text-destructive-on-light);-webkit-line-clamp:1;-webkit-box-orient:vertical;min-width:0;display:-webkit-box;overflow:hidden}._editorHasScroll_sbwz4_163{gap:unset;padding-bottom:0}._editorHasScroll_sbwz4_163 ._editorViewport_sbwz4_58 ._editorContainer_sbwz4_64{padding-bottom:var(--bp-space-040);scroll-padding-bottom:var(--bp-space-040)}._editorHasScroll_sbwz4_163 ._editorViewport_sbwz4_58 ._editorFade_sbwz4_110{display:none}._editorHasScroll_sbwz4_163._editorCharacterLimitExceeded_sbwz4_174 ._editorViewport_sbwz4_58 ._editorContainer_sbwz4_64{padding-bottom:calc(var(--gradient-fade-height,var(--bp-size-040)) + var(--bp-space-040));scroll-padding-bottom:calc(var(--gradient-fade-height,var(--bp-size-040)) + var(--bp-space-040))}._editorHasScroll_sbwz4_163 ._actionsWrapper_sbwz4_128{min-width:100%;height:1.875rem;padding-right:0}._editorHasScroll_sbwz4_163 ._actionsWrapper_sbwz4_128 ._actionsWrapperInner_sbwz4_138{bottom:.625rem;left:0;right:var(--bp-space-020);pointer-events:none;background:linear-gradient(to bottom, #fff0 10%, #ffffffbf 18%, #fffffff7 28%, var(--bp-canvas-background,var(--surface-surface)) 71%);justify-content:flex-end;width:auto;position:absolute}._editorHasScroll_sbwz4_163 ._actionsWrapper_sbwz4_128 ._actionsWrapperInner_sbwz4_138>*{pointer-events:auto}._editorHasScroll_sbwz4_163 ._actionsWrapper_sbwz4_128 ._actionsWrapperInner_sbwz4_138._characterLimitExceeded_sbwz4_196{padding-top:var(--gradient-fade-height,var(--bp-size-040))}._editorHasScroll_sbwz4_163 ._actionsWrapper_sbwz4_128 ._actionsWrapperInner_sbwz4_138._scrolledToBottom_sbwz4_199{background:0 0}._anchorElement_sbwz4_203{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}
1
+ ._messageEditorWrapper_15t7h_4{cursor:auto;width:100%}._editActionsColumn_15t7h_9{align-items:flex-end;gap:var(--bp-space-010);flex-direction:column;display:flex}._editActionsRow_15t7h_16{align-items:center;gap:var(--bp-space-020);display:flex}._characterLimitCounter_15t7h_22{white-space:nowrap}._characterLimitCounter_15t7h_22._characterLimitCounterExceeded_15t7h_25{font-weight:var(--font-weights-bold)}._messageEditor_15t7h_4{--gradient-fade-height:var(--bp-size-040);box-sizing:border-box;padding:.625rem var(--bp-space-005) .625rem var(--bp-space-040);background-color:var(--surface-surface);outline:var(--bp-border-01) solid var(--border-divider-border);border-radius:var(--bp-radius-10);gap:var(--bp-space-020) var(--bp-space-010);cursor:auto;flex-wrap:wrap;width:100%;display:flex;position:relative}._messageEditor_15t7h_4._editorEditMode_15t7h_43{--gradient-fade-height:var(--bp-size-050)}._messageEditor_15t7h_4:focus-within{outline-width:var(--bp-border-02);outline-color:var(--border-input-border-focus)}._messageEditor_15t7h_4._editorFirstAnnotation_15t7h_50:not(._editorError_15t7h_50):focus-within{outline-width:var(--bp-border-01);outline-color:var(--border-divider-border)}._messageEditor_15t7h_4._editorError_15t7h_50{outline-color:var(--bp-border-message-border-error);outline-width:var(--bp-border-02)}._messageEditor_15t7h_4 ._editorViewport_15t7h_58{width:fit-content;min-width:calc(100% - 2.875rem);margin:auto 0;position:relative}._messageEditor_15t7h_4 ._editorViewport_15t7h_58 ._editorContainer_15t7h_64{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--black-opacity-50) transparent;position:relative;overflow-y:scroll}@supports not (scrollbar-color:gray transparent){._messageEditor_15t7h_4 ._editorViewport_15t7h_58 ._editorContainer_15t7h_64{scrollbar-width:initial}._messageEditor_15t7h_4 ._editorViewport_15t7h_58 ._editorContainer_15t7h_64::-webkit-scrollbar{width:var(--size-2);background-color:#0000}._messageEditor_15t7h_4 ._editorViewport_15t7h_58 ._editorContainer_15t7h_64::-webkit-scrollbar-thumb{background:var(--black-opacity-50);border-radius:var(--radius-2)}._messageEditor_15t7h_4 ._editorViewport_15t7h_58 ._editorContainer_15t7h_64::-webkit-scrollbar-thumb:hover{background:var(--black-opacity-50)}}._messageEditor_15t7h_4 ._editorViewport_15t7h_58 ._editorContainer_15t7h_64{max-height:10rem;padding:.375rem .625rem .375rem 0}._messageEditor_15t7h_4 ._editorViewport_15t7h_58 ._editorContainer_15t7h_64 ._editor_15t7h_43{outline:none;width:100%}._messageEditor_15t7h_4 ._editorViewport_15t7h_58 ._editorContainer_15t7h_64 ._editor_15t7h_43 [data-placeholder]:first-child:before{font-family:var(--font-families-sans);font-size:var(--bp-font-size-05);font-weight:var(--font-weights-regular);line-height:var(--bp-font-line-height-04);letter-spacing:var(--bp-font-letter-spacing-01);color:var(--text-text-on-light-tertiary);content:attr(data-placeholder);float:left;pointer-events:none;height:0}._messageEditor_15t7h_4 ._editorViewport_15t7h_58 ._editorFade_15t7h_110{height:var(--bp-size-060);background:linear-gradient(to bottom, transparent, var(--bp-canvas-background,var(--surface-surface)));pointer-events:none;opacity:1;transition:opacity .15s ease-out;position:absolute;bottom:0;left:0;right:0}._messageEditor_15t7h_4 ._editorViewport_15t7h_58 ._editorFade_15t7h_110._editorFadeHidden_15t7h_121{opacity:0}._messageEditor_15t7h_4 ._editorFullWidth_15t7h_124{width:100%;min-width:100%}._messageEditor_15t7h_4 ._actionsWrapper_15t7h_128{min-height:var(--bp-size-080);width:fit-content;padding-right:var(--bp-space-020);flex:1;justify-content:flex-end;align-items:center;display:flex;position:relative}._messageEditor_15t7h_4 ._actionsWrapper_15t7h_128 ._actionsWrapperInner_15t7h_138{align-items:center;gap:var(--bp-space-020);width:fit-content;display:flex;position:relative}._messageEditor_15t7h_4 ._timestampToggle_15t7h_145{margin-right:auto}._messageEditor_15t7h_4 ._errorMessage_15t7h_148{gap:var(--bp-space-010);align-items:center;min-width:0;display:flex}._messageEditor_15t7h_4 ._errorMessage_15t7h_148>:first-child{flex-shrink:0}._messageEditor_15t7h_4 ._errorMessage_15t7h_148 ._errorText_15t7h_157{color:var(--bp-text-text-destructive-on-light);-webkit-line-clamp:1;-webkit-box-orient:vertical;min-width:0;display:-webkit-box;overflow:hidden}._editorHasScroll_15t7h_166{gap:unset;padding-bottom:0}._editorHasScroll_15t7h_166 ._editorViewport_15t7h_58 ._editorContainer_15t7h_64{padding-bottom:var(--bp-space-040);scroll-padding-bottom:var(--bp-space-040)}._editorHasScroll_15t7h_166 ._editorViewport_15t7h_58 ._editorFade_15t7h_110{display:none}._editorHasScroll_15t7h_166._editorCharacterLimitExceeded_15t7h_177 ._editorViewport_15t7h_58 ._editorContainer_15t7h_64{padding-bottom:calc(var(--gradient-fade-height,var(--bp-size-040)) + var(--bp-space-040));scroll-padding-bottom:calc(var(--gradient-fade-height,var(--bp-size-040)) + var(--bp-space-040))}._editorHasScroll_15t7h_166 ._actionsWrapper_15t7h_128{min-width:100%;height:1.875rem;padding-right:0}._editorHasScroll_15t7h_166 ._actionsWrapper_15t7h_128 ._actionsWrapperInner_15t7h_138{bottom:.625rem;left:0;right:var(--bp-space-020);pointer-events:none;background:linear-gradient(to bottom, #fff0 10%, #ffffffbf 18%, #fffffff7 28%, var(--bp-canvas-background,var(--surface-surface)) 71%);justify-content:flex-end;width:auto;position:absolute}._editorHasScroll_15t7h_166 ._actionsWrapper_15t7h_128 ._actionsWrapperInner_15t7h_138>*{pointer-events:auto}._editorHasScroll_15t7h_166 ._actionsWrapper_15t7h_128 ._actionsWrapperInner_15t7h_138._characterLimitExceeded_15t7h_199{padding-top:var(--gradient-fade-height,var(--bp-size-040))}._editorHasScroll_15t7h_166 ._actionsWrapper_15t7h_128 ._actionsWrapperInner_15t7h_138._scrolledToBottom_15t7h_202{background:0 0}._anchorElement_15t7h_206{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}._messageEditor_15t7h_4 ._actionsWrapper_15t7h_128._withTimestampToggle_15t7h_215,._messageEditor_15t7h_4 ._actionsWrapper_15t7h_128._withTimestampToggle_15t7h_215 ._actionsWrapperInner_15t7h_138{width:100%}
@@ -0,0 +1 @@
1
+ ._timestampToggle_11uz9_1._timestampToggle_11uz9_1{padding:var(--bp-space-010) var(--bp-space-020);background-color:var(--bp-black-opacity-04);border-radius:var(--bp-radius-06);align-items:center;display:inline-flex}._timestampToggle_11uz9_1._timestampToggle_11uz9_1:hover:not(._timestampToggleDisabled_11uz9_8){background-color:var(--bp-black-opacity-08)}._timestampToggle_11uz9_1._timestampToggle_11uz9_1 label{align-items:center;gap:var(--bp-space-010);flex-direction:row-reverse}._timestampToggle_11uz9_1._timestampToggle_11uz9_1 label>button[role=checkbox]{margin:0}._label_11uz9_20{align-items:center;gap:var(--bp-space-010);display:inline-flex}
@@ -3,6 +3,7 @@ export * from './lib/document-node-types';
3
3
  export * from './lib/threaded-annotations';
4
4
  export { MentionContextProvider, useMentionContext, type MentionContextData, type MentionContextProviderProps, } from './lib/components/mention-component/mention-context';
5
5
  export { MessageEditor as MessageEditorV2, type CreateMessageEditorProps as CreateMessageEditorPropsV2, type MessageEditorProps as MessageEditorPropsV2, } from './lib/components/v2/message-editor/message-editor';
6
+ export { type VideoTimestampOptions as VideoTimestampOptionsV2 } from './lib/components/v2/message-editor/message-editor.types';
6
7
  export { ThreadedAnnotations as ThreadedAnnotationsV2, type ThreadedAnnotationsProps as ThreadedAnnotationsPropsV2, } from './lib/v2/threaded-annotations';
7
8
  export { type DocumentNode as DocumentNodeV2, type EditorMentionAttributes as EditorMentionAttributesV2, type MentionNode as MentionNodeV2, type MentionRenderAttributes as MentionRenderAttributesV2, type ParagraphNode as ParagraphNodeV2, type TextNode as TextNodeV2, } from './lib/v2/types/document-node-types';
8
9
  export { type Permissions, type TextMessageAuthorType as TextMessageAuthorTypeV2, type TextMessageType as TextMessageTypeV2, } from './lib/v2/types/message-types';
@@ -6,6 +6,19 @@ export declare enum MessageEditorVariant {
6
6
  EDIT_MESSAGE = "EDIT_MESSAGE"
7
7
  }
8
8
  type MessageActionCallback = (content: JSONContent | null) => Promise<TextMessageType | void> | TextMessageType | void;
9
+ /**
10
+ * Opt-in config for the editor-footer timestamp toggle. Pressed state is
11
+ * controlled by the host; this component does not modify the editor document
12
+ * to record the toggle.
13
+ */
14
+ export interface VideoTimestampOptions {
15
+ /** Display-formatted timestamp (e.g. "00:43") shown in the toggle. May change as playback progresses. */
16
+ formattedTimestamp: string;
17
+ /** Pressed state of the timestamp toggle. */
18
+ isPressed: boolean;
19
+ /** Called when the user toggles the timestamp pill. */
20
+ onPressedChange: (pressed: boolean) => void;
21
+ }
9
22
  interface BaseMessageEditorProps {
10
23
  disableComponent?: boolean;
11
24
  /** When true (create mode only), editor does not expand to full width. Defaults to false. */
@@ -21,6 +34,8 @@ interface BaseMessageEditorProps {
21
34
  maxCharacterCount?: number;
22
35
  /** Properties for the user selector component from blueprint-web. */
23
36
  userSelectorProps: Omit<HeadlessUserSelectorProps, 'inputElementRef' | 'onSelectedUserChange' | 'open' | 'rootElement' | 'value'>;
37
+ /** When provided, renders the timestamp toggle in the editor footer. */
38
+ videoTimestamp?: VideoTimestampOptions;
24
39
  }
25
40
  export interface CreateMessageEditorProps extends BaseMessageEditorProps {
26
41
  /**
@@ -54,5 +54,10 @@ declare const messages: {
54
54
  description: string;
55
55
  id: string;
56
56
  };
57
+ timestampToggleLabel: {
58
+ defaultMessage: string;
59
+ description: string;
60
+ id: string;
61
+ };
57
62
  };
58
63
  export default messages;
@@ -4,5 +4,5 @@ export declare const defaultUserSelectorProps: Omit<import('@box/user-selector')
4
4
  type DefaultMessageEditorProps = MessageEditorProps & {
5
5
  fetchCollaboratorState?: (user: UserContactType) => Promise<boolean>;
6
6
  };
7
- export declare const DefaultMessageEditor: ({ fetchCollaboratorState, ...props }: DefaultMessageEditorProps) => import("react/jsx-runtime").JSX.Element;
7
+ export declare const DefaultMessageEditor: ({ fetchCollaboratorState, videoTimestamp, ...props }: DefaultMessageEditorProps) => import("react/jsx-runtime").JSX.Element;
8
8
  export {};
@@ -0,0 +1,9 @@
1
+ export interface TimestampToggleProps {
2
+ className?: string;
3
+ disabled?: boolean;
4
+ formattedTimestamp: string;
5
+ isPressed: boolean;
6
+ /** Synchronous; throws propagate to the React error boundary. */
7
+ onChange: (isPressed: boolean) => void;
8
+ }
9
+ export declare const TimestampToggle: ({ className, disabled, formattedTimestamp, isPressed, onChange, }: TimestampToggleProps) => import("react/jsx-runtime").JSX.Element;
@@ -10,4 +10,5 @@ export declare const TEST_SELECTORS: {
10
10
  EDIT_MENU_ITEM: string;
11
11
  RESOLVE_MENU_ITEM: string;
12
12
  UNRESOLVE_MENU_ITEM: string;
13
+ TIMESTAMP_TOGGLE: string;
13
14
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@box/threaded-annotations",
3
- "version": "1.95.1",
3
+ "version": "1.96.0",
4
4
  "license": "SEE LICENSE IN LICENSE",
5
5
  "dependencies": {
6
6
  "@tanstack/react-virtual": "^3.10.8",
@@ -16,23 +16,23 @@
16
16
  "uuid": "^9.0.1"
17
17
  },
18
18
  "peerDependencies": {
19
- "@box/blueprint-web": "^15.5.2",
20
- "@box/blueprint-web-assets": "^4.123.0",
21
- "@box/collaboration-popover": "^1.63.11",
22
- "@box/readable-time": "^1.42.11",
23
- "@box/user-selector": "^1.77.11",
19
+ "@box/blueprint-web": "^15.5.3",
20
+ "@box/blueprint-web-assets": "^4.123.1",
21
+ "@box/collaboration-popover": "^1.63.12",
22
+ "@box/readable-time": "^1.42.12",
23
+ "@box/user-selector": "^1.77.12",
24
24
  "clsx": "^1.2.1",
25
25
  "react": "^18.0.0",
26
26
  "react-dom": "^18.0.0",
27
27
  "react-intl": "^6.4.2"
28
28
  },
29
29
  "devDependencies": {
30
- "@box/blueprint-web": "^15.5.2",
31
- "@box/blueprint-web-assets": "^4.123.0",
30
+ "@box/blueprint-web": "^15.5.3",
31
+ "@box/blueprint-web-assets": "^4.123.1",
32
32
  "@box/eslint-plugin-blueprint": "1.2.5",
33
- "@box/readable-time": "^1.42.11",
34
- "@box/storybook-utils": "^0.20.10",
35
- "@box/user-selector": "^1.77.11",
33
+ "@box/readable-time": "^1.42.12",
34
+ "@box/storybook-utils": "^0.20.11",
35
+ "@box/user-selector": "^1.77.12",
36
36
  "react": "^18.0.0",
37
37
  "react-dom": "^18.0.0"
38
38
  },