@govtechsg/sgds-web-component 3.26.1 → 3.27.0-rc.0
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/base/dropdown-list-element.js +9 -2
- package/base/dropdown-list-element.js.map +1 -1
- package/base/nav-element.d.ts +64 -0
- package/base/nav-element.js +263 -0
- package/base/nav-element.js.map +1 -0
- package/base/nav-profile-element.d.ts +47 -0
- package/base/nav-profile-element.js +191 -0
- package/base/nav-profile-element.js.map +1 -0
- package/base/nav-profile.js +6 -0
- package/base/nav-profile.js.map +1 -0
- package/components/Appnav/appnav-context.d.ts +6 -0
- package/components/Appnav/appnav-context.js +7 -0
- package/components/Appnav/appnav-context.js.map +1 -0
- package/components/Appnav/appnav.js +6 -0
- package/components/Appnav/appnav.js.map +1 -0
- package/components/Appnav/index.d.ts +9 -0
- package/components/Appnav/index.js +8 -0
- package/components/Appnav/index.js.map +1 -0
- package/components/Appnav/index.umd.min.js +2542 -0
- package/components/Appnav/index.umd.min.js.map +1 -0
- package/components/Appnav/sgds-appnav-profile.d.ts +17 -0
- package/components/Appnav/sgds-appnav-profile.js +31 -0
- package/components/Appnav/sgds-appnav-profile.js.map +1 -0
- package/components/Appnav/sgds-appnav.d.ts +44 -0
- package/components/Appnav/sgds-appnav.js +183 -0
- package/components/Appnav/sgds-appnav.js.map +1 -0
- package/components/Breadcrumb/index.umd.min.js +25 -25
- package/components/Breadcrumb/index.umd.min.js.map +1 -1
- package/components/Checkbox/index.umd.min.js +233 -233
- package/components/Checkbox/index.umd.min.js.map +1 -1
- package/components/Checkbox/sgds-checkbox.d.ts +1 -0
- package/components/Checkbox/sgds-checkbox.js +6 -1
- package/components/Checkbox/sgds-checkbox.js.map +1 -1
- package/components/ComboBox/index.umd.min.js +254 -254
- package/components/ComboBox/index.umd.min.js.map +1 -1
- package/components/DataTable/data-table.js +6 -0
- package/components/DataTable/data-table.js.map +1 -0
- package/components/DataTable/index.d.ts +12 -0
- package/components/DataTable/index.js +11 -0
- package/components/DataTable/index.js.map +1 -0
- package/components/DataTable/index.umd.min.js +2634 -0
- package/components/DataTable/index.umd.min.js.map +1 -0
- package/components/DataTable/sgds-data-table-cell.d.ts +15 -0
- package/components/DataTable/sgds-data-table-cell.js +32 -0
- package/components/DataTable/sgds-data-table-cell.js.map +1 -0
- package/components/DataTable/sgds-data-table-head.d.ts +28 -0
- package/components/DataTable/sgds-data-table-head.js +69 -0
- package/components/DataTable/sgds-data-table-head.js.map +1 -0
- package/components/DataTable/sgds-data-table-row.d.ts +76 -0
- package/components/DataTable/sgds-data-table-row.js +333 -0
- package/components/DataTable/sgds-data-table-row.js.map +1 -0
- package/components/DataTable/sgds-data-table.d.ts +82 -0
- package/components/DataTable/sgds-data-table.js +405 -0
- package/components/DataTable/sgds-data-table.js.map +1 -0
- package/components/Datepicker/index.umd.min.js +86 -86
- package/components/Datepicker/index.umd.min.js.map +1 -1
- package/components/Dropdown/dropdown-item.js +1 -1
- package/components/Dropdown/index.umd.min.js +5 -5
- package/components/Dropdown/index.umd.min.js.map +1 -1
- package/components/Dropdown/sgds-dropdown-item.d.ts +2 -0
- package/components/Dropdown/sgds-dropdown-item.js +8 -2
- package/components/Dropdown/sgds-dropdown-item.js.map +1 -1
- package/components/Input/index.umd.min.js +2 -2
- package/components/Input/index.umd.min.js.map +1 -1
- package/components/Input/input.js +1 -1
- package/components/Mainnav/index.d.ts +2 -0
- package/components/Mainnav/index.js +2 -0
- package/components/Mainnav/index.js.map +1 -1
- package/components/Mainnav/index.umd.min.js +339 -286
- package/components/Mainnav/index.umd.min.js.map +1 -1
- package/components/Mainnav/mainnav-dropdown.js +1 -1
- package/components/Mainnav/mainnav-item.js +1 -1
- package/components/Mainnav/mainnav.js +1 -1
- package/components/Mainnav/sgds-mainnav-profile.d.ts +15 -0
- package/components/Mainnav/sgds-mainnav-profile.js +29 -0
- package/components/Mainnav/sgds-mainnav-profile.js.map +1 -0
- package/components/Mainnav/sgds-mainnav.d.ts +8 -51
- package/components/Mainnav/sgds-mainnav.js +40 -238
- package/components/Mainnav/sgds-mainnav.js.map +1 -1
- package/components/OverflowMenu/index.umd.min.js +25 -25
- package/components/OverflowMenu/index.umd.min.js.map +1 -1
- package/components/QuantityToggle/index.umd.min.js +1 -1
- package/components/QuantityToggle/index.umd.min.js.map +1 -1
- package/components/Select/index.umd.min.js +1 -1
- package/components/Select/index.umd.min.js.map +1 -1
- package/components/Tab/index.umd.min.js +1 -1
- package/components/Tab/index.umd.min.js.map +1 -1
- package/components/Tab/tab-panel.js +1 -1
- package/components/Textarea/index.umd.min.js +1 -1
- package/components/Textarea/index.umd.min.js.map +1 -1
- package/components/Textarea/textarea.js +1 -1
- package/components/index.d.ts +7 -0
- package/components/index.js +7 -0
- package/components/index.js.map +1 -1
- package/components/index.umd.min.js +812 -628
- package/components/index.umd.min.js.map +1 -1
- package/css/fouc.css +9 -2
- package/custom-elements.json +11501 -7967
- package/index.d.ts +2 -0
- package/index.js +2 -0
- package/index.js.map +1 -1
- package/index.umd.min.js +699 -510
- package/index.umd.min.js.map +1 -1
- package/package.json +1 -1
- package/react/appnav/index.cjs.js +45 -0
- package/react/appnav/index.cjs.js.map +1 -0
- package/react/appnav/index.d.ts +4 -0
- package/react/appnav/index.js +21 -0
- package/react/appnav/index.js.map +1 -0
- package/react/appnav-profile/index.cjs.js +40 -0
- package/react/appnav-profile/index.cjs.js.map +1 -0
- package/react/appnav-profile/index.d.ts +4 -0
- package/react/appnav-profile/index.js +16 -0
- package/react/appnav-profile/index.js.map +1 -0
- package/react/base/dropdown-list-element.cjs.js +9 -2
- package/react/base/dropdown-list-element.cjs.js.map +1 -1
- package/react/base/dropdown-list-element.js +9 -2
- package/react/base/dropdown-list-element.js.map +1 -1
- package/react/base/nav-element.cjs.js +268 -0
- package/react/base/nav-element.cjs.js.map +1 -0
- package/react/base/nav-element.js +264 -0
- package/react/base/nav-element.js.map +1 -0
- package/react/base/nav-profile-element.cjs.js +196 -0
- package/react/base/nav-profile-element.cjs.js.map +1 -0
- package/react/base/nav-profile-element.js +192 -0
- package/react/base/nav-profile-element.js.map +1 -0
- package/react/base/nav-profile.cjs.js +11 -0
- package/react/base/nav-profile.cjs.js.map +1 -0
- package/react/base/nav-profile.js +7 -0
- package/react/base/nav-profile.js.map +1 -0
- package/react/components/Appnav/appnav-context.cjs.js +13 -0
- package/react/components/Appnav/appnav-context.cjs.js.map +1 -0
- package/react/components/Appnav/appnav-context.js +8 -0
- package/react/components/Appnav/appnav-context.js.map +1 -0
- package/react/components/Appnav/appnav.cjs.js +11 -0
- package/react/components/Appnav/appnav.cjs.js.map +1 -0
- package/react/components/Appnav/appnav.js +7 -0
- package/react/components/Appnav/appnav.js.map +1 -0
- package/react/components/Appnav/sgds-appnav-profile.cjs.js +37 -0
- package/react/components/Appnav/sgds-appnav-profile.cjs.js.map +1 -0
- package/react/components/Appnav/sgds-appnav-profile.js +32 -0
- package/react/components/Appnav/sgds-appnav-profile.js.map +1 -0
- package/react/components/Appnav/sgds-appnav.cjs.js +189 -0
- package/react/components/Appnav/sgds-appnav.cjs.js.map +1 -0
- package/react/components/Appnav/sgds-appnav.js +184 -0
- package/react/components/Appnav/sgds-appnav.js.map +1 -0
- package/react/components/Checkbox/sgds-checkbox.cjs.js +6 -1
- package/react/components/Checkbox/sgds-checkbox.cjs.js.map +1 -1
- package/react/components/Checkbox/sgds-checkbox.js +6 -1
- package/react/components/Checkbox/sgds-checkbox.js.map +1 -1
- package/react/components/DataTable/data-table.cjs.js +11 -0
- package/react/components/DataTable/data-table.cjs.js.map +1 -0
- package/react/components/DataTable/data-table.js +7 -0
- package/react/components/DataTable/data-table.js.map +1 -0
- package/react/components/DataTable/sgds-data-table-cell.cjs.js +38 -0
- package/react/components/DataTable/sgds-data-table-cell.cjs.js.map +1 -0
- package/react/components/DataTable/sgds-data-table-cell.js +33 -0
- package/react/components/DataTable/sgds-data-table-cell.js.map +1 -0
- package/react/components/DataTable/sgds-data-table-head.cjs.js +75 -0
- package/react/components/DataTable/sgds-data-table-head.cjs.js.map +1 -0
- package/react/components/DataTable/sgds-data-table-head.js +70 -0
- package/react/components/DataTable/sgds-data-table-head.js.map +1 -0
- package/react/components/DataTable/sgds-data-table-row.cjs.js +339 -0
- package/react/components/DataTable/sgds-data-table-row.cjs.js.map +1 -0
- package/react/components/DataTable/sgds-data-table-row.js +334 -0
- package/react/components/DataTable/sgds-data-table-row.js.map +1 -0
- package/react/components/DataTable/sgds-data-table.cjs.js +411 -0
- package/react/components/DataTable/sgds-data-table.cjs.js.map +1 -0
- package/react/components/DataTable/sgds-data-table.js +406 -0
- package/react/components/DataTable/sgds-data-table.js.map +1 -0
- package/react/components/Dropdown/dropdown-item.cjs.js +1 -1
- package/react/components/Dropdown/dropdown-item.js +1 -1
- package/react/components/Dropdown/sgds-dropdown-item.cjs.js +8 -2
- package/react/components/Dropdown/sgds-dropdown-item.cjs.js.map +1 -1
- package/react/components/Dropdown/sgds-dropdown-item.js +8 -2
- package/react/components/Dropdown/sgds-dropdown-item.js.map +1 -1
- package/react/components/Input/input.cjs.js +1 -1
- package/react/components/Input/input.js +1 -1
- package/react/components/Mainnav/mainnav-dropdown.cjs.js +1 -1
- package/react/components/Mainnav/mainnav-dropdown.js +1 -1
- package/react/components/Mainnav/mainnav-item.cjs.js +1 -1
- package/react/components/Mainnav/mainnav-item.js +1 -1
- package/react/components/Mainnav/mainnav.cjs.js +1 -1
- package/react/components/Mainnav/mainnav.js +1 -1
- package/react/components/Mainnav/sgds-mainnav-profile.cjs.js +35 -0
- package/react/components/Mainnav/sgds-mainnav-profile.cjs.js.map +1 -0
- package/react/components/Mainnav/sgds-mainnav-profile.js +30 -0
- package/react/components/Mainnav/sgds-mainnav-profile.js.map +1 -0
- package/react/components/Mainnav/sgds-mainnav.cjs.js +39 -237
- package/react/components/Mainnav/sgds-mainnav.cjs.js.map +1 -1
- package/react/components/Mainnav/sgds-mainnav.js +40 -238
- package/react/components/Mainnav/sgds-mainnav.js.map +1 -1
- package/react/components/Tab/tab-panel.cjs.js +1 -1
- package/react/components/Tab/tab-panel.js +1 -1
- package/react/components/Textarea/textarea.cjs.js +1 -1
- package/react/components/Textarea/textarea.js +1 -1
- package/react/data-table/index.cjs.js +44 -0
- package/react/data-table/index.cjs.js.map +1 -0
- package/react/data-table/index.d.ts +4 -0
- package/react/data-table/index.js +20 -0
- package/react/data-table/index.js.map +1 -0
- package/react/data-table-cell/index.cjs.js +40 -0
- package/react/data-table-cell/index.cjs.js.map +1 -0
- package/react/data-table-cell/index.d.ts +4 -0
- package/react/data-table-cell/index.js +16 -0
- package/react/data-table-cell/index.js.map +1 -0
- package/react/data-table-head/index.cjs.js +40 -0
- package/react/data-table-head/index.cjs.js.map +1 -0
- package/react/data-table-head/index.d.ts +4 -0
- package/react/data-table-head/index.js +16 -0
- package/react/data-table-head/index.js.map +1 -0
- package/react/data-table-row/index.cjs.js +45 -0
- package/react/data-table-row/index.cjs.js.map +1 -0
- package/react/data-table-row/index.d.ts +4 -0
- package/react/data-table-row/index.js +21 -0
- package/react/data-table-row/index.js.map +1 -0
- package/react/index.cjs.js +152 -138
- package/react/index.cjs.js.map +1 -1
- package/react/index.d.ts +9 -2
- package/react/index.js +9 -2
- package/react/index.js.map +1 -1
- package/react/mainnav-profile/index.cjs.js +40 -0
- package/react/mainnav-profile/index.cjs.js.map +1 -0
- package/react/mainnav-profile/index.d.ts +4 -0
- package/react/mainnav-profile/index.js +16 -0
- package/react/mainnav-profile/index.js.map +1 -0
- package/react/styles/form-text-control.cjs.js +1 -1
- package/react/styles/form-text-control.js +1 -1
- package/styles/form-text-control.js +1 -1
- package/themes/blue.css +11 -11
- package/themes/cyan.css +10 -10
- package/themes/gt/blue.css +11 -11
- package/themes/gt/cyan.css +10 -10
- package/themes/gt/magenta.css +11 -11
- package/themes/gt/pink.css +11 -11
- package/themes/gt/purple.css +11 -11
- package/themes/gt/red.css +11 -11
- package/themes/magenta.css +11 -11
- package/themes/pink.css +11 -11
- package/themes/purple.css +11 -11
- package/themes/red.css +11 -11
- package/themes/root.css +5 -0
- package/types/react.d.ts +244 -92
|
@@ -0,0 +1,406 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { __decorate } from 'tslib';
|
|
3
|
+
import { css, html, nothing } from 'lit';
|
|
4
|
+
import { property, state } from 'lit/decorators.js';
|
|
5
|
+
import SgdsElement from '../../base/sgds-element.js';
|
|
6
|
+
import css_248z from './data-table.js';
|
|
7
|
+
import { SgdsPagination } from '../Pagination/sgds-pagination.js';
|
|
8
|
+
import { SgdsDataTableRow } from './sgds-data-table-row.js';
|
|
9
|
+
import { SgdsDataTableCell } from './sgds-data-table-cell.js';
|
|
10
|
+
import { SgdsDataTableHead } from './sgds-data-table-head.js';
|
|
11
|
+
import { SgdsSpinner } from '../Spinner/sgds-spinner.js';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* @summary A data table container with pagination, row selection, loading, and sorting support.
|
|
15
|
+
*
|
|
16
|
+
* @slot default - Insert one or more `sgds-data-table-row` elements.
|
|
17
|
+
* @slot no-data - Custom content rendered when no body rows are available and `isLoading` is false.
|
|
18
|
+
*
|
|
19
|
+
* @event sgds-row-select - Emitted when row checkboxes change. Detail: `{ selected: rowData[] }`.
|
|
20
|
+
* @event sgds-sort - Emitted when `serverSort` is true and a sorting column header is clicked.
|
|
21
|
+
* Detail: `{ key: string; direction: "ascending" | "descending" | "none" }`.
|
|
22
|
+
* @event sgds-page-change - Emitted when pagination changes page.
|
|
23
|
+
*/
|
|
24
|
+
class SgdsDataTable extends SgdsElement {
|
|
25
|
+
constructor() {
|
|
26
|
+
super(...arguments);
|
|
27
|
+
/** If true, renders a checkbox column for row selection. */
|
|
28
|
+
this.multiSelect = false;
|
|
29
|
+
/** Total number of data items (for server-side pagination). */
|
|
30
|
+
this.dataLength = 0;
|
|
31
|
+
/** Current page (1-based). */
|
|
32
|
+
this.currentPage = 1;
|
|
33
|
+
/** Number of rows per page. */
|
|
34
|
+
this.itemsPerPage = 5;
|
|
35
|
+
/** Custom text shown on the footer's left side. */
|
|
36
|
+
this.footerText = "";
|
|
37
|
+
/** If true, hides the footer (summary text and pagination controls). */
|
|
38
|
+
this.hideFooter = false;
|
|
39
|
+
/** When true, shows a loading state and hides body rows. */
|
|
40
|
+
this.isLoading = false;
|
|
41
|
+
/** When true, emits sort events for external handling instead of local sorting. */
|
|
42
|
+
this.serverSort = false;
|
|
43
|
+
/**
|
|
44
|
+
* Controls the CSS `table-layout` algorithm.
|
|
45
|
+
* Use "auto" to let the browser size columns based on content, or "fixed" to distribute column widths evenly regardless of content.
|
|
46
|
+
* @type {"auto" | "fixed"}
|
|
47
|
+
* @default "auto"
|
|
48
|
+
*/
|
|
49
|
+
this.layout = "auto";
|
|
50
|
+
/**
|
|
51
|
+
* Pagination mode. `client` (default) slices rows and renders pagination controls.
|
|
52
|
+
* `server` renders all slotted rows as-is — the caller is responsible for passing
|
|
53
|
+
* the correct page of data and handling `sgds-page-change` externally.
|
|
54
|
+
*/
|
|
55
|
+
this.mode = "client";
|
|
56
|
+
this.tableRows = [];
|
|
57
|
+
this.headerRows = [];
|
|
58
|
+
this._headerCells = [];
|
|
59
|
+
this._initialRowPositions = new WeakMap();
|
|
60
|
+
this._hasCapturedInitialRowPositions = false;
|
|
61
|
+
this._rowHandlers = new WeakMap();
|
|
62
|
+
}
|
|
63
|
+
connectedCallback() {
|
|
64
|
+
super.connectedCallback();
|
|
65
|
+
this.setAttribute("role", "table");
|
|
66
|
+
}
|
|
67
|
+
_isRowChecked(row) {
|
|
68
|
+
var _a;
|
|
69
|
+
return row.checked || ((_a = row.checkbox) === null || _a === void 0 ? void 0 : _a.checked) === true;
|
|
70
|
+
}
|
|
71
|
+
_updateHeaderCheckbox() {
|
|
72
|
+
const checkedCount = this.tableRows.filter(r => this._isRowChecked(r)).length;
|
|
73
|
+
const allChecked = checkedCount === this.tableRows.length && checkedCount > 0;
|
|
74
|
+
this.headerRows.forEach(r => {
|
|
75
|
+
r.checked = allChecked;
|
|
76
|
+
if (r.checkbox) {
|
|
77
|
+
r.checkbox.checked = allChecked;
|
|
78
|
+
r.checkbox.indeterminate = checkedCount > 0 && !allChecked;
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
async _syncHeaderCheckboxAfterRender() {
|
|
83
|
+
if (!this.multiSelect || this.headerRows.length === 0)
|
|
84
|
+
return;
|
|
85
|
+
const rows = [...this.headerRows, ...this.tableRows];
|
|
86
|
+
await Promise.all(rows.map(row => row.updateComplete));
|
|
87
|
+
this._updateHeaderCheckbox();
|
|
88
|
+
}
|
|
89
|
+
_emitRowSelect() {
|
|
90
|
+
const selected = this.tableRows.filter(r => this._isRowChecked(r)).map(r => r.rowData);
|
|
91
|
+
this.emit("sgds-row-select", { detail: { selected } });
|
|
92
|
+
}
|
|
93
|
+
_attachRowListener(row) {
|
|
94
|
+
const old = this._rowHandlers.get(row);
|
|
95
|
+
if (old)
|
|
96
|
+
row.removeEventListener("i-sgds-change", old);
|
|
97
|
+
const handler = (e) => {
|
|
98
|
+
const { checked } = e.detail;
|
|
99
|
+
if (this.headerRows.includes(row)) {
|
|
100
|
+
this.tableRows.forEach(r => {
|
|
101
|
+
r.checked = checked;
|
|
102
|
+
if (r.checkbox)
|
|
103
|
+
r.checkbox.checked = checked;
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
row.checked = checked;
|
|
108
|
+
this._updateHeaderCheckbox();
|
|
109
|
+
}
|
|
110
|
+
this._emitRowSelect();
|
|
111
|
+
};
|
|
112
|
+
this._rowHandlers.set(row, handler);
|
|
113
|
+
row.addEventListener("i-sgds-change", handler);
|
|
114
|
+
}
|
|
115
|
+
_configureRows() {
|
|
116
|
+
const hasExpand = this.tableRows.some(r => r.expand);
|
|
117
|
+
const hasDataRows = this.tableRows.length > 0;
|
|
118
|
+
this.headerRows.forEach(row => {
|
|
119
|
+
row.showCheckbox = this.multiSelect;
|
|
120
|
+
row.showExpandPlaceholder = hasExpand;
|
|
121
|
+
row.hasDataRows = hasDataRows;
|
|
122
|
+
if (this.multiSelect)
|
|
123
|
+
this._attachRowListener(row);
|
|
124
|
+
});
|
|
125
|
+
this.tableRows.forEach(row => {
|
|
126
|
+
row.showCheckbox = this.multiSelect;
|
|
127
|
+
row.showExpandPlaceholder = !row.expand && hasExpand;
|
|
128
|
+
if (this.multiSelect)
|
|
129
|
+
this._attachRowListener(row);
|
|
130
|
+
});
|
|
131
|
+
if (this.multiSelect) {
|
|
132
|
+
this._syncHeaderCheckboxAfterRender();
|
|
133
|
+
}
|
|
134
|
+
this._applyColumnAlignment();
|
|
135
|
+
}
|
|
136
|
+
_applyColumnAlignment() {
|
|
137
|
+
const headerAlignments = this._headerCells.reduce((acc, header) => {
|
|
138
|
+
var _a;
|
|
139
|
+
const span = Number(header.colspan) > 0 ? Number(header.colspan) : 1;
|
|
140
|
+
const alignment = (_a = header.textAlign) !== null && _a !== void 0 ? _a : "left";
|
|
141
|
+
for (let i = 0; i < span; i++) {
|
|
142
|
+
acc.push(alignment);
|
|
143
|
+
}
|
|
144
|
+
return acc;
|
|
145
|
+
}, []);
|
|
146
|
+
this.headerRows.forEach(row => {
|
|
147
|
+
row.columnAlignments = [...headerAlignments];
|
|
148
|
+
});
|
|
149
|
+
this.tableRows.forEach(row => {
|
|
150
|
+
row.columnAlignments = [...headerAlignments];
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
_extractCellText(row, columnIndex) {
|
|
154
|
+
const rowCellText = row.getCellText(columnIndex);
|
|
155
|
+
if (rowCellText)
|
|
156
|
+
return rowCellText;
|
|
157
|
+
const cells = Array.from(row.children).filter(child => child.tagName.toLowerCase() === "sgds-data-table-cell");
|
|
158
|
+
const cell = cells[columnIndex];
|
|
159
|
+
return ((cell === null || cell === void 0 ? void 0 : cell.textContent) || "").trim();
|
|
160
|
+
}
|
|
161
|
+
_toComparableValue(row, key, columnIndex) {
|
|
162
|
+
if (key && row.rowData && key in row.rowData) {
|
|
163
|
+
return row.rowData[key];
|
|
164
|
+
}
|
|
165
|
+
return this._extractCellText(row, columnIndex);
|
|
166
|
+
}
|
|
167
|
+
_compareValues(left, right, direction) {
|
|
168
|
+
if (left === right)
|
|
169
|
+
return 0;
|
|
170
|
+
const leftNumber = Number(left);
|
|
171
|
+
const rightNumber = Number(right);
|
|
172
|
+
const bothNumeric = Number.isFinite(leftNumber) && Number.isFinite(rightNumber);
|
|
173
|
+
if (bothNumeric) {
|
|
174
|
+
return direction === "ascending" ? leftNumber - rightNumber : rightNumber - leftNumber;
|
|
175
|
+
}
|
|
176
|
+
const cmp = String(left).localeCompare(String(right), undefined, { numeric: true, sensitivity: "base" });
|
|
177
|
+
return direction === "ascending" ? cmp : -cmp;
|
|
178
|
+
}
|
|
179
|
+
_resetOtherHeaderSortStates(activeHeader) {
|
|
180
|
+
this._headerCells.forEach(header => {
|
|
181
|
+
if (header !== activeHeader && header.sorting) {
|
|
182
|
+
header.ariasort = "none";
|
|
183
|
+
}
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
_getRowsInInitialPositionOrder(rows) {
|
|
187
|
+
return [...rows].sort((left, right) => {
|
|
188
|
+
const leftPosition = this._initialRowPositions.get(left);
|
|
189
|
+
const rightPosition = this._initialRowPositions.get(right);
|
|
190
|
+
if (leftPosition === undefined && rightPosition === undefined)
|
|
191
|
+
return 0;
|
|
192
|
+
if (leftPosition === undefined)
|
|
193
|
+
return 1;
|
|
194
|
+
if (rightPosition === undefined)
|
|
195
|
+
return -1;
|
|
196
|
+
return leftPosition - rightPosition;
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
_captureInitialRowPositions(rows) {
|
|
200
|
+
if (this._hasCapturedInitialRowPositions)
|
|
201
|
+
return;
|
|
202
|
+
rows.forEach((row, index) => {
|
|
203
|
+
this._initialRowPositions.set(row, index);
|
|
204
|
+
});
|
|
205
|
+
this._hasCapturedInitialRowPositions = true;
|
|
206
|
+
}
|
|
207
|
+
_handleSort(e) {
|
|
208
|
+
const activeHeader = e.composedPath().find(node => node instanceof SgdsDataTableHead);
|
|
209
|
+
if (!activeHeader || !activeHeader.sorting)
|
|
210
|
+
return;
|
|
211
|
+
const { key, direction } = e
|
|
212
|
+
.detail;
|
|
213
|
+
const columnIndex = activeHeader ? this._headerCells.indexOf(activeHeader) : -1;
|
|
214
|
+
this._resetOtherHeaderSortStates(activeHeader);
|
|
215
|
+
if (this.serverSort) {
|
|
216
|
+
e.stopPropagation();
|
|
217
|
+
this.emit("sgds-sort", { detail: { key, direction } });
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
if (columnIndex < 0)
|
|
221
|
+
return;
|
|
222
|
+
if (direction === "none") {
|
|
223
|
+
this.tableRows = this._getRowsInInitialPositionOrder(this.tableRows);
|
|
224
|
+
this._syncDomRowOrder();
|
|
225
|
+
this._updateVisibleRows();
|
|
226
|
+
return;
|
|
227
|
+
}
|
|
228
|
+
if (this.mode === "client") {
|
|
229
|
+
const start = (this.currentPage - 1) * this.itemsPerPage;
|
|
230
|
+
const end = start + this.itemsPerPage;
|
|
231
|
+
const nextRows = [...this.tableRows];
|
|
232
|
+
const sortedVisibleRows = nextRows.slice(start, end).sort((left, right) => {
|
|
233
|
+
const leftValue = this._toComparableValue(left, key, columnIndex);
|
|
234
|
+
const rightValue = this._toComparableValue(right, key, columnIndex);
|
|
235
|
+
return this._compareValues(leftValue, rightValue, direction);
|
|
236
|
+
});
|
|
237
|
+
nextRows.splice(start, sortedVisibleRows.length, ...sortedVisibleRows);
|
|
238
|
+
this.tableRows = nextRows;
|
|
239
|
+
this._syncDomRowOrder();
|
|
240
|
+
this._updateVisibleRows();
|
|
241
|
+
return;
|
|
242
|
+
}
|
|
243
|
+
this.tableRows = [...this.tableRows].sort((left, right) => {
|
|
244
|
+
const leftValue = this._toComparableValue(left, key, columnIndex);
|
|
245
|
+
const rightValue = this._toComparableValue(right, key, columnIndex);
|
|
246
|
+
return this._compareValues(leftValue, rightValue, direction);
|
|
247
|
+
});
|
|
248
|
+
this._syncDomRowOrder();
|
|
249
|
+
this._updateVisibleRows();
|
|
250
|
+
}
|
|
251
|
+
_syncDomRowOrder() {
|
|
252
|
+
var _a;
|
|
253
|
+
const parent = (_a = this.tableRows[0]) === null || _a === void 0 ? void 0 : _a.parentElement;
|
|
254
|
+
if (!parent)
|
|
255
|
+
return;
|
|
256
|
+
this.tableRows.forEach(row => parent.appendChild(row));
|
|
257
|
+
}
|
|
258
|
+
_handleSlotChange(e) {
|
|
259
|
+
const slotted = e.target
|
|
260
|
+
.assignedElements({ flatten: true })
|
|
261
|
+
.filter(el => el instanceof SgdsDataTableRow);
|
|
262
|
+
const rowTableChildren = (row) => Array.from(row.children).filter(child => {
|
|
263
|
+
const tagName = child.tagName.toLowerCase();
|
|
264
|
+
const isTableCell = tagName === "sgds-data-table-cell" || tagName === "sgds-data-table-head";
|
|
265
|
+
if (!isTableCell)
|
|
266
|
+
return false;
|
|
267
|
+
return child.getAttribute("slot") !== "content";
|
|
268
|
+
});
|
|
269
|
+
this.headerRows = slotted.filter(row => rowTableChildren(row).some(child => child.tagName.toLowerCase() === "sgds-data-table-head"));
|
|
270
|
+
this.tableRows = slotted.filter(row => {
|
|
271
|
+
const children = rowTableChildren(row);
|
|
272
|
+
return children.length > 0 && children.every(child => child.tagName.toLowerCase() === "sgds-data-table-cell");
|
|
273
|
+
});
|
|
274
|
+
this._headerCells = this.headerRows.reduce((acc, row) => {
|
|
275
|
+
const headers = Array.from(row.children).filter(child => child instanceof SgdsDataTableHead);
|
|
276
|
+
acc.push(...headers);
|
|
277
|
+
return acc;
|
|
278
|
+
}, []);
|
|
279
|
+
this._captureInitialRowPositions(this.tableRows);
|
|
280
|
+
this._headerCells.forEach(header => {
|
|
281
|
+
if (header.sorting && !header.ariasort) {
|
|
282
|
+
header.ariasort = "none";
|
|
283
|
+
}
|
|
284
|
+
});
|
|
285
|
+
this._configureRows();
|
|
286
|
+
this._updateVisibleRows();
|
|
287
|
+
}
|
|
288
|
+
_updateVisibleRows() {
|
|
289
|
+
if (this.mode === "server") {
|
|
290
|
+
this.tableRows.forEach(row => (row.style.display = this.isLoading ? "none" : ""));
|
|
291
|
+
return;
|
|
292
|
+
}
|
|
293
|
+
const total = this.dataLength || this.tableRows.length;
|
|
294
|
+
const lastPage = Math.max(1, Math.ceil(total / this.itemsPerPage));
|
|
295
|
+
if (this.currentPage > lastPage) {
|
|
296
|
+
this.currentPage = lastPage;
|
|
297
|
+
return;
|
|
298
|
+
}
|
|
299
|
+
const start = (this.currentPage - 1) * this.itemsPerPage;
|
|
300
|
+
const visible = new Set(this.tableRows.slice(start, start + this.itemsPerPage));
|
|
301
|
+
this.tableRows.forEach(row => (row.style.display = visible.has(row) ? "" : "none"));
|
|
302
|
+
}
|
|
303
|
+
updated(changed) {
|
|
304
|
+
if (changed.has("currentPage") || changed.has("itemsPerPage") || changed.has("mode") || changed.has("isLoading")) {
|
|
305
|
+
this._updateVisibleRows();
|
|
306
|
+
}
|
|
307
|
+
if (changed.has("multiSelect")) {
|
|
308
|
+
this._configureRows();
|
|
309
|
+
}
|
|
310
|
+
if (this.multiSelect && (changed.has("tableRows") || changed.has("headerRows"))) {
|
|
311
|
+
this._syncHeaderCheckboxAfterRender();
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
render() {
|
|
315
|
+
const total = this.dataLength || this.tableRows.length;
|
|
316
|
+
const start = (this.currentPage - 1) * this.itemsPerPage;
|
|
317
|
+
const end = Math.min(start + this.itemsPerPage, total);
|
|
318
|
+
const displayStart = total === 0 ? 0 : start + 1;
|
|
319
|
+
const showNoData = !this.isLoading && this.tableRows.length === 0;
|
|
320
|
+
return html `
|
|
321
|
+
<div class="data-table">
|
|
322
|
+
<div>
|
|
323
|
+
<slot @slotchange=${this._handleSlotChange} @i-sgds-sort=${this._handleSort} class="table"></slot>
|
|
324
|
+
${this.isLoading
|
|
325
|
+
? html `<div class="loading" role="status" aria-live="polite">
|
|
326
|
+
<div class="loading-menu"><sgds-spinner size="xs" tone="brand"></sgds-spinner>Loading...</div>
|
|
327
|
+
</div>`
|
|
328
|
+
: showNoData
|
|
329
|
+
? html `<slot name="no-data" class="no-data" role="status" aria-live="polite">No data</slot>`
|
|
330
|
+
: nothing}
|
|
331
|
+
</div>
|
|
332
|
+
|
|
333
|
+
${this.hideFooter
|
|
334
|
+
? nothing
|
|
335
|
+
: html `<div class="footer">
|
|
336
|
+
${this.footerText || html `<span>Showing ${displayStart} to ${end} of ${total} results</span>`}
|
|
337
|
+
<sgds-pagination
|
|
338
|
+
.dataLength=${total}
|
|
339
|
+
.currentPage=${this.currentPage}
|
|
340
|
+
.itemsPerPage=${this.itemsPerPage}
|
|
341
|
+
size="sm"
|
|
342
|
+
@sgds-page-change=${(e) => {
|
|
343
|
+
this.currentPage = e.detail.currentPage;
|
|
344
|
+
this.emit("sgds-page-change");
|
|
345
|
+
}}
|
|
346
|
+
></sgds-pagination>
|
|
347
|
+
</div>`}
|
|
348
|
+
</div>
|
|
349
|
+
`;
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
SgdsDataTable.styles = [
|
|
353
|
+
...SgdsElement.styles,
|
|
354
|
+
css_248z,
|
|
355
|
+
css `
|
|
356
|
+
:host {
|
|
357
|
+
display: block;
|
|
358
|
+
}
|
|
359
|
+
`
|
|
360
|
+
];
|
|
361
|
+
/** @internal */
|
|
362
|
+
SgdsDataTable.dependencies = {
|
|
363
|
+
"sgds-pagination": SgdsPagination,
|
|
364
|
+
"sgds-data-table-cell": SgdsDataTableCell,
|
|
365
|
+
"sgds-data-table-head": SgdsDataTableHead,
|
|
366
|
+
"sgds-spinner": SgdsSpinner
|
|
367
|
+
};
|
|
368
|
+
__decorate([
|
|
369
|
+
property({ type: Boolean })
|
|
370
|
+
], SgdsDataTable.prototype, "multiSelect", void 0);
|
|
371
|
+
__decorate([
|
|
372
|
+
property({ type: Number })
|
|
373
|
+
], SgdsDataTable.prototype, "dataLength", void 0);
|
|
374
|
+
__decorate([
|
|
375
|
+
property({ type: Number })
|
|
376
|
+
], SgdsDataTable.prototype, "currentPage", void 0);
|
|
377
|
+
__decorate([
|
|
378
|
+
property({ type: Number })
|
|
379
|
+
], SgdsDataTable.prototype, "itemsPerPage", void 0);
|
|
380
|
+
__decorate([
|
|
381
|
+
property({ type: String })
|
|
382
|
+
], SgdsDataTable.prototype, "footerText", void 0);
|
|
383
|
+
__decorate([
|
|
384
|
+
property({ type: Boolean })
|
|
385
|
+
], SgdsDataTable.prototype, "hideFooter", void 0);
|
|
386
|
+
__decorate([
|
|
387
|
+
property({ type: Boolean })
|
|
388
|
+
], SgdsDataTable.prototype, "isLoading", void 0);
|
|
389
|
+
__decorate([
|
|
390
|
+
property({ type: Boolean })
|
|
391
|
+
], SgdsDataTable.prototype, "serverSort", void 0);
|
|
392
|
+
__decorate([
|
|
393
|
+
property({ type: String, reflect: true })
|
|
394
|
+
], SgdsDataTable.prototype, "layout", void 0);
|
|
395
|
+
__decorate([
|
|
396
|
+
property({ type: String })
|
|
397
|
+
], SgdsDataTable.prototype, "mode", void 0);
|
|
398
|
+
__decorate([
|
|
399
|
+
state()
|
|
400
|
+
], SgdsDataTable.prototype, "tableRows", void 0);
|
|
401
|
+
__decorate([
|
|
402
|
+
state()
|
|
403
|
+
], SgdsDataTable.prototype, "headerRows", void 0);
|
|
404
|
+
|
|
405
|
+
export { SgdsDataTable, SgdsDataTable as default };
|
|
406
|
+
//# sourceMappingURL=sgds-data-table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sgds-data-table.js","sources":["../../../../src/components/DataTable/sgds-data-table.ts"],"sourcesContent":["import { css, html, nothing } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport tableStyle from \"./data-table.css\";\nimport SgdsPagination from \"../Pagination/sgds-pagination\";\nimport type { ISgdsPaginationPageChangeEventDetail } from \"../Pagination/sgds-pagination\";\nimport SgdsDataTableRow from \"./sgds-data-table-row\";\nimport SgdsDataTableCell from \"./sgds-data-table-cell\";\nimport SgdsDataTableHead from \"./sgds-data-table-head\";\nimport SgdsSpinner from \"../Spinner/sgds-spinner\";\n\n/**\n * @summary A data table container with pagination, row selection, loading, and sorting support.\n *\n * @slot default - Insert one or more `sgds-data-table-row` elements.\n * @slot no-data - Custom content rendered when no body rows are available and `isLoading` is false.\n *\n * @event sgds-row-select - Emitted when row checkboxes change. Detail: `{ selected: rowData[] }`.\n * @event sgds-sort - Emitted when `serverSort` is true and a sorting column header is clicked.\n * Detail: `{ key: string; direction: \"ascending\" | \"descending\" | \"none\" }`.\n * @event sgds-page-change - Emitted when pagination changes page.\n */\nexport class SgdsDataTable extends SgdsElement {\n static styles = [\n ...SgdsElement.styles,\n tableStyle,\n css`\n :host {\n display: block;\n }\n `\n ];\n\n /** @internal */\n static dependencies = {\n \"sgds-pagination\": SgdsPagination,\n \"sgds-data-table-cell\": SgdsDataTableCell,\n \"sgds-data-table-head\": SgdsDataTableHead,\n \"sgds-spinner\": SgdsSpinner\n };\n\n /** If true, renders a checkbox column for row selection. */\n @property({ type: Boolean }) multiSelect = false;\n\n /** Total number of data items (for server-side pagination). */\n @property({ type: Number }) dataLength = 0;\n\n /** Current page (1-based). */\n @property({ type: Number }) currentPage = 1;\n\n /** Number of rows per page. */\n @property({ type: Number }) itemsPerPage = 5;\n\n /** Custom text shown on the footer's left side. */\n @property({ type: String }) footerText = \"\";\n\n /** If true, hides the footer (summary text and pagination controls). */\n @property({ type: Boolean }) hideFooter = false;\n\n /** When true, shows a loading state and hides body rows. */\n @property({ type: Boolean }) isLoading = false;\n\n /** When true, emits sort events for external handling instead of local sorting. */\n @property({ type: Boolean }) serverSort = false;\n\n /**\n * Controls the CSS `table-layout` algorithm.\n * Use \"auto\" to let the browser size columns based on content, or \"fixed\" to distribute column widths evenly regardless of content.\n * @type {\"auto\" | \"fixed\"}\n * @default \"auto\"\n */\n @property({ type: String, reflect: true }) layout: \"auto\" | \"fixed\" = \"auto\";\n\n /**\n * Pagination mode. `client` (default) slices rows and renders pagination controls.\n * `server` renders all slotted rows as-is — the caller is responsible for passing\n * the correct page of data and handling `sgds-page-change` externally.\n */\n @property({ type: String }) mode: \"client\" | \"server\" = \"client\";\n\n @state() private tableRows: SgdsDataTableRow[] = [];\n @state() private headerRows: SgdsDataTableRow[] = [];\n\n private _headerCells: SgdsDataTableHead[] = [];\n private _initialRowPositions = new WeakMap<SgdsDataTableRow, number>();\n private _hasCapturedInitialRowPositions = false;\n\n private _rowHandlers = new WeakMap<SgdsDataTableRow, EventListener>();\n\n connectedCallback() {\n super.connectedCallback();\n this.setAttribute(\"role\", \"table\");\n }\n\n private _isRowChecked(row: SgdsDataTableRow) {\n return row.checked || row.checkbox?.checked === true;\n }\n\n private _updateHeaderCheckbox() {\n const checkedCount = this.tableRows.filter(r => this._isRowChecked(r)).length;\n\n const allChecked = checkedCount === this.tableRows.length && checkedCount > 0;\n\n this.headerRows.forEach(r => {\n r.checked = allChecked;\n if (r.checkbox) {\n r.checkbox.checked = allChecked;\n r.checkbox.indeterminate = checkedCount > 0 && !allChecked;\n }\n });\n }\n\n private async _syncHeaderCheckboxAfterRender() {\n if (!this.multiSelect || this.headerRows.length === 0) return;\n\n const rows = [...this.headerRows, ...this.tableRows];\n await Promise.all(rows.map(row => row.updateComplete));\n this._updateHeaderCheckbox();\n }\n\n private _emitRowSelect() {\n const selected = this.tableRows.filter(r => this._isRowChecked(r)).map(r => r.rowData);\n this.emit(\"sgds-row-select\", { detail: { selected } });\n }\n\n private _attachRowListener(row: SgdsDataTableRow) {\n const old = this._rowHandlers.get(row);\n if (old) row.removeEventListener(\"i-sgds-change\", old);\n\n const handler: EventListener = (e: Event) => {\n const { checked } = (e as CustomEvent<{ checked: boolean }>).detail;\n\n if (this.headerRows.includes(row)) {\n this.tableRows.forEach(r => {\n r.checked = checked;\n if (r.checkbox) r.checkbox.checked = checked;\n });\n } else {\n row.checked = checked;\n this._updateHeaderCheckbox();\n }\n this._emitRowSelect();\n };\n\n this._rowHandlers.set(row, handler);\n row.addEventListener(\"i-sgds-change\", handler);\n }\n\n private _configureRows() {\n const hasExpand = this.tableRows.some(r => r.expand);\n const hasDataRows = this.tableRows.length > 0;\n\n this.headerRows.forEach(row => {\n row.showCheckbox = this.multiSelect;\n row.showExpandPlaceholder = hasExpand;\n row.hasDataRows = hasDataRows;\n if (this.multiSelect) this._attachRowListener(row);\n });\n\n this.tableRows.forEach(row => {\n row.showCheckbox = this.multiSelect;\n row.showExpandPlaceholder = !row.expand && hasExpand;\n if (this.multiSelect) this._attachRowListener(row);\n });\n\n if (this.multiSelect) {\n this._syncHeaderCheckboxAfterRender();\n }\n\n this._applyColumnAlignment();\n }\n\n private _applyColumnAlignment() {\n const headerAlignments = this._headerCells.reduce<Array<\"left\" | \"right\">>((acc, header) => {\n const span = Number(header.colspan) > 0 ? Number(header.colspan) : 1;\n const alignment = header.textAlign ?? \"left\";\n for (let i = 0; i < span; i++) {\n acc.push(alignment);\n }\n return acc;\n }, []);\n\n this.headerRows.forEach(row => {\n row.columnAlignments = [...headerAlignments];\n });\n\n this.tableRows.forEach(row => {\n row.columnAlignments = [...headerAlignments];\n });\n }\n\n private _extractCellText(row: SgdsDataTableRow, columnIndex: number) {\n const rowCellText = row.getCellText(columnIndex);\n if (rowCellText) return rowCellText;\n\n const cells = Array.from(row.children).filter(child => child.tagName.toLowerCase() === \"sgds-data-table-cell\");\n const cell = cells[columnIndex];\n return (cell?.textContent || \"\").trim();\n }\n\n private _toComparableValue(row: SgdsDataTableRow, key: string, columnIndex: number) {\n if (key && row.rowData && key in row.rowData) {\n return row.rowData[key];\n }\n\n return this._extractCellText(row, columnIndex);\n }\n\n private _compareValues(left: unknown, right: unknown, direction: \"ascending\" | \"descending\") {\n if (left === right) return 0;\n\n const leftNumber = Number(left);\n const rightNumber = Number(right);\n const bothNumeric = Number.isFinite(leftNumber) && Number.isFinite(rightNumber);\n\n if (bothNumeric) {\n return direction === \"ascending\" ? leftNumber - rightNumber : rightNumber - leftNumber;\n }\n\n const cmp = String(left).localeCompare(String(right), undefined, { numeric: true, sensitivity: \"base\" });\n return direction === \"ascending\" ? cmp : -cmp;\n }\n\n private _resetOtherHeaderSortStates(activeHeader: SgdsDataTableHead | null) {\n this._headerCells.forEach(header => {\n if (header !== activeHeader && header.sorting) {\n header.ariasort = \"none\";\n }\n });\n }\n\n private _getRowsInInitialPositionOrder(rows: SgdsDataTableRow[]) {\n return [...rows].sort((left, right) => {\n const leftPosition = this._initialRowPositions.get(left);\n const rightPosition = this._initialRowPositions.get(right);\n\n if (leftPosition === undefined && rightPosition === undefined) return 0;\n if (leftPosition === undefined) return 1;\n if (rightPosition === undefined) return -1;\n return leftPosition - rightPosition;\n });\n }\n\n private _captureInitialRowPositions(rows: SgdsDataTableRow[]) {\n if (this._hasCapturedInitialRowPositions) return;\n\n rows.forEach((row, index) => {\n this._initialRowPositions.set(row, index);\n });\n\n this._hasCapturedInitialRowPositions = true;\n }\n\n private _handleSort(e: Event) {\n const activeHeader = e.composedPath().find(node => node instanceof SgdsDataTableHead) as\n | SgdsDataTableHead\n | undefined;\n\n if (!activeHeader || !activeHeader.sorting) return;\n\n const { key, direction } = (e as CustomEvent<{ key: string; direction: \"ascending\" | \"descending\" | \"none\" }>)\n .detail;\n const columnIndex = activeHeader ? this._headerCells.indexOf(activeHeader) : -1;\n\n this._resetOtherHeaderSortStates(activeHeader);\n\n if (this.serverSort) {\n e.stopPropagation();\n this.emit(\"sgds-sort\", { detail: { key, direction } });\n return;\n }\n\n if (columnIndex < 0) return;\n\n if (direction === \"none\") {\n this.tableRows = this._getRowsInInitialPositionOrder(this.tableRows);\n this._syncDomRowOrder();\n this._updateVisibleRows();\n return;\n }\n\n if (this.mode === \"client\") {\n const start = (this.currentPage - 1) * this.itemsPerPage;\n const end = start + this.itemsPerPage;\n const nextRows = [...this.tableRows];\n\n const sortedVisibleRows = nextRows.slice(start, end).sort((left, right) => {\n const leftValue = this._toComparableValue(left, key, columnIndex);\n const rightValue = this._toComparableValue(right, key, columnIndex);\n return this._compareValues(leftValue, rightValue, direction);\n });\n nextRows.splice(start, sortedVisibleRows.length, ...sortedVisibleRows);\n\n this.tableRows = nextRows;\n this._syncDomRowOrder();\n this._updateVisibleRows();\n return;\n }\n\n this.tableRows = [...this.tableRows].sort((left, right) => {\n const leftValue = this._toComparableValue(left, key, columnIndex);\n const rightValue = this._toComparableValue(right, key, columnIndex);\n return this._compareValues(leftValue, rightValue, direction);\n });\n\n this._syncDomRowOrder();\n this._updateVisibleRows();\n }\n\n private _syncDomRowOrder() {\n const parent = this.tableRows[0]?.parentElement;\n if (!parent) return;\n this.tableRows.forEach(row => parent.appendChild(row));\n }\n\n private _handleSlotChange(e: Event) {\n const slotted = (e.target as HTMLSlotElement)\n .assignedElements({ flatten: true })\n .filter(el => el instanceof SgdsDataTableRow) as SgdsDataTableRow[];\n\n const rowTableChildren = (row: SgdsDataTableRow) =>\n Array.from(row.children).filter(child => {\n const tagName = child.tagName.toLowerCase();\n const isTableCell = tagName === \"sgds-data-table-cell\" || tagName === \"sgds-data-table-head\";\n if (!isTableCell) return false;\n return child.getAttribute(\"slot\") !== \"content\";\n });\n\n this.headerRows = slotted.filter(row =>\n rowTableChildren(row).some(child => child.tagName.toLowerCase() === \"sgds-data-table-head\")\n );\n\n this.tableRows = slotted.filter(row => {\n const children = rowTableChildren(row);\n return children.length > 0 && children.every(child => child.tagName.toLowerCase() === \"sgds-data-table-cell\");\n });\n\n this._headerCells = this.headerRows.reduce<SgdsDataTableHead[]>((acc, row) => {\n const headers = Array.from(row.children).filter(\n child => child instanceof SgdsDataTableHead\n ) as SgdsDataTableHead[];\n acc.push(...headers);\n return acc;\n }, []);\n\n this._captureInitialRowPositions(this.tableRows);\n\n this._headerCells.forEach(header => {\n if (header.sorting && !header.ariasort) {\n header.ariasort = \"none\";\n }\n });\n\n this._configureRows();\n this._updateVisibleRows();\n }\n\n private _updateVisibleRows() {\n if (this.mode === \"server\") {\n this.tableRows.forEach(row => (row.style.display = this.isLoading ? \"none\" : \"\"));\n return;\n }\n\n const total = this.dataLength || this.tableRows.length;\n const lastPage = Math.max(1, Math.ceil(total / this.itemsPerPage));\n if (this.currentPage > lastPage) {\n this.currentPage = lastPage;\n return;\n }\n const start = (this.currentPage - 1) * this.itemsPerPage;\n const visible = new Set(this.tableRows.slice(start, start + this.itemsPerPage));\n this.tableRows.forEach(row => (row.style.display = visible.has(row) ? \"\" : \"none\"));\n }\n\n updated(changed: Map<string, unknown>) {\n if (changed.has(\"currentPage\") || changed.has(\"itemsPerPage\") || changed.has(\"mode\") || changed.has(\"isLoading\")) {\n this._updateVisibleRows();\n }\n if (changed.has(\"multiSelect\")) {\n this._configureRows();\n }\n\n if (this.multiSelect && (changed.has(\"tableRows\") || changed.has(\"headerRows\"))) {\n this._syncHeaderCheckboxAfterRender();\n }\n }\n\n render() {\n const total = this.dataLength || this.tableRows.length;\n const start = (this.currentPage - 1) * this.itemsPerPage;\n const end = Math.min(start + this.itemsPerPage, total);\n const displayStart = total === 0 ? 0 : start + 1;\n const showNoData = !this.isLoading && this.tableRows.length === 0;\n\n return html`\n <div class=\"data-table\">\n <div>\n <slot @slotchange=${this._handleSlotChange} @i-sgds-sort=${this._handleSort} class=\"table\"></slot>\n ${this.isLoading\n ? html`<div class=\"loading\" role=\"status\" aria-live=\"polite\">\n <div class=\"loading-menu\"><sgds-spinner size=\"xs\" tone=\"brand\"></sgds-spinner>Loading...</div>\n </div>`\n : showNoData\n ? html`<slot name=\"no-data\" class=\"no-data\" role=\"status\" aria-live=\"polite\">No data</slot>`\n : nothing}\n </div>\n\n ${this.hideFooter\n ? nothing\n : html`<div class=\"footer\">\n ${this.footerText || html`<span>Showing ${displayStart} to ${end} of ${total} results</span>`}\n <sgds-pagination\n .dataLength=${total}\n .currentPage=${this.currentPage}\n .itemsPerPage=${this.itemsPerPage}\n size=\"sm\"\n @sgds-page-change=${(e: CustomEvent<ISgdsPaginationPageChangeEventDetail>) => {\n this.currentPage = e.detail.currentPage;\n this.emit(\"sgds-page-change\");\n }}\n ></sgds-pagination>\n </div>`}\n </div>\n `;\n }\n}\n\nexport default SgdsDataTable;\n"],"names":["tableStyle"],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
|
|
6
6
|
var lit = require('lit');
|
|
7
7
|
|
|
8
|
-
var css_248z = lit.css`:host([disabled]){cursor:not-allowed}.dropdown-item{align-items:center;background-color:var(--sgds-bg-transparent);clear:both;color:var(--sgds-color-default);cursor:pointer;display:flex;font-size:var(--sgds-font-size-label-sm);gap:var(--sgds-gap-sm);padding:var(--sgds-padding-sm) var(--sgds-padding-lg);text-align:inherit}.dropdown-item:hover{background-color:var(--sgds-bg-translucent-subtle)}.dropdown-item:focus,.dropdown-item:focus-visible{background-color:var(--sgds-bg-translucent-subtle)}.dropdown-item:focus-visible{outline:var(--sgds-outline-focus);outline-offset:var(--sgds-outline-offset-focus)}.dropdown-item.active{background-color:var(--sgds-bg-translucent-subtle);color:var(--sgds-primary-color-default);text-decoration:none}.dropdown-item.disabled,.dropdown-item:disabled{opacity:var(--sgds-opacity-40);pointer-events:none}::slotted(*){color:inherit!important;display:flex;gap:var(--sgds-gap-sm);text-decoration:none!important}::slotted(a),::slotted(sgds-checkbox){flex:1;margin:calc(var(--sgds-padding-sm)*-1) calc(var(--sgds-padding-lg)*-1);padding:var(--sgds-padding-sm) var(--sgds-padding-lg)}.dropdown-item.mainnav-dropdown-link{padding:var(--sgds-padding-none)}.dropdown-item.mainnav-dropdown-link ::slotted(*){box-sizing:border-box;margin:auto;max-width:var(--sgds-mainnav-max-width,1440px);padding:var(--sgds-padding-sm) var(--sgds-mainnav-mobile-padding-x)}@media screen and (min-width:1024px){.dropdown-item.mainnav-dropdown-link ::slotted(*){padding:var(--sgds-padding-sm) var(--sgds-mainnav-padding-x)}}`;
|
|
8
|
+
var css_248z = lit.css`:host([disabled]){cursor:not-allowed}.dropdown-item{align-items:center;background-color:var(--sgds-bg-transparent);clear:both;color:var(--sgds-color-default);cursor:pointer;display:flex;font-size:var(--sgds-font-size-label-sm);gap:var(--sgds-gap-sm);padding:var(--sgds-padding-sm) var(--sgds-padding-lg);text-align:inherit}.dropdown-item:hover{background-color:var(--sgds-bg-translucent-subtle)}.dropdown-item:focus,.dropdown-item:focus-visible{background-color:var(--sgds-bg-translucent-subtle)}.dropdown-item:focus-visible{outline:var(--sgds-outline-focus);outline-offset:var(--sgds-outline-offset-focus)}.dropdown-item.active{background-color:var(--sgds-bg-translucent-subtle);color:var(--sgds-primary-color-default);text-decoration:none}.dropdown-item.disabled,.dropdown-item:disabled{opacity:var(--sgds-opacity-40);pointer-events:none}.dropdown-item.readonly{cursor:default}.dropdown-item.readonly:focus,.dropdown-item.readonly:focus-visible,.dropdown-item.readonly:hover{background-color:var(--sgds-bg-transparent);outline:none}::slotted(*){color:inherit!important;display:flex;gap:var(--sgds-gap-sm);text-decoration:none!important}::slotted(a),::slotted(sgds-checkbox){flex:1;margin:calc(var(--sgds-padding-sm)*-1) calc(var(--sgds-padding-lg)*-1);padding:var(--sgds-padding-sm) var(--sgds-padding-lg)}.dropdown-item.mainnav-dropdown-link{padding:var(--sgds-padding-none)}.dropdown-item.mainnav-dropdown-link ::slotted(*){box-sizing:border-box;margin:auto;max-width:var(--sgds-mainnav-max-width,1440px);padding:var(--sgds-padding-sm) var(--sgds-mainnav-mobile-padding-x)}@media screen and (min-width:1024px){.dropdown-item.mainnav-dropdown-link ::slotted(*){padding:var(--sgds-padding-sm) var(--sgds-mainnav-padding-x)}}`;
|
|
9
9
|
|
|
10
10
|
exports["default"] = css_248z;
|
|
11
11
|
//# sourceMappingURL=dropdown-item.cjs.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { css } from 'lit';
|
|
3
3
|
|
|
4
|
-
var css_248z = css`:host([disabled]){cursor:not-allowed}.dropdown-item{align-items:center;background-color:var(--sgds-bg-transparent);clear:both;color:var(--sgds-color-default);cursor:pointer;display:flex;font-size:var(--sgds-font-size-label-sm);gap:var(--sgds-gap-sm);padding:var(--sgds-padding-sm) var(--sgds-padding-lg);text-align:inherit}.dropdown-item:hover{background-color:var(--sgds-bg-translucent-subtle)}.dropdown-item:focus,.dropdown-item:focus-visible{background-color:var(--sgds-bg-translucent-subtle)}.dropdown-item:focus-visible{outline:var(--sgds-outline-focus);outline-offset:var(--sgds-outline-offset-focus)}.dropdown-item.active{background-color:var(--sgds-bg-translucent-subtle);color:var(--sgds-primary-color-default);text-decoration:none}.dropdown-item.disabled,.dropdown-item:disabled{opacity:var(--sgds-opacity-40);pointer-events:none}::slotted(*){color:inherit!important;display:flex;gap:var(--sgds-gap-sm);text-decoration:none!important}::slotted(a),::slotted(sgds-checkbox){flex:1;margin:calc(var(--sgds-padding-sm)*-1) calc(var(--sgds-padding-lg)*-1);padding:var(--sgds-padding-sm) var(--sgds-padding-lg)}.dropdown-item.mainnav-dropdown-link{padding:var(--sgds-padding-none)}.dropdown-item.mainnav-dropdown-link ::slotted(*){box-sizing:border-box;margin:auto;max-width:var(--sgds-mainnav-max-width,1440px);padding:var(--sgds-padding-sm) var(--sgds-mainnav-mobile-padding-x)}@media screen and (min-width:1024px){.dropdown-item.mainnav-dropdown-link ::slotted(*){padding:var(--sgds-padding-sm) var(--sgds-mainnav-padding-x)}}`;
|
|
4
|
+
var css_248z = css`:host([disabled]){cursor:not-allowed}.dropdown-item{align-items:center;background-color:var(--sgds-bg-transparent);clear:both;color:var(--sgds-color-default);cursor:pointer;display:flex;font-size:var(--sgds-font-size-label-sm);gap:var(--sgds-gap-sm);padding:var(--sgds-padding-sm) var(--sgds-padding-lg);text-align:inherit}.dropdown-item:hover{background-color:var(--sgds-bg-translucent-subtle)}.dropdown-item:focus,.dropdown-item:focus-visible{background-color:var(--sgds-bg-translucent-subtle)}.dropdown-item:focus-visible{outline:var(--sgds-outline-focus);outline-offset:var(--sgds-outline-offset-focus)}.dropdown-item.active{background-color:var(--sgds-bg-translucent-subtle);color:var(--sgds-primary-color-default);text-decoration:none}.dropdown-item.disabled,.dropdown-item:disabled{opacity:var(--sgds-opacity-40);pointer-events:none}.dropdown-item.readonly{cursor:default}.dropdown-item.readonly:focus,.dropdown-item.readonly:focus-visible,.dropdown-item.readonly:hover{background-color:var(--sgds-bg-transparent);outline:none}::slotted(*){color:inherit!important;display:flex;gap:var(--sgds-gap-sm);text-decoration:none!important}::slotted(a),::slotted(sgds-checkbox){flex:1;margin:calc(var(--sgds-padding-sm)*-1) calc(var(--sgds-padding-lg)*-1);padding:var(--sgds-padding-sm) var(--sgds-padding-lg)}.dropdown-item.mainnav-dropdown-link{padding:var(--sgds-padding-none)}.dropdown-item.mainnav-dropdown-link ::slotted(*){box-sizing:border-box;margin:auto;max-width:var(--sgds-mainnav-max-width,1440px);padding:var(--sgds-padding-sm) var(--sgds-mainnav-mobile-padding-x)}@media screen and (min-width:1024px){.dropdown-item.mainnav-dropdown-link ::slotted(*){padding:var(--sgds-padding-sm) var(--sgds-mainnav-padding-x)}}`;
|
|
5
5
|
|
|
6
6
|
export { css_248z as default };
|
|
7
7
|
//# sourceMappingURL=dropdown-item.js.map
|
|
@@ -24,6 +24,8 @@ class SgdsDropdownItem extends sgdsElement["default"] {
|
|
|
24
24
|
this.active = false;
|
|
25
25
|
/** Disables the SgdsMainnavItem */
|
|
26
26
|
this.disabled = false;
|
|
27
|
+
/** When true, removes interactive styles (hover, cursor) for non-navigational display items */
|
|
28
|
+
this.readonly = false;
|
|
27
29
|
/** Forwards aria-label to the inner clickable element for accessibility */
|
|
28
30
|
this.ariaLabel = "";
|
|
29
31
|
}
|
|
@@ -42,9 +44,10 @@ class SgdsDropdownItem extends sgdsElement["default"] {
|
|
|
42
44
|
<div
|
|
43
45
|
class="dropdown-item ${classMap_js.classMap({
|
|
44
46
|
disabled: this.disabled,
|
|
45
|
-
active: this.active
|
|
47
|
+
active: this.active,
|
|
48
|
+
readonly: this.readonly
|
|
46
49
|
})}"
|
|
47
|
-
tabindex=${this.disabled ? "-1" : "0"}
|
|
50
|
+
tabindex=${this.disabled || this.readonly ? "-1" : "0"}
|
|
48
51
|
aria-label=${ifDefined_js.ifDefined(this.ariaLabel || undefined)}
|
|
49
52
|
>
|
|
50
53
|
<slot></slot>
|
|
@@ -65,6 +68,9 @@ tslib.__decorate([
|
|
|
65
68
|
tslib.__decorate([
|
|
66
69
|
decorators_js.property({ type: Boolean, reflect: true })
|
|
67
70
|
], SgdsDropdownItem.prototype, "disabled", void 0);
|
|
71
|
+
tslib.__decorate([
|
|
72
|
+
decorators_js.property({ type: Boolean, reflect: true })
|
|
73
|
+
], SgdsDropdownItem.prototype, "readonly", void 0);
|
|
68
74
|
tslib.__decorate([
|
|
69
75
|
decorators_js.property({ type: String })
|
|
70
76
|
], SgdsDropdownItem.prototype, "ariaLabel", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sgds-dropdown-item.cjs.js","sources":["../../../../src/components/Dropdown/sgds-dropdown-item.ts"],"sourcesContent":["import { html } from \"lit\";\nimport { property, queryAssignedElements } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport SgdsIcon from \"../Icon/sgds-icon\";\nimport dropdownItemStyle from \"./dropdown-item.css\";\nimport dropdownStyle from \"./dropdown.css\";\n/**\n * @summary `SgdsDropdownItem` are navigation links built with `HTMLAnchorElement`. It should be used in the default slot of `SgdsDropdown`\n * @slot default - The default slot for SgdsDropdownItem. Pass in a single anchor tag per dropdown item directly for navigation items.\n */\nexport class SgdsDropdownItem extends SgdsElement {\n static styles = [dropdownStyle, dropdownItemStyle];\n static dependencies = {\n \"sgds-icon\": SgdsIcon\n };\n\n /** @internal */\n @queryAssignedElements({ flatten: true }) private anchor: HTMLAnchorElement[];\n\n /** when true, sets the active stylings of dropdown item */\n @property({ type: Boolean })\n active = false;\n\n /** Disables the SgdsMainnavItem */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /** Forwards aria-label to the inner clickable element for accessibility */\n @property({ type: String })\n ariaLabel = \"\";\n\n connectedCallback(): void {\n super.connectedCallback();\n this.addEventListener(\"keydown\", (e: KeyboardEvent) => {\n if (e.key === \"Enter\" && this.anchor.length > 0) {\n this.anchor[0].click();\n }\n });\n this.setAttribute(\"role\", \"menuitem\");\n this.setAttribute(\"aria-disabled\", `${this.disabled}`);\n }\n\n render() {\n return html`\n <div\n class=\"dropdown-item ${classMap({\n disabled: this.disabled,\n active: this.active\n })}\"\n tabindex=${this.disabled ? \"-1\" : \"0\"}\n aria-label=${ifDefined(this.ariaLabel || undefined)}\n >\n <slot></slot>\n </div>\n `;\n }\n}\n\nexport default SgdsDropdownItem;\n"],"names":["SgdsElement","html","classMap","ifDefined","dropdownStyle","dropdownItemStyle","SgdsIcon","__decorate","queryAssignedElements","property"],"mappings":";;;;;;;;;;;;;;;AAQA;;;AAGG;AACG,MAAO,gBAAiB,SAAQA,sBAAW,CAAA;AAAjD,IAAA,WAAA,GAAA;;;QAWE,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;;QAIf,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;QAIjB,IAAS,CAAA,SAAA,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"sgds-dropdown-item.cjs.js","sources":["../../../../src/components/Dropdown/sgds-dropdown-item.ts"],"sourcesContent":["import { html } from \"lit\";\nimport { property, queryAssignedElements } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport SgdsIcon from \"../Icon/sgds-icon\";\nimport dropdownItemStyle from \"./dropdown-item.css\";\nimport dropdownStyle from \"./dropdown.css\";\n/**\n * @summary `SgdsDropdownItem` are navigation links built with `HTMLAnchorElement`. It should be used in the default slot of `SgdsDropdown`\n * @slot default - The default slot for SgdsDropdownItem. Pass in a single anchor tag per dropdown item directly for navigation items.\n */\nexport class SgdsDropdownItem extends SgdsElement {\n static styles = [dropdownStyle, dropdownItemStyle];\n static dependencies = {\n \"sgds-icon\": SgdsIcon\n };\n\n /** @internal */\n @queryAssignedElements({ flatten: true }) private anchor: HTMLAnchorElement[];\n\n /** when true, sets the active stylings of dropdown item */\n @property({ type: Boolean })\n active = false;\n\n /** Disables the SgdsMainnavItem */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /** When true, removes interactive styles (hover, cursor) for non-navigational display items */\n @property({ type: Boolean, reflect: true })\n readonly = false;\n\n /** Forwards aria-label to the inner clickable element for accessibility */\n @property({ type: String })\n ariaLabel = \"\";\n\n connectedCallback(): void {\n super.connectedCallback();\n this.addEventListener(\"keydown\", (e: KeyboardEvent) => {\n if (e.key === \"Enter\" && this.anchor.length > 0) {\n this.anchor[0].click();\n }\n });\n this.setAttribute(\"role\", \"menuitem\");\n this.setAttribute(\"aria-disabled\", `${this.disabled}`);\n }\n\n render() {\n return html`\n <div\n class=\"dropdown-item ${classMap({\n disabled: this.disabled,\n active: this.active,\n readonly: this.readonly\n })}\"\n tabindex=${this.disabled || this.readonly ? \"-1\" : \"0\"}\n aria-label=${ifDefined(this.ariaLabel || undefined)}\n >\n <slot></slot>\n </div>\n `;\n }\n}\n\nexport default SgdsDropdownItem;\n"],"names":["SgdsElement","html","classMap","ifDefined","dropdownStyle","dropdownItemStyle","SgdsIcon","__decorate","queryAssignedElements","property"],"mappings":";;;;;;;;;;;;;;;AAQA;;;AAGG;AACG,MAAO,gBAAiB,SAAQA,sBAAW,CAAA;AAAjD,IAAA,WAAA,GAAA;;;QAWE,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;;QAIf,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;QAIjB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;QAIjB,IAAS,CAAA,SAAA,GAAG,EAAE,CAAC;KA4BhB;IA1BC,iBAAiB,GAAA;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAgB,KAAI;AACpD,YAAA,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/C,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;aACxB;AACH,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAG,EAAA,IAAI,CAAC,QAAQ,CAAE,CAAA,CAAC,CAAC;KACxD;IAED,MAAM,GAAA;AACJ,QAAA,OAAOC,QAAI,CAAA,CAAA;;AAEgB,6BAAA,EAAAC,oBAAQ,CAAC;YAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAA;AACS,iBAAA,EAAA,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,GAAG,CAAA;AACzC,mBAAA,EAAAC,sBAAS,CAAC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,CAAA;;;;KAItD,CAAC;KACH;;AAjDM,gBAAA,CAAA,MAAM,GAAG,CAACC,mBAAa,EAAEC,uBAAiB,CAAC,CAAC;AAC5C,gBAAA,CAAA,YAAY,GAAG;AACpB,IAAA,WAAW,EAAEC,iBAAQ;AACtB,CAFkB,CAEjB;AAGgDC,gBAAA,CAAA;AAAjD,IAAAC,mCAAqB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAqC,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAI9ED,gBAAA,CAAA;AADC,IAAAE,sBAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACb,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAIfF,gBAAA,CAAA;IADCE,sBAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC1B,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAIjBF,gBAAA,CAAA;IADCE,sBAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC1B,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAIjBF,gBAAA,CAAA;AADC,IAAAE,sBAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AACZ,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA;;;;;"}
|
|
@@ -20,6 +20,8 @@ class SgdsDropdownItem extends SgdsElement {
|
|
|
20
20
|
this.active = false;
|
|
21
21
|
/** Disables the SgdsMainnavItem */
|
|
22
22
|
this.disabled = false;
|
|
23
|
+
/** When true, removes interactive styles (hover, cursor) for non-navigational display items */
|
|
24
|
+
this.readonly = false;
|
|
23
25
|
/** Forwards aria-label to the inner clickable element for accessibility */
|
|
24
26
|
this.ariaLabel = "";
|
|
25
27
|
}
|
|
@@ -38,9 +40,10 @@ class SgdsDropdownItem extends SgdsElement {
|
|
|
38
40
|
<div
|
|
39
41
|
class="dropdown-item ${classMap({
|
|
40
42
|
disabled: this.disabled,
|
|
41
|
-
active: this.active
|
|
43
|
+
active: this.active,
|
|
44
|
+
readonly: this.readonly
|
|
42
45
|
})}"
|
|
43
|
-
tabindex=${this.disabled ? "-1" : "0"}
|
|
46
|
+
tabindex=${this.disabled || this.readonly ? "-1" : "0"}
|
|
44
47
|
aria-label=${ifDefined(this.ariaLabel || undefined)}
|
|
45
48
|
>
|
|
46
49
|
<slot></slot>
|
|
@@ -61,6 +64,9 @@ __decorate([
|
|
|
61
64
|
__decorate([
|
|
62
65
|
property({ type: Boolean, reflect: true })
|
|
63
66
|
], SgdsDropdownItem.prototype, "disabled", void 0);
|
|
67
|
+
__decorate([
|
|
68
|
+
property({ type: Boolean, reflect: true })
|
|
69
|
+
], SgdsDropdownItem.prototype, "readonly", void 0);
|
|
64
70
|
__decorate([
|
|
65
71
|
property({ type: String })
|
|
66
72
|
], SgdsDropdownItem.prototype, "ariaLabel", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sgds-dropdown-item.js","sources":["../../../../src/components/Dropdown/sgds-dropdown-item.ts"],"sourcesContent":["import { html } from \"lit\";\nimport { property, queryAssignedElements } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport SgdsIcon from \"../Icon/sgds-icon\";\nimport dropdownItemStyle from \"./dropdown-item.css\";\nimport dropdownStyle from \"./dropdown.css\";\n/**\n * @summary `SgdsDropdownItem` are navigation links built with `HTMLAnchorElement`. It should be used in the default slot of `SgdsDropdown`\n * @slot default - The default slot for SgdsDropdownItem. Pass in a single anchor tag per dropdown item directly for navigation items.\n */\nexport class SgdsDropdownItem extends SgdsElement {\n static styles = [dropdownStyle, dropdownItemStyle];\n static dependencies = {\n \"sgds-icon\": SgdsIcon\n };\n\n /** @internal */\n @queryAssignedElements({ flatten: true }) private anchor: HTMLAnchorElement[];\n\n /** when true, sets the active stylings of dropdown item */\n @property({ type: Boolean })\n active = false;\n\n /** Disables the SgdsMainnavItem */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /** Forwards aria-label to the inner clickable element for accessibility */\n @property({ type: String })\n ariaLabel = \"\";\n\n connectedCallback(): void {\n super.connectedCallback();\n this.addEventListener(\"keydown\", (e: KeyboardEvent) => {\n if (e.key === \"Enter\" && this.anchor.length > 0) {\n this.anchor[0].click();\n }\n });\n this.setAttribute(\"role\", \"menuitem\");\n this.setAttribute(\"aria-disabled\", `${this.disabled}`);\n }\n\n render() {\n return html`\n <div\n class=\"dropdown-item ${classMap({\n disabled: this.disabled,\n active: this.active\n })}\"\n tabindex=${this.disabled ? \"-1\" : \"0\"}\n aria-label=${ifDefined(this.ariaLabel || undefined)}\n >\n <slot></slot>\n </div>\n `;\n }\n}\n\nexport default SgdsDropdownItem;\n"],"names":["dropdownStyle","dropdownItemStyle"],"mappings":";;;;;;;;;;;AAQA;;;AAGG;AACG,MAAO,gBAAiB,SAAQ,WAAW,CAAA;AAAjD,IAAA,WAAA,GAAA;;;QAWE,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;;QAIf,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;QAIjB,IAAS,CAAA,SAAA,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"sgds-dropdown-item.js","sources":["../../../../src/components/Dropdown/sgds-dropdown-item.ts"],"sourcesContent":["import { html } from \"lit\";\nimport { property, queryAssignedElements } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport { ifDefined } from \"lit/directives/if-defined.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport SgdsIcon from \"../Icon/sgds-icon\";\nimport dropdownItemStyle from \"./dropdown-item.css\";\nimport dropdownStyle from \"./dropdown.css\";\n/**\n * @summary `SgdsDropdownItem` are navigation links built with `HTMLAnchorElement`. It should be used in the default slot of `SgdsDropdown`\n * @slot default - The default slot for SgdsDropdownItem. Pass in a single anchor tag per dropdown item directly for navigation items.\n */\nexport class SgdsDropdownItem extends SgdsElement {\n static styles = [dropdownStyle, dropdownItemStyle];\n static dependencies = {\n \"sgds-icon\": SgdsIcon\n };\n\n /** @internal */\n @queryAssignedElements({ flatten: true }) private anchor: HTMLAnchorElement[];\n\n /** when true, sets the active stylings of dropdown item */\n @property({ type: Boolean })\n active = false;\n\n /** Disables the SgdsMainnavItem */\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n /** When true, removes interactive styles (hover, cursor) for non-navigational display items */\n @property({ type: Boolean, reflect: true })\n readonly = false;\n\n /** Forwards aria-label to the inner clickable element for accessibility */\n @property({ type: String })\n ariaLabel = \"\";\n\n connectedCallback(): void {\n super.connectedCallback();\n this.addEventListener(\"keydown\", (e: KeyboardEvent) => {\n if (e.key === \"Enter\" && this.anchor.length > 0) {\n this.anchor[0].click();\n }\n });\n this.setAttribute(\"role\", \"menuitem\");\n this.setAttribute(\"aria-disabled\", `${this.disabled}`);\n }\n\n render() {\n return html`\n <div\n class=\"dropdown-item ${classMap({\n disabled: this.disabled,\n active: this.active,\n readonly: this.readonly\n })}\"\n tabindex=${this.disabled || this.readonly ? \"-1\" : \"0\"}\n aria-label=${ifDefined(this.ariaLabel || undefined)}\n >\n <slot></slot>\n </div>\n `;\n }\n}\n\nexport default SgdsDropdownItem;\n"],"names":["dropdownStyle","dropdownItemStyle"],"mappings":";;;;;;;;;;;AAQA;;;AAGG;AACG,MAAO,gBAAiB,SAAQ,WAAW,CAAA;AAAjD,IAAA,WAAA,GAAA;;;QAWE,IAAM,CAAA,MAAA,GAAG,KAAK,CAAC;;QAIf,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;QAIjB,IAAQ,CAAA,QAAA,GAAG,KAAK,CAAC;;QAIjB,IAAS,CAAA,SAAA,GAAG,EAAE,CAAC;KA4BhB;IA1BC,iBAAiB,GAAA;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAgB,KAAI;AACpD,YAAA,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC/C,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;aACxB;AACH,SAAC,CAAC,CAAC;AACH,QAAA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAG,EAAA,IAAI,CAAC,QAAQ,CAAE,CAAA,CAAC,CAAC;KACxD;IAED,MAAM,GAAA;AACJ,QAAA,OAAO,IAAI,CAAA,CAAA;;AAEgB,6BAAA,EAAA,QAAQ,CAAC;YAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAA;AACS,iBAAA,EAAA,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,GAAG,CAAA;AACzC,mBAAA,EAAA,SAAS,CAAC,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,CAAA;;;;KAItD,CAAC;KACH;;AAjDM,gBAAA,CAAA,MAAM,GAAG,CAACA,QAAa,EAAEC,UAAiB,CAAC,CAAC;AAC5C,gBAAA,CAAA,YAAY,GAAG;AACpB,IAAA,WAAW,EAAE,QAAQ;AACtB,CAFkB,CAEjB;AAGgD,UAAA,CAAA;AAAjD,IAAA,qBAAqB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAAqC,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAI9E,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACb,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,QAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAIf,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC1B,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAIjB,UAAA,CAAA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC1B,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAIjB,UAAA,CAAA;AADC,IAAA,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AACZ,CAAA,EAAA,gBAAA,CAAA,SAAA,EAAA,WAAA,EAAA,KAAA,CAAA,CAAA;;;;"}
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
|
|
6
6
|
var lit = require('lit');
|
|
7
7
|
|
|
8
|
-
var css_248z = lit.css`:host{--input-border-radius:var(--sgds-form-border-radius-md);--input-min-width:var(--sgds-dimension-160)}.form-control-container{min-width:var(--input-min-width)}:host(.quantity-toggle) input::-webkit-inner-spin-button{appearance:none;margin:0}:host(.quantity-toggle) input{text-align:center}.form-control-prefix,.form-control-suffix{color:var(--sgds-form-color-subtle);display:flex;flex-shrink:0;font-weight:var(--sgds-font-weight-semibold);gap:var(--sgds-gap-xs)}.form-control-group.quantity-toggle{padding:0}sgds-icon[role=button]{cursor:pointer}sgds-icon[role=button]:focus,sgds-icon[role=button]:focus-visible{outline:var(--sgds-form-outline-focus)}.form-control-row{align-items:center;display:flex;gap:var(--sgds-gap-sm)}`;
|
|
8
|
+
var css_248z = lit.css`:host{--input-border-radius:var(--sgds-form-border-radius-md);--input-min-width:var(--sgds-dimension-160)}.form-control-container{min-width:var(--input-min-width)}:host(.quantity-toggle) input::-webkit-inner-spin-button{appearance:none;margin:0}:host(.quantity-toggle) input{text-align:center}.form-control-prefix,.form-control-suffix{align-items:center;color:var(--sgds-form-color-subtle);display:flex;flex-shrink:0;font-weight:var(--sgds-font-weight-semibold);gap:var(--sgds-gap-xs);height:100%;justify-content:center}.form-control-prefix{border-right:var(--sgds-form-border-width-default) solid var(--sgds-border-color-muted);padding-right:var(--sgds-form-padding-x)}.form-control-suffix{border-left:var(--sgds-form-border-width-default) solid var(--sgds-border-color-muted);padding-left:var(--sgds-form-padding-x)}.form-control-group.quantity-toggle{padding:0}sgds-icon[role=button]{cursor:pointer}sgds-icon[role=button]:focus,sgds-icon[role=button]:focus-visible{outline:var(--sgds-form-outline-focus)}.form-control-row{align-items:center;display:flex;gap:var(--sgds-gap-sm)}`;
|
|
9
9
|
|
|
10
10
|
exports["default"] = css_248z;
|
|
11
11
|
//# sourceMappingURL=input.cjs.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { css } from 'lit';
|
|
3
3
|
|
|
4
|
-
var css_248z = css`:host{--input-border-radius:var(--sgds-form-border-radius-md);--input-min-width:var(--sgds-dimension-160)}.form-control-container{min-width:var(--input-min-width)}:host(.quantity-toggle) input::-webkit-inner-spin-button{appearance:none;margin:0}:host(.quantity-toggle) input{text-align:center}.form-control-prefix,.form-control-suffix{color:var(--sgds-form-color-subtle);display:flex;flex-shrink:0;font-weight:var(--sgds-font-weight-semibold);gap:var(--sgds-gap-xs)}.form-control-group.quantity-toggle{padding:0}sgds-icon[role=button]{cursor:pointer}sgds-icon[role=button]:focus,sgds-icon[role=button]:focus-visible{outline:var(--sgds-form-outline-focus)}.form-control-row{align-items:center;display:flex;gap:var(--sgds-gap-sm)}`;
|
|
4
|
+
var css_248z = css`:host{--input-border-radius:var(--sgds-form-border-radius-md);--input-min-width:var(--sgds-dimension-160)}.form-control-container{min-width:var(--input-min-width)}:host(.quantity-toggle) input::-webkit-inner-spin-button{appearance:none;margin:0}:host(.quantity-toggle) input{text-align:center}.form-control-prefix,.form-control-suffix{align-items:center;color:var(--sgds-form-color-subtle);display:flex;flex-shrink:0;font-weight:var(--sgds-font-weight-semibold);gap:var(--sgds-gap-xs);height:100%;justify-content:center}.form-control-prefix{border-right:var(--sgds-form-border-width-default) solid var(--sgds-border-color-muted);padding-right:var(--sgds-form-padding-x)}.form-control-suffix{border-left:var(--sgds-form-border-width-default) solid var(--sgds-border-color-muted);padding-left:var(--sgds-form-padding-x)}.form-control-group.quantity-toggle{padding:0}sgds-icon[role=button]{cursor:pointer}sgds-icon[role=button]:focus,sgds-icon[role=button]:focus-visible{outline:var(--sgds-form-outline-focus)}.form-control-row{align-items:center;display:flex;gap:var(--sgds-gap-sm)}`;
|
|
5
5
|
|
|
6
6
|
export { css_248z as default };
|
|
7
7
|
//# sourceMappingURL=input.js.map
|