@ds-mo/ui 13.11.1 → 13.13.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 +307 -10
- package/dist/angular/ds-button-filled.d.ts +1 -1
- package/dist/angular/ds-button-filled.js +3 -3
- package/dist/angular/ds-button-unfilled.d.ts +1 -1
- package/dist/angular/ds-button-unfilled.js +3 -3
- package/dist/angular/ds-mobile-header.d.ts +1 -1
- package/dist/angular/ds-mobile-header.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 +31 -0
- package/dist/angular/ds-table.js +57 -0
- package/dist/angular/ds-tag.d.ts +1 -1
- package/dist/angular/ds-tag.js +3 -3
- package/dist/angular/index.d.ts +1 -1
- package/dist/angular/index.js +1 -0
- package/dist/angular/proxies.d.ts +1 -0
- package/dist/angular/proxies.js +1 -0
- 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-bar-workflow.js.map +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-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-radio.js.map +1 -1
- package/dist/components/ds-scroll-overlay.js +1 -1
- package/dist/components/ds-scroll-overlay.js.map +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-tools.js +1 -1
- package/dist/components/ds-skeleton.js +1 -1
- package/dist/components/ds-slider.js +1 -1
- package/dist/components/ds-switch.js +1 -1
- package/dist/components/ds-tab-group.js +1 -1
- package/dist/components/ds-table.d.ts +11 -0
- package/dist/components/ds-table.js +2 -0
- package/dist/components/ds-table.js.map +1 -0
- package/dist/components/ds-tag.js +1 -1
- package/dist/components/ds-tag.js.map +1 -1
- package/dist/components/ds-toast.js +1 -1
- package/dist/components/ds-typing-indicator.js +1 -1
- package/dist/components/index.d.ts +30 -0
- package/dist/components/p-B1JB0Zn-.js +2 -0
- package/dist/components/{p-DgglLVCj.js.map → p-B1JB0Zn-.js.map} +1 -1
- package/dist/components/p-B2t8alvH.js +2 -0
- package/dist/components/{p-DK4PGrHm.js.map → p-B2t8alvH.js.map} +1 -1
- package/dist/components/p-BAGTb6cZ.js +2 -0
- package/dist/components/p-BAGTb6cZ.js.map +1 -0
- package/dist/components/p-BEEYhbIb.js +2 -0
- package/dist/components/p-BEEYhbIb.js.map +1 -0
- package/dist/components/{p-BRajO-Za.js → p-BFMV9TJO.js} +2 -2
- package/dist/components/p-BNHPCCw8.js +2 -0
- package/dist/components/{p-DCN04sgt.js.map → p-BNHPCCw8.js.map} +1 -1
- package/dist/components/{p-DJGdoPMG.js → p-BUZLhvs1.js} +2 -2
- package/dist/components/p-BgaF83uh.js +2 -0
- package/dist/components/{p-C5gZHZHU.js.map → p-BgaF83uh.js.map} +1 -1
- package/dist/components/p-Br0fwWUG.js +2 -0
- package/dist/components/{p-BHb3Ws8e.js.map → p-Br0fwWUG.js.map} +1 -1
- package/dist/components/{p-DcmqsAMP.js → p-BydCwx7x.js} +2 -2
- package/dist/components/p-C3Z01Glr.js +2 -0
- package/dist/components/p-C3Z01Glr.js.map +1 -0
- package/dist/components/{p-Dg9qiMDa.js → p-C9StMCWg.js} +2 -2
- package/dist/components/{p-BX57q1Lo.js → p-CSlTJWFG.js} +2 -2
- package/dist/components/{p-BQ7Nzx9A.js → p-Ch5yT3UA.js} +2 -2
- package/dist/components/p-Cw1bbiCG.js +2 -0
- package/dist/components/p-Cw1bbiCG.js.map +1 -0
- package/dist/components/p-CzV4gIxd.js +2 -0
- package/dist/components/p-CzV4gIxd.js.map +1 -0
- package/dist/components/p-D-F8eyXy.js +2 -0
- package/dist/components/p-D-F8eyXy.js.map +1 -0
- package/dist/components/p-DGvzGGcu.js +2 -0
- package/dist/components/{p-CIlO_j3q.js.map → p-DGvzGGcu.js.map} +1 -1
- package/dist/components/{p-DkhE3BsH.js → p-bLCbOPYa.js} +2 -2
- package/dist/components/p-cPh32CFB.js +2 -0
- package/dist/components/{p-BnGJrBPG.js.map → p-cPh32CFB.js.map} +1 -1
- package/dist/docs/components.json +1590 -59
- package/dist/lib/components/ButtonFilled/ButtonFilled.d.ts +2 -0
- package/dist/lib/components/MobileHeader/mobile-header-types.d.ts +3 -2
- package/dist/mcp-data/registry/button-filled.json +20 -1
- package/dist/mcp-data/registry/button-unfilled.json +20 -1
- package/dist/mcp-data/registry/mobile-header.json +48 -10
- package/dist/mcp-data/registry/mobile-sheet-nav.json +2 -2
- package/dist/mcp-data/registry/registry.json +309 -9
- package/dist/mcp-data/registry/shell-app.json +4 -2
- package/dist/mcp-data/registry/shell-tools.json +4 -4
- package/dist/mcp-data/registry/tab-group.json +22 -2
- package/dist/mcp-data/registry/table.json +777 -0
- package/dist/mcp-data/registry/tag.json +22 -3
- package/dist/react/components.d.ts +1 -0
- package/dist/react/components.js +1 -0
- package/dist/react/ds-table.d.ts +17 -0
- package/dist/react/ds-table.js +19 -0
- package/dist/styles/table.css +874 -0
- package/dist/types/components/ButtonFilled/ButtonFilled.d.ts +2 -0
- package/dist/types/components/ButtonUnfilled/ButtonUnfilled.d.ts +2 -0
- package/dist/types/components/MobileHeader/MobileHeader.d.ts +8 -3
- package/dist/types/components/MobileHeader/index.d.ts +1 -1
- package/dist/types/components/MobileHeader/mobile-header-types.d.ts +3 -2
- package/dist/types/components/ShellApp/ShellApp.d.ts +8 -0
- package/dist/types/components/TabGroup/TabGroup.d.ts +3 -0
- package/dist/types/components/Table/Table.d.ts +126 -0
- package/dist/types/components/Table/index.d.ts +2 -0
- package/dist/types/components/Table/table-model.d.ts +29 -0
- package/dist/types/components/Table/table-types.d.ts +189 -0
- package/dist/types/components/Tag/Tag.d.ts +2 -0
- package/dist/types/components.d.ts +417 -6
- package/package.json +3 -2
- package/dist/components/p-BHb3Ws8e.js +0 -2
- package/dist/components/p-BnGJrBPG.js +0 -2
- package/dist/components/p-C5gZHZHU.js +0 -2
- package/dist/components/p-CIlO_j3q.js +0 -2
- package/dist/components/p-CVmtbj-6.js +0 -2
- package/dist/components/p-CVmtbj-6.js.map +0 -1
- package/dist/components/p-DAbaMtEX.js +0 -2
- package/dist/components/p-DAbaMtEX.js.map +0 -1
- package/dist/components/p-DCN04sgt.js +0 -2
- package/dist/components/p-DK4PGrHm.js +0 -2
- package/dist/components/p-DW9p068S.js +0 -2
- package/dist/components/p-DW9p068S.js.map +0 -1
- package/dist/components/p-DgglLVCj.js +0 -2
- package/dist/components/p-Xftomzsv.js +0 -2
- package/dist/components/p-Xftomzsv.js.map +0 -1
- package/dist/components/p-c1pY-Mqq.js +0 -2
- package/dist/components/p-c1pY-Mqq.js.map +0 -1
- /package/dist/components/{p-BRajO-Za.js.map → p-BFMV9TJO.js.map} +0 -0
- /package/dist/components/{p-DJGdoPMG.js.map → p-BUZLhvs1.js.map} +0 -0
- /package/dist/components/{p-DcmqsAMP.js.map → p-BydCwx7x.js.map} +0 -0
- /package/dist/components/{p-Dg9qiMDa.js.map → p-C9StMCWg.js.map} +0 -0
- /package/dist/components/{p-BX57q1Lo.js.map → p-CSlTJWFG.js.map} +0 -0
- /package/dist/components/{p-BQ7Nzx9A.js.map → p-Ch5yT3UA.js.map} +0 -0
- /package/dist/components/{p-DkhE3BsH.js.map → p-bLCbOPYa.js.map} +0 -0
package/dist/.package-ready.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"schemaVersion":1,"package":"@ds-mo/ui","version":"13.
|
|
1
|
+
{"schemaVersion":1,"package":"@ds-mo/ui","version":"13.13.0","components":66,"digest":"503e11eb2310996c50dbc2f333e7bc42ae1c446cc64c4a7b84d35f8d7248730c","completedAt":"2026-08-09T23:01:58.378Z"}
|
package/dist/agent-patterns.json
CHANGED
package/dist/agent.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": "1.0.0",
|
|
3
3
|
"package": "@ds-mo/ui",
|
|
4
|
-
"packageVersion": "13.
|
|
4
|
+
"packageVersion": "13.13.0",
|
|
5
5
|
"kind": "components",
|
|
6
6
|
"entries": [
|
|
7
7
|
{
|
|
@@ -1467,6 +1467,7 @@
|
|
|
1467
1467
|
],
|
|
1468
1468
|
"states": [
|
|
1469
1469
|
"Every size applies one complete control-density recipe across frame height, inline padding, icon zone, text-container inset, gap, and radius.",
|
|
1470
|
+
"Set isInset only when the button is nested inside a same-size control; it reduces the outer geometry while preserving the size's icon, label inset, gap, radius, and typography.",
|
|
1470
1471
|
"Use only one filled action per local decision area; render all secondary actions with ButtonUnfilled.",
|
|
1471
1472
|
"Choose brand or neutral for general commands. Reserve positive, negative, warning, and caution for matching action consequences, and AI, guide, or walkthrough for actions that enter those feature experiences.",
|
|
1472
1473
|
"Contrast serves both surface adaptation and hierarchy, but never permits a second filled action in the same decision area.",
|
|
@@ -1547,6 +1548,10 @@
|
|
|
1547
1548
|
"type": "boolean",
|
|
1548
1549
|
"required": false
|
|
1549
1550
|
},
|
|
1551
|
+
"isInset": {
|
|
1552
|
+
"type": "boolean",
|
|
1553
|
+
"required": false
|
|
1554
|
+
},
|
|
1550
1555
|
"isLoading": {
|
|
1551
1556
|
"type": "boolean",
|
|
1552
1557
|
"required": false
|
|
@@ -1666,6 +1671,7 @@
|
|
|
1666
1671
|
],
|
|
1667
1672
|
"states": [
|
|
1668
1673
|
"Every size applies one complete control-density recipe across frame height, inline padding, icon zone, text-container inset, gap, and radius.",
|
|
1674
|
+
"Set isInset only when the button is nested inside a same-size control; it reduces the outer geometry while preserving the size's icon, label inset, gap, radius, and typography.",
|
|
1669
1675
|
"A true pressed toggle and owner-controlled isActive emphasis share the selected visual treatment, but only pressed supplies toggle semantics and dsChange.",
|
|
1670
1676
|
"General content UI keeps the selected interaction fill and border for pressed or active emphasis.",
|
|
1671
1677
|
"Shell, navigation, and tool-rail composites use isActive with foreground-only emphasis and no selected fill or border.",
|
|
@@ -1756,6 +1762,10 @@
|
|
|
1756
1762
|
"type": "boolean",
|
|
1757
1763
|
"required": false
|
|
1758
1764
|
},
|
|
1765
|
+
"isInset": {
|
|
1766
|
+
"type": "boolean",
|
|
1767
|
+
"required": false
|
|
1768
|
+
},
|
|
1759
1769
|
"isLoading": {
|
|
1760
1770
|
"type": "boolean",
|
|
1761
1771
|
"required": false
|
|
@@ -4750,6 +4760,7 @@
|
|
|
4750
4760
|
],
|
|
4751
4761
|
"commonlyComposedWith": [
|
|
4752
4762
|
"component:ds-mobile-section-switcher",
|
|
4763
|
+
"component:ds-tab-group",
|
|
4753
4764
|
"component:ds-shell-page",
|
|
4754
4765
|
"component:ds-shell-tools"
|
|
4755
4766
|
],
|
|
@@ -4758,19 +4769,19 @@
|
|
|
4758
4769
|
],
|
|
4759
4770
|
"accessibility": [
|
|
4760
4771
|
"Static screens render a real h1 or h2 according to headingLevel.",
|
|
4761
|
-
"Section-switching screens expose an equivalent semantic heading alongside the accessible popup trigger.",
|
|
4772
|
+
"Section-switching screens expose an equivalent semantic heading alongside the accessible popup trigger or named segmented TabGroup.",
|
|
4762
4773
|
"Subsections use a separately named navigation landmark and never replace the semantic page identity.",
|
|
4763
4774
|
"Leading and trailing slotted icon actions retain their own accessible names and tooltips."
|
|
4764
4775
|
],
|
|
4765
4776
|
"states": [
|
|
4766
4777
|
"Without multiple sections the center renders heading.",
|
|
4767
|
-
"With multiple sections the center renders the controlled MobileSectionSwitcher.",
|
|
4778
|
+
"With multiple sections the center renders the controlled MobileSectionSwitcher by default or an explicitly requested segmented TabGroup.",
|
|
4768
4779
|
"Optional subsections render in a second row and emit dsSubsectionChange without changing the primary section.",
|
|
4769
4780
|
"Sections represent peer destinations at the current navigation level; subsections represent local views beneath the selected page or detail identity.",
|
|
4770
4781
|
"Brand tone changes surface and foreground without changing geometry or interaction ownership."
|
|
4771
4782
|
],
|
|
4772
4783
|
"responsiveBehavior": [
|
|
4773
|
-
"The primary
|
|
4784
|
+
"The primary 56px lane matches the Mobile Sheet Nav header and Mobile Bar Nav; optional subsections add one subordinate 48px lane.",
|
|
4774
4785
|
"Equal flexible side lanes keep the center mathematically aligned when actions are asymmetric."
|
|
4775
4786
|
],
|
|
4776
4787
|
"references": [
|
|
@@ -4791,13 +4802,21 @@
|
|
|
4791
4802
|
"required": false
|
|
4792
4803
|
},
|
|
4793
4804
|
"sections": {
|
|
4794
|
-
"type": "
|
|
4805
|
+
"type": "TabGroupItem[]",
|
|
4795
4806
|
"required": false
|
|
4796
4807
|
},
|
|
4797
4808
|
"sectionsAriaLabel": {
|
|
4798
4809
|
"type": "string",
|
|
4799
4810
|
"required": false
|
|
4800
4811
|
},
|
|
4812
|
+
"sectionsPresentation": {
|
|
4813
|
+
"type": "MobileHeaderSectionsPresentation",
|
|
4814
|
+
"required": false
|
|
4815
|
+
},
|
|
4816
|
+
"sectionsSize": {
|
|
4817
|
+
"type": "TabGroupSize",
|
|
4818
|
+
"required": false
|
|
4819
|
+
},
|
|
4801
4820
|
"subsections": {
|
|
4802
4821
|
"type": "TabItem[]",
|
|
4803
4822
|
"required": false
|
|
@@ -4842,6 +4861,7 @@
|
|
|
4842
4861
|
],
|
|
4843
4862
|
"componentDependencies": [
|
|
4844
4863
|
"mobile-section-switcher",
|
|
4864
|
+
"tab-group",
|
|
4845
4865
|
"text"
|
|
4846
4866
|
]
|
|
4847
4867
|
},
|
|
@@ -4963,7 +4983,7 @@
|
|
|
4963
4983
|
],
|
|
4964
4984
|
"responsiveBehavior": [
|
|
4965
4985
|
"The pane fills the mobile content stage while the bottom bar remains available.",
|
|
4966
|
-
"The sheet header and scrollable navigation body each use the shared 8px chrome inset;
|
|
4986
|
+
"The sheet header and scrollable navigation body each use the shared 8px chrome inset; the context TabGroup and primary controls share a 40px height and 24px icon scale.",
|
|
4967
4987
|
"Dashboard and Settings preserve their supplied visual groups with an 8px gap between destinations inside a section and a 32px gap between sections."
|
|
4968
4988
|
],
|
|
4969
4989
|
"references": [
|
|
@@ -6596,6 +6616,8 @@
|
|
|
6596
6616
|
"On desktop, PanelNav defaults expanded, permits user collapse or expansion, and respects the locally persisted desktop preference.",
|
|
6597
6617
|
"On tablet, ShellApp keeps PanelNav permanently collapsed and prevents user expansion without overwriting the desktop preference.",
|
|
6598
6618
|
"On mobile, ShellApp hides and inerts desktop chrome, uses a solid primary stage, and composes MobileHeader, MobileSheetNav, ShellTools, and the persistent MobileBarNav around the same application-owned content.",
|
|
6619
|
+
"Opening MobileSheetNav temporarily overlays the active routed page or global tool; closing it without selecting an area restores that same destination and its nested state.",
|
|
6620
|
+
"When a suspended mobile document returns to the foreground, ShellApp refreshes the complete stage paint layer without remounting routed content or tool owners.",
|
|
6599
6621
|
"When the application enables viewport-fit=cover, ShellApp reserves the shared top safe-area inset once for the complete mobile stage; nested routed, sheet, and tool headers must not add a second top inset.",
|
|
6600
6622
|
"A slotted Banner remains below the top safe-area inset and above routed, navigation, fullscreen-tool, and mobile global-surface presentations.",
|
|
6601
6623
|
"Mobile global surfaces conceal and inert the routed workspace without unmounting it, preserving nested routes and scroll state.",
|
|
@@ -6926,7 +6948,7 @@
|
|
|
6926
6948
|
"component:ds-shell-app",
|
|
6927
6949
|
"component:ds-panel-tool-header",
|
|
6928
6950
|
"component:ds-mobile-header",
|
|
6929
|
-
"component:ds-
|
|
6951
|
+
"component:ds-tab-group",
|
|
6930
6952
|
"component:ds-mobile-bar-nav"
|
|
6931
6953
|
],
|
|
6932
6954
|
"patterns": [
|
|
@@ -6935,7 +6957,7 @@
|
|
|
6935
6957
|
"accessibility": [
|
|
6936
6958
|
"Only the active mobile tool view participates in focus or the accessibility tree.",
|
|
6937
6959
|
"Header Back and application-owned header actions preserve the PanelTools event contract.",
|
|
6938
|
-
"Inbox uses
|
|
6960
|
+
"Mobile Inbox uses a named label-only TabGroup for Stacks and Activity; Messages remains a direct mobile destination."
|
|
6939
6961
|
],
|
|
6940
6962
|
"states": [
|
|
6941
6963
|
"The application owns open and activeTool and replaces headers when tool depth changes.",
|
|
@@ -6945,7 +6967,7 @@
|
|
|
6945
6967
|
],
|
|
6946
6968
|
"responsiveBehavior": [
|
|
6947
6969
|
"Desktop and tablet compose PanelTools-compatible rail and drawer chrome.",
|
|
6948
|
-
"Mobile renders one centered MobileHeader for every tool; Stacks and Activity use Inbox
|
|
6970
|
+
"Mobile renders one centered MobileHeader for every tool; Stacks and Activity use the large segmented Inbox control, while Messages remains a direct tool destination."
|
|
6949
6971
|
],
|
|
6950
6972
|
"frameworkCaveats": {
|
|
6951
6973
|
"customElements": [
|
|
@@ -7746,6 +7768,7 @@
|
|
|
7746
7768
|
"The parent owns the canonical selected value and adjacent view visibility, and should update both from dsChange.",
|
|
7747
7769
|
"A missing, empty, inactive, or unknown selected value is invalid when enabled tabs exist; the component does not choose a fallback selection.",
|
|
7748
7770
|
"Selection is singular and follows keyboard focus.",
|
|
7771
|
+
"Small, medium, and large use the shared 24px, 32px, and 40px control-density recipes for the outer track. Each segment uses the same-size inset recipe at 20px, 28px, and 36px while preserving that density's typography, icon, gap, and label metrics.",
|
|
7749
7772
|
"Use one consistent content variant across every selectable tab in a group.",
|
|
7750
7773
|
"Omitted background is for primary and secondary surfaces; pass the faint context explicitly on faint surfaces.",
|
|
7751
7774
|
"Only the omitted default context emphasizes visible selected label text and keeps the filled track; explicit faint follows the other surface contexts with a transparent track, stable text weight, surface border, and neutral active fill.",
|
|
@@ -7753,6 +7776,7 @@
|
|
|
7753
7776
|
],
|
|
7754
7777
|
"responsiveBehavior": [
|
|
7755
7778
|
"The component remains a single horizontal row and does not become vertical or wrap.",
|
|
7779
|
+
"Use the large size when a mobile composition aligns the group with 40px shell controls; size does not change automatically at a breakpoint.",
|
|
7756
7780
|
"The consuming layout owns narrow-width placement and overflow, or replaces the row with a more suitable navigation pattern."
|
|
7757
7781
|
],
|
|
7758
7782
|
"frameworkCaveats": {
|
|
@@ -7788,6 +7812,10 @@
|
|
|
7788
7812
|
"type": "TabBackground | undefined",
|
|
7789
7813
|
"required": false
|
|
7790
7814
|
},
|
|
7815
|
+
"size": {
|
|
7816
|
+
"type": "TabGroupSize",
|
|
7817
|
+
"required": false
|
|
7818
|
+
},
|
|
7791
7819
|
"tabs": {
|
|
7792
7820
|
"type": "TabGroupItem[]",
|
|
7793
7821
|
"required": false
|
|
@@ -7821,6 +7849,270 @@
|
|
|
7821
7849
|
"text"
|
|
7822
7850
|
]
|
|
7823
7851
|
},
|
|
7852
|
+
{
|
|
7853
|
+
"id": "component:ds-table",
|
|
7854
|
+
"tag": "ds-table",
|
|
7855
|
+
"name": "table",
|
|
7856
|
+
"title": "Table",
|
|
7857
|
+
"summary": "Semantic, controlled data table with durable visual primitives for cell geometry, column geometry, grouping, sorting, multi-selection, sticky overflow, and incremental loading.",
|
|
7858
|
+
"intentStatus": "complete",
|
|
7859
|
+
"intent": {
|
|
7860
|
+
"audience": "general",
|
|
7861
|
+
"status": "experimental",
|
|
7862
|
+
"summary": "Semantic, controlled data table with durable visual primitives for cell geometry, column geometry, grouping, sorting, multi-selection, sticky overflow, and incremental loading.",
|
|
7863
|
+
"useWhen": [
|
|
7864
|
+
"A structured dataset needs native row and column relationships, optional one-level grouping, or comparable values across records.",
|
|
7865
|
+
"An application needs controlled sorting, loaded-row selection, or lazy loading while retaining ownership of the data query and transformations.",
|
|
7866
|
+
"A product table needs a token-backed recipe whose individual header, group, row, cell, selection, state, and load-more layers remain easy to restyle."
|
|
7867
|
+
],
|
|
7868
|
+
"avoidWhen": [
|
|
7869
|
+
"Content is primarily editorial prose; use semantic product-owned markup with the prose recipe instead.",
|
|
7870
|
+
"A small label/value set reads more clearly as a list, description list, or card.",
|
|
7871
|
+
"The interface requires tree-grid behavior, nested grouping, inline cell editing, row reordering, multiple pinned columns per edge, or virtualization; those are outside this first contract.",
|
|
7872
|
+
"The application expects the component to fetch, paginate, sort, group, or mutate records internally."
|
|
7873
|
+
],
|
|
7874
|
+
"commonlyComposedWith": [
|
|
7875
|
+
"component:ds-empty-state",
|
|
7876
|
+
"component:ds-skeleton",
|
|
7877
|
+
"component:ds-loader",
|
|
7878
|
+
"component:ds-button-unfilled",
|
|
7879
|
+
"component:ds-tag",
|
|
7880
|
+
"component:ds-icon"
|
|
7881
|
+
],
|
|
7882
|
+
"accessibility": [
|
|
7883
|
+
"The rendered structure uses a native table, caption, column headers, row groups, and data cells; keep the caption non-empty even when it is visually hidden.",
|
|
7884
|
+
"Sorting controls remain buttons inside column headers. Member-row sort uses aria-sort, while independent group order is described by the grouped header control.",
|
|
7885
|
+
"Selection controls expose checkbox semantics and explicit row names; select-all affects selectable loaded rows only and preserves selected identities outside the loaded window.",
|
|
7886
|
+
"Interactive rows are focusable as native rows, activate with Enter or Space, and do not steal activation from their nested selection or action controls.",
|
|
7887
|
+
"Scrollable table regions become keyboard focusable and named only when overflow exists.",
|
|
7888
|
+
"Incremental loading, newly appended row counts, failures, and end-of-results transitions are announced through a polite status region without replacing visible state."
|
|
7889
|
+
],
|
|
7890
|
+
"states": [
|
|
7891
|
+
"Columns, rows, groups, grouping, sorting, selected row IDs, and lazy-loading state are controlled inputs. Events communicate intent and never mutate those inputs.",
|
|
7892
|
+
"Grouping supports one level. The application supplies ordered groups and ordered member rows; group order and member-row sort are independent controls.",
|
|
7893
|
+
"An active member sort toggles only between ascending and descending; activating a different sortable label moves sorting to that key. Applications may still clear the controlled sort state explicitly. The grouped column toggles ascending and descending group order without clearing member sort.",
|
|
7894
|
+
"Compound headers can expose multiple related labels with independent sort keys. Each label owns only its content-width interaction target while the active direction remains in the column's alignment-aware sort lane.",
|
|
7895
|
+
"Initial loading uses row-shaped skeletons. Empty and initial error states remain inside the table. Incremental loading retains existing rows and supports automatic sentinel, manual load-more, retry, and terminal states.",
|
|
7896
|
+
"Lazy loading replaces pagination. The application owns requests, cancellation, cursors, deduplication, appended records, and query identity; loadIdentity resets the component request guard.",
|
|
7897
|
+
"Rows opt into complete-row activation with interactive and emit dsRowActivate without owning navigation. Selection paints through the shared selected ::before layer; interactive hover and press paint through the shared ::after layer.",
|
|
7898
|
+
"Row selection owns the single sticky start lane. One explicitly sized application column can own the sticky end lane, or the start lane when selection is absent. Each sticky boundary owns one fixed divider and a row-clipped directional shadow that paints into the adjacent scrolling columns only while more inline content remains beyond that edge.",
|
|
7899
|
+
"Cells accept scalar content, standard primary-and-secondary or dual-primary text primitives, declarative Tag, icon-only, 16:9 Image, or ButtonUnfilled Action content, or explicit Empty and Blank absence values. Single-track text, selection, tag-only, icon-only, Action, Empty, and Blank cells resolve a 40px base contract while multi-track cells grow downward. Action cells primarily use an icon-only Ellipses treatment, render a 24px small ButtonUnfilled inside 8px padding, default to unbordered, and emit row, column, and action identities through dsCellAction. Image cells render a 52px-high bordered preview inside 6px outer padding, establishing a 64px row, and fall back to an accessible placeholder when no source is supplied. Empty means the data applies but has no value and renders an em dash with localized assistive text; Blank means the data is not applicable and renders no content. Nullish values remain backward-compatible Empty values. Stable type and variant hooks keep every cell family independently styleable.",
|
|
7900
|
+
"The public @ds-mo/ui/table.css export is the authoritative zero-specificity visual recipe. Override its --ds-table-* properties or target its stable element classes for product-specific styling."
|
|
7901
|
+
],
|
|
7902
|
+
"responsiveBehavior": [
|
|
7903
|
+
"The table keeps native semantics at narrow widths and scrolls horizontally instead of transforming into cards.",
|
|
7904
|
+
"stickyHeader follows the active vertical scroll owner: a maxHeight table keeps its native header inside the bounded table scrollport, while a document-flow table retains a semantic native header and renders a sticky control header whose columns follow the body's native inline scroll timeline. Consumers set --ds-table-sticky-header-offset when page chrome occupies the scrollport edge.",
|
|
7905
|
+
"Without maxHeight the table grows the document and automatic lazy loading observes the browser viewport. Horizontal scrolling chains vertical wheel and trackpad movement to the page instead of trapping it.",
|
|
7906
|
+
"Explicit column sizes establish the horizontal overflow width; unsized columns share remaining space.",
|
|
7907
|
+
"Prefer the named xs through xl column sizes, which resolve through TokoMo's table-column width tokens; numeric pixel sizes remain an escape hatch for exceptional application-owned widths.",
|
|
7908
|
+
"Column headers use one 32px geometry. Body rows use a 40px single-track minimum; cell-specific outer padding and track geometry align text, selection, Tag, icon, Action, Empty, Blank, and Image primitives while additional tracks grow downward.",
|
|
7909
|
+
"Long content truncates by default and can opt into wrapping at the column or cell level."
|
|
7910
|
+
],
|
|
7911
|
+
"frameworkCaveats": {
|
|
7912
|
+
"customElements": [
|
|
7913
|
+
"Assign columns, rows, groups, grouping, sort, and selectedRowIds through JavaScript properties rather than HTML attribute strings.",
|
|
7914
|
+
"Replace controlled property values in response to dsSortChange, dsGroupingChange, dsSelectionChange, and dsLoadMore; route dsRowActivate in the application owner."
|
|
7915
|
+
],
|
|
7916
|
+
"react": [
|
|
7917
|
+
"Pass new array and state-object references when the controlled data or query state changes.",
|
|
7918
|
+
"Apply emitted sort, grouping, selection, action, or loading detail to application state and perform data transformations in the owning layer."
|
|
7919
|
+
],
|
|
7920
|
+
"angular": [
|
|
7921
|
+
"Bind complex table inputs as properties and update the controlled values from the corresponding output events.",
|
|
7922
|
+
"Keep server cursor, query lifecycle, and cell-action handling in the owning service or container."
|
|
7923
|
+
]
|
|
7924
|
+
},
|
|
7925
|
+
"references": [
|
|
7926
|
+
{
|
|
7927
|
+
"label": "Storybook review matrix",
|
|
7928
|
+
"path": "src/wc/components/Table/Table.stories.ts"
|
|
7929
|
+
},
|
|
7930
|
+
{
|
|
7931
|
+
"label": "Public visual recipe",
|
|
7932
|
+
"path": "src/wc/styles/table.css"
|
|
7933
|
+
}
|
|
7934
|
+
]
|
|
7935
|
+
},
|
|
7936
|
+
"api": {
|
|
7937
|
+
"props": {
|
|
7938
|
+
"caption": {
|
|
7939
|
+
"type": "string",
|
|
7940
|
+
"required": true
|
|
7941
|
+
},
|
|
7942
|
+
"captionVisibility": {
|
|
7943
|
+
"type": "TableCaptionVisibility",
|
|
7944
|
+
"required": false
|
|
7945
|
+
},
|
|
7946
|
+
"columns": {
|
|
7947
|
+
"type": "TableColumn[]",
|
|
7948
|
+
"required": false
|
|
7949
|
+
},
|
|
7950
|
+
"emptyBody": {
|
|
7951
|
+
"type": "string",
|
|
7952
|
+
"required": false
|
|
7953
|
+
},
|
|
7954
|
+
"emptyCellLabel": {
|
|
7955
|
+
"type": "string",
|
|
7956
|
+
"required": false
|
|
7957
|
+
},
|
|
7958
|
+
"emptyHeading": {
|
|
7959
|
+
"type": "string",
|
|
7960
|
+
"required": false
|
|
7961
|
+
},
|
|
7962
|
+
"endOfResultsLabel": {
|
|
7963
|
+
"type": "string",
|
|
7964
|
+
"required": false
|
|
7965
|
+
},
|
|
7966
|
+
"error": {
|
|
7967
|
+
"type": "boolean",
|
|
7968
|
+
"required": false
|
|
7969
|
+
},
|
|
7970
|
+
"errorBody": {
|
|
7971
|
+
"type": "string",
|
|
7972
|
+
"required": false
|
|
7973
|
+
},
|
|
7974
|
+
"errorHeading": {
|
|
7975
|
+
"type": "string",
|
|
7976
|
+
"required": false
|
|
7977
|
+
},
|
|
7978
|
+
"grouping": {
|
|
7979
|
+
"type": "TableGroupingState | null",
|
|
7980
|
+
"required": false
|
|
7981
|
+
},
|
|
7982
|
+
"groups": {
|
|
7983
|
+
"type": "TableGroup[]",
|
|
7984
|
+
"required": false
|
|
7985
|
+
},
|
|
7986
|
+
"hasMore": {
|
|
7987
|
+
"type": "boolean",
|
|
7988
|
+
"required": false
|
|
7989
|
+
},
|
|
7990
|
+
"lazyLoading": {
|
|
7991
|
+
"type": "boolean",
|
|
7992
|
+
"required": false
|
|
7993
|
+
},
|
|
7994
|
+
"loadIdentity": {
|
|
7995
|
+
"type": "string | number",
|
|
7996
|
+
"required": false
|
|
7997
|
+
},
|
|
7998
|
+
"loadMoreError": {
|
|
7999
|
+
"type": "string | undefined",
|
|
8000
|
+
"required": false
|
|
8001
|
+
},
|
|
8002
|
+
"loadMoreLabel": {
|
|
8003
|
+
"type": "string",
|
|
8004
|
+
"required": false
|
|
8005
|
+
},
|
|
8006
|
+
"loadMoreMode": {
|
|
8007
|
+
"type": "TableLoadMoreMode",
|
|
8008
|
+
"required": false
|
|
8009
|
+
},
|
|
8010
|
+
"loadMoreThreshold": {
|
|
8011
|
+
"type": "number",
|
|
8012
|
+
"required": false
|
|
8013
|
+
},
|
|
8014
|
+
"loading": {
|
|
8015
|
+
"type": "boolean",
|
|
8016
|
+
"required": false
|
|
8017
|
+
},
|
|
8018
|
+
"loadingMore": {
|
|
8019
|
+
"type": "boolean",
|
|
8020
|
+
"required": false
|
|
8021
|
+
},
|
|
8022
|
+
"loadingMoreLabel": {
|
|
8023
|
+
"type": "string",
|
|
8024
|
+
"required": false
|
|
8025
|
+
},
|
|
8026
|
+
"maxHeight": {
|
|
8027
|
+
"type": "string | number | undefined",
|
|
8028
|
+
"required": false
|
|
8029
|
+
},
|
|
8030
|
+
"retryLabel": {
|
|
8031
|
+
"type": "string",
|
|
8032
|
+
"required": false
|
|
8033
|
+
},
|
|
8034
|
+
"rows": {
|
|
8035
|
+
"type": "TableRow[]",
|
|
8036
|
+
"required": false
|
|
8037
|
+
},
|
|
8038
|
+
"rowsLoadedLabel": {
|
|
8039
|
+
"type": "string",
|
|
8040
|
+
"required": false
|
|
8041
|
+
},
|
|
8042
|
+
"scrollLabel": {
|
|
8043
|
+
"type": "string | undefined",
|
|
8044
|
+
"required": false
|
|
8045
|
+
},
|
|
8046
|
+
"selectedRowIds": {
|
|
8047
|
+
"type": "string[]",
|
|
8048
|
+
"required": false
|
|
8049
|
+
},
|
|
8050
|
+
"selectionMode": {
|
|
8051
|
+
"type": "TableSelectionMode",
|
|
8052
|
+
"required": false
|
|
8053
|
+
},
|
|
8054
|
+
"skeletonRows": {
|
|
8055
|
+
"type": "number",
|
|
8056
|
+
"required": false
|
|
8057
|
+
},
|
|
8058
|
+
"sort": {
|
|
8059
|
+
"type": "TableSortState | null",
|
|
8060
|
+
"required": false
|
|
8061
|
+
},
|
|
8062
|
+
"stickyHeader": {
|
|
8063
|
+
"type": "boolean",
|
|
8064
|
+
"required": false
|
|
8065
|
+
}
|
|
8066
|
+
},
|
|
8067
|
+
"events": [
|
|
8068
|
+
{
|
|
8069
|
+
"name": "dsCellAction",
|
|
8070
|
+
"detail": "TableCellActionDetail"
|
|
8071
|
+
},
|
|
8072
|
+
{
|
|
8073
|
+
"name": "dsGroupingChange",
|
|
8074
|
+
"detail": "TableGroupingChangeDetail"
|
|
8075
|
+
},
|
|
8076
|
+
{
|
|
8077
|
+
"name": "dsLoadMore",
|
|
8078
|
+
"detail": "TableLoadMoreDetail"
|
|
8079
|
+
},
|
|
8080
|
+
{
|
|
8081
|
+
"name": "dsRowActivate",
|
|
8082
|
+
"detail": "TableRowActivateDetail"
|
|
8083
|
+
},
|
|
8084
|
+
{
|
|
8085
|
+
"name": "dsSelectionChange",
|
|
8086
|
+
"detail": "TableSelectionChangeDetail"
|
|
8087
|
+
},
|
|
8088
|
+
{
|
|
8089
|
+
"name": "dsSortChange",
|
|
8090
|
+
"detail": "TableSortChangeDetail"
|
|
8091
|
+
}
|
|
8092
|
+
],
|
|
8093
|
+
"slots": []
|
|
8094
|
+
},
|
|
8095
|
+
"exports": {
|
|
8096
|
+
"customElement": "ds-table",
|
|
8097
|
+
"react": "DsTable",
|
|
8098
|
+
"angular": "DsTable"
|
|
8099
|
+
},
|
|
8100
|
+
"dependencies": [
|
|
8101
|
+
"@ds-mo/ui",
|
|
8102
|
+
"@ds-mo/tokens",
|
|
8103
|
+
"@ds-mo/icons"
|
|
8104
|
+
],
|
|
8105
|
+
"componentDependencies": [
|
|
8106
|
+
"button-unfilled",
|
|
8107
|
+
"checkbox",
|
|
8108
|
+
"empty-state",
|
|
8109
|
+
"icon",
|
|
8110
|
+
"loader",
|
|
8111
|
+
"skeleton",
|
|
8112
|
+
"tag",
|
|
8113
|
+
"text"
|
|
8114
|
+
]
|
|
8115
|
+
},
|
|
7824
8116
|
{
|
|
7825
8117
|
"id": "component:ds-tag",
|
|
7826
8118
|
"tag": "ds-tag",
|
|
@@ -7881,12 +8173,13 @@
|
|
|
7881
8173
|
"Warning signals higher urgency or risk than caution, which asks for attention before a possible issue.",
|
|
7882
8174
|
"Contrast changes visual prominence without changing semantic intent or parent surface context.",
|
|
7883
8175
|
"Rounded is an optional visual style with no semantic difference.",
|
|
8176
|
+
"isInset opts into reduced outer geometry only when Tag is nested inside a control of the same density; semantic styling, typography, icons, gaps, radius, and interaction remain unchanged.",
|
|
7884
8177
|
"Labels stay on one line and truncate only when the owner supplies a maximum width.",
|
|
7885
8178
|
"Omitted interactive renders static metadata with no focus, event, or suffix. Interactive adds the fixed ChevronUpDown suffix and emits dsClick without toggling expanded internally.",
|
|
7886
8179
|
"isInactive disables only the interactive button and applies the shared inactive treatment."
|
|
7887
8180
|
],
|
|
7888
8181
|
"responsiveBehavior": [
|
|
7889
|
-
"The owner selects md, sm, or xs density to match its local layout and owns collection wrapping, overflow, and condensation.",
|
|
8182
|
+
"The owner selects md, sm, or xs density to match its local layout and owns collection wrapping, overflow, and condensation. Use isInset only for same-density control nesting.",
|
|
7890
8183
|
"Tag does not change size or behavior automatically at breakpoints."
|
|
7891
8184
|
],
|
|
7892
8185
|
"frameworkCaveats": {
|
|
@@ -7937,6 +8230,10 @@
|
|
|
7937
8230
|
"type": "boolean",
|
|
7938
8231
|
"required": false
|
|
7939
8232
|
},
|
|
8233
|
+
"isInset": {
|
|
8234
|
+
"type": "boolean",
|
|
8235
|
+
"required": false
|
|
8236
|
+
},
|
|
7940
8237
|
"label": {
|
|
7941
8238
|
"type": "string",
|
|
7942
8239
|
"required": true
|
|
@@ -8,7 +8,7 @@ export declare class DsButtonFilled {
|
|
|
8
8
|
dsClick: EventEmitter<DsButtonFilledCustomEvent<MouseEvent>>;
|
|
9
9
|
constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
|
|
10
10
|
static ɵfac: i0.ɵɵFactoryDeclaration<DsButtonFilled, never>;
|
|
11
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DsButtonFilled, "ds-button-filled", never, { "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "background": { "alias": "background"; "required": false; }; "contrast": { "alias": "contrast"; "required": false; }; "controls": { "alias": "controls"; "required": false; }; "expanded": { "alias": "expanded"; "required": false; }; "hasBorder": { "alias": "hasBorder"; "required": false; }; "hasMenu": { "alias": "hasMenu"; "required": false; }; "haspopup": { "alias": "haspopup"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "intent": { "alias": "intent"; "required": false; }; "isInactive": { "alias": "isInactive"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "label": { "alias": "label"; "required": false; }; "pressScale": { "alias": "pressScale"; "required": false; }; "rounded": { "alias": "rounded"; "required": false; }; "size": { "alias": "size"; "required": false; }; "type": { "alias": "type"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "width": { "alias": "width"; "required": false; }; }, { "dsClick": "dsClick"; }, never, ["*"], true, never>;
|
|
11
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DsButtonFilled, "ds-button-filled", never, { "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "background": { "alias": "background"; "required": false; }; "contrast": { "alias": "contrast"; "required": false; }; "controls": { "alias": "controls"; "required": false; }; "expanded": { "alias": "expanded"; "required": false; }; "hasBorder": { "alias": "hasBorder"; "required": false; }; "hasMenu": { "alias": "hasMenu"; "required": false; }; "haspopup": { "alias": "haspopup"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "intent": { "alias": "intent"; "required": false; }; "isInactive": { "alias": "isInactive"; "required": false; }; "isInset": { "alias": "isInset"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "label": { "alias": "label"; "required": false; }; "pressScale": { "alias": "pressScale"; "required": false; }; "rounded": { "alias": "rounded"; "required": false; }; "size": { "alias": "size"; "required": false; }; "type": { "alias": "type"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "width": { "alias": "width"; "required": false; }; }, { "dsClick": "dsClick"; }, never, ["*"], true, never>;
|
|
12
12
|
}
|
|
13
13
|
export declare interface DsButtonFilled extends Components.DsButtonFilled {
|
|
14
14
|
dsClick: EventEmitter<DsButtonFilledCustomEvent<MouseEvent>>;
|
|
@@ -18,12 +18,12 @@ let DsButtonFilled = class DsButtonFilled {
|
|
|
18
18
|
this.el = r.nativeElement;
|
|
19
19
|
}
|
|
20
20
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: DsButtonFilled, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.0", type: DsButtonFilled, isStandalone: true, selector: "ds-button-filled", inputs: { ariaLabel: "ariaLabel", background: "background", contrast: "contrast", controls: "controls", expanded: "expanded", hasBorder: "hasBorder", hasMenu: "hasMenu", haspopup: "haspopup", icon: "icon", intent: "intent", isInactive: "isInactive", isLoading: "isLoading", label: "label", pressScale: "pressScale", rounded: "rounded", size: "size", type: "type", variant: "variant", width: "width" }, outputs: { dsClick: "dsClick" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
21
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.0", type: DsButtonFilled, isStandalone: true, selector: "ds-button-filled", inputs: { ariaLabel: "ariaLabel", background: "background", contrast: "contrast", controls: "controls", expanded: "expanded", hasBorder: "hasBorder", hasMenu: "hasMenu", haspopup: "haspopup", icon: "icon", intent: "intent", isInactive: "isInactive", isInset: "isInset", isLoading: "isLoading", label: "label", pressScale: "pressScale", rounded: "rounded", size: "size", type: "type", variant: "variant", width: "width" }, outputs: { dsClick: "dsClick" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
22
22
|
};
|
|
23
23
|
DsButtonFilled = __decorate([
|
|
24
24
|
ProxyCmp({
|
|
25
25
|
defineCustomElementFn: defineDsButtonFilled,
|
|
26
|
-
inputs: ['ariaLabel', 'background', 'contrast', 'controls', 'expanded', 'hasBorder', 'hasMenu', 'haspopup', 'icon', 'intent', 'isInactive', 'isLoading', 'label', 'pressScale', 'rounded', 'size', 'type', 'variant', 'width'],
|
|
26
|
+
inputs: ['ariaLabel', 'background', 'contrast', 'controls', 'expanded', 'hasBorder', 'hasMenu', 'haspopup', 'icon', 'intent', 'isInactive', 'isInset', 'isLoading', 'label', 'pressScale', 'rounded', 'size', 'type', 'variant', 'width'],
|
|
27
27
|
methods: ['setFocus']
|
|
28
28
|
})
|
|
29
29
|
], DsButtonFilled);
|
|
@@ -35,7 +35,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImpor
|
|
|
35
35
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
36
36
|
template: '<ng-content></ng-content>',
|
|
37
37
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
38
|
-
inputs: ['ariaLabel', 'background', 'contrast', 'controls', 'expanded', 'hasBorder', 'hasMenu', 'haspopup', 'icon', 'intent', 'isInactive', 'isLoading', 'label', 'pressScale', 'rounded', 'size', 'type', 'variant', 'width'],
|
|
38
|
+
inputs: ['ariaLabel', 'background', 'contrast', 'controls', 'expanded', 'hasBorder', 'hasMenu', 'haspopup', 'icon', 'intent', 'isInactive', 'isInset', 'isLoading', 'label', 'pressScale', 'rounded', 'size', 'type', 'variant', 'width'],
|
|
39
39
|
outputs: ['dsClick'],
|
|
40
40
|
}]
|
|
41
41
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { dsClick: [{
|
|
@@ -9,7 +9,7 @@ export declare class DsButtonUnfilled {
|
|
|
9
9
|
dsChange: EventEmitter<DsButtonUnfilledCustomEvent<boolean>>;
|
|
10
10
|
constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
|
|
11
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<DsButtonUnfilled, never>;
|
|
12
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DsButtonUnfilled, "ds-button-unfilled", never, { "activeFill": { "alias": "activeFill"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "background": { "alias": "background"; "required": false; }; "controls": { "alias": "controls"; "required": false; }; "dot": { "alias": "dot"; "required": false; }; "expanded": { "alias": "expanded"; "required": false; }; "focusTabIndex": { "alias": "focusTabIndex"; "required": false; }; "hasBorder": { "alias": "hasBorder"; "required": false; }; "hasMenu": { "alias": "hasMenu"; "required": false; }; "haspopup": { "alias": "haspopup"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "isActive": { "alias": "isActive"; "required": false; }; "isInactive": { "alias": "isInactive"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "label": { "alias": "label"; "required": false; }; "pressScale": { "alias": "pressScale"; "required": false; }; "pressed": { "alias": "pressed"; "required": false; }; "rounded": { "alias": "rounded"; "required": false; }; "size": { "alias": "size"; "required": false; }; "type": { "alias": "type"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "width": { "alias": "width"; "required": false; }; }, { "dsClick": "dsClick"; "dsChange": "dsChange"; }, never, ["*"], true, never>;
|
|
12
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DsButtonUnfilled, "ds-button-unfilled", never, { "activeFill": { "alias": "activeFill"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "background": { "alias": "background"; "required": false; }; "controls": { "alias": "controls"; "required": false; }; "dot": { "alias": "dot"; "required": false; }; "expanded": { "alias": "expanded"; "required": false; }; "focusTabIndex": { "alias": "focusTabIndex"; "required": false; }; "hasBorder": { "alias": "hasBorder"; "required": false; }; "hasMenu": { "alias": "hasMenu"; "required": false; }; "haspopup": { "alias": "haspopup"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "isActive": { "alias": "isActive"; "required": false; }; "isInactive": { "alias": "isInactive"; "required": false; }; "isInset": { "alias": "isInset"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "label": { "alias": "label"; "required": false; }; "pressScale": { "alias": "pressScale"; "required": false; }; "pressed": { "alias": "pressed"; "required": false; }; "rounded": { "alias": "rounded"; "required": false; }; "size": { "alias": "size"; "required": false; }; "type": { "alias": "type"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "width": { "alias": "width"; "required": false; }; }, { "dsClick": "dsClick"; "dsChange": "dsChange"; }, never, ["*"], true, never>;
|
|
13
13
|
}
|
|
14
14
|
export declare interface DsButtonUnfilled extends Components.DsButtonUnfilled {
|
|
15
15
|
dsClick: EventEmitter<DsButtonUnfilledCustomEvent<MouseEvent>>;
|
|
@@ -19,12 +19,12 @@ let DsButtonUnfilled = class DsButtonUnfilled {
|
|
|
19
19
|
this.el = r.nativeElement;
|
|
20
20
|
}
|
|
21
21
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: DsButtonUnfilled, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
22
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.0", type: DsButtonUnfilled, isStandalone: true, selector: "ds-button-unfilled", inputs: { activeFill: "activeFill", ariaLabel: "ariaLabel", background: "background", controls: "controls", dot: "dot", expanded: "expanded", focusTabIndex: "focusTabIndex", hasBorder: "hasBorder", hasMenu: "hasMenu", haspopup: "haspopup", icon: "icon", isActive: "isActive", isInactive: "isInactive", isLoading: "isLoading", label: "label", pressScale: "pressScale", pressed: "pressed", rounded: "rounded", size: "size", type: "type", variant: "variant", width: "width" }, outputs: { dsClick: "dsClick", dsChange: "dsChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
22
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.0", type: DsButtonUnfilled, isStandalone: true, selector: "ds-button-unfilled", inputs: { activeFill: "activeFill", ariaLabel: "ariaLabel", background: "background", controls: "controls", dot: "dot", expanded: "expanded", focusTabIndex: "focusTabIndex", hasBorder: "hasBorder", hasMenu: "hasMenu", haspopup: "haspopup", icon: "icon", isActive: "isActive", isInactive: "isInactive", isInset: "isInset", isLoading: "isLoading", label: "label", pressScale: "pressScale", pressed: "pressed", rounded: "rounded", size: "size", type: "type", variant: "variant", width: "width" }, outputs: { dsClick: "dsClick", dsChange: "dsChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
23
23
|
};
|
|
24
24
|
DsButtonUnfilled = __decorate([
|
|
25
25
|
ProxyCmp({
|
|
26
26
|
defineCustomElementFn: defineDsButtonUnfilled,
|
|
27
|
-
inputs: ['activeFill', 'ariaLabel', 'background', 'controls', 'dot', 'expanded', 'focusTabIndex', 'hasBorder', 'hasMenu', 'haspopup', 'icon', 'isActive', 'isInactive', 'isLoading', 'label', 'pressScale', 'pressed', 'rounded', 'size', 'type', 'variant', 'width'],
|
|
27
|
+
inputs: ['activeFill', 'ariaLabel', 'background', 'controls', 'dot', 'expanded', 'focusTabIndex', 'hasBorder', 'hasMenu', 'haspopup', 'icon', 'isActive', 'isInactive', 'isInset', 'isLoading', 'label', 'pressScale', 'pressed', 'rounded', 'size', 'type', 'variant', 'width'],
|
|
28
28
|
methods: ['setFocus']
|
|
29
29
|
})
|
|
30
30
|
], DsButtonUnfilled);
|
|
@@ -36,7 +36,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImpor
|
|
|
36
36
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
37
37
|
template: '<ng-content></ng-content>',
|
|
38
38
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
39
|
-
inputs: ['activeFill', 'ariaLabel', 'background', 'controls', 'dot', 'expanded', 'focusTabIndex', 'hasBorder', 'hasMenu', 'haspopup', 'icon', 'isActive', 'isInactive', 'isLoading', 'label', 'pressScale', 'pressed', 'rounded', 'size', 'type', 'variant', 'width'],
|
|
39
|
+
inputs: ['activeFill', 'ariaLabel', 'background', 'controls', 'dot', 'expanded', 'focusTabIndex', 'hasBorder', 'hasMenu', 'haspopup', 'icon', 'isActive', 'isInactive', 'isInset', 'isLoading', 'label', 'pressScale', 'pressed', 'rounded', 'size', 'type', 'variant', 'width'],
|
|
40
40
|
outputs: ['dsClick', 'dsChange'],
|
|
41
41
|
}]
|
|
42
42
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { dsClick: [{
|
|
@@ -9,7 +9,7 @@ export declare class DsMobileHeader {
|
|
|
9
9
|
dsSubsectionChange: EventEmitter<DsMobileHeaderCustomEvent<string>>;
|
|
10
10
|
constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
|
|
11
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<DsMobileHeader, never>;
|
|
12
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<DsMobileHeader, "ds-mobile-header", never, { "heading": { "alias": "heading"; "required": false; }; "headingLevel": { "alias": "headingLevel"; "required": false; }; "sections": { "alias": "sections"; "required": false; }; "sectionsAriaLabel": { "alias": "sectionsAriaLabel"; "required": false; }; "subsections": { "alias": "subsections"; "required": false; }; "subsectionsAriaLabel": { "alias": "subsectionsAriaLabel"; "required": false; }; "subvalue": { "alias": "subvalue"; "required": false; }; "tone": { "alias": "tone"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "dsSectionChange": "dsSectionChange"; "dsSubsectionChange": "dsSubsectionChange"; }, never, ["*"], true, never>;
|
|
12
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DsMobileHeader, "ds-mobile-header", never, { "heading": { "alias": "heading"; "required": false; }; "headingLevel": { "alias": "headingLevel"; "required": false; }; "sections": { "alias": "sections"; "required": false; }; "sectionsAriaLabel": { "alias": "sectionsAriaLabel"; "required": false; }; "sectionsPresentation": { "alias": "sectionsPresentation"; "required": false; }; "sectionsSize": { "alias": "sectionsSize"; "required": false; }; "subsections": { "alias": "subsections"; "required": false; }; "subsectionsAriaLabel": { "alias": "subsectionsAriaLabel"; "required": false; }; "subvalue": { "alias": "subvalue"; "required": false; }; "tone": { "alias": "tone"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "dsSectionChange": "dsSectionChange"; "dsSubsectionChange": "dsSubsectionChange"; }, never, ["*"], true, never>;
|
|
13
13
|
}
|
|
14
14
|
export declare interface DsMobileHeader extends Components.DsMobileHeader {
|
|
15
15
|
/**
|
|
@@ -19,12 +19,12 @@ let DsMobileHeader = class DsMobileHeader {
|
|
|
19
19
|
this.el = r.nativeElement;
|
|
20
20
|
}
|
|
21
21
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: DsMobileHeader, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
22
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.0", type: DsMobileHeader, isStandalone: true, selector: "ds-mobile-header", inputs: { heading: "heading", headingLevel: "headingLevel", sections: "sections", sectionsAriaLabel: "sectionsAriaLabel", subsections: "subsections", subsectionsAriaLabel: "subsectionsAriaLabel", subvalue: "subvalue", tone: "tone", value: "value" }, outputs: { dsSectionChange: "dsSectionChange", dsSubsectionChange: "dsSubsectionChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
22
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.0", type: DsMobileHeader, isStandalone: true, selector: "ds-mobile-header", inputs: { heading: "heading", headingLevel: "headingLevel", sections: "sections", sectionsAriaLabel: "sectionsAriaLabel", sectionsPresentation: "sectionsPresentation", sectionsSize: "sectionsSize", subsections: "subsections", subsectionsAriaLabel: "subsectionsAriaLabel", subvalue: "subvalue", tone: "tone", value: "value" }, outputs: { dsSectionChange: "dsSectionChange", dsSubsectionChange: "dsSubsectionChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
23
23
|
};
|
|
24
24
|
DsMobileHeader = __decorate([
|
|
25
25
|
ProxyCmp({
|
|
26
26
|
defineCustomElementFn: defineDsMobileHeader,
|
|
27
|
-
inputs: ['heading', 'headingLevel', 'sections', 'sectionsAriaLabel', 'subsections', 'subsectionsAriaLabel', 'subvalue', 'tone', 'value']
|
|
27
|
+
inputs: ['heading', 'headingLevel', 'sections', 'sectionsAriaLabel', 'sectionsPresentation', 'sectionsSize', 'subsections', 'subsectionsAriaLabel', 'subvalue', 'tone', 'value']
|
|
28
28
|
})
|
|
29
29
|
], DsMobileHeader);
|
|
30
30
|
export { DsMobileHeader };
|
|
@@ -35,7 +35,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImpor
|
|
|
35
35
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
36
36
|
template: '<ng-content></ng-content>',
|
|
37
37
|
// eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
|
|
38
|
-
inputs: ['heading', 'headingLevel', 'sections', 'sectionsAriaLabel', 'subsections', 'subsectionsAriaLabel', 'subvalue', 'tone', 'value'],
|
|
38
|
+
inputs: ['heading', 'headingLevel', 'sections', 'sectionsAriaLabel', 'sectionsPresentation', 'sectionsSize', 'subsections', 'subsectionsAriaLabel', 'subvalue', 'tone', 'value'],
|
|
39
39
|
outputs: ['dsSectionChange', 'dsSubsectionChange'],
|
|
40
40
|
}]
|
|
41
41
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { dsSectionChange: [{
|