@dcs-tech/ui 0.4.0 → 0.7.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 +27 -0
- package/dist/ChartImageMenu-C6MwKKjc.js +1494 -0
- package/dist/{ChartView-Cehrcr05.js → ChartView-nS4f4EU_.js} +514 -514
- package/dist/{SummaryChart-y27q_BBN.js → SummaryChart-CVg6i2mx.js} +2 -2
- package/dist/{SummaryImage-DDNEEu_K.js → SummaryImage-OHJHjCqe.js} +2 -2
- package/dist/{SummarySeeAll-0dX-_LFe.js → SummarySeeAll-BYrvXSJ6.js} +5 -5
- package/dist/assets/fileTask.worker-BHT1olUk.js +1 -0
- package/dist/columnValue-K98ElfJc.js +610 -0
- package/dist/exportContext-CJaIv8R-.js +166 -0
- package/dist/{exportEngine-DL-jEXFU.js → exportEngine-S8JHzYbS.js} +355 -356
- package/dist/file-worker.js +1 -0
- package/dist/fileActions-COf5Q4Eg.js +144 -0
- package/dist/{geometry-CG2nOEnw.js → geometry-ChwYB45B.js} +433 -497
- package/dist/index.js +8817 -8596
- package/dist/{defaults-DL745PK1.js → labels-CnqqTrne.js} +3 -79
- package/dist/runFileTask--4YjQH7Y.js +210 -0
- package/dist/scrollArea-DAlVT5U7.js +214 -0
- package/dist/style.css +1 -1
- package/dist/{summaryChartData-Djo73zb8.js → summaryChartData-pNvzaEHp.js} +1 -1
- package/dist/types/components/Charts/parts.d.ts +1 -1
- package/dist/types/components/Collapsible/index.d.ts +1 -1
- package/dist/types/components/DataTable/DataTable.d.ts +1 -1
- package/dist/types/components/DataTable/cards/cardFields.d.ts +2 -4
- package/dist/types/components/DataTable/columnValue.d.ts +19 -0
- package/dist/types/components/DataTable/export/exportCells.d.ts +13 -0
- package/dist/types/components/DataTable/export/exportEngine.d.ts +13 -4
- package/dist/types/components/DataTable/export/useTableExport.d.ts +2 -0
- package/dist/types/components/DataTable/host.d.ts +2 -0
- package/dist/types/components/DataTable/index.d.ts +1 -1
- package/dist/types/components/DataTable/labels.d.ts +2 -0
- package/dist/types/components/DataTable/types.d.ts +11 -0
- package/dist/types/components/DataTable/useTable.d.ts +4 -1
- package/dist/types/components/DataTable/vendor/index.d.ts +1 -1
- package/dist/types/components/Dialog/DialogHost.d.ts +1 -0
- package/dist/types/components/EditableTable/EditableTableCell.d.ts +1 -1
- package/dist/types/components/FileEngine/FileEngineContext.d.ts +17 -0
- package/dist/types/components/FileEngine/FileEngineProvider.d.ts +31 -0
- package/dist/types/components/FileEngine/FileJobsTray.d.ts +10 -0
- package/dist/types/components/FileEngine/index.d.ts +8 -0
- package/dist/types/components/FileEngine/labels.d.ts +29 -0
- package/dist/types/components/Toast/ToastHost.d.ts +1 -0
- package/dist/types/components/UIProvider/UIFormatContext.d.ts +7 -0
- package/dist/types/components/UIProvider/UIHostContext.d.ts +20 -0
- package/dist/types/components/UIProvider/UILabelsContext.d.ts +116 -0
- package/dist/types/components/UIProvider/UIProvider.d.ts +8 -1
- package/dist/types/components/UIProvider/index.d.ts +6 -0
- package/dist/types/core/logic/collapsible.logic.d.ts +6 -1
- package/dist/types/core/logic/datePicker.logic.d.ts +5 -0
- package/dist/types/core/logic/exportSafety.logic.d.ts +1 -0
- package/dist/types/core/logic/fileQueue.logic.d.ts +28 -0
- package/dist/types/core/logic/format.logic.d.ts +4 -0
- package/dist/types/core/logic/index.d.ts +4 -0
- package/dist/types/core/logic/tableDate.logic.d.ts +7 -0
- package/dist/types/core/logic/tableSummary.logic.d.ts +2 -2
- package/dist/types/core/types/collapsible.types.d.ts +4 -16
- package/dist/types/core/types/fileEngine.types.d.ts +116 -0
- package/dist/types/core/types/form.types.d.ts +4 -0
- package/dist/types/core/types/format.types.d.ts +15 -0
- package/dist/types/core/types/index.d.ts +2 -0
- package/dist/types/core/types/table.types.d.ts +1 -0
- package/dist/types/{components/DataTable/vendor → file}/fileActions.d.ts +17 -7
- package/dist/types/file/fileEngine.d.ts +49 -0
- package/dist/types/file/tasks/fileTask.worker.d.ts +1 -0
- package/dist/types/file/tasks/runFileTask.d.ts +9 -0
- package/dist/types/file/workerPool.d.ts +18 -0
- package/dist/types/index.d.ts +11 -2
- package/package.json +3 -2
- package/dist/ChartImageMenu-HILSfn5A.js +0 -1115
- package/dist/exportContext-CdpsOzE8.js +0 -235
- package/dist/scrollArea-CkPGDYH2.js +0 -210
package/README.md
CHANGED
|
@@ -69,6 +69,33 @@ The table's runtime dependencies (`@tanstack/react-table`, `@tanstack/react-virt
|
|
|
69
69
|
`@tanstack/match-sorter-utils`, `exceljs`, `pdfmake` — loaded on the first PDF export —
|
|
70
70
|
and `react-icons`) install with the package.
|
|
71
71
|
|
|
72
|
+
## Files and the background worker
|
|
73
|
+
|
|
74
|
+
Exports (DataTable, chart images, your own reports) run through one file engine that
|
|
75
|
+
`UIProvider` sets up. Excel and PDF files build in a **background worker**, so a large
|
|
76
|
+
export does not freeze the page.
|
|
77
|
+
|
|
78
|
+
The worker ships as its own file and imports `exceljs` and `pdfmake` by package name, so
|
|
79
|
+
**your bundler must treat it as a worker entry**:
|
|
80
|
+
|
|
81
|
+
- **Vite** and **webpack 5**: nothing to do. They follow the package's
|
|
82
|
+
`new Worker(new URL(…, import.meta.url))` and bundle the worker themselves.
|
|
83
|
+
- **Anything else**: build a worker from `@dcs-tech/ui/file-worker` with your bundler and hand it
|
|
84
|
+
to the engine:
|
|
85
|
+
|
|
86
|
+
```ts
|
|
87
|
+
// file.worker.ts — bundled by your setup as a module worker
|
|
88
|
+
import '@dcs-tech/ui/file-worker';
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
```tsx
|
|
92
|
+
<UIProvider fileEngine={{ createWorker: () => new Worker('/assets/file.worker.js', { type: 'module' }) }}>
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
If a worker cannot start, the engine builds the same file on the main thread instead.
|
|
96
|
+
`fileEngine={{ workers: 'off' }}` always uses the main thread. Large PDF fonts (a script font)
|
|
97
|
+
belong on the engine, so they reach each worker once: `fileEngine={{ pdfFonts: { fonts, vfs } }}`.
|
|
98
|
+
|
|
72
99
|
## Theming
|
|
73
100
|
|
|
74
101
|
Every colour, size and spacing value is a CSS custom property. Override them on
|