@ds-mo/ui 14.11.1 → 14.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.
Files changed (172) hide show
  1. package/NOTICE +10 -0
  2. package/dist/.package-ready.json +1 -1
  3. package/dist/agent-patterns.json +1 -1
  4. package/dist/agent.json +104 -9
  5. package/dist/angular/ds-pagination.d.ts +1 -1
  6. package/dist/angular/ds-pagination.js +3 -3
  7. package/dist/angular/ds-paper-texture.d.ts +12 -0
  8. package/dist/angular/ds-paper-texture.js +38 -0
  9. package/dist/angular/ds-shell-app.d.ts +1 -1
  10. package/dist/angular/ds-shell-app.js +3 -3
  11. package/dist/angular/ds-table.d.ts +1 -1
  12. package/dist/angular/ds-table.js +3 -3
  13. package/dist/angular/index.d.ts +1 -1
  14. package/dist/angular/index.js +1 -0
  15. package/dist/angular/proxies.d.ts +1 -0
  16. package/dist/angular/proxies.js +1 -0
  17. package/dist/components/ds-agent-questionnaire.js +1 -1
  18. package/dist/components/ds-agent-response.js +1 -1
  19. package/dist/components/ds-badge.js +1 -1
  20. package/dist/components/ds-banner.js +1 -1
  21. package/dist/components/ds-bar-nav.js +1 -1
  22. package/dist/components/ds-bar-title.js +1 -1
  23. package/dist/components/ds-bar-workflow.js +1 -1
  24. package/dist/components/ds-bar-workflow.js.map +1 -1
  25. package/dist/components/ds-button-filled.js +1 -1
  26. package/dist/components/ds-button-unfilled.js +1 -1
  27. package/dist/components/ds-card-chart.js +1 -1
  28. package/dist/components/ds-card-setting.js +1 -1
  29. package/dist/components/ds-code-block.js +1 -1
  30. package/dist/components/ds-conversation-list-item.js +1 -1
  31. package/dist/components/ds-conversation-list-item.js.map +1 -1
  32. package/dist/components/ds-filter-menu.js +1 -1
  33. package/dist/components/ds-filter-menu.js.map +1 -1
  34. package/dist/components/ds-input.js +1 -1
  35. package/dist/components/ds-markdown.js +1 -1
  36. package/dist/components/ds-menu.js +1 -1
  37. package/dist/components/ds-message-actions.js +1 -1
  38. package/dist/components/ds-message-composer.js +1 -1
  39. package/dist/components/ds-message-scroller.js +1 -1
  40. package/dist/components/ds-mobile-bar-nav.js +1 -1
  41. package/dist/components/ds-mobile-header.js +1 -1
  42. package/dist/components/ds-mobile-section-switcher.js +1 -1
  43. package/dist/components/ds-mobile-sheet-nav.js +1 -1
  44. package/dist/components/ds-modal.js +1 -1
  45. package/dist/components/ds-pagination.js +1 -1
  46. package/dist/components/ds-panel-nav.js +1 -1
  47. package/dist/components/ds-panel-tool-header.js +1 -1
  48. package/dist/components/ds-panel-tool-search.js +1 -1
  49. package/dist/components/ds-panel-tools.js +1 -1
  50. package/dist/components/ds-paper-texture.d.ts +11 -0
  51. package/dist/components/ds-paper-texture.js +2 -0
  52. package/dist/components/ds-paper-texture.js.map +1 -0
  53. package/dist/components/ds-select.js +1 -1
  54. package/dist/components/ds-shell-app.js +1 -1
  55. package/dist/components/ds-shell-app.js.map +1 -1
  56. package/dist/components/ds-shell-page.js +1 -1
  57. package/dist/components/ds-shell-tools.js +1 -1
  58. package/dist/components/ds-swatch-picker.js +1 -1
  59. package/dist/components/ds-tab-group.js +1 -1
  60. package/dist/components/ds-table-saved-views.js +1 -1
  61. package/dist/components/ds-table-saved-views.js.map +1 -1
  62. package/dist/components/ds-table-toolbar.js +1 -1
  63. package/dist/components/ds-table.js +1 -1
  64. package/dist/components/ds-table.js.map +1 -1
  65. package/dist/components/ds-toast.js +1 -1
  66. package/dist/components/ds-typing-indicator.js +1 -1
  67. package/dist/components/p-BEvBJ65v.js +2 -0
  68. package/dist/components/p-BEvBJ65v.js.map +1 -0
  69. package/dist/components/{p-DvJkkdIO.js → p-BxqBiVbH.js} +2 -2
  70. package/dist/components/p-BzLnSwG9.js +2 -0
  71. package/dist/components/p-BzLnSwG9.js.map +1 -0
  72. package/dist/components/{p-CbfmzgdW.js → p-BzObtSlo.js} +2 -2
  73. package/dist/components/{p-Bv1CFHgD.js → p-C2n8A8NA.js} +2 -2
  74. package/dist/components/p-C5eosu67.js +2 -0
  75. package/dist/components/p-C5eosu67.js.map +1 -0
  76. package/dist/components/{p-c_5SXjwx.js → p-C7rzVotG.js} +2 -2
  77. package/dist/components/{p-bQm3gfr1.js → p-CKJzHclc.js} +2 -2
  78. package/dist/components/p-CWDmHPJC.js +2 -0
  79. package/dist/components/p-CWDmHPJC.js.map +1 -0
  80. package/dist/components/{p-BPnmiiIS.js → p-CjgnFGd6.js} +2 -2
  81. package/dist/components/{p-BuGGwWmt.js → p-Ck_VRQYi.js} +2 -2
  82. package/dist/components/p-CnWC0QvG.js +2 -0
  83. package/dist/components/p-CnWC0QvG.js.map +1 -0
  84. package/dist/components/p-CooNucm0.js +2 -0
  85. package/dist/components/p-CooNucm0.js.map +1 -0
  86. package/dist/components/{p-CoQSB3tl.js → p-Ct-m0I6U.js} +2 -2
  87. package/dist/components/{p-CqbMoVDQ.js → p-Cyw9odJX.js} +2 -2
  88. package/dist/components/{p-D5VglrfF.js → p-D1Nqlrrl.js} +2 -2
  89. package/dist/components/p-DIEx1e0M.js +2 -0
  90. package/dist/components/p-DIEx1e0M.js.map +1 -0
  91. package/dist/components/{p-DjqZWBnM.js → p-DL_5VENG.js} +2 -2
  92. package/dist/components/p-DfyfrfHL.js +2 -0
  93. package/dist/components/p-DfyfrfHL.js.map +1 -0
  94. package/dist/components/{p-CvwtYbmh.js → p-Dsn1RCS5.js} +2 -2
  95. package/dist/components/{p-D5bPuNiF.js → p-M9DPfXbP.js} +2 -2
  96. package/dist/components/{p-DgWGfscR.js → p-Rfpd5mWO.js} +2 -2
  97. package/dist/components/p-URdgCwEs.js +2 -0
  98. package/dist/components/{p-BCg_6ErW.js.map → p-URdgCwEs.js.map} +1 -1
  99. package/dist/components/{p-1tOy4H51.js → p-V2ywPfsR.js} +2 -2
  100. package/dist/components/{p-BVmKcpyP.js → p-iBuPFJL9.js} +2 -2
  101. package/dist/components/p-vWK5faWZ.js +2 -0
  102. package/dist/components/p-vWK5faWZ.js.map +1 -0
  103. package/dist/docs/components.json +163 -5
  104. package/dist/lib/shell/index.js.map +2 -2
  105. package/dist/lib/shell/shell-responsive.d.ts +1 -1
  106. package/dist/mcp-data/registry/bar-nav.json +1 -1
  107. package/dist/mcp-data/registry/filter-menu.json +1 -1
  108. package/dist/mcp-data/registry/menu.json +1 -1
  109. package/dist/mcp-data/registry/pagination.json +21 -3
  110. package/dist/mcp-data/registry/panel-nav.json +1 -1
  111. package/dist/mcp-data/registry/panel-tools.json +1 -1
  112. package/dist/mcp-data/registry/paper-texture.json +141 -0
  113. package/dist/mcp-data/registry/registry.json +106 -8
  114. package/dist/mcp-data/registry/select.json +2 -2
  115. package/dist/mcp-data/registry/shell-app.json +26 -5
  116. package/dist/mcp-data/registry/shell-tools.json +2 -2
  117. package/dist/mcp-data/registry/table-saved-views.json +6 -6
  118. package/dist/mcp-data/registry/table.json +31 -13
  119. package/dist/react/components.d.ts +1 -0
  120. package/dist/react/components.js +1 -0
  121. package/dist/react/ds-paper-texture.d.ts +9 -0
  122. package/dist/react/ds-paper-texture.js +12 -0
  123. package/dist/styles/table.css +5 -0
  124. package/dist/types/components/Pagination/Pagination.d.ts +2 -0
  125. package/dist/types/components/Pagination/pagination-types.d.ts +2 -0
  126. package/dist/types/components/PanelTools/PanelTools.d.ts +1 -0
  127. package/dist/types/components/PaperTexture/PaperTexture.d.ts +18 -0
  128. package/dist/types/components/PaperTexture/paper-texture-types.d.ts +39 -0
  129. package/dist/types/components/ShellApp/ShellApp.d.ts +7 -2
  130. package/dist/types/components/Table/Table.d.ts +19 -1
  131. package/dist/types/components/Table/table-layout-controller.d.ts +7 -1
  132. package/dist/types/components/Table/table-model.d.ts +3 -2
  133. package/dist/types/components/Table/table-viewport-fit-controller.d.ts +5 -1
  134. package/dist/types/components/Table/table-virtual-controller.d.ts +14 -1
  135. package/dist/types/components/Table/table-virtual-model.d.ts +26 -1
  136. package/dist/types/components/TableSavedViews/TableSavedViews.d.ts +1 -1
  137. package/dist/types/components.d.ts +59 -4
  138. package/dist/types/shell/shell-responsive.d.ts +1 -1
  139. package/package.json +4 -2
  140. package/dist/components/p-BCg_6ErW.js +0 -2
  141. package/dist/components/p-BFSnIEsC.js +0 -2
  142. package/dist/components/p-BFSnIEsC.js.map +0 -1
  143. package/dist/components/p-BiTwXttN.js +0 -2
  144. package/dist/components/p-BiTwXttN.js.map +0 -1
  145. package/dist/components/p-BmWWU20X.js +0 -2
  146. package/dist/components/p-BmWWU20X.js.map +0 -1
  147. package/dist/components/p-C-L4InQ0.js +0 -2
  148. package/dist/components/p-C-L4InQ0.js.map +0 -1
  149. package/dist/components/p-C-Zgq_Fx.js +0 -2
  150. package/dist/components/p-C-Zgq_Fx.js.map +0 -1
  151. package/dist/components/p-C1jsgfeh.js +0 -2
  152. package/dist/components/p-C1jsgfeh.js.map +0 -1
  153. package/dist/components/p-D8nnhQNJ.js +0 -2
  154. package/dist/components/p-D8nnhQNJ.js.map +0 -1
  155. package/dist/components/p-DNpE0RBz.js +0 -2
  156. package/dist/components/p-DNpE0RBz.js.map +0 -1
  157. /package/dist/components/{p-DvJkkdIO.js.map → p-BxqBiVbH.js.map} +0 -0
  158. /package/dist/components/{p-CbfmzgdW.js.map → p-BzObtSlo.js.map} +0 -0
  159. /package/dist/components/{p-Bv1CFHgD.js.map → p-C2n8A8NA.js.map} +0 -0
  160. /package/dist/components/{p-c_5SXjwx.js.map → p-C7rzVotG.js.map} +0 -0
  161. /package/dist/components/{p-bQm3gfr1.js.map → p-CKJzHclc.js.map} +0 -0
  162. /package/dist/components/{p-BPnmiiIS.js.map → p-CjgnFGd6.js.map} +0 -0
  163. /package/dist/components/{p-BuGGwWmt.js.map → p-Ck_VRQYi.js.map} +0 -0
  164. /package/dist/components/{p-CoQSB3tl.js.map → p-Ct-m0I6U.js.map} +0 -0
  165. /package/dist/components/{p-CqbMoVDQ.js.map → p-Cyw9odJX.js.map} +0 -0
  166. /package/dist/components/{p-D5VglrfF.js.map → p-D1Nqlrrl.js.map} +0 -0
  167. /package/dist/components/{p-DjqZWBnM.js.map → p-DL_5VENG.js.map} +0 -0
  168. /package/dist/components/{p-CvwtYbmh.js.map → p-Dsn1RCS5.js.map} +0 -0
  169. /package/dist/components/{p-D5bPuNiF.js.map → p-M9DPfXbP.js.map} +0 -0
  170. /package/dist/components/{p-DgWGfscR.js.map → p-Rfpd5mWO.js.map} +0 -0
  171. /package/dist/components/{p-1tOy4H51.js.map → p-V2ywPfsR.js.map} +0 -0
  172. /package/dist/components/{p-BVmKcpyP.js.map → p-iBuPFJL9.js.map} +0 -0
