@rozie-ui/data-table-lit 0.2.4 → 0.2.5
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 +2 -0
- package/dist/index.cjs +1 -0
- package/dist/index.d.cts +1 -0
- package/dist/index.d.mts +1 -0
- package/dist/index.mjs +1 -0
- package/package.json +2 -2
- package/src/DataTable.ts +10 -0
- package/src/themes/base.css +15 -0
package/README.md
CHANGED
|
@@ -10,6 +10,8 @@ npm i @rozie-ui/data-table-lit
|
|
|
10
10
|
|
|
11
11
|
Peer dependencies: `lit + @lit/context + @lit-labs/preact-signals + @preact/signals-core + @tanstack/table-core + @tanstack/virtual-core + @rozie-ui/popover-lit`. Install them alongside this package.
|
|
12
12
|
|
|
13
|
+
Also installed: `@rozie/runtime-lit` — Rozie's small, tree-shaken runtime helper package (controllable state, keyboard navigation, event modifiers, and safe interpolation). It arrives as a regular dependency, so npm pulls it for you. Your bundler keeps only the helpers this component actually uses — typically a few hundred bytes to a few KB, minified and gzipped. [What's in it and what it costs](https://github.com/One-Learning-Community/rozie.js/blob/main/docs/guide/output-and-runtime.md).
|
|
14
|
+
|
|
13
15
|
## Usage
|
|
14
16
|
|
|
15
17
|
Columns may be declared as a `:columns` config array **or** as `<Column>` children (or both — an id-keyed last-write-wins union). Per-cell rendering is one parent `#cell` / `#colHeader` renderer on `<DataTable>`, dispatched by `columnId`, so it works the same with either column form.
|
package/dist/index.cjs
CHANGED
|
@@ -4671,6 +4671,7 @@ __decorate([(0, lit_decorators_js.queryAssignedElements)({
|
|
|
4671
4671
|
flatten: true
|
|
4672
4672
|
})], DataTable.prototype, "_slotDetailElements", void 0);
|
|
4673
4673
|
__decorate([(0, lit_decorators_js.property)({ attribute: false })], DataTable.prototype, "detail", void 0);
|
|
4674
|
+
__decorate([(0, lit_decorators_js.property)({ attribute: false })], DataTable.prototype, "rozieSlots", void 0);
|
|
4674
4675
|
DataTable = __decorate([(0, lit_decorators_js.customElement)("rozie-data-table")], DataTable);
|
|
4675
4676
|
var DataTable_default = DataTable;
|
|
4676
4677
|
//#endregion
|
package/dist/index.d.cts
CHANGED
package/dist/index.d.mts
CHANGED
package/dist/index.mjs
CHANGED
|
@@ -4667,6 +4667,7 @@ __decorate([queryAssignedElements({
|
|
|
4667
4667
|
flatten: true
|
|
4668
4668
|
})], DataTable.prototype, "_slotDetailElements", void 0);
|
|
4669
4669
|
__decorate([property({ attribute: false })], DataTable.prototype, "detail", void 0);
|
|
4670
|
+
__decorate([property({ attribute: false })], DataTable.prototype, "rozieSlots", void 0);
|
|
4670
4671
|
DataTable = __decorate([customElement("rozie-data-table")], DataTable);
|
|
4671
4672
|
var DataTable_default = DataTable;
|
|
4672
4673
|
//#endregion
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rozie-ui/data-table-lit",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.5",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"private": false,
|
|
6
6
|
"license": "MIT",
|
|
@@ -45,7 +45,7 @@
|
|
|
45
45
|
"src"
|
|
46
46
|
],
|
|
47
47
|
"dependencies": {
|
|
48
|
-
"@rozie/runtime-lit": "0.
|
|
48
|
+
"@rozie/runtime-lit": "0.6.0"
|
|
49
49
|
},
|
|
50
50
|
"peerDependencies": {
|
|
51
51
|
"lit": "^3.2",
|
package/src/DataTable.ts
CHANGED
|
@@ -661,6 +661,16 @@ private __rozieCtxProvider_data_table_columns = new ContextProvider(this, { cont
|
|
|
661
661
|
@state() private _hasSlotDetail = false;
|
|
662
662
|
@queryAssignedElements({ slot: 'detail', flatten: true }) private _slotDetailElements!: Element[];
|
|
663
663
|
@property({ attribute: false }) detail?: (scope: { row: any }) => unknown;
|
|
664
|
+
// Phase 79 Plan 08 (R4) contract for 79-09: the record intake for
|
|
665
|
+
// record-routed slot fills. 79-09's consumer-side emitSlotFiller
|
|
666
|
+
// accumulates an object literal onto the SAME `.rozieSlots=${{ ... }}`
|
|
667
|
+
// open-tag binding; the KEY is the fill's authored (possibly
|
|
668
|
+
// non-identifier) name and the VALUE is a scope-taking render
|
|
669
|
+
// function. `rozieSlots?.[name]` must be checked BEFORE the legacy
|
|
670
|
+
// named function-prop / <slot> fallback (AC-9). Attribute
|
|
671
|
+
// deserialization is disabled — this is a function-valued record,
|
|
672
|
+
// never reflected to/from an HTML attribute.
|
|
673
|
+
@property({ attribute: false }) rozieSlots?: Record<string, (scope: any) => unknown>;
|
|
664
674
|
|
|
665
675
|
private _disconnectCleanups: Array<() => void> = [];
|
|
666
676
|
// Re-parenting guard: set true once the deferred teardown has actually
|
package/src/themes/base.css
CHANGED
|
@@ -24,6 +24,13 @@
|
|
|
24
24
|
*/
|
|
25
25
|
.rozie-data-table-wrap,
|
|
26
26
|
.rozie-data-table {
|
|
27
|
+
/* NOTE (see file-head comment): most of the tokens below are declared but
|
|
28
|
+
never read via a CSS var() inside THIS component's own scoped <style> —
|
|
29
|
+
that is by design. This is the public surface; the "Wire the PUBLIC
|
|
30
|
+
tokens..." block further down assigns each one onto the short internal
|
|
31
|
+
--rdt-* custom property the component actually reads. A future audit
|
|
32
|
+
must not delete these as dead — they are the intended public API. */
|
|
33
|
+
|
|
27
34
|
/* ── palette (the few values most consumers will set) ───────────────────── */
|
|
28
35
|
--rozie-data-table-fg: inherit;
|
|
29
36
|
--rozie-data-table-accent: #0066cc;
|
|
@@ -62,6 +69,14 @@
|
|
|
62
69
|
/* ── disabled pagination controls ──────────────────────────────────────── */
|
|
63
70
|
--rozie-data-table-disabled-opacity: 0.4;
|
|
64
71
|
|
|
72
|
+
/* ── virtual scroll (row windowing, req-3/D-06) ─────────────────────────── */
|
|
73
|
+
/* Read with NO fallback at its one use site (`max-height: var(--rozie-data-table-max-height);`
|
|
74
|
+
on `.rdt-scroll`) — when unset the property is invalid at computed-value
|
|
75
|
+
time and the rule behaves as if `max-height` were never declared there,
|
|
76
|
+
i.e. `none` (unbounded). Declaring `none` here is the render-neutral
|
|
77
|
+
equivalent of that unset behavior, made explicit and overridable. */
|
|
78
|
+
--rozie-data-table-max-height: none;
|
|
79
|
+
|
|
65
80
|
/* ─────────────────────────────────────────────────────────────────────────
|
|
66
81
|
* Wire the PUBLIC tokens onto the INTERNAL `--rdt-*` the component reads. A
|
|
67
82
|
* bridge only needs to remap the public tokens above; these passthroughs do
|