cenitu-table 0.3.0 → 0.4.0-beta.1
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 +105 -1
- package/README.tr.md +105 -1
- package/dist/cenitu-table.cjs +1 -1
- package/dist/cenitu-table.js +28 -27
- package/dist/index-CKuAiNIg.js +7053 -0
- package/dist/index-Cl7J9niR.cjs +235 -0
- package/dist/react.cjs +1 -1
- package/dist/react.js +104 -48
- package/dist/types/export/types.d.ts +2 -0
- package/dist/types/export/xlsxRead.d.ts +3 -0
- package/dist/types/grid/cellTypes.d.ts +66 -4
- package/dist/types/grid/columnMenu.d.ts +9 -0
- package/dist/types/grid/contextMenu.d.ts +1 -1
- package/dist/types/grid/grid.d.ts +175 -2
- package/dist/types/grid/messages.d.ts +15 -0
- package/dist/types/grid/search.d.ts +5 -1
- package/dist/types/grid/serverMode.d.ts +66 -0
- package/dist/types/index.d.ts +4 -1
- package/dist/types/react/index.d.ts +24 -2
- package/package.json +1 -1
- package/dist/index-BHarWDHD.cjs +0 -184
- package/dist/index-BpjIy-X9.js +0 -6264
package/README.md
CHANGED
|
@@ -19,6 +19,10 @@ A spreadsheet-like data grid with a built-in, multi-sheet formula engine. Writte
|
|
|
19
19
|
- **Formatting:** bold, italic, underline, strike-through, colors, alignment, wrapping (Ctrl+B / I / U), conditional formatting for cells or whole rows.
|
|
20
20
|
- **Layout:** frozen rows and columns, merged cells, hidden columns, column drag-and-drop.
|
|
21
21
|
- **Formula engine:** 100+ functions (SUM, IF, XLOOKUP, SUMIFS, TEXT, date functions…), dynamic arrays that spill (FILTER, SORT, UNIQUE, SEQUENCE), cross-sheet references (`'Other sheet'!A1`), named expressions, incremental recalculation, cycle detection.
|
|
22
|
+
- **Server mode:** paging, sorting and filtering on your backend, with a page bar and text, list, date and yes/no filters.
|
|
23
|
+
- **Editing:** dropdowns that store an id and show a label, choices searched on your server, custom editors, also as React components.
|
|
24
|
+
- **Rows:** expandable detail areas, hidden rows, row click events, footer totals, notes and links.
|
|
25
|
+
- **Touch:** handles follow fingers, long press opens the context menu.
|
|
22
26
|
- **Data binding:** rows as arrays or as objects bound to columns by property path; edits are written back to your objects.
|
|
23
27
|
- **Import and export:** read and write XLSX (formulas, formats, styles, frozen panes, merges), export CSV with protection against formula injection, all without any library.
|
|
24
28
|
- **Accessibility:** ARIA grid roles and an announced active cell for screen readers.
|
|
@@ -112,7 +116,107 @@ book.sheets.forEach((sheet, i) => {
|
|
|
112
116
|
});
|
|
113
117
|
```
|
|
114
118
|
|
|
115
|
-
Read: values, formulas, number formats, fonts, fills, alignment, column widths, row heights, hidden columns, frozen panes, merges and defined names. Not read: charts, images, comments, conditional formats
|
|
119
|
+
Read: values, formulas, number formats, fonts, fills, alignment, column widths, row heights, hidden rows and columns, frozen panes, merges and defined names. Not read: charts, images, comments, conditional formats and data validation. Pass `formulas: 'values'` to take the results stored in the file instead of formulas, for example when a file uses functions the engine does not have.
|
|
120
|
+
|
|
121
|
+
### Server mode
|
|
122
|
+
|
|
123
|
+
For lists too large to load, the grid describes the rows it needs and your application fetches them. It never sorts or filters on its own.
|
|
124
|
+
|
|
125
|
+
```tsx
|
|
126
|
+
<CenituTable
|
|
127
|
+
dataMode="server"
|
|
128
|
+
rowKey="id"
|
|
129
|
+
data={page.items}
|
|
130
|
+
totalCount={page.totalCount}
|
|
131
|
+
loading={isFetching}
|
|
132
|
+
loadError={isError}
|
|
133
|
+
query={query}
|
|
134
|
+
onQueryChange={setQuery}
|
|
135
|
+
columns={[
|
|
136
|
+
{ id: 'orderDate', data: 'orderDate', sortable: true, serverFilter: { kind: 'date' } },
|
|
137
|
+
{ id: 'status', data: 'status', serverFilter: { kind: 'list', options: statusOptions } },
|
|
138
|
+
{ id: 'partner', data: 'partner.name' },
|
|
139
|
+
]}
|
|
140
|
+
/>
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
`query` holds `page`, `pageSize`, `sort: [{ field, desc }]`, `filters` and `search`, always with column ids, so hiding or moving columns cannot break it. Filters are `text`, `list`, `date` (`from`, `to`) or `boolean`. Without React, listen to the `afterQueryChange` hook and pass rows to `grid.setPageRows(rows, total)`.
|
|
144
|
+
|
|
145
|
+
Rules worth knowing:
|
|
146
|
+
|
|
147
|
+
- Only columns with `sortable` or `serverFilter` get a menu.
|
|
148
|
+
- Sort, filter and page size changes return to page 1.
|
|
149
|
+
- New rows keep the sort marks, filters, column layout, scroll position and, by `rowKey`, the selection.
|
|
150
|
+
- Ignoring outdated responses is up to the application, since it makes the requests.
|
|
151
|
+
- Change events carry `rowKey` and `columnId`; saving edits, also before a page change, is up to the application.
|
|
152
|
+
- Undo history ends with each new page.
|
|
153
|
+
- Formulas are off unless `formulas` is set, and they then see only the loaded page.
|
|
154
|
+
- Select all, find and replace, and `downloadCSV`/`downloadXLSX` cover the loaded page only; `downloadAllCSV`/`downloadAllXLSX` cover the full result through `fetchAllRows`.
|
|
155
|
+
- Rows cannot be added or removed locally. A paste that does not fit is cut off and reported by `afterPasteClipped`.
|
|
156
|
+
|
|
157
|
+
### Row events and saved column layout
|
|
158
|
+
|
|
159
|
+
```tsx
|
|
160
|
+
<CenituTable
|
|
161
|
+
rowKey="id"
|
|
162
|
+
columnLayout={saved}
|
|
163
|
+
onColumnLayoutChange={(layout) => localStorage.setItem('orders', JSON.stringify(layout))}
|
|
164
|
+
onRowDoubleClick={({ rowKey }) => {
|
|
165
|
+
openOrder(rowKey);
|
|
166
|
+
return false; // keeps the cell editor closed
|
|
167
|
+
}}
|
|
168
|
+
/>
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
Layouts need column ids (`columns[i].id` or `data`). Removed columns are skipped when restoring, and new ones stay after the saved ones. A double click also fires two row clicks, as in the browser. `setColumnLayout` clears undo history when it moves columns.
|
|
172
|
+
|
|
173
|
+
### Editors and dropdowns
|
|
174
|
+
|
|
175
|
+
```tsx
|
|
176
|
+
import { reactEditor, reactRenderer } from 'cenitu-table/react';
|
|
177
|
+
|
|
178
|
+
const columns = [
|
|
179
|
+
// Stores the id, shows the label; typed and pasted labels become ids.
|
|
180
|
+
{ data: 'statusId', type: 'dropdown', source: [{ value: 1, label: 'Open' }, { value: 2, label: 'Closed' }] },
|
|
181
|
+
// Searches on the server. Older requests are aborted through `signal`.
|
|
182
|
+
{
|
|
183
|
+
data: 'partnerId',
|
|
184
|
+
type: 'dropdown',
|
|
185
|
+
loadOptions: (query, signal) => api.partners(query, { signal }),
|
|
186
|
+
resolveLabel: (id, row) => row.partner?.name,
|
|
187
|
+
},
|
|
188
|
+
{ data: 'color', editor: reactEditor(ColorPicker) }, // props: value, commit, cancel, row, col…
|
|
189
|
+
{ data: 'state', renderer: reactRenderer(StateBadge) }, // props: value, context
|
|
190
|
+
];
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
Without React, an editor is a function: `editor: ({ el, value, commit, cancel }) => ({ getValue, destroy })`. It renders into `el` and finishes with `commit(value)` or `cancel()`. A click elsewhere stores `getValue()` when given, and `destroy` runs once however it closes. With `loadOptions`, text alone changes nothing: a choice must be picked, or the cell emptied (`strict: false` allows free text).
|
|
194
|
+
|
|
195
|
+
A `renderer` may return a cleanup function, called when the cell element is recycled while scrolling.
|
|
196
|
+
|
|
197
|
+
### Rows, totals, notes and links
|
|
198
|
+
|
|
199
|
+
```ts
|
|
200
|
+
import { linkRenderer } from 'cenitu-table';
|
|
201
|
+
|
|
202
|
+
new CenituGrid(el, {
|
|
203
|
+
data,
|
|
204
|
+
rowDetail: (host, row) => void (host.textContent = row.notes), // expand mark in row headers
|
|
205
|
+
columns: [
|
|
206
|
+
{ data: 'total', summary: 'sum' }, // sum, avg, count, min, max or a function
|
|
207
|
+
{ data: 'site', renderer: linkRenderer((v) => String(v)) }, // http, https, mailto and tel only
|
|
208
|
+
],
|
|
209
|
+
});
|
|
210
|
+
|
|
211
|
+
grid.hideRows([3]);
|
|
212
|
+
grid.setCellNote(0, 1, 'Check this');
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
In server mode, totals come from `summaryValues: { total: 1234 }`, because the page cannot know them. To export the full result there, give `fetchAllRows: (query) => api.all(query)` and call `downloadAllXLSX()` or `downloadAllCSV()`.
|
|
216
|
+
|
|
217
|
+
### Theming
|
|
218
|
+
|
|
219
|
+
`theme: 'light' | 'dark' | 'auto'` can change at runtime through `updateSettings` or the React prop. Colors are CSS variables on `.ct-root`, `.ct-menu`, `.ct-bar` and `.ct-pager`: `--ct-bg`, `--ct-fg`, `--ct-muted`, `--ct-grid`, `--ct-header-bg`, `--ct-header-fg`, `--ct-header-hl`, `--ct-accent`, `--ct-range`, `--ct-error`, `--ct-invalid-bg`, `--ct-readonly-fg`, `--ct-shadow`, `--ct-match`, `--ct-note`.
|
|
116
220
|
|
|
117
221
|
### Find, formula bar, sorting by several columns
|
|
118
222
|
|
package/README.tr.md
CHANGED
|
@@ -15,6 +15,10 @@ Spreadsheet benzeri bir data grid ve ona bağlı, çok sayfalı bir formül moto
|
|
|
15
15
|
- **Biçimlendirme:** kalın, italik, altı çizili, üstü çizili, renkler, hizalama, metin kaydırma (Ctrl+B / I / U); hücre ya da tüm satır için koşullu biçimlendirme.
|
|
16
16
|
- **Yerleşim:** sabit satır ve sütunlar, birleştirilmiş hücreler, gizli sütunlar, sürükleyerek sütun taşıma.
|
|
17
17
|
- **Formül motoru:** 100'den fazla fonksiyon (SUM, IF, XLOOKUP, SUMIFS, TEXT, tarih fonksiyonları…), taşan dinamik diziler (FILTER, SORT, UNIQUE, SEQUENCE), sayfalar arası referanslar (`'Diğer Sayfa'!A1`), isimli ifadeler, artımlı yeniden hesaplama, döngü tespiti.
|
|
18
|
+
- **Sunucu modu:** sayfalama, sıralama ve süzme arka uçta; sayfa çubuğu ile metin, liste, tarih ve evet/hayır süzgeçleri.
|
|
19
|
+
- **Düzenleme:** kimlik saklayıp etiket gösteren açılır listeler, sunucuda aranan seçenekler, React bileşeni de olabilen özel editörler.
|
|
20
|
+
- **Satırlar:** açılır ayrıntı alanları, gizli satırlar, satır tıklama olayları, alt toplamlar, notlar ve bağlantılar.
|
|
21
|
+
- **Dokunmatik:** tutamaçlar parmağı izler, uzun basış sağ tık menüsünü açar.
|
|
18
22
|
- **Veri bağlama:** satırlar dizi ya da nesne olarak verilebilir. Nesnelerde sütunlar alan yoluna bağlanır ve düzenlemeler nesnelerinize geri yazılır.
|
|
19
23
|
- **İçe ve dışa aktarma:** XLSX okuma ve yazma (formüller, biçimler, stiller, sabit bölmeler, birleştirmeler), formül enjeksiyonuna karşı korumalı CSV; hiçbir kütüphane kullanmadan.
|
|
20
24
|
- **Erişilebilirlik:** ARIA grid rolleri, ekran okuyucuya duyurulan aktif hücre.
|
|
@@ -110,7 +114,107 @@ kitap.sheets.forEach((sayfa, i) => {
|
|
|
110
114
|
});
|
|
111
115
|
```
|
|
112
116
|
|
|
113
|
-
Okunanlar: değerler, formüller, sayı biçimleri, yazı tipleri, dolgular, hizalama, sütun genişlikleri, satır yükseklikleri, gizli sütunlar, sabit bölmeler, birleştirmeler ve tanımlı adlar. Okunmayanlar: grafikler, resimler, yorumlar, koşullu biçimler
|
|
117
|
+
Okunanlar: değerler, formüller, sayı biçimleri, yazı tipleri, dolgular, hizalama, sütun genişlikleri, satır yükseklikleri, gizli satır ve sütunlar, sabit bölmeler, birleştirmeler ve tanımlı adlar. Okunmayanlar: grafikler, resimler, yorumlar, koşullu biçimler ve veri doğrulama. Dosyada motorun bilmediği fonksiyonlar varsa `formulas: 'values'` ile formüller yerine dosyadaki sonuçları alabilirsiniz.
|
|
118
|
+
|
|
119
|
+
### Sunucu modu
|
|
120
|
+
|
|
121
|
+
Tarayıcıya sığmayacak listelerde grid hangi satırlara ihtiyacı olduğunu bildirir, veriyi uygulamanız getirir. Grid kendi başına sıralama ya da süzme yapmaz.
|
|
122
|
+
|
|
123
|
+
```tsx
|
|
124
|
+
<CenituTable
|
|
125
|
+
dataMode="server"
|
|
126
|
+
rowKey="id"
|
|
127
|
+
data={sayfa.items}
|
|
128
|
+
totalCount={sayfa.totalCount}
|
|
129
|
+
loading={yukleniyor}
|
|
130
|
+
loadError={hataVar}
|
|
131
|
+
query={sorgu}
|
|
132
|
+
onQueryChange={setSorgu}
|
|
133
|
+
columns={[
|
|
134
|
+
{ id: 'orderDate', data: 'orderDate', sortable: true, serverFilter: { kind: 'date' } },
|
|
135
|
+
{ id: 'status', data: 'status', serverFilter: { kind: 'list', options: durumlar } },
|
|
136
|
+
{ id: 'partner', data: 'partner.name' },
|
|
137
|
+
]}
|
|
138
|
+
/>
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
`query` içinde `page`, `pageSize`, `sort: [{ field, desc }]`, `filters` ve `search` bulunur. Alanlar her zaman kolon kimliğidir, bu yüzden kolon gizlemek ya da taşımak sorguyu bozmaz. Süzgeç türleri `text`, `list`, `date` (`from`, `to`) ve `boolean`'dır. React olmadan `afterQueryChange` olayını dinleyip satırları `grid.setPageRows(satirlar, toplam)` ile verin.
|
|
142
|
+
|
|
143
|
+
Bilmeniz gerekenler:
|
|
144
|
+
|
|
145
|
+
- Yalnızca `sortable` ya da `serverFilter` tanımlı kolonlarda menü çıkar.
|
|
146
|
+
- Sıralama, süzgeç ve sayfa boyutu değişince 1. sayfaya dönülür.
|
|
147
|
+
- Yeni satırlar gelince sıralama işaretleri, süzgeçler, kolon düzeni, kaydırma konumu ve `rowKey` ile seçim korunur.
|
|
148
|
+
- İstekleri uygulama yaptığı için eski yanıtları yok saymak da uygulamanın işidir.
|
|
149
|
+
- Değişiklik olayları `rowKey` ve `columnId` taşır; düzenlemeleri sayfa değişmeden önce de dahil kaydetmek uygulamaya aittir.
|
|
150
|
+
- Geri alma geçmişi her yeni sayfada sıfırlanır.
|
|
151
|
+
- `formulas` verilmedikçe formüller kapalıdır; açılırsa yalnızca yüklü sayfayı görür.
|
|
152
|
+
- Tümünü seçme, bul ve değiştir, `downloadCSV`/`downloadXLSX` yalnızca yüklü sayfayı kapsar; `downloadAllCSV`/`downloadAllXLSX` ise `fetchAllRows` ile tüm sonucu aktarır.
|
|
153
|
+
- Satırlar yerelde eklenip silinemez. Sığmayan yapıştırma kesilir ve `afterPasteClipped` ile bildirilir.
|
|
154
|
+
|
|
155
|
+
### Satır olayları ve kolon düzeni
|
|
156
|
+
|
|
157
|
+
```tsx
|
|
158
|
+
<CenituTable
|
|
159
|
+
rowKey="id"
|
|
160
|
+
columnLayout={kayitli}
|
|
161
|
+
onColumnLayoutChange={(duzen) => localStorage.setItem('siparisler', JSON.stringify(duzen))}
|
|
162
|
+
onRowDoubleClick={({ rowKey }) => {
|
|
163
|
+
siparisiAc(rowKey);
|
|
164
|
+
return false; // hücre editörünü kapalı tutar
|
|
165
|
+
}}
|
|
166
|
+
/>
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
Kolon düzeni için kolon kimliği gerekir (`columns[i].id` ya da `data`). Geri yüklerken kaldırılmış kolonlar atlanır, yeni kolonlar kayıtlı olanların sonrasında kalır. Tarayıcıdaki gibi çift tıklama iki satır tıklaması da üretir. `setColumnLayout` kolon taşırsa geri alma geçmişini temizler.
|
|
170
|
+
|
|
171
|
+
### Editörler ve açılır listeler
|
|
172
|
+
|
|
173
|
+
```tsx
|
|
174
|
+
import { reactEditor, reactRenderer } from 'cenitu-table/react';
|
|
175
|
+
|
|
176
|
+
const columns = [
|
|
177
|
+
// Kimliği saklar, etiketi gösterir; yazılan ve yapıştırılan etiketler kimliğe çevrilir.
|
|
178
|
+
{ data: 'durumId', type: 'dropdown', source: [{ value: 1, label: 'Açık' }, { value: 2, label: 'Kapalı' }] },
|
|
179
|
+
// Sunucuda arar. Eski istekler `signal` ile iptal edilir.
|
|
180
|
+
{
|
|
181
|
+
data: 'cariId',
|
|
182
|
+
type: 'dropdown',
|
|
183
|
+
loadOptions: (sorgu, signal) => api.cariler(sorgu, { signal }),
|
|
184
|
+
resolveLabel: (id, satir) => satir.cari?.ad,
|
|
185
|
+
},
|
|
186
|
+
{ data: 'renk', editor: reactEditor(RenkSecici) }, // prop'lar: value, commit, cancel, row, col…
|
|
187
|
+
{ data: 'durum', renderer: reactRenderer(DurumRozeti) }, // prop'lar: value, context
|
|
188
|
+
];
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
React olmadan editör bir fonksiyondur: `editor: ({ el, value, commit, cancel }) => ({ getValue, destroy })`. `el` içine çizer, `commit(deger)` ya da `cancel()` ile biter. Başka yere tıklanınca varsa `getValue()` saklanır; `destroy` nasıl kapanırsa kapansın bir kez çalışır. `loadOptions` ile yalnızca metin yazmak değeri değiştirmez: seçenek seçilmeli ya da hücre boşaltılmalıdır (`strict: false` serbest metne izin verir).
|
|
192
|
+
|
|
193
|
+
`renderer` bir temizlik fonksiyonu döndürebilir; hücre elemanı kaydırma sırasında yeniden kullanılırken çağrılır.
|
|
194
|
+
|
|
195
|
+
### Satırlar, toplamlar, notlar ve bağlantılar
|
|
196
|
+
|
|
197
|
+
```ts
|
|
198
|
+
import { linkRenderer } from 'cenitu-table';
|
|
199
|
+
|
|
200
|
+
new CenituGrid(el, {
|
|
201
|
+
data,
|
|
202
|
+
rowDetail: (alan, satir) => void (alan.textContent = satir.aciklama), // satır başlığında açma işareti
|
|
203
|
+
columns: [
|
|
204
|
+
{ data: 'tutar', summary: 'sum' }, // sum, avg, count, min, max ya da fonksiyon
|
|
205
|
+
{ data: 'site', renderer: linkRenderer((v) => String(v)) }, // yalnızca http, https, mailto, tel
|
|
206
|
+
],
|
|
207
|
+
});
|
|
208
|
+
|
|
209
|
+
grid.hideRows([3]);
|
|
210
|
+
grid.setCellNote(0, 1, 'Kontrol et');
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
Sunucu modunda toplamlar `summaryValues: { tutar: 1234 }` ile verilir, çünkü sayfa bunları bilemez. Tüm sonucu dışa aktarmak için `fetchAllRows: (sorgu) => api.tumu(sorgu)` verip `downloadAllXLSX()` ya da `downloadAllCSV()` çağırın.
|
|
214
|
+
|
|
215
|
+
### Tema
|
|
216
|
+
|
|
217
|
+
`theme: 'light' | 'dark' | 'auto'` çalışırken `updateSettings` ya da React prop'uyla değiştirilebilir. Renkler `.ct-root`, `.ct-menu`, `.ct-bar` ve `.ct-pager` üzerindeki CSS değişkenleridir: `--ct-bg`, `--ct-fg`, `--ct-muted`, `--ct-grid`, `--ct-header-bg`, `--ct-header-fg`, `--ct-header-hl`, `--ct-accent`, `--ct-range`, `--ct-error`, `--ct-invalid-bg`, `--ct-readonly-fg`, `--ct-shadow`, `--ct-match`, `--ct-note`.
|
|
114
218
|
|
|
115
219
|
### Bul, formül çubuğu, çok sütunlu sıralama
|
|
116
220
|
|
package/dist/cenitu-table.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-Cl7J9niR.cjs");exports.CSV_MIME=e.CSV_MIME;exports.CellError=e.CellError;exports.CenituGrid=e.CenituGrid;exports.FormulaEngine=e.FormulaEngine;exports.FormulaSyntaxError=e.FormulaSyntaxError;exports.MAX_COLS=e.MAX_COLS;exports.MAX_ROWS=e.MAX_ROWS;exports.RangeValue=e.RangeValue;exports.SHEET_SPAN=e.SHEET_SPAN;exports.XLSX_MIME=e.XLSX_MIME;exports.ZipReader=e.ZipReader;exports.cellKey=e.cellKey;exports.columnIndex=e.columnIndex;exports.columnLabel=e.columnLabel;exports.crc32=e.crc32;exports.dateCodeFromPattern=e.dateCodeFromPattern;exports.dateToSerial=e.dateToSerial;exports.downloadBlob=e.downloadBlob;exports.enUS=e.enUS;exports.formatDateCode=e.formatDateCode;exports.formatSerialDate=e.formatSerialDate;exports.getRegisteredFunctionNames=e.getRegisteredFunctionNames;exports.inverseMove=e.inverseMove;exports.isDateFormat=e.isDateFormat;exports.isError=e.isError;exports.isFormula=e.isFormula;exports.keyToAddress=e.keyToAddress;exports.linkRenderer=e.linkRenderer;exports.normalizeRange=e.normalizeRange;exports.numberFormatFromMeta=e.numberFormatFromMeta;exports.parseA1=e.parseA1;exports.parseDateString=e.parseDateString;exports.parseFormula=e.parseFormula;exports.pxToColWidth=e.pxToColWidth;exports.quoteSheetName=e.quoteSheetName;exports.rangeContains=e.rangeContains;exports.readXLSX=e.readXLSX;exports.registerFunction=e.registerFunction;exports.sanitizeSheetNames=e.sanitizeSheetNames;exports.serialToDate=e.serialToDate;exports.setClock=e.setClock;exports.setRandom=e.setRandom;exports.toA1=e.toA1;exports.toCSV=e.toCSV;exports.toXLSX=e.toXLSX;exports.toXLSXCompressed=e.toXLSXCompressed;exports.trTR=e.trTR;exports.unparse=e.unparse;exports.unregisterFunction=e.unregisterFunction;exports.workbookEngine=e.workbookEngine;exports.xlsxParts=e.xlsxParts;exports.zipDeflate=e.zipDeflate;exports.zipStore=e.zipStore;
|
package/dist/cenitu-table.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as e, b as r, C as o, F as t, c as n, M as i, d as l, R as m, S, X as d, Z as u, e as C, f as F, g, h as p, j as X, k as c, l as E, m as M, n as R, o as x, p as A, q as D, r as L, s as T, t as
|
|
1
|
+
import { a as e, b as r, C as o, F as t, c as n, M as i, d as l, R as m, S, X as d, Z as u, e as C, f as F, g, h as p, j as X, k as c, l as E, m as M, n as R, o as x, p as A, q as D, r as L, s as T, t as k, u as _, v as b, w as f, x as z, y as N, z as h, A as y, B as I, D as P, E as V, G as v, H as w, I as W, J as q, K as B, L as G, N as H, P as K, Q as O, T as U, U as Z, V as j, W as J, Y as Q, _ as Y, $, a0 as aa } from "./index-CKuAiNIg.js";
|
|
2
2
|
export {
|
|
3
3
|
e as CSV_MIME,
|
|
4
4
|
r as CellError,
|
|
@@ -25,31 +25,32 @@ export {
|
|
|
25
25
|
D as inverseMove,
|
|
26
26
|
L as isDateFormat,
|
|
27
27
|
T as isError,
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
k as isFormula,
|
|
29
|
+
_ as keyToAddress,
|
|
30
|
+
b as linkRenderer,
|
|
30
31
|
f as normalizeRange,
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
32
|
+
z as numberFormatFromMeta,
|
|
33
|
+
N as parseA1,
|
|
34
|
+
h as parseDateString,
|
|
35
|
+
y as parseFormula,
|
|
36
|
+
I as pxToColWidth,
|
|
37
|
+
P as quoteSheetName,
|
|
38
|
+
V as rangeContains,
|
|
39
|
+
v as readXLSX,
|
|
40
|
+
w as registerFunction,
|
|
41
|
+
W as sanitizeSheetNames,
|
|
42
|
+
q as serialToDate,
|
|
43
|
+
B as setClock,
|
|
44
|
+
G as setRandom,
|
|
45
|
+
H as toA1,
|
|
46
|
+
K as toCSV,
|
|
47
|
+
O as toXLSX,
|
|
48
|
+
U as toXLSXCompressed,
|
|
49
|
+
Z as trTR,
|
|
50
|
+
j as unparse,
|
|
51
|
+
J as unregisterFunction,
|
|
52
|
+
Q as workbookEngine,
|
|
53
|
+
Y as xlsxParts,
|
|
54
|
+
$ as zipDeflate,
|
|
55
|
+
aa as zipStore
|
|
55
56
|
};
|