@hashicorp/design-system-components 6.1.1-rc-20260408210649 → 6.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -96,11 +96,12 @@ export default class HdsAdvancedTable extends Component<HdsAdvancedTableSignatur
|
|
|
96
96
|
showScrollIndicatorTop: boolean;
|
|
97
97
|
showScrollIndicatorBottom: boolean;
|
|
98
98
|
stickyColumnOffset: string;
|
|
99
|
-
|
|
100
|
-
|
|
99
|
+
currentSortBy?: string;
|
|
100
|
+
currentSortOrder: HdsAdvancedTableThSortOrder;
|
|
101
101
|
expandedRowIds: TrackedSet<string>;
|
|
102
102
|
private _setUpScrollWrapper;
|
|
103
103
|
private _setUpThead;
|
|
104
|
+
private _syncSortArgs;
|
|
104
105
|
constructor(owner: Owner, args: HdsAdvancedTableSignature['Args']);
|
|
105
106
|
get childrenKey(): string;
|
|
106
107
|
get hasRowsWithChildren(): boolean;
|
package/dist/README.md
CHANGED
|
@@ -11,7 +11,7 @@ import { precompileTemplate } from '@ember/template-compilation';
|
|
|
11
11
|
import { g, i, n } from 'decorator-transforms/runtime';
|
|
12
12
|
import { setComponentTemplate } from '@ember/component';
|
|
13
13
|
|
|
14
|
-
var TEMPLATE = precompileTemplate("{{!\n Copyright IBM Corp. 2021, 2025\n SPDX-License-Identifier: MPL-2.0\n}}\n\n<div class=\"hds-advanced-table__actions-container-wrapper\">\n {{#if (has-block \"actions\")}}\n <div class=\"hds-advanced-table__actions\">\n {{yield (hash FilterBar=(component \"hds/filter-bar\")) to=\"actions\"}}\n </div>\n {{/if}}\n\n <div\n class=\"hds-advanced-table__container\n {{(if this.isStickyHeaderPinned \'hds-advanced-table__container--header-is-pinned\')}}\"\n ...attributes\n >\n {{! Caption }}\n <div id={{this._captionId}} class=\"sr-only hds-advanced-table__caption\" aria-live=\"polite\">\n {{@caption}}\n {{this.sortedMessageText}}\n {{this.reorderedMessageText}}\n </div>\n\n <Hds::AdvancedTable::ColumnManager\n @columns={{@columns}}\n @columnOrder={{@columnOrder}}\n @hasReorderableColumns={{@hasReorderableColumns}}\n @hasStickyFirstColumn={{@hasStickyFirstColumn}}\n @isSelectable={{@isSelectable}}\n @onColumnReorder={{this._onColumnReorder}}\n as |CM|\n >\n\n {{! Grid }}\n <div\n class={{this.classNames}}\n role=\"grid\"\n aria-describedby={{this._captionId}}\n {{style\n grid-template-columns=CM.gridTemplateColumns\n --hds-advanced-table-sticky-column-offset=this.stickyColumnOffset\n max-height=@maxHeight\n }}\n {{this._setUpScrollWrapper}}\n {{CM.syncColumnOrder CM.columns @columnOrder}}\n {{CM.syncWidthValues}}\n >\n {{! Header }}\n <div\n class={{this.theadClassNames}}\n role=\"rowgroup\"\n {{this._setUpThead}}\n {{on \"dragleave\" (fn CM.setReorderHoveredColumnKey null)}}\n >\n <Hds::AdvancedTable::Tr\n @selectionScope=\"col\"\n @onClickSortBySelected={{if @selectableColumnKey (fn this.setSortBy @selectableColumnKey)}}\n @sortBySelectedOrder={{if (eq this.
|
|
14
|
+
var TEMPLATE = precompileTemplate("{{!\n Copyright IBM Corp. 2021, 2025\n SPDX-License-Identifier: MPL-2.0\n}}\n\n<div class=\"hds-advanced-table__actions-container-wrapper\">\n {{#if (has-block \"actions\")}}\n <div class=\"hds-advanced-table__actions\">\n {{yield (hash FilterBar=(component \"hds/filter-bar\")) to=\"actions\"}}\n </div>\n {{/if}}\n\n <div\n class=\"hds-advanced-table__container\n {{(if this.isStickyHeaderPinned \'hds-advanced-table__container--header-is-pinned\')}}\"\n {{this._syncSortArgs}}\n ...attributes\n >\n {{! Caption }}\n <div id={{this._captionId}} class=\"sr-only hds-advanced-table__caption\" aria-live=\"polite\">\n {{@caption}}\n {{this.sortedMessageText}}\n {{this.reorderedMessageText}}\n </div>\n\n <Hds::AdvancedTable::ColumnManager\n @columns={{@columns}}\n @columnOrder={{@columnOrder}}\n @hasReorderableColumns={{@hasReorderableColumns}}\n @hasStickyFirstColumn={{@hasStickyFirstColumn}}\n @isSelectable={{@isSelectable}}\n @onColumnReorder={{this._onColumnReorder}}\n as |CM|\n >\n\n {{! Grid }}\n <div\n class={{this.classNames}}\n role=\"grid\"\n aria-describedby={{this._captionId}}\n {{style\n grid-template-columns=CM.gridTemplateColumns\n --hds-advanced-table-sticky-column-offset=this.stickyColumnOffset\n max-height=@maxHeight\n }}\n {{this._setUpScrollWrapper}}\n {{CM.syncColumnOrder CM.columns @columnOrder}}\n {{CM.syncWidthValues}}\n >\n {{! Header }}\n <div\n class={{this.theadClassNames}}\n role=\"rowgroup\"\n {{this._setUpThead}}\n {{on \"dragleave\" (fn CM.setReorderHoveredColumnKey null)}}\n >\n <Hds::AdvancedTable::Tr\n @selectionScope=\"col\"\n @onClickSortBySelected={{if @selectableColumnKey (fn this.setSortBy @selectableColumnKey)}}\n @sortBySelectedOrder={{if (eq this.currentSortBy @selectableColumnKey) this.currentSortOrder}}\n @isSelectable={{this.isSelectable}}\n @onSelectionChange={{this.onSelectionAllChange}}\n @didInsert={{this.didInsertSelectAllCheckbox}}\n @willDestroy={{this.willDestroySelectAllCheckbox}}\n @selectionAriaLabelSuffix=\"all rows\"\n @hasStickyColumn={{this.hasStickyFirstColumn}}\n @isStickyColumnPinned={{this.isStickyColumnPinned}}\n >\n {{#each CM.orderedColumns as |column|}}\n <Hds::AdvancedTable::Th\n @align={{column.align}}\n @column={{column}}\n @draggedColumnKey={{CM.draggedColumnKey}}\n @firstColumnKey={{CM.firstColumnKey}}\n @hasReorderableColumns={{@hasReorderableColumns}}\n @hasResizableColumns={{@hasResizableColumns}}\n @hasSelectableRows={{this.isSelectable}}\n @hasStickyFirstColumn={{this.hasStickyFirstColumn}}\n @isStickyColumn={{if\n (and (eq column.key CM.firstColumnKey) (not-eq this.hasStickyFirstColumn undefined))\n this.hasStickyFirstColumn\n undefined\n }}\n @isStickyColumnPinned={{this.isStickyColumnPinned}}\n @lastColumnKey={{CM.lastColumnKey}}\n @reorderHoveredColumnKey={{CM.reorderHoveredColumnKey}}\n @draggedColumnSiblingColumnKeys={{if CM.draggedColumnKey (CM.getSiblingColumnKeys CM.draggedColumnKey)}}\n @siblingColumnKeys={{CM.getSiblingColumnKeys column.key}}\n @tableHeight={{this._tableHeight}}\n @tooltip={{column.tooltip}}\n @hasExpandAllButton={{this.hasRowsWithChildren}}\n @isExpanded={{this.isAllExpanded}}\n @isExpandable={{column.isExpandable}}\n @sortOrder={{if (eq column.key this.currentSortBy) this.currentSortOrder}}\n @onApplyTransientWidth={{CM.applyTransientWidth}}\n @onClickSort={{if column.isSortable (fn this.setSortBy column.key)}}\n @onClickToggle={{this.toggleExpandAll}}\n @onColumnResize={{@onColumnResize}}\n @onGetAppliedWidth={{CM.getAppliedWidth}}\n @onGetColumnByKey={{CM.getColumnByKey}}\n @onMoveColumnToTerminalPosition={{CM.moveColumnToTerminalPosition}}\n @onPinFirstColumn={{this._onPinFirstColumn}}\n @onReorderDrop={{CM.moveColumnToDropTarget}}\n @onRestoreColumnWidth={{CM.restoreColumnWidth}}\n @onResetTransientColumnWidths={{CM.resetTransientColumnWidths}}\n @onSetDraggedColumnKey={{CM.setDraggedColumnKey}}\n @onSetReorderHoveredColumnKey={{CM.setReorderHoveredColumnKey}}\n @onSetTransientColumnWidth={{CM.setTransientColumnWidth}}\n @onSetTransientColumnWidths={{CM.setTransientColumnWidths}}\n @onStepColumn={{CM.stepColumn}}\n @onUpdateResizeDebt={{CM.updateResizeDebt}}\n {{CM.syncThElements column.key}}\n >\n {{column.label}}\n </Hds::AdvancedTable::Th>\n {{/each}}\n </Hds::AdvancedTable::Tr>\n\n {{#if this.showScrollIndicatorTop}}\n <div class=\"hds-advanced-table__scroll-indicator hds-advanced-table__scroll-indicator-top\" />\n {{/if}}\n </div>\n\n {{! Body }}\n <Hds::AdvancedTable::Body\n @childrenKey={{this.childrenKey}}\n @expandedRowIds={{this.expandedRowIds}}\n {{! @glint-expect-error: [HDS-4380](https://hashicorp.atlassian.net/browse/HDS-4380) }}\n @sortedModel={{sort-by this.sortCriteria @model}}\n as |B|\n >\n {{#each B.rows key=\"id\" as |row index|}}\n {{#let (and (not this.hasRowsWithChildren) (not row.hasChildren)) as |isSelectionAllowed|}}\n {{yield\n (hash\n Tr=(component\n \"hds/advanced-table/tr\"\n columnOrder=CM.columnOrder\n data=row.source\n depth=row.depth\n isParentRow=row.hasChildren\n isLastRow=(and (eq row.id B.lastVisibleRowId) (not-eq B.lastVisibleRowId undefined))\n displayRow=row.isVisible\n selectionScope=(if isSelectionAllowed \"row\")\n isSelectable=(if isSelectionAllowed this.isSelectable)\n onSelectionChange=(if isSelectionAllowed this.onSelectionRowChange)\n didInsert=(if isSelectionAllowed this.didInsertRowCheckbox)\n willDestroy=(if isSelectionAllowed this.willDestroyRowCheckbox)\n hasStickyColumn=this.hasStickyFirstColumn\n isStickyColumnPinned=this.isStickyColumnPinned\n )\n Th=(component\n \"hds/advanced-table/th\"\n isExpandable=row.hasChildren\n isExpanded=row.isExpanded\n onClickToggle=(fn this.toggleRow row.id)\n depth=row.depth\n scope=\"row\"\n newLabel=row.id\n isStickyColumn=this.hasStickyFirstColumn\n isStickyColumnPinned=this.isStickyColumnPinned\n )\n Td=(component \"hds/advanced-table/td\" align=@align)\n data=row.source\n rowIndex=index\n isOpen=row.isExpanded\n )\n to=\"body\"\n }}\n {{/let}}\n {{/each}}\n </Hds::AdvancedTable::Body>\n </div>\n </Hds::AdvancedTable::ColumnManager>\n\n {{! Empty state }}\n {{#if this.isEmpty}}\n <div class=\"hds-advanced-table__empty-state\">\n {{#if (has-block \"emptyState\")}}\n {{yield to=\"emptyState\"}}\n {{else}}\n <Hds::ApplicationState as |A|>\n <A.Header @title={{hds-t \"hds.components.advanced-table.empty-state.title\" default=\"No data available\"}} />\n <A.Body\n @text={{hds-t\n \"hds.components.advanced-table.empty-state.description\"\n default=\"There is currently no data to display in the table.\"\n }}\n />\n </Hds::ApplicationState>\n {{/if}}\n </div>\n {{/if}}\n\n {{#if this.showScrollIndicatorLeft}}\n <div\n class=\"hds-advanced-table__scroll-indicator hds-advanced-table__scroll-indicator-left\"\n {{style height=this.scrollIndicatorDimensions.height left=this.scrollIndicatorDimensions.left}}\n />\n {{/if}}\n\n {{#if this.showScrollIndicatorRight}}\n <div\n class=\"hds-advanced-table__scroll-indicator hds-advanced-table__scroll-indicator-right\"\n {{style height=this.scrollIndicatorDimensions.height right=this.scrollIndicatorDimensions.right}}\n />\n {{/if}}\n\n {{#if (and this.showScrollIndicatorBottom (not this.isEmpty))}}\n <div\n class=\"hds-advanced-table__scroll-indicator hds-advanced-table__scroll-indicator-bottom\"\n {{style bottom=this.scrollIndicatorDimensions.bottom width=this.scrollIndicatorDimensions.width}}\n />\n {{/if}}\n </div>\n</div>");
|
|
15
15
|
|
|
16
16
|
/**
|
|
17
17
|
* Copyright IBM Corp. 2021, 2025
|
|
@@ -163,13 +163,15 @@ class HdsAdvancedTable extends Component {
|
|
|
163
163
|
}
|
|
164
164
|
#stickyColumnOffset = (i(this, "stickyColumnOffset"), void 0);
|
|
165
165
|
static {
|
|
166
|
-
g(this.prototype, "
|
|
166
|
+
g(this.prototype, "currentSortBy", [tracked]);
|
|
167
167
|
}
|
|
168
|
-
#
|
|
168
|
+
#currentSortBy = (i(this, "currentSortBy"), void 0); // sorting properties
|
|
169
169
|
static {
|
|
170
|
-
g(this.prototype, "
|
|
170
|
+
g(this.prototype, "currentSortOrder", [tracked], function () {
|
|
171
|
+
return HdsAdvancedTableThSortOrderValues.Asc;
|
|
172
|
+
});
|
|
171
173
|
}
|
|
172
|
-
#
|
|
174
|
+
#currentSortOrder = (i(this, "currentSortOrder"), void 0);
|
|
173
175
|
// row expansion properties
|
|
174
176
|
expandedRowIds = new TrackedSet();
|
|
175
177
|
_setUpScrollWrapper = modifier(element => {
|
|
@@ -230,16 +232,24 @@ class HdsAdvancedTable extends Component {
|
|
|
230
232
|
_setUpThead = modifier(element => {
|
|
231
233
|
this._theadElement = element;
|
|
232
234
|
});
|
|
235
|
+
_syncSortArgs = modifier(() => {
|
|
236
|
+
const {
|
|
237
|
+
sortBy,
|
|
238
|
+
sortOrder
|
|
239
|
+
} = this.args;
|
|
240
|
+
if (sortBy !== undefined) {
|
|
241
|
+
this.currentSortBy = sortBy;
|
|
242
|
+
}
|
|
243
|
+
if (sortOrder !== undefined) {
|
|
244
|
+
this.currentSortOrder = sortOrder;
|
|
245
|
+
}
|
|
246
|
+
});
|
|
233
247
|
constructor(owner, args) {
|
|
234
248
|
super(owner, args);
|
|
235
249
|
const {
|
|
236
250
|
hasStickyFirstColumn,
|
|
237
|
-
model
|
|
238
|
-
sortBy,
|
|
239
|
-
sortOrder
|
|
251
|
+
model
|
|
240
252
|
} = args;
|
|
241
|
-
this.sortBy = sortBy;
|
|
242
|
-
this.sortOrder = sortOrder ?? HdsAdvancedTableThSortOrderValues.Asc;
|
|
243
253
|
this._runAssertions();
|
|
244
254
|
this._initializeExpandedRows(model);
|
|
245
255
|
if (hasStickyFirstColumn) {
|
|
@@ -288,11 +298,11 @@ class HdsAdvancedTable extends Component {
|
|
|
288
298
|
const {
|
|
289
299
|
columns
|
|
290
300
|
} = this.args;
|
|
291
|
-
const currentColumn = columns.find(column => column.key === this.
|
|
301
|
+
const currentColumn = columns.find(column => column.key === this.currentSortBy);
|
|
292
302
|
if (currentColumn?.sortingFunction && typeof currentColumn.sortingFunction === 'function') {
|
|
293
303
|
return currentColumn.sortingFunction;
|
|
294
304
|
} else {
|
|
295
|
-
return `${this.
|
|
305
|
+
return `${this.currentSortBy}:${this.currentSortOrder}`;
|
|
296
306
|
}
|
|
297
307
|
}
|
|
298
308
|
get isEmpty() {
|
|
@@ -324,9 +334,9 @@ class HdsAdvancedTable extends Component {
|
|
|
324
334
|
} = this.args;
|
|
325
335
|
if (sortedMessageText !== undefined) {
|
|
326
336
|
return sortedMessageText;
|
|
327
|
-
} else if (this.
|
|
337
|
+
} else if (this.currentSortBy !== undefined) {
|
|
328
338
|
// we should allow the user to define a custom value here (e.g., for i18n) - tracked with HDS-965
|
|
329
|
-
return `Sorted by ${this.
|
|
339
|
+
return `Sorted by ${this.currentSortBy} ${this.currentSortOrder}ending`;
|
|
330
340
|
} else {
|
|
331
341
|
return '';
|
|
332
342
|
}
|
|
@@ -585,16 +595,14 @@ class HdsAdvancedTable extends Component {
|
|
|
585
595
|
if (columnKey === undefined) {
|
|
586
596
|
return;
|
|
587
597
|
}
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
} else {
|
|
592
|
-
// otherwise, set the sort order to ascending
|
|
593
|
-
this.sortBy = columnKey;
|
|
594
|
-
this.sortOrder = HdsAdvancedTableThSortOrderValues.Asc;
|
|
598
|
+
let newSortOrder = HdsAdvancedTableThSortOrderValues.Asc;
|
|
599
|
+
if (this.currentSortBy === columnKey) {
|
|
600
|
+
newSortOrder = this.currentSortOrder === HdsAdvancedTableThSortOrderValues.Asc ? HdsAdvancedTableThSortOrderValues.Desc : HdsAdvancedTableThSortOrderValues.Asc;
|
|
595
601
|
}
|
|
602
|
+
this.currentSortBy = columnKey;
|
|
603
|
+
this.currentSortOrder = newSortOrder;
|
|
596
604
|
if (typeof onSort === 'function') {
|
|
597
|
-
onSort(
|
|
605
|
+
onSort(columnKey, newSortOrder);
|
|
598
606
|
}
|
|
599
607
|
}
|
|
600
608
|
static {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/hds/advanced-table/index.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2025\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { assert } from '@ember/debug';\nimport { cached, tracked } from '@glimmer/tracking';\nimport { guidFor } from '@ember/object/internals';\nimport { service } from '@ember/service';\nimport { modifier } from 'ember-modifier';\nimport { TrackedSet } from 'tracked-built-ins';\nimport { HdsAdvancedTableThSortOrderValues } from './types.ts';\n\nimport type Owner from '@ember/owner';\nimport type { WithBoundArgs } from '@glint/template';\nimport type { ComponentLike } from '@glint/template';\nimport {\n HdsAdvancedTableDensityValues,\n HdsAdvancedTableVerticalAlignmentValues,\n} from './types.ts';\nimport type {\n HdsAdvancedTableColumn,\n HdsAdvancedTableDensities,\n HdsAdvancedTableHorizontalAlignment,\n HdsAdvancedTableOnSelectionChangeSignature,\n HdsAdvancedTableSelectableRow,\n HdsAdvancedTableSortingFunction,\n HdsAdvancedTableThSortOrder,\n HdsAdvancedTableVerticalAlignment,\n HdsAdvancedTableModel,\n HdsAdvancedTableExpandState,\n HdsAdvancedTableColumnReorderCallback,\n} from './types.ts';\n\nimport type { HdsFilterBarSignature } from '../filter-bar/index.gts';\nimport type { HdsFormCheckboxBaseSignature } from '../form/checkbox/base.gts';\nimport type HdsAdvancedTableTd from './td.ts';\nimport type HdsAdvancedTableTh from './th.ts';\nimport type HdsAdvancedTableTr from './tr.ts';\nimport type HdsIntlService from '../../../services/hds-intl.ts';\n\nexport const DENSITIES: HdsAdvancedTableDensities[] = Object.values(\n HdsAdvancedTableDensityValues\n);\nexport const DEFAULT_DENSITY = HdsAdvancedTableDensityValues.Medium;\n\nexport const VALIGNMENTS: HdsAdvancedTableVerticalAlignment[] = Object.values(\n HdsAdvancedTableVerticalAlignmentValues\n);\nexport const DEFAULT_VALIGN = HdsAdvancedTableVerticalAlignmentValues.Top;\n\nexport const BORDER_WIDTH = 1;\n\nconst DEFAULT_SCROLL_DIMENSIONS = {\n bottom: '0px',\n height: '0px',\n left: '0px',\n right: '0px',\n width: '0px',\n};\n\nconst getScrollIndicatorDimensions = (\n scrollWrapper: HTMLDivElement,\n theadElement: HTMLDivElement,\n hasStickyFirstColumn: boolean,\n isStickyColumnPinned: boolean\n) => {\n const horizontalScrollBarHeight =\n scrollWrapper.offsetHeight - scrollWrapper.clientHeight;\n const verticalScrollBarWidth =\n scrollWrapper.offsetWidth - scrollWrapper.clientWidth;\n\n let leftOffset = 0;\n\n if (hasStickyFirstColumn) {\n const stickyColumnHeaders = theadElement.querySelectorAll(\n '.hds-advanced-table__th--is-sticky-column'\n );\n\n stickyColumnHeaders?.forEach((el) => {\n // querySelectorAll returns Elements, which don't have offsetWidth\n // need to use offsetWidth to account for the cell borders\n const elAsHTMLElement = el as HTMLElement;\n leftOffset += elAsHTMLElement.offsetWidth;\n });\n\n // offsets the left: -1px position if there are multiple sticky columns or the first column has a fixed pixel width\n if (stickyColumnHeaders.length > 1) {\n leftOffset -= 1;\n }\n\n // offsets the left: -1px position if the sticky column is already pinned when the scroll indicator is calculated\n if (isStickyColumnPinned) {\n leftOffset -= 1;\n }\n }\n\n return {\n bottom: `${horizontalScrollBarHeight}px`,\n height: `${scrollWrapper.offsetHeight - horizontalScrollBarHeight}px`,\n left: `${leftOffset}px`,\n right: `${verticalScrollBarWidth}px`,\n width: `${scrollWrapper.offsetWidth - verticalScrollBarWidth}px`,\n };\n};\n\nconst getStickyColumnLeftOffset = (\n theadElement: HTMLDivElement,\n hasRowSelection: boolean,\n isStickyColumnPinned: boolean\n) => {\n // if there is no select checkbox column, the sticky column is all the way to the left\n if (!hasRowSelection) return '0px';\n\n const selectableCell = theadElement.querySelector(\n '.hds-advanced-table__th--is-selectable'\n ) as HTMLElement;\n\n let leftOffset = selectableCell?.offsetWidth ?? 0;\n\n // if the sticky column is pinned when the offset is calculated, we need to account for the increased width of the border\n if (isStickyColumnPinned && leftOffset > 0) {\n leftOffset -= 2;\n }\n\n return `${leftOffset}px`;\n};\n\nexport interface HdsAdvancedTableSignature {\n Args: {\n align?: HdsAdvancedTableHorizontalAlignment;\n caption?: string;\n columns: HdsAdvancedTableColumn[];\n columnOrder?: string[];\n density?: HdsAdvancedTableDensities;\n identityKey?: string;\n isSelectable?: boolean;\n isStriped?: boolean;\n model: HdsAdvancedTableModel;\n reorderedMessageText?: string;\n selectionAriaLabelSuffix?: string;\n sortBy?: string;\n selectableColumnKey?: string;\n sortedMessageText?: string;\n sortOrder?: HdsAdvancedTableThSortOrder;\n valign?: HdsAdvancedTableVerticalAlignment;\n hasReorderableColumns?: boolean;\n hasResizableColumns?: boolean;\n hasStickyHeader?: boolean;\n hasStickyFirstColumn?: boolean;\n childrenKey?: string;\n maxHeight?: string;\n onColumnReorder?: HdsAdvancedTableColumnReorderCallback;\n onColumnResize?: (columnKey: string, newWidth?: string) => void;\n onSelectionChange?: (\n selection: HdsAdvancedTableOnSelectionChangeSignature\n ) => void;\n onSort?: (sortBy: string, sortOrder: HdsAdvancedTableThSortOrder) => void;\n };\n Blocks: {\n actions?: [\n {\n FilterBar?: ComponentLike<HdsFilterBarSignature>;\n },\n ];\n body?: [\n {\n Td?: WithBoundArgs<typeof HdsAdvancedTableTd, 'align'>;\n Tr?: WithBoundArgs<\n typeof HdsAdvancedTableTr,\n | 'selectionScope'\n | 'isLastRow'\n | 'isSelectable'\n | 'onSelectionChange'\n | 'didInsert'\n | 'willDestroy'\n | 'selectionAriaLabelSuffix'\n | 'hasStickyColumn'\n | 'isStickyColumnPinned'\n | 'isParentRow'\n | 'depth'\n | 'displayRow'\n >;\n Th?: WithBoundArgs<\n typeof HdsAdvancedTableTh,\n | 'depth'\n | 'isExpandable'\n | 'isExpanded'\n | 'newLabel'\n | 'parentId'\n | 'scope'\n | 'isStickyColumnPinned'\n | 'onClickToggle'\n >;\n data?: Record<string, unknown>;\n rowIndex?: number | string;\n isOpen?: HdsAdvancedTableExpandState;\n },\n ];\n emptyState?: [];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsAdvancedTable extends Component<HdsAdvancedTableSignature> {\n @service declare readonly hdsIntl: HdsIntlService;\n\n @tracked\n private _selectAllCheckbox?: HdsFormCheckboxBaseSignature['Element'] =\n undefined;\n @tracked private _isSelectAllCheckboxSelected?: boolean = undefined;\n @tracked private _tableHeight = 0;\n private _selectableRows: HdsAdvancedTableSelectableRow[] = [];\n private _captionId = 'caption-' + guidFor(this);\n private _scrollHandler!: (event: Event) => void;\n private _resizeObserver!: ResizeObserver;\n private _theadElement!: HTMLDivElement;\n private _scrollWrapperElement!: HTMLDivElement;\n\n @tracked scrollIndicatorDimensions = DEFAULT_SCROLL_DIMENSIONS;\n @tracked isStickyColumnPinned = false;\n @tracked isStickyHeaderPinned = false;\n @tracked hasPinnedFirstColumn: boolean | undefined = undefined;\n @tracked reorderedMessageText = '';\n @tracked showScrollIndicatorLeft = false;\n @tracked showScrollIndicatorRight = false;\n @tracked showScrollIndicatorTop = false;\n @tracked showScrollIndicatorBottom = false;\n @tracked stickyColumnOffset = '0px';\n\n // sorting properties\n @tracked sortBy?: string;\n @tracked sortOrder?: HdsAdvancedTableThSortOrder;\n\n // row expansion properties\n expandedRowIds = new TrackedSet<string>();\n\n private _setUpScrollWrapper = modifier((element: HTMLDivElement) => {\n this._scrollWrapperElement = element;\n\n const updateHorizontalScrollIndicators = () => {\n this.showScrollIndicatorRight = element.clientWidth < element.scrollWidth;\n };\n\n this._scrollHandler = () => {\n this._updateScrollIndicators(element);\n };\n\n element.addEventListener('scroll', this._scrollHandler);\n\n const updateMeasurements = () => {\n const { isSelectable = false } = this.args;\n\n const newTableHeight = element.offsetHeight;\n\n const newDimensions = getScrollIndicatorDimensions(\n element,\n this._theadElement,\n this.hasStickyFirstColumn ? true : false,\n this.isStickyColumnPinned\n );\n\n const setUpdatedMeasurements = () => {\n if (this.isDestroying || this.isDestroyed) {\n return;\n }\n\n const isSameBottom =\n this.scrollIndicatorDimensions.bottom === newDimensions.bottom;\n const isSameHeight =\n this.scrollIndicatorDimensions.height === newDimensions.height;\n const isSameLeft =\n this.scrollIndicatorDimensions.left === newDimensions.left;\n const isSameRight =\n this.scrollIndicatorDimensions.right === newDimensions.right;\n\n if (\n isSameBottom &&\n isSameHeight &&\n isSameLeft &&\n isSameRight &&\n this._tableHeight === newTableHeight\n ) {\n return;\n }\n\n this._tableHeight = newTableHeight;\n this.scrollIndicatorDimensions = newDimensions;\n\n if (this.hasStickyFirstColumn) {\n this.stickyColumnOffset = getStickyColumnLeftOffset(\n this._theadElement,\n isSelectable,\n this.isStickyColumnPinned\n );\n }\n };\n\n window.requestAnimationFrame(setUpdatedMeasurements);\n };\n\n this._resizeObserver = new ResizeObserver((entries) => {\n entries.forEach(() => {\n updateMeasurements();\n updateHorizontalScrollIndicators();\n });\n });\n\n this._resizeObserver.observe(element);\n\n updateMeasurements();\n\n // on render check if should show right scroll indicator\n updateHorizontalScrollIndicators();\n\n // on render check if should show bottom scroll indicator\n if (element.clientHeight < element.scrollHeight) {\n this.showScrollIndicatorBottom = true;\n }\n\n return () => {\n element.removeEventListener('scroll', this._scrollHandler);\n this._resizeObserver.disconnect();\n };\n });\n\n private _setUpThead = modifier((element: HTMLDivElement) => {\n this._theadElement = element;\n });\n\n constructor(owner: Owner, args: HdsAdvancedTableSignature['Args']) {\n super(owner, args);\n\n const { hasStickyFirstColumn, model, sortBy, sortOrder } = args;\n\n this.sortBy = sortBy;\n this.sortOrder = sortOrder ?? HdsAdvancedTableThSortOrderValues.Asc;\n\n this._runAssertions();\n\n this._initializeExpandedRows(model);\n\n if (hasStickyFirstColumn) {\n this.hasPinnedFirstColumn = true;\n }\n }\n\n get childrenKey(): string {\n return this.args.childrenKey ?? 'children';\n }\n\n get hasRowsWithChildren(): boolean {\n const { model } = this.args;\n\n return model.some((record) => {\n const children = record[this.childrenKey] as\n | Record<string, unknown>[]\n | undefined;\n\n return Array.isArray(children) && children.length > 0;\n });\n }\n\n @cached\n get expandableRowIds(): string[] {\n const { model } = this.args;\n\n const ids: string[] = [];\n\n const collect = (items: Record<string, unknown>[]) => {\n items.forEach((item) => {\n const children = item[this.childrenKey] as\n | Record<string, unknown>\n | undefined;\n\n if (Array.isArray(children) && children.length > 0) {\n ids.push(guidFor(item));\n\n collect(children);\n }\n });\n };\n\n collect(model);\n\n return ids;\n }\n\n get isAllExpanded(): boolean {\n if (this.expandableRowIds.length === 0) {\n return false;\n }\n\n return this.expandableRowIds.every((id) => this.expandedRowIds.has(id));\n }\n\n get sortCriteria(): string | HdsAdvancedTableSortingFunction<unknown> {\n const { columns } = this.args;\n\n const currentColumn = columns.find((column) => column.key === this.sortBy);\n\n if (\n currentColumn?.sortingFunction &&\n typeof currentColumn.sortingFunction === 'function'\n ) {\n return currentColumn.sortingFunction;\n } else {\n return `${this.sortBy}:${this.sortOrder}`;\n }\n }\n\n get isEmpty(): boolean {\n const { model } = this.args;\n\n return model.length === 0;\n }\n\n get identityKey(): string | undefined {\n // we have to provide a way for the consumer to pass undefined because Ember tries to interpret undefined as missing an arg and therefore falls back to the default\n if (this.args.identityKey === 'none') {\n return undefined;\n } else {\n return this.args.identityKey ?? '@identity';\n }\n }\n\n get hasStickyFirstColumn(): boolean | undefined {\n // The user-controlled `hasPinnedFirstColumn` variable takes precedence over the model's `hasStickyFirstColumn` property.\n if (this.hasPinnedFirstColumn !== undefined) {\n return this.hasPinnedFirstColumn;\n } else if (this.args.hasStickyFirstColumn === false) {\n return this.args.hasStickyFirstColumn;\n }\n\n return undefined;\n }\n\n get sortedMessageText(): string {\n const { sortedMessageText } = this.args;\n\n if (sortedMessageText !== undefined) {\n return sortedMessageText;\n } else if (this.sortBy !== undefined && this.sortOrder !== undefined) {\n // we should allow the user to define a custom value here (e.g., for i18n) - tracked with HDS-965\n return `Sorted by ${this.sortBy} ${this.sortOrder}ending`;\n } else {\n return '';\n }\n }\n\n get isSelectable(): boolean {\n const { isSelectable = false } = this.args;\n\n if (this.hasRowsWithChildren) {\n assert(\n '@isSelectable must not be true if there are nested rows.',\n !isSelectable\n );\n return isSelectable;\n }\n\n return isSelectable;\n }\n\n get isStriped(): boolean {\n const { isStriped = false } = this.args;\n\n if (this.hasRowsWithChildren) {\n assert(\n '@isStriped must not be true if there are nested rows.',\n !isStriped\n );\n return isStriped;\n }\n\n return isStriped;\n }\n\n get density(): HdsAdvancedTableDensities {\n const { density = DEFAULT_DENSITY } = this.args;\n\n assert(\n `@density for \"Hds::Table\" must be one of the following: ${DENSITIES.join(\n ', '\n )}; received: ${density}`,\n DENSITIES.includes(density)\n );\n\n return density;\n }\n\n get hasStickyHeader(): boolean {\n if (this.args.maxHeight && this.args.hasStickyHeader !== false) {\n return true;\n } else if (this.args.hasStickyHeader && !this.args.maxHeight) {\n assert('Must set @maxHeight to use @hasStickyHeader.', false);\n }\n\n return false;\n }\n\n get valign(): HdsAdvancedTableVerticalAlignment {\n const { valign = DEFAULT_VALIGN } = this.args;\n\n assert(\n `@valign for \"Hds::Table\" must be one of the following: ${VALIGNMENTS.join(\n ', '\n )}; received: ${valign}`,\n VALIGNMENTS.includes(valign)\n );\n\n return valign;\n }\n\n get classNames(): string {\n const classes = ['hds-advanced-table'];\n\n if (this.isStriped) {\n classes.push('hds-advanced-table--striped');\n }\n\n if (this.density) {\n classes.push(`hds-advanced-table--density-${this.density}`);\n }\n\n if (this.valign) {\n classes.push(`hds-advanced-table--valign-${this.valign}`);\n }\n\n if (this.hasRowsWithChildren) {\n classes.push(`hds-advanced-table--nested`);\n }\n\n return classes.join(' ');\n }\n\n get theadClassNames(): string {\n const { hasResizableColumns } = this.args;\n\n const classes = ['hds-advanced-table__thead'];\n\n if (this.hasStickyHeader) {\n classes.push('hds-advanced-table__thead--sticky');\n }\n\n if (this.isStickyHeaderPinned) {\n classes.push('hds-advanced-table__thead--is-pinned');\n }\n\n if (hasResizableColumns) {\n classes.push('hds-advanced-table__thead--has-resizable-columns');\n }\n\n return classes.join(' ');\n }\n\n private _initializeExpandedRows(\n model: HdsAdvancedTableSignature['Args']['model']\n ) {\n const traverse = (items: Record<string, unknown>[]) => {\n items.forEach((item) => {\n if (item['isOpen'] === true) {\n this.expandedRowIds.add(guidFor(item));\n }\n\n const children = item[this.childrenKey] as\n | Record<string, unknown>[]\n | undefined;\n\n if (Array.isArray(children) && children.length > 0) {\n traverse(children);\n }\n });\n };\n\n traverse(model);\n }\n\n private _runAssertions() {\n const {\n columns,\n hasReorderableColumns,\n hasResizableColumns,\n hasStickyFirstColumn,\n } = this.args;\n\n if (this.hasRowsWithChildren) {\n const sortableColumns = columns.filter((column) => column.isSortable);\n const sortableColumnLabels = sortableColumns.map(\n (column) => column.label\n );\n\n assert(\n 'Cannot have reorderable columns if there are nested rows.',\n !hasReorderableColumns\n );\n\n assert(\n `Cannot have sortable columns if there are nested rows. Sortable columns are ${sortableColumnLabels.toString()}`,\n sortableColumns.length === 0\n );\n\n assert(\n 'Cannot have a sticky first column if there are nested rows.',\n hasStickyFirstColumn === undefined\n );\n\n assert(\n `Cannot have resizable columns if there are nested rows.`,\n !hasResizableColumns\n );\n }\n\n if (hasReorderableColumns) {\n assert(\n 'Cannot have both reorderable columns and a sticky first column.',\n hasStickyFirstColumn === undefined\n );\n }\n }\n\n private _onColumnReorder: HdsAdvancedTableColumnReorderCallback = ({\n column,\n newOrder,\n insertedAt,\n }) => {\n // Guard against accessing hdsIntl service after component destruction\n if (this.isDestroying || this.isDestroyed) return;\n\n const { reorderedMessageText } = this.args;\n\n if (reorderedMessageText !== undefined) {\n this.reorderedMessageText = reorderedMessageText;\n } else {\n const newPosition = insertedAt + 1;\n const translatedReorderedMessageText = this.hdsIntl.t(\n 'hds.advanced-table.reordered-message',\n {\n default: `Moved ${column.label} column to position ${newPosition}`,\n columnLabel: column.label,\n newPosition,\n }\n );\n\n this.reorderedMessageText = translatedReorderedMessageText;\n }\n\n this.args.onColumnReorder?.({\n column,\n newOrder,\n insertedAt,\n });\n };\n\n onSelectionChangeCallback(\n checkbox?: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ): void {\n const { onSelectionChange } = this.args;\n\n if (typeof onSelectionChange !== 'function') return;\n\n onSelectionChange({\n selectionKey: selectionKey,\n selectionCheckboxElement: checkbox,\n selectedRowsKeys: this._selectableRows.reduce<string[]>((acc, row) => {\n if (row.checkbox.checked) {\n acc.push(row.selectionKey);\n }\n return acc;\n }, []),\n selectableRowsStates: this._selectableRows.reduce(\n (\n acc: { selectionKey: string; isSelected: boolean | undefined }[],\n row\n ) => {\n acc.push({\n selectionKey: row.selectionKey,\n isSelected: row.checkbox.checked,\n });\n return acc;\n },\n []\n ),\n });\n }\n\n @action\n toggleExpandAll() {\n const allIds = this.expandableRowIds;\n const isAllExpanded = allIds.every((id) => this.expandedRowIds.has(id));\n\n if (isAllExpanded) {\n this.expandedRowIds.clear();\n } else {\n // Add all IDs efficiently\n allIds.forEach((id) => this.expandedRowIds.add(id));\n }\n }\n\n @action\n toggleRow(rowId: string) {\n if (this.expandedRowIds.has(rowId)) {\n this.expandedRowIds.delete(rowId);\n } else {\n this.expandedRowIds.add(rowId);\n }\n }\n\n @action\n onSelectionAllChange(): void {\n this._selectableRows.forEach((row) => {\n row.checkbox.checked = this._selectAllCheckbox?.checked ?? false;\n });\n this._isSelectAllCheckboxSelected =\n this._selectAllCheckbox?.checked ?? false;\n this.onSelectionChangeCallback(this._selectAllCheckbox, 'all');\n }\n\n @action\n onSelectionRowChange(\n checkbox?: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ): void {\n this.setSelectAllState();\n this.onSelectionChangeCallback(checkbox, selectionKey);\n }\n\n @action\n didInsertSelectAllCheckbox(\n checkbox: HdsFormCheckboxBaseSignature['Element']\n ): void {\n this._selectAllCheckbox = checkbox;\n }\n\n @action\n willDestroySelectAllCheckbox(): void {\n this._selectAllCheckbox = undefined;\n }\n\n @action\n didInsertRowCheckbox(\n checkbox: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ): void {\n if (selectionKey) {\n this._selectableRows.push({ selectionKey, checkbox });\n }\n this.setSelectAllState();\n }\n\n @action\n willDestroyRowCheckbox(selectionKey?: string): void {\n if (selectionKey === undefined) {\n return;\n }\n\n const index = this._selectableRows.findIndex(\n (row) => row.selectionKey === selectionKey\n );\n\n if (index === -1) {\n return;\n }\n\n this._selectableRows.splice(index, 1);\n\n this.setSelectAllState();\n }\n\n @action\n setSelectAllState(): void {\n if (this._selectAllCheckbox) {\n const selectableRowsCount = this._selectableRows.length;\n const selectedRowsCount = this._selectableRows.filter(\n (row) => row.checkbox.checked\n ).length;\n\n this._selectAllCheckbox.checked =\n selectedRowsCount === selectableRowsCount;\n this._selectAllCheckbox.indeterminate =\n selectedRowsCount > 0 && selectedRowsCount < selectableRowsCount;\n this._isSelectAllCheckboxSelected = this._selectAllCheckbox.checked;\n }\n }\n\n @action\n setSortBy(columnKey: HdsAdvancedTableColumn['key']): void {\n const { onSort } = this.args;\n\n if (columnKey === undefined) {\n return;\n }\n\n if (this.sortBy === columnKey) {\n // check to see if the column is already sorted and invert the sort order if so\n this.sortOrder =\n this.sortOrder === HdsAdvancedTableThSortOrderValues.Asc\n ? HdsAdvancedTableThSortOrderValues.Desc\n : HdsAdvancedTableThSortOrderValues.Asc;\n } else {\n // otherwise, set the sort order to ascending\n this.sortBy = columnKey;\n this.sortOrder = HdsAdvancedTableThSortOrderValues.Asc;\n }\n\n if (typeof onSort === 'function') {\n onSort(this.sortBy, this.sortOrder);\n }\n }\n\n private _updateScrollIndicators(element: HTMLElement): void {\n // 6px as a buffer so the shadow doesn't appear over the border radius on the edge of the table\n const SCROLL_BUFFER = 6;\n\n // left scroll indicator and sticky column styles\n if (element.scrollLeft > SCROLL_BUFFER) {\n if (this.hasStickyFirstColumn) {\n this.isStickyColumnPinned = true;\n }\n if (!this.showScrollIndicatorLeft) {\n this.showScrollIndicatorLeft = true;\n }\n } else if (element.scrollLeft === 0 && this.showScrollIndicatorLeft) {\n this.isStickyColumnPinned = false;\n this.showScrollIndicatorLeft = false;\n }\n\n // the right edge is how far the user can scroll, which is the full width of the table - the visible section of the table (also subtract the buffer)\n const rightEdge = element.scrollWidth - element.clientWidth - SCROLL_BUFFER;\n\n // right scroll indicator\n if (element.scrollLeft < rightEdge) {\n this.showScrollIndicatorRight = true;\n } else {\n this.showScrollIndicatorRight = false;\n }\n\n // sticky header\n if (element.scrollTop > 0) {\n if (this.hasStickyHeader) {\n this.isStickyHeaderPinned = true;\n }\n this.showScrollIndicatorTop = true;\n } else {\n if (this.hasStickyHeader) {\n this.isStickyHeaderPinned = false;\n }\n this.showScrollIndicatorTop = false;\n }\n\n // the bottom edge is how far the user can scroll, which is the full height of the table - the visible section of the table (also subtract the buffer)\n const bottomEdge =\n element.scrollHeight - element.clientHeight - SCROLL_BUFFER;\n\n // bottom scroll indicator\n if (element.scrollTop < bottomEdge) {\n this.showScrollIndicatorBottom = true;\n } else {\n this.showScrollIndicatorBottom = false;\n }\n }\n\n private _onPinFirstColumn = (): void => {\n this.hasPinnedFirstColumn = this.hasPinnedFirstColumn ? false : true;\n // we need to retrigger the scroll indicator updates if the pinned state is changed when the table is already scrolled\n this._updateScrollIndicators(this._scrollWrapperElement);\n };\n}\n"],"names":["DENSITIES","Object","values","HdsAdvancedTableDensityValues","DEFAULT_DENSITY","Medium","VALIGNMENTS","HdsAdvancedTableVerticalAlignmentValues","DEFAULT_VALIGN","Top","BORDER_WIDTH","DEFAULT_SCROLL_DIMENSIONS","bottom","height","left","right","width","getScrollIndicatorDimensions","scrollWrapper","theadElement","hasStickyFirstColumn","isStickyColumnPinned","horizontalScrollBarHeight","offsetHeight","clientHeight","verticalScrollBarWidth","offsetWidth","clientWidth","leftOffset","stickyColumnHeaders","querySelectorAll","forEach","el","elAsHTMLElement","length","getStickyColumnLeftOffset","hasRowSelection","selectableCell","querySelector","HdsAdvancedTable","Component","g","prototype","service","i","tracked","undefined","_selectableRows","_captionId","guidFor","_scrollHandler","_resizeObserver","_theadElement","_scrollWrapperElement","expandedRowIds","TrackedSet","_setUpScrollWrapper","modifier","element","updateHorizontalScrollIndicators","showScrollIndicatorRight","scrollWidth","_updateScrollIndicators","addEventListener","updateMeasurements","isSelectable","args","newTableHeight","newDimensions","setUpdatedMeasurements","isDestroying","isDestroyed","isSameBottom","scrollIndicatorDimensions","isSameHeight","isSameLeft","isSameRight","_tableHeight","stickyColumnOffset","window","requestAnimationFrame","ResizeObserver","entries","observe","scrollHeight","showScrollIndicatorBottom","removeEventListener","disconnect","_setUpThead","constructor","owner","model","sortBy","sortOrder","HdsAdvancedTableThSortOrderValues","Asc","_runAssertions","_initializeExpandedRows","hasPinnedFirstColumn","childrenKey","hasRowsWithChildren","some","record","children","Array","isArray","expandableRowIds","ids","collect","items","item","push","n","cached","isAllExpanded","every","id","has","sortCriteria","columns","currentColumn","find","column","key","sortingFunction","isEmpty","identityKey","sortedMessageText","assert","isStriped","density","join","includes","hasStickyHeader","maxHeight","valign","classNames","classes","theadClassNames","hasResizableColumns","isStickyHeaderPinned","traverse","add","hasReorderableColumns","sortableColumns","filter","isSortable","sortableColumnLabels","map","label","toString","_onColumnReorder","newOrder","insertedAt","reorderedMessageText","newPosition","translatedReorderedMessageText","hdsIntl","t","default","columnLabel","onColumnReorder","onSelectionChangeCallback","checkbox","selectionKey","onSelectionChange","selectionCheckboxElement","selectedRowsKeys","reduce","acc","row","checked","selectableRowsStates","isSelected","toggleExpandAll","allIds","clear","action","toggleRow","rowId","delete","onSelectionAllChange","_selectAllCheckbox","_isSelectAllCheckboxSelected","onSelectionRowChange","setSelectAllState","didInsertSelectAllCheckbox","willDestroySelectAllCheckbox","didInsertRowCheckbox","willDestroyRowCheckbox","index","findIndex","splice","selectableRowsCount","selectedRowsCount","indeterminate","setSortBy","columnKey","onSort","Desc","SCROLL_BUFFER","scrollLeft","showScrollIndicatorLeft","rightEdge","scrollTop","showScrollIndicatorTop","bottomEdge","_onPinFirstColumn","setComponentTemplate","TEMPLATE"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/hds/advanced-table/index.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2021, 2025\n * SPDX-License-Identifier: MPL-2.0\n */\n\nimport Component from '@glimmer/component';\nimport { action } from '@ember/object';\nimport { assert } from '@ember/debug';\nimport { cached, tracked } from '@glimmer/tracking';\nimport { guidFor } from '@ember/object/internals';\nimport { service } from '@ember/service';\nimport { modifier } from 'ember-modifier';\nimport { TrackedSet } from 'tracked-built-ins';\nimport { HdsAdvancedTableThSortOrderValues } from './types.ts';\n\nimport type Owner from '@ember/owner';\nimport type { WithBoundArgs } from '@glint/template';\nimport type { ComponentLike } from '@glint/template';\nimport {\n HdsAdvancedTableDensityValues,\n HdsAdvancedTableVerticalAlignmentValues,\n} from './types.ts';\nimport type {\n HdsAdvancedTableColumn,\n HdsAdvancedTableDensities,\n HdsAdvancedTableHorizontalAlignment,\n HdsAdvancedTableOnSelectionChangeSignature,\n HdsAdvancedTableSelectableRow,\n HdsAdvancedTableSortingFunction,\n HdsAdvancedTableThSortOrder,\n HdsAdvancedTableVerticalAlignment,\n HdsAdvancedTableModel,\n HdsAdvancedTableExpandState,\n HdsAdvancedTableColumnReorderCallback,\n} from './types.ts';\n\nimport type { HdsFilterBarSignature } from '../filter-bar/index.gts';\nimport type { HdsFormCheckboxBaseSignature } from '../form/checkbox/base.gts';\nimport type HdsAdvancedTableTd from './td.ts';\nimport type HdsAdvancedTableTh from './th.ts';\nimport type HdsAdvancedTableTr from './tr.ts';\nimport type HdsIntlService from '../../../services/hds-intl.ts';\n\nexport const DENSITIES: HdsAdvancedTableDensities[] = Object.values(\n HdsAdvancedTableDensityValues\n);\nexport const DEFAULT_DENSITY = HdsAdvancedTableDensityValues.Medium;\n\nexport const VALIGNMENTS: HdsAdvancedTableVerticalAlignment[] = Object.values(\n HdsAdvancedTableVerticalAlignmentValues\n);\nexport const DEFAULT_VALIGN = HdsAdvancedTableVerticalAlignmentValues.Top;\n\nexport const BORDER_WIDTH = 1;\n\nconst DEFAULT_SCROLL_DIMENSIONS = {\n bottom: '0px',\n height: '0px',\n left: '0px',\n right: '0px',\n width: '0px',\n};\n\nconst getScrollIndicatorDimensions = (\n scrollWrapper: HTMLDivElement,\n theadElement: HTMLDivElement,\n hasStickyFirstColumn: boolean,\n isStickyColumnPinned: boolean\n) => {\n const horizontalScrollBarHeight =\n scrollWrapper.offsetHeight - scrollWrapper.clientHeight;\n const verticalScrollBarWidth =\n scrollWrapper.offsetWidth - scrollWrapper.clientWidth;\n\n let leftOffset = 0;\n\n if (hasStickyFirstColumn) {\n const stickyColumnHeaders = theadElement.querySelectorAll(\n '.hds-advanced-table__th--is-sticky-column'\n );\n\n stickyColumnHeaders?.forEach((el) => {\n // querySelectorAll returns Elements, which don't have offsetWidth\n // need to use offsetWidth to account for the cell borders\n const elAsHTMLElement = el as HTMLElement;\n leftOffset += elAsHTMLElement.offsetWidth;\n });\n\n // offsets the left: -1px position if there are multiple sticky columns or the first column has a fixed pixel width\n if (stickyColumnHeaders.length > 1) {\n leftOffset -= 1;\n }\n\n // offsets the left: -1px position if the sticky column is already pinned when the scroll indicator is calculated\n if (isStickyColumnPinned) {\n leftOffset -= 1;\n }\n }\n\n return {\n bottom: `${horizontalScrollBarHeight}px`,\n height: `${scrollWrapper.offsetHeight - horizontalScrollBarHeight}px`,\n left: `${leftOffset}px`,\n right: `${verticalScrollBarWidth}px`,\n width: `${scrollWrapper.offsetWidth - verticalScrollBarWidth}px`,\n };\n};\n\nconst getStickyColumnLeftOffset = (\n theadElement: HTMLDivElement,\n hasRowSelection: boolean,\n isStickyColumnPinned: boolean\n) => {\n // if there is no select checkbox column, the sticky column is all the way to the left\n if (!hasRowSelection) return '0px';\n\n const selectableCell = theadElement.querySelector(\n '.hds-advanced-table__th--is-selectable'\n ) as HTMLElement;\n\n let leftOffset = selectableCell?.offsetWidth ?? 0;\n\n // if the sticky column is pinned when the offset is calculated, we need to account for the increased width of the border\n if (isStickyColumnPinned && leftOffset > 0) {\n leftOffset -= 2;\n }\n\n return `${leftOffset}px`;\n};\n\nexport interface HdsAdvancedTableSignature {\n Args: {\n align?: HdsAdvancedTableHorizontalAlignment;\n caption?: string;\n columns: HdsAdvancedTableColumn[];\n columnOrder?: string[];\n density?: HdsAdvancedTableDensities;\n identityKey?: string;\n isSelectable?: boolean;\n isStriped?: boolean;\n model: HdsAdvancedTableModel;\n reorderedMessageText?: string;\n selectionAriaLabelSuffix?: string;\n sortBy?: string;\n selectableColumnKey?: string;\n sortedMessageText?: string;\n sortOrder?: HdsAdvancedTableThSortOrder;\n valign?: HdsAdvancedTableVerticalAlignment;\n hasReorderableColumns?: boolean;\n hasResizableColumns?: boolean;\n hasStickyHeader?: boolean;\n hasStickyFirstColumn?: boolean;\n childrenKey?: string;\n maxHeight?: string;\n onColumnReorder?: HdsAdvancedTableColumnReorderCallback;\n onColumnResize?: (columnKey: string, newWidth?: string) => void;\n onSelectionChange?: (\n selection: HdsAdvancedTableOnSelectionChangeSignature\n ) => void;\n onSort?: (sortBy: string, sortOrder: HdsAdvancedTableThSortOrder) => void;\n };\n Blocks: {\n actions?: [\n {\n FilterBar?: ComponentLike<HdsFilterBarSignature>;\n },\n ];\n body?: [\n {\n Td?: WithBoundArgs<typeof HdsAdvancedTableTd, 'align'>;\n Tr?: WithBoundArgs<\n typeof HdsAdvancedTableTr,\n | 'selectionScope'\n | 'isLastRow'\n | 'isSelectable'\n | 'onSelectionChange'\n | 'didInsert'\n | 'willDestroy'\n | 'selectionAriaLabelSuffix'\n | 'hasStickyColumn'\n | 'isStickyColumnPinned'\n | 'isParentRow'\n | 'depth'\n | 'displayRow'\n >;\n Th?: WithBoundArgs<\n typeof HdsAdvancedTableTh,\n | 'depth'\n | 'isExpandable'\n | 'isExpanded'\n | 'newLabel'\n | 'parentId'\n | 'scope'\n | 'isStickyColumnPinned'\n | 'onClickToggle'\n >;\n data?: Record<string, unknown>;\n rowIndex?: number | string;\n isOpen?: HdsAdvancedTableExpandState;\n },\n ];\n emptyState?: [];\n };\n Element: HTMLDivElement;\n}\n\nexport default class HdsAdvancedTable extends Component<HdsAdvancedTableSignature> {\n @service declare readonly hdsIntl: HdsIntlService;\n\n @tracked\n private _selectAllCheckbox?: HdsFormCheckboxBaseSignature['Element'] =\n undefined;\n @tracked private _isSelectAllCheckboxSelected?: boolean = undefined;\n @tracked private _tableHeight = 0;\n private _selectableRows: HdsAdvancedTableSelectableRow[] = [];\n private _captionId = 'caption-' + guidFor(this);\n private _scrollHandler!: (event: Event) => void;\n private _resizeObserver!: ResizeObserver;\n private _theadElement!: HTMLDivElement;\n private _scrollWrapperElement!: HTMLDivElement;\n\n @tracked scrollIndicatorDimensions = DEFAULT_SCROLL_DIMENSIONS;\n @tracked isStickyColumnPinned = false;\n @tracked isStickyHeaderPinned = false;\n @tracked hasPinnedFirstColumn: boolean | undefined = undefined;\n @tracked reorderedMessageText = '';\n @tracked showScrollIndicatorLeft = false;\n @tracked showScrollIndicatorRight = false;\n @tracked showScrollIndicatorTop = false;\n @tracked showScrollIndicatorBottom = false;\n @tracked stickyColumnOffset = '0px';\n\n // sorting properties\n @tracked currentSortBy?: string;\n @tracked currentSortOrder: HdsAdvancedTableThSortOrder =\n HdsAdvancedTableThSortOrderValues.Asc;\n\n // row expansion properties\n expandedRowIds = new TrackedSet<string>();\n\n private _setUpScrollWrapper = modifier((element: HTMLDivElement) => {\n this._scrollWrapperElement = element;\n\n const updateHorizontalScrollIndicators = () => {\n this.showScrollIndicatorRight = element.clientWidth < element.scrollWidth;\n };\n\n this._scrollHandler = () => {\n this._updateScrollIndicators(element);\n };\n\n element.addEventListener('scroll', this._scrollHandler);\n\n const updateMeasurements = () => {\n const { isSelectable = false } = this.args;\n\n const newTableHeight = element.offsetHeight;\n\n const newDimensions = getScrollIndicatorDimensions(\n element,\n this._theadElement,\n this.hasStickyFirstColumn ? true : false,\n this.isStickyColumnPinned\n );\n\n const setUpdatedMeasurements = () => {\n if (this.isDestroying || this.isDestroyed) {\n return;\n }\n\n const isSameBottom =\n this.scrollIndicatorDimensions.bottom === newDimensions.bottom;\n const isSameHeight =\n this.scrollIndicatorDimensions.height === newDimensions.height;\n const isSameLeft =\n this.scrollIndicatorDimensions.left === newDimensions.left;\n const isSameRight =\n this.scrollIndicatorDimensions.right === newDimensions.right;\n\n if (\n isSameBottom &&\n isSameHeight &&\n isSameLeft &&\n isSameRight &&\n this._tableHeight === newTableHeight\n ) {\n return;\n }\n\n this._tableHeight = newTableHeight;\n this.scrollIndicatorDimensions = newDimensions;\n\n if (this.hasStickyFirstColumn) {\n this.stickyColumnOffset = getStickyColumnLeftOffset(\n this._theadElement,\n isSelectable,\n this.isStickyColumnPinned\n );\n }\n };\n\n window.requestAnimationFrame(setUpdatedMeasurements);\n };\n\n this._resizeObserver = new ResizeObserver((entries) => {\n entries.forEach(() => {\n updateMeasurements();\n updateHorizontalScrollIndicators();\n });\n });\n\n this._resizeObserver.observe(element);\n\n updateMeasurements();\n\n // on render check if should show right scroll indicator\n updateHorizontalScrollIndicators();\n\n // on render check if should show bottom scroll indicator\n if (element.clientHeight < element.scrollHeight) {\n this.showScrollIndicatorBottom = true;\n }\n\n return () => {\n element.removeEventListener('scroll', this._scrollHandler);\n this._resizeObserver.disconnect();\n };\n });\n\n private _setUpThead = modifier((element: HTMLDivElement) => {\n this._theadElement = element;\n });\n\n private _syncSortArgs = modifier(() => {\n const { sortBy, sortOrder } = this.args;\n\n if (sortBy !== undefined) {\n this.currentSortBy = sortBy;\n }\n\n if (sortOrder !== undefined) {\n this.currentSortOrder = sortOrder;\n }\n });\n\n constructor(owner: Owner, args: HdsAdvancedTableSignature['Args']) {\n super(owner, args);\n\n const { hasStickyFirstColumn, model } = args;\n\n this._runAssertions();\n\n this._initializeExpandedRows(model);\n\n if (hasStickyFirstColumn) {\n this.hasPinnedFirstColumn = true;\n }\n }\n\n get childrenKey(): string {\n return this.args.childrenKey ?? 'children';\n }\n\n get hasRowsWithChildren(): boolean {\n const { model } = this.args;\n\n return model.some((record) => {\n const children = record[this.childrenKey] as\n | Record<string, unknown>[]\n | undefined;\n\n return Array.isArray(children) && children.length > 0;\n });\n }\n\n @cached\n get expandableRowIds(): string[] {\n const { model } = this.args;\n\n const ids: string[] = [];\n\n const collect = (items: Record<string, unknown>[]) => {\n items.forEach((item) => {\n const children = item[this.childrenKey] as\n | Record<string, unknown>\n | undefined;\n\n if (Array.isArray(children) && children.length > 0) {\n ids.push(guidFor(item));\n\n collect(children);\n }\n });\n };\n\n collect(model);\n\n return ids;\n }\n\n get isAllExpanded(): boolean {\n if (this.expandableRowIds.length === 0) {\n return false;\n }\n\n return this.expandableRowIds.every((id) => this.expandedRowIds.has(id));\n }\n\n get sortCriteria(): string | HdsAdvancedTableSortingFunction<unknown> {\n const { columns } = this.args;\n\n const currentColumn = columns.find(\n (column) => column.key === this.currentSortBy\n );\n\n if (\n currentColumn?.sortingFunction &&\n typeof currentColumn.sortingFunction === 'function'\n ) {\n return currentColumn.sortingFunction;\n } else {\n return `${this.currentSortBy}:${this.currentSortOrder}`;\n }\n }\n\n get isEmpty(): boolean {\n const { model } = this.args;\n\n return model.length === 0;\n }\n\n get identityKey(): string | undefined {\n // we have to provide a way for the consumer to pass undefined because Ember tries to interpret undefined as missing an arg and therefore falls back to the default\n if (this.args.identityKey === 'none') {\n return undefined;\n } else {\n return this.args.identityKey ?? '@identity';\n }\n }\n\n get hasStickyFirstColumn(): boolean | undefined {\n // The user-controlled `hasPinnedFirstColumn` variable takes precedence over the model's `hasStickyFirstColumn` property.\n if (this.hasPinnedFirstColumn !== undefined) {\n return this.hasPinnedFirstColumn;\n } else if (this.args.hasStickyFirstColumn === false) {\n return this.args.hasStickyFirstColumn;\n }\n\n return undefined;\n }\n\n get sortedMessageText(): string {\n const { sortedMessageText } = this.args;\n\n if (sortedMessageText !== undefined) {\n return sortedMessageText;\n } else if (this.currentSortBy !== undefined) {\n // we should allow the user to define a custom value here (e.g., for i18n) - tracked with HDS-965\n return `Sorted by ${this.currentSortBy} ${this.currentSortOrder}ending`;\n } else {\n return '';\n }\n }\n\n get isSelectable(): boolean {\n const { isSelectable = false } = this.args;\n\n if (this.hasRowsWithChildren) {\n assert(\n '@isSelectable must not be true if there are nested rows.',\n !isSelectable\n );\n return isSelectable;\n }\n\n return isSelectable;\n }\n\n get isStriped(): boolean {\n const { isStriped = false } = this.args;\n\n if (this.hasRowsWithChildren) {\n assert(\n '@isStriped must not be true if there are nested rows.',\n !isStriped\n );\n return isStriped;\n }\n\n return isStriped;\n }\n\n get density(): HdsAdvancedTableDensities {\n const { density = DEFAULT_DENSITY } = this.args;\n\n assert(\n `@density for \"Hds::Table\" must be one of the following: ${DENSITIES.join(\n ', '\n )}; received: ${density}`,\n DENSITIES.includes(density)\n );\n\n return density;\n }\n\n get hasStickyHeader(): boolean {\n if (this.args.maxHeight && this.args.hasStickyHeader !== false) {\n return true;\n } else if (this.args.hasStickyHeader && !this.args.maxHeight) {\n assert('Must set @maxHeight to use @hasStickyHeader.', false);\n }\n\n return false;\n }\n\n get valign(): HdsAdvancedTableVerticalAlignment {\n const { valign = DEFAULT_VALIGN } = this.args;\n\n assert(\n `@valign for \"Hds::Table\" must be one of the following: ${VALIGNMENTS.join(\n ', '\n )}; received: ${valign}`,\n VALIGNMENTS.includes(valign)\n );\n\n return valign;\n }\n\n get classNames(): string {\n const classes = ['hds-advanced-table'];\n\n if (this.isStriped) {\n classes.push('hds-advanced-table--striped');\n }\n\n if (this.density) {\n classes.push(`hds-advanced-table--density-${this.density}`);\n }\n\n if (this.valign) {\n classes.push(`hds-advanced-table--valign-${this.valign}`);\n }\n\n if (this.hasRowsWithChildren) {\n classes.push(`hds-advanced-table--nested`);\n }\n\n return classes.join(' ');\n }\n\n get theadClassNames(): string {\n const { hasResizableColumns } = this.args;\n\n const classes = ['hds-advanced-table__thead'];\n\n if (this.hasStickyHeader) {\n classes.push('hds-advanced-table__thead--sticky');\n }\n\n if (this.isStickyHeaderPinned) {\n classes.push('hds-advanced-table__thead--is-pinned');\n }\n\n if (hasResizableColumns) {\n classes.push('hds-advanced-table__thead--has-resizable-columns');\n }\n\n return classes.join(' ');\n }\n\n private _initializeExpandedRows(\n model: HdsAdvancedTableSignature['Args']['model']\n ) {\n const traverse = (items: Record<string, unknown>[]) => {\n items.forEach((item) => {\n if (item['isOpen'] === true) {\n this.expandedRowIds.add(guidFor(item));\n }\n\n const children = item[this.childrenKey] as\n | Record<string, unknown>[]\n | undefined;\n\n if (Array.isArray(children) && children.length > 0) {\n traverse(children);\n }\n });\n };\n\n traverse(model);\n }\n\n private _runAssertions() {\n const {\n columns,\n hasReorderableColumns,\n hasResizableColumns,\n hasStickyFirstColumn,\n } = this.args;\n\n if (this.hasRowsWithChildren) {\n const sortableColumns = columns.filter((column) => column.isSortable);\n const sortableColumnLabels = sortableColumns.map(\n (column) => column.label\n );\n\n assert(\n 'Cannot have reorderable columns if there are nested rows.',\n !hasReorderableColumns\n );\n\n assert(\n `Cannot have sortable columns if there are nested rows. Sortable columns are ${sortableColumnLabels.toString()}`,\n sortableColumns.length === 0\n );\n\n assert(\n 'Cannot have a sticky first column if there are nested rows.',\n hasStickyFirstColumn === undefined\n );\n\n assert(\n `Cannot have resizable columns if there are nested rows.`,\n !hasResizableColumns\n );\n }\n\n if (hasReorderableColumns) {\n assert(\n 'Cannot have both reorderable columns and a sticky first column.',\n hasStickyFirstColumn === undefined\n );\n }\n }\n\n private _onColumnReorder: HdsAdvancedTableColumnReorderCallback = ({\n column,\n newOrder,\n insertedAt,\n }) => {\n // Guard against accessing hdsIntl service after component destruction\n if (this.isDestroying || this.isDestroyed) return;\n\n const { reorderedMessageText } = this.args;\n\n if (reorderedMessageText !== undefined) {\n this.reorderedMessageText = reorderedMessageText;\n } else {\n const newPosition = insertedAt + 1;\n const translatedReorderedMessageText = this.hdsIntl.t(\n 'hds.advanced-table.reordered-message',\n {\n default: `Moved ${column.label} column to position ${newPosition}`,\n columnLabel: column.label,\n newPosition,\n }\n );\n\n this.reorderedMessageText = translatedReorderedMessageText;\n }\n\n this.args.onColumnReorder?.({\n column,\n newOrder,\n insertedAt,\n });\n };\n\n onSelectionChangeCallback(\n checkbox?: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ): void {\n const { onSelectionChange } = this.args;\n\n if (typeof onSelectionChange !== 'function') return;\n\n onSelectionChange({\n selectionKey: selectionKey,\n selectionCheckboxElement: checkbox,\n selectedRowsKeys: this._selectableRows.reduce<string[]>((acc, row) => {\n if (row.checkbox.checked) {\n acc.push(row.selectionKey);\n }\n return acc;\n }, []),\n selectableRowsStates: this._selectableRows.reduce(\n (\n acc: { selectionKey: string; isSelected: boolean | undefined }[],\n row\n ) => {\n acc.push({\n selectionKey: row.selectionKey,\n isSelected: row.checkbox.checked,\n });\n return acc;\n },\n []\n ),\n });\n }\n\n @action\n toggleExpandAll() {\n const allIds = this.expandableRowIds;\n const isAllExpanded = allIds.every((id) => this.expandedRowIds.has(id));\n\n if (isAllExpanded) {\n this.expandedRowIds.clear();\n } else {\n // Add all IDs efficiently\n allIds.forEach((id) => this.expandedRowIds.add(id));\n }\n }\n\n @action\n toggleRow(rowId: string) {\n if (this.expandedRowIds.has(rowId)) {\n this.expandedRowIds.delete(rowId);\n } else {\n this.expandedRowIds.add(rowId);\n }\n }\n\n @action\n onSelectionAllChange(): void {\n this._selectableRows.forEach((row) => {\n row.checkbox.checked = this._selectAllCheckbox?.checked ?? false;\n });\n this._isSelectAllCheckboxSelected =\n this._selectAllCheckbox?.checked ?? false;\n this.onSelectionChangeCallback(this._selectAllCheckbox, 'all');\n }\n\n @action\n onSelectionRowChange(\n checkbox?: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ): void {\n this.setSelectAllState();\n this.onSelectionChangeCallback(checkbox, selectionKey);\n }\n\n @action\n didInsertSelectAllCheckbox(\n checkbox: HdsFormCheckboxBaseSignature['Element']\n ): void {\n this._selectAllCheckbox = checkbox;\n }\n\n @action\n willDestroySelectAllCheckbox(): void {\n this._selectAllCheckbox = undefined;\n }\n\n @action\n didInsertRowCheckbox(\n checkbox: HdsFormCheckboxBaseSignature['Element'],\n selectionKey?: string\n ): void {\n if (selectionKey) {\n this._selectableRows.push({ selectionKey, checkbox });\n }\n this.setSelectAllState();\n }\n\n @action\n willDestroyRowCheckbox(selectionKey?: string): void {\n if (selectionKey === undefined) {\n return;\n }\n\n const index = this._selectableRows.findIndex(\n (row) => row.selectionKey === selectionKey\n );\n\n if (index === -1) {\n return;\n }\n\n this._selectableRows.splice(index, 1);\n\n this.setSelectAllState();\n }\n\n @action\n setSelectAllState(): void {\n if (this._selectAllCheckbox) {\n const selectableRowsCount = this._selectableRows.length;\n const selectedRowsCount = this._selectableRows.filter(\n (row) => row.checkbox.checked\n ).length;\n\n this._selectAllCheckbox.checked =\n selectedRowsCount === selectableRowsCount;\n this._selectAllCheckbox.indeterminate =\n selectedRowsCount > 0 && selectedRowsCount < selectableRowsCount;\n this._isSelectAllCheckboxSelected = this._selectAllCheckbox.checked;\n }\n }\n\n @action\n setSortBy(columnKey: HdsAdvancedTableColumn['key']): void {\n const { onSort } = this.args;\n\n if (columnKey === undefined) {\n return;\n }\n\n let newSortOrder = HdsAdvancedTableThSortOrderValues.Asc;\n\n if (this.currentSortBy === columnKey) {\n newSortOrder =\n this.currentSortOrder === HdsAdvancedTableThSortOrderValues.Asc\n ? HdsAdvancedTableThSortOrderValues.Desc\n : HdsAdvancedTableThSortOrderValues.Asc;\n }\n\n this.currentSortBy = columnKey;\n this.currentSortOrder = newSortOrder;\n\n if (typeof onSort === 'function') {\n onSort(columnKey, newSortOrder);\n }\n }\n\n private _updateScrollIndicators(element: HTMLElement): void {\n // 6px as a buffer so the shadow doesn't appear over the border radius on the edge of the table\n const SCROLL_BUFFER = 6;\n\n // left scroll indicator and sticky column styles\n if (element.scrollLeft > SCROLL_BUFFER) {\n if (this.hasStickyFirstColumn) {\n this.isStickyColumnPinned = true;\n }\n if (!this.showScrollIndicatorLeft) {\n this.showScrollIndicatorLeft = true;\n }\n } else if (element.scrollLeft === 0 && this.showScrollIndicatorLeft) {\n this.isStickyColumnPinned = false;\n this.showScrollIndicatorLeft = false;\n }\n\n // the right edge is how far the user can scroll, which is the full width of the table - the visible section of the table (also subtract the buffer)\n const rightEdge = element.scrollWidth - element.clientWidth - SCROLL_BUFFER;\n\n // right scroll indicator\n if (element.scrollLeft < rightEdge) {\n this.showScrollIndicatorRight = true;\n } else {\n this.showScrollIndicatorRight = false;\n }\n\n // sticky header\n if (element.scrollTop > 0) {\n if (this.hasStickyHeader) {\n this.isStickyHeaderPinned = true;\n }\n this.showScrollIndicatorTop = true;\n } else {\n if (this.hasStickyHeader) {\n this.isStickyHeaderPinned = false;\n }\n this.showScrollIndicatorTop = false;\n }\n\n // the bottom edge is how far the user can scroll, which is the full height of the table - the visible section of the table (also subtract the buffer)\n const bottomEdge =\n element.scrollHeight - element.clientHeight - SCROLL_BUFFER;\n\n // bottom scroll indicator\n if (element.scrollTop < bottomEdge) {\n this.showScrollIndicatorBottom = true;\n } else {\n this.showScrollIndicatorBottom = false;\n }\n }\n\n private _onPinFirstColumn = (): void => {\n this.hasPinnedFirstColumn = this.hasPinnedFirstColumn ? false : true;\n // we need to retrigger the scroll indicator updates if the pinned state is changed when the table is already scrolled\n this._updateScrollIndicators(this._scrollWrapperElement);\n };\n}\n"],"names":["DENSITIES","Object","values","HdsAdvancedTableDensityValues","DEFAULT_DENSITY","Medium","VALIGNMENTS","HdsAdvancedTableVerticalAlignmentValues","DEFAULT_VALIGN","Top","BORDER_WIDTH","DEFAULT_SCROLL_DIMENSIONS","bottom","height","left","right","width","getScrollIndicatorDimensions","scrollWrapper","theadElement","hasStickyFirstColumn","isStickyColumnPinned","horizontalScrollBarHeight","offsetHeight","clientHeight","verticalScrollBarWidth","offsetWidth","clientWidth","leftOffset","stickyColumnHeaders","querySelectorAll","forEach","el","elAsHTMLElement","length","getStickyColumnLeftOffset","hasRowSelection","selectableCell","querySelector","HdsAdvancedTable","Component","g","prototype","service","i","tracked","undefined","_selectableRows","_captionId","guidFor","_scrollHandler","_resizeObserver","_theadElement","_scrollWrapperElement","HdsAdvancedTableThSortOrderValues","Asc","expandedRowIds","TrackedSet","_setUpScrollWrapper","modifier","element","updateHorizontalScrollIndicators","showScrollIndicatorRight","scrollWidth","_updateScrollIndicators","addEventListener","updateMeasurements","isSelectable","args","newTableHeight","newDimensions","setUpdatedMeasurements","isDestroying","isDestroyed","isSameBottom","scrollIndicatorDimensions","isSameHeight","isSameLeft","isSameRight","_tableHeight","stickyColumnOffset","window","requestAnimationFrame","ResizeObserver","entries","observe","scrollHeight","showScrollIndicatorBottom","removeEventListener","disconnect","_setUpThead","_syncSortArgs","sortBy","sortOrder","currentSortBy","currentSortOrder","constructor","owner","model","_runAssertions","_initializeExpandedRows","hasPinnedFirstColumn","childrenKey","hasRowsWithChildren","some","record","children","Array","isArray","expandableRowIds","ids","collect","items","item","push","n","cached","isAllExpanded","every","id","has","sortCriteria","columns","currentColumn","find","column","key","sortingFunction","isEmpty","identityKey","sortedMessageText","assert","isStriped","density","join","includes","hasStickyHeader","maxHeight","valign","classNames","classes","theadClassNames","hasResizableColumns","isStickyHeaderPinned","traverse","add","hasReorderableColumns","sortableColumns","filter","isSortable","sortableColumnLabels","map","label","toString","_onColumnReorder","newOrder","insertedAt","reorderedMessageText","newPosition","translatedReorderedMessageText","hdsIntl","t","default","columnLabel","onColumnReorder","onSelectionChangeCallback","checkbox","selectionKey","onSelectionChange","selectionCheckboxElement","selectedRowsKeys","reduce","acc","row","checked","selectableRowsStates","isSelected","toggleExpandAll","allIds","clear","action","toggleRow","rowId","delete","onSelectionAllChange","_selectAllCheckbox","_isSelectAllCheckboxSelected","onSelectionRowChange","setSelectAllState","didInsertSelectAllCheckbox","willDestroySelectAllCheckbox","didInsertRowCheckbox","willDestroyRowCheckbox","index","findIndex","splice","selectableRowsCount","selectedRowsCount","indeterminate","setSortBy","columnKey","onSort","newSortOrder","Desc","SCROLL_BUFFER","scrollLeft","showScrollIndicatorLeft","rightEdge","scrollTop","showScrollIndicatorTop","bottomEdge","_onPinFirstColumn","setComponentTemplate","TEMPLATE"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hashicorp/design-system-components",
|
|
3
|
-
"version": "6.1.1
|
|
3
|
+
"version": "6.1.1",
|
|
4
4
|
"description": "Helios Design System Components",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"hashicorp",
|
|
@@ -36,8 +36,8 @@
|
|
|
36
36
|
"@embroider/macros": "^1.18.1",
|
|
37
37
|
"@embroider/util": "^1.13.4",
|
|
38
38
|
"@floating-ui/dom": "^1.6.12",
|
|
39
|
-
"@hashicorp/design-system-tokens": "5.0.0
|
|
40
|
-
"@hashicorp/flight-icons": "5.0.0
|
|
39
|
+
"@hashicorp/design-system-tokens": "^5.0.0",
|
|
40
|
+
"@hashicorp/flight-icons": "^5.0.0",
|
|
41
41
|
"@lezer/highlight": "^1.2.1",
|
|
42
42
|
"@nullvoxpopuli/ember-composable-helpers": "^5.2.11",
|
|
43
43
|
"clipboard-polyfill": "^4.1.1",
|