@coreui/data-grid 0.2.0-rc.0 → 0.4.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/README.md +4 -2
- package/dist/css/data-grid.css +11 -11
- package/dist/css/data-grid.css.map +1 -1
- package/dist/css/data-grid.min.css +2 -2
- package/dist/css/data-grid.min.css.map +1 -1
- package/dist/css/data-grid.standalone.css +1066 -0
- package/dist/css/data-grid.standalone.css.map +1 -0
- package/dist/css/data-grid.standalone.min.css +5 -0
- package/dist/css/data-grid.standalone.min.css.map +1 -0
- package/dist/js/clipboard.cjs +2 -3
- package/dist/js/clipboard.mjs +2 -3
- package/dist/js/csv.cjs +5 -6
- package/dist/js/csv.cjs.map +1 -1
- package/dist/js/csv.mjs +5 -6
- package/dist/js/csv.mjs.map +1 -1
- package/dist/js/data-grid.esm.js +5685 -5422
- package/dist/js/data-grid.esm.js.map +1 -1
- package/dist/js/data-grid.esm.min.js +2 -2
- package/dist/js/data-grid.esm.min.js.map +1 -1
- package/dist/js/data-grid.js +5685 -5423
- package/dist/js/data-grid.js.map +1 -1
- package/dist/js/data-grid.lite.esm.js +2707 -2629
- package/dist/js/data-grid.lite.esm.js.map +1 -1
- package/dist/js/data-grid.lite.esm.min.js +2 -2
- package/dist/js/data-grid.lite.esm.min.js.map +1 -1
- package/dist/js/data-grid.lite.js +2707 -2630
- package/dist/js/data-grid.lite.js.map +1 -1
- package/dist/js/data-grid.lite.min.js +2 -2
- package/dist/js/data-grid.lite.min.js.map +1 -1
- package/dist/js/data-grid.lite.mjs +2707 -2629
- package/dist/js/data-grid.lite.mjs.map +1 -1
- package/dist/js/data-grid.min.js +2 -2
- package/dist/js/data-grid.min.js.map +1 -1
- package/dist/js/data-grid.mjs +5685 -5422
- package/dist/js/data-grid.mjs.map +1 -1
- package/dist/js/direction.cjs +25 -0
- package/dist/js/direction.cjs.map +1 -0
- package/dist/js/direction.mjs +23 -0
- package/dist/js/direction.mjs.map +1 -0
- package/dist/js/drag.cjs +20 -12
- package/dist/js/drag.cjs.map +1 -1
- package/dist/js/drag.mjs +20 -12
- package/dist/js/drag.mjs.map +1 -1
- package/dist/js/{export-table-CNAKStzj.mjs → export-table-BggGRmzQ.mjs} +3 -4
- package/dist/js/{export-table-CNAKStzj.mjs.map → export-table-BggGRmzQ.mjs.map} +1 -1
- package/dist/js/{export-table-doIwvE5U.cjs → export-table-BiB3_lVo.cjs} +3 -4
- package/dist/js/{export-table-doIwvE5U.cjs.map → export-table-BiB3_lVo.cjs.map} +1 -1
- package/dist/js/filters.cjs +2 -3
- package/dist/js/filters.mjs +2 -3
- package/dist/js/labels.cjs +2 -3
- package/dist/js/labels.mjs +2 -3
- package/dist/js/print.cjs +2 -3
- package/dist/js/print.mjs +2 -3
- package/dist/js/selector.cjs +22 -0
- package/dist/js/selector.cjs.map +1 -0
- package/dist/js/selector.mjs +21 -0
- package/dist/js/selector.mjs.map +1 -0
- package/dist/js/validate.cjs +2 -3
- package/dist/js/validate.mjs +2 -3
- package/dist/js/xlsx.cjs +5 -7
- package/dist/js/xlsx.cjs.map +1 -1
- package/dist/js/xlsx.mjs +5 -7
- package/dist/js/xlsx.mjs.map +1 -1
- package/dist/types/base-component.d.mts +29 -0
- package/dist/types/data-grid.d.mts +141 -0
- package/dist/types/dom/data.d.mts +15 -0
- package/dist/types/dom/event-handler.d.mts +22 -0
- package/dist/types/dom/manipulator.d.mts +16 -0
- package/dist/types/engine/active-cell.d.mts +33 -0
- package/dist/types/engine/active-cell.d.ts +1 -0
- package/dist/types/engine/data-source.d.mts +19 -0
- package/dist/types/engine/features-lite.d.mts +25 -0
- package/dist/types/engine/features.d.mts +35 -0
- package/dist/types/engine/scheduler.d.mts +11 -0
- package/dist/types/engine/table.d.mts +9 -0
- package/dist/types/engine/table.d.ts +1 -1
- package/dist/types/engine/validate.d.mts +20 -1
- package/dist/types/engine/virtualizer.d.mts +23 -0
- package/dist/types/filters.d.mts +13 -1
- package/dist/types/icons.d.mts +23 -0
- package/dist/types/index-lite.d.mts +19 -1
- package/dist/types/index.d.mts +21 -1
- package/dist/types/labels.d.mts +9 -1
- package/dist/types/types.d.mts +284 -0
- package/dist/types/ui/body.d.mts +37 -0
- package/dist/types/ui/column-chooser.d.mts +27 -0
- package/dist/types/ui/editor.d.mts +8 -0
- package/dist/types/ui/filter-menu.d.mts +21 -0
- package/dist/types/ui/header.d.mts +51 -0
- package/dist/types/ui/loading.d.mts +12 -0
- package/dist/types/ui/menu.d.mts +17 -0
- package/dist/types/ui/pagination.d.mts +17 -0
- package/dist/types/ui/pinning.d.mts +17 -0
- package/dist/types/ui/toolbar.d.mts +42 -0
- package/dist/types/ui/tooltip.d.mts +10 -0
- package/dist/types/util/clipboard.d.mts +29 -1
- package/dist/types/util/config.d.mts +28 -0
- package/dist/types/util/csv.d.mts +19 -1
- package/dist/types/util/debounce.d.mts +7 -0
- package/dist/types/util/direction.d.mts +17 -0
- package/dist/types/util/direction.d.ts +17 -0
- package/dist/types/util/drag.d.mts +48 -1
- package/dist/types/util/export-table.d.mts +47 -0
- package/dist/types/util/index.d.mts +66 -0
- package/dist/types/util/print.d.mts +32 -1
- package/dist/types/util/sanitizer.d.mts +15 -0
- package/dist/types/util/selector.d.mts +12 -0
- package/dist/types/util/selector.d.ts +12 -0
- package/dist/types/util/xlsx.d.mts +17 -1
- package/dist/types/util/zip.d.mts +11 -0
- package/package.json +42 -16
- package/scss/_base.scss +13 -0
- package/scss/_config.scss +14 -0
- package/scss/_functions.scss +1 -0
- package/scss/_mixins.scss +1 -0
- package/scss/base/_buttons.scss +113 -0
- package/scss/base/_forms.scss +157 -0
- package/scss/base/_helpers.scss +24 -0
- package/scss/base/_pagination.scss +100 -0
- package/scss/base/_reboot.scss +93 -0
- package/scss/base/_root.scss +85 -0
- package/scss/base/_spinner.scss +45 -0
- package/scss/base/_table.scss +78 -0
- package/scss/components/_data-grid.scss +807 -0
- package/scss/data-grid.scss +7 -743
- package/scss/data-grid.standalone.scss +16 -0
- package/scss/functions/_defaults.scss +25 -0
- package/scss/mixins/_tokens.scss +12 -0
- package/src/data-grid.ts +22 -6
- package/src/engine/active-cell.ts +6 -3
- package/src/engine/table.ts +9 -1
- package/src/index-lite.ts +1 -1
- package/src/index.ts +1 -1
- package/src/ui/column-chooser.ts +4 -4
- package/src/ui/filter-menu.ts +5 -5
- package/src/ui/menu.ts +4 -4
- package/src/ui/pagination.ts +1 -1
- package/src/ui/tooltip.ts +2 -2
- package/src/util/csv.ts +2 -2
- package/src/util/direction.ts +38 -0
- package/src/util/drag.ts +45 -9
- package/src/util/selector.ts +16 -0
- package/src/util/xlsx.ts +1 -1
package/dist/js/csv.cjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* CoreUI PRO data-grid v0.
|
|
2
|
+
* CoreUI PRO data-grid v0.4.0 (https://coreui.io)
|
|
3
3
|
* Copyright 2026 The CoreUI Team (https://github.com/orgs/coreui/people)
|
|
4
4
|
* License (https://coreui.io/pro/license/)
|
|
5
5
|
*/
|
|
6
6
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
7
|
-
const require_export_table = require("./export-table-
|
|
8
|
-
|
|
7
|
+
const require_export_table = require("./export-table-BiB3_lVo.cjs");
|
|
8
|
+
// src/util/csv.ts
|
|
9
9
|
/**
|
|
10
10
|
* --------------------------------------------------------------------------
|
|
11
11
|
* CoreUI PRO data-grid util/csv.ts
|
|
@@ -22,9 +22,9 @@ const exportCsv = (table, options = {}) => {
|
|
|
22
22
|
const csv = [line(columns.map((column) => require_export_table.headerFor(column))), ...require_export_table.rowsFor(table, options.scope).map((row) => line(columns.map((column) => {
|
|
23
23
|
const value = row.getValue(column.id);
|
|
24
24
|
const formatter = require_export_table.formatterFor(column);
|
|
25
|
-
return formatter ?
|
|
25
|
+
return String(formatter ? formatter(value, row.original) ?? "" : value ?? "");
|
|
26
26
|
})))].join("\r\n");
|
|
27
|
-
return options.bom ? `\
|
|
27
|
+
return options.bom ? `\u{FEFF}${csv}` : csv;
|
|
28
28
|
};
|
|
29
29
|
const downloadCsv = (table, options = {}) => {
|
|
30
30
|
const blob = new Blob([exportCsv(table, options)], { type: "text/csv;charset=utf-8;" });
|
|
@@ -38,7 +38,6 @@ const downloadCsv = (table, options = {}) => {
|
|
|
38
38
|
anchor.remove();
|
|
39
39
|
setTimeout(() => URL.revokeObjectURL(url));
|
|
40
40
|
};
|
|
41
|
-
//#endregion
|
|
42
41
|
exports.downloadCsv = downloadCsv;
|
|
43
42
|
exports.exportCsv = exportCsv;
|
|
44
43
|
|
package/dist/js/csv.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"csv.cjs","names":["columnsFor","headerFor","rowsFor","formatterFor"],"sources":["../../src/util/csv.ts"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI PRO data-grid util/csv.ts\n * License (https://coreui.io/pro/license/)\n * --------------------------------------------------------------------------\n */\n\nimport {\n columnsFor, formatterFor, headerFor, rowsFor, type ExportScope, type ExportTable\n} from './export-table'\n\nexport interface CsvOptions {\n scope?: ExportScope\n delimiter?: string\n bom?: boolean\n sanitize?: boolean\n}\n\nexport interface CsvDownloadOptions extends CsvOptions {\n filename?: string\n}\n\nexport type CsvTable = ExportTable\n\nconst escapeField = (value: string, delimiter: string): string =>\n /[\"\\r\\n]/.test(value) || value.includes(delimiter) ? `\"${value.replace(/\"/g, '\"\"')}\"` : value\n\n// CSV formula injection: a leading =, +, -, @, tab or CR makes spreadsheets treat\n// the cell as a formula. Opt-in guard prefixes such fields with an apostrophe.\nconst sanitizeField = (value: string): string =>\n /^[=+\\-@\\t\\r]/.test(value) ? `'${value}` : value\n\nexport const exportCsv = (table: CsvTable, options: CsvOptions = {}): string => {\n const delimiter = options.delimiter ?? ','\n const columns = columnsFor(table)\n\n const process = (field: string) => escapeField(options.sanitize ? sanitizeField(field) : field, delimiter)\n const line = (fields: string[]) => fields.map(process).join(delimiter)\n\n const header = line(columns.map(column => headerFor(column)))\n const body = rowsFor(table, options.scope).map(row =>\n line(columns.map(column => {\n const value = row.getValue(column.id)\n const formatter = formatterFor(column)\n // Coerce: a formatter may return a number/null in plain-JS usage.\n return formatter ?
|
|
1
|
+
{"version":3,"file":"csv.cjs","names":["columnsFor","headerFor","rowsFor","formatterFor"],"sources":["../../src/util/csv.ts"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI PRO data-grid util/csv.ts\n * License (https://coreui.io/pro/license/)\n * --------------------------------------------------------------------------\n */\n\nimport {\n columnsFor, formatterFor, headerFor, rowsFor, type ExportScope, type ExportTable\n} from './export-table'\n\nexport interface CsvOptions {\n scope?: ExportScope\n delimiter?: string\n bom?: boolean\n sanitize?: boolean\n}\n\nexport interface CsvDownloadOptions extends CsvOptions {\n filename?: string\n}\n\nexport type CsvTable = ExportTable\n\nconst escapeField = (value: string, delimiter: string): string =>\n /[\"\\r\\n]/.test(value) || value.includes(delimiter) ? `\"${value.replace(/\"/g, '\"\"')}\"` : value\n\n// CSV formula injection: a leading =, +, -, @, tab or CR makes spreadsheets treat\n// the cell as a formula. Opt-in guard prefixes such fields with an apostrophe.\nconst sanitizeField = (value: string): string =>\n /^[=+\\-@\\t\\r]/.test(value) ? `'${value}` : value\n\nexport const exportCsv = (table: CsvTable, options: CsvOptions = {}): string => {\n const delimiter = options.delimiter ?? ','\n const columns = columnsFor(table)\n\n const process = (field: string) => escapeField(options.sanitize ? sanitizeField(field) : field, delimiter)\n const line = (fields: string[]) => fields.map(process).join(delimiter)\n\n const header = line(columns.map(column => headerFor(column)))\n const body = rowsFor(table, options.scope).map(row =>\n line(columns.map(column => {\n const value = row.getValue(column.id)\n const formatter = formatterFor(column)\n // Coerce: a formatter may return a number/null in plain-JS usage.\n return String(formatter ? formatter(value, row.original) ?? '' : value ?? '')\n }))\n )\n\n const csv = [header, ...body].join('\\r\\n')\n return options.bom ? `\\u{FEFF}${csv}` : csv\n}\n\nexport const downloadCsv = (table: CsvTable, options: CsvDownloadOptions = {}): void => {\n const blob = new Blob([exportCsv(table, options)], { type: 'text/csv;charset=utf-8;' })\n const url = URL.createObjectURL(blob)\n const anchor = document.createElement('a')\n anchor.href = url\n anchor.download = options.filename ?? 'export.csv'\n anchor.style.display = 'none'\n // Attach before clicking (older Firefox) and defer revoke (Safari race).\n document.body.append(anchor)\n anchor.click()\n anchor.remove()\n setTimeout(() => URL.revokeObjectURL(url))\n}\n"],"mappings":";;;;;;;;;;;;;;AAwBA,MAAM,eAAe,OAAe,cAClC,UAAU,KAAK,KAAK,KAAK,MAAM,SAAS,SAAS,IAAI,IAAI,MAAM,QAAQ,MAAM,MAAI,EAAE,KAAK;AAI1F,MAAM,iBAAiB,UACrB,eAAe,KAAK,KAAK,IAAI,IAAI,UAAU;AAE7C,MAAa,aAAa,OAAiB,UAAsB,CAAC,MAAc;CAC9E,MAAM,YAAY,QAAQ,aAAa;CACvC,MAAM,UAAUA,qBAAAA,WAAW,KAAK;CAEhC,MAAM,WAAW,UAAkB,YAAY,QAAQ,WAAW,cAAc,KAAK,IAAI,OAAO,SAAS;CACzG,MAAM,QAAQ,WAAqB,OAAO,IAAI,OAAO,CAAC,CAAC,KAAK,SAAS;CAYrE,MAAM,MAAM,CAVG,KAAK,QAAQ,KAAI,WAAUC,qBAAAA,UAAU,MAAM,CAAC,CAUzC,GAAG,GATRC,qBAAAA,QAAQ,OAAO,QAAQ,KAAK,CAAC,CAAC,KAAI,QAC7C,KAAK,QAAQ,KAAI,WAAU;EACzB,MAAM,QAAQ,IAAI,SAAS,OAAO,EAAE;EACpC,MAAM,YAAYC,qBAAAA,aAAa,MAAM;EAErC,OAAO,OAAO,YAAY,UAAU,OAAO,IAAI,QAAQ,KAAK,KAAK,SAAS,EAAE;CAC9E,CAAC,CAAC,CAGuB,CAAC,CAAC,CAAC,KAAK,MAAM;CACzC,OAAO,QAAQ,MAAM,WAAW,QAAQ;AAC1C;AAEA,MAAa,eAAe,OAAiB,UAA8B,CAAC,MAAY;CACtF,MAAM,OAAO,IAAI,KAAK,CAAC,UAAU,OAAO,OAAO,CAAC,GAAG,EAAE,MAAM,0BAA0B,CAAC;CACtF,MAAM,MAAM,IAAI,gBAAgB,IAAI;CACpC,MAAM,SAAS,SAAS,cAAc,GAAG;CACzC,OAAO,OAAO;CACd,OAAO,WAAW,QAAQ,YAAY;CACtC,OAAO,MAAM,UAAU;CAEvB,SAAS,KAAK,OAAO,MAAM;CAC3B,OAAO,MAAM;CACb,OAAO,OAAO;CACd,iBAAiB,IAAI,gBAAgB,GAAG,CAAC;AAC3C"}
|
package/dist/js/csv.mjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* CoreUI PRO data-grid v0.
|
|
2
|
+
* CoreUI PRO data-grid v0.4.0 (https://coreui.io)
|
|
3
3
|
* Copyright 2026 The CoreUI Team (https://github.com/orgs/coreui/people)
|
|
4
4
|
* License (https://coreui.io/pro/license/)
|
|
5
5
|
*/
|
|
6
|
-
import { i as rowsFor, n as formatterFor, r as headerFor, t as columnsFor } from "./export-table-
|
|
7
|
-
|
|
6
|
+
import { i as rowsFor, n as formatterFor, r as headerFor, t as columnsFor } from "./export-table-BggGRmzQ.mjs";
|
|
7
|
+
// src/util/csv.ts
|
|
8
8
|
/**
|
|
9
9
|
* --------------------------------------------------------------------------
|
|
10
10
|
* CoreUI PRO data-grid util/csv.ts
|
|
@@ -21,9 +21,9 @@ const exportCsv = (table, options = {}) => {
|
|
|
21
21
|
const csv = [line(columns.map((column) => headerFor(column))), ...rowsFor(table, options.scope).map((row) => line(columns.map((column) => {
|
|
22
22
|
const value = row.getValue(column.id);
|
|
23
23
|
const formatter = formatterFor(column);
|
|
24
|
-
return formatter ?
|
|
24
|
+
return String(formatter ? formatter(value, row.original) ?? "" : value ?? "");
|
|
25
25
|
})))].join("\r\n");
|
|
26
|
-
return options.bom ? `\
|
|
26
|
+
return options.bom ? `\u{FEFF}${csv}` : csv;
|
|
27
27
|
};
|
|
28
28
|
const downloadCsv = (table, options = {}) => {
|
|
29
29
|
const blob = new Blob([exportCsv(table, options)], { type: "text/csv;charset=utf-8;" });
|
|
@@ -37,7 +37,6 @@ const downloadCsv = (table, options = {}) => {
|
|
|
37
37
|
anchor.remove();
|
|
38
38
|
setTimeout(() => URL.revokeObjectURL(url));
|
|
39
39
|
};
|
|
40
|
-
//#endregion
|
|
41
40
|
export { downloadCsv, exportCsv };
|
|
42
41
|
|
|
43
42
|
//# sourceMappingURL=csv.mjs.map
|
package/dist/js/csv.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"csv.mjs","names":[],"sources":["../../src/util/csv.ts"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI PRO data-grid util/csv.ts\n * License (https://coreui.io/pro/license/)\n * --------------------------------------------------------------------------\n */\n\nimport {\n columnsFor, formatterFor, headerFor, rowsFor, type ExportScope, type ExportTable\n} from './export-table'\n\nexport interface CsvOptions {\n scope?: ExportScope\n delimiter?: string\n bom?: boolean\n sanitize?: boolean\n}\n\nexport interface CsvDownloadOptions extends CsvOptions {\n filename?: string\n}\n\nexport type CsvTable = ExportTable\n\nconst escapeField = (value: string, delimiter: string): string =>\n /[\"\\r\\n]/.test(value) || value.includes(delimiter) ? `\"${value.replace(/\"/g, '\"\"')}\"` : value\n\n// CSV formula injection: a leading =, +, -, @, tab or CR makes spreadsheets treat\n// the cell as a formula. Opt-in guard prefixes such fields with an apostrophe.\nconst sanitizeField = (value: string): string =>\n /^[=+\\-@\\t\\r]/.test(value) ? `'${value}` : value\n\nexport const exportCsv = (table: CsvTable, options: CsvOptions = {}): string => {\n const delimiter = options.delimiter ?? ','\n const columns = columnsFor(table)\n\n const process = (field: string) => escapeField(options.sanitize ? sanitizeField(field) : field, delimiter)\n const line = (fields: string[]) => fields.map(process).join(delimiter)\n\n const header = line(columns.map(column => headerFor(column)))\n const body = rowsFor(table, options.scope).map(row =>\n line(columns.map(column => {\n const value = row.getValue(column.id)\n const formatter = formatterFor(column)\n // Coerce: a formatter may return a number/null in plain-JS usage.\n return formatter ?
|
|
1
|
+
{"version":3,"file":"csv.mjs","names":[],"sources":["../../src/util/csv.ts"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * CoreUI PRO data-grid util/csv.ts\n * License (https://coreui.io/pro/license/)\n * --------------------------------------------------------------------------\n */\n\nimport {\n columnsFor, formatterFor, headerFor, rowsFor, type ExportScope, type ExportTable\n} from './export-table'\n\nexport interface CsvOptions {\n scope?: ExportScope\n delimiter?: string\n bom?: boolean\n sanitize?: boolean\n}\n\nexport interface CsvDownloadOptions extends CsvOptions {\n filename?: string\n}\n\nexport type CsvTable = ExportTable\n\nconst escapeField = (value: string, delimiter: string): string =>\n /[\"\\r\\n]/.test(value) || value.includes(delimiter) ? `\"${value.replace(/\"/g, '\"\"')}\"` : value\n\n// CSV formula injection: a leading =, +, -, @, tab or CR makes spreadsheets treat\n// the cell as a formula. Opt-in guard prefixes such fields with an apostrophe.\nconst sanitizeField = (value: string): string =>\n /^[=+\\-@\\t\\r]/.test(value) ? `'${value}` : value\n\nexport const exportCsv = (table: CsvTable, options: CsvOptions = {}): string => {\n const delimiter = options.delimiter ?? ','\n const columns = columnsFor(table)\n\n const process = (field: string) => escapeField(options.sanitize ? sanitizeField(field) : field, delimiter)\n const line = (fields: string[]) => fields.map(process).join(delimiter)\n\n const header = line(columns.map(column => headerFor(column)))\n const body = rowsFor(table, options.scope).map(row =>\n line(columns.map(column => {\n const value = row.getValue(column.id)\n const formatter = formatterFor(column)\n // Coerce: a formatter may return a number/null in plain-JS usage.\n return String(formatter ? formatter(value, row.original) ?? '' : value ?? '')\n }))\n )\n\n const csv = [header, ...body].join('\\r\\n')\n return options.bom ? `\\u{FEFF}${csv}` : csv\n}\n\nexport const downloadCsv = (table: CsvTable, options: CsvDownloadOptions = {}): void => {\n const blob = new Blob([exportCsv(table, options)], { type: 'text/csv;charset=utf-8;' })\n const url = URL.createObjectURL(blob)\n const anchor = document.createElement('a')\n anchor.href = url\n anchor.download = options.filename ?? 'export.csv'\n anchor.style.display = 'none'\n // Attach before clicking (older Firefox) and defer revoke (Safari race).\n document.body.append(anchor)\n anchor.click()\n anchor.remove()\n setTimeout(() => URL.revokeObjectURL(url))\n}\n"],"mappings":";;;;;;;;;;;;;AAwBA,MAAM,eAAe,OAAe,cAClC,UAAU,KAAK,KAAK,KAAK,MAAM,SAAS,SAAS,IAAI,IAAI,MAAM,QAAQ,MAAM,MAAI,EAAE,KAAK;AAI1F,MAAM,iBAAiB,UACrB,eAAe,KAAK,KAAK,IAAI,IAAI,UAAU;AAE7C,MAAa,aAAa,OAAiB,UAAsB,CAAC,MAAc;CAC9E,MAAM,YAAY,QAAQ,aAAa;CACvC,MAAM,UAAU,WAAW,KAAK;CAEhC,MAAM,WAAW,UAAkB,YAAY,QAAQ,WAAW,cAAc,KAAK,IAAI,OAAO,SAAS;CACzG,MAAM,QAAQ,WAAqB,OAAO,IAAI,OAAO,CAAC,CAAC,KAAK,SAAS;CAYrE,MAAM,MAAM,CAVG,KAAK,QAAQ,KAAI,WAAU,UAAU,MAAM,CAAC,CAUzC,GAAG,GATR,QAAQ,OAAO,QAAQ,KAAK,CAAC,CAAC,KAAI,QAC7C,KAAK,QAAQ,KAAI,WAAU;EACzB,MAAM,QAAQ,IAAI,SAAS,OAAO,EAAE;EACpC,MAAM,YAAY,aAAa,MAAM;EAErC,OAAO,OAAO,YAAY,UAAU,OAAO,IAAI,QAAQ,KAAK,KAAK,SAAS,EAAE;CAC9E,CAAC,CAAC,CAGuB,CAAC,CAAC,CAAC,KAAK,MAAM;CACzC,OAAO,QAAQ,MAAM,WAAW,QAAQ;AAC1C;AAEA,MAAa,eAAe,OAAiB,UAA8B,CAAC,MAAY;CACtF,MAAM,OAAO,IAAI,KAAK,CAAC,UAAU,OAAO,OAAO,CAAC,GAAG,EAAE,MAAM,0BAA0B,CAAC;CACtF,MAAM,MAAM,IAAI,gBAAgB,IAAI;CACpC,MAAM,SAAS,SAAS,cAAc,GAAG;CACzC,OAAO,OAAO;CACd,OAAO,WAAW,QAAQ,YAAY;CACtC,OAAO,MAAM,UAAU;CAEvB,SAAS,KAAK,OAAO,MAAM;CAC3B,OAAO,MAAM;CACb,OAAO,OAAO;CACd,iBAAiB,IAAI,gBAAgB,GAAG,CAAC;AAC3C"}
|