@ds-mo/ui 14.7.0 → 14.9.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 (112) hide show
  1. package/dist/.package-ready.json +1 -1
  2. package/dist/agent-patterns.json +1 -1
  3. package/dist/agent.json +273 -7
  4. package/dist/angular/ds-select.d.ts +7 -1
  5. package/dist/angular/ds-select.js +5 -2
  6. package/dist/angular/ds-table-saved-views.d.ts +49 -0
  7. package/dist/angular/ds-table-saved-views.js +57 -0
  8. package/dist/angular/ds-table-toolbar.d.ts +12 -0
  9. package/dist/angular/ds-table-toolbar.js +38 -0
  10. package/dist/angular/ds-table.d.ts +4 -1
  11. package/dist/angular/ds-table.js +7 -4
  12. package/dist/angular/index.d.ts +1 -1
  13. package/dist/angular/index.js +2 -0
  14. package/dist/angular/proxies.d.ts +2 -0
  15. package/dist/angular/proxies.js +2 -0
  16. package/dist/components/ds-bar-nav.js +1 -1
  17. package/dist/components/ds-bar-title.js +1 -1
  18. package/dist/components/ds-bar-workflow.js +1 -1
  19. package/dist/components/ds-bar-workflow.js.map +1 -1
  20. package/dist/components/ds-conversation-list-item.js +1 -1
  21. package/dist/components/ds-conversation-list-item.js.map +1 -1
  22. package/dist/components/ds-field.js +1 -1
  23. package/dist/components/ds-field.js.map +1 -1
  24. package/dist/components/ds-filter-menu.js +1 -1
  25. package/dist/components/ds-filter-menu.js.map +1 -1
  26. package/dist/components/ds-input.js +1 -1
  27. package/dist/components/ds-input.js.map +1 -1
  28. package/dist/components/ds-menu.js +1 -1
  29. package/dist/components/ds-mobile-header.js +1 -1
  30. package/dist/components/ds-mobile-section-switcher.js +1 -1
  31. package/dist/components/ds-modal.js +1 -1
  32. package/dist/components/ds-modal.js.map +1 -1
  33. package/dist/components/ds-pagination.js +1 -1
  34. package/dist/components/ds-panel-tool-search.js +1 -1
  35. package/dist/components/ds-select.js +1 -1
  36. package/dist/components/ds-shell-app.js +1 -1
  37. package/dist/components/ds-shell-tools.js +1 -1
  38. package/dist/components/ds-table-saved-views.d.ts +11 -0
  39. package/dist/components/ds-table-saved-views.js +2 -0
  40. package/dist/components/ds-table-saved-views.js.map +1 -0
  41. package/dist/components/ds-table-toolbar.d.ts +11 -0
  42. package/dist/components/ds-table-toolbar.js +2 -0
  43. package/dist/components/ds-table-toolbar.js.map +1 -0
  44. package/dist/components/ds-table.js +1 -1
  45. package/dist/components/ds-table.js.map +1 -1
  46. package/dist/components/ds-toast.js +1 -1
  47. package/dist/components/ds-typing-indicator.js +1 -1
  48. package/dist/components/{p-B5um-ps9.js → p-BCg_6ErW.js} +2 -2
  49. package/dist/components/p-BFSnIEsC.js +2 -0
  50. package/dist/components/p-BFSnIEsC.js.map +1 -0
  51. package/dist/components/p-BPnmiiIS.js +2 -0
  52. package/dist/components/p-BPnmiiIS.js.map +1 -0
  53. package/dist/components/p-BVmKcpyP.js +2 -0
  54. package/dist/components/p-BVmKcpyP.js.map +1 -0
  55. package/dist/components/p-BiTwXttN.js +2 -0
  56. package/dist/components/{p-BKWgofxz.js.map → p-BiTwXttN.js.map} +1 -1
  57. package/dist/components/{p-DQUxg6Si.js → p-BmWWU20X.js} +2 -2
  58. package/dist/components/{p-BAebDW3a.js → p-BuGGwWmt.js} +2 -2
  59. package/dist/components/{p-BmqfTAXM.js → p-Bv1CFHgD.js} +2 -2
  60. package/dist/components/{p--VFa9x3k.js → p-C-Zgq_Fx.js} +2 -2
  61. package/dist/components/p-C1q-tq3U.js +2 -0
  62. package/dist/components/p-C1q-tq3U.js.map +1 -0
  63. package/dist/components/p-C6DNhlES.js +2 -0
  64. package/dist/components/p-C6DNhlES.js.map +1 -0
  65. package/dist/components/{p-DOC4RaAy.js → p-CqbMoVDQ.js} +2 -2
  66. package/dist/components/{p-BAgjMUt3.js → p-Cxr0IQjC.js} +1 -1
  67. package/dist/components/p-Cxr0IQjC.js.map +1 -0
  68. package/dist/docs/components.json +844 -64
  69. package/dist/lib/utils/choice-list.d.ts +8 -1
  70. package/dist/mcp-data/registry/empty-state.json +1 -0
  71. package/dist/mcp-data/registry/registry.json +278 -6
  72. package/dist/mcp-data/registry/select.json +20 -3
  73. package/dist/mcp-data/registry/table-saved-views.json +383 -0
  74. package/dist/mcp-data/registry/table-toolbar.json +146 -0
  75. package/dist/mcp-data/registry/table.json +113 -8
  76. package/dist/react/components.d.ts +2 -0
  77. package/dist/react/components.js +2 -0
  78. package/dist/react/ds-select.d.ts +2 -1
  79. package/dist/react/ds-select.js +2 -1
  80. package/dist/react/ds-table-saved-views.d.ts +17 -0
  81. package/dist/react/ds-table-saved-views.js +19 -0
  82. package/dist/react/ds-table-toolbar.d.ts +9 -0
  83. package/dist/react/ds-table-toolbar.js +12 -0
  84. package/dist/react/ds-table.d.ts +2 -1
  85. package/dist/react/ds-table.js +2 -1
  86. package/dist/styles/table.css +49 -1
  87. package/dist/types/components/Select/Select.d.ts +7 -0
  88. package/dist/types/components/Select/index.d.ts +1 -1
  89. package/dist/types/components/Table/Table.d.ts +19 -1
  90. package/dist/types/components/Table/index.d.ts +1 -1
  91. package/dist/types/components/Table/table-data-mode-switcher.d.ts +9 -0
  92. package/dist/types/components/Table/table-types.d.ts +7 -0
  93. package/dist/types/components/TableSavedViews/TableSavedViews.d.ts +61 -0
  94. package/dist/types/components/TableSavedViews/index.d.ts +2 -0
  95. package/dist/types/components/TableSavedViews/table-saved-views-types.d.ts +24 -0
  96. package/dist/types/components/TableToolbar/TableToolbar.d.ts +6 -0
  97. package/dist/types/components.d.ts +232 -4
  98. package/dist/types/utils/choice-list-parts.d.ts +1 -0
  99. package/dist/types/utils/choice-list.d.ts +8 -1
  100. package/package.json +1 -1
  101. package/dist/components/p-BAgjMUt3.js.map +0 -1
  102. package/dist/components/p-BKWgofxz.js +0 -2
  103. package/dist/components/p-mLRtp5A4.js +0 -2
  104. package/dist/components/p-mLRtp5A4.js.map +0 -1
  105. package/dist/components/p-tR8INOIN.js +0 -2
  106. package/dist/components/p-tR8INOIN.js.map +0 -1
  107. /package/dist/components/{p-B5um-ps9.js.map → p-BCg_6ErW.js.map} +0 -0
  108. /package/dist/components/{p-DQUxg6Si.js.map → p-BmWWU20X.js.map} +0 -0
  109. /package/dist/components/{p-BAebDW3a.js.map → p-BuGGwWmt.js.map} +0 -0
  110. /package/dist/components/{p-BmqfTAXM.js.map → p-Bv1CFHgD.js.map} +0 -0
  111. /package/dist/components/{p--VFa9x3k.js.map → p-C-Zgq_Fx.js.map} +0 -0
  112. /package/dist/components/{p-DOC4RaAy.js.map → p-CqbMoVDQ.js.map} +0 -0
