@m3e/web 2.5.6 → 2.5.8

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 (62) hide show
  1. package/dist/all.js +3844 -911
  2. package/dist/all.js.map +1 -1
  3. package/dist/all.min.js +120 -57
  4. package/dist/all.min.js.map +1 -1
  5. package/dist/card.js +2 -2
  6. package/dist/card.js.map +1 -1
  7. package/dist/card.min.js +1 -1
  8. package/dist/card.min.js.map +1 -1
  9. package/dist/content-pane.js +1 -1
  10. package/dist/content-pane.js.map +1 -1
  11. package/dist/content-pane.min.js +1 -1
  12. package/dist/content-pane.min.js.map +1 -1
  13. package/dist/core.js +20 -4
  14. package/dist/core.js.map +1 -1
  15. package/dist/core.min.js +1 -1
  16. package/dist/core.min.js.map +1 -1
  17. package/dist/css-custom-data.json +307 -292
  18. package/dist/custom-elements.json +2749 -2542
  19. package/dist/drawer-container.js +13 -7
  20. package/dist/drawer-container.js.map +1 -1
  21. package/dist/drawer-container.min.js +1 -1
  22. package/dist/drawer-container.min.js.map +1 -1
  23. package/dist/html-custom-data.json +105 -105
  24. package/dist/loading-indicator.js +8 -8
  25. package/dist/loading-indicator.js.map +1 -1
  26. package/dist/loading-indicator.min.js +1 -1
  27. package/dist/loading-indicator.min.js.map +1 -1
  28. package/dist/slide-group.js +6 -1
  29. package/dist/slide-group.js.map +1 -1
  30. package/dist/slide-group.min.js +1 -1
  31. package/dist/slide-group.min.js.map +1 -1
  32. package/dist/snackbar.js +2 -2
  33. package/dist/snackbar.js.map +1 -1
  34. package/dist/snackbar.min.js +1 -1
  35. package/dist/snackbar.min.js.map +1 -1
  36. package/dist/src/card/styles/CardStyle.d.ts.map +1 -1
  37. package/dist/src/content-pane/ContentPaneElement.d.ts.map +1 -1
  38. package/dist/src/core/shared/controllers/ScrollController.d.ts.map +1 -1
  39. package/dist/src/drawer-container/DrawerContainerElement.d.ts.map +1 -1
  40. package/dist/src/drawer-container/DrawerToggleElement.d.ts.map +1 -1
  41. package/dist/src/loading-indicator/LoadingIndicatorElement.d.ts +1 -1
  42. package/dist/src/loading-indicator/LoadingIndicatorElement.d.ts.map +1 -1
  43. package/dist/src/slide-group/SlideGroupElement.d.ts.map +1 -1
  44. package/dist/src/snackbar/SnackbarElement.d.ts.map +1 -1
  45. package/dist/src/tabs/TabsElement.d.ts +2 -1
  46. package/dist/src/tabs/TabsElement.d.ts.map +1 -1
  47. package/dist/src/theme/ThemeElement.d.ts.map +1 -1
  48. package/dist/src/toc/TocElement.d.ts +4 -0
  49. package/dist/src/toc/TocElement.d.ts.map +1 -1
  50. package/dist/tabs.js +186 -15
  51. package/dist/tabs.js.map +1 -1
  52. package/dist/tabs.min.js +1 -1
  53. package/dist/tabs.min.js.map +1 -1
  54. package/dist/theme.js +3564 -846
  55. package/dist/theme.js.map +1 -1
  56. package/dist/theme.min.js +94 -31
  57. package/dist/theme.min.js.map +1 -1
  58. package/dist/toc.js +23 -6
  59. package/dist/toc.js.map +1 -1
  60. package/dist/toc.min.js +1 -1
  61. package/dist/toc.min.js.map +1 -1
  62. package/package.json +2 -2
