@ds-mo/ui 13.11.0 → 13.12.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 (120) hide show
  1. package/dist/.package-ready.json +1 -1
  2. package/dist/agent-patterns.json +6 -3
  3. package/dist/agent.json +306 -16
  4. package/dist/angular/ds-mobile-header.d.ts +1 -1
  5. package/dist/angular/ds-mobile-header.js +3 -3
  6. package/dist/angular/ds-shell-page.d.ts +1 -1
  7. package/dist/angular/ds-shell-page.js +3 -3
  8. package/dist/angular/ds-tab-group.d.ts +1 -1
  9. package/dist/angular/ds-tab-group.js +3 -3
  10. package/dist/angular/ds-table.d.ts +28 -0
  11. package/dist/angular/ds-table.js +54 -0
  12. package/dist/angular/ds-tag.d.ts +1 -1
  13. package/dist/angular/ds-tag.js +3 -3
  14. package/dist/angular/index.d.ts +1 -1
  15. package/dist/angular/index.js +1 -0
  16. package/dist/angular/proxies.d.ts +1 -0
  17. package/dist/angular/proxies.js +1 -0
  18. package/dist/components/ds-bar-nav.js +1 -1
  19. package/dist/components/ds-bar-title.js +1 -1
  20. package/dist/components/ds-bar-workflow.js +1 -1
  21. package/dist/components/ds-bar-workflow.js.map +1 -1
  22. package/dist/components/ds-card-overview.js +1 -1
  23. package/dist/components/ds-menu.js +1 -1
  24. package/dist/components/ds-mobile-header.js +1 -1
  25. package/dist/components/ds-mobile-section-switcher.js +1 -1
  26. package/dist/components/ds-mobile-sheet-nav.js +1 -1
  27. package/dist/components/ds-modal.js +1 -1
  28. package/dist/components/ds-panel-sub-nav.js +1 -1
  29. package/dist/components/ds-radio.js +1 -1
  30. package/dist/components/ds-scroll-overlay.js +1 -1
  31. package/dist/components/ds-scroll-overlay.js.map +1 -1
  32. package/dist/components/ds-select.js +1 -1
  33. package/dist/components/ds-shell-app.js +1 -1
  34. package/dist/components/ds-shell-app.js.map +1 -1
  35. package/dist/components/ds-shell-page.js +1 -1
  36. package/dist/components/ds-shell-tools.js +1 -1
  37. package/dist/components/ds-skeleton.js +1 -1
  38. package/dist/components/ds-slider.js +1 -1
  39. package/dist/components/ds-switch.js +1 -1
  40. package/dist/components/ds-tab-group.js +1 -1
  41. package/dist/components/ds-table.d.ts +11 -0
  42. package/dist/components/ds-table.js +2 -0
  43. package/dist/components/ds-table.js.map +1 -0
  44. package/dist/components/ds-tag.js +1 -1
  45. package/dist/components/ds-tag.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/index.d.ts +30 -0
  49. package/dist/components/p-BFXN4ioL.js +2 -0
  50. package/dist/components/p-BFXN4ioL.js.map +1 -0
  51. package/dist/components/{p-DgglLVCj.js → p-BYre-ZDg.js} +2 -2
  52. package/dist/components/p-B_eqa09C.js +2 -0
  53. package/dist/components/p-B_eqa09C.js.map +1 -0
  54. package/dist/components/{p-BnGJrBPG.js → p-Bj7KrXzw.js} +2 -2
  55. package/dist/components/p-BxJurXEn.js +2 -0
  56. package/dist/components/p-BxJurXEn.js.map +1 -0
  57. package/dist/components/{p-Dg9qiMDa.js → p-C9StMCWg.js} +2 -2
  58. package/dist/components/p-CE82aQZr.js +2 -0
  59. package/dist/components/p-CE82aQZr.js.map +1 -0
  60. package/dist/components/p-CFNG0K3m.js +2 -0
  61. package/dist/components/p-CFNG0K3m.js.map +1 -0
  62. package/dist/components/{p-BQ7Nzx9A.js → p-Ch5yT3UA.js} +2 -2
  63. package/dist/components/{p-DJGdoPMG.js → p-DKftz0O8.js} +2 -2
  64. package/dist/components/p-DxygUurH.js +2 -0
  65. package/dist/components/p-DxygUurH.js.map +1 -0
  66. package/dist/components/{p-DCN04sgt.js → p-x9jO4lZ7.js} +2 -2
  67. package/dist/components/{p-DCN04sgt.js.map → p-x9jO4lZ7.js.map} +1 -1
  68. package/dist/docs/components.json +1567 -74
  69. package/dist/lib/components/MobileHeader/mobile-header-types.d.ts +3 -2
  70. package/dist/lib/components/ShellApp/shell-app-types.d.ts +4 -1
  71. package/dist/lib/components/ShellPage/shell-page-types.d.ts +5 -0
  72. package/dist/lib/shell/index.d.ts +1 -0
  73. package/dist/mcp-data/registry/bar-title.json +2 -1
  74. package/dist/mcp-data/registry/card-overview.json +1 -1
  75. package/dist/mcp-data/registry/mobile-header.json +48 -10
  76. package/dist/mcp-data/registry/mobile-sheet-nav.json +2 -2
  77. package/dist/mcp-data/registry/registry.json +308 -15
  78. package/dist/mcp-data/registry/shell-app.json +6 -3
  79. package/dist/mcp-data/registry/shell-page.json +32 -8
  80. package/dist/mcp-data/registry/shell-tools.json +4 -4
  81. package/dist/mcp-data/registry/tab-group.json +22 -2
  82. package/dist/mcp-data/registry/table.json +758 -0
  83. package/dist/mcp-data/registry/tag.json +22 -3
  84. package/dist/react/components.d.ts +1 -0
  85. package/dist/react/components.js +1 -0
  86. package/dist/react/ds-table.d.ts +16 -0
  87. package/dist/react/ds-table.js +18 -0
  88. package/dist/styles/table.css +677 -0
  89. package/dist/types/components/MobileHeader/MobileHeader.d.ts +8 -3
  90. package/dist/types/components/MobileHeader/index.d.ts +1 -1
  91. package/dist/types/components/MobileHeader/mobile-header-types.d.ts +3 -2
  92. package/dist/types/components/ShellApp/ShellApp.d.ts +8 -0
  93. package/dist/types/components/ShellApp/shell-app-types.d.ts +4 -1
  94. package/dist/types/components/ShellPage/ShellPage.d.ts +3 -1
  95. package/dist/types/components/ShellPage/index.d.ts +1 -1
  96. package/dist/types/components/ShellPage/shell-page-types.d.ts +1 -0
  97. package/dist/types/components/TabGroup/TabGroup.d.ts +3 -0
  98. package/dist/types/components/Table/Table.d.ts +115 -0
  99. package/dist/types/components/Table/index.d.ts +2 -0
  100. package/dist/types/components/Table/table-model.d.ts +29 -0
  101. package/dist/types/components/Table/table-types.d.ts +178 -0
  102. package/dist/types/components/Tag/Tag.d.ts +2 -0
  103. package/dist/types/components.d.ts +406 -8
  104. package/dist/types/shell/index.d.ts +1 -0
  105. package/package.json +3 -2
  106. package/dist/components/p-B_nHX-BW.js +0 -2
  107. package/dist/components/p-B_nHX-BW.js.map +0 -1
  108. package/dist/components/p-CVmtbj-6.js +0 -2
  109. package/dist/components/p-CVmtbj-6.js.map +0 -1
  110. package/dist/components/p-DW9p068S.js +0 -2
  111. package/dist/components/p-DW9p068S.js.map +0 -1
  112. package/dist/components/p-Xftomzsv.js +0 -2
  113. package/dist/components/p-Xftomzsv.js.map +0 -1
  114. package/dist/components/p-iyiOFsws.js +0 -2
  115. package/dist/components/p-iyiOFsws.js.map +0 -1
  116. /package/dist/components/{p-DgglLVCj.js.map → p-BYre-ZDg.js.map} +0 -0
  117. /package/dist/components/{p-BnGJrBPG.js.map → p-Bj7KrXzw.js.map} +0 -0
  118. /package/dist/components/{p-Dg9qiMDa.js.map → p-C9StMCWg.js.map} +0 -0
  119. /package/dist/components/{p-BQ7Nzx9A.js.map → p-Ch5yT3UA.js.map} +0 -0
  120. /package/dist/components/{p-DJGdoPMG.js.map → p-DKftz0O8.js.map} +0 -0