@@ -65,6 +65,8 @@ export { DsSlider } from "./ds-slider.js";
65
65
  export { DsSwatchPicker } from "./ds-swatch-picker.js";
66
66
  export { DsSwitch } from "./ds-switch.js";
67
67
  export { DsTabGroup } from "./ds-tab-group.js";
68
+ export { DsTableSavedViews } from "./ds-table-saved-views.js";
69
+ export { DsTableToolbar } from "./ds-table-toolbar.js";
68
70
  export { DsTable } from "./ds-table.js";
69
71
  export { DsTag } from "./ds-tag.js";
70
72
  export { DsText } from "./ds-text.js";
@@ -66,6 +66,8 @@ export { DsSlider } from "./ds-slider.js";
66
66
  export { DsSwatchPicker } from "./ds-swatch-picker.js";
67
67
  export { DsSwitch } from "./ds-switch.js";
68
68
  export { DsTabGroup } from "./ds-tab-group.js";
69
+ export { DsTableSavedViews } from "./ds-table-saved-views.js";
70
+ export { DsTableToolbar } from "./ds-table-toolbar.js";
69
71
  export { DsTable } from "./ds-table.js";
70
72
  export { DsTag } from "./ds-tag.js";
71
73
  export { DsText } from "./ds-text.js";
