@rivet-health/design-system 40.27.2 → 40.28.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.
Files changed (23) hide show
  1. package/esm2020/lib/table/simple-table/simple-table.component.mjs +3 -2
  2. package/esm2020/lib/table/table/state-helpers/column-helpers.mjs +255 -0
  3. package/esm2020/lib/table/table/state-helpers/display-helpers.mjs +48 -0
  4. package/esm2020/lib/table/table/state-helpers/order-helpers.mjs +143 -0
  5. package/esm2020/lib/table/table/state-helpers/pagination-helpers.mjs +174 -0
  6. package/esm2020/lib/table/table/state-helpers/result-helpers.mjs +77 -0
  7. package/esm2020/lib/table/table/state-helpers/search-helpers.mjs +28 -0
  8. package/esm2020/lib/table/table/state-helpers/selection-helpers.mjs +180 -0
  9. package/esm2020/lib/table/table/state.mjs +73 -631
  10. package/esm2020/lib/table/table/table-header-resize-handle/table-header-resize-handle.component.mjs +4 -4
  11. package/fesm2015/rivet-health-design-system.mjs +821 -513
  12. package/fesm2015/rivet-health-design-system.mjs.map +1 -1
  13. package/fesm2020/rivet-health-design-system.mjs +962 -633
  14. package/fesm2020/rivet-health-design-system.mjs.map +1 -1
  15. package/lib/table/table/state-helpers/column-helpers.d.ts +14 -0
  16. package/lib/table/table/state-helpers/display-helpers.d.ts +5 -0
  17. package/lib/table/table/state-helpers/order-helpers.d.ts +12 -0
  18. package/lib/table/table/state-helpers/pagination-helpers.d.ts +13 -0
  19. package/lib/table/table/state-helpers/result-helpers.d.ts +11 -0
  20. package/lib/table/table/state-helpers/search-helpers.d.ts +5 -0
  21. package/lib/table/table/state-helpers/selection-helpers.d.ts +13 -0
  22. package/lib/table/table/state.d.ts +48 -1
  23. package/package.json +1 -1