@@ -0,0 +1,677 @@
1
+ /*
2
+ * Renderer-neutral table recipe.
3
+ *
4
+ * Import `@ds-mo/ui/table.css` when product-owned native table markup needs
5
+ * the same visual primitives as `<ds-table>`. Selectors intentionally use
6
+ * zero specificity so applications can restyle any layer without fighting
7
+ * the recipe. The component consumes this exact source internally.
8
+ */
9
+
10
+ :where(.ds-table) {
11
+ --_table-cell-track-min-block-size: calc(
12
+ var(--dimension-size-400) - var(--dimension-space-050)
13
+ );
14
+ --_table-cell-track-padding-inline: calc(
15
+ var(--dimension-space-075) - var(--dimension-space-025)
16
+ );
17
+ --_table-cell-track-label-inset: var(--dimension-space-025);
18
+ --_table-image-block-size: calc(
19
+ var(--dimension-size-800) - var(--dimension-space-150)
20
+ );
21
+ --_table-surface: var(--ds-table-surface, var(--color-background-primary));
22
+ --_table-header-surface: var(--ds-table-header-surface, var(--color-background-primary));
23
+ --_table-group-surface: var(--ds-table-group-surface, var(--color-background-faint-neutral));
24
+ --_table-row-hover: var(--ds-table-row-hover, var(--color-interaction-hover));
25
+ --_table-row-pressed: var(--ds-table-row-pressed, var(--color-interaction-pressed));
26
+ --_table-row-selected: var(--ds-table-row-selected, var(--color-interaction-active-brand));
27
+ --_table-border: var(--ds-table-border, var(--color-border-secondary));
28
+ --_table-column-border: var(--ds-table-column-border, var(--color-border-tertiary));
29
+ --_table-border-strong: var(--ds-table-border-strong, var(--color-border-secondary));
30
+ --_table-overflow-shadow: var(--ds-table-overflow-shadow, var(--color-border-secondary));
31
+ --_table-radius: var(--ds-table-radius, var(--dimension-radius-075));
32
+ --_table-header-min-block-size: var(
33
+ --ds-table-header-min-block-size,
34
+ var(--dimension-size-400)
35
+ );
36
+ --_table-row-min-block-size: var(
37
+ --ds-table-row-min-block-size,
38
+ var(--dimension-size-500)
39
+ );
40
+ --_table-cell-padding-block: var(
41
+ --ds-table-cell-padding-block,
42
+ var(--dimension-space-100)
43
+ );
44
+ --_table-cell-padding-inline: var(
45
+ --ds-table-cell-padding-inline,
46
+ var(--dimension-space-100)
47
+ );
48
+ --_table-selection-column-inline-size: var(
49
+ --ds-table-selection-column-inline-size,
50
+ var(--dimension-size-500)
51
+ );
52
+ --_table-selection-column-contribution: 0;
53
+ display: block;
54
+ box-sizing: border-box;
55
+ min-inline-size: 0;
56
+ max-inline-size: 100%;
57
+ color: var(--color-foreground-primary);
58
+ -webkit-user-select: none;
59
+ user-select: none;
60
+ }
61
+
62
+ :where(.ds-table__frame) {
63
+ position: relative;
64
+ box-sizing: border-box;
65
+ min-inline-size: 0;
66
+ max-inline-size: 100%;
67
+ overflow: hidden;
68
+ border: var(--dimension-stroke-width-012) solid var(--_table-border-strong);
69
+ border-radius: var(--_table-radius);
70
+ background: var(--_table-surface);
71
+ }
72
+
73
+ :where(.ds-table__frame)::before,
74
+ :where(.ds-table__frame)::after {
75
+ content: '';
76
+ position: absolute;
77
+ inset-block: 0;
78
+ z-index: 3;
79
+ inline-size: var(--dimension-space-200);
80
+ pointer-events: none;
81
+ opacity: 0;
82
+ transition: opacity var(--effect-motion-short-2);
83
+ }
84
+
85
+ :where(.ds-table__frame)::before {
86
+ inset-inline-start: 0;
87
+ background: linear-gradient(to right, var(--_table-overflow-shadow), transparent);
88
+ }
89
+
90
+ :where(.ds-table__frame)::after {
91
+ inset-inline-end: 0;
92
+ background: linear-gradient(to left, var(--_table-overflow-shadow), transparent);
93
+ }
94
+
95
+ :where(.ds-table__frame--overflow-start)::before,
96
+ :where(.ds-table__frame--overflow-end)::after {
97
+ opacity: var(--effect-opacity-low);
98
+ }
99
+
100
+ :where(.ds-table__viewport) {
101
+ box-sizing: border-box;
102
+ max-block-size: var(--ds-table-max-block-size, none);
103
+ max-inline-size: 100%;
104
+ min-inline-size: 0;
105
+ overflow: auto;
106
+ overscroll-behavior: contain;
107
+ scrollbar-gutter: stable;
108
+ outline: none;
109
+ }
110
+
111
+ :where(.ds-table__viewport:focus-visible) {
112
+ outline: var(--dimension-stroke-width-025) solid var(--color-interaction-focus);
113
+ outline-offset: calc(-1 * var(--dimension-stroke-width-025));
114
+ }
115
+
116
+ :where(.ds-table__table) {
117
+ box-sizing: border-box;
118
+ inline-size: 100%;
119
+ min-inline-size: max(100%, var(--ds-table-explicit-min-inline-size, 0));
120
+ border: 0;
121
+ border-spacing: 0;
122
+ border-collapse: separate;
123
+ table-layout: fixed;
124
+ background: var(--_table-surface);
125
+ color: inherit;
126
+ }
127
+
128
+ :where(.ds-table__table--selectable) {
129
+ --_table-selection-column-contribution: var(--_table-selection-column-inline-size);
130
+ min-inline-size: max(
131
+ 100%,
132
+ calc(var(--ds-table-explicit-min-inline-size, 0) + var(--_table-selection-column-contribution))
133
+ );
134
+ }
135
+
136
+ :where(.ds-table__caption) {
137
+ padding: var(--_table-cell-padding-inline);
138
+ border-block-end: var(--dimension-stroke-width-012) solid var(--_table-border);
139
+ background: var(--_table-surface);
140
+ text-align: start;
141
+ }
142
+
143
+ :where(.ds-table__selection-column) {
144
+ inline-size: var(--_table-selection-column-inline-size);
145
+ }
146
+
147
+ :where(.ds-table__head) {
148
+ position: relative;
149
+ z-index: 1;
150
+ }
151
+
152
+ :where(.ds-table--sticky-header .ds-table__head) {
153
+ position: sticky;
154
+ inset-block-start: 0;
155
+ z-index: 2;
156
+ }
157
+
158
+ :where(.ds-table__header-row) {
159
+ min-block-size: var(--_table-header-min-block-size);
160
+ background: var(--_table-header-surface);
161
+ }
162
+
163
+ :where(.ds-table__header-cell),
164
+ :where(.ds-table__cell),
165
+ :where(.ds-table__group-cell),
166
+ :where(.ds-table__load-cell),
167
+ :where(.ds-table__state-cell) {
168
+ box-sizing: border-box;
169
+ border: 0;
170
+ border-block-end: var(--dimension-stroke-width-012) solid var(--_table-border);
171
+ text-align: start;
172
+ vertical-align: middle;
173
+ }
174
+
175
+ :where(.ds-table__header-cell) {
176
+ min-block-size: calc(
177
+ var(--_table-header-min-block-size) - var(--dimension-space-100) - var(--dimension-space-100)
178
+ );
179
+ block-size: calc(
180
+ var(--_table-header-min-block-size) - var(--dimension-space-100) - var(--dimension-space-100)
181
+ );
182
+ padding: var(--dimension-space-100);
183
+ border-block-end: 0;
184
+ box-shadow: inset 0 calc(-1 * var(--dimension-stroke-width-012)) 0 var(--_table-border);
185
+ background: var(--_table-header-surface);
186
+ color: var(--color-foreground-secondary);
187
+ }
188
+
189
+ :where(.ds-table__cell) {
190
+ min-block-size: var(--_table-row-min-block-size);
191
+ block-size: var(--_table-row-min-block-size);
192
+ padding: var(--_table-cell-padding-block) var(--_table-cell-padding-inline);
193
+ border-block-end: 0;
194
+ background-color: inherit;
195
+ background-image: linear-gradient(var(--_table-border), var(--_table-border));
196
+ background-repeat: no-repeat;
197
+ background-position: bottom;
198
+ background-size: 100% var(--dimension-stroke-width-012);
199
+ vertical-align: top;
200
+ }
201
+
202
+ :where(.ds-table__header-cell + .ds-table__header-cell),
203
+ :where(.ds-table__cell + .ds-table__cell) {
204
+ border-inline-start: var(--dimension-stroke-width-012) solid var(--_table-column-border);
205
+ }
206
+
207
+ :where(.ds-table__header-labels),
208
+ :where(.ds-table__header-static),
209
+ :where(.ds-table__header-label) {
210
+ display: flex;
211
+ align-items: center;
212
+ box-sizing: border-box;
213
+ min-inline-size: 0;
214
+ block-size: var(--dimension-size-200);
215
+ padding: 0;
216
+ color: inherit;
217
+ text-align: inherit;
218
+ }
219
+
220
+ :where(.ds-table__header-labels) {
221
+ flex: 0 1 auto;
222
+ }
223
+
224
+ :where(.ds-table__header-label) {
225
+ flex: 0 1 auto;
226
+ inline-size: fit-content;
227
+ padding-inline: var(--dimension-space-025);
228
+ color: var(--color-foreground-secondary);
229
+ }
230
+
231
+ :where(.ds-table__header-label[data-sort-active='true']) {
232
+ color: var(--color-foreground-primary);
233
+ }
234
+
235
+ :where(.ds-table__header-label-box) {
236
+ min-inline-size: 0;
237
+ padding-inline: var(--dimension-space-025);
238
+ }
239
+
240
+ :where(.ds-table__header-label--interactive) {
241
+ appearance: none;
242
+ border: 0;
243
+ border-radius: var(--dimension-radius-025);
244
+ background: transparent;
245
+ cursor: default;
246
+ outline: none;
247
+ -webkit-tap-highlight-color: transparent;
248
+ }
249
+
250
+ @media (hover: hover) and (pointer: fine) {
251
+ :where(.ds-table__header-label--interactive:hover) {
252
+ color: var(--color-foreground-primary);
253
+ }
254
+
255
+ :where(.ds-table__row:not(.ds-table__row--disabled):hover) {
256
+ background: var(--_table-row-hover);
257
+ }
258
+ }
259
+
260
+ :where(.ds-table__header-label--interactive:active) {
261
+ color: var(--color-foreground-primary);
262
+ }
263
+
264
+ :where(.ds-table__header-label--interactive:focus-visible),
265
+ :where(.ds-table__selection-control:focus-visible) {
266
+ outline: var(--dimension-stroke-width-025) solid var(--color-interaction-focus);
267
+ outline-offset: calc(-1 * var(--dimension-stroke-width-025));
268
+ }
269
+
270
+ :where(.ds-table__header-content),
271
+ :where(.ds-table__header-labels),
272
+ :where(.ds-table__header-segment),
273
+ :where(.ds-table__sort-slot),
274
+ :where(.ds-table__group-content),
275
+ :where(.ds-table__load-content) {
276
+ display: inline-flex;
277
+ align-items: center;
278
+ min-inline-size: 0;
279
+ }
280
+
281
+ :where(.ds-table__header-content) {
282
+ display: flex;
283
+ inline-size: 100%;
284
+ gap: var(--dimension-space-050);
285
+ }
286
+
287
+ :where(.ds-table__header-labels) {
288
+ max-inline-size: 100%;
289
+ gap: var(--dimension-space-025);
290
+ }
291
+
292
+ :where(.ds-table__header-segment) {
293
+ flex: 0 1 auto;
294
+ gap: var(--dimension-space-025);
295
+ }
296
+
297
+ :where(.ds-table__header-separator) {
298
+ flex: 0 0 auto;
299
+ }
300
+
301
+ :where(.ds-table__sort-slot) {
302
+ justify-content: center;
303
+ flex: 0 0 auto;
304
+ inline-size: var(--dimension-size-200);
305
+ block-size: var(--dimension-size-200);
306
+ margin-inline-start: auto;
307
+ }
308
+
309
+ :where(.ds-table__cell--align-center .ds-table__header-content) {
310
+ justify-content: center;
311
+ }
312
+
313
+ :where(.ds-table__cell--align-center .ds-table__sort-slot),
314
+ :where(.ds-table__cell--align-end .ds-table__sort-slot) {
315
+ margin-inline-start: 0;
316
+ }
317
+
318
+ :where(.ds-table__cell--align-end .ds-table__header-labels) {
319
+ margin-inline-start: auto;
320
+ }
321
+
322
+ :where(.ds-table__cell-content),
323
+ :where(.ds-table__cell-copy) {
324
+ display: flex;
325
+ min-inline-size: 0;
326
+ max-inline-size: 100%;
327
+ }
328
+
329
+ :where(.ds-table__cell-content) {
330
+ align-items: flex-start;
331
+ min-block-size: var(--_table-cell-track-min-block-size);
332
+ }
333
+
334
+ :where(.ds-table__cell-copy) {
335
+ flex: 1;
336
+ flex-direction: column;
337
+ justify-content: flex-start;
338
+ }
339
+
340
+ :where(.ds-table__cell-track) {
341
+ display: flex;
342
+ align-items: center;
343
+ box-sizing: border-box;
344
+ min-inline-size: 0;
345
+ min-block-size: var(--_table-cell-track-min-block-size);
346
+ }
347
+
348
+ :where(.ds-table__cell-track--text) {
349
+ inline-size: 100%;
350
+ padding-inline: var(--_table-cell-track-label-inset);
351
+ }
352
+
353
+ :where(.ds-table__cell--text-single),
354
+ :where(.ds-table__cell--text-multi),
355
+ :where(.ds-table__cell--primary-text),
356
+ :where(.ds-table__cell--empty),
357
+ :where(.ds-table__cell--blank) {
358
+ padding: var(--dimension-space-125);
359
+ }
360
+
361
+ :where(.ds-table__cell--text-single .ds-table__cell-content),
362
+ :where(.ds-table__cell--text-multi .ds-table__cell-content),
363
+ :where(.ds-table__cell--primary-text .ds-table__cell-content),
364
+ :where(.ds-table__cell--empty .ds-table__cell-content),
365
+ :where(.ds-table__cell--blank .ds-table__cell-content),
366
+ :where(.ds-table__cell--text-single .ds-table__cell-track),
367
+ :where(.ds-table__cell--text-multi .ds-table__cell-track),
368
+ :where(.ds-table__cell--primary-text .ds-table__cell-track),
369
+ :where(.ds-table__cell--empty .ds-table__cell-track) {
370
+ min-block-size: 0;
371
+ }
372
+
373
+ :where(.ds-table__cell--text-multi .ds-table__cell-copy) {
374
+ gap: var(--dimension-space-050);
375
+ }
376
+
377
+ :where(.ds-table__cell--text-multi .ds-table__cell-secondary) {
378
+ padding-block: var(--dimension-space-025);
379
+ }
380
+
381
+ :where(.ds-table__cell--primary-text .ds-table__cell-secondary) {
382
+ padding-block: 0;
383
+ }
384
+
385
+ :where(.ds-table__cell--tag-tag-only),
386
+ :where(.ds-table__cell--tag-tag-with-text) {
387
+ padding: var(--dimension-space-075);
388
+ }
389
+
390
+ :where(.ds-table__cell--tag-text-with-tag) {
391
+ padding: var(--dimension-space-125);
392
+ }
393
+
394
+ :where(.ds-table__cell-tag-stack) {
395
+ display: flex;
396
+ flex-direction: column;
397
+ align-items: flex-start;
398
+ box-sizing: border-box;
399
+ min-inline-size: 0;
400
+ max-inline-size: 100%;
401
+ }
402
+
403
+ :where(.ds-table__cell-tag-text) {
404
+ inline-size: 100%;
405
+ }
406
+
407
+ :where(.ds-table__cell-tag-stack--tag-with-text .ds-table__cell-tag-text) {
408
+ padding-inline: calc(
409
+ var(--_table-cell-track-padding-inline) + var(--_table-cell-track-label-inset)
410
+ );
411
+ padding-block: var(--dimension-space-025);
412
+ min-block-size: 0;
413
+ }
414
+
415
+ :where(.ds-table__cell-tag-stack--text-with-tag .ds-table__cell-tag-text) {
416
+ padding-inline: var(--_table-cell-track-label-inset);
417
+ min-block-size: 0;
418
+ }
419
+
420
+ :where(.ds-table__cell-tag-stack--text-with-tag) {
421
+ gap: var(--dimension-space-050);
422
+ }
423
+
424
+ :where(.ds-table__cell-tag-control-track) {
425
+ display: flex;
426
+ align-items: center;
427
+ min-block-size: var(--_table-cell-track-min-block-size);
428
+ }
429
+
430
+ :where(.ds-table__cell-tag-stack--text-with-tag .ds-table__cell-tag-control-track) {
431
+ min-block-size: 0;
432
+ }
433
+
434
+ :where(.ds-table__cell--icon) {
435
+ padding: var(--dimension-space-125);
436
+ }
437
+
438
+ :where(.ds-table__cell--icon .ds-table__cell-content) {
439
+ align-items: center;
440
+ justify-content: center;
441
+ inline-size: 100%;
442
+ min-block-size: var(--dimension-iconography-md);
443
+ }
444
+
445
+ :where(.ds-table__cell--image) {
446
+ padding: var(--dimension-space-075);
447
+ }
448
+
449
+ :where(.ds-table__cell-image) {
450
+ display: block;
451
+ box-sizing: border-box;
452
+ flex: none;
453
+ block-size: var(--_table-image-block-size);
454
+ aspect-ratio: 16 / 9;
455
+ overflow: hidden;
456
+ border: var(--dimension-stroke-width-012) solid var(--color-border-tertiary);
457
+ border-radius: var(--dimension-radius-025);
458
+ }
459
+
460
+ :where(.ds-table__cell-image-content),
461
+ :where(.ds-table__cell-image-placeholder) {
462
+ display: block;
463
+ inline-size: 100%;
464
+ block-size: 100%;
465
+ }
466
+
467
+ :where(.ds-table__cell-image-content) {
468
+ object-fit: cover;
469
+ }
470
+
471
+ :where(.ds-table__cell--action) {
472
+ padding: var(--dimension-space-100);
473
+ }
474
+
475
+ :where(.ds-table__cell--action .ds-table__cell-content) {
476
+ min-block-size: var(--dimension-size-300);
477
+ }
478
+
479
+ :where(.ds-table__cell-primary),
480
+ :where(.ds-table__cell-secondary) {
481
+ min-inline-size: 0;
482
+ }
483
+
484
+ :where(.ds-table__cell-copy--wrap) {
485
+ overflow-wrap: anywhere;
486
+ }
487
+
488
+ :where(.ds-table__cell--align-center),
489
+ :where(.ds-table__cell--align-center .ds-table__cell-content),
490
+ :where(.ds-table__cell--align-center .ds-table__cell-track),
491
+ :where(.ds-table__cell--align-center .ds-table__header-static),
492
+ :where(.ds-table__cell--align-center .ds-table__header-labels),
493
+ :where(.ds-table__cell--align-center .ds-table__header-label) {
494
+ text-align: center;
495
+ justify-content: center;
496
+ }
497
+
498
+ :where(.ds-table__cell--align-end),
499
+ :where(.ds-table__cell--align-end .ds-table__cell-content),
500
+ :where(.ds-table__cell--align-end .ds-table__cell-track),
501
+ :where(.ds-table__cell--align-end .ds-table__header-static),
502
+ :where(.ds-table__cell--align-end .ds-table__header-labels),
503
+ :where(.ds-table__cell--align-end .ds-table__header-label) {
504
+ text-align: end;
505
+ justify-content: flex-end;
506
+ }
507
+
508
+ :where(.ds-table__body) {
509
+ background: var(--_table-surface);
510
+ }
511
+
512
+ :where(.ds-table__row) {
513
+ min-block-size: var(--_table-row-min-block-size);
514
+ background: var(--_table-surface);
515
+ transition: background-color var(--effect-motion-short-2);
516
+ }
517
+
518
+ :where(.ds-table__row:active:not(.ds-table__row--disabled)) {
519
+ background: var(--_table-row-pressed);
520
+ }
521
+
522
+ :where(.ds-table__row--selected) {
523
+ background: var(--_table-row-selected);
524
+ }
525
+
526
+ :where(.ds-table__row--disabled) {
527
+ color: var(--color-foreground-tertiary);
528
+ opacity: var(--effect-opacity-medium);
529
+ }
530
+
531
+ :where(.ds-table__selection-cell) {
532
+ inline-size: var(--_table-selection-column-inline-size);
533
+ padding: 0;
534
+ text-align: center;
535
+ }
536
+
537
+ :where(.ds-table__cell.ds-table__selection-cell) {
538
+ padding: var(--dimension-space-125);
539
+ }
540
+
541
+ :where(.ds-table__selection-control) {
542
+ appearance: none;
543
+ display: inline-flex;
544
+ align-items: center;
545
+ justify-content: center;
546
+ box-sizing: border-box;
547
+ inline-size: 100%;
548
+ min-block-size: calc(
549
+ var(--_table-header-min-block-size) - var(--dimension-stroke-width-012)
550
+ );
551
+ padding: 0;
552
+ border: 0;
553
+ border-radius: 0;
554
+ background: transparent;
555
+ color: inherit;
556
+ cursor: default;
557
+ outline: none;
558
+ }
559
+
560
+ :where(.ds-table__cell.ds-table__selection-cell .ds-table__selection-control) {
561
+ inline-size: var(--dimension-iconography-md);
562
+ min-block-size: var(--dimension-iconography-md);
563
+ block-size: var(--dimension-iconography-md);
564
+ }
565
+
566
+ :where(.ds-table__selection-control:disabled) {
567
+ cursor: default;
568
+ }
569
+
570
+ :where(.ds-table__selection-control:disabled ds-checkbox) {
571
+ opacity: var(--effect-opacity-medium);
572
+ }
573
+
574
+ :where(.ds-table__group-cell) {
575
+ min-block-size: var(--_table-header-min-block-size);
576
+ padding: var(--dimension-space-075) var(--_table-cell-padding-inline);
577
+ background: var(--_table-group-surface);
578
+ }
579
+
580
+ :where(.ds-table__group-content) {
581
+ gap: var(--dimension-space-075);
582
+ }
583
+
584
+ :where(.ds-table__load-cell),
585
+ :where(.ds-table__state-cell) {
586
+ padding: var(--dimension-space-200) var(--_table-cell-padding-inline);
587
+ background: var(--_table-surface);
588
+ text-align: center;
589
+ }
590
+
591
+ :where(.ds-table__load-content) {
592
+ justify-content: center;
593
+ gap: var(--dimension-space-100);
594
+ }
595
+
596
+ :where(.ds-table__load-content--error) {
597
+ flex-wrap: wrap;
598
+ }
599
+
600
+ :where(.ds-table__auto-sentinel) {
601
+ display: block;
602
+ min-block-size: var(--dimension-space-025);
603
+ }
604
+
605
+ :where(.ds-table__state-cell) {
606
+ block-size: calc(var(--dimension-size-800) * 2);
607
+ }
608
+
609
+ :where(.ds-table__skeleton-row) {
610
+ pointer-events: none;
611
+ }
612
+
613
+ :where(.ds-table__skeleton-row:last-child .ds-table__cell),
614
+ :where(.ds-table__load-row:last-child .ds-table__load-cell),
615
+ :where(.ds-table__state-row:last-child .ds-table__state-cell),
616
+ :where(.ds-table__body:last-child .ds-table__row:last-child .ds-table__cell) {
617
+ border-block-end: 0;
618
+ background-image: none;
619
+ }
620
+
621
+ :where(.ds-visually-hidden) {
622
+ position: absolute;
623
+ inline-size: var(--dimension-stroke-width-012);
624
+ block-size: var(--dimension-stroke-width-012);
625
+ padding: 0;
626
+ margin: calc(-1 * var(--dimension-stroke-width-012));
627
+ overflow: hidden;
628
+ clip: rect(0 0 0 0);
629
+ white-space: nowrap;
630
+ border: 0;
631
+ }
632
+
633
+ @media (prefers-reduced-motion: reduce) {
634
+ :where(.ds-table__frame)::before,
635
+ :where(.ds-table__frame)::after,
636
+ :where(.ds-table__row) {
637
+ transition: none;
638
+ }
639
+ }
640
+
641
+ @media (forced-colors: active) {
642
+ :where(.ds-table) {
643
+ --_table-surface: var(--ds-forced-color-surface);
644
+ --_table-header-surface: var(--ds-forced-color-surface);
645
+ --_table-group-surface: var(--ds-forced-color-surface);
646
+ --_table-border: var(--ds-forced-color-control-boundary);
647
+ --_table-column-border: var(--ds-forced-color-control-boundary);
648
+ --_table-border-strong: var(--ds-forced-color-control-boundary);
649
+ color: var(--ds-forced-color-content);
650
+ }
651
+
652
+ :where(.ds-table__frame)::before,
653
+ :where(.ds-table__frame)::after {
654
+ display: none;
655
+ }
656
+
657
+ :where(.ds-table__row--selected > .ds-table__cell) {
658
+ background: var(--ds-forced-color-selected);
659
+ color: var(--ds-forced-color-on-selected);
660
+ }
661
+
662
+ :where(.ds-table__row--disabled) {
663
+ color: var(--ds-forced-color-disabled);
664
+ opacity: 1;
665
+ }
666
+
667
+ :where(.ds-table__selection-control:disabled ds-checkbox) {
668
+ --ds-forced-color-content: var(--ds-forced-color-disabled);
669
+ opacity: 1;
670
+ }
671
+
672
+ :where(.ds-table__header-label--interactive:focus-visible),
673
+ :where(.ds-table__selection-control:focus-visible),
674
+ :where(.ds-table__viewport:focus-visible) {
675
+ outline-color: var(--ds-forced-color-selected);
676
+ }
677
+ }
@@ -1,17 +1,22 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
- import { type TabItem } from '../TabGroup/tab-item-utils';
3
- import type { MobileHeaderHeadingLevel, MobileHeaderTone } from './mobile-header-types';
2
+ import { type TabGroupItem, type TabItem } from '../TabGroup/tab-item-utils';
3
+ import type { TabGroupSize } from '../TabGroup/TabGroup';
4
+ import type { MobileHeaderHeadingLevel, MobileHeaderSectionsPresentation, MobileHeaderTone } from './mobile-header-types';
4
5
  export declare class MobileHeader {
5
6
  /** Static title used when no peer sections are supplied. */
6
7
  heading: string;
7
8
  /** Semantic heading level for the active mobile screen. */
8
9
  headingLevel: MobileHeaderHeadingLevel;
9
10
  /** Controlled peer sections. Their selected label replaces the static title. */
10
- sections: TabItem[];
11
+ sections: TabGroupItem[];
11
12
  /** Controlled selected section id. */
12
13
  value: string;
13
14
  /** Accessible name for the section chooser. */
14
15
  sectionsAriaLabel: string;
16
+ /** Popup switcher or an inline segmented TabGroup for peer sections. */
17
+ sectionsPresentation: MobileHeaderSectionsPresentation;
18
+ /** Density for the segmented sections presentation. */
19
+ sectionsSize: TabGroupSize;
15
20
  /** Controlled child sections within the selected page or detail screen. */
16
21
  subsections: TabItem[];
17
22
  /** Controlled selected child-section id. */
@@ -1,2 +1,2 @@
1
- export type { MobileHeaderHeadingLevel, MobileHeaderSectionItem, MobileHeaderTone, } from './mobile-header-types';
1
+ export type { MobileHeaderHeadingLevel, MobileHeaderSectionItem, MobileHeaderSectionsPresentation, MobileHeaderTone, } from './mobile-header-types';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1,5 +1,6 @@
1
- import type { TabItem } from '../TabGroup/tab-item-utils';
1
+ import type { TabGroupItem } from '../TabGroup/tab-item-utils';
2
2
  export type MobileHeaderTone = 'default' | 'brand';
3
3
  export type MobileHeaderHeadingLevel = 'h1' | 'h2';
4
- export type MobileHeaderSectionItem = TabItem;
4
+ export type MobileHeaderSectionsPresentation = 'switcher' | 'segmented';
5
+ export type MobileHeaderSectionItem = TabGroupItem;
5
6
  //# sourceMappingURL=mobile-header-types.d.ts.map