@@ -3,7 +3,7 @@
3
3
  * Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.
4
4
  */
5
5
  import type { EventName, StencilReactComponent } from './react-runtime.js';
6
- import { type DsSelectCustomEvent, type SelectOptionActionDetail, type SelectValue } from "@ds-mo/ui";
6
+ import { type DsSelectCustomEvent, type SelectOptionActionDetail, type SelectOptionSubtextActionDetail, type SelectValue } from "@ds-mo/ui";
7
7
  import type { Components } from "@ds-mo/ui/dist/components";
8
8
  import { DsSelect as DsSelectElement } from "@ds-mo/ui/dist/components/ds-select.js";
9
9
  export type DsSelectEvents = {
@@ -12,5 +12,6 @@ export type DsSelectEvents = {
12
12
  onDsOpenChange: EventName<DsSelectCustomEvent<boolean>>;
13
13
  onDsFooterAction: EventName<DsSelectCustomEvent<void>>;
14
14
  onDsOptionAction: EventName<DsSelectCustomEvent<SelectOptionActionDetail>>;
15
+ onDsOptionSubtextAction: EventName<DsSelectCustomEvent<SelectOptionSubtextActionDetail>>;
15
16
  };
16
17
  export declare const DsSelect: StencilReactComponent<DsSelectElement, DsSelectEvents, Components.DsSelect>;
@@ -12,7 +12,8 @@ export const DsSelect = /*@__PURE__*/ createComponent({
12
12
  onDsClear: 'dsClear',
13
13
  onDsOpenChange: 'dsOpenChange',
14
14
  onDsFooterAction: 'dsFooterAction',
15
- onDsOptionAction: 'dsOptionAction'
15
+ onDsOptionAction: 'dsOptionAction',
16
+ onDsOptionSubtextAction: 'dsOptionSubtextAction'
16
17
  },
17
18
  defineCustomElement: defineDsSelect
18
19
  });
@@ -0,0 +1,17 @@
1
+ /**
2
+ * This file was automatically generated by the Stencil React Output Target.
3
+ * Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.
4
+ */
5
+ import type { EventName, StencilReactComponent } from './react-runtime.js';
6
+ import { type DsTableSavedViewsCustomEvent, type TableSavedViewChangeDetail, type TableSavedViewCreateDetail, type TableSavedViewDiscardDetail, type TableSavedViewRemoveDetail, type TableSavedViewRenameDetail, type TableSavedViewSaveDetail } from "@ds-mo/ui";
7
+ import type { Components } from "@ds-mo/ui/dist/components";
8
+ import { DsTableSavedViews as DsTableSavedViewsElement } from "@ds-mo/ui/dist/components/ds-table-saved-views.js";
9
+ export type DsTableSavedViewsEvents = {
10
+ onDsViewChange: EventName<DsTableSavedViewsCustomEvent<TableSavedViewChangeDetail>>;
11
+ onDsViewCreate: EventName<DsTableSavedViewsCustomEvent<TableSavedViewCreateDetail>>;
12
+ onDsViewRename: EventName<DsTableSavedViewsCustomEvent<TableSavedViewRenameDetail>>;
13
+ onDsViewRemove: EventName<DsTableSavedViewsCustomEvent<TableSavedViewRemoveDetail>>;
14
+ onDsViewSave: EventName<DsTableSavedViewsCustomEvent<TableSavedViewSaveDetail>>;
15
+ onDsViewDiscard: EventName<DsTableSavedViewsCustomEvent<TableSavedViewDiscardDetail>>;
16
+ };
17
+ export declare const DsTableSavedViews: StencilReactComponent<DsTableSavedViewsElement, DsTableSavedViewsEvents, Components.DsTableSavedViews>;
@@ -0,0 +1,19 @@
1
+ 'use client';
2
+ import { createComponent } from './react-runtime.js';
3
+ import React from 'react';
4
+ import { DsTableSavedViews as DsTableSavedViewsElement, defineCustomElement as defineDsTableSavedViews } from "@ds-mo/ui/dist/components/ds-table-saved-views.js";
5
+ export const DsTableSavedViews = /*@__PURE__*/ createComponent({
6
+ tagName: 'ds-table-saved-views',
7
+ elementClass: DsTableSavedViewsElement,
8
+ // @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
9
+ react: React,
10
+ events: {
11
+ onDsViewChange: 'dsViewChange',
12
+ onDsViewCreate: 'dsViewCreate',
13
+ onDsViewRename: 'dsViewRename',
14
+ onDsViewRemove: 'dsViewRemove',
15
+ onDsViewSave: 'dsViewSave',
16
+ onDsViewDiscard: 'dsViewDiscard'
17
+ },
18
+ defineCustomElement: defineDsTableSavedViews
19
+ });
@@ -0,0 +1,9 @@
1
+ /**
2
+ * This file was automatically generated by the Stencil React Output Target.
3
+ * Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.
4
+ */
5
+ import type { StencilReactComponent } from './react-runtime.js';
6
+ import type { Components } from "@ds-mo/ui/dist/components";
7
+ import { DsTableToolbar as DsTableToolbarElement } from "@ds-mo/ui/dist/components/ds-table-toolbar.js";
8
+ export type DsTableToolbarEvents = NonNullable<unknown>;
9
+ export declare const DsTableToolbar: StencilReactComponent<DsTableToolbarElement, DsTableToolbarEvents, Components.DsTableToolbar>;
@@ -0,0 +1,12 @@
1
+ 'use client';
2
+ import { createComponent } from './react-runtime.js';
3
+ import React from 'react';
4
+ import { DsTableToolbar as DsTableToolbarElement, defineCustomElement as defineDsTableToolbar } from "@ds-mo/ui/dist/components/ds-table-toolbar.js";
5
+ export const DsTableToolbar = /*@__PURE__*/ createComponent({
6
+ tagName: 'ds-table-toolbar',
7
+ elementClass: DsTableToolbarElement,
8
+ // @ts-ignore - ignore potential React type mismatches between the Stencil Output Target and your project.
9
+ react: React,
10
+ events: {},
11
+ defineCustomElement: defineDsTableToolbar
12
+ });
@@ -3,7 +3,7 @@
3
3
  * Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.
