@box/metadata-view 0.12.0 → 0.13.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.
@@ -0,0 +1,80 @@
1
+ import { TableBody as L, Row as x, Cell as c, Text as i, ActionCell as A } from "@box/blueprint-web";
2
+ import h from "lodash/get";
3
+ import { ItemTypeIcon as p } from "@box/item-icon";
4
+ import E from "clsx";
5
+ import { jsx as l, jsxs as o } from "react/jsx-runtime";
6
+ import { ItemActionMenu as f } from "../esm/lib/components/item-action-menu/item-action-menu.js";
7
+ import '../styles/table-body-with-data.css';let a = /* @__PURE__ */ function(t) {
8
+ return t.INLINE = "inline", t.COLUMN = "column", t.INLINE_SUBTITLE = "inline-subtitle", t;
9
+ }({});
10
+ const C = "_tableHeaderActionsWrapper_r2hj7_1", S = "_tableHeaderActions_r2hj7_1", y = "_selectAllCheckbox_r2hj7_33", j = "_tableNameCell_r2hj7_38", B = "_tableNameCellSubTitle_r2hj7_44", I = {
11
+ tableHeaderActionsWrapper: C,
12
+ tableHeaderActions: S,
13
+ selectAllCheckbox: y,
14
+ tableNameCell: j,
15
+ tableNameCellSubTitle: B
16
+ }, g = ({
17
+ columns: t,
18
+ iconColumnVariant: r,
19
+ isSelectAllEnabled: _,
20
+ items: T,
21
+ itemActionMenuProps: b
22
+ }) => /* @__PURE__ */ l(L, {
23
+ items: T.map((e) => ({
24
+ key: e.id,
25
+ ...e
26
+ })),
27
+ children: (e) => /* @__PURE__ */ o(x, {
28
+ id: e.id,
29
+ children: [r === a.COLUMN ? /* @__PURE__ */ l(c, {
30
+ children: /* @__PURE__ */ l(p, {
31
+ item: e
32
+ })
33
+ }, `item-type-icon-${e.id}`) : null, t.map((s) => {
34
+ const {
35
+ cellRenderer: N,
36
+ id: n,
37
+ subTitle: m,
38
+ textValue: u
39
+ } = s, d = `${u}-${e.id}`;
40
+ return n === "name" && (r === a.INLINE || r === a.INLINE_SUBTITLE) ? /* @__PURE__ */ l(c, {
41
+ children: /* @__PURE__ */ o("div", {
42
+ className: I.tableNameCell,
43
+ children: [/* @__PURE__ */ l(p, {
44
+ item: e
45
+ }), /* @__PURE__ */ o("div", {
46
+ className: E({
47
+ [I.tableNameCellSubTitle]: r === a.INLINE_SUBTITLE
48
+ }),
49
+ children: [/* @__PURE__ */ l(i, {
50
+ as: "span",
51
+ children: h(e, n)
52
+ }), r === a.INLINE_SUBTITLE ? /* @__PURE__ */ l(i, {
53
+ as: "span",
54
+ color: "textOnLightSecondary",
55
+ children: m
56
+ }) : null]
57
+ })]
58
+ })
59
+ }, d) : N ? /* @__PURE__ */ l(c, {
60
+ children: N(e, s)
61
+ }, d) : /* @__PURE__ */ l(c, {
62
+ children: /* @__PURE__ */ l(i, {
63
+ as: "span",
64
+ children: h(e, n)
65
+ })
66
+ }, d);
67
+ }), _ && /* @__PURE__ */ l(A, {
68
+ children: (s) => b ? /* @__PURE__ */ l(f, {
69
+ ...b,
70
+ item: e,
71
+ onOpenChange: s
72
+ }) : null
73
+ })]
74
+ }, e.id)
75
+ });
76
+ export {
77
+ a as I,
78
+ g as T,
79
+ I as s
80
+ };
@@ -1,75 +1,81 @@
1
- import { Text as A, ListCheckbox as H, Table as x, TableHeader as u, Column as _ } from "@box/blueprint-web";
2
- import { useIntl as g } from "react-intl";
3
- import y from "./table-body/ghost-table-body.js";
4
- import C from "./table-body/table-body-with-data.js";
1
+ import { Text as x, ListCheckbox as T, Table as g, TableHeader as w, Column as W } from "@box/blueprint-web";
2
+ import { useIntl as y } from "react-intl";
3
+ import C from "./table-body/ghost-table-body.js";
4
+ import { I as M, s as l, T as N } from "../../../../chunks/table-body-with-data.js";
5
5
  import h from "./messages.js";
