@ds-mo/ui 13.15.0 → 13.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.package-ready.json +1 -1
- package/dist/agent-patterns.json +3 -2
- package/dist/agent.json +59 -12
- package/dist/angular/ds-bar-title.d.ts +1 -1
- package/dist/angular/ds-bar-title.js +3 -3
- package/dist/angular/ds-shell-page.d.ts +1 -1
- package/dist/angular/ds-shell-page.js +3 -3
- package/dist/angular/ds-table.d.ts +1 -1
- package/dist/angular/ds-table.js +3 -3
- package/dist/components/ds-agent-questionnaire.js +1 -1
- package/dist/components/ds-agent-response.js +1 -1
- package/dist/components/ds-banner.js +1 -1
- package/dist/components/ds-bar-nav.js +1 -1
- package/dist/components/ds-bar-title.js +1 -1
- package/dist/components/ds-bar-workflow.js +1 -1
- package/dist/components/ds-card-overview.js +1 -1
- package/dist/components/ds-chart.js +1 -1
- package/dist/components/ds-code-block.js +1 -1
- package/dist/components/ds-conversation-list.js +1 -1
- package/dist/components/ds-markdown.js +1 -1
- package/dist/components/ds-menu.js +1 -1
- package/dist/components/ds-message-actions.js +1 -1
- package/dist/components/ds-message-composer.js +1 -1
- package/dist/components/ds-message-scroller.js +1 -1
- package/dist/components/ds-mobile-header.js +1 -1
- package/dist/components/ds-mobile-section-switcher.js +1 -1
- package/dist/components/ds-mobile-sheet-nav.js +1 -1
- package/dist/components/ds-modal.js +1 -1
- package/dist/components/ds-panel-nav.js +1 -1
- package/dist/components/ds-panel-tool-header.js +1 -1
- package/dist/components/ds-panel-tool-search.js +1 -1
- package/dist/components/ds-panel-tools.js +1 -1
- package/dist/components/ds-scroll-overlay.js +1 -1
- package/dist/components/ds-select.js +1 -1
- package/dist/components/ds-shell-app.js +1 -1
- package/dist/components/ds-shell-app.js.map +1 -1
- package/dist/components/ds-shell-page.js +1 -1
- package/dist/components/ds-shell-tools.js +1 -1
- package/dist/components/ds-table.js +1 -1
- package/dist/components/ds-table.js.map +1 -1
- package/dist/components/ds-toast.js +1 -1
- package/dist/components/ds-tooltip.js +1 -1
- package/dist/components/{p-DgIRyJoc.js → p-B53Vpuqq.js} +2 -2
- package/dist/components/{p-fKwbYrhi.js → p-B94M62Tx.js} +2 -2
- package/dist/components/p-BAAjiAIF.js +2 -0
- package/dist/components/p-BAAjiAIF.js.map +1 -0
- package/dist/components/{p-ClHpIZg0.js → p-BMAZWEDa.js} +2 -2
- package/dist/components/p-BMAZWEDa.js.map +1 -0
- package/dist/components/p-BMc0DE59.js +2 -0
- package/dist/components/p-BMc0DE59.js.map +1 -0
- package/dist/components/{p-GSnB-sa7.js → p-BPbE-Kbl.js} +2 -2
- package/dist/components/{p-CCkptWPj.js → p-BxR8omPQ.js} +2 -2
- package/dist/components/{p-CY19gMiz.js → p-CJq3n5kA.js} +2 -2
- package/dist/components/{p-IhToA4m4.js → p-CMbcRN92.js} +2 -2
- package/dist/components/{p-QDcUAz9m.js → p-CnIvWEVm.js} +2 -2
- package/dist/components/{p-DWjE0VNn.js → p-D5sIwLjA.js} +2 -2
- package/dist/components/p-D9CDoQBx.js +2 -0
- package/dist/components/{p-BLaqjUWu.js.map → p-D9CDoQBx.js.map} +1 -1
- package/dist/components/{p-CekGwihQ.js → p-D9FdOR_m.js} +2 -2
- package/dist/components/{p-D5aUkdTw.js → p-Dbobj7DI.js} +2 -2
- package/dist/components/{p-DQXzTV8N.js → p-DrvEhJhO.js} +2 -2
- package/dist/components/{p-BH_lVRgp.js → p-DyqLVdJp.js} +2 -2
- package/dist/components/{p-DWNhyLp2.js → p-m5CSrx_s.js} +2 -2
- package/dist/docs/components.json +301 -2
- package/dist/lib/components/ShellApp/shell-app-types.d.ts +12 -0
- package/dist/lib/utils/index.js +41 -4
- package/dist/lib/utils/index.js.map +2 -2
- package/dist/lib/utils/resolve-css-length-px.d.ts +1 -1
- package/dist/mcp-data/registry/bar-title.json +38 -3
- package/dist/mcp-data/registry/registry.json +58 -11
- package/dist/mcp-data/registry/shell-app.json +3 -3
- package/dist/mcp-data/registry/shell-page.json +77 -4
- package/dist/mcp-data/registry/table.json +88 -12
- package/dist/styles/table.css +161 -10
- package/dist/types/components/BarTitle/BarTitle.d.ts +5 -0
- package/dist/types/components/ShellApp/shell-app-types.d.ts +12 -0
- package/dist/types/components/ShellPage/ShellPage.d.ts +9 -0
- package/dist/types/components/Table/Table.d.ts +30 -0
- package/dist/types/components/Table/table-cell-model.d.ts +2 -0
- package/dist/types/components/Table/table-layout-controller.d.ts +6 -0
- package/dist/types/components/Table/table-types.d.ts +3 -0
- package/dist/types/components/Table/table-viewport-fit-controller.d.ts +53 -0
- package/dist/types/components.d.ts +102 -0
- package/dist/types/utils/resolve-css-length-px.d.ts +1 -1
- package/package.json +1 -1
- package/dist/components/p-BJMRBHKW.js +0 -2
- package/dist/components/p-BJMRBHKW.js.map +0 -1
- package/dist/components/p-BLaqjUWu.js +0 -2
- package/dist/components/p-ClHpIZg0.js.map +0 -1
- package/dist/components/p-DyVAWGL9.js +0 -2
- package/dist/components/p-DyVAWGL9.js.map +0 -1
- /package/dist/components/{p-DgIRyJoc.js.map → p-B53Vpuqq.js.map} +0 -0
- /package/dist/components/{p-fKwbYrhi.js.map → p-B94M62Tx.js.map} +0 -0
- /package/dist/components/{p-GSnB-sa7.js.map → p-BPbE-Kbl.js.map} +0 -0
- /package/dist/components/{p-CCkptWPj.js.map → p-BxR8omPQ.js.map} +0 -0
- /package/dist/components/{p-CY19gMiz.js.map → p-CJq3n5kA.js.map} +0 -0
- /package/dist/components/{p-IhToA4m4.js.map → p-CMbcRN92.js.map} +0 -0
- /package/dist/components/{p-QDcUAz9m.js.map → p-CnIvWEVm.js.map} +0 -0
- /package/dist/components/{p-DWjE0VNn.js.map → p-D5sIwLjA.js.map} +0 -0
- /package/dist/components/{p-CekGwihQ.js.map → p-D9FdOR_m.js.map} +0 -0
- /package/dist/components/{p-D5aUkdTw.js.map → p-Dbobj7DI.js.map} +0 -0
- /package/dist/components/{p-DQXzTV8N.js.map → p-DrvEhJhO.js.map} +0 -0
- /package/dist/components/{p-BH_lVRgp.js.map → p-DyqLVdJp.js.map} +0 -0
- /package/dist/components/{p-DWNhyLp2.js.map → p-m5CSrx_s.js.map} +0 -0
package/dist/styles/table.css
CHANGED
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
var(--dimension-space-075) - var(--dimension-space-025)
|
|
16
16
|
);
|
|
17
17
|
--_table-cell-track-label-inset: var(--dimension-space-025);
|
|
18
|
+
--_table-caption-bar-block-size: var(--dimension-size-600);
|
|
18
19
|
--_table-image-block-size: calc(
|
|
19
20
|
var(--dimension-size-800) - var(--dimension-space-200)
|
|
20
21
|
);
|
|
@@ -69,6 +70,25 @@
|
|
|
69
70
|
user-select: none;
|
|
70
71
|
}
|
|
71
72
|
|
|
73
|
+
:where(.ds-table--bounded) {
|
|
74
|
+
display: grid;
|
|
75
|
+
grid-template-rows: auto minmax(0, 1fr) auto;
|
|
76
|
+
min-block-size: 0;
|
|
77
|
+
block-size: 100%;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
:where(.ds-table--viewport-fit) {
|
|
81
|
+
block-size: var(--_table-viewport-fit-current-block-size, 100%);
|
|
82
|
+
min-block-size: var(--_table-viewport-fit-current-block-size, 100%);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
:where(.ds-table--bounded .ds-table__frame),
|
|
86
|
+
:where(.ds-table--bounded .ds-table__viewport) {
|
|
87
|
+
min-block-size: 0;
|
|
88
|
+
block-size: 100%;
|
|
89
|
+
max-block-size: none;
|
|
90
|
+
}
|
|
91
|
+
|
|
72
92
|
:where(.ds-table__frame) {
|
|
73
93
|
position: relative;
|
|
74
94
|
timeline-scope: --ds-table-inline-scroll;
|
|
@@ -81,6 +101,15 @@
|
|
|
81
101
|
background: var(--_table-surface);
|
|
82
102
|
}
|
|
83
103
|
|
|
104
|
+
/*
|
|
105
|
+
* Contained tables own a hard visual viewport. Clip table-owned overlays and
|
|
106
|
+
* elastic-scroll paint to that frame without introducing another scrollport;
|
|
107
|
+
* the nested viewport remains the only element that scrolls.
|
|
108
|
+
*/
|
|
109
|
+
:where(.ds-table--contained-scroll .ds-table__frame) {
|
|
110
|
+
overflow: clip;
|
|
111
|
+
}
|
|
112
|
+
|
|
84
113
|
:where(.ds-table__viewport) {
|
|
85
114
|
box-sizing: border-box;
|
|
86
115
|
max-block-size: var(--ds-table-max-block-size, none);
|
|
@@ -104,6 +133,14 @@
|
|
|
104
133
|
outline-offset: calc(-1 * var(--dimension-stroke-width-025));
|
|
105
134
|
}
|
|
106
135
|
|
|
136
|
+
:where(.ds-table--viewport-fit-pending .ds-table__viewport) {
|
|
137
|
+
overflow-y: hidden;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
:where(.ds-table--viewport-fit-settled .ds-table__viewport) {
|
|
141
|
+
overscroll-behavior-y: none;
|
|
142
|
+
}
|
|
143
|
+
|
|
107
144
|
:where(.ds-table__table) {
|
|
108
145
|
box-sizing: border-box;
|
|
109
146
|
inline-size: 100%;
|
|
@@ -132,24 +169,87 @@
|
|
|
132
169
|
display: flex;
|
|
133
170
|
align-items: center;
|
|
134
171
|
inline-size: 100%;
|
|
135
|
-
min-block-size: var(--
|
|
136
|
-
block-size: var(--
|
|
137
|
-
padding
|
|
172
|
+
min-block-size: var(--_table-caption-bar-block-size);
|
|
173
|
+
block-size: var(--_table-caption-bar-block-size);
|
|
174
|
+
padding: var(--dimension-space-100);
|
|
175
|
+
gap: var(--dimension-space-100);
|
|
138
176
|
background: var(--_table-surface);
|
|
139
177
|
text-align: start;
|
|
140
178
|
}
|
|
141
179
|
|
|
142
180
|
:where(.ds-table__caption-bar) {
|
|
143
|
-
border-
|
|
181
|
+
border-start-start-radius: var(--_table-radius);
|
|
182
|
+
border-start-end-radius: var(--_table-radius);
|
|
183
|
+
border-block-end: var(--dimension-stroke-width-012) solid var(--_table-column-border);
|
|
144
184
|
color: var(--color-foreground-primary);
|
|
145
185
|
}
|
|
146
186
|
|
|
187
|
+
:where(.ds-table--caption-visible .ds-table__frame),
|
|
188
|
+
:where(.ds-table--caption-visible .ds-table__viewport) {
|
|
189
|
+
border-start-start-radius: 0;
|
|
190
|
+
border-start-end-radius: 0;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
:where(.ds-table__bar-leading),
|
|
194
|
+
:where(.ds-table__bar-trailing) {
|
|
195
|
+
display: flex;
|
|
196
|
+
align-items: center;
|
|
197
|
+
flex: 0 0 auto;
|
|
198
|
+
min-inline-size: 0;
|
|
199
|
+
gap: var(--dimension-space-100);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
:where(.ds-table__bar-trailing) {
|
|
203
|
+
margin-inline-start: auto;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
:where(.ds-table__bar-leading[hidden], .ds-table__bar-trailing[hidden]) {
|
|
207
|
+
display: none;
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
:where(.ds-table__bar-copy) {
|
|
211
|
+
display: flex;
|
|
212
|
+
flex: 1 1 auto;
|
|
213
|
+
align-items: center;
|
|
214
|
+
box-sizing: border-box;
|
|
215
|
+
min-inline-size: 0;
|
|
216
|
+
max-inline-size: 100%;
|
|
217
|
+
padding: var(--ds-control-padding-inline, var(--dimension-space-075));
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
:where(.ds-table__bar-copy > slot) {
|
|
221
|
+
display: contents;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
:where(.ds-table__bar-copy > slot)::slotted(*) {
|
|
225
|
+
flex: 1 1 auto;
|
|
226
|
+
min-inline-size: 0;
|
|
227
|
+
max-inline-size: 100%;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
:where(.ds-table__bar-text) {
|
|
231
|
+
display: inline-flex;
|
|
232
|
+
align-items: center;
|
|
233
|
+
box-sizing: border-box;
|
|
234
|
+
min-inline-size: 0;
|
|
235
|
+
block-size: var(--ds-control-height, var(--dimension-size-400));
|
|
236
|
+
padding-inline: var(--ds-control-label-inset, var(--dimension-space-025));
|
|
237
|
+
}
|
|
238
|
+
|
|
147
239
|
/* Optional controlled result summary. */
|
|
148
240
|
:where(.ds-table__footer) {
|
|
149
|
-
border-
|
|
241
|
+
border-end-start-radius: var(--_table-radius);
|
|
242
|
+
border-end-end-radius: var(--_table-radius);
|
|
243
|
+
border-block-start: var(--dimension-stroke-width-012) solid var(--_table-column-border);
|
|
150
244
|
color: var(--color-foreground-secondary);
|
|
151
245
|
}
|
|
152
246
|
|
|
247
|
+
:where(.ds-table--footer-visible .ds-table__frame),
|
|
248
|
+
:where(.ds-table--footer-visible .ds-table__viewport) {
|
|
249
|
+
border-end-start-radius: 0;
|
|
250
|
+
border-end-end-radius: 0;
|
|
251
|
+
}
|
|
252
|
+
|
|
153
253
|
:where(.ds-table__selection-column) {
|
|
154
254
|
inline-size: var(--_table-selection-column-inline-size);
|
|
155
255
|
width: var(--_table-selection-column-inline-size);
|
|
@@ -170,13 +270,13 @@
|
|
|
170
270
|
:where(.ds-table--contained-sticky-header .ds-table__head) {
|
|
171
271
|
position: sticky;
|
|
172
272
|
inset-block-start: 0;
|
|
173
|
-
z-index:
|
|
273
|
+
z-index: 6;
|
|
174
274
|
}
|
|
175
275
|
|
|
176
276
|
:where(.ds-table__document-sticky-header) {
|
|
177
277
|
position: sticky;
|
|
178
278
|
inset-block-start: var(--ds-table-sticky-header-offset, 0);
|
|
179
|
-
z-index:
|
|
279
|
+
z-index: 6;
|
|
180
280
|
block-size: var(--_table-header-min-block-size);
|
|
181
281
|
margin-block-end: calc(-1 * var(--_table-header-min-block-size));
|
|
182
282
|
max-inline-size: 100%;
|
|
@@ -185,6 +285,38 @@
|
|
|
185
285
|
background: var(--_table-header-surface);
|
|
186
286
|
}
|
|
187
287
|
|
|
288
|
+
:where(.ds-table--document-sticky-header.ds-table--caption-visible > .ds-table__caption-bar) {
|
|
289
|
+
position: sticky;
|
|
290
|
+
inset-block-start: var(--ds-table-sticky-header-offset, 0);
|
|
291
|
+
z-index: 3;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
:where(.ds-table--document-sticky-header.ds-table--caption-visible .ds-table__document-sticky-header) {
|
|
295
|
+
inset-block-start: calc(
|
|
296
|
+
var(--ds-table-sticky-header-offset, 0px) + var(--_table-caption-bar-block-size)
|
|
297
|
+
);
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
:where(.ds-table__sticky-group) {
|
|
301
|
+
position: absolute;
|
|
302
|
+
inset-block-start: var(--_table-sticky-group-top, 0);
|
|
303
|
+
inset-inline-start: 0;
|
|
304
|
+
z-index: 5;
|
|
305
|
+
box-sizing: border-box;
|
|
306
|
+
inline-size: 100%;
|
|
307
|
+
block-size: var(--_table-row-min-block-size);
|
|
308
|
+
overflow: hidden;
|
|
309
|
+
will-change: inset-block-start;
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
:where(.ds-table__sticky-group .ds-table__group-content) {
|
|
313
|
+
position: relative;
|
|
314
|
+
}
|
|
315
|
+
|
|
316
|
+
:where(.ds-table__group-cell--sticky-source-hidden) {
|
|
317
|
+
visibility: hidden;
|
|
318
|
+
}
|
|
319
|
+
|
|
188
320
|
:where(.ds-table__sticky-header-table) {
|
|
189
321
|
block-size: var(--_table-header-min-block-size);
|
|
190
322
|
transform: translate3d(calc(-1 * var(--ds-table-inline-scroll-offset, 0px)), 0, 0);
|
|
@@ -929,7 +1061,8 @@
|
|
|
929
1061
|
display: none;
|
|
930
1062
|
}
|
|
931
1063
|
|
|
932
|
-
:where(.ds-table__table--selectable .ds-table__group-content)
|
|
1064
|
+
:where(.ds-table__table--selectable .ds-table__group-content),
|
|
1065
|
+
:where(.ds-table__sticky-group--selectable .ds-table__group-content) {
|
|
933
1066
|
/* Selection lane is the real 40px column — don't add start pad or flex gap. */
|
|
934
1067
|
gap: 0;
|
|
935
1068
|
padding-inline-start: 0;
|
|
@@ -965,7 +1098,8 @@
|
|
|
965
1098
|
padding-inline: var(--dimension-space-050);
|
|
966
1099
|
}
|
|
967
1100
|
|
|
968
|
-
:where(.ds-table__table--selectable .ds-table__group-copy)
|
|
1101
|
+
:where(.ds-table__table--selectable .ds-table__group-copy),
|
|
1102
|
+
:where(.ds-table__sticky-group--selectable .ds-table__group-copy) {
|
|
969
1103
|
padding-inline-start: calc(
|
|
970
1104
|
var(--dimension-space-100) + var(--_table-cell-track-label-inset)
|
|
971
1105
|
);
|
|
@@ -985,11 +1119,24 @@
|
|
|
985
1119
|
|
|
986
1120
|
:where(.ds-table__load-cell),
|
|
987
1121
|
:where(.ds-table__state-cell) {
|
|
988
|
-
padding:
|
|
1122
|
+
padding: 0;
|
|
989
1123
|
background: var(--_table-surface);
|
|
990
1124
|
text-align: center;
|
|
991
1125
|
}
|
|
992
1126
|
|
|
1127
|
+
:where(.ds-table__viewport-band) {
|
|
1128
|
+
position: sticky;
|
|
1129
|
+
inset-inline-start: 0;
|
|
1130
|
+
box-sizing: border-box;
|
|
1131
|
+
display: flex;
|
|
1132
|
+
align-items: center;
|
|
1133
|
+
justify-content: center;
|
|
1134
|
+
inline-size: var(--ds-table-visible-inline-size, 100%);
|
|
1135
|
+
max-inline-size: var(--ds-table-visible-inline-size, 100%);
|
|
1136
|
+
padding: var(--dimension-space-200) var(--_table-cell-padding-inline);
|
|
1137
|
+
background: var(--_table-surface);
|
|
1138
|
+
}
|
|
1139
|
+
|
|
993
1140
|
:where(.ds-table__load-content) {
|
|
994
1141
|
/* Match md ButtonUnfilled height so text-only / loading / button states share one box. */
|
|
995
1142
|
box-sizing: border-box;
|
|
@@ -1019,6 +1166,10 @@
|
|
|
1019
1166
|
block-size: calc(var(--dimension-size-800) * 2);
|
|
1020
1167
|
}
|
|
1021
1168
|
|
|
1169
|
+
:where(.ds-table__state-band) {
|
|
1170
|
+
min-block-size: calc(var(--dimension-size-800) * 2);
|
|
1171
|
+
}
|
|
1172
|
+
|
|
1022
1173
|
:where(.ds-table__skeleton-row) {
|
|
1023
1174
|
pointer-events: none;
|
|
1024
1175
|
}
|
|
@@ -31,6 +31,10 @@ export declare class BarTitle {
|
|
|
31
31
|
actionsAriaLabel: string;
|
|
32
32
|
/** Explicit visual/capacity variant. ShellPage owns automatic selection. */
|
|
33
33
|
variant: BarTitleVariant;
|
|
34
|
+
/** Draw the page-title divider beneath the header. */
|
|
35
|
+
showDivider: boolean;
|
|
36
|
+
/** Override divider visibility for compact and constrained variants. */
|
|
37
|
+
showCompactDivider?: boolean;
|
|
34
38
|
/** Emitted when the leading Back action is activated. */
|
|
35
39
|
dsBack: EventEmitter<MouseEvent>;
|
|
36
40
|
/** Emitted when an authored expanded breadcrumb item is activated. */
|
|
@@ -54,6 +58,7 @@ export declare class BarTitle {
|
|
|
54
58
|
handleSectionsChange(): void;
|
|
55
59
|
handleActionsChange(): void;
|
|
56
60
|
private get compact();
|
|
61
|
+
private get dividerVisible();
|
|
57
62
|
private get expandedBreadcrumbItems();
|
|
58
63
|
/** Tooltip copy is fixed and generic; backAriaLabel/actionsAriaLabel stay page-specific. */
|
|
59
64
|
private get backTooltipLabel();
|
|
@@ -69,6 +69,18 @@ export interface ShellPageChromeConfig {
|
|
|
69
69
|
actionsAriaLabel?: string;
|
|
70
70
|
tone?: MobileHeaderTone;
|
|
71
71
|
contentInset?: ShellPageContentInset;
|
|
72
|
+
/** Remove only the content gutter adjacent to the page header. */
|
|
73
|
+
contentInsetBlockStart?: ShellPageContentInset;
|
|
74
|
+
/** Exact roomy block-start content inset when the responsive default is not appropriate. */
|
|
75
|
+
contentInsetBlockStartSize?: string;
|
|
76
|
+
/** Exact block-start content inset while page-title capacity is compact or constrained. */
|
|
77
|
+
compactContentInsetBlockStartSize?: string;
|
|
78
|
+
/** Allow a roomy page title to compact in response to page scrolling. */
|
|
79
|
+
scrollCompaction?: boolean;
|
|
80
|
+
/** Draw the divider beneath the desktop/tablet page title. */
|
|
81
|
+
showHeaderDivider?: boolean;
|
|
82
|
+
/** Override divider visibility while the page title is compact or constrained. */
|
|
83
|
+
showCompactHeaderDivider?: boolean;
|
|
72
84
|
/** Canvas surface painted by ShellPage around and beneath routed content. */
|
|
73
85
|
contentSurface?: ShellPageContentSurface;
|
|
74
86
|
}
|
|
@@ -10,6 +10,14 @@ export declare class ShellPage {
|
|
|
10
10
|
headerCapacity?: ShellPageCapacity;
|
|
11
11
|
/** Standard page gutters, or no inset for full-bleed page content. */
|
|
12
12
|
contentInset: ShellPageContentInset;
|
|
13
|
+
/** Preserve the responsive side/end gutters while allowing content to meet the header. */
|
|
14
|
+
contentInsetBlockStart: ShellPageContentInset;
|
|
15
|
+
/** Exact block-start content inset, overriding the responsive default when provided. */
|
|
16
|
+
contentInsetBlockStartSize?: string;
|
|
17
|
+
/** Exact block-start content inset while the header is compact or constrained. */
|
|
18
|
+
compactContentInsetBlockStartSize?: string;
|
|
19
|
+
/** Allow roomy automatic headers to compact as the page scrolls. */
|
|
20
|
+
scrollCompaction: boolean;
|
|
13
21
|
/** Canvas surface painted around and beneath routed page content. */
|
|
14
22
|
contentSurface: ShellPageContentSurface;
|
|
15
23
|
/** Explicit shell breakpoint presentation. Mobile uses the dedicated mobile-header slot. */
|
|
@@ -39,6 +47,7 @@ export declare class ShellPage {
|
|
|
39
47
|
private get effectiveVariant();
|
|
40
48
|
private get headerContractResolved();
|
|
41
49
|
private get isScrollCompacted();
|
|
50
|
+
private get contentInsetStyles();
|
|
42
51
|
private composedParent;
|
|
43
52
|
private findScrollRoot;
|
|
44
53
|
private connectScrollRoot;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
2
|
import type { TableCaptionVisibility, TableCellActionDetail, TableColumn, TableGroup, TableGroupCollapseChangeDetail, TableGroupingChangeDetail, TableGroupingState, TableLoadMoreDetail, TableLoadMoreMode, TableRow, TableRowActivateDetail, TableSelectionChangeDetail, TableSelectionMode, TableSortChangeDetail, TableSortState } from './table-types';
|
|
3
3
|
export declare class Table {
|
|
4
|
+
el: HTMLElement;
|
|
4
5
|
/** Stable column definitions. Assign through JavaScript. */
|
|
5
6
|
columns: TableColumn[];
|
|
6
7
|
/** Ungrouped row data. Ignored while grouping is active. Assign through JavaScript. */
|
|
@@ -28,6 +29,14 @@ export declare class Table {
|
|
|
28
29
|
stickyHeader: boolean;
|
|
29
30
|
/** Maximum scroll-region height. Numbers resolve to CSS pixels. */
|
|
30
31
|
maxHeight: string | number | undefined;
|
|
32
|
+
/** Fixed height for the complete header, table frame, and footer composition. */
|
|
33
|
+
height: string | number | undefined;
|
|
34
|
+
/** Fit the complete table composition to its nearest vertical scrollport. */
|
|
35
|
+
fitViewport: boolean;
|
|
36
|
+
/** Reserved space above a viewport-fitted table once surrounding chrome is compact. */
|
|
37
|
+
viewportInsetBlockStart: string | number;
|
|
38
|
+
/** Reserved space below a viewport-fitted table. */
|
|
39
|
+
viewportInsetBlockEnd: string | number;
|
|
31
40
|
/** Optional explicit label for the horizontal/vertical scroll region. */
|
|
32
41
|
scrollLabel: string | undefined;
|
|
33
42
|
selectionMode: TableSelectionMode;
|
|
@@ -70,6 +79,12 @@ export declare class Table {
|
|
|
70
79
|
private overflowEnd;
|
|
71
80
|
private scrollable;
|
|
72
81
|
private announcement;
|
|
82
|
+
private activeStickyGroupId;
|
|
83
|
+
private viewportFitSettled;
|
|
84
|
+
private headerLeadingPresent;
|
|
85
|
+
private headerCopyPresent;
|
|
86
|
+
private headerTrailingPresent;
|
|
87
|
+
private rootEl;
|
|
73
88
|
private viewportEl;
|
|
74
89
|
private frameEl;
|
|
75
90
|
private interactiveHeadEl;
|
|
@@ -80,13 +95,21 @@ export declare class Table {
|
|
|
80
95
|
private previousModelWarning;
|
|
81
96
|
private hasLoaded;
|
|
82
97
|
private renderedModel;
|
|
98
|
+
private stickyGroupConnected;
|
|
99
|
+
private headerSlotObserver;
|
|
83
100
|
private readonly layoutController;
|
|
84
101
|
private readonly loadController;
|
|
102
|
+
private readonly viewportFitController;
|
|
85
103
|
componentWillLoad(): void;
|
|
86
104
|
componentDidLoad(): void;
|
|
87
105
|
componentDidRender(): void;
|
|
88
106
|
connectedCallback(): void;
|
|
89
107
|
disconnectedCallback(): void;
|
|
108
|
+
private syncHeaderSlotPresence;
|
|
109
|
+
private connectHeaderSlotObserver;
|
|
110
|
+
private connectStickyGroup;
|
|
111
|
+
private disconnectStickyGroup;
|
|
112
|
+
private readonly updateStickyGroup;
|
|
90
113
|
handleStructureChange(): void;
|
|
91
114
|
handleDataChange(): void;
|
|
92
115
|
handleLoadIdentityChange(): void;
|
|
@@ -97,10 +120,14 @@ export declare class Table {
|
|
|
97
120
|
private get grouped();
|
|
98
121
|
private get selectable();
|
|
99
122
|
private get documentStickyHeader();
|
|
123
|
+
private get fixedHeight();
|
|
124
|
+
private get boundedComposition();
|
|
125
|
+
private get containedScroll();
|
|
100
126
|
private currentLoadedRows;
|
|
101
127
|
private currentLoadedRowCount;
|
|
102
128
|
private createRenderModel;
|
|
103
129
|
private get resolvedMaxHeight();
|
|
130
|
+
private get resolvedHeight();
|
|
104
131
|
private warnModelIssues;
|
|
105
132
|
private emitSort;
|
|
106
133
|
private sortButtonLabel;
|
|
@@ -121,12 +148,15 @@ export declare class Table {
|
|
|
121
148
|
private renderRow;
|
|
122
149
|
private emitGroupCollapse;
|
|
123
150
|
private emitAllGroupsCollapse;
|
|
151
|
+
private renderGroupContent;
|
|
152
|
+
private renderStickyGroup;
|
|
124
153
|
private renderDataBodies;
|
|
125
154
|
private renderSkeletonBody;
|
|
126
155
|
private renderStateBody;
|
|
127
156
|
private renderLazyBody;
|
|
128
157
|
private renderDocumentStickyHeader;
|
|
129
158
|
private get resultSummary();
|
|
159
|
+
private get hasResultFooter();
|
|
130
160
|
private renderResultFooter;
|
|
131
161
|
private renderCaptionBar;
|
|
132
162
|
render(): any;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { TableCellAction, TableCellBlank, TableCellEmpty, TableCellIcon, TableCellImage, TableCellTag, TableCellTagVariant, TableCellValue, TableColumn } from './table-types';
|
|
2
|
+
import type { TextColor } from '../Text/text-types';
|
|
2
3
|
export interface ResolvedTableCellText {
|
|
3
4
|
primary: string | number;
|
|
4
5
|
secondary?: string | number;
|
|
6
|
+
secondaryColor?: TextColor;
|
|
5
7
|
wrap?: boolean;
|
|
6
8
|
fontFeature?: 'normal' | 'tabular-nums';
|
|
7
9
|
}
|
|
@@ -9,6 +9,7 @@ export interface TableLayoutElements {
|
|
|
9
9
|
export interface TableLayoutMode {
|
|
10
10
|
documentStickyHeader: boolean;
|
|
11
11
|
floatingCollapseAll: boolean;
|
|
12
|
+
clampVerticalOverscroll: boolean;
|
|
12
13
|
}
|
|
13
14
|
export interface TableOverflowState {
|
|
14
15
|
start: boolean;
|
|
@@ -19,6 +20,7 @@ export interface TableLayoutControllerOptions {
|
|
|
19
20
|
elements: () => TableLayoutElements;
|
|
20
21
|
mode: () => TableLayoutMode;
|
|
21
22
|
overflowChanged: (state: TableOverflowState) => void;
|
|
23
|
+
verticalEdgeWheel?: (deltaY: number) => boolean;
|
|
22
24
|
}
|
|
23
25
|
export interface TableLayoutMetricInput {
|
|
24
26
|
viewportInlineSize: number;
|
|
@@ -59,6 +61,10 @@ export declare class TableLayoutController {
|
|
|
59
61
|
/** Reconcile newly rendered refs, observers, and pending geometry. */
|
|
60
62
|
refresh(): void;
|
|
61
63
|
private schedule;
|
|
64
|
+
private readonly handleScroll;
|
|
65
|
+
private readonly handleWheel;
|
|
66
|
+
private clampInlineOffset;
|
|
67
|
+
private clampBlockOffset;
|
|
62
68
|
private sync;
|
|
63
69
|
private setProperty;
|
|
64
70
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { TagContrast, TagIntent } from '../Tag/Tag';
|
|
2
2
|
import type { IconColor } from '../Icon/Icon';
|
|
3
|
+
import type { TextColor } from '../Text/text-types';
|
|
3
4
|
export type TableSortDirection = 'asc' | 'desc';
|
|
4
5
|
export type TableSelectionMode = 'none' | 'multiple';
|
|
5
6
|
export type TableCellAlign = 'start' | 'center' | 'end';
|
|
@@ -32,6 +33,8 @@ export interface TableGroupingState {
|
|
|
32
33
|
export interface TableCellText {
|
|
33
34
|
primary: string | number;
|
|
34
35
|
secondary?: string;
|
|
36
|
+
/** Optional semantic foreground for secondary copy; defaults to the standard secondary color. */
|
|
37
|
+
secondaryColor?: TextColor;
|
|
35
38
|
/** Allow this cell to wrap even when its column truncates by default. */
|
|
36
39
|
wrap?: boolean;
|
|
37
40
|
fontFeature?: 'normal' | 'tabular-nums';
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export interface TableViewportFitMetricInput {
|
|
2
|
+
scrollportBlockStart: number;
|
|
3
|
+
scrollportBlockSize: number;
|
|
4
|
+
hostBlockStart: number;
|
|
5
|
+
insetBlockStart: number;
|
|
6
|
+
insetBlockEnd: number;
|
|
7
|
+
}
|
|
8
|
+
export interface TableViewportFitMetrics {
|
|
9
|
+
reservedBlockSize: number;
|
|
10
|
+
currentBlockSize: number;
|
|
11
|
+
settled: boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface TableViewportFitElements {
|
|
14
|
+
host: HTMLElement | null;
|
|
15
|
+
surface: HTMLElement | null;
|
|
16
|
+
}
|
|
17
|
+
export interface TableViewportFitControllerOptions {
|
|
18
|
+
enabled: () => boolean;
|
|
19
|
+
elements: () => TableViewportFitElements;
|
|
20
|
+
insets: () => {
|
|
21
|
+
blockStart: string | number;
|
|
22
|
+
blockEnd: string | number;
|
|
23
|
+
};
|
|
24
|
+
fitChanged: (metrics: TableViewportFitMetrics | null) => void;
|
|
25
|
+
}
|
|
26
|
+
/** Resolve the reserved compact-state height and the height currently visible. */
|
|
27
|
+
export declare function resolveTableViewportFitMetrics(input: TableViewportFitMetricInput): TableViewportFitMetrics;
|
|
28
|
+
/**
|
|
29
|
+
* Fits the complete table chrome to its nearest vertical scrollport. The host
|
|
30
|
+
* reserves its compact-state height so the outer page can consume collapsing
|
|
31
|
+
* header travel without changing document height. The visible table surface
|
|
32
|
+
* grows into that reservation until it reaches the supplied sticky inset.
|
|
33
|
+
*/
|
|
34
|
+
export declare class TableViewportFitController {
|
|
35
|
+
private readonly options;
|
|
36
|
+
private connected;
|
|
37
|
+
private scrollRoot;
|
|
38
|
+
private resizeObserver;
|
|
39
|
+
private metrics;
|
|
40
|
+
constructor(options: TableViewportFitControllerOptions);
|
|
41
|
+
connect(): void;
|
|
42
|
+
disconnect(): void;
|
|
43
|
+
refresh(): void;
|
|
44
|
+
/** Pass a fitted table's boundary wheel delta to its owning page scrollport. */
|
|
45
|
+
scrollOuterBy(delta: number): boolean;
|
|
46
|
+
private disconnectRuntime;
|
|
47
|
+
private clearGeometry;
|
|
48
|
+
private readonly sync;
|
|
49
|
+
private findScrollRoot;
|
|
50
|
+
private composedParent;
|
|
51
|
+
private setProperty;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=table-viewport-fit-controller.d.ts.map
|