package/dist/card.js CHANGED
@@ -132,8 +132,8 @@ const CardVariantToken = {
132
132
  * Baseline styles for `M3eCardElement`.
133
133
  * @internal
134
134
  */
135
- const CardStyle = css`:host { outline: none; } :host(:not([inline])) { display: block; } :host(:not([inline])) .base { display: flex; } :host([inline]) { display: inline-block; vertical-align: middle; } :host([inline]) .base { display: inline-flex; } .base { width: 100%; height: 100%; position: relative; box-sizing: border-box; border-radius: ${CardToken.shape}; transition: ${unsafeCSS(`background-color ${DesignToken.motion.duration.short4} ${DesignToken.motion.easing.standard},
136
- border-color ${DesignToken.motion.duration.short4} ${DesignToken.motion.easing.standard}`)}; } :host([actionable]) { user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } :host([actionable]:not(:disabled):not([disabled-interactive])) { cursor: pointer; } :host([actionable][disabled-interactive]) { cursor: not-allowed; } :host(:not([actionable])) .focus-ring, :host(:not([actionable])) .state-layer, :host(:not([actionable])) .ripple { display: none; } :host([variant="outlined"]) .base { border-style: solid; } ::slotted([slot="content"]) { flex: 1 1 auto; } ::slotted(img), ::slotted(video) { inset: 0; object-fit: cover; } ::slotted(img[slot="header"]), ::slotted(video[slot="header"]) { border-radius: ${CardToken.shape}; } ::slotted([slot="actions"][end]) { justify-content: flex-end; } ::slotted([slot="header"]), ::slotted([slot="actions"]), ::slotted([slot="footer"]) { flex: none; display: flex; align-items: center; } :host([orientation="vertical"]) .base, :host([orientation="horizontal"]) ::slotted([slot="header"]), :host([orientation="horizontal"]) ::slotted([slot="actions"]), :host([orientation="horizontal"]) ::slotted([slot="footer"]) { flex-direction: column; } :host([orientation="horizontal"]) .base, :host([orientation="vertical"]) ::slotted([slot="header"]), :host([orientation="vertical"]) ::slotted([slot="actions"]), :host([orientation="vertical"]) ::slotted([slot="footer"]) { flex-direction: row; } :host([orientation="horizontal"]) ::slotted(img), :host([orientation="horizontal"]) ::slotted(video) { aspect-ratio: 16 / 9; } .has-content:not(.has-default) slot[name="content"], .has-content.has-default slot:not([name]) { display: inherit; flex-direction: inherit; flex: 1 1 auto; } .has-header slot[name="header"], .has-actions slot[name="actions"], .has-footer slot[name="footer"] { display: inherit; flex-direction: inherit; flex: none; } :host([orientation="vertical"]) .has-content:not(.has-default) slot[name="content"] { margin-inline: ${CardToken.padding}; } :host([orientation="vertical"]) .has-content:not(.has-default):not(.has-header) slot[name="content"] { margin-block-start: ${CardToken.padding}; } :host([orientation="vertical"]) .has-content:not(.has-default):not(.has-actions):not(.has-footer) slot[name="content"] { margin-block-end: ${CardToken.padding}; } :host([orientation="horizontal"]) .has-content:not(.has-default) slot[name="content"] { margin-block: ${CardToken.padding}; } :host([orientation="horizontal"]) .has-content:not(.has-default):not(.has-header) slot[name="content"] { margin-inline-start: ${CardToken.padding}; } :host([orientation="horizontal"]) .has-content:not(.has-default):not(.has-actions):not(.has-footer) slot[name="content"] { margin-inline-end: ${CardToken.padding}; } :host([orientation="vertical"]) .has-header:not(.has-header-media) slot[name="header"] { margin-inline: ${CardToken.padding}; margin-block-start: ${CardToken.padding}; } :host([orientation="horizontal"]) .has-header:not(.has-header-media) slot[name="header"] { margin-inline-start: ${CardToken.padding}; margin-block: ${CardToken.padding}; } .has-actions slot[name="actions"] { margin-inline: ${CardToken.padding}; margin-block: ${CardToken.padding}; } :host([orientation="vertical"]) .has-footer slot[name="footer"] { margin-inline: ${CardToken.padding}; margin-block-end: ${CardToken.padding}; } :host([orientation="horizontal"]) .has-footer slot[name="footer"] { margin-block: ${CardToken.padding}; margin-inline-end: ${CardToken.padding}; } a { all: unset; display: block; position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px; z-index: 1; } @media (forced-colors: active) { .base { transition: none; } :host([variant]) .base { border-style: solid; border-color: CanvasText; border-width: ${CardVariantToken.outlined.outlineThickness ?? unsafeCSS("unset")}; } :host([actionable][variant]:disabled) .base, :host([actionable][variant][disabled-interactive]) .base { color: GrayText; border-color: GrayText; } } @media (prefers-reduced-motion) { .base { transition: none; } }`;
135
+ const CardStyle = css`:host { outline: none; } :host(:not([inline])) { display: block; } :host(:not([inline])) .base { display: flex; } :host([inline]) { display: inline-block; vertical-align: middle; } :host([inline]) .base { display: inline-flex; } .base { width: 100%; height: 100%; position: relative; box-sizing: border-box; border-radius: ${CardToken.shape}; } :host([actionable]) .base { transition: ${unsafeCSS(`background-color ${DesignToken.motion.duration.short4} ${DesignToken.motion.easing.standard},
136
+ border-color ${DesignToken.motion.duration.short4} ${DesignToken.motion.easing.standard}`)}; } :host([actionable]) { user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } :host([actionable]:not(:disabled):not([disabled-interactive])) { cursor: pointer; } :host([actionable][disabled-interactive]) { cursor: not-allowed; } :host(:not([actionable])) .focus-ring, :host(:not([actionable])) .state-layer, :host(:not([actionable])) .ripple { display: none; } :host([variant="outlined"]) .base { border-style: solid; } ::slotted([slot="content"]) { flex: 1 1 auto; } ::slotted(img), ::slotted(video) { inset: 0; object-fit: cover; } ::slotted(img[slot="header"]), ::slotted(video[slot="header"]) { border-radius: ${CardToken.shape}; } ::slotted([slot="actions"][end]) { justify-content: flex-end; } ::slotted([slot="header"]), ::slotted([slot="actions"]), ::slotted([slot="footer"]) { flex: none; display: flex; align-items: center; } :host([orientation="vertical"]) .base, :host([orientation="horizontal"]) ::slotted([slot="header"]), :host([orientation="horizontal"]) ::slotted([slot="actions"]), :host([orientation="horizontal"]) ::slotted([slot="footer"]) { flex-direction: column; } :host([orientation="horizontal"]) .base, :host([orientation="vertical"]) ::slotted([slot="header"]), :host([orientation="vertical"]) ::slotted([slot="actions"]), :host([orientation="vertical"]) ::slotted([slot="footer"]) { flex-direction: row; } :host([orientation="horizontal"]) ::slotted(img), :host([orientation="horizontal"]) ::slotted(video) { aspect-ratio: 16 / 9; } .has-content:not(.has-default) slot[name="content"], .has-content.has-default slot:not([name]) { display: inherit; flex-direction: inherit; flex: 1 1 auto; } .has-header slot[name="header"], .has-actions slot[name="actions"], .has-footer slot[name="footer"] { display: inherit; flex-direction: inherit; flex: none; } :host([orientation="vertical"]) .has-content:not(.has-default) slot[name="content"] { margin-inline: ${CardToken.padding}; } :host([orientation="vertical"]) .has-content:not(.has-default):not(.has-header) slot[name="content"] { margin-block-start: ${CardToken.padding}; } :host([orientation="vertical"]) .has-content:not(.has-default):not(.has-actions):not(.has-footer) slot[name="content"] { margin-block-end: ${CardToken.padding}; } :host([orientation="horizontal"]) .has-content:not(.has-default) slot[name="content"] { margin-block: ${CardToken.padding}; } :host([orientation="horizontal"]) .has-content:not(.has-default):not(.has-header) slot[name="content"] { margin-inline-start: ${CardToken.padding}; } :host([orientation="horizontal"]) .has-content:not(.has-default):not(.has-actions):not(.has-footer) slot[name="content"] { margin-inline-end: ${CardToken.padding}; } :host([orientation="vertical"]) .has-header:not(.has-header-media) slot[name="header"] { margin-inline: ${CardToken.padding}; margin-block-start: ${CardToken.padding}; } :host([orientation="horizontal"]) .has-header:not(.has-header-media) slot[name="header"] { margin-inline-start: ${CardToken.padding}; margin-block: ${CardToken.padding}; } .has-actions slot[name="actions"] { margin-inline: ${CardToken.padding}; margin-block: ${CardToken.padding}; } :host([orientation="vertical"]) .has-footer slot[name="footer"] { margin-inline: ${CardToken.padding}; margin-block-end: ${CardToken.padding}; } :host([orientation="horizontal"]) .has-footer slot[name="footer"] { margin-block: ${CardToken.padding}; margin-inline-end: ${CardToken.padding}; } a { all: unset; display: block; position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px; z-index: 1; } @media (forced-colors: active) { :host([actionable]) .base { transition: none; } :host([variant]) .base { border-style: solid; border-color: CanvasText; border-width: ${CardVariantToken.outlined.outlineThickness ?? unsafeCSS("unset")}; } :host([actionable][variant]:disabled) .base, :host([actionable][variant][disabled-interactive]) .base { color: GrayText; border-color: GrayText; } } @media (prefers-reduced-motion) { :host([actionable]) .base { transition: none; } }`;
137
137
 
138
138
  /** @private */
139
139
  function cardVariantStyle(variant) {
package/dist/card.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"card.js","sources":["../../src/card/styles/CardToken.ts","../../src/card/styles/CardVariantToken.ts","../../src/card/styles/CardStyle.ts","../../src/card/styles/CardVariantStyle.ts","../../src/card/CardElement.ts"],"sourcesContent":["import { unsafeCSS } from \"lit\";\r\n\r\nimport { DesignToken } from \"@m3e/web/core\";\r\n\r\n/**\r\n * Component design tokens for `M3eCardElement`.\r\n * @internal\r\n */\r\nexport const CardToken = {\r\n padding: unsafeCSS(\"var(--m3e-card-padding, 1rem)\"),\r\n shape: unsafeCSS(`var(--m3e-card-shape, ${DesignToken.shape.corner.medium});`),\r\n} as const;\r\n","import { CSSResult, unsafeCSS } from \"lit\";\r\n\r\nimport { DesignToken } from \"@m3e/web/core\";\r\n\r\nimport { CardVariant } from \"../CardVariant\";\r\n\r\n/** @private */\r\ntype _CardVariantToken = {\r\n textColor: CSSResult;\r\n containerColor: CSSResult;\r\n containerElevation: CSSResult;\r\n outlineColor?: CSSResult;\r\n outlineThickness?: CSSResult;\r\n disabled: {\r\n textColor: CSSResult;\r\n textOpacity: CSSResult;\r\n imageOpacity: CSSResult;\r\n containerColor?: CSSResult;\r\n containerOpacity?: CSSResult;\r\n containerElevation: CSSResult;\r\n containerElevationColor: CSSResult;\r\n containerElevationOpacity: CSSResult;\r\n outlineColor?: CSSResult;\r\n outlineOpacity?: CSSResult;\r\n };\r\n hover: {\r\n textColor: CSSResult;\r\n stateLayerColor: CSSResult;\r\n stateLayerOpacity: CSSResult;\r\n containerElevation?: CSSResult;\r\n outlineColor?: CSSResult;\r\n };\r\n focus: {\r\n textColor: CSSResult;\r\n stateLayerColor: CSSResult;\r\n stateLayerOpacity: CSSResult;\r\n containerElevation?: CSSResult;\r\n outlineColor?: CSSResult;\r\n };\r\n pressed: {\r\n textColor: CSSResult;\r\n stateLayerColor: CSSResult;\r\n stateLayerOpacity: CSSResult;\r\n containerElevation?: CSSResult;\r\n outlineColor?: CSSResult;\r\n };\r\n};\r\n\r\n/**\r\n * Component design tokens that control the appearance variants of `M3eCardElement`.\r\n * @internal\r\n */\r\nexport const CardVariantToken: Record<CardVariant, _CardVariantToken> = {\r\n filled: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-filled-card-text-color, var(--m3e-card-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n containerColor: unsafeCSS(\r\n `var(--m3e-filled-card-container-color, var(--m3e-card-container-color, ${DesignToken.color.surfaceContainerHighest}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-filled-card-container-elevation, var(--m3e-card-container-elevation, ${DesignToken.elevation.level0}))`,\r\n ),\r\n disabled: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-filled-card-disabled-text-color, var(--m3e-card-disabled-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n textOpacity: unsafeCSS(\r\n `var(--m3e-filled-card-disabled-text-opacity, var(--m3e-card-disabled-text-opacity, 38%))`,\r\n ),\r\n imageOpacity: unsafeCSS(\r\n `var(--m3e-filled-card-disabled-image-opacity, var(--m3e-card-disabled-image-opacity, 38%))`,\r\n ),\r\n containerColor: unsafeCSS(\r\n `var(--m3e-filled-card-disabled-container-color, var(--m3e-card-disabled-container-color, ${DesignToken.color.surfaceVariant}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-filled-card-disabled-container-elevation, var(--m3e-card-disabled-container-elevation, ${DesignToken.elevation.level0}))`,\r\n ),\r\n containerElevationColor: unsafeCSS(\r\n `var(--m3e-filled-card-disabled-container-elevation-color, var(--m3e-card-disabled-container-elevation-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n containerElevationOpacity: unsafeCSS(\r\n `var(--m3e-filled-card-disabled-container-elevation-opacity, var(--m3e-card-disabled-container-elevation-opacity, 38%))`,\r\n ),\r\n containerOpacity: unsafeCSS(\r\n `var(--m3e-filled-card-disabled-container-opacity, var(--m3e-card-disabled-container-opacity, 38%))`,\r\n ),\r\n },\r\n hover: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-filled-card-hover-text-color, var(--m3e-card-hover-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-filled-card-hover-state-layer-color, var(--m3e-card-hover-state-layer-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-filled-card-hover-state-layer-opacity, var(--m3e-card-hover-state-layer-opacity, ${DesignToken.state.hoverStateLayerOpacity}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-filled-card-hover-container-elevation, var(--m3e-card-hover-container-elevation, ${DesignToken.elevation.level1}))`,\r\n ),\r\n },\r\n focus: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-filled-card-focus-text-color, var(--m3e-card-focus-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-filled-card-focus-state-layer-color, var(--m3e-card-focus-state-layer-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-filled-card-focus-state-layer-opacity, var(--m3e-card-focus-state-layer-opacity, ${DesignToken.state.focusStateLayerOpacity}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-filled-card-focus-container-elevation, var(--m3e-card-focus-container-elevation, ${DesignToken.elevation.level0}))`,\r\n ),\r\n },\r\n pressed: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-filled-card-pressed-text-color, var(--m3e-card-pressed-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-filled-card-pressed-state-layer-color, var(--m3e-card-pressed-state-layer-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-filled-card-pressed-state-layer-opacity, var(--m3e-card-pressed-state-layer-opacity, ${DesignToken.state.pressedStateLayerOpacity}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-filled-card-pressed-container-elevation, var(--m3e-card-pressed-container-elevation, ${DesignToken.elevation.level0}))`,\r\n ),\r\n },\r\n },\r\n elevated: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-elevated-card-text-color, var(--m3e-card-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n containerColor: unsafeCSS(\r\n `var(--m3e-elevated-card-container-color, var(--m3e-card-container-color, ${DesignToken.color.surfaceContainerLow}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-elevated-card-container-elevation, var(--m3e-card-container-elevation, ${DesignToken.elevation.level1}))`,\r\n ),\r\n disabled: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-elevated-card-disabled-text-color, var(--m3e-card-disabled-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n textOpacity: unsafeCSS(\r\n `var(--m3e-elevated-card-disabled-text-opacity, var(--m3e-card-disabled-text-opacity, 38%))`,\r\n ),\r\n imageOpacity: unsafeCSS(\r\n `var(--m3e-elevated-card-disabled-image-opacity, var(--m3e-card-disabled-image-opacity, 38%))`,\r\n ),\r\n containerColor: unsafeCSS(\r\n `var(--m3e-elevated-card-disabled-container-color, var(--m3e-card-disabled-container-color, ${DesignToken.color.surface}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-elevated-card-disabled-container-elevation, var(--m3e-card-disabled-container-elevation, ${DesignToken.elevation.level1}))`,\r\n ),\r\n containerElevationColor: unsafeCSS(\r\n `var(--m3e-elevated-card-disabled-container-elevation-color, var(--m3e-card-disabled-container-elevation-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n containerElevationOpacity: unsafeCSS(\r\n `var(--m3e-elevated-card-disabled-container-elevation-opacity, var(--m3e-card-disabled-container-elevation-opacity, 38%))`,\r\n ),\r\n containerOpacity: unsafeCSS(\r\n `var(--m3e-elevated-card-disabled-container-opacity, var(--m3e-card-disabled-container-opacity, 38%))`,\r\n ),\r\n },\r\n hover: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-elevated-card-hover-text-color, var(--m3e-card-hover-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-elevated-card-hover-state-layer-color, var(--m3e-card-hover-state-layer-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-elevated-card-hover-state-layer-opacity, var(--m3e-card-hover-state-layer-opacity, ${DesignToken.state.hoverStateLayerOpacity}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-elevated-card-hover-container-elevation, var(--m3e-card-hover-container-elevation, ${DesignToken.elevation.level2}))`,\r\n ),\r\n },\r\n focus: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-elevated-card-focus-text-color, var(--m3e-card-focus-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-elevated-card-focus-state-layer-color, var(--m3e-card-focus-state-layer-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-elevated-card-focus-state-layer-opacity, var(--m3e-card-focus-state-layer-opacity, ${DesignToken.state.focusStateLayerOpacity}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-elevated-card-focus-container-elevation, var(--m3e-card-focus-container-elevation, ${DesignToken.elevation.level1}))`,\r\n ),\r\n },\r\n pressed: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-elevated-card-pressed-text-color, var(--m3e-card-pressed-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-elevated-card-pressed-state-layer-color, var(--m3e-card-pressed-state-layer-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-elevated-card-pressed-state-layer-opacity, var(--m3e-card-pressed-state-layer-opacity, ${DesignToken.state.pressedStateLayerOpacity}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-elevated-card-pressed-container-elevation, var(--m3e-card-pressed-container-elevation, ${DesignToken.elevation.level1}))`,\r\n ),\r\n },\r\n },\r\n outlined: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-outlined-card-text-color, var(--m3e-card-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n containerColor: unsafeCSS(\r\n `var(--m3e-outlined-card-container-color, var(--m3e-card-container-color, ${DesignToken.color.surface}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-outlined-card-container-elevation, var(--m3e-card-container-elevation, ${DesignToken.elevation.level0}))`,\r\n ),\r\n outlineColor: unsafeCSS(\r\n `var(--m3e-outlined-card-outline-color, var(--m3e-card-outline-color, ${DesignToken.color.outlineVariant}))`,\r\n ),\r\n outlineThickness: unsafeCSS(\"var(--m3e-outlined-card-outline-thickness, var(--m3e-card-outline-thickness, 1px))\"),\r\n disabled: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-outlined-card-disabled-text-color, var(--m3e-card-disabled-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n textOpacity: unsafeCSS(\r\n `var(--m3e-outlined-card-disabled-text-opacity, var(--m3e-card-disabled-text-opacity, 38%))`,\r\n ),\r\n imageOpacity: unsafeCSS(\r\n `var(--m3e-outlined-card-disabled-image-opacity, var(--m3e-card-disabled-image-opacity, 38%))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-outlined-card-disabled-container-elevation, var(--m3e-card-disabled-container-elevation, ${DesignToken.elevation.level0}))`,\r\n ),\r\n containerElevationColor: unsafeCSS(\r\n `var(--m3e-outlined-card-disabled-container-elevation-color, var(--m3e-card-disabled-container-elevation-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n containerElevationOpacity: unsafeCSS(\r\n `var(--m3e-outlined-card-disabled-container-elevation-opacity, var(--m3e-card-disabled-container-elevation-opacity, 38%))`,\r\n ),\r\n outlineColor: unsafeCSS(\r\n `var(--m3e-outlined-card-disabled-outline-color, var(--m3e-card-disabled-outline-color, ${DesignToken.color.outline}))`,\r\n ),\r\n outlineOpacity: unsafeCSS(\r\n `var(--m3e-outlined-card-disabled-outline-opacity, var(--m3e-card-disabled-outline-opacity, 12%))`,\r\n ),\r\n },\r\n hover: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-outlined-card-hover-text-color, var(--m3e-card-hover-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-outlined-card-hover-state-layer-color, var(--m3e-card-hover-state-layer-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-outlined-card-hover-state-layer-opacity, var(--m3e-card-hover-state-layer-opacity, ${DesignToken.state.hoverStateLayerOpacity}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-outlined-card-hover-container-elevation, var(--m3e-card-hover-container-elevation, ${DesignToken.elevation.level1}))`,\r\n ),\r\n outlineColor: unsafeCSS(\r\n `var(--m3e-outlined-card-hover-outline-color, var(--m3e-card-hover-outline-color, ${DesignToken.color.outlineVariant}))`,\r\n ),\r\n },\r\n focus: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-outlined-card-focus-text-color, var(--m3e-card-focus-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-outlined-card-focus-state-layer-color, var(--m3e-card-focus-state-layer-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-outlined-card-focus-state-layer-opacity, var(--m3e-card-focus-state-layer-opacity, ${DesignToken.state.focusStateLayerOpacity}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-outlined-card-focus-container-elevation, var(--m3e-card-focus-container-elevation, ${DesignToken.elevation.level0}))`,\r\n ),\r\n outlineColor: unsafeCSS(\r\n `var(--m3e-outlined-card-focus-outline-color, var(--m3e-card-focus-outline-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n },\r\n pressed: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-outlined-card-pressed-text-color, var(--m3e-card-pressed-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-outlined-card-pressed-state-layer-color, var(--m3e-card-pressed-state-layer-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-outlined-card-pressed-state-layer-opacity, var(--m3e-card-pressed-state-layer-opacity, ${DesignToken.state.pressedStateLayerOpacity}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-outlined-card-pressed-container-elevation, var(--m3e-card-pressed-container-elevation, ${DesignToken.elevation.level0}))`,\r\n ),\r\n outlineColor: unsafeCSS(\r\n `var(--m3e-outlined-card-pressed-outline-color, var(--m3e-card-pressed-outline-color, ${DesignToken.color.outlineVariant}))`,\r\n ),\r\n },\r\n },\r\n} as const;\r\n","import { css, CSSResult, unsafeCSS } from \"lit\";\r\n\r\nimport { DesignToken } from \"@m3e/web/core\";\r\n\r\nimport { CardToken } from \"./CardToken\";\r\nimport { CardVariantToken } from \"./CardVariantToken\";\r\n\r\n/**\r\n * Baseline styles for `M3eCardElement`.\r\n * @internal\r\n */\r\nexport const CardStyle: CSSResult = css`\r\n :host {\r\n outline: none;\r\n }\r\n :host(:not([inline])) {\r\n display: block;\r\n }\r\n :host(:not([inline])) .base {\r\n display: flex;\r\n }\r\n :host([inline]) {\r\n display: inline-block;\r\n vertical-align: middle;\r\n }\r\n :host([inline]) .base {\r\n display: inline-flex;\r\n }\r\n .base {\r\n width: 100%;\r\n height: 100%;\r\n position: relative;\r\n box-sizing: border-box;\r\n border-radius: ${CardToken.shape};\r\n transition: ${unsafeCSS(\r\n `background-color ${DesignToken.motion.duration.short4} ${DesignToken.motion.easing.standard},\r\n border-color ${DesignToken.motion.duration.short4} ${DesignToken.motion.easing.standard}`,\r\n )};\r\n }\r\n :host([actionable]) {\r\n user-select: none;\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\r\n }\r\n :host([actionable]:not(:disabled):not([disabled-interactive])) {\r\n cursor: pointer;\r\n }\r\n :host([actionable][disabled-interactive]) {\r\n cursor: not-allowed;\r\n }\r\n :host(:not([actionable])) .focus-ring,\r\n :host(:not([actionable])) .state-layer,\r\n :host(:not([actionable])) .ripple {\r\n display: none;\r\n }\r\n :host([variant=\"outlined\"]) .base {\r\n border-style: solid;\r\n }\r\n ::slotted([slot=\"content\"]) {\r\n flex: 1 1 auto;\r\n }\r\n ::slotted(img),\r\n ::slotted(video) {\r\n inset: 0;\r\n object-fit: cover;\r\n }\r\n ::slotted(img[slot=\"header\"]),\r\n ::slotted(video[slot=\"header\"]) {\r\n border-radius: ${CardToken.shape};\r\n }\r\n ::slotted([slot=\"actions\"][end]) {\r\n justify-content: flex-end;\r\n }\r\n ::slotted([slot=\"header\"]),\r\n ::slotted([slot=\"actions\"]),\r\n ::slotted([slot=\"footer\"]) {\r\n flex: none;\r\n display: flex;\r\n align-items: center;\r\n }\r\n :host([orientation=\"vertical\"]) .base,\r\n :host([orientation=\"horizontal\"]) ::slotted([slot=\"header\"]),\r\n :host([orientation=\"horizontal\"]) ::slotted([slot=\"actions\"]),\r\n :host([orientation=\"horizontal\"]) ::slotted([slot=\"footer\"]) {\r\n flex-direction: column;\r\n }\r\n :host([orientation=\"horizontal\"]) .base,\r\n :host([orientation=\"vertical\"]) ::slotted([slot=\"header\"]),\r\n :host([orientation=\"vertical\"]) ::slotted([slot=\"actions\"]),\r\n :host([orientation=\"vertical\"]) ::slotted([slot=\"footer\"]) {\r\n flex-direction: row;\r\n }\r\n :host([orientation=\"horizontal\"]) ::slotted(img),\r\n :host([orientation=\"horizontal\"]) ::slotted(video) {\r\n aspect-ratio: 16 / 9;\r\n }\r\n .has-content:not(.has-default) slot[name=\"content\"],\r\n .has-content.has-default slot:not([name]) {\r\n display: inherit;\r\n flex-direction: inherit;\r\n flex: 1 1 auto;\r\n }\r\n .has-header slot[name=\"header\"],\r\n .has-actions slot[name=\"actions\"],\r\n .has-footer slot[name=\"footer\"] {\r\n display: inherit;\r\n flex-direction: inherit;\r\n flex: none;\r\n }\r\n :host([orientation=\"vertical\"]) .has-content:not(.has-default) slot[name=\"content\"] {\r\n margin-inline: ${CardToken.padding};\r\n }\r\n :host([orientation=\"vertical\"]) .has-content:not(.has-default):not(.has-header) slot[name=\"content\"] {\r\n margin-block-start: ${CardToken.padding};\r\n }\r\n :host([orientation=\"vertical\"])\r\n .has-content:not(.has-default):not(.has-actions):not(.has-footer)\r\n slot[name=\"content\"] {\r\n margin-block-end: ${CardToken.padding};\r\n }\r\n :host([orientation=\"horizontal\"]) .has-content:not(.has-default) slot[name=\"content\"] {\r\n margin-block: ${CardToken.padding};\r\n }\r\n :host([orientation=\"horizontal\"]) .has-content:not(.has-default):not(.has-header) slot[name=\"content\"] {\r\n margin-inline-start: ${CardToken.padding};\r\n }\r\n :host([orientation=\"horizontal\"])\r\n .has-content:not(.has-default):not(.has-actions):not(.has-footer)\r\n slot[name=\"content\"] {\r\n margin-inline-end: ${CardToken.padding};\r\n }\r\n :host([orientation=\"vertical\"]) .has-header:not(.has-header-media) slot[name=\"header\"] {\r\n margin-inline: ${CardToken.padding};\r\n margin-block-start: ${CardToken.padding};\r\n }\r\n :host([orientation=\"horizontal\"]) .has-header:not(.has-header-media) slot[name=\"header\"] {\r\n margin-inline-start: ${CardToken.padding};\r\n margin-block: ${CardToken.padding};\r\n }\r\n .has-actions slot[name=\"actions\"] {\r\n margin-inline: ${CardToken.padding};\r\n margin-block: ${CardToken.padding};\r\n }\r\n :host([orientation=\"vertical\"]) .has-footer slot[name=\"footer\"] {\r\n margin-inline: ${CardToken.padding};\r\n margin-block-end: ${CardToken.padding};\r\n }\r\n :host([orientation=\"horizontal\"]) .has-footer slot[name=\"footer\"] {\r\n margin-block: ${CardToken.padding};\r\n margin-inline-end: ${CardToken.padding};\r\n }\r\n a {\r\n all: unset;\r\n display: block;\r\n position: absolute;\r\n top: 0px;\r\n left: 0px;\r\n right: 0px;\r\n bottom: 0px;\r\n z-index: 1;\r\n }\r\n @media (forced-colors: active) {\r\n .base {\r\n transition: none;\r\n }\r\n :host([variant]) .base {\r\n border-style: solid;\r\n border-color: CanvasText;\r\n border-width: ${CardVariantToken.outlined.outlineThickness ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant]:disabled) .base,\r\n :host([actionable][variant][disabled-interactive]) .base {\r\n color: GrayText;\r\n border-color: GrayText;\r\n }\r\n }\r\n @media (prefers-reduced-motion) {\r\n .base {\r\n transition: none;\r\n }\r\n }\r\n`;\r\n","import { css, CSSResult, CSSResultGroup, unsafeCSS } from \"lit\";\r\n\r\nimport { CardVariant } from \"../CardVariant\";\r\n\r\nimport { CardVariantToken } from \"./CardVariantToken\";\r\n\r\n/** @private */\r\nfunction cardVariantStyle(variant: CardVariant): CSSResult {\r\n return css`\r\n :host([variant=\"${unsafeCSS(variant)}\"]) .base {\r\n background-color: ${CardVariantToken[variant].containerColor ?? unsafeCSS(\"unset\")};\r\n box-shadow: ${CardVariantToken[variant].containerElevation ?? unsafeCSS(\"unset\")};\r\n border-width: ${CardVariantToken[variant].outlineThickness ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]) .base {\r\n --m3e-state-layer-hover-color: ${CardVariantToken[variant].hover.stateLayerColor};\r\n --m3e-state-layer-hover-opacity: ${CardVariantToken[variant].hover.stateLayerOpacity};\r\n --m3e-state-layer-focus-color: ${CardVariantToken[variant].focus.stateLayerColor};\r\n --m3e-state-layer-focus-opacity: ${CardVariantToken[variant].focus.stateLayerOpacity};\r\n --m3e-ripple-color: ${CardVariantToken[variant].pressed.stateLayerColor};\r\n --m3e-ripple-opacity: ${CardVariantToken[variant].pressed.stateLayerOpacity};\r\n --m3e-elevation-level: ${CardVariantToken[variant].containerElevation ?? unsafeCSS(\"unset\")};\r\n --m3e-elevation-hover-level: ${CardVariantToken[variant].hover.containerElevation ?? unsafeCSS(\"unset\")};\r\n --m3e-elevation-focus-level: ${CardVariantToken[variant].focus.containerElevation ?? unsafeCSS(\"unset\")};\r\n --m3e-elevation-pressed-level: ${CardVariantToken[variant].pressed.containerElevation ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"]) .base {\r\n border-color: ${CardVariantToken[variant].outlineColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]:focus .base) {\r\n border-color: ${CardVariantToken[variant].focus.outlineColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]:hover .base) {\r\n border-color: ${CardVariantToken[variant].hover.outlineColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]) .base.pressed {\r\n border-color: ${CardVariantToken[variant].pressed.outlineColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"]) .base {\r\n color: ${CardVariantToken[variant].textColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]:focus) .base {\r\n color: ${CardVariantToken[variant].focus.textColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]:hover) .base {\r\n color: ${CardVariantToken[variant].hover.textColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]) .base.pressed {\r\n color: ${CardVariantToken[variant].pressed.textColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]:disabled) .base,\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"][disabled-interactive]) .base {\r\n --m3e-elevation-level: ${CardVariantToken[variant].disabled.containerElevation ?? unsafeCSS(\"unset\")};\r\n --m3e-elevation-color: color-mix(\r\n in srgb,\r\n ${CardVariantToken[variant].disabled.containerElevationColor}\r\n ${CardVariantToken[variant].disabled.containerElevationOpacity},\r\n transparent\r\n );\r\n color: color-mix(\r\n in srgb,\r\n ${CardVariantToken[variant].disabled.textColor} ${CardVariantToken[variant].disabled.textOpacity},\r\n transparent\r\n );\r\n background-color: ${CardVariantToken[variant].disabled.containerColor &&\r\n CardVariantToken[variant].disabled.containerOpacity\r\n ? unsafeCSS(`color-mix(\r\n in srgb,\r\n ${CardVariantToken[variant].disabled.containerColor} ${CardVariantToken[variant].disabled.containerOpacity},\r\n transparent\r\n )`)\r\n : unsafeCSS(\"unset\")};\r\n border-color: ${CardVariantToken[variant].disabled.outlineColor &&\r\n CardVariantToken[variant].disabled.outlineOpacity\r\n ? unsafeCSS(`color-mix(\r\n in srgb,\r\n ${CardVariantToken[variant].disabled.outlineColor} ${CardVariantToken[variant].disabled.outlineOpacity},\r\n transparent\r\n )`)\r\n : unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]:disabled) ::slotted(img),\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"][disabled-interactive]) ::slotted(img),\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]:disabled) ::slotted(video),\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"][disabled-interactive]) ::slotted(video) {\r\n opacity: ${CardVariantToken[variant].disabled.imageOpacity};\r\n }\r\n `;\r\n}\r\n\r\n/**\r\n * Appearance variant styles for `M3eCardElement`.\r\n * @internal\r\n */\r\nexport const CardVariantStyle: CSSResultGroup = [\r\n cardVariantStyle(\"filled\"),\r\n cardVariantStyle(\"elevated\"),\r\n cardVariantStyle(\"outlined\"),\r\n];\r\n","import { CSSResultGroup, html, LitElement, PropertyValues } from \"lit\";\r\nimport { property, query } from \"lit/decorators.js\";\r\n\r\nimport {\r\n renderPseudoLink,\r\n AttachInternals,\r\n Disabled,\r\n DisabledInteractive,\r\n Focusable,\r\n FormSubmitter,\r\n LinkButton,\r\n M3eElevationElement,\r\n M3eFocusRingElement,\r\n M3eRippleElement,\r\n M3eStateLayerElement,\r\n PressedController,\r\n KeyboardClick,\r\n hasAssignedNodes,\r\n customElement,\r\n} from \"@m3e/web/core\";\r\n\r\nimport { CardVariant } from \"./CardVariant\";\r\n\r\nimport { CardStyle, CardVariantStyle } from \"./styles\";\r\nimport { CardOrientation } from \"./CardOrientation\";\r\n\r\n/**\r\n * A content container for text, images (or other media), and actions in the context of a single subject.\r\n *\r\n * @description\r\n * The `m3e-card` component is a flexible, expressive container for presenting a unified subject—text,\r\n * media, and actions—on a visually distinct surface. It supports multiple appearance variants via the\r\n * `variant` attribute: `filled` (default, for solid emphasis), `outlined` (for subtle framing with a border),\r\n * and `elevated` (for depth and motion with shadow elevation).\r\n *\r\n * Cards can be made actionable, responding to user interaction when the `actionable` attribute is set, and can be\r\n * presented inline with surrounding content using the `inline` attribute.\r\n *\r\n * It supports both vertical and horizontal layouts through the `orientation` attribute. Content organization is\r\n * enabled via dedicated slots for `header`, `content`, `actions`, and `footer`, or developers can use the default\r\n * slot for custom layouts.\r\n *\r\n * The component provides dynamic elevation, adaptive shape, and expressive color theming, and responds to interaction states\r\n * (hover, focus, press, disabled) with smooth motion and visual feedback, ensuring clarity, accessibility,\r\n * and a cohesive user experience in accordance with Material Design 3 guidelines.\r\n *\r\n * @example\r\n * The following example illustrates each of the dedicated slots of a card.\r\n * ```html\r\n * <m3e-card>\r\n * <div slot=\"header\">Header section</div>\r\n * <div slot=\"content\">Content section</div>\r\n * <div slot=\"actions\">Actions section</div>\r\n * <div slot=\"footer\">Footer section</div>\r\n * </m3e-card>\r\n * ```\r\n *\r\n * @tag m3e-card\r\n *\r\n * @slot - Renders the content of the card without padding.\r\n * @slot header - Renders the header of the card.\r\n * @slot content - Renders the content of the card with padding.\r\n * @slot actions - Renders the actions of the card.\r\n * @slot footer - Renders the footer of the card.\r\n *\r\n * @attr actionable - Whether the card is \"actionable\" and will respond to use interaction.\r\n * @attr inline - Whether to present the card inline with surrounding content.\r\n * @attr orientation - The orientation of the card.\r\n * @attr variant - The appearance variant of the card.\r\n *\r\n * @fires click - Dispatched when the element is clicked.\r\n *\r\n * @cssprop --m3e-card-padding - Internal spacing for all slotted regions\r\n * @cssprop --m3e-card-shape - Corner radius of the card container.\r\n * @cssprop --m3e-filled-card-text-color - Foreground color for text content in filled cards.\r\n * @cssprop --m3e-filled-card-container-color - Background color of the filled card container.\r\n * @cssprop --m3e-filled-card-container-elevation - Elevation level for filled card container.\r\n * @cssprop --m3e-filled-card-disabled-text-color - Text color when filled card is disabled.\r\n * @cssprop --m3e-filled-card-disabled-text-opacity - Opacity applied to text when disabled.\r\n * @cssprop --m3e-filled-card-disabled-container-color - Background color when disabled.\r\n * @cssprop --m3e-filled-card-disabled-container-elevation - Elevation level when disabled.\r\n * @cssprop --m3e-filled-card-disabled-container-elevation-color - Shadow color when disabled.\r\n * @cssprop --m3e-filled-card-disabled-container-elevation-opacity - Shadow opacity when disabled.\r\n * @cssprop --m3e-filled-card-disabled-container-opacity - Overall container opacity when disabled.\r\n * @cssprop --m3e-filled-card-hover-text-color - Text color on hover.\r\n * @cssprop --m3e-filled-card-hover-state-layer-color - State layer color on hover.\r\n * @cssprop --m3e-filled-card-hover-state-layer-opacity - State layer opacity on hover.\r\n * @cssprop --m3e-filled-card-hover-container-elevation - Elevation level on hover.\r\n * @cssprop --m3e-filled-card-focus-text-color - Text color on focus.\r\n * @cssprop --m3e-filled-card-focus-state-layer-color - State layer color on focus.\r\n * @cssprop --m3e-filled-card-focus-state-layer-opacity - State layer opacity on focus.\r\n * @cssprop --m3e-filled-card-focus-container-elevation - Elevation level on focus.\r\n * @cssprop --m3e-filled-card-pressed-text-color - Text color on press.\r\n * @cssprop --m3e-filled-card-pressed-state-layer-color - State layer color on press.\r\n * @cssprop --m3e-filled-card-pressed-state-layer-opacity - State layer opacity on press.\r\n * @cssprop --m3e-filled-card-pressed-container-elevation - Elevation level on press.\r\n * @cssprop --m3e-elevated-card-text-color - Foreground color for text content in elevated cards.\r\n * @cssprop --m3e-elevated-card-container-color - Background color of the elevated card container.\r\n * @cssprop --m3e-elevated-card-container-elevation - Elevation level for elevated card container.\r\n * @cssprop --m3e-elevated-card-disabled-text-color - Text color when elevated card is disabled.\r\n * @cssprop --m3e-elevated-card-disabled-text-opacity - Opacity applied to text when disabled.\r\n * @cssprop --m3e-elevated-card-disabled-container-color - Background color when disabled.\r\n * @cssprop --m3e-elevated-card-disabled-container-elevation - Elevation level when disabled.\r\n * @cssprop --m3e-elevated-card-disabled-container-elevation-color - Shadow color when disabled.\r\n * @cssprop --m3e-elevated-card-disabled-container-elevation-opacity - Shadow opacity when disabled.\r\n * @cssprop --m3e-elevated-card-disabled-container-opacity - Overall container opacity when disabled.\r\n * @cssprop --m3e-elevated-card-hover-text-color - Text color on hover.\r\n * @cssprop --m3e-elevated-card-hover-state-layer-color - State layer color on hover.\r\n * @cssprop --m3e-elevated-card-hover-state-layer-opacity - State layer opacity on hover.\r\n * @cssprop --m3e-elevated-card-hover-container-elevation - Elevation level on hover.\r\n * @cssprop --m3e-elevated-card-focus-text-color - Text color on focus.\r\n * @cssprop --m3e-elevated-card-focus-state-layer-color - State layer color on focus.\r\n * @cssprop --m3e-elevated-card-focus-state-layer-opacity - State layer opacity on focus.\r\n * @cssprop --m3e-elevated-card-focus-container-elevation - Elevation level on focus.\r\n * @cssprop --m3e-elevated-card-pressed-text-color - Text color on press.\r\n * @cssprop --m3e-elevated-card-pressed-state-layer-color - State layer color on press.\r\n * @cssprop --m3e-elevated-card-pressed-state-layer-opacity - State layer opacity on press.\r\n * @cssprop --m3e-elevated-card-pressed-container-elevation - Elevation level on press.\r\n * @cssprop --m3e-outlined-card-text-color - Foreground color for text content in outlined cards.\r\n * @cssprop --m3e-outlined-card-container-color - Background color of the outlined card container.\r\n * @cssprop --m3e-outlined-card-container-elevation - Elevation level for outlined card container.\r\n * @cssprop --m3e-outlined-card-outline-color - Border color for outlined cards.\r\n * @cssprop --m3e-outlined-card-outline-thickness - Border thickness for outlined cards.\r\n * @cssprop --m3e-outlined-card-disabled-text-color - Text color when outlined card is disabled.\r\n * @cssprop --m3e-outlined-card-disabled-text-opacity - Opacity applied to text when disabled.\r\n * @cssprop --m3e-outlined-card-disabled-container-elevation - Elevation level when disabled.\r\n * @cssprop --m3e-outlined-card-disabled-container-elevation-color - Shadow color when disabled.\r\n * @cssprop --m3e-outlined-card-disabled-container-elevation-opacity - Shadow opacity when disabled.\r\n * @cssprop --m3e-outlined-card-disabled-outline-color - Border color when disabled.\r\n * @cssprop --m3e-outlined-card-disabled-outline-opacity - Border opacity when disabled.\r\n * @cssprop --m3e-outlined-card-hover-text-color - Text color on hover.\r\n * @cssprop --m3e-outlined-card-hover-state-layer-color - State layer color on hover.\r\n * @cssprop --m3e-outlined-card-hover-state-layer-opacity - State layer opacity on hover.\r\n * @cssprop --m3e-outlined-card-hover-container-elevation - Elevation level on hover.\r\n * @cssprop --m3e-outlined-card-hover-outline-color - Border color on hover.\r\n * @cssprop --m3e-outlined-card-focus-text-color - Text color on focus.\r\n * @cssprop --m3e-outlined-card-focus-state-layer-color - State layer color on focus.\r\n * @cssprop --m3e-outlined-card-focus-state-layer-opacity - State layer opacity on focus.\r\n * @cssprop --m3e-outlined-card-focus-container-elevation - Elevation level on focus.\r\n * @cssprop --m3e-outlined-card-focus-outline-color - Border color on focus.\r\n * @cssprop --m3e-outlined-card-pressed-text-color - Text color on press.\r\n * @cssprop --m3e-outlined-card-pressed-state-layer-color - State layer color on press.\r\n * @cssprop --m3e-outlined-card-pressed-state-layer-opacity - State layer opacity on press.\r\n * @cssprop --m3e-outlined-card-pressed-container-elevation - Elevation level on press.\r\n * @cssprop --m3e-outlined-card-pressed-outline-color - Border color on press.\r\n */\r\n@customElement(\"m3e-card\")\r\nexport class M3eCardElement extends KeyboardClick(\r\n LinkButton(FormSubmitter(Focusable(DisabledInteractive(Disabled(AttachInternals(LitElement), true))))),\r\n) {\r\n /** The styles of the element. */\r\n static override styles: CSSResultGroup = [CardVariantStyle, CardStyle];\r\n\r\n /** @private */ @query(\".base\") private readonly _base?: HTMLElement;\r\n /** @private */ @query(\".elevation\") private readonly _elevation?: M3eElevationElement;\r\n /** @private */ @query(\".focus-ring\") private readonly _focusRing?: M3eFocusRingElement;\r\n /** @private */ @query(\".state-layer\") private readonly _stateLayer?: M3eStateLayerElement;\r\n /** @private */ @query(\".ripple\") private readonly _ripple?: M3eRippleElement;\r\n\r\n /** @private */ readonly #clickHandler = (e: Event) => this.#handleClick(e);\r\n\r\n constructor() {\r\n super();\r\n\r\n new PressedController(this, {\r\n isPressedKey: (key) => key === \" \",\r\n callback: (pressed) => {\r\n if (this.actionable && !this.disabled && !this.disabledInteractive) {\r\n this._base?.classList.toggle(\"pressed\", pressed);\r\n }\r\n },\r\n });\r\n }\r\n\r\n /**\r\n * Whether to present the card inline with surrounding content.\r\n * @default false\r\n */\r\n @property({ type: Boolean, reflect: true }) inline = false;\r\n\r\n /**\r\n * Whether the card is \"actionable\" and will respond to use interaction.\r\n * @default false\r\n */\r\n @property({ type: Boolean, reflect: true }) actionable = false;\r\n\r\n /**\r\n * The appearance variant of the card.\r\n * @default \"filled\"\r\n */\r\n @property({ reflect: true }) variant: CardVariant = \"filled\";\r\n\r\n /**\r\n * The orientation of the card.\r\n * @default \"vertical\"\r\n */\r\n @property({ reflect: true }) orientation: CardOrientation = \"vertical\";\r\n\r\n /** @inheritdoc */\r\n override connectedCallback(): void {\r\n if (this.hasAttribute(\"actionable\")) {\r\n // If href is specified, the LinkButton mixin changes this to \"link\" if role is \"button\".\r\n this.role = \"button\";\r\n }\r\n\r\n super.connectedCallback();\r\n this.addEventListener(\"click\", this.#clickHandler);\r\n }\r\n\r\n /** @inheritdoc */\r\n override disconnectedCallback(): void {\r\n super.disconnectedCallback();\r\n\r\n this._base?.classList.toggle(\"pressed\", false);\r\n this.removeEventListener(\"click\", this.#clickHandler);\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override render(): unknown {\r\n return html`<div class=\"base\">\r\n <m3e-elevation\r\n class=\"elevation\"\r\n ?disabled=\"${!this.actionable || this.disabled || this.disabledInteractive}\"\r\n ></m3e-elevation>\r\n <m3e-focus-ring class=\"focus-ring\" ?disabled=\"${!this.actionable || this.disabled}\"></m3e-focus-ring>\r\n <m3e-state-layer\r\n class=\"state-layer\"\r\n ?disabled=\"${!this.actionable || this.disabled || this.disabledInteractive}\"\r\n ></m3e-state-layer>\r\n <m3e-ripple\r\n class=\"ripple\"\r\n ?disabled=\"${!this.actionable || this.disabled || this.disabledInteractive}\"\r\n ></m3e-ripple>\r\n ${this[renderPseudoLink]()}\r\n <slot name=\"header\" @slotchange=\"${this.#handleHeaderSlotChange}\"></slot>\r\n <slot name=\"content\" @slotchange=\"${this.#handleContentSlotChange}\">\r\n <slot @slotchange=\"${this.#handleDefaultSlotChange}\"></slot>\r\n </slot>\r\n <slot name=\"actions\" @slotchange=\"${this.#handleActionsSlotChange}\"></slot>\r\n <slot name=\"footer\" @slotchange=\"${this.#handleFooterSlotChange}\"></slot>\r\n </div>`;\r\n }\r\n\r\n /** @private */\r\n #handleHeaderSlotChange(e: Event): void {\r\n const assignedNodes = (e.target as HTMLSlotElement).assignedNodes({ flatten: true });\r\n const base = this.shadowRoot?.querySelector(\".base\");\r\n base?.classList.toggle(\"has-header\", assignedNodes.length > 0);\r\n base?.classList.toggle(\r\n \"has-header-media\",\r\n assignedNodes.some((x) => x instanceof HTMLElement && (x.tagName === \"IMG\" || x.tagName === \"VIDEO\")),\r\n );\r\n }\r\n\r\n /** @private */\r\n #handleContentSlotChange(): void {\r\n this.shadowRoot\r\n ?.querySelector(\".base\")\r\n ?.classList.toggle(\"has-content\", this.querySelector(\"[slot='content']\") !== null);\r\n }\r\n\r\n /** @private */\r\n #handleDefaultSlotChange(e: Event): void {\r\n this.shadowRoot\r\n ?.querySelector(\".base\")\r\n ?.classList.toggle(\r\n \"has-default\",\r\n hasAssignedNodes(e.target as HTMLSlotElement) && this.querySelector(\"[slot='content']\") === null,\r\n );\r\n }\r\n\r\n /** @private */\r\n #handleActionsSlotChange(e: Event): void {\r\n this.shadowRoot\r\n ?.querySelector(\".base\")\r\n ?.classList.toggle(\"has-actions\", hasAssignedNodes(e.target as HTMLSlotElement));\r\n }\r\n\r\n /** @private */\r\n #handleFooterSlotChange(e: Event): void {\r\n this.shadowRoot\r\n ?.querySelector(\".base\")\r\n ?.classList.toggle(\"has-footer\", hasAssignedNodes(e.target as HTMLSlotElement));\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override firstUpdated(_changedProperties: PropertyValues<this>): void {\r\n super.firstUpdated(_changedProperties);\r\n\r\n [this._elevation, this._focusRing, this._stateLayer, this._ripple].forEach((x) => x?.attach(this));\r\n\r\n if (!this.actionable && this.hasAttribute(\"tabindex\")) {\r\n this.removeAttribute(\"tabindex\");\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override update(changedProperties: PropertyValues<this>): void {\r\n super.update(changedProperties);\r\n\r\n if (!this.actionable && this.hasAttribute(\"tabindex\")) {\r\n this.removeAttribute(\"tabindex\");\r\n }\r\n }\r\n\r\n /** @private */\r\n #handleClick(e: Event): void {\r\n if (this.disabled || this.disabledInteractive) {\r\n e.preventDefault();\r\n e.stopImmediatePropagation();\r\n }\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-card\": M3eCardElement;\r\n }\r\n}\r\n"],"names":["CardToken","padding","unsafeCSS","shape","DesignToken","corner","medium","CardVariantToken","filled","textColor","color","onSurface","containerColor","surfaceContainerHighest","containerElevation","elevation","level0","disabled","textOpacity","imageOpacity","surfaceVariant","containerElevationColor","containerElevationOpacity","containerOpacity","hover","stateLayerColor","stateLayerOpacity","state","hoverStateLayerOpacity","level1","focus","focusStateLayerOpacity","pressed","pressedStateLayerOpacity","elevated","surfaceContainerLow","surface","level2","outlined","outlineColor","outlineVariant","outlineThickness","outline","outlineOpacity","CardStyle","css","motion","duration","short4","easing","standard","cardVariantStyle","variant","CardVariantStyle","M3eCardElement","KeyboardClick","LinkButton","FormSubmitter","Focusable","DisabledInteractive","Disabled","AttachInternals","LitElement","constructor","_M3eCardElement_clickHandler","set","e","__classPrivateFieldGet","call","inline","actionable","orientation","PressedController","isPressedKey","key","callback","disabledInteractive","_base","classList","toggle","connectedCallback","hasAttribute","role","addEventListener","disconnectedCallback","removeEventListener","render","html","renderPseudoLink","_M3eCardElement_instances","_M3eCardElement_handleHeaderSlotChange","_M3eCardElement_handleContentSlotChange","_M3eCardElement_handleDefaultSlotChange","_M3eCardElement_handleActionsSlotChange","_M3eCardElement_handleFooterSlotChange","firstUpdated","_changedProperties","_elevation","_focusRing","_stateLayer","_ripple","forEach","x","attach","removeAttribute","update","changedProperties","assignedNodes","target","flatten","base","shadowRoot","querySelector","length","some","HTMLElement","tagName","hasAssignedNodes","preventDefault","stopImmediatePropagation","styles","__decorate","query","prototype","property","type","Boolean","reflect","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"card.js","sources":["../../src/card/styles/CardToken.ts","../../src/card/styles/CardVariantToken.ts","../../src/card/styles/CardStyle.ts","../../src/card/styles/CardVariantStyle.ts","../../src/card/CardElement.ts"],"sourcesContent":["import { unsafeCSS } from \"lit\";\r\n\r\nimport { DesignToken } from \"@m3e/web/core\";\r\n\r\n/**\r\n * Component design tokens for `M3eCardElement`.\r\n * @internal\r\n */\r\nexport const CardToken = {\r\n padding: unsafeCSS(\"var(--m3e-card-padding, 1rem)\"),\r\n shape: unsafeCSS(`var(--m3e-card-shape, ${DesignToken.shape.corner.medium});`),\r\n} as const;\r\n","import { CSSResult, unsafeCSS } from \"lit\";\r\n\r\nimport { DesignToken } from \"@m3e/web/core\";\r\n\r\nimport { CardVariant } from \"../CardVariant\";\r\n\r\n/** @private */\r\ntype _CardVariantToken = {\r\n textColor: CSSResult;\r\n containerColor: CSSResult;\r\n containerElevation: CSSResult;\r\n outlineColor?: CSSResult;\r\n outlineThickness?: CSSResult;\r\n disabled: {\r\n textColor: CSSResult;\r\n textOpacity: CSSResult;\r\n imageOpacity: CSSResult;\r\n containerColor?: CSSResult;\r\n containerOpacity?: CSSResult;\r\n containerElevation: CSSResult;\r\n containerElevationColor: CSSResult;\r\n containerElevationOpacity: CSSResult;\r\n outlineColor?: CSSResult;\r\n outlineOpacity?: CSSResult;\r\n };\r\n hover: {\r\n textColor: CSSResult;\r\n stateLayerColor: CSSResult;\r\n stateLayerOpacity: CSSResult;\r\n containerElevation?: CSSResult;\r\n outlineColor?: CSSResult;\r\n };\r\n focus: {\r\n textColor: CSSResult;\r\n stateLayerColor: CSSResult;\r\n stateLayerOpacity: CSSResult;\r\n containerElevation?: CSSResult;\r\n outlineColor?: CSSResult;\r\n };\r\n pressed: {\r\n textColor: CSSResult;\r\n stateLayerColor: CSSResult;\r\n stateLayerOpacity: CSSResult;\r\n containerElevation?: CSSResult;\r\n outlineColor?: CSSResult;\r\n };\r\n};\r\n\r\n/**\r\n * Component design tokens that control the appearance variants of `M3eCardElement`.\r\n * @internal\r\n */\r\nexport const CardVariantToken: Record<CardVariant, _CardVariantToken> = {\r\n filled: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-filled-card-text-color, var(--m3e-card-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n containerColor: unsafeCSS(\r\n `var(--m3e-filled-card-container-color, var(--m3e-card-container-color, ${DesignToken.color.surfaceContainerHighest}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-filled-card-container-elevation, var(--m3e-card-container-elevation, ${DesignToken.elevation.level0}))`,\r\n ),\r\n disabled: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-filled-card-disabled-text-color, var(--m3e-card-disabled-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n textOpacity: unsafeCSS(\r\n `var(--m3e-filled-card-disabled-text-opacity, var(--m3e-card-disabled-text-opacity, 38%))`,\r\n ),\r\n imageOpacity: unsafeCSS(\r\n `var(--m3e-filled-card-disabled-image-opacity, var(--m3e-card-disabled-image-opacity, 38%))`,\r\n ),\r\n containerColor: unsafeCSS(\r\n `var(--m3e-filled-card-disabled-container-color, var(--m3e-card-disabled-container-color, ${DesignToken.color.surfaceVariant}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-filled-card-disabled-container-elevation, var(--m3e-card-disabled-container-elevation, ${DesignToken.elevation.level0}))`,\r\n ),\r\n containerElevationColor: unsafeCSS(\r\n `var(--m3e-filled-card-disabled-container-elevation-color, var(--m3e-card-disabled-container-elevation-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n containerElevationOpacity: unsafeCSS(\r\n `var(--m3e-filled-card-disabled-container-elevation-opacity, var(--m3e-card-disabled-container-elevation-opacity, 38%))`,\r\n ),\r\n containerOpacity: unsafeCSS(\r\n `var(--m3e-filled-card-disabled-container-opacity, var(--m3e-card-disabled-container-opacity, 38%))`,\r\n ),\r\n },\r\n hover: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-filled-card-hover-text-color, var(--m3e-card-hover-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-filled-card-hover-state-layer-color, var(--m3e-card-hover-state-layer-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-filled-card-hover-state-layer-opacity, var(--m3e-card-hover-state-layer-opacity, ${DesignToken.state.hoverStateLayerOpacity}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-filled-card-hover-container-elevation, var(--m3e-card-hover-container-elevation, ${DesignToken.elevation.level1}))`,\r\n ),\r\n },\r\n focus: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-filled-card-focus-text-color, var(--m3e-card-focus-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-filled-card-focus-state-layer-color, var(--m3e-card-focus-state-layer-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-filled-card-focus-state-layer-opacity, var(--m3e-card-focus-state-layer-opacity, ${DesignToken.state.focusStateLayerOpacity}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-filled-card-focus-container-elevation, var(--m3e-card-focus-container-elevation, ${DesignToken.elevation.level0}))`,\r\n ),\r\n },\r\n pressed: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-filled-card-pressed-text-color, var(--m3e-card-pressed-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-filled-card-pressed-state-layer-color, var(--m3e-card-pressed-state-layer-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-filled-card-pressed-state-layer-opacity, var(--m3e-card-pressed-state-layer-opacity, ${DesignToken.state.pressedStateLayerOpacity}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-filled-card-pressed-container-elevation, var(--m3e-card-pressed-container-elevation, ${DesignToken.elevation.level0}))`,\r\n ),\r\n },\r\n },\r\n elevated: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-elevated-card-text-color, var(--m3e-card-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n containerColor: unsafeCSS(\r\n `var(--m3e-elevated-card-container-color, var(--m3e-card-container-color, ${DesignToken.color.surfaceContainerLow}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-elevated-card-container-elevation, var(--m3e-card-container-elevation, ${DesignToken.elevation.level1}))`,\r\n ),\r\n disabled: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-elevated-card-disabled-text-color, var(--m3e-card-disabled-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n textOpacity: unsafeCSS(\r\n `var(--m3e-elevated-card-disabled-text-opacity, var(--m3e-card-disabled-text-opacity, 38%))`,\r\n ),\r\n imageOpacity: unsafeCSS(\r\n `var(--m3e-elevated-card-disabled-image-opacity, var(--m3e-card-disabled-image-opacity, 38%))`,\r\n ),\r\n containerColor: unsafeCSS(\r\n `var(--m3e-elevated-card-disabled-container-color, var(--m3e-card-disabled-container-color, ${DesignToken.color.surface}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-elevated-card-disabled-container-elevation, var(--m3e-card-disabled-container-elevation, ${DesignToken.elevation.level1}))`,\r\n ),\r\n containerElevationColor: unsafeCSS(\r\n `var(--m3e-elevated-card-disabled-container-elevation-color, var(--m3e-card-disabled-container-elevation-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n containerElevationOpacity: unsafeCSS(\r\n `var(--m3e-elevated-card-disabled-container-elevation-opacity, var(--m3e-card-disabled-container-elevation-opacity, 38%))`,\r\n ),\r\n containerOpacity: unsafeCSS(\r\n `var(--m3e-elevated-card-disabled-container-opacity, var(--m3e-card-disabled-container-opacity, 38%))`,\r\n ),\r\n },\r\n hover: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-elevated-card-hover-text-color, var(--m3e-card-hover-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-elevated-card-hover-state-layer-color, var(--m3e-card-hover-state-layer-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-elevated-card-hover-state-layer-opacity, var(--m3e-card-hover-state-layer-opacity, ${DesignToken.state.hoverStateLayerOpacity}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-elevated-card-hover-container-elevation, var(--m3e-card-hover-container-elevation, ${DesignToken.elevation.level2}))`,\r\n ),\r\n },\r\n focus: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-elevated-card-focus-text-color, var(--m3e-card-focus-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-elevated-card-focus-state-layer-color, var(--m3e-card-focus-state-layer-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-elevated-card-focus-state-layer-opacity, var(--m3e-card-focus-state-layer-opacity, ${DesignToken.state.focusStateLayerOpacity}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-elevated-card-focus-container-elevation, var(--m3e-card-focus-container-elevation, ${DesignToken.elevation.level1}))`,\r\n ),\r\n },\r\n pressed: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-elevated-card-pressed-text-color, var(--m3e-card-pressed-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-elevated-card-pressed-state-layer-color, var(--m3e-card-pressed-state-layer-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-elevated-card-pressed-state-layer-opacity, var(--m3e-card-pressed-state-layer-opacity, ${DesignToken.state.pressedStateLayerOpacity}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-elevated-card-pressed-container-elevation, var(--m3e-card-pressed-container-elevation, ${DesignToken.elevation.level1}))`,\r\n ),\r\n },\r\n },\r\n outlined: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-outlined-card-text-color, var(--m3e-card-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n containerColor: unsafeCSS(\r\n `var(--m3e-outlined-card-container-color, var(--m3e-card-container-color, ${DesignToken.color.surface}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-outlined-card-container-elevation, var(--m3e-card-container-elevation, ${DesignToken.elevation.level0}))`,\r\n ),\r\n outlineColor: unsafeCSS(\r\n `var(--m3e-outlined-card-outline-color, var(--m3e-card-outline-color, ${DesignToken.color.outlineVariant}))`,\r\n ),\r\n outlineThickness: unsafeCSS(\"var(--m3e-outlined-card-outline-thickness, var(--m3e-card-outline-thickness, 1px))\"),\r\n disabled: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-outlined-card-disabled-text-color, var(--m3e-card-disabled-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n textOpacity: unsafeCSS(\r\n `var(--m3e-outlined-card-disabled-text-opacity, var(--m3e-card-disabled-text-opacity, 38%))`,\r\n ),\r\n imageOpacity: unsafeCSS(\r\n `var(--m3e-outlined-card-disabled-image-opacity, var(--m3e-card-disabled-image-opacity, 38%))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-outlined-card-disabled-container-elevation, var(--m3e-card-disabled-container-elevation, ${DesignToken.elevation.level0}))`,\r\n ),\r\n containerElevationColor: unsafeCSS(\r\n `var(--m3e-outlined-card-disabled-container-elevation-color, var(--m3e-card-disabled-container-elevation-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n containerElevationOpacity: unsafeCSS(\r\n `var(--m3e-outlined-card-disabled-container-elevation-opacity, var(--m3e-card-disabled-container-elevation-opacity, 38%))`,\r\n ),\r\n outlineColor: unsafeCSS(\r\n `var(--m3e-outlined-card-disabled-outline-color, var(--m3e-card-disabled-outline-color, ${DesignToken.color.outline}))`,\r\n ),\r\n outlineOpacity: unsafeCSS(\r\n `var(--m3e-outlined-card-disabled-outline-opacity, var(--m3e-card-disabled-outline-opacity, 12%))`,\r\n ),\r\n },\r\n hover: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-outlined-card-hover-text-color, var(--m3e-card-hover-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-outlined-card-hover-state-layer-color, var(--m3e-card-hover-state-layer-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-outlined-card-hover-state-layer-opacity, var(--m3e-card-hover-state-layer-opacity, ${DesignToken.state.hoverStateLayerOpacity}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-outlined-card-hover-container-elevation, var(--m3e-card-hover-container-elevation, ${DesignToken.elevation.level1}))`,\r\n ),\r\n outlineColor: unsafeCSS(\r\n `var(--m3e-outlined-card-hover-outline-color, var(--m3e-card-hover-outline-color, ${DesignToken.color.outlineVariant}))`,\r\n ),\r\n },\r\n focus: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-outlined-card-focus-text-color, var(--m3e-card-focus-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-outlined-card-focus-state-layer-color, var(--m3e-card-focus-state-layer-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-outlined-card-focus-state-layer-opacity, var(--m3e-card-focus-state-layer-opacity, ${DesignToken.state.focusStateLayerOpacity}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-outlined-card-focus-container-elevation, var(--m3e-card-focus-container-elevation, ${DesignToken.elevation.level0}))`,\r\n ),\r\n outlineColor: unsafeCSS(\r\n `var(--m3e-outlined-card-focus-outline-color, var(--m3e-card-focus-outline-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n },\r\n pressed: {\r\n textColor: unsafeCSS(\r\n `var(--m3e-outlined-card-pressed-text-color, var(--m3e-card-pressed-text-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerColor: unsafeCSS(\r\n `var(--m3e-outlined-card-pressed-state-layer-color, var(--m3e-card-pressed-state-layer-color, ${DesignToken.color.onSurface}))`,\r\n ),\r\n stateLayerOpacity: unsafeCSS(\r\n `var(--m3e-outlined-card-pressed-state-layer-opacity, var(--m3e-card-pressed-state-layer-opacity, ${DesignToken.state.pressedStateLayerOpacity}))`,\r\n ),\r\n containerElevation: unsafeCSS(\r\n `var(--m3e-outlined-card-pressed-container-elevation, var(--m3e-card-pressed-container-elevation, ${DesignToken.elevation.level0}))`,\r\n ),\r\n outlineColor: unsafeCSS(\r\n `var(--m3e-outlined-card-pressed-outline-color, var(--m3e-card-pressed-outline-color, ${DesignToken.color.outlineVariant}))`,\r\n ),\r\n },\r\n },\r\n} as const;\r\n","import { css, CSSResult, unsafeCSS } from \"lit\";\r\n\r\nimport { DesignToken } from \"@m3e/web/core\";\r\n\r\nimport { CardToken } from \"./CardToken\";\r\nimport { CardVariantToken } from \"./CardVariantToken\";\r\n\r\n/**\r\n * Baseline styles for `M3eCardElement`.\r\n * @internal\r\n */\r\nexport const CardStyle: CSSResult = css`\r\n :host {\r\n outline: none;\r\n }\r\n :host(:not([inline])) {\r\n display: block;\r\n }\r\n :host(:not([inline])) .base {\r\n display: flex;\r\n }\r\n :host([inline]) {\r\n display: inline-block;\r\n vertical-align: middle;\r\n }\r\n :host([inline]) .base {\r\n display: inline-flex;\r\n }\r\n .base {\r\n width: 100%;\r\n height: 100%;\r\n position: relative;\r\n box-sizing: border-box;\r\n border-radius: ${CardToken.shape};\r\n }\r\n :host([actionable]) .base {\r\n transition: ${unsafeCSS(\r\n `background-color ${DesignToken.motion.duration.short4} ${DesignToken.motion.easing.standard},\r\n border-color ${DesignToken.motion.duration.short4} ${DesignToken.motion.easing.standard}`,\r\n )};\r\n }\r\n :host([actionable]) {\r\n user-select: none;\r\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\r\n }\r\n :host([actionable]:not(:disabled):not([disabled-interactive])) {\r\n cursor: pointer;\r\n }\r\n :host([actionable][disabled-interactive]) {\r\n cursor: not-allowed;\r\n }\r\n :host(:not([actionable])) .focus-ring,\r\n :host(:not([actionable])) .state-layer,\r\n :host(:not([actionable])) .ripple {\r\n display: none;\r\n }\r\n :host([variant=\"outlined\"]) .base {\r\n border-style: solid;\r\n }\r\n ::slotted([slot=\"content\"]) {\r\n flex: 1 1 auto;\r\n }\r\n ::slotted(img),\r\n ::slotted(video) {\r\n inset: 0;\r\n object-fit: cover;\r\n }\r\n ::slotted(img[slot=\"header\"]),\r\n ::slotted(video[slot=\"header\"]) {\r\n border-radius: ${CardToken.shape};\r\n }\r\n ::slotted([slot=\"actions\"][end]) {\r\n justify-content: flex-end;\r\n }\r\n ::slotted([slot=\"header\"]),\r\n ::slotted([slot=\"actions\"]),\r\n ::slotted([slot=\"footer\"]) {\r\n flex: none;\r\n display: flex;\r\n align-items: center;\r\n }\r\n :host([orientation=\"vertical\"]) .base,\r\n :host([orientation=\"horizontal\"]) ::slotted([slot=\"header\"]),\r\n :host([orientation=\"horizontal\"]) ::slotted([slot=\"actions\"]),\r\n :host([orientation=\"horizontal\"]) ::slotted([slot=\"footer\"]) {\r\n flex-direction: column;\r\n }\r\n :host([orientation=\"horizontal\"]) .base,\r\n :host([orientation=\"vertical\"]) ::slotted([slot=\"header\"]),\r\n :host([orientation=\"vertical\"]) ::slotted([slot=\"actions\"]),\r\n :host([orientation=\"vertical\"]) ::slotted([slot=\"footer\"]) {\r\n flex-direction: row;\r\n }\r\n :host([orientation=\"horizontal\"]) ::slotted(img),\r\n :host([orientation=\"horizontal\"]) ::slotted(video) {\r\n aspect-ratio: 16 / 9;\r\n }\r\n .has-content:not(.has-default) slot[name=\"content\"],\r\n .has-content.has-default slot:not([name]) {\r\n display: inherit;\r\n flex-direction: inherit;\r\n flex: 1 1 auto;\r\n }\r\n .has-header slot[name=\"header\"],\r\n .has-actions slot[name=\"actions\"],\r\n .has-footer slot[name=\"footer\"] {\r\n display: inherit;\r\n flex-direction: inherit;\r\n flex: none;\r\n }\r\n :host([orientation=\"vertical\"]) .has-content:not(.has-default) slot[name=\"content\"] {\r\n margin-inline: ${CardToken.padding};\r\n }\r\n :host([orientation=\"vertical\"]) .has-content:not(.has-default):not(.has-header) slot[name=\"content\"] {\r\n margin-block-start: ${CardToken.padding};\r\n }\r\n :host([orientation=\"vertical\"])\r\n .has-content:not(.has-default):not(.has-actions):not(.has-footer)\r\n slot[name=\"content\"] {\r\n margin-block-end: ${CardToken.padding};\r\n }\r\n :host([orientation=\"horizontal\"]) .has-content:not(.has-default) slot[name=\"content\"] {\r\n margin-block: ${CardToken.padding};\r\n }\r\n :host([orientation=\"horizontal\"]) .has-content:not(.has-default):not(.has-header) slot[name=\"content\"] {\r\n margin-inline-start: ${CardToken.padding};\r\n }\r\n :host([orientation=\"horizontal\"])\r\n .has-content:not(.has-default):not(.has-actions):not(.has-footer)\r\n slot[name=\"content\"] {\r\n margin-inline-end: ${CardToken.padding};\r\n }\r\n :host([orientation=\"vertical\"]) .has-header:not(.has-header-media) slot[name=\"header\"] {\r\n margin-inline: ${CardToken.padding};\r\n margin-block-start: ${CardToken.padding};\r\n }\r\n :host([orientation=\"horizontal\"]) .has-header:not(.has-header-media) slot[name=\"header\"] {\r\n margin-inline-start: ${CardToken.padding};\r\n margin-block: ${CardToken.padding};\r\n }\r\n .has-actions slot[name=\"actions\"] {\r\n margin-inline: ${CardToken.padding};\r\n margin-block: ${CardToken.padding};\r\n }\r\n :host([orientation=\"vertical\"]) .has-footer slot[name=\"footer\"] {\r\n margin-inline: ${CardToken.padding};\r\n margin-block-end: ${CardToken.padding};\r\n }\r\n :host([orientation=\"horizontal\"]) .has-footer slot[name=\"footer\"] {\r\n margin-block: ${CardToken.padding};\r\n margin-inline-end: ${CardToken.padding};\r\n }\r\n a {\r\n all: unset;\r\n display: block;\r\n position: absolute;\r\n top: 0px;\r\n left: 0px;\r\n right: 0px;\r\n bottom: 0px;\r\n z-index: 1;\r\n }\r\n @media (forced-colors: active) {\r\n :host([actionable]) .base {\r\n transition: none;\r\n }\r\n :host([variant]) .base {\r\n border-style: solid;\r\n border-color: CanvasText;\r\n border-width: ${CardVariantToken.outlined.outlineThickness ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant]:disabled) .base,\r\n :host([actionable][variant][disabled-interactive]) .base {\r\n color: GrayText;\r\n border-color: GrayText;\r\n }\r\n }\r\n @media (prefers-reduced-motion) {\r\n :host([actionable]) .base {\r\n transition: none;\r\n }\r\n }\r\n`;\r\n","import { css, CSSResult, CSSResultGroup, unsafeCSS } from \"lit\";\r\n\r\nimport { CardVariant } from \"../CardVariant\";\r\n\r\nimport { CardVariantToken } from \"./CardVariantToken\";\r\n\r\n/** @private */\r\nfunction cardVariantStyle(variant: CardVariant): CSSResult {\r\n return css`\r\n :host([variant=\"${unsafeCSS(variant)}\"]) .base {\r\n background-color: ${CardVariantToken[variant].containerColor ?? unsafeCSS(\"unset\")};\r\n box-shadow: ${CardVariantToken[variant].containerElevation ?? unsafeCSS(\"unset\")};\r\n border-width: ${CardVariantToken[variant].outlineThickness ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]) .base {\r\n --m3e-state-layer-hover-color: ${CardVariantToken[variant].hover.stateLayerColor};\r\n --m3e-state-layer-hover-opacity: ${CardVariantToken[variant].hover.stateLayerOpacity};\r\n --m3e-state-layer-focus-color: ${CardVariantToken[variant].focus.stateLayerColor};\r\n --m3e-state-layer-focus-opacity: ${CardVariantToken[variant].focus.stateLayerOpacity};\r\n --m3e-ripple-color: ${CardVariantToken[variant].pressed.stateLayerColor};\r\n --m3e-ripple-opacity: ${CardVariantToken[variant].pressed.stateLayerOpacity};\r\n --m3e-elevation-level: ${CardVariantToken[variant].containerElevation ?? unsafeCSS(\"unset\")};\r\n --m3e-elevation-hover-level: ${CardVariantToken[variant].hover.containerElevation ?? unsafeCSS(\"unset\")};\r\n --m3e-elevation-focus-level: ${CardVariantToken[variant].focus.containerElevation ?? unsafeCSS(\"unset\")};\r\n --m3e-elevation-pressed-level: ${CardVariantToken[variant].pressed.containerElevation ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"]) .base {\r\n border-color: ${CardVariantToken[variant].outlineColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]:focus .base) {\r\n border-color: ${CardVariantToken[variant].focus.outlineColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]:hover .base) {\r\n border-color: ${CardVariantToken[variant].hover.outlineColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]) .base.pressed {\r\n border-color: ${CardVariantToken[variant].pressed.outlineColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([variant=\"${unsafeCSS(variant)}\"]) .base {\r\n color: ${CardVariantToken[variant].textColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]:focus) .base {\r\n color: ${CardVariantToken[variant].focus.textColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]:hover) .base {\r\n color: ${CardVariantToken[variant].hover.textColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]) .base.pressed {\r\n color: ${CardVariantToken[variant].pressed.textColor ?? unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]:disabled) .base,\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"][disabled-interactive]) .base {\r\n --m3e-elevation-level: ${CardVariantToken[variant].disabled.containerElevation ?? unsafeCSS(\"unset\")};\r\n --m3e-elevation-color: color-mix(\r\n in srgb,\r\n ${CardVariantToken[variant].disabled.containerElevationColor}\r\n ${CardVariantToken[variant].disabled.containerElevationOpacity},\r\n transparent\r\n );\r\n color: color-mix(\r\n in srgb,\r\n ${CardVariantToken[variant].disabled.textColor} ${CardVariantToken[variant].disabled.textOpacity},\r\n transparent\r\n );\r\n background-color: ${CardVariantToken[variant].disabled.containerColor &&\r\n CardVariantToken[variant].disabled.containerOpacity\r\n ? unsafeCSS(`color-mix(\r\n in srgb,\r\n ${CardVariantToken[variant].disabled.containerColor} ${CardVariantToken[variant].disabled.containerOpacity},\r\n transparent\r\n )`)\r\n : unsafeCSS(\"unset\")};\r\n border-color: ${CardVariantToken[variant].disabled.outlineColor &&\r\n CardVariantToken[variant].disabled.outlineOpacity\r\n ? unsafeCSS(`color-mix(\r\n in srgb,\r\n ${CardVariantToken[variant].disabled.outlineColor} ${CardVariantToken[variant].disabled.outlineOpacity},\r\n transparent\r\n )`)\r\n : unsafeCSS(\"unset\")};\r\n }\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]:disabled) ::slotted(img),\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"][disabled-interactive]) ::slotted(img),\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"]:disabled) ::slotted(video),\r\n :host([actionable][variant=\"${unsafeCSS(variant)}\"][disabled-interactive]) ::slotted(video) {\r\n opacity: ${CardVariantToken[variant].disabled.imageOpacity};\r\n }\r\n `;\r\n}\r\n\r\n/**\r\n * Appearance variant styles for `M3eCardElement`.\r\n * @internal\r\n */\r\nexport const CardVariantStyle: CSSResultGroup = [\r\n cardVariantStyle(\"filled\"),\r\n cardVariantStyle(\"elevated\"),\r\n cardVariantStyle(\"outlined\"),\r\n];\r\n","import { CSSResultGroup, html, LitElement, PropertyValues } from \"lit\";\r\nimport { property, query } from \"lit/decorators.js\";\r\n\r\nimport {\r\n renderPseudoLink,\r\n AttachInternals,\r\n Disabled,\r\n DisabledInteractive,\r\n Focusable,\r\n FormSubmitter,\r\n LinkButton,\r\n M3eElevationElement,\r\n M3eFocusRingElement,\r\n M3eRippleElement,\r\n M3eStateLayerElement,\r\n PressedController,\r\n KeyboardClick,\r\n hasAssignedNodes,\r\n customElement,\r\n} from \"@m3e/web/core\";\r\n\r\nimport { CardVariant } from \"./CardVariant\";\r\n\r\nimport { CardStyle, CardVariantStyle } from \"./styles\";\r\nimport { CardOrientation } from \"./CardOrientation\";\r\n\r\n/**\r\n * A content container for text, images (or other media), and actions in the context of a single subject.\r\n *\r\n * @description\r\n * The `m3e-card` component is a flexible, expressive container for presenting a unified subject—text,\r\n * media, and actions—on a visually distinct surface. It supports multiple appearance variants via the\r\n * `variant` attribute: `filled` (default, for solid emphasis), `outlined` (for subtle framing with a border),\r\n * and `elevated` (for depth and motion with shadow elevation).\r\n *\r\n * Cards can be made actionable, responding to user interaction when the `actionable` attribute is set, and can be\r\n * presented inline with surrounding content using the `inline` attribute.\r\n *\r\n * It supports both vertical and horizontal layouts through the `orientation` attribute. Content organization is\r\n * enabled via dedicated slots for `header`, `content`, `actions`, and `footer`, or developers can use the default\r\n * slot for custom layouts.\r\n *\r\n * The component provides dynamic elevation, adaptive shape, and expressive color theming, and responds to interaction states\r\n * (hover, focus, press, disabled) with smooth motion and visual feedback, ensuring clarity, accessibility,\r\n * and a cohesive user experience in accordance with Material Design 3 guidelines.\r\n *\r\n * @example\r\n * The following example illustrates each of the dedicated slots of a card.\r\n * ```html\r\n * <m3e-card>\r\n * <div slot=\"header\">Header section</div>\r\n * <div slot=\"content\">Content section</div>\r\n * <div slot=\"actions\">Actions section</div>\r\n * <div slot=\"footer\">Footer section</div>\r\n * </m3e-card>\r\n * ```\r\n *\r\n * @tag m3e-card\r\n *\r\n * @slot - Renders the content of the card without padding.\r\n * @slot header - Renders the header of the card.\r\n * @slot content - Renders the content of the card with padding.\r\n * @slot actions - Renders the actions of the card.\r\n * @slot footer - Renders the footer of the card.\r\n *\r\n * @attr actionable - Whether the card is \"actionable\" and will respond to use interaction.\r\n * @attr inline - Whether to present the card inline with surrounding content.\r\n * @attr orientation - The orientation of the card.\r\n * @attr variant - The appearance variant of the card.\r\n *\r\n * @fires click - Dispatched when the element is clicked.\r\n *\r\n * @cssprop --m3e-card-padding - Internal spacing for all slotted regions\r\n * @cssprop --m3e-card-shape - Corner radius of the card container.\r\n * @cssprop --m3e-filled-card-text-color - Foreground color for text content in filled cards.\r\n * @cssprop --m3e-filled-card-container-color - Background color of the filled card container.\r\n * @cssprop --m3e-filled-card-container-elevation - Elevation level for filled card container.\r\n * @cssprop --m3e-filled-card-disabled-text-color - Text color when filled card is disabled.\r\n * @cssprop --m3e-filled-card-disabled-text-opacity - Opacity applied to text when disabled.\r\n * @cssprop --m3e-filled-card-disabled-container-color - Background color when disabled.\r\n * @cssprop --m3e-filled-card-disabled-container-elevation - Elevation level when disabled.\r\n * @cssprop --m3e-filled-card-disabled-container-elevation-color - Shadow color when disabled.\r\n * @cssprop --m3e-filled-card-disabled-container-elevation-opacity - Shadow opacity when disabled.\r\n * @cssprop --m3e-filled-card-disabled-container-opacity - Overall container opacity when disabled.\r\n * @cssprop --m3e-filled-card-hover-text-color - Text color on hover.\r\n * @cssprop --m3e-filled-card-hover-state-layer-color - State layer color on hover.\r\n * @cssprop --m3e-filled-card-hover-state-layer-opacity - State layer opacity on hover.\r\n * @cssprop --m3e-filled-card-hover-container-elevation - Elevation level on hover.\r\n * @cssprop --m3e-filled-card-focus-text-color - Text color on focus.\r\n * @cssprop --m3e-filled-card-focus-state-layer-color - State layer color on focus.\r\n * @cssprop --m3e-filled-card-focus-state-layer-opacity - State layer opacity on focus.\r\n * @cssprop --m3e-filled-card-focus-container-elevation - Elevation level on focus.\r\n * @cssprop --m3e-filled-card-pressed-text-color - Text color on press.\r\n * @cssprop --m3e-filled-card-pressed-state-layer-color - State layer color on press.\r\n * @cssprop --m3e-filled-card-pressed-state-layer-opacity - State layer opacity on press.\r\n * @cssprop --m3e-filled-card-pressed-container-elevation - Elevation level on press.\r\n * @cssprop --m3e-elevated-card-text-color - Foreground color for text content in elevated cards.\r\n * @cssprop --m3e-elevated-card-container-color - Background color of the elevated card container.\r\n * @cssprop --m3e-elevated-card-container-elevation - Elevation level for elevated card container.\r\n * @cssprop --m3e-elevated-card-disabled-text-color - Text color when elevated card is disabled.\r\n * @cssprop --m3e-elevated-card-disabled-text-opacity - Opacity applied to text when disabled.\r\n * @cssprop --m3e-elevated-card-disabled-container-color - Background color when disabled.\r\n * @cssprop --m3e-elevated-card-disabled-container-elevation - Elevation level when disabled.\r\n * @cssprop --m3e-elevated-card-disabled-container-elevation-color - Shadow color when disabled.\r\n * @cssprop --m3e-elevated-card-disabled-container-elevation-opacity - Shadow opacity when disabled.\r\n * @cssprop --m3e-elevated-card-disabled-container-opacity - Overall container opacity when disabled.\r\n * @cssprop --m3e-elevated-card-hover-text-color - Text color on hover.\r\n * @cssprop --m3e-elevated-card-hover-state-layer-color - State layer color on hover.\r\n * @cssprop --m3e-elevated-card-hover-state-layer-opacity - State layer opacity on hover.\r\n * @cssprop --m3e-elevated-card-hover-container-elevation - Elevation level on hover.\r\n * @cssprop --m3e-elevated-card-focus-text-color - Text color on focus.\r\n * @cssprop --m3e-elevated-card-focus-state-layer-color - State layer color on focus.\r\n * @cssprop --m3e-elevated-card-focus-state-layer-opacity - State layer opacity on focus.\r\n * @cssprop --m3e-elevated-card-focus-container-elevation - Elevation level on focus.\r\n * @cssprop --m3e-elevated-card-pressed-text-color - Text color on press.\r\n * @cssprop --m3e-elevated-card-pressed-state-layer-color - State layer color on press.\r\n * @cssprop --m3e-elevated-card-pressed-state-layer-opacity - State layer opacity on press.\r\n * @cssprop --m3e-elevated-card-pressed-container-elevation - Elevation level on press.\r\n * @cssprop --m3e-outlined-card-text-color - Foreground color for text content in outlined cards.\r\n * @cssprop --m3e-outlined-card-container-color - Background color of the outlined card container.\r\n * @cssprop --m3e-outlined-card-container-elevation - Elevation level for outlined card container.\r\n * @cssprop --m3e-outlined-card-outline-color - Border color for outlined cards.\r\n * @cssprop --m3e-outlined-card-outline-thickness - Border thickness for outlined cards.\r\n * @cssprop --m3e-outlined-card-disabled-text-color - Text color when outlined card is disabled.\r\n * @cssprop --m3e-outlined-card-disabled-text-opacity - Opacity applied to text when disabled.\r\n * @cssprop --m3e-outlined-card-disabled-container-elevation - Elevation level when disabled.\r\n * @cssprop --m3e-outlined-card-disabled-container-elevation-color - Shadow color when disabled.\r\n * @cssprop --m3e-outlined-card-disabled-container-elevation-opacity - Shadow opacity when disabled.\r\n * @cssprop --m3e-outlined-card-disabled-outline-color - Border color when disabled.\r\n * @cssprop --m3e-outlined-card-disabled-outline-opacity - Border opacity when disabled.\r\n * @cssprop --m3e-outlined-card-hover-text-color - Text color on hover.\r\n * @cssprop --m3e-outlined-card-hover-state-layer-color - State layer color on hover.\r\n * @cssprop --m3e-outlined-card-hover-state-layer-opacity - State layer opacity on hover.\r\n * @cssprop --m3e-outlined-card-hover-container-elevation - Elevation level on hover.\r\n * @cssprop --m3e-outlined-card-hover-outline-color - Border color on hover.\r\n * @cssprop --m3e-outlined-card-focus-text-color - Text color on focus.\r\n * @cssprop --m3e-outlined-card-focus-state-layer-color - State layer color on focus.\r\n * @cssprop --m3e-outlined-card-focus-state-layer-opacity - State layer opacity on focus.\r\n * @cssprop --m3e-outlined-card-focus-container-elevation - Elevation level on focus.\r\n * @cssprop --m3e-outlined-card-focus-outline-color - Border color on focus.\r\n * @cssprop --m3e-outlined-card-pressed-text-color - Text color on press.\r\n * @cssprop --m3e-outlined-card-pressed-state-layer-color - State layer color on press.\r\n * @cssprop --m3e-outlined-card-pressed-state-layer-opacity - State layer opacity on press.\r\n * @cssprop --m3e-outlined-card-pressed-container-elevation - Elevation level on press.\r\n * @cssprop --m3e-outlined-card-pressed-outline-color - Border color on press.\r\n */\r\n@customElement(\"m3e-card\")\r\nexport class M3eCardElement extends KeyboardClick(\r\n LinkButton(FormSubmitter(Focusable(DisabledInteractive(Disabled(AttachInternals(LitElement), true))))),\r\n) {\r\n /** The styles of the element. */\r\n static override styles: CSSResultGroup = [CardVariantStyle, CardStyle];\r\n\r\n /** @private */ @query(\".base\") private readonly _base?: HTMLElement;\r\n /** @private */ @query(\".elevation\") private readonly _elevation?: M3eElevationElement;\r\n /** @private */ @query(\".focus-ring\") private readonly _focusRing?: M3eFocusRingElement;\r\n /** @private */ @query(\".state-layer\") private readonly _stateLayer?: M3eStateLayerElement;\r\n /** @private */ @query(\".ripple\") private readonly _ripple?: M3eRippleElement;\r\n\r\n /** @private */ readonly #clickHandler = (e: Event) => this.#handleClick(e);\r\n\r\n constructor() {\r\n super();\r\n\r\n new PressedController(this, {\r\n isPressedKey: (key) => key === \" \",\r\n callback: (pressed) => {\r\n if (this.actionable && !this.disabled && !this.disabledInteractive) {\r\n this._base?.classList.toggle(\"pressed\", pressed);\r\n }\r\n },\r\n });\r\n }\r\n\r\n /**\r\n * Whether to present the card inline with surrounding content.\r\n * @default false\r\n */\r\n @property({ type: Boolean, reflect: true }) inline = false;\r\n\r\n /**\r\n * Whether the card is \"actionable\" and will respond to use interaction.\r\n * @default false\r\n */\r\n @property({ type: Boolean, reflect: true }) actionable = false;\r\n\r\n /**\r\n * The appearance variant of the card.\r\n * @default \"filled\"\r\n */\r\n @property({ reflect: true }) variant: CardVariant = \"filled\";\r\n\r\n /**\r\n * The orientation of the card.\r\n * @default \"vertical\"\r\n */\r\n @property({ reflect: true }) orientation: CardOrientation = \"vertical\";\r\n\r\n /** @inheritdoc */\r\n override connectedCallback(): void {\r\n if (this.hasAttribute(\"actionable\")) {\r\n // If href is specified, the LinkButton mixin changes this to \"link\" if role is \"button\".\r\n this.role = \"button\";\r\n }\r\n\r\n super.connectedCallback();\r\n this.addEventListener(\"click\", this.#clickHandler);\r\n }\r\n\r\n /** @inheritdoc */\r\n override disconnectedCallback(): void {\r\n super.disconnectedCallback();\r\n\r\n this._base?.classList.toggle(\"pressed\", false);\r\n this.removeEventListener(\"click\", this.#clickHandler);\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override render(): unknown {\r\n return html`<div class=\"base\">\r\n <m3e-elevation\r\n class=\"elevation\"\r\n ?disabled=\"${!this.actionable || this.disabled || this.disabledInteractive}\"\r\n ></m3e-elevation>\r\n <m3e-focus-ring class=\"focus-ring\" ?disabled=\"${!this.actionable || this.disabled}\"></m3e-focus-ring>\r\n <m3e-state-layer\r\n class=\"state-layer\"\r\n ?disabled=\"${!this.actionable || this.disabled || this.disabledInteractive}\"\r\n ></m3e-state-layer>\r\n <m3e-ripple\r\n class=\"ripple\"\r\n ?disabled=\"${!this.actionable || this.disabled || this.disabledInteractive}\"\r\n ></m3e-ripple>\r\n ${this[renderPseudoLink]()}\r\n <slot name=\"header\" @slotchange=\"${this.#handleHeaderSlotChange}\"></slot>\r\n <slot name=\"content\" @slotchange=\"${this.#handleContentSlotChange}\">\r\n <slot @slotchange=\"${this.#handleDefaultSlotChange}\"></slot>\r\n </slot>\r\n <slot name=\"actions\" @slotchange=\"${this.#handleActionsSlotChange}\"></slot>\r\n <slot name=\"footer\" @slotchange=\"${this.#handleFooterSlotChange}\"></slot>\r\n </div>`;\r\n }\r\n\r\n /** @private */\r\n #handleHeaderSlotChange(e: Event): void {\r\n const assignedNodes = (e.target as HTMLSlotElement).assignedNodes({ flatten: true });\r\n const base = this.shadowRoot?.querySelector(\".base\");\r\n base?.classList.toggle(\"has-header\", assignedNodes.length > 0);\r\n base?.classList.toggle(\r\n \"has-header-media\",\r\n assignedNodes.some((x) => x instanceof HTMLElement && (x.tagName === \"IMG\" || x.tagName === \"VIDEO\")),\r\n );\r\n }\r\n\r\n /** @private */\r\n #handleContentSlotChange(): void {\r\n this.shadowRoot\r\n ?.querySelector(\".base\")\r\n ?.classList.toggle(\"has-content\", this.querySelector(\"[slot='content']\") !== null);\r\n }\r\n\r\n /** @private */\r\n #handleDefaultSlotChange(e: Event): void {\r\n this.shadowRoot\r\n ?.querySelector(\".base\")\r\n ?.classList.toggle(\r\n \"has-default\",\r\n hasAssignedNodes(e.target as HTMLSlotElement) && this.querySelector(\"[slot='content']\") === null,\r\n );\r\n }\r\n\r\n /** @private */\r\n #handleActionsSlotChange(e: Event): void {\r\n this.shadowRoot\r\n ?.querySelector(\".base\")\r\n ?.classList.toggle(\"has-actions\", hasAssignedNodes(e.target as HTMLSlotElement));\r\n }\r\n\r\n /** @private */\r\n #handleFooterSlotChange(e: Event): void {\r\n this.shadowRoot\r\n ?.querySelector(\".base\")\r\n ?.classList.toggle(\"has-footer\", hasAssignedNodes(e.target as HTMLSlotElement));\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override firstUpdated(_changedProperties: PropertyValues<this>): void {\r\n super.firstUpdated(_changedProperties);\r\n\r\n [this._elevation, this._focusRing, this._stateLayer, this._ripple].forEach((x) => x?.attach(this));\r\n\r\n if (!this.actionable && this.hasAttribute(\"tabindex\")) {\r\n this.removeAttribute(\"tabindex\");\r\n }\r\n }\r\n\r\n /** @inheritdoc */\r\n protected override update(changedProperties: PropertyValues<this>): void {\r\n super.update(changedProperties);\r\n\r\n if (!this.actionable && this.hasAttribute(\"tabindex\")) {\r\n this.removeAttribute(\"tabindex\");\r\n }\r\n }\r\n\r\n /** @private */\r\n #handleClick(e: Event): void {\r\n if (this.disabled || this.disabledInteractive) {\r\n e.preventDefault();\r\n e.stopImmediatePropagation();\r\n }\r\n }\r\n}\r\n\r\ndeclare global {\r\n interface HTMLElementTagNameMap {\r\n \"m3e-card\": M3eCardElement;\r\n }\r\n}\r\n"],"names":["CardToken","padding","unsafeCSS","shape","DesignToken","corner","medium","CardVariantToken","filled","textColor","color","onSurface","containerColor","surfaceContainerHighest","containerElevation","elevation","level0","disabled","textOpacity","imageOpacity","surfaceVariant","containerElevationColor","containerElevationOpacity","containerOpacity","hover","stateLayerColor","stateLayerOpacity","state","hoverStateLayerOpacity","level1","focus","focusStateLayerOpacity","pressed","pressedStateLayerOpacity","elevated","surfaceContainerLow","surface","level2","outlined","outlineColor","outlineVariant","outlineThickness","outline","outlineOpacity","CardStyle","css","motion","duration","short4","easing","standard","cardVariantStyle","variant","CardVariantStyle","M3eCardElement","KeyboardClick","LinkButton","FormSubmitter","Focusable","DisabledInteractive","Disabled","AttachInternals","LitElement","constructor","_M3eCardElement_clickHandler","set","e","__classPrivateFieldGet","call","inline","actionable","orientation","PressedController","isPressedKey","key","callback","disabledInteractive","_base","classList","toggle","connectedCallback","hasAttribute","role","addEventListener","disconnectedCallback","removeEventListener","render","html","renderPseudoLink","_M3eCardElement_instances","_M3eCardElement_handleHeaderSlotChange","_M3eCardElement_handleContentSlotChange","_M3eCardElement_handleDefaultSlotChange","_M3eCardElement_handleActionsSlotChange","_M3eCardElement_handleFooterSlotChange","firstUpdated","_changedProperties","_elevation","_focusRing","_stateLayer","_ripple","forEach","x","attach","removeAttribute","update","changedProperties","assignedNodes","target","flatten","base","shadowRoot","querySelector","length","some","HTMLElement","tagName","hasAssignedNodes","preventDefault","stopImmediatePropagation","styles","__decorate","query","prototype","property","type","Boolean","reflect","customElement"],"mappings":"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"}
package/dist/card.min.js CHANGED
@@ -3,5 +3,5 @@
3
3
  * Copyright (c) 2025–2026 matraic
4
4
  * See LICENSE file in the project root for full license text.
5
5
  */
6
- import{__classPrivateFieldGet as e,__decorate as a}from"tslib";import{unsafeCSS as t,css as o,LitElement as r,html as i}from"lit";import{query as l,property as n}from"lit/decorators.js";import{DesignToken as c,KeyboardClick as s,LinkButton as d,FormSubmitter as v,Focusable as m,DisabledInteractive as h,Disabled as u,AttachInternals as b,PressedController as p,renderPseudoLink as y,hasAssignedNodes as f,customElement as $}from"@m3e/web/core";const x=t("var(--m3e-card-padding, 1rem)"),g=t(`var(--m3e-card-shape, ${c.shape.corner.medium});`),C={filled:{textColor:t(`var(--m3e-filled-card-text-color, var(--m3e-card-text-color, ${c.color.onSurface}))`),containerColor:t(`var(--m3e-filled-card-container-color, var(--m3e-card-container-color, ${c.color.surfaceContainerHighest}))`),containerElevation:t(`var(--m3e-filled-card-container-elevation, var(--m3e-card-container-elevation, ${c.elevation.level0}))`),disabled:{textColor:t(`var(--m3e-filled-card-disabled-text-color, var(--m3e-card-disabled-text-color, ${c.color.onSurface}))`),textOpacity:t("var(--m3e-filled-card-disabled-text-opacity, var(--m3e-card-disabled-text-opacity, 38%))"),imageOpacity:t("var(--m3e-filled-card-disabled-image-opacity, var(--m3e-card-disabled-image-opacity, 38%))"),containerColor:t(`var(--m3e-filled-card-disabled-container-color, var(--m3e-card-disabled-container-color, ${c.color.surfaceVariant}))`),containerElevation:t(`var(--m3e-filled-card-disabled-container-elevation, var(--m3e-card-disabled-container-elevation, ${c.elevation.level0}))`),containerElevationColor:t(`var(--m3e-filled-card-disabled-container-elevation-color, var(--m3e-card-disabled-container-elevation-color, ${c.color.onSurface}))`),containerElevationOpacity:t("var(--m3e-filled-card-disabled-container-elevation-opacity, var(--m3e-card-disabled-container-elevation-opacity, 38%))"),containerOpacity:t("var(--m3e-filled-card-disabled-container-opacity, var(--m3e-card-disabled-container-opacity, 38%))")},hover:{textColor:t(`var(--m3e-filled-card-hover-text-color, var(--m3e-card-hover-text-color, ${c.color.onSurface}))`),stateLayerColor:t(`var(--m3e-filled-card-hover-state-layer-color, var(--m3e-card-hover-state-layer-color, ${c.color.onSurface}))`),stateLayerOpacity:t(`var(--m3e-filled-card-hover-state-layer-opacity, var(--m3e-card-hover-state-layer-opacity, ${c.state.hoverStateLayerOpacity}))`),containerElevation:t(`var(--m3e-filled-card-hover-container-elevation, var(--m3e-card-hover-container-elevation, ${c.elevation.level1}))`)},focus:{textColor:t(`var(--m3e-filled-card-focus-text-color, var(--m3e-card-focus-text-color, ${c.color.onSurface}))`),stateLayerColor:t(`var(--m3e-filled-card-focus-state-layer-color, var(--m3e-card-focus-state-layer-color, ${c.color.onSurface}))`),stateLayerOpacity:t(`var(--m3e-filled-card-focus-state-layer-opacity, var(--m3e-card-focus-state-layer-opacity, ${c.state.focusStateLayerOpacity}))`),containerElevation:t(`var(--m3e-filled-card-focus-container-elevation, var(--m3e-card-focus-container-elevation, ${c.elevation.level0}))`)},pressed:{textColor:t(`var(--m3e-filled-card-pressed-text-color, var(--m3e-card-pressed-text-color, ${c.color.onSurface}))`),stateLayerColor:t(`var(--m3e-filled-card-pressed-state-layer-color, var(--m3e-card-pressed-state-layer-color, ${c.color.onSurface}))`),stateLayerOpacity:t(`var(--m3e-filled-card-pressed-state-layer-opacity, var(--m3e-card-pressed-state-layer-opacity, ${c.state.pressedStateLayerOpacity}))`),containerElevation:t(`var(--m3e-filled-card-pressed-container-elevation, var(--m3e-card-pressed-container-elevation, ${c.elevation.level0}))`)}},elevated:{textColor:t(`var(--m3e-elevated-card-text-color, var(--m3e-card-text-color, ${c.color.onSurface}))`),containerColor:t(`var(--m3e-elevated-card-container-color, var(--m3e-card-container-color, ${c.color.surfaceContainerLow}))`),containerElevation:t(`var(--m3e-elevated-card-container-elevation, var(--m3e-card-container-elevation, ${c.elevation.level1}))`),disabled:{textColor:t(`var(--m3e-elevated-card-disabled-text-color, var(--m3e-card-disabled-text-color, ${c.color.onSurface}))`),textOpacity:t("var(--m3e-elevated-card-disabled-text-opacity, var(--m3e-card-disabled-text-opacity, 38%))"),imageOpacity:t("var(--m3e-elevated-card-disabled-image-opacity, var(--m3e-card-disabled-image-opacity, 38%))"),containerColor:t(`var(--m3e-elevated-card-disabled-container-color, var(--m3e-card-disabled-container-color, ${c.color.surface}))`),containerElevation:t(`var(--m3e-elevated-card-disabled-container-elevation, var(--m3e-card-disabled-container-elevation, ${c.elevation.level1}))`),containerElevationColor:t(`var(--m3e-elevated-card-disabled-container-elevation-color, var(--m3e-card-disabled-container-elevation-color, ${c.color.onSurface}))`),containerElevationOpacity:t("var(--m3e-elevated-card-disabled-container-elevation-opacity, var(--m3e-card-disabled-container-elevation-opacity, 38%))"),containerOpacity:t("var(--m3e-elevated-card-disabled-container-opacity, var(--m3e-card-disabled-container-opacity, 38%))")},hover:{textColor:t(`var(--m3e-elevated-card-hover-text-color, var(--m3e-card-hover-text-color, ${c.color.onSurface}))`),stateLayerColor:t(`var(--m3e-elevated-card-hover-state-layer-color, var(--m3e-card-hover-state-layer-color, ${c.color.onSurface}))`),stateLayerOpacity:t(`var(--m3e-elevated-card-hover-state-layer-opacity, var(--m3e-card-hover-state-layer-opacity, ${c.state.hoverStateLayerOpacity}))`),containerElevation:t(`var(--m3e-elevated-card-hover-container-elevation, var(--m3e-card-hover-container-elevation, ${c.elevation.level2}))`)},focus:{textColor:t(`var(--m3e-elevated-card-focus-text-color, var(--m3e-card-focus-text-color, ${c.color.onSurface}))`),stateLayerColor:t(`var(--m3e-elevated-card-focus-state-layer-color, var(--m3e-card-focus-state-layer-color, ${c.color.onSurface}))`),stateLayerOpacity:t(`var(--m3e-elevated-card-focus-state-layer-opacity, var(--m3e-card-focus-state-layer-opacity, ${c.state.focusStateLayerOpacity}))`),containerElevation:t(`var(--m3e-elevated-card-focus-container-elevation, var(--m3e-card-focus-container-elevation, ${c.elevation.level1}))`)},pressed:{textColor:t(`var(--m3e-elevated-card-pressed-text-color, var(--m3e-card-pressed-text-color, ${c.color.onSurface}))`),stateLayerColor:t(`var(--m3e-elevated-card-pressed-state-layer-color, var(--m3e-card-pressed-state-layer-color, ${c.color.onSurface}))`),stateLayerOpacity:t(`var(--m3e-elevated-card-pressed-state-layer-opacity, var(--m3e-card-pressed-state-layer-opacity, ${c.state.pressedStateLayerOpacity}))`),containerElevation:t(`var(--m3e-elevated-card-pressed-container-elevation, var(--m3e-card-pressed-container-elevation, ${c.elevation.level1}))`)}},outlined:{textColor:t(`var(--m3e-outlined-card-text-color, var(--m3e-card-text-color, ${c.color.onSurface}))`),containerColor:t(`var(--m3e-outlined-card-container-color, var(--m3e-card-container-color, ${c.color.surface}))`),containerElevation:t(`var(--m3e-outlined-card-container-elevation, var(--m3e-card-container-elevation, ${c.elevation.level0}))`),outlineColor:t(`var(--m3e-outlined-card-outline-color, var(--m3e-card-outline-color, ${c.color.outlineVariant}))`),outlineThickness:t("var(--m3e-outlined-card-outline-thickness, var(--m3e-card-outline-thickness, 1px))"),disabled:{textColor:t(`var(--m3e-outlined-card-disabled-text-color, var(--m3e-card-disabled-text-color, ${c.color.onSurface}))`),textOpacity:t("var(--m3e-outlined-card-disabled-text-opacity, var(--m3e-card-disabled-text-opacity, 38%))"),imageOpacity:t("var(--m3e-outlined-card-disabled-image-opacity, var(--m3e-card-disabled-image-opacity, 38%))"),containerElevation:t(`var(--m3e-outlined-card-disabled-container-elevation, var(--m3e-card-disabled-container-elevation, ${c.elevation.level0}))`),containerElevationColor:t(`var(--m3e-outlined-card-disabled-container-elevation-color, var(--m3e-card-disabled-container-elevation-color, ${c.color.onSurface}))`),containerElevationOpacity:t("var(--m3e-outlined-card-disabled-container-elevation-opacity, var(--m3e-card-disabled-container-elevation-opacity, 38%))"),outlineColor:t(`var(--m3e-outlined-card-disabled-outline-color, var(--m3e-card-disabled-outline-color, ${c.color.outline}))`),outlineOpacity:t("var(--m3e-outlined-card-disabled-outline-opacity, var(--m3e-card-disabled-outline-opacity, 12%))")},hover:{textColor:t(`var(--m3e-outlined-card-hover-text-color, var(--m3e-card-hover-text-color, ${c.color.onSurface}))`),stateLayerColor:t(`var(--m3e-outlined-card-hover-state-layer-color, var(--m3e-card-hover-state-layer-color, ${c.color.onSurface}))`),stateLayerOpacity:t(`var(--m3e-outlined-card-hover-state-layer-opacity, var(--m3e-card-hover-state-layer-opacity, ${c.state.hoverStateLayerOpacity}))`),containerElevation:t(`var(--m3e-outlined-card-hover-container-elevation, var(--m3e-card-hover-container-elevation, ${c.elevation.level1}))`),outlineColor:t(`var(--m3e-outlined-card-hover-outline-color, var(--m3e-card-hover-outline-color, ${c.color.outlineVariant}))`)},focus:{textColor:t(`var(--m3e-outlined-card-focus-text-color, var(--m3e-card-focus-text-color, ${c.color.onSurface}))`),stateLayerColor:t(`var(--m3e-outlined-card-focus-state-layer-color, var(--m3e-card-focus-state-layer-color, ${c.color.onSurface}))`),stateLayerOpacity:t(`var(--m3e-outlined-card-focus-state-layer-opacity, var(--m3e-card-focus-state-layer-opacity, ${c.state.focusStateLayerOpacity}))`),containerElevation:t(`var(--m3e-outlined-card-focus-container-elevation, var(--m3e-card-focus-container-elevation, ${c.elevation.level0}))`),outlineColor:t(`var(--m3e-outlined-card-focus-outline-color, var(--m3e-card-focus-outline-color, ${c.color.onSurface}))`)},pressed:{textColor:t(`var(--m3e-outlined-card-pressed-text-color, var(--m3e-card-pressed-text-color, ${c.color.onSurface}))`),stateLayerColor:t(`var(--m3e-outlined-card-pressed-state-layer-color, var(--m3e-card-pressed-state-layer-color, ${c.color.onSurface}))`),stateLayerOpacity:t(`var(--m3e-outlined-card-pressed-state-layer-opacity, var(--m3e-card-pressed-state-layer-opacity, ${c.state.pressedStateLayerOpacity}))`),containerElevation:t(`var(--m3e-outlined-card-pressed-container-elevation, var(--m3e-card-pressed-container-elevation, ${c.elevation.level0}))`),outlineColor:t(`var(--m3e-outlined-card-pressed-outline-color, var(--m3e-card-pressed-outline-color, ${c.color.outlineVariant}))`)}}},L=o`:host { outline: none; } :host(:not([inline])) { display: block; } :host(:not([inline])) .base { display: flex; } :host([inline]) { display: inline-block; vertical-align: middle; } :host([inline]) .base { display: inline-flex; } .base { width: 100%; height: 100%; position: relative; box-sizing: border-box; border-radius: ${g}; transition: ${t(`background-color ${c.motion.duration.short4} ${c.motion.easing.standard},\n border-color ${c.motion.duration.short4} ${c.motion.easing.standard}`)}; } :host([actionable]) { user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } :host([actionable]:not(:disabled):not([disabled-interactive])) { cursor: pointer; } :host([actionable][disabled-interactive]) { cursor: not-allowed; } :host(:not([actionable])) .focus-ring, :host(:not([actionable])) .state-layer, :host(:not([actionable])) .ripple { display: none; } :host([variant="outlined"]) .base { border-style: solid; } ::slotted([slot="content"]) { flex: 1 1 auto; } ::slotted(img), ::slotted(video) { inset: 0; object-fit: cover; } ::slotted(img[slot="header"]), ::slotted(video[slot="header"]) { border-radius: ${g}; } ::slotted([slot="actions"][end]) { justify-content: flex-end; } ::slotted([slot="header"]), ::slotted([slot="actions"]), ::slotted([slot="footer"]) { flex: none; display: flex; align-items: center; } :host([orientation="vertical"]) .base, :host([orientation="horizontal"]) ::slotted([slot="header"]), :host([orientation="horizontal"]) ::slotted([slot="actions"]), :host([orientation="horizontal"]) ::slotted([slot="footer"]) { flex-direction: column; } :host([orientation="horizontal"]) .base, :host([orientation="vertical"]) ::slotted([slot="header"]), :host([orientation="vertical"]) ::slotted([slot="actions"]), :host([orientation="vertical"]) ::slotted([slot="footer"]) { flex-direction: row; } :host([orientation="horizontal"]) ::slotted(img), :host([orientation="horizontal"]) ::slotted(video) { aspect-ratio: 16 / 9; } .has-content:not(.has-default) slot[name="content"], .has-content.has-default slot:not([name]) { display: inherit; flex-direction: inherit; flex: 1 1 auto; } .has-header slot[name="header"], .has-actions slot[name="actions"], .has-footer slot[name="footer"] { display: inherit; flex-direction: inherit; flex: none; } :host([orientation="vertical"]) .has-content:not(.has-default) slot[name="content"] { margin-inline: ${x}; } :host([orientation="vertical"]) .has-content:not(.has-default):not(.has-header) slot[name="content"] { margin-block-start: ${x}; } :host([orientation="vertical"]) .has-content:not(.has-default):not(.has-actions):not(.has-footer) slot[name="content"] { margin-block-end: ${x}; } :host([orientation="horizontal"]) .has-content:not(.has-default) slot[name="content"] { margin-block: ${x}; } :host([orientation="horizontal"]) .has-content:not(.has-default):not(.has-header) slot[name="content"] { margin-inline-start: ${x}; } :host([orientation="horizontal"]) .has-content:not(.has-default):not(.has-actions):not(.has-footer) slot[name="content"] { margin-inline-end: ${x}; } :host([orientation="vertical"]) .has-header:not(.has-header-media) slot[name="header"] { margin-inline: ${x}; margin-block-start: ${x}; } :host([orientation="horizontal"]) .has-header:not(.has-header-media) slot[name="header"] { margin-inline-start: ${x}; margin-block: ${x}; } .has-actions slot[name="actions"] { margin-inline: ${x}; margin-block: ${x}; } :host([orientation="vertical"]) .has-footer slot[name="footer"] { margin-inline: ${x}; margin-block-end: ${x}; } :host([orientation="horizontal"]) .has-footer slot[name="footer"] { margin-block: ${x}; margin-inline-end: ${x}; } a { all: unset; display: block; position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px; z-index: 1; } @media (forced-colors: active) { .base { transition: none; } :host([variant]) .base { border-style: solid; border-color: CanvasText; border-width: ${C.outlined.outlineThickness??t("unset")}; } :host([actionable][variant]:disabled) .base, :host([actionable][variant][disabled-interactive]) .base { color: GrayText; border-color: GrayText; } } @media (prefers-reduced-motion) { .base { transition: none; } }`;function S(e){return o`:host([variant="${t(e)}"]) .base { background-color: ${C[e].containerColor??t("unset")}; box-shadow: ${C[e].containerElevation??t("unset")}; border-width: ${C[e].outlineThickness??t("unset")}; } :host([actionable][variant="${t(e)}"]) .base { --m3e-state-layer-hover-color: ${C[e].hover.stateLayerColor}; --m3e-state-layer-hover-opacity: ${C[e].hover.stateLayerOpacity}; --m3e-state-layer-focus-color: ${C[e].focus.stateLayerColor}; --m3e-state-layer-focus-opacity: ${C[e].focus.stateLayerOpacity}; --m3e-ripple-color: ${C[e].pressed.stateLayerColor}; --m3e-ripple-opacity: ${C[e].pressed.stateLayerOpacity}; --m3e-elevation-level: ${C[e].containerElevation??t("unset")}; --m3e-elevation-hover-level: ${C[e].hover.containerElevation??t("unset")}; --m3e-elevation-focus-level: ${C[e].focus.containerElevation??t("unset")}; --m3e-elevation-pressed-level: ${C[e].pressed.containerElevation??t("unset")}; } :host([variant="${t(e)}"]) .base { border-color: ${C[e].outlineColor??t("unset")}; } :host([actionable][variant="${t(e)}"]:focus .base) { border-color: ${C[e].focus.outlineColor??t("unset")}; } :host([actionable][variant="${t(e)}"]:hover .base) { border-color: ${C[e].hover.outlineColor??t("unset")}; } :host([actionable][variant="${t(e)}"]) .base.pressed { border-color: ${C[e].pressed.outlineColor??t("unset")}; } :host([variant="${t(e)}"]) .base { color: ${C[e].textColor??t("unset")}; } :host([actionable][variant="${t(e)}"]:focus) .base { color: ${C[e].focus.textColor??t("unset")}; } :host([actionable][variant="${t(e)}"]:hover) .base { color: ${C[e].hover.textColor??t("unset")}; } :host([actionable][variant="${t(e)}"]) .base.pressed { color: ${C[e].pressed.textColor??t("unset")}; } :host([actionable][variant="${t(e)}"]:disabled) .base, :host([actionable][variant="${t(e)}"][disabled-interactive]) .base { --m3e-elevation-level: ${C[e].disabled.containerElevation??t("unset")}; --m3e-elevation-color: color-mix( in srgb, ${C[e].disabled.containerElevationColor} ${C[e].disabled.containerElevationOpacity}, transparent ); color: color-mix( in srgb, ${C[e].disabled.textColor} ${C[e].disabled.textOpacity}, transparent ); background-color: ${C[e].disabled.containerColor&&C[e].disabled.containerOpacity?t(`color-mix(\n in srgb,\n ${C[e].disabled.containerColor} ${C[e].disabled.containerOpacity},\n transparent\n )`):t("unset")}; border-color: ${C[e].disabled.outlineColor&&C[e].disabled.outlineOpacity?t(`color-mix(\n in srgb,\n ${C[e].disabled.outlineColor} ${C[e].disabled.outlineOpacity},\n transparent\n )`):t("unset")}; } :host([actionable][variant="${t(e)}"]:disabled) ::slotted(img), :host([actionable][variant="${t(e)}"][disabled-interactive]) ::slotted(img), :host([actionable][variant="${t(e)}"]:disabled) ::slotted(video), :host([actionable][variant="${t(e)}"][disabled-interactive]) ::slotted(video) { opacity: ${C[e].disabled.imageOpacity}; }`}const O=[S("filled"),S("elevated"),S("outlined")];var E,k,w,z,_,I,q,R;let T=class extends(s(d(v(m(h(u(b(r),!0))))))){constructor(){super(),E.add(this),k.set(this,a=>e(this,E,"m",R).call(this,a)),this.inline=!1,this.actionable=!1,this.variant="filled",this.orientation="vertical",new p(this,{isPressedKey:e=>" "===e,callback:e=>{!this.actionable||this.disabled||this.disabledInteractive||this._base?.classList.toggle("pressed",e)}})}connectedCallback(){this.hasAttribute("actionable")&&(this.role="button"),super.connectedCallback(),this.addEventListener("click",e(this,k,"f"))}disconnectedCallback(){super.disconnectedCallback(),this._base?.classList.toggle("pressed",!1),this.removeEventListener("click",e(this,k,"f"))}render(){return i`<div class="base"><m3e-elevation class="elevation" ?disabled="${!this.actionable||this.disabled||this.disabledInteractive}"></m3e-elevation><m3e-focus-ring class="focus-ring" ?disabled="${!this.actionable||this.disabled}"></m3e-focus-ring><m3e-state-layer class="state-layer" ?disabled="${!this.actionable||this.disabled||this.disabledInteractive}"></m3e-state-layer><m3e-ripple class="ripple" ?disabled="${!this.actionable||this.disabled||this.disabledInteractive}"></m3e-ripple>${this[y]()}<slot name="header" @slotchange="${e(this,E,"m",w)}"></slot><slot name="content" @slotchange="${e(this,E,"m",z)}"><slot @slotchange="${e(this,E,"m",_)}"></slot></slot><slot name="actions" @slotchange="${e(this,E,"m",I)}"></slot><slot name="footer" @slotchange="${e(this,E,"m",q)}"></slot></div>`}firstUpdated(e){super.firstUpdated(e),[this._elevation,this._focusRing,this._stateLayer,this._ripple].forEach(e=>e?.attach(this)),!this.actionable&&this.hasAttribute("tabindex")&&this.removeAttribute("tabindex")}update(e){super.update(e),!this.actionable&&this.hasAttribute("tabindex")&&this.removeAttribute("tabindex")}};k=new WeakMap,E=new WeakSet,w=function(e){const a=e.target.assignedNodes({flatten:!0}),t=this.shadowRoot?.querySelector(".base");t?.classList.toggle("has-header",a.length>0),t?.classList.toggle("has-header-media",a.some(e=>e instanceof HTMLElement&&("IMG"===e.tagName||"VIDEO"===e.tagName)))},z=function(){this.shadowRoot?.querySelector(".base")?.classList.toggle("has-content",null!==this.querySelector("[slot='content']"))},_=function(e){this.shadowRoot?.querySelector(".base")?.classList.toggle("has-default",f(e.target)&&null===this.querySelector("[slot='content']"))},I=function(e){this.shadowRoot?.querySelector(".base")?.classList.toggle("has-actions",f(e.target))},q=function(e){this.shadowRoot?.querySelector(".base")?.classList.toggle("has-footer",f(e.target))},R=function(e){(this.disabled||this.disabledInteractive)&&(e.preventDefault(),e.stopImmediatePropagation())},T.styles=[O,L],a([l(".base")],T.prototype,"_base",void 0),a([l(".elevation")],T.prototype,"_elevation",void 0),a([l(".focus-ring")],T.prototype,"_focusRing",void 0),a([l(".state-layer")],T.prototype,"_stateLayer",void 0),a([l(".ripple")],T.prototype,"_ripple",void 0),a([n({type:Boolean,reflect:!0})],T.prototype,"inline",void 0),a([n({type:Boolean,reflect:!0})],T.prototype,"actionable",void 0),a([n({reflect:!0})],T.prototype,"variant",void 0),a([n({reflect:!0})],T.prototype,"orientation",void 0),T=a([$("m3e-card")],T);export{T as M3eCardElement};
6
+ import{__classPrivateFieldGet as e,__decorate as a}from"tslib";import{unsafeCSS as t,css as o,LitElement as r,html as i}from"lit";import{query as l,property as n}from"lit/decorators.js";import{DesignToken as c,KeyboardClick as s,LinkButton as d,FormSubmitter as v,Focusable as m,DisabledInteractive as h,Disabled as u,AttachInternals as b,PressedController as p,renderPseudoLink as y,hasAssignedNodes as f,customElement as $}from"@m3e/web/core";const x=t("var(--m3e-card-padding, 1rem)"),g=t(`var(--m3e-card-shape, ${c.shape.corner.medium});`),C={filled:{textColor:t(`var(--m3e-filled-card-text-color, var(--m3e-card-text-color, ${c.color.onSurface}))`),containerColor:t(`var(--m3e-filled-card-container-color, var(--m3e-card-container-color, ${c.color.surfaceContainerHighest}))`),containerElevation:t(`var(--m3e-filled-card-container-elevation, var(--m3e-card-container-elevation, ${c.elevation.level0}))`),disabled:{textColor:t(`var(--m3e-filled-card-disabled-text-color, var(--m3e-card-disabled-text-color, ${c.color.onSurface}))`),textOpacity:t("var(--m3e-filled-card-disabled-text-opacity, var(--m3e-card-disabled-text-opacity, 38%))"),imageOpacity:t("var(--m3e-filled-card-disabled-image-opacity, var(--m3e-card-disabled-image-opacity, 38%))"),containerColor:t(`var(--m3e-filled-card-disabled-container-color, var(--m3e-card-disabled-container-color, ${c.color.surfaceVariant}))`),containerElevation:t(`var(--m3e-filled-card-disabled-container-elevation, var(--m3e-card-disabled-container-elevation, ${c.elevation.level0}))`),containerElevationColor:t(`var(--m3e-filled-card-disabled-container-elevation-color, var(--m3e-card-disabled-container-elevation-color, ${c.color.onSurface}))`),containerElevationOpacity:t("var(--m3e-filled-card-disabled-container-elevation-opacity, var(--m3e-card-disabled-container-elevation-opacity, 38%))"),containerOpacity:t("var(--m3e-filled-card-disabled-container-opacity, var(--m3e-card-disabled-container-opacity, 38%))")},hover:{textColor:t(`var(--m3e-filled-card-hover-text-color, var(--m3e-card-hover-text-color, ${c.color.onSurface}))`),stateLayerColor:t(`var(--m3e-filled-card-hover-state-layer-color, var(--m3e-card-hover-state-layer-color, ${c.color.onSurface}))`),stateLayerOpacity:t(`var(--m3e-filled-card-hover-state-layer-opacity, var(--m3e-card-hover-state-layer-opacity, ${c.state.hoverStateLayerOpacity}))`),containerElevation:t(`var(--m3e-filled-card-hover-container-elevation, var(--m3e-card-hover-container-elevation, ${c.elevation.level1}))`)},focus:{textColor:t(`var(--m3e-filled-card-focus-text-color, var(--m3e-card-focus-text-color, ${c.color.onSurface}))`),stateLayerColor:t(`var(--m3e-filled-card-focus-state-layer-color, var(--m3e-card-focus-state-layer-color, ${c.color.onSurface}))`),stateLayerOpacity:t(`var(--m3e-filled-card-focus-state-layer-opacity, var(--m3e-card-focus-state-layer-opacity, ${c.state.focusStateLayerOpacity}))`),containerElevation:t(`var(--m3e-filled-card-focus-container-elevation, var(--m3e-card-focus-container-elevation, ${c.elevation.level0}))`)},pressed:{textColor:t(`var(--m3e-filled-card-pressed-text-color, var(--m3e-card-pressed-text-color, ${c.color.onSurface}))`),stateLayerColor:t(`var(--m3e-filled-card-pressed-state-layer-color, var(--m3e-card-pressed-state-layer-color, ${c.color.onSurface}))`),stateLayerOpacity:t(`var(--m3e-filled-card-pressed-state-layer-opacity, var(--m3e-card-pressed-state-layer-opacity, ${c.state.pressedStateLayerOpacity}))`),containerElevation:t(`var(--m3e-filled-card-pressed-container-elevation, var(--m3e-card-pressed-container-elevation, ${c.elevation.level0}))`)}},elevated:{textColor:t(`var(--m3e-elevated-card-text-color, var(--m3e-card-text-color, ${c.color.onSurface}))`),containerColor:t(`var(--m3e-elevated-card-container-color, var(--m3e-card-container-color, ${c.color.surfaceContainerLow}))`),containerElevation:t(`var(--m3e-elevated-card-container-elevation, var(--m3e-card-container-elevation, ${c.elevation.level1}))`),disabled:{textColor:t(`var(--m3e-elevated-card-disabled-text-color, var(--m3e-card-disabled-text-color, ${c.color.onSurface}))`),textOpacity:t("var(--m3e-elevated-card-disabled-text-opacity, var(--m3e-card-disabled-text-opacity, 38%))"),imageOpacity:t("var(--m3e-elevated-card-disabled-image-opacity, var(--m3e-card-disabled-image-opacity, 38%))"),containerColor:t(`var(--m3e-elevated-card-disabled-container-color, var(--m3e-card-disabled-container-color, ${c.color.surface}))`),containerElevation:t(`var(--m3e-elevated-card-disabled-container-elevation, var(--m3e-card-disabled-container-elevation, ${c.elevation.level1}))`),containerElevationColor:t(`var(--m3e-elevated-card-disabled-container-elevation-color, var(--m3e-card-disabled-container-elevation-color, ${c.color.onSurface}))`),containerElevationOpacity:t("var(--m3e-elevated-card-disabled-container-elevation-opacity, var(--m3e-card-disabled-container-elevation-opacity, 38%))"),containerOpacity:t("var(--m3e-elevated-card-disabled-container-opacity, var(--m3e-card-disabled-container-opacity, 38%))")},hover:{textColor:t(`var(--m3e-elevated-card-hover-text-color, var(--m3e-card-hover-text-color, ${c.color.onSurface}))`),stateLayerColor:t(`var(--m3e-elevated-card-hover-state-layer-color, var(--m3e-card-hover-state-layer-color, ${c.color.onSurface}))`),stateLayerOpacity:t(`var(--m3e-elevated-card-hover-state-layer-opacity, var(--m3e-card-hover-state-layer-opacity, ${c.state.hoverStateLayerOpacity}))`),containerElevation:t(`var(--m3e-elevated-card-hover-container-elevation, var(--m3e-card-hover-container-elevation, ${c.elevation.level2}))`)},focus:{textColor:t(`var(--m3e-elevated-card-focus-text-color, var(--m3e-card-focus-text-color, ${c.color.onSurface}))`),stateLayerColor:t(`var(--m3e-elevated-card-focus-state-layer-color, var(--m3e-card-focus-state-layer-color, ${c.color.onSurface}))`),stateLayerOpacity:t(`var(--m3e-elevated-card-focus-state-layer-opacity, var(--m3e-card-focus-state-layer-opacity, ${c.state.focusStateLayerOpacity}))`),containerElevation:t(`var(--m3e-elevated-card-focus-container-elevation, var(--m3e-card-focus-container-elevation, ${c.elevation.level1}))`)},pressed:{textColor:t(`var(--m3e-elevated-card-pressed-text-color, var(--m3e-card-pressed-text-color, ${c.color.onSurface}))`),stateLayerColor:t(`var(--m3e-elevated-card-pressed-state-layer-color, var(--m3e-card-pressed-state-layer-color, ${c.color.onSurface}))`),stateLayerOpacity:t(`var(--m3e-elevated-card-pressed-state-layer-opacity, var(--m3e-card-pressed-state-layer-opacity, ${c.state.pressedStateLayerOpacity}))`),containerElevation:t(`var(--m3e-elevated-card-pressed-container-elevation, var(--m3e-card-pressed-container-elevation, ${c.elevation.level1}))`)}},outlined:{textColor:t(`var(--m3e-outlined-card-text-color, var(--m3e-card-text-color, ${c.color.onSurface}))`),containerColor:t(`var(--m3e-outlined-card-container-color, var(--m3e-card-container-color, ${c.color.surface}))`),containerElevation:t(`var(--m3e-outlined-card-container-elevation, var(--m3e-card-container-elevation, ${c.elevation.level0}))`),outlineColor:t(`var(--m3e-outlined-card-outline-color, var(--m3e-card-outline-color, ${c.color.outlineVariant}))`),outlineThickness:t("var(--m3e-outlined-card-outline-thickness, var(--m3e-card-outline-thickness, 1px))"),disabled:{textColor:t(`var(--m3e-outlined-card-disabled-text-color, var(--m3e-card-disabled-text-color, ${c.color.onSurface}))`),textOpacity:t("var(--m3e-outlined-card-disabled-text-opacity, var(--m3e-card-disabled-text-opacity, 38%))"),imageOpacity:t("var(--m3e-outlined-card-disabled-image-opacity, var(--m3e-card-disabled-image-opacity, 38%))"),containerElevation:t(`var(--m3e-outlined-card-disabled-container-elevation, var(--m3e-card-disabled-container-elevation, ${c.elevation.level0}))`),containerElevationColor:t(`var(--m3e-outlined-card-disabled-container-elevation-color, var(--m3e-card-disabled-container-elevation-color, ${c.color.onSurface}))`),containerElevationOpacity:t("var(--m3e-outlined-card-disabled-container-elevation-opacity, var(--m3e-card-disabled-container-elevation-opacity, 38%))"),outlineColor:t(`var(--m3e-outlined-card-disabled-outline-color, var(--m3e-card-disabled-outline-color, ${c.color.outline}))`),outlineOpacity:t("var(--m3e-outlined-card-disabled-outline-opacity, var(--m3e-card-disabled-outline-opacity, 12%))")},hover:{textColor:t(`var(--m3e-outlined-card-hover-text-color, var(--m3e-card-hover-text-color, ${c.color.onSurface}))`),stateLayerColor:t(`var(--m3e-outlined-card-hover-state-layer-color, var(--m3e-card-hover-state-layer-color, ${c.color.onSurface}))`),stateLayerOpacity:t(`var(--m3e-outlined-card-hover-state-layer-opacity, var(--m3e-card-hover-state-layer-opacity, ${c.state.hoverStateLayerOpacity}))`),containerElevation:t(`var(--m3e-outlined-card-hover-container-elevation, var(--m3e-card-hover-container-elevation, ${c.elevation.level1}))`),outlineColor:t(`var(--m3e-outlined-card-hover-outline-color, var(--m3e-card-hover-outline-color, ${c.color.outlineVariant}))`)},focus:{textColor:t(`var(--m3e-outlined-card-focus-text-color, var(--m3e-card-focus-text-color, ${c.color.onSurface}))`),stateLayerColor:t(`var(--m3e-outlined-card-focus-state-layer-color, var(--m3e-card-focus-state-layer-color, ${c.color.onSurface}))`),stateLayerOpacity:t(`var(--m3e-outlined-card-focus-state-layer-opacity, var(--m3e-card-focus-state-layer-opacity, ${c.state.focusStateLayerOpacity}))`),containerElevation:t(`var(--m3e-outlined-card-focus-container-elevation, var(--m3e-card-focus-container-elevation, ${c.elevation.level0}))`),outlineColor:t(`var(--m3e-outlined-card-focus-outline-color, var(--m3e-card-focus-outline-color, ${c.color.onSurface}))`)},pressed:{textColor:t(`var(--m3e-outlined-card-pressed-text-color, var(--m3e-card-pressed-text-color, ${c.color.onSurface}))`),stateLayerColor:t(`var(--m3e-outlined-card-pressed-state-layer-color, var(--m3e-card-pressed-state-layer-color, ${c.color.onSurface}))`),stateLayerOpacity:t(`var(--m3e-outlined-card-pressed-state-layer-opacity, var(--m3e-card-pressed-state-layer-opacity, ${c.state.pressedStateLayerOpacity}))`),containerElevation:t(`var(--m3e-outlined-card-pressed-container-elevation, var(--m3e-card-pressed-container-elevation, ${c.elevation.level0}))`),outlineColor:t(`var(--m3e-outlined-card-pressed-outline-color, var(--m3e-card-pressed-outline-color, ${c.color.outlineVariant}))`)}}},L=o`:host { outline: none; } :host(:not([inline])) { display: block; } :host(:not([inline])) .base { display: flex; } :host([inline]) { display: inline-block; vertical-align: middle; } :host([inline]) .base { display: inline-flex; } .base { width: 100%; height: 100%; position: relative; box-sizing: border-box; border-radius: ${g}; } :host([actionable]) .base { transition: ${t(`background-color ${c.motion.duration.short4} ${c.motion.easing.standard},\n border-color ${c.motion.duration.short4} ${c.motion.easing.standard}`)}; } :host([actionable]) { user-select: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } :host([actionable]:not(:disabled):not([disabled-interactive])) { cursor: pointer; } :host([actionable][disabled-interactive]) { cursor: not-allowed; } :host(:not([actionable])) .focus-ring, :host(:not([actionable])) .state-layer, :host(:not([actionable])) .ripple { display: none; } :host([variant="outlined"]) .base { border-style: solid; } ::slotted([slot="content"]) { flex: 1 1 auto; } ::slotted(img), ::slotted(video) { inset: 0; object-fit: cover; } ::slotted(img[slot="header"]), ::slotted(video[slot="header"]) { border-radius: ${g}; } ::slotted([slot="actions"][end]) { justify-content: flex-end; } ::slotted([slot="header"]), ::slotted([slot="actions"]), ::slotted([slot="footer"]) { flex: none; display: flex; align-items: center; } :host([orientation="vertical"]) .base, :host([orientation="horizontal"]) ::slotted([slot="header"]), :host([orientation="horizontal"]) ::slotted([slot="actions"]), :host([orientation="horizontal"]) ::slotted([slot="footer"]) { flex-direction: column; } :host([orientation="horizontal"]) .base, :host([orientation="vertical"]) ::slotted([slot="header"]), :host([orientation="vertical"]) ::slotted([slot="actions"]), :host([orientation="vertical"]) ::slotted([slot="footer"]) { flex-direction: row; } :host([orientation="horizontal"]) ::slotted(img), :host([orientation="horizontal"]) ::slotted(video) { aspect-ratio: 16 / 9; } .has-content:not(.has-default) slot[name="content"], .has-content.has-default slot:not([name]) { display: inherit; flex-direction: inherit; flex: 1 1 auto; } .has-header slot[name="header"], .has-actions slot[name="actions"], .has-footer slot[name="footer"] { display: inherit; flex-direction: inherit; flex: none; } :host([orientation="vertical"]) .has-content:not(.has-default) slot[name="content"] { margin-inline: ${x}; } :host([orientation="vertical"]) .has-content:not(.has-default):not(.has-header) slot[name="content"] { margin-block-start: ${x}; } :host([orientation="vertical"]) .has-content:not(.has-default):not(.has-actions):not(.has-footer) slot[name="content"] { margin-block-end: ${x}; } :host([orientation="horizontal"]) .has-content:not(.has-default) slot[name="content"] { margin-block: ${x}; } :host([orientation="horizontal"]) .has-content:not(.has-default):not(.has-header) slot[name="content"] { margin-inline-start: ${x}; } :host([orientation="horizontal"]) .has-content:not(.has-default):not(.has-actions):not(.has-footer) slot[name="content"] { margin-inline-end: ${x}; } :host([orientation="vertical"]) .has-header:not(.has-header-media) slot[name="header"] { margin-inline: ${x}; margin-block-start: ${x}; } :host([orientation="horizontal"]) .has-header:not(.has-header-media) slot[name="header"] { margin-inline-start: ${x}; margin-block: ${x}; } .has-actions slot[name="actions"] { margin-inline: ${x}; margin-block: ${x}; } :host([orientation="vertical"]) .has-footer slot[name="footer"] { margin-inline: ${x}; margin-block-end: ${x}; } :host([orientation="horizontal"]) .has-footer slot[name="footer"] { margin-block: ${x}; margin-inline-end: ${x}; } a { all: unset; display: block; position: absolute; top: 0px; left: 0px; right: 0px; bottom: 0px; z-index: 1; } @media (forced-colors: active) { :host([actionable]) .base { transition: none; } :host([variant]) .base { border-style: solid; border-color: CanvasText; border-width: ${C.outlined.outlineThickness??t("unset")}; } :host([actionable][variant]:disabled) .base, :host([actionable][variant][disabled-interactive]) .base { color: GrayText; border-color: GrayText; } } @media (prefers-reduced-motion) { :host([actionable]) .base { transition: none; } }`;function S(e){return o`:host([variant="${t(e)}"]) .base { background-color: ${C[e].containerColor??t("unset")}; box-shadow: ${C[e].containerElevation??t("unset")}; border-width: ${C[e].outlineThickness??t("unset")}; } :host([actionable][variant="${t(e)}"]) .base { --m3e-state-layer-hover-color: ${C[e].hover.stateLayerColor}; --m3e-state-layer-hover-opacity: ${C[e].hover.stateLayerOpacity}; --m3e-state-layer-focus-color: ${C[e].focus.stateLayerColor}; --m3e-state-layer-focus-opacity: ${C[e].focus.stateLayerOpacity}; --m3e-ripple-color: ${C[e].pressed.stateLayerColor}; --m3e-ripple-opacity: ${C[e].pressed.stateLayerOpacity}; --m3e-elevation-level: ${C[e].containerElevation??t("unset")}; --m3e-elevation-hover-level: ${C[e].hover.containerElevation??t("unset")}; --m3e-elevation-focus-level: ${C[e].focus.containerElevation??t("unset")}; --m3e-elevation-pressed-level: ${C[e].pressed.containerElevation??t("unset")}; } :host([variant="${t(e)}"]) .base { border-color: ${C[e].outlineColor??t("unset")}; } :host([actionable][variant="${t(e)}"]:focus .base) { border-color: ${C[e].focus.outlineColor??t("unset")}; } :host([actionable][variant="${t(e)}"]:hover .base) { border-color: ${C[e].hover.outlineColor??t("unset")}; } :host([actionable][variant="${t(e)}"]) .base.pressed { border-color: ${C[e].pressed.outlineColor??t("unset")}; } :host([variant="${t(e)}"]) .base { color: ${C[e].textColor??t("unset")}; } :host([actionable][variant="${t(e)}"]:focus) .base { color: ${C[e].focus.textColor??t("unset")}; } :host([actionable][variant="${t(e)}"]:hover) .base { color: ${C[e].hover.textColor??t("unset")}; } :host([actionable][variant="${t(e)}"]) .base.pressed { color: ${C[e].pressed.textColor??t("unset")}; } :host([actionable][variant="${t(e)}"]:disabled) .base, :host([actionable][variant="${t(e)}"][disabled-interactive]) .base { --m3e-elevation-level: ${C[e].disabled.containerElevation??t("unset")}; --m3e-elevation-color: color-mix( in srgb, ${C[e].disabled.containerElevationColor} ${C[e].disabled.containerElevationOpacity}, transparent ); color: color-mix( in srgb, ${C[e].disabled.textColor} ${C[e].disabled.textOpacity}, transparent ); background-color: ${C[e].disabled.containerColor&&C[e].disabled.containerOpacity?t(`color-mix(\n in srgb,\n ${C[e].disabled.containerColor} ${C[e].disabled.containerOpacity},\n transparent\n )`):t("unset")}; border-color: ${C[e].disabled.outlineColor&&C[e].disabled.outlineOpacity?t(`color-mix(\n in srgb,\n ${C[e].disabled.outlineColor} ${C[e].disabled.outlineOpacity},\n transparent\n )`):t("unset")}; } :host([actionable][variant="${t(e)}"]:disabled) ::slotted(img), :host([actionable][variant="${t(e)}"][disabled-interactive]) ::slotted(img), :host([actionable][variant="${t(e)}"]:disabled) ::slotted(video), :host([actionable][variant="${t(e)}"][disabled-interactive]) ::slotted(video) { opacity: ${C[e].disabled.imageOpacity}; }`}const O=[S("filled"),S("elevated"),S("outlined")];var E,k,w,z,_,I,q,R;let T=class extends(s(d(v(m(h(u(b(r),!0))))))){constructor(){super(),E.add(this),k.set(this,a=>e(this,E,"m",R).call(this,a)),this.inline=!1,this.actionable=!1,this.variant="filled",this.orientation="vertical",new p(this,{isPressedKey:e=>" "===e,callback:e=>{!this.actionable||this.disabled||this.disabledInteractive||this._base?.classList.toggle("pressed",e)}})}connectedCallback(){this.hasAttribute("actionable")&&(this.role="button"),super.connectedCallback(),this.addEventListener("click",e(this,k,"f"))}disconnectedCallback(){super.disconnectedCallback(),this._base?.classList.toggle("pressed",!1),this.removeEventListener("click",e(this,k,"f"))}render(){return i`<div class="base"><m3e-elevation class="elevation" ?disabled="${!this.actionable||this.disabled||this.disabledInteractive}"></m3e-elevation><m3e-focus-ring class="focus-ring" ?disabled="${!this.actionable||this.disabled}"></m3e-focus-ring><m3e-state-layer class="state-layer" ?disabled="${!this.actionable||this.disabled||this.disabledInteractive}"></m3e-state-layer><m3e-ripple class="ripple" ?disabled="${!this.actionable||this.disabled||this.disabledInteractive}"></m3e-ripple>${this[y]()}<slot name="header" @slotchange="${e(this,E,"m",w)}"></slot><slot name="content" @slotchange="${e(this,E,"m",z)}"><slot @slotchange="${e(this,E,"m",_)}"></slot></slot><slot name="actions" @slotchange="${e(this,E,"m",I)}"></slot><slot name="footer" @slotchange="${e(this,E,"m",q)}"></slot></div>`}firstUpdated(e){super.firstUpdated(e),[this._elevation,this._focusRing,this._stateLayer,this._ripple].forEach(e=>e?.attach(this)),!this.actionable&&this.hasAttribute("tabindex")&&this.removeAttribute("tabindex")}update(e){super.update(e),!this.actionable&&this.hasAttribute("tabindex")&&this.removeAttribute("tabindex")}};k=new WeakMap,E=new WeakSet,w=function(e){const a=e.target.assignedNodes({flatten:!0}),t=this.shadowRoot?.querySelector(".base");t?.classList.toggle("has-header",a.length>0),t?.classList.toggle("has-header-media",a.some(e=>e instanceof HTMLElement&&("IMG"===e.tagName||"VIDEO"===e.tagName)))},z=function(){this.shadowRoot?.querySelector(".base")?.classList.toggle("has-content",null!==this.querySelector("[slot='content']"))},_=function(e){this.shadowRoot?.querySelector(".base")?.classList.toggle("has-default",f(e.target)&&null===this.querySelector("[slot='content']"))},I=function(e){this.shadowRoot?.querySelector(".base")?.classList.toggle("has-actions",f(e.target))},q=function(e){this.shadowRoot?.querySelector(".base")?.classList.toggle("has-footer",f(e.target))},R=function(e){(this.disabled||this.disabledInteractive)&&(e.preventDefault(),e.stopImmediatePropagation())},T.styles=[O,L],a([l(".base")],T.prototype,"_base",void 0),a([l(".elevation")],T.prototype,"_elevation",void 0),a([l(".focus-ring")],T.prototype,"_focusRing",void 0),a([l(".state-layer")],T.prototype,"_stateLayer",void 0),a([l(".ripple")],T.prototype,"_ripple",void 0),a([n({type:Boolean,reflect:!0})],T.prototype,"inline",void 0),a([n({type:Boolean,reflect:!0})],T.prototype,"actionable",void 0),a([n({reflect:!0})],T.prototype,"variant",void 0),a([n({reflect:!0})],T.prototype,"orientation",void 0),T=a([$("m3e-card")],T);export{T as M3eCardElement};
7
7
  //# sourceMappingURL=card.min.js.map