@box/metadata-template-browser 1.22.20 → 1.22.21

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 (41) hide show
  1. package/dist/chunks/browser-row.js +55 -47
  2. package/dist/chunks/virtualized-grid-list.js +14 -10
  3. package/dist/esm/lib/components/template-row/messages.js +10 -4
  4. package/dist/esm/lib/components/template-row/template-row.js +9 -7
  5. package/dist/esm/lib/contexts/contexts.js +15 -10
  6. package/dist/esm/lib/metadata-template-browser.js +16 -14
  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/template-row/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/browser-row.css +1 -1
  36. package/dist/types/lib/components/browser-row/browser-row.d.ts +14 -1
  37. package/dist/types/lib/components/template-row/messages.d.ts +5 -0
  38. package/dist/types/lib/contexts/contexts.d.ts +2 -1
  39. package/dist/types/lib/metadata-template-browser.d.ts +6 -1
  40. package/dist/types/lib/types.d.ts +2 -0
  41. package/package.json +1 -1
@@ -1,52 +1,60 @@
1
1
  import { useConsumerState as e } from "../esm/lib/contexts/hooks.js";
2
- import { EllipsizableText as t } from "@box/blueprint-web";
3
- import n from "clsx";
4
- import { jsx as r, jsxs as i } from "react/jsx-runtime";
5
- import { GridListItem as a } from "react-aria-components";
6
- import '../styles/browser-row.css';var o = {
7
- row: "_row_ybl3t_2",
8
- trailingSlotHoverOnly: "_trailingSlotHoverOnly_ybl3t_15",
9
- item: "_item_ybl3t_19",
10
- disabled: "_disabled_ybl3t_40",
11
- leadingIcon: "_leadingIcon_ybl3t_59",
12
- content: "_content_ybl3t_66",
13
- trailingSlot: "_trailingSlot_ybl3t_15",
14
- subtitle: "_subtitle_ybl3t_77"
2
+ import { EllipsizableText as t, Tooltip as n } from "@box/blueprint-web";
3
+ import r from "clsx";
4
+ import { jsx as i, jsxs as a } from "react/jsx-runtime";
5
+ import { GridListItem as o } from "react-aria-components";
6
+ import '../styles/browser-row.css';var s = {
7
+ row: "_row_1q43q_2",
8
+ leadingIcon: "_leadingIcon_1q43q_15",
9
+ content: "_content_1q43q_22",
10
+ trailingSlotHoverOnly: "_trailingSlotHoverOnly_1q43q_29",
11
+ item: "_item_1q43q_33",
12
+ disabled: "_disabled_1q43q_54",
13
+ applied: "_applied_1q43q_61",
14
+ trailingSlot: "_trailingSlot_1q43q_29",
15
+ subtitle: "_subtitle_1q43q_90"
15
16
  };
16
- function s({ id: s, leadingIcon: c, title: l, subtitle: u, trailingSlot: d, isTrailingSlotHoverOnly: f }) {
17
- let { isDisabled: p } = e(), m = n(o.trailingSlot, { [o.trailingSlotHoverOnly]: f });
18
- return /* @__PURE__ */ r(a, {
19
- className: n(o.item, { [o.disabled]: p }),
20
- id: s,
21
- isDisabled: p,
22
- textValue: l,
23
- children: /* @__PURE__ */ i("div", {
24
- className: o.row,
25
- children: [
26
- c !== void 0 && /* @__PURE__ */ r("div", {
27
- "aria-hidden": "true",
28
- className: o.leadingIcon,
29
- "data-testid": "leading-icon",
30
- children: c
31
- }),
32
- /* @__PURE__ */ i("div", {
33
- className: o.content,
34
- children: [/* @__PURE__ */ r(t, {
35
- as: "span",
36
- lineClamp: 1,
37
- variant: "bodyDefault",
38
- children: l
39
- }), u && /* @__PURE__ */ r("div", {
40
- className: o.subtitle,
41
- children: u
42
- })]
43
- }),
44
- d !== void 0 && /* @__PURE__ */ r("div", {
45
- className: m,
17
+ function c({ id: c, leadingIcon: l, title: u, subtitle: d, trailingSlot: f, isTrailingSlotHoverOnly: p, isApplied: m, tooltipContent: h }) {
18
+ let { isDisabled: g } = e(), _ = r(s.trailingSlot, { [s.trailingSlotHoverOnly]: p }), v = /* @__PURE__ */ a("div", {
19
+ className: s.row,
20
+ children: [
21
+ l !== void 0 && /* @__PURE__ */ i("div", {
22
+ "aria-hidden": "true",
23
+ className: s.leadingIcon,
24
+ "data-testid": "leading-icon",
25
+ children: l
26
+ }),
27
+ /* @__PURE__ */ a("div", {
28
+ className: s.content,
29
+ children: [/* @__PURE__ */ i(t, {
30
+ as: "span",
31
+ lineClamp: 1,
32
+ variant: "bodyDefault",
33
+ children: u
34
+ }), d && /* @__PURE__ */ i("div", {
35
+ className: s.subtitle,
46
36
  children: d
47
- })
48
- ]
49
- })
37
+ })]
38
+ }),
39
+ f !== void 0 && /* @__PURE__ */ i("div", {
40
+ className: _,
41
+ children: f
42
+ })
43
+ ]
44
+ }), y = typeof h == "string" ? `${u}. ${h}` : u, b = /* @__PURE__ */ i(o, {
45
+ "aria-disabled": m && !g ? !0 : void 0,
46
+ className: r(s.item, {
47
+ [s.disabled]: g,
48
+ [s.applied]: m && !g
49
+ }),
50
+ id: c,
51
+ isDisabled: g,
52
+ textValue: y,
53
+ children: v
54
+ });
55
+ return h === void 0 ? b : /* @__PURE__ */ i(n, {
56
+ content: h,
57
+ children: b
50
58
  });
51
59
  }
52
- export { s as t };
60
+ export { c as t };
@@ -9,10 +9,10 @@ import { jsx as c, jsxs as l } from "react/jsx-runtime";
9
9
  import { Collection as u, GridList as d, ListLayout as f, Virtualizer as p } from "react-aria-components";
10
10
  import '../styles/virtualized-grid-list.css';var m = { list: "_list_dukvn_1" }, h = 40, g = 58, _ = 2;
11
11
  function v({ ariaLabel: v, items: y, onAction: b, children: x, onLoadMore: S, hasMoreItems: C, isFetchingMore: w, loadMoreError: T, onRetry: E, selectedKeys: D, listType: O }) {
12
- let { isDisabled: k } = e(), A = o(() => new f({
12
+ let { isDisabled: k, appliedTemplateIds: A } = e(), j = o(() => new f({
13
13
  estimatedRowHeight: O === t.Browse ? h : g,
14
14
  gap: _
15
- }), [O]), j = s(null), M = a((e) => {
15
+ }), [O]), M = s(null), N = a((e) => {
16
16
  if (e === "LOAD_MORE_ERROR_ROW_ID") {
17
17
  k || E();
18
18
  return;
@@ -22,18 +22,22 @@ function v({ ariaLabel: v, items: y, onAction: b, children: x, onLoadMore: S, ha
22
22
  k,
23
23
  b,
24
24
  E
25
- ]), N = a((e) => {
25
+ ]), P = a((e) => {
26
26
  if (e === "all") return;
27
27
  let [t] = e;
28
- t !== void 0 && !D.has(String(t)) && M(t);
29
- }, [M, D]), P = C && !w && T === null && !k;
28
+ t !== void 0 && !D.has(String(t)) && !A.has(String(t)) && N(t);
29
+ }, [
30
+ A,
31
+ N,
32
+ D
33
+ ]), F = C && !w && T === null && !k;
30
34
  return /* @__PURE__ */ c(p, {
31
- layout: A,
35
+ layout: j,
32
36
  children: /* @__PURE__ */ l(d, {
33
- ref: j,
37
+ ref: M,
34
38
  "aria-label": v,
35
39
  className: m.list,
36
- onSelectionChange: N,
40
+ onSelectionChange: P,
37
41
  selectedKeys: D,
38
42
  selectionMode: "single",
39
43
  shouldSelectOnPressUp: !0,
@@ -44,9 +48,9 @@ function v({ ariaLabel: v, items: y, onAction: b, children: x, onLoadMore: S, ha
44
48
  }),
45
49
  w && /* @__PURE__ */ c(r, {}),
46
50
  T !== null && /* @__PURE__ */ c(n, { onRetry: E }),
47
- P && /* @__PURE__ */ c(i, {
51
+ F && /* @__PURE__ */ c(i, {
48
52
  onLoadMore: S,
49
- scrollContainerRef: j
53
+ scrollContainerRef: M
50
54
  })
51
55
  ]
52
56
  })
@@ -1,6 +1,12 @@
1
1
  import { defineMessages as e } from "react-intl";
2
- var t = e({ editAriaLabel: {
3
- id: "groupSharedFeatures.metadataTemplateBrowser.templateRow.editAriaLabel",
4
- defaultMessage: "Edit {displayName}"
5
- } });
2
+ var t = e({
3
+ alreadyApplied: {
4
+ id: "groupSharedFeatures.metadataTemplateBrowser.templateRow.alreadyApplied",
5
+ defaultMessage: "Template is already applied."
6
+ },
7
+ editAriaLabel: {
8
+ id: "groupSharedFeatures.metadataTemplateBrowser.templateRow.editAriaLabel",
9
+ defaultMessage: "Edit {displayName}"
10
+ }
11
+ });
6
12
  export { t as messages };
@@ -25,22 +25,24 @@ var p = (e) => {
25
25
  })] }, e.fqn));
26
26
  };
27
27
  function m({ template: a, variant: s, onEdit: u }) {
28
- let { formatMessage: m } = o(), { isDisabled: h } = e(), g = c((e) => {
28
+ let { formatMessage: m } = o(), { isDisabled: h, appliedTemplateIds: g } = e(), _ = g.has(a.id), v = c((e) => {
29
29
  e.stopPropagation(), u(a.id);
30
- }, [u, a.id]), _ = s === t.Search, v = !!a.canEdit;
30
+ }, [u, a.id]), y = s === t.Search, b = !!a.canEdit;
31
31
  return /* @__PURE__ */ l(n, {
32
32
  id: a.id,
33
- isTrailingSlotHoverOnly: v,
34
- leadingIcon: _ ? void 0 : /* @__PURE__ */ l(d, {}),
35
- subtitle: _ ? p(a) : void 0,
33
+ isApplied: _,
34
+ isTrailingSlotHoverOnly: b,
35
+ leadingIcon: y ? void 0 : /* @__PURE__ */ l(d, {}),
36
+ subtitle: y ? p(a) : void 0,
36
37
  title: a.displayName,
37
- trailingSlot: v ? /* @__PURE__ */ l("div", {
38
+ tooltipContent: _ ? m(r.alreadyApplied) : void 0,
39
+ trailingSlot: b ? /* @__PURE__ */ l("div", {
38
40
  onPointerDown: (e) => e.stopPropagation(),
39
41
  children: /* @__PURE__ */ l(i, {
40
42
  "aria-label": m(r.editAriaLabel, { displayName: a.displayName }),
41
43
  disabled: h,
42
44
  icon: f,
43
- onClick: g,
45
+ onClick: v,
44
46
  size: "x-small"
45
47
  })
46
48
  }) : void 0
@@ -77,23 +77,28 @@ function d({ children: e, selectedTemplateId: t }) {
77
77
  children: e
78
78
  });
79
79
  }
80
- var f = /* @__PURE__ */ t(null);
81
- function p({ children: e, isLoading: t = !1, isDisabled: i = !1 }) {
82
- let a = n(() => ({
80
+ var f = /* @__PURE__ */ t(null), p = /* @__PURE__ */ new Set();
81
+ function m({ children: e, isLoading: t = !1, isDisabled: i = !1, appliedTemplateIds: a = p }) {
82
+ let o = n(() => ({
83
83
  isLoading: t,
84
- isDisabled: i
85
- }), [t, i]);
84
+ isDisabled: i,
85
+ appliedTemplateIds: a
86
+ }), [
87
+ t,
88
+ i,
89
+ a
90
+ ]);
86
91
  return /* @__PURE__ */ r(f.Provider, {
87
- value: a,
92
+ value: o,
88
93
  children: e
89
94
  });
90
95
  }
91
- var m = /* @__PURE__ */ t(null);
92
- function h({ children: t, itemsServiceRef: n, eventServiceRef: i, stateRef: a, dispatch: o, levelCache: s }) {
96
+ var h = /* @__PURE__ */ t(null);
97
+ function g({ children: t, itemsServiceRef: n, eventServiceRef: i, stateRef: a, dispatch: o, levelCache: s }) {
93
98
  let c = e(n, i, a, o, s);
94
- return /* @__PURE__ */ r(m.Provider, {
99
+ return /* @__PURE__ */ r(h.Provider, {
95
100
  value: c,
96
101
  children: t
97
102
  });
98
103
  }
99
- export { o as BrowseStateContext, s as BrowseStateContextProvider, m as BrowserActionsContext, h as BrowserActionsContextProvider, f as ConsumerStateContext, p as ConsumerStateContextProvider, i as NavigationStateContext, a as NavigationStateContextProvider, c as SearchStateContext, l as SearchStateContextProvider, u as SelectionStateContext, d as SelectionStateContextProvider };
104
+ export { o as BrowseStateContext, s as BrowseStateContextProvider, h as BrowserActionsContext, g as BrowserActionsContextProvider, f as ConsumerStateContext, m as ConsumerStateContextProvider, i as NavigationStateContext, a as NavigationStateContextProvider, c as SearchStateContext, l as SearchStateContextProvider, u as SelectionStateContext, d as SelectionStateContextProvider };
@@ -1,19 +1,21 @@
1
1
  import { ConsumerStateContextProvider as e } from "./contexts/contexts.js";
2
2
  import { MetadataTemplateBrowserProvider as t } from "./contexts/provider.js";
3
3
  import { t as n } from "../../chunks/metadata-template-browser-controller.js";
4
- import { jsx as r } from "react/jsx-runtime";
5
- function i({ enterpriseId: i, itemsService: a, eventService: o, isLoading: s, isDisabled: c, initialSelectedTemplateId: l, canCreateAtRoot: u }) {
6
- return /* @__PURE__ */ r(e, {
7
- isDisabled: c,
8
- isLoading: s,
9
- children: /* @__PURE__ */ r(t, {
10
- namespaceFQN: i,
11
- itemsService: a,
12
- eventService: o,
13
- initialSelectedTemplateId: l,
14
- canCreateAtRoot: u,
15
- children: /* @__PURE__ */ r(n, {})
4
+ import { TooltipProvider as r } from "@box/blueprint-web";
5
+ import { jsx as i } from "react/jsx-runtime";
6
+ function a({ enterpriseId: a, itemsService: o, eventService: s, isLoading: c, isDisabled: l, initialSelectedTemplateId: u, canCreateAtRoot: d, appliedTemplateIds: f }) {
7
+ return /* @__PURE__ */ i(r, { children: /* @__PURE__ */ i(e, {
8
+ appliedTemplateIds: f,
9
+ isDisabled: l,
10
+ isLoading: c,
11
+ children: /* @__PURE__ */ i(t, {
12
+ namespaceFQN: a,
13
+ itemsService: o,
14
+ eventService: s,
15
+ initialSelectedTemplateId: u,
16
+ canCreateAtRoot: d,
17
+ children: /* @__PURE__ */ i(n, {})
16
18
  })
17
- });
19
+ }) });
18
20
  }
19
- export { i as MetadataTemplateBrowser };
21
+ export { a as MetadataTemplateBrowser };
@@ -23,6 +23,7 @@ export default {
23
23
  "groupSharedFeatures.metadataTemplateBrowser.searchList.emptyStateHeading": "আপনি যা খুঁজছেন তা আমরা খুঁজে পায়নি",
24
24
  "groupSharedFeatures.metadataTemplateBrowser.searchList.listAriaLabel": "ফলাফল অনুসন্ধান করুন",
25
25
  "groupSharedFeatures.metadataTemplateBrowser.searchList.searchErrorBody": "অনুসন্ধান করার সময় কোনো সমস্যা হয়েছে।",
26
+ "groupSharedFeatures.metadataTemplateBrowser.templateRow.alreadyApplied": "Template is already applied.",
26
27
  "groupSharedFeatures.metadataTemplateBrowser.templateRow.editAriaLabel": "{displayName} এডিট করুন",
27
28
  "groupSharedFeatures.metadataTemplateBrowser.virtualizedGridList.loadMoreSentinelAriaLabel": "আরও আইটেম লোড করুন"
28
29
  }
@@ -23,6 +23,7 @@ export default {
23
23
  "groupSharedFeatures.metadataTemplateBrowser.searchList.emptyStateHeading": "Vi kunne ikke finde det, du leder efter",
24
24
  "groupSharedFeatures.metadataTemplateBrowser.searchList.listAriaLabel": "Søgeresultater",
25
25
  "groupSharedFeatures.metadataTemplateBrowser.searchList.searchErrorBody": "Noget gik galt under søgningen.",
26
+ "groupSharedFeatures.metadataTemplateBrowser.templateRow.alreadyApplied": "Template is already applied.",
26
27
  "groupSharedFeatures.metadataTemplateBrowser.templateRow.editAriaLabel": "Rediger {displayName}",
27
28
  "groupSharedFeatures.metadataTemplateBrowser.virtualizedGridList.loadMoreSentinelAriaLabel": "Indlæs flere elementer"
28
29
  }
@@ -23,6 +23,7 @@ export default {
23
23
  "groupSharedFeatures.metadataTemplateBrowser.searchList.emptyStateHeading": "Ihre Suche ergab keine Ergebnisse",
24
24
  "groupSharedFeatures.metadataTemplateBrowser.searchList.listAriaLabel": "Suchergebnisse",
25
25
  "groupSharedFeatures.metadataTemplateBrowser.searchList.searchErrorBody": "Während der Suche ist ein Fehler aufgetreten.",
26
+ "groupSharedFeatures.metadataTemplateBrowser.templateRow.alreadyApplied": "Template is already applied.",
26
27
  "groupSharedFeatures.metadataTemplateBrowser.templateRow.editAriaLabel": "{displayName} bearbeiten",
27
28
  "groupSharedFeatures.metadataTemplateBrowser.virtualizedGridList.loadMoreSentinelAriaLabel": "Weitere Elemente laden"
28
29
  }
@@ -23,6 +23,7 @@ export default {
23
23
  "groupSharedFeatures.metadataTemplateBrowser.searchList.emptyStateHeading": "We couldn’t find what you’re looking for",
24
24
  "groupSharedFeatures.metadataTemplateBrowser.searchList.listAriaLabel": "Search results",
25
25
  "groupSharedFeatures.metadataTemplateBrowser.searchList.searchErrorBody": "Something went wrong while searching.",
26
+ "groupSharedFeatures.metadataTemplateBrowser.templateRow.alreadyApplied": "Template is already applied.",
26
27
  "groupSharedFeatures.metadataTemplateBrowser.templateRow.editAriaLabel": "Edit {displayName}",
27
28
  "groupSharedFeatures.metadataTemplateBrowser.virtualizedGridList.loadMoreSentinelAriaLabel": "Load more items"
28
29
  }
@@ -23,6 +23,7 @@ export default {
23
23
  "groupSharedFeatures.metadataTemplateBrowser.searchList.emptyStateHeading": "We couldn't find what you're looking for",
24
24
  "groupSharedFeatures.metadataTemplateBrowser.searchList.listAriaLabel": "Search results",
25
25
  "groupSharedFeatures.metadataTemplateBrowser.searchList.searchErrorBody": "Something went wrong while searching.",
26
+ "groupSharedFeatures.metadataTemplateBrowser.templateRow.alreadyApplied": "Template is already applied.",
26
27
  "groupSharedFeatures.metadataTemplateBrowser.templateRow.editAriaLabel": "Edit {displayName}",
27
28
  "groupSharedFeatures.metadataTemplateBrowser.virtualizedGridList.loadMoreSentinelAriaLabel": "Load more items"
28
29
  }
@@ -23,6 +23,7 @@ export default {
23
23
  "groupSharedFeatures.metadataTemplateBrowser.searchList.emptyStateHeading": "We couldn’t find what you’re looking for",
24
24
  "groupSharedFeatures.metadataTemplateBrowser.searchList.listAriaLabel": "Search results",
25
25
  "groupSharedFeatures.metadataTemplateBrowser.searchList.searchErrorBody": "Something went wrong while searching.",
26
+ "groupSharedFeatures.metadataTemplateBrowser.templateRow.alreadyApplied": "Template is already applied.",
26
27
  "groupSharedFeatures.metadataTemplateBrowser.templateRow.editAriaLabel": "Edit {displayName}",
27
28
  "groupSharedFeatures.metadataTemplateBrowser.virtualizedGridList.loadMoreSentinelAriaLabel": "Load more items"
28
29
  }
@@ -23,6 +23,7 @@ export default {
23
23
  "groupSharedFeatures.metadataTemplateBrowser.searchList.emptyStateHeading": "We couldn't find what you're looking for",
24
24
  "groupSharedFeatures.metadataTemplateBrowser.searchList.listAriaLabel": "Search results",
25
25
  "groupSharedFeatures.metadataTemplateBrowser.searchList.searchErrorBody": "Something went wrong while searching.",
26
+ "groupSharedFeatures.metadataTemplateBrowser.templateRow.alreadyApplied": "Template is already applied.",
26
27
  "groupSharedFeatures.metadataTemplateBrowser.templateRow.editAriaLabel": "Edit {displayName}",
27
28
  "groupSharedFeatures.metadataTemplateBrowser.virtualizedGridList.loadMoreSentinelAriaLabel": "Load more items"
28
29
  }
@@ -46,6 +46,8 @@ groupSharedFeatures.metadataTemplateBrowser.searchList.emptyStateHeading = We co
46
46
  groupSharedFeatures.metadataTemplateBrowser.searchList.listAriaLabel = Search results
47
47
  # Error body when a search request fails
48
48
  groupSharedFeatures.metadataTemplateBrowser.searchList.searchErrorBody = Something went wrong while searching.
49
+ # Tooltip shown on template rows that have already been applied to the current item
50
+ groupSharedFeatures.metadataTemplateBrowser.templateRow.alreadyApplied = Template is already applied.
49
51
  # Aria label for the pencil button that opens template edit
50
52
  groupSharedFeatures.metadataTemplateBrowser.templateRow.editAriaLabel = Edit {displayName}
51
53
  # Aria label for the sentinel row shown while more items are loading
@@ -23,6 +23,7 @@ export default {
23
23
  "groupSharedFeatures.metadataTemplateBrowser.searchList.emptyStateHeading": "⟦萬萬萬萬萬萬萬萬萬萬萬 Ŵĕ ĉόúĺďй'ţ ƒιņď щнãť ýσù'ŗέ ļòòĸϊйġ ƒóŕ 國國國國國國國國國國國⟧",
24
24
  "groupSharedFeatures.metadataTemplateBrowser.searchList.listAriaLabel": "⟦萬萬萬萬 Śêäŗсħ ŕєşųľŧŝ 國國國國⟧",
25
25
  "groupSharedFeatures.metadataTemplateBrowser.searchList.searchErrorBody": "⟦萬萬萬萬萬萬萬萬萬萬萬 Ŝómēţĥíńġ ẁεŋţ щѓôηġ ώнîľê şέăŕĉħîņġ. 國國國國國國國國國國國⟧",
26
+ "groupSharedFeatures.metadataTemplateBrowser.templateRow.alreadyApplied": "Template is already applied.",
26
27
  "groupSharedFeatures.metadataTemplateBrowser.templateRow.editAriaLabel": "⟦萬萬 Ēďіτ {displayName} 國國⟧",
27
28
  "groupSharedFeatures.metadataTemplateBrowser.virtualizedGridList.loadMoreSentinelAriaLabel": "⟦萬萬萬萬 Ļöàď mŏгé įτėmŝ 國國國國⟧"
28
29
  }
@@ -23,6 +23,7 @@ export default {
23
23
  "groupSharedFeatures.metadataTemplateBrowser.searchList.emptyStateHeading": "No hemos podido encontrar lo que busca",
24
24
  "groupSharedFeatures.metadataTemplateBrowser.searchList.listAriaLabel": "Buscar resultados",
25
25
  "groupSharedFeatures.metadataTemplateBrowser.searchList.searchErrorBody": "Se ha producido un error durante la búsqueda.",
26
+ "groupSharedFeatures.metadataTemplateBrowser.templateRow.alreadyApplied": "Template is already applied.",
26
27
  "groupSharedFeatures.metadataTemplateBrowser.templateRow.editAriaLabel": "Editar {displayName}",
27
28
  "groupSharedFeatures.metadataTemplateBrowser.virtualizedGridList.loadMoreSentinelAriaLabel": "Cargar más elementos"
28
29
  }
@@ -23,6 +23,7 @@ export default {
23
23
  "groupSharedFeatures.metadataTemplateBrowser.searchList.emptyStateHeading": "No hemos podido encontrar lo que busca",
24
24
  "groupSharedFeatures.metadataTemplateBrowser.searchList.listAriaLabel": "Buscar resultados",
25
25
  "groupSharedFeatures.metadataTemplateBrowser.searchList.searchErrorBody": "Se ha producido un error durante la búsqueda.",
26
+ "groupSharedFeatures.metadataTemplateBrowser.templateRow.alreadyApplied": "Template is already applied.",
26
27
  "groupSharedFeatures.metadataTemplateBrowser.templateRow.editAriaLabel": "Editar {displayName}",
27
28
  "groupSharedFeatures.metadataTemplateBrowser.virtualizedGridList.loadMoreSentinelAriaLabel": "Cargar más elementos"
28
29
  }
@@ -23,6 +23,7 @@ export default {
23
23
  "groupSharedFeatures.metadataTemplateBrowser.searchList.emptyStateHeading": "Emme löytäneet etsimääsi kohdetta",
24
24
  "groupSharedFeatures.metadataTemplateBrowser.searchList.listAriaLabel": "Hakutulokset",
25
25
  "groupSharedFeatures.metadataTemplateBrowser.searchList.searchErrorBody": "Jokin meni pieleen haettaessa.",
26
+ "groupSharedFeatures.metadataTemplateBrowser.templateRow.alreadyApplied": "Template is already applied.",
26
27
  "groupSharedFeatures.metadataTemplateBrowser.templateRow.editAriaLabel": "Muokkaa {displayName}",
27
28
  "groupSharedFeatures.metadataTemplateBrowser.virtualizedGridList.loadMoreSentinelAriaLabel": "Lataa lisää kohteita"
28
29
  }
@@ -23,6 +23,7 @@ export default {
23
23
  "groupSharedFeatures.metadataTemplateBrowser.searchList.emptyStateHeading": "Nous ne pouvons pas trouver ce que vous cherchez",
24
24
  "groupSharedFeatures.metadataTemplateBrowser.searchList.listAriaLabel": "Résultats de recherche",
25
25
  "groupSharedFeatures.metadataTemplateBrowser.searchList.searchErrorBody": "Une erreur est survenue lors de la recherche.",
26
+ "groupSharedFeatures.metadataTemplateBrowser.templateRow.alreadyApplied": "Template is already applied.",
26
27
  "groupSharedFeatures.metadataTemplateBrowser.templateRow.editAriaLabel": "Modifier {displayName}",
27
28
  "groupSharedFeatures.metadataTemplateBrowser.virtualizedGridList.loadMoreSentinelAriaLabel": "Charger plus d’éléments"
28
29
  }
@@ -23,6 +23,7 @@ export default {
23
23
  "groupSharedFeatures.metadataTemplateBrowser.searchList.emptyStateHeading": "Nous ne pouvons pas trouver ce que vous cherchez",
24
24
  "groupSharedFeatures.metadataTemplateBrowser.searchList.listAriaLabel": "Résultats de recherche",
25
25
  "groupSharedFeatures.metadataTemplateBrowser.searchList.searchErrorBody": "Une erreur est survenue lors de la recherche.",
26
+ "groupSharedFeatures.metadataTemplateBrowser.templateRow.alreadyApplied": "Template is already applied.",
26
27
  "groupSharedFeatures.metadataTemplateBrowser.templateRow.editAriaLabel": "Modifier {displayName}",
27
28
  "groupSharedFeatures.metadataTemplateBrowser.virtualizedGridList.loadMoreSentinelAriaLabel": "Charger plus d’éléments"
28
29
  }
@@ -23,6 +23,7 @@ export default {
23
23
  "groupSharedFeatures.metadataTemplateBrowser.searchList.emptyStateHeading": "हमें वह नहीं मिला जो आप ढूंढ रहे हैं",
24
24
  "groupSharedFeatures.metadataTemplateBrowser.searchList.listAriaLabel": "खोज परिणाम",
25
25
  "groupSharedFeatures.metadataTemplateBrowser.searchList.searchErrorBody": "खोज करते समय कुछ गलत हुआ है।",
26
+ "groupSharedFeatures.metadataTemplateBrowser.templateRow.alreadyApplied": "Template is already applied.",
26
27
  "groupSharedFeatures.metadataTemplateBrowser.templateRow.editAriaLabel": "{displayName} संपादित करें",
27
28
  "groupSharedFeatures.metadataTemplateBrowser.virtualizedGridList.loadMoreSentinelAriaLabel": "और अधिक आइटम्स लोड करें"
28
29
  }
@@ -23,6 +23,7 @@ export default {
23
23
  "groupSharedFeatures.metadataTemplateBrowser.searchList.emptyStateHeading": "Impossibile trovare ciò che stai cercando",
24
24
  "groupSharedFeatures.metadataTemplateBrowser.searchList.listAriaLabel": "Risultati della ricerca",
25
25
  "groupSharedFeatures.metadataTemplateBrowser.searchList.searchErrorBody": "Si è verificato un errore durante la ricerca.",
26
+ "groupSharedFeatures.metadataTemplateBrowser.templateRow.alreadyApplied": "Template is already applied.",
26
27
  "groupSharedFeatures.metadataTemplateBrowser.templateRow.editAriaLabel": "Modifica {displayName}",
27
28
  "groupSharedFeatures.metadataTemplateBrowser.virtualizedGridList.loadMoreSentinelAriaLabel": "Carica più elementi"
28
29
  }
@@ -23,6 +23,7 @@ export default {
23
23
  "groupSharedFeatures.metadataTemplateBrowser.searchList.emptyStateHeading": "検索対象が見つかりませんでした",
24
24
  "groupSharedFeatures.metadataTemplateBrowser.searchList.listAriaLabel": "検索結果",
25
25
  "groupSharedFeatures.metadataTemplateBrowser.searchList.searchErrorBody": "検索中に問題が発生しました。",
26
+ "groupSharedFeatures.metadataTemplateBrowser.templateRow.alreadyApplied": "Template is already applied.",
26
27
  "groupSharedFeatures.metadataTemplateBrowser.templateRow.editAriaLabel": "{displayName}を編集",
27
28
  "groupSharedFeatures.metadataTemplateBrowser.virtualizedGridList.loadMoreSentinelAriaLabel": "その他の項目を読み込む"
28
29
  }
@@ -1 +1 @@
1
- [{"id":"groupSharedFeatures.metadataTemplateBrowser.templateRow.editAriaLabel","description":"Aria label for the pencil button that opens template edit","defaultMessage":"Edit {displayName}"}]
1
+ [{"id":"groupSharedFeatures.metadataTemplateBrowser.templateRow.alreadyApplied","description":"Tooltip shown on template rows that have already been applied to the current item","defaultMessage":"Template is already applied."},{"id":"groupSharedFeatures.metadataTemplateBrowser.templateRow.editAriaLabel","description":"Aria label for the pencil button that opens template edit","defaultMessage":"Edit {displayName}"}]
@@ -23,6 +23,7 @@ export default {
23
23
  "groupSharedFeatures.metadataTemplateBrowser.searchList.emptyStateHeading": "찾고 있는 것을 찾을 수 없습니다",
24
24
  "groupSharedFeatures.metadataTemplateBrowser.searchList.listAriaLabel": "검색 결과",
25
25
  "groupSharedFeatures.metadataTemplateBrowser.searchList.searchErrorBody": "검색 중 문제가 발생했습니다.",
26
+ "groupSharedFeatures.metadataTemplateBrowser.templateRow.alreadyApplied": "Template is already applied.",
26
27
  "groupSharedFeatures.metadataTemplateBrowser.templateRow.editAriaLabel": "{displayName} 편집",
27
28
  "groupSharedFeatures.metadataTemplateBrowser.virtualizedGridList.loadMoreSentinelAriaLabel": "항목 더 불러오기"
28
29
  }
@@ -23,6 +23,7 @@ export default {
23
23
  "groupSharedFeatures.metadataTemplateBrowser.searchList.emptyStateHeading": "Vi fant ikke det du leter etter",
24
24
  "groupSharedFeatures.metadataTemplateBrowser.searchList.listAriaLabel": "Søkeresultater",
25
25
  "groupSharedFeatures.metadataTemplateBrowser.searchList.searchErrorBody": "Noe gikk galt under søket.",
26
+ "groupSharedFeatures.metadataTemplateBrowser.templateRow.alreadyApplied": "Template is already applied.",
26
27
  "groupSharedFeatures.metadataTemplateBrowser.templateRow.editAriaLabel": "Rediger {displayName}",
27
28
  "groupSharedFeatures.metadataTemplateBrowser.virtualizedGridList.loadMoreSentinelAriaLabel": "Last inn flere elementer"
28
29
  }
@@ -23,6 +23,7 @@ export default {
23
23
  "groupSharedFeatures.metadataTemplateBrowser.searchList.emptyStateHeading": "We konden niet vinden wat u zoekt",
24
24
  "groupSharedFeatures.metadataTemplateBrowser.searchList.listAriaLabel": "Zoekresultaten",
25
25
  "groupSharedFeatures.metadataTemplateBrowser.searchList.searchErrorBody": "Er is iets fout gegaan tijdens het zoeken.",
26
+ "groupSharedFeatures.metadataTemplateBrowser.templateRow.alreadyApplied": "Template is already applied.",
26
27
  "groupSharedFeatures.metadataTemplateBrowser.templateRow.editAriaLabel": "{displayName} bewerken",
27
28
  "groupSharedFeatures.metadataTemplateBrowser.virtualizedGridList.loadMoreSentinelAriaLabel": "Meer items laden"
28
29
  }
@@ -23,6 +23,7 @@ export default {
23
23
  "groupSharedFeatures.metadataTemplateBrowser.searchList.emptyStateHeading": "Nie można znaleźć tego, czego szukasz",
24
24
  "groupSharedFeatures.metadataTemplateBrowser.searchList.listAriaLabel": "Wyniki wyszukiwania",
25
25
  "groupSharedFeatures.metadataTemplateBrowser.searchList.searchErrorBody": "Podczas wyszukiwania wystąpił błąd.",
26
+ "groupSharedFeatures.metadataTemplateBrowser.templateRow.alreadyApplied": "Template is already applied.",
26
27
  "groupSharedFeatures.metadataTemplateBrowser.templateRow.editAriaLabel": "Edytuj {displayName}",
27
28
  "groupSharedFeatures.metadataTemplateBrowser.virtualizedGridList.loadMoreSentinelAriaLabel": "Wczytaj więcej elementów"
28
29
  }
@@ -23,6 +23,7 @@ export default {
23
23
  "groupSharedFeatures.metadataTemplateBrowser.searchList.emptyStateHeading": "Não conseguimos encontrar o que você está procurando",
24
24
  "groupSharedFeatures.metadataTemplateBrowser.searchList.listAriaLabel": "Resultados da pesquisa",
25
25
  "groupSharedFeatures.metadataTemplateBrowser.searchList.searchErrorBody": "Algo deu errado ao pesquisar.",
26
+ "groupSharedFeatures.metadataTemplateBrowser.templateRow.alreadyApplied": "Template is already applied.",
26
27
  "groupSharedFeatures.metadataTemplateBrowser.templateRow.editAriaLabel": "Editar {displayName}",
27
28
  "groupSharedFeatures.metadataTemplateBrowser.virtualizedGridList.loadMoreSentinelAriaLabel": "Carregar mais itens"
28
29
  }
@@ -23,6 +23,7 @@ export default {
23
23
  "groupSharedFeatures.metadataTemplateBrowser.searchList.emptyStateHeading": "Нам не удалось найти то, что вы ищете",
24
24
  "groupSharedFeatures.metadataTemplateBrowser.searchList.listAriaLabel": "Результаты поиска",
25
25
  "groupSharedFeatures.metadataTemplateBrowser.searchList.searchErrorBody": "Во время поиска произошла ошибка.",
26
+ "groupSharedFeatures.metadataTemplateBrowser.templateRow.alreadyApplied": "Template is already applied.",
26
27
  "groupSharedFeatures.metadataTemplateBrowser.templateRow.editAriaLabel": "Изменить {displayName}",
27
28
  "groupSharedFeatures.metadataTemplateBrowser.virtualizedGridList.loadMoreSentinelAriaLabel": "Загрузить больше элементов"
28
29
  }
@@ -23,6 +23,7 @@ export default {
23
23
  "groupSharedFeatures.metadataTemplateBrowser.searchList.emptyStateHeading": "Vi kunde inte hitta det du letar efter",
24
24
  "groupSharedFeatures.metadataTemplateBrowser.searchList.listAriaLabel": "Sökresultat",
25
25
  "groupSharedFeatures.metadataTemplateBrowser.searchList.searchErrorBody": "Något gick fel vid sökning.",
26
+ "groupSharedFeatures.metadataTemplateBrowser.templateRow.alreadyApplied": "Template is already applied.",
26
27
  "groupSharedFeatures.metadataTemplateBrowser.templateRow.editAriaLabel": "Redigera {displayName}",
27
28
  "groupSharedFeatures.metadataTemplateBrowser.virtualizedGridList.loadMoreSentinelAriaLabel": "Läs in fler objekt"
28
29
  }
@@ -23,6 +23,7 @@ export default {
23
23
  "groupSharedFeatures.metadataTemplateBrowser.searchList.emptyStateHeading": "Aradığınız şeyi bulamadık",
24
24
  "groupSharedFeatures.metadataTemplateBrowser.searchList.listAriaLabel": "Arama sonuçları",
25
25
  "groupSharedFeatures.metadataTemplateBrowser.searchList.searchErrorBody": "Arama sırasında bir hata oluştu.",
26
+ "groupSharedFeatures.metadataTemplateBrowser.templateRow.alreadyApplied": "Template is already applied.",
26
27
  "groupSharedFeatures.metadataTemplateBrowser.templateRow.editAriaLabel": "{displayName} öğesini düzenleyin",
27
28
  "groupSharedFeatures.metadataTemplateBrowser.virtualizedGridList.loadMoreSentinelAriaLabel": "Daha fazla öğe yükleyin"
28
29
  }
@@ -23,6 +23,7 @@ export default {
23
23
  "groupSharedFeatures.metadataTemplateBrowser.searchList.emptyStateHeading": "未找到您要查找的内容",
24
24
  "groupSharedFeatures.metadataTemplateBrowser.searchList.listAriaLabel": "搜索结果",
25
25
  "groupSharedFeatures.metadataTemplateBrowser.searchList.searchErrorBody": "搜索时出错。",
26
+ "groupSharedFeatures.metadataTemplateBrowser.templateRow.alreadyApplied": "Template is already applied.",
26
27
  "groupSharedFeatures.metadataTemplateBrowser.templateRow.editAriaLabel": "编辑 {displayName}",
27
28
  "groupSharedFeatures.metadataTemplateBrowser.virtualizedGridList.loadMoreSentinelAriaLabel": "加载更多项目"
28
29
  }
@@ -23,6 +23,7 @@ export default {
23
23
  "groupSharedFeatures.metadataTemplateBrowser.searchList.emptyStateHeading": "我們找不到您要找的內容",
24
24
  "groupSharedFeatures.metadataTemplateBrowser.searchList.listAriaLabel": "搜尋結果",
25
25
  "groupSharedFeatures.metadataTemplateBrowser.searchList.searchErrorBody": "搜尋時發生問題。",
26
+ "groupSharedFeatures.metadataTemplateBrowser.templateRow.alreadyApplied": "Template is already applied.",
26
27
  "groupSharedFeatures.metadataTemplateBrowser.templateRow.editAriaLabel": "編輯 {displayName}",
27
28
  "groupSharedFeatures.metadataTemplateBrowser.virtualizedGridList.loadMoreSentinelAriaLabel": "載入更多項目"
28
29
  }
@@ -1 +1 @@
1
- ._row_ybl3t_2{border-radius:var(--bp-radius-06);box-sizing:border-box;cursor:pointer;align-items:center;gap:var(--bp-space-020,8px);outline-offset:-2px;padding:var(--bp-space-020,8px) var(--bp-space-030,12px);flex:1;width:100%;display:flex}._trailingSlotHoverOnly_ybl3t_15{opacity:0}._item_ybl3t_19{outline:none;min-height:40px;display:flex}._item_ybl3t_19:hover ._row_ybl3t_2{background-color:var(--bp-surface-surface-hover)}._item_ybl3t_19[data-selected] ._row_ybl3t_2{background-color:var(--bp-surface-item-small-surface-selected);outline:var(--bp-border-02) solid var(--bp-border-list-item-border-selected)}._item_ybl3t_19[data-focus-visible] ._row_ybl3t_2{outline:2px solid var(--bp-outline-focus-on-light)}._item_ybl3t_19._disabled_ybl3t_40 ._row_ybl3t_2{cursor:default;opacity:.3}._item_ybl3t_19._disabled_ybl3t_40[data-focus-visible] ._row_ybl3t_2{opacity:1}._item_ybl3t_19._disabled_ybl3t_40:hover:not([data-selected]) ._row_ybl3t_2,._item_ybl3t_19._disabled_ybl3t_40[data-hovered]:not([data-selected]) ._row_ybl3t_2{background-color:#0000}._item_ybl3t_19:hover ._trailingSlotHoverOnly_ybl3t_15,._item_ybl3t_19[data-hovered] ._trailingSlotHoverOnly_ybl3t_15,._item_ybl3t_19:focus-within ._trailingSlotHoverOnly_ybl3t_15{opacity:1}._leadingIcon_ybl3t_59{flex-shrink:0;align-items:center;display:flex}._content_ybl3t_66{flex:1;min-width:0}._trailingSlot_ybl3t_15{flex-shrink:0}._subtitle_ybl3t_77{overflow-wrap:break-word;display:block}
1
+ ._row_1q43q_2{border-radius:var(--bp-radius-06);box-sizing:border-box;cursor:pointer;align-items:center;gap:var(--bp-space-020,8px);outline-offset:-2px;padding:var(--bp-space-020,8px) var(--bp-space-030,12px);flex:1;width:100%;display:flex}._leadingIcon_1q43q_15{flex-shrink:0;align-items:center;display:flex}._content_1q43q_22{flex:1;min-width:0}._trailingSlotHoverOnly_1q43q_29{opacity:0}._item_1q43q_33{outline:none;min-height:40px;display:flex}._item_1q43q_33:hover ._row_1q43q_2{background-color:var(--bp-surface-surface-hover)}._item_1q43q_33[data-selected] ._row_1q43q_2{background-color:var(--bp-surface-item-small-surface-selected);outline:var(--bp-border-02) solid var(--bp-border-list-item-border-selected)}._item_1q43q_33[data-focus-visible] ._row_1q43q_2{outline:2px solid var(--bp-outline-focus-on-light)}._item_1q43q_33._disabled_1q43q_54 ._row_1q43q_2{cursor:default;opacity:.3}._item_1q43q_33._applied_1q43q_61 ._row_1q43q_2{cursor:default}._item_1q43q_33._applied_1q43q_61 ._content_1q43q_22,._item_1q43q_33._applied_1q43q_61 ._leadingIcon_1q43q_15{opacity:.3}._item_1q43q_33._disabled_1q43q_54[data-focus-visible] ._row_1q43q_2{opacity:1}._item_1q43q_33:is(._disabled_1q43q_54,._applied_1q43q_61):hover:not([data-selected]) ._row_1q43q_2,._item_1q43q_33:is(._disabled_1q43q_54,._applied_1q43q_61)[data-hovered]:not([data-selected]) ._row_1q43q_2{background-color:#0000}._item_1q43q_33:hover ._trailingSlotHoverOnly_1q43q_29,._item_1q43q_33[data-hovered] ._trailingSlotHoverOnly_1q43q_29,._item_1q43q_33:focus-within ._trailingSlotHoverOnly_1q43q_29{opacity:1}._trailingSlot_1q43q_29{flex-shrink:0}._subtitle_1q43q_90{overflow-wrap:break-word;display:block}
@@ -15,11 +15,24 @@ interface BrowserRowProps {
15
15
  * reach interactive elements inside.
16
16
  */
17
17
  readonly isTrailingSlotHoverOnly?: boolean;
18
+ /**
19
+ * When true, this individual row is rendered as visually disabled (dimmed content/icon,
20
+ * default cursor). Unlike the global `isDisabled` flag, which uses React Aria's `isDisabled`
21
+ * prop and removes the row from the tab/focus order entirely, `isApplied` rows use
22
+ * `aria-disabled` so they remain focusable — keyboard users can arrow-key to them and see
23
+ * the tooltip. Activation is suppressed in `VirtualizedGridList.handleSelectionChange`.
24
+ */
25
+ readonly isApplied?: boolean;
26
+ /**
27
+ * When provided, a tooltip with this content is shown on hover over the row.
28
+ * Typically used together with `isApplied` to explain why the row is disabled.
29
+ */
30
+ readonly tooltipContent?: React.ReactNode;
18
31
  }
19
32
  /**
20
33
  * Generic accessible list row used by `NamespaceRow` and `TemplateRow`.
21
34
  * Supports an optional leading icon, primary title, subtitle, and a trailing
22
35
  * action slot that can be revealed only on hover/focus.
23
36
  */
24
- export declare function BrowserRow({ id, leadingIcon, title, subtitle, trailingSlot, isTrailingSlotHoverOnly, }: BrowserRowProps): import("react/jsx-runtime").JSX.Element;
37
+ export declare function BrowserRow({ id, leadingIcon, title, subtitle, trailingSlot, isTrailingSlotHoverOnly, isApplied, tooltipContent, }: BrowserRowProps): import("react/jsx-runtime").JSX.Element;
25
38
  export {};
@@ -1,4 +1,9 @@
1
1
  export declare const messages: {
2
+ alreadyApplied: {
3
+ defaultMessage: string;
4
+ description: string;
5
+ id: string;
6
+ };
2
7
  editAriaLabel: {
3
8
  defaultMessage: string;
4
9
  description: string;
@@ -31,8 +31,9 @@ export interface ConsumerStateContextProviderProps {
31
31
  readonly children: React.ReactNode;
32
32
  readonly isLoading?: boolean;
33
33
  readonly isDisabled?: boolean;
34
+ readonly appliedTemplateIds?: ReadonlySet<string>;
34
35
  }
35
- export declare function ConsumerStateContextProvider({ children, isLoading, isDisabled, }: Readonly<ConsumerStateContextProviderProps>): import("react/jsx-runtime").JSX.Element;
36
+ export declare function ConsumerStateContextProvider({ children, isLoading, isDisabled, appliedTemplateIds, }: Readonly<ConsumerStateContextProviderProps>): import("react/jsx-runtime").JSX.Element;
36
37
  /** Exposes all browser action creators (navigate, search, select, retry, etc.) to the component tree. */
37
38
  export declare const BrowserActionsContext: import('react').Context<BrowserActionsContextValue | null>;
38
39
  interface BrowserActionsContextProviderProps {
@@ -22,9 +22,14 @@ export interface MetadataTemplateBrowserProps {
22
22
  * @default false
23
23
  */
24
24
  canCreateAtRoot?: boolean;
25
+ /**
26
+ * Set of template IDs that are already applied to the current item.
27
+ * Rows matching these IDs are rendered as disabled with a "Template is already applied." tooltip.
28
+ */
29
+ appliedTemplateIds?: ReadonlySet<string>;
25
30
  }
26
31
  /**
27
32
  * Public entry point for the metadata template browser.
28
33
  * Wraps the provider and controller into a single composable component.
29
34
  */
30
- export declare function MetadataTemplateBrowser({ enterpriseId, itemsService, eventService, isLoading, isDisabled, initialSelectedTemplateId, canCreateAtRoot, }: Readonly<MetadataTemplateBrowserProps>): import("react/jsx-runtime").JSX.Element;
35
+ export declare function MetadataTemplateBrowser({ enterpriseId, itemsService, eventService, isLoading, isDisabled, initialSelectedTemplateId, canCreateAtRoot, appliedTemplateIds, }: Readonly<MetadataTemplateBrowserProps>): import("react/jsx-runtime").JSX.Element;
@@ -100,6 +100,8 @@ export interface SelectionStateContextValue {
100
100
  export interface ConsumerStateContextValue {
101
101
  isLoading: boolean;
102
102
  isDisabled: boolean;
103
+ /** Set of template IDs that are already applied and should be shown as disabled with a tooltip. */
104
+ appliedTemplateIds: ReadonlySet<string>;
103
105
  }
104
106
  export interface BrowserActionsContextValue {
105
107
  /** Fetches the root level on mount: namespaces and templates under the enterprise FQN. */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@box/metadata-template-browser",
3
- "version": "1.22.20",
3
+ "version": "1.22.21",
4
4
  "license": "SEE LICENSE IN LICENSE",
5
5
  "peerDependencies": {
6
6
  "@box/blueprint-web": "^14.33.0",