@timlassiter11/yatl 1.2.2 → 1.2.4
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/dist/index.d.mts +11 -2
- package/dist/index.d.ts +11 -2
- package/dist/index.js +55 -11
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +55 -11
- package/dist/index.mjs.map +1 -1
- package/dist/theme.css +51 -35
- package/dist/yatl.min.global.js +42 -32
- package/dist/yatl.min.global.js.map +1 -1
- package/package.json +3 -2
package/dist/index.mjs
CHANGED
|
@@ -358,6 +358,7 @@ import { ifDefined } from "lit/directives/if-defined.js";
|
|
|
358
358
|
import { repeat } from "lit/directives/repeat.js";
|
|
359
359
|
import { styleMap } from "lit/directives/style-map.js";
|
|
360
360
|
import "@lit-labs/virtualizer";
|
|
361
|
+
import { virtualizerRef } from "@lit-labs/virtualizer/virtualize.js";
|
|
361
362
|
|
|
362
363
|
// src/table-controller/utils.ts
|
|
363
364
|
function getCompareableValue(value) {
|
|
@@ -531,6 +532,7 @@ var YatlTableController = class extends TypedEventTarget {
|
|
|
531
532
|
for (const column of columns) {
|
|
532
533
|
this._columnDefinitionMap.set(column.field, column);
|
|
533
534
|
}
|
|
535
|
+
this.createMetadata();
|
|
534
536
|
this.requestUpdate("columns");
|
|
535
537
|
}
|
|
536
538
|
get displayColumns() {
|
|
@@ -1552,10 +1554,7 @@ var table_styles_default = css`
|
|
|
1552
1554
|
);
|
|
1553
1555
|
|
|
1554
1556
|
--table-header-text: var(--yatl-table-header-text, var(--yatl-text-1));
|
|
1555
|
-
--table-header-bg: var(
|
|
1556
|
-
--yatl-table-header-bg,
|
|
1557
|
-
color-mix(in srgb, var(--yatl-color-mix) 4%, var(--table-bg))
|
|
1558
|
-
);
|
|
1557
|
+
--table-header-bg: var(--yatl-table-header-bg, var(--yatl-surface-lowered));
|
|
1559
1558
|
--table-header-hover-bg: var(
|
|
1560
1559
|
--yatl-table-header-hover-bg,
|
|
1561
1560
|
color-mix(in srgb, var(--yatl-color-mix) 4%, var(--table-header-bg))
|
|
@@ -1574,6 +1573,10 @@ var table_styles_default = css`
|
|
|
1574
1573
|
--yatl-table-row-hover-bg,
|
|
1575
1574
|
var(--table-header-bg)
|
|
1576
1575
|
);
|
|
1576
|
+
--table-row-border-color: var(
|
|
1577
|
+
--yatl-table-row-border-color,
|
|
1578
|
+
var(--yatl-border-color-subtle)
|
|
1579
|
+
);
|
|
1577
1580
|
--table-row-stripe-bg: var(
|
|
1578
1581
|
--yatl-table-row-stripe-bg,
|
|
1579
1582
|
color-mix(in srbg, var(--yatl-color-mix) 3%, var(--table-bg))
|
|
@@ -1619,7 +1622,8 @@ var table_styles_default = css`
|
|
|
1619
1622
|
.row {
|
|
1620
1623
|
position: relative;
|
|
1621
1624
|
background-color: var(--table-row-bg);
|
|
1622
|
-
|
|
1625
|
+
/** Use box-shadow to mimic borders. It works better when virtualized */
|
|
1626
|
+
box-shadow: inset 0 -1px 0 0 var(--table-row-border-color);
|
|
1623
1627
|
transition: background-color 50ms;
|
|
1624
1628
|
}
|
|
1625
1629
|
|
|
@@ -1635,7 +1639,7 @@ var table_styles_default = css`
|
|
|
1635
1639
|
}
|
|
1636
1640
|
|
|
1637
1641
|
.row:last-child {
|
|
1638
|
-
|
|
1642
|
+
box-shadow: none;
|
|
1639
1643
|
}
|
|
1640
1644
|
|
|
1641
1645
|
.table:not(.resizing) .row {
|
|
@@ -1648,10 +1652,18 @@ var table_styles_default = css`
|
|
|
1648
1652
|
padding: var(--table-cell-padding);
|
|
1649
1653
|
}
|
|
1650
1654
|
|
|
1655
|
+
.cell.is-number {
|
|
1656
|
+
justify-content: flex-end;
|
|
1657
|
+
}
|
|
1658
|
+
|
|
1651
1659
|
.table.resizing * {
|
|
1652
1660
|
cursor: col-resize !important;
|
|
1653
1661
|
}
|
|
1654
1662
|
|
|
1663
|
+
.header {
|
|
1664
|
+
background-color: var(--table-bg);
|
|
1665
|
+
}
|
|
1666
|
+
|
|
1655
1667
|
.header .cell {
|
|
1656
1668
|
padding: var(--table-header-padding);
|
|
1657
1669
|
}
|
|
@@ -1681,7 +1693,7 @@ var table_styles_default = css`
|
|
|
1681
1693
|
}
|
|
1682
1694
|
|
|
1683
1695
|
@layer striped {
|
|
1684
|
-
:host([striped]) .
|
|
1696
|
+
:host([striped]) .row-even {
|
|
1685
1697
|
background-color: var(--table-row-stripe-bg);
|
|
1686
1698
|
}
|
|
1687
1699
|
}
|
|
@@ -1919,7 +1931,7 @@ var YatlTable = class extends LitElement {
|
|
|
1919
1931
|
// #endregion
|
|
1920
1932
|
// #region --- Properties ---
|
|
1921
1933
|
this._controller = new YatlTableController(this);
|
|
1922
|
-
this.striped =
|
|
1934
|
+
this.striped = false;
|
|
1923
1935
|
this.sortable = true;
|
|
1924
1936
|
this.resizable = true;
|
|
1925
1937
|
this.enableVirtualScroll = false;
|
|
@@ -2083,6 +2095,11 @@ var YatlTable = class extends LitElement {
|
|
|
2083
2095
|
this.toggleRowSelection(row, selected);
|
|
2084
2096
|
};
|
|
2085
2097
|
}
|
|
2098
|
+
get virtualizerRef() {
|
|
2099
|
+
if (this.virtualizer) {
|
|
2100
|
+
return this.virtualizer[virtualizerRef];
|
|
2101
|
+
}
|
|
2102
|
+
}
|
|
2086
2103
|
get controller() {
|
|
2087
2104
|
return this._controller;
|
|
2088
2105
|
}
|
|
@@ -2470,6 +2487,23 @@ var YatlTable = class extends LitElement {
|
|
|
2470
2487
|
updateRow(rowId, data) {
|
|
2471
2488
|
return this.controller.updateRow(rowId, data);
|
|
2472
2489
|
}
|
|
2490
|
+
/**
|
|
2491
|
+
* This will force the underlying virtual scroller
|
|
2492
|
+
* to re-calculate row sizes and positions and re-render.
|
|
2493
|
+
* This is specifically here to fix virtual scroll tables
|
|
2494
|
+
* that are affected by scale animations.
|
|
2495
|
+
* E.g. when put in a yatl-dialog.
|
|
2496
|
+
*/
|
|
2497
|
+
reflowVirtualizer() {
|
|
2498
|
+
const virtualizerRef2 = this.virtualizerRef;
|
|
2499
|
+
if (virtualizerRef2) {
|
|
2500
|
+
virtualizerRef2._itemsChanged = true;
|
|
2501
|
+
virtualizerRef2._rangeChanged = true;
|
|
2502
|
+
virtualizerRef2._measureChildren();
|
|
2503
|
+
virtualizerRef2._itemsChanged = false;
|
|
2504
|
+
virtualizerRef2._rangeChanged = false;
|
|
2505
|
+
}
|
|
2506
|
+
}
|
|
2473
2507
|
/**
|
|
2474
2508
|
* Updates the data of a row at a specific original index.
|
|
2475
2509
|
* @param index - The original index of the row to update.
|
|
@@ -2606,6 +2640,11 @@ var YatlTable = class extends LitElement {
|
|
|
2606
2640
|
if (Array.isArray(userParts)) {
|
|
2607
2641
|
userParts = userParts.join(" ");
|
|
2608
2642
|
}
|
|
2643
|
+
const isNumber = typeof value === "bigint" || typeof value === "number";
|
|
2644
|
+
const classes = {
|
|
2645
|
+
cell: true,
|
|
2646
|
+
"is-number": isNumber
|
|
2647
|
+
};
|
|
2609
2648
|
if (typeof column.valueFormatter === "function") {
|
|
2610
2649
|
value = column.valueFormatter(value, row);
|
|
2611
2650
|
}
|
|
@@ -2614,7 +2653,7 @@ var YatlTable = class extends LitElement {
|
|
|
2614
2653
|
role="cell"
|
|
2615
2654
|
part="cell body-cell cell-${column.field} ${userParts}"
|
|
2616
2655
|
data-field=${column.field}
|
|
2617
|
-
class
|
|
2656
|
+
class=${classMap(classes)}
|
|
2618
2657
|
title=${ifDefined(value ? String(value) : void 0)}
|
|
2619
2658
|
@click=${(event) => this.handleCellClick(event, row, column.field)}
|
|
2620
2659
|
>
|
|
@@ -2660,7 +2699,12 @@ var YatlTable = class extends LitElement {
|
|
|
2660
2699
|
if (Array.isArray(userParts)) {
|
|
2661
2700
|
userParts = userParts.join(" ");
|
|
2662
2701
|
}
|
|
2663
|
-
const classes = {
|
|
2702
|
+
const classes = {
|
|
2703
|
+
row: true,
|
|
2704
|
+
selected,
|
|
2705
|
+
"row-even": renderIndex % 2 === 0,
|
|
2706
|
+
"row-odd": renderIndex % 2 !== 0
|
|
2707
|
+
};
|
|
2664
2708
|
const rowIndex = renderIndex + 1;
|
|
2665
2709
|
return html2`
|
|
2666
2710
|
<div
|
|
@@ -2905,7 +2949,7 @@ __decorateClass([
|
|
|
2905
2949
|
property({ type: Boolean, attribute: "enable-column-reorder" })
|
|
2906
2950
|
], YatlTable.prototype, "enableColumnReorder", 2);
|
|
2907
2951
|
__decorateClass([
|
|
2908
|
-
property({ type: Boolean })
|
|
2952
|
+
property({ type: Boolean, attribute: "enable-row-number-column" })
|
|
2909
2953
|
], YatlTable.prototype, "enableRowNumberColumn", 2);
|
|
2910
2954
|
__decorateClass([
|
|
2911
2955
|
property({ type: Boolean, attribute: "enable-footer" })
|