@box/metadata-view 0.10.0 → 0.12.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 (47) hide show
  1. package/dist/esm/lib/components/filter-row/filter-row.js +49 -33
  2. package/dist/esm/lib/components/filter-row/index.js +4 -0
  3. package/dist/esm/lib/components/filter-row/messages.js +4 -0
  4. package/dist/esm/lib/components/item-action-menu/index.js +4 -0
  5. package/dist/esm/lib/components/item-action-menu/item-action-menu.js +65 -59
  6. package/dist/esm/lib/components/metadata-table/index.js +4 -0
  7. package/dist/esm/lib/components/metadata-table/table-body/ghost-table-body.js +13 -14
  8. package/dist/esm/lib/metadata-view.js +8 -8
  9. package/dist/i18n/bn-IN.js +1 -0
  10. package/dist/i18n/da-DK.js +1 -0
  11. package/dist/i18n/de-DE.js +1 -0
  12. package/dist/i18n/en-AU.js +1 -0
  13. package/dist/i18n/en-CA.js +1 -0
  14. package/dist/i18n/en-GB.js +1 -0
  15. package/dist/i18n/en-US.js +1 -0
  16. package/dist/i18n/en-US.properties +2 -0
  17. package/dist/i18n/en-x-pseudo.js +1 -0
  18. package/dist/i18n/es-419.js +1 -0
  19. package/dist/i18n/es-ES.js +1 -0
  20. package/dist/i18n/fi-FI.js +1 -0
  21. package/dist/i18n/fr-CA.js +1 -0
  22. package/dist/i18n/fr-FR.js +1 -0
  23. package/dist/i18n/hi-IN.js +1 -0
  24. package/dist/i18n/it-IT.js +1 -0
  25. package/dist/i18n/ja-JP.js +1 -0
  26. package/dist/i18n/json/src/lib/components/filter-row/messages.json +1 -1
  27. package/dist/i18n/ko-KR.js +1 -0
  28. package/dist/i18n/nb-NO.js +1 -0
  29. package/dist/i18n/nl-NL.js +1 -0
  30. package/dist/i18n/pl-PL.js +1 -0
  31. package/dist/i18n/pt-BR.js +1 -0
  32. package/dist/i18n/ru-RU.js +1 -0
  33. package/dist/i18n/sv-SE.js +1 -0
  34. package/dist/i18n/tr-TR.js +1 -0
  35. package/dist/i18n/zh-CN.js +1 -0
  36. package/dist/i18n/zh-TW.js +1 -0
  37. package/dist/types/lib/components/filter-row/filter-row.d.ts +8 -2
  38. package/dist/types/lib/components/filter-row/index.d.ts +1 -0
  39. package/dist/types/lib/components/filter-row/messages.d.ts +5 -0
  40. package/dist/types/lib/components/filter-row/types.d.ts +0 -5
  41. package/dist/types/lib/components/item-action-menu/index.d.ts +1 -0
  42. package/dist/types/lib/components/item-action-menu/item-action-menu.d.ts +3 -2
  43. package/dist/types/lib/components/metadata-table/index.d.ts +2 -0
  44. package/dist/types/lib/components/metadata-table/metadata-table.d.ts +1 -1
  45. package/dist/types/lib/components/metadata-table/table-body/table-body-with-data.d.ts +3 -10
  46. package/dist/types/lib/metadata-view.d.ts +2 -2
  47. package/package.json +1 -1