package/NOTICE ADDED
@@ -0,0 +1,10 @@
1
+ This distribution includes bundled code from @paper-design/shaders.
2
+
3
+ Paper Shaders
4
+ Copyright 2026 Paper
5
+
6
+ Powered by Paper Shaders:
7
+ https://shaders.paper.design
8
+
9
+ The bundled shader code is available under the Apache License, Version 2.0.
10
+ The complete license text is distributed with the @paper-design/shaders runtime dependency.
@@ -1 +1 @@
1
- {"schemaVersion":1,"package":"@ds-mo/ui","version":"14.11.1","components":72,"digest":"4eb9d57139f4e76a363ba4eab21f6867c7b2cd1916e1604ddb891fcf8bf290a1","completedAt":"2026-08-21T22:12:59.897Z"}
1
+ {"schemaVersion":1,"package":"@ds-mo/ui","version":"14.13.0","components":73,"digest":"abfed265b5ccc284bcd2ed01d3c2511bef7dadae82277cdc4dcf40c751377eaf","completedAt":"2026-08-23T03:20:21.111Z"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schemaVersion": "1.0.0",
3
3
  "package": "@ds-mo/ui",
4
- "packageVersion": "14.11.1",
4
+ "packageVersion": "14.13.0",
5
5
  "kind": "patterns",
6
6
  "entries": [
7
7
  {
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": "14.11.1",
4
+ "packageVersion": "14.13.0",
5
5
  "kind": "components",
6
6
  "entries": [
7
7
  {
@@ -5824,7 +5824,7 @@
5824
5824
  "Page-size changes request the first page. Out-of-range page indexes and invalid numeric inputs normalize only for presentation; the owner remains authoritative.",
5825
5825
  "Zero results display 0–0 of 0 and Page 1 of 1. A partial final page caps the visible range at totalItems.",
5826
5826
  "loading preserves the full pagination surface, applies aria-busy to the navigation region, and prevents page or page-size requests.",
5827
- "fitToPage appends a Fit to page choice. fitPageSize supplies its effective whole-item capacity; the closed trigger says Fit while the range continues to expose the resulting count. Pagination does not measure layouts itself."
5827
+ "fitToPage appends a Fit to page choice. fitPageSize supplies its effective whole-item capacity; the closed trigger says Fit while the range continues to expose the resulting count. fitToPageInactive keeps that choice visible but unavailable when fitting is not meaningful for the current data shape. Pagination does not measure layouts itself."
5828
5828
  ],
5829
5829
  "responsiveBehavior": [
5830
5830
  "The compact controls remain on one line with noun, selected size, total, a vertical divider, and page position. When inline space is still insufficient, the pagination surface scrolls horizontally rather than wrapping labels away from their controls."
@@ -5865,6 +5865,10 @@
5865
5865
  "type": "boolean",
5866
5866
  "required": false
5867
5867
  },
5868
+ "fitToPageInactive": {
5869
+ "type": "boolean",
5870
+ "required": false
5871
+ },
5868
5872
  "itemLabel": {
5869
5873
  "type": "string",
5870
5874
  "required": false
@@ -6752,6 +6756,82 @@
6752
6756
  "tooltip"
6753
6757
  ]
6754
6758
  },
6759
+ {
6760
+ "id": "component:ds-paper-texture",
6761
+ "tag": "ds-paper-texture",
6762
+ "name": "paper-texture",
6763
+ "title": "PaperTexture",
6764
+ "summary": "A decorative Paper Design WebGL2 paper texture surface with Storybook-tunable literal shader parameters and a static default frame.",
6765
+ "intentStatus": "complete",
6766
+ "intent": {
6767
+ "audience": "specialized",
6768
+ "status": "experimental",
6769
+ "summary": "A decorative Paper Design WebGL2 paper texture surface with Storybook-tunable literal shader parameters and a static default frame.",
6770
+ "useWhen": [
6771
+ "A shell or other visual surface needs a paper or cardboard texture layered above an existing background.",
6772
+ "Designers need to tune paper texture parameters interactively before choosing a baked static asset."
6773
+ ],
6774
+ "avoidWhen": [
6775
+ "The surface needs semantic content, interaction, or accessible information.",
6776
+ "The target environment cannot provide WebGL2 and no pre-baked fallback asset is available.",
6777
+ "A token-driven color treatment is required; this component accepts literal shader colors only."
6778
+ ],
6779
+ "alternatives": [],
6780
+ "commonlyComposedWith": [
6781
+ "component:ds-shell-app"
6782
+ ],
6783
+ "accessibility": [
6784
+ "The texture is decorative and is hidden from assistive technology.",
6785
+ "Keep all meaningful content in the owning surface above or beside the texture."
6786
+ ],
6787
+ "states": [
6788
+ "The default speed is zero, so a texture renders one deterministic frame without a recurring animation loop.",
6789
+ "Paper shader colors are literal CSS color strings and are not resolved from TokoMo tokens.",
6790
+ "If WebGL2 or the noise texture is unavailable, the decorative layer removes itself without blocking the owning surface."
6791
+ ],
6792
+ "responsiveBehavior": [
6793
+ "The shader observes its host dimensions and follows the owning surface through resize changes.",
6794
+ "minPixelRatio and maxPixelCount are available for explicit quality/performance tuning."
6795
+ ],
6796
+ "frameworkCaveats": {
6797
+ "customElements": [
6798
+ "Assign config as a JavaScript property; nested shader values are not intended for serialized HTML attributes."
6799
+ ],
6800
+ "react": [
6801
+ "Use the generated wrapper and pass the config object as a property."
6802
+ ],
6803
+ "angular": [
6804
+ "Bind the config object as a property so nested shader values are preserved."
6805
+ ]
6806
+ },
6807
+ "references": [
6808
+ {
6809
+ "label": "Storybook parameter playground",
6810
+ "path": "src/wc/components/PaperTexture/PaperTexture.stories.ts"
6811
+ }
6812
+ ]
6813
+ },
6814
+ "api": {
6815
+ "props": {
6816
+ "config": {
6817
+ "type": "PaperTextureConfig",
6818
+ "required": false
6819
+ }
6820
+ },
6821
+ "events": [],
6822
+ "slots": []
6823
+ },
6824
+ "exports": {
6825
+ "customElement": "ds-paper-texture",
6826
+ "react": "DsPaperTexture",
6827
+ "angular": "DsPaperTexture"
6828
+ },
6829
+ "dependencies": [
6830
+ "@ds-mo/ui",
6831
+ "@ds-mo/tokens"
6832
+ ],
6833
+ "componentDependencies": []
6834
+ },
6755
6835
  {
6756
6836
  "id": "component:ds-radio",
6757
6837
  "tag": "ds-radio",
@@ -7326,7 +7406,8 @@
7326
7406
  "component:ds-mobile-bar-nav",
7327
7407
  "component:ds-shell-page",
7328
7408
  "component:ds-banner",
7329
- "component:ds-swatch-picker"
7409
+ "component:ds-swatch-picker",
7410
+ "component:ds-paper-texture"
7330
7411
  ],
7331
7412
  "patterns": [
7332
7413
  "pattern:application-shell",
@@ -7352,6 +7433,7 @@
7352
7433
  "Use composition=slotted only for advanced application architectures that intentionally own all lower-level chrome wiring.",
7353
7434
  "Set gradientPreset to the single resolved global chrome preference: neutral by default, none for solid chrome, or cool, neutral, warm, and fresh for token-based washes.",
7354
7435
  "The application owns gradient preference persistence, cross-tab synchronization, and server or account precedence; ShellApp owns rendering the resolved preset across authenticated routes.",
7436
+ "The optional paperTexture property adds a decorative Paper Design texture layer above the gradient or solid chrome frame; its color values are literal shader inputs rather than design tokens.",
7355
7437
  "Dashboard represents day-to-day operational work while Settings represents administrative and configuration work; route state selects the context.",
7356
7438
  "Replace navigation and pageChrome together from one completed route state.",
7357
7439
  "When pageChrome.showBack marks a detail depth, mobile chrome keeps the page heading as its identity and presents only local subsections; peer route tabs remain in desktop BarNav rather than replacing the detail heading.",
@@ -7372,20 +7454,24 @@
7372
7454
  "A slotted Banner remains below the top safe-area inset and above routed, navigation, fullscreen-tool, and mobile global-surface presentations.",
7373
7455
  "Mobile global surfaces conceal and inert the routed workspace without unmounting it, preserving nested routes and scroll state.",
7374
7456
  "Keep PanelNav width, BarNav height, PanelTools chrome, and main-content origin stable except during intentional responsive or collapse transitions.",
7375
- "Keep managed page-header capacity compact or constrained through the complete PanelTools close transition, then restore the closed-tools capacity after the drawer no longer occupies page width.",
7457
+ "Paper texture chrome is desktop/tablet-only and follows the fixed viewport phase of the shell chrome; mobile remains a solid primary stage.",
7458
+ "Managed page-header capacity follows only the fixed shell breakpoint: roomy on desktop and compact on tablet. Opening PanelTools does not compact or constrain BarTitle.",
7376
7459
  "The bottom bar remains visible at all route and tool depths in the foundation release."
7377
7460
  ],
7378
7461
  "frameworkCaveats": {
7379
7462
  "customElements": [
7380
7463
  "Assign navigation, pageChrome, and tools as JavaScript properties on the managed ShellApp.",
7464
+ "Assign paperTexture as a JavaScript property when enabling the optional decorative layer.",
7381
7465
  "Stamp route-derived nav-style before components connect when deterministic first paint is required."
7382
7466
  ],
7383
7467
  "react": [
7384
7468
  "Use the generated ShellApp wrapper, structured object props, named tool-view slots, and stable routed children.",
7469
+ "Pass paperTexture as a structured property when the shell needs the optional texture layer.",
7385
7470
  "Resolve all shell inputs from one router state before rendering the composition."
7386
7471
  ],
7387
7472
  "angular": [
7388
7473
  "Use the generated standalone ShellApp adapter, bind structured object props, and preserve named tool-view slots.",
7474
+ "Bind paperTexture as a property so nested shader parameters are preserved.",
7389
7475
  "Bind complex inputs as properties and update navigation inputs atomically from one resolved router state.",
7390
7476
  "Bind both nav-style attributes and properties when deterministic first paint is required."
7391
7477
  ]
@@ -7439,6 +7525,10 @@
7439
7525
  "type": "ShellPageChromeConfig",
7440
7526
  "required": false
7441
7527
  },
7528
+ "paperTexture": {
7529
+ "type": "PaperTextureConfig",
7530
+ "required": false
7531
+ },
7442
7532
  "shortcutsEnabled": {
7443
7533
  "type": "boolean",
7444
7534
  "required": false
@@ -7525,6 +7615,7 @@
7525
7615
  "mobile-header",
7526
7616
  "mobile-sheet-nav",
7527
7617
  "panel-nav",
7618
+ "paper-texture",
7528
7619
  "shell-page",
7529
7620
  "shell-tools",
7530
7621
  "tooltip"
@@ -8668,7 +8759,7 @@
8668
8759
  "accessibility": [
8669
8760
  "The rendered structure uses a native table, caption, column headers, row groups, and data cells; keep the caption non-empty. The native caption remains visually hidden as the table's accessible name. When caption visibility is enabled, a 48px header bar renders as component chrome outside the horizontal scrollport. It defaults to a presentational caption title that does not duplicate the accessible name. Application-owned labeled controls supplied through the single named header slot replace that fallback and occupy the leading content width inside the component-owned 8px inset. When columnCustomizer is enabled, the table adds a trailing Preferences control named Customize table; otherwise the header slot receives the complete content width.",
8670
8761
  "The data-mode switcher is the shared Menu of the table's supported infinite, pagination, and virtual modes. The switcher is the final caption-bar action; when the column customizer is also present, a decorative vertical divider separates the two controls. dataMode remains controlled, and the application responds to change intent by supplying the matching records, pagination state, loading behavior, and query consequences. Escape, dismissal, and selection return focus to the trigger.",
8671
- "The column customizer is the shared Menu of switch rows, not a table-owned dialog. Data columns can be shown, hidden, and reordered. Locked action columns stay visible, inactive, and last. The selection checkbox is not a column and never appears. The last remaining visible data column cannot be hidden, but it stays focusable so it can still be reordered. Escape and outside click restore focus to the trigger. Persistence stays in the application.",
8762
+ "The column customizer is the shared Menu of switch rows, not a table-owned dialog. Data columns can be shown, hidden, and reordered. Action columns and the selection checkbox never appear in the menu. The last remaining visible data column cannot be hidden, but it stays focusable so it can still be reordered. Escape and outside click restore focus to the trigger. Persistence stays in the application.",
8672
8763
  "Sorting controls remain buttons inside column headers and expose the table's one controlled member-row sort through aria-sort. Grouping never adds a second sort indicator or header control; the application supplies groups in its fixed product order. Optional column help underlines the header label with the shared dotted decoration and shows ds-tooltip from that label; it does not add a second header control or replace the column name.",
8673
8764
  "Selection controls expose checkbox semantics and explicit row names; select-all affects selectable loaded rows only and preserves selected identities outside the loaded window. In virtual mode the supplied in-memory rows are that loaded set, including rows whose DOM is recycled. When grouping is active with multi-selection, each group section header also exposes a checkbox that selects or clears that group's selectable loaded rows.",
8674
8765
  "Interactive rows are focusable as native rows, activate with Enter or Space, and do not steal activation from their nested selection, action, overflow-menu, or primary-text link controls.",
@@ -8679,10 +8770,10 @@
8679
8770
  "states": [
8680
8771
  "Columns, rows, groups, grouping, sorting, selected row IDs, collapsed group IDs, hiddenColumnIds, columnOrder, dataMode, pagination, displayedCount, totalCount, and incremental-loading state are controlled inputs. Events communicate intent and never mutate those inputs. The optional header is one composable table-local surface: the component owns its 48px chrome, 8px inset on every side, and sticky placement while the application owns the leading slot's internal layout, controls, labels, filtering behavior, and action handling. Opting into dataModeSwitcher and columnCustomizer adds their trailing Menu triggers and requires caption visibility. When both are present, Customize table precedes a decorative divider and the data-mode trigger remains the final action. The table closes one trailing Menu before opening the other. The footer retains its compact-bar composition: application-owned leading status sits left while a controlled result summary or Pagination aligns right, before any trailing action. Content-sized tables remain natural for sparse or fixed-count results. height bounds the complete header, frame, and footer composition. fitViewport reserves the compact-state composition height in the nearest vertical scrollport while growing the visible table into that reservation as surrounding page chrome collapses.",
8681
8772
  "Grouping supports one level. The application supplies groups in a fixed product-defined order and supplies ordered member rows independently. Group section headers show an emphasized text-body-medium label followed by a middle dot and plain secondary loaded progress, for example Critical · 50 of 166. The loaded value comes from the supplied member rows and the total comes from totalCount. A localized countLabel total phrase remains available for the complete assistive progress announcement. Virtual mode shows totals only, for example Critical · 166, because there is no loaded window. Groups may declare an optional intent (brand, neutral, negative, warning, caution, positive) that paints an LTR gradient from the faint intent surface at the label edge into faint neutral at the trailing edge, plus a bold intent title color. Neutral groups remain solid faint neutral. Section separators are painted inside that viewport-width surface so translucent border tokens composite with each intent background. Internal sections keep their separators; a collapsed or empty section header yields its separator only when it is the table's final rendered item. A trailing visually neutral icon-only ButtonUnfilled uses the 24px md double-inset action recipe and toggles controlled collapsedGroupIds, showing ChevronUp while expanded and ChevronDown while collapsed. While any group is expanded, a ChevronDownUp action uses the xs sort-control recipe widened to a table-owned 24px lane and collapses every group. It appears at the inline-end edge of the trailing column declared with kind action when one exists; otherwise a button-hugging 24px by 16px medium-elevation surface floats at the visible scrollport's header edge so the action remains reachable while member columns scroll beneath it. With stickyHeader enabled, each contained section uses its one real section row as a native sticky header inside its real row-group boundary. The browser therefore owns pinning, push-off, scrolling, and resize layout in one pass without a duplicated lane, active-section state, transforms, or scroll-time geometry. Shared grid tracks retain exact header and member-cell alignment. The section surface also stays pinned to the visible horizontal scrollport and spans the smaller of the visible viewport or table width. Virtual grouped tables flatten headers and members into that same scrollport; expanding a section never introduces an inner scroller.",
8682
- "When columnCustomizer is false, columns render in catalog order. When it is true, columns remains the catalog: hiddenColumnIds and columnOrder control visibility and data-column sequence, action columns stay last and cannot be hidden, and dsColumnsConfigChange reports the next hidden ids and data-column order without mutating those inputs. The customizer Menu live-applies show/hide and data-column reorder. The table does not persist preferences.",
8773
+ "When columnCustomizer is false, columns render in catalog order. When it is true, columns remains the catalog: hiddenColumnIds and columnOrder control visibility and data-column sequence, action columns stay last, cannot be hidden, and remain absent from the customizer Menu, and dsColumnsConfigChange reports the next hidden ids and data-column order without mutating those inputs. The customizer Menu live-applies show/hide and data-column reorder. The table does not persist preferences.",
8683
8774
  "An active member sort toggles only between ascending and descending; activating a different sortable label moves the one sorting state to that key. Applications may still clear the controlled sort state explicitly. Grouping does not introduce another interactive direction.",
8684
8775
  "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.",
8685
- "Initial loading defaults to ten row-shaped skeletons and preserves row dividers, column dividers, selection lanes, and sticky boundaries. A selectable table renders a checkbox-sized control skeleton in its selection lane so loading geometry matches the real checkbox instead of a generic icon. Each column may declare representative text, multiline text, image, Tag, icon, icon-and-text, action, or intentionally blank loading geometry; the table applies the matching resolved-cell padding and track anatomy so the placeholder row has the same height and rhythm as its data row. Columns without a declaration use one text line, while action columns infer an icon action placeholder. Empty and initial error replace only the body with ds-empty-state, using Inbox or ErrorTriangle plus the table heading and body copy. In height-bounded and maxHeight tables that region fills the remaining viewport below the column header; content-sized tables keep a minimum empty-region height. Empty, initial error, load-more, retry, loading-more, and terminal bands remain fixed to the visible table width while data columns scroll horizontally beneath them. Incremental loading retains existing rows and supports automatic sentinel, manual load-more, retry, and terminal states. When grouping is active, each expanded group owns its load band at the end of its member rows; internal group load bands keep their bottom divider, while a terminal group load band yields it to the table edge or footer. The global bottom-of-table loader is not rendered.",
8776
+ "Initial loading defaults to ten row-shaped skeletons and preserves row dividers, column dividers, selection lanes, and sticky boundaries. A selectable table renders a checkbox-sized control skeleton in its selection lane so loading geometry matches the real checkbox instead of a generic icon. Each column may declare representative text, multiline text, image, Tag, icon, icon-and-text, action, or intentionally blank loading geometry; the table applies the matching resolved-cell padding and track anatomy so the placeholder row has the same height and rhythm as its data row. Columns without a declaration use one text line, while action columns infer an icon action placeholder. chromeLoading replaces opted-in table-owned caption controls with non-interactive control skeletons in the same slots and at the same dimensions, without changing dataMode or the surrounding caption geometry. Empty and initial error replace only the body with ds-empty-state, using Inbox or ErrorTriangle plus the table heading and body copy. In height-bounded and maxHeight tables that region fills the remaining viewport below the column header; content-sized tables keep a minimum empty-region height. Empty, initial error, load-more, retry, loading-more, and terminal bands remain fixed to the visible table width while data columns scroll horizontally beneath them. Incremental loading retains existing rows and supports automatic sentinel, manual load-more, retry, and terminal states. When grouping is active, each expanded group owns its load band at the end of its member rows; internal group load bands keep their bottom divider, while a terminal group load band yields it to the table edge or footer. The global bottom-of-table loader is not rendered.",
8686
8777
  "dataMode selects the top-level window: infinite appends ungrouped rows through dsLoadMore when hasMore is true, pagination renders the controlled page supplied by the application and emits dsPaginationChange, and virtual recycles row DOM over the full in-memory rows or groups the application already supplied. Infinite mode also covers fixed result sets by leaving hasMore false. In a grouped paginated table, pagination counts and windows only parent groups; each expanded parent can still append its own members through dsGroupLoadMore. Virtual mode does not fetch, ignores hasMore and load bands, and requires a bounded viewport (height, maxHeight, or fitViewport with a definite block size). Without that height it fails visibly instead of mounting every row. The application owns requests, cancellation, cursors, deduplication, slicing, and query identity.",
8687
8778
  "When pagination enables Fit to page on a bounded table, the table proposes the number of complete top-level rows that fit below its column header. Grouped tables count group headers only; member rows never affect capacity. Selecting Fit captures that numeric snapshot. A changed fitIdentity requests one fresh snapshot for a new query shape, while viewport resizing alone does not change the active controlled page size.",
8688
8779
  "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.",
@@ -8743,6 +8834,10 @@
8743
8834
  "type": "TableCaptionVisibility",
8744
8835
  "required": false
8745
8836
  },
8837
+ "chromeLoading": {
8838
+ "type": "boolean",
8839
+ "required": false
8840
+ },
8746
8841
  "collapsedGroupIds": {
8747
8842
  "type": "string[]",
8748
8843
  "required": false
@@ -9068,12 +9163,12 @@
9068
9163
  "The naming dialog traps focus through Modal behavior, associates validation text with the input through Field, and restores focus to the saved-views control after closing."
9069
9164
  ],
9070
9165
  "states": [
9071
- "views, value, and dirty are controlled. Selection, create, save, discard, rename, and remove events communicate intent and never mutate application records.",
9166
+ "views, value, and dirty are controlled. Dirty state is presented only for a selected custom view; the default template never shows the trigger dot or save/discard actions even if dirty is supplied. Selection, create, save, discard, rename, and remove events communicate intent and never mutate application records.",
9072
9167
  "The component owns only transient interaction state: the contextual menu, naming dialog, draft name, duplicate-name validation, and focus restoration.",
9073
9168
  "The default view is a non-editable template. Application-owned custom views appear in a separate section with Rename and Remove actions. New view opens the naming dialog. When an editable selected view is dirty, that view row shows Save and negative Discard supporting actions while the footer remains dedicated to New view. The application decides which table state to capture, restore, and persist."
9074
9169
  ],
9075
9170
  "responsiveBehavior": [
9076
- "The control remains a single toolbar item and relies on Select, Menu, and Modal collision and viewport behavior.",
9171
+ "The control remains a single toolbar item and relies on Select, Menu, and Modal collision and viewport behavior. Its choice popup keeps the token-backed 200px menu-width-xs minimum.",
9077
9172
  "Place it in the leading region of ds-table-toolbar so narrow table headers preserve the expected control order."
9078
9173
  ],
9079
9174
  "frameworkCaveats": {
@@ -9,7 +9,7 @@ export declare class DsPagination {
9
9
  dsChange: EventEmitter<DsPaginationCustomEvent<IDsPaginationPaginationChangeDetail>>;
10
10
  constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
11
11
  static ɵfac: i0.ɵɵFactoryDeclaration<DsPagination, never>;
12
- static ɵcmp: i0.ɵɵComponentDeclaration<DsPagination, "ds-pagination", never, { "fitPageSize": { "alias": "fitPageSize"; "required": false; }; "fitPageSizeLabel": { "alias": "fitPageSizeLabel"; "required": false; }; "fitPageSizeTriggerLabel": { "alias": "fitPageSizeTriggerLabel"; "required": false; }; "fitToPage": { "alias": "fitToPage"; "required": false; }; "itemLabel": { "alias": "itemLabel"; "required": false; }; "label": { "alias": "label"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "pageIndex": { "alias": "pageIndex"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "pageSizeAriaLabel": { "alias": "pageSizeAriaLabel"; "required": false; }; "pageSizeLabel": { "alias": "pageSizeLabel"; "required": false; }; "pageSizeMode": { "alias": "pageSizeMode"; "required": false; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; }; "totalItems": { "alias": "totalItems"; "required": false; }; }, { "dsChange": "dsChange"; }, never, ["*"], true, never>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<DsPagination, "ds-pagination", never, { "fitPageSize": { "alias": "fitPageSize"; "required": false; }; "fitPageSizeLabel": { "alias": "fitPageSizeLabel"; "required": false; }; "fitPageSizeTriggerLabel": { "alias": "fitPageSizeTriggerLabel"; "required": false; }; "fitToPage": { "alias": "fitToPage"; "required": false; }; "fitToPageInactive": { "alias": "fitToPageInactive"; "required": false; }; "itemLabel": { "alias": "itemLabel"; "required": false; }; "label": { "alias": "label"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "pageIndex": { "alias": "pageIndex"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "pageSizeAriaLabel": { "alias": "pageSizeAriaLabel"; "required": false; }; "pageSizeLabel": { "alias": "pageSizeLabel"; "required": false; }; "pageSizeMode": { "alias": "pageSizeMode"; "required": false; }; "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; }; "totalItems": { "alias": "totalItems"; "required": false; }; }, { "dsChange": "dsChange"; }, never, ["*"], true, never>;
13
13
  }
14
14
  export declare interface DsPagination extends Components.DsPagination {
15
15
  /**
@@ -18,12 +18,12 @@ let DsPagination = class DsPagination {
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: DsPagination, 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: DsPagination, isStandalone: true, selector: "ds-pagination", inputs: { fitPageSize: "fitPageSize", fitPageSizeLabel: "fitPageSizeLabel", fitPageSizeTriggerLabel: "fitPageSizeTriggerLabel", fitToPage: "fitToPage", itemLabel: "itemLabel", label: "label", loading: "loading", pageIndex: "pageIndex", pageSize: "pageSize", pageSizeAriaLabel: "pageSizeAriaLabel", pageSizeLabel: "pageSizeLabel", pageSizeMode: "pageSizeMode", pageSizeOptions: "pageSizeOptions", totalItems: "totalItems" }, outputs: { dsChange: "dsChange" }, 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: DsPagination, isStandalone: true, selector: "ds-pagination", inputs: { fitPageSize: "fitPageSize", fitPageSizeLabel: "fitPageSizeLabel", fitPageSizeTriggerLabel: "fitPageSizeTriggerLabel", fitToPage: "fitToPage", fitToPageInactive: "fitToPageInactive", itemLabel: "itemLabel", label: "label", loading: "loading", pageIndex: "pageIndex", pageSize: "pageSize", pageSizeAriaLabel: "pageSizeAriaLabel", pageSizeLabel: "pageSizeLabel", pageSizeMode: "pageSizeMode", pageSizeOptions: "pageSizeOptions", totalItems: "totalItems" }, outputs: { dsChange: "dsChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
22
22
  };
23
23
  DsPagination = __decorate([
24
24
  ProxyCmp({
25
25
  defineCustomElementFn: defineDsPagination,
26
- inputs: ['fitPageSize', 'fitPageSizeLabel', 'fitPageSizeTriggerLabel', 'fitToPage', 'itemLabel', 'label', 'loading', 'pageIndex', 'pageSize', 'pageSizeAriaLabel', 'pageSizeLabel', 'pageSizeMode', 'pageSizeOptions', 'totalItems']
26
+ inputs: ['fitPageSize', 'fitPageSizeLabel', 'fitPageSizeTriggerLabel', 'fitToPage', 'fitToPageInactive', 'itemLabel', 'label', 'loading', 'pageIndex', 'pageSize', 'pageSizeAriaLabel', 'pageSizeLabel', 'pageSizeMode', 'pageSizeOptions', 'totalItems']
27
27
  })
28
28
  ], DsPagination);
29
29
  export { DsPagination };
@@ -34,7 +34,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImpor
34
34
  changeDetection: ChangeDetectionStrategy.OnPush,
35
35
  template: '<ng-content></ng-content>',
36
36
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
37
- inputs: ['fitPageSize', 'fitPageSizeLabel', 'fitPageSizeTriggerLabel', 'fitToPage', 'itemLabel', 'label', 'loading', 'pageIndex', 'pageSize', 'pageSizeAriaLabel', 'pageSizeLabel', 'pageSizeMode', 'pageSizeOptions', 'totalItems'],
37
+ inputs: ['fitPageSize', 'fitPageSizeLabel', 'fitPageSizeTriggerLabel', 'fitToPage', 'fitToPageInactive', 'itemLabel', 'label', 'loading', 'pageIndex', 'pageSize', 'pageSizeAriaLabel', 'pageSizeLabel', 'pageSizeMode', 'pageSizeOptions', 'totalItems'],
38
38
  outputs: ['dsChange'],
39
39
  }]
40
40
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { dsChange: [{
@@ -0,0 +1,12 @@
1
+ import { ChangeDetectorRef, ElementRef, NgZone } from '@angular/core';
2
+ import type { Components } from '@ds-mo/ui/components';
3
+ import * as i0 from "@angular/core";
4
+ export declare class DsPaperTexture {
5
+ protected z: NgZone;
6
+ protected el: HTMLDsPaperTextureElement;
7
+ constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<DsPaperTexture, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<DsPaperTexture, "ds-paper-texture", never, { "config": { "alias": "config"; "required": false; }; }, {}, never, ["*"], true, never>;
10
+ }
11
+ export declare interface DsPaperTexture extends Components.DsPaperTexture {
12
+ }
@@ -0,0 +1,38 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ /* tslint:disable */
8
+ /* auto-generated angular directive proxies */
9
+ import { ChangeDetectionStrategy, Component } from '@angular/core';
10
+ import { ProxyCmp } from './angular-component-lib/utils.js';
11
+ import { defineCustomElement as defineDsPaperTexture } from '@ds-mo/ui/components/ds-paper-texture.js';
12
+ import * as i0 from "@angular/core";
13
+ let DsPaperTexture = class DsPaperTexture {
14
+ constructor(c, r, z) {
15
+ this.z = z;
16
+ c.detach();
17
+ this.el = r.nativeElement;
18
+ }
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: DsPaperTexture, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
20
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.0", type: DsPaperTexture, isStandalone: true, selector: "ds-paper-texture", inputs: { config: "config" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
21
+ };
22
+ DsPaperTexture = __decorate([
23
+ ProxyCmp({
24
+ defineCustomElementFn: defineDsPaperTexture,
25
+ inputs: ['config']
26
+ })
27
+ ], DsPaperTexture);
28
+ export { DsPaperTexture };
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: DsPaperTexture, decorators: [{
30
+ type: Component,
31
+ args: [{
32
+ selector: 'ds-paper-texture',
33
+ changeDetection: ChangeDetectionStrategy.OnPush,
34
+ template: '<ng-content></ng-content>',
35
+ // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
36
+ inputs: ['config'],
37
+ }]
38
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }] });
@@ -38,7 +38,7 @@ export declare class DsShellApp {
38
38
  dsNavUserAction: EventEmitter<DsShellAppCustomEvent<IDsShellAppPanelNavUserActionDetail>>;
39
39
  constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
40
40
  static ɵfac: i0.ɵɵFactoryDeclaration<DsShellApp, never>;
41
- static ɵcmp: i0.ɵɵComponentDeclaration<DsShellApp, "ds-shell-app", never, { "composition": { "alias": "composition"; "required": false; }; "gradientPreset": { "alias": "gradientPreset"; "required": false; }; "mobileDestination": { "alias": "mobileDestination"; "required": false; }; "mobileSheetNavOpen": { "alias": "mobileSheetNavOpen"; "required": false; }; "navStyle": { "alias": "navStyle"; "required": false; }; "navigation": { "alias": "navigation"; "required": false; }; "pageChrome": { "alias": "pageChrome"; "required": false; }; "shortcutsEnabled": { "alias": "shortcutsEnabled"; "required": false; }; "tools": { "alias": "tools"; "required": false; }; }, { "dsResponsiveModeChange": "dsResponsiveModeChange"; "dsNavSelect": "dsNavSelect"; "dsTabChange": "dsTabChange"; "dsSubsectionChange": "dsSubsectionChange"; "dsPageBack": "dsPageBack"; "dsBreadcrumbSelect": "dsBreadcrumbSelect"; "dsPageAction": "dsPageAction"; "dsToolChange": "dsToolChange"; "dsHeaderBack": "dsHeaderBack"; "dsHeaderAction": "dsHeaderAction"; "dsPresentationChange": "dsPresentationChange"; "dsBrowseContextChange": "dsBrowseContextChange"; "dsNavFooterAction": "dsNavFooterAction"; "dsNavUserAction": "dsNavUserAction"; }, never, ["*"], true, never>;
41
+ static ɵcmp: i0.ɵɵComponentDeclaration<DsShellApp, "ds-shell-app", never, { "composition": { "alias": "composition"; "required": false; }; "gradientPreset": { "alias": "gradientPreset"; "required": false; }; "mobileDestination": { "alias": "mobileDestination"; "required": false; }; "mobileSheetNavOpen": { "alias": "mobileSheetNavOpen"; "required": false; }; "navStyle": { "alias": "navStyle"; "required": false; }; "navigation": { "alias": "navigation"; "required": false; }; "pageChrome": { "alias": "pageChrome"; "required": false; }; "paperTexture": { "alias": "paperTexture"; "required": false; }; "shortcutsEnabled": { "alias": "shortcutsEnabled"; "required": false; }; "tools": { "alias": "tools"; "required": false; }; }, { "dsResponsiveModeChange": "dsResponsiveModeChange"; "dsNavSelect": "dsNavSelect"; "dsTabChange": "dsTabChange"; "dsSubsectionChange": "dsSubsectionChange"; "dsPageBack": "dsPageBack"; "dsBreadcrumbSelect": "dsBreadcrumbSelect"; "dsPageAction": "dsPageAction"; "dsToolChange": "dsToolChange"; "dsHeaderBack": "dsHeaderBack"; "dsHeaderAction": "dsHeaderAction"; "dsPresentationChange": "dsPresentationChange"; "dsBrowseContextChange": "dsBrowseContextChange"; "dsNavFooterAction": "dsNavFooterAction"; "dsNavUserAction": "dsNavUserAction"; }, never, ["*"], true, never>;
42
42
  }
43
43
  export declare interface DsShellApp extends Components.DsShellApp {
44
44
  /**
@@ -31,12 +31,12 @@ let DsShellApp = class DsShellApp {
31
31
  this.el = r.nativeElement;
32
32
  }
33
33
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: DsShellApp, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
34
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.0", type: DsShellApp, isStandalone: true, selector: "ds-shell-app", inputs: { composition: "composition", gradientPreset: "gradientPreset", mobileDestination: "mobileDestination", mobileSheetNavOpen: "mobileSheetNavOpen", navStyle: "navStyle", navigation: "navigation", pageChrome: "pageChrome", shortcutsEnabled: "shortcutsEnabled", tools: "tools" }, outputs: { dsResponsiveModeChange: "dsResponsiveModeChange", dsNavSelect: "dsNavSelect", dsTabChange: "dsTabChange", dsSubsectionChange: "dsSubsectionChange", dsPageBack: "dsPageBack", dsBreadcrumbSelect: "dsBreadcrumbSelect", dsPageAction: "dsPageAction", dsToolChange: "dsToolChange", dsHeaderBack: "dsHeaderBack", dsHeaderAction: "dsHeaderAction", dsPresentationChange: "dsPresentationChange", dsBrowseContextChange: "dsBrowseContextChange", dsNavFooterAction: "dsNavFooterAction", dsNavUserAction: "dsNavUserAction" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
34
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.0", type: DsShellApp, isStandalone: true, selector: "ds-shell-app", inputs: { composition: "composition", gradientPreset: "gradientPreset", mobileDestination: "mobileDestination", mobileSheetNavOpen: "mobileSheetNavOpen", navStyle: "navStyle", navigation: "navigation", pageChrome: "pageChrome", paperTexture: "paperTexture", shortcutsEnabled: "shortcutsEnabled", tools: "tools" }, outputs: { dsResponsiveModeChange: "dsResponsiveModeChange", dsNavSelect: "dsNavSelect", dsTabChange: "dsTabChange", dsSubsectionChange: "dsSubsectionChange", dsPageBack: "dsPageBack", dsBreadcrumbSelect: "dsBreadcrumbSelect", dsPageAction: "dsPageAction", dsToolChange: "dsToolChange", dsHeaderBack: "dsHeaderBack", dsHeaderAction: "dsHeaderAction", dsPresentationChange: "dsPresentationChange", dsBrowseContextChange: "dsBrowseContextChange", dsNavFooterAction: "dsNavFooterAction", dsNavUserAction: "dsNavUserAction" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
35
35
  };
36
36
  DsShellApp = __decorate([
37
37
  ProxyCmp({
38
38
  defineCustomElementFn: defineDsShellApp,
39
- inputs: ['composition', 'gradientPreset', 'mobileDestination', 'mobileSheetNavOpen', 'navStyle', 'navigation', 'pageChrome', 'shortcutsEnabled', 'tools'],
39
+ inputs: ['composition', 'gradientPreset', 'mobileDestination', 'mobileSheetNavOpen', 'navStyle', 'navigation', 'pageChrome', 'paperTexture', 'shortcutsEnabled', 'tools'],
40
40
  methods: ['activateTool', 'closeGlobalSurface', 'setToolPresentation']
41
41
  })
42
42
  ], DsShellApp);
@@ -48,7 +48,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImpor
48
48
  changeDetection: ChangeDetectionStrategy.OnPush,
49
49
  template: '<ng-content></ng-content>',
50
50
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
51
- inputs: ['composition', 'gradientPreset', 'mobileDestination', 'mobileSheetNavOpen', 'navStyle', 'navigation', 'pageChrome', 'shortcutsEnabled', 'tools'],
51
+ inputs: ['composition', 'gradientPreset', 'mobileDestination', 'mobileSheetNavOpen', 'navStyle', 'navigation', 'pageChrome', 'paperTexture', 'shortcutsEnabled', 'tools'],
52
52
  outputs: ['dsResponsiveModeChange', 'dsNavSelect', 'dsTabChange', 'dsSubsectionChange', 'dsPageBack', 'dsBreadcrumbSelect', 'dsPageAction', 'dsToolChange', 'dsHeaderBack', 'dsHeaderAction', 'dsPresentationChange', 'dsBrowseContextChange', 'dsNavFooterAction', 'dsNavUserAction'],
53
53
  }]
54
54
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { dsResponsiveModeChange: [{
@@ -27,7 +27,7 @@ export declare class DsTable {
27
27
  dsDataModeChange: EventEmitter<DsTableCustomEvent<IDsTableTableDataModeChangeDetail>>;
28
28
  constructor(c: ChangeDetectorRef, r: ElementRef, z: NgZone);
29
29
  static ɵfac: i0.ɵɵFactoryDeclaration<DsTable, never>;
30
- static ɵcmp: i0.ɵɵComponentDeclaration<DsTable, "ds-table", never, { "caption": { "alias": "caption"; "required": true; }; "captionVisibility": { "alias": "captionVisibility"; "required": false; }; "collapsedGroupIds": { "alias": "collapsedGroupIds"; "required": false; }; "columnCustomizer": { "alias": "columnCustomizer"; "required": false; }; "columnOrder": { "alias": "columnOrder"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "dataMode": { "alias": "dataMode"; "required": false; }; "dataModeMenuLabel": { "alias": "dataModeMenuLabel"; "required": false; }; "dataModeSwitcher": { "alias": "dataModeSwitcher"; "required": false; }; "dataModeSwitcherLabel": { "alias": "dataModeSwitcherLabel"; "required": false; }; "displayedCount": { "alias": "displayedCount"; "required": false; }; "emptyBody": { "alias": "emptyBody"; "required": false; }; "emptyCellLabel": { "alias": "emptyCellLabel"; "required": false; }; "emptyHeading": { "alias": "emptyHeading"; "required": false; }; "endOfResultsLabel": { "alias": "endOfResultsLabel"; "required": false; }; "error": { "alias": "error"; "required": false; }; "errorBody": { "alias": "errorBody"; "required": false; }; "errorHeading": { "alias": "errorHeading"; "required": false; }; "fitViewport": { "alias": "fitViewport"; "required": false; }; "groupEndOfResultsLabel": { "alias": "groupEndOfResultsLabel"; "required": false; }; "groupLoadMoreAriaLabel": { "alias": "groupLoadMoreAriaLabel"; "required": false; }; "groupLoadMoreLabel": { "alias": "groupLoadMoreLabel"; "required": false; }; "groupLoadingMoreLabel": { "alias": "groupLoadingMoreLabel"; "required": false; }; "groupRetryLabel": { "alias": "groupRetryLabel"; "required": false; }; "groupRowsLoadedLabel": { "alias": "groupRowsLoadedLabel"; "required": false; }; "grouping": { "alias": "grouping"; "required": false; }; "groups": { "alias": "groups"; "required": false; }; "hasMore": { "alias": "hasMore"; "required": false; }; "height": { "alias": "height"; "required": false; }; "hiddenColumnIds": { "alias": "hiddenColumnIds"; "required": false; }; "infiniteModeLabel": { "alias": "infiniteModeLabel"; "required": false; }; "loadIdentity": { "alias": "loadIdentity"; "required": false; }; "loadMoreError": { "alias": "loadMoreError"; "required": false; }; "loadMoreLabel": { "alias": "loadMoreLabel"; "required": false; }; "loadMoreMode": { "alias": "loadMoreMode"; "required": false; }; "loadMoreThreshold": { "alias": "loadMoreThreshold"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "loadingMore": { "alias": "loadingMore"; "required": false; }; "loadingMoreLabel": { "alias": "loadingMoreLabel"; "required": false; }; "maxHeight": { "alias": "maxHeight"; "required": false; }; "pagination": { "alias": "pagination"; "required": false; }; "paginationModeLabel": { "alias": "paginationModeLabel"; "required": false; }; "resultSummaryLabel": { "alias": "resultSummaryLabel"; "required": false; }; "resultTotalSummaryLabel": { "alias": "resultTotalSummaryLabel"; "required": false; }; "retryLabel": { "alias": "retryLabel"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "rowsLoadedLabel": { "alias": "rowsLoadedLabel"; "required": false; }; "scrollLabel": { "alias": "scrollLabel"; "required": false; }; "selectedRowIds": { "alias": "selectedRowIds"; "required": false; }; "selectionMode": { "alias": "selectionMode"; "required": false; }; "skeletonRows": { "alias": "skeletonRows"; "required": false; }; "sort": { "alias": "sort"; "required": false; }; "stickyHeader": { "alias": "stickyHeader"; "required": false; }; "totalCount": { "alias": "totalCount"; "required": false; }; "viewportInsetBlockEnd": { "alias": "viewportInsetBlockEnd"; "required": false; }; "viewportInsetBlockStart": { "alias": "viewportInsetBlockStart"; "required": false; }; "virtualModeLabel": { "alias": "virtualModeLabel"; "required": false; }; }, { "dsSortChange": "dsSortChange"; "dsGroupCollapseChange": "dsGroupCollapseChange"; "dsSelectionChange": "dsSelectionChange"; "dsLoadMore": "dsLoadMore"; "dsGroupLoadMore": "dsGroupLoadMore"; "dsPaginationChange": "dsPaginationChange"; "dsCellAction": "dsCellAction"; "dsRowActivate": "dsRowActivate"; "dsColumnsConfigChange": "dsColumnsConfigChange"; "dsDataModeChange": "dsDataModeChange"; }, never, ["*"], true, never>;
30
+ static ɵcmp: i0.ɵɵComponentDeclaration<DsTable, "ds-table", never, { "caption": { "alias": "caption"; "required": true; }; "captionVisibility": { "alias": "captionVisibility"; "required": false; }; "chromeLoading": { "alias": "chromeLoading"; "required": false; }; "collapsedGroupIds": { "alias": "collapsedGroupIds"; "required": false; }; "columnCustomizer": { "alias": "columnCustomizer"; "required": false; }; "columnOrder": { "alias": "columnOrder"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "dataMode": { "alias": "dataMode"; "required": false; }; "dataModeMenuLabel": { "alias": "dataModeMenuLabel"; "required": false; }; "dataModeSwitcher": { "alias": "dataModeSwitcher"; "required": false; }; "dataModeSwitcherLabel": { "alias": "dataModeSwitcherLabel"; "required": false; }; "displayedCount": { "alias": "displayedCount"; "required": false; }; "emptyBody": { "alias": "emptyBody"; "required": false; }; "emptyCellLabel": { "alias": "emptyCellLabel"; "required": false; }; "emptyHeading": { "alias": "emptyHeading"; "required": false; }; "endOfResultsLabel": { "alias": "endOfResultsLabel"; "required": false; }; "error": { "alias": "error"; "required": false; }; "errorBody": { "alias": "errorBody"; "required": false; }; "errorHeading": { "alias": "errorHeading"; "required": false; }; "fitViewport": { "alias": "fitViewport"; "required": false; }; "groupEndOfResultsLabel": { "alias": "groupEndOfResultsLabel"; "required": false; }; "groupLoadMoreAriaLabel": { "alias": "groupLoadMoreAriaLabel"; "required": false; }; "groupLoadMoreLabel": { "alias": "groupLoadMoreLabel"; "required": false; }; "groupLoadingMoreLabel": { "alias": "groupLoadingMoreLabel"; "required": false; }; "groupRetryLabel": { "alias": "groupRetryLabel"; "required": false; }; "groupRowsLoadedLabel": { "alias": "groupRowsLoadedLabel"; "required": false; }; "grouping": { "alias": "grouping"; "required": false; }; "groups": { "alias": "groups"; "required": false; }; "hasMore": { "alias": "hasMore"; "required": false; }; "height": { "alias": "height"; "required": false; }; "hiddenColumnIds": { "alias": "hiddenColumnIds"; "required": false; }; "infiniteModeLabel": { "alias": "infiniteModeLabel"; "required": false; }; "loadIdentity": { "alias": "loadIdentity"; "required": false; }; "loadMoreError": { "alias": "loadMoreError"; "required": false; }; "loadMoreLabel": { "alias": "loadMoreLabel"; "required": false; }; "loadMoreMode": { "alias": "loadMoreMode"; "required": false; }; "loadMoreThreshold": { "alias": "loadMoreThreshold"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "loadingMore": { "alias": "loadingMore"; "required": false; }; "loadingMoreLabel": { "alias": "loadingMoreLabel"; "required": false; }; "maxHeight": { "alias": "maxHeight"; "required": false; }; "pagination": { "alias": "pagination"; "required": false; }; "paginationModeLabel": { "alias": "paginationModeLabel"; "required": false; }; "resultSummaryLabel": { "alias": "resultSummaryLabel"; "required": false; }; "resultTotalSummaryLabel": { "alias": "resultTotalSummaryLabel"; "required": false; }; "retryLabel": { "alias": "retryLabel"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "rowsLoadedLabel": { "alias": "rowsLoadedLabel"; "required": false; }; "scrollLabel": { "alias": "scrollLabel"; "required": false; }; "selectedRowIds": { "alias": "selectedRowIds"; "required": false; }; "selectionMode": { "alias": "selectionMode"; "required": false; }; "skeletonRows": { "alias": "skeletonRows"; "required": false; }; "sort": { "alias": "sort"; "required": false; }; "stickyHeader": { "alias": "stickyHeader"; "required": false; }; "totalCount": { "alias": "totalCount"; "required": false; }; "viewportInsetBlockEnd": { "alias": "viewportInsetBlockEnd"; "required": false; }; "viewportInsetBlockStart": { "alias": "viewportInsetBlockStart"; "required": false; }; "virtualModeLabel": { "alias": "virtualModeLabel"; "required": false; }; }, { "dsSortChange": "dsSortChange"; "dsGroupCollapseChange": "dsGroupCollapseChange"; "dsSelectionChange": "dsSelectionChange"; "dsLoadMore": "dsLoadMore"; "dsGroupLoadMore": "dsGroupLoadMore"; "dsPaginationChange": "dsPaginationChange"; "dsCellAction": "dsCellAction"; "dsRowActivate": "dsRowActivate"; "dsColumnsConfigChange": "dsColumnsConfigChange"; "dsDataModeChange": "dsDataModeChange"; }, never, ["*"], true, never>;
31
31
  }
32
32
  export declare interface DsTable extends Components.DsTable {
33
33
  dsSortChange: EventEmitter<DsTableCustomEvent<IDsTableTableSortChangeDetail>>;
@@ -27,12 +27,12 @@ let DsTable = class DsTable {
27
27
  this.el = r.nativeElement;
28
28
  }
29
29
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.0", ngImport: i0, type: DsTable, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
30
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.0", type: DsTable, isStandalone: true, selector: "ds-table", inputs: { caption: "caption", captionVisibility: "captionVisibility", collapsedGroupIds: "collapsedGroupIds", columnCustomizer: "columnCustomizer", columnOrder: "columnOrder", columns: "columns", dataMode: "dataMode", dataModeMenuLabel: "dataModeMenuLabel", dataModeSwitcher: "dataModeSwitcher", dataModeSwitcherLabel: "dataModeSwitcherLabel", displayedCount: "displayedCount", emptyBody: "emptyBody", emptyCellLabel: "emptyCellLabel", emptyHeading: "emptyHeading", endOfResultsLabel: "endOfResultsLabel", error: "error", errorBody: "errorBody", errorHeading: "errorHeading", fitViewport: "fitViewport", groupEndOfResultsLabel: "groupEndOfResultsLabel", groupLoadMoreAriaLabel: "groupLoadMoreAriaLabel", groupLoadMoreLabel: "groupLoadMoreLabel", groupLoadingMoreLabel: "groupLoadingMoreLabel", groupRetryLabel: "groupRetryLabel", groupRowsLoadedLabel: "groupRowsLoadedLabel", grouping: "grouping", groups: "groups", hasMore: "hasMore", height: "height", hiddenColumnIds: "hiddenColumnIds", infiniteModeLabel: "infiniteModeLabel", loadIdentity: "loadIdentity", loadMoreError: "loadMoreError", loadMoreLabel: "loadMoreLabel", loadMoreMode: "loadMoreMode", loadMoreThreshold: "loadMoreThreshold", loading: "loading", loadingMore: "loadingMore", loadingMoreLabel: "loadingMoreLabel", maxHeight: "maxHeight", pagination: "pagination", paginationModeLabel: "paginationModeLabel", resultSummaryLabel: "resultSummaryLabel", resultTotalSummaryLabel: "resultTotalSummaryLabel", retryLabel: "retryLabel", rows: "rows", rowsLoadedLabel: "rowsLoadedLabel", scrollLabel: "scrollLabel", selectedRowIds: "selectedRowIds", selectionMode: "selectionMode", skeletonRows: "skeletonRows", sort: "sort", stickyHeader: "stickyHeader", totalCount: "totalCount", viewportInsetBlockEnd: "viewportInsetBlockEnd", viewportInsetBlockStart: "viewportInsetBlockStart", virtualModeLabel: "virtualModeLabel" }, outputs: { dsSortChange: "dsSortChange", dsGroupCollapseChange: "dsGroupCollapseChange", dsSelectionChange: "dsSelectionChange", dsLoadMore: "dsLoadMore", dsGroupLoadMore: "dsGroupLoadMore", dsPaginationChange: "dsPaginationChange", dsCellAction: "dsCellAction", dsRowActivate: "dsRowActivate", dsColumnsConfigChange: "dsColumnsConfigChange", dsDataModeChange: "dsDataModeChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
30
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.0", type: DsTable, isStandalone: true, selector: "ds-table", inputs: { caption: "caption", captionVisibility: "captionVisibility", chromeLoading: "chromeLoading", collapsedGroupIds: "collapsedGroupIds", columnCustomizer: "columnCustomizer", columnOrder: "columnOrder", columns: "columns", dataMode: "dataMode", dataModeMenuLabel: "dataModeMenuLabel", dataModeSwitcher: "dataModeSwitcher", dataModeSwitcherLabel: "dataModeSwitcherLabel", displayedCount: "displayedCount", emptyBody: "emptyBody", emptyCellLabel: "emptyCellLabel", emptyHeading: "emptyHeading", endOfResultsLabel: "endOfResultsLabel", error: "error", errorBody: "errorBody", errorHeading: "errorHeading", fitViewport: "fitViewport", groupEndOfResultsLabel: "groupEndOfResultsLabel", groupLoadMoreAriaLabel: "groupLoadMoreAriaLabel", groupLoadMoreLabel: "groupLoadMoreLabel", groupLoadingMoreLabel: "groupLoadingMoreLabel", groupRetryLabel: "groupRetryLabel", groupRowsLoadedLabel: "groupRowsLoadedLabel", grouping: "grouping", groups: "groups", hasMore: "hasMore", height: "height", hiddenColumnIds: "hiddenColumnIds", infiniteModeLabel: "infiniteModeLabel", loadIdentity: "loadIdentity", loadMoreError: "loadMoreError", loadMoreLabel: "loadMoreLabel", loadMoreMode: "loadMoreMode", loadMoreThreshold: "loadMoreThreshold", loading: "loading", loadingMore: "loadingMore", loadingMoreLabel: "loadingMoreLabel", maxHeight: "maxHeight", pagination: "pagination", paginationModeLabel: "paginationModeLabel", resultSummaryLabel: "resultSummaryLabel", resultTotalSummaryLabel: "resultTotalSummaryLabel", retryLabel: "retryLabel", rows: "rows", rowsLoadedLabel: "rowsLoadedLabel", scrollLabel: "scrollLabel", selectedRowIds: "selectedRowIds", selectionMode: "selectionMode", skeletonRows: "skeletonRows", sort: "sort", stickyHeader: "stickyHeader", totalCount: "totalCount", viewportInsetBlockEnd: "viewportInsetBlockEnd", viewportInsetBlockStart: "viewportInsetBlockStart", virtualModeLabel: "virtualModeLabel" }, outputs: { dsSortChange: "dsSortChange", dsGroupCollapseChange: "dsGroupCollapseChange", dsSelectionChange: "dsSelectionChange", dsLoadMore: "dsLoadMore", dsGroupLoadMore: "dsGroupLoadMore", dsPaginationChange: "dsPaginationChange", dsCellAction: "dsCellAction", dsRowActivate: "dsRowActivate", dsColumnsConfigChange: "dsColumnsConfigChange", dsDataModeChange: "dsDataModeChange" }, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
31
31
  };
32
32
  DsTable = __decorate([
33
33
  ProxyCmp({
34
34
  defineCustomElementFn: defineDsTable,
35
- inputs: ['caption', 'captionVisibility', 'collapsedGroupIds', 'columnCustomizer', 'columnOrder', 'columns', 'dataMode', 'dataModeMenuLabel', 'dataModeSwitcher', 'dataModeSwitcherLabel', 'displayedCount', 'emptyBody', 'emptyCellLabel', 'emptyHeading', 'endOfResultsLabel', 'error', 'errorBody', 'errorHeading', 'fitViewport', 'groupEndOfResultsLabel', 'groupLoadMoreAriaLabel', 'groupLoadMoreLabel', 'groupLoadingMoreLabel', 'groupRetryLabel', 'groupRowsLoadedLabel', 'grouping', 'groups', 'hasMore', 'height', 'hiddenColumnIds', 'infiniteModeLabel', 'loadIdentity', 'loadMoreError', 'loadMoreLabel', 'loadMoreMode', 'loadMoreThreshold', 'loading', 'loadingMore', 'loadingMoreLabel', 'maxHeight', 'pagination', 'paginationModeLabel', 'resultSummaryLabel', 'resultTotalSummaryLabel', 'retryLabel', 'rows', 'rowsLoadedLabel', 'scrollLabel', 'selectedRowIds', 'selectionMode', 'skeletonRows', 'sort', 'stickyHeader', 'totalCount', 'viewportInsetBlockEnd', 'viewportInsetBlockStart', 'virtualModeLabel']
35
+ inputs: ['caption', 'captionVisibility', 'chromeLoading', 'collapsedGroupIds', 'columnCustomizer', 'columnOrder', 'columns', 'dataMode', 'dataModeMenuLabel', 'dataModeSwitcher', 'dataModeSwitcherLabel', 'displayedCount', 'emptyBody', 'emptyCellLabel', 'emptyHeading', 'endOfResultsLabel', 'error', 'errorBody', 'errorHeading', 'fitViewport', 'groupEndOfResultsLabel', 'groupLoadMoreAriaLabel', 'groupLoadMoreLabel', 'groupLoadingMoreLabel', 'groupRetryLabel', 'groupRowsLoadedLabel', 'grouping', 'groups', 'hasMore', 'height', 'hiddenColumnIds', 'infiniteModeLabel', 'loadIdentity', 'loadMoreError', 'loadMoreLabel', 'loadMoreMode', 'loadMoreThreshold', 'loading', 'loadingMore', 'loadingMoreLabel', 'maxHeight', 'pagination', 'paginationModeLabel', 'resultSummaryLabel', 'resultTotalSummaryLabel', 'retryLabel', 'rows', 'rowsLoadedLabel', 'scrollLabel', 'selectedRowIds', 'selectionMode', 'skeletonRows', 'sort', 'stickyHeader', 'totalCount', 'viewportInsetBlockEnd', 'viewportInsetBlockStart', 'virtualModeLabel']
36
36
  })
37
37
  ], DsTable);
38
38
  export { DsTable };
@@ -43,7 +43,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.0", ngImpor
43
43
  changeDetection: ChangeDetectionStrategy.OnPush,
44
44
  template: '<ng-content></ng-content>',
45
45
  // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
46
- inputs: [{ name: 'caption', required: true }, 'captionVisibility', 'collapsedGroupIds', 'columnCustomizer', 'columnOrder', 'columns', 'dataMode', 'dataModeMenuLabel', 'dataModeSwitcher', 'dataModeSwitcherLabel', 'displayedCount', 'emptyBody', 'emptyCellLabel', 'emptyHeading', 'endOfResultsLabel', 'error', 'errorBody', 'errorHeading', 'fitViewport', 'groupEndOfResultsLabel', 'groupLoadMoreAriaLabel', 'groupLoadMoreLabel', 'groupLoadingMoreLabel', 'groupRetryLabel', 'groupRowsLoadedLabel', 'grouping', 'groups', 'hasMore', 'height', 'hiddenColumnIds', 'infiniteModeLabel', 'loadIdentity', 'loadMoreError', 'loadMoreLabel', 'loadMoreMode', 'loadMoreThreshold', 'loading', 'loadingMore', 'loadingMoreLabel', 'maxHeight', 'pagination', 'paginationModeLabel', 'resultSummaryLabel', 'resultTotalSummaryLabel', 'retryLabel', 'rows', 'rowsLoadedLabel', 'scrollLabel', 'selectedRowIds', 'selectionMode', 'skeletonRows', 'sort', 'stickyHeader', 'totalCount', 'viewportInsetBlockEnd', 'viewportInsetBlockStart', 'virtualModeLabel'],
46
+ inputs: [{ name: 'caption', required: true }, 'captionVisibility', 'chromeLoading', 'collapsedGroupIds', 'columnCustomizer', 'columnOrder', 'columns', 'dataMode', 'dataModeMenuLabel', 'dataModeSwitcher', 'dataModeSwitcherLabel', 'displayedCount', 'emptyBody', 'emptyCellLabel', 'emptyHeading', 'endOfResultsLabel', 'error', 'errorBody', 'errorHeading', 'fitViewport', 'groupEndOfResultsLabel', 'groupLoadMoreAriaLabel', 'groupLoadMoreLabel', 'groupLoadingMoreLabel', 'groupRetryLabel', 'groupRowsLoadedLabel', 'grouping', 'groups', 'hasMore', 'height', 'hiddenColumnIds', 'infiniteModeLabel', 'loadIdentity', 'loadMoreError', 'loadMoreLabel', 'loadMoreMode', 'loadMoreThreshold', 'loading', 'loadingMore', 'loadingMoreLabel', 'maxHeight', 'pagination', 'paginationModeLabel', 'resultSummaryLabel', 'resultTotalSummaryLabel', 'retryLabel', 'rows', 'rowsLoadedLabel', 'scrollLabel', 'selectedRowIds', 'selectionMode', 'skeletonRows', 'sort', 'stickyHeader', 'totalCount', 'viewportInsetBlockEnd', 'viewportInsetBlockStart', 'virtualModeLabel'],
47
47
  outputs: ['dsSortChange', 'dsGroupCollapseChange', 'dsSelectionChange', 'dsLoadMore', 'dsGroupLoadMore', 'dsPaginationChange', 'dsCellAction', 'dsRowActivate', 'dsColumnsConfigChange', 'dsDataModeChange'],
48
48
  }]
49
49
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], propDecorators: { dsSortChange: [{
@@ -1,2 +1,2 @@
1
1
  import * as d from './proxies';
2
- export declare const DIRECTIVES: (typeof d.DsAgentActivity | typeof d.DsAgentQuestionnaire | typeof d.DsAgentResponse | typeof d.DsAgentSourceList | typeof d.DsAgentToolCall | typeof d.DsAttachmentList | typeof d.DsAvatar | typeof d.DsBadge | typeof d.DsBanner | typeof d.DsBarAction | typeof d.DsBarNav | typeof d.DsBarTitle | typeof d.DsBarWorkflow | typeof d.DsBreadcrumb | typeof d.DsButtonFilled | typeof d.DsButtonUnfilled | typeof d.DsCardChart | typeof d.DsCardOverview | typeof d.DsCardSetting | typeof d.DsChartLegend | typeof d.DsChart | typeof d.DsCheckbox | typeof d.DsChip | typeof d.DsCodeBlock | typeof d.DsConversationListItem | typeof d.DsConversationListSection | typeof d.DsConversationList | typeof d.DsDivider | typeof d.DsEmptyState | typeof d.DsField | typeof d.DsFilterMenu | typeof d.DsIcon | typeof d.DsInput | typeof d.DsLoader | typeof d.DsMarkdown | typeof d.DsMenu | typeof d.DsMessageActions | typeof d.DsMessageBubble | typeof d.DsMessageComposer | typeof d.DsMessageScroller | typeof d.DsMessage | typeof d.DsMobileBarNav | typeof d.DsMobileHeader | typeof d.DsMobileSectionSwitcher | typeof d.DsMobileSheetNav | typeof d.DsModal | typeof d.DsPagination | typeof d.DsPanelNav | typeof d.DsPanelSubNav | typeof d.DsPanelToolHeader | typeof d.DsPanelToolSearch | typeof d.DsPanelTools | typeof d.DsRadio | typeof d.DsScrollOverlay | typeof d.DsSelect | typeof d.DsShellApp | typeof d.DsShellPage | typeof d.DsShellTools | typeof d.DsSkeleton | typeof d.DsSlider | typeof d.DsSwatchPicker | typeof d.DsSwitch | typeof d.DsTabGroup | typeof d.DsTableSavedViews | typeof d.DsTableToolbar | typeof d.DsTable | typeof d.DsTag | typeof d.DsText | typeof d.DsToast | typeof d.DsTooltipChart | typeof d.DsTooltip | typeof d.DsTypingIndicator)[];
2
+ export declare const DIRECTIVES: (typeof d.DsAgentActivity | typeof d.DsAgentQuestionnaire | typeof d.DsAgentResponse | typeof d.DsAgentSourceList | typeof d.DsAgentToolCall | typeof d.DsAttachmentList | typeof d.DsAvatar | typeof d.DsBadge | typeof d.DsBanner | typeof d.DsBarAction | typeof d.DsBarNav | typeof d.DsBarTitle | typeof d.DsBarWorkflow | typeof d.DsBreadcrumb | typeof d.DsButtonFilled | typeof d.DsButtonUnfilled | typeof d.DsCardChart | typeof d.DsCardOverview | typeof d.DsCardSetting | typeof d.DsChartLegend | typeof d.DsChart | typeof d.DsCheckbox | typeof d.DsChip | typeof d.DsCodeBlock | typeof d.DsConversationListItem | typeof d.DsConversationListSection | typeof d.DsConversationList | typeof d.DsDivider | typeof d.DsEmptyState | typeof d.DsField | typeof d.DsFilterMenu | typeof d.DsIcon | typeof d.DsInput | typeof d.DsLoader | typeof d.DsMarkdown | typeof d.DsMenu | typeof d.DsMessageActions | typeof d.DsMessageBubble | typeof d.DsMessageComposer | typeof d.DsMessageScroller | typeof d.DsMessage | typeof d.DsMobileBarNav | typeof d.DsMobileHeader | typeof d.DsMobileSectionSwitcher | typeof d.DsMobileSheetNav | typeof d.DsModal | typeof d.DsPagination | typeof d.DsPanelNav | typeof d.DsPanelSubNav | typeof d.DsPanelToolHeader | typeof d.DsPanelToolSearch | typeof d.DsPanelTools | typeof d.DsPaperTexture | typeof d.DsRadio | typeof d.DsScrollOverlay | typeof d.DsSelect | typeof d.DsShellApp | typeof d.DsShellPage | typeof d.DsShellTools | typeof d.DsSkeleton | typeof d.DsSlider | typeof d.DsSwatchPicker | typeof d.DsSwitch | typeof d.DsTabGroup | typeof d.DsTableSavedViews | typeof d.DsTableToolbar | typeof d.DsTable | typeof d.DsTag | typeof d.DsText | typeof d.DsToast | typeof d.DsTooltipChart | typeof d.DsTooltip | typeof d.DsTypingIndicator)[];
@@ -52,6 +52,7 @@ export const DIRECTIVES = [
52
52
  d.DsPanelToolHeader,
53
53
  d.DsPanelToolSearch,
54
54
  d.DsPanelTools,
55
+ d.DsPaperTexture,
55
56
  d.DsRadio,
56
57
  d.DsScrollOverlay,
57
58
  d.DsSelect,
@@ -54,6 +54,7 @@ export { DsPanelSubNav } from './ds-panel-sub-nav';
54
54
  export { DsPanelToolHeader } from './ds-panel-tool-header';
55
55
  export { DsPanelToolSearch } from './ds-panel-tool-search';
56
56
  export { DsPanelTools } from './ds-panel-tools';
57
+ export { DsPaperTexture } from './ds-paper-texture';
57
58
  export { DsRadio } from './ds-radio';
58
59
  export { DsScrollOverlay } from './ds-scroll-overlay';
59
60
  export { DsSelect } from './ds-select';
@@ -55,6 +55,7 @@ export { DsPanelSubNav } from './ds-panel-sub-nav.js';
55
55
  export { DsPanelToolHeader } from './ds-panel-tool-header.js';
56
56
  export { DsPanelToolSearch } from './ds-panel-tool-search.js';
57
57
  export { DsPanelTools } from './ds-panel-tools.js';
58
+ export { DsPaperTexture } from './ds-paper-texture.js';
58
59
  export { DsRadio } from './ds-radio.js';
59
60
  export { DsScrollOverlay } from './ds-scroll-overlay.js';
60
61
  export { DsSelect } from './ds-select.js';
@@ -1,2 +1,2 @@
1
- import{A as o,d as s}from"./p-D5bPuNiF.js";const t=o;const p=s;export{t as DsAgentQuestionnaire,p as defineCustomElement};
1
+ import{A as o,d as s}from"./p-M9DPfXbP.js";const t=o;const p=s;export{t as DsAgentQuestionnaire,p as defineCustomElement};
2
2
  //# sourceMappingURL=ds-agent-questionnaire.js.map
@@ -1,2 +1,2 @@
1
- import{p as s,H as e,h as t,a,t as o}from"./index.js";import{d as i}from"./p-Bf_D3crn.js";import{d as r}from"./p-D5bPuNiF.js";import{d as n}from"./p-B7Hf86NF.js";import{d}from"./p-DcPVSNDr.js";import{d as m}from"./p-BagXfn1G.js";import{d as c}from"./p-D8nnhQNJ.js";import{d as l}from"./p-DvJkkdIO.js";import{d as f}from"./p-c_5SXjwx.js";import{d as u}from"./p-C5TrNd31.js";import{d as p}from"./p-bQm3gfr1.js";import{d as b}from"./p-BFfLvMZd.js";import{d as k}from"./p-Ca-I2UnB.js";import{d as h}from"./p-CoQSB3tl.js";import{d as g}from"./p-D-kWb8cF.js";import{d as y}from"./p-BHjw0x3L.js";import{d as j}from"./p-DZFilC--.js";import{d as w}from"./p-BXPQmp7q.js";const E=()=>`.sc-ds-agent-response-h{display:block;width:100%;--ds-prose-text-max-inline-size:var(--dimension-panel-width-lg);-webkit-user-select:none;user-select:none}.agent-response.sc-ds-agent-response{display:grid;gap:var(--dimension-space-150);min-width:0;width:100%;-webkit-user-select:none;user-select:none}`;const x=s(class s extends e{constructor(s){super();if(s!==false){this.__registerHost()}this.messageId="";this.author="";this.showAuthor=true;this.timestamp="";this.parts=[];this.renderMode="parts";this.streaming=false;this.metadataVisibility="always"}renderPart(s){switch(s.type){case"markdown":return t("ds-markdown",{key:s.id,content:s.content,streaming:s.state==="streaming"});case"activity":return t("ds-agent-activity",{key:s.id,items:s.items});case"tool":return t("ds-agent-tool-call",{key:s.id,name:s.name,label:s.label,state:s.state,input:s.input,output:s.output,error:s.error});case"attachments":return t("ds-attachment-list",{key:s.id,items:s.items});case"sources":return t("ds-agent-source-list",{key:s.id,items:s.items});case"questionnaire":return t("ds-agent-questionnaire",{key:s.id,requestId:s.requestId,questions:s.questions,answers:s.answers,status:"answered"})}}render(){return t(a,{key:"3910c71178b3df0fc55f917d371795db90e38e28"},t("ds-message",{key:"594b225f54e388a0c0737b71dcbe7fe03421b1ea",messageId:this.messageId,direction:"incoming",author:this.author,showAuthor:this.showAuthor,timestamp:this.timestamp,streaming:this.streaming,metadataVisibility:this.metadataVisibility},t("div",{key:"130816b779724fef022128394913811914f5d9cb",class:"agent-response"},this.renderMode==="composed"?t("slot",null):this.parts.map((s=>this.renderPart(s)))),t("slot",{key:"6d7ea10b338f26c110073bc25d3bed60cdf5e613",name:"footer",slot:"footer"}),t("slot",{key:"a4a00860d4af7cf14992513d7eaa20511c031bc7",name:"metadata-actions",slot:"metadata-actions"}),t("slot",{key:"848abb429ad1075900717a4cb2cb8e217a111b0c",name:"actions",slot:"actions"})))}static get style(){return E()}},[262,"ds-agent-response",{messageId:[1,"message-id"],author:[1],showAuthor:[4,"show-author"],timestamp:[1],parts:[16],renderMode:[1,"render-mode"],streaming:[4],metadataVisibility:[1,"metadata-visibility"]}]);function v(){if(typeof customElements==="undefined"){return}const s=["ds-agent-response","ds-agent-activity","ds-agent-questionnaire","ds-agent-source-list","ds-agent-tool-call","ds-attachment-list","ds-badge","ds-button-filled","ds-button-unfilled","ds-checkbox","ds-code-block","ds-icon","ds-loader","ds-markdown","ds-message","ds-radio","ds-text","ds-tooltip"];s.forEach((s=>{switch(s){case"ds-agent-response":if(!customElements.get(o(s))){customElements.define(o(s),x)}break;case"ds-agent-activity":if(!customElements.get(o(s))){i()}break;case"ds-agent-questionnaire":if(!customElements.get(o(s))){r()}break;case"ds-agent-source-list":if(!customElements.get(o(s))){n()}break;case"ds-agent-tool-call":if(!customElements.get(o(s))){d()}break;case"ds-attachment-list":if(!customElements.get(o(s))){m()}break;case"ds-badge":if(!customElements.get(o(s))){c()}break;case"ds-button-filled":if(!customElements.get(o(s))){l()}break;case"ds-button-unfilled":if(!customElements.get(o(s))){f()}break;case"ds-checkbox":if(!customElements.get(o(s))){u()}break;case"ds-code-block":if(!customElements.get(o(s))){p()}break;case"ds-icon":if(!customElements.get(o(s))){b()}break;case"ds-loader":if(!customElements.get(o(s))){k()}break;case"ds-markdown":if(!customElements.get(o(s))){h()}break;case"ds-message":if(!customElements.get(o(s))){g()}break;case"ds-radio":if(!customElements.get(o(s))){y()}break;case"ds-text":if(!customElements.get(o(s))){j()}break;case"ds-tooltip":if(!customElements.get(o(s))){w()}break}}))}v();const B=x;const D=v;export{B as DsAgentResponse,D as defineCustomElement};
1
+ import{p as s,H as e,h as t,a,t as o}from"./index.js";import{d as i}from"./p-Bf_D3crn.js";import{d as r}from"./p-M9DPfXbP.js";import{d as n}from"./p-B7Hf86NF.js";import{d}from"./p-DcPVSNDr.js";import{d as m}from"./p-BagXfn1G.js";import{d as c}from"./p-vWK5faWZ.js";import{d as l}from"./p-BxqBiVbH.js";import{d as f}from"./p-C7rzVotG.js";import{d as u}from"./p-C5TrNd31.js";import{d as p}from"./p-CKJzHclc.js";import{d as b}from"./p-BFfLvMZd.js";import{d as k}from"./p-Ca-I2UnB.js";import{d as h}from"./p-Ct-m0I6U.js";import{d as g}from"./p-D-kWb8cF.js";import{d as y}from"./p-BHjw0x3L.js";import{d as E}from"./p-DZFilC--.js";import{d as j}from"./p-BXPQmp7q.js";const w=()=>`.sc-ds-agent-response-h{display:block;width:100%;--ds-prose-text-max-inline-size:var(--dimension-panel-width-lg);-webkit-user-select:none;user-select:none}.agent-response.sc-ds-agent-response{display:grid;gap:var(--dimension-space-150);min-width:0;width:100%;-webkit-user-select:none;user-select:none}`;const x=s(class s extends e{constructor(s){super();if(s!==false){this.__registerHost()}this.messageId="";this.author="";this.showAuthor=true;this.timestamp="";this.parts=[];this.renderMode="parts";this.streaming=false;this.metadataVisibility="always"}renderPart(s){switch(s.type){case"markdown":return t("ds-markdown",{key:s.id,content:s.content,streaming:s.state==="streaming"});case"activity":return t("ds-agent-activity",{key:s.id,items:s.items});case"tool":return t("ds-agent-tool-call",{key:s.id,name:s.name,label:s.label,state:s.state,input:s.input,output:s.output,error:s.error});case"attachments":return t("ds-attachment-list",{key:s.id,items:s.items});case"sources":return t("ds-agent-source-list",{key:s.id,items:s.items});case"questionnaire":return t("ds-agent-questionnaire",{key:s.id,requestId:s.requestId,questions:s.questions,answers:s.answers,status:"answered"})}}render(){return t(a,{key:"3910c71178b3df0fc55f917d371795db90e38e28"},t("ds-message",{key:"594b225f54e388a0c0737b71dcbe7fe03421b1ea",messageId:this.messageId,direction:"incoming",author:this.author,showAuthor:this.showAuthor,timestamp:this.timestamp,streaming:this.streaming,metadataVisibility:this.metadataVisibility},t("div",{key:"130816b779724fef022128394913811914f5d9cb",class:"agent-response"},this.renderMode==="composed"?t("slot",null):this.parts.map((s=>this.renderPart(s)))),t("slot",{key:"6d7ea10b338f26c110073bc25d3bed60cdf5e613",name:"footer",slot:"footer"}),t("slot",{key:"a4a00860d4af7cf14992513d7eaa20511c031bc7",name:"metadata-actions",slot:"metadata-actions"}),t("slot",{key:"848abb429ad1075900717a4cb2cb8e217a111b0c",name:"actions",slot:"actions"})))}static get style(){return w()}},[262,"ds-agent-response",{messageId:[1,"message-id"],author:[1],showAuthor:[4,"show-author"],timestamp:[1],parts:[16],renderMode:[1,"render-mode"],streaming:[4],metadataVisibility:[1,"metadata-visibility"]}]);function v(){if(typeof customElements==="undefined"){return}const s=["ds-agent-response","ds-agent-activity","ds-agent-questionnaire","ds-agent-source-list","ds-agent-tool-call","ds-attachment-list","ds-badge","ds-button-filled","ds-button-unfilled","ds-checkbox","ds-code-block","ds-icon","ds-loader","ds-markdown","ds-message","ds-radio","ds-text","ds-tooltip"];s.forEach((s=>{switch(s){case"ds-agent-response":if(!customElements.get(o(s))){customElements.define(o(s),x)}break;case"ds-agent-activity":if(!customElements.get(o(s))){i()}break;case"ds-agent-questionnaire":if(!customElements.get(o(s))){r()}break;case"ds-agent-source-list":if(!customElements.get(o(s))){n()}break;case"ds-agent-tool-call":if(!customElements.get(o(s))){d()}break;case"ds-attachment-list":if(!customElements.get(o(s))){m()}break;case"ds-badge":if(!customElements.get(o(s))){c()}break;case"ds-button-filled":if(!customElements.get(o(s))){l()}break;case"ds-button-unfilled":if(!customElements.get(o(s))){f()}break;case"ds-checkbox":if(!customElements.get(o(s))){u()}break;case"ds-code-block":if(!customElements.get(o(s))){p()}break;case"ds-icon":if(!customElements.get(o(s))){b()}break;case"ds-loader":if(!customElements.get(o(s))){k()}break;case"ds-markdown":if(!customElements.get(o(s))){h()}break;case"ds-message":if(!customElements.get(o(s))){g()}break;case"ds-radio":if(!customElements.get(o(s))){y()}break;case"ds-text":if(!customElements.get(o(s))){E()}break;case"ds-tooltip":if(!customElements.get(o(s))){j()}break}}))}v();const B=x;const q=v;export{B as DsAgentResponse,q as defineCustomElement};
2
2
  //# sourceMappingURL=ds-agent-response.js.map
@@ -1,2 +1,2 @@
1
- import{B as o,d as s}from"./p-D8nnhQNJ.js";const n=o;const t=s;export{n as DsBadge,t as defineCustomElement};
1
+ import{B as o,d as s}from"./p-vWK5faWZ.js";const t=o;const a=s;export{t as DsBadge,a as defineCustomElement};
2
2
  //# sourceMappingURL=ds-badge.js.map