@@ -0,0 +1,14 @@
1
+ import { RivTable } from '../state';
2
+ export declare namespace TableColumnHelpers {
3
+ function getColumnAlignment(dataType: RivTable.ColumnDataType, isFirst: boolean): RivTable.ColumnAlignment;
4
+ function getAllColumns<R extends RivTable.Row, C extends RivTable.Column, F extends RivTable.Filters, G extends RivTable.Group>(state: RivTable.CoreState<R, C, F, G>, supportedColumns: Map<C, RivTable.ColumnMetadata>, columnNameMap: RivTable.ColumnNameMap<C>): RivTable.ColumnSettings<C>[];
5
+ function resolveColumns<R extends RivTable.Row, C extends RivTable.Column, F extends RivTable.Filters, G extends RivTable.Group>(state: RivTable.CoreState<R, C, F, G>, supportedColumns: Map<C, RivTable.ColumnMetadata>, columnNameMap: RivTable.ColumnNameMap<C>, allowSelection: boolean | undefined): RivTable.FullColumn<C>[];
6
+ function changeColumnPin<R extends RivTable.Row, C extends RivTable.Column, F extends RivTable.Filters, G extends RivTable.Group>(state: RivTable.CoreState<R, C, F, G>, columns: Map<C, RivTable.ColumnMetadata>, columnNameMap: RivTable.ColumnNameMap<C>, column: C, pinned: boolean): RivTable.CoreState<R, C, F, G>;
7
+ function changeColumnsFreezeState<R extends RivTable.Row, C extends RivTable.Column, F extends RivTable.Filters, G extends RivTable.Group>(state: RivTable.CoreState<R, C, F, G>, columns: Map<C, RivTable.ColumnMetadata>, columnNameMap: RivTable.ColumnNameMap<C>, index: number, freeze: boolean): RivTable.CoreState<R, C, F, G>;
8
+ function moveColumnTo<R extends RivTable.Row, C extends RivTable.Column, F extends RivTable.Filters, G extends RivTable.Group>(state: RivTable.CoreState<R, C, F, G>, columns: Map<C, RivTable.ColumnMetadata>, columnNameMap: RivTable.ColumnNameMap<C>, column: C, position: 'start' | 'end'): RivTable.CoreState<R, C, F, G>;
9
+ function changeColumnOrder<R extends RivTable.Row, C extends RivTable.Column, F extends RivTable.Filters, G extends RivTable.Group>(state: RivTable.CoreState<R, C, F, G>, columns: Map<C, RivTable.ColumnMetadata>, columnNameMap: RivTable.ColumnNameMap<C>, previousIndex: number, newIndex: number): RivTable.CoreState<R, C, F, G>;
10
+ function changeColumnEnabled<R extends RivTable.Row, C extends RivTable.Column, F extends RivTable.Filters, G extends RivTable.Group>(state: RivTable.CoreState<R, C, F, G>, columns: Map<C, RivTable.ColumnMetadata>, columnNameMap: RivTable.ColumnNameMap<C>, column: C, enabled: boolean): RivTable.CoreState<R, C, F, G>;
11
+ function enableAllColumns<R extends RivTable.Row, C extends RivTable.Column, F extends RivTable.Filters, G extends RivTable.Group>(state: RivTable.CoreState<R, C, F, G>, columns: Map<C, RivTable.ColumnMetadata>, columnNameMap: RivTable.ColumnNameMap<C>, enabled: boolean): RivTable.CoreState<R, C, F, G>;
12
+ function changeColumnWidth<R extends RivTable.Row, C extends RivTable.Column, F extends RivTable.Filters, G extends RivTable.Group>(state: RivTable.CoreState<R, C, F, G>, columns: Map<C, RivTable.ColumnMetadata>, columnNameMap: RivTable.ColumnNameMap<C>, column: C, preferredWidth: RivTable.ColumnSettings<C>['preferredWidth']): RivTable.CoreState<R, C, F, G>;
13
+ function resetToDefaultColumns<R extends RivTable.Row, C extends RivTable.Column, F extends RivTable.Filters, G extends RivTable.Group>(state: RivTable.CoreState<R, C, F, G>, columns: Map<C, RivTable.ColumnMetadata>, columnNameMap: RivTable.ColumnNameMap<C>, defaultColumnState: RivTable.ColumnSettings<C>[]): RivTable.CoreState<R, C, F, G>;
14
+ }
@@ -0,0 +1,5 @@
1
+ import { RivTable } from '../state';
2
+ export declare namespace TableDisplayHelpers {
3
+ function getZeroStateMessage<R extends RivTable.Row, C extends RivTable.Column, F extends RivTable.Filters, G extends RivTable.Group>(state: RivTable.CoreState<R, C, F, G>, entity: string): string | null;
4
+ function memoizedCellRowSpan<R extends RivTable.Row, C extends RivTable.Column, F extends RivTable.Filters, G extends RivTable.Group>(s: RivTable.CoreState<R, C, F, G>, fullColumns: RivTable.FullColumn<C>[], options?: RivTable.ManagerOptions<R, C, F, G>): Map<C, number[]> | null;
5
+ }
@@ -0,0 +1,12 @@
1
+ import { RivTable } from '../state';
2
+ export declare namespace TableOrderHelpers {
3
+ function orderEmptyLast<R>(rows: R[], key: keyof R, direction: RivTable.OrderDirection): R[];
4
+ function orderNestedRowsEmptyLast<R extends RivTable.Row>(rows: RivTable.NestedRow<R>[], key: keyof R, direction: RivTable.OrderDirection): RivTable.NestedRow<R>[];
5
+ function orderNestedRowsBySearchMatch<R extends RivTable.Row>(rows: RivTable.NestedRow<R>[], idToSearchIndexMap: Map<string | number, number>): RivTable.NestedRow<R>[];
6
+ function toggleColumnOrder<R extends RivTable.Row, C extends RivTable.Column, F extends RivTable.Filters, G extends RivTable.Group>(state: RivTable.CoreState<R, C, F, G>, column: C): RivTable.CoreState<R, C, F, G>;
7
+ function sortLowLevelNestedRows<R extends RivTable.Row>(allRows: RivTable.NestedRow<R>[], sortKey: keyof R, direction: RivTable.OrderDirection): RivTable.NestedRow<R>[];
8
+ function sortLowLevelNestedRowsWithHeaders<R extends RivTable.Row>(allHeaders: RivTable.NestedHeaderRow<R>[], sortKey: keyof R, direction: RivTable.OrderDirection): RivTable.NestedHeaderRow<R>[];
9
+ function createIdToSearchIndexMap<R extends RivTable.Row>(rowsMatchingSearch: R[]): Map<string | number, number>;
10
+ function sortNestedRowsBasedOnSearchMatches<R extends RivTable.Row>(allRows: RivTable.NestedRow<R>[], idToSearchIndexMap: Map<string | number, number>): RivTable.NestedRow<R>[];
11
+ function sortNestedRowsWithHeadersBasedOnSearchMatches<R extends RivTable.Row>(allHeaders: RivTable.NestedHeaderRow<R>[], idToSearchIndexMap: Map<string | number, number>): RivTable.NestedHeaderRow<R>[];
12
+ }
@@ -0,0 +1,13 @@
1
+ import { RivTable } from '../state';
2
+ export declare namespace TablePaginationHelpers {
3
+ function getPageCount<R extends RivTable.Row, C extends RivTable.Column, F extends RivTable.Filters, G extends RivTable.Group>(state: RivTable.CoreState<R, C, F, G>): number;
4
+ function getPreviousPage<R extends RivTable.Row, C extends RivTable.Column, F extends RivTable.Filters, G extends RivTable.Group>(state: RivTable.CoreState<R, C, F, G>): number | null;
5
+ function getPages<R extends RivTable.Row, C extends RivTable.Column, F extends RivTable.Filters, G extends RivTable.Group>(state: RivTable.CoreState<R, C, F, G>): number[];
6
+ function getNextPage<R extends RivTable.Row, C extends RivTable.Column, F extends RivTable.Filters, G extends RivTable.Group>(state: RivTable.CoreState<R, C, F, G>): number | null;
7
+ function getShowPaginationControls<R extends RivTable.Row, C extends RivTable.Column, F extends RivTable.Filters, G extends RivTable.Group>(state: RivTable.CoreState<R, C, F, G>): boolean;
8
+ function getPageRowStart<R extends RivTable.Row, C extends RivTable.Column, F extends RivTable.Filters, G extends RivTable.Group>(state: RivTable.CoreState<R, C, F, G>): number;
9
+ function getPageRowEnd<R extends RivTable.Row, C extends RivTable.Column, F extends RivTable.Filters, G extends RivTable.Group>(state: RivTable.CoreState<R, C, F, G>): number;
10
+ function isPageOutOfBounds<R extends RivTable.Row, C extends RivTable.Column, F extends RivTable.Filters, G extends RivTable.Group>(state: RivTable.CoreState<R, C, F, G>, result: RivTable.Result<R> | RivTable.GroupResult<R, G>): boolean;
11
+ function paginateNestedRows<R extends RivTable.Row>(allNestedRows: RivTable.NestedRow<R>[], pageNumber: number, pageSize: number): RivTable.NestedRow<R>[];
12
+ function paginateNestedHeaderRows<R extends RivTable.Row>(allHeaders: RivTable.NestedHeaderRow<R>[], pageNumber: number, pageSize: number): RivTable.NestedHeaderRow<R>[];
13
+ }
@@ -0,0 +1,11 @@
1
+ import { RivTable } from '../state';
2
+ export declare namespace TableResultHelpers {
3
+ function isRegularResult<R extends RivTable.Row, G extends RivTable.Group>(result: RivTable.Result<R> | RivTable.GroupResult<R, G> | RivTable.NestedResult<R> | RivTable.NestedWithHeaderResult<R>): result is RivTable.Result<R>;
4
+ function isGroupResult<R extends RivTable.Row, G extends RivTable.Group>(result: RivTable.Result<R> | RivTable.GroupResult<R, G> | RivTable.NestedResult<R> | RivTable.NestedWithHeaderResult<R>): result is RivTable.GroupResult<R, G>;
5
+ function isNestedResult<R extends RivTable.Row, G extends RivTable.Group>(result: RivTable.Result<R> | RivTable.GroupResult<R, G> | RivTable.NestedResult<R> | RivTable.NestedWithHeaderResult<R>): result is RivTable.NestedResult<R>;
6
+ function isNestedWithHeaderResult<R extends RivTable.Row, G extends RivTable.Group>(result: RivTable.Result<R> | RivTable.GroupResult<R, G> | RivTable.NestedResult<R> | RivTable.NestedWithHeaderResult<R>): result is RivTable.NestedWithHeaderResult<R>;
7
+ function getAllRowsFromResult<R extends RivTable.Row, G extends RivTable.Group>(result: RivTable.Result<R> | RivTable.GroupResult<R, G> | RivTable.NestedResult<R> | RivTable.NestedWithHeaderResult<R>): R[];
8
+ function getAllRowsFromNestedRows<R extends RivTable.Row>(nestedRows: RivTable.NestedRow<R>[]): R[];
9
+ function getAllRowsFromNestedHeaders<R extends RivTable.Row>(nestedHeaders: RivTable.NestedHeaderRow<R>[]): R[];
10
+ function getCsvFilename<R extends RivTable.Row, C extends RivTable.Column, F extends RivTable.Filters, G extends RivTable.Group>(pluralEntityName: string, options?: RivTable.ManagerOptions<R, C, F, G>): string;
11
+ }
@@ -0,0 +1,5 @@
1
+ import { RivTable } from '../state';
2
+ export declare namespace TableSearchHelpers {
3
+ function getSearchColumnsSelectedState<R extends RivTable.Row, C extends RivTable.Column, F extends RivTable.Filters, G extends RivTable.Group>(state: RivTable.CoreState<R, C, F, G>, expectedValue: 'all' | 'none'): boolean;
4
+ function toggleAllSearchColumns<R extends RivTable.Row, C extends RivTable.Column, F extends RivTable.Filters, G extends RivTable.Group>(state: RivTable.CoreState<R, C, F, G>): RivTable.CoreState<R, C, F, G>;
5
+ }
@@ -0,0 +1,13 @@
1
+ import { RivTable } from '../state';
2
+ export declare namespace TableSelectionHelpers {
3
+ function isRowSelected<R extends RivTable.Row, C extends RivTable.Column, F extends RivTable.Filters, G extends RivTable.Group>(state: RivTable.CoreState<R, C, F, G>, id: R['id']): boolean;
4
+ function isGroupSelected<R extends RivTable.Row, C extends RivTable.Column, F extends RivTable.Filters, G extends RivTable.Group>(state: RivTable.CoreState<R, C, F, G>, group: RivTable.SubGroupResult<R, G>): RivTable.MultiSelectionState;
5
+ function isAllSelected<R extends RivTable.Row, C extends RivTable.Column, F extends RivTable.Filters, G extends RivTable.Group>(state: RivTable.CoreState<R, C, F, G>): RivTable.MultiSelectionState;
6
+ function isCurrentPageSelected<R extends RivTable.Row, C extends RivTable.Column, F extends RivTable.Filters, G extends RivTable.Group>(state: RivTable.CoreState<R, C, F, G>): RivTable.MultiSelectionState;
7
+ function selectedCount<R extends RivTable.Row, C extends RivTable.Column, F extends RivTable.Filters, G extends RivTable.Group>(state: RivTable.CoreState<R, C, F, G>): number;
8
+ function setRowSelected<R extends RivTable.Row, C extends RivTable.Column, F extends RivTable.Filters, G extends RivTable.Group>(state: RivTable.CoreState<R, C, F, G>, id: R['id'], selected: boolean, contiguous: boolean): RivTable.CoreState<R, C, F, G>;
9
+ function toggleGroupSelected<R extends RivTable.Row, C extends RivTable.Column, F extends RivTable.Filters, G extends RivTable.Group>(state: RivTable.CoreState<R, C, F, G>, group: RivTable.RowGroup<R, G>): RivTable.CoreState<R, C, F, G>;
10
+ function togglePageSelected<R extends RivTable.Row, C extends RivTable.Column, F extends RivTable.Filters, G extends RivTable.Group>(state: RivTable.CoreState<R, C, F, G>): RivTable.CoreState<R, C, F, G>;
11
+ function toggleAllSelected<R extends RivTable.Row, C extends RivTable.Column, F extends RivTable.Filters, G extends RivTable.Group>(state: RivTable.CoreState<R, C, F, G>): RivTable.CoreState<R, C, F, G>;
12
+ function clearSelection<R extends RivTable.Row, C extends RivTable.Column, F extends RivTable.Filters, G extends RivTable.Group>(state: RivTable.CoreState<R, C, F, G>): RivTable.CoreState<R, C, F, G>;
13
+ }
@@ -147,6 +147,42 @@ export declare namespace RivTable {
147
147
  */
148
148
  totalMatchingRowCount: number;
149
149
  };
