@tcn/ui-table 2.3.15 → 2.3.16

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.
@@ -7,7 +7,8 @@ export interface TableFilterPanelProps extends Omit<PanelProps, 'children'> {
7
7
  children: ReactElement<FieldFilterProps>[] | ReactElement<FieldFilterProps>;
8
8
  dataSource: DataSource<any>;
9
9
  onClose?: () => void;
10
+ title?: string;
10
11
  }
11
- export declare function TableFilterPanel({ children, dataSource, className, onClose, ...props }: TableFilterPanelProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare function TableFilterPanel({ children, dataSource, className, onClose, title, ...props }: TableFilterPanelProps): import("react/jsx-runtime").JSX.Element;
12
13
  export declare const TableFilterPanelContext: import('react').Context<TableFilterPanelPresenter<unknown> | null>;
13
14
  //# sourceMappingURL=table_filter_panel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"table_filter_panel.d.ts","sourceRoot":"","sources":["../../../src/components/table_filter_panel/table_filter_panel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,YAAY,EAA2B,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAO1D,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC;IACzE,QAAQ,EAAE,YAAY,CAAC,gBAAgB,CAAC,EAAE,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC;IAC5E,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,UAAU,EACV,SAAS,EACT,OAAO,EACP,GAAG,KAAK,EACT,EAAE,qBAAqB,2CAgCvB;AAED,eAAO,MAAM,uBAAuB,oEAEnC,CAAC"}
1
+ {"version":3,"file":"table_filter_panel.d.ts","sourceRoot":"","sources":["../../../src/components/table_filter_panel/table_filter_panel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,YAAY,EAA2B,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAO1D,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC;IACzE,QAAQ,EAAE,YAAY,CAAC,gBAAgB,CAAC,EAAE,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC;IAC5E,UAAU,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,UAAU,EACV,SAAS,EACT,OAAO,EACP,KAAuB,EACvB,GAAG,KAAK,EACT,EAAE,qBAAqB,2CA6BvB;AAED,eAAO,MAAM,uBAAuB,oEAEnC,CAAC"}
@@ -1,53 +1,47 @@
1
- import { jsx as e, jsxs as r } from "react/jsx-runtime";
2
- import { createContext as s, useState as b } from "react";
3
- import { TableFilterPanelPresenter as p } from "./table_filter_panel_presenter.js";
4
- import { Panel as f } from "@tcn/ui/surfaces";
5
- import { Header as m, VBody as d, Section as y } from "@tcn/ui/layouts";
6
- import { Spacer as u } from "@tcn/ui/stacks";
1
+ import { jsx as e, jsxs as l } from "react/jsx-runtime";
2
+ import { createContext as b, useState as p } from "react";
3
+ import { TableFilterPanelPresenter as f } from "./table_filter_panel_presenter.js";
4
+ import { Aside as m } from "@tcn/ui/surfaces";
5
+ import { Header as d, VBody as y, Section as u } from "@tcn/ui/layouts";
6
+ import { Spacer as h } from "@tcn/ui/stacks";
7
7
  import { Button as P } from "@tcn/ui/actions";
8
- import { CrossIcon as h } from "@tcn/icons/cross_icon.js";
9
- import '../../table_filter_panel.css';const F = "_table-filter-panel_124e30e", _ = "_table-filter-panel-body_c016eb0", x = "_table-filter-panel-section_cfd2eb9", t = { "table-filter-panel": F, "table-filter-panel-body": _, "table-filter-panel-section": x };
8
+ import { CrossIcon as F } from "@tcn/icons/cross_icon.js";
9
+ import '../../table_filter_panel.css';const x = "_table-filter-panel-body_c016eb0", S = "_table-filter-panel-section_cfd2eb9", r = { "table-filter-panel-body": x, "table-filter-panel-section": S };
10
10
  function w({
11
- children: a,
12
- dataSource: n,
11
+ children: n,
12
+ dataSource: a,
13
13
  className: i,
14
- onClose: l,
15
- ...o
14
+ onClose: t,
15
+ title: o = "Table Filters",
16
+ ...c
16
17
  }) {
17
- const [c] = b(() => new p(n));
18
- return /* @__PURE__ */ e(S.Provider, { value: c, children: /* @__PURE__ */ r(
19
- f,
20
- {
21
- className: `${t["table-filter-panel"]} tcn-table-filter-panel ${i}`,
22
- ...o,
23
- children: [
24
- /* @__PURE__ */ r(m, { children: [
25
- "Table Filters",
26
- /* @__PURE__ */ e(u, {}),
27
- l && /* @__PURE__ */ e(P, { utility: !0, hierarchy: "tertiary", onClick: l, children: /* @__PURE__ */ e(h, {}) })
28
- ] }),
29
- /* @__PURE__ */ e(
30
- d,
18
+ const [s] = p(() => new f(a));
19
+ return /* @__PURE__ */ e(T.Provider, { value: s, children: /* @__PURE__ */ l(m, { className: `tcn-table-filter-panel ${i}`, ...c, children: [
20
+ /* @__PURE__ */ l(d, { children: [
21
+ o,
22
+ /* @__PURE__ */ e(h, {}),
23
+ t && /* @__PURE__ */ e(P, { utility: !0, hierarchy: "tertiary", onClick: t, children: /* @__PURE__ */ e(F, {}) })
24
+ ] }),
25
+ /* @__PURE__ */ e(
26
+ y,
27
+ {
28
+ className: `${r["table-filter-panel-body"]} tcn-table-filter-panel-body`,
29
+ children: /* @__PURE__ */ e(
30
+ u,
31
31
  {
32
- className: `${t["table-filter-panel-body"]} tcn-table-filter-panel-body`,
33
- children: /* @__PURE__ */ e(
34
- y,
35
- {
36
- className: `${t["table-filter-panel-section"]} tcn-table-filter-panel-section`,
37
- children: a
38
- }
39
- )
32
+ className: `${r["table-filter-panel-section"]} tcn-table-filter-panel-section`,
33
+ children: n
40
34
  }
41
35
  )
42
- ]
43
- }
44
- ) });
36
+ }
37
+ )
38
+ ] }) });
45
39
  }
46
- const S = s(
40
+ const T = b(
47
41
  null
48
42
  );
49
43
  export {
50
44
  w as TableFilterPanel,
51
- S as TableFilterPanelContext
45
+ T as TableFilterPanelContext
52
46
  };
53
47
  //# sourceMappingURL=table_filter_panel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"table_filter_panel.js","sources":["../../../src/components/table_filter_panel/table_filter_panel.tsx"],"sourcesContent":["import { DataSource } from '@tcn/resource-store';\nimport { ReactElement, useState, createContext } from 'react';\nimport { FieldFilterProps } from './field_filters/field_filter_props.js';\nimport { TableFilterPanelPresenter } from './table_filter_panel_presenter.js';\nimport { Panel, type PanelProps } from '@tcn/ui/surfaces';\nimport { Header, Section, VBody } from '@tcn/ui/layouts';\nimport styles from './table_filter_panel.module.css';\nimport { Spacer } from '@tcn/ui/stacks';\nimport { Button } from '@tcn/ui/actions';\nimport { CrossIcon } from '@tcn/icons/cross_icon.js';\n\nexport interface TableFilterPanelProps extends Omit<PanelProps, 'children'> {\n children: ReactElement<FieldFilterProps>[] | ReactElement<FieldFilterProps>;\n dataSource: DataSource<any>;\n onClose?: () => void;\n}\n\nexport function TableFilterPanel({\n children,\n dataSource,\n className,\n onClose,\n ...props\n}: TableFilterPanelProps) {\n const [presenter] = useState(() => {\n return new TableFilterPanelPresenter(dataSource);\n });\n\n return (\n <TableFilterPanelContext.Provider value={presenter}>\n <Panel\n className={`${styles['table-filter-panel']} tcn-table-filter-panel ${className}`}\n {...props}\n >\n <Header>\n Table Filters\n <Spacer />\n {onClose && (\n <Button utility hierarchy=\"tertiary\" onClick={onClose}>\n <CrossIcon />\n </Button>\n )}\n </Header>\n <VBody\n className={`${styles['table-filter-panel-body']} tcn-table-filter-panel-body`}\n >\n <Section\n className={`${styles['table-filter-panel-section']} tcn-table-filter-panel-section`}\n >\n {children}\n </Section>\n </VBody>\n </Panel>\n </TableFilterPanelContext.Provider>\n );\n}\n\nexport const TableFilterPanelContext = createContext<TableFilterPanelPresenter | null>(\n null\n);\n"],"names":["TableFilterPanel","children","dataSource","className","onClose","props","presenter","useState","TableFilterPanelPresenter","jsx","TableFilterPanelContext","jsxs","Panel","styles","Header","Spacer","Button","CrossIcon","VBody","Section","createContext"],"mappings":";;;;;;;;;AAiBO,SAASA,EAAiB;AAAA,EAC/B,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,GAAGC;AACL,GAA0B;AACxB,QAAM,CAACC,CAAS,IAAIC,EAAS,MACpB,IAAIC,EAA0BN,CAAU,CAChD;AAED,SACE,gBAAAO,EAACC,EAAwB,UAAxB,EAAiC,OAAOJ,GACvC,UAAA,gBAAAK;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAW,GAAGC,EAAO,oBAAoB,CAAC,2BAA2BV,CAAS;AAAA,MAC7E,GAAGE;AAAA,MAEJ,UAAA;AAAA,QAAA,gBAAAM,EAACG,GAAA,EAAO,UAAA;AAAA,UAAA;AAAA,4BAELC,GAAA,EAAO;AAAA,UACPX,KACC,gBAAAK,EAACO,GAAA,EAAO,SAAO,IAAC,WAAU,YAAW,SAASZ,GAC5C,UAAA,gBAAAK,EAACQ,GAAA,CAAA,CAAU,EAAA,CACb;AAAA,QAAA,GAEJ;AAAA,QACA,gBAAAR;AAAA,UAACS;AAAA,UAAA;AAAA,YACC,WAAW,GAAGL,EAAO,yBAAyB,CAAC;AAAA,YAE/C,UAAA,gBAAAJ;AAAA,cAACU;AAAA,cAAA;AAAA,gBACC,WAAW,GAAGN,EAAO,4BAA4B,CAAC;AAAA,gBAEjD,UAAAZ;AAAA,cAAA;AAAA,YAAA;AAAA,UACH;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAAA,GAEJ;AAEJ;AAEO,MAAMS,IAA0BU;AAAA,EACrC;AACF;"}
1
+ {"version":3,"file":"table_filter_panel.js","sources":["../../../src/components/table_filter_panel/table_filter_panel.tsx"],"sourcesContent":["import { DataSource } from '@tcn/resource-store';\nimport { ReactElement, useState, createContext } from 'react';\nimport { FieldFilterProps } from './field_filters/field_filter_props.js';\nimport { TableFilterPanelPresenter } from './table_filter_panel_presenter.js';\nimport { Aside, type PanelProps } from '@tcn/ui/surfaces';\nimport { Header, Section, VBody } from '@tcn/ui/layouts';\nimport styles from './table_filter_panel.module.css';\nimport { Spacer } from '@tcn/ui/stacks';\nimport { Button } from '@tcn/ui/actions';\nimport { CrossIcon } from '@tcn/icons/cross_icon.js';\n\nexport interface TableFilterPanelProps extends Omit<PanelProps, 'children'> {\n children: ReactElement<FieldFilterProps>[] | ReactElement<FieldFilterProps>;\n dataSource: DataSource<any>;\n onClose?: () => void;\n title?: string;\n}\n\nexport function TableFilterPanel({\n children,\n dataSource,\n className,\n onClose,\n title = 'Table Filters',\n ...props\n}: TableFilterPanelProps) {\n const [presenter] = useState(() => {\n return new TableFilterPanelPresenter(dataSource);\n });\n\n return (\n <TableFilterPanelContext.Provider value={presenter}>\n <Aside className={`tcn-table-filter-panel ${className}`} {...props}>\n <Header>\n {title}\n <Spacer />\n {onClose && (\n <Button utility hierarchy=\"tertiary\" onClick={onClose}>\n <CrossIcon />\n </Button>\n )}\n </Header>\n <VBody\n className={`${styles['table-filter-panel-body']} tcn-table-filter-panel-body`}\n >\n <Section\n className={`${styles['table-filter-panel-section']} tcn-table-filter-panel-section`}\n >\n {children}\n </Section>\n </VBody>\n </Aside>\n </TableFilterPanelContext.Provider>\n );\n}\n\nexport const TableFilterPanelContext = createContext<TableFilterPanelPresenter | null>(\n null\n);\n"],"names":["TableFilterPanel","children","dataSource","className","onClose","title","props","presenter","useState","TableFilterPanelPresenter","jsx","TableFilterPanelContext","jsxs","Aside","Header","Spacer","Button","CrossIcon","VBody","styles","Section","createContext"],"mappings":";;;;;;;;;AAkBO,SAASA,EAAiB;AAAA,EAC/B,UAAAC;AAAA,EACA,YAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,OAAAC,IAAQ;AAAA,EACR,GAAGC;AACL,GAA0B;AACxB,QAAM,CAACC,CAAS,IAAIC,EAAS,MACpB,IAAIC,EAA0BP,CAAU,CAChD;AAED,SACE,gBAAAQ,EAACC,EAAwB,UAAxB,EAAiC,OAAOJ,GACvC,UAAA,gBAAAK,EAACC,GAAA,EAAM,WAAW,0BAA0BV,CAAS,IAAK,GAAGG,GAC3D,UAAA;AAAA,IAAA,gBAAAM,EAACE,GAAA,EACE,UAAA;AAAA,MAAAT;AAAA,wBACAU,GAAA,EAAO;AAAA,MACPX,KACC,gBAAAM,EAACM,GAAA,EAAO,SAAO,IAAC,WAAU,YAAW,SAASZ,GAC5C,UAAA,gBAAAM,EAACO,GAAA,CAAA,CAAU,EAAA,CACb;AAAA,IAAA,GAEJ;AAAA,IACA,gBAAAP;AAAA,MAACQ;AAAA,MAAA;AAAA,QACC,WAAW,GAAGC,EAAO,yBAAyB,CAAC;AAAA,QAE/C,UAAA,gBAAAT;AAAA,UAACU;AAAA,UAAA;AAAA,YACC,WAAW,GAAGD,EAAO,4BAA4B,CAAC;AAAA,YAEjD,UAAAlB;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAAA,EACF,EAAA,CACF,EAAA,CACF;AAEJ;AAEO,MAAMU,IAA0BU;AAAA,EACrC;AACF;"}
@@ -1 +1 @@
1
- ._table-filter-panel_124e30e{--material: #fafafa;background:var(--material)}._table-filter-panel-body_c016eb0{padding-block:8px}._table-filter-panel-body_c016eb0 ._table-filter-panel-section_cfd2eb9{gap:8px}
1
+ ._table-filter-panel-body_c016eb0{padding-block:8px}._table-filter-panel-body_c016eb0 ._table-filter-panel-section_cfd2eb9{gap:8px}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tcn/ui-table",
3
- "version": "2.3.15",
3
+ "version": "2.3.16",
4
4
  "type": "module",
5
5
  "description": "React table component library",
6
6
  "author": "TCN",
@@ -39,11 +39,11 @@
39
39
  ],
40
40
  "dependencies": {
41
41
  "clarity-pattern-parser": "^11.5.4",
42
- "@tcn/icons": "2.3.0",
43
42
  "@tcn/aip-160": "1.2.5",
44
- "@tcn/resource-store": "2.5.4",
45
- "@tcn/state": "1.3.1",
46
- "@tcn/ui": "0.12.6"
43
+ "@tcn/resource-store": "2.5.5",
44
+ "@tcn/icons": "2.3.0",
45
+ "@tcn/ui": "0.12.7",
46
+ "@tcn/state": "1.3.2"
47
47
  },
48
48
  "peerDependencies": {
49
49
  "react": "^18.2.0",
@@ -414,18 +414,10 @@ export function WithFilterPanel() {
414
414
  <VBody>
415
415
  <Rail>
416
416
  <Side padding="0px">
417
- <Box
418
- minWidth="300px"
419
- enableResizeOnEnd
420
- overflowY="auto"
421
- height="100%"
422
- style={{
423
- scrollbarGutter: 'stable', // Not sure if there is a better way to prevent the scrollbar appearing causing a horizontal scroll - to to resizing, we fix the width of the content, so adding a vertical scrollbar causing a horizontal overflow.
424
- }}
425
- >
417
+ <Box minWidth="300px" enableResizeOnEnd height="100%" maxHeight="100%">
426
418
  <TableFilterPanel
427
419
  dataSource={source}
428
- onClose={() => window.alert('Closed')}
420
+ onClose={() => window.alert('onClose callback called.')}
429
421
  >
430
422
  <StringFieldFilter fieldName="name" label="Name (string)" />
431
423
  <NumberFieldFilter fieldName="age" label="Age (number)" />
@@ -1,8 +1,3 @@
1
- .table-filter-panel {
2
- --material: #fafafa;
3
- background: var(--material);
4
- }
5
-
6
1
  .table-filter-panel-body {
7
2
  padding-block: 8px;
8
3
  .table-filter-panel-section {
@@ -3,7 +3,7 @@ import {
3
3
  StaticNumberField,
4
4
  StaticStringField,
5
5
  } from '@tcn/resource-store';
6
- import React, { useState } from 'react';
6
+ import { useState } from 'react';
7
7
  import { items } from '../../__stories__/sample_data.js';
8
8
  import { NumberFieldFilter } from './field_filters/number_field_filter.js';
9
9
  import { TableFilterPanel } from './table_filter_panel.js';
@@ -2,7 +2,7 @@ import { DataSource } from '@tcn/resource-store';
2
2
  import { ReactElement, useState, createContext } from 'react';
3
3
  import { FieldFilterProps } from './field_filters/field_filter_props.js';
4
4
  import { TableFilterPanelPresenter } from './table_filter_panel_presenter.js';
5
- import { Panel, type PanelProps } from '@tcn/ui/surfaces';
5
+ import { Aside, type PanelProps } from '@tcn/ui/surfaces';
6
6
  import { Header, Section, VBody } from '@tcn/ui/layouts';
7
7
  import styles from './table_filter_panel.module.css';
8
8
  import { Spacer } from '@tcn/ui/stacks';
@@ -13,6 +13,7 @@ export interface TableFilterPanelProps extends Omit<PanelProps, 'children'> {
13
13
  children: ReactElement<FieldFilterProps>[] | ReactElement<FieldFilterProps>;
14
14
  dataSource: DataSource<any>;
15
15
  onClose?: () => void;
16
+ title?: string;
16
17
  }
17
18
 
18
19
  export function TableFilterPanel({
@@ -20,6 +21,7 @@ export function TableFilterPanel({
20
21
  dataSource,
21
22
  className,
22
23
  onClose,
24
+ title = 'Table Filters',
23
25
  ...props
24
26
  }: TableFilterPanelProps) {
25
27
  const [presenter] = useState(() => {
@@ -28,12 +30,9 @@ export function TableFilterPanel({
28
30
 
29
31
  return (
30
32
  <TableFilterPanelContext.Provider value={presenter}>
31
- <Panel
32
- className={`${styles['table-filter-panel']} tcn-table-filter-panel ${className}`}
33
- {...props}
34
- >
33
+ <Aside className={`tcn-table-filter-panel ${className}`} {...props}>
35
34
  <Header>
36
- Table Filters
35
+ {title}
37
36
  <Spacer />
38
37
  {onClose && (
39
38
  <Button utility hierarchy="tertiary" onClick={onClose}>
@@ -50,7 +49,7 @@ export function TableFilterPanel({
50
49
  {children}
51
50
  </Section>
52
51
  </VBody>
53
- </Panel>
52
+ </Aside>
54
53
  </TableFilterPanelContext.Provider>
55
54
  );
56
55
  }
package/tsconfig.json CHANGED
@@ -1,36 +1,7 @@
1
1
  {
2
+ "extends": "../../tsconfig.base.json",
2
3
  "compilerOptions": {
3
- "esModuleInterop": true,
4
- "jsx": "react-jsx",
5
- "paths": {
6
- "~aip-160/*": [
7
- "../aip-160/src/*"
8
- ],
9
- "~aip-160-editor/*": [
10
- "../aip-160-editor/src/*"
11
- ],
12
- "~icons/*": [
13
- "../icons/src/*"
14
- ],
15
- "~resource-store/*": [
16
- "../resource-store/src/*"
17
- ],
18
- "~sb-blackcat-addon/*": [
19
- "../sb-blackcat-addon/src/*"
20
- ],
21
- "~state/*": [
22
- "../state/src/*"
23
- ],
24
- "~ui/*": [
25
- "../ui/src/*"
26
- ],
27
- "~ui-table/*": [
28
- "./src/*"
29
- ]
30
- }
4
+ "rootDir": "."
31
5
  },
32
- "include": [
33
- "src/**/*",
34
- "types/**/*"
35
- ]
36
- }
6
+ "include": ["src/**/*", ".storybook/**/*", "types/**/*", "package.json"]
7
+ }