@box/unified-share-modal 1.34.0 → 1.35.1

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.
@@ -1,155 +1,168 @@
1
- import { useMemo as U } from "react";
2
- import { useIntl as z } from "react-intl";
3
- import { Modal as i, Text as H, Link as R } from "@box/blueprint-web";
4
- import { DownloadSection as q } from "./download-section.js";
5
- import { ExpirationSection as G } from "./expiration-section.js";
6
- import { PasswordSection as J } from "./password-section.js";
7
- import { VanitySection as K } from "./vanity-section.js";
8
- import d from "./messages.js";
9
- import { jsx as a, jsxs as p } from "react/jsx-runtime";
10
- import { useAccessLevels as Q } from "../../hooks/use-access-levels.js";
11
- import { formatDateFromTimestampToCalendarDate as W } from "../../utils/date.js";
12
- import { useLinkSettingsForm as X } from "../../hooks/use-link-settings-form.js";
13
- import { useUnifiedShareModalContext as Y } from "../../contexts/unified-share-modal-context.js";
14
- import '../../../../styles/shared-link-settings-modal.css';const Z = "_content_1wiic_1", $ = "_body_1wiic_5", v = {
15
- content: Z,
16
- body: $
1
+ import { useState as q, useMemo as G, useEffect as J } from "react";
2
+ import { useIntl as K } from "react-intl";
3
+ import { Modal as t, LoadingIndicator as Q, Text as W, Link as X } from "@box/blueprint-web";
4
+ import { DownloadSection as Y } from "./download-section.js";
5
+ import { ExpirationSection as Z } from "./expiration-section.js";
6
+ import { PasswordSection as $ } from "./password-section.js";
7
+ import { VanitySection as O } from "./vanity-section.js";
8
+ import s from "./messages.js";
9
+ import { jsx as a, jsxs as w } from "react/jsx-runtime";
10
+ import { useAccessLevels as ee } from "../../hooks/use-access-levels.js";
11
+ import { formatDateFromTimestampToCalendarDate as ae } from "../../utils/date.js";
12
+ import { useLinkSettingsForm as ne } from "../../hooks/use-link-settings-form.js";
13
+ import { useUnifiedShareModalContext as oe } from "../../contexts/unified-share-modal-context.js";
14
+ import '../../../../styles/shared-link-settings-modal.css';const ie = "_content_1r0kk_1", te = "_body_1r0kk_5", se = "_loading_1r0kk_17", f = {
15
+ content: ie,
16
+ body: te,
17
+ loading: se
17
18
  };
18
- function he({
19
- isOpen: y,
20
- onOpenChange: b
19
+ function ye({
20
+ isOpen: c,
21
+ onOpenChange: v
21
22
  }) {
22
23
  const {
23
- formatMessage: s
24
- } = z(), {
25
- eventService: C,
26
- isSubmitting: f,
27
- sharedLink: S
28
- } = Y(), {
29
- expiresAt: c = 0,
24
+ formatMessage: i
25
+ } = K(), [g, C] = q(!1), {
26
+ eventService: k,
27
+ isSubmitting: E,
28
+ sharedLink: x
29
+ } = oe(), {
30
+ expiresAt: m = 0,
30
31
  settings: n = {},
31
- vanityDomain: E = "",
32
- vanityName: m = ""
33
- } = S, {
34
- onSharedLinkSettingsClose: u
35
- } = C, {
36
- selectedAccess: x
37
- } = Q(), g = U(() => ({
38
- expiration: c ? W(c) : null,
32
+ vanityDomain: L = "",
33
+ vanityName: h = ""
34
+ } = x, {
35
+ onSharedLinkSettingsClose: y,
36
+ onSharedLinkSettingsLoad: p
37
+ } = k, {
38
+ selectedAccess: D
39
+ } = ee(), b = G(() => ({
40
+ expiration: m ? ae(m) : null,
39
41
  isDownloadEnabled: !!n.isDownloadEnabled,
40
- isExpirationEnabled: !!c,
42
+ isExpirationEnabled: !!m,
41
43
  isPasswordEnabled: !!n.isPasswordEnabled,
42
- isVanityNameEnabled: !!m,
44
+ isVanityNameEnabled: !!h,
43
45
  password: "",
44
- vanityName: m
45
- }), [c, n, m]), {
46
- errors: h,
46
+ vanityName: h
47
+ }), [m, n, h]), {
48
+ errors: u,
47
49
  formData: o,
48
- handleFormReset: k,
49
- handleFormSubmit: D,
50
- isUpdating: L,
51
- setErrors: N,
52
- setFieldError: t,
53
- setFieldValue: r,
54
- validatePassword: P
55
- } = X(g), w = () => {
56
- k(), u && u(), b(!1);
57
- }, F = async () => {
58
- await D() || (N({}), b(!1));
59
- }, T = (e) => {
60
- t("expiration", void 0), r("isExpirationEnabled", e);
61
- }, B = (e) => {
62
- t("expiration", void 0), r("expiration", e);
63
- }, A = (e) => {
64
- t("vanityName", void 0), r("isVanityNameEnabled", e);
50
+ handleFormReset: N,
51
+ handleFormSubmit: F,
52
+ isUpdating: P,
53
+ setErrors: T,
54
+ setFieldError: r,
55
+ setFieldValue: d,
56
+ validatePassword: B
57
+ } = ne(b);
58
+ J(() => {
59
+ (async () => p && (c && await p(), C(!c)))();
60
+ }, [c, p]);
61
+ const S = () => {
62
+ N(), y && y(), v(!1);
63
+ }, A = async () => {
64
+ await F() || (T({}), v(!1));
65
+ }, _ = (e) => {
66
+ r("expiration", void 0), d("isExpirationEnabled", e);
65
67
  }, V = (e) => {
66
- t("vanityName", void 0), r("vanityName", e.target.value);
68
+ r("expiration", void 0), d("expiration", e);
67
69
  }, M = (e) => {
68
- t("password", void 0), r("isPasswordEnabled", e);
69
- }, _ = (e) => {
70
- t("password", void 0), r("password", e.target.value);
70
+ r("vanityName", void 0), d("isVanityNameEnabled", e);
71
71
  }, I = (e) => {
72
- r("isDownloadEnabled", e);
72
+ r("vanityName", void 0), d("vanityName", e.target.value);
73
73
  }, j = (e) => {
74
- const O = document.getElementById("usm-SharedLinkSettingsModal-primaryButton")?.contains(e.relatedTarget);
75
- g.isPasswordEnabled && !o.password || O || P(o.password);
76
- }, l = f || L;
77
- return /* @__PURE__ */ a(i, {
78
- onOpenChange: w,
79
- open: y,
80
- children: /* @__PURE__ */ p(i.Content, {
81
- className: v.content,
74
+ r("password", void 0), d("isPasswordEnabled", e);
75
+ }, z = (e) => {
76
+ r("password", void 0), d("password", e.target.value);
77
+ }, U = (e) => {
78
+ d("isDownloadEnabled", e);
79
+ }, H = (e) => {
80
+ const R = document.getElementById("usm-SharedLinkSettingsModal-primaryButton")?.contains(e.relatedTarget);
81
+ b.isPasswordEnabled && !o.password || R || B(o.password);
82
+ }, l = E || P;
83
+ return /* @__PURE__ */ a(t, {
84
+ onOpenChange: S,
85
+ open: c,
86
+ children: /* @__PURE__ */ w(t.Content, {
87
+ className: f.content,
82
88
  size: "medium",
83
- children: [/* @__PURE__ */ a(i.Header, {
84
- children: s(d.title)
85
- }), /* @__PURE__ */ p(i.Body, {
86
- className: v.body,
87
- children: [/* @__PURE__ */ a(H, {
89
+ children: [/* @__PURE__ */ a(t.Header, {
90
+ children: i(s.title)
91
+ }), /* @__PURE__ */ w(t.Body, {
92
+ className: f.body,
93
+ inert: g ? "" : null,
94
+ children: [g && /* @__PURE__ */ a("div", {
95
+ className: f.loading,
96
+ children: /* @__PURE__ */ a(Q, {
97
+ "aria-label": i(s.loadingLabel),
98
+ size: "large"
99
+ })
100
+ }), /* @__PURE__ */ a(W, {
88
101
  as: "p",
89
102
  color: "textOnLightSecondary",
90
- children: s(d.subtitle, {
91
- learnSharedLinkSettingsLink: /* @__PURE__ */ a(R, {
103
+ children: i(s.subtitle, {
104
+ learnSharedLinkSettingsLink: /* @__PURE__ */ a(X, {
92
105
  href: "https://support.box.com/hc/en-us/articles/360043697554-Configuring-Individual-Shared-Link-Settings",
93
106
  rel: "noreferrer",
94
107
  target: "_blank",
95
- children: s(d.learnSharedLinkSettingsLink)
108
+ children: i(s.learnSharedLinkSettingsLink)
96
109
  })
97
110
  })
98
- }), /* @__PURE__ */ a(G, {
111
+ }), /* @__PURE__ */ a(Z, {
99
112
  canChange: !!n.canChangeExpiration,
100
- error: h.expiration,
113
+ error: u.expiration,
101
114
  expiration: o.expiration,
102
115
  isChecked: o.isExpirationEnabled,
103
116
  isDisabled: l,
104
- onChange: B,
105
- onToggle: T
106
- }), /* @__PURE__ */ a(J, {
117
+ onChange: V,
118
+ onToggle: _
119
+ }), /* @__PURE__ */ a($, {
107
120
  canChange: !!n.canChangePassword,
108
- error: h.password,
109
- isAvailable: n.isPasswordAvailable && x?.id === "open",
121
+ error: u.password,
122
+ isAvailable: n.isPasswordAvailable && D?.id === "open",
110
123
  isChecked: o.isPasswordEnabled,
111
- isDefaultChecked: g.isPasswordEnabled,
124
+ isDefaultChecked: b.isPasswordEnabled,
112
125
  isDisabled: l,
113
- onBlur: j,
114
- onChange: _,
115
- onFocus: () => t("password", void 0),
116
- onToggle: M,
126
+ onBlur: H,
127
+ onChange: z,
128
+ onFocus: () => r("password", void 0),
129
+ onToggle: j,
117
130
  password: o.password
118
- }), /* @__PURE__ */ a(K, {
131
+ }), /* @__PURE__ */ a(O, {
119
132
  canChange: !!n.canChangeVanityName,
120
- error: h.vanityName,
133
+ error: u.vanityName,
121
134
  isAvailable: !!n.isVanityNameAvailable,
122
135
  isChecked: o.isVanityNameEnabled,
123
136
  isDisabled: l,
124
- onChange: V,
125
- onToggle: A,
126
- vanityDomain: E,
137
+ onChange: I,
138
+ onToggle: M,
139
+ vanityDomain: L,
127
140
  vanityName: o.vanityName
128
- }), /* @__PURE__ */ a(q, {
141
+ }), /* @__PURE__ */ a(Y, {
129
142
  canChange: !!n.canChangeDownload,
130
143
  isAvailable: !!n.isDownloadAvailable,
131
144
  isChecked: o.isDownloadEnabled,
132
145
  isDisabled: l,
133
- onToggle: I
146
+ onToggle: U
134
147
  })]
135
- }), /* @__PURE__ */ p(i.Footer, {
136
- children: [/* @__PURE__ */ a(i.Footer.SecondaryButton, {
148
+ }), !g && /* @__PURE__ */ w(t.Footer, {
149
+ children: [/* @__PURE__ */ a(t.Footer.SecondaryButton, {
137
150
  disabled: l,
138
- onClick: w,
139
- children: s(d.cancelButton)
140
- }), /* @__PURE__ */ a(i.Footer.PrimaryButton, {
151
+ onClick: S,
152
+ children: i(s.cancelButton)
153
+ }), /* @__PURE__ */ a(t.Footer.PrimaryButton, {
141
154
  id: "usm-SharedLinkSettingsModal-primaryButton",
142
155
  loading: l,
143
- loadingAriaLabel: s(d.loadingLabel),
144
- onClick: F,
145
- children: s(d.saveButton)
156
+ loadingAriaLabel: i(s.loadingLabel),
157
+ onClick: A,
158
+ children: i(s.saveButton)
146
159
  })]
147
- }), /* @__PURE__ */ a(i.Close, {
148
- "aria-label": s(d.closeButton)
160
+ }), /* @__PURE__ */ a(t.Close, {
161
+ "aria-label": i(s.closeButton)
149
162
  })]
150
163
  })
151
164
  });
152
165
  }
153
166
  export {
154
- he as SharedLinkSettingsModal
167
+ ye as SharedLinkSettingsModal
155
168
  };
@@ -1,58 +1,67 @@
1
- import { useIntl as p } from "react-intl";
2
- import { Text as v, Avatar as b } from "@box/blueprint-web";
3
- import { Gray10 as x } from "@box/blueprint-web-assets/tokens/tokens";
4
- import { CollaboratorAvatar as g } from "../collaborators-view/collaborator-avatar.js";
5
- import A from "./messages.js";
6
- import { jsxs as i, jsx as e } from "react/jsx-runtime";
7
- import { callOnKeyboardEvent as _ } from "../../../utils/event.js";
8
- import { useUnifiedShareModalContext as C } from "../../../contexts/unified-share-modal-context.js";
9
- import { useUnifiedShareFormContext as S } from "../../../contexts/unified-share-form-context.js";
10
- import '../../../../../styles/shared-with-avatars.css';const y = "_container_1ku5s_2", I = "_avatars_1ku5s_19", l = {
11
- container: y,
12
- avatars: I
13
- }, c = 3;
14
- function z() {
1
+ import { useIntl as x } from "react-intl";
2
+ import { Text as C, Avatar as g } from "@box/blueprint-web";
3
+ import { Gray10 as A } from "@box/blueprint-web-assets/tokens/tokens";
4
+ import { CollaboratorAvatar as S } from "../collaborators-view/collaborator-avatar.js";
5
+ import _ from "./messages.js";
6
+ import { jsxs as l, jsx as e } from "react/jsx-runtime";
7
+ import { callOnKeyboardEvent as k } from "../../../utils/event.js";
8
+ import { useUnifiedShareModalContext as y } from "../../../contexts/unified-share-modal-context.js";
9
+ import { useUnifiedShareFormContext as I } from "../../../contexts/unified-share-form-context.js";
10
+ import '../../../../../styles/shared-with-avatars.css';const W = "_container_1ku5s_2", U = "_avatars_1ku5s_19", c = {
11
+ container: W,
12
+ avatars: U
13
+ }, m = 3;
14
+ function V() {
15
15
  const {
16
- formatMessage: m
17
- } = p(), {
18
- collaborators: d,
19
- currentUser: f,
16
+ formatMessage: d
17
+ } = x(), {
18
+ collaborators: f,
19
+ currentUser: h,
20
+ eventService: u,
20
21
  isSubmitting: o
21
- } = C(), {
22
- onShareViewChange: a
23
- } = S(), {
24
- id: s
25
- } = f, t = d.filter(({
22
+ } = y(), {
23
+ onShareViewChange: v
24
+ } = I(), {
25
+ onCollaboratorsClick: a
26
+ } = u, {
27
+ id: n
28
+ } = h, t = f.filter(({
26
29
  isCurrentUser: r,
27
- userId: u
28
- }) => !(r || s && s === u));
30
+ userId: b
31
+ }) => !(r || n && n === b));
29
32
  if (!t.length)
30
33
  return null;
31
- const h = t.slice(0, c), n = t.length - c;
32
- return /* @__PURE__ */ i("div", {
34
+ const p = t.slice(0, m), s = t.length - m, i = () => {
35
+ if (a) {
36
+ a();
37
+ return;
38
+ }
39
+ v("collaborators");
40
+ };
41
+ return /* @__PURE__ */ l("div", {
33
42
  "aria-disabled": o,
34
- className: l.container,
35
- onClick: () => a("collaborators"),
36
- onKeyDown: _(() => a("collaborators")),
43
+ className: c.container,
44
+ onClick: i,
45
+ onKeyDown: k(i),
37
46
  role: "button",
38
47
  tabIndex: o ? -1 : 0,
39
- children: [/* @__PURE__ */ e(v, {
48
+ children: [/* @__PURE__ */ e(C, {
40
49
  as: "span",
41
50
  color: "textOnLightSecondary",
42
- children: m(A.sharedWithLabel)
43
- }), /* @__PURE__ */ i("div", {
44
- className: l.avatars,
45
- children: [h.map((r) => /* @__PURE__ */ e(g, {
51
+ children: d(_.sharedWithLabel)
52
+ }), /* @__PURE__ */ l("div", {
53
+ className: c.avatars,
54
+ children: [p.map((r) => /* @__PURE__ */ e(S, {
46
55
  collaborator: r,
47
56
  size: "medium"
48
- }, r.id)), n > 0 && /* @__PURE__ */ e(b, {
49
- color: x,
57
+ }, r.id)), s > 0 && /* @__PURE__ */ e(g, {
58
+ color: A,
50
59
  size: "medium",
51
- text: `+${n}`
60
+ text: `+${s}`
52
61
  })]
53
62
  })]
54
63
  });
55
64
  }
56
65
  export {
57
- z as SharedWithAvatars
66
+ V as SharedWithAvatars
58
67
  };
@@ -8,7 +8,7 @@ import l from "./messages.js";
8
8
  import { jsxs as n, jsx as e } from "react/jsx-runtime";
9
9
  import { UnifiedShareFormProvider as O } from "../../contexts/unified-share-form-context.js";
10
10
  import { useUnifiedShareModalContext as V } from "../../contexts/unified-share-modal-context.js";
11
- import '../../../../styles/unified-share-form-modal.css';const j = "_content_1tnt5_1", z = "_header_1tnt5_5", B = "_body_1tnt5_12", L = "_hasFooter_1tnt5_23", R = "_loading_1tnt5_27", t = {
11
+ import '../../../../styles/unified-share-form-modal.css';const j = "_content_1xtsr_1", z = "_header_1xtsr_5", B = "_body_1xtsr_12", L = "_hasFooter_1xtsr_23", R = "_loading_1xtsr_27", t = {
12
12
  content: j,
13
13
  header: z,
14
14
  body: B,
@@ -18,21 +18,21 @@ import '../../../../styles/unified-share-form-modal.css';const j = "_content_1tn
18
18
  function W({
19
19
  children: d,
20
20
  isOpen: p,
21
- onOpenChange: a,
21
+ onOpenChange: r,
22
22
  onModalViewChange: u
23
23
  }) {
24
24
  const {
25
- formatMessage: r
25
+ formatMessage: a
26
26
  } = U(), {
27
27
  initialContacts: _,
28
- isFetching: C,
29
- item: F
28
+ isFetching: x,
29
+ item: C
30
30
  } = V(), {
31
31
  classification: i,
32
- name: S
33
- } = F, [b, x] = g(null), [c, m] = g("default"), M = !!d, h = c !== "default", f = N((s) => {
34
- m("default"), a && a(s);
35
- }, [a]), y = (s) => {
32
+ name: F
33
+ } = C, [S, b] = g(null), [c, m] = g("default"), M = !!d, h = c !== "default", f = N((s) => {
34
+ m("default"), r && r(s);
35
+ }, [r]), y = (s) => {
36
36
  s.preventDefault();
37
37
  };
38
38
  return /* @__PURE__ */ n(o, {
@@ -41,14 +41,14 @@ function W({
41
41
  children: [M && /* @__PURE__ */ e(o.Trigger, {
42
42
  children: d
43
43
  }), /* @__PURE__ */ n(o.Content, {
44
- ref: x,
44
+ ref: b,
45
45
  className: t.content,
46
46
  onPointerDownOutside: y,
47
47
  size: "medium",
48
48
  children: [/* @__PURE__ */ n(o.Header, {
49
49
  className: t.header,
50
- children: [r(l.title, {
51
- itemName: S
50
+ children: [a(l.title, {
51
+ itemName: F
52
52
  }), i && /* @__PURE__ */ e(I, {
53
53
  colorIndex: i.colorId + 1,
54
54
  icon: v,
@@ -58,22 +58,22 @@ function W({
58
58
  }), /* @__PURE__ */ e(o.Body, {
59
59
  className: w(t.body, h && t.hasFooter),
60
60
  children: /* @__PURE__ */ n(O, {
61
- container: b,
61
+ container: S,
62
62
  initialContacts: _,
63
63
  onModalOpenChange: f,
64
64
  onModalViewChange: u,
65
65
  onShareViewChange: m,
66
66
  shareView: c,
67
- children: [C && /* @__PURE__ */ e("div", {
67
+ children: [x && /* @__PURE__ */ e("div", {
68
68
  className: t.loading,
69
69
  children: /* @__PURE__ */ e(P, {
70
- "aria-label": r(l.loadingLabel),
70
+ "aria-label": a(l.loadingLabel),
71
71
  size: "large"
72
72
  })
73
73
  }), /* @__PURE__ */ e(D, {})]
74
74
  })
75
75
  }), !h && /* @__PURE__ */ e(o.Close, {
76
- "aria-label": r(l.closeButton)
76
+ "aria-label": a(l.closeButton)
77
77
  })]
78
78
  })]
79
79
  });
@@ -1 +1 @@
1
- ._content_1wiic_1._content_1wiic_1{max-width:480px}._body_1wiic_5._body_1wiic_5{display:flex;flex-direction:column;gap:var(--space-4);padding-top:0;padding-bottom:0}
1
+ ._content_1r0kk_1._content_1r0kk_1{max-width:480px}._body_1r0kk_5._body_1r0kk_5{position:relative;display:flex;flex-direction:column;gap:var(--space-4);padding-top:0;padding-bottom:0}._body_1r0kk_5._body_1r0kk_5[inert]{min-height:200px}._loading_1r0kk_17{position:absolute;inset:0;z-index:1;display:flex;align-items:center;padding-bottom:var(--space-8);background-color:var(--gray-white)}
@@ -1 +1 @@
1
- ._content_1tnt5_1._content_1tnt5_1{max-width:480px}._header_1tnt5_5{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}._body_1tnt5_12._body_1tnt5_12{position:relative;max-width:432px;padding-top:0;padding-bottom:var(--space-8)}._body_1tnt5_12._body_1tnt5_12:before{display:block;width:100vw;content:""}._body_1tnt5_12._body_1tnt5_12._hasFooter_1tnt5_23{padding-bottom:0}._loading_1tnt5_27{position:absolute;inset:0;z-index:1001;display:flex;align-items:center;padding-bottom:var(--space-8);background-color:var(--gray-white)}@media not (max-width:374px){._content_1tnt5_1{overflow:auto}}@media not (max-width:459px){div:has(>._content_1tnt5_1){display:flex;padding:var(--space-8);overflow:auto}._content_1tnt5_1{max-height:none;margin:auto}}
1
+ ._content_1xtsr_1._content_1xtsr_1{max-width:480px}._header_1xtsr_5{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center}._body_1xtsr_12._body_1xtsr_12{position:relative;max-width:432px;padding-top:0;padding-bottom:var(--space-8)}._body_1xtsr_12._body_1xtsr_12:before{display:block;width:100vw;content:""}._body_1xtsr_12._body_1xtsr_12._hasFooter_1xtsr_23{padding-bottom:0}._loading_1xtsr_27{position:absolute;inset:0;z-index:1001;display:flex;align-items:center;padding-bottom:var(--space-8);background-color:var(--gray-white)}@media not (max-width:374px){._content_1xtsr_1{overflow:visible}}@media not (max-width:459px){div:has(>._content_1xtsr_1){display:flex;padding:var(--space-8);overflow:auto}._content_1xtsr_1{max-height:none;margin:auto}}
@@ -334,14 +334,20 @@ export interface CollaborationRole {
334
334
  label?: string;
335
335
  }
336
336
  export interface EventService {
337
+ /**
338
+ * Function to customize the click behavior of the "Shared with ..." list of avatars.
339
+ *
340
+ * If provided, the default behavior is disabled and the list of collaborators will not be rendered.
341
+ *
342
+ * Used to enhance the experience for managing collaborators such as opening the Collaborators Modal.
343
+ */
337
344
  onCollaboratorsClick?: () => void;
338
345
  /**
339
- * Custom handler to replace the default "Manage All" link behavior.
346
+ * Function to customize the click behavior of the "Manage All" link.
340
347
  *
341
- * When provided, prevents the default navigation and calls this handler instead.
342
- * Useful for opening a CollaboratorsModal or custom dialog without leaving the page.
348
+ * If provided, the default behavior is disabled and the link will be rendered as a button.
343
349
  *
344
- * Use this when you want to override the default navigation behavior.
350
+ * Used to enhance the experience for managing collaborators or override the default navigation behavior.
345
351
  */
346
352
  onCollaboratorsManagementClick?: () => void;
347
353
  /**
@@ -350,8 +356,21 @@ export interface EventService {
350
356
  * This is usually used for data tracking purposes.
351
357
  */
352
358
  onRestrictedUsersRemoveClick?: (contacts: UserContactType[]) => void;
359
+ /**
360
+ * Function to customize the click behavior of the "Link Settings" link.
361
+ *
362
+ * NOTE: This has not been implemented.
363
+ */
353
364
  onSharedLinkSettingsClick?: () => void;
365
+ /**
366
+ * Function to observe when the user closes the view for the shared link settings.
367
+ */
354
368
  onSharedLinkSettingsClose?: () => void;
369
+ /**
370
+ * Function to allow the consumer to fetch data for the shared link settings.
371
+ *
372
+ * Called when the user opens the view for the shared link settings.
373
+ */
355
374
  onSharedLinkSettingsLoad?: () => void;
356
375
  }
357
376
  export interface ContactService {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@box/unified-share-modal",
3
- "version": "1.34.0",
3
+ "version": "1.35.1",
4
4
  "license": "SEE LICENSE IN LICENSE",
5
5
  "peerDependencies": {
6
6
  "@box/blueprint-web": "^12.112.0",