150
+ type NestedRow<R extends Row> = {
151
+ subRows?: NestedRow<R>[];
152
+ data: R;
153
+ };
154
+ type NestedResult<R extends Row> = {
155
+ /**
156
+ * The full row data for the current page, after filters, search query, and
157
+ * row ordering are applied, nested into "rows with subrows"
158
+ */
159
+ currentPageNestedRows: NestedRow<R>[];
160
+ /**
161
+ * The total number of rows (regardless of pagination) that match the
162
+ * filters and search query.
163
+ *
164
+ * Only counts rows at the bottom level of nesting.
165
+ */
166
+ totalMatchingRowCount: number;
167
+ };
168
+ type NestedHeaderRow<R extends Row> = {
169
+ subRows: NestedRow<R>[];
170
+ headerText: string;
171
+ };
172
+ type NestedWithHeaderResult<R extends Row> = {
173
+ /**
174
+ * The full row data for the current page, after filters, search query, and
175
+ * row ordering are applied, nested into "headers with subrows".
176
+ */
177
+ currentPageNestedHeaders: NestedHeaderRow<R>[];
178
+ /**
179
+ * The total number of rows (regardless of pagination) that match the
180
+ * filters and search query.
181
+ *
182
+ * Only counts rows at the bottom level of nesting.
183
+ */
184
+ totalMatchingRowCount: number;
185
+ };
150
186
  type Source<R extends Row, C extends Column, F extends Filters, G extends Group = {
151
187
  key: '';
152
188
  }> = (query: Query<C, F>, mostRecentAction: Action<R, C, F, G>) => Promise<Result<R> | GroupResult<R, G>>;