@@ -1,15 +1,17 @@
1
- import { FilterChip as r } from "@box/blueprint-web";
2
- import { MetadataBadge as h } from "@box/blueprint-web-assets/icons/Line";
3
- import { Formik as F, Form as f } from "formik";
4
- import { useState as p, useRef as S } from "react";
5
- import { StringFilterChip as g } from "./string-filter-chip.js";
6
- import { jsx as l, jsxs as b } from "react/jsx-runtime";
7
- const v = (e, s, c) => {
1
+ import { FilterChip as l } from "@box/blueprint-web";
2
+ import { Filter as g, MetadataBadge as p } from "@box/blueprint-web-assets/icons/Line";
3
+ import { Formik as S, Form as b } from "formik";
4
+ import { useState as v, useRef as w } from "react";
5
+ import { useIntl as C } from "react-intl";
6
+ import { StringFilterChip as I } from "./string-filter-chip.js";
7
+ import j from "./messages.js";
8
+ import { jsx as i, jsxs as c } from "react/jsx-runtime";
9
+ const k = (e, s, n) => {
8
10
  switch (e.fieldType) {
9
11
  case "float":
10
12
  case "string":
11
- return /* @__PURE__ */ l(g, {
12
- formRef: c,
13
+ return /* @__PURE__ */ i(I, {
14
+ formRef: n,
13
15
  id: e.id,
14
16
  name: e.name,
15
17
  selected: s
@@ -17,36 +19,39 @@ const v = (e, s, c) => {
17
19
  case "date":
18
20
  case "enum":
19
21
  case "multiSelect":
20
- return /* @__PURE__ */ b(r.Chip, {
22
+ return /* @__PURE__ */ c(l.Chip, {
21
23
  value: e.id,
22
- children: [/* @__PURE__ */ l(r.Icon, {
23
- icon: h
24
- }), /* @__PURE__ */ l(r.Label, {
24
+ children: [/* @__PURE__ */ i(l.Icon, {
25
+ icon: p
26
+ }), /* @__PURE__ */ i(l.Label, {
25
27
  children: e.name
26
28
  })]
27
29
  }, e.id);
28
30
  default:
29
31
  return null;
30
32
  }
31
- }, k = ({
33
+ }, _ = ({
32
34
  filterOptions: e,
33
- onFilterSubmit: s
35
+ onAllFiltersClick: s,
36
+ onFilterSubmit: n
34
37
  }) => {
35
- const [c, m] = p([]), n = ([t, i]) => {
38
+ const {
39
+ formatMessage: d
40
+ } = C(), [u, o] = v([]), h = ([t, r]) => {
36
41
  var a;
37
- return ((a = i.value) == null ? void 0 : a.enum) && i.value.enum.length > 0;
38
- }, u = ({
42
+ return ((a = r.value) == null ? void 0 : a.enum) && r.value.enum.length > 0;
43
+ }, F = ({
39
44
  metadata: {
40
45
  fields: t
41
46
  }
42
47
  }) => {
43
- const i = Object.entries(t).filter(n).map(([a]) => a);
44
- m(i), s(t);
45
- }, o = {
48
+ const r = Object.entries(t).filter(h).map(([a]) => a);
49
+ o(r), n(t);
50
+ }, f = {
46
51
  metadata: {
47
- fields: e.reduce((t, i) => {
52
+ fields: e.reduce((t, r) => {
48
53
  let a;
49
- switch (i.fieldType) {
54
+ switch (r.fieldType) {
50
55
  case "string":
51
56
  case "float":
52
57
  a = [""];
@@ -54,25 +59,36 @@ const v = (e, s, c) => {
54
59
  default:
55
60
  a = null;
56
61
  }
57
- return t[i.id] = {
62
+ return t[r.id] = {
58
63
  value: a
59
64
  }, t;
60
65
  }, {})
61
66
  }
62
- }, d = S(null);
63
- return /* @__PURE__ */ l(F, {
64
- initialValues: o,
65
- onSubmit: u,
66
- children: /* @__PURE__ */ l(f, {
67
- ref: d,
68
- children: /* @__PURE__ */ l(r.Group, {
67
+ }, m = w(null);
68
+ return /* @__PURE__ */ i(S, {
69
+ initialValues: f,
70
+ onSubmit: F,
71
+ children: /* @__PURE__ */ i(b, {
72
+ ref: m,
73
+ children: /* @__PURE__ */ c(l.Group, {
69
74
  name: "metadata-view-filters",
70
75
  type: "multiple",
71
- children: e.map((t) => v(t, c.includes(t.id), d))
76
+ children: [/* @__PURE__ */ c(l.ChipButton, {
77
+ onClick: s,
78
+ value: "all-filters-chip-btn",
79
+ children: [/* @__PURE__ */ i(l.Icon, {
80
+ icon: g
81
+ }), /* @__PURE__ */ i(l.Label, {
82
+ children: d(j.allFilters)
83
+ }), e.length > 0 && /* @__PURE__ */ i(l.Status, {
84
+ children: e.length.toString()
85
+ })]
86
+ }), e.map((t) => k(t, u.includes(t.id), m))]
72
87
  })
73
88
  })
74
89
  });
75
90
  };
76
91
  export {
77
- k as default
92
+ _ as FilterRow,
93
+ _ as default
78
94
  };
@@ -0,0 +1,4 @@
1
+ import { FilterRow as e } from "./filter-row.js";
2
+ export {
3
+ e as FilterRow
4
+ };
@@ -11,6 +11,10 @@ const a = e({
11
11
  textInputPlaceholder: {
12
12
  id: "groupSharedFeatures.metadataView.filterRow.textInputPlaceholder",
13
13
  defaultMessage: "Set Value"
14
+ },
15
+ allFilters: {
16
+ id: "groupSharedFeatures.metadataView.filterRow.AllFilters",
17
+ defaultMessage: "All Filters"
14
18
  }
15
19
  });
16
20
  export {
@@ -0,0 +1,4 @@
1
+ import { ItemActionMenu as t } from "./item-action-menu.js";
2
+ export {
3
+ t as ItemActionMenu
4
+ };
@@ -1,78 +1,84 @@
1
- import { useIntl as p } from "react-intl";
2
- import { DropdownMenu as t, IconButton as h } from "@box/blueprint-web";
3
- import { Ellipsis as f } from "@box/blueprint-web-assets/icons/Fill";
4
- import g from "./messages.js";
5
- import { jsx as n, jsxs as o } from "react/jsx-runtime";
6
- import '../../../../styles/item-action-menu.css';const M = "_tableActionBar_akgtp_1", _ = "_actionItemIcon_akgtp_6", s = {
7
- tableActionBar: M,
8
- actionItemIcon: _
1
+ import { useIntl as M } from "react-intl";
2
+ import { IconButton as p, DropdownMenu as t } from "@box/blueprint-web";
3
+ import { Ellipsis as _ } from "@box/blueprint-web-assets/icons/Fill";
4
+ import k from "./messages.js";
5
+ import { jsxs as a, jsx as e } from "react/jsx-runtime";
6
+ import '../../../../styles/item-action-menu.css';const B = "_tableActionBar_akgtp_1", C = "_actionItemIcon_akgtp_6", m = {
7
+ tableActionBar: B,
8
+ actionItemIcon: C
9
9
  };
10
- function I({
11
- item: i,
12
- label: c,
13
- onClick: r,
14
- icon: l
10
+ function b({
11
+ item: c,
12
+ label: o,
13
+ onClick: l,
14
+ icon: r
15
15
  }) {
16
- const a = () => {
17
- r(i);
16
+ const i = () => {
17
+ l(c);
18
18
  };
19
- return /* @__PURE__ */ o(t.Item, {
20
- onClick: a,
21
- children: [/* @__PURE__ */ n(l, {
22
- className: s.actionItemIcon
23
- }), c]
24
- }, c);
19
+ return /* @__PURE__ */ a(t.Item, {
20
+ onClick: i,
21
+ children: [/* @__PURE__ */ e(r, {
22
+ className: m.actionItemIcon
23
+ }), o]
24
+ }, o);
25
25
  }
26
- function x({
27
- actions: i,
28
- isDisabled: c,
26
+ function R({
27
+ actions: c,
28
+ inlineActions: o,
29
+ isDisabled: l,
29
30
  item: r,
30
- onOpenChange: l,
31
- subMenuActions: a,
32
- subMenuTrigger: m
31
+ onOpenChange: i,
32
+ subMenuActions: s,
33
+ subMenuTrigger: u
33
34
  }) {
34
35
  const {
35
- formatMessage: d
36
- } = p(), {
37
- label: b,
38
- icon: u
39
- } = m || {};
40
- return /* @__PURE__ */ n("div", {
41
- className: s.tableActionBar,
42
- children: /* @__PURE__ */ o(t.Root, {
43
- onOpenChange: l,
44
- children: [/* @__PURE__ */ n(t.Trigger, {
45
- children: /* @__PURE__ */ n(h, {
46
- "aria-label": d(g.actionMenu),
47
- disabled: c,
48
- icon: f,
36
+ formatMessage: g
37
+ } = M(), {
38
+ label: h,
39
+ icon: I
40
+ } = u || {};
41
+ return /* @__PURE__ */ a("div", {
42
+ className: m.tableActionBar,
43
+ children: [o == null ? void 0 : o.map(({
44
+ onClick: n,
45
+ label: d,
46
+ icon: f
47
+ }) => /* @__PURE__ */ e(p, {
48
+ "aria-label": d,
49
+ icon: f,
50
+ onClick: () => n(r),
51
+ size: "large"
52
+ }, `${r.id}-${d}`)), c ? /* @__PURE__ */ a(t.Root, {
53
+ onOpenChange: i,
54
+ children: [/* @__PURE__ */ e(t.Trigger, {
55
+ children: /* @__PURE__ */ e(p, {
56
+ "aria-label": g(k.actionMenu),
57
+ disabled: l,
58
+ icon: _,
49
59
  size: "large"
50
60
  })
51
- }), /* @__PURE__ */ o(t.Content, {
61
+ }), /* @__PURE__ */ a(t.Content, {
52
62
  align: "start",
53
- children: [i.map(({
54
- ...e
55
- }) => /* @__PURE__ */ n(I, {
63
+ children: [c.map((n) => /* @__PURE__ */ e(b, {
56
64
  item: r,
57
- ...e
58
- }, e.label)), a && m && /* @__PURE__ */ o(t.SubMenuRoot, {
59
- children: [/* @__PURE__ */ o(t.SubMenuTrigger, {
60
- children: [u && /* @__PURE__ */ n(u, {
61
- className: s.actionItemIcon
62
- }), b]
63
- }), /* @__PURE__ */ n(t.SubMenuContent, {
64
- children: a.map(({
65
- ...e
66
- }) => /* @__PURE__ */ n(I, {
65
+ ...n
66
+ }, n.label)), s && u && /* @__PURE__ */ a(t.SubMenuRoot, {
67
+ children: [/* @__PURE__ */ a(t.SubMenuTrigger, {
68
+ children: [I && /* @__PURE__ */ e(I, {
69
+ className: m.actionItemIcon
70
+ }), h]
71
+ }), /* @__PURE__ */ e(t.SubMenuContent, {
72
+ children: s.map((n) => /* @__PURE__ */ e(b, {
67
73
  item: r,
68
- ...e
69
- }, e.label))
74
+ ...n
75
+ }, n.label))
70
76
  })]
71
77
  })]
72
78
  })]
73
- })
79
+ }) : null]
74
80
  });
75
81
  }
76
82
  export {
77
- x as ItemActionMenu
83
+ R as ItemActionMenu
78
84
  };
@@ -0,0 +1,4 @@
1
+ import { default as o } from "./metadata-table.js";
2
+ export {
3
+ o as default
4
+ };
@@ -1,26 +1,25 @@
1
- import { TableBody as i, Row as h, Cell as d, Ghost as m } from "@box/blueprint-web";
2
- import { Size5 as n } from "@box/blueprint-web-assets/tokens/tokens";
3
- import { jsx as t } from "react/jsx-runtime";
1
+ import { TableBody as a, Row as h, Cell as n, Ghost as m } from "@box/blueprint-web";
2
+ import { Size5 as d } from "@box/blueprint-web-assets/tokens/tokens";
3
+ import { jsx as r } from "react/jsx-runtime";
4
4
  const s = 20, g = ({
5
5
  columnLength: o,
6
- rowLength: a = s
7
- }) => /* @__PURE__ */ t(i, {
6
+ rowLength: l = s
7
+ }) => /* @__PURE__ */ r(a, {
8
8
  items: Array.from({
9
- length: a
10
- }, (e, r) => ({
11
- key: r
9
+ length: l
10
+ }, (e, t) => ({
11
+ key: t
12
12
  })),
13
- children: (e) => /* @__PURE__ */ t(h, {
14
- "data-testid": "metadata-table-ghost-row",
13
+ children: (e) => /* @__PURE__ */ r(h, {
15
14
  children: Array.from({
16
15
  length: o
17
- }, (r, l) => /* @__PURE__ */ t(d, {
18
- children: /* @__PURE__ */ t(m, {
19
- height: n,
16
+ }, (t, i) => /* @__PURE__ */ r(n, {
17
+ children: /* @__PURE__ */ r(m, {
18
+ height: d,
20
19
  variant: "rectangle",
21
20
  width: "100%"
22
21
  })
23
- }, l))
22
+ }, i))
24
23
  }, e.key)
25
24
  });
26
25
  export {
@@ -1,19 +1,19 @@
1
- import r from "./components/filter-row/filter-row.js";
2
- import e from "./components/metadata-table/metadata-table.js";
3
- import i from "./components/pagination/pagination.js";
4
- import { jsxs as m, jsx as t } from "react/jsx-runtime";
1
+ import r from "./components/pagination/pagination.js";
2
+ import { jsxs as e, jsx as t } from "react/jsx-runtime";
3
+ import { FilterRow as i } from "./components/filter-row/filter-row.js";
4
+ import m from "./components/metadata-table/metadata-table.js";
5
5
  import '../../styles/metadata-view.css';const n = {};
6
6
  function d({
7
7
  filterRowProps: a,
8
8
  metadataTableProps: o
9
9
  }) {
10
- return /* @__PURE__ */ m("div", {
10
+ return /* @__PURE__ */ e("div", {
11
11
  className: n.container,
12
- children: [/* @__PURE__ */ t(r, {
12
+ children: [/* @__PURE__ */ t(i, {
13
13
  ...a
14
- }), /* @__PURE__ */ t(e, {
14
+ }), /* @__PURE__ */ t(m, {
15
15
  ...o
16
- }), /* @__PURE__ */ t(i, {})]
16
+ }), /* @__PURE__ */ t(r, {})]
17
17
  });
18
18
  }
19
19
  export {
@@ -1,4 +1,5 @@
1
1
  export default {
2
+ "groupSharedFeatures.metadataView.filterRow.AllFilters": "All Filters",
2
3
  "groupSharedFeatures.metadataView.filterRow.applyButton": "Apply",
3
4
  "groupSharedFeatures.metadataView.filterRow.clearButton": "Clear",
4
5
  "groupSharedFeatures.metadataView.filterRow.textInputPlaceholder": "Set Value",
@@ -1,4 +1,5 @@
1
1
  export default {
2
+ "groupSharedFeatures.metadataView.filterRow.AllFilters": "All Filters",
2
3
  "groupSharedFeatures.metadataView.filterRow.applyButton": "Apply",
3
4
  "groupSharedFeatures.metadataView.filterRow.clearButton": "Clear",
4
5
  "groupSharedFeatures.metadataView.filterRow.textInputPlaceholder": "Set Value",
@@ -1,4 +1,5 @@
1
1
  export default {
2
+ "groupSharedFeatures.metadataView.filterRow.AllFilters": "All Filters",
2
3
  "groupSharedFeatures.metadataView.filterRow.applyButton": "Apply",
3
4
  "groupSharedFeatures.metadataView.filterRow.clearButton": "Clear",
4
5
  "groupSharedFeatures.metadataView.filterRow.textInputPlaceholder": "Set Value",
@@ -1,4 +1,5 @@
1
1
  export default {
2
+ "groupSharedFeatures.metadataView.filterRow.AllFilters": "All Filters",
2
3
  "groupSharedFeatures.metadataView.filterRow.applyButton": "Apply",
3
4
  "groupSharedFeatures.metadataView.filterRow.clearButton": "Clear",
4
5
  "groupSharedFeatures.metadataView.filterRow.textInputPlaceholder": "Set Value",
@@ -1,4 +1,5 @@
1
1
  export default {
2
+ "groupSharedFeatures.metadataView.filterRow.AllFilters": "All Filters",
2
3
  "groupSharedFeatures.metadataView.filterRow.applyButton": "Apply",
3
4
  "groupSharedFeatures.metadataView.filterRow.clearButton": "Clear",
4
5
  "groupSharedFeatures.metadataView.filterRow.textInputPlaceholder": "Set Value",
@@ -1,4 +1,5 @@
1
1
  export default {
2
+ "groupSharedFeatures.metadataView.filterRow.AllFilters": "All Filters",
2
3
  "groupSharedFeatures.metadataView.filterRow.applyButton": "Apply",
3
4
  "groupSharedFeatures.metadataView.filterRow.clearButton": "Clear",
4
5
  "groupSharedFeatures.metadataView.filterRow.textInputPlaceholder": "Set Value",
@@ -1,4 +1,5 @@
1
1
  export default {
2
+ "groupSharedFeatures.metadataView.filterRow.AllFilters": "All Filters",
2
3
  "groupSharedFeatures.metadataView.filterRow.applyButton": "Apply",
3
4
  "groupSharedFeatures.metadataView.filterRow.clearButton": "Clear",
4
5
  "groupSharedFeatures.metadataView.filterRow.textInputPlaceholder": "Set Value",
@@ -1,3 +1,5 @@
1
+ # Button label to open the sidepanel with all filters
2
+ groupSharedFeatures.metadataView.filterRow.AllFilters = All Filters
1
3
  # Button label to apply the current input as a filter to the metadata table
2
4
  groupSharedFeatures.metadataView.filterRow.applyButton = Apply
3
5
  # Button label to clear the current input in a textarea
@@ -1,4 +1,5 @@
1
1
  export default {
2
+ "groupSharedFeatures.metadataView.filterRow.AllFilters": "All Filters",
2
3
  "groupSharedFeatures.metadataView.filterRow.applyButton": "Apply",
3
4
  "groupSharedFeatures.metadataView.filterRow.clearButton": "Clear",
4
5
  "groupSharedFeatures.metadataView.filterRow.textInputPlaceholder": "Set Value",
@@ -1,4 +1,5 @@
1
1
  export default {
2
+ "groupSharedFeatures.metadataView.filterRow.AllFilters": "All Filters",
2
3
  "groupSharedFeatures.metadataView.filterRow.applyButton": "Apply",
3
4
  "groupSharedFeatures.metadataView.filterRow.clearButton": "Clear",
4
5
  "groupSharedFeatures.metadataView.filterRow.textInputPlaceholder": "Set Value",
@@ -1,4 +1,5 @@
1
1
  export default {
2
+ "groupSharedFeatures.metadataView.filterRow.AllFilters": "All Filters",
2
3
  "groupSharedFeatures.metadataView.filterRow.applyButton": "Apply",
3
4
  "groupSharedFeatures.metadataView.filterRow.clearButton": "Clear",
4
5
  "groupSharedFeatures.metadataView.filterRow.textInputPlaceholder": "Set Value",
@@ -1,4 +1,5 @@
1
1
  export default {
2
+ "groupSharedFeatures.metadataView.filterRow.AllFilters": "All Filters",
2
3
  "groupSharedFeatures.metadataView.filterRow.applyButton": "Apply",
3
4
  "groupSharedFeatures.metadataView.filterRow.clearButton": "Clear",
4
5
  "groupSharedFeatures.metadataView.filterRow.textInputPlaceholder": "Set Value",
@@ -1,4 +1,5 @@
1
1
  export default {
2
+ "groupSharedFeatures.metadataView.filterRow.AllFilters": "All Filters",
2
3
  "groupSharedFeatures.metadataView.filterRow.applyButton": "Apply",
3
4
  "groupSharedFeatures.metadataView.filterRow.clearButton": "Clear",
4
5
  "groupSharedFeatures.metadataView.filterRow.textInputPlaceholder": "Set Value",
@@ -1,4 +1,5 @@
1
1
  export default {
2
+ "groupSharedFeatures.metadataView.filterRow.AllFilters": "All Filters",
2
3
  "groupSharedFeatures.metadataView.filterRow.applyButton": "Apply",
3
4
  "groupSharedFeatures.metadataView.filterRow.clearButton": "Clear",
4
5
  "groupSharedFeatures.metadataView.filterRow.textInputPlaceholder": "Set Value",
@@ -1,4 +1,5 @@
1
1
  export default {
2
+ "groupSharedFeatures.metadataView.filterRow.AllFilters": "All Filters",
2
3
  "groupSharedFeatures.metadataView.filterRow.applyButton": "Apply",
3
4
  "groupSharedFeatures.metadataView.filterRow.clearButton": "Clear",
4
5
  "groupSharedFeatures.metadataView.filterRow.textInputPlaceholder": "Set Value",
@@ -1,4 +1,5 @@
1
1
  export default {
2
+ "groupSharedFeatures.metadataView.filterRow.AllFilters": "All Filters",
2
3
  "groupSharedFeatures.metadataView.filterRow.applyButton": "Apply",
3
4
  "groupSharedFeatures.metadataView.filterRow.clearButton": "Clear",
4
5
  "groupSharedFeatures.metadataView.filterRow.textInputPlaceholder": "Set Value",
@@ -1,4 +1,5 @@
1
1
  export default {
2
+ "groupSharedFeatures.metadataView.filterRow.AllFilters": "All Filters",
2
3
  "groupSharedFeatures.metadataView.filterRow.applyButton": "Apply",
3
4
  "groupSharedFeatures.metadataView.filterRow.clearButton": "Clear",
4
5
  "groupSharedFeatures.metadataView.filterRow.textInputPlaceholder": "Set Value",
@@ -1 +1 @@
1
- [{"id":"groupSharedFeatures.metadataView.filterRow.applyButton","description":"Button label to apply the current input as a filter to the metadata table","defaultMessage":"Apply"},{"id":"groupSharedFeatures.metadataView.filterRow.clearButton","description":"Button label to clear the current input in a textarea","defaultMessage":"Clear"},{"id":"groupSharedFeatures.metadataView.filterRow.textInputPlaceholder","description":"Placeholder text for the input field in the filter row","defaultMessage":"Set Value"}]
1
+ [{"id":"groupSharedFeatures.metadataView.filterRow.applyButton","description":"Button label to apply the current input as a filter to the metadata table","defaultMessage":"Apply"},{"id":"groupSharedFeatures.metadataView.filterRow.clearButton","description":"Button label to clear the current input in a textarea","defaultMessage":"Clear"},{"id":"groupSharedFeatures.metadataView.filterRow.textInputPlaceholder","description":"Placeholder text for the input field in the filter row","defaultMessage":"Set Value"},{"id":"groupSharedFeatures.metadataView.filterRow.AllFilters","description":"Button label to open the sidepanel with all filters","defaultMessage":"All Filters"}]
@@ -1,4 +1,5 @@
1
1
  export default {
2
+ "groupSharedFeatures.metadataView.filterRow.AllFilters": "All Filters",
2
3
  "groupSharedFeatures.metadataView.filterRow.applyButton": "Apply",
3
4
  "groupSharedFeatures.metadataView.filterRow.clearButton": "Clear",
4
5
  "groupSharedFeatures.metadataView.filterRow.textInputPlaceholder": "Set Value",
@@ -1,4 +1,5 @@
1
1
  export default {
2
+ "groupSharedFeatures.metadataView.filterRow.AllFilters": "All Filters",
2
3
  "groupSharedFeatures.metadataView.filterRow.applyButton": "Apply",
3
4
  "groupSharedFeatures.metadataView.filterRow.clearButton": "Clear",
4
5
  "groupSharedFeatures.metadataView.filterRow.textInputPlaceholder": "Set Value",
@@ -1,4 +1,5 @@
1
1
  export default {
2
+ "groupSharedFeatures.metadataView.filterRow.AllFilters": "All Filters",
2
3
  "groupSharedFeatures.metadataView.filterRow.applyButton": "Apply",
3
4
  "groupSharedFeatures.metadataView.filterRow.clearButton": "Clear",
4
5
  "groupSharedFeatures.metadataView.filterRow.textInputPlaceholder": "Set Value",
@@ -1,4 +1,5 @@
1
1
  export default {
2
+ "groupSharedFeatures.metadataView.filterRow.AllFilters": "All Filters",
2
3
  "groupSharedFeatures.metadataView.filterRow.applyButton": "Apply",
3
4
  "groupSharedFeatures.metadataView.filterRow.clearButton": "Clear",
4
5
  "groupSharedFeatures.metadataView.filterRow.textInputPlaceholder": "Set Value",
@@ -1,4 +1,5 @@
1
1
  export default {
2
+ "groupSharedFeatures.metadataView.filterRow.AllFilters": "All Filters",
2
3
  "groupSharedFeatures.metadataView.filterRow.applyButton": "Apply",
3
4
  "groupSharedFeatures.metadataView.filterRow.clearButton": "Clear",
4
5
  "groupSharedFeatures.metadataView.filterRow.textInputPlaceholder": "Set Value",
@@ -1,4 +1,5 @@
1
1
  export default {
2
+ "groupSharedFeatures.metadataView.filterRow.AllFilters": "All Filters",
2
3
  "groupSharedFeatures.metadataView.filterRow.applyButton": "Apply",
3
4
  "groupSharedFeatures.metadataView.filterRow.clearButton": "Clear",
4
5
  "groupSharedFeatures.metadataView.filterRow.textInputPlaceholder": "Set Value",
@@ -1,4 +1,5 @@
1
1
  export default {
2
+ "groupSharedFeatures.metadataView.filterRow.AllFilters": "All Filters",
2
3
  "groupSharedFeatures.metadataView.filterRow.applyButton": "Apply",
3
4
  "groupSharedFeatures.metadataView.filterRow.clearButton": "Clear",
4
5
  "groupSharedFeatures.metadataView.filterRow.textInputPlaceholder": "Set Value",
@@ -1,4 +1,5 @@
1
1
  export default {
2
+ "groupSharedFeatures.metadataView.filterRow.AllFilters": "All Filters",
2
3
  "groupSharedFeatures.metadataView.filterRow.applyButton": "Apply",
3
4
  "groupSharedFeatures.metadataView.filterRow.clearButton": "Clear",
4
5
  "groupSharedFeatures.metadataView.filterRow.textInputPlaceholder": "Set Value",
@@ -1,4 +1,5 @@
1
1
  export default {
2
+ "groupSharedFeatures.metadataView.filterRow.AllFilters": "All Filters",
2
3
  "groupSharedFeatures.metadataView.filterRow.applyButton": "Apply",
3
4
  "groupSharedFeatures.metadataView.filterRow.clearButton": "Clear",
4
5
  "groupSharedFeatures.metadataView.filterRow.textInputPlaceholder": "Set Value",
@@ -1,4 +1,5 @@
1
1
  export default {
2
+ "groupSharedFeatures.metadataView.filterRow.AllFilters": "All Filters",
2
3
  "groupSharedFeatures.metadataView.filterRow.applyButton": "Apply",
3
4
  "groupSharedFeatures.metadataView.filterRow.clearButton": "Clear",
4
5
  "groupSharedFeatures.metadataView.filterRow.textInputPlaceholder": "Set Value",
@@ -1,3 +1,9 @@
1
- import { FilterRowProps } from './types';
2
- declare const FilterRow: ({ filterOptions, onFilterSubmit }: FilterRowProps) => import("react/jsx-runtime").JSX.Element;
1
+ import { MetadataTemplateField } from '@box/metadata-filter';
2
+ import { FilterOption } from './types';
3
+ export interface FilterRowProps {
4
+ filterOptions: FilterOption[];
5
+ onAllFiltersClick?: () => void;
6
+ onFilterSubmit: (fields: MetadataTemplateField[]) => void;
7
+ }
8
+ export declare const FilterRow: ({ filterOptions, onAllFiltersClick, onFilterSubmit }: FilterRowProps) => import("react/jsx-runtime").JSX.Element;
3
9
  export default FilterRow;
@@ -0,0 +1 @@
1
+ export * from './filter-row';
@@ -14,5 +14,10 @@ declare const messages: {
14
14
  description: string;
15
15
  id: string;
16
16
  };
17
+ allFilters: {
18
+ defaultMessage: string;
19
+ description: string;
20
+ id: string;
21
+ };
17
22
  };
18
23
  export default messages;
@@ -1,4 +1,3 @@
1
- import { MetadataTemplateField } from '@box/metadata-filter';
2
1
  import { MetadataFieldType } from '../../types';
3
2
  export interface FilterOption {
4
3
  id: string;
@@ -6,10 +5,6 @@ export interface FilterOption {
6
5
  fieldType: MetadataFieldType;
7
6
  selected: boolean;
8
7
  }
9
- export interface FilterRowProps {
10
- filterOptions: FilterOption[];
11
- onFilterSubmit: (fields: MetadataTemplateField[]) => void;
12
- }
13
8
  export interface FilterChipProps {
14
9
  formRef: React.RefObject<HTMLFormElement>;
15
10
  id: string;
@@ -0,0 +1 @@
1
+ export * from './item-action-menu';
@@ -6,7 +6,8 @@ export interface ItemAction {
6
6
  icon: FunctionComponent<PropsWithChildren<SVGProps<SVGSVGElement>>>;
7
7
  }
8
8
  export interface ItemActionMenuProps {
9
- actions: ItemAction[];
9
+ actions?: ItemAction[];
10
+ inlineActions?: ItemAction[];
10
11
  isDisabled?: boolean;
11
12
  item: Item;
12
13
  onOpenChange: (open: boolean) => void;
@@ -16,4 +17,4 @@ export interface ItemActionMenuProps {
16
17
  icon: FunctionComponent<PropsWithChildren<SVGProps<SVGSVGElement>>>;
17
18
  };
18
19
  }
19
- export declare function ItemActionMenu({ actions, isDisabled, item, onOpenChange, subMenuActions, subMenuTrigger, }: ItemActionMenuProps): import("react/jsx-runtime").JSX.Element;
20
+ export declare function ItemActionMenu({ actions, inlineActions, isDisabled, item, onOpenChange, subMenuActions, subMenuTrigger, }: ItemActionMenuProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ export * from './metadata-table';
2
+ export { default } from './metadata-table';
@@ -1,6 +1,6 @@
1
1
  import { TableProps } from '@box/blueprint-web';
2
2
  import { Item } from '@box/types';
3
- import { ItemActionMenuProps } from '../item-action-menu/item-action-menu';
3
+ import { ItemActionMenuProps } from '../item-action-menu';
4
4
  import { Column } from '../../types';
5
5
  export interface MetadataTableProps extends TableProps {
6
6
  columns: Column[];
@@ -1,11 +1,4 @@
1
- import { Item } from '@box/types';
2
- import { Column } from '../../../types';
3
- import { ItemActionMenuProps } from '../../item-action-menu/item-action-menu';
4
- export interface BodyProps {
5
- columns: Column[];
6
- isSelectAllEnabled: boolean;
7
- items: Item[];
8
- itemActionMenuProps?: Omit<ItemActionMenuProps, 'item' | 'onOpenChange'>;
9
- }
10
- declare const TableBodyWithData: ({ columns, isSelectAllEnabled, items, itemActionMenuProps }: BodyProps) => import("react/jsx-runtime").JSX.Element;
1
+ import { TableProps } from '@box/blueprint-web';
2
+ import { MetadataTableProps } from '../metadata-table';
3
+ declare const TableBodyWithData: ({ columns, isSelectAllEnabled, items, itemActionMenuProps, }: Omit<MetadataTableProps, keyof TableProps>) => import("react/jsx-runtime").JSX.Element;
11
4
  export default TableBodyWithData;
@@ -1,5 +1,5 @@
1
- import { MetadataTableProps } from './components/metadata-table/metadata-table';
2
- import { FilterRowProps } from './components/filter-row/types';
1
+ import { MetadataTableProps } from './components/metadata-table';
2
+ import { FilterRowProps } from './components/filter-row';
3
3
  export interface MetadataViewProps {
4
4
  filterRowProps: FilterRowProps;
5
5
  metadataTableProps: MetadataTableProps;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@box/metadata-view",
3
- "version": "0.10.0",
3
+ "version": "0.12.0",
4
4
  "license": "SEE LICENSE IN LICENSE",
5
5
  "peerDependencies": {
6
6
  "@box/blueprint-web": "^11.12.0",