@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 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" + (styleProperty ? ' style="' + styleProperty + '"' : "") + ">" + ((_a = columnConfig.columnLabel) !== null && _a !== void 0 ? _a : formatColumnIdToHeaderCellLabel(String(columnId))) + "</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>" + ((_b = columnConfig.columnLabel) !== null && _b !== void 0 ? _b : formatColumnIdToHeaderCellLabel(String(columnId))) + "</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=\"" + groupConfig.columnOrder.length + "\">" + ((_a = groupConfig.label) !== null && _a !== void 0 ? _a : "") + "</th>";
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" + (styleProperty ? ' style="' + styleProperty + '"' : "") + ">" + value + "</td>";
256
+ return "<td".concat(styleProperty ? ' style="' + styleProperty + '"' : "", ">").concat(value, "</td>");
257
257
  }
258
- return "<td>" + value + "</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>" + headerRows
283
- .map(function (headerRow) { return "<tr>" + headerRow + "</tr>"; })
284
- .join("") + "</thead>";
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>" + row + "</tr>"; });
288
- var body = "<tbody>" + tbodyRows.join("") + "</tbody>";
289
- return "<table>" + header + body + "</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) {
@@ -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":"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"}
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" + (styleProperty ? ' style="' + styleProperty + '"' : "") + ">" + ((_a = columnConfig.columnLabel) !== null && _a !== void 0 ? _a : grid.formatColumnIdToHeaderCellLabel(String(columnId))) + "</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>" + ((_b = columnConfig.columnLabel) !== null && _b !== void 0 ? _b : grid.formatColumnIdToHeaderCellLabel(String(columnId))) + "</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=\"" + groupConfig.columnOrder.length + "\">" + ((_a = groupConfig.label) !== null && _a !== void 0 ? _a : "") + "</th>";
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" + (styleProperty ? ' style="' + styleProperty + '"' : "") + ">" + value + "</td>";
283
+ return "<td".concat(styleProperty ? ' style="' + styleProperty + '"' : "", ">").concat(value, "</td>");
284
284
  }
285
- return "<td>" + value + "</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>" + headerRows
310
- .map(function (headerRow) { return "<tr>" + headerRow + "</tr>"; })
311
- .join("") + "</thead>";
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>" + row + "</tr>"; });
315
- var body = "<tbody>" + tbodyRows.join("") + "</tbody>";
316
- return "<table>" + header + body + "</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": "15.7.0",
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": "15.7.0",
32
- "@stenajs-webui/elements": "15.7.0",
33
- "@stenajs-webui/grid": "15.7.0",
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": ">=17.0.2",
44
- "react-dom": ">=17.0.2"
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": "^17.0.5",
50
- "@types/react-dom": "^17.0.3",
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": "^17.0.2",
54
- "react-dom": "^17.0.2"
53
+ "react": "^18.2.0",
54
+ "react-dom": "^18.2.0"
55
55
  },
56
56
  "files": [
57
57
  "dist"
58
58
  ],
59
- "gitHead": "dad46ef48fd810c74fbb6fffa2b6d12e312f31ad"
59
+ "gitHead": "d2ef80338559080f4106bb97aa7a9d457615e3fb"
60
60
  }