@stenajs-webui/grid-export 15.7.0 → 17.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/CHANGELOG.md +16 -0
- package/dist/features/grid-copy-to-clipboard/transformers/ConfigTransformer.d.ts +1 -0
- package/dist/features/grid-copy-to-clipboard/transformers/RowTransformer.d.ts +1 -0
- package/dist/features/grid-copy-to-clipboard/util/HtmlRenderer.d.ts +1 -0
- package/dist/features/grid-excel-export/transformers/ConfigTransformer.d.ts +1 -0
- package/dist/features/grid-excel-export/transformers/RowTransformer.d.ts +1 -0
- package/dist/features/grid-excel-export/util/ExcelDownloader.d.ts +1 -0
- package/dist/index.es.js +11 -11
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +11 -11
- package/dist/index.js.map +1 -1
- package/package.json +11 -11
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,19 @@
|
|
|
1
|
+
# v17.0.0 (Fri Jun 17 2022)
|
|
2
|
+
|
|
3
|
+
#### 💥 Breaking Change
|
|
4
|
+
|
|
5
|
+
- Upgrade and apply prettier. [#467](https://github.com/StenaIT/stenajs-webui/pull/467) ([@mattias800](https://github.com/mattias800))
|
|
6
|
+
|
|
7
|
+
#### 🔩 Dependency Updates
|
|
8
|
+
|
|
9
|
+
- Update Typescript, React, Jest, etc. [#466](https://github.com/StenaIT/stenajs-webui/pull/466) ([@mattias800](https://github.com/mattias800))
|
|
10
|
+
|
|
11
|
+
#### Authors: 1
|
|
12
|
+
|
|
13
|
+
- Mattias Andersson ([@mattias800](https://github.com/mattias800))
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
1
17
|
# v15.0.1 (Thu Feb 17 2022)
|
|
2
18
|
|
|
3
19
|
#### ⚠️ Pushed to `master`
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import { StandardTableConfig } from "@stenajs-webui/grid";
|
|
2
|
+
import { CustomCellFormatters } from "../../../common/CellFormatters";
|
|
2
3
|
export declare const createHtmlConfig: <TItem, TColumnKey extends string, TColumnGroupKey extends string>(config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>, items: TItem[], formatters?: Partial<Record<TColumnKey, import("../../../common/CellFormatters").CustomCellFormatter<TItem>>> | undefined) => string;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { StandardTableColumnGroupConfig, StandardTableConfig } from "@stenajs-webui/grid";
|
|
2
|
+
import { CustomCellFormatters } from "../../../common/CellFormatters";
|
|
2
3
|
export declare const transformTableRow: <TItem, TColumnKey extends string, TColumnGroupKey extends string>(item: TItem, config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>, groupConfigs: StandardTableColumnGroupConfig<TColumnKey>[], formatters?: Partial<Record<TColumnKey, import("../../../common/CellFormatters").CustomCellFormatter<TItem>>> | undefined) => string;
|
|
3
4
|
export declare const transformCell: <TItem, TColumnKey extends string, TColumnGroupKey extends string>(item: TItem, columnId: TColumnKey, config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>, formatters?: Partial<Record<TColumnKey, import("../../../common/CellFormatters").CustomCellFormatter<TItem>>> | undefined) => string;
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import { StandardTableConfig } from "@stenajs-webui/grid";
|
|
2
|
+
import { CustomCellFormatters } from "../../../common/CellFormatters";
|
|
2
3
|
export declare const renderHtmlForStandardTable: <TItem, TColumnKey extends string, TColumnGroupKey extends string>(config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>, items: TItem[], formatters?: Partial<Record<TColumnKey, import("../../../common/CellFormatters").CustomCellFormatter<TItem>>> | undefined) => string;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { StandardTableConfig } from "@stenajs-webui/grid";
|
|
2
2
|
import { ZipCelXConfig } from "zipcelx";
|
|
3
|
+
import { CustomCellFormatters } from "../../../common/CellFormatters";
|
|
3
4
|
export declare const createZipcelxConfig: <TItem, TColumnKey extends string, TColumnGroupKey extends string>(filename: string, config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>, items: TItem[], formatters?: Partial<Record<TColumnKey, import("../../../common/CellFormatters").CustomCellFormatter<TItem>>> | undefined) => ZipCelXConfig;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { StandardTableColumnGroupConfig, StandardTableConfig } from "@stenajs-webui/grid";
|
|
2
2
|
import { ZipCelXCell, ZipCelXRow } from "zipcelx";
|
|
3
|
+
import { CustomCellFormatters } from "../../../common/CellFormatters";
|
|
3
4
|
export declare const transformTableRow: <TItem, TColumnKey extends string, TColumnGroupKey extends string>(item: TItem, config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>, groupConfigs: StandardTableColumnGroupConfig<TColumnKey>[], formatters?: Partial<Record<TColumnKey, import("../../../common/CellFormatters").CustomCellFormatter<TItem>>> | undefined) => ZipCelXRow;
|
|
4
5
|
export declare const transformCell: <TItem, TColumnKey extends string, TColumnGroupKey extends string>(item: TItem, columnId: TColumnKey, config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>, formatters?: Partial<Record<TColumnKey, import("../../../common/CellFormatters").CustomCellFormatter<TItem>>> | undefined) => ZipCelXCell;
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
import { StandardTableConfig } from "@stenajs-webui/grid";
|
|
2
|
+
import { CustomCellFormatters } from "../../../common/CellFormatters";
|
|
2
3
|
export declare const downloadExcelForStandardTable: <TItem, TColumnKey extends string, TColumnGroupKey extends string>(filename: string, config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>, items: TItem[], formatters?: Partial<Record<TColumnKey, import("../../../common/CellFormatters").CustomCellFormatter<TItem>>> | undefined) => Promise<void>;
|
package/dist/index.es.js
CHANGED
|
@@ -214,16 +214,16 @@ var transformTableHeaders = function (config, groupConfigs) {
|
|
|
214
214
|
var columnConfig = config.columns[columnId];
|
|
215
215
|
if (columnConfig.justifyContentHeader) {
|
|
216
216
|
var styleProperty = transformJustifyContentToTextAlign(columnConfig.justifyContentHeader);
|
|
217
|
-
return "<th"
|
|
217
|
+
return "<th".concat(styleProperty ? ' style="' + styleProperty + '"' : "", ">").concat((_a = columnConfig.columnLabel) !== null && _a !== void 0 ? _a : formatColumnIdToHeaderCellLabel(String(columnId)), "</th>");
|
|
218
218
|
}
|
|
219
|
-
return "<th>"
|
|
219
|
+
return "<th>".concat((_b = columnConfig.columnLabel) !== null && _b !== void 0 ? _b : formatColumnIdToHeaderCellLabel(String(columnId)), "</th>");
|
|
220
220
|
});
|
|
221
221
|
}));
|
|
222
222
|
};
|
|
223
223
|
var transformGroupHeaders = function (groupConfigs) {
|
|
224
224
|
return flatten(groupConfigs.map(function (groupConfig) {
|
|
225
225
|
var _a;
|
|
226
|
-
return "<th style=\"text-align: left\" colspan=\""
|
|
226
|
+
return "<th style=\"text-align: left\" colspan=\"".concat(groupConfig.columnOrder.length, "\">").concat((_a = groupConfig.label) !== null && _a !== void 0 ? _a : "", "</th>");
|
|
227
227
|
}));
|
|
228
228
|
};
|
|
229
229
|
|
|
@@ -253,9 +253,9 @@ var transformItemToCell = function (item, itemValueResolver, justifyContentCell,
|
|
|
253
253
|
var createCell = function (value, justifyContentCell) {
|
|
254
254
|
if (justifyContentCell) {
|
|
255
255
|
var styleProperty = transformJustifyContentToTextAlign(justifyContentCell);
|
|
256
|
-
return "<td"
|
|
256
|
+
return "<td".concat(styleProperty ? ' style="' + styleProperty + '"' : "", ">").concat(value, "</td>");
|
|
257
257
|
}
|
|
258
|
-
return "<td>"
|
|
258
|
+
return "<td>".concat(value, "</td>");
|
|
259
259
|
};
|
|
260
260
|
|
|
261
261
|
var transformTableRow = function (item, config, groupConfigs, formatters) {
|
|
@@ -279,14 +279,14 @@ var createHtmlConfig = function (config, items, formatters) {
|
|
|
279
279
|
headerRows.push(transformGroupHeaders(groupConfigs).join(""));
|
|
280
280
|
}
|
|
281
281
|
headerRows.push(transformTableHeaders(config, groupConfigs).join(""));
|
|
282
|
-
var header = "<thead>"
|
|
283
|
-
.map(function (headerRow) { return "<tr>"
|
|
284
|
-
.join("")
|
|
282
|
+
var header = "<thead>".concat(headerRows
|
|
283
|
+
.map(function (headerRow) { return "<tr>".concat(headerRow, "</tr>"); })
|
|
284
|
+
.join(""), "</thead>");
|
|
285
285
|
var tbodyRows = items
|
|
286
286
|
.map(function (item) { return transformTableRow(item, config, groupConfigs, formatters); })
|
|
287
|
-
.map(function (row) { return "<tr>"
|
|
288
|
-
var body = "<tbody>"
|
|
289
|
-
return "<table>"
|
|
287
|
+
.map(function (row) { return "<tr>".concat(row, "</tr>"); });
|
|
288
|
+
var body = "<tbody>".concat(tbodyRows.join(""), "</tbody>");
|
|
289
|
+
return "<table>".concat(header).concat(body, "</table>");
|
|
290
290
|
};
|
|
291
291
|
|
|
292
292
|
var renderHtmlForStandardTable = function (config, items, formatters) {
|
package/dist/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../src/features/grid-excel-export/transformers/HeaderTransformer.ts","../src/features/grid-excel-export/transformers/CellTransformer.ts","../src/features/grid-excel-export/transformers/RowTransformer.ts","../src/features/grid-excel-export/transformers/ConfigTransformer.ts","../src/features/grid-excel-export/util/ExcelDownloader.ts","../src/features/grid-excel-export/components/StandardTableExcelExportButton.tsx","../src/features/grid-copy-to-clipboard/transformers/AlignmentTransformer.ts","../src/features/grid-copy-to-clipboard/transformers/HeaderTransformer.ts","../src/features/grid-copy-to-clipboard/transformers/CellTransformer.ts","../src/features/grid-copy-to-clipboard/transformers/RowTransformer.ts","../src/features/grid-copy-to-clipboard/transformers/ConfigTransformer.ts","../src/features/grid-copy-to-clipboard/util/HtmlRenderer.ts","../src/features/grid-copy-to-clipboard/util/CopyContentToClipboard.ts","../src/features/grid-copy-to-clipboard/components/StandardTableHtmlCopyToClipboardButton.tsx"],"sourcesContent":["import {\n formatColumnIdToHeaderCellLabel,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { flatten } from \"lodash\";\nimport { ZipCelXRow } from \"zipcelx\";\nimport { StandardTableColumnGroupConfig } from \"@stenajs-webui/grid\";\n\nexport const transformTableHeaders = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>\n): ZipCelXRow => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map((columnId) => {\n const columnConfig = config.columns[columnId];\n return {\n type: \"string\",\n value:\n columnConfig.columnLabel ??\n formatColumnIdToHeaderCellLabel(String(columnId)),\n };\n })\n )\n );\n};\n\nexport const transformGroupHeaders = <TColumnKey extends string>(\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>\n): ZipCelXRow => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map((_, index) => {\n return {\n type: \"string\",\n value: index === 0 ? groupConfig.label ?? \"\" : \"\",\n };\n })\n )\n );\n};\n","import { StandardTableColumnConfig } from \"@stenajs-webui/grid\";\nimport { format } from \"date-fns\";\nimport { ZipCelXCell } from \"zipcelx\";\nimport { CustomCellFormatter } from \"../../../common/CellFormatters\";\n\nexport const transformItemToCell = <\n TItem,\n TItemValue,\n TColumnKey extends string\n>(\n item: TItem,\n itemValueResolver: StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"itemValueResolver\"],\n itemLabelFormatter:\n | StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"itemLabelFormatter\"]\n | undefined,\n formatter?: CustomCellFormatter<TItem>\n): ZipCelXCell => {\n if (formatter) {\n return createCell(formatter(item));\n }\n\n const value = itemValueResolver(item);\n\n if (itemLabelFormatter) {\n const label = itemLabelFormatter?.(value, item);\n return createCell(label);\n }\n\n if (typeof value === \"number\" || typeof value === \"string\") {\n return createCell(value);\n }\n\n if (typeof value === \"boolean\") {\n return createCell(value ? \"Y\" : \"\");\n }\n\n if (value instanceof Date) {\n return createCell(format(value, \"yyyy-MM-dd HH:mm\"));\n }\n\n if (value == null) {\n return createCell(\"\");\n }\n\n return createCell(String(value));\n};\n\nconst createCell = (value: string | number): ZipCelXCell => {\n const type = typeof value === \"number\" ? \"number\" : \"string\";\n return {\n type,\n value,\n };\n};\n","import {\n StandardTableColumnGroupConfig,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { flatten } from \"lodash\";\nimport { ZipCelXCell, ZipCelXRow } from \"zipcelx\";\nimport { transformItemToCell } from \"./CellTransformer\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport const transformTableRow = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n item: TItem,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): ZipCelXRow => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map<ZipCelXCell>((columnId) =>\n transformCell(item, columnId, config, formatters)\n )\n )\n );\n};\n\nexport const transformCell = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n item: TItem,\n columnId: TColumnKey,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): ZipCelXCell => {\n const columnConfig = config.columns[columnId];\n const formatter = formatters?.[columnId];\n return transformItemToCell(\n item,\n columnConfig.itemValueResolver,\n columnConfig.itemLabelFormatter,\n formatter\n );\n};\n","import {\n createGroupConfigAndIdsForRows,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { ZipCelXConfig, ZipCelXRow } from \"zipcelx\";\nimport {\n transformGroupHeaders,\n transformTableHeaders,\n} from \"./HeaderTransformer\";\nimport { transformTableRow } from \"./RowTransformer\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport const createZipcelxConfig = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n filename: string,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n items: Array<TItem>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): ZipCelXConfig => {\n const groupConfigsAndIds = createGroupConfigAndIdsForRows(\n \"columnGroups\" in config ? config.columnGroups : undefined,\n \"columnGroupOrder\" in config ? config.columnGroupOrder : undefined,\n \"columnOrder\" in config ? config.columnOrder : undefined\n );\n\n const headerRows: Array<ZipCelXRow> = [];\n const groupConfigs = groupConfigsAndIds.map((p) => p.groupConfig);\n\n if (\"columnGroups\" in config) {\n headerRows.push(transformGroupHeaders(groupConfigs));\n }\n headerRows.push(transformTableHeaders(config, groupConfigs));\n\n return {\n filename,\n sheet: {\n data: [\n ...headerRows,\n ...items.map<ZipCelXRow>((item) =>\n transformTableRow(item, config, groupConfigs, formatters)\n ),\n ],\n },\n };\n};\n","import { StandardTableConfig } from \"@stenajs-webui/grid\";\nimport zipcelx from \"zipcelx\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\nimport { createZipcelxConfig } from \"../transformers/ConfigTransformer\";\n\nexport const downloadExcelForStandardTable = async <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n filename: string,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n items: Array<TItem>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n) => {\n const excelConfig = createZipcelxConfig(filename, config, items, formatters);\n await zipcelx(excelConfig);\n};\n","import * as React from \"react\";\nimport { useCallback } from \"react\";\nimport { downloadExcelForStandardTable } from \"../util/ExcelDownloader\";\nimport { StandardTableProps } from \"@stenajs-webui/grid\";\nimport { FlatButton, FlatButtonProps } from \"@stenajs-webui/elements\";\nimport { faFileDownload } from \"@fortawesome/free-solid-svg-icons/faFileDownload\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\ninterface StandardTableExcelExportButtonProps<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n> extends Pick<\n StandardTableProps<TItem, TColumnKey, TColumnGroupKey>,\n \"config\" | \"items\"\n >,\n Pick<FlatButtonProps, \"size\"> {\n filename?: string;\n formatters?: CustomCellFormatters<TItem, TColumnKey>;\n}\n\nexport const StandardTableExcelExportButton = function StandardTableExcelExportButton<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>({\n config,\n size,\n items,\n filename = \"exported-spreadsheet\",\n formatters,\n}: StandardTableExcelExportButtonProps<TItem, TColumnKey, TColumnGroupKey>) {\n const onClickExportExcel = useCallback(async () => {\n if (items && items.length) {\n await downloadExcelForStandardTable(filename, config, items, formatters);\n }\n }, [config, items, filename, formatters]);\n\n return (\n <FlatButton\n size={size}\n leftIcon={faFileDownload}\n onClick={onClickExportExcel}\n disabled={!items || !items.length}\n />\n );\n};\n","export const transformJustifyContentToTextAlign = (\n justifyContent: string | undefined\n): string | undefined => {\n switch (justifyContent?.toLowerCase()) {\n case \"left\":\n case \"start\":\n case \"flex-start\":\n return \"text-align: left\";\n case \"right\":\n case \"end\":\n case \"flex-end\":\n return \"text-align: right\";\n case \"center\":\n return \"text-align: center\";\n default:\n return undefined;\n }\n};\n","import {\n formatColumnIdToHeaderCellLabel,\n StandardTableColumnGroupConfig,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { flatten } from \"lodash\";\nimport { transformJustifyContentToTextAlign } from \"./AlignmentTransformer\";\n\nexport const transformTableHeaders = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>\n): string[] => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map((columnId) => {\n const columnConfig = config.columns[columnId];\n\n if (columnConfig.justifyContentHeader) {\n const styleProperty = transformJustifyContentToTextAlign(\n columnConfig.justifyContentHeader\n );\n return `<th${styleProperty ? ' style=\"' + styleProperty + '\"' : \"\"}>${\n columnConfig.columnLabel ??\n formatColumnIdToHeaderCellLabel(String(columnId))\n }</th>`;\n }\n return `<th>${\n columnConfig.columnLabel ??\n formatColumnIdToHeaderCellLabel(String(columnId))\n }</th>`;\n })\n )\n );\n};\n\nexport const transformGroupHeaders = <TColumnKey extends string>(\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>\n): string[] => {\n return flatten(\n groupConfigs.map((groupConfig) => {\n return `<th style=\"text-align: left\" colspan=\"${\n groupConfig.columnOrder.length\n }\">${groupConfig.label ?? \"\"}</th>`;\n })\n );\n};\n","import { StandardTableColumnConfig } from \"@stenajs-webui/grid\";\nimport { format } from \"date-fns\";\nimport { CustomCellFormatter } from \"../../../common/CellFormatters\";\nimport { transformJustifyContentToTextAlign } from \"./AlignmentTransformer\";\n\nexport const transformItemToCell = <\n TItem,\n TItemValue,\n TColumnKey extends string\n>(\n item: TItem,\n itemValueResolver: StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"itemValueResolver\"],\n justifyContentCell: StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"justifyContentCell\"],\n itemLabelFormatter:\n | StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"itemLabelFormatter\"]\n | undefined,\n formatter?: CustomCellFormatter<TItem>\n): string => {\n if (formatter) {\n return createCell(formatter(item), justifyContentCell);\n }\n\n const value = itemValueResolver(item);\n\n if (itemLabelFormatter) {\n const label = itemLabelFormatter?.(value, item);\n return createCell(label, justifyContentCell);\n }\n\n if (typeof value === \"number\" || typeof value === \"string\") {\n return createCell(value, justifyContentCell);\n }\n\n if (typeof value === \"boolean\") {\n return createCell(value ? \"Y\" : \"\", justifyContentCell);\n }\n\n if (value instanceof Date) {\n return createCell(format(value, \"yyyy-MM-dd HH:mm\"), justifyContentCell);\n }\n\n if (value == null) {\n return createCell(\"\", justifyContentCell);\n }\n\n return createCell(String(value), justifyContentCell);\n};\n\nconst createCell = (\n value: string | number,\n justifyContentCell: string | undefined\n): string => {\n if (justifyContentCell) {\n const styleProperty = transformJustifyContentToTextAlign(\n justifyContentCell\n );\n return `<td${\n styleProperty ? ' style=\"' + styleProperty + '\"' : \"\"\n }>${value}</td>`;\n }\n return `<td>${value}</td>`;\n};\n","import {\n StandardTableColumnGroupConfig,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { flatten } from \"lodash\";\nimport { transformItemToCell } from \"./CellTransformer\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport const transformTableRow = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n item: TItem,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): string => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map<string>((columnId) =>\n transformCell(item, columnId, config, formatters)\n )\n )\n ).join(\"\");\n};\n\nexport const transformCell = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n item: TItem,\n columnId: TColumnKey,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): string => {\n const columnConfig = config.columns[columnId];\n const formatter = formatters?.[columnId];\n return transformItemToCell(\n item,\n columnConfig.itemValueResolver,\n columnConfig.justifyContentCell,\n columnConfig.itemLabelFormatter,\n formatter\n );\n};\n","import {\n createGroupConfigAndIdsForRows,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport {\n transformGroupHeaders,\n transformTableHeaders,\n} from \"./HeaderTransformer\";\nimport { transformTableRow } from \"./RowTransformer\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport const createHtmlConfig = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n items: Array<TItem>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): string => {\n const groupConfigsAndIds = createGroupConfigAndIdsForRows(\n \"columnGroups\" in config ? config.columnGroups : undefined,\n \"columnGroupOrder\" in config ? config.columnGroupOrder : undefined,\n \"columnOrder\" in config ? config.columnOrder : undefined\n );\n\n const headerRows: Array<string> = [];\n const groupConfigs = groupConfigsAndIds.map((p) => p.groupConfig);\n\n if (\"columnGroups\" in config) {\n headerRows.push(transformGroupHeaders(groupConfigs).join(\"\"));\n }\n headerRows.push(transformTableHeaders(config, groupConfigs).join(\"\"));\n const header = `<thead>${headerRows\n .map((headerRow) => `<tr>${headerRow}</tr>`)\n .join(\"\")}</thead>`;\n\n const tbodyRows = items\n .map((item) => transformTableRow(item, config, groupConfigs, formatters))\n .map((row) => `<tr>${row}</tr>`);\n\n const body = `<tbody>${tbodyRows.join(\"\")}</tbody>`;\n return `<table>${header}${body}</table>`;\n};\n","import { StandardTableConfig } from \"@stenajs-webui/grid\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\nimport { createHtmlConfig } from \"../transformers/ConfigTransformer\";\n\nexport const renderHtmlForStandardTable = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n items: Array<TItem>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n) => {\n return createHtmlConfig(config, items, formatters);\n};\n","import { renderHtmlForStandardTable } from \"./HtmlRenderer\";\nimport * as clipboard from \"clipboard-polyfill\";\nimport { StandardTableConfig } from \"@stenajs-webui/grid/dist/features/standard-table/config/StandardTableConfig\";\nimport { CustomCellFormatter } from \"../../../common/CellFormatters\";\n\nexport async function copyContentToClipboard<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n items: TItem[] | undefined,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n formatters?:\n | Partial<Record<TColumnKey, CustomCellFormatter<TItem>>>\n | undefined,\n renderContent?: (content: string) => string | null\n) {\n let htmlToCopy: string | null = \"\";\n\n if (items && items.length) {\n htmlToCopy = renderHtmlForStandardTable(config, items, formatters);\n }\n\n if (renderContent) {\n htmlToCopy = renderContent(htmlToCopy);\n }\n if (htmlToCopy) {\n const item = new clipboard.ClipboardItem({\n \"text/html\": new Blob([htmlToCopy], { type: \"text/html\" }),\n });\n\n await clipboard.write([item]);\n }\n}\n","import * as React from \"react\";\nimport { useCallback, useState } from \"react\";\nimport { StandardTableProps } from \"@stenajs-webui/grid\";\nimport { FlatButton, FlatButtonProps } from \"@stenajs-webui/elements\";\nimport { copyContentToClipboard } from \"../util/CopyContentToClipboard\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport interface StandardTableHtmlCopyToClipboardButtonProps<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n> extends Pick<\n StandardTableProps<TItem, TColumnKey, TColumnGroupKey>,\n \"config\" | \"items\"\n >,\n Pick<FlatButtonProps, \"size\"> {\n formatters?: CustomCellFormatters<TItem, TColumnKey>;\n renderContent?: (content: string) => string | null;\n label?: string;\n labelAfterCopy?: string;\n numTimeToRevertLabel?: number;\n}\n\nexport function StandardTableHtmlCopyToClipboardButton<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>({\n config,\n renderContent,\n size,\n items,\n formatters,\n label = \"Copy to clipboard\",\n labelAfterCopy = \"Content copied!\",\n numTimeToRevertLabel = 2000,\n}: StandardTableHtmlCopyToClipboardButtonProps<\n TItem,\n TColumnKey,\n TColumnGroupKey\n>) {\n const [contentCopied, setContentCopied] = useState<boolean>(false);\n const onClickExportHtml = useCallback(async () => {\n await copyContentToClipboard(items, config, formatters, renderContent);\n\n setContentCopied(true);\n setTimeout(() => setContentCopied(false), numTimeToRevertLabel);\n }, [config, items, formatters, numTimeToRevertLabel, renderContent]);\n\n return (\n <FlatButton\n size={size}\n onClick={onClickExportHtml}\n disabled={!items || !items.length}\n label={contentCopied ? labelAfterCopy : label}\n />\n );\n}\n"],"names":["transformTableHeaders","transformGroupHeaders","transformItemToCell","createCell","transformTableRow","transformCell"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQO,IAAMA,uBAAqB,GAAG,UAKnC,MAA+D,EAC/D,YAA+D;IAE/D,OAAO,OAAO,CACZ,YAAY,CAAC,GAAG,CAAC,UAAC,WAAW;QAC3B,OAAA,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,UAAC,QAAQ;;YACnC,IAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC9C,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,KAAK,EACH,MAAA,YAAY,CAAC,WAAW,mCACxB,+BAA+B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;aACpD,CAAC;SACH,CAAC;KAAA,CACH,CACF,CAAC;AACJ,CAAC,CAAC;AAEK,IAAMC,uBAAqB,GAAG,UACnC,YAA+D;IAE/D,OAAO,OAAO,CACZ,YAAY,CAAC,GAAG,CAAC,UAAC,WAAW;QAC3B,OAAA,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,UAAC,CAAC,EAAE,KAAK;;YACnC,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,KAAK,KAAK,CAAC,GAAG,MAAA,WAAW,CAAC,KAAK,mCAAI,EAAE,GAAG,EAAE;aAClD,CAAC;SACH,CAAC;KAAA,CACH,CACF,CAAC;AACJ,CAAC;;ACvCM,IAAMC,qBAAmB,GAAG,UAKjC,IAAW,EACX,iBAIsB,EACtB,kBAMa,EACb,SAAsC;IAEtC,IAAI,SAAS,EAAE;QACb,OAAOC,YAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;KACpC;IAED,IAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAEtC,IAAI,kBAAkB,EAAE;QACtB,IAAM,KAAK,GAAG,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAG,KAAK,EAAE,IAAI,CAAC,CAAC;QAChD,OAAOA,YAAU,CAAC,KAAK,CAAC,CAAC;KAC1B;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC1D,OAAOA,YAAU,CAAC,KAAK,CAAC,CAAC;KAC1B;IAED,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;QAC9B,OAAOA,YAAU,CAAC,KAAK,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC;KACrC;IAED,IAAI,KAAK,YAAY,IAAI,EAAE;QACzB,OAAOA,YAAU,CAAC,MAAM,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC;KACtD;IAED,IAAI,KAAK,IAAI,IAAI,EAAE;QACjB,OAAOA,YAAU,CAAC,EAAE,CAAC,CAAC;KACvB;IAED,OAAOA,YAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACnC,CAAC,CAAC;AAEF,IAAMA,YAAU,GAAG,UAAC,KAAsB;IACxC,IAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC7D,OAAO;QACL,IAAI,MAAA;QACJ,KAAK,OAAA;KACN,CAAC;AACJ,CAAC;;ACpDM,IAAMC,mBAAiB,GAAG,UAK/B,IAAW,EACX,MAA+D,EAC/D,YAA+D,EAC/D,UAAoD;IAEpD,OAAO,OAAO,CACZ,YAAY,CAAC,GAAG,CAAC,UAAC,WAAW;QAC3B,OAAA,WAAW,CAAC,WAAW,CAAC,GAAG,CAAc,UAAC,QAAQ;YAChD,OAAAC,eAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC;SAAA,CAClD;KAAA,CACF,CACF,CAAC;AACJ,CAAC,CAAC;AAEK,IAAMA,eAAa,GAAG,UAK3B,IAAW,EACX,QAAoB,EACpB,MAA+D,EAC/D,UAAoD;IAEpD,IAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAM,SAAS,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG,QAAQ,CAAC,CAAC;IACzC,OAAOH,qBAAmB,CACxB,IAAI,EACJ,YAAY,CAAC,iBAAiB,EAC9B,YAAY,CAAC,kBAAkB,EAC/B,SAAS,CACV,CAAC;AACJ,CAAC;;IClCY,mBAAmB,GAAG,UAKjC,QAAgB,EAChB,MAA+D,EAC/D,KAAmB,EACnB,UAAoD;IAEpD,IAAM,kBAAkB,GAAG,8BAA8B,CACvD,cAAc,IAAI,MAAM,GAAG,MAAM,CAAC,YAAY,GAAG,SAAS,EAC1D,kBAAkB,IAAI,MAAM,GAAG,MAAM,CAAC,gBAAgB,GAAG,SAAS,EAClE,aAAa,IAAI,MAAM,GAAG,MAAM,CAAC,WAAW,GAAG,SAAS,CACzD,CAAC;IAEF,IAAM,UAAU,GAAsB,EAAE,CAAC;IACzC,IAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,WAAW,GAAA,CAAC,CAAC;IAElE,IAAI,cAAc,IAAI,MAAM,EAAE;QAC5B,UAAU,CAAC,IAAI,CAACD,uBAAqB,CAAC,YAAY,CAAC,CAAC,CAAC;KACtD;IACD,UAAU,CAAC,IAAI,CAACD,uBAAqB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC;IAE7D,OAAO;QACL,QAAQ,UAAA;QACR,KAAK,EAAE;YACL,IAAI,kCACC,UAAU,SACV,KAAK,CAAC,GAAG,CAAa,UAAC,IAAI;gBAC5B,OAAAI,mBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC;aAAA,CAC1D,OACF;SACF;KACF,CAAC;AACJ;;IC1Ca,6BAA6B,GAAG,UAK3C,QAAgB,EAChB,MAA+D,EAC/D,KAAmB,EACnB,UAAoD;;;;;gBAE9C,WAAW,GAAG,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;gBAC7E,qBAAM,OAAO,CAAC,WAAW,CAAC,EAAA;;gBAA1B,SAA0B,CAAC;;;;;;ICKhB,8BAA8B,GAAG,SAAS,8BAA8B,CAInF,EAMwE;IAV5B,iBAyB7C;QApBC,MAAM,YAAA,EACN,IAAI,UAAA,EACJ,KAAK,WAAA,EACL,gBAAiC,EAAjC,QAAQ,mBAAG,sBAAsB,KAAA,EACjC,UAAU,gBAAA;IAEV,IAAM,kBAAkB,GAAG,WAAW,CAAC;;;;0BACjC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAA,EAArB,wBAAqB;oBACvB,qBAAM,6BAA6B,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,EAAA;;oBAAxE,SAAwE,CAAC;;;;;SAE5E,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IAE1C,QACE,oBAAC,UAAU,IACT,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,kBAAkB,EAC3B,QAAQ,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,GACjC,EACF;AACJ;;AC9CO,IAAM,kCAAkC,GAAG,UAChD,cAAkC;IAElC,QAAQ,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,WAAW,EAAE;QACnC,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO,CAAC;QACb,KAAK,YAAY;YACf,OAAO,kBAAkB,CAAC;QAC5B,KAAK,OAAO,CAAC;QACb,KAAK,KAAK,CAAC;QACX,KAAK,UAAU;YACb,OAAO,mBAAmB,CAAC;QAC7B,KAAK,QAAQ;YACX,OAAO,oBAAoB,CAAC;QAC9B;YACE,OAAO,SAAS,CAAC;KACpB;AACH,CAAC;;ACTM,IAAM,qBAAqB,GAAG,UAKnC,MAA+D,EAC/D,YAA+D;IAE/D,OAAO,OAAO,CACZ,YAAY,CAAC,GAAG,CAAC,UAAC,WAAW;QAC3B,OAAA,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,UAAC,QAAQ;;YACnC,IAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAE9C,IAAI,YAAY,CAAC,oBAAoB,EAAE;gBACrC,IAAM,aAAa,GAAG,kCAAkC,CACtD,YAAY,CAAC,oBAAoB,CAClC,CAAC;gBACF,OAAO,SAAM,aAAa,GAAG,UAAU,GAAG,aAAa,GAAG,GAAG,GAAG,EAAE,WAChE,MAAA,YAAY,CAAC,WAAW,mCACxB,+BAA+B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAC5C,CAAC;aACT;YACD,OAAO,UACL,MAAA,YAAY,CAAC,WAAW,mCACxB,+BAA+B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAC5C,CAAC;SACT,CAAC;KAAA,CACH,CACF,CAAC;AACJ,CAAC,CAAC;AAEK,IAAM,qBAAqB,GAAG,UACnC,YAA+D;IAE/D,OAAO,OAAO,CACZ,YAAY,CAAC,GAAG,CAAC,UAAC,WAAW;;QAC3B,OAAO,8CACL,WAAW,CAAC,WAAW,CAAC,MAAM,YAC3B,MAAA,WAAW,CAAC,KAAK,mCAAI,EAAE,WAAO,CAAC;KACrC,CAAC,CACH,CAAC;AACJ,CAAC;;AC5CM,IAAM,mBAAmB,GAAG,UAKjC,IAAW,EACX,iBAIsB,EACtB,kBAIuB,EACvB,kBAMa,EACb,SAAsC;IAEtC,IAAI,SAAS,EAAE;QACb,OAAO,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,kBAAkB,CAAC,CAAC;KACxD;IAED,IAAM,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAEtC,IAAI,kBAAkB,EAAE;QACtB,IAAM,KAAK,GAAG,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAG,KAAK,EAAE,IAAI,CAAC,CAAC;QAChD,OAAO,UAAU,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;KAC9C;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC1D,OAAO,UAAU,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;KAC9C;IAED,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;QAC9B,OAAO,UAAU,CAAC,KAAK,GAAG,GAAG,GAAG,EAAE,EAAE,kBAAkB,CAAC,CAAC;KACzD;IAED,IAAI,KAAK,YAAY,IAAI,EAAE;QACzB,OAAO,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,kBAAkB,CAAC,EAAE,kBAAkB,CAAC,CAAC;KAC1E;IAED,IAAI,KAAK,IAAI,IAAI,EAAE;QACjB,OAAO,UAAU,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC;KAC3C;IAED,OAAO,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,IAAM,UAAU,GAAG,UACjB,KAAsB,EACtB,kBAAsC;IAEtC,IAAI,kBAAkB,EAAE;QACtB,IAAM,aAAa,GAAG,kCAAkC,CACtD,kBAAkB,CACnB,CAAC;QACF,OAAO,SACL,aAAa,GAAG,UAAU,GAAG,aAAa,GAAG,GAAG,GAAG,EAAE,UACnD,KAAK,UAAO,CAAC;KAClB;IACD,OAAO,SAAO,KAAK,UAAO,CAAC;AAC7B,CAAC;;ACjEM,IAAM,iBAAiB,GAAG,UAK/B,IAAW,EACX,MAA+D,EAC/D,YAA+D,EAC/D,UAAoD;IAEpD,OAAO,OAAO,CACZ,YAAY,CAAC,GAAG,CAAC,UAAC,WAAW;QAC3B,OAAA,WAAW,CAAC,WAAW,CAAC,GAAG,CAAS,UAAC,QAAQ;YAC3C,OAAA,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC;SAAA,CAClD;KAAA,CACF,CACF,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACb,CAAC,CAAC;AAEK,IAAM,aAAa,GAAG,UAK3B,IAAW,EACX,QAAoB,EACpB,MAA+D,EAC/D,UAAoD;IAEpD,IAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAM,SAAS,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG,QAAQ,CAAC,CAAC;IACzC,OAAO,mBAAmB,CACxB,IAAI,EACJ,YAAY,CAAC,iBAAiB,EAC9B,YAAY,CAAC,kBAAkB,EAC/B,YAAY,CAAC,kBAAkB,EAC/B,SAAS,CACV,CAAC;AACJ,CAAC;;ICnCY,gBAAgB,GAAG,UAK9B,MAA+D,EAC/D,KAAmB,EACnB,UAAoD;IAEpD,IAAM,kBAAkB,GAAG,8BAA8B,CACvD,cAAc,IAAI,MAAM,GAAG,MAAM,CAAC,YAAY,GAAG,SAAS,EAC1D,kBAAkB,IAAI,MAAM,GAAG,MAAM,CAAC,gBAAgB,GAAG,SAAS,EAClE,aAAa,IAAI,MAAM,GAAG,MAAM,CAAC,WAAW,GAAG,SAAS,CACzD,CAAC;IAEF,IAAM,UAAU,GAAkB,EAAE,CAAC;IACrC,IAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,WAAW,GAAA,CAAC,CAAC;IAElE,IAAI,cAAc,IAAI,MAAM,EAAE;QAC5B,UAAU,CAAC,IAAI,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;KAC/D;IACD,UAAU,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACtE,IAAM,MAAM,GAAG,YAAU,UAAU;SAChC,GAAG,CAAC,UAAC,SAAS,IAAK,OAAA,SAAO,SAAS,UAAO,GAAA,CAAC;SAC3C,IAAI,CAAC,EAAE,CAAC,aAAU,CAAC;IAEtB,IAAM,SAAS,GAAG,KAAK;SACpB,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,GAAA,CAAC;SACxE,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,SAAO,GAAG,UAAO,GAAA,CAAC,CAAC;IAEnC,IAAM,IAAI,GAAG,YAAU,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,aAAU,CAAC;IACpD,OAAO,YAAU,MAAM,GAAG,IAAI,aAAU,CAAC;AAC3C;;ACvCO,IAAM,0BAA0B,GAAG,UAKxC,MAA+D,EAC/D,KAAmB,EACnB,UAAoD;IAEpD,OAAO,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;AACrD,CAAC;;SCTqB,sBAAsB,CAK1C,KAA0B,EAC1B,MAA+D,EAC/D,UAEa,EACb,aAAkD;;;;;;oBAE9C,UAAU,GAAkB,EAAE,CAAC;oBAEnC,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;wBACzB,UAAU,GAAG,0BAA0B,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;qBACpE;oBAED,IAAI,aAAa,EAAE;wBACjB,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;qBACxC;yBACG,UAAU,EAAV,wBAAU;oBACN,IAAI,GAAG,IAAI,SAAS,CAAC,aAAa,CAAC;wBACvC,WAAW,EAAE,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;qBAC3D,CAAC,CAAC;oBAEH,qBAAM,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,EAAA;;oBAA7B,SAA6B,CAAC;;;;;;;;SCRlB,sCAAsC,CAIpD,EAaD;IAjBD,iBAkCC;QA7BC,MAAM,YAAA,EACN,aAAa,mBAAA,EACb,IAAI,UAAA,EACJ,KAAK,WAAA,EACL,UAAU,gBAAA,EACV,aAA2B,EAA3B,KAAK,mBAAG,mBAAmB,KAAA,EAC3B,sBAAkC,EAAlC,cAAc,mBAAG,iBAAiB,KAAA,EAClC,4BAA2B,EAA3B,oBAAoB,mBAAG,IAAI,KAAA;IAMrB,IAAA,KAAoC,QAAQ,CAAU,KAAK,CAAC,EAA3D,aAAa,QAAA,EAAE,gBAAgB,QAA4B,CAAC;IACnE,IAAM,iBAAiB,GAAG,WAAW,CAAC;;;wBACpC,qBAAM,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,CAAC,EAAA;;oBAAtE,SAAsE,CAAC;oBAEvE,gBAAgB,CAAC,IAAI,CAAC,CAAC;oBACvB,UAAU,CAAC,cAAM,OAAA,gBAAgB,CAAC,KAAK,CAAC,GAAA,EAAE,oBAAoB,CAAC,CAAC;;;;SACjE,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAE,aAAa,CAAC,CAAC,CAAC;IAErE,QACE,oBAAC,UAAU,IACT,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EACjC,KAAK,EAAE,aAAa,GAAG,cAAc,GAAG,KAAK,GAC7C,EACF;AACJ;;;;"}
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../src/features/grid-excel-export/transformers/HeaderTransformer.ts","../src/features/grid-excel-export/transformers/CellTransformer.ts","../src/features/grid-excel-export/transformers/RowTransformer.ts","../src/features/grid-excel-export/transformers/ConfigTransformer.ts","../src/features/grid-excel-export/util/ExcelDownloader.ts","../src/features/grid-excel-export/components/StandardTableExcelExportButton.tsx","../src/features/grid-copy-to-clipboard/transformers/AlignmentTransformer.ts","../src/features/grid-copy-to-clipboard/transformers/HeaderTransformer.ts","../src/features/grid-copy-to-clipboard/transformers/CellTransformer.ts","../src/features/grid-copy-to-clipboard/transformers/RowTransformer.ts","../src/features/grid-copy-to-clipboard/transformers/ConfigTransformer.ts","../src/features/grid-copy-to-clipboard/util/HtmlRenderer.ts","../src/features/grid-copy-to-clipboard/util/CopyContentToClipboard.ts","../src/features/grid-copy-to-clipboard/components/StandardTableHtmlCopyToClipboardButton.tsx"],"sourcesContent":["import {\n formatColumnIdToHeaderCellLabel,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { flatten } from \"lodash\";\nimport { ZipCelXRow } from \"zipcelx\";\nimport { StandardTableColumnGroupConfig } from \"@stenajs-webui/grid\";\n\nexport const transformTableHeaders = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>\n): ZipCelXRow => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map((columnId) => {\n const columnConfig = config.columns[columnId];\n return {\n type: \"string\",\n value:\n columnConfig.columnLabel ??\n formatColumnIdToHeaderCellLabel(String(columnId)),\n };\n })\n )\n );\n};\n\nexport const transformGroupHeaders = <TColumnKey extends string>(\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>\n): ZipCelXRow => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map((_, index) => {\n return {\n type: \"string\",\n value: index === 0 ? groupConfig.label ?? \"\" : \"\",\n };\n })\n )\n );\n};\n","import { StandardTableColumnConfig } from \"@stenajs-webui/grid\";\nimport { format } from \"date-fns\";\nimport { ZipCelXCell } from \"zipcelx\";\nimport { CustomCellFormatter } from \"../../../common/CellFormatters\";\n\nexport const transformItemToCell = <\n TItem,\n TItemValue,\n TColumnKey extends string\n>(\n item: TItem,\n itemValueResolver: StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"itemValueResolver\"],\n itemLabelFormatter:\n | StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"itemLabelFormatter\"]\n | undefined,\n formatter?: CustomCellFormatter<TItem>\n): ZipCelXCell => {\n if (formatter) {\n return createCell(formatter(item));\n }\n\n const value = itemValueResolver(item);\n\n if (itemLabelFormatter) {\n const label = itemLabelFormatter?.(value, item);\n return createCell(label);\n }\n\n if (typeof value === \"number\" || typeof value === \"string\") {\n return createCell(value);\n }\n\n if (typeof value === \"boolean\") {\n return createCell(value ? \"Y\" : \"\");\n }\n\n if (value instanceof Date) {\n return createCell(format(value, \"yyyy-MM-dd HH:mm\"));\n }\n\n if (value == null) {\n return createCell(\"\");\n }\n\n return createCell(String(value));\n};\n\nconst createCell = (value: string | number): ZipCelXCell => {\n const type = typeof value === \"number\" ? \"number\" : \"string\";\n return {\n type,\n value,\n };\n};\n","import {\n StandardTableColumnGroupConfig,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { flatten } from \"lodash\";\nimport { ZipCelXCell, ZipCelXRow } from \"zipcelx\";\nimport { transformItemToCell } from \"./CellTransformer\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport const transformTableRow = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n item: TItem,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): ZipCelXRow => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map<ZipCelXCell>((columnId) =>\n transformCell(item, columnId, config, formatters)\n )\n )\n );\n};\n\nexport const transformCell = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n item: TItem,\n columnId: TColumnKey,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): ZipCelXCell => {\n const columnConfig = config.columns[columnId];\n const formatter = formatters?.[columnId];\n return transformItemToCell(\n item,\n columnConfig.itemValueResolver,\n columnConfig.itemLabelFormatter,\n formatter\n );\n};\n","import {\n createGroupConfigAndIdsForRows,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { ZipCelXConfig, ZipCelXRow } from \"zipcelx\";\nimport {\n transformGroupHeaders,\n transformTableHeaders,\n} from \"./HeaderTransformer\";\nimport { transformTableRow } from \"./RowTransformer\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport const createZipcelxConfig = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n filename: string,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n items: Array<TItem>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): ZipCelXConfig => {\n const groupConfigsAndIds = createGroupConfigAndIdsForRows(\n \"columnGroups\" in config ? config.columnGroups : undefined,\n \"columnGroupOrder\" in config ? config.columnGroupOrder : undefined,\n \"columnOrder\" in config ? config.columnOrder : undefined\n );\n\n const headerRows: Array<ZipCelXRow> = [];\n const groupConfigs = groupConfigsAndIds.map((p) => p.groupConfig);\n\n if (\"columnGroups\" in config) {\n headerRows.push(transformGroupHeaders(groupConfigs));\n }\n headerRows.push(transformTableHeaders(config, groupConfigs));\n\n return {\n filename,\n sheet: {\n data: [\n ...headerRows,\n ...items.map<ZipCelXRow>((item) =>\n transformTableRow(item, config, groupConfigs, formatters)\n ),\n ],\n },\n };\n};\n","import { StandardTableConfig } from \"@stenajs-webui/grid\";\nimport zipcelx from \"zipcelx\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\nimport { createZipcelxConfig } from \"../transformers/ConfigTransformer\";\n\nexport const downloadExcelForStandardTable = async <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n filename: string,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n items: Array<TItem>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n) => {\n const excelConfig = createZipcelxConfig(filename, config, items, formatters);\n await zipcelx(excelConfig);\n};\n","import * as React from \"react\";\nimport { useCallback } from \"react\";\nimport { downloadExcelForStandardTable } from \"../util/ExcelDownloader\";\nimport { StandardTableProps } from \"@stenajs-webui/grid\";\nimport { FlatButton, FlatButtonProps } from \"@stenajs-webui/elements\";\nimport { faFileDownload } from \"@fortawesome/free-solid-svg-icons/faFileDownload\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\ninterface StandardTableExcelExportButtonProps<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n> extends Pick<\n StandardTableProps<TItem, TColumnKey, TColumnGroupKey>,\n \"config\" | \"items\"\n >,\n Pick<FlatButtonProps, \"size\"> {\n filename?: string;\n formatters?: CustomCellFormatters<TItem, TColumnKey>;\n}\n\nexport const StandardTableExcelExportButton =\n function StandardTableExcelExportButton<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n >({\n config,\n size,\n items,\n filename = \"exported-spreadsheet\",\n formatters,\n }: StandardTableExcelExportButtonProps<TItem, TColumnKey, TColumnGroupKey>) {\n const onClickExportExcel = useCallback(async () => {\n if (items && items.length) {\n await downloadExcelForStandardTable(\n filename,\n config,\n items,\n formatters\n );\n }\n }, [config, items, filename, formatters]);\n\n return (\n <FlatButton\n size={size}\n leftIcon={faFileDownload}\n onClick={onClickExportExcel}\n disabled={!items || !items.length}\n />\n );\n };\n","export const transformJustifyContentToTextAlign = (\n justifyContent: string | undefined\n): string | undefined => {\n switch (justifyContent?.toLowerCase()) {\n case \"left\":\n case \"start\":\n case \"flex-start\":\n return \"text-align: left\";\n case \"right\":\n case \"end\":\n case \"flex-end\":\n return \"text-align: right\";\n case \"center\":\n return \"text-align: center\";\n default:\n return undefined;\n }\n};\n","import {\n formatColumnIdToHeaderCellLabel,\n StandardTableColumnGroupConfig,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { flatten } from \"lodash\";\nimport { transformJustifyContentToTextAlign } from \"./AlignmentTransformer\";\n\nexport const transformTableHeaders = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>\n): string[] => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map((columnId) => {\n const columnConfig = config.columns[columnId];\n\n if (columnConfig.justifyContentHeader) {\n const styleProperty = transformJustifyContentToTextAlign(\n columnConfig.justifyContentHeader\n );\n return `<th${styleProperty ? ' style=\"' + styleProperty + '\"' : \"\"}>${\n columnConfig.columnLabel ??\n formatColumnIdToHeaderCellLabel(String(columnId))\n }</th>`;\n }\n return `<th>${\n columnConfig.columnLabel ??\n formatColumnIdToHeaderCellLabel(String(columnId))\n }</th>`;\n })\n )\n );\n};\n\nexport const transformGroupHeaders = <TColumnKey extends string>(\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>\n): string[] => {\n return flatten(\n groupConfigs.map((groupConfig) => {\n return `<th style=\"text-align: left\" colspan=\"${\n groupConfig.columnOrder.length\n }\">${groupConfig.label ?? \"\"}</th>`;\n })\n );\n};\n","import { StandardTableColumnConfig } from \"@stenajs-webui/grid\";\nimport { format } from \"date-fns\";\nimport { CustomCellFormatter } from \"../../../common/CellFormatters\";\nimport { transformJustifyContentToTextAlign } from \"./AlignmentTransformer\";\n\nexport const transformItemToCell = <\n TItem,\n TItemValue,\n TColumnKey extends string\n>(\n item: TItem,\n itemValueResolver: StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"itemValueResolver\"],\n justifyContentCell: StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"justifyContentCell\"],\n itemLabelFormatter:\n | StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"itemLabelFormatter\"]\n | undefined,\n formatter?: CustomCellFormatter<TItem>\n): string => {\n if (formatter) {\n return createCell(formatter(item), justifyContentCell);\n }\n\n const value = itemValueResolver(item);\n\n if (itemLabelFormatter) {\n const label = itemLabelFormatter?.(value, item);\n return createCell(label, justifyContentCell);\n }\n\n if (typeof value === \"number\" || typeof value === \"string\") {\n return createCell(value, justifyContentCell);\n }\n\n if (typeof value === \"boolean\") {\n return createCell(value ? \"Y\" : \"\", justifyContentCell);\n }\n\n if (value instanceof Date) {\n return createCell(format(value, \"yyyy-MM-dd HH:mm\"), justifyContentCell);\n }\n\n if (value == null) {\n return createCell(\"\", justifyContentCell);\n }\n\n return createCell(String(value), justifyContentCell);\n};\n\nconst createCell = (\n value: string | number,\n justifyContentCell: string | undefined\n): string => {\n if (justifyContentCell) {\n const styleProperty =\n transformJustifyContentToTextAlign(justifyContentCell);\n return `<td${\n styleProperty ? ' style=\"' + styleProperty + '\"' : \"\"\n }>${value}</td>`;\n }\n return `<td>${value}</td>`;\n};\n","import {\n StandardTableColumnGroupConfig,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { flatten } from \"lodash\";\nimport { transformItemToCell } from \"./CellTransformer\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport const transformTableRow = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n item: TItem,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): string => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map<string>((columnId) =>\n transformCell(item, columnId, config, formatters)\n )\n )\n ).join(\"\");\n};\n\nexport const transformCell = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n item: TItem,\n columnId: TColumnKey,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): string => {\n const columnConfig = config.columns[columnId];\n const formatter = formatters?.[columnId];\n return transformItemToCell(\n item,\n columnConfig.itemValueResolver,\n columnConfig.justifyContentCell,\n columnConfig.itemLabelFormatter,\n formatter\n );\n};\n","import {\n createGroupConfigAndIdsForRows,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport {\n transformGroupHeaders,\n transformTableHeaders,\n} from \"./HeaderTransformer\";\nimport { transformTableRow } from \"./RowTransformer\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport const createHtmlConfig = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n items: Array<TItem>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): string => {\n const groupConfigsAndIds = createGroupConfigAndIdsForRows(\n \"columnGroups\" in config ? config.columnGroups : undefined,\n \"columnGroupOrder\" in config ? config.columnGroupOrder : undefined,\n \"columnOrder\" in config ? config.columnOrder : undefined\n );\n\n const headerRows: Array<string> = [];\n const groupConfigs = groupConfigsAndIds.map((p) => p.groupConfig);\n\n if (\"columnGroups\" in config) {\n headerRows.push(transformGroupHeaders(groupConfigs).join(\"\"));\n }\n headerRows.push(transformTableHeaders(config, groupConfigs).join(\"\"));\n const header = `<thead>${headerRows\n .map((headerRow) => `<tr>${headerRow}</tr>`)\n .join(\"\")}</thead>`;\n\n const tbodyRows = items\n .map((item) => transformTableRow(item, config, groupConfigs, formatters))\n .map((row) => `<tr>${row}</tr>`);\n\n const body = `<tbody>${tbodyRows.join(\"\")}</tbody>`;\n return `<table>${header}${body}</table>`;\n};\n","import { StandardTableConfig } from \"@stenajs-webui/grid\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\nimport { createHtmlConfig } from \"../transformers/ConfigTransformer\";\n\nexport const renderHtmlForStandardTable = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n items: Array<TItem>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n) => {\n return createHtmlConfig(config, items, formatters);\n};\n","import { renderHtmlForStandardTable } from \"./HtmlRenderer\";\nimport * as clipboard from \"clipboard-polyfill\";\nimport { StandardTableConfig } from \"@stenajs-webui/grid/dist/features/standard-table/config/StandardTableConfig\";\nimport { CustomCellFormatter } from \"../../../common/CellFormatters\";\n\nexport async function copyContentToClipboard<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n items: TItem[] | undefined,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n formatters?:\n | Partial<Record<TColumnKey, CustomCellFormatter<TItem>>>\n | undefined,\n renderContent?: (content: string) => string | null\n) {\n let htmlToCopy: string | null = \"\";\n\n if (items && items.length) {\n htmlToCopy = renderHtmlForStandardTable(config, items, formatters);\n }\n\n if (renderContent) {\n htmlToCopy = renderContent(htmlToCopy);\n }\n if (htmlToCopy) {\n const item = new clipboard.ClipboardItem({\n \"text/html\": new Blob([htmlToCopy], { type: \"text/html\" }),\n });\n\n await clipboard.write([item]);\n }\n}\n","import * as React from \"react\";\nimport { useCallback, useState } from \"react\";\nimport { StandardTableProps } from \"@stenajs-webui/grid\";\nimport { FlatButton, FlatButtonProps } from \"@stenajs-webui/elements\";\nimport { copyContentToClipboard } from \"../util/CopyContentToClipboard\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport interface StandardTableHtmlCopyToClipboardButtonProps<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n> extends Pick<\n StandardTableProps<TItem, TColumnKey, TColumnGroupKey>,\n \"config\" | \"items\"\n >,\n Pick<FlatButtonProps, \"size\"> {\n formatters?: CustomCellFormatters<TItem, TColumnKey>;\n renderContent?: (content: string) => string | null;\n label?: string;\n labelAfterCopy?: string;\n numTimeToRevertLabel?: number;\n}\n\nexport function StandardTableHtmlCopyToClipboardButton<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>({\n config,\n renderContent,\n size,\n items,\n formatters,\n label = \"Copy to clipboard\",\n labelAfterCopy = \"Content copied!\",\n numTimeToRevertLabel = 2000,\n}: StandardTableHtmlCopyToClipboardButtonProps<\n TItem,\n TColumnKey,\n TColumnGroupKey\n>) {\n const [contentCopied, setContentCopied] = useState<boolean>(false);\n const onClickExportHtml = useCallback(async () => {\n await copyContentToClipboard(items, config, formatters, renderContent);\n\n setContentCopied(true);\n setTimeout(() => setContentCopied(false), numTimeToRevertLabel);\n }, [config, items, formatters, numTimeToRevertLabel, renderContent]);\n\n return (\n <FlatButton\n size={size}\n onClick={onClickExportHtml}\n disabled={!items || !items.length}\n label={contentCopied ? labelAfterCopy : label}\n />\n );\n}\n"],"names":["transformTableHeaders","transformGroupHeaders","transformItemToCell","createCell","transformTableRow","transformCell"],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -241,16 +241,16 @@ var transformTableHeaders = function (config, groupConfigs) {
|
|
|
241
241
|
var columnConfig = config.columns[columnId];
|
|
242
242
|
if (columnConfig.justifyContentHeader) {
|
|
243
243
|
var styleProperty = transformJustifyContentToTextAlign(columnConfig.justifyContentHeader);
|
|
244
|
-
return "<th"
|
|
244
|
+
return "<th".concat(styleProperty ? ' style="' + styleProperty + '"' : "", ">").concat((_a = columnConfig.columnLabel) !== null && _a !== void 0 ? _a : grid.formatColumnIdToHeaderCellLabel(String(columnId)), "</th>");
|
|
245
245
|
}
|
|
246
|
-
return "<th>"
|
|
246
|
+
return "<th>".concat((_b = columnConfig.columnLabel) !== null && _b !== void 0 ? _b : grid.formatColumnIdToHeaderCellLabel(String(columnId)), "</th>");
|
|
247
247
|
});
|
|
248
248
|
}));
|
|
249
249
|
};
|
|
250
250
|
var transformGroupHeaders = function (groupConfigs) {
|
|
251
251
|
return lodash.flatten(groupConfigs.map(function (groupConfig) {
|
|
252
252
|
var _a;
|
|
253
|
-
return "<th style=\"text-align: left\" colspan=\""
|
|
253
|
+
return "<th style=\"text-align: left\" colspan=\"".concat(groupConfig.columnOrder.length, "\">").concat((_a = groupConfig.label) !== null && _a !== void 0 ? _a : "", "</th>");
|
|
254
254
|
}));
|
|
255
255
|
};
|
|
256
256
|
|
|
@@ -280,9 +280,9 @@ var transformItemToCell = function (item, itemValueResolver, justifyContentCell,
|
|
|
280
280
|
var createCell = function (value, justifyContentCell) {
|
|
281
281
|
if (justifyContentCell) {
|
|
282
282
|
var styleProperty = transformJustifyContentToTextAlign(justifyContentCell);
|
|
283
|
-
return "<td"
|
|
283
|
+
return "<td".concat(styleProperty ? ' style="' + styleProperty + '"' : "", ">").concat(value, "</td>");
|
|
284
284
|
}
|
|
285
|
-
return "<td>"
|
|
285
|
+
return "<td>".concat(value, "</td>");
|
|
286
286
|
};
|
|
287
287
|
|
|
288
288
|
var transformTableRow = function (item, config, groupConfigs, formatters) {
|
|
@@ -306,14 +306,14 @@ var createHtmlConfig = function (config, items, formatters) {
|
|
|
306
306
|
headerRows.push(transformGroupHeaders(groupConfigs).join(""));
|
|
307
307
|
}
|
|
308
308
|
headerRows.push(transformTableHeaders(config, groupConfigs).join(""));
|
|
309
|
-
var header = "<thead>"
|
|
310
|
-
.map(function (headerRow) { return "<tr>"
|
|
311
|
-
.join("")
|
|
309
|
+
var header = "<thead>".concat(headerRows
|
|
310
|
+
.map(function (headerRow) { return "<tr>".concat(headerRow, "</tr>"); })
|
|
311
|
+
.join(""), "</thead>");
|
|
312
312
|
var tbodyRows = items
|
|
313
313
|
.map(function (item) { return transformTableRow(item, config, groupConfigs, formatters); })
|
|
314
|
-
.map(function (row) { return "<tr>"
|
|
315
|
-
var body = "<tbody>"
|
|
316
|
-
return "<table>"
|
|
314
|
+
.map(function (row) { return "<tr>".concat(row, "</tr>"); });
|
|
315
|
+
var body = "<tbody>".concat(tbodyRows.join(""), "</tbody>");
|
|
316
|
+
return "<table>".concat(header).concat(body, "</table>");
|
|
317
317
|
};
|
|
318
318
|
|
|
319
319
|
var renderHtmlForStandardTable = function (config, items, formatters) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/features/grid-excel-export/transformers/HeaderTransformer.ts","../src/features/grid-excel-export/transformers/CellTransformer.ts","../src/features/grid-excel-export/transformers/RowTransformer.ts","../src/features/grid-excel-export/transformers/ConfigTransformer.ts","../src/features/grid-excel-export/util/ExcelDownloader.ts","../src/features/grid-excel-export/components/StandardTableExcelExportButton.tsx","../src/features/grid-copy-to-clipboard/transformers/AlignmentTransformer.ts","../src/features/grid-copy-to-clipboard/transformers/HeaderTransformer.ts","../src/features/grid-copy-to-clipboard/transformers/CellTransformer.ts","../src/features/grid-copy-to-clipboard/transformers/RowTransformer.ts","../src/features/grid-copy-to-clipboard/transformers/ConfigTransformer.ts","../src/features/grid-copy-to-clipboard/util/HtmlRenderer.ts","../src/features/grid-copy-to-clipboard/util/CopyContentToClipboard.ts","../src/features/grid-copy-to-clipboard/components/StandardTableHtmlCopyToClipboardButton.tsx"],"sourcesContent":["import {\n formatColumnIdToHeaderCellLabel,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { flatten } from \"lodash\";\nimport { ZipCelXRow } from \"zipcelx\";\nimport { StandardTableColumnGroupConfig } from \"@stenajs-webui/grid\";\n\nexport const transformTableHeaders = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>\n): ZipCelXRow => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map((columnId) => {\n const columnConfig = config.columns[columnId];\n return {\n type: \"string\",\n value:\n columnConfig.columnLabel ??\n formatColumnIdToHeaderCellLabel(String(columnId)),\n };\n })\n )\n );\n};\n\nexport const transformGroupHeaders = <TColumnKey extends string>(\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>\n): ZipCelXRow => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map((_, index) => {\n return {\n type: \"string\",\n value: index === 0 ? groupConfig.label ?? \"\" : \"\",\n };\n })\n )\n );\n};\n","import { StandardTableColumnConfig } from \"@stenajs-webui/grid\";\nimport { format } from \"date-fns\";\nimport { ZipCelXCell } from \"zipcelx\";\nimport { CustomCellFormatter } from \"../../../common/CellFormatters\";\n\nexport const transformItemToCell = <\n TItem,\n TItemValue,\n TColumnKey extends string\n>(\n item: TItem,\n itemValueResolver: StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"itemValueResolver\"],\n itemLabelFormatter:\n | StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"itemLabelFormatter\"]\n | undefined,\n formatter?: CustomCellFormatter<TItem>\n): ZipCelXCell => {\n if (formatter) {\n return createCell(formatter(item));\n }\n\n const value = itemValueResolver(item);\n\n if (itemLabelFormatter) {\n const label = itemLabelFormatter?.(value, item);\n return createCell(label);\n }\n\n if (typeof value === \"number\" || typeof value === \"string\") {\n return createCell(value);\n }\n\n if (typeof value === \"boolean\") {\n return createCell(value ? \"Y\" : \"\");\n }\n\n if (value instanceof Date) {\n return createCell(format(value, \"yyyy-MM-dd HH:mm\"));\n }\n\n if (value == null) {\n return createCell(\"\");\n }\n\n return createCell(String(value));\n};\n\nconst createCell = (value: string | number): ZipCelXCell => {\n const type = typeof value === \"number\" ? \"number\" : \"string\";\n return {\n type,\n value,\n };\n};\n","import {\n StandardTableColumnGroupConfig,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { flatten } from \"lodash\";\nimport { ZipCelXCell, ZipCelXRow } from \"zipcelx\";\nimport { transformItemToCell } from \"./CellTransformer\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport const transformTableRow = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n item: TItem,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): ZipCelXRow => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map<ZipCelXCell>((columnId) =>\n transformCell(item, columnId, config, formatters)\n )\n )\n );\n};\n\nexport const transformCell = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n item: TItem,\n columnId: TColumnKey,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): ZipCelXCell => {\n const columnConfig = config.columns[columnId];\n const formatter = formatters?.[columnId];\n return transformItemToCell(\n item,\n columnConfig.itemValueResolver,\n columnConfig.itemLabelFormatter,\n formatter\n );\n};\n","import {\n createGroupConfigAndIdsForRows,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { ZipCelXConfig, ZipCelXRow } from \"zipcelx\";\nimport {\n transformGroupHeaders,\n transformTableHeaders,\n} from \"./HeaderTransformer\";\nimport { transformTableRow } from \"./RowTransformer\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport const createZipcelxConfig = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n filename: string,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n items: Array<TItem>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): ZipCelXConfig => {\n const groupConfigsAndIds = createGroupConfigAndIdsForRows(\n \"columnGroups\" in config ? config.columnGroups : undefined,\n \"columnGroupOrder\" in config ? config.columnGroupOrder : undefined,\n \"columnOrder\" in config ? config.columnOrder : undefined\n );\n\n const headerRows: Array<ZipCelXRow> = [];\n const groupConfigs = groupConfigsAndIds.map((p) => p.groupConfig);\n\n if (\"columnGroups\" in config) {\n headerRows.push(transformGroupHeaders(groupConfigs));\n }\n headerRows.push(transformTableHeaders(config, groupConfigs));\n\n return {\n filename,\n sheet: {\n data: [\n ...headerRows,\n ...items.map<ZipCelXRow>((item) =>\n transformTableRow(item, config, groupConfigs, formatters)\n ),\n ],\n },\n };\n};\n","import { StandardTableConfig } from \"@stenajs-webui/grid\";\nimport zipcelx from \"zipcelx\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\nimport { createZipcelxConfig } from \"../transformers/ConfigTransformer\";\n\nexport const downloadExcelForStandardTable = async <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n filename: string,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n items: Array<TItem>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n) => {\n const excelConfig = createZipcelxConfig(filename, config, items, formatters);\n await zipcelx(excelConfig);\n};\n","import * as React from \"react\";\nimport { useCallback } from \"react\";\nimport { downloadExcelForStandardTable } from \"../util/ExcelDownloader\";\nimport { StandardTableProps } from \"@stenajs-webui/grid\";\nimport { FlatButton, FlatButtonProps } from \"@stenajs-webui/elements\";\nimport { faFileDownload } from \"@fortawesome/free-solid-svg-icons/faFileDownload\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\ninterface StandardTableExcelExportButtonProps<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n> extends Pick<\n StandardTableProps<TItem, TColumnKey, TColumnGroupKey>,\n \"config\" | \"items\"\n >,\n Pick<FlatButtonProps, \"size\"> {\n filename?: string;\n formatters?: CustomCellFormatters<TItem, TColumnKey>;\n}\n\nexport const StandardTableExcelExportButton = function StandardTableExcelExportButton<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>({\n config,\n size,\n items,\n filename = \"exported-spreadsheet\",\n formatters,\n}: StandardTableExcelExportButtonProps<TItem, TColumnKey, TColumnGroupKey>) {\n const onClickExportExcel = useCallback(async () => {\n if (items && items.length) {\n await downloadExcelForStandardTable(filename, config, items, formatters);\n }\n }, [config, items, filename, formatters]);\n\n return (\n <FlatButton\n size={size}\n leftIcon={faFileDownload}\n onClick={onClickExportExcel}\n disabled={!items || !items.length}\n />\n );\n};\n","export const transformJustifyContentToTextAlign = (\n justifyContent: string | undefined\n): string | undefined => {\n switch (justifyContent?.toLowerCase()) {\n case \"left\":\n case \"start\":\n case \"flex-start\":\n return \"text-align: left\";\n case \"right\":\n case \"end\":\n case \"flex-end\":\n return \"text-align: right\";\n case \"center\":\n return \"text-align: center\";\n default:\n return undefined;\n }\n};\n","import {\n formatColumnIdToHeaderCellLabel,\n StandardTableColumnGroupConfig,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { flatten } from \"lodash\";\nimport { transformJustifyContentToTextAlign } from \"./AlignmentTransformer\";\n\nexport const transformTableHeaders = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>\n): string[] => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map((columnId) => {\n const columnConfig = config.columns[columnId];\n\n if (columnConfig.justifyContentHeader) {\n const styleProperty = transformJustifyContentToTextAlign(\n columnConfig.justifyContentHeader\n );\n return `<th${styleProperty ? ' style=\"' + styleProperty + '\"' : \"\"}>${\n columnConfig.columnLabel ??\n formatColumnIdToHeaderCellLabel(String(columnId))\n }</th>`;\n }\n return `<th>${\n columnConfig.columnLabel ??\n formatColumnIdToHeaderCellLabel(String(columnId))\n }</th>`;\n })\n )\n );\n};\n\nexport const transformGroupHeaders = <TColumnKey extends string>(\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>\n): string[] => {\n return flatten(\n groupConfigs.map((groupConfig) => {\n return `<th style=\"text-align: left\" colspan=\"${\n groupConfig.columnOrder.length\n }\">${groupConfig.label ?? \"\"}</th>`;\n })\n );\n};\n","import { StandardTableColumnConfig } from \"@stenajs-webui/grid\";\nimport { format } from \"date-fns\";\nimport { CustomCellFormatter } from \"../../../common/CellFormatters\";\nimport { transformJustifyContentToTextAlign } from \"./AlignmentTransformer\";\n\nexport const transformItemToCell = <\n TItem,\n TItemValue,\n TColumnKey extends string\n>(\n item: TItem,\n itemValueResolver: StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"itemValueResolver\"],\n justifyContentCell: StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"justifyContentCell\"],\n itemLabelFormatter:\n | StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"itemLabelFormatter\"]\n | undefined,\n formatter?: CustomCellFormatter<TItem>\n): string => {\n if (formatter) {\n return createCell(formatter(item), justifyContentCell);\n }\n\n const value = itemValueResolver(item);\n\n if (itemLabelFormatter) {\n const label = itemLabelFormatter?.(value, item);\n return createCell(label, justifyContentCell);\n }\n\n if (typeof value === \"number\" || typeof value === \"string\") {\n return createCell(value, justifyContentCell);\n }\n\n if (typeof value === \"boolean\") {\n return createCell(value ? \"Y\" : \"\", justifyContentCell);\n }\n\n if (value instanceof Date) {\n return createCell(format(value, \"yyyy-MM-dd HH:mm\"), justifyContentCell);\n }\n\n if (value == null) {\n return createCell(\"\", justifyContentCell);\n }\n\n return createCell(String(value), justifyContentCell);\n};\n\nconst createCell = (\n value: string | number,\n justifyContentCell: string | undefined\n): string => {\n if (justifyContentCell) {\n const styleProperty = transformJustifyContentToTextAlign(\n justifyContentCell\n );\n return `<td${\n styleProperty ? ' style=\"' + styleProperty + '\"' : \"\"\n }>${value}</td>`;\n }\n return `<td>${value}</td>`;\n};\n","import {\n StandardTableColumnGroupConfig,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { flatten } from \"lodash\";\nimport { transformItemToCell } from \"./CellTransformer\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport const transformTableRow = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n item: TItem,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): string => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map<string>((columnId) =>\n transformCell(item, columnId, config, formatters)\n )\n )\n ).join(\"\");\n};\n\nexport const transformCell = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n item: TItem,\n columnId: TColumnKey,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): string => {\n const columnConfig = config.columns[columnId];\n const formatter = formatters?.[columnId];\n return transformItemToCell(\n item,\n columnConfig.itemValueResolver,\n columnConfig.justifyContentCell,\n columnConfig.itemLabelFormatter,\n formatter\n );\n};\n","import {\n createGroupConfigAndIdsForRows,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport {\n transformGroupHeaders,\n transformTableHeaders,\n} from \"./HeaderTransformer\";\nimport { transformTableRow } from \"./RowTransformer\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport const createHtmlConfig = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n items: Array<TItem>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): string => {\n const groupConfigsAndIds = createGroupConfigAndIdsForRows(\n \"columnGroups\" in config ? config.columnGroups : undefined,\n \"columnGroupOrder\" in config ? config.columnGroupOrder : undefined,\n \"columnOrder\" in config ? config.columnOrder : undefined\n );\n\n const headerRows: Array<string> = [];\n const groupConfigs = groupConfigsAndIds.map((p) => p.groupConfig);\n\n if (\"columnGroups\" in config) {\n headerRows.push(transformGroupHeaders(groupConfigs).join(\"\"));\n }\n headerRows.push(transformTableHeaders(config, groupConfigs).join(\"\"));\n const header = `<thead>${headerRows\n .map((headerRow) => `<tr>${headerRow}</tr>`)\n .join(\"\")}</thead>`;\n\n const tbodyRows = items\n .map((item) => transformTableRow(item, config, groupConfigs, formatters))\n .map((row) => `<tr>${row}</tr>`);\n\n const body = `<tbody>${tbodyRows.join(\"\")}</tbody>`;\n return `<table>${header}${body}</table>`;\n};\n","import { StandardTableConfig } from \"@stenajs-webui/grid\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\nimport { createHtmlConfig } from \"../transformers/ConfigTransformer\";\n\nexport const renderHtmlForStandardTable = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n items: Array<TItem>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n) => {\n return createHtmlConfig(config, items, formatters);\n};\n","import { renderHtmlForStandardTable } from \"./HtmlRenderer\";\nimport * as clipboard from \"clipboard-polyfill\";\nimport { StandardTableConfig } from \"@stenajs-webui/grid/dist/features/standard-table/config/StandardTableConfig\";\nimport { CustomCellFormatter } from \"../../../common/CellFormatters\";\n\nexport async function copyContentToClipboard<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n items: TItem[] | undefined,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n formatters?:\n | Partial<Record<TColumnKey, CustomCellFormatter<TItem>>>\n | undefined,\n renderContent?: (content: string) => string | null\n) {\n let htmlToCopy: string | null = \"\";\n\n if (items && items.length) {\n htmlToCopy = renderHtmlForStandardTable(config, items, formatters);\n }\n\n if (renderContent) {\n htmlToCopy = renderContent(htmlToCopy);\n }\n if (htmlToCopy) {\n const item = new clipboard.ClipboardItem({\n \"text/html\": new Blob([htmlToCopy], { type: \"text/html\" }),\n });\n\n await clipboard.write([item]);\n }\n}\n","import * as React from \"react\";\nimport { useCallback, useState } from \"react\";\nimport { StandardTableProps } from \"@stenajs-webui/grid\";\nimport { FlatButton, FlatButtonProps } from \"@stenajs-webui/elements\";\nimport { copyContentToClipboard } from \"../util/CopyContentToClipboard\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport interface StandardTableHtmlCopyToClipboardButtonProps<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n> extends Pick<\n StandardTableProps<TItem, TColumnKey, TColumnGroupKey>,\n \"config\" | \"items\"\n >,\n Pick<FlatButtonProps, \"size\"> {\n formatters?: CustomCellFormatters<TItem, TColumnKey>;\n renderContent?: (content: string) => string | null;\n label?: string;\n labelAfterCopy?: string;\n numTimeToRevertLabel?: number;\n}\n\nexport function StandardTableHtmlCopyToClipboardButton<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>({\n config,\n renderContent,\n size,\n items,\n formatters,\n label = \"Copy to clipboard\",\n labelAfterCopy = \"Content copied!\",\n numTimeToRevertLabel = 2000,\n}: StandardTableHtmlCopyToClipboardButtonProps<\n TItem,\n TColumnKey,\n TColumnGroupKey\n>) {\n const [contentCopied, setContentCopied] = useState<boolean>(false);\n const onClickExportHtml = useCallback(async () => {\n await copyContentToClipboard(items, config, formatters, renderContent);\n\n setContentCopied(true);\n setTimeout(() => setContentCopied(false), numTimeToRevertLabel);\n }, [config, items, formatters, numTimeToRevertLabel, renderContent]);\n\n return (\n <FlatButton\n size={size}\n onClick={onClickExportHtml}\n disabled={!items || !items.length}\n label={contentCopied ? labelAfterCopy : label}\n />\n );\n}\n"],"names":["transformTableHeaders","flatten","formatColumnIdToHeaderCellLabel","transformGroupHeaders","transformItemToCell","createCell","format","transformTableRow","transformCell","createGroupConfigAndIdsForRows","zipcelx","useCallback","React","FlatButton","faFileDownload","clipboard","useState"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/features/grid-excel-export/transformers/HeaderTransformer.ts","../src/features/grid-excel-export/transformers/CellTransformer.ts","../src/features/grid-excel-export/transformers/RowTransformer.ts","../src/features/grid-excel-export/transformers/ConfigTransformer.ts","../src/features/grid-excel-export/util/ExcelDownloader.ts","../src/features/grid-excel-export/components/StandardTableExcelExportButton.tsx","../src/features/grid-copy-to-clipboard/transformers/AlignmentTransformer.ts","../src/features/grid-copy-to-clipboard/transformers/HeaderTransformer.ts","../src/features/grid-copy-to-clipboard/transformers/CellTransformer.ts","../src/features/grid-copy-to-clipboard/transformers/RowTransformer.ts","../src/features/grid-copy-to-clipboard/transformers/ConfigTransformer.ts","../src/features/grid-copy-to-clipboard/util/HtmlRenderer.ts","../src/features/grid-copy-to-clipboard/util/CopyContentToClipboard.ts","../src/features/grid-copy-to-clipboard/components/StandardTableHtmlCopyToClipboardButton.tsx"],"sourcesContent":["import {\n formatColumnIdToHeaderCellLabel,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { flatten } from \"lodash\";\nimport { ZipCelXRow } from \"zipcelx\";\nimport { StandardTableColumnGroupConfig } from \"@stenajs-webui/grid\";\n\nexport const transformTableHeaders = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>\n): ZipCelXRow => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map((columnId) => {\n const columnConfig = config.columns[columnId];\n return {\n type: \"string\",\n value:\n columnConfig.columnLabel ??\n formatColumnIdToHeaderCellLabel(String(columnId)),\n };\n })\n )\n );\n};\n\nexport const transformGroupHeaders = <TColumnKey extends string>(\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>\n): ZipCelXRow => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map((_, index) => {\n return {\n type: \"string\",\n value: index === 0 ? groupConfig.label ?? \"\" : \"\",\n };\n })\n )\n );\n};\n","import { StandardTableColumnConfig } from \"@stenajs-webui/grid\";\nimport { format } from \"date-fns\";\nimport { ZipCelXCell } from \"zipcelx\";\nimport { CustomCellFormatter } from \"../../../common/CellFormatters\";\n\nexport const transformItemToCell = <\n TItem,\n TItemValue,\n TColumnKey extends string\n>(\n item: TItem,\n itemValueResolver: StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"itemValueResolver\"],\n itemLabelFormatter:\n | StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"itemLabelFormatter\"]\n | undefined,\n formatter?: CustomCellFormatter<TItem>\n): ZipCelXCell => {\n if (formatter) {\n return createCell(formatter(item));\n }\n\n const value = itemValueResolver(item);\n\n if (itemLabelFormatter) {\n const label = itemLabelFormatter?.(value, item);\n return createCell(label);\n }\n\n if (typeof value === \"number\" || typeof value === \"string\") {\n return createCell(value);\n }\n\n if (typeof value === \"boolean\") {\n return createCell(value ? \"Y\" : \"\");\n }\n\n if (value instanceof Date) {\n return createCell(format(value, \"yyyy-MM-dd HH:mm\"));\n }\n\n if (value == null) {\n return createCell(\"\");\n }\n\n return createCell(String(value));\n};\n\nconst createCell = (value: string | number): ZipCelXCell => {\n const type = typeof value === \"number\" ? \"number\" : \"string\";\n return {\n type,\n value,\n };\n};\n","import {\n StandardTableColumnGroupConfig,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { flatten } from \"lodash\";\nimport { ZipCelXCell, ZipCelXRow } from \"zipcelx\";\nimport { transformItemToCell } from \"./CellTransformer\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport const transformTableRow = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n item: TItem,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): ZipCelXRow => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map<ZipCelXCell>((columnId) =>\n transformCell(item, columnId, config, formatters)\n )\n )\n );\n};\n\nexport const transformCell = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n item: TItem,\n columnId: TColumnKey,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): ZipCelXCell => {\n const columnConfig = config.columns[columnId];\n const formatter = formatters?.[columnId];\n return transformItemToCell(\n item,\n columnConfig.itemValueResolver,\n columnConfig.itemLabelFormatter,\n formatter\n );\n};\n","import {\n createGroupConfigAndIdsForRows,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { ZipCelXConfig, ZipCelXRow } from \"zipcelx\";\nimport {\n transformGroupHeaders,\n transformTableHeaders,\n} from \"./HeaderTransformer\";\nimport { transformTableRow } from \"./RowTransformer\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport const createZipcelxConfig = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n filename: string,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n items: Array<TItem>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): ZipCelXConfig => {\n const groupConfigsAndIds = createGroupConfigAndIdsForRows(\n \"columnGroups\" in config ? config.columnGroups : undefined,\n \"columnGroupOrder\" in config ? config.columnGroupOrder : undefined,\n \"columnOrder\" in config ? config.columnOrder : undefined\n );\n\n const headerRows: Array<ZipCelXRow> = [];\n const groupConfigs = groupConfigsAndIds.map((p) => p.groupConfig);\n\n if (\"columnGroups\" in config) {\n headerRows.push(transformGroupHeaders(groupConfigs));\n }\n headerRows.push(transformTableHeaders(config, groupConfigs));\n\n return {\n filename,\n sheet: {\n data: [\n ...headerRows,\n ...items.map<ZipCelXRow>((item) =>\n transformTableRow(item, config, groupConfigs, formatters)\n ),\n ],\n },\n };\n};\n","import { StandardTableConfig } from \"@stenajs-webui/grid\";\nimport zipcelx from \"zipcelx\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\nimport { createZipcelxConfig } from \"../transformers/ConfigTransformer\";\n\nexport const downloadExcelForStandardTable = async <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n filename: string,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n items: Array<TItem>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n) => {\n const excelConfig = createZipcelxConfig(filename, config, items, formatters);\n await zipcelx(excelConfig);\n};\n","import * as React from \"react\";\nimport { useCallback } from \"react\";\nimport { downloadExcelForStandardTable } from \"../util/ExcelDownloader\";\nimport { StandardTableProps } from \"@stenajs-webui/grid\";\nimport { FlatButton, FlatButtonProps } from \"@stenajs-webui/elements\";\nimport { faFileDownload } from \"@fortawesome/free-solid-svg-icons/faFileDownload\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\ninterface StandardTableExcelExportButtonProps<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n> extends Pick<\n StandardTableProps<TItem, TColumnKey, TColumnGroupKey>,\n \"config\" | \"items\"\n >,\n Pick<FlatButtonProps, \"size\"> {\n filename?: string;\n formatters?: CustomCellFormatters<TItem, TColumnKey>;\n}\n\nexport const StandardTableExcelExportButton =\n function StandardTableExcelExportButton<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n >({\n config,\n size,\n items,\n filename = \"exported-spreadsheet\",\n formatters,\n }: StandardTableExcelExportButtonProps<TItem, TColumnKey, TColumnGroupKey>) {\n const onClickExportExcel = useCallback(async () => {\n if (items && items.length) {\n await downloadExcelForStandardTable(\n filename,\n config,\n items,\n formatters\n );\n }\n }, [config, items, filename, formatters]);\n\n return (\n <FlatButton\n size={size}\n leftIcon={faFileDownload}\n onClick={onClickExportExcel}\n disabled={!items || !items.length}\n />\n );\n };\n","export const transformJustifyContentToTextAlign = (\n justifyContent: string | undefined\n): string | undefined => {\n switch (justifyContent?.toLowerCase()) {\n case \"left\":\n case \"start\":\n case \"flex-start\":\n return \"text-align: left\";\n case \"right\":\n case \"end\":\n case \"flex-end\":\n return \"text-align: right\";\n case \"center\":\n return \"text-align: center\";\n default:\n return undefined;\n }\n};\n","import {\n formatColumnIdToHeaderCellLabel,\n StandardTableColumnGroupConfig,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { flatten } from \"lodash\";\nimport { transformJustifyContentToTextAlign } from \"./AlignmentTransformer\";\n\nexport const transformTableHeaders = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>\n): string[] => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map((columnId) => {\n const columnConfig = config.columns[columnId];\n\n if (columnConfig.justifyContentHeader) {\n const styleProperty = transformJustifyContentToTextAlign(\n columnConfig.justifyContentHeader\n );\n return `<th${styleProperty ? ' style=\"' + styleProperty + '\"' : \"\"}>${\n columnConfig.columnLabel ??\n formatColumnIdToHeaderCellLabel(String(columnId))\n }</th>`;\n }\n return `<th>${\n columnConfig.columnLabel ??\n formatColumnIdToHeaderCellLabel(String(columnId))\n }</th>`;\n })\n )\n );\n};\n\nexport const transformGroupHeaders = <TColumnKey extends string>(\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>\n): string[] => {\n return flatten(\n groupConfigs.map((groupConfig) => {\n return `<th style=\"text-align: left\" colspan=\"${\n groupConfig.columnOrder.length\n }\">${groupConfig.label ?? \"\"}</th>`;\n })\n );\n};\n","import { StandardTableColumnConfig } from \"@stenajs-webui/grid\";\nimport { format } from \"date-fns\";\nimport { CustomCellFormatter } from \"../../../common/CellFormatters\";\nimport { transformJustifyContentToTextAlign } from \"./AlignmentTransformer\";\n\nexport const transformItemToCell = <\n TItem,\n TItemValue,\n TColumnKey extends string\n>(\n item: TItem,\n itemValueResolver: StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"itemValueResolver\"],\n justifyContentCell: StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"justifyContentCell\"],\n itemLabelFormatter:\n | StandardTableColumnConfig<\n TItem,\n TItemValue,\n TColumnKey\n >[\"itemLabelFormatter\"]\n | undefined,\n formatter?: CustomCellFormatter<TItem>\n): string => {\n if (formatter) {\n return createCell(formatter(item), justifyContentCell);\n }\n\n const value = itemValueResolver(item);\n\n if (itemLabelFormatter) {\n const label = itemLabelFormatter?.(value, item);\n return createCell(label, justifyContentCell);\n }\n\n if (typeof value === \"number\" || typeof value === \"string\") {\n return createCell(value, justifyContentCell);\n }\n\n if (typeof value === \"boolean\") {\n return createCell(value ? \"Y\" : \"\", justifyContentCell);\n }\n\n if (value instanceof Date) {\n return createCell(format(value, \"yyyy-MM-dd HH:mm\"), justifyContentCell);\n }\n\n if (value == null) {\n return createCell(\"\", justifyContentCell);\n }\n\n return createCell(String(value), justifyContentCell);\n};\n\nconst createCell = (\n value: string | number,\n justifyContentCell: string | undefined\n): string => {\n if (justifyContentCell) {\n const styleProperty =\n transformJustifyContentToTextAlign(justifyContentCell);\n return `<td${\n styleProperty ? ' style=\"' + styleProperty + '\"' : \"\"\n }>${value}</td>`;\n }\n return `<td>${value}</td>`;\n};\n","import {\n StandardTableColumnGroupConfig,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport { flatten } from \"lodash\";\nimport { transformItemToCell } from \"./CellTransformer\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport const transformTableRow = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n item: TItem,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n groupConfigs: Array<StandardTableColumnGroupConfig<TColumnKey>>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): string => {\n return flatten(\n groupConfigs.map((groupConfig) =>\n groupConfig.columnOrder.map<string>((columnId) =>\n transformCell(item, columnId, config, formatters)\n )\n )\n ).join(\"\");\n};\n\nexport const transformCell = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n item: TItem,\n columnId: TColumnKey,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): string => {\n const columnConfig = config.columns[columnId];\n const formatter = formatters?.[columnId];\n return transformItemToCell(\n item,\n columnConfig.itemValueResolver,\n columnConfig.justifyContentCell,\n columnConfig.itemLabelFormatter,\n formatter\n );\n};\n","import {\n createGroupConfigAndIdsForRows,\n StandardTableConfig,\n} from \"@stenajs-webui/grid\";\nimport {\n transformGroupHeaders,\n transformTableHeaders,\n} from \"./HeaderTransformer\";\nimport { transformTableRow } from \"./RowTransformer\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport const createHtmlConfig = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n items: Array<TItem>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n): string => {\n const groupConfigsAndIds = createGroupConfigAndIdsForRows(\n \"columnGroups\" in config ? config.columnGroups : undefined,\n \"columnGroupOrder\" in config ? config.columnGroupOrder : undefined,\n \"columnOrder\" in config ? config.columnOrder : undefined\n );\n\n const headerRows: Array<string> = [];\n const groupConfigs = groupConfigsAndIds.map((p) => p.groupConfig);\n\n if (\"columnGroups\" in config) {\n headerRows.push(transformGroupHeaders(groupConfigs).join(\"\"));\n }\n headerRows.push(transformTableHeaders(config, groupConfigs).join(\"\"));\n const header = `<thead>${headerRows\n .map((headerRow) => `<tr>${headerRow}</tr>`)\n .join(\"\")}</thead>`;\n\n const tbodyRows = items\n .map((item) => transformTableRow(item, config, groupConfigs, formatters))\n .map((row) => `<tr>${row}</tr>`);\n\n const body = `<tbody>${tbodyRows.join(\"\")}</tbody>`;\n return `<table>${header}${body}</table>`;\n};\n","import { StandardTableConfig } from \"@stenajs-webui/grid\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\nimport { createHtmlConfig } from \"../transformers/ConfigTransformer\";\n\nexport const renderHtmlForStandardTable = <\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n items: Array<TItem>,\n formatters?: CustomCellFormatters<TItem, TColumnKey>\n) => {\n return createHtmlConfig(config, items, formatters);\n};\n","import { renderHtmlForStandardTable } from \"./HtmlRenderer\";\nimport * as clipboard from \"clipboard-polyfill\";\nimport { StandardTableConfig } from \"@stenajs-webui/grid/dist/features/standard-table/config/StandardTableConfig\";\nimport { CustomCellFormatter } from \"../../../common/CellFormatters\";\n\nexport async function copyContentToClipboard<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>(\n items: TItem[] | undefined,\n config: StandardTableConfig<TItem, TColumnKey, TColumnGroupKey>,\n formatters?:\n | Partial<Record<TColumnKey, CustomCellFormatter<TItem>>>\n | undefined,\n renderContent?: (content: string) => string | null\n) {\n let htmlToCopy: string | null = \"\";\n\n if (items && items.length) {\n htmlToCopy = renderHtmlForStandardTable(config, items, formatters);\n }\n\n if (renderContent) {\n htmlToCopy = renderContent(htmlToCopy);\n }\n if (htmlToCopy) {\n const item = new clipboard.ClipboardItem({\n \"text/html\": new Blob([htmlToCopy], { type: \"text/html\" }),\n });\n\n await clipboard.write([item]);\n }\n}\n","import * as React from \"react\";\nimport { useCallback, useState } from \"react\";\nimport { StandardTableProps } from \"@stenajs-webui/grid\";\nimport { FlatButton, FlatButtonProps } from \"@stenajs-webui/elements\";\nimport { copyContentToClipboard } from \"../util/CopyContentToClipboard\";\nimport { CustomCellFormatters } from \"../../../common/CellFormatters\";\n\nexport interface StandardTableHtmlCopyToClipboardButtonProps<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n> extends Pick<\n StandardTableProps<TItem, TColumnKey, TColumnGroupKey>,\n \"config\" | \"items\"\n >,\n Pick<FlatButtonProps, \"size\"> {\n formatters?: CustomCellFormatters<TItem, TColumnKey>;\n renderContent?: (content: string) => string | null;\n label?: string;\n labelAfterCopy?: string;\n numTimeToRevertLabel?: number;\n}\n\nexport function StandardTableHtmlCopyToClipboardButton<\n TItem,\n TColumnKey extends string,\n TColumnGroupKey extends string\n>({\n config,\n renderContent,\n size,\n items,\n formatters,\n label = \"Copy to clipboard\",\n labelAfterCopy = \"Content copied!\",\n numTimeToRevertLabel = 2000,\n}: StandardTableHtmlCopyToClipboardButtonProps<\n TItem,\n TColumnKey,\n TColumnGroupKey\n>) {\n const [contentCopied, setContentCopied] = useState<boolean>(false);\n const onClickExportHtml = useCallback(async () => {\n await copyContentToClipboard(items, config, formatters, renderContent);\n\n setContentCopied(true);\n setTimeout(() => setContentCopied(false), numTimeToRevertLabel);\n }, [config, items, formatters, numTimeToRevertLabel, renderContent]);\n\n return (\n <FlatButton\n size={size}\n onClick={onClickExportHtml}\n disabled={!items || !items.length}\n label={contentCopied ? labelAfterCopy : label}\n />\n );\n}\n"],"names":["transformTableHeaders","flatten","formatColumnIdToHeaderCellLabel","transformGroupHeaders","transformItemToCell","createCell","format","transformTableRow","transformCell","createGroupConfigAndIdsForRows","zipcelx","useCallback","React","FlatButton","faFileDownload","clipboard","useState"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stenajs-webui/grid-export",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "17.0.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "mattias800",
|
|
6
6
|
"license": "MIT",
|
|
@@ -28,9 +28,9 @@
|
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@fortawesome/free-solid-svg-icons": ">=5.15.3",
|
|
31
|
-
"@stenajs-webui/core": "
|
|
32
|
-
"@stenajs-webui/elements": "
|
|
33
|
-
"@stenajs-webui/grid": "
|
|
31
|
+
"@stenajs-webui/core": "17.0.0",
|
|
32
|
+
"@stenajs-webui/elements": "17.0.0",
|
|
33
|
+
"@stenajs-webui/grid": "17.0.0",
|
|
34
34
|
"@types/zipcelx": "^1.5.0",
|
|
35
35
|
"clipboard-polyfill": "^3.0.2",
|
|
36
36
|
"date-fns": "2.26.0",
|
|
@@ -40,21 +40,21 @@
|
|
|
40
40
|
"@types/lodash": ">=4.14.168",
|
|
41
41
|
"lodash": ">=4.17.21",
|
|
42
42
|
"prop-types": ">=15.5.4",
|
|
43
|
-
"react": ">=
|
|
44
|
-
"react-dom": ">=
|
|
43
|
+
"react": ">=18.2.0",
|
|
44
|
+
"react-dom": ">=18.2.0"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@types/jest": "^23.1.5",
|
|
48
48
|
"@types/lodash": "^4.14.168",
|
|
49
|
-
"@types/react": "^
|
|
50
|
-
"@types/react-dom": "^
|
|
49
|
+
"@types/react": "^18.0.14",
|
|
50
|
+
"@types/react-dom": "^18.0.5",
|
|
51
51
|
"lodash": "^4.17.21",
|
|
52
52
|
"prop-types": "^15.5.4",
|
|
53
|
-
"react": "^
|
|
54
|
-
"react-dom": "^
|
|
53
|
+
"react": "^18.2.0",
|
|
54
|
+
"react-dom": "^18.2.0"
|
|
55
55
|
},
|
|
56
56
|
"files": [
|
|
57
57
|
"dist"
|
|
58
58
|
],
|
|
59
|
-
"gitHead": "
|
|
59
|
+
"gitHead": "d2ef80338559080f4106bb97aa7a9d457615e3fb"
|
|
60
60
|
}
|