@ds-mo/ui 15.10.2 → 15.11.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 (151) hide show
  1. package/dist/.package-ready.json +1 -1
  2. package/dist/agent-patterns.json +1 -1
  3. package/dist/agent.json +12 -11
  4. package/dist/angular/ds-shell-app.d.ts +3 -8
  5. package/dist/angular/ds-shell-tools.d.ts +3 -8
  6. package/dist/components/ds-agent-questionnaire.js +1 -1
  7. package/dist/components/ds-agent-response.js +1 -1
  8. package/dist/components/ds-banner.js +1 -1
  9. package/dist/components/ds-bar-nav.js +1 -1
  10. package/dist/components/ds-bar-page-title.js +1 -1
  11. package/dist/components/ds-bar-title.js +1 -1
  12. package/dist/components/ds-bar-workflow.js +1 -1
  13. package/dist/components/ds-button-unfilled.js +1 -1
  14. package/dist/components/ds-calendar.js +1 -1
  15. package/dist/components/ds-card-chart.js +1 -1
  16. package/dist/components/ds-card-overview.js +1 -1
  17. package/dist/components/ds-card-overview.js.map +1 -1
  18. package/dist/components/ds-card-setting.js +1 -1
  19. package/dist/components/ds-chart.js +1 -1
  20. package/dist/components/ds-chart.js.map +1 -1
  21. package/dist/components/ds-code-block.js +1 -1
  22. package/dist/components/ds-data-customize.js +1 -1
  23. package/dist/components/ds-data-filter.js +1 -1
  24. package/dist/components/ds-data-group.js +1 -1
  25. package/dist/components/ds-data-preferences.js +1 -1
  26. package/dist/components/ds-data-saved-views.js +1 -1
  27. package/dist/components/ds-data-search.js +1 -1
  28. package/dist/components/ds-data-sort.js +1 -1
  29. package/dist/components/ds-filter-menu.js +1 -1
  30. package/dist/components/ds-input-date.js +1 -1
  31. package/dist/components/ds-input-time.js +1 -1
  32. package/dist/components/ds-input.js +1 -1
  33. package/dist/components/ds-markdown.js +1 -1
  34. package/dist/components/ds-menu.js +1 -1
  35. package/dist/components/ds-message-actions.js +1 -1
  36. package/dist/components/ds-message-composer.js +1 -1
  37. package/dist/components/ds-message-scroller.js +1 -1
  38. package/dist/components/ds-mobile-bar-nav.js +1 -1
  39. package/dist/components/ds-mobile-header.js +1 -1
  40. package/dist/components/ds-mobile-section-switcher.js +1 -1
  41. package/dist/components/ds-mobile-sheet-nav.js +1 -1
  42. package/dist/components/ds-modal.js +1 -1
  43. package/dist/components/ds-pagination.js +1 -1
  44. package/dist/components/ds-panel-nav.js +1 -1
  45. package/dist/components/ds-panel-tool-header.js +1 -1
  46. package/dist/components/ds-panel-tool-search.js +1 -1
  47. package/dist/components/ds-panel-tools.js +1 -1
  48. package/dist/components/ds-scroll-overlay.js +1 -1
  49. package/dist/components/ds-select.js +1 -1
  50. package/dist/components/ds-shell-app.js +1 -1
  51. package/dist/components/ds-shell-app.js.map +1 -1
  52. package/dist/components/ds-shell-page.js +1 -1
  53. package/dist/components/ds-shell-tools.js +1 -1
  54. package/dist/components/ds-table.js +1 -1
  55. package/dist/components/ds-table.js.map +1 -1
  56. package/dist/components/ds-toast.js +1 -1
  57. package/dist/components/ds-toast.js.map +1 -1
  58. package/dist/components/ds-tooltip.js +1 -1
  59. package/dist/components/{p-PNY7auMh.js → p-B5rN3slq.js} +2 -2
  60. package/dist/components/{p-kQ6wvk-r.js → p-B9Q7fXxW.js} +2 -2
  61. package/dist/components/p-BNnw_O4e.js +2 -0
  62. package/dist/components/p-BNnw_O4e.js.map +1 -0
  63. package/dist/components/{p-BgpzSEWv.js → p-BT6xQogY.js} +2 -2
  64. package/dist/components/{p-YmJYwnhW.js → p-Ba-dSshd.js} +2 -2
  65. package/dist/components/{p-YmJYwnhW.js.map → p-Ba-dSshd.js.map} +1 -1
  66. package/dist/components/{p-DGIVqwT9.js → p-BkajUPiA.js} +2 -2
  67. package/dist/components/{p-lJeAJKa5.js → p-BqIRExej.js} +2 -2
  68. package/dist/components/{p-BtSEQ-FW.js → p-C8D853vs.js} +2 -2
  69. package/dist/components/{p-CHYYRdRJ.js → p-CEB8RFih.js} +2 -2
  70. package/dist/components/{p-DuCCuJKI.js → p-CGKjjJZm.js} +2 -2
  71. package/dist/components/{p-2ZV8JA88.js → p-CMrHRjjH.js} +2 -2
  72. package/dist/components/{p-DwuqJhR5.js → p-CPNA8raE.js} +2 -2
  73. package/dist/components/{p-ioGH5SoA.js → p-CVYjLzYI.js} +2 -2
  74. package/dist/components/p-CVYjLzYI.js.map +1 -0
  75. package/dist/components/p-CW-7vLUB.js +2 -0
  76. package/dist/components/p-CW-7vLUB.js.map +1 -0
  77. package/dist/components/{p-BrB05_X8.js → p-CaNMVLhm.js} +2 -2
  78. package/dist/components/{p-hmvu1lmP.js → p-Cxk1A7Sx.js} +2 -2
  79. package/dist/components/p-Cxk1A7Sx.js.map +1 -0
  80. package/dist/components/{p-BjLGayCj.js → p-D-cZ6cRI.js} +2 -2
  81. package/dist/components/{p-DQeUT9o2.js → p-D4r6oWyQ.js} +2 -2
  82. package/dist/components/{p-DoRgzvup.js → p-DGDF4NMV.js} +2 -2
  83. package/dist/components/{p-DSpKpoSG.js → p-DKG26pp5.js} +2 -2
  84. package/dist/components/p-DfphSI9S.js +2 -0
  85. package/dist/components/p-DfphSI9S.js.map +1 -0
  86. package/dist/components/p-DfwvHxYi.js +2 -0
  87. package/dist/components/p-DfwvHxYi.js.map +1 -0
  88. package/dist/components/{p-BQE2Uj4p.js → p-DfzXyVoM.js} +2 -2
  89. package/dist/components/{p-BQE2Uj4p.js.map → p-DfzXyVoM.js.map} +1 -1
  90. package/dist/components/{p-z_8aZHHo.js → p-DixX2_Bd.js} +2 -2
  91. package/dist/components/{p-CipTqNIr.js → p-Djkk338n.js} +2 -2
  92. package/dist/components/{p-Dx7wJaLv.js → p-DvMCOJwc.js} +2 -2
  93. package/dist/components/{p-ChsBscqZ.js → p-DwFnt0W0.js} +2 -2
  94. package/dist/components/{p-C0xrqZxm.js → p-OFJpWJcN.js} +2 -2
  95. package/dist/components/{p-Bx_72ylJ.js → p-S5QCVAdH.js} +2 -2
  96. package/dist/docs/components.json +13 -13
  97. package/dist/lib/utils/index.js +3 -1
  98. package/dist/lib/utils/index.js.map +2 -2
  99. package/dist/lib/utils/resolve-css-length-px.d.ts +1 -1
  100. package/dist/mcp-data/registry/card-overview.json +1 -1
  101. package/dist/mcp-data/registry/chart.json +3 -3
  102. package/dist/mcp-data/registry/mobile-bar-nav.json +3 -3
  103. package/dist/mcp-data/registry/mobile-header.json +3 -3
  104. package/dist/mcp-data/registry/mobile-section-switcher.json +3 -2
  105. package/dist/mcp-data/registry/mobile-sheet-nav.json +6 -6
  106. package/dist/mcp-data/registry/modal.json +1 -1
  107. package/dist/mcp-data/registry/panel-tools.json +1 -1
  108. package/dist/mcp-data/registry/registry.json +11 -10
  109. package/dist/mcp-data/registry/shell-app.json +3 -3
  110. package/dist/mcp-data/registry/shell-tools.json +4 -4
  111. package/dist/mcp-data/registry/table.json +2 -2
  112. package/dist/mcp-data/registry/toast.json +1 -1
  113. package/dist/react/ds-shell-app.d.ts +2 -5
  114. package/dist/react/ds-shell-tools.d.ts +2 -5
  115. package/dist/styles/responsive.css +293 -0
  116. package/dist/types/components/ShellApp/ShellApp.d.ts +2 -5
  117. package/dist/types/components/ShellTools/ShellTools.d.ts +2 -5
  118. package/dist/types/components.d.ts +4 -10
  119. package/dist/types/utils/resolve-css-length-px.d.ts +1 -1
  120. package/package.json +2 -1
  121. package/dist/components/p-BfdYb8L4.js +0 -2
  122. package/dist/components/p-BfdYb8L4.js.map +0 -1
  123. package/dist/components/p-BuwYiPCW.js +0 -2
  124. package/dist/components/p-BuwYiPCW.js.map +0 -1
  125. package/dist/components/p-cktJHlYv.js +0 -2
  126. package/dist/components/p-cktJHlYv.js.map +0 -1
  127. package/dist/components/p-hmvu1lmP.js.map +0 -1
  128. package/dist/components/p-iEhBF5Oi.js +0 -2
  129. package/dist/components/p-iEhBF5Oi.js.map +0 -1
  130. package/dist/components/p-ioGH5SoA.js.map +0 -1
  131. /package/dist/components/{p-PNY7auMh.js.map → p-B5rN3slq.js.map} +0 -0
  132. /package/dist/components/{p-kQ6wvk-r.js.map → p-B9Q7fXxW.js.map} +0 -0
  133. /package/dist/components/{p-BgpzSEWv.js.map → p-BT6xQogY.js.map} +0 -0
  134. /package/dist/components/{p-DGIVqwT9.js.map → p-BkajUPiA.js.map} +0 -0
  135. /package/dist/components/{p-lJeAJKa5.js.map → p-BqIRExej.js.map} +0 -0
  136. /package/dist/components/{p-BtSEQ-FW.js.map → p-C8D853vs.js.map} +0 -0
  137. /package/dist/components/{p-CHYYRdRJ.js.map → p-CEB8RFih.js.map} +0 -0
  138. /package/dist/components/{p-DuCCuJKI.js.map → p-CGKjjJZm.js.map} +0 -0
  139. /package/dist/components/{p-2ZV8JA88.js.map → p-CMrHRjjH.js.map} +0 -0
  140. /package/dist/components/{p-DwuqJhR5.js.map → p-CPNA8raE.js.map} +0 -0
  141. /package/dist/components/{p-BrB05_X8.js.map → p-CaNMVLhm.js.map} +0 -0
  142. /package/dist/components/{p-BjLGayCj.js.map → p-D-cZ6cRI.js.map} +0 -0
  143. /package/dist/components/{p-DQeUT9o2.js.map → p-D4r6oWyQ.js.map} +0 -0
  144. /package/dist/components/{p-DoRgzvup.js.map → p-DGDF4NMV.js.map} +0 -0
  145. /package/dist/components/{p-DSpKpoSG.js.map → p-DKG26pp5.js.map} +0 -0
  146. /package/dist/components/{p-z_8aZHHo.js.map → p-DixX2_Bd.js.map} +0 -0
  147. /package/dist/components/{p-CipTqNIr.js.map → p-Djkk338n.js.map} +0 -0
  148. /package/dist/components/{p-Dx7wJaLv.js.map → p-DvMCOJwc.js.map} +0 -0
  149. /package/dist/components/{p-ChsBscqZ.js.map → p-DwFnt0W0.js.map} +0 -0
  150. /package/dist/components/{p-C0xrqZxm.js.map → p-OFJpWJcN.js.map} +0 -0
  151. /package/dist/components/{p-Bx_72ylJ.js.map → p-S5QCVAdH.js.map} +0 -0