6
- import { jsx as e, jsxs as T } from "react/jsx-runtime";
7
- import '../../../../styles/metadata-table.css';const k = "_tableHeaderActionsWrapper_hf6y3_1", W = "_tableHeaderActions_hf6y3_1", w = "_selectAllCheckbox_hf6y3_33", s = {
8
- tableHeaderActionsWrapper: k,
9
- tableHeaderActions: W,
10
- selectAllCheckbox: w
11
- }, D = ({
6
+ import { jsx as e, jsxs as R } from "react/jsx-runtime";
7
+ const v = ({
12
8
  columns: r,
13
- isLoading: o,
14
- isSelectAllEnabled: c,
15
- items: m,
16
- itemActionMenuProps: b,
17
- ...p
9
+ isLoading: i,
10
+ iconColumnVariant: o,
11
+ isSelectAllEnabled: d,
12
+ items: p,
13
+ itemActionMenuProps: f,
14
+ ...u
18
15
  }) => {
19
16
  const {
20
- formatMessage: i
21
- } = g(), l = r.map((a) => {
17
+ formatMessage: n
18
+ } = y(), a = [];
19
+ o === M.COLUMN && a.push({
20
+ id: "item-type-icon",
21
+ isRowHeader: !1,
22
+ hideHeader: !1,
23
+ maxWidth: 60,
24
+ minWidth: 60
25
+ });
26
+ const b = r.map((s) => {
22
27
  const {
23
- id: n,
24
- headerRenderer: d,
28
+ id: m,
29
+ headerRenderer: c,
25
30
  textValue: t,
26
- ...f
27
- } = a;
31
+ ...H
32
+ } = s;
28
33
  return {
29
- children: d ? d(t, a) : /* @__PURE__ */ e(A, {
34
+ children: c ? c(t, s) : /* @__PURE__ */ e(x, {
30
35
  as: "span",
31
36
  children: t
32
37
  }),
33
- isRowHeader: n === "name",
34
- id: n,
38
+ isRowHeader: m === "name",
39
+ id: m,
35
40
  textValue: t,
36
- ...f
41
+ ...H
37
42
  };
38
43
  });
39
- return c && l.push({
44
+ return a.push(...b), d && a.push({
40
45
  id: "actions",
41
- className: s.tableHeaderActions,
46
+ className: l.tableHeaderActions,
42
47
  children: /* @__PURE__ */ e("div", {
43
- className: s.tableHeaderActionsWrapper,
44
- children: /* @__PURE__ */ e(H, {
45
- "aria-label": i(h.selectAll),
46
- className: s.selectAllCheckbox,
47
- isDisabled: o
48
+ className: l.tableHeaderActionsWrapper,
49
+ children: /* @__PURE__ */ e(T, {
50
+ "aria-label": n(h.selectAll),
51
+ className: l.selectAllCheckbox,
52
+ isDisabled: i
48
53
  })
49
54
  }),
50
55
  isRowHeader: !1,
51
56
  hideHeader: !1,
52
57
  allowsSorting: !1
53
- }), /* @__PURE__ */ T(x, {
54
- "aria-label": i(h.listView),
58
+ }), /* @__PURE__ */ R(g, {
59
+ "aria-label": n(h.listView),
55
60
  selectionBehavior: "toggle",
56
61
  selectionMode: "multiple",
57
- ...p,
58
- children: [/* @__PURE__ */ e(u, {
59
- columns: l,
60
- children: (a) => /* @__PURE__ */ e(_, {
61
- ...a
62
+ ...u,
63
+ children: [/* @__PURE__ */ e(w, {
64
+ columns: a,
65
+ children: (s) => /* @__PURE__ */ e(W, {
66
+ ...s
62
67
  })
63
- }), o ? /* @__PURE__ */ e(y, {
64
- columnLength: l.length
65
- }) : /* @__PURE__ */ e(C, {
68
+ }), i ? /* @__PURE__ */ e(C, {
69
+ columnLength: a.length
70
+ }) : /* @__PURE__ */ e(N, {
66
71
  columns: r,
67
- isSelectAllEnabled: c ?? !1,
68
- itemActionMenuProps: b,
69
- items: m
72
+ iconColumnVariant: o,
73
+ isSelectAllEnabled: d,
74
+ itemActionMenuProps: f,
75
+ items: p
70
76
  })]
71
77
  });
72
78
  };
73
79
  export {
74
- D as default
80
+ v as default
75
81
  };
@@ -1,42 +1,10 @@
1
- import { TableBody as h, Row as m, Cell as t, Text as p, ActionCell as f } from "@box/blueprint-web";
2
- import x from "lodash/get";
3
- import { ItemActionMenu as y } from "../../item-action-menu/item-action-menu.js";
4
- import { jsx as e, jsxs as T } from "react/jsx-runtime";
5
- const C = ({
6
- columns: i,
7
- isSelectAllEnabled: a,
8
- items: c,
9
- itemActionMenuProps: n
10
- }) => /* @__PURE__ */ e(h, {
11
- items: c.map((r) => ({
12
- key: r.id,
13
- ...r
14
- })),
15
- children: (r) => /* @__PURE__ */ T(m, {
16
- id: r.id,
17
- children: [i.map((l) => {
18
- const {
19
- cellRenderer: d,
20
- id: s,
21
- textValue: u
22
- } = l, o = `${u}-${r.id}`;
23
- return d ? /* @__PURE__ */ e(t, {
24
- children: d(r, l)
25
- }, o) : /* @__PURE__ */ e(t, {
26
- children: /* @__PURE__ */ e(p, {
27
- as: "span",
28
- children: x(r, s)
29
- })
30
- }, o);
31
- }), a && /* @__PURE__ */ e(f, {
32
- children: (l) => n ? /* @__PURE__ */ e(y, {
33
- ...n,
34
- item: r,
35
- onOpenChange: l
36
- }) : null
37
- })]
38
- }, r.id)
39
- });
1
+ import "@box/blueprint-web";
2
+ import "lodash/get";
3
+ import "@box/item-icon";
4
+ import "clsx";
5
+ import { T as f } from "../../../../../chunks/table-body-with-data.js";
6
+ import "react/jsx-runtime";
7
+ import "../../item-action-menu/item-action-menu.js";
40
8
  export {
41
- C as default
9
+ f as default
42
10
  };
@@ -0,0 +1 @@
1
+ ._tableHeaderActionsWrapper_r2hj7_1{position:absolute;top:0;right:var(--size-4);bottom:0;display:flex;gap:var(--space-2);align-items:center;justify-content:center;padding:0 var(--space-2);background:var(--item-background);margin-block:var(--space-2)}._tableHeaderActionsWrapper_r2hj7_1:before{position:absolute;left:0;z-index:0;display:block;width:0;height:50%;box-shadow:-.25rem 0 .625rem .625rem var(--item-background);content:""}._tableHeaderActions_r2hj7_1{position:sticky;right:0;width:var(--size-6);padding:0}._selectAllCheckbox_r2hj7_33 svg{transform:none!important}._tableNameCell_r2hj7_38{display:flex;gap:var(--space-3);align-items:center}._tableNameCellSubTitle_r2hj7_44{display:flex;flex-direction:column}
@@ -1,13 +1,14 @@
1
1
  import { TableProps } from '@box/blueprint-web';
2
2
  import { Item } from '@box/types';
3
3
  import { ItemActionMenuProps } from '../item-action-menu';
4
- import { Column } from '../../types';
4
+ import { IconColumnVariant, Column } from '../../types';
5
5
  export interface MetadataTableProps extends TableProps {
6
6
  columns: Column[];
7
+ iconColumnVariant?: IconColumnVariant;
7
8
  isLoading?: boolean;
8
9
  isSelectAllEnabled?: boolean;
9
10
  items: Item[];
10
11
  itemActionMenuProps?: Omit<ItemActionMenuProps, 'item' | 'onOpenChange'>;
11
12
  }
12
- declare const MetadataTable: ({ columns, isLoading, isSelectAllEnabled, items, itemActionMenuProps, ...tableProps }: MetadataTableProps) => import("react/jsx-runtime").JSX.Element;
13
+ declare const MetadataTable: ({ columns, isLoading, iconColumnVariant, isSelectAllEnabled, items, itemActionMenuProps, ...tableProps }: MetadataTableProps) => import("react/jsx-runtime").JSX.Element;
13
14
  export default MetadataTable;
@@ -1,4 +1,4 @@
1
1
  import { TableProps } from '@box/blueprint-web';
2
2
  import { MetadataTableProps } from '../metadata-table';
3
- declare const TableBodyWithData: ({ columns, isSelectAllEnabled, items, itemActionMenuProps, }: Omit<MetadataTableProps, keyof TableProps>) => import("react/jsx-runtime").JSX.Element;
3
+ declare const TableBodyWithData: ({ columns, iconColumnVariant, isSelectAllEnabled, items, itemActionMenuProps, }: Omit<MetadataTableProps, keyof TableProps>) => import("react/jsx-runtime").JSX.Element;
4
4
  export default TableBodyWithData;
@@ -6,6 +6,12 @@ export interface Column extends Partial<ColumnProps> {
6
6
  cellRenderer?: (item: Item, column: Column) => React.ReactNode | undefined;
7
7
  headerRenderer?: (name: string, column: Column) => React.ReactNode | undefined;
8
8
  id: string;
9
- textValue: string;
10
- type: MetadataFieldType;
9
+ subTitle?: string;
10
+ textValue: string | null;
11
+ type: MetadataFieldType | null;
12
+ }
13
+ export declare enum IconColumnVariant {
14
+ INLINE = "inline",
15
+ COLUMN = "column",
16
+ INLINE_SUBTITLE = "inline-subtitle"
11
17
  }
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@box/metadata-view",
3
- "version": "0.12.0",
3
+ "version": "0.13.1",
4
4
  "license": "SEE LICENSE IN LICENSE",
5
5
  "peerDependencies": {
6
6
  "@box/blueprint-web": "^11.12.0",
7
7
  "@box/blueprint-web-assets": "^4.44.1",
8
- "@box/item-icon": "^0.9.168",
8
+ "@box/item-icon": "^0.9.172",
9
9
  "@box/metadata-filter": "^1.8.4",
10
10
  "@box/types": "0.1.0",
11
11
  "formik": "^2.4.5",
@@ -18,8 +18,8 @@
18
18
  "@box/blueprint-web": "^11.12.0",
19
19
  "@box/blueprint-web-assets": "^4.55.0",
20
20
  "@box/eslint-plugin-blueprint": "*",
21
- "@box/item-icon": "^0.9.172",
22
- "@box/metadata-filter": "^1.10.0",
21
+ "@box/item-icon": "^0.10.1",
22
+ "@box/metadata-filter": "^1.10.1",
23
23
  "@box/storybook-utils": "0.13.8",
24
24
  "@box/types": "0.2.0",
25
25
  "react-intl": "^6.4.2"
@@ -1 +0,0 @@
1
- ._tableHeaderActionsWrapper_hf6y3_1{position:absolute;top:0;right:var(--size-4);bottom:0;display:flex;gap:var(--space-2);align-items:center;justify-content:center;padding:0 var(--space-2);background:var(--item-background);margin-block:var(--space-2)}._tableHeaderActionsWrapper_hf6y3_1:before{position:absolute;left:0;z-index:0;display:block;width:0;height:50%;box-shadow:-.25rem 0 .625rem .625rem var(--item-background);content:""}._tableHeaderActions_hf6y3_1{position:sticky;right:0;width:var(--size-6);padding:0}._selectAllCheckbox_hf6y3_33 svg{transform:none!important}