@ds-mo/ui 14.0.1 → 14.2.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 +59 -12
- package/dist/angular/ds-mobile-sheet-nav.d.ts +1 -1
- package/dist/angular/ds-mobile-sheet-nav.js +3 -3
- package/dist/angular/ds-tab-group.d.ts +1 -1
- package/dist/angular/ds-tab-group.js +3 -3
- package/dist/angular/ds-table.d.ts +4 -1
- package/dist/angular/ds-table.js +7 -4
- 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-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-legend.js.map +1 -1
- package/dist/components/ds-checkbox.js +1 -1
- package/dist/components/ds-chip.js +1 -1
- package/dist/components/ds-chip.js.map +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-item.js.map +1 -1
- package/dist/components/ds-filter-menu.js +1 -1
- package/dist/components/ds-filter-menu.js.map +1 -1
- package/dist/components/ds-input.js +1 -1
- package/dist/components/ds-input.js.map +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-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-panel-nav.js +1 -1
- package/dist/components/ds-panel-sub-nav.js +1 -1
- package/dist/components/ds-panel-sub-nav.js.map +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-radio.js +1 -1
- package/dist/components/ds-select.js +1 -1
- package/dist/components/ds-select.js.map +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-tab-group.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-toast.js +1 -1
- package/dist/components/p-1tOy4H51.js +2 -0
- package/dist/components/{p-DatlGTJp.js.map → p-1tOy4H51.js.map} +1 -1
- package/dist/components/{p-DXgSSxyB.js → p-BMJcBo8B.js} +2 -2
- package/dist/components/p-BMJcBo8B.js.map +1 -0
- package/dist/components/{p-nMkoXLC0.js → p-BiOfbCke.js} +2 -2
- package/dist/components/{p-1KtrhAC7.js → p-BnPcWBA8.js} +2 -2
- package/dist/components/p-C-GNvCk0.js +2 -0
- package/dist/components/p-C-GNvCk0.js.map +1 -0
- package/dist/components/{p-D0i_J2rj.js → p-CRjpqqAI.js} +2 -2
- package/dist/components/{p-D0i_J2rj.js.map → p-CRjpqqAI.js.map} +1 -1
- package/dist/components/p-CTTDiW33.js +2 -0
- package/dist/components/{p--z-DWRkg.js.map → p-CTTDiW33.js.map} +1 -1
- package/dist/components/{p-BKsWDUnX.js → p-CTVMXN9s.js} +2 -2
- package/dist/components/p-CbfmzgdW.js +2 -0
- package/dist/components/p-CbfmzgdW.js.map +1 -0
- package/dist/components/{p-CQS5aWiC.js → p-ChlRsQYY.js} +2 -2
- package/dist/components/{p-BaiGt_o6.js → p-DD5OCVXx.js} +2 -2
- package/dist/components/{p-BaiGt_o6.js.map → p-DD5OCVXx.js.map} +1 -1
- package/dist/components/p-DJ_FsLCc.js +2 -0
- package/dist/components/{p-DofS_hVZ.js.map → p-DJ_FsLCc.js.map} +1 -1
- package/dist/components/{p-DXHq_AfZ.js → p-DT4WdAup.js} +2 -2
- package/dist/components/{p-DYoCb_sj.js → p-DYzjeIAT.js} +2 -2
- package/dist/components/{p-DYoCb_sj.js.map → p-DYzjeIAT.js.map} +1 -1
- package/dist/components/p-DmZupC1-.js +2 -0
- package/dist/components/p-DmZupC1-.js.map +1 -0
- package/dist/components/p-DmwMiaWL.js +2 -0
- package/dist/components/{p-vT4pgp8o.js.map → p-DmwMiaWL.js.map} +1 -1
- package/dist/components/p-Dr4AgJbV.js +2 -0
- package/dist/components/{p-DAW6G8Sl.js.map → p-Dr4AgJbV.js.map} +1 -1
- package/dist/components/p-DuFm-ieS.js +2 -0
- package/dist/components/p-DuFm-ieS.js.map +1 -0
- package/dist/components/p-DvJkkdIO.js +2 -0
- package/dist/components/{p-DY_sA9Jz.js.map → p-DvJkkdIO.js.map} +1 -1
- package/dist/components/p-NTU5jrG_.js +2 -0
- package/dist/components/{p-ZtJM0cZm.js.map → p-NTU5jrG_.js.map} +1 -1
- package/dist/components/p-NdahPypA.js.map +1 -1
- package/dist/components/{p-S9IjLCGj.js → p-c9QiNOc7.js} +2 -2
- package/dist/components/{p-CIhETsHv.js → p-eKARJmWs.js} +2 -2
- package/dist/components/p-jMCRaxQW.js +2 -0
- package/dist/components/{p-CUeuemsF.js.map → p-jMCRaxQW.js.map} +1 -1
- package/dist/docs/components.json +312 -9
- package/dist/lib/components/ShellApp/shell-app-types.d.ts +2 -0
- package/dist/mcp-data/registry/card-overview.json +1 -1
- package/dist/mcp-data/registry/mobile-header.json +4 -3
- package/dist/mcp-data/registry/mobile-sheet-nav.json +43 -4
- package/dist/mcp-data/registry/registry.json +58 -11
- package/dist/mcp-data/registry/shell-app.json +5 -3
- package/dist/mcp-data/registry/shell-page.json +2 -2
- package/dist/mcp-data/registry/tab-group.json +23 -4
- package/dist/mcp-data/registry/table.json +135 -10
- package/dist/react/ds-table.d.ts +2 -1
- package/dist/react/ds-table.js +1 -0
- package/dist/styles/table.css +1 -5
- package/dist/types/components/MobileSheetNav/MobileSheetNav.d.ts +4 -0
- package/dist/types/components/ShellApp/ShellApp.d.ts +1 -0
- package/dist/types/components/ShellApp/shell-app-types.d.ts +2 -0
- package/dist/types/components/ShellPage/ShellPage.d.ts +3 -0
- package/dist/types/components/TabGroup/TabGroup.d.ts +4 -0
- package/dist/types/components/Table/Table.d.ts +17 -1
- package/dist/types/components/Table/index.d.ts +1 -1
- package/dist/types/components/Table/table-group-load-controller.d.ts +40 -0
- package/dist/types/components/Table/table-types.d.ts +11 -0
- package/dist/types/components.d.ts +105 -6
- package/package.json +2 -2
- package/dist/components/p--z-DWRkg.js +0 -2
- package/dist/components/p-CElfUmMp.js +0 -2
- package/dist/components/p-CElfUmMp.js.map +0 -1
- package/dist/components/p-CUeuemsF.js +0 -2
- package/dist/components/p-Cae9PFPE.js +0 -2
- package/dist/components/p-Cae9PFPE.js.map +0 -1
- package/dist/components/p-Cih1XCy3.js +0 -2
- package/dist/components/p-Cih1XCy3.js.map +0 -1
- package/dist/components/p-DAW6G8Sl.js +0 -2
- package/dist/components/p-DXgSSxyB.js.map +0 -1
- package/dist/components/p-DY_sA9Jz.js +0 -2
- package/dist/components/p-DatlGTJp.js +0 -2
- package/dist/components/p-DofS_hVZ.js +0 -2
- package/dist/components/p-ZtJM0cZm.js +0 -2
- package/dist/components/p-vT4pgp8o.js +0 -2
- /package/dist/components/{p-nMkoXLC0.js.map → p-BiOfbCke.js.map} +0 -0
- /package/dist/components/{p-1KtrhAC7.js.map → p-BnPcWBA8.js.map} +0 -0
- /package/dist/components/{p-BKsWDUnX.js.map → p-CTVMXN9s.js.map} +0 -0
- /package/dist/components/{p-CQS5aWiC.js.map → p-ChlRsQYY.js.map} +0 -0
- /package/dist/components/{p-DXHq_AfZ.js.map → p-DT4WdAup.js.map} +0 -0
- /package/dist/components/{p-S9IjLCGj.js.map → p-c9QiNOc7.js.map} +0 -0
- /package/dist/components/{p-CIhETsHv.js.map → p-eKARJmWs.js.map} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"timestamp": "2026-08-
|
|
2
|
+
"timestamp": "2026-08-18T21:50:11",
|
|
3
3
|
"compiler": {
|
|
4
4
|
"name": "@stencil/core",
|
|
5
5
|
"version": "4.43.5",
|
|
@@ -15283,6 +15283,35 @@
|
|
|
15283
15283
|
"getter": false,
|
|
15284
15284
|
"setter": false
|
|
15285
15285
|
},
|
|
15286
|
+
{
|
|
15287
|
+
"name": "routeSelectionActive",
|
|
15288
|
+
"type": "boolean",
|
|
15289
|
+
"complexType": {
|
|
15290
|
+
"original": "boolean",
|
|
15291
|
+
"resolved": "boolean",
|
|
15292
|
+
"references": {}
|
|
15293
|
+
},
|
|
15294
|
+
"mutable": false,
|
|
15295
|
+
"attr": "route-selection-active",
|
|
15296
|
+
"reflectToAttr": false,
|
|
15297
|
+
"docs": "Whether the router-derived current area owns the active mobile stage.",
|
|
15298
|
+
"docsTags": [
|
|
15299
|
+
{
|
|
15300
|
+
"name": "default",
|
|
15301
|
+
"text": "true"
|
|
15302
|
+
}
|
|
15303
|
+
],
|
|
15304
|
+
"default": "true",
|
|
15305
|
+
"values": [
|
|
15306
|
+
{
|
|
15307
|
+
"type": "boolean"
|
|
15308
|
+
}
|
|
15309
|
+
],
|
|
15310
|
+
"optional": false,
|
|
15311
|
+
"required": false,
|
|
15312
|
+
"getter": false,
|
|
15313
|
+
"setter": false
|
|
15314
|
+
},
|
|
15286
15315
|
{
|
|
15287
15316
|
"name": "settingsGroups",
|
|
15288
15317
|
"type": "PanelNavGroup[]",
|
|
@@ -15346,6 +15375,35 @@
|
|
|
15346
15375
|
"required": false,
|
|
15347
15376
|
"getter": false,
|
|
15348
15377
|
"setter": false
|
|
15378
|
+
},
|
|
15379
|
+
{
|
|
15380
|
+
"name": "showAccount",
|
|
15381
|
+
"type": "boolean",
|
|
15382
|
+
"complexType": {
|
|
15383
|
+
"original": "boolean",
|
|
15384
|
+
"resolved": "boolean",
|
|
15385
|
+
"references": {}
|
|
15386
|
+
},
|
|
15387
|
+
"mutable": false,
|
|
15388
|
+
"attr": "show-account",
|
|
15389
|
+
"reflectToAttr": false,
|
|
15390
|
+
"docs": "Show the optional Account shortcut in the sheet header.",
|
|
15391
|
+
"docsTags": [
|
|
15392
|
+
{
|
|
15393
|
+
"name": "default",
|
|
15394
|
+
"text": "true"
|
|
15395
|
+
}
|
|
15396
|
+
],
|
|
15397
|
+
"default": "true",
|
|
15398
|
+
"values": [
|
|
15399
|
+
{
|
|
15400
|
+
"type": "boolean"
|
|
15401
|
+
}
|
|
15402
|
+
],
|
|
15403
|
+
"optional": false,
|
|
15404
|
+
"required": false,
|
|
15405
|
+
"getter": false,
|
|
15406
|
+
"setter": false
|
|
15349
15407
|
}
|
|
15350
15408
|
],
|
|
15351
15409
|
"methods": [],
|
|
@@ -24077,6 +24135,46 @@
|
|
|
24077
24135
|
"required": false,
|
|
24078
24136
|
"getter": false,
|
|
24079
24137
|
"setter": false
|
|
24138
|
+
},
|
|
24139
|
+
{
|
|
24140
|
+
"name": "width",
|
|
24141
|
+
"type": "\"fill\" | \"hug\"",
|
|
24142
|
+
"complexType": {
|
|
24143
|
+
"original": "TabGroupWidth",
|
|
24144
|
+
"resolved": "\"fill\" | \"hug\"",
|
|
24145
|
+
"references": {
|
|
24146
|
+
"TabGroupWidth": {
|
|
24147
|
+
"location": "local",
|
|
24148
|
+
"path": "/home/runner/work/compomo/compomo/src/wc/components/TabGroup/TabGroup.tsx",
|
|
24149
|
+
"id": "src/wc/components/TabGroup/TabGroup.tsx::TabGroupWidth"
|
|
24150
|
+
}
|
|
24151
|
+
}
|
|
24152
|
+
},
|
|
24153
|
+
"mutable": false,
|
|
24154
|
+
"attr": "width",
|
|
24155
|
+
"reflectToAttr": false,
|
|
24156
|
+
"docs": "Width fit — hug content (default) or fill the parent with equal-width segments.",
|
|
24157
|
+
"docsTags": [
|
|
24158
|
+
{
|
|
24159
|
+
"name": "default",
|
|
24160
|
+
"text": "'hug'"
|
|
24161
|
+
}
|
|
24162
|
+
],
|
|
24163
|
+
"default": "'hug'",
|
|
24164
|
+
"values": [
|
|
24165
|
+
{
|
|
24166
|
+
"value": "fill",
|
|
24167
|
+
"type": "string"
|
|
24168
|
+
},
|
|
24169
|
+
{
|
|
24170
|
+
"value": "hug",
|
|
24171
|
+
"type": "string"
|
|
24172
|
+
}
|
|
24173
|
+
],
|
|
24174
|
+
"optional": false,
|
|
24175
|
+
"required": false,
|
|
24176
|
+
"getter": false,
|
|
24177
|
+
"setter": false
|
|
24080
24178
|
}
|
|
24081
24179
|
],
|
|
24082
24180
|
"methods": [],
|
|
@@ -24526,6 +24624,180 @@
|
|
|
24526
24624
|
"getter": false,
|
|
24527
24625
|
"setter": false
|
|
24528
24626
|
},
|
|
24627
|
+
{
|
|
24628
|
+
"name": "groupEndOfResultsLabel",
|
|
24629
|
+
"type": "string",
|
|
24630
|
+
"complexType": {
|
|
24631
|
+
"original": "string",
|
|
24632
|
+
"resolved": "string",
|
|
24633
|
+
"references": {}
|
|
24634
|
+
},
|
|
24635
|
+
"mutable": false,
|
|
24636
|
+
"attr": "group-end-of-results-label",
|
|
24637
|
+
"reflectToAttr": false,
|
|
24638
|
+
"docs": "Supports the {group} placeholder.",
|
|
24639
|
+
"docsTags": [
|
|
24640
|
+
{
|
|
24641
|
+
"name": "default",
|
|
24642
|
+
"text": "'All {group} results loaded'"
|
|
24643
|
+
}
|
|
24644
|
+
],
|
|
24645
|
+
"default": "'All {group} results loaded'",
|
|
24646
|
+
"values": [
|
|
24647
|
+
{
|
|
24648
|
+
"type": "string"
|
|
24649
|
+
}
|
|
24650
|
+
],
|
|
24651
|
+
"optional": false,
|
|
24652
|
+
"required": false,
|
|
24653
|
+
"getter": false,
|
|
24654
|
+
"setter": false
|
|
24655
|
+
},
|
|
24656
|
+
{
|
|
24657
|
+
"name": "groupLoadMoreAriaLabel",
|
|
24658
|
+
"type": "string",
|
|
24659
|
+
"complexType": {
|
|
24660
|
+
"original": "string",
|
|
24661
|
+
"resolved": "string",
|
|
24662
|
+
"references": {}
|
|
24663
|
+
},
|
|
24664
|
+
"mutable": false,
|
|
24665
|
+
"attr": "group-load-more-aria-label",
|
|
24666
|
+
"reflectToAttr": false,
|
|
24667
|
+
"docs": "Supports the {group} placeholder.",
|
|
24668
|
+
"docsTags": [
|
|
24669
|
+
{
|
|
24670
|
+
"name": "default",
|
|
24671
|
+
"text": "'Load more {group} results'"
|
|
24672
|
+
}
|
|
24673
|
+
],
|
|
24674
|
+
"default": "'Load more {group} results'",
|
|
24675
|
+
"values": [
|
|
24676
|
+
{
|
|
24677
|
+
"type": "string"
|
|
24678
|
+
}
|
|
24679
|
+
],
|
|
24680
|
+
"optional": false,
|
|
24681
|
+
"required": false,
|
|
24682
|
+
"getter": false,
|
|
24683
|
+
"setter": false
|
|
24684
|
+
},
|
|
24685
|
+
{
|
|
24686
|
+
"name": "groupLoadMoreLabel",
|
|
24687
|
+
"type": "string",
|
|
24688
|
+
"complexType": {
|
|
24689
|
+
"original": "string",
|
|
24690
|
+
"resolved": "string",
|
|
24691
|
+
"references": {}
|
|
24692
|
+
},
|
|
24693
|
+
"mutable": false,
|
|
24694
|
+
"attr": "group-load-more-label",
|
|
24695
|
+
"reflectToAttr": false,
|
|
24696
|
+
"docs": "",
|
|
24697
|
+
"docsTags": [
|
|
24698
|
+
{
|
|
24699
|
+
"name": "default",
|
|
24700
|
+
"text": "'Load more'"
|
|
24701
|
+
}
|
|
24702
|
+
],
|
|
24703
|
+
"default": "'Load more'",
|
|
24704
|
+
"values": [
|
|
24705
|
+
{
|
|
24706
|
+
"type": "string"
|
|
24707
|
+
}
|
|
24708
|
+
],
|
|
24709
|
+
"optional": false,
|
|
24710
|
+
"required": false,
|
|
24711
|
+
"getter": false,
|
|
24712
|
+
"setter": false
|
|
24713
|
+
},
|
|
24714
|
+
{
|
|
24715
|
+
"name": "groupLoadingMoreLabel",
|
|
24716
|
+
"type": "string",
|
|
24717
|
+
"complexType": {
|
|
24718
|
+
"original": "string",
|
|
24719
|
+
"resolved": "string",
|
|
24720
|
+
"references": {}
|
|
24721
|
+
},
|
|
24722
|
+
"mutable": false,
|
|
24723
|
+
"attr": "group-loading-more-label",
|
|
24724
|
+
"reflectToAttr": false,
|
|
24725
|
+
"docs": "Supports the {group} placeholder.",
|
|
24726
|
+
"docsTags": [
|
|
24727
|
+
{
|
|
24728
|
+
"name": "default",
|
|
24729
|
+
"text": "'Loading more items'"
|
|
24730
|
+
}
|
|
24731
|
+
],
|
|
24732
|
+
"default": "'Loading more items'",
|
|
24733
|
+
"values": [
|
|
24734
|
+
{
|
|
24735
|
+
"type": "string"
|
|
24736
|
+
}
|
|
24737
|
+
],
|
|
24738
|
+
"optional": false,
|
|
24739
|
+
"required": false,
|
|
24740
|
+
"getter": false,
|
|
24741
|
+
"setter": false
|
|
24742
|
+
},
|
|
24743
|
+
{
|
|
24744
|
+
"name": "groupRetryLabel",
|
|
24745
|
+
"type": "string",
|
|
24746
|
+
"complexType": {
|
|
24747
|
+
"original": "string",
|
|
24748
|
+
"resolved": "string",
|
|
24749
|
+
"references": {}
|
|
24750
|
+
},
|
|
24751
|
+
"mutable": false,
|
|
24752
|
+
"attr": "group-retry-label",
|
|
24753
|
+
"reflectToAttr": false,
|
|
24754
|
+
"docs": "Supports the {group} placeholder.",
|
|
24755
|
+
"docsTags": [
|
|
24756
|
+
{
|
|
24757
|
+
"name": "default",
|
|
24758
|
+
"text": "'Retry loading {group} results'"
|
|
24759
|
+
}
|
|
24760
|
+
],
|
|
24761
|
+
"default": "'Retry loading {group} results'",
|
|
24762
|
+
"values": [
|
|
24763
|
+
{
|
|
24764
|
+
"type": "string"
|
|
24765
|
+
}
|
|
24766
|
+
],
|
|
24767
|
+
"optional": false,
|
|
24768
|
+
"required": false,
|
|
24769
|
+
"getter": false,
|
|
24770
|
+
"setter": false
|
|
24771
|
+
},
|
|
24772
|
+
{
|
|
24773
|
+
"name": "groupRowsLoadedLabel",
|
|
24774
|
+
"type": "string",
|
|
24775
|
+
"complexType": {
|
|
24776
|
+
"original": "string",
|
|
24777
|
+
"resolved": "string",
|
|
24778
|
+
"references": {}
|
|
24779
|
+
},
|
|
24780
|
+
"mutable": false,
|
|
24781
|
+
"attr": "group-rows-loaded-label",
|
|
24782
|
+
"reflectToAttr": false,
|
|
24783
|
+
"docs": "Supports {group}, {count}, {loaded}, and {total} placeholders.",
|
|
24784
|
+
"docsTags": [
|
|
24785
|
+
{
|
|
24786
|
+
"name": "default",
|
|
24787
|
+
"text": "'{count} more rows loaded in {group}. {loaded} of {total} rows loaded.'"
|
|
24788
|
+
}
|
|
24789
|
+
],
|
|
24790
|
+
"default": "'{count} more rows loaded in {group}. {loaded} of {total} rows loaded.'",
|
|
24791
|
+
"values": [
|
|
24792
|
+
{
|
|
24793
|
+
"type": "string"
|
|
24794
|
+
}
|
|
24795
|
+
],
|
|
24796
|
+
"optional": false,
|
|
24797
|
+
"required": false,
|
|
24798
|
+
"getter": false,
|
|
24799
|
+
"setter": false
|
|
24800
|
+
},
|
|
24529
24801
|
{
|
|
24530
24802
|
"name": "grouping",
|
|
24531
24803
|
"type": "TableGroupingState | null",
|
|
@@ -24916,10 +25188,10 @@
|
|
|
24916
25188
|
"docsTags": [
|
|
24917
25189
|
{
|
|
24918
25190
|
"name": "default",
|
|
24919
|
-
"text": "'Loading more
|
|
25191
|
+
"text": "'Loading more items'"
|
|
24920
25192
|
}
|
|
24921
25193
|
],
|
|
24922
|
-
"default": "'Loading more
|
|
25194
|
+
"default": "'Loading more items'",
|
|
24923
25195
|
"values": [
|
|
24924
25196
|
{
|
|
24925
25197
|
"type": "string"
|
|
@@ -25407,6 +25679,27 @@
|
|
|
25407
25679
|
"docs": "",
|
|
25408
25680
|
"docsTags": []
|
|
25409
25681
|
},
|
|
25682
|
+
{
|
|
25683
|
+
"event": "dsGroupLoadMore",
|
|
25684
|
+
"detail": "TableGroupLoadMoreDetail",
|
|
25685
|
+
"bubbles": true,
|
|
25686
|
+
"complexType": {
|
|
25687
|
+
"original": "TableGroupLoadMoreDetail",
|
|
25688
|
+
"resolved": "TableGroupLoadMoreDetail",
|
|
25689
|
+
"references": {
|
|
25690
|
+
"TableGroupLoadMoreDetail": {
|
|
25691
|
+
"location": "import",
|
|
25692
|
+
"path": "./table-types",
|
|
25693
|
+
"id": "src/wc/components/Table/table-types.ts::TableGroupLoadMoreDetail",
|
|
25694
|
+
"referenceLocation": "TableGroupLoadMoreDetail"
|
|
25695
|
+
}
|
|
25696
|
+
}
|
|
25697
|
+
},
|
|
25698
|
+
"cancelable": true,
|
|
25699
|
+
"composed": true,
|
|
25700
|
+
"docs": "",
|
|
25701
|
+
"docsTags": []
|
|
25702
|
+
},
|
|
25410
25703
|
{
|
|
25411
25704
|
"event": "dsLoadMore",
|
|
25412
25705
|
"detail": "TableLoadMoreDetail",
|
|
@@ -25504,9 +25797,9 @@
|
|
|
25504
25797
|
"ds-text",
|
|
25505
25798
|
"ds-icon",
|
|
25506
25799
|
"ds-tag",
|
|
25800
|
+
"ds-loader",
|
|
25507
25801
|
"ds-skeleton",
|
|
25508
|
-
"ds-empty-state"
|
|
25509
|
-
"ds-loader"
|
|
25802
|
+
"ds-empty-state"
|
|
25510
25803
|
],
|
|
25511
25804
|
"dependencyGraph": {
|
|
25512
25805
|
"ds-table": [
|
|
@@ -25515,9 +25808,9 @@
|
|
|
25515
25808
|
"ds-text",
|
|
25516
25809
|
"ds-icon",
|
|
25517
25810
|
"ds-tag",
|
|
25811
|
+
"ds-loader",
|
|
25518
25812
|
"ds-skeleton",
|
|
25519
|
-
"ds-empty-state"
|
|
25520
|
-
"ds-loader"
|
|
25813
|
+
"ds-empty-state"
|
|
25521
25814
|
],
|
|
25522
25815
|
"ds-checkbox": [
|
|
25523
25816
|
"ds-text"
|
|
@@ -28241,6 +28534,11 @@
|
|
|
28241
28534
|
"docstring": "",
|
|
28242
28535
|
"path": "src/wc/components/TabGroup/TabGroup.tsx"
|
|
28243
28536
|
},
|
|
28537
|
+
"src/wc/components/TabGroup/TabGroup.tsx::TabGroupWidth": {
|
|
28538
|
+
"declaration": "export type ControlWidth = 'hug' | 'fill';",
|
|
28539
|
+
"docstring": "",
|
|
28540
|
+
"path": "src/wc/components/TabGroup/TabGroup.tsx"
|
|
28541
|
+
},
|
|
28244
28542
|
"src/wc/components/TabGroup/TabGroup.tsx::TabBackground": {
|
|
28245
28543
|
"declaration": "export type TabBackground =\n | 'faint'\n | 'medium'\n | 'bold'\n | 'strong'\n | 'translucent'\n | 'inverted'\n | 'media'\n | 'always-dark';",
|
|
28246
28544
|
"docstring": "",
|
|
@@ -28682,7 +28980,7 @@
|
|
|
28682
28980
|
"path": "src/wc/components/ShellApp/shell-app-types.ts"
|
|
28683
28981
|
},
|
|
28684
28982
|
"src/wc/components/ShellApp/shell-app-types.ts::ShellNavigationConfig": {
|
|
28685
|
-
"declaration": "export interface ShellNavigationConfig {\n /** Groups shown in the current desktop/tablet PanelNav context. */\n groups?: PanelNavGroup[];\n /** Complete Dashboard collection used by the mobile navigation sheet. */\n dashboardGroups?: PanelNavGroup[];\n /** Complete Settings collection used by the mobile navigation sheet. */\n settingsGroups?: PanelNavGroup[];\n /** Current application URL used for active-item matching. */\n currentUrl?: string;\n /** Optional explicit active destination when URL matching is unavailable. */\n activeId?: string;\n /** Current Dashboard or Settings browsing context. */\n browseContext?: NavChromeStyle;\n /** Managed shells default to event routing so the application router stays authoritative. */\n routerMode?: PanelNavRouterMode;\n /** Persisted desktop PanelNav collapse preference key. */\n storageKey?: string;\n userName?: string;\n userInitial?: string;\n accountMenuExpanded?: boolean;\n dashboardLabel?: string;\n settingsLabel?: string;\n accountLabel?: string;\n navigationLabel?: string;\n dashboardNavigationLabel?: string;\n settingsNavigationLabel?: string;\n}",
|
|
28983
|
+
"declaration": "export interface ShellNavigationConfig {\n /** Groups shown in the current desktop/tablet PanelNav context. */\n groups?: PanelNavGroup[];\n /** Complete Dashboard collection used by the mobile navigation sheet. */\n dashboardGroups?: PanelNavGroup[];\n /** Complete Settings collection used by the mobile navigation sheet. */\n settingsGroups?: PanelNavGroup[];\n /** Current application URL used for active-item matching. */\n currentUrl?: string;\n /** Optional explicit active destination when URL matching is unavailable. */\n activeId?: string;\n /** Current Dashboard or Settings browsing context. */\n browseContext?: NavChromeStyle;\n /** Managed shells default to event routing so the application router stays authoritative. */\n routerMode?: PanelNavRouterMode;\n /** Persisted desktop PanelNav collapse preference key. */\n storageKey?: string;\n userName?: string;\n userInitial?: string;\n accountMenuExpanded?: boolean;\n dashboardLabel?: string;\n settingsLabel?: string;\n accountLabel?: string;\n /** Hide the mobile-sheet Account shortcut when Settings already owns that destination. */\n showMobileAccount?: boolean;\n navigationLabel?: string;\n dashboardNavigationLabel?: string;\n settingsNavigationLabel?: string;\n}",
|
|
28686
28984
|
"docstring": "Router-owned application navigation supplied to managed ShellApp.\nShellApp renders the responsive chrome but never performs route changes.",
|
|
28687
28985
|
"path": "src/wc/components/ShellApp/shell-app-types.ts"
|
|
28688
28986
|
},
|
|
@@ -28742,7 +29040,7 @@
|
|
|
28742
29040
|
"path": "src/wc/components/Table/table-types.ts"
|
|
28743
29041
|
},
|
|
28744
29042
|
"src/wc/components/Table/table-types.ts::TableGroup": {
|
|
28745
|
-
"declaration": "export interface TableGroup {\n /** Stable group identity. */\n id: string;\n label: string;\n value?: string | number;\n /** Total server-side member count; may exceed the currently loaded row count. */\n totalCount?: number;\n /** Optional localized accessible count phrase such as “18 vehicles”; the visible tag remains numeric. */\n countLabel?: string;\n /**\n * Optional semantic intent for the group section header. Applies a faint\n * intent background and bold intent title color.\n */\n intent?: TableGroupIntent;\n rows: TableRow[];\n}",
|
|
29043
|
+
"declaration": "export interface TableGroup {\n /** Stable group identity. */\n id: string;\n label: string;\n value?: string | number;\n /** Total server-side member count; may exceed the currently loaded row count. */\n totalCount?: number;\n /** Optional localized accessible count phrase such as “18 vehicles”; the visible tag remains numeric. */\n countLabel?: string;\n /**\n * Optional semantic intent for the group section header. Applies a faint\n * intent background and bold intent title color.\n */\n intent?: TableGroupIntent;\n /** Whether this group has more member rows available to load. */\n hasMore?: boolean;\n /** Controlled incremental loading state for this group's member rows. */\n loadingMore?: boolean;\n /** Controlled incremental loading failure for this group's member rows. */\n loadMoreError?: string;\n /** Reset key for this group's query, sort, or filter state. Defaults to the group ID. */\n loadIdentity?: string | number;\n rows: TableRow[];\n}",
|
|
28746
29044
|
"docstring": "",
|
|
28747
29045
|
"path": "src/wc/components/Table/table-types.ts"
|
|
28748
29046
|
},
|
|
@@ -28791,6 +29089,11 @@
|
|
|
28791
29089
|
"docstring": "",
|
|
28792
29090
|
"path": "src/wc/components/Table/table-types.ts"
|
|
28793
29091
|
},
|
|
29092
|
+
"src/wc/components/Table/table-types.ts::TableGroupLoadMoreDetail": {
|
|
29093
|
+
"declaration": "export interface TableGroupLoadMoreDetail extends TableLoadMoreDetail {\n groupId: string;\n}",
|
|
29094
|
+
"docstring": "",
|
|
29095
|
+
"path": "src/wc/components/Table/table-types.ts"
|
|
29096
|
+
},
|
|
28794
29097
|
"src/wc/components/Table/table-types.ts::TableCellActionDetail": {
|
|
28795
29098
|
"declaration": "export interface TableCellActionDetail {\n actionId: string;\n rowId: string;\n columnId: string;\n}",
|
|
28796
29099
|
"docstring": "",
|
|
@@ -34,6 +34,8 @@ export interface ShellNavigationConfig {
|
|
|
34
34
|
dashboardLabel?: string;
|
|
35
35
|
settingsLabel?: string;
|
|
36
36
|
accountLabel?: string;
|
|
37
|
+
/** Hide the mobile-sheet Account shortcut when Settings already owns that destination. */
|
|
38
|
+
showMobileAccount?: boolean;
|
|
37
39
|
navigationLabel?: string;
|
|
38
40
|
dashboardNavigationLabel?: string;
|
|
39
41
|
settingsNavigationLabel?: string;
|
|
@@ -364,7 +364,7 @@
|
|
|
364
364
|
"files": [
|
|
365
365
|
{
|
|
366
366
|
"path": "src/wc/components/CardOverview/CardOverview.css",
|
|
367
|
-
"content": "@import '../../utils/interaction-fill.css';\n@import '../../utils/focus-ring.css';\n@import '../../utils/control-density.css';\n@import '../../utils/control-parts.css';\n@import '../../styles/control-elevation.css';\n\n:host {\n display: block;\n box-sizing: border-box;\n container-type: inline-size;\n -webkit-user-select: none;\n user-select: none;\n --ds-card-overview-metric-min: calc(var(--dimension-size-400) * 5);\n --ds-card-overview-divider-width: var(--dimension-stroke-width-012);\n --ds-card-overview-divider-color: var(--color-always-dark-border-tertiary);\n color: var(--color-always-dark-foreground-primary);\n}\n\n.card-overview__surface {\n width: 100%;\n min-width: 0;\n box-sizing: border-box;\n border-radius: var(--dimension-radius-125);\n background: var(--color-always-dark-background);\n color: var(--color-always-dark-foreground-primary);\n overflow-anchor: none;\n}\n\n.card-overview__clip {\n height: 100%;\n min-width: 0;\n border-radius: inherit;\n background: inherit;\n overflow: hidden;\n}\n\n:host(.card-overview--scroll-collapsing) {\n height: var(--ds-card-overview-expanded-height);\n pointer-events: none;\n}\n\n:host(.card-overview--scroll-collapsing) .card-overview__surface {\n height: var(--ds-card-overview-visible-height);\n pointer-events: auto;\n will-change: height;\n}\n\n:host(.card-overview--scroll-collapsing) .card-overview__body {\n transform: translateY(calc(-1 * var(--ds-card-overview-content-offset)));\n will-change: transform;\n}\n\n.card-overview__layout {\n display: flex;\n flex-direction: column;\n min-width: 0;\n}\n\n.card-overview__summary {\n position: relative;\n z-index: 1;\n flex: 0 0 auto;\n min-width: 0;\n background: var(--color-always-dark-background);\n}\n\n.card-overview__header {\n display: flex;\n position: relative;\n align-items: center;\n gap: 0;\n width: 100%;\n height: var(--dimension-size-600);\n min-width: 0;\n padding: var(--dimension-space-100);\n box-sizing: border-box;\n}\n\n.card-overview__header::after {\n content: '';\n position: absolute;\n inset-inline: 0;\n inset-block-end: 0;\n height: var(--ds-card-overview-divider-width);\n background: var(--ds-card-overview-divider-color);\n pointer-events: none;\n}\n\n.card-overview__period {\n display: flex;\n flex: 0 1 auto;\n align-items: center;\n gap: 0;\n min-width: 0;\n min-height: var(--ds-control-height);\n overflow: hidden;\n white-space: nowrap;\n}\n\n.card-overview__period-current,\n.card-overview__period-comparison {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.card-overview__period-current {\n display: flex;\n flex: 0 1 auto;\n align-items: center;\n}\n\n.card-overview__period-fixed {\n flex: 0 1 auto;\n min-width: 0;\n}\n\n.card-overview__period-comparison {\n flex: 0 0 auto;\n}\n\n.card-overview__filter {\n display: flex;\n flex: 0 1 auto;\n align-items: center;\n min-width: 0;\n}\n\n.card-overview__body {\n display: flex;\n position: relative;\n z-index: 0;\n flex-direction: column;\n min-width: 0;\n transform: translateY(0);\n}\n\n.card-overview__metrics {\n display: grid;\n flex: 1 1 auto;\n grid-template-columns: repeat(\n var(--ds-card-overview-grid-columns, auto-fit),\n minmax(min(100%, var(--ds-card-overview-metric-min)), 1fr)\n );\n align-content: stretch;\n min-width: 0;\n overflow: clip;\n}\n\n.card-overview__score,\n.card-overview__metric {\n display: flex;\n min-width: 0;\n padding: var(--dimension-space-100);\n box-shadow:\n var(--ds-card-overview-divider-width) 0 0 0 var(--ds-card-overview-divider-color),\n 0 var(--ds-card-overview-divider-width) 0 0 var(--ds-card-overview-divider-color);\n box-sizing: border-box;\n}\n\n.card-overview__score-content,\n.card-overview__metric-action {\n display: flex;\n flex: 1 1 auto;\n min-width: 0;\n padding: var(--dimension-space-075);\n border-radius: var(--dimension-radius-025);\n box-sizing: border-box;\n}\n\n.card-overview__score-content {\n align-items: center;\n justify-content: flex-start;\n /*\n * Sits the fill 16px from the cell's left edge, on top of the 8px cell padding.\n * Metric cells keep the shared inner inset because their content is text; the\n * fill is a filled box and needs more room around it to read as inset.\n */\n padding-inline-start: var(--dimension-space-100);\n gap: var(--dimension-space-100);\n}\n\n/*\n * The level fill wraps the score figure alone. The trend sits outside it so it\n * keeps the same color and baseline as every other metric cell, and is never\n * held to the fill's contrast.\n */\n.card-overview__score-badge {\n display: flex;\n flex: 0 0 auto;\n align-items: center;\n justify-content: center;\n /*\n * The padding gives the fill its own breathing room around the figure, and the\n * matching negative margin keeps that padding out of layout so the cell still\n * measures the same as a metric cell.\n */\n margin-block: calc(-1 * var(--dimension-space-050));\n padding: var(--dimension-space-050);\n border-radius: var(--dimension-radius-025);\n background: var(--color-always-dark-interaction-active);\n color: var(--color-always-dark-foreground-primary);\n}\n\n.card-overview__score-badge--fair {\n background: var(--color-safety-score-background-fair);\n color: var(--color-safety-score-foreground-on-fair);\n}\n\n.card-overview__score-badge--good {\n background: var(--color-safety-score-background-good);\n color: var(--color-safety-score-foreground-on-good);\n}\n\n.card-overview__score-badge--excellent {\n background: var(--color-safety-score-background-excellent);\n color: var(--color-safety-score-foreground-on-excellent);\n}\n\n/* Mirrors .card-overview__metric-content so labels and trends line up across cells. */\n.card-overview__score-copy {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n justify-content: center;\n align-items: flex-start;\n gap: var(--dimension-space-050);\n min-width: 0;\n}\n\n.card-overview__score-label-spacer {\n visibility: hidden;\n}\n\n/*\n * The display line box is taller than the figure needs, so it is cropped to keep\n * the fill from driving the cell taller than a metric cell's label-plus-figure\n * column.\n */\n.card-overview__score-value,\n.card-overview__score-badge ds-skeleton {\n flex: 0 0 auto;\n margin-block: calc(-1 * var(--dimension-space-100));\n}\n\n.card-overview__score-content--error {\n align-items: center;\n justify-content: center;\n /* No fill to align, so this box keeps the metric cells' inner inset. */\n padding-inline-start: var(--dimension-space-075);\n border: var(--ds-card-overview-divider-width) solid\n var(--color-always-dark-border-tertiary);\n background: transparent;\n color: var(--color-always-dark-foreground-negative);\n text-align: center;\n}\n\n.card-overview__metric-action {\n flex-direction: column;\n justify-content: center;\n gap: var(--dimension-space-050);\n}\n\n.card-overview__metric-action[role='button'] {\n cursor: default;\n}\n\n.card-overview__metric-content {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n justify-content: center;\n gap: var(--dimension-space-050);\n min-width: 0;\n}\n\n.card-overview__metric-label {\n min-width: 0;\n}\n\n.card-overview__metric-figure {\n display: flex;\n align-items: baseline;\n gap: var(--dimension-space-050);\n min-width: 0;\n}\n\n.card-overview__trend {\n flex: 0 0 auto;\n white-space: nowrap;\n}\n\n:host(.card-overview--stacked) .card-overview__metrics {\n grid-template-columns: minmax(0, 1fr);\n}\n\n:host(.card-overview--compact) {\n height: var(--dimension-size-600);\n min-height: var(--dimension-size-600);\n}\n\n:host(.card-overview--compact) .card-overview__surface,\n:host(.card-overview--compact) .card-overview__clip,\n:host(.card-overview--compact) .card-overview__layout,\n:host(.card-overview--compact) .card-overview__summary {\n width: 100%;\n height: 100%;\n}\n\n:host(.card-overview--compact) .card-overview__header::after {\n display: none;\n}\n\n@media (forced-colors: active) {\n .card-overview__header::after {\n background: var(--ds-forced-color-content);\n }\n\n .card-overview__score-badge,\n .card-overview__score-content--error {\n border: var(--dimension-stroke-width-012) solid var(--ds-forced-color-content);\n background: var(--ds-forced-color-surface);\n color: var(--ds-forced-color-content);\n }\n}\n",
|
|
367
|
+
"content": "@import '../../utils/interaction-fill.css';\n@import '../../utils/focus-ring.css';\n@import '../../utils/control-density.css';\n@import '../../utils/control-parts.css';\n@import '../../styles/control-elevation.css';\n\n:host {\n display: block;\n box-sizing: border-box;\n container-type: inline-size;\n -webkit-user-select: none;\n user-select: none;\n --ds-card-overview-metric-min: calc(var(--dimension-size-400) * 5);\n --ds-card-overview-divider-width: var(--dimension-stroke-width-012);\n --ds-card-overview-divider-color: var(--color-always-dark-border-tertiary);\n color: var(--color-always-dark-foreground-primary);\n}\n\n.card-overview__surface {\n width: 100%;\n min-width: 0;\n box-sizing: border-box;\n border-radius: var(--dimension-radius-125);\n background: var(--color-always-dark-background);\n color: var(--color-always-dark-foreground-primary);\n overflow-anchor: none;\n}\n\n.card-overview__clip {\n height: 100%;\n min-width: 0;\n border-radius: inherit;\n background: inherit;\n overflow: hidden;\n}\n\n:host(.card-overview--scroll-collapsing) {\n height: var(--ds-card-overview-expanded-height);\n pointer-events: none;\n}\n\n:host(.card-overview--scroll-collapsing) .card-overview__surface {\n height: var(--ds-card-overview-visible-height);\n pointer-events: auto;\n will-change: height;\n}\n\n:host(.card-overview--scroll-collapsing) .card-overview__body {\n transform: translateY(calc(-1 * var(--ds-card-overview-content-offset)));\n will-change: transform;\n}\n\n.card-overview__layout {\n display: flex;\n flex-direction: column;\n min-width: 0;\n}\n\n.card-overview__summary {\n position: relative;\n z-index: 1;\n flex: 0 0 auto;\n min-width: 0;\n background: var(--color-always-dark-background);\n}\n\n.card-overview__header {\n display: flex;\n position: relative;\n align-items: center;\n gap: 0;\n width: 100%;\n height: var(--dimension-size-600);\n min-width: 0;\n padding: var(--dimension-space-100);\n box-sizing: border-box;\n}\n\n.card-overview__header::after {\n content: '';\n position: absolute;\n inset-inline: 0;\n inset-block-end: 0;\n height: var(--ds-card-overview-divider-width);\n background: var(--ds-card-overview-divider-color);\n pointer-events: none;\n}\n\n.card-overview__period {\n display: flex;\n flex: 0 1 auto;\n align-items: center;\n gap: 0;\n min-width: 0;\n min-height: var(--ds-control-height);\n overflow: hidden;\n white-space: nowrap;\n}\n\n.card-overview__period-current,\n.card-overview__period-comparison {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.card-overview__period-current {\n display: flex;\n flex: 0 1 auto;\n align-items: center;\n}\n\n.card-overview__period-fixed {\n flex: 0 1 auto;\n min-width: 0;\n}\n\n.card-overview__period-comparison {\n flex: 0 0 auto;\n}\n\n.card-overview__filter {\n display: flex;\n flex: 0 1 auto;\n align-items: center;\n min-width: 0;\n}\n\n.card-overview__body {\n display: flex;\n position: relative;\n z-index: 0;\n flex-direction: column;\n min-width: 0;\n transform: translateY(0);\n}\n\n.card-overview__metrics {\n display: grid;\n flex: 1 1 auto;\n grid-template-columns: repeat(\n var(--ds-card-overview-grid-columns, auto-fit),\n minmax(min(100%, var(--ds-card-overview-metric-min)), 1fr)\n );\n align-content: stretch;\n min-width: 0;\n overflow: clip;\n}\n\n.card-overview__score,\n.card-overview__metric {\n display: flex;\n min-width: 0;\n padding: var(--dimension-space-100);\n box-shadow:\n var(--ds-card-overview-divider-width) 0 0 0 var(--ds-card-overview-divider-color),\n 0 var(--ds-card-overview-divider-width) 0 0 var(--ds-card-overview-divider-color);\n box-sizing: border-box;\n}\n\n.card-overview__score-content,\n.card-overview__metric-action {\n display: flex;\n flex: 1 1 auto;\n min-width: 0;\n padding: var(--dimension-space-075);\n border-radius: var(--dimension-radius-025);\n box-sizing: border-box;\n}\n\n.card-overview__score-content {\n align-items: center;\n justify-content: flex-start;\n /*\n * Sits the fill 16px from the cell's left edge, on top of the 8px cell padding.\n * Metric cells keep the shared inner inset because their content is text; the\n * fill is a filled box and needs more room around it to read as inset.\n */\n padding-inline-start: var(--dimension-space-100);\n gap: var(--dimension-space-100);\n}\n\n/*\n * The level fill wraps the score figure alone. The trend sits outside it so it\n * keeps the same color and baseline as every other metric cell, and is never\n * held to the fill's contrast.\n */\n.card-overview__score-badge {\n display: flex;\n flex: 0 0 auto;\n align-items: center;\n justify-content: center;\n /*\n * The padding gives the fill its own breathing room around the figure, and the\n * matching negative margin keeps that padding out of layout so the cell still\n * measures the same as a metric cell.\n */\n margin-block: calc(-1 * var(--dimension-space-050));\n padding: var(--dimension-space-050);\n border-radius: var(--dimension-radius-025);\n background: var(--color-always-dark-interaction-active-brand);\n color: var(--color-always-dark-foreground-primary);\n}\n\n.card-overview__score-badge--fair {\n background: var(--color-safety-score-background-fair);\n color: var(--color-safety-score-foreground-on-fair);\n}\n\n.card-overview__score-badge--good {\n background: var(--color-safety-score-background-good);\n color: var(--color-safety-score-foreground-on-good);\n}\n\n.card-overview__score-badge--excellent {\n background: var(--color-safety-score-background-excellent);\n color: var(--color-safety-score-foreground-on-excellent);\n}\n\n/* Mirrors .card-overview__metric-content so labels and trends line up across cells. */\n.card-overview__score-copy {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n justify-content: center;\n align-items: flex-start;\n gap: var(--dimension-space-050);\n min-width: 0;\n}\n\n.card-overview__score-label-spacer {\n visibility: hidden;\n}\n\n/*\n * The display line box is taller than the figure needs, so it is cropped to keep\n * the fill from driving the cell taller than a metric cell's label-plus-figure\n * column.\n */\n.card-overview__score-value,\n.card-overview__score-badge ds-skeleton {\n flex: 0 0 auto;\n margin-block: calc(-1 * var(--dimension-space-100));\n}\n\n.card-overview__score-content--error {\n align-items: center;\n justify-content: center;\n /* No fill to align, so this box keeps the metric cells' inner inset. */\n padding-inline-start: var(--dimension-space-075);\n border: var(--ds-card-overview-divider-width) solid\n var(--color-always-dark-border-tertiary);\n background: transparent;\n color: var(--color-always-dark-foreground-negative);\n text-align: center;\n}\n\n.card-overview__metric-action {\n flex-direction: column;\n justify-content: center;\n gap: var(--dimension-space-050);\n}\n\n.card-overview__metric-action[role='button'] {\n cursor: default;\n}\n\n.card-overview__metric-content {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n justify-content: center;\n gap: var(--dimension-space-050);\n min-width: 0;\n}\n\n.card-overview__metric-label {\n min-width: 0;\n}\n\n.card-overview__metric-figure {\n display: flex;\n align-items: baseline;\n gap: var(--dimension-space-050);\n min-width: 0;\n}\n\n.card-overview__trend {\n flex: 0 0 auto;\n white-space: nowrap;\n}\n\n:host(.card-overview--stacked) .card-overview__metrics {\n grid-template-columns: minmax(0, 1fr);\n}\n\n:host(.card-overview--compact) {\n height: var(--dimension-size-600);\n min-height: var(--dimension-size-600);\n}\n\n:host(.card-overview--compact) .card-overview__surface,\n:host(.card-overview--compact) .card-overview__clip,\n:host(.card-overview--compact) .card-overview__layout,\n:host(.card-overview--compact) .card-overview__summary {\n width: 100%;\n height: 100%;\n}\n\n:host(.card-overview--compact) .card-overview__header::after {\n display: none;\n}\n\n@media (forced-colors: active) {\n .card-overview__header::after {\n background: var(--ds-forced-color-content);\n }\n\n .card-overview__score-badge,\n .card-overview__score-content--error {\n border: var(--dimension-stroke-width-012) solid var(--ds-forced-color-content);\n background: var(--ds-forced-color-surface);\n color: var(--ds-forced-color-content);\n }\n}\n",
|
|
368
368
|
"type": "registry:ui"
|
|
369
369
|
},
|
|
370
370
|
{
|
|
@@ -39,13 +39,14 @@
|
|
|
39
39
|
"states": [
|
|
40
40
|
"Without multiple sections the center renders heading.",
|
|
41
41
|
"With multiple sections the center renders the controlled MobileSectionSwitcher by default or an explicitly requested segmented TabGroup.",
|
|
42
|
+
"The segmented presentation uses the shared fill-width TabGroup contract and divides its centered two-thirds top-bar lane equally between options.",
|
|
42
43
|
"Optional subsections render in a second row and emit dsSubsectionChange without changing the primary section.",
|
|
43
44
|
"Sections represent peer destinations at the current navigation level; subsections represent local views beneath the selected page or detail identity.",
|
|
44
45
|
"Brand tone changes surface and foreground without changing geometry or interaction ownership."
|
|
45
46
|
],
|
|
46
47
|
"responsiveBehavior": [
|
|
47
48
|
"The primary 56px lane matches the Mobile Sheet Nav header and Mobile Bar Nav; optional subsections add one subordinate 48px lane.",
|
|
48
|
-
"Equal flexible side lanes keep the center mathematically aligned when actions are asymmetric."
|
|
49
|
+
"Equal flexible side lanes keep the center mathematically aligned when actions are asymmetric; segmented headers allocate the usable lane in a 1:4:1 ratio."
|
|
49
50
|
],
|
|
50
51
|
"references": [
|
|
51
52
|
{
|
|
@@ -336,12 +337,12 @@
|
|
|
336
337
|
"files": [
|
|
337
338
|
{
|
|
338
339
|
"path": "src/wc/components/MobileHeader/MobileHeader.css",
|
|
339
|
-
"content": "@import '../../utils/chrome-layout.css';\n\n:host {\n display: block;\n min-width: 0;\n box-sizing: border-box;\n background: var(--color-background-primary);\n color: var(--color-foreground-primary);\n}\n\n:host([tone='brand']) {\n background: var(--color-background-bold-brand);\n color: var(--color-foreground-on-bold);\n}\n\n.mobile-header {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n min-width: 0;\n box-sizing: border-box;\n background: inherit;\n color: inherit;\n}\n\n.mobile-header__primary {\n grid-template-columns: minmax(var(--dimension-size-400), 1fr) minmax(0, auto) minmax(var(--dimension-size-400), 1fr);\n width: 100%;\n height: calc(var(--dimension-size-500) + var(--dimension-space-200));\n min-width: 0;\n background: inherit;\n color: inherit;\n}\n\n:host(:not([tone='brand'])) .mobile-header::after {\n content: '';\n position: absolute;\n inset-inline: 0;\n inset-block-end: 0;\n height: var(--dimension-stroke-width-012);\n background: var(--color-border-tertiary);\n pointer-events: none;\n}\n\n.mobile-header__subsections {\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: 0;\n height: var(--dimension-size-600);\n padding: var(--dimension-space-100) var(--dimension-space-200);\n box-sizing: border-box;\n}\n\n.mobile-header__subsections ds-mobile-section-switcher {\n min-width: 0;\n max-width: 100%;\n}\n\n.mobile-header__lane {\n display: flex;\n align-items: center;\n gap: var(--dimension-space-050);\n min-width: 0;\n}\n\n.mobile-header__lane--leading {\n justify-content: flex-start;\n}\n\n.mobile-header__lane--trailing {\n justify-content: flex-end;\n}\n\n.mobile-header__center {\n position: relative;\n min-width: 0;\n max-width: 100%;\n justify-self: center;\n}\n\n.mobile-header__heading {\n display: block;\n min-width: 0;\n max-width: 100%;\n text-align: center;\n}\n\n.mobile-header__semantic-heading {\n position: absolute;\n width: var(--dimension-stroke-width-012);\n height: var(--dimension-stroke-width-012);\n padding: 0;\n margin: calc(var(--dimension-stroke-width-012) * -1);\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n::slotted([slot='leading']),\n::slotted([slot='trailing']) {\n flex: 0 0 auto;\n}\n",
|
|
340
|
+
"content": "@import '../../utils/chrome-layout.css';\n\n:host {\n display: block;\n min-width: 0;\n box-sizing: border-box;\n background: var(--color-background-primary);\n color: var(--color-foreground-primary);\n}\n\n:host([tone='brand']) {\n background: var(--color-background-bold-brand);\n color: var(--color-foreground-on-bold);\n}\n\n.mobile-header {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n min-width: 0;\n box-sizing: border-box;\n background: inherit;\n color: inherit;\n}\n\n.mobile-header__primary {\n grid-template-columns: minmax(var(--dimension-size-400), 1fr) minmax(0, auto) minmax(var(--dimension-size-400), 1fr);\n width: 100%;\n height: calc(var(--dimension-size-500) + var(--dimension-space-200));\n min-width: 0;\n background: inherit;\n color: inherit;\n}\n\n.mobile-header__primary--segmented {\n grid-template-columns:\n minmax(var(--dimension-size-500), 1fr)\n minmax(0, 4fr)\n minmax(var(--dimension-size-500), 1fr);\n}\n\n.mobile-header__primary--segmented .mobile-header__center,\n.mobile-header__primary--segmented ds-tab-group {\n width: 100%;\n}\n\n:host(:not([tone='brand'])) .mobile-header::after {\n content: '';\n position: absolute;\n inset-inline: 0;\n inset-block-end: 0;\n height: var(--dimension-stroke-width-012);\n background: var(--color-border-tertiary);\n pointer-events: none;\n}\n\n.mobile-header__subsections {\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: 0;\n height: var(--dimension-size-600);\n padding: var(--dimension-space-100) var(--dimension-space-200);\n box-sizing: border-box;\n}\n\n.mobile-header__subsections ds-mobile-section-switcher {\n min-width: 0;\n max-width: 100%;\n}\n\n.mobile-header__lane {\n display: flex;\n align-items: center;\n gap: var(--dimension-space-050);\n min-width: 0;\n}\n\n.mobile-header__lane--leading {\n justify-content: flex-start;\n}\n\n.mobile-header__lane--trailing {\n justify-content: flex-end;\n}\n\n.mobile-header__center {\n position: relative;\n min-width: 0;\n max-width: 100%;\n justify-self: center;\n}\n\n.mobile-header__heading {\n display: block;\n min-width: 0;\n max-width: 100%;\n text-align: center;\n}\n\n.mobile-header__semantic-heading {\n position: absolute;\n width: var(--dimension-stroke-width-012);\n height: var(--dimension-stroke-width-012);\n padding: 0;\n margin: calc(var(--dimension-stroke-width-012) * -1);\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n::slotted([slot='leading']),\n::slotted([slot='trailing']) {\n flex: 0 0 auto;\n}\n",
|
|
340
341
|
"type": "registry:ui"
|
|
341
342
|
},
|
|
342
343
|
{
|
|
343
344
|
"path": "src/wc/components/MobileHeader/MobileHeader.tsx",
|
|
344
|
-
"content": "import { Component, Event, EventEmitter, h, Host, Prop } from '@stencil/core';\nimport {\n getSelectableTabs,\n type TabGroupItem,\n type TabItem,\n} from '../TabGroup/tab-item-utils';\nimport type { TabGroupSize } from '../TabGroup/TabGroup';\nimport type {\n MobileHeaderHeadingLevel,\n MobileHeaderSectionsPresentation,\n MobileHeaderTone,\n} from './mobile-header-types';\n\n@Component({\n tag: 'ds-mobile-header',\n styleUrl: 'MobileHeader.css',\n scoped: true,\n})\nexport class MobileHeader {\n /** Static title used when no peer sections are supplied. */\n @Prop() heading: string = '';\n /** Semantic heading level for the active mobile screen. */\n @Prop() headingLevel: MobileHeaderHeadingLevel = 'h1';\n /** Controlled peer sections. Their selected label replaces the static title. */\n @Prop() sections: TabGroupItem[] = [];\n /** Controlled selected section id. */\n @Prop() value: string = '';\n /** Accessible name for the section chooser. */\n @Prop() sectionsAriaLabel: string = 'Change page section';\n /** Popup switcher or an inline segmented TabGroup for peer sections. */\n @Prop() sectionsPresentation: MobileHeaderSectionsPresentation = 'switcher';\n /** Density for the segmented sections presentation. */\n @Prop() sectionsSize: TabGroupSize = 'md';\n /** Controlled child sections within the selected page or detail screen. */\n @Prop() subsections: TabItem[] = [];\n /** Controlled selected child-section id. */\n @Prop() subvalue: string = '';\n /** Accessible name for the child-section chooser. */\n @Prop() subsectionsAriaLabel: string = 'Change page subsection';\n /** Default page chrome or bold-brand workflow chrome. */\n @Prop({ reflect: true }) tone: MobileHeaderTone = 'default';\n\n /** Section selection intent. */\n @Event() dsSectionChange!: EventEmitter<string>;\n /** Child-section selection intent. */\n @Event() dsSubsectionChange!: EventEmitter<string>;\n\n private get resolvedSections(): TabGroupItem[] {\n return this.sections ?? [];\n }\n\n private get resolvedSubsections(): TabItem[] {\n return this.subsections ?? [];\n }\n\n private get selectedLabel(): string {\n const selectable = getSelectableTabs(this.resolvedSections);\n return selectable.find(section => section.id === this.value)?.label ??\n selectable[0]?.label ??\n this.heading;\n }\n\n private handleSectionChange = (event: CustomEvent<string>) => {\n event.stopPropagation();\n this.dsSectionChange.emit(event.detail);\n };\n\n private handleSubsectionChange = (event: CustomEvent<string>) => {\n event.stopPropagation();\n this.dsSubsectionChange.emit(event.detail);\n };\n\n render() {\n const Heading = this.headingLevel;\n const selectable = getSelectableTabs(this.resolvedSections);\n const hasSwitcher = selectable.length > 1;\n const hasSubsections = getSelectableTabs(this.resolvedSubsections).length > 1;\n const foreground = this.tone === 'brand' ? 'on-bold' : 'primary';\n\n return (\n <Host>\n <header class=\"mobile-header\">\n <div
|
|
345
|
+
"content": "import { Component, Event, EventEmitter, h, Host, Prop } from '@stencil/core';\nimport {\n getSelectableTabs,\n type TabGroupItem,\n type TabItem,\n} from '../TabGroup/tab-item-utils';\nimport type { TabGroupSize } from '../TabGroup/TabGroup';\nimport type {\n MobileHeaderHeadingLevel,\n MobileHeaderSectionsPresentation,\n MobileHeaderTone,\n} from './mobile-header-types';\n\n@Component({\n tag: 'ds-mobile-header',\n styleUrl: 'MobileHeader.css',\n scoped: true,\n})\nexport class MobileHeader {\n /** Static title used when no peer sections are supplied. */\n @Prop() heading: string = '';\n /** Semantic heading level for the active mobile screen. */\n @Prop() headingLevel: MobileHeaderHeadingLevel = 'h1';\n /** Controlled peer sections. Their selected label replaces the static title. */\n @Prop() sections: TabGroupItem[] = [];\n /** Controlled selected section id. */\n @Prop() value: string = '';\n /** Accessible name for the section chooser. */\n @Prop() sectionsAriaLabel: string = 'Change page section';\n /** Popup switcher or an inline segmented TabGroup for peer sections. */\n @Prop() sectionsPresentation: MobileHeaderSectionsPresentation = 'switcher';\n /** Density for the segmented sections presentation. */\n @Prop() sectionsSize: TabGroupSize = 'md';\n /** Controlled child sections within the selected page or detail screen. */\n @Prop() subsections: TabItem[] = [];\n /** Controlled selected child-section id. */\n @Prop() subvalue: string = '';\n /** Accessible name for the child-section chooser. */\n @Prop() subsectionsAriaLabel: string = 'Change page subsection';\n /** Default page chrome or bold-brand workflow chrome. */\n @Prop({ reflect: true }) tone: MobileHeaderTone = 'default';\n\n /** Section selection intent. */\n @Event() dsSectionChange!: EventEmitter<string>;\n /** Child-section selection intent. */\n @Event() dsSubsectionChange!: EventEmitter<string>;\n\n private get resolvedSections(): TabGroupItem[] {\n return this.sections ?? [];\n }\n\n private get resolvedSubsections(): TabItem[] {\n return this.subsections ?? [];\n }\n\n private get selectedLabel(): string {\n const selectable = getSelectableTabs(this.resolvedSections);\n return selectable.find(section => section.id === this.value)?.label ??\n selectable[0]?.label ??\n this.heading;\n }\n\n private handleSectionChange = (event: CustomEvent<string>) => {\n event.stopPropagation();\n this.dsSectionChange.emit(event.detail);\n };\n\n private handleSubsectionChange = (event: CustomEvent<string>) => {\n event.stopPropagation();\n this.dsSubsectionChange.emit(event.detail);\n };\n\n render() {\n const Heading = this.headingLevel;\n const selectable = getSelectableTabs(this.resolvedSections);\n const hasSwitcher = selectable.length > 1;\n const hasSubsections = getSelectableTabs(this.resolvedSubsections).length > 1;\n const hasSegmentedSections = hasSwitcher && this.sectionsPresentation === 'segmented';\n const foreground = this.tone === 'brand' ? 'on-bold' : 'primary';\n\n return (\n <Host>\n <header class=\"mobile-header\">\n <div\n class={{\n 'mobile-header__primary': true,\n 'mobile-header__primary--segmented': hasSegmentedSections,\n 'ds-chrome-grid': true,\n 'ds-chrome-space--md': true,\n }}\n >\n <div class=\"mobile-header__lane mobile-header__lane--leading\">\n <slot name=\"leading\" />\n </div>\n <div class=\"mobile-header__center\">\n {hasSwitcher ? (\n [\n <span\n class=\"mobile-header__semantic-heading\"\n role=\"heading\"\n aria-level={this.headingLevel === 'h1' ? '1' : '2'}\n >\n {this.selectedLabel}\n </span>,\n this.sectionsPresentation === 'segmented' ? (\n <ds-tab-group\n tabs={this.resolvedSections}\n value={this.value}\n size={this.sectionsSize}\n width=\"fill\"\n ariaLabel={this.sectionsAriaLabel}\n onDsChange={this.handleSectionChange}\n />\n ) : (\n <ds-mobile-section-switcher\n sections={this.resolvedSections}\n value={this.value}\n navigationLabel={this.sectionsAriaLabel}\n onDsChange={this.handleSectionChange}\n />\n ),\n ]\n ) : (\n <ds-text\n class=\"mobile-header__heading\"\n as={Heading}\n variant=\"text-body-medium\"\n emphasis\n color={foreground}\n lineTruncation={1}\n >\n {this.selectedLabel}\n </ds-text>\n )}\n </div>\n <div class=\"mobile-header__lane mobile-header__lane--trailing\">\n <slot name=\"trailing\" />\n </div>\n </div>\n {hasSubsections ? (\n <nav class=\"mobile-header__subsections\" aria-label={this.subsectionsAriaLabel}>\n <ds-mobile-section-switcher\n sections={this.resolvedSubsections}\n value={this.subvalue}\n navigationLabel={this.subsectionsAriaLabel}\n onDsChange={this.handleSubsectionChange}\n />\n </nav>\n ) : null}\n </header>\n </Host>\n );\n }\n}\n",
|
|
345
346
|
"type": "registry:ui"
|
|
346
347
|
},
|
|
347
348
|
{
|