@tcn/ui-transfer 1.0.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.
- package/AI_USAGE.md +16 -0
- package/README.md +3 -0
- package/dist/components/available_list/available_list.d.ts +11 -0
- package/dist/components/available_list/available_list.d.ts.map +1 -0
- package/dist/components/available_list/available_list.js +22 -0
- package/dist/components/available_list/available_list.js.map +1 -0
- package/dist/components/available_list/index.d.ts +2 -0
- package/dist/components/available_list/index.d.ts.map +1 -0
- package/dist/components/available_list/index.js +5 -0
- package/dist/components/available_list/index.js.map +1 -0
- package/dist/components/index.d.ts +4 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +13 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/manage_list_item/addable_item.d.ts +5 -0
- package/dist/components/manage_list_item/addable_item.d.ts.map +1 -0
- package/dist/components/manage_list_item/addable_item.js +19 -0
- package/dist/components/manage_list_item/addable_item.js.map +1 -0
- package/dist/components/manage_list_item/index.d.ts +4 -0
- package/dist/components/manage_list_item/index.d.ts.map +1 -0
- package/dist/components/manage_list_item/index.js +9 -0
- package/dist/components/manage_list_item/index.js.map +1 -0
- package/dist/components/manage_list_item/manage_list_item.d.ts +11 -0
- package/dist/components/manage_list_item/manage_list_item.d.ts.map +1 -0
- package/dist/components/manage_list_item/manage_list_item.js +33 -0
- package/dist/components/manage_list_item/manage_list_item.js.map +1 -0
- package/dist/components/manage_list_item/removable_item.d.ts +5 -0
- package/dist/components/manage_list_item/removable_item.d.ts.map +1 -0
- package/dist/components/manage_list_item/removable_item.js +22 -0
- package/dist/components/manage_list_item/removable_item.js.map +1 -0
- package/dist/components/selected_list/index.d.ts +2 -0
- package/dist/components/selected_list/index.d.ts.map +1 -0
- package/dist/components/selected_list/index.js +5 -0
- package/dist/components/selected_list/index.js.map +1 -0
- package/dist/components/selected_list/selected_list.d.ts +13 -0
- package/dist/components/selected_list/selected_list.d.ts.map +1 -0
- package/dist/components/selected_list/selected_list.js +28 -0
- package/dist/components/selected_list/selected_list.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +19 -0
- package/dist/index.js.map +1 -0
- package/dist/removable_item.css +1 -0
- package/dist/transfer_list/index.d.ts +2 -0
- package/dist/transfer_list/index.d.ts.map +1 -0
- package/dist/transfer_list/index.js +5 -0
- package/dist/transfer_list/index.js.map +1 -0
- package/dist/transfer_list/transfer_list.d.ts +6 -0
- package/dist/transfer_list/transfer_list.d.ts.map +1 -0
- package/dist/transfer_list/transfer_list.js +12 -0
- package/dist/transfer_list/transfer_list.js.map +1 -0
- package/dist/transfer_table/components/available_table.d.ts +17 -0
- package/dist/transfer_table/components/available_table.d.ts.map +1 -0
- package/dist/transfer_table/components/available_table.js +68 -0
- package/dist/transfer_table/components/available_table.js.map +1 -0
- package/dist/transfer_table/components/available_table_filter_panel.d.ts +13 -0
- package/dist/transfer_table/components/available_table_filter_panel.d.ts.map +1 -0
- package/dist/transfer_table/components/available_table_filter_panel.js +39 -0
- package/dist/transfer_table/components/available_table_filter_panel.js.map +1 -0
- package/dist/transfer_table/components/available_table_header.d.ts +13 -0
- package/dist/transfer_table/components/available_table_header.d.ts.map +1 -0
- package/dist/transfer_table/components/available_table_header.js +43 -0
- package/dist/transfer_table/components/available_table_header.js.map +1 -0
- package/dist/transfer_table/components/selected_column.d.ts +15 -0
- package/dist/transfer_table/components/selected_column.d.ts.map +1 -0
- package/dist/transfer_table/components/selected_column.js +93 -0
- package/dist/transfer_table/components/selected_column.js.map +1 -0
- package/dist/transfer_table/components/selected_item.d.ts +8 -0
- package/dist/transfer_table/components/selected_item.d.ts.map +1 -0
- package/dist/transfer_table/components/selected_item.js +39 -0
- package/dist/transfer_table/components/selected_item.js.map +1 -0
- package/dist/transfer_table/index.d.ts +4 -0
- package/dist/transfer_table/index.d.ts.map +1 -0
- package/dist/transfer_table/index.js +7 -0
- package/dist/transfer_table/index.js.map +1 -0
- package/dist/transfer_table/transfer_table.d.ts +4 -0
- package/dist/transfer_table/transfer_table.d.ts.map +1 -0
- package/dist/transfer_table/transfer_table.js +82 -0
- package/dist/transfer_table/transfer_table.js.map +1 -0
- package/dist/transfer_table/transfer_table_presenter.d.ts +46 -0
- package/dist/transfer_table/transfer_table_presenter.d.ts.map +1 -0
- package/dist/transfer_table/transfer_table_presenter.js +98 -0
- package/dist/transfer_table/transfer_table_presenter.js.map +1 -0
- package/dist/transfer_table/types.d.ts +30 -0
- package/dist/transfer_table/types.d.ts.map +1 -0
- package/dist/transfer_table/types.js +2 -0
- package/dist/transfer_table/types.js.map +1 -0
- package/dist/transfer_table.css +1 -0
- package/dist/transfer_table.module-CI4PvlY3.js +5 -0
- package/dist/transfer_table.module-CI4PvlY3.js.map +1 -0
- package/package.json +81 -0
- package/src/__stories__/available_list.stories.tsx +41 -0
- package/src/__stories__/sample_data.ts +101 -0
- package/src/__stories__/selected_list.stories.tsx +41 -0
- package/src/__stories__/transfer_list.stories.tsx +13 -0
- package/src/__stories__/transfer_table.stories.tsx +128 -0
- package/src/__tests__/sanity.test.ts +7 -0
- package/src/components/available_list/available_list.tsx +39 -0
- package/src/components/available_list/index.ts +5 -0
- package/src/components/index.ts +19 -0
- package/src/components/manage_list_item/addable_item.tsx +22 -0
- package/src/components/manage_list_item/index.ts +7 -0
- package/src/components/manage_list_item/manage_list_item.tsx +43 -0
- package/src/components/manage_list_item/removable_item.module.css +3 -0
- package/src/components/manage_list_item/removable_item.tsx +25 -0
- package/src/components/selected_list/index.ts +5 -0
- package/src/components/selected_list/selected_list.tsx +50 -0
- package/src/index.ts +22 -0
- package/src/transfer_list/index.ts +1 -0
- package/src/transfer_list/transfer_list.tsx +14 -0
- package/src/transfer_table/components/available_table.tsx +80 -0
- package/src/transfer_table/components/available_table_filter_panel.tsx +62 -0
- package/src/transfer_table/components/available_table_header.tsx +60 -0
- package/src/transfer_table/components/selected_column.tsx +120 -0
- package/src/transfer_table/components/selected_item.tsx +58 -0
- package/src/transfer_table/index.ts +6 -0
- package/src/transfer_table/transfer_table.module.css +41 -0
- package/src/transfer_table/transfer_table.tsx +77 -0
- package/src/transfer_table/transfer_table_presenter.ts +164 -0
- package/src/transfer_table/types.ts +35 -0
- package/tsconfig.json +7 -0
- package/types/file_types.d.ts +106 -0
package/AI_USAGE.md
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# @tcn/ui-transfer — AI Usage Guide
|
|
2
|
+
|
|
3
|
+
**Load this file when:** the project uses `@tcn/ui-transfer` and you are building transfer list or transfer table UIs.
|
|
4
|
+
|
|
5
|
+
> For source files referenced in linked docs, prefix paths with `node_modules/@tcn/ui-transfer/` in app projects.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Overview
|
|
10
|
+
|
|
11
|
+
`@tcn/ui-transfer` provides transfer UI components for moving items between lists or tables.
|
|
12
|
+
|
|
13
|
+
| Component | Summary |
|
|
14
|
+
|---|---|
|
|
15
|
+
| **TransferList** | TODO — transfer list component for moving items between two lists |
|
|
16
|
+
| **TransferTable** | TODO — transfer table component for moving items between two tables |
|
package/README.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ListProps } from '@tcn/ui/layouts';
|
|
2
|
+
import { default as React } from 'react';
|
|
3
|
+
export interface AvailableListOwnProps<T> {
|
|
4
|
+
items: T[];
|
|
5
|
+
getItemKey: (item: T) => string | number;
|
|
6
|
+
renderItem: (item: T) => React.ReactNode;
|
|
7
|
+
onClickItem: (item: T) => void;
|
|
8
|
+
}
|
|
9
|
+
export type AvailableListProps<T> = AvailableListOwnProps<T> & ListProps;
|
|
10
|
+
export declare const AvailableList: <T>(props: AvailableListProps<T> & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
|
|
11
|
+
//# sourceMappingURL=available_list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"available_list.d.ts","sourceRoot":"","sources":["../../../src/components/available_list/available_list.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,CAAC;IACzC,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;IACzC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;CAChC;AAED,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,qBAAqB,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;AAwBzE,eAAO,MAAM,aAAa,EAA2C,CAAC,CAAC,EACrE,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,KAC/D,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { List as p } from "@tcn/ui/layouts";
|
|
3
|
+
import { clsx as s } from "clsx";
|
|
4
|
+
import c from "react";
|
|
5
|
+
import "../manage_list_item/manage_list_item.js";
|
|
6
|
+
import "../manage_list_item/removable_item.js";
|
|
7
|
+
import { AddableItem as f } from "../manage_list_item/addable_item.js";
|
|
8
|
+
function d({
|
|
9
|
+
items: t,
|
|
10
|
+
getItemKey: i,
|
|
11
|
+
renderItem: a,
|
|
12
|
+
onClickItem: m,
|
|
13
|
+
className: l,
|
|
14
|
+
...e
|
|
15
|
+
}, n) {
|
|
16
|
+
return /* @__PURE__ */ o(p, { ref: n, className: s("tcn-available-list", l), ...e, children: t.map((r) => /* @__PURE__ */ o(f, { item: r, onClickItem: m, children: a(r) }, i(r))) });
|
|
17
|
+
}
|
|
18
|
+
const I = c.forwardRef(d);
|
|
19
|
+
export {
|
|
20
|
+
I as AvailableList
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=available_list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"available_list.js","sources":["../../../src/components/available_list/available_list.tsx"],"sourcesContent":["import { List, type ListProps } from '@tcn/ui/layouts';\nimport { clsx } from 'clsx';\nimport React from 'react';\nimport { AddableItem } from '../manage_list_item/index.js';\n\nexport interface AvailableListOwnProps<T> {\n items: T[];\n getItemKey: (item: T) => string | number;\n renderItem: (item: T) => React.ReactNode;\n onClickItem: (item: T) => void;\n}\n\nexport type AvailableListProps<T> = AvailableListOwnProps<T> & ListProps;\n\nfunction AvailableListInner<T>(\n {\n items,\n getItemKey,\n renderItem,\n onClickItem,\n className,\n ...props\n }: AvailableListProps<T>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n return (\n <List ref={ref} className={clsx('tcn-available-list', className)} {...props}>\n {items.map(item => (\n <AddableItem key={getItemKey(item)} item={item} onClickItem={onClickItem}>\n {renderItem(item)}\n </AddableItem>\n ))}\n </List>\n );\n}\n\nexport const AvailableList = React.forwardRef(AvailableListInner) as <T>(\n props: AvailableListProps<T> & React.RefAttributes<HTMLDivElement>\n) => React.ReactElement | null;\n"],"names":["AvailableListInner","items","getItemKey","renderItem","onClickItem","className","props","ref","jsx","List","clsx","AddableItem","item","AvailableList","React"],"mappings":";;;;;;;AAcA,SAASA,EACP;AAAA,EACE,OAAAC;AAAA,EACA,YAAAC;AAAA,EACA,YAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,GAAGC;AACL,GACAC,GACA;AACA,SACE,gBAAAC,EAACC,GAAA,EAAK,KAAAF,GAAU,WAAWG,EAAK,sBAAsBL,CAAS,GAAI,GAAGC,GACnE,UAAAL,EAAM,IAAI,OACT,gBAAAO,EAACG,GAAA,EAAmC,MAAAC,GAAY,aAAAR,GAC7C,UAAAD,EAAWS,CAAI,KADAV,EAAWU,CAAI,CAEjC,CACD,EAAA,CACH;AAEJ;AAEO,MAAMC,IAAgBC,EAAM,WAAWd,CAAkB;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/available_list/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,GACxB,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { ManageListItem, type ManageListItemOwnProps, type ManageListItemProps, RemovableItem, type RemovableItemProps, AddableItem, type AddableItemProps, } from './manage_list_item/index.js';
|
|
2
|
+
export { SelectedList, type SelectedListOwnProps, type SelectedListProps, } from './selected_list/index.js';
|
|
3
|
+
export { AvailableList, type AvailableListOwnProps, type AvailableListProps, } from './available_list/index.js';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,aAAa,EACb,KAAK,kBAAkB,EACvB,WAAW,EACX,KAAK,gBAAgB,GACtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,YAAY,EACZ,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,GACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,aAAa,EACb,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,GACxB,MAAM,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ManageListItem as o } from "./manage_list_item/manage_list_item.js";
|
|
2
|
+
import { RemovableItem as m } from "./manage_list_item/removable_item.js";
|
|
3
|
+
import { AddableItem as f } from "./manage_list_item/addable_item.js";
|
|
4
|
+
import { SelectedList as p } from "./selected_list/selected_list.js";
|
|
5
|
+
import { AvailableList as i } from "./available_list/available_list.js";
|
|
6
|
+
export {
|
|
7
|
+
f as AddableItem,
|
|
8
|
+
i as AvailableList,
|
|
9
|
+
o as ManageListItem,
|
|
10
|
+
m as RemovableItem,
|
|
11
|
+
p as SelectedList
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { ManageListItemProps } from './manage_list_item.js';
|
|
3
|
+
export type AddableItemProps<T> = ManageListItemProps<T>;
|
|
4
|
+
export declare const AddableItem: <T>(props: AddableItemProps<T> & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
|
|
5
|
+
//# sourceMappingURL=addable_item.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addable_item.d.ts","sourceRoot":"","sources":["../../../src/components/manage_list_item/addable_item.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAEjF,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAezD,eAAO,MAAM,WAAW,EAAyC,CAAC,CAAC,EACjE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,KAC7D,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { ArrowRightIcon as m } from "@tcn/icons/arrow_right_icon.js";
|
|
3
|
+
import n from "react";
|
|
4
|
+
import { ManageListItem as d } from "./manage_list_item.js";
|
|
5
|
+
function f({ endAdornment: o, ...t }, e) {
|
|
6
|
+
return /* @__PURE__ */ r(
|
|
7
|
+
d,
|
|
8
|
+
{
|
|
9
|
+
ref: e,
|
|
10
|
+
endAdornment: o ?? /* @__PURE__ */ r(m, {}),
|
|
11
|
+
...t
|
|
12
|
+
}
|
|
13
|
+
);
|
|
14
|
+
}
|
|
15
|
+
const c = n.forwardRef(f);
|
|
16
|
+
export {
|
|
17
|
+
c as AddableItem
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=addable_item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"addable_item.js","sources":["../../../src/components/manage_list_item/addable_item.tsx"],"sourcesContent":["import { ArrowRightIcon } from '@tcn/icons/arrow_right_icon.js';\nimport React from 'react';\nimport { ManageListItem, type ManageListItemProps } from './manage_list_item.js';\n\nexport type AddableItemProps<T> = ManageListItemProps<T>;\n\nfunction AddableItemInner<T>(\n { endAdornment, ...props }: AddableItemProps<T>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n return (\n <ManageListItem\n ref={ref}\n endAdornment={endAdornment ?? <ArrowRightIcon />}\n {...props}\n />\n );\n}\n\nexport const AddableItem = React.forwardRef(AddableItemInner) as <T>(\n props: AddableItemProps<T> & React.RefAttributes<HTMLDivElement>\n) => React.ReactElement | null;\n"],"names":["AddableItemInner","endAdornment","props","ref","jsx","ManageListItem","ArrowRightIcon","AddableItem","React"],"mappings":";;;;AAMA,SAASA,EACP,EAAE,cAAAC,GAAc,GAAGC,EAAA,GACnBC,GACA;AACA,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAAF;AAAA,MACA,cAAcF,KAAgB,gBAAAG,EAACE,GAAA,CAAA,CAAe;AAAA,MAC7C,GAAGJ;AAAA,IAAA;AAAA,EAAA;AAGV;AAEO,MAAMK,IAAcC,EAAM,WAAWR,CAAgB;"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { ManageListItem, type ManageListItemOwnProps, type ManageListItemProps, } from './manage_list_item.js';
|
|
2
|
+
export { RemovableItem, type RemovableItemProps } from './removable_item.js';
|
|
3
|
+
export { AddableItem, type AddableItemProps } from './addable_item.js';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/manage_list_item/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ManageListItem as o } from "./manage_list_item.js";
|
|
2
|
+
import { RemovableItem as r } from "./removable_item.js";
|
|
3
|
+
import { AddableItem as f } from "./addable_item.js";
|
|
4
|
+
export {
|
|
5
|
+
f as AddableItem,
|
|
6
|
+
o as ManageListItem,
|
|
7
|
+
r as RemovableItem
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ItemProps } from '@tcn/ui/layouts';
|
|
2
|
+
import { default as React } from 'react';
|
|
3
|
+
export interface ManageListItemOwnProps<T> {
|
|
4
|
+
item: T;
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
onClickItem: (item: T) => void;
|
|
7
|
+
endAdornment?: React.ReactNode;
|
|
8
|
+
}
|
|
9
|
+
export type ManageListItemProps<T> = ManageListItemOwnProps<T> & Omit<ItemProps, 'children'>;
|
|
10
|
+
export declare const ManageListItem: <T>(props: ManageListItemProps<T> & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
|
|
11
|
+
//# sourceMappingURL=manage_list_item.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manage_list_item.d.ts","sourceRoot":"","sources":["../../../src/components/manage_list_item/manage_list_item.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGvD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,sBAAsB,CAAC,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC;IACR,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC/B,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAChC;AAED,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,sBAAsB,CAAC,CAAC,CAAC,GAC5D,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;AA2B9B,eAAO,MAAM,cAAc,EAA4C,CAAC,CAAC,EACvE,KAAK,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,KAChE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { jsxs as a, jsx as s } from "react/jsx-runtime";
|
|
2
|
+
import { Item as c } from "@tcn/ui/layouts";
|
|
3
|
+
import { Spacer as f } from "@tcn/ui/stacks";
|
|
4
|
+
import { clsx as p } from "clsx";
|
|
5
|
+
import l from "react";
|
|
6
|
+
function x({
|
|
7
|
+
item: r,
|
|
8
|
+
children: t,
|
|
9
|
+
onClickItem: m,
|
|
10
|
+
endAdornment: e,
|
|
11
|
+
className: o,
|
|
12
|
+
...i
|
|
13
|
+
}, n) {
|
|
14
|
+
return /* @__PURE__ */ a(
|
|
15
|
+
c,
|
|
16
|
+
{
|
|
17
|
+
ref: n,
|
|
18
|
+
className: p("tcn-manage-list-item", o),
|
|
19
|
+
onClick: () => m(r),
|
|
20
|
+
...i,
|
|
21
|
+
children: [
|
|
22
|
+
t,
|
|
23
|
+
/* @__PURE__ */ s(f, {}),
|
|
24
|
+
e
|
|
25
|
+
]
|
|
26
|
+
}
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
const L = l.forwardRef(x);
|
|
30
|
+
export {
|
|
31
|
+
L as ManageListItem
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=manage_list_item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manage_list_item.js","sources":["../../../src/components/manage_list_item/manage_list_item.tsx"],"sourcesContent":["import { Item, type ItemProps } from '@tcn/ui/layouts';\nimport { Spacer } from '@tcn/ui/stacks';\nimport { clsx } from 'clsx';\nimport React from 'react';\n\nexport interface ManageListItemOwnProps<T> {\n item: T;\n children: React.ReactNode;\n onClickItem: (item: T) => void;\n endAdornment?: React.ReactNode;\n}\n\nexport type ManageListItemProps<T> = ManageListItemOwnProps<T> &\n Omit<ItemProps, 'children'>;\n\nfunction ManageListItemInner<T>(\n {\n item,\n children,\n onClickItem,\n endAdornment,\n className,\n ...props\n }: ManageListItemProps<T>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n return (\n <Item\n ref={ref}\n className={clsx('tcn-manage-list-item', className)}\n onClick={() => onClickItem(item)}\n {...props}\n >\n {children}\n <Spacer />\n {endAdornment}\n </Item>\n );\n}\n\nexport const ManageListItem = React.forwardRef(ManageListItemInner) as <T>(\n props: ManageListItemProps<T> & React.RefAttributes<HTMLDivElement>\n) => React.ReactElement | null;\n"],"names":["ManageListItemInner","item","children","onClickItem","endAdornment","className","props","ref","jsxs","Item","clsx","Spacer","ManageListItem","React"],"mappings":";;;;;AAeA,SAASA,EACP;AAAA,EACE,MAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC;AAAA,EACA,cAAAC;AAAA,EACA,WAAAC;AAAA,EACA,GAAGC;AACL,GACAC,GACA;AACA,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAAF;AAAA,MACA,WAAWG,EAAK,wBAAwBL,CAAS;AAAA,MACjD,SAAS,MAAMF,EAAYF,CAAI;AAAA,MAC9B,GAAGK;AAAA,MAEH,UAAA;AAAA,QAAAJ;AAAA,0BACAS,GAAA,EAAO;AAAA,QACPP;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGP;AAEO,MAAMQ,IAAiBC,EAAM,WAAWb,CAAmB;"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { ManageListItemProps } from './manage_list_item.js';
|
|
3
|
+
export type RemovableItemProps<T> = ManageListItemProps<T>;
|
|
4
|
+
export declare const RemovableItem: <T>(props: RemovableItemProps<T> & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
|
|
5
|
+
//# sourceMappingURL=removable_item.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removable_item.d.ts","sourceRoot":"","sources":["../../../src/components/manage_list_item/removable_item.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAGjF,MAAM,MAAM,kBAAkB,CAAC,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAgB3D,eAAO,MAAM,aAAa,EAA2C,CAAC,CAAC,EACrE,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,KAC/D,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { CrossCircleIcon as a } from "@tcn/icons/cross_circle_icon.js";
|
|
3
|
+
import { clsx as n } from "clsx";
|
|
4
|
+
import s from "react";
|
|
5
|
+
import { ManageListItem as i } from "./manage_list_item.js";
|
|
6
|
+
import '../../removable_item.css';const l = "_removable-item_47294a9", c = { "removable-item": l };
|
|
7
|
+
function f({ endAdornment: m, className: o, ...r }, t) {
|
|
8
|
+
return /* @__PURE__ */ e(
|
|
9
|
+
i,
|
|
10
|
+
{
|
|
11
|
+
ref: t,
|
|
12
|
+
className: n(c["removable-item"], o),
|
|
13
|
+
endAdornment: m ?? /* @__PURE__ */ e(a, {}),
|
|
14
|
+
...r
|
|
15
|
+
}
|
|
16
|
+
);
|
|
17
|
+
}
|
|
18
|
+
const d = s.forwardRef(f);
|
|
19
|
+
export {
|
|
20
|
+
d as RemovableItem
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=removable_item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"removable_item.js","sources":["../../../src/components/manage_list_item/removable_item.tsx"],"sourcesContent":["import { CrossCircleIcon } from '@tcn/icons/cross_circle_icon.js';\nimport { clsx } from 'clsx';\nimport React from 'react';\nimport { ManageListItem, type ManageListItemProps } from './manage_list_item.js';\nimport styles from './removable_item.module.css';\n\nexport type RemovableItemProps<T> = ManageListItemProps<T>;\n\nfunction RemovableItemInner<T>(\n { endAdornment, className, ...props }: RemovableItemProps<T>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n return (\n <ManageListItem\n ref={ref}\n className={clsx(styles['removable-item'], className)}\n endAdornment={endAdornment ?? <CrossCircleIcon />}\n {...props}\n />\n );\n}\n\nexport const RemovableItem = React.forwardRef(RemovableItemInner) as <T>(\n props: RemovableItemProps<T> & React.RefAttributes<HTMLDivElement>\n) => React.ReactElement | null;\n"],"names":["RemovableItemInner","endAdornment","className","props","ref","jsx","ManageListItem","clsx","styles","CrossCircleIcon","RemovableItem","React"],"mappings":";;;;;;AAQA,SAASA,EACP,EAAE,cAAAC,GAAc,WAAAC,GAAW,GAAGC,EAAA,GAC9BC,GACA;AACA,SACE,gBAAAC;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAAF;AAAA,MACA,WAAWG,EAAKC,EAAO,gBAAgB,GAAGN,CAAS;AAAA,MACnD,cAAcD,KAAgB,gBAAAI,EAACI,GAAA,CAAA,CAAgB;AAAA,MAC9C,GAAGN;AAAA,IAAA;AAAA,EAAA;AAGV;AAEO,MAAMO,IAAgBC,EAAM,WAAWX,CAAkB;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/selected_list/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,GACvB,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ListProps } from '@tcn/ui/layouts';
|
|
2
|
+
import { default as React } from 'react';
|
|
3
|
+
export interface SelectedListOwnProps<T> {
|
|
4
|
+
items: T[];
|
|
5
|
+
getItemKey: (item: T) => string | number;
|
|
6
|
+
renderItem: (item: T) => React.ReactNode;
|
|
7
|
+
onClickItem: (item: T) => void;
|
|
8
|
+
/** Override the default RemovableItem rendering per item. Receives the item and its rendered content. */
|
|
9
|
+
renderListItem?: (item: T, content: React.ReactNode) => React.ReactElement;
|
|
10
|
+
}
|
|
11
|
+
export type SelectedListProps<T> = SelectedListOwnProps<T> & ListProps;
|
|
12
|
+
export declare const SelectedList: <T>(props: SelectedListProps<T> & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
|
|
13
|
+
//# sourceMappingURL=selected_list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selected_list.d.ts","sourceRoot":"","sources":["../../../src/components/selected_list/selected_list.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEvD,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,MAAM,CAAC;IACzC,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,CAAC,SAAS,CAAC;IACzC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC/B,yGAAyG;IACzG,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,YAAY,CAAC;CAC5E;AAED,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,oBAAoB,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;AAiCvE,eAAO,MAAM,YAAY,EAA0C,CAAC,CAAC,EACnE,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,cAAc,CAAC,KAC9D,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx as n } from "react/jsx-runtime";
|
|
2
|
+
import { List as a } from "@tcn/ui/layouts";
|
|
3
|
+
import { clsx as d } from "clsx";
|
|
4
|
+
import c from "react";
|
|
5
|
+
import "../manage_list_item/manage_list_item.js";
|
|
6
|
+
import { RemovableItem as u } from "../manage_list_item/removable_item.js";
|
|
7
|
+
import "../manage_list_item/addable_item.js";
|
|
8
|
+
function x({
|
|
9
|
+
items: l,
|
|
10
|
+
getItemKey: o,
|
|
11
|
+
renderItem: m,
|
|
12
|
+
onClickItem: i,
|
|
13
|
+
renderListItem: t,
|
|
14
|
+
className: s,
|
|
15
|
+
...f
|
|
16
|
+
}, p) {
|
|
17
|
+
return /* @__PURE__ */ n(a, { ref: p, className: d("tcn-selected-list", s), ...f, children: l.map((r) => {
|
|
18
|
+
const e = m(r);
|
|
19
|
+
return t ? c.cloneElement(t(r, e), {
|
|
20
|
+
key: o(r)
|
|
21
|
+
}) : /* @__PURE__ */ n(u, { item: r, onClickItem: i, children: e }, o(r));
|
|
22
|
+
}) });
|
|
23
|
+
}
|
|
24
|
+
const v = c.forwardRef(x);
|
|
25
|
+
export {
|
|
26
|
+
v as SelectedList
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=selected_list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selected_list.js","sources":["../../../src/components/selected_list/selected_list.tsx"],"sourcesContent":["import { List, type ListProps } from '@tcn/ui/layouts';\nimport { clsx } from 'clsx';\nimport React from 'react';\nimport { RemovableItem } from '../manage_list_item/index.js';\n\nexport interface SelectedListOwnProps<T> {\n items: T[];\n getItemKey: (item: T) => string | number;\n renderItem: (item: T) => React.ReactNode;\n onClickItem: (item: T) => void;\n /** Override the default RemovableItem rendering per item. Receives the item and its rendered content. */\n renderListItem?: (item: T, content: React.ReactNode) => React.ReactElement;\n}\n\nexport type SelectedListProps<T> = SelectedListOwnProps<T> & ListProps;\n\nfunction SelectedListInner<T>(\n {\n items,\n getItemKey,\n renderItem,\n onClickItem,\n renderListItem,\n className,\n ...props\n }: SelectedListProps<T>,\n ref: React.ForwardedRef<HTMLDivElement>\n) {\n return (\n <List ref={ref} className={clsx('tcn-selected-list', className)} {...props}>\n {items.map(item => {\n const content = renderItem(item);\n if (renderListItem) {\n return React.cloneElement(renderListItem(item, content), {\n key: getItemKey(item),\n });\n }\n return (\n <RemovableItem key={getItemKey(item)} item={item} onClickItem={onClickItem}>\n {content}\n </RemovableItem>\n );\n })}\n </List>\n );\n}\n\nexport const SelectedList = React.forwardRef(SelectedListInner) as <T>(\n props: SelectedListProps<T> & React.RefAttributes<HTMLDivElement>\n) => React.ReactElement | null;\n"],"names":["SelectedListInner","items","getItemKey","renderItem","onClickItem","renderListItem","className","props","ref","jsx","List","clsx","item","content","React","RemovableItem","SelectedList"],"mappings":";;;;;;;AAgBA,SAASA,EACP;AAAA,EACE,OAAAC;AAAA,EACA,YAAAC;AAAA,EACA,YAAAC;AAAA,EACA,aAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,GAAGC;AACL,GACAC,GACA;AACA,SACE,gBAAAC,EAACC,GAAA,EAAK,KAAAF,GAAU,WAAWG,EAAK,qBAAqBL,CAAS,GAAI,GAAGC,GAClE,UAAAN,EAAM,IAAI,CAAAW,MAAQ;AACjB,UAAMC,IAAUV,EAAWS,CAAI;AAC/B,WAAIP,IACKS,EAAM,aAAaT,EAAeO,GAAMC,CAAO,GAAG;AAAA,MACvD,KAAKX,EAAWU,CAAI;AAAA,IAAA,CACrB,sBAGAG,GAAA,EAAqC,MAAAH,GAAY,aAAAR,GAC/C,UAAAS,EAAA,GADiBX,EAAWU,CAAI,CAEnC;AAAA,EAEJ,CAAC,EAAA,CACH;AAEJ;AAEO,MAAMI,IAAeF,EAAM,WAAWd,CAAiB;"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { ManageListItem, type ManageListItemOwnProps, type ManageListItemProps, RemovableItem, type RemovableItemProps, AddableItem, type AddableItemProps, SelectedList, type SelectedListOwnProps, type SelectedListProps, AvailableList, type AvailableListOwnProps, type AvailableListProps, } from './components/index.js';
|
|
2
|
+
export { TransferList, type TransferListProps } from './transfer_list/index.js';
|
|
3
|
+
export { TransferTable, TransferTablePresenter, type SelectedItemsUpdate, type TransferTableProps, } from './transfer_table/index.js';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,aAAa,EACb,KAAK,kBAAkB,EACvB,WAAW,EACX,KAAK,gBAAgB,EACrB,YAAY,EACZ,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,aAAa,EACb,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,GACxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAChF,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACxB,MAAM,2BAA2B,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ManageListItem as o } from "./components/manage_list_item/manage_list_item.js";
|
|
2
|
+
import { RemovableItem as m } from "./components/manage_list_item/removable_item.js";
|
|
3
|
+
import { AddableItem as f } from "./components/manage_list_item/addable_item.js";
|
|
4
|
+
import { SelectedList as s } from "./components/selected_list/selected_list.js";
|
|
5
|
+
import { AvailableList as l } from "./components/available_list/available_list.js";
|
|
6
|
+
import { TransferList as i } from "./transfer_list/transfer_list.js";
|
|
7
|
+
import { TransferTable as T } from "./transfer_table/transfer_table.js";
|
|
8
|
+
import { TransferTablePresenter as d } from "./transfer_table/transfer_table_presenter.js";
|
|
9
|
+
export {
|
|
10
|
+
f as AddableItem,
|
|
11
|
+
l as AvailableList,
|
|
12
|
+
o as ManageListItem,
|
|
13
|
+
m as RemovableItem,
|
|
14
|
+
s as SelectedList,
|
|
15
|
+
i as TransferList,
|
|
16
|
+
T as TransferTable,
|
|
17
|
+
d as TransferTablePresenter
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
._removable-item_47294a9 .tcn-icon:last-child{color:var(--status-color-error)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transfer_list/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { ScaffoldProps } from '@tcn/ui/layouts';
|
|
3
|
+
export interface TransferListProps extends ScaffoldProps {
|
|
4
|
+
}
|
|
5
|
+
export declare const TransferList: React.ForwardRefExoticComponent<TransferListProps & React.RefAttributes<HTMLElement>>;
|
|
6
|
+
//# sourceMappingURL=transfer_list.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transfer_list.d.ts","sourceRoot":"","sources":["../../src/transfer_list/transfer_list.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAY,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE/D,MAAM,WAAW,iBAAkB,SAAQ,aAAa;CAAG;AAE3D,eAAO,MAAM,YAAY,uFAQxB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import e from "react";
|
|
3
|
+
import { Scaffold as i } from "@tcn/ui/layouts";
|
|
4
|
+
const c = e.forwardRef(
|
|
5
|
+
function({ children: r, ...o }, f) {
|
|
6
|
+
return /* @__PURE__ */ t(i, { ref: f, ...o, children: r });
|
|
7
|
+
}
|
|
8
|
+
);
|
|
9
|
+
export {
|
|
10
|
+
c as TransferList
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=transfer_list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transfer_list.js","sources":["../../src/transfer_list/transfer_list.tsx"],"sourcesContent":["import React from 'react';\nimport { Scaffold, type ScaffoldProps } from '@tcn/ui/layouts';\n\nexport interface TransferListProps extends ScaffoldProps {}\n\nexport const TransferList = React.forwardRef<HTMLElement, TransferListProps>(\n function TransferList({ children, ...props }: TransferListProps, ref) {\n return (\n <Scaffold ref={ref} {...props}>\n {children}\n </Scaffold>\n );\n }\n);\n"],"names":["TransferList","React","children","props","ref","jsx","Scaffold"],"mappings":";;;AAKO,MAAMA,IAAeC,EAAM;AAAA,EAChC,SAAsB,EAAE,UAAAC,GAAU,GAAGC,EAAA,GAA4BC,GAAK;AACpE,WACE,gBAAAC,EAACC,GAAA,EAAS,KAAAF,GAAW,GAAGD,GACrB,UAAAD,GACH;AAAA,EAEJ;AACF;"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { DataSource } from '@tcn/resource-store';
|
|
2
|
+
import { IBroadcast } from '@tcn/state';
|
|
3
|
+
import { FieldFilterProps, TableColumnProps } from '@tcn/ui-table';
|
|
4
|
+
import { ScaffoldProps } from '@tcn/ui/layouts';
|
|
5
|
+
import { ReactElement } from 'react';
|
|
6
|
+
export interface AvailableTableOwnProps<T> {
|
|
7
|
+
dataSource: DataSource<T>;
|
|
8
|
+
columns: TableColumnProps<T>[];
|
|
9
|
+
filterPanelIsOpenBroadcast: IBroadcast<boolean>;
|
|
10
|
+
filterChildren?: ReactElement<FieldFilterProps> | ReactElement<FieldFilterProps>[];
|
|
11
|
+
onClickMove: (item: T) => void;
|
|
12
|
+
onClickFilterPanelToggle: () => void;
|
|
13
|
+
onClickMoveAll: () => void;
|
|
14
|
+
}
|
|
15
|
+
export type AvailableTableProps<T> = AvailableTableOwnProps<T> & ScaffoldProps;
|
|
16
|
+
export declare const AvailableTable: <T>({ dataSource, columns, filterPanelIsOpenBroadcast, filterChildren, onClickMove, onClickFilterPanelToggle, onClickMoveAll, className, ...props }: AvailableTableProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
//# sourceMappingURL=available_table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"available_table.d.ts","sourceRoot":"","sources":["../../../src/transfer_table/components/available_table.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAsB,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEvF,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAc,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAK5C,MAAM,WAAW,sBAAsB,CAAC,CAAC;IACvC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAC1B,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/B,0BAA0B,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAChD,cAAc,CAAC,EAAE,YAAY,CAAC,gBAAgB,CAAC,GAAG,YAAY,CAAC,gBAAgB,CAAC,EAAE,CAAC;IACnF,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;IAC/B,wBAAwB,EAAE,MAAM,IAAI,CAAC;IACrC,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAED,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,sBAAsB,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC;AAE/E,eAAO,MAAM,cAAc,GAAI,CAAC,EAAG,iJAUhC,mBAAmB,CAAC,CAAC,CAAC,4CA6CxB,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { jsxs as m, jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import { clsx as h } from "clsx";
|
|
3
|
+
import { ArrowRightIcon as y } from "@tcn/icons/arrow_right_icon.js";
|
|
4
|
+
import { Table as v, TableColumn as o } from "@tcn/ui-table";
|
|
5
|
+
import { Button as A } from "@tcn/ui/actions";
|
|
6
|
+
import { Scaffold as x, Rail as T } from "@tcn/ui/layouts";
|
|
7
|
+
import { s as b } from "../../transfer_table.module-CI4PvlY3.js";
|
|
8
|
+
import { AvailableTableFilterPanel as N } from "./available_table_filter_panel.js";
|
|
9
|
+
import { AvailableTableHeader as j } from "./available_table_header.js";
|
|
10
|
+
const q = ({
|
|
11
|
+
dataSource: l,
|
|
12
|
+
columns: r,
|
|
13
|
+
filterPanelIsOpenBroadcast: n,
|
|
14
|
+
filterChildren: t,
|
|
15
|
+
onClickMove: s,
|
|
16
|
+
onClickFilterPanelToggle: i,
|
|
17
|
+
onClickMoveAll: c,
|
|
18
|
+
className: f,
|
|
19
|
+
...p
|
|
20
|
+
}) => /* @__PURE__ */ m(
|
|
21
|
+
x,
|
|
22
|
+
{
|
|
23
|
+
className: h(
|
|
24
|
+
b["tcn-table-available-table"],
|
|
25
|
+
"tcn-table-available-table",
|
|
26
|
+
f
|
|
27
|
+
),
|
|
28
|
+
...p,
|
|
29
|
+
children: [
|
|
30
|
+
/* @__PURE__ */ a(
|
|
31
|
+
j,
|
|
32
|
+
{
|
|
33
|
+
dataSource: l,
|
|
34
|
+
filterChildren: t,
|
|
35
|
+
onClickFilterPanelToggle: i,
|
|
36
|
+
onClickMoveAll: c
|
|
37
|
+
}
|
|
38
|
+
),
|
|
39
|
+
/* @__PURE__ */ m(T, { children: [
|
|
40
|
+
/* @__PURE__ */ a(
|
|
41
|
+
N,
|
|
42
|
+
{
|
|
43
|
+
dataSource: l,
|
|
44
|
+
filterPanelIsOpenBroadcast: n,
|
|
45
|
+
filterChildren: t,
|
|
46
|
+
onClickFilterPanelToggle: i
|
|
47
|
+
}
|
|
48
|
+
),
|
|
49
|
+
r?.length > 0 ? /* @__PURE__ */ a(v, { minWidth: 200, dataSource: l, className: b["table-body"], children: [
|
|
50
|
+
...r.map((e, d) => /* @__PURE__ */ a(o, { ...e }, e.fieldName ?? d)),
|
|
51
|
+
/* @__PURE__ */ a(
|
|
52
|
+
o,
|
|
53
|
+
{
|
|
54
|
+
heading: "Actions",
|
|
55
|
+
sticky: "end",
|
|
56
|
+
render: (e) => /* @__PURE__ */ a(A, { utility: !0, hierarchy: "tertiary", onClick: () => s(e), children: /* @__PURE__ */ a(y, {}) })
|
|
57
|
+
},
|
|
58
|
+
"actions"
|
|
59
|
+
)
|
|
60
|
+
] }) : null
|
|
61
|
+
] })
|
|
62
|
+
]
|
|
63
|
+
}
|
|
64
|
+
);
|
|
65
|
+
export {
|
|
66
|
+
q as AvailableTable
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=available_table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"available_table.js","sources":["../../../src/transfer_table/components/available_table.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport { ArrowRightIcon } from '@tcn/icons/arrow_right_icon.js';\nimport { DataSource } from '@tcn/resource-store';\nimport { IBroadcast } from '@tcn/state';\nimport { FieldFilterProps, Table, TableColumn, TableColumnProps } from '@tcn/ui-table';\nimport { Button } from '@tcn/ui/actions';\nimport { Rail, Scaffold, type ScaffoldProps } from '@tcn/ui/layouts';\nimport React, { ReactElement } from 'react';\nimport styles from '../transfer_table.module.css';\nimport { AvailableTableFilterPanel } from './available_table_filter_panel.js';\nimport { AvailableTableHeader } from './available_table_header.js';\n\nexport interface AvailableTableOwnProps<T> {\n dataSource: DataSource<T>;\n columns: TableColumnProps<T>[];\n filterPanelIsOpenBroadcast: IBroadcast<boolean>;\n filterChildren?: ReactElement<FieldFilterProps> | ReactElement<FieldFilterProps>[];\n onClickMove: (item: T) => void;\n onClickFilterPanelToggle: () => void;\n onClickMoveAll: () => void;\n}\n\nexport type AvailableTableProps<T> = AvailableTableOwnProps<T> & ScaffoldProps;\n\nexport const AvailableTable = <T,>({\n dataSource,\n columns,\n filterPanelIsOpenBroadcast,\n filterChildren,\n onClickMove,\n onClickFilterPanelToggle,\n onClickMoveAll,\n className,\n ...props\n}: AvailableTableProps<T>) => {\n return (\n <Scaffold\n className={clsx(\n styles['tcn-table-available-table'],\n 'tcn-table-available-table',\n className\n )}\n {...props}\n >\n <AvailableTableHeader\n dataSource={dataSource}\n filterChildren={filterChildren}\n onClickFilterPanelToggle={onClickFilterPanelToggle}\n onClickMoveAll={onClickMoveAll}\n />\n <Rail>\n <AvailableTableFilterPanel\n dataSource={dataSource}\n filterPanelIsOpenBroadcast={filterPanelIsOpenBroadcast}\n filterChildren={filterChildren}\n onClickFilterPanelToggle={onClickFilterPanelToggle}\n />\n {columns?.length > 0 ? (\n <Table minWidth={200} dataSource={dataSource} className={styles['table-body']}>\n {[\n ...columns.map((columnProps, index) => (\n <TableColumn key={columnProps.fieldName ?? index} {...columnProps} />\n )),\n <TableColumn\n key=\"actions\"\n heading=\"Actions\"\n sticky=\"end\"\n render={(item: T) => (\n <Button utility hierarchy=\"tertiary\" onClick={() => onClickMove(item)}>\n <ArrowRightIcon />\n </Button>\n )}\n />,\n ]}\n </Table>\n ) : null}\n </Rail>\n </Scaffold>\n );\n};\n"],"names":["AvailableTable","dataSource","columns","filterPanelIsOpenBroadcast","filterChildren","onClickMove","onClickFilterPanelToggle","onClickMoveAll","className","props","jsxs","Scaffold","clsx","styles","jsx","AvailableTableHeader","Rail","AvailableTableFilterPanel","Table","columnProps","index","TableColumn","item","Button","ArrowRightIcon"],"mappings":";;;;;;;;;AAwBO,MAAMA,IAAiB,CAAK;AAAA,EACjC,YAAAC;AAAA,EACA,SAAAC;AAAA,EACA,4BAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,aAAAC;AAAA,EACA,0BAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,GAAGC;AACL,MAEI,gBAAAC;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,WAAWC;AAAA,MACTC,EAAO,2BAA2B;AAAA,MAClC;AAAA,MACAL;AAAA,IAAA;AAAA,IAED,GAAGC;AAAA,IAEJ,UAAA;AAAA,MAAA,gBAAAK;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,YAAAd;AAAA,UACA,gBAAAG;AAAA,UACA,0BAAAE;AAAA,UACA,gBAAAC;AAAA,QAAA;AAAA,MAAA;AAAA,wBAEDS,GAAA,EACC,UAAA;AAAA,QAAA,gBAAAF;AAAA,UAACG;AAAA,UAAA;AAAA,YACC,YAAAhB;AAAA,YACA,4BAAAE;AAAA,YACA,gBAAAC;AAAA,YACA,0BAAAE;AAAA,UAAA;AAAA,QAAA;AAAA,QAEDJ,GAAS,SAAS,IACjB,gBAAAY,EAACI,GAAA,EAAM,UAAU,KAAK,YAAAjB,GAAwB,WAAWY,EAAO,YAAY,GACzE,UAAA;AAAA,UACC,GAAGX,EAAQ,IAAI,CAACiB,GAAaC,MAC3B,gBAAAN,EAACO,GAAA,EAAkD,GAAGF,EAAA,GAApCA,EAAY,aAAaC,CAAwB,CACpE;AAAA,UACD,gBAAAN;AAAA,YAACO;AAAA,YAAA;AAAA,cAEC,SAAQ;AAAA,cACR,QAAO;AAAA,cACP,QAAQ,CAACC,MACP,gBAAAR,EAACS,GAAA,EAAO,SAAO,IAAC,WAAU,YAAW,SAAS,MAAMlB,EAAYiB,CAAI,GAClE,UAAA,gBAAAR,EAACU,KAAe,EAAA,CAClB;AAAA,YAAA;AAAA,YANE;AAAA,UAAA;AAAA,QAQN,GAEJ,IACE;AAAA,MAAA,EAAA,CACN;AAAA,IAAA;AAAA,EAAA;AAAA;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { DataSource } from '@tcn/resource-store';
|
|
2
|
+
import { IBroadcast } from '@tcn/state';
|
|
3
|
+
import { FieldFilterProps, TableFilterPanelProps } from '@tcn/ui-table';
|
|
4
|
+
import { default as React, ReactElement } from 'react';
|
|
5
|
+
export interface AvailableTableFilterPanelOwnProps<T> {
|
|
6
|
+
dataSource: DataSource<T>;
|
|
7
|
+
filterPanelIsOpenBroadcast: IBroadcast<boolean>;
|
|
8
|
+
filterChildren?: ReactElement<FieldFilterProps> | ReactElement<FieldFilterProps>[];
|
|
9
|
+
onClickFilterPanelToggle: () => void;
|
|
10
|
+
}
|
|
11
|
+
export type AvailableTableFilterPanelProps<T> = AvailableTableFilterPanelOwnProps<T> & Omit<TableFilterPanelProps, 'children' | 'dataSource' | 'onClose'>;
|
|
12
|
+
export declare const AvailableTableFilterPanel: <T>(props: AvailableTableFilterPanelProps<T> & React.RefAttributes<HTMLElement>) => React.ReactElement | null;
|
|
13
|
+
//# sourceMappingURL=available_table_filter_panel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"available_table_filter_panel.d.ts","sourceRoot":"","sources":["../../../src/transfer_table/components/available_table_filter_panel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAkB,MAAM,YAAY,CAAC;AACxD,OAAO,EACL,gBAAgB,EAEhB,KAAK,qBAAqB,EAC3B,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,WAAW,iCAAiC,CAAC,CAAC;IAClD,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAC1B,0BAA0B,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAChD,cAAc,CAAC,EAAE,YAAY,CAAC,gBAAgB,CAAC,GAAG,YAAY,CAAC,gBAAgB,CAAC,EAAE,CAAC;IACnF,wBAAwB,EAAE,MAAM,IAAI,CAAC;CACtC;AAED,MAAM,MAAM,8BAA8B,CAAC,CAAC,IAAI,iCAAiC,CAAC,CAAC,CAAC,GAClF,IAAI,CAAC,qBAAqB,EAAE,UAAU,GAAG,YAAY,GAAG,SAAS,CAAC,CAAC;AAuCrE,eAAO,MAAM,yBAAyB,EAEjC,CAAC,CAAC,EACL,KAAK,EAAE,8BAA8B,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,KACxE,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { jsxs as f, jsx as l } from "react/jsx-runtime";
|
|
2
|
+
import { useSignalValue as m } from "@tcn/state";
|
|
3
|
+
import { TableFilterPanel as b } from "@tcn/ui-table";
|
|
4
|
+
import { Resizable as c, ResizeHandle as u } from "@tcn/ui/utils";
|
|
5
|
+
import x from "react";
|
|
6
|
+
function P({
|
|
7
|
+
dataSource: r,
|
|
8
|
+
filterPanelIsOpenBroadcast: n,
|
|
9
|
+
filterChildren: e,
|
|
10
|
+
onClickFilterPanelToggle: i,
|
|
11
|
+
minWidth: o = "200px",
|
|
12
|
+
maxWidth: a = "400px",
|
|
13
|
+
width: t = "296px",
|
|
14
|
+
...p
|
|
15
|
+
}, s) {
|
|
16
|
+
return !m(n) || !e ? null : /* @__PURE__ */ f(c, { children: [
|
|
17
|
+
/* @__PURE__ */ l(
|
|
18
|
+
b,
|
|
19
|
+
{
|
|
20
|
+
ref: s,
|
|
21
|
+
dataSource: r,
|
|
22
|
+
onClose: i,
|
|
23
|
+
minWidth: o,
|
|
24
|
+
maxWidth: a,
|
|
25
|
+
width: t,
|
|
26
|
+
...p,
|
|
27
|
+
children: e
|
|
28
|
+
}
|
|
29
|
+
),
|
|
30
|
+
/* @__PURE__ */ l(u, { position: "end" })
|
|
31
|
+
] });
|
|
32
|
+
}
|
|
33
|
+
const v = x.forwardRef(
|
|
34
|
+
P
|
|
35
|
+
);
|
|
36
|
+
export {
|
|
37
|
+
v as AvailableTableFilterPanel
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=available_table_filter_panel.js.map
|