4
4
  */
5
5
  import type { EventName, StencilReactComponent } from './react-runtime.js';
6
- import { type DsTableCustomEvent, type PaginationChangeDetail, type TableCellActionDetail, type TableColumnsConfigChangeDetail, type TableGroupCollapseChangeDetail, type TableGroupLoadMoreDetail, type TableLoadMoreDetail, type TableRowActivateDetail, type TableSelectionChangeDetail, type TableSortChangeDetail } from "@ds-mo/ui";
6
+ import { type DsTableCustomEvent, type PaginationChangeDetail, type TableCellActionDetail, type TableColumnsConfigChangeDetail, type TableDataModeChangeDetail, type TableGroupCollapseChangeDetail, type TableGroupLoadMoreDetail, type TableLoadMoreDetail, type TableRowActivateDetail, type TableSelectionChangeDetail, type TableSortChangeDetail } from "@ds-mo/ui";
7
7
  import type { Components } from "@ds-mo/ui/dist/components";
8
8
  import { DsTable as DsTableElement } from "@ds-mo/ui/dist/components/ds-table.js";
9
9
  export type DsTableEvents = {
@@ -16,5 +16,6 @@ export type DsTableEvents = {
16
16
  onDsCellAction: EventName<DsTableCustomEvent<TableCellActionDetail>>;
17
17
  onDsRowActivate: EventName<DsTableCustomEvent<TableRowActivateDetail>>;
18
18
  onDsColumnsConfigChange: EventName<DsTableCustomEvent<TableColumnsConfigChangeDetail>>;
19
+ onDsDataModeChange: EventName<DsTableCustomEvent<TableDataModeChangeDetail>>;
19
20
  };
20
21
  export declare const DsTable: StencilReactComponent<DsTableElement, DsTableEvents, Components.DsTable, 'caption'>;
@@ -16,7 +16,8 @@ export const DsTable = /*@__PURE__*/ createComponent({
16
16
  onDsPaginationChange: 'dsPaginationChange',
17
17
  onDsCellAction: 'dsCellAction',
18
18
  onDsRowActivate: 'dsRowActivate',
19
- onDsColumnsConfigChange: 'dsColumnsConfigChange'
19
+ onDsColumnsConfigChange: 'dsColumnsConfigChange',
20
+ onDsDataModeChange: 'dsDataModeChange'
20
21
  },
21
22
  defineCustomElement: defineDsTable
22
23
  });
@@ -25,6 +25,18 @@
25
25
  + var(--dimension-space-025)
26
26
  + var(--dimension-size-250)
27
27
  );
