argus-table 0.0.0-stage → 0.0.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/LICENSE +21 -0
- package/README.md +66 -2
- package/dist/_virtual/_@oxc-project_runtime@0.156.0/helpers/esm/decorate.js +8 -0
- package/dist/argus-table.js +492 -0
- package/dist/argus-table.js.map +1 -0
- package/dist/cdn/argus-table.js +4743 -0
- package/dist/cdn/argus-table.js.map +1 -0
- package/dist/controllers/resize-drag.js +44 -0
- package/dist/controllers/resize-drag.js.map +1 -0
- package/dist/controllers/table-controller.js +24 -0
- package/dist/controllers/table-controller.js.map +1 -0
- package/dist/controllers/virtual-controller.js +83 -0
- package/dist/controllers/virtual-controller.js.map +1 -0
- package/dist/core/src/columns/resolve-columns.js +62 -0
- package/dist/core/src/columns/resolve-columns.js.map +1 -0
- package/dist/core/src/state/controllable.js +31 -0
- package/dist/core/src/state/controllable.js.map +1 -0
- package/dist/core/src/table/create-table.js +185 -0
- package/dist/core/src/table/create-table.js.map +1 -0
- package/dist/core/src/virtual/row-pool.js +64 -0
- package/dist/core/src/virtual/row-pool.js.map +1 -0
- package/dist/custom-elements.json +1131 -0
- package/dist/events.js +22 -0
- package/dist/events.js.map +1 -0
- package/dist/index.d.ts +236 -0
- package/dist/index.js +3 -0
- package/dist/render/body.js +49 -0
- package/dist/render/body.js.map +1 -0
- package/dist/render/cells.js +27 -0
- package/dist/render/cells.js.map +1 -0
- package/dist/render/content.js +35 -0
- package/dist/render/content.js.map +1 -0
- package/dist/render/header.js +62 -0
- package/dist/render/header.js.map +1 -0
- package/dist/styles/base.js +235 -0
- package/dist/styles/base.js.map +1 -0
- package/package.json +61 -3
|
@@ -0,0 +1,1131 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": "1.0.0",
|
|
3
|
+
"readme": "",
|
|
4
|
+
"modules": [
|
|
5
|
+
{
|
|
6
|
+
"kind": "javascript-module",
|
|
7
|
+
"path": "src/argus-table.ts",
|
|
8
|
+
"declarations": [
|
|
9
|
+
{
|
|
10
|
+
"kind": "class",
|
|
11
|
+
"description": "A virtualized data table.\n\nSet `columns` and `data` as properties. Header and cell content is rendered\ninto the element's light DOM and slotted into the cells, so page CSS and the\npage's own components work inside cells.",
|
|
12
|
+
"name": "ArgusTable",
|
|
13
|
+
"cssProperties": [
|
|
14
|
+
{
|
|
15
|
+
"description": "Background of the table and rows.",
|
|
16
|
+
"name": "--argus-bg",
|
|
17
|
+
"default": "Canvas"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"description": "Text colour.",
|
|
21
|
+
"name": "--argus-fg",
|
|
22
|
+
"default": "CanvasText"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"description": "Font shorthand for the table.",
|
|
26
|
+
"name": "--argus-font",
|
|
27
|
+
"default": "inherit"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"description": "Header background.",
|
|
31
|
+
"name": "--argus-header-bg"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"description": "Header text colour.",
|
|
35
|
+
"name": "--argus-header-fg",
|
|
36
|
+
"default": "inherit"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"description": "Colour of the row borders.",
|
|
40
|
+
"name": "--argus-border-color"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"description": "Width of the row borders.",
|
|
44
|
+
"name": "--argus-border-width",
|
|
45
|
+
"default": "1px"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"description": "Height of a row. Default per density: 32px, 40px, 52px.",
|
|
49
|
+
"name": "--argus-row-height"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"description": "Inline padding of cells. Default per density: 8px, 12px, 16px.",
|
|
53
|
+
"name": "--argus-cell-padding-inline"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"description": "Background of odd rows. Default: no stripes.",
|
|
57
|
+
"name": "--argus-row-stripe-bg"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"description": "Shadow on the pinned edge, as a `box-shadow` falling toward the end side (`4px 0 6px -4px …`). Mirrored for the end edge and in RTL; `none` removes it.",
|
|
61
|
+
"name": "--argus-pinned-shadow"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"description": "Colour of the resize handle's line, shown on hover, focus and drag.",
|
|
65
|
+
"name": "--argus-resize-handle-color"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"description": "Outline of the focused header or cell.",
|
|
69
|
+
"name": "--argus-focus-ring",
|
|
70
|
+
"default": "2px solid Highlight"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"description": "Background of the hovered row. Default: no change.",
|
|
74
|
+
"name": "--argus-row-hover-bg"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"description": "Reserved for row selection, which comes after v0.1. The table doesn't read it yet.",
|
|
78
|
+
"name": "--argus-row-selected-bg"
|
|
79
|
+
}
|
|
80
|
+
],
|
|
81
|
+
"cssParts": [
|
|
82
|
+
{
|
|
83
|
+
"description": "The scroll container that holds header and body.",
|
|
84
|
+
"name": "table"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"description": "The sticky header row group.",
|
|
88
|
+
"name": "header"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"description": "The header row.",
|
|
92
|
+
"name": "header-row"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"description": "Every header cell.",
|
|
96
|
+
"name": "header-cell"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"description": "The header of the sorted column. The direction is in `aria-sort`.",
|
|
100
|
+
"name": "header-cell-sorted"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"description": "The drag handle on the inline-end edge of a resizable column's header.",
|
|
104
|
+
"name": "resize-handle"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"description": "The row group holding the rendered body rows.",
|
|
108
|
+
"name": "body"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"description": "Every body row.",
|
|
112
|
+
"name": "row"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"description": "Body rows with an even index (0-based).",
|
|
116
|
+
"name": "row-even"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"description": "Body rows with an odd index.",
|
|
120
|
+
"name": "row-odd"
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"description": "Every body cell.",
|
|
124
|
+
"name": "cell"
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"description": "Body cells in the sorted column.",
|
|
128
|
+
"name": "cell-sorted"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"description": "Body cells in a pinned column, on either side.",
|
|
132
|
+
"name": "cell-pinned"
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"description": "The pinned body cell next to the scrolling columns (one per pinned side).",
|
|
136
|
+
"name": "cell-pinned-edge"
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"description": "The empty-state container.",
|
|
140
|
+
"name": "empty"
|
|
141
|
+
}
|
|
142
|
+
],
|
|
143
|
+
"slots": [
|
|
144
|
+
{
|
|
145
|
+
"description": "Shown instead of the body when there are no rows. Default: \"No rows\".",
|
|
146
|
+
"name": "empty"
|
|
147
|
+
}
|
|
148
|
+
],
|
|
149
|
+
"members": [
|
|
150
|
+
{
|
|
151
|
+
"kind": "field",
|
|
152
|
+
"name": "columns",
|
|
153
|
+
"type": {
|
|
154
|
+
"text": "readonly ColumnDef<T>[]"
|
|
155
|
+
},
|
|
156
|
+
"default": "[]",
|
|
157
|
+
"description": "Column definitions. Property only: functions can't be attributes."
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"kind": "field",
|
|
161
|
+
"name": "data",
|
|
162
|
+
"type": {
|
|
163
|
+
"text": "readonly T[]"
|
|
164
|
+
},
|
|
165
|
+
"default": "[]",
|
|
166
|
+
"description": "The rows to show. Replace the array to update; changes inside it aren't detected."
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"kind": "field",
|
|
170
|
+
"name": "getRowId",
|
|
171
|
+
"type": {
|
|
172
|
+
"text": "(row: T, index: number) => string | undefined"
|
|
173
|
+
},
|
|
174
|
+
"description": "Returns a stable id for a row. Default: the row's index in `data`."
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
"kind": "field",
|
|
178
|
+
"name": "rowHeight",
|
|
179
|
+
"type": {
|
|
180
|
+
"text": "number | undefined"
|
|
181
|
+
},
|
|
182
|
+
"description": "Row height in px. Unset: the density (or the `--argus-row-height` token) decides.",
|
|
183
|
+
"attribute": "row-height"
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
"kind": "field",
|
|
187
|
+
"name": "density",
|
|
188
|
+
"type": {
|
|
189
|
+
"text": "Density"
|
|
190
|
+
},
|
|
191
|
+
"default": "'comfortable'",
|
|
192
|
+
"description": "Row density: `compact`, `comfortable` or `spacious`.",
|
|
193
|
+
"attribute": "density",
|
|
194
|
+
"reflects": true
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"kind": "field",
|
|
198
|
+
"name": "overscan",
|
|
199
|
+
"type": {
|
|
200
|
+
"text": "number"
|
|
201
|
+
},
|
|
202
|
+
"default": "6",
|
|
203
|
+
"description": "Rows rendered above and below the visible ones.",
|
|
204
|
+
"attribute": "overscan"
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
"kind": "field",
|
|
208
|
+
"name": "sorting",
|
|
209
|
+
"type": {
|
|
210
|
+
"text": "SortState"
|
|
211
|
+
},
|
|
212
|
+
"description": "The sort order, e.g. `[{ id: 'total', desc: true }]`; `[]` when unsorted. Unset,\nthe table keeps it itself and header clicks change it. Once set, it is\ncontrolled: a click only fires `argus-sort-change` with the proposed order,\nand nothing changes until you set the property. Set `undefined` to hand it back."
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
"kind": "field",
|
|
216
|
+
"name": "columnSizing",
|
|
217
|
+
"type": {
|
|
218
|
+
"text": "ColumnSizingState"
|
|
219
|
+
},
|
|
220
|
+
"description": "Resized widths in px by column id, e.g. `{ name: 240 }`. A resized flex column\nbecomes fixed. Uncontrolled until set, like `sorting`: once set, a resize only\nfires `argus-column-resize` with the proposed widths. `undefined` hands it back."
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
"kind": "method",
|
|
224
|
+
"name": "scrollToRow",
|
|
225
|
+
"return": {
|
|
226
|
+
"type": {
|
|
227
|
+
"text": "Promise<void>"
|
|
228
|
+
}
|
|
229
|
+
},
|
|
230
|
+
"parameters": [
|
|
231
|
+
{
|
|
232
|
+
"name": "index",
|
|
233
|
+
"type": {
|
|
234
|
+
"text": "number"
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
],
|
|
238
|
+
"description": "Scrolls so that the row at `index` (in the current row order) is at the top."
|
|
239
|
+
}
|
|
240
|
+
],
|
|
241
|
+
"events": [
|
|
242
|
+
{
|
|
243
|
+
"description": "A sortable header was clicked, or activated with Enter or Space. `detail: { sorting }`: the new order, or the proposed one when `sorting` is controlled.",
|
|
244
|
+
"name": "argus-sort-change"
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
"description": "A column was resized by dragging its handle or with Alt+Arrow on its header. `detail: { columnId, width, sizing }`: the new widths, or the proposed ones when `columnSizing` is controlled. Fires on every frame of a drag.",
|
|
248
|
+
"name": "argus-column-resize"
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
"description": "A body cell was clicked, or Enter was pressed on it. `detail: { row, columnId, value }`. Fires before `argus-row-click`.",
|
|
252
|
+
"name": "argus-cell-click"
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
"description": "A body row was clicked, or Enter was pressed on one of its cells. `detail: { row, rowId, index }`.",
|
|
256
|
+
"name": "argus-row-click"
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
"description": "The visible rows changed. `detail: { start, end }` (row indices, inclusive).",
|
|
260
|
+
"name": "argus-range-change"
|
|
261
|
+
}
|
|
262
|
+
],
|
|
263
|
+
"attributes": [
|
|
264
|
+
{
|
|
265
|
+
"name": "row-height",
|
|
266
|
+
"type": {
|
|
267
|
+
"text": "number | undefined"
|
|
268
|
+
},
|
|
269
|
+
"description": "Row height in px. Unset: the density (or the `--argus-row-height` token) decides.",
|
|
270
|
+
"fieldName": "rowHeight"
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
"name": "density",
|
|
274
|
+
"type": {
|
|
275
|
+
"text": "Density"
|
|
276
|
+
},
|
|
277
|
+
"default": "'comfortable'",
|
|
278
|
+
"description": "Row density: `compact`, `comfortable` or `spacious`.",
|
|
279
|
+
"fieldName": "density"
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
"name": "overscan",
|
|
283
|
+
"type": {
|
|
284
|
+
"text": "number"
|
|
285
|
+
},
|
|
286
|
+
"default": "6",
|
|
287
|
+
"description": "Rows rendered above and below the visible ones.",
|
|
288
|
+
"fieldName": "overscan"
|
|
289
|
+
}
|
|
290
|
+
],
|
|
291
|
+
"superclass": {
|
|
292
|
+
"name": "LitElement",
|
|
293
|
+
"package": "lit"
|
|
294
|
+
},
|
|
295
|
+
"summary": "Data table with pinned rows and columns and infinite loading.",
|
|
296
|
+
"tagName": "argus-table",
|
|
297
|
+
"customElement": true
|
|
298
|
+
}
|
|
299
|
+
],
|
|
300
|
+
"exports": [
|
|
301
|
+
{
|
|
302
|
+
"kind": "js",
|
|
303
|
+
"name": "ArgusTable",
|
|
304
|
+
"declaration": {
|
|
305
|
+
"name": "ArgusTable",
|
|
306
|
+
"module": "src/argus-table.ts"
|
|
307
|
+
}
|
|
308
|
+
},
|
|
309
|
+
{
|
|
310
|
+
"kind": "custom-element-definition",
|
|
311
|
+
"name": "argus-table",
|
|
312
|
+
"declaration": {
|
|
313
|
+
"name": "ArgusTable",
|
|
314
|
+
"module": "src/argus-table.ts"
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
]
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
"kind": "javascript-module",
|
|
321
|
+
"path": "src/events.ts",
|
|
322
|
+
"declarations": [
|
|
323
|
+
{
|
|
324
|
+
"kind": "variable",
|
|
325
|
+
"name": "RANGE_CHANGE",
|
|
326
|
+
"type": {
|
|
327
|
+
"text": "string"
|
|
328
|
+
},
|
|
329
|
+
"default": "'argus-range-change'",
|
|
330
|
+
"description": "Fired after an update when the visible row range changed."
|
|
331
|
+
},
|
|
332
|
+
{
|
|
333
|
+
"kind": "variable",
|
|
334
|
+
"name": "SORT_CHANGE",
|
|
335
|
+
"type": {
|
|
336
|
+
"text": "string"
|
|
337
|
+
},
|
|
338
|
+
"default": "'argus-sort-change'",
|
|
339
|
+
"description": "Fired after the sort order changed (uncontrolled), or with the proposed order (controlled)."
|
|
340
|
+
},
|
|
341
|
+
{
|
|
342
|
+
"kind": "variable",
|
|
343
|
+
"name": "COLUMN_RESIZE",
|
|
344
|
+
"type": {
|
|
345
|
+
"text": "string"
|
|
346
|
+
},
|
|
347
|
+
"default": "'argus-column-resize'",
|
|
348
|
+
"description": "Fired when a column was resized (uncontrolled), or with the proposed widths (controlled)."
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
"kind": "variable",
|
|
352
|
+
"name": "ROW_CLICK",
|
|
353
|
+
"type": {
|
|
354
|
+
"text": "string"
|
|
355
|
+
},
|
|
356
|
+
"default": "'argus-row-click'",
|
|
357
|
+
"description": "Fired when a body row was clicked, after `argus-cell-click`."
|
|
358
|
+
},
|
|
359
|
+
{
|
|
360
|
+
"kind": "variable",
|
|
361
|
+
"name": "CELL_CLICK",
|
|
362
|
+
"type": {
|
|
363
|
+
"text": "string"
|
|
364
|
+
},
|
|
365
|
+
"default": "'argus-cell-click'",
|
|
366
|
+
"description": "Fired when a body cell was clicked, before `argus-row-click`."
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
"kind": "function",
|
|
370
|
+
"name": "fire",
|
|
371
|
+
"return": {
|
|
372
|
+
"type": {
|
|
373
|
+
"text": "boolean"
|
|
374
|
+
}
|
|
375
|
+
},
|
|
376
|
+
"parameters": [
|
|
377
|
+
{
|
|
378
|
+
"name": "host",
|
|
379
|
+
"type": {
|
|
380
|
+
"text": "HTMLElement"
|
|
381
|
+
}
|
|
382
|
+
},
|
|
383
|
+
{
|
|
384
|
+
"name": "name",
|
|
385
|
+
"type": {
|
|
386
|
+
"text": "string"
|
|
387
|
+
}
|
|
388
|
+
},
|
|
389
|
+
{
|
|
390
|
+
"name": "detail",
|
|
391
|
+
"type": {
|
|
392
|
+
"text": "unknown"
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
],
|
|
396
|
+
"description": "Dispatches a bubbling, composed `CustomEvent`, the shape of every public event."
|
|
397
|
+
}
|
|
398
|
+
],
|
|
399
|
+
"exports": [
|
|
400
|
+
{
|
|
401
|
+
"kind": "js",
|
|
402
|
+
"name": "RANGE_CHANGE",
|
|
403
|
+
"declaration": {
|
|
404
|
+
"name": "RANGE_CHANGE",
|
|
405
|
+
"module": "src/events.ts"
|
|
406
|
+
}
|
|
407
|
+
},
|
|
408
|
+
{
|
|
409
|
+
"kind": "js",
|
|
410
|
+
"name": "SORT_CHANGE",
|
|
411
|
+
"declaration": {
|
|
412
|
+
"name": "SORT_CHANGE",
|
|
413
|
+
"module": "src/events.ts"
|
|
414
|
+
}
|
|
415
|
+
},
|
|
416
|
+
{
|
|
417
|
+
"kind": "js",
|
|
418
|
+
"name": "COLUMN_RESIZE",
|
|
419
|
+
"declaration": {
|
|
420
|
+
"name": "COLUMN_RESIZE",
|
|
421
|
+
"module": "src/events.ts"
|
|
422
|
+
}
|
|
423
|
+
},
|
|
424
|
+
{
|
|
425
|
+
"kind": "js",
|
|
426
|
+
"name": "ROW_CLICK",
|
|
427
|
+
"declaration": {
|
|
428
|
+
"name": "ROW_CLICK",
|
|
429
|
+
"module": "src/events.ts"
|
|
430
|
+
}
|
|
431
|
+
},
|
|
432
|
+
{
|
|
433
|
+
"kind": "js",
|
|
434
|
+
"name": "CELL_CLICK",
|
|
435
|
+
"declaration": {
|
|
436
|
+
"name": "CELL_CLICK",
|
|
437
|
+
"module": "src/events.ts"
|
|
438
|
+
}
|
|
439
|
+
},
|
|
440
|
+
{
|
|
441
|
+
"kind": "js",
|
|
442
|
+
"name": "fire",
|
|
443
|
+
"declaration": {
|
|
444
|
+
"name": "fire",
|
|
445
|
+
"module": "src/events.ts"
|
|
446
|
+
}
|
|
447
|
+
}
|
|
448
|
+
]
|
|
449
|
+
},
|
|
450
|
+
{
|
|
451
|
+
"kind": "javascript-module",
|
|
452
|
+
"path": "src/index.ts",
|
|
453
|
+
"declarations": [],
|
|
454
|
+
"exports": [
|
|
455
|
+
{
|
|
456
|
+
"kind": "js",
|
|
457
|
+
"name": "ArgusTable",
|
|
458
|
+
"declaration": {
|
|
459
|
+
"name": "ArgusTable",
|
|
460
|
+
"module": "./argus-table.js"
|
|
461
|
+
}
|
|
462
|
+
},
|
|
463
|
+
{
|
|
464
|
+
"kind": "js",
|
|
465
|
+
"name": "CELL_CLICK",
|
|
466
|
+
"declaration": {
|
|
467
|
+
"name": "CELL_CLICK",
|
|
468
|
+
"module": "./events.js"
|
|
469
|
+
}
|
|
470
|
+
},
|
|
471
|
+
{
|
|
472
|
+
"kind": "js",
|
|
473
|
+
"name": "COLUMN_RESIZE",
|
|
474
|
+
"declaration": {
|
|
475
|
+
"name": "COLUMN_RESIZE",
|
|
476
|
+
"module": "./events.js"
|
|
477
|
+
}
|
|
478
|
+
},
|
|
479
|
+
{
|
|
480
|
+
"kind": "js",
|
|
481
|
+
"name": "RANGE_CHANGE",
|
|
482
|
+
"declaration": {
|
|
483
|
+
"name": "RANGE_CHANGE",
|
|
484
|
+
"module": "./events.js"
|
|
485
|
+
}
|
|
486
|
+
},
|
|
487
|
+
{
|
|
488
|
+
"kind": "js",
|
|
489
|
+
"name": "ROW_CLICK",
|
|
490
|
+
"declaration": {
|
|
491
|
+
"name": "ROW_CLICK",
|
|
492
|
+
"module": "./events.js"
|
|
493
|
+
}
|
|
494
|
+
},
|
|
495
|
+
{
|
|
496
|
+
"kind": "js",
|
|
497
|
+
"name": "SORT_CHANGE",
|
|
498
|
+
"declaration": {
|
|
499
|
+
"name": "SORT_CHANGE",
|
|
500
|
+
"module": "./events.js"
|
|
501
|
+
}
|
|
502
|
+
},
|
|
503
|
+
{
|
|
504
|
+
"kind": "js",
|
|
505
|
+
"name": "*",
|
|
506
|
+
"declaration": {
|
|
507
|
+
"name": "*",
|
|
508
|
+
"module": "src/types.js"
|
|
509
|
+
}
|
|
510
|
+
}
|
|
511
|
+
]
|
|
512
|
+
},
|
|
513
|
+
{
|
|
514
|
+
"kind": "javascript-module",
|
|
515
|
+
"path": "src/types.ts",
|
|
516
|
+
"declarations": [],
|
|
517
|
+
"exports": [
|
|
518
|
+
{
|
|
519
|
+
"kind": "js",
|
|
520
|
+
"name": "CellClickDetail",
|
|
521
|
+
"declaration": {
|
|
522
|
+
"name": "CellClickDetail",
|
|
523
|
+
"package": "@argus-table/core"
|
|
524
|
+
}
|
|
525
|
+
},
|
|
526
|
+
{
|
|
527
|
+
"kind": "js",
|
|
528
|
+
"name": "CellContext",
|
|
529
|
+
"declaration": {
|
|
530
|
+
"name": "CellContext",
|
|
531
|
+
"package": "@argus-table/core"
|
|
532
|
+
}
|
|
533
|
+
},
|
|
534
|
+
{
|
|
535
|
+
"kind": "js",
|
|
536
|
+
"name": "ColumnAlign",
|
|
537
|
+
"declaration": {
|
|
538
|
+
"name": "ColumnAlign",
|
|
539
|
+
"package": "@argus-table/core"
|
|
540
|
+
}
|
|
541
|
+
},
|
|
542
|
+
{
|
|
543
|
+
"kind": "js",
|
|
544
|
+
"name": "ColumnPin",
|
|
545
|
+
"declaration": {
|
|
546
|
+
"name": "ColumnPin",
|
|
547
|
+
"package": "@argus-table/core"
|
|
548
|
+
}
|
|
549
|
+
},
|
|
550
|
+
{
|
|
551
|
+
"kind": "js",
|
|
552
|
+
"name": "ColumnResizeDetail",
|
|
553
|
+
"declaration": {
|
|
554
|
+
"name": "ColumnResizeDetail",
|
|
555
|
+
"package": "@argus-table/core"
|
|
556
|
+
}
|
|
557
|
+
},
|
|
558
|
+
{
|
|
559
|
+
"kind": "js",
|
|
560
|
+
"name": "ColumnSizingState",
|
|
561
|
+
"declaration": {
|
|
562
|
+
"name": "ColumnSizingState",
|
|
563
|
+
"package": "@argus-table/core"
|
|
564
|
+
}
|
|
565
|
+
},
|
|
566
|
+
{
|
|
567
|
+
"kind": "js",
|
|
568
|
+
"name": "ColumnWidth",
|
|
569
|
+
"declaration": {
|
|
570
|
+
"name": "ColumnWidth",
|
|
571
|
+
"package": "@argus-table/core"
|
|
572
|
+
}
|
|
573
|
+
},
|
|
574
|
+
{
|
|
575
|
+
"kind": "js",
|
|
576
|
+
"name": "RangeChangeDetail",
|
|
577
|
+
"declaration": {
|
|
578
|
+
"name": "RangeChangeDetail",
|
|
579
|
+
"package": "@argus-table/core"
|
|
580
|
+
}
|
|
581
|
+
},
|
|
582
|
+
{
|
|
583
|
+
"kind": "js",
|
|
584
|
+
"name": "RowClickDetail",
|
|
585
|
+
"declaration": {
|
|
586
|
+
"name": "RowClickDetail",
|
|
587
|
+
"package": "@argus-table/core"
|
|
588
|
+
}
|
|
589
|
+
},
|
|
590
|
+
{
|
|
591
|
+
"kind": "js",
|
|
592
|
+
"name": "SortChangeDetail",
|
|
593
|
+
"declaration": {
|
|
594
|
+
"name": "SortChangeDetail",
|
|
595
|
+
"package": "@argus-table/core"
|
|
596
|
+
}
|
|
597
|
+
},
|
|
598
|
+
{
|
|
599
|
+
"kind": "js",
|
|
600
|
+
"name": "SortItem",
|
|
601
|
+
"declaration": {
|
|
602
|
+
"name": "SortItem",
|
|
603
|
+
"package": "@argus-table/core"
|
|
604
|
+
}
|
|
605
|
+
},
|
|
606
|
+
{
|
|
607
|
+
"kind": "js",
|
|
608
|
+
"name": "SortState",
|
|
609
|
+
"declaration": {
|
|
610
|
+
"name": "SortState",
|
|
611
|
+
"package": "@argus-table/core"
|
|
612
|
+
}
|
|
613
|
+
}
|
|
614
|
+
]
|
|
615
|
+
},
|
|
616
|
+
{
|
|
617
|
+
"kind": "javascript-module",
|
|
618
|
+
"path": "src/controllers/resize-drag.ts",
|
|
619
|
+
"declarations": [
|
|
620
|
+
{
|
|
621
|
+
"kind": "function",
|
|
622
|
+
"name": "startResizeDrag",
|
|
623
|
+
"return": {
|
|
624
|
+
"type": {
|
|
625
|
+
"text": "void"
|
|
626
|
+
}
|
|
627
|
+
},
|
|
628
|
+
"parameters": [
|
|
629
|
+
{
|
|
630
|
+
"name": "handle",
|
|
631
|
+
"type": {
|
|
632
|
+
"text": "HTMLElement"
|
|
633
|
+
}
|
|
634
|
+
},
|
|
635
|
+
{
|
|
636
|
+
"name": "down",
|
|
637
|
+
"type": {
|
|
638
|
+
"text": "PointerEvent"
|
|
639
|
+
}
|
|
640
|
+
},
|
|
641
|
+
{
|
|
642
|
+
"name": "startWidth",
|
|
643
|
+
"type": {
|
|
644
|
+
"text": "number"
|
|
645
|
+
}
|
|
646
|
+
},
|
|
647
|
+
{
|
|
648
|
+
"name": "direction",
|
|
649
|
+
"type": {
|
|
650
|
+
"text": "1 | -1"
|
|
651
|
+
}
|
|
652
|
+
},
|
|
653
|
+
{
|
|
654
|
+
"name": "onWidth",
|
|
655
|
+
"type": {
|
|
656
|
+
"text": "(width: number) => void"
|
|
657
|
+
}
|
|
658
|
+
}
|
|
659
|
+
],
|
|
660
|
+
"description": "One pointer drag on a resize handle. The pointer is captured, so the drag keeps\nworking outside the handle, and moves are batched to one `onWidth` call per\nanimation frame (TanStack's `onChange` mode: the width updates while dragging).\n\n`direction` is 1 in LTR and -1 in RTL: the handle sits on the inline-end edge,\nso moving toward the inline end always grows the column."
|
|
661
|
+
}
|
|
662
|
+
],
|
|
663
|
+
"exports": [
|
|
664
|
+
{
|
|
665
|
+
"kind": "js",
|
|
666
|
+
"name": "startResizeDrag",
|
|
667
|
+
"declaration": {
|
|
668
|
+
"name": "startResizeDrag",
|
|
669
|
+
"module": "src/controllers/resize-drag.ts"
|
|
670
|
+
}
|
|
671
|
+
}
|
|
672
|
+
]
|
|
673
|
+
},
|
|
674
|
+
{
|
|
675
|
+
"kind": "javascript-module",
|
|
676
|
+
"path": "src/controllers/table-controller.ts",
|
|
677
|
+
"declarations": [
|
|
678
|
+
{
|
|
679
|
+
"kind": "class",
|
|
680
|
+
"description": "Owns the table model (core's TanStack adapter). The element pushes its\nproperties in from `willUpdate`; render functions read `model`. It needs no\nlifecycle hooks yet: the model is pull-based and owns no state.",
|
|
681
|
+
"name": "TableController",
|
|
682
|
+
"members": [
|
|
683
|
+
{
|
|
684
|
+
"kind": "field",
|
|
685
|
+
"name": "model",
|
|
686
|
+
"type": {
|
|
687
|
+
"text": "TableModel<T, CellContent>"
|
|
688
|
+
},
|
|
689
|
+
"readonly": true
|
|
690
|
+
}
|
|
691
|
+
]
|
|
692
|
+
}
|
|
693
|
+
],
|
|
694
|
+
"exports": [
|
|
695
|
+
{
|
|
696
|
+
"kind": "js",
|
|
697
|
+
"name": "TableController",
|
|
698
|
+
"declaration": {
|
|
699
|
+
"name": "TableController",
|
|
700
|
+
"module": "src/controllers/table-controller.ts"
|
|
701
|
+
}
|
|
702
|
+
}
|
|
703
|
+
]
|
|
704
|
+
},
|
|
705
|
+
{
|
|
706
|
+
"kind": "javascript-module",
|
|
707
|
+
"path": "src/controllers/virtual-controller.ts",
|
|
708
|
+
"declarations": [
|
|
709
|
+
{
|
|
710
|
+
"kind": "class",
|
|
711
|
+
"description": "Row virtualization (TanStack Virtual) plus the row pool: which rows render,\nwhere, and which pool slot's DOM each one uses. The virtualizer registers itself\nwith the host and requests updates on scroll.",
|
|
712
|
+
"name": "VirtualController",
|
|
713
|
+
"members": [
|
|
714
|
+
{
|
|
715
|
+
"kind": "method",
|
|
716
|
+
"name": "configure",
|
|
717
|
+
"return": {
|
|
718
|
+
"type": {
|
|
719
|
+
"text": "void"
|
|
720
|
+
}
|
|
721
|
+
},
|
|
722
|
+
"parameters": [
|
|
723
|
+
{
|
|
724
|
+
"name": "next",
|
|
725
|
+
"type": {
|
|
726
|
+
"text": "VirtualConfig"
|
|
727
|
+
}
|
|
728
|
+
}
|
|
729
|
+
]
|
|
730
|
+
},
|
|
731
|
+
{
|
|
732
|
+
"kind": "method",
|
|
733
|
+
"name": "computeWindow",
|
|
734
|
+
"return": {
|
|
735
|
+
"type": {
|
|
736
|
+
"text": "VirtualWindow"
|
|
737
|
+
}
|
|
738
|
+
},
|
|
739
|
+
"description": "Computes the rendered window and updates the pool. Call once per render."
|
|
740
|
+
},
|
|
741
|
+
{
|
|
742
|
+
"kind": "field",
|
|
743
|
+
"name": "poolSize",
|
|
744
|
+
"type": {
|
|
745
|
+
"text": "number"
|
|
746
|
+
},
|
|
747
|
+
"description": "Number of pool slots created so far: bounded by the most rows rendered at once.",
|
|
748
|
+
"readonly": true
|
|
749
|
+
},
|
|
750
|
+
{
|
|
751
|
+
"kind": "method",
|
|
752
|
+
"name": "scrollToIndex",
|
|
753
|
+
"return": {
|
|
754
|
+
"type": {
|
|
755
|
+
"text": "void"
|
|
756
|
+
}
|
|
757
|
+
},
|
|
758
|
+
"parameters": [
|
|
759
|
+
{
|
|
760
|
+
"name": "index",
|
|
761
|
+
"type": {
|
|
762
|
+
"text": "number"
|
|
763
|
+
}
|
|
764
|
+
},
|
|
765
|
+
{
|
|
766
|
+
"name": "align",
|
|
767
|
+
"default": "'start'",
|
|
768
|
+
"type": {
|
|
769
|
+
"text": "'start' | 'auto'"
|
|
770
|
+
}
|
|
771
|
+
}
|
|
772
|
+
],
|
|
773
|
+
"description": "`'start'` puts the row at the top; `'auto'` scrolls only as far as needed to show it."
|
|
774
|
+
}
|
|
775
|
+
]
|
|
776
|
+
}
|
|
777
|
+
],
|
|
778
|
+
"exports": [
|
|
779
|
+
{
|
|
780
|
+
"kind": "js",
|
|
781
|
+
"name": "VirtualController",
|
|
782
|
+
"declaration": {
|
|
783
|
+
"name": "VirtualController",
|
|
784
|
+
"module": "src/controllers/virtual-controller.ts"
|
|
785
|
+
}
|
|
786
|
+
}
|
|
787
|
+
]
|
|
788
|
+
},
|
|
789
|
+
{
|
|
790
|
+
"kind": "javascript-module",
|
|
791
|
+
"path": "src/render/body.ts",
|
|
792
|
+
"declarations": [
|
|
793
|
+
{
|
|
794
|
+
"kind": "function",
|
|
795
|
+
"name": "renderBody",
|
|
796
|
+
"parameters": [
|
|
797
|
+
{
|
|
798
|
+
"name": "rows",
|
|
799
|
+
"type": {
|
|
800
|
+
"text": "readonly WindowRow[]"
|
|
801
|
+
}
|
|
802
|
+
},
|
|
803
|
+
{
|
|
804
|
+
"name": "columns",
|
|
805
|
+
"type": {
|
|
806
|
+
"text": "Columns<T>"
|
|
807
|
+
}
|
|
808
|
+
},
|
|
809
|
+
{
|
|
810
|
+
"name": "totalSize",
|
|
811
|
+
"type": {
|
|
812
|
+
"text": "number"
|
|
813
|
+
}
|
|
814
|
+
},
|
|
815
|
+
{
|
|
816
|
+
"name": "active",
|
|
817
|
+
"type": {
|
|
818
|
+
"text": "ActiveCell | undefined"
|
|
819
|
+
}
|
|
820
|
+
}
|
|
821
|
+
],
|
|
822
|
+
"description": "The virtualized body. Rows are keyed by pool slot, so a row entering the window\nreuses the DOM of one that left (ADR 0001), and they stay in pool order: screen\nreaders get the position from `aria-rowindex` (the header row is 1)."
|
|
823
|
+
}
|
|
824
|
+
],
|
|
825
|
+
"exports": [
|
|
826
|
+
{
|
|
827
|
+
"kind": "js",
|
|
828
|
+
"name": "renderBody",
|
|
829
|
+
"declaration": {
|
|
830
|
+
"name": "renderBody",
|
|
831
|
+
"module": "src/render/body.ts"
|
|
832
|
+
}
|
|
833
|
+
}
|
|
834
|
+
]
|
|
835
|
+
},
|
|
836
|
+
{
|
|
837
|
+
"kind": "javascript-module",
|
|
838
|
+
"path": "src/render/cells.ts",
|
|
839
|
+
"declarations": [
|
|
840
|
+
{
|
|
841
|
+
"kind": "function",
|
|
842
|
+
"name": "renderLightDom",
|
|
843
|
+
"return": {
|
|
844
|
+
"type": {
|
|
845
|
+
"text": "void"
|
|
846
|
+
}
|
|
847
|
+
},
|
|
848
|
+
"parameters": [
|
|
849
|
+
{
|
|
850
|
+
"name": "host",
|
|
851
|
+
"type": {
|
|
852
|
+
"text": "HTMLElement"
|
|
853
|
+
}
|
|
854
|
+
},
|
|
855
|
+
{
|
|
856
|
+
"name": "model",
|
|
857
|
+
"type": {
|
|
858
|
+
"text": "TableModel<T, CellContent>"
|
|
859
|
+
}
|
|
860
|
+
},
|
|
861
|
+
{
|
|
862
|
+
"name": "rows",
|
|
863
|
+
"type": {
|
|
864
|
+
"text": "readonly WindowRow[]"
|
|
865
|
+
}
|
|
866
|
+
}
|
|
867
|
+
],
|
|
868
|
+
"description": "Renders header and cell content into the host's light DOM, as direct children\n(a slot only takes the host's own children). Keyed and ordered by pool slot,\nso recycled content updates in place instead of moving (ADR 0001)."
|
|
869
|
+
}
|
|
870
|
+
],
|
|
871
|
+
"exports": [
|
|
872
|
+
{
|
|
873
|
+
"kind": "js",
|
|
874
|
+
"name": "renderLightDom",
|
|
875
|
+
"declaration": {
|
|
876
|
+
"name": "renderLightDom",
|
|
877
|
+
"module": "src/render/cells.ts"
|
|
878
|
+
}
|
|
879
|
+
}
|
|
880
|
+
]
|
|
881
|
+
},
|
|
882
|
+
{
|
|
883
|
+
"kind": "javascript-module",
|
|
884
|
+
"path": "src/render/content.ts",
|
|
885
|
+
"declarations": [
|
|
886
|
+
{
|
|
887
|
+
"kind": "function",
|
|
888
|
+
"name": "toChild",
|
|
889
|
+
"return": {
|
|
890
|
+
"type": {
|
|
891
|
+
"text": "unknown"
|
|
892
|
+
}
|
|
893
|
+
},
|
|
894
|
+
"parameters": [
|
|
895
|
+
{
|
|
896
|
+
"name": "content",
|
|
897
|
+
"type": {
|
|
898
|
+
"text": "CellContent | null | undefined"
|
|
899
|
+
}
|
|
900
|
+
}
|
|
901
|
+
],
|
|
902
|
+
"description": "Turns header or cell content into a Lit child."
|
|
903
|
+
},
|
|
904
|
+
{
|
|
905
|
+
"kind": "function",
|
|
906
|
+
"name": "formatValue",
|
|
907
|
+
"return": {
|
|
908
|
+
"type": {
|
|
909
|
+
"text": "string"
|
|
910
|
+
}
|
|
911
|
+
},
|
|
912
|
+
"parameters": [
|
|
913
|
+
{
|
|
914
|
+
"name": "value",
|
|
915
|
+
"type": {
|
|
916
|
+
"text": "unknown"
|
|
917
|
+
}
|
|
918
|
+
}
|
|
919
|
+
],
|
|
920
|
+
"description": "Default cell text for an accessor value."
|
|
921
|
+
},
|
|
922
|
+
{
|
|
923
|
+
"kind": "function",
|
|
924
|
+
"name": "cellSlot",
|
|
925
|
+
"parameters": [
|
|
926
|
+
{
|
|
927
|
+
"name": "slot",
|
|
928
|
+
"type": {
|
|
929
|
+
"text": "number"
|
|
930
|
+
}
|
|
931
|
+
},
|
|
932
|
+
{
|
|
933
|
+
"name": "colIndex",
|
|
934
|
+
"type": {
|
|
935
|
+
"text": "number"
|
|
936
|
+
}
|
|
937
|
+
}
|
|
938
|
+
],
|
|
939
|
+
"description": "Private slot names (ADR 0001): cells by pool slot and column, headers by column."
|
|
940
|
+
},
|
|
941
|
+
{
|
|
942
|
+
"kind": "function",
|
|
943
|
+
"name": "headerSlot",
|
|
944
|
+
"parameters": [
|
|
945
|
+
{
|
|
946
|
+
"name": "colIndex",
|
|
947
|
+
"type": {
|
|
948
|
+
"text": "number"
|
|
949
|
+
}
|
|
950
|
+
}
|
|
951
|
+
]
|
|
952
|
+
},
|
|
953
|
+
{
|
|
954
|
+
"kind": "function",
|
|
955
|
+
"name": "cellParts",
|
|
956
|
+
"return": {
|
|
957
|
+
"type": {
|
|
958
|
+
"text": "string"
|
|
959
|
+
}
|
|
960
|
+
},
|
|
961
|
+
"parameters": [
|
|
962
|
+
{
|
|
963
|
+
"name": "column",
|
|
964
|
+
"type": {
|
|
965
|
+
"text": "Pinnable & { sorted: 'asc' | 'desc' | false }"
|
|
966
|
+
}
|
|
967
|
+
}
|
|
968
|
+
],
|
|
969
|
+
"description": "Part list of a body cell: state is in the part name (`::part()` can't take attribute selectors)."
|
|
970
|
+
},
|
|
971
|
+
{
|
|
972
|
+
"kind": "function",
|
|
973
|
+
"name": "ariaSort",
|
|
974
|
+
"return": {
|
|
975
|
+
"type": {
|
|
976
|
+
"text": "'ascending' | 'descending' | undefined"
|
|
977
|
+
}
|
|
978
|
+
},
|
|
979
|
+
"parameters": [
|
|
980
|
+
{
|
|
981
|
+
"name": "sorted",
|
|
982
|
+
"type": {
|
|
983
|
+
"text": "'asc' | 'desc' | false"
|
|
984
|
+
}
|
|
985
|
+
}
|
|
986
|
+
],
|
|
987
|
+
"description": "`aria-sort` for a header: only the sorted column carries it (WAI-ARIA APG)."
|
|
988
|
+
},
|
|
989
|
+
{
|
|
990
|
+
"kind": "function",
|
|
991
|
+
"name": "pinStyle",
|
|
992
|
+
"return": {
|
|
993
|
+
"type": {
|
|
994
|
+
"text": "string | undefined"
|
|
995
|
+
}
|
|
996
|
+
},
|
|
997
|
+
"parameters": [
|
|
998
|
+
{
|
|
999
|
+
"name": "column",
|
|
1000
|
+
"type": {
|
|
1001
|
+
"text": "Pinnable & { offset: number }"
|
|
1002
|
+
}
|
|
1003
|
+
}
|
|
1004
|
+
],
|
|
1005
|
+
"description": "Inline style of a pinned cell: its sticky inset, from the start or the end edge."
|
|
1006
|
+
}
|
|
1007
|
+
],
|
|
1008
|
+
"exports": [
|
|
1009
|
+
{
|
|
1010
|
+
"kind": "js",
|
|
1011
|
+
"name": "toChild",
|
|
1012
|
+
"declaration": {
|
|
1013
|
+
"name": "toChild",
|
|
1014
|
+
"module": "src/render/content.ts"
|
|
1015
|
+
}
|
|
1016
|
+
},
|
|
1017
|
+
{
|
|
1018
|
+
"kind": "js",
|
|
1019
|
+
"name": "formatValue",
|
|
1020
|
+
"declaration": {
|
|
1021
|
+
"name": "formatValue",
|
|
1022
|
+
"module": "src/render/content.ts"
|
|
1023
|
+
}
|
|
1024
|
+
},
|
|
1025
|
+
{
|
|
1026
|
+
"kind": "js",
|
|
1027
|
+
"name": "cellSlot",
|
|
1028
|
+
"declaration": {
|
|
1029
|
+
"name": "cellSlot",
|
|
1030
|
+
"module": "src/render/content.ts"
|
|
1031
|
+
}
|
|
1032
|
+
},
|
|
1033
|
+
{
|
|
1034
|
+
"kind": "js",
|
|
1035
|
+
"name": "headerSlot",
|
|
1036
|
+
"declaration": {
|
|
1037
|
+
"name": "headerSlot",
|
|
1038
|
+
"module": "src/render/content.ts"
|
|
1039
|
+
}
|
|
1040
|
+
},
|
|
1041
|
+
{
|
|
1042
|
+
"kind": "js",
|
|
1043
|
+
"name": "cellParts",
|
|
1044
|
+
"declaration": {
|
|
1045
|
+
"name": "cellParts",
|
|
1046
|
+
"module": "src/render/content.ts"
|
|
1047
|
+
}
|
|
1048
|
+
},
|
|
1049
|
+
{
|
|
1050
|
+
"kind": "js",
|
|
1051
|
+
"name": "ariaSort",
|
|
1052
|
+
"declaration": {
|
|
1053
|
+
"name": "ariaSort",
|
|
1054
|
+
"module": "src/render/content.ts"
|
|
1055
|
+
}
|
|
1056
|
+
},
|
|
1057
|
+
{
|
|
1058
|
+
"kind": "js",
|
|
1059
|
+
"name": "pinStyle",
|
|
1060
|
+
"declaration": {
|
|
1061
|
+
"name": "pinStyle",
|
|
1062
|
+
"module": "src/render/content.ts"
|
|
1063
|
+
}
|
|
1064
|
+
}
|
|
1065
|
+
]
|
|
1066
|
+
},
|
|
1067
|
+
{
|
|
1068
|
+
"kind": "javascript-module",
|
|
1069
|
+
"path": "src/render/header.ts",
|
|
1070
|
+
"declarations": [
|
|
1071
|
+
{
|
|
1072
|
+
"kind": "function",
|
|
1073
|
+
"name": "renderHeader",
|
|
1074
|
+
"parameters": [
|
|
1075
|
+
{
|
|
1076
|
+
"name": "columns",
|
|
1077
|
+
"type": {
|
|
1078
|
+
"text": "readonly ColumnView<T, CellContent>[]"
|
|
1079
|
+
}
|
|
1080
|
+
},
|
|
1081
|
+
{
|
|
1082
|
+
"name": "handlers",
|
|
1083
|
+
"type": {
|
|
1084
|
+
"text": "HeaderHandlers"
|
|
1085
|
+
}
|
|
1086
|
+
},
|
|
1087
|
+
{
|
|
1088
|
+
"name": "activeCol",
|
|
1089
|
+
"type": {
|
|
1090
|
+
"text": "string | undefined"
|
|
1091
|
+
}
|
|
1092
|
+
}
|
|
1093
|
+
],
|
|
1094
|
+
"description": "The sticky header row. Header content is slotted from the light DOM. Pinned\nheader cells use the same private `data-pin` hooks as body cells, but no parts.\nEvery header carries `data-col` (its column id) and sortable ones also\n`data-sort-col`; the element's delegated handlers read them. Headers take part\nin the grid's roving tabindex: the active one is the tab stop (`activeCol`).\nResizable columns get a `resize-handle` on the header's inline-end edge. It is\nnot focusable: the focused header resizes with Alt+Arrow."
|
|
1095
|
+
}
|
|
1096
|
+
],
|
|
1097
|
+
"exports": [
|
|
1098
|
+
{
|
|
1099
|
+
"kind": "js",
|
|
1100
|
+
"name": "renderHeader",
|
|
1101
|
+
"declaration": {
|
|
1102
|
+
"name": "renderHeader",
|
|
1103
|
+
"module": "src/render/header.ts"
|
|
1104
|
+
}
|
|
1105
|
+
}
|
|
1106
|
+
]
|
|
1107
|
+
},
|
|
1108
|
+
{
|
|
1109
|
+
"kind": "javascript-module",
|
|
1110
|
+
"path": "src/styles/base.ts",
|
|
1111
|
+
"declarations": [
|
|
1112
|
+
{
|
|
1113
|
+
"kind": "variable",
|
|
1114
|
+
"name": "baseStyles",
|
|
1115
|
+
"default": "css` @layer argus-base { :host { display: block; /* A table that virtualizes needs a bounded height; set your own on the element. */ block-size: 400px; box-sizing: border-box; contain: content; color-scheme: light dark; color: var(--argus-fg, CanvasText); background: var(--argus-bg, Canvas); font: var(--argus-font, inherit); --_row-height: var(--argus-row-height, 40px); --_pad: var(--argus-cell-padding-inline, 12px); --_border: var(--argus-border-width, 1px) solid var(--argus-border-color, light-dark(#e5e7eb, #374151)); /* 1 in LTR, -1 in RTL: mirrors the pinned-edge shadow. */ --_dir: 1; } :host(:dir(rtl)) { --_dir: -1; } :host([density='compact']) { --_row-height: var(--argus-row-height, 32px); --_pad: var(--argus-cell-padding-inline, 8px); } :host([density='spacious']) { --_row-height: var(--argus-row-height, 52px); --_pad: var(--argus-cell-padding-inline, 16px); } :host([hidden]) { display: none; } [part~='table'] { position: relative; block-size: 100%; overflow: auto; overscroll-behavior: contain; /* A cell moved to by keyboard scrolls clear of the sticky header and pinned columns. */ scroll-padding-block-start: var(--_row-height); scroll-padding-inline: var(--_pin-start, 0) var(--_pin-end, 0); } .row { display: grid; grid-template-columns: var(--_cols); inline-size: var(--_width); min-inline-size: 100%; block-size: var(--_row-height); box-sizing: border-box; } [part~='header'] { position: sticky; inset-block-start: 0; z-index: 2; } [part~='body'] { position: relative; contain: layout; } [part~='row'] { position: absolute; inset-block-start: 0; inset-inline-start: 0; --_row-bg: var(--argus-bg, Canvas); --_row-surface: var(--_row-bg); background: var(--_row-surface); } [part~='row-odd'] { --_row-bg: var(--argus-row-stripe-bg, var(--argus-bg, Canvas)); } [part~='row']:hover { --_row-surface: var(--argus-row-hover-bg, var(--_row-bg)); } [part~='cell'], [part~='header-cell'] { display: flex; align-items: center; min-inline-size: 0; box-sizing: border-box; padding-inline: var(--_pad); overflow: hidden; white-space: nowrap; border-block-end: var(--_border); } [part~='header-cell'] { background: var(--argus-header-bg, light-dark(#f9fafb, #111827)); color: var(--argus-header-fg, inherit); font-weight: 600; } [part~='header-cell'] { position: relative; } [part~='resize-handle'] { position: absolute; inset-block: 0; inset-inline-end: 0; inline-size: 8px; z-index: 1; cursor: col-resize; touch-action: none; } [part~='resize-handle']::after { content: ''; position: absolute; inset-block: 25%; inset-inline-end: 0; inline-size: 2px; background: var(--argus-resize-handle-color, light-dark(#9ca3af, #6b7280)); opacity: 0; } [part~='header-cell']:hover [part~='resize-handle']::after, [part~='header-cell']:focus-visible [part~='resize-handle']::after, [part~='resize-handle'][data-active]::after { opacity: 1; } [data-sort-col] { cursor: pointer; user-select: none; } [part~='header-cell']:focus-visible, [part~='cell']:focus-visible { outline: var(--argus-focus-ring, 2px solid Highlight); outline-offset: -2px; } /* A small chevron after the header content; only the sorted column shows it. */ .sort-indicator { flex: none; inline-size: 0.35em; block-size: 0.35em; margin-inline-start: 0.4em; /* Physical sides on purpose: the chevron is rotated, so it must not mirror in RTL. */ border-right: 0.12em solid currentColor; border-bottom: 0.12em solid currentColor; visibility: hidden; } [aria-sort] .sort-indicator { visibility: visible; } [aria-sort='ascending'] .sort-indicator { transform: translateY(0.1em) rotate(-135deg); } [aria-sort='descending'] .sort-indicator { transform: translateY(-0.1em) rotate(45deg); } [data-align='end'] .sort-indicator { order: -1; margin-inline: 0 0.4em; } /* * Pinned columns: sticky inside the scroll container, with offsets from the * table model. Logical insets make RTL work without extra rules. */ [data-pin] { position: sticky; z-index: 1; /* Visible so the edge shadow isn't clipped; slotted content still clips itself. */ overflow: visible; } [data-pin='start'] { inset-inline-start: var(--_pin-offset); } [data-pin='end'] { inset-inline-end: var(--_pin-offset); } [part~='cell-pinned'] { background: var(--_row-surface); } /* * The edge shadow. --argus-pinned-shadow is written for a shadow falling * toward the end side; the start edge in RTL and the end edge in LTR mirror it. */ [data-pin-edge]::after { content: ''; position: absolute; inset: 0; pointer-events: none; box-shadow: var( --argus-pinned-shadow, 4px 0 6px -4px light-dark(rgb(0 0 0 / 0.2), rgb(0 0 0 / 0.6)) ); transform: scaleX(var(--_dir)); } [data-pin='end'][data-pin-edge]::after { transform: scaleX(calc(-1 * var(--_dir))); } [data-align='center'] { justify-content: center; text-align: center; } [data-align='end'] { justify-content: flex-end; text-align: end; } ::slotted(*) { min-inline-size: 0; overflow: hidden; text-overflow: ellipsis; } [part~='empty'] { display: flex; align-items: center; justify-content: center; min-block-size: calc(100% - var(--_row-height)); padding: var(--_pad); box-sizing: border-box; } /* Measures the resolved row height in px for the virtualizer. */ .probe { position: absolute; inset-block-start: 0; inline-size: 0; block-size: var(--_row-height); visibility: hidden; pointer-events: none; } } `",
|
|
1116
|
+
"description": "Base styles. Everything sits in `@layer argus-base`, and every value reads a\npublic token with a neutral fallback, so themes and page CSS always win.\n`--_*` properties are private."
|
|
1117
|
+
}
|
|
1118
|
+
],
|
|
1119
|
+
"exports": [
|
|
1120
|
+
{
|
|
1121
|
+
"kind": "js",
|
|
1122
|
+
"name": "baseStyles",
|
|
1123
|
+
"declaration": {
|
|
1124
|
+
"name": "baseStyles",
|
|
1125
|
+
"module": "src/styles/base.ts"
|
|
1126
|
+
}
|
|
1127
|
+
}
|
|
1128
|
+
]
|
|
1129
|
+
}
|
|
1130
|
+
]
|
|
1131
|
+
}
|