@timlassiter11/yatl 1.2.3 → 1.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/dist/index.d.mts +9 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.js +46 -12
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +46 -12
- package/dist/index.mjs.map +1 -1
- package/dist/theme.css +22 -12
- package/dist/yatl.min.global.js +30 -25
- package/dist/yatl.min.global.js.map +1 -1
- package/package.json +1 -1
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() {
|
|
@@ -973,7 +975,7 @@ var YatlTableController = class extends TypedEventTarget {
|
|
|
973
975
|
if (isDisplayColumn(column) && typeof column.valueFormatter === "function") {
|
|
974
976
|
value = column.valueFormatter(value, row);
|
|
975
977
|
}
|
|
976
|
-
value = String(value).replace('"', '""');
|
|
978
|
+
value = String(value ?? "").replace('"', '""');
|
|
977
979
|
list.push(`"${value}"`);
|
|
978
980
|
}
|
|
979
981
|
}
|
|
@@ -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))
|
|
@@ -1620,14 +1623,10 @@ var table_styles_default = css`
|
|
|
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 */
|
|
1623
|
-
box-shadow: inset 0 -1px 0 0 var(--table-border-color);
|
|
1626
|
+
box-shadow: inset 0 -1px 0 0 var(--table-row-border-color);
|
|
1624
1627
|
transition: background-color 50ms;
|
|
1625
1628
|
}
|
|
1626
1629
|
|
|
1627
|
-
.row-number-cell {
|
|
1628
|
-
box-shadow: inset 0 -1px 0 0 var(--table-border-color);
|
|
1629
|
-
}
|
|
1630
|
-
|
|
1631
1630
|
.row.header-row {
|
|
1632
1631
|
background-color: var(--table-header-bg);
|
|
1633
1632
|
border-bottom: 1px solid var(--table-border-color);
|
|
@@ -1653,10 +1652,18 @@ var table_styles_default = css`
|
|
|
1653
1652
|
padding: var(--table-cell-padding);
|
|
1654
1653
|
}
|
|
1655
1654
|
|
|
1655
|
+
.cell.is-number {
|
|
1656
|
+
justify-content: flex-end;
|
|
1657
|
+
}
|
|
1658
|
+
|
|
1656
1659
|
.table.resizing * {
|
|
1657
1660
|
cursor: col-resize !important;
|
|
1658
1661
|
}
|
|
1659
1662
|
|
|
1663
|
+
.header {
|
|
1664
|
+
background-color: var(--table-bg);
|
|
1665
|
+
}
|
|
1666
|
+
|
|
1660
1667
|
.header .cell {
|
|
1661
1668
|
padding: var(--table-header-padding);
|
|
1662
1669
|
}
|
|
@@ -1924,7 +1931,7 @@ var YatlTable = class extends LitElement {
|
|
|
1924
1931
|
// #endregion
|
|
1925
1932
|
// #region --- Properties ---
|
|
1926
1933
|
this._controller = new YatlTableController(this);
|
|
1927
|
-
this.striped =
|
|
1934
|
+
this.striped = false;
|
|
1928
1935
|
this.sortable = true;
|
|
1929
1936
|
this.resizable = true;
|
|
1930
1937
|
this.enableVirtualScroll = false;
|
|
@@ -2088,6 +2095,11 @@ var YatlTable = class extends LitElement {
|
|
|
2088
2095
|
this.toggleRowSelection(row, selected);
|
|
2089
2096
|
};
|
|
2090
2097
|
}
|
|
2098
|
+
get virtualizerRef() {
|
|
2099
|
+
if (this.virtualizer) {
|
|
2100
|
+
return this.virtualizer[virtualizerRef];
|
|
2101
|
+
}
|
|
2102
|
+
}
|
|
2091
2103
|
get controller() {
|
|
2092
2104
|
return this._controller;
|
|
2093
2105
|
}
|
|
@@ -2475,6 +2487,23 @@ var YatlTable = class extends LitElement {
|
|
|
2475
2487
|
updateRow(rowId, data) {
|
|
2476
2488
|
return this.controller.updateRow(rowId, data);
|
|
2477
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
|
+
}
|
|
2478
2507
|
/**
|
|
2479
2508
|
* Updates the data of a row at a specific original index.
|
|
2480
2509
|
* @param index - The original index of the row to update.
|
|
@@ -2611,6 +2640,11 @@ var YatlTable = class extends LitElement {
|
|
|
2611
2640
|
if (Array.isArray(userParts)) {
|
|
2612
2641
|
userParts = userParts.join(" ");
|
|
2613
2642
|
}
|
|
2643
|
+
const isNumber = typeof value === "bigint" || typeof value === "number";
|
|
2644
|
+
const classes = {
|
|
2645
|
+
cell: true,
|
|
2646
|
+
"is-number": isNumber
|
|
2647
|
+
};
|
|
2614
2648
|
if (typeof column.valueFormatter === "function") {
|
|
2615
2649
|
value = column.valueFormatter(value, row);
|
|
2616
2650
|
}
|
|
@@ -2619,7 +2653,7 @@ var YatlTable = class extends LitElement {
|
|
|
2619
2653
|
role="cell"
|
|
2620
2654
|
part="cell body-cell cell-${column.field} ${userParts}"
|
|
2621
2655
|
data-field=${column.field}
|
|
2622
|
-
class
|
|
2656
|
+
class=${classMap(classes)}
|
|
2623
2657
|
title=${ifDefined(value ? String(value) : void 0)}
|
|
2624
2658
|
@click=${(event) => this.handleCellClick(event, row, column.field)}
|
|
2625
2659
|
>
|