28
+ --_table-image-column-inline-size: calc(
29
+ ((var(--_table-image-block-size) * 16) / 9)
30
+ + (var(--_table-cell-padding-inline) * 2)
31
+ );
32
+ --_table-image-column-inline-size-multi: calc(
33
+ ((var(--_table-image-block-size-multi) * 16) / 9)
34
+ + (var(--_table-cell-padding-inline) * 2)
35
+ );
36
+ --_table-image-column-inline-size-triple: calc(
37
+ ((var(--_table-image-block-size-triple) * 16) / 9)
38
+ + (var(--_table-cell-padding-inline) * 2)
39
+ );
28
40
  /*
29
41
  * Wrapping primary on a 1-track cell occupies later tracks instead of a
30
42
  * private leading scale. Keep body-medium size; add the 2px stack gap to
@@ -687,6 +699,7 @@
687
699
  }
688
700
 
689
701
  :where(.ds-table__header-label--interactive:focus-visible),
702
+ :where(.ds-table__header-labels[data-header-help]:focus-visible),
690
703
  :where(.ds-table__selection-control:focus-visible) {
691
704
  outline: var(--dimension-stroke-width-025) solid var(--color-interaction-focus);
692
705
  outline-offset: calc(-1 * var(--dimension-stroke-width-025));
@@ -718,6 +731,12 @@
718
731
  gap: var(--dimension-space-025);
719
732
  }
720
733
 
734
+ :where(.ds-table__header-labels[data-header-help]) {
735
+ border-radius: var(--dimension-radius-025);
736
+ cursor: default;
737
+ outline: none;
738
+ }
739
+
721
740
  :where(.ds-table__header-segment) {
722
741
  flex: 0 1 auto;
723
742
  gap: var(--dimension-space-025);
@@ -1427,14 +1446,42 @@
1427
1446
  min-block-size: var(--dimension-space-025);
1428
1447
  }
1429
1448
 
1449
+ :where(.ds-table--state-fill .ds-table__table) {
1450
+ block-size: 100%;
1451
+ }
1452
+
1453
+ :where(.ds-table--state-fill .ds-table__viewport) {
1454
+ min-block-size: var(--ds-table-max-block-size);
1455
+ }
1456
+
1457
+ :where(.ds-table--state-fill .ds-table__state-body),
1458
+ :where(.ds-table--state-fill .ds-table__state-row),
1459
+ :where(.ds-table--state-fill .ds-table__state-cell) {
1460
+ block-size: 100%;
1461
+ }
1462
+
1430
1463
  :where(.ds-table__state-cell) {
1431
- block-size: calc(var(--dimension-size-800) * 2);
1464
+ min-block-size: calc(var(--dimension-size-800) * 2);
1432
1465
  }
1433
1466
 
1434
1467
  :where(.ds-table__state-band) {
1468
+ align-self: stretch;
1469
+ flex: 1 1 auto;
1435
1470
  min-block-size: calc(var(--dimension-size-800) * 2);
1436
1471
  }
1437
1472
 
1473
+ :where(.ds-table--state-fill .ds-table__state-band) {
1474
+ block-size: 100%;
1475
+ min-block-size: 100%;
1476
+ }
1477
+
1478
+ :where(.ds-table__state-band) > ds-empty-state {
1479
+ flex: 1 1 auto;
1480
+ min-block-size: 0;
1481
+ inline-size: 100%;
1482
+ block-size: 100%;
1483
+ }
1484
+
1438
1485
  :where(.ds-table__skeleton-row) {
1439
1486
  pointer-events: none;
1440
1487
  }
@@ -1513,6 +1560,7 @@
1513
1560
  }
1514
1561
 
1515
1562
  :where(.ds-table__header-label--interactive:focus-visible),
1563
+ :where(.ds-table__header-labels[data-header-help]:focus-visible),
1516
1564
  :where(.ds-table__selection-control:focus-visible),
1517
1565
  :where(.ds-table__viewport:focus-visible) {
1518
1566
  outline-color: var(--ds-forced-color-selected);
@@ -14,6 +14,11 @@ export interface SelectOptionActionDetail {
14
14
  anchorId: string;
15
15
  originalEvent: MouseEvent;
16
16
  }
17
+ export interface SelectOptionSubtextActionDetail {
18
+ value: string;
19
+ actionValue: string;
20
+ originalEvent: MouseEvent;
21
+ }
17
22
  export declare class Select {
18
23
  el: HTMLElement;
19
24
  internals: ElementInternals;
@@ -101,6 +106,8 @@ export declare class Select {
101
106
  dsFooterAction: EventEmitter<void>;
102
107
  /** Emitted when an option's contextual ellipsis action is activated. */
103
108
  dsOptionAction: EventEmitter<SelectOptionActionDetail>;
109
+ /** Emitted when an option's supporting text action is activated. */
110
+ dsOptionSubtextAction: EventEmitter<SelectOptionSubtextActionDetail>;
104
111
  private activeIndex;
