@ds-mo/ui 14.24.0 → 14.26.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 +1 -1
- package/dist/agent.json +341 -13
- package/dist/angular/ds-score.d.ts +12 -0
- package/dist/angular/ds-score.js +38 -0
- package/dist/angular/ds-textarea.d.ts +15 -0
- package/dist/angular/ds-textarea.js +43 -0
- package/dist/angular/index.d.ts +1 -1
- package/dist/angular/index.js +2 -0
- package/dist/angular/proxies.d.ts +2 -0
- package/dist/angular/proxies.js +2 -0
- package/dist/angular/text-value-accessor.d.ts +1 -1
- package/dist/angular/text-value-accessor.js +2 -2
- package/dist/components/ds-agent-activity.js +1 -1
- package/dist/components/ds-agent-questionnaire.js +1 -1
- package/dist/components/ds-agent-response.js +1 -1
- package/dist/components/ds-agent-source-list.js +1 -1
- package/dist/components/ds-agent-tool-call.js +1 -1
- package/dist/components/ds-attachment-list.js +1 -1
- package/dist/components/ds-badge.js +1 -1
- package/dist/components/ds-banner.js +1 -1
- package/dist/components/ds-bar-action.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-breadcrumb.js +1 -1
- package/dist/components/ds-button-filled.js +1 -1
- package/dist/components/ds-button-unfilled.js +1 -1
- package/dist/components/ds-card-chart.js +1 -1
- package/dist/components/ds-card-overview.js +1 -1
- package/dist/components/ds-card-overview.js.map +1 -1
- package/dist/components/ds-card-setting.js +1 -1
- package/dist/components/ds-chart-legend.js +1 -1
- package/dist/components/ds-chart.js +1 -1
- package/dist/components/ds-checkbox.js +1 -1
- package/dist/components/ds-chip.js +1 -1
- package/dist/components/ds-code-block.js +1 -1
- package/dist/components/ds-conversation-list-item.js +1 -1
- package/dist/components/ds-conversation-list-section.js +1 -1
- package/dist/components/ds-empty-state.js +1 -1
- package/dist/components/ds-field.js +1 -1
- package/dist/components/ds-filter-menu.js +1 -1
- package/dist/components/ds-input.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-message.js +1 -1
- package/dist/components/ds-mobile-bar-nav.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-pagination.js +1 -1
- package/dist/components/ds-panel-nav.js +1 -1
- package/dist/components/ds-panel-sub-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-paper-texture.js +1 -1
- package/dist/components/ds-radio.js +1 -1
- package/dist/components/ds-score.d.ts +11 -0
- package/dist/components/ds-score.js +2 -0
- package/dist/components/ds-score.js.map +1 -0
- package/dist/components/ds-select.js +1 -1
- package/dist/components/ds-shell-app.js +1 -1
- package/dist/components/ds-shell-page.js +1 -1
- package/dist/components/ds-shell-tools.js +1 -1
- package/dist/components/ds-slider.js +1 -1
- package/dist/components/ds-swatch-picker.js +1 -1
- package/dist/components/ds-tab-group.js +1 -1
- package/dist/components/ds-table-filter.js +1 -1
- package/dist/components/ds-table-group.js +1 -1
- package/dist/components/ds-table-saved-views.js +1 -1
- package/dist/components/ds-table-search.js +1 -1
- package/dist/components/ds-table-sort.js +1 -1
- package/dist/components/ds-table-toolbar.js +1 -1
- package/dist/components/ds-table.js +1 -1
- package/dist/components/ds-table.js.map +1 -1
- package/dist/components/ds-tag.js +1 -1
- package/dist/components/ds-text.js +1 -1
- package/dist/components/ds-textarea.d.ts +11 -0
- package/dist/components/ds-textarea.js +2 -0
- package/dist/components/ds-textarea.js.map +1 -0
- package/dist/components/ds-toast.js +1 -1
- package/dist/components/ds-tooltip-chart.js +1 -1
- package/dist/components/ds-tooltip.js +1 -1
- package/dist/components/ds-typing-indicator.js +1 -1
- package/dist/components/{p-DLaN9BPq.js → p-1604KY3B.js} +2 -2
- package/dist/components/{p-CYMKmJ2s.js → p-2wIPUcSL.js} +2 -2
- package/dist/components/{p-CEfxLsbX.js → p-537t6oRD.js} +2 -2
- package/dist/components/{p-kslioYhf.js → p-6_CNVbqa.js} +2 -2
- package/dist/components/{p-PXdvBMXB.js → p-B3Z5sQin.js} +2 -2
- package/dist/components/{p-CZjjDhUl.js → p-B3sRZBZk.js} +2 -2
- package/dist/components/{p-BZlhBJZL.js → p-B9esvbYk.js} +2 -2
- package/dist/components/{p-5Z4oYuiK.js → p-BEXkJ9lg.js} +2 -2
- package/dist/components/{p-DbLLH3hr.js → p-BIGpc__9.js} +2 -2
- package/dist/components/{p-DzPtYdXy.js → p-BMzn2Cmw.js} +2 -2
- package/dist/components/{p-BSRIF4m8.js → p-BRLDf-NK.js} +2 -2
- package/dist/components/{p-0X-4KGQf.js → p-BUh2GkPJ.js} +2 -2
- package/dist/components/{p-pUOA3iDG.js → p-BVpn_e-r.js} +2 -2
- package/dist/components/{p-CpeJMKJ5.js → p-BVz-r3g0.js} +2 -2
- package/dist/components/{p-CBymzuOO.js → p-BXDLR072.js} +2 -2
- package/dist/components/{p-DiS5BgLA.js → p-BZiGtBBk.js} +2 -2
- package/dist/components/{p-BcxidW9k.js → p-Bb9dA7sl.js} +2 -2
- package/dist/components/{p-BR1ayqMU.js → p-Bjt_8sLe.js} +2 -2
- package/dist/components/{p-BqbdABo3.js → p-BssZ4SbT.js} +2 -2
- package/dist/components/{p-bHnk8t5I.js → p-C68oSTb1.js} +2 -2
- package/dist/components/{p-C_FFU6W3.js → p-CGQnHNuW.js} +2 -2
- package/dist/components/{p-BqVXMEJm.js → p-CQjUOHiN.js} +2 -2
- package/dist/components/{p-w9fkkwL2.js → p-CaF5WCci.js} +2 -2
- package/dist/components/{p-Bjq1KP_Y.js → p-Cf5Ai4xx.js} +2 -2
- package/dist/components/{p-B0kSlcaw.js → p-Cr6pDY-e.js} +2 -2
- package/dist/components/{p-FxtgCvhA.js → p-Cy1oWIaV.js} +2 -2
- package/dist/components/{p-CTH3dSYg.js → p-DDqRCDXh.js} +2 -2
- package/dist/components/{p-x5u5Ueli.js → p-DIqAdmui.js} +2 -2
- package/dist/components/{p-Cd1JnnVK.js → p-DQQsS9Rx.js} +2 -2
- package/dist/components/{p-CZHIkVgj.js → p-DQsFmleZ.js} +2 -2
- package/dist/components/p-DRyrcR2k.js +2 -0
- package/dist/components/p-DRyrcR2k.js.map +1 -0
- package/dist/components/{p-CE2b5GPu.js → p-DVLghmNY.js} +2 -2
- package/dist/components/p-DW8ssbfI.js +2 -0
- package/dist/components/p-DW8ssbfI.js.map +1 -0
- package/dist/components/{p-BXv6RpoF.js → p-DZcIt_JJ.js} +2 -2
- package/dist/components/{p-CglHiyY2.js → p-DkxOEFHN.js} +2 -2
- package/dist/components/{p-DeK_6Uym.js → p-DlbhmXjH.js} +2 -2
- package/dist/components/{p-Bq8svcPs.js → p-GEi3hDJQ.js} +2 -2
- package/dist/components/p-LMmrjmI_.js +2 -0
- package/dist/components/p-LMmrjmI_.js.map +1 -0
- package/dist/components/{p-DI8DUozc.js → p-Q0dkeoJ6.js} +2 -2
- package/dist/components/{p-XaCYqck3.js → p-Q7AOgrg5.js} +2 -2
- package/dist/components/{p-B0OZx3JB.js → p-WFo1x6dN.js} +2 -2
- package/dist/components/{p-CEXchU5N.js → p-to8BxxgT.js} +2 -2
- package/dist/docs/components.json +1104 -3
- package/dist/mcp-data/registry/card-overview.json +8 -6
- package/dist/mcp-data/registry/field.json +5 -4
- package/dist/mcp-data/registry/panel-nav.json +2 -1
- package/dist/mcp-data/registry/registry.json +346 -12
- package/dist/mcp-data/registry/score.json +241 -0
- package/dist/mcp-data/registry/shell-app.json +1 -0
- package/dist/mcp-data/registry/table.json +17 -14
- package/dist/mcp-data/registry/textarea.json +600 -0
- package/dist/mcp-data/registry/tooltip.json +5 -5
- package/dist/react/components.d.ts +2 -0
- package/dist/react/components.js +2 -0
- package/dist/react/ds-score.d.ts +9 -0
- package/dist/react/ds-score.js +12 -0
- package/dist/react/ds-textarea.d.ts +12 -0
- package/dist/react/ds-textarea.js +12 -0
- package/dist/styles/table.css +201 -70
- package/dist/types/components/CardOverview/card-overview-controller.d.ts +2 -2
- package/dist/types/components/CardOverview/card-overview-types.d.ts +2 -1
- package/dist/types/components/Score/Score.d.ts +21 -0
- package/dist/types/components/Score/index.d.ts +3 -0
- package/dist/types/components/Score/score-model.d.ts +14 -0
- package/dist/types/components/Score/score-types.d.ts +5 -0
- package/dist/types/components/Table/Table.d.ts +5 -2
- package/dist/types/components/Table/index.d.ts +1 -1
- package/dist/types/components/Table/table-cell-model.d.ts +12 -0
- package/dist/types/components/Table/table-model.d.ts +10 -1
- package/dist/types/components/Table/table-render-model.d.ts +3 -1
- package/dist/types/components/Table/table-row-view.d.ts +2 -1
- package/dist/types/components/Table/table-types.d.ts +60 -1
- package/dist/types/components/Table/table-virtual-model.d.ts +6 -5
- package/dist/types/components/Textarea/Textarea.d.ts +66 -0
- package/dist/types/components/Textarea/index.d.ts +2 -0
- package/dist/types/components/Tooltip/Tooltip.d.ts +1 -1
- package/dist/types/components.d.ts +324 -2
- package/dist/vue/components.d.ts +2 -0
- package/dist/vue/components.js +2 -0
- package/dist/vue/ds-score.d.ts +3 -0
- package/dist/vue/ds-score.js +12 -0
- package/dist/vue/ds-textarea.d.ts +3 -0
- package/dist/vue/ds-textarea.js +36 -0
- package/package.json +1 -1
- package/dist/components/p-9X_p0bHr.js +0 -2
- package/dist/components/p-9X_p0bHr.js.map +0 -1
- package/dist/components/p-Bo6uW_8T.js +0 -2
- package/dist/components/p-Bo6uW_8T.js.map +0 -1
- /package/dist/components/{p-DLaN9BPq.js.map → p-1604KY3B.js.map} +0 -0
- /package/dist/components/{p-CYMKmJ2s.js.map → p-2wIPUcSL.js.map} +0 -0
- /package/dist/components/{p-CEfxLsbX.js.map → p-537t6oRD.js.map} +0 -0
- /package/dist/components/{p-kslioYhf.js.map → p-6_CNVbqa.js.map} +0 -0
- /package/dist/components/{p-PXdvBMXB.js.map → p-B3Z5sQin.js.map} +0 -0
- /package/dist/components/{p-CZjjDhUl.js.map → p-B3sRZBZk.js.map} +0 -0
- /package/dist/components/{p-BZlhBJZL.js.map → p-B9esvbYk.js.map} +0 -0
- /package/dist/components/{p-5Z4oYuiK.js.map → p-BEXkJ9lg.js.map} +0 -0
- /package/dist/components/{p-DbLLH3hr.js.map → p-BIGpc__9.js.map} +0 -0
- /package/dist/components/{p-DzPtYdXy.js.map → p-BMzn2Cmw.js.map} +0 -0
- /package/dist/components/{p-BSRIF4m8.js.map → p-BRLDf-NK.js.map} +0 -0
- /package/dist/components/{p-0X-4KGQf.js.map → p-BUh2GkPJ.js.map} +0 -0
- /package/dist/components/{p-pUOA3iDG.js.map → p-BVpn_e-r.js.map} +0 -0
- /package/dist/components/{p-CpeJMKJ5.js.map → p-BVz-r3g0.js.map} +0 -0
- /package/dist/components/{p-CBymzuOO.js.map → p-BXDLR072.js.map} +0 -0
- /package/dist/components/{p-DiS5BgLA.js.map → p-BZiGtBBk.js.map} +0 -0
- /package/dist/components/{p-BcxidW9k.js.map → p-Bb9dA7sl.js.map} +0 -0
- /package/dist/components/{p-BR1ayqMU.js.map → p-Bjt_8sLe.js.map} +0 -0
- /package/dist/components/{p-BqbdABo3.js.map → p-BssZ4SbT.js.map} +0 -0
- /package/dist/components/{p-bHnk8t5I.js.map → p-C68oSTb1.js.map} +0 -0
- /package/dist/components/{p-C_FFU6W3.js.map → p-CGQnHNuW.js.map} +0 -0
- /package/dist/components/{p-BqVXMEJm.js.map → p-CQjUOHiN.js.map} +0 -0
- /package/dist/components/{p-w9fkkwL2.js.map → p-CaF5WCci.js.map} +0 -0
- /package/dist/components/{p-Bjq1KP_Y.js.map → p-Cf5Ai4xx.js.map} +0 -0
- /package/dist/components/{p-B0kSlcaw.js.map → p-Cr6pDY-e.js.map} +0 -0
- /package/dist/components/{p-FxtgCvhA.js.map → p-Cy1oWIaV.js.map} +0 -0
- /package/dist/components/{p-CTH3dSYg.js.map → p-DDqRCDXh.js.map} +0 -0
- /package/dist/components/{p-x5u5Ueli.js.map → p-DIqAdmui.js.map} +0 -0
- /package/dist/components/{p-Cd1JnnVK.js.map → p-DQQsS9Rx.js.map} +0 -0
- /package/dist/components/{p-CZHIkVgj.js.map → p-DQsFmleZ.js.map} +0 -0
- /package/dist/components/{p-CE2b5GPu.js.map → p-DVLghmNY.js.map} +0 -0
- /package/dist/components/{p-BXv6RpoF.js.map → p-DZcIt_JJ.js.map} +0 -0
- /package/dist/components/{p-CglHiyY2.js.map → p-DkxOEFHN.js.map} +0 -0
- /package/dist/components/{p-DeK_6Uym.js.map → p-DlbhmXjH.js.map} +0 -0
- /package/dist/components/{p-Bq8svcPs.js.map → p-GEi3hDJQ.js.map} +0 -0
- /package/dist/components/{p-DI8DUozc.js.map → p-Q0dkeoJ6.js.map} +0 -0
- /package/dist/components/{p-XaCYqck3.js.map → p-Q7AOgrg5.js.map} +0 -0
- /package/dist/components/{p-B0OZx3JB.js.map → p-WFo1x6dN.js.map} +0 -0
- /package/dist/components/{p-CEXchU5N.js.map → p-to8BxxgT.js.map} +0 -0
package/dist/styles/table.css
CHANGED
|
@@ -13,12 +13,8 @@
|
|
|
13
13
|
--_table-cell-track-label-inset: var(--dimension-space-025);
|
|
14
14
|
--_table-caption-bar-block-size: var(--dimension-size-600);
|
|
15
15
|
--_table-image-block-size: var(--_table-cell-track-min-block-size);
|
|
16
|
-
--_table-image-block-size-multi: calc(
|
|
17
|
-
|
|
18
|
-
);
|
|
19
|
-
--_table-image-block-size-triple: calc(
|
|
20
|
-
var(--_table-image-block-size-multi) + var(--dimension-space-025) + var(--dimension-size-250)
|
|
21
|
-
);
|
|
16
|
+
--_table-image-block-size-multi: calc(2 * var(--_table-cell-track-min-block-size));
|
|
17
|
+
--_table-image-block-size-triple: calc(3 * var(--_table-cell-track-min-block-size));
|
|
22
18
|
--_table-image-column-inline-size: calc(
|
|
23
19
|
((var(--_table-image-block-size) * 16) / 9) + (var(--_table-cell-padding-inline) * 2)
|
|
24
20
|
);
|
|
@@ -29,27 +25,13 @@
|
|
|
29
25
|
((var(--_table-image-block-size-triple) * 16) / 9) + (var(--_table-cell-padding-inline) * 2)
|
|
30
26
|
);
|
|
31
27
|
/*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
* so 1 / 2 / 3 wrapped lines measure 40 / 62 / 84 like named tracks.
|
|
28
|
+
* Every body-row track is 24px with no stack gap (40 / 64 / 88 / 112).
|
|
29
|
+
* Wrapping primary and secondary use that same 24px as line-height so
|
|
30
|
+
* extra lines land on named tracks without a private leading scale.
|
|
36
31
|
*/
|
|
37
|
-
--_table-wrap-primary-line-height:
|
|
38
|
-
|
|
39
|
-
);
|
|
40
|
-
--_table-wrap-primary-padding-block: calc(
|
|
41
|
-
(
|
|
42
|
-
var(--_table-cell-track-min-block-size) - var(--typography-lineheight-md) -
|
|
43
|
-
var(--dimension-space-025)
|
|
44
|
-
) /
|
|
45
|
-
2
|
|
46
|
-
);
|
|
47
|
-
/*
|
|
48
|
-
* Wrapping secondary on a 2-track cell occupies later tracks. Zero the copy
|
|
49
|
-
* gap and use later-track + gap as line-height so 1 / 2 / 3 secondary lines
|
|
50
|
-
* land on 62 / 84 / 106 with primary remaining the first 24px track.
|
|
51
|
-
*/
|
|
52
|
-
--_table-wrap-secondary-line-height: calc(var(--dimension-size-250) + var(--dimension-space-025));
|
|
32
|
+
--_table-wrap-primary-line-height: var(--_table-cell-track-min-block-size);
|
|
33
|
+
--_table-wrap-primary-padding-block: 0px;
|
|
34
|
+
--_table-wrap-secondary-line-height: var(--_table-cell-track-min-block-size);
|
|
53
35
|
--_table-wrap-secondary-padding-block: 0;
|
|
54
36
|
--_table-surface: var(--ds-table-surface, var(--color-background-primary));
|
|
55
37
|
--_table-header-surface: var(--ds-table-header-surface, var(--color-background-primary));
|
|
@@ -209,10 +191,22 @@
|
|
|
209
191
|
}
|
|
210
192
|
|
|
211
193
|
/* Bound style and layout invalidation to recycled row shells during window updates. */
|
|
212
|
-
:where(.ds-table__table--
|
|
194
|
+
:where(.ds-table__table--windowed .ds-table__row) {
|
|
213
195
|
contain: layout style;
|
|
214
196
|
}
|
|
215
197
|
|
|
198
|
+
/*
|
|
199
|
+
* Pagination and infinite windows keep every loaded semantic row in the DOM.
|
|
200
|
+
* Let the browser skip off-screen row contents while retaining a stable scroll
|
|
201
|
+
* range from the same token-aligned row estimates used by virtual mode. The
|
|
202
|
+
* `auto` form caches each real height after the row has been laid out.
|
|
203
|
+
*/
|
|
204
|
+
:where(.ds-table__table--deferred-rows .ds-table__row) {
|
|
205
|
+
content-visibility: auto;
|
|
206
|
+
contain-intrinsic-block-size: auto
|
|
207
|
+
var(--_table-row-intrinsic-block-size, var(--_table-row-min-block-size));
|
|
208
|
+
}
|
|
209
|
+
|
|
216
210
|
:where(.ds-table__table--native-group-sticky .ds-table__header-row),
|
|
217
211
|
:where(.ds-table__table--native-group-sticky .ds-table__row),
|
|
218
212
|
:where(.ds-table__table--native-group-sticky .ds-table__skeleton-row) {
|
|
@@ -882,18 +876,18 @@
|
|
|
882
876
|
|
|
883
877
|
:where(.ds-table__cell--text-multi .ds-table__cell-copy),
|
|
884
878
|
:where(.ds-table__cell--text-triple .ds-table__cell-copy) {
|
|
885
|
-
gap:
|
|
879
|
+
gap: 0;
|
|
886
880
|
}
|
|
887
881
|
|
|
888
882
|
/*
|
|
889
|
-
* Body cells share 8px chrome.
|
|
890
|
-
*
|
|
891
|
-
*
|
|
892
|
-
*
|
|
893
|
-
*
|
|
894
|
-
*
|
|
895
|
-
*
|
|
896
|
-
*
|
|
883
|
+
* Body cells share 8px chrome. Every named track is 24px with no stack gap,
|
|
884
|
+
* so 20px content (body-medium text, md icon, checkbox, sm tag) sits in that
|
|
885
|
+
* track with a 2px block inset. Text tracks keep that 2px plus the 2px label
|
|
886
|
+
* inset, so padding-inline is 4px and copy lines up with column-header labels.
|
|
887
|
+
* Wrapping 1-track primary uses the 24px track as line-height so extra lines
|
|
888
|
+
* land on the same 64px and 88px rows as 2- and 3-track cells. Wrapping
|
|
889
|
+
* secondary keeps primary on track 1 and consumes later tracks the same way,
|
|
890
|
+
* including a 112px fourth track when secondary wraps to three lines.
|
|
897
891
|
* Header and group rows keep their own recipes.
|
|
898
892
|
*/
|
|
899
893
|
:where(.ds-table__cell-primary),
|
|
@@ -903,12 +897,16 @@
|
|
|
903
897
|
|
|
904
898
|
:where(.ds-table__cell--text-multi .ds-table__cell-secondary),
|
|
905
899
|
:where(.ds-table__cell--text-triple .ds-table__cell-secondary),
|
|
906
|
-
:where(.ds-table__cell--text-triple .ds-table__cell-tertiary)
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
900
|
+
:where(.ds-table__cell--text-triple .ds-table__cell-tertiary),
|
|
901
|
+
:where(.ds-table__cell--icon-text-multi .ds-table__cell-secondary),
|
|
902
|
+
:where(.ds-table__cell--icon-text-triple .ds-table__cell-secondary),
|
|
903
|
+
:where(.ds-table__cell--icon-text-triple .ds-table__cell-tertiary),
|
|
904
|
+
:where(.ds-table__cell--score-text-multi .ds-table__cell-secondary),
|
|
905
|
+
:where(.ds-table__cell--score-text-triple .ds-table__cell-secondary),
|
|
906
|
+
:where(.ds-table__cell--score-text-triple .ds-table__cell-tertiary),
|
|
910
907
|
:where(.ds-table__cell--primary-text .ds-table__cell-secondary) {
|
|
911
|
-
padding-block:
|
|
908
|
+
padding-block: var(--dimension-space-025);
|
|
909
|
+
min-block-size: var(--_table-cell-track-min-block-size);
|
|
912
910
|
}
|
|
913
911
|
|
|
914
912
|
:where(.ds-table__cell--tag-tag-only .ds-table__cell-content) {
|
|
@@ -916,10 +914,10 @@
|
|
|
916
914
|
}
|
|
917
915
|
|
|
918
916
|
/*
|
|
919
|
-
* Multiple Tags use the 20px small single-inset control
|
|
920
|
-
*
|
|
921
|
-
*
|
|
922
|
-
*
|
|
917
|
+
* Multiple Tags use the 20px small single-inset control. Each wrap line is a
|
|
918
|
+
* 24px track (2px block margin around the tag) with no row-gap, so wrap lines
|
|
919
|
+
* land on the same 40 / 64 / 88 ladder as text. Same-line tags keep a 2px
|
|
920
|
+
* column gap.
|
|
923
921
|
*/
|
|
924
922
|
:where(.ds-table__cell--tags .ds-table__cell-content) {
|
|
925
923
|
min-block-size: 0;
|
|
@@ -930,18 +928,19 @@
|
|
|
930
928
|
flex-wrap: wrap;
|
|
931
929
|
align-content: flex-start;
|
|
932
930
|
align-items: center;
|
|
933
|
-
gap: var(--dimension-space-025);
|
|
931
|
+
gap: 0 var(--dimension-space-025);
|
|
934
932
|
box-sizing: border-box;
|
|
935
933
|
inline-size: 100%;
|
|
936
934
|
min-inline-size: 0;
|
|
937
935
|
max-inline-size: 100%;
|
|
938
936
|
min-block-size: var(--_table-cell-tags-min-block-size, var(--_table-cell-track-min-block-size));
|
|
939
|
-
padding-block:
|
|
937
|
+
padding-block: 0;
|
|
940
938
|
}
|
|
941
939
|
|
|
942
940
|
:where(.ds-table__cell-tags > ds-tag) {
|
|
943
941
|
flex: none;
|
|
944
942
|
max-inline-size: 100%;
|
|
943
|
+
margin-block: var(--dimension-space-025);
|
|
945
944
|
}
|
|
946
945
|
|
|
947
946
|
:where(.ds-table__cell-tag-stack) {
|
|
@@ -960,21 +959,21 @@
|
|
|
960
959
|
:where(.ds-table__cell-tag-stack--tag-with-text .ds-table__cell-tag-text) {
|
|
961
960
|
padding-inline: var(--_table-cell-track-padding-inline);
|
|
962
961
|
padding-block: var(--dimension-space-025);
|
|
963
|
-
min-block-size:
|
|
962
|
+
min-block-size: var(--_table-cell-track-min-block-size);
|
|
964
963
|
}
|
|
965
964
|
|
|
966
965
|
:where(.ds-table__cell-tag-stack--tag-with-text) {
|
|
967
|
-
gap:
|
|
966
|
+
gap: 0;
|
|
968
967
|
}
|
|
969
968
|
|
|
970
969
|
:where(.ds-table__cell-tag-stack--text-with-tag .ds-table__cell-tag-text) {
|
|
971
970
|
padding-inline: var(--_table-cell-track-padding-inline);
|
|
972
971
|
padding-block: var(--dimension-space-025);
|
|
973
|
-
min-block-size:
|
|
972
|
+
min-block-size: var(--_table-cell-track-min-block-size);
|
|
974
973
|
}
|
|
975
974
|
|
|
976
975
|
:where(.ds-table__cell-tag-stack--text-with-tag) {
|
|
977
|
-
gap:
|
|
976
|
+
gap: 0;
|
|
978
977
|
}
|
|
979
978
|
|
|
980
979
|
:where(.ds-table__cell-tag-control-track) {
|
|
@@ -983,10 +982,6 @@
|
|
|
983
982
|
min-block-size: var(--_table-cell-track-min-block-size);
|
|
984
983
|
}
|
|
985
984
|
|
|
986
|
-
:where(.ds-table__cell-tag-stack--text-with-tag .ds-table__cell-tag-control-track) {
|
|
987
|
-
min-block-size: var(--dimension-size-250);
|
|
988
|
-
}
|
|
989
|
-
|
|
990
985
|
:where(.ds-table__cell--icon .ds-table__cell-content) {
|
|
991
986
|
align-items: center;
|
|
992
987
|
justify-content: center;
|
|
@@ -1023,19 +1018,58 @@
|
|
|
1023
1018
|
|
|
1024
1019
|
:where(.ds-table__cell--icon-text-multi .ds-table__cell-copy),
|
|
1025
1020
|
:where(.ds-table__cell--icon-text-triple .ds-table__cell-copy) {
|
|
1026
|
-
gap:
|
|
1021
|
+
gap: 0;
|
|
1027
1022
|
}
|
|
1028
1023
|
|
|
1029
1024
|
:where(.ds-table__cell--icon-text-multi .ds-table__cell-secondary),
|
|
1030
1025
|
:where(.ds-table__cell--icon-text-triple .ds-table__cell-secondary),
|
|
1031
1026
|
:where(.ds-table__cell--icon-text-triple .ds-table__cell-tertiary) {
|
|
1032
1027
|
padding-block: var(--dimension-space-025);
|
|
1028
|
+
min-block-size: var(--_table-cell-track-min-block-size);
|
|
1029
|
+
}
|
|
1030
|
+
|
|
1031
|
+
/*
|
|
1032
|
+
* Score-and-text: copy fills from the start edge while the sm Score owns the
|
|
1033
|
+
* top-right 24px track. The score has no padding that would enlarge or
|
|
1034
|
+
* misalign its fill.
|
|
1035
|
+
*/
|
|
1036
|
+
:where(.ds-table__cell-score-text) {
|
|
1037
|
+
display: flex;
|
|
1038
|
+
align-items: flex-start;
|
|
1039
|
+
gap: var(--dimension-space-075);
|
|
1040
|
+
inline-size: 100%;
|
|
1041
|
+
min-inline-size: 0;
|
|
1042
|
+
max-inline-size: 100%;
|
|
1043
|
+
}
|
|
1044
|
+
|
|
1045
|
+
:where(.ds-table__cell-score-text-score) {
|
|
1046
|
+
box-sizing: border-box;
|
|
1047
|
+
display: flex;
|
|
1048
|
+
flex: none;
|
|
1049
|
+
align-items: flex-start;
|
|
1050
|
+
min-block-size: var(--_table-cell-track-min-block-size);
|
|
1051
|
+
}
|
|
1052
|
+
|
|
1053
|
+
:where(.ds-table__cell--score-text .ds-table__cell-content),
|
|
1054
|
+
:where(.ds-table__cell--score-text .ds-table__cell-track) {
|
|
1055
|
+
min-block-size: 0;
|
|
1056
|
+
}
|
|
1057
|
+
|
|
1058
|
+
:where(.ds-table__cell--score-text-multi .ds-table__cell-copy),
|
|
1059
|
+
:where(.ds-table__cell--score-text-triple .ds-table__cell-copy) {
|
|
1060
|
+
gap: 0;
|
|
1061
|
+
}
|
|
1062
|
+
|
|
1063
|
+
:where(.ds-table__cell--score-text-multi .ds-table__cell-secondary),
|
|
1064
|
+
:where(.ds-table__cell--score-text-triple .ds-table__cell-secondary),
|
|
1065
|
+
:where(.ds-table__cell--score-text-triple .ds-table__cell-tertiary) {
|
|
1066
|
+
padding-block: var(--dimension-space-025);
|
|
1067
|
+
min-block-size: var(--_table-cell-track-min-block-size);
|
|
1033
1068
|
}
|
|
1034
1069
|
|
|
1035
1070
|
/*
|
|
1036
1071
|
* Image previews fill the matching body-row content box (cell height minus
|
|
1037
|
-
* 8px padding) at 16:9.
|
|
1038
|
-
* 3 add the same 20px later-track and 2px gap as text.
|
|
1072
|
+
* 8px padding) at 16:9. Each track is 24px with no stack gap.
|
|
1039
1073
|
*/
|
|
1040
1074
|
:where(.ds-table__cell-image) {
|
|
1041
1075
|
display: block;
|
|
@@ -1109,25 +1143,32 @@
|
|
|
1109
1143
|
* to the 40px single-track row.
|
|
1110
1144
|
*/
|
|
1111
1145
|
:where(.ds-table__cell--text-wrap .ds-table__cell-track--text),
|
|
1112
|
-
:where(.ds-table__cell--icon-text-wrap .ds-table__cell-track--text)
|
|
1146
|
+
:where(.ds-table__cell--icon-text-wrap .ds-table__cell-track--text),
|
|
1147
|
+
:where(.ds-table__cell--score-text-wrap .ds-table__cell-track--text) {
|
|
1113
1148
|
display: block;
|
|
1114
1149
|
}
|
|
1115
1150
|
|
|
1116
1151
|
:where(.ds-table__cell--text-wrap.ds-table__cell--text-single .ds-table__cell-primary),
|
|
1117
1152
|
:where(.ds-table__cell--text-wrap.ds-table__cell--text-multi .ds-table__cell-primary),
|
|
1118
1153
|
:where(.ds-table__cell--icon-text-wrap.ds-table__cell--icon-text-single .ds-table__cell-primary),
|
|
1119
|
-
:where(.ds-table__cell--icon-text-wrap.ds-table__cell--icon-text-multi .ds-table__cell-primary)
|
|
1154
|
+
:where(.ds-table__cell--icon-text-wrap.ds-table__cell--icon-text-multi .ds-table__cell-primary),
|
|
1155
|
+
:where(.ds-table__cell--score-text-wrap.ds-table__cell--score-text-single .ds-table__cell-primary),
|
|
1156
|
+
:where(.ds-table__cell--score-text-wrap.ds-table__cell--score-text-multi .ds-table__cell-primary) {
|
|
1120
1157
|
line-height: var(--_table-wrap-primary-line-height);
|
|
1121
1158
|
padding-block: var(--_table-wrap-primary-padding-block);
|
|
1122
1159
|
}
|
|
1123
1160
|
|
|
1124
1161
|
:where(.ds-table__cell--text-wrap.ds-table__cell--text-multi .ds-table__cell-copy),
|
|
1125
|
-
:where(.ds-table__cell--icon-text-wrap.ds-table__cell--icon-text-multi .ds-table__cell-copy)
|
|
1162
|
+
:where(.ds-table__cell--icon-text-wrap.ds-table__cell--icon-text-multi .ds-table__cell-copy),
|
|
1163
|
+
:where(.ds-table__cell--score-text-wrap.ds-table__cell--score-text-multi .ds-table__cell-copy) {
|
|
1126
1164
|
gap: 0;
|
|
1127
1165
|
}
|
|
1128
1166
|
|
|
1129
1167
|
:where(.ds-table__cell--text-wrap.ds-table__cell--text-multi .ds-table__cell-secondary),
|
|
1130
|
-
:where(.ds-table__cell--icon-text-wrap.ds-table__cell--icon-text-multi .ds-table__cell-secondary)
|
|
1168
|
+
:where(.ds-table__cell--icon-text-wrap.ds-table__cell--icon-text-multi .ds-table__cell-secondary),
|
|
1169
|
+
:where(
|
|
1170
|
+
.ds-table__cell--score-text-wrap.ds-table__cell--score-text-multi .ds-table__cell-secondary
|
|
1171
|
+
) {
|
|
1131
1172
|
line-height: var(--_table-wrap-secondary-line-height);
|
|
1132
1173
|
padding-block: var(--_table-wrap-secondary-padding-block);
|
|
1133
1174
|
}
|
|
@@ -1390,6 +1431,28 @@
|
|
|
1390
1431
|
border-block-end: 0;
|
|
1391
1432
|
background: var(--_table-group-surface);
|
|
1392
1433
|
background-clip: border-box;
|
|
1434
|
+
cursor: default;
|
|
1435
|
+
}
|
|
1436
|
+
|
|
1437
|
+
/* Hover/press wash. Keep this on ::before so the dedicated trailing-edge
|
|
1438
|
+
* separator on ::after stays the original 1px surface rule. */
|
|
1439
|
+
:where(.ds-table__group-content)::before {
|
|
1440
|
+
content: '';
|
|
1441
|
+
position: absolute;
|
|
1442
|
+
inset: 0;
|
|
1443
|
+
z-index: 0;
|
|
1444
|
+
background: transparent;
|
|
1445
|
+
pointer-events: none;
|
|
1446
|
+
}
|
|
1447
|
+
|
|
1448
|
+
@media (hover: hover) and (pointer: fine) {
|
|
1449
|
+
:where(.ds-table__group-content:hover)::before {
|
|
1450
|
+
background: var(--_table-row-hover);
|
|
1451
|
+
}
|
|
1452
|
+
}
|
|
1453
|
+
|
|
1454
|
+
:where(.ds-table__group-content:active)::before {
|
|
1455
|
+
background: var(--_table-row-pressed);
|
|
1393
1456
|
}
|
|
1394
1457
|
|
|
1395
1458
|
:where(.ds-table__group-content)::after {
|
|
@@ -1397,6 +1460,7 @@
|
|
|
1397
1460
|
position: absolute;
|
|
1398
1461
|
inset-inline: 0;
|
|
1399
1462
|
inset-block-end: 0;
|
|
1463
|
+
z-index: 1;
|
|
1400
1464
|
block-size: var(--dimension-stroke-width-012);
|
|
1401
1465
|
background: var(--_table-border);
|
|
1402
1466
|
pointer-events: none;
|
|
@@ -1434,31 +1498,94 @@
|
|
|
1434
1498
|
block-size: var(--dimension-iconography-md);
|
|
1435
1499
|
}
|
|
1436
1500
|
|
|
1437
|
-
:where(.ds-table__group-
|
|
1438
|
-
|
|
1439
|
-
|
|
1501
|
+
:where(.ds-table__group-content--hero) {
|
|
1502
|
+
align-items: flex-start;
|
|
1503
|
+
}
|
|
1504
|
+
|
|
1505
|
+
:where(.ds-table__group-hero) {
|
|
1506
|
+
position: relative;
|
|
1440
1507
|
box-sizing: border-box;
|
|
1441
1508
|
display: inline-flex;
|
|
1442
|
-
|
|
1509
|
+
flex: 0 0 auto;
|
|
1510
|
+
align-self: flex-start;
|
|
1511
|
+
/* Same 6px as the extra group-copy inset so the sm figure sits on the text column. */
|
|
1512
|
+
margin-inline-start: var(--dimension-space-075);
|
|
1513
|
+
}
|
|
1514
|
+
|
|
1515
|
+
:where(.ds-table__group-hero)::after {
|
|
1516
|
+
content: '';
|
|
1517
|
+
position: absolute;
|
|
1518
|
+
inset: 0;
|
|
1519
|
+
z-index: 1;
|
|
1520
|
+
box-sizing: border-box;
|
|
1521
|
+
border-radius: var(--dimension-radius-025);
|
|
1522
|
+
border: var(--dimension-stroke-width-012) solid var(--color-border-tertiary);
|
|
1523
|
+
pointer-events: none;
|
|
1524
|
+
}
|
|
1525
|
+
|
|
1526
|
+
:where(.ds-table__table--selectable .ds-table__group-hero),
|
|
1527
|
+
:where(.ds-table__sticky-group--selectable .ds-table__group-hero) {
|
|
1528
|
+
/* Margin, not padding: ::after inset:0 must hug the 24px sm fill. */
|
|
1529
|
+
margin-inline-end: var(--dimension-space-100);
|
|
1530
|
+
}
|
|
1531
|
+
|
|
1532
|
+
:where(.ds-table__group-content--multi) {
|
|
1533
|
+
align-items: flex-start;
|
|
1534
|
+
min-block-size: calc(var(--_table-row-min-block-size) + var(--_table-cell-track-min-block-size));
|
|
1535
|
+
}
|
|
1536
|
+
|
|
1537
|
+
:where(.ds-table__group-copy) {
|
|
1538
|
+
/* One or two 24px tracks; 8px chrome on group-content keeps 40 / 64 row height. */
|
|
1539
|
+
box-sizing: border-box;
|
|
1540
|
+
display: flex;
|
|
1541
|
+
flex-direction: column;
|
|
1542
|
+
justify-content: center;
|
|
1443
1543
|
min-inline-size: 0;
|
|
1444
1544
|
flex: 1 1 auto;
|
|
1445
|
-
gap:
|
|
1545
|
+
gap: 0;
|
|
1446
1546
|
padding-block: 0;
|
|
1447
1547
|
padding-inline: var(--dimension-space-050);
|
|
1448
1548
|
}
|
|
1449
1549
|
|
|
1550
|
+
:where(.ds-table__group-primary),
|
|
1551
|
+
:where(.ds-table__group-accessories) {
|
|
1552
|
+
box-sizing: border-box;
|
|
1553
|
+
display: inline-flex;
|
|
1554
|
+
align-items: center;
|
|
1555
|
+
min-inline-size: 0;
|
|
1556
|
+
min-block-size: var(--_table-cell-track-min-block-size);
|
|
1557
|
+
gap: var(--dimension-space-050);
|
|
1558
|
+
}
|
|
1559
|
+
|
|
1560
|
+
:where(.ds-table__group-accessories ds-tooltip),
|
|
1561
|
+
:where(.ds-table__group-accessory-tip) {
|
|
1562
|
+
display: inline-flex;
|
|
1563
|
+
align-items: center;
|
|
1564
|
+
min-inline-size: 0;
|
|
1565
|
+
max-inline-size: 100%;
|
|
1566
|
+
min-block-size: var(--_table-cell-track-min-block-size);
|
|
1567
|
+
}
|
|
1568
|
+
|
|
1450
1569
|
:where(.ds-table__table--selectable .ds-table__group-copy),
|
|
1451
1570
|
:where(.ds-table__sticky-group--selectable .ds-table__group-copy) {
|
|
1452
|
-
|
|
1571
|
+
/* 8px cell chrome + 4px text-track inset matches header 8+2+2 and body copy. */
|
|
1572
|
+
padding-inline-start: calc(var(--dimension-space-100) + var(--_table-cell-track-padding-inline));
|
|
1573
|
+
}
|
|
1574
|
+
|
|
1575
|
+
:where(.ds-table__table--selectable .ds-table__group-content--hero .ds-table__group-copy),
|
|
1576
|
+
:where(.ds-table__sticky-group--selectable .ds-table__group-content--hero .ds-table__group-copy) {
|
|
1577
|
+
padding-inline-start: var(--dimension-space-050);
|
|
1453
1578
|
}
|
|
1454
1579
|
|
|
1455
1580
|
:where(.ds-table__group-separator),
|
|
1456
|
-
:where(.ds-table__group-count)
|
|
1581
|
+
:where(.ds-table__group-count),
|
|
1582
|
+
:where(.ds-table__group-accessory-separator) {
|
|
1457
1583
|
flex: 0 0 auto;
|
|
1458
1584
|
}
|
|
1459
1585
|
|
|
1460
1586
|
:where(.ds-table__group-toggle) {
|
|
1461
|
-
|
|
1587
|
+
--color-interaction-hover: transparent;
|
|
1588
|
+
--color-interaction-pressed: transparent;
|
|
1462
1589
|
flex: 0 0 auto;
|
|
1463
1590
|
margin-inline-start: auto;
|
|
1464
1591
|
}
|
|
@@ -1611,6 +1738,10 @@
|
|
|
1611
1738
|
background: var(--ds-forced-color-surface);
|
|
1612
1739
|
}
|
|
1613
1740
|
|
|
1741
|
+
:where(.ds-table__group-hero)::after {
|
|
1742
|
+
border-color: var(--ds-forced-color-content);
|
|
1743
|
+
}
|
|
1744
|
+
|
|
1614
1745
|
:where(.ds-table__row--disabled) {
|
|
1615
1746
|
color: var(--ds-forced-color-disabled);
|
|
1616
1747
|
opacity: 1;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { CardOverviewVariant, OverviewMetric
|
|
1
|
+
import type { CardOverviewVariant, OverviewMetric } from './card-overview-types';
|
|
2
|
+
export { resolveSafetyScoreLevel } from '../Score/score-model';
|
|
2
3
|
export interface CardOverviewCollapseGeometry {
|
|
3
4
|
active: boolean;
|
|
4
5
|
expandedHeight: number;
|
|
@@ -33,7 +34,6 @@ export declare function resolveCardOverviewCollapseGeometry(options: {
|
|
|
33
34
|
expandedHeight: number;
|
|
34
35
|
compactHeight: number;
|
|
35
36
|
}): CardOverviewCollapseGeometry;
|
|
36
|
-
export declare function resolveSafetyScoreLevel(value: string | number): SafetyScoreLevel | undefined;
|
|
37
37
|
export declare function resolveOverviewRovingIndex(metrics: readonly OverviewMetric[], focusedIndex: number): number;
|
|
38
38
|
export declare function findNextOverviewMetricIndex(metrics: readonly OverviewMetric[], from: number, step: -1 | 1): number;
|
|
39
39
|
//# sourceMappingURL=card-overview-controller.d.ts.map
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { MetricTrend } from '../../utils/metric-change';
|
|
2
|
+
import type { SafetyScoreLevel } from '../Score/score-types';
|
|
3
|
+
export type { SafetyScoreLevel } from '../Score/score-types';
|
|
2
4
|
export type CardOverviewVariant = 'default' | 'compact';
|
|
3
5
|
export type CardOverviewLayout = 'auto' | 'stacked';
|
|
4
|
-
export type SafetyScoreLevel = 'fair' | 'good' | 'excellent';
|
|
5
6
|
/**
|
|
6
7
|
* Leading summary block — the headline figure the rest of the bar contextualises.
|
|
7
8
|
*
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { SafetyScoreLevel, ScoreSize } from './score-types';
|
|
2
|
+
export declare class Score {
|
|
3
|
+
/** Display-ready headline figure. */
|
|
4
|
+
value: string | number;
|
|
5
|
+
/**
|
|
6
|
+
* Visual density matching control height: `sm` 24px, `md` 32px, `lg` 40px.
|
|
7
|
+
* `lg` is the Card Overview recipe.
|
|
8
|
+
*/
|
|
9
|
+
size: ScoreSize;
|
|
10
|
+
/**
|
|
11
|
+
* Safety-score color level. Numeric values from 0–100 infer fair (0–50),
|
|
12
|
+
* good (51–80), or excellent (81–100) when this is omitted.
|
|
13
|
+
*/
|
|
14
|
+
level: SafetyScoreLevel | undefined;
|
|
15
|
+
/** Replace the figure with a skeleton while data resolves. */
|
|
16
|
+
isLoading: boolean;
|
|
17
|
+
/** Accessible name prefix, for example “Safety score”. */
|
|
18
|
+
label: string;
|
|
19
|
+
render(): any;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=Score.d.ts.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type SafetyScoreLevel } from './score-types';
|
|
2
|
+
export declare function isSafetyScoreLevel(value: unknown): value is SafetyScoreLevel;
|
|
3
|
+
/**
|
|
4
|
+
* Infer a safety-score color level from a 0–100 figure. Non-numeric or out-of-range
|
|
5
|
+
* values return undefined so the owner can supply `level` explicitly.
|
|
6
|
+
*/
|
|
7
|
+
export declare function resolveSafetyScoreLevel(value: string | number): SafetyScoreLevel | undefined;
|
|
8
|
+
export declare function resolveScoreLevel(value: string | number, level?: SafetyScoreLevel): SafetyScoreLevel | undefined;
|
|
9
|
+
export declare const SCORE_VALUE_VARIANT: {
|
|
10
|
+
readonly sm: "text-title-small";
|
|
11
|
+
readonly md: "text-title-large";
|
|
12
|
+
readonly lg: "text-display-small";
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=score-model.d.ts.map
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export type SafetyScoreLevel = 'fair' | 'good' | 'excellent';
|
|
2
|
+
export type ScoreSize = 'sm' | 'md' | 'lg';
|
|
3
|
+
export declare const SCORE_SIZES: readonly ["sm", "md", "lg"];
|
|
4
|
+
export declare const SAFETY_SCORE_LEVELS: readonly ["fair", "good", "excellent"];
|
|
5
|
+
//# sourceMappingURL=score-types.d.ts.map
|
|
@@ -230,13 +230,13 @@ export declare class Table {
|
|
|
230
230
|
private currentLoadedRowCount;
|
|
231
231
|
private createRenderModel;
|
|
232
232
|
private get highlightMatcher();
|
|
233
|
-
private get
|
|
233
|
+
private get rowWindowingEnabled();
|
|
234
234
|
private get virtualViewportMissing();
|
|
235
235
|
private get hasVirtualViewportBounds();
|
|
236
236
|
private estimateVirtualViewportSize;
|
|
237
237
|
private virtualPinnedRowIds;
|
|
238
238
|
private syncVirtualItems;
|
|
239
|
-
private
|
|
239
|
+
private shouldWindowRows;
|
|
240
240
|
private get resolvedMaxHeight();
|
|
241
241
|
private get resolvedHeight();
|
|
242
242
|
private warnModelIssues;
|
|
@@ -248,6 +248,8 @@ export declare class Table {
|
|
|
248
248
|
private emitAllSelection;
|
|
249
249
|
private emitGroupSelection;
|
|
250
250
|
private rowEventOwnsActivation;
|
|
251
|
+
private groupRowEventOwnsCollapse;
|
|
252
|
+
private handleGroupRowClick;
|
|
251
253
|
private emitRowActivation;
|
|
252
254
|
private syncActionMenu;
|
|
253
255
|
private closeActionMenu;
|
|
@@ -275,6 +277,7 @@ export declare class Table {
|
|
|
275
277
|
private renderRow;
|
|
276
278
|
private emitGroupCollapse;
|
|
277
279
|
private emitAllGroupsCollapse;
|
|
280
|
+
private renderGroupAccessory;
|
|
278
281
|
private renderGroupContent;
|
|
279
282
|
private formatGroupLoadLabel;
|
|
280
283
|
private renderGroupLoadRow;
|
|
@@ -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, TableCellTagItem, TableCellTags, 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';
|
|
1
|
+
export type { TableCaptionVisibility, TableCellAlign, TableCellAction, TableCellActionDetail, TableCellActionDivider, TableCellActionMenuEntry, TableCellActionMenuItem, TableCellBlank, TableCellEmpty, TableCellLinkTarget, TableCellIcon, TableCellIconText, TableCellScoreText, TableCellImage, TableCellImageTracks, TableCellPrimaryText, TableCellSkeleton, TableCellText, TableCellTextRun, TableCellTextTrack, TableCellTag, TableCellTagItem, TableCellTags, TableCellTagVariant, TableCellValue, TableSkeletonWidth, TableColumn, TableColumnsConfigChangeDetail, TableColumnSticky, TableColumnWidth, TableDataMode, TableDataModeChangeDetail, TableGroup, TableGroupAccessory, TableGroupHero, 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
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { TableCellAction, TableCellBlank, TableCellEmpty, TableCellIcon, TableCellImage, TableCellImageTracks, TableCellTag, TableCellTags, TableCellTagVariant, TableCellTextRun, TableCellTextTrack, TableCellValue, TableCellLinkTarget, TableCellLineClamp, TableCellMaxLines, TableColumn } from './table-types';
|
|
2
2
|
import type { IconColor } from '../Icon/Icon';
|
|
3
|
+
import type { SafetyScoreLevel } from '../Score/score-types';
|
|
3
4
|
import type { TextColor } from '../Text/text-types';
|
|
4
5
|
/** Maximum independently colored runs on one secondary or tertiary track. */
|
|
5
6
|
export declare const TABLE_CELL_TEXT_RUN_LIMIT = 3;
|
|
@@ -36,6 +37,17 @@ export type TableCellPresentation = {
|
|
|
36
37
|
variant: 'single' | 'multi' | 'triple';
|
|
37
38
|
wraps: boolean;
|
|
38
39
|
lineClamp: TableCellLineClamp;
|
|
40
|
+
} | {
|
|
41
|
+
kind: 'score-text';
|
|
42
|
+
cellType: 'score-text';
|
|
43
|
+
score: string | number;
|
|
44
|
+
scoreLevel?: SafetyScoreLevel;
|
|
45
|
+
scoreLabel: string;
|
|
46
|
+
scoreLoading: boolean;
|
|
47
|
+
value: ResolvedTableCellText;
|
|
48
|
+
variant: 'single' | 'multi' | 'triple';
|
|
49
|
+
wraps: boolean;
|
|
50
|
+
lineClamp: TableCellLineClamp;
|
|
39
51
|
} | {
|
|
40
52
|
kind: 'image';
|
|
41
53
|
cellType: 'image';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { TableCellBlank, TableCellAction, TableCellEmpty, TableCellIcon, TableCellIconText, TableCellImage, TableCellPrimaryText, TableCellText, TableCellTag, TableCellTags, TableCellValue, TableColumn, TableGroup, TableRow, TableSortState } from './table-types';
|
|
1
|
+
import type { TableCellBlank, TableCellAction, TableCellEmpty, TableCellIcon, TableCellIconText, TableCellScoreText, TableCellImage, TableCellPrimaryText, TableCellText, TableCellTag, TableCellTags, TableCellValue, TableColumn, TableGroup, TableGroupAccessory, TableGroupHero, TableRow, TableSortState } from './table-types';
|
|
2
2
|
export interface TableSelectionState {
|
|
3
3
|
selectableRowIds: string[];
|
|
4
4
|
selectedLoadedCount: number;
|
|
@@ -11,6 +11,7 @@ export declare function isTableCellTag(value: TableCellValue): value is TableCel
|
|
|
11
11
|
export declare function isTableCellTags(value: TableCellValue): value is TableCellTags;
|
|
12
12
|
export declare function isTableCellIcon(value: TableCellValue): value is TableCellIcon;
|
|
13
13
|
export declare function isTableCellIconText(value: TableCellValue): value is TableCellIconText;
|
|
14
|
+
export declare function isTableCellScoreText(value: TableCellValue): value is TableCellScoreText;
|
|
14
15
|
export declare function isTableCellImage(value: TableCellValue): value is TableCellImage;
|
|
15
16
|
export declare function isTableCellAction(value: TableCellValue): value is TableCellAction;
|
|
16
17
|
export declare function isTableCellEmpty(value: TableCellValue): value is TableCellEmpty;
|
|
@@ -44,6 +45,14 @@ export declare function toggleAllLoadedTableRows(selectedRowIds: readonly string
|
|
|
44
45
|
/** Toggle every selectable loaded row that belongs to a group. */
|
|
45
46
|
export declare function toggleTableGroupSelection(selectedRowIds: readonly string[], groupRows: TableRow[]): string[];
|
|
46
47
|
export declare function resolvedTableGroupCount(group: TableGroup): number;
|
|
48
|
+
/** Accessory items shown on a group header's second track. */
|
|
49
|
+
export declare const TABLE_GROUP_ACCESSORY_LIMIT = 4;
|
|
50
|
+
/** Trim, drop empty copy, and cap accessories at the second-track limit. */
|
|
51
|
+
export declare function tableGroupAccessories(group: TableGroup): TableGroupAccessory[];
|
|
52
|
+
/** Group-header score fill. Same sm density on one- and two-track headers. */
|
|
53
|
+
export declare const TABLE_GROUP_HERO_SCORE_SIZE: "sm";
|
|
54
|
+
/** Resolve a supported group-header hero, or undefined when none is supplied. */
|
|
55
|
+
export declare function tableGroupHero(group: TableGroup): TableGroupHero | undefined;
|
|
47
56
|
export declare const TABLE_GROUP_INTENTS: readonly ["brand", "neutral", "negative", "warning", "caution", "positive"];
|
|
48
57
|
export declare function isTableGroupIntent(value: unknown): value is (typeof TABLE_GROUP_INTENTS)[number];
|
|
49
58
|
export declare function tableGroupIntentClass(intent: (typeof TABLE_GROUP_INTENTS)[number] | undefined): string | undefined;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { tableGroupLabelColor, type TableCollapseAllHost, type TableSelectionState } from './table-model';
|
|
2
|
-
import type { TableColumn, TableGroup, TableGroupIntent, TableRow, TableSelectionMode } from './table-types';
|
|
2
|
+
import type { TableColumn, TableGroup, TableGroupAccessory, TableGroupHero, TableGroupIntent, TableRow, TableSelectionMode } from './table-types';
|
|
3
3
|
export type TableGroupCountPresentation = 'loaded-progress' | 'total';
|
|
4
4
|
export interface TableGroupRenderModel {
|
|
5
5
|
group: TableGroup;
|
|
@@ -11,6 +11,8 @@ export interface TableGroupRenderModel {
|
|
|
11
11
|
intentClass: string | undefined;
|
|
12
12
|
labelColor: ReturnType<typeof tableGroupLabelColor>;
|
|
13
13
|
collapsed: boolean;
|
|
14
|
+
accessories: TableGroupAccessory[];
|
|
15
|
+
hero: TableGroupHero | undefined;
|
|
14
16
|
selection: TableSelectionState | null;
|
|
15
17
|
}
|
|
16
18
|
export interface TableRenderModel {
|
|
@@ -15,6 +15,7 @@ export interface TableRowViewOptions {
|
|
|
15
15
|
highlightFieldIds: string[];
|
|
16
16
|
ariaRowIndex?: number;
|
|
17
17
|
variableVirtualSize?: boolean;
|
|
18
|
+
intrinsicBlockSize?: number;
|
|
18
19
|
rowKey?: string;
|
|
19
20
|
renderSelectionControl: (label: string, checked: boolean, indeterminate: boolean, disabled: boolean, onActivate: () => void) => unknown;
|
|
20
21
|
renderStickyEdge: (sticky: TableColumn['sticky']) => unknown;
|
|
@@ -25,5 +26,5 @@ export interface TableRowViewOptions {
|
|
|
25
26
|
onActionMenuToggle: (row: TableRow, column: TableColumn, event: MouseEvent) => void;
|
|
26
27
|
}
|
|
27
28
|
/** Render one semantic body row and the complete declarative table-cell vocabulary. */
|
|
28
|
-
export declare function renderTableRow({ row, model, visibleColumns, emptyCellLabel, actionMenuElementId, actionMenu, highlightMatcher, highlightFieldIds, ariaRowIndex, variableVirtualSize, rowKey, renderSelectionControl, renderStickyEdge, onRowActivate, onRowKeyDown, onRowSelection, onCellAction, onActionMenuToggle, }: TableRowViewOptions): any;
|
|
29
|
+
export declare function renderTableRow({ row, model, visibleColumns, emptyCellLabel, actionMenuElementId, actionMenu, highlightMatcher, highlightFieldIds, ariaRowIndex, variableVirtualSize, intrinsicBlockSize, rowKey, renderSelectionControl, renderStickyEdge, onRowActivate, onRowKeyDown, onRowSelection, onCellAction, onActionMenuToggle, }: TableRowViewOptions): any;
|
|
29
30
|
//# sourceMappingURL=table-row-view.d.ts.map
|