@@ -353,7 +353,7 @@
353
353
  "files": [
354
354
  {
355
355
  "path": "src/wc/components/Toast/Toast.css",
356
- "content": "@import '../../utils/visually-hidden.css';\n@import '../../utils/forced-colors.css';\n@import '../../utils/radius.css';\n\n:host {\n display: contents;\n}\n\n.toast-region {\n position: fixed;\n inset: 0;\n z-index: var(--dimension-z-index-floating);\n pointer-events: none;\n outline: none;\n}\n\n.toast-viewport {\n position: absolute;\n right: var(--dimension-space-200);\n bottom: var(--dimension-space-200);\n display: grid;\n width: min(var(--dimension-card-width-sm), calc(100vw - 2 * var(--dimension-space-200)));\n}\n\n@media (max-width: 767px) {\n :host([avoid-mobile-shell-bar]) .toast-viewport {\n bottom: calc(\n var(--dimension-space-200) + var(--dimension-stroke-width-012) + var(--dimension-space-100) +\n var(--dimension-size-500) + max(var(--dimension-space-100), env(safe-area-inset-bottom))\n );\n }\n}\n\n.toast-positioner {\n grid-area: 1 / 1;\n align-self: end;\n justify-self: center;\n width: 100%;\n pointer-events: auto;\n transform: translateY(calc(-1 * var(--toast-index) * var(--dimension-space-100)));\n transition:\n transform var(--effect-motion-short-3),\n width var(--effect-motion-short-3);\n}\n\n.toast-viewport:not([data-expanded]) .toast-positioner {\n width: calc(100% - 2 * var(--toast-index) * var(--dimension-space-100));\n}\n\n.toast-viewport[data-expanded] .toast-positioner {\n transform: translateY(calc(-1 * var(--toast-offset-y)));\n}\n\n.toast-positioner[data-limited] {\n visibility: hidden;\n pointer-events: none;\n}\n\n.toast-positioner--anchored {\n position: fixed;\n width: min(var(--dimension-card-width-sm), calc(100vw - 2 * var(--dimension-space-200)));\n transform: none;\n}\n\n.toast-positioner--anchored[data-positioned='false'] {\n visibility: hidden;\n}\n\n.toast-surface {\n position: relative;\n display: block;\n box-sizing: border-box;\n width: 100%;\n height: var(--toast-height, auto);\n padding: var(--dimension-space-200);\n overflow: hidden;\n color: var(--color-foreground-primary);\n background-color: var(--color-background-primary);\n border-radius: var(--ds-radius-modal);\n box-shadow: var(--effect-elevation-elevated-floating);\n transform: translate(var(--toast-swipe-movement-x), var(--toast-swipe-movement-y));\n animation: toast-enter var(--effect-motion-short-2) both;\n}\n\n.toast-positioner--ending .toast-surface {\n animation: toast-exit var(--effect-motion-short-3) both;\n}\n\n.toast-surface--swiping {\n transition: none;\n user-select: none;\n}\n\n.toast-content {\n display: flex;\n flex-direction: column;\n min-width: 0;\n padding-inline-end: var(--dimension-size-500);\n transition: opacity var(--effect-motion-short-3);\n}\n\n.toast-copy {\n display: flex;\n flex-direction: column;\n min-width: 0;\n min-height: var(--typography-lineheight-md);\n margin-block: calc(-1 * var(--dimension-space-025));\n gap: var(--dimension-space-050);\n}\n\n.toast-title,\n.toast-description {\n min-width: 0;\n}\n\n.toast-action {\n align-self: start;\n margin-top: calc(var(--dimension-space-200) + var(--dimension-space-025));\n}\n\n.toast-close {\n position: absolute;\n top: var(--dimension-space-100);\n right: var(--dimension-space-100);\n transition: opacity var(--effect-motion-short-3);\n}\n\n.toast-viewport:not([data-expanded]) .toast-positioner[data-behind] .toast-content,\n.toast-viewport:not([data-expanded]) .toast-positioner[data-behind] .toast-close {\n opacity: 0;\n}\n\n@keyframes toast-enter {\n from {\n opacity: 0;\n transform: translateY(var(--dimension-space-100));\n }\n\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes toast-exit {\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .toast-positioner,\n .toast-surface,\n .toast-content,\n .toast-close,\n .toast-positioner--ending .toast-surface {\n transition: none;\n animation: none;\n }\n\n .toast-positioner--ending .toast-surface {\n opacity: 0;\n }\n}\n\n@media (forced-colors: active) {\n .toast-surface {\n box-shadow: none;\n outline: var(--dimension-stroke-width-012) solid var(--ds-forced-color-content);\n outline-offset: calc(-1 * var(--dimension-stroke-width-012));\n }\n}\n",
356
+ "content": "@import '../../utils/visually-hidden.css';\n@import '../../utils/forced-colors.css';\n@import '../../utils/radius.css';\n\n:host {\n display: contents;\n}\n\n.toast-region {\n position: fixed;\n inset: 0;\n z-index: var(--dimension-z-index-floating);\n pointer-events: none;\n outline: none;\n}\n\n.toast-viewport {\n position: absolute;\n right: var(--dimension-space-200);\n bottom: var(--dimension-space-200);\n display: grid;\n width: min(var(--dimension-card-width-sm), calc(100vw - 2 * var(--dimension-space-200)));\n}\n\n@media (width < 768px) {\n :host([avoid-mobile-shell-bar]) .toast-viewport {\n bottom: calc(\n var(--dimension-space-200) + var(--dimension-space-100) + var(--dimension-size-400) +\n max(var(--dimension-space-100), env(safe-area-inset-bottom))\n );\n }\n}\n\n.toast-positioner {\n grid-area: 1 / 1;\n align-self: end;\n justify-self: center;\n width: 100%;\n pointer-events: auto;\n transform: translateY(calc(-1 * var(--toast-index) * var(--dimension-space-100)));\n transition:\n transform var(--effect-motion-short-3),\n width var(--effect-motion-short-3);\n}\n\n.toast-viewport:not([data-expanded]) .toast-positioner {\n width: calc(100% - 2 * var(--toast-index) * var(--dimension-space-100));\n}\n\n.toast-viewport[data-expanded] .toast-positioner {\n transform: translateY(calc(-1 * var(--toast-offset-y)));\n}\n\n.toast-positioner[data-limited] {\n visibility: hidden;\n pointer-events: none;\n}\n\n.toast-positioner--anchored {\n position: fixed;\n width: min(var(--dimension-card-width-sm), calc(100vw - 2 * var(--dimension-space-200)));\n transform: none;\n}\n\n.toast-positioner--anchored[data-positioned='false'] {\n visibility: hidden;\n}\n\n.toast-surface {\n position: relative;\n display: block;\n box-sizing: border-box;\n width: 100%;\n height: var(--toast-height, auto);\n padding: var(--dimension-space-200);\n overflow: hidden;\n color: var(--color-foreground-primary);\n background-color: var(--color-background-primary);\n border-radius: var(--ds-radius-modal);\n box-shadow: var(--effect-elevation-elevated-floating);\n transform: translate(var(--toast-swipe-movement-x), var(--toast-swipe-movement-y));\n animation: toast-enter var(--effect-motion-short-2) both;\n}\n\n.toast-positioner--ending .toast-surface {\n animation: toast-exit var(--effect-motion-short-3) both;\n}\n\n.toast-surface--swiping {\n transition: none;\n user-select: none;\n}\n\n.toast-content {\n display: flex;\n flex-direction: column;\n min-width: 0;\n padding-inline-end: var(--dimension-size-500);\n transition: opacity var(--effect-motion-short-3);\n}\n\n.toast-copy {\n display: flex;\n flex-direction: column;\n min-width: 0;\n min-height: var(--typography-lineheight-md);\n margin-block: calc(-1 * var(--dimension-space-025));\n gap: var(--dimension-space-050);\n}\n\n.toast-title,\n.toast-description {\n min-width: 0;\n}\n\n.toast-action {\n align-self: start;\n margin-top: calc(var(--dimension-space-200) + var(--dimension-space-025));\n}\n\n.toast-close {\n position: absolute;\n top: var(--dimension-space-100);\n right: var(--dimension-space-100);\n transition: opacity var(--effect-motion-short-3);\n}\n\n.toast-viewport:not([data-expanded]) .toast-positioner[data-behind] .toast-content,\n.toast-viewport:not([data-expanded]) .toast-positioner[data-behind] .toast-close {\n opacity: 0;\n}\n\n@keyframes toast-enter {\n from {\n opacity: 0;\n transform: translateY(var(--dimension-space-100));\n }\n\n to {\n opacity: 1;\n transform: translateY(0);\n }\n}\n\n@keyframes toast-exit {\n from {\n opacity: 1;\n }\n\n to {\n opacity: 0;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .toast-positioner,\n .toast-surface,\n .toast-content,\n .toast-close,\n .toast-positioner--ending .toast-surface {\n transition: none;\n animation: none;\n }\n\n .toast-positioner--ending .toast-surface {\n opacity: 0;\n }\n}\n\n@media (forced-colors: active) {\n .toast-surface {\n box-shadow: none;\n outline: var(--dimension-stroke-width-012) solid var(--ds-forced-color-content);\n outline-offset: calc(-1 * var(--dimension-stroke-width-012));\n }\n}\n",
357
357
  "type": "registry:ui"
358
358
  },
359
359
  {
@@ -3,7 +3,7 @@
3
3
  * Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.
4
4
  */
5
5
  import type { EventName, StencilReactComponent } from './react-runtime.js';
6
- import { type BreadcrumbSelectDetail, type DsShellAppCustomEvent, type NavChromeStyle, type PanelNavChildSelectDetail, type PanelNavUserActionDetail, type PanelToolsRailAccessoryActionDetail, type PanelToolsToolId, type ShellResponsiveMode } from "@ds-mo/ui";
6
+ import { type BreadcrumbSelectDetail, type DsShellAppCustomEvent, type NavChromeStyle, type PanelNavChildSelectDetail, type PanelNavUserActionDetail, type PanelToolsHeaderActionDetail, type PanelToolsRailAccessoryActionDetail, type PanelToolsToolId, type ShellResponsiveMode } from "@ds-mo/ui";
7
7
  import type { Components } from "@ds-mo/ui/dist/components";
8
8
  import { DsShellApp as DsShellAppElement } from "@ds-mo/ui/dist/components/ds-shell-app.js";
9
9
  export type DsShellAppEvents = {
@@ -24,10 +24,7 @@ export type DsShellAppEvents = {
24
24
  onDsHeaderBack: EventName<DsShellAppCustomEvent<{
25
25
  tool: PanelToolsToolId;
26
26
  }>>;
27
- onDsHeaderAction: EventName<DsShellAppCustomEvent<{
28
- tool: PanelToolsToolId;
29
- id: string;
30
- }>>;
27
+ onDsHeaderAction: EventName<DsShellAppCustomEvent<PanelToolsHeaderActionDetail>>;
31
28
  onDsRailAccessoryAction: EventName<DsShellAppCustomEvent<PanelToolsRailAccessoryActionDetail>>;
32
29
  onDsPresentationChange: EventName<DsShellAppCustomEvent<{
33
30
  presentation: 'drawer' | 'fullscreen';
@@ -3,7 +3,7 @@
3
3
  * Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.
4
4
  */
5
5
  import type { EventName, StencilReactComponent } from './react-runtime.js';
6
- import { type DsShellToolsCustomEvent, type PanelToolsRailAccessoryActionDetail, type PanelToolsToolId } from "@ds-mo/ui";
6
+ import { type DsShellToolsCustomEvent, type PanelToolsHeaderActionDetail, type PanelToolsRailAccessoryActionDetail, type PanelToolsToolId } from "@ds-mo/ui";
7
7
  import type { Components } from "@ds-mo/ui/dist/components";
8
8
  import { DsShellTools as DsShellToolsElement } from "@ds-mo/ui/dist/components/ds-shell-tools.js";
9
9
  export type DsShellToolsEvents = {
@@ -17,10 +17,7 @@ export type DsShellToolsEvents = {
17
17
  onDsHeaderBack: EventName<DsShellToolsCustomEvent<{
18
18
  tool: PanelToolsToolId;
19
19
  }>>;
20
- onDsHeaderAction: EventName<DsShellToolsCustomEvent<{
21
- tool: PanelToolsToolId;
22
- id: string;
23
- }>>;
20
+ onDsHeaderAction: EventName<DsShellToolsCustomEvent<PanelToolsHeaderActionDetail>>;
24
21
  onDsRailAccessoryAction: EventName<DsShellToolsCustomEvent<PanelToolsRailAccessoryActionDetail>>;
25
22
  };
26
23
  export declare const DsShellTools: StencilReactComponent<DsShellToolsElement, DsShellToolsEvents, Components.DsShellTools>;
@@ -0,0 +1,293 @@
1
+ /*
2
+ * Import after @ds-mo/tokens at the application root.
3
+ * Every dimensional category uses the same mobile multiplier.
4
+ * Capture independent length tokens on html before replacing their inherited
5
+ * values on body. A self-reference on the same element would create a cycle.
6
+ * Percentages, transform scales, z-index, and the activation breakpoint retain
7
+ * their structural meaning; only spatial lengths are scaled.
8
+ */
9
+ @media (width < 768px) {
10
+ :root {
11
+ --ds-responsive-scale: 1.25;
12
+ --dimension-size-base: calc(var(--dimension-base) * var(--ds-responsive-scale));
13
+ --dimension-space-base: calc(var(--dimension-base) * var(--ds-responsive-scale));
14
+ --dimension-radius-base: calc(var(--dimension-base) * var(--ds-responsive-scale));
15
+ --dimension-stroke-width-base: calc(var(--dimension-base) * var(--ds-responsive-scale));
16
+
17
+ --ds-responsive-source-typography-fontsize-xs: var(--typography-fontsize-xs);
18
+ --ds-responsive-source-typography-fontsize-sm: var(--typography-fontsize-sm);
19
+ --ds-responsive-source-typography-fontsize-md: var(--typography-fontsize-md);
20
+ --ds-responsive-source-typography-fontsize-lg: var(--typography-fontsize-lg);
21
+ --ds-responsive-source-typography-fontsize-xl: var(--typography-fontsize-xl);
22
+ --ds-responsive-source-typography-fontsize-2xl: var(--typography-fontsize-2xl);
23
+ --ds-responsive-source-typography-fontsize-3xl: var(--typography-fontsize-3xl);
24
+ --ds-responsive-source-typography-lineheight-xs: var(--typography-lineheight-xs);
25
+ --ds-responsive-source-typography-lineheight-sm: var(--typography-lineheight-sm);
26
+ --ds-responsive-source-typography-lineheight-md: var(--typography-lineheight-md);
27
+ --ds-responsive-source-typography-lineheight-lg: var(--typography-lineheight-lg);
28
+ --ds-responsive-source-typography-lineheight-xl: var(--typography-lineheight-xl);
29
+ --ds-responsive-source-typography-lineheight-2xl: var(--typography-lineheight-2xl);
30
+ --ds-responsive-source-typography-lineheight-3xl: var(--typography-lineheight-3xl);
31
+ --ds-responsive-source-typography-letterspacing-none: var(--typography-letterspacing-none);
32
+ --ds-responsive-source-typography-letterspacing-positive: var(
33
+ --typography-letterspacing-positive
34
+ );
35
+ --ds-responsive-source-typography-letterspacing-negative-half: var(
36
+ --typography-letterspacing-negative-half
37
+ );
38
+ --ds-responsive-source-typography-letterspacing-negative: var(
39
+ --typography-letterspacing-negative
40
+ );
41
+ --ds-responsive-source-typography-letterspacing-negative-double: var(
42
+ --typography-letterspacing-negative-double
43
+ );
44
+ --ds-responsive-source-typography-paragraphspacing-none: var(
45
+ --typography-paragraphspacing-none
46
+ );
47
+ --ds-responsive-source-typography-paragraphspacing-sm: var(--typography-paragraphspacing-sm);
48
+ --ds-responsive-source-typography-paragraphspacing-md: var(--typography-paragraphspacing-md);
49
+ --ds-responsive-source-typography-paragraphspacing-lg: var(--typography-paragraphspacing-lg);
50
+ --ds-responsive-source-dimension-card-width-xs: var(--dimension-card-width-xs);
51
+ --ds-responsive-source-dimension-card-width-sm: var(--dimension-card-width-sm);
52
+ --ds-responsive-source-dimension-card-width-md: var(--dimension-card-width-md);
53
+ --ds-responsive-source-dimension-card-width-lg: var(--dimension-card-width-lg);
54
+ --ds-responsive-source-dimension-modal-width-xs: var(--dimension-modal-width-xs);
55
+ --ds-responsive-source-dimension-modal-width-sm: var(--dimension-modal-width-sm);
56
+ --ds-responsive-source-dimension-modal-width-md: var(--dimension-modal-width-md);
57
+ --ds-responsive-source-dimension-modal-width-lg: var(--dimension-modal-width-lg);
58
+ --ds-responsive-source-dimension-modal-width-xl: var(--dimension-modal-width-xl);
59
+ --ds-responsive-source-dimension-modal-width-2xl: var(--dimension-modal-width-2xl);
60
+ --ds-responsive-source-dimension-form-width-xs: var(--dimension-form-width-xs);
61
+ --ds-responsive-source-dimension-form-width-sm: var(--dimension-form-width-sm);
62
+ --ds-responsive-source-dimension-form-width-md: var(--dimension-form-width-md);
63
+ --ds-responsive-source-dimension-form-width-lg: var(--dimension-form-width-lg);
64
+ --ds-responsive-source-dimension-form-width-xl: var(--dimension-form-width-xl);
65
+ --ds-responsive-source-dimension-table-column-width-xs: var(--dimension-table-column-width-xs);
66
+ --ds-responsive-source-dimension-table-column-width-sm: var(--dimension-table-column-width-sm);
67
+ --ds-responsive-source-dimension-table-column-width-md: var(--dimension-table-column-width-md);
68
+ --ds-responsive-source-dimension-table-column-width-lg: var(--dimension-table-column-width-lg);
69
+ --ds-responsive-source-dimension-table-column-width-xl: var(--dimension-table-column-width-xl);
70
+ --ds-responsive-source-dimension-menu-width-xs: var(--dimension-menu-width-xs);
71
+ --ds-responsive-source-dimension-menu-width-sm: var(--dimension-menu-width-sm);
72
+ --ds-responsive-source-dimension-menu-width-md: var(--dimension-menu-width-md);
73
+ --ds-responsive-source-dimension-menu-width-lg: var(--dimension-menu-width-lg);
74
+ --ds-responsive-source-dimension-tooltip-width-sm: var(--dimension-tooltip-width-sm);
75
+ --ds-responsive-source-dimension-tooltip-width-md: var(--dimension-tooltip-width-md);
76
+ --ds-responsive-source-dimension-tooltip-width-lg: var(--dimension-tooltip-width-lg);
77
+ --ds-responsive-source-dimension-panel-width-2xs: var(--dimension-panel-width-2xs);
78
+ --ds-responsive-source-dimension-panel-width-xs: var(--dimension-panel-width-xs);
79
+ --ds-responsive-source-dimension-panel-width-sm: var(--dimension-panel-width-sm);
80
+ --ds-responsive-source-dimension-panel-width-md: var(--dimension-panel-width-md);
81
+ --ds-responsive-source-dimension-panel-width-lg: var(--dimension-panel-width-lg);
82
+ --ds-responsive-source-dimension-panel-width-xl: var(--dimension-panel-width-xl);
83
+ --ds-responsive-source-dimension-panel-width-2xl: var(--dimension-panel-width-2xl);
84
+ --ds-responsive-source-dimension-card-height-xs: var(--dimension-card-height-xs);
85
+ --ds-responsive-source-dimension-card-height-sm: var(--dimension-card-height-sm);
86
+ --ds-responsive-source-dimension-card-height-md: var(--dimension-card-height-md);
87
+ --ds-responsive-source-dimension-card-height-lg: var(--dimension-card-height-lg);
88
+ --ds-responsive-source-dimension-modal-height-xs: var(--dimension-modal-height-xs);
89
+ --ds-responsive-source-dimension-modal-height-sm: var(--dimension-modal-height-sm);
90
+ --ds-responsive-source-dimension-modal-height-md: var(--dimension-modal-height-md);
91
+ --ds-responsive-source-dimension-modal-height-lg: var(--dimension-modal-height-lg);
92
+ }
93
+
94
+ body {
95
+ --typography-fontsize-xs: calc(
96
+ var(--ds-responsive-source-typography-fontsize-xs) * var(--ds-responsive-scale)
97
+ );
98
+ --typography-fontsize-sm: calc(
99
+ var(--ds-responsive-source-typography-fontsize-sm) * var(--ds-responsive-scale)
100
+ );
101
+ --typography-fontsize-md: calc(
102
+ var(--ds-responsive-source-typography-fontsize-md) * var(--ds-responsive-scale)
103
+ );
104
+ --typography-fontsize-lg: calc(
105
+ var(--ds-responsive-source-typography-fontsize-lg) * var(--ds-responsive-scale)
106
+ );
107
+ --typography-fontsize-xl: calc(
108
+ var(--ds-responsive-source-typography-fontsize-xl) * var(--ds-responsive-scale)
109
+ );
110
+ --typography-fontsize-2xl: calc(
111
+ var(--ds-responsive-source-typography-fontsize-2xl) * var(--ds-responsive-scale)
112
+ );
113
+ --typography-fontsize-3xl: calc(
114
+ var(--ds-responsive-source-typography-fontsize-3xl) * var(--ds-responsive-scale)
115
+ );
116
+ --typography-lineheight-xs: calc(
117
+ var(--ds-responsive-source-typography-lineheight-xs) * var(--ds-responsive-scale)
118
+ );
119
+ --typography-lineheight-sm: calc(
120
+ var(--ds-responsive-source-typography-lineheight-sm) * var(--ds-responsive-scale)
121
+ );
122
+ --typography-lineheight-md: calc(
123
+ var(--ds-responsive-source-typography-lineheight-md) * var(--ds-responsive-scale)
124
+ );
125
+ --typography-lineheight-lg: calc(
126
+ var(--ds-responsive-source-typography-lineheight-lg) * var(--ds-responsive-scale)
127
+ );
128
+ --typography-lineheight-xl: calc(
129
+ var(--ds-responsive-source-typography-lineheight-xl) * var(--ds-responsive-scale)
130
+ );
131
+ --typography-lineheight-2xl: calc(
132
+ var(--ds-responsive-source-typography-lineheight-2xl) * var(--ds-responsive-scale)
133
+ );
134
+ --typography-lineheight-3xl: calc(
135
+ var(--ds-responsive-source-typography-lineheight-3xl) * var(--ds-responsive-scale)
136
+ );
137
+ --typography-letterspacing-none: calc(
138
+ var(--ds-responsive-source-typography-letterspacing-none) * var(--ds-responsive-scale)
139
+ );
140
+ --typography-letterspacing-positive: calc(
141
+ var(--ds-responsive-source-typography-letterspacing-positive) * var(--ds-responsive-scale)
142
+ );
143
+ --typography-letterspacing-negative-half: calc(
144
+ var(--ds-responsive-source-typography-letterspacing-negative-half) *
145
+ var(--ds-responsive-scale)
146
+ );
147
+ --typography-letterspacing-negative: calc(
148
+ var(--ds-responsive-source-typography-letterspacing-negative) * var(--ds-responsive-scale)
149
+ );
150
+ --typography-letterspacing-negative-double: calc(
151
+ var(--ds-responsive-source-typography-letterspacing-negative-double) *
152
+ var(--ds-responsive-scale)
153
+ );
154
+ --typography-paragraphspacing-none: calc(
155
+ var(--ds-responsive-source-typography-paragraphspacing-none) * var(--ds-responsive-scale)
156
+ );
157
+ --typography-paragraphspacing-sm: calc(
158
+ var(--ds-responsive-source-typography-paragraphspacing-sm) * var(--ds-responsive-scale)
159
+ );
160
+ --typography-paragraphspacing-md: calc(
161
+ var(--ds-responsive-source-typography-paragraphspacing-md) * var(--ds-responsive-scale)
162
+ );
163
+ --typography-paragraphspacing-lg: calc(
164
+ var(--ds-responsive-source-typography-paragraphspacing-lg) * var(--ds-responsive-scale)
165
+ );
166
+ --dimension-card-width-xs: calc(
167
+ var(--ds-responsive-source-dimension-card-width-xs) * var(--ds-responsive-scale)
168
+ );
169
+ --dimension-card-width-sm: calc(
170
+ var(--ds-responsive-source-dimension-card-width-sm) * var(--ds-responsive-scale)
171
+ );
172
+ --dimension-card-width-md: calc(
173
+ var(--ds-responsive-source-dimension-card-width-md) * var(--ds-responsive-scale)
174
+ );
175
+ --dimension-card-width-lg: calc(
176
+ var(--ds-responsive-source-dimension-card-width-lg) * var(--ds-responsive-scale)
177
+ );
178
+ --dimension-modal-width-xs: calc(
179
+ var(--ds-responsive-source-dimension-modal-width-xs) * var(--ds-responsive-scale)
180
+ );
181
+ --dimension-modal-width-sm: calc(
182
+ var(--ds-responsive-source-dimension-modal-width-sm) * var(--ds-responsive-scale)
183
+ );
184
+ --dimension-modal-width-md: calc(
185
+ var(--ds-responsive-source-dimension-modal-width-md) * var(--ds-responsive-scale)
186
+ );
187
+ --dimension-modal-width-lg: calc(
188
+ var(--ds-responsive-source-dimension-modal-width-lg) * var(--ds-responsive-scale)
189
+ );
190
+ --dimension-modal-width-xl: calc(
191
+ var(--ds-responsive-source-dimension-modal-width-xl) * var(--ds-responsive-scale)
192
+ );
193
+ --dimension-modal-width-2xl: calc(
194
+ var(--ds-responsive-source-dimension-modal-width-2xl) * var(--ds-responsive-scale)
195
+ );
196
+ --dimension-form-width-xs: calc(
197
+ var(--ds-responsive-source-dimension-form-width-xs) * var(--ds-responsive-scale)
198
+ );
199
+ --dimension-form-width-sm: calc(
200
+ var(--ds-responsive-source-dimension-form-width-sm) * var(--ds-responsive-scale)
201
+ );
202
+ --dimension-form-width-md: calc(
203
+ var(--ds-responsive-source-dimension-form-width-md) * var(--ds-responsive-scale)
204
+ );
205
+ --dimension-form-width-lg: calc(
206
+ var(--ds-responsive-source-dimension-form-width-lg) * var(--ds-responsive-scale)
207
+ );
208
+ --dimension-form-width-xl: calc(
209
+ var(--ds-responsive-source-dimension-form-width-xl) * var(--ds-responsive-scale)
210
+ );
211
+ --dimension-table-column-width-xs: calc(
212
+ var(--ds-responsive-source-dimension-table-column-width-xs) * var(--ds-responsive-scale)
213
+ );
214
+ --dimension-table-column-width-sm: calc(
215
+ var(--ds-responsive-source-dimension-table-column-width-sm) * var(--ds-responsive-scale)
216
+ );
217
+ --dimension-table-column-width-md: calc(
218
+ var(--ds-responsive-source-dimension-table-column-width-md) * var(--ds-responsive-scale)
219
+ );
220
+ --dimension-table-column-width-lg: calc(
221
+ var(--ds-responsive-source-dimension-table-column-width-lg) * var(--ds-responsive-scale)
222
+ );
223
+ --dimension-table-column-width-xl: calc(
224
+ var(--ds-responsive-source-dimension-table-column-width-xl) * var(--ds-responsive-scale)
225
+ );
226
+ --dimension-menu-width-xs: calc(
227
+ var(--ds-responsive-source-dimension-menu-width-xs) * var(--ds-responsive-scale)
228
+ );
229
+ --dimension-menu-width-sm: calc(
230
+ var(--ds-responsive-source-dimension-menu-width-sm) * var(--ds-responsive-scale)
231
+ );
232
+ --dimension-menu-width-md: calc(
233
+ var(--ds-responsive-source-dimension-menu-width-md) * var(--ds-responsive-scale)
234
+ );
235
+ --dimension-menu-width-lg: calc(
236
+ var(--ds-responsive-source-dimension-menu-width-lg) * var(--ds-responsive-scale)
237
+ );
238
+ --dimension-tooltip-width-sm: calc(
239
+ var(--ds-responsive-source-dimension-tooltip-width-sm) * var(--ds-responsive-scale)
240
+ );
241
+ --dimension-tooltip-width-md: calc(
242
+ var(--ds-responsive-source-dimension-tooltip-width-md) * var(--ds-responsive-scale)
243
+ );
244
+ --dimension-tooltip-width-lg: calc(
245
+ var(--ds-responsive-source-dimension-tooltip-width-lg) * var(--ds-responsive-scale)
246
+ );
247
+ --dimension-panel-width-2xs: calc(
248
+ var(--ds-responsive-source-dimension-panel-width-2xs) * var(--ds-responsive-scale)
249
+ );
250
+ --dimension-panel-width-xs: calc(
251
+ var(--ds-responsive-source-dimension-panel-width-xs) * var(--ds-responsive-scale)
252
+ );
253
+ --dimension-panel-width-sm: calc(
254
+ var(--ds-responsive-source-dimension-panel-width-sm) * var(--ds-responsive-scale)
255
+ );
256
+ --dimension-panel-width-md: calc(
257
+ var(--ds-responsive-source-dimension-panel-width-md) * var(--ds-responsive-scale)
258
+ );
259
+ --dimension-panel-width-lg: calc(
260
+ var(--ds-responsive-source-dimension-panel-width-lg) * var(--ds-responsive-scale)
261
+ );
262
+ --dimension-panel-width-xl: calc(
263
+ var(--ds-responsive-source-dimension-panel-width-xl) * var(--ds-responsive-scale)
264
+ );
265
+ --dimension-panel-width-2xl: calc(
266
+ var(--ds-responsive-source-dimension-panel-width-2xl) * var(--ds-responsive-scale)
267
+ );
268
+ --dimension-card-height-xs: calc(
269
+ var(--ds-responsive-source-dimension-card-height-xs) * var(--ds-responsive-scale)
270
+ );
271
+ --dimension-card-height-sm: calc(
272
+ var(--ds-responsive-source-dimension-card-height-sm) * var(--ds-responsive-scale)
273
+ );
274
+ --dimension-card-height-md: calc(
275
+ var(--ds-responsive-source-dimension-card-height-md) * var(--ds-responsive-scale)
276
+ );
277
+ --dimension-card-height-lg: calc(
278
+ var(--ds-responsive-source-dimension-card-height-lg) * var(--ds-responsive-scale)
279
+ );
280
+ --dimension-modal-height-xs: calc(
281
+ var(--ds-responsive-source-dimension-modal-height-xs) * var(--ds-responsive-scale)
282
+ );
283
+ --dimension-modal-height-sm: calc(
284
+ var(--ds-responsive-source-dimension-modal-height-sm) * var(--ds-responsive-scale)
285
+ );
286
+ --dimension-modal-height-md: calc(
287
+ var(--ds-responsive-source-dimension-modal-height-md) * var(--ds-responsive-scale)
288
+ );
289
+ --dimension-modal-height-lg: calc(
290
+ var(--ds-responsive-source-dimension-modal-height-lg) * var(--ds-responsive-scale)
291
+ );
292
+ }
293
+ }
@@ -1,6 +1,6 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
2
  import type { NavChromeStyle } from '../../shell/nav-chrome';
3
- import type { PanelToolsRailAccessoryActionDetail, PanelToolsToolId } from '../PanelTools/panel-tools-types';
3
+ import type { PanelToolsHeaderActionDetail, PanelToolsRailAccessoryActionDetail, PanelToolsToolId } from '../PanelTools/panel-tools-types';
4
4
  import type { BreadcrumbSelectDetail } from '../Breadcrumb/breadcrumb-types';
5
5
  import { type ShellGradientPreset } from '../../shell/shell-gradient-presets';
6
6
  import { type MobileDestination, type ShellResponsiveMode } from '../../shell/shell-responsive';
@@ -63,10 +63,7 @@ export declare class ShellApp {
63
63
  tool: PanelToolsToolId;
64
64
  }>;
65
65
  /** Managed tool-header action intent. */
66
- dsHeaderAction: EventEmitter<{
67
- tool: PanelToolsToolId;
68
- id: string;
69
- }>;
66
+ dsHeaderAction: EventEmitter<PanelToolsHeaderActionDetail>;
70
67
  /** Managed desktop/tablet rail accessory intent. */
71
68
  dsRailAccessoryAction: EventEmitter<PanelToolsRailAccessoryActionDetail>;
72
69
  /** Managed drawer/fullscreen presentation state. */
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter } from '../../stencil-public-runtime';
2
- import { type PanelToolsHeaders, type PanelToolsItem, type PanelToolsRailAccessory, type PanelToolsRailAccessoryActionDetail, type PanelToolsToolId } from '../PanelTools/panel-tools-types';
2
+ import { type PanelToolsHeaderActionDetail, type PanelToolsHeaders, type PanelToolsItem, type PanelToolsRailAccessory, type PanelToolsRailAccessoryActionDetail, type PanelToolsToolId } from '../PanelTools/panel-tools-types';
3
3
  import { type ShellResponsiveMode } from '../../shell/shell-responsive';
4
4
  export declare class ShellTools {
5
5
  el: HTMLElement;
@@ -29,10 +29,7 @@ export declare class ShellTools {
29
29
  dsHeaderBack: EventEmitter<{
30
30
  tool: PanelToolsToolId;
31
31
  }>;
32
- dsHeaderAction: EventEmitter<{
33
- tool: PanelToolsToolId;
34
- id: string;
35
- }>;
32
+ dsHeaderAction: EventEmitter<PanelToolsHeaderActionDetail>;
36
33
  dsRailAccessoryAction: EventEmitter<PanelToolsRailAccessoryActionDetail>;
37
34
  private panelToolsEl;
38
35
  private get resolvedItems();
@@ -6786,7 +6786,7 @@ declare global {
6786
6786
  "dsPageAction": string;
6787
6787
  "dsToolChange": { id: PanelToolsToolId; selected: boolean };
6788
6788
  "dsHeaderBack": { tool: PanelToolsToolId };
6789
- "dsHeaderAction": { tool: PanelToolsToolId; id: string };
6789
+ "dsHeaderAction": PanelToolsHeaderActionDetail;
6790
6790
  "dsRailAccessoryAction": PanelToolsRailAccessoryActionDetail;
6791
6791
  "dsPresentationChange": { presentation: 'drawer' | 'fullscreen' };
6792
6792
  "dsBrowseContextChange": NavChromeStyle;
@@ -6824,10 +6824,7 @@ declare global {
6824
6824
  "dsHeaderBack": {
6825
6825
  tool: PanelToolsToolId;
6826
6826
  };
6827
- "dsHeaderAction": {
6828
- tool: PanelToolsToolId;
6829
- id: string;
6830
- };
6827
+ "dsHeaderAction": PanelToolsHeaderActionDetail;
6831
6828
  "dsRailAccessoryAction": PanelToolsRailAccessoryActionDetail;
6832
6829
  }
6833
6830
  interface HTMLDsShellToolsElement extends Components.DsShellTools, HTMLStencilElement {
@@ -11361,7 +11358,7 @@ declare namespace LocalJSX {
11361
11358
  /**
11362
11359
  * Managed tool-header action intent.
11363
11360
  */
11364
- "onDsHeaderAction"?: (event: DsShellAppCustomEvent<{ tool: PanelToolsToolId; id: string }>) => void;
11361
+ "onDsHeaderAction"?: (event: DsShellAppCustomEvent<PanelToolsHeaderActionDetail>) => void;
11365
11362
  /**
11366
11363
  * Managed tool-header Back intent.
11367
11364
  */
@@ -11518,10 +11515,7 @@ declare namespace LocalJSX {
11518
11515
  * @default []
11519
11516
  */
11520
11517
  "items"?: PanelToolsItem[];
11521
- "onDsHeaderAction"?: (event: DsShellToolsCustomEvent<{
11522
- tool: PanelToolsToolId;
11523
- id: string;
11524
- }>) => void;
11518
+ "onDsHeaderAction"?: (event: DsShellToolsCustomEvent<PanelToolsHeaderActionDetail>) => void;
11525
11519
  "onDsHeaderBack"?: (event: DsShellToolsCustomEvent<{
11526
11520
  tool: PanelToolsToolId;
11527
11521
  }>) => void;
@@ -2,7 +2,7 @@
2
2
  export declare function clearCssLengthPxCache(): void;
3
3
  /**
4
4
  * Resolve a CSS length to pixels for layout math. Dynamic expressions are read
5
- * from the current document and optional component scope on every call. Relative
5
+ * from the body (application token scope) or explicit component scope on every call. Relative
6
6
  * font units use that scope; percentage lengths use the viewport's inline size.
7
7
  */
8
8
  export declare function resolveCssLengthPx(value: number | string | undefined, fallback: number | string, context?: Element): number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ds-mo/ui",
3
- "version": "15.10.2",
3
+ "version": "15.11.0",
4
4
  "description": "CompoMo — composable web components styled with TokoMo design tokens",
5
5
  "keywords": [
6
6
  "web-components",
@@ -72,6 +72,7 @@
72
72
  "./control-elevation.css": "./dist/styles/control-elevation.css",
73
73
  "./prose.css": "./dist/styles/prose.css",
74
74
  "./table.css": "./dist/styles/table.css",
75
+ "./responsive.css": "./dist/styles/responsive.css",
75
76
  "./agent": "./dist/agent.json",
76
77
  "./agent/patterns": "./dist/agent-patterns.json",
77
78
  "./dist/components/*": "./dist/components/*",
@@ -1,2 +0,0 @@
1
- import{p as s,H as o,c as d,h as e,a,t as i}from"./index.js";import{C as t}from"./p-DlsjHRU3.js";import{d as r}from"./p-CzTJAO2J.js";import{d as n}from"./p-BrB05_X8.js";import{d as c}from"./p-BVsVUnAw.js";import{d as l}from"./p-0XTyQNRG.js";import{d as m}from"./p-CTAF7SkL.js";import{d as h}from"./p-PNY7auMh.js";import{b as p,T as f}from"./p-CeXf9-X3.js";const u=()=>`.sc-ds-modal-h,.sc-ds-modal:where(.ds-table),.sc-ds-modal:where(.tooltip-popup),.sc-ds-modal:where(.ds-radius){--ds-radius-control:var(--dimension-radius-025);--ds-radius-card:var(--dimension-radius-050);--ds-radius-modal:var(--dimension-radius-050);--ds-radius-menu:var(--dimension-radius-075);--ds-radius-tooltip-control:var(--dimension-radius-025);--ds-radius-tooltip-menu:var(--dimension-radius-075);--ds-radius-table:var(--dimension-radius-050)}.ds-control--lg.sc-ds-modal,.ds-control--lg.sc-ds-modal-h,.ds-control--md.sc-ds-modal-h,.ds-control--md.sc-ds-modal,.ds-control--sm.sc-ds-modal-h,.ds-control--sm.sc-ds-modal,.ds-control--xs.sc-ds-modal-h,.ds-control--xs.sc-ds-modal{--ds-control-radius:var(--ds-radius-control)}.ds-control--lg.sc-ds-modal-h,.ds-control--lg.sc-ds-modal{--ds-control-height:var(--dimension-size-500);--ds-control-icon:var(--dimension-iconography-lg);--ds-control-padding-inline:var(--dimension-space-100);--ds-control-label-inset:var(--dimension-space-050);--ds-control-gap:var(--dimension-space-050)}.ds-control--md.sc-ds-modal-h,.ds-control--md.sc-ds-modal{--ds-control-height:var(--dimension-size-400);--ds-control-icon:var(--dimension-iconography-md);--ds-control-padding-inline:var(--dimension-space-075);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-050)}.ds-control--sm.sc-ds-modal-h,.ds-control--sm.sc-ds-modal{--ds-control-height:var(--dimension-size-300);--ds-control-icon:var(--dimension-iconography-sm);--ds-control-padding-inline:var(--dimension-space-050);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:var(--dimension-space-025)}.ds-control--xs.sc-ds-modal-h,.ds-control--xs.sc-ds-modal{--ds-control-height:var(--dimension-size-200);--ds-control-icon:var(--dimension-iconography-xs);--ds-control-padding-inline:var(--dimension-space-025);--ds-control-label-inset:var(--dimension-space-025);--ds-control-gap:0}.ds-chrome-header.sc-ds-modal{display:flex;align-items:center;box-sizing:border-box;min-width:0;min-block-size:var(--dimension-size-600);padding:var(--dimension-space-100);gap:var(--dimension-space-100)}.ds-chrome-header--wrapping.sc-ds-modal{flex-wrap:wrap}.ds-chrome-header--bounded.sc-ds-modal{border-block-end:var(--dimension-stroke-width-012) solid var(--color-border-tertiary)}.ds-chrome-header__leading.sc-ds-modal,.ds-chrome-header__trailing.sc-ds-modal{display:flex;align-items:center;flex:0 0 auto;min-width:0}.ds-chrome-header__trailing.sc-ds-modal{margin-inline-start:auto;gap:var(--dimension-space-100)}.ds-chrome-header__copy.sc-ds-modal{display:flex;flex:1 1 0;min-width:0;padding:var(--ds-control-padding-inline, var(--dimension-space-075));box-sizing:border-box}.ds-chrome-header__copy--wrapping.sc-ds-modal{align-items:baseline;flex-wrap:wrap;column-gap:var(--dimension-space-100);row-gap:var(--dimension-space-050)}.ds-chrome-header__copy--stacked.sc-ds-modal{align-items:stretch;flex-direction:column;gap:var(--dimension-space-050)}.ds-chrome-header__heading.sc-ds-modal,.ds-chrome-header__description.sc-ds-modal{width:auto;min-width:0;padding-inline:var(--ds-control-label-inset, var(--dimension-space-025));box-sizing:border-box}.ds-chrome-header__heading.sc-ds-modal{flex:0 1 auto}.ds-chrome-header__copy--wrapping.sc-ds-modal .ds-chrome-header__description.sc-ds-modal{flex:1 1 var(--dimension-card-width-xs)}.ds-chrome-space--sm.sc-ds-modal-h,.ds-chrome-space--sm.sc-ds-modal{--ds-chrome-padding:var(--ds-chrome-space-sm-padding, var(--dimension-space-050));--ds-chrome-gap:var(--dimension-space-050)}.ds-chrome-space--md.sc-ds-modal-h,.ds-chrome-space--md.sc-ds-modal{--ds-chrome-padding:var(--dimension-space-100);--ds-chrome-gap:var(--dimension-space-100)}.ds-chrome-space--lg.sc-ds-modal-h,.ds-chrome-space--lg.sc-ds-modal{--ds-chrome-padding:var(--dimension-space-200);--ds-chrome-gap:var(--dimension-space-200)}.ds-chrome-row.sc-ds-modal-h,.ds-chrome-row.sc-ds-modal,.ds-chrome-column.sc-ds-modal-h,.ds-chrome-column.sc-ds-modal,.ds-chrome-grid.sc-ds-modal-h,.ds-chrome-grid.sc-ds-modal{display:flex;box-sizing:border-box;gap:var(--ds-chrome-gap, var(--dimension-space-100));padding:var(--ds-chrome-padding, var(--dimension-space-100))}.ds-chrome-row.sc-ds-modal-h,.ds-chrome-row.sc-ds-modal{flex-direction:row;align-items:center}.ds-chrome-column.sc-ds-modal-h,.ds-chrome-column.sc-ds-modal{flex-direction:column}.ds-chrome-grid.sc-ds-modal-h,.ds-chrome-grid.sc-ds-modal{display:grid;align-items:center}@media (forced-colors: active){.sc-ds-modal:root,.sc-ds-modal-h,.ds-forced-colors-scope.sc-ds-modal{--ds-forced-color-surface:Canvas;--ds-forced-color-content:CanvasText;--ds-forced-color-control-boundary:ButtonText;--ds-forced-color-selected:Highlight;--ds-forced-color-on-selected:HighlightText;--ds-forced-color-disabled:GrayText}}.sc-ds-modal-h{display:contents}.modal-dialog.sc-ds-modal{display:none;flex-direction:column;max-width:none;max-height:calc(100vh - 2 * var(--dimension-space-200));margin:auto;padding:0;overflow:hidden;color:var(--color-foreground-primary);background-color:var(--color-background-primary);border:0;border-radius:var(--ds-radius-modal);box-shadow:var(--effect-elevation-elevated-floating);outline:none;box-sizing:border-box;animation:modalDialogIn var(--effect-motion-short-2) forwards}.modal-dialog[open].sc-ds-modal{display:flex}.modal-dialog.sc-ds-modal::backdrop{background-color:var(--color-background-shade);animation:modalBackdropIn var(--effect-motion-short-2) forwards}.modal-dialog--closing.sc-ds-modal{animation:modalDialogOut var(--effect-motion-short-2) forwards}.modal-dialog--closing.sc-ds-modal::backdrop{animation:modalBackdropOut var(--effect-motion-short-2) forwards}@keyframes modalBackdropIn{from{opacity:0}to{opacity:1}}@keyframes modalBackdropOut{from{opacity:1}to{opacity:0}}@keyframes modalDialogIn{from{opacity:0;transform:scale(0.97) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modalDialogOut{from{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(0.97) translateY(4px)}}@media (prefers-reduced-motion: reduce){.modal-dialog[open].sc-ds-modal,.modal-dialog--closing.sc-ds-modal{animation:none;transform:none}.modal-dialog.sc-ds-modal::backdrop{animation:none;opacity:1}.modal-dialog--closing.sc-ds-modal,.modal-dialog--closing.sc-ds-modal::backdrop{opacity:0}}.modal-header.sc-ds-modal{align-items:flex-start;flex:0 0 auto;color:var(--color-foreground-primary)}.modal-copy.sc-ds-modal,ds-text.modal-heading.sc-ds-modal,ds-text.modal-description.sc-ds-modal{width:auto;text-align:left}ds-text.modal-heading.sc-ds-modal{-webkit-user-select:none;user-select:none}.modal-close-tooltip.sc-ds-modal{flex:0 0 auto}.modal-content.sc-ds-modal{min-height:0;padding:var(--dimension-space-200);overflow-y:auto;flex:1 1 auto;box-sizing:border-box}.modal-footer.sc-ds-modal{justify-content:flex-start;height:var(--dimension-size-800);flex:0 0 auto;border-top:var(--dimension-stroke-width-012) solid var(--color-border-tertiary)}.modal-footer__actions.sc-ds-modal{display:flex;align-items:center;gap:var(--dimension-space-100);min-width:0}.modal-footer--empty.sc-ds-modal{display:none}.modal-footer__actions.sc-ds-modal slot.sc-ds-modal{display:contents}@media (forced-colors: active){.modal-dialog.sc-ds-modal{box-shadow:none;outline:var(--dimension-stroke-width-012) solid var(--ds-forced-color-content);outline-offset:calc(-1 * var(--dimension-stroke-width-012))}}`;const g={sm:"var(--dimension-modal-width-sm)",md:"var(--dimension-modal-width-md)",lg:"var(--dimension-modal-width-lg)"};const b=["a[href]","area[href]","button:not([disabled])",'input:not([disabled]):not([type="hidden"])',"select:not([disabled])","textarea:not([disabled])","iframe",'[contenteditable="true"]','[tabindex]:not([tabindex="-1"])'].join(",");let v=0;const y=s(class s extends o{constructor(s){super();if(s!==false){this.__registerHost()}this.dsClose=d(this,"dsClose",7);this.dsAfterClose=d(this,"dsAfterClose",7);this.open=false;this.description="";this.closeAriaLabel="Close";this.modalWidth="md";this.closing=false;this.hasFooter=false;this.titleId=`ds-modal-title-${++v}`;this.descriptionId=`${this.titleId}-description`;this.dialogEl=null;this.previousFocus=null;this.closeTimer=null;this.loaded=false;this.tasks=new t((()=>this.el.isConnected))}connectedCallback(){if(!this.loaded)return;this.updateFooterPresence();this.onOpenChange(this.open)}componentDidLoad(){this.loaded=true;this.updateFooterPresence();if(this.open)this.onOpenChange(true)}componentDidRender(){if(!this.el.isConnected)return;if(!this.closing||!this.dialogEl?.open||this.closeTimer)return;const s=this.closeAnimationMs;if(s<=0){this.finishClose();return}this.closeTimer=setTimeout((()=>{this.closeTimer=null;this.finishClose()}),s)}disconnectedCallback(){this.tasks.cancel();this.clearCloseTimer();if(this.dialogEl?.open)this.dialogEl.close();this.closing=false;this.previousFocus=null}onOpenChange(s){if(!this.loaded||!this.el.isConnected)return;this.tasks.cancel();if(s){this.clearCloseTimer();const s=!!this.dialogEl?.open;this.closing=false;if(!this.dialogEl||s)return;this.previousFocus=this.el.ownerDocument.activeElement;this.dialogEl.showModal();this.tasks.frame((()=>{if(this.open&&this.dialogEl?.open)this.focusClose()}))}else if(this.dialogEl?.open){this.closing=true}}focusClose(){const s=this.el.querySelector("ds-button-unfilled.modal-close");void s?.setFocus?.()}clearCloseTimer(){if(this.closeTimer){clearTimeout(this.closeTimer);this.closeTimer=null}}requestClose(s,o){if(!this.open||this.closing||!this.dialogEl?.open)return;this.dsClose.emit({reason:s,originalEvent:o});this.open=false}updateFooterPresence(s){const o=s?.assignedNodes()??[];this.hasFooter=o.some((s=>s.nodeType!==Node.TEXT_NODE||!!s.textContent?.trim()))||this.el.querySelector('[slot="footer"]')!==null}handleCancel(s){s.preventDefault();this.requestClose("escape",s)}handleBackdropPointerDown(s){if(s.target===this.dialogEl)this.requestClose("backdrop",s)}handleKeyDown(s){if(s.key==="Escape"){s.preventDefault();this.requestClose("escape",s);return}if(s.key!=="Tab"||!this.dialogEl)return;const o=Array.from(this.dialogEl.querySelectorAll(b)).filter((s=>!s.hasAttribute("disabled")&&s.getAttribute("aria-hidden")!=="true"));if(!o.length){s.preventDefault();this.dialogEl.focus();return}const d=o[0];const e=o[o.length-1];const a=document.activeElement;if(s.shiftKey&&(a===d||a===this.dialogEl)){s.preventDefault();e.focus()}else if(!s.shiftKey&&a===e){s.preventDefault();d.focus()}}get resolvedWidth(){if(this.modalWidth==="sm"||this.modalWidth==="md"||this.modalWidth==="lg"){return g[this.modalWidth]}return this.modalWidth}get describedBy(){const s=[this.description?this.descriptionId:"",this.ariaDescribedby??""].filter(Boolean);return s.length>0?s.join(" "):undefined}get closeAnimationMs(){return p(f.motionShort2,f.animationDurationShort3)}finishClose(){if(this.open||!this.el.isConnected||!this.dialogEl?.open)return;this.dialogEl.close();this.closing=false;this.clearCloseTimer();this.previousFocus?.focus?.();this.previousFocus=null;this.dsAfterClose.emit()}render(){return e(a,{key:"d2075fa906020435b5c58d5ac22ccba516d52001"},e("dialog",{key:"596ac03c1b449092e82af87bade3ee5aae421e30",ref:s=>{this.dialogEl=s??null},class:{"modal-dialog":true,"modal-dialog--closing":this.closing},"aria-labelledby":this.titleId,"aria-describedby":this.describedBy,onCancel:s=>this.handleCancel(s),onPointerDown:s=>this.handleBackdropPointerDown(s),onKeyDown:s=>this.handleKeyDown(s),style:{width:`min(${this.resolvedWidth}, calc(100vw - 2 * var(--dimension-space-200)))`}},e("div",{key:"3e5e0f2720fe843627905df9af74c71c0c620563",class:"modal-header ds-chrome-header ds-chrome-header--bounded"},e("div",{key:"6478eaa4b3f2ffad571a772292e10a29cc339bf2",class:"modal-copy ds-chrome-header__copy ds-chrome-header__copy--stacked ds-control--md"},e("ds-text",{key:"8e10e180895342c5293ea7e539e5b7615c319512",class:"modal-heading ds-chrome-header__heading",as:"h2",variant:"text-title-small",emphasis:true,color:"primary",lineTruncation:1,textId:this.titleId},this.heading),this.description?e("ds-text",{class:"modal-description ds-chrome-header__description",as:"p",variant:"text-body-medium",color:"secondary",wrap:"wrap",textId:this.descriptionId},this.description):null),e("ds-tooltip",{key:"9615e2c0067f29f5ccf94fb7bf0d0483dbae174f",class:"modal-close-tooltip ds-chrome-header__trailing",label:this.closeAriaLabel,side:"bottom",size:"sm"},e("ds-button-unfilled",{key:"d317f0ef4c0fb0451191185a9591ca01e8708bfe",class:"modal-close",variant:"icon",icon:"Cross",size:"md","aria-label":this.closeAriaLabel,activeFill:false,hasBorder:false,onDsClick:s=>this.requestClose("close-button",s.detail)}))),e("div",{key:"60c74c8424f3504c27f5401b0690ca942b2f08a4",class:"modal-content"},e("slot",{key:"ad9d251efc6b47f8e12ffb4edeea828c7ca64753"})),e("div",{key:"f1b901c808c9418c9d6aed04cb401cd11108eff2",class:{"modal-footer":true,"ds-chrome-row":true,"ds-chrome-space--lg":true,"modal-footer--empty":!this.hasFooter}},e("div",{key:"2a8fa4ba539d793f55eb72671ae8c8ceee92b397",class:"modal-footer__actions"},e("slot",{key:"ca74e39cd447a33bd4464427ec5a721265de784f",name:"footer",onSlotchange:s=>this.updateFooterPresence(s.currentTarget)})))))}get el(){return this}static get watchers(){return{open:[{onOpenChange:0}]}}static get style(){return u()}},[262,"ds-modal",{open:[1028],heading:[1],description:[1],closeAriaLabel:[1,"close-aria-label"],modalWidth:[1,"modal-width"],ariaDescribedby:[1,"aria-describedby"],closing:[32],hasFooter:[32]},undefined,{open:[{onOpenChange:0}]}]);function x(){if(typeof customElements==="undefined"){return}const s=["ds-modal","ds-badge","ds-button-unfilled","ds-icon","ds-loader","ds-text","ds-tooltip"];s.forEach((s=>{switch(s){case"ds-modal":if(!customElements.get(i(s))){customElements.define(i(s),y)}break;case"ds-badge":if(!customElements.get(i(s))){r()}break;case"ds-button-unfilled":if(!customElements.get(i(s))){n()}break;case"ds-icon":if(!customElements.get(i(s))){c()}break;case"ds-loader":if(!customElements.get(i(s))){l()}break;case"ds-text":if(!customElements.get(i(s))){m()}break;case"ds-tooltip":if(!customElements.get(i(s))){h()}break}}))}x();export{y as M,x as d};
2
- //# sourceMappingURL=p-BfdYb8L4.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["modalCss","WIDTH_MAP","sm","md","lg","FOCUSABLE_SEL","join","modalIdCounter","Modal","__stencil_proxyCustomElement","HTMLElement","constructor","registerHost","this","open","description","closeAriaLabel","modalWidth","closing","hasFooter","titleId","descriptionId","dialogEl","previousFocus","closeTimer","loaded","tasks","ConnectionTasks","el","isConnected","connectedCallback","updateFooterPresence","onOpenChange","componentDidLoad","componentDidRender","closeAnimationMs","finishClose","setTimeout","disconnectedCallback","cancel","clearCloseTimer","close","isOpen","alreadyOpen","ownerDocument","activeElement","showModal","frame","focusClose","querySelector","setFocus","clearTimeout","requestClose","reason","originalEvent","dsClose","emit","slot","assignedNodes","some","node","nodeType","Node","TEXT_NODE","textContent","trim","handleCancel","event","preventDefault","handleBackdropPointerDown","target","handleKeyDown","key","focusables","Array","from","querySelectorAll","filter","element","hasAttribute","getAttribute","length","focus","first","last","active","document","shiftKey","resolvedWidth","describedBy","ids","ariaDescribedby","Boolean","undefined","resolveMotionTimeMs","TOKEN_DEFAULTS","motionShort2","animationDurationShort3","dsAfterClose","render","h","Host","ref","class","onCancel","onPointerDown","onKeyDown","style","width","as","variant","emphasis","color","lineTruncation","textId","heading","wrap","label","side","size","icon","activeFill","hasBorder","onDsClick","detail","name","onSlotchange","currentTarget"],"sources":["src/wc/components/Modal/Modal.css?tag=ds-modal&encapsulation=scoped","src/wc/components/Modal/Modal.tsx"],"sourcesContent":["@import '../../utils/radius.css';\n@import '../../utils/chrome-header.css';\n@import '../../utils/chrome-layout.css';\n@import '../../utils/forced-colors.css';\n\n:host {\n display: contents;\n}\n\n.modal-dialog {\n display: none;\n flex-direction: column;\n max-width: none;\n max-height: calc(100vh - 2 * var(--dimension-space-200));\n margin: auto;\n padding: 0;\n overflow: hidden;\n color: var(--color-foreground-primary);\n background-color: var(--color-background-primary);\n border: 0;\n border-radius: var(--ds-radius-modal);\n box-shadow: var(--effect-elevation-elevated-floating);\n outline: none;\n box-sizing: border-box;\n animation: modalDialogIn var(--effect-motion-short-2) forwards;\n}\n\n.modal-dialog[open] {\n display: flex;\n}\n\n.modal-dialog::backdrop {\n background-color: var(--color-background-shade);\n animation: modalBackdropIn var(--effect-motion-short-2) forwards;\n}\n\n.modal-dialog--closing {\n animation: modalDialogOut var(--effect-motion-short-2) forwards;\n}\n\n.modal-dialog--closing::backdrop {\n animation: modalBackdropOut var(--effect-motion-short-2) forwards;\n}\n\n@keyframes modalBackdropIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n\n@keyframes modalBackdropOut {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n}\n\n@keyframes modalDialogIn {\n from {\n opacity: 0;\n transform: scale(0.97) translateY(4px);\n }\n to {\n opacity: 1;\n transform: scale(1) translateY(0);\n }\n}\n\n@keyframes modalDialogOut {\n from {\n opacity: 1;\n transform: scale(1) translateY(0);\n }\n to {\n opacity: 0;\n transform: scale(0.97) translateY(4px);\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .modal-dialog[open],\n .modal-dialog--closing {\n animation: none;\n transform: none;\n }\n\n .modal-dialog::backdrop {\n animation: none;\n opacity: 1;\n }\n\n .modal-dialog--closing,\n .modal-dialog--closing::backdrop {\n opacity: 0;\n }\n}\n\n.modal-header {\n align-items: flex-start;\n flex: 0 0 auto;\n color: var(--color-foreground-primary);\n}\n\n.modal-copy,\nds-text.modal-heading,\nds-text.modal-description {\n width: auto;\n text-align: left;\n}\n\nds-text.modal-heading {\n -webkit-user-select: none;\n user-select: none;\n}\n\n.modal-close-tooltip {\n flex: 0 0 auto;\n}\n\n.modal-content {\n min-height: 0;\n padding: var(--dimension-space-200);\n overflow-y: auto;\n flex: 1 1 auto;\n box-sizing: border-box;\n}\n\n.modal-footer {\n justify-content: flex-start;\n height: var(--dimension-size-800);\n flex: 0 0 auto;\n border-top: var(--dimension-stroke-width-012) solid var(--color-border-tertiary);\n}\n\n.modal-footer__actions {\n display: flex;\n align-items: center;\n gap: var(--dimension-space-100);\n min-width: 0;\n}\n\n.modal-footer--empty {\n display: none;\n}\n\n.modal-footer__actions slot {\n display: contents;\n}\n\n@media (forced-colors: active) {\n .modal-dialog {\n box-shadow: none;\n outline: var(--dimension-stroke-width-012) solid var(--ds-forced-color-content);\n outline-offset: calc(-1 * var(--dimension-stroke-width-012));\n }\n}\n","import {\n Component,\n Prop,\n State,\n Event,\n EventEmitter,\n Element,\n Watch,\n h,\n Host,\n} from '@stencil/core';\nimport { resolveMotionTimeMs, TOKEN_DEFAULTS } from '../../utils';\nimport { ConnectionTasks } from '../../utils/connection-tasks';\n\nexport type ModalWidth = 'sm' | 'md' | 'lg';\nexport type ModalCloseReason = 'close-button' | 'escape' | 'backdrop';\n\nexport interface ModalCloseDetail {\n reason: ModalCloseReason;\n originalEvent: Event;\n}\n\nconst WIDTH_MAP: Record<ModalWidth, string> = {\n sm: 'var(--dimension-modal-width-sm)',\n md: 'var(--dimension-modal-width-md)',\n lg: 'var(--dimension-modal-width-lg)',\n};\n\nconst FOCUSABLE_SEL = [\n 'a[href]',\n 'area[href]',\n 'button:not([disabled])',\n 'input:not([disabled]):not([type=\"hidden\"])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n 'iframe',\n '[contenteditable=\"true\"]',\n '[tabindex]:not([tabindex=\"-1\"])',\n].join(',');\n\nlet modalIdCounter = 0;\n\n@Component({\n tag: 'ds-modal',\n styleUrl: 'Modal.css',\n scoped: true,\n})\nexport class Modal {\n @Element() el!: HTMLElement;\n\n @Prop({ mutable: true }) open: boolean = false;\n @Prop() heading!: string;\n /** Optional supporting copy shown below the heading. */\n @Prop() description: string = '';\n @Prop() closeAriaLabel: string = 'Close';\n @Prop() modalWidth: ModalWidth | string = 'md';\n /** Optional id reference for explanatory content in the default slot. */\n @Prop({ attribute: 'aria-describedby' }) ariaDescribedby: string | undefined;\n\n @State() private closing: boolean = false;\n @State() private hasFooter: boolean = false;\n\n /** Emitted when an internal dismissal control requests that the modal close. */\n @Event() dsClose!: EventEmitter<ModalCloseDetail>;\n /** Emitted after exit motion completes, the top layer closes, and focus is restored. */\n @Event() dsAfterClose!: EventEmitter<void>;\n\n private titleId = `ds-modal-title-${++modalIdCounter}`;\n private descriptionId = `${this.titleId}-description`;\n private dialogEl: HTMLDialogElement | null = null;\n private previousFocus: HTMLElement | null = null;\n private closeTimer: ReturnType<typeof setTimeout> | null = null;\n private loaded = false;\n private readonly tasks = new ConnectionTasks(() => this.el.isConnected);\n\n connectedCallback() {\n if (!this.loaded) return;\n this.updateFooterPresence();\n this.onOpenChange(this.open);\n }\n\n componentDidLoad() {\n this.loaded = true;\n this.updateFooterPresence();\n if (this.open) this.onOpenChange(true);\n }\n\n componentDidRender() {\n if (!this.el.isConnected) return;\n if (!this.closing || !this.dialogEl?.open || this.closeTimer) return;\n const closeAnimationMs = this.closeAnimationMs;\n if (closeAnimationMs <= 0) {\n this.finishClose();\n return;\n }\n this.closeTimer = setTimeout(() => {\n this.closeTimer = null;\n this.finishClose();\n }, closeAnimationMs);\n }\n\n disconnectedCallback() {\n this.tasks.cancel();\n this.clearCloseTimer();\n if (this.dialogEl?.open) this.dialogEl.close();\n this.closing = false;\n this.previousFocus = null;\n }\n\n @Watch('open')\n onOpenChange(isOpen: boolean) {\n if (!this.loaded || !this.el.isConnected) return;\n this.tasks.cancel();\n if (isOpen) {\n this.clearCloseTimer();\n const alreadyOpen = !!this.dialogEl?.open;\n this.closing = false;\n if (!this.dialogEl || alreadyOpen) return;\n this.previousFocus = this.el.ownerDocument.activeElement as HTMLElement | null;\n this.dialogEl.showModal();\n this.tasks.frame(() => {\n if (this.open && this.dialogEl?.open) this.focusClose();\n });\n } else if (this.dialogEl?.open) {\n this.closing = true;\n }\n }\n\n private focusClose() {\n const close = this.el.querySelector('ds-button-unfilled.modal-close') as\n | (HTMLElement & { setFocus?: () => Promise<void> })\n | null;\n void close?.setFocus?.();\n }\n\n private clearCloseTimer() {\n if (this.closeTimer) {\n clearTimeout(this.closeTimer);\n this.closeTimer = null;\n }\n }\n\n private requestClose(reason: ModalCloseReason, originalEvent: Event) {\n if (!this.open || this.closing || !this.dialogEl?.open) return;\n this.dsClose.emit({ reason, originalEvent });\n this.open = false;\n }\n\n private updateFooterPresence(slot?: HTMLSlotElement) {\n const assignedNodes = slot?.assignedNodes() ?? [];\n this.hasFooter =\n assignedNodes.some(node => node.nodeType !== Node.TEXT_NODE || !!node.textContent?.trim()) ||\n this.el.querySelector('[slot=\"footer\"]') !== null;\n }\n\n private handleCancel(event: Event) {\n event.preventDefault();\n this.requestClose('escape', event);\n }\n\n private handleBackdropPointerDown(event: PointerEvent) {\n if (event.target === this.dialogEl) this.requestClose('backdrop', event);\n }\n\n private handleKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n event.preventDefault();\n this.requestClose('escape', event);\n return;\n }\n if (event.key !== 'Tab' || !this.dialogEl) return;\n const focusables = Array.from(\n this.dialogEl.querySelectorAll<HTMLElement>(FOCUSABLE_SEL)\n ).filter(\n element => !element.hasAttribute('disabled') && element.getAttribute('aria-hidden') !== 'true'\n );\n if (!focusables.length) {\n event.preventDefault();\n this.dialogEl.focus();\n return;\n }\n const first = focusables[0];\n const last = focusables[focusables.length - 1];\n const active = document.activeElement;\n if (event.shiftKey && (active === first || active === this.dialogEl)) {\n event.preventDefault();\n last.focus();\n } else if (!event.shiftKey && active === last) {\n event.preventDefault();\n first.focus();\n }\n }\n\n private get resolvedWidth(): string {\n if (this.modalWidth === 'sm' || this.modalWidth === 'md' || this.modalWidth === 'lg') {\n return WIDTH_MAP[this.modalWidth];\n }\n return this.modalWidth as string;\n }\n\n private get describedBy(): string | undefined {\n const ids = [this.description ? this.descriptionId : '', this.ariaDescribedby ?? ''].filter(\n Boolean\n );\n return ids.length > 0 ? ids.join(' ') : undefined;\n }\n\n private get closeAnimationMs(): number {\n return resolveMotionTimeMs(TOKEN_DEFAULTS.motionShort2, TOKEN_DEFAULTS.animationDurationShort3);\n }\n\n private finishClose() {\n if (this.open || !this.el.isConnected || !this.dialogEl?.open) return;\n this.dialogEl.close();\n this.closing = false;\n this.clearCloseTimer();\n this.previousFocus?.focus?.();\n this.previousFocus = null;\n this.dsAfterClose.emit();\n }\n\n render() {\n return (\n <Host>\n <dialog\n ref={(element?: HTMLDialogElement) => {\n this.dialogEl = element ?? null;\n }}\n class={{ 'modal-dialog': true, 'modal-dialog--closing': this.closing }}\n aria-labelledby={this.titleId}\n aria-describedby={this.describedBy}\n onCancel={(event: Event) => this.handleCancel(event)}\n onPointerDown={(event: PointerEvent) => this.handleBackdropPointerDown(event)}\n onKeyDown={(event: KeyboardEvent) => this.handleKeyDown(event)}\n style={{\n width: `min(${this.resolvedWidth}, calc(100vw - 2 * var(--dimension-space-200)))`,\n }}\n >\n <div class=\"modal-header ds-chrome-header ds-chrome-header--bounded\">\n <div class=\"modal-copy ds-chrome-header__copy ds-chrome-header__copy--stacked ds-control--md\">\n <ds-text\n class=\"modal-heading ds-chrome-header__heading\"\n as=\"h2\"\n variant=\"text-title-small\"\n emphasis\n color=\"primary\"\n lineTruncation={1}\n textId={this.titleId}\n >\n {this.heading}\n </ds-text>\n {this.description ? (\n <ds-text\n class=\"modal-description ds-chrome-header__description\"\n as=\"p\"\n variant=\"text-body-medium\"\n color=\"secondary\"\n wrap=\"wrap\"\n textId={this.descriptionId}\n >\n {this.description}\n </ds-text>\n ) : null}\n </div>\n <ds-tooltip\n class=\"modal-close-tooltip ds-chrome-header__trailing\"\n label={this.closeAriaLabel}\n side=\"bottom\"\n size=\"sm\"\n >\n <ds-button-unfilled\n class=\"modal-close\"\n variant=\"icon\"\n icon=\"Cross\"\n size=\"md\"\n aria-label={this.closeAriaLabel}\n activeFill={false}\n hasBorder={false}\n onDsClick={(event: CustomEvent<MouseEvent>) =>\n this.requestClose('close-button', event.detail)\n }\n />\n </ds-tooltip>\n </div>\n <div class=\"modal-content\">\n <slot />\n </div>\n <div\n class={{\n 'modal-footer': true,\n 'ds-chrome-row': true,\n 'ds-chrome-space--lg': true,\n 'modal-footer--empty': !this.hasFooter,\n }}\n >\n <div class=\"modal-footer__actions\">\n <slot\n name=\"footer\"\n onSlotchange={(event: Event) =>\n this.updateFooterPresence(event.currentTarget as HTMLSlotElement)\n }\n />\n </div>\n </div>\n </dialog>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{p as s,H as e,c as t,h as i,a as o,t as l}from"./index.js";import{o as a,a as r,r as n,b as h,d}from"./p-iEhBF5Oi.js";import{i as c,r as m,a as u}from"./p-QU4czL2k.js";import{d as b}from"./p-CzTJAO2J.js";import{d as p}from"./p-BrB05_X8.js";import{d as f}from"./p-D_iZPukF.js";import{d as g}from"./p-BVsVUnAw.js";import{d as v}from"./p-0XTyQNRG.js";import{d as k}from"./p-z_8aZHHo.js";import{d as _}from"./p-BQE2Uj4p.js";import{d as w}from"./p-YmJYwnhW.js";import{d as y}from"./p-lJeAJKa5.js";import{d as E}from"./p-Ch00yccW.js";import{d as j}from"./p-CAARHqjE.js";import{d as C}from"./p-0EpjqRWc.js";import{d as x}from"./p-M9pOLcyK.js";import{d as A}from"./p-CTAF7SkL.js";import{d as L}from"./p-PNY7auMh.js";const T=()=>`:host{display:block;min-width:0;min-height:0;height:100%;background:transparent}:host([responsive-mode='mobile']){width:100%;background:var(--color-background-primary)}.shell-tools__desktop,.shell-tools__desktop ds-panel-tools,.shell-tools__mobile{display:block;min-width:0;min-height:0;height:100%}.shell-tools__slot-proxy{display:block;width:100%;height:100%;min-width:0;min-height:0}.shell-tools__mobile{display:grid;grid-template-rows:auto minmax(0, 1fr);background:var(--color-background-primary)}.shell-tools__mobile-header{grid-row:1}.shell-tools__mobile-body,.shell-tools__view{min-width:0;min-height:0;height:100%}.shell-tools__mobile-body{grid-row:2;overflow:hidden}.shell-tools__view{overflow:auto;overscroll-behavior:contain}.shell-tools__view[hidden]{display:none}.shell-tools__view ::slotted(*){min-height:0}`;const H=s(class s extends e{constructor(s){super();if(s!==false){this.__registerHost()}this.__attachShadow();this.dsToolChange=t(this,"dsToolChange",7);this.dsPresentationChange=t(this,"dsPresentationChange",7);this.dsHeaderBack=t(this,"dsHeaderBack",7);this.dsHeaderAction=t(this,"dsHeaderAction",7);this.dsRailAccessoryAction=t(this,"dsRailAccessoryAction",7);this.responsiveMode="desktop";this.open=false;this.activeTool="";this.presentation="drawer";this.fullscreenHeaderMode="shared";this.items=[];this.accessories=[];this.headers={};this.storageKey="";this.toolsLabel="Tools";this.toolShortcutsLabel="Tool shortcuts";this.inboxLabel="Inbox";this.inboxNavigationLabel="Inbox sections";this.panelToolsEl=null;this.selectInboxTool=s=>{const e=s.detail;if(!this.availableInboxTools.includes(e)||e===this.mobileActiveTool)return;this.open=true;this.activeTool=e;this.dsToolChange.emit({id:e,selected:true})};this.handlePanelToolChange=s=>{this.activeTool=s.detail.id;this.open=s.detail.selected};this.handlePanelPresentationChange=s=>{this.presentation=s.detail.presentation};this.handlePanelRailAccessoryAction=s=>{s.stopPropagation();this.dsRailAccessoryAction.emit(s.detail)};this.handleMobileHeaderAction=(s,e,t)=>{t.stopPropagation();this.dsHeaderAction.emit({tool:s,id:e})}}presentationChanged(s,e){if(s===e)return;if(this.panelToolsEl&&this.panelToolsEl.getAttribute("presentation")!==s){this.panelToolsEl.setAttribute("presentation",s)}}get resolvedItems(){return this.items??[]}get availableInboxTools(){return this.resolvedItems.filter((s=>!s.isInactive&&c(s))).map((s=>s.id))}get mobileViewOrder(){return a(this.resolvedItems).map((s=>s.id))}toolLabel(s){const e=this.resolvedItems.find((e=>e.id===s));return e?.label??e?.ariaLabel??r[s]??s}get mobileActiveTool(){const s=this.resolvedItems.find((s=>s.id===this.activeTool));const e=s?c(s):u(this.activeTool);if(!e)return this.activeTool;return m(this.activeTool,this.availableInboxTools)}componentWillLoad(){this.reconcileAvailability()}handleItemsChange(){this.reconcileAvailability()}reconcileAvailability(){const s=n(this.resolvedItems,this.open,this.activeTool);this.open=s.open;this.activeTool=s.activeTool}resolvedHeaders(){return this.headers??{}}activeHeader(s){return this.resolvedHeaders()[s]??{}}activateMobileTool(s){const e=this.resolvedItems.find((e=>e.id===s));if(!e||e.isInactive)return;const t=h(this.open,this.activeTool,s);this.open=t.open;this.activeTool=t.activeTool;this.dsToolChange.emit({id:s,selected:t.selected})}async activateTool(s){if(this.responsiveMode!=="mobile"){await(this.panelToolsEl?.activateTool(s));return}this.activateMobileTool(s)}async closeDrawer(){if(this.responsiveMode!=="mobile"){await(this.panelToolsEl?.closeDrawer());return}if(!this.open)return;const s=this.activeTool;this.open=false;if(s)this.dsToolChange.emit({id:s,selected:false})}async focusHeaderAction(s){if(this.responsiveMode!=="mobile"){await(this.panelToolsEl?.focusHeaderAction(s));return}const e=(this.el.shadowRoot??this.el).querySelector(`[data-header-action-id="${CSS.escape(s)}"]`);await(e?.setFocus?.())}renderForwardedSlots(){return this.mobileViewOrder.flatMap((s=>[i("div",{key:`tool:${s}`,class:"shell-tools__slot-proxy",slot:s},i("slot",{name:s})),i("div",{key:`tool-view:${s}`,class:"shell-tools__slot-proxy",slot:`${s}-view`},i("slot",{name:`${s}-view`}))]))}renderDesktop(){return i("div",{class:"shell-tools__desktop"},i("ds-panel-tools",{open:this.open,activeTool:this.activeTool,presentation:this.presentation,fullscreenHeaderMode:this.fullscreenHeaderMode,items:this.resolvedItems,accessories:this.accessories??[],headers:this.resolvedHeaders(),storageKey:this.storageKey,toolsLabel:this.toolsLabel,toolShortcutsLabel:this.toolShortcutsLabel,ref:s=>{this.panelToolsEl=s},onDsToolChange:this.handlePanelToolChange,onDsPresentationChange:this.handlePanelPresentationChange,onDsRailAccessoryAction:this.handlePanelRailAccessoryAction},this.renderForwardedSlots()))}renderMobileHeader(s){const e=this.activeHeader(s);const t=e.title?.trim();const o=t||this.toolLabel(s);const l=(e.actions??[]).filter((s=>s.id!=="fullscreen"));const a=this.resolvedItems.find((e=>e.id===s));const r=Boolean(a&&c(a)&&!e.showBack);const n=r?this.availableInboxTools.map((s=>{const e=this.resolvedItems.find((e=>e.id===s));return{id:s,label:this.toolLabel(s),variant:"label",dot:e?.dot}})):[];return i("ds-mobile-header",{class:"shell-tools__mobile-header",heading:o,headingLevel:"h2",sections:n,value:s,sectionsAriaLabel:this.inboxNavigationLabel,sectionsPresentation:r?"segmented":"switcher",sectionsSize:"lg",onDsSectionChange:this.selectInboxTool},e.showBack?i("ds-tooltip",{slot:"leading",label:e.backAriaLabel||"Back",side:"bottom",size:"sm"},i("ds-button-unfilled",{variant:"icon",icon:e.backIcon||"ChevronLeft",size:"md","aria-label":e.backAriaLabel||"Back",activeFill:false,hasBorder:false,onDsClick:()=>this.dsHeaderBack.emit({tool:s})})):null,l.map((e=>i("ds-tooltip",{slot:"trailing",key:e.id,label:e.ariaLabel,side:"bottom",size:"sm"},i("ds-button-unfilled",{id:e.triggerId||undefined,"data-header-action-id":e.id,variant:"icon",icon:e.icon,size:"md","aria-label":e.ariaLabel,haspopup:e.haspopup,controls:e.controls,expanded:e.expanded,surfaceOpen:e.surfaceOpen,pressed:e.pressed,isInactive:e.isInactive,activeFill:false,hasBorder:false,onDsClick:t=>this.handleMobileHeaderAction(s,e.id,t)})))))}renderMobile(){const s=this.mobileActiveTool;return i("div",{class:"shell-tools__mobile","aria-hidden":this.open&&s?undefined:"true",inert:this.open&&s?undefined:true},s?this.renderMobileHeader(s):null,i("div",{class:"shell-tools__mobile-body"},this.mobileViewOrder.map((e=>{const t=this.open&&e===s;return i("div",{key:`mobile-tool-view:${e}`,class:{"shell-tools__view":true,"shell-tools__view--active":t},hidden:!t,"aria-hidden":t?undefined:"true",inert:t?undefined:true},i("slot",{name:`${e}-view`},i("slot",{name:e})))}))))}render(){const s=this.responsiveMode==="mobile";return i(o,{key:"35dcb1e6d30909cd3df7347ae3ed034b69bc96b9",role:s?this.presentation==="fullscreen"?"dialog":"complementary":undefined,"aria-modal":s&&this.presentation==="fullscreen"?"true":undefined,"aria-label":s?this.toolsLabel:undefined},s?this.renderMobile():this.renderDesktop())}get el(){return this}static get watchers(){return{presentation:[{presentationChanged:0}],items:[{handleItemsChange:0}]}}static get style(){return T()}},[257,"ds-shell-tools",{responsiveMode:[513,"responsive-mode"],open:[1540],activeTool:[1537,"active-tool"],presentation:[1537],fullscreenHeaderMode:[513,"fullscreen-header-mode"],items:[16],accessories:[16],headers:[16],storageKey:[1,"storage-key"],toolsLabel:[1,"tools-label"],toolShortcutsLabel:[1,"tool-shortcuts-label"],inboxLabel:[1,"inbox-label"],inboxNavigationLabel:[1,"inbox-navigation-label"],activateTool:[64],closeDrawer:[64],focusHeaderAction:[64]},undefined,{presentation:[{presentationChanged:0}],items:[{handleItemsChange:0}]}]);function B(){if(typeof customElements==="undefined"){return}const s=["ds-shell-tools","ds-badge","ds-button-unfilled","ds-divider","ds-icon","ds-loader","ds-menu","ds-mobile-header","ds-mobile-section-switcher","ds-panel-tool-header","ds-panel-tools","ds-swatch-picker","ds-switch","ds-tab-group","ds-tag","ds-text","ds-tooltip"];s.forEach((s=>{switch(s){case"ds-shell-tools":if(!customElements.get(l(s))){customElements.define(l(s),H)}break;case"ds-badge":if(!customElements.get(l(s))){b()}break;case"ds-button-unfilled":if(!customElements.get(l(s))){p()}break;case"ds-divider":if(!customElements.get(l(s))){f()}break;case"ds-icon":if(!customElements.get(l(s))){g()}break;case"ds-loader":if(!customElements.get(l(s))){v()}break;case"ds-menu":if(!customElements.get(l(s))){k()}break;case"ds-mobile-header":if(!customElements.get(l(s))){_()}break;case"ds-mobile-section-switcher":if(!customElements.get(l(s))){w()}break;case"ds-panel-tool-header":if(!customElements.get(l(s))){y()}break;case"ds-panel-tools":if(!customElements.get(l(s))){d()}break;case"ds-swatch-picker":if(!customElements.get(l(s))){E()}break;case"ds-switch":if(!customElements.get(l(s))){j()}break;case"ds-tab-group":if(!customElements.get(l(s))){C()}break;case"ds-tag":if(!customElements.get(l(s))){x()}break;case"ds-text":if(!customElements.get(l(s))){A()}break;case"ds-tooltip":if(!customElements.get(l(s))){L()}break}}))}B();export{H as S,B as d};
2
- //# sourceMappingURL=p-BuwYiPCW.js.map