@@ -278,6 +314,18 @@ export declare namespace RivTable {
278
314
  totalMatchingRowCount: number;
279
315
  groupData: G;
280
316
  };
317
+ type FullNestedRow<R extends Row> = {
318
+ id: string | number;
319
+ subRows?: FullNestedRow<R>[];
320
+ data: R;
321
+ rowLink: RowLink | null;
322
+ selected: boolean;
323
+ };
324
+ type FullNestedWithHeaderRow<R extends Row> = {
325
+ id: string | number;
326
+ subRows: FullNestedRow<R>[];
327
+ headerText: string;
328
+ };
281
329
  type FullColumn<C extends Column> = ColumnSettings<C> & ColumnMetadata & {
282
330
  width: number;
283
331
  left: number | null;
@@ -419,5 +467,4 @@ export declare namespace RivTable {
419
467
  };
420
468
  };
421
469
  function createInMemoryManager<R extends Row, C extends Column, F extends Filters>(fetchDataset: () => Promise<R[]> | R[], columns: Map<C, InMemoryColumnMetadata<R>>, pluralEntityName: string, options?: InMemoryManagerOptions<R, C, F>): Manager<R, C, F>;
422
- function getColumnAlignment(dataType: ColumnDataType, isFirst: boolean): ColumnAlignment;
423
470
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rivet-health/design-system",
3
- "version": "40.27.2",
3
+ "version": "40.28.0",
4
4
  "peerDependencies": {
5
5
  "@angular/animations": ">=14.0.0",
6
6
  "@angular/common": ">=14.0.0",