105
112
  private searchTerm;
106
113
  private formDisabled;
@@ -1,2 +1,2 @@
1
- export type { SelectBackground, SelectIndicator, SelectOption, SelectSection, SelectSize, SelectValue, SelectWidth, } from './Select';
1
+ export type { SelectBackground, SelectIndicator, SelectOption, SelectOptionActionDetail, SelectOptionSubtextActionDetail, SelectSection, SelectSize, SelectValue, SelectWidth, } from './Select';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1,6 +1,6 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
2
  import type { PaginationChangeDetail } from '../Pagination/pagination-types';
3
- import type { TableCaptionVisibility, TableCellActionDetail, TableColumn, TableColumnsConfigChangeDetail, TableDataMode, TableGroup, TableGroupCollapseChangeDetail, TableGroupLoadMoreDetail, TableGroupingState, TableLoadMoreDetail, TableLoadMoreMode, TablePaginationState, TableRow, TableRowActivateDetail, TableSelectionChangeDetail, TableSelectionMode, TableSortChangeDetail, TableSortState } from './table-types';
3
+ import type { TableCaptionVisibility, TableCellActionDetail, TableColumn, TableColumnsConfigChangeDetail, TableDataMode, TableDataModeChangeDetail, TableGroup, TableGroupCollapseChangeDetail, TableGroupLoadMoreDetail, TableGroupingState, TableLoadMoreDetail, TableLoadMoreMode, TablePaginationState, TableRow, TableRowActivateDetail, TableSelectionChangeDetail, TableSelectionMode, TableSortChangeDetail, TableSortState } from './table-types';
4
4
  export declare class Table {
5
5
  el: HTMLElement;
6
6
  /** Stable column definitions. Assign through JavaScript. */
@@ -66,6 +66,12 @@ export declare class Table {
66
66
  emptyCellLabel: string;
67
67
  /** Top-level data-window strategy. Group member loading remains group-owned. */
68
68
  dataMode: TableDataMode;
69
+ /** Opt in to the table-owned control for choosing between supported data modes. */
70
+ dataModeSwitcher: boolean;
71
+ dataModeSwitcherLabel: string;
72
+ dataModeMenuLabel: string;
73
+ infiniteModeLabel: string;
74
+ paginationModeLabel: string;
69
75
  /** Controlled top-level pagination state. Required when dataMode is pagination. */
70
76
  pagination: TablePaginationState | null;
71
77
  loadMoreMode: TableLoadMoreMode;
@@ -102,6 +108,7 @@ export declare class Table {
102
108
  dsCellAction: EventEmitter<TableCellActionDetail>;
103
109
  dsRowActivate: EventEmitter<TableRowActivateDetail>;
104
110
  dsColumnsConfigChange: EventEmitter<TableColumnsConfigChangeDetail>;
111
+ dsDataModeChange: EventEmitter<TableDataModeChangeDetail>;
105
112
  private overflowStart;
106
113
  private overflowEnd;
107
114
  private scrollable;
@@ -115,8 +122,11 @@ export declare class Table {
115
122
  private truncateTooltipLabel;
116
123
  private columnCustomizerOpen;
117
124
  private columnCustomizerInitialFocusVisible;
125
+ private dataModeSwitcherOpen;
126
+ private dataModeSwitcherInitialFocusVisible;
118
127
  private readonly actionMenuElementId;
119
128
  private readonly columnCustomizerElementId;
129
+ private readonly dataModeSwitcherElementId;
120
130
  private truncateTooltipEl?;
121
131
  private truncateAnchor;
122
132
  private truncateTooltipBound;
@@ -164,11 +174,13 @@ export declare class Table {
164
174
  handleLoadMoreErrorChange(error: string | undefined): void;
165
175
  handleHasMoreChange(hasMore: boolean, hadMore: boolean): void;
166
176
  handleColumnCustomizerAvailability(): void;
177
+ handleDataModeSwitcherAvailability(): void;
167
178
  private get grouped();
168
179
  private get hasIncrementalState();
169
180
  private get selectable();
170
181
  private get visibleColumns();
171
182
  private get showsColumnCustomizer();
183
+ private get showsDataModeSwitcher();
172
184
  private get showsCaptionTrailing();
173
185
  private get documentStickyHeader();
174
186
  private get fixedHeight();
@@ -236,6 +248,12 @@ export declare class Table {
236
248
  private renderResultFooter;
237
249
  private renderCaptionBar;
238
250
  private renderCaptionTrailing;
251
+ private renderDataModeSwitcherTrigger;
252
+ private renderDataModeSwitcherMenu;
253
+ private toggleDataModeSwitcher;
254
+ private openDataModeSwitcher;
255
+ private closeDataModeSwitcher;
256
+ private handleDataModeSwitcherSelect;
239
257
  private renderColumnCustomizerTrigger;
240
258
  private renderColumnCustomizerMenu;
241
259
  private toggleColumnCustomizer;
@@ -1,2 +1,2 @@
1
- export type { TableCaptionVisibility, TableCellAlign, TableCellAction, TableCellActionDetail, TableCellActionDivider, TableCellActionMenuEntry, TableCellActionMenuItem, TableCellBlank, TableCellEmpty, TableCellLinkTarget, TableCellIcon, TableCellIconText, TableCellImage, TableCellImageTracks, TableCellPrimaryText, TableCellSkeleton, TableCellText, TableCellTextRun, TableCellTextTrack, TableCellTag, TableCellTagVariant, TableCellValue, TableSkeletonWidth, TableColumn, TableColumnsConfigChangeDetail, TableColumnSticky, TableColumnWidth, TableDataMode, TableGroup, TableGroupCollapseChangeDetail, TableGroupLoadMoreDetail, TableGroupIntent, TableHeaderSegment, TableGroupingState, TableLoadMoreDetail, TableLoadMoreMode, TableLoadMoreReason, TablePaginationState, TableRow, TableRowActivateDetail, TableSelectionChangeDetail, TableSelectionMode, TableSortChangeDetail, TableSortDirection, TableSortState, } from './table-types';
1
+ export type { TableCaptionVisibility, TableCellAlign, TableCellAction, TableCellActionDetail, TableCellActionDivider, TableCellActionMenuEntry, TableCellActionMenuItem, TableCellBlank, TableCellEmpty, TableCellLinkTarget, TableCellIcon, TableCellIconText, TableCellImage, TableCellImageTracks, TableCellPrimaryText, TableCellSkeleton, TableCellText, TableCellTextRun, TableCellTextTrack, TableCellTag, TableCellTagVariant, TableCellValue, TableSkeletonWidth, TableColumn, TableColumnsConfigChangeDetail, TableColumnSticky, TableColumnWidth, TableDataMode, TableDataModeChangeDetail, TableGroup, TableGroupCollapseChangeDetail, TableGroupLoadMoreDetail, TableGroupIntent, TableHeaderSegment, TableGroupingState, TableLoadMoreDetail, TableLoadMoreMode, TableLoadMoreReason, TablePaginationState, TableRow, TableRowActivateDetail, TableSelectionChangeDetail, TableSelectionMode, TableSortChangeDetail, TableSortDirection, TableSortState, } from './table-types';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,9 @@
1
+ import type { MenuItemData } from '../Menu/menu-types';
2
+ import type { TableDataMode } from './table-types';
3
+ export declare function nextTableDataModeSwitcherElementId(): string;
4
+ export declare function tableDataModeMenuItems(dataMode: TableDataMode, labels: {
5
+ infinite: string;
6
+ pagination: string;
7
+ }): MenuItemData[];
8
+ export declare function tableDataModeFromMenuItem(item: MenuItemData): TableDataMode | null;
9
+ //# sourceMappingURL=table-data-mode-switcher.d.ts.map
@@ -10,6 +10,9 @@ export type TableColumnSticky = 'start' | 'end';
10
10
  export type TableCaptionVisibility = 'visible' | 'hidden';
11
11
  export type TableLoadMoreMode = 'auto' | 'manual';
12
12
  export type TableDataMode = 'infinite' | 'pagination';
13
+ export interface TableDataModeChangeDetail {
14
+ dataMode: TableDataMode;
15
+ }
13
16
  export type TableLoadMoreReason = 'auto' | 'manual' | 'retry';
14
17
  export type TableColumnWidth = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
15
18
  /** Visible line budget before a text track ellipsizes. */
@@ -245,12 +248,16 @@ export interface TableColumn {
245
248
  header: string;
246
249
  /** Screen-reader-only column name for an intentionally blank visual header. */
247
250
  headerLabel?: string;
251
+ /** Supplementary header help. Does not replace the visible or accessible column name. */
252
+ help?: string;
248
253
  /** Optional labels for columns that present and sort multiple related data points. */
249
254
  headerSegments?: TableHeaderSegment[];
250
255
  align?: TableCellAlign;
251
256
  sortable?: boolean;
252
257
  /** Preferred TokoMo table-column width. Numbers remain available for exceptional custom pixel widths. */
253
258
  size?: TableColumnWidth | number;
259
+ /** Derive a fixed image-column width from the matching 1, 2, or 3 track cell geometry. Ignored when size is set. */
260
+ imageTracks?: TableCellImageTracks;
254
261
  /** Minimum accepted preferred width in CSS pixels. */
255
262
  minSize?: number;
256
263
  /** Maximum accepted preferred width in CSS pixels. */
@@ -0,0 +1,61 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ import type { TableSavedView, TableSavedViewChangeDetail, TableSavedViewCreateDetail, TableSavedViewDiscardDetail, TableSavedViewRemoveDetail, TableSavedViewRenameDetail, TableSavedViewSaveDetail } from './table-saved-views-types';
3
+ export declare class TableSavedViews {
4
+ el: HTMLElement;
5
+ /** Application-owned custom saved views. Assign arrays through the JavaScript property. */
6
+ views: TableSavedView[];
7
+ /** ID of the controlled active view, including the default view ID. */
8
+ value: string;
9
+ /** Whether the current table state differs from the selected view. */
10
+ dirty: boolean;
11
+ /** ID used for the built-in default view. */
12
+ defaultViewId: string;
13
+ /** Label used for the built-in default view. */
14
+ defaultViewLabel: string;
15
+ /** Accessible name for the saved-views select. */
16
+ label: string;
17
+ /** Trigger label shown while the default view is selected. */
18
+ triggerLabel: string;
19
+ /** Footer action label that opens the create-view dialog. */
20
+ createLabel: string;
21
+ /** Emitted when a view selection is requested. */
22
+ dsViewChange: EventEmitter<TableSavedViewChangeDetail>;
23
+ /** Emitted after a valid create-view name is submitted. */
24
+ dsViewCreate: EventEmitter<TableSavedViewCreateDetail>;
25
+ /** Emitted after a valid renamed view name is submitted. */
26
+ dsViewRename: EventEmitter<TableSavedViewRenameDetail>;
27
+ /** Emitted when a custom view removal is requested. */
28
+ dsViewRemove: EventEmitter<TableSavedViewRemoveDetail>;
29
+ /** Emitted when changes to the active custom view should replace its stored payload. */
30
+ dsViewSave: EventEmitter<TableSavedViewSaveDetail>;
31
+ /** Emitted when the active custom view's stored payload should be restored. */
32
+ dsViewDiscard: EventEmitter<TableSavedViewDiscardDetail>;
33
+ private actionViewId;
34
+ private actionAnchorId;
35
+ private actionMenuOpen;
36
+ private actionMenuInitialFocusVisible;
37
+ private dialogOpen;
38
+ private dialogMode;
39
+ private dialogViewId;
40
+ private nameDraft;
41
+ private nameError;
42
+ private readonly componentId;
43
+ private readonly selectId;
44
+ private readonly actionMenuId;
45
+ private readonly fieldId;
46
+ private readonly inputId;
47
+ private readonly actionItems;
48
+ private get selectedCustomView();
49
+ private get dialogView();
50
+ private get sections();
51
+ private handleViewChange;
52
+ private handleSubtextAction;
53
+ private handleOptionAction;
54
+ private handleActionSelect;
55
+ private openDialog;
56
+ private validateName;
57
+ private submitDialog;
58
+ private finishDialogClose;
59
+ render(): any;
60
+ }
61
+ //# sourceMappingURL=TableSavedViews.d.ts.map
@@ -0,0 +1,2 @@
1
+ export type { TableSavedView, TableSavedViewChangeDetail, TableSavedViewCreateDetail, TableSavedViewDiscardDetail, TableSavedViewRemoveDetail, TableSavedViewRenameDetail, TableSavedViewSaveDetail, } from './table-saved-views-types';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,24 @@
1
+ export interface TableSavedView {
2
+ id: string;
3
+ label: string;
4
+ }
5
+ export interface TableSavedViewChangeDetail {
6
+ viewId: string;
7
+ }
8
+ export interface TableSavedViewCreateDetail {
9
+ name: string;
10
+ }
11
+ export interface TableSavedViewRenameDetail {
12
+ viewId: string;
13
+ name: string;
14
+ }
15
+ export interface TableSavedViewRemoveDetail {
16
+ viewId: string;
17
+ }
18
+ export interface TableSavedViewSaveDetail {
19
+ viewId: string;
20
+ }
21
+ export interface TableSavedViewDiscardDetail {
22
+ viewId: string;
23
+ }
24
+ //# sourceMappingURL=table-saved-views-types.d.ts.map
@@ -0,0 +1,6 @@
1
+ export declare class TableToolbar {
2
+ /** Accessible name for the grouped table controls. */
3
+ label: string;
4
+ render(): any;
5
+ }
6
+ //# sourceMappingURL=TableToolbar.d.ts.map