@brightspace-ui/core 3.267.1 → 3.268.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/components/alert/alert-toast.js +98 -102
  2. package/components/alert/alert.js +109 -113
  3. package/components/backdrop/backdrop-dirty-overlay.js +13 -17
  4. package/components/backdrop/backdrop-loading.js +105 -109
  5. package/components/backdrop/backdrop.js +50 -54
  6. package/components/breadcrumbs/breadcrumb-current-page.js +19 -23
  7. package/components/breadcrumbs/breadcrumb.js +50 -54
  8. package/components/breadcrumbs/breadcrumbs.js +34 -38
  9. package/components/button/button-add.js +156 -164
  10. package/components/button/button-copy-mixin.js +9 -11
  11. package/components/button/button-copy.js +15 -19
  12. package/components/button/button-icon.js +110 -114
  13. package/components/button/button-move.js +153 -157
  14. package/components/button/button-split-item.js +16 -20
  15. package/components/button/button-split.js +70 -74
  16. package/components/button/button-subtle-copy.js +17 -19
  17. package/components/button/button-subtle.js +145 -149
  18. package/components/button/button-toggle.js +25 -29
  19. package/components/button/button.js +70 -74
  20. package/components/button/floating-buttons.js +63 -67
  21. package/components/calendar/calendar.js +244 -248
  22. package/components/card/card-content-meta.js +13 -15
  23. package/components/card/card-content-title.js +9 -11
  24. package/components/card/card-footer-link.js +76 -80
  25. package/components/card/card-loading-shimmer.js +35 -39
  26. package/components/card/card.js +188 -192
  27. package/components/collapsible-panel/collapsible-panel-group.js +17 -21
  28. package/components/collapsible-panel/collapsible-panel-summary-item.js +27 -31
  29. package/components/collapsible-panel/collapsible-panel.js +258 -262
  30. package/components/count-badge/count-badge-icon.js +12 -16
  31. package/components/count-badge/count-badge-mixin.js +124 -128
  32. package/components/count-badge/count-badge.js +2 -4
  33. package/components/description-list/description-list-wrapper.js +27 -31
  34. package/components/dialog/dialog-confirm.js +55 -59
  35. package/components/dialog/dialog-fullscreen.js +128 -132
  36. package/components/dialog/dialog-mixin.js +39 -41
  37. package/components/dialog/dialog.js +61 -65
  38. package/components/dropdown/dropdown-button-subtle.js +21 -25
  39. package/components/dropdown/dropdown-button.js +31 -35
  40. package/components/dropdown/dropdown-context-menu.js +28 -31
  41. package/components/dropdown/dropdown-menu.js +27 -31
  42. package/components/dropdown/dropdown-more.js +23 -26
  43. package/components/dropdown/dropdown-opener-mixin.js +44 -46
  44. package/components/dropdown/dropdown-popover-mixin.js +155 -159
  45. package/components/dropdown/dropdown-tabs.js +5 -7
  46. package/components/dropdown/dropdown.js +1 -3
  47. package/components/empty-state/empty-state-action-button.js +18 -22
  48. package/components/empty-state/empty-state-action-link.js +14 -18
  49. package/components/empty-state/empty-state-illustrated.js +21 -25
  50. package/components/empty-state/empty-state-simple.js +8 -12
  51. package/components/expand-collapse/expand-collapse-content.js +48 -52
  52. package/components/filter/filter-dimension-set-date-text-value.js +34 -36
  53. package/components/filter/filter-dimension-set-date-time-range-value.js +45 -47
  54. package/components/filter/filter-dimension-set-empty-state.js +17 -19
  55. package/components/filter/filter-dimension-set-value.js +27 -29
  56. package/components/filter/filter-dimension-set.js +65 -67
  57. package/components/filter/filter-overflow-group.js +15 -19
  58. package/components/filter/filter-tags.js +16 -19
  59. package/components/filter/filter.js +115 -119
  60. package/components/focus-trap/focus-trap.js +17 -21
  61. package/components/form/form-element-mixin.js +33 -35
  62. package/components/form/form-error-summary.js +37 -42
  63. package/components/form/form.js +33 -37
  64. package/components/hierarchical-view/hierarchical-view-mixin.js +76 -80
  65. package/components/hierarchical-view/hierarchical-view.js +5 -7
  66. package/components/html-block/html-block.js +45 -49
  67. package/components/icons/icon-custom.js +20 -24
  68. package/components/icons/icon.js +20 -24
  69. package/components/icons/slotted-icon-mixin.js +16 -18
  70. package/components/inputs/input-checkbox-group.js +34 -38
  71. package/components/inputs/input-checkbox.js +106 -110
  72. package/components/inputs/input-color.js +142 -148
  73. package/components/inputs/input-date-range.js +90 -94
  74. package/components/inputs/input-date-time-range-to.js +70 -74
  75. package/components/inputs/input-date-time-range.js +110 -115
  76. package/components/inputs/input-date-time.js +75 -79
  77. package/components/inputs/input-date.js +101 -105
  78. package/components/inputs/input-fieldset.js +37 -43
  79. package/components/inputs/input-group.js +10 -12
  80. package/components/inputs/input-inline-help.js +4 -6
  81. package/components/inputs/input-number.js +112 -118
  82. package/components/inputs/input-percent.js +52 -58
  83. package/components/inputs/input-radio-group.js +45 -49
  84. package/components/inputs/input-radio-spacer.js +11 -13
  85. package/components/inputs/input-radio.js +62 -66
  86. package/components/inputs/input-search.js +63 -68
  87. package/components/inputs/input-select-styles.js +30 -25
  88. package/components/inputs/input-text.js +245 -251
  89. package/components/inputs/input-textarea.js +128 -132
  90. package/components/inputs/input-time-range.js +100 -104
  91. package/components/inputs/input-time.js +107 -113
  92. package/components/link/link-mixin.js +37 -41
  93. package/components/link/link.js +113 -119
  94. package/components/list/list-controls.js +25 -29
  95. package/components/list/list-item-button-mixin.js +10 -12
  96. package/components/list/list-item-checkbox-mixin.js +35 -37
  97. package/components/list/list-item-content.js +33 -35
  98. package/components/list/list-item-drag-drop-mixin.js +45 -47
  99. package/components/list/list-item-drag-handle.js +80 -84
  100. package/components/list/list-item-drag-image.js +77 -81
  101. package/components/list/list-item-expand-collapse-mixin.js +17 -19
  102. package/components/list/list-item-generic-layout.js +222 -226
  103. package/components/list/list-item-link-mixin.js +10 -12
  104. package/components/list/list-item-mixin.js +68 -70
  105. package/components/list/list-item-nav-mixin.js +17 -19
  106. package/components/list/list-item-placement-marker.js +65 -67
  107. package/components/list/list-item-role-mixin.js +9 -11
  108. package/components/list/list-item.js +7 -9
  109. package/components/list/list.js +121 -125
  110. package/components/loading-spinner/loading-spinner.js +93 -97
  111. package/custom-elements.json +1920 -6694
  112. package/helpers/focus.js +5 -1
  113. package/package.json +3 -2
@@ -12,87 +12,83 @@ import { offscreenStyles } from '../offscreen/offscreen.js';
12
12
  */
13
13
  class CardFooterLink extends FocusMixin(LitElement) {
14
14
 
15
- static get properties() {
16
- return {
17
- /**
18
- * Download a URL instead of navigating to it
19
- * @type {boolean}
20
- */
21
- download: { type: Boolean, reflect: true },
22
- /**
23
- * URL or URL fragment of the link
24
- * @type {string}
25
- */
26
- href: { type: String, reflect: true },
27
- /**
28
- * Indicates the human language of the linked resource; purely advisory, with no built-in functionality
29
- * @type {string}
30
- */
31
- hreflang: { type: String, reflect: true },
32
- /**
33
- * REQUIRED: Preset icon key (e.g. "tier1:gear"). Must be a tier 1 icon.
34
- * @type {string}
35
- */
36
- icon: { type: String, reflect: true },
37
- /**
38
- * Specifies the relationship of the target object to the link object
39
- * @type {string}
40
- */
41
- rel: { type: String, reflect: true },
42
- /**
43
- * Secondary count to display as a count bubble on the icon
44
- * @type {number}
45
- */
46
- secondaryCount: { type: Number, attribute: 'secondary-count', reflect: true },
47
- /**
48
- * Maximum digits to display in the secondary count. Defaults to no limit
49
- * @type {number}
50
- */
51
- secondaryCountMaxDigits: { type: Number, attribute: 'secondary-count-max-digits' },
52
- /**
53
- * Controls the style of the secondary count bubble
54
- * @type {'count'|'notification'}
55
- */
56
- secondaryCountType: { type: String, attribute: 'secondary-count-type', reflect: true },
57
- /**
58
- * Where to display the linked URL
59
- * @type {string}
60
- */
61
- target: { type: String, reflect: true },
62
- /**
63
- * ACCESSIBILITY: REQUIRED: Accessible text for the link
64
- * @type {string}
65
- */
66
- text: { type: String, reflect: true },
67
- /**
68
- * Specifies the media type in the form of a MIME type for the linked URL; purely advisory, with no built-in functionality
69
- * @type {string}
70
- */
71
- type: { type: String, reflect: true }
72
- };
73
- }
15
+ static properties = {
16
+ /**
17
+ * Download a URL instead of navigating to it
18
+ * @type {boolean}
19
+ */
20
+ download: { type: Boolean, reflect: true },
21
+ /**
22
+ * URL or URL fragment of the link
23
+ * @type {string}
24
+ */
25
+ href: { type: String, reflect: true },
26
+ /**
27
+ * Indicates the human language of the linked resource; purely advisory, with no built-in functionality
28
+ * @type {string}
29
+ */
30
+ hreflang: { type: String, reflect: true },
31
+ /**
32
+ * REQUIRED: Preset icon key (e.g. "tier1:gear"). Must be a tier 1 icon.
33
+ * @type {string}
34
+ */
35
+ icon: { type: String, reflect: true },
36
+ /**
37
+ * Specifies the relationship of the target object to the link object
38
+ * @type {string}
39
+ */
40
+ rel: { type: String, reflect: true },
41
+ /**
42
+ * Secondary count to display as a count bubble on the icon
43
+ * @type {number}
44
+ */
45
+ secondaryCount: { type: Number, attribute: 'secondary-count', reflect: true },
46
+ /**
47
+ * Maximum digits to display in the secondary count. Defaults to no limit
48
+ * @type {number}
49
+ */
50
+ secondaryCountMaxDigits: { type: Number, attribute: 'secondary-count-max-digits' },
51
+ /**
52
+ * Controls the style of the secondary count bubble
53
+ * @type {'count'|'notification'}
54
+ */
55
+ secondaryCountType: { type: String, attribute: 'secondary-count-type', reflect: true },
56
+ /**
57
+ * Where to display the linked URL
58
+ * @type {string}
59
+ */
60
+ target: { type: String, reflect: true },
61
+ /**
62
+ * ACCESSIBILITY: REQUIRED: Accessible text for the link
63
+ * @type {string}
64
+ */
65
+ text: { type: String, reflect: true },
66
+ /**
67
+ * Specifies the media type in the form of a MIME type for the linked URL; purely advisory, with no built-in functionality
68
+ * @type {string}
69
+ */
70
+ type: { type: String, reflect: true }
71
+ };
74
72
 
75
- static get styles() {
76
- return [offscreenStyles, css`
77
- :host {
78
- display: inline-block;
79
- position: relative;
80
- }
81
- :host[hidden] {
82
- display: none;
83
- }
84
- a {
85
- box-sizing: border-box;
86
- display: inline-block;
87
- height: 100%;
88
- outline: none;
89
- width: 100%;
90
- }
91
- d2l-count-badge-icon {
92
- text-align: initial;
93
- }
94
- `];
95
- }
73
+ static styles = [offscreenStyles, css`
74
+ :host {
75
+ display: inline-block;
76
+ position: relative;
77
+ }
78
+ :host[hidden] {
79
+ display: none;
80
+ }
81
+ a {
82
+ box-sizing: border-box;
83
+ display: inline-block;
84
+ height: 100%;
85
+ outline: none;
86
+ width: 100%;
87
+ }
88
+ d2l-count-badge-icon {
89
+ text-align: initial;
90
+ }
91
+ `];
96
92
 
97
93
  constructor() {
98
94
  super();
@@ -7,49 +7,45 @@ import { css, html, LitElement } from 'lit';
7
7
  */
8
8
  class CardLoadingShimmer extends LitElement {
9
9
 
10
- static get properties() {
11
- return {
12
- /**
13
- * Whether the header content is being loaded
14
- * @type {boolean}
15
- */
16
- loading: { type: Boolean }
17
- };
18
- }
10
+ static properties = {
11
+ /**
12
+ * Whether the header content is being loaded
13
+ * @type {boolean}
14
+ */
15
+ loading: { type: Boolean }
16
+ };
19
17
 
20
- static get styles() {
21
- return css`
22
- :host([hidden]) {
23
- display: none;
24
- }
18
+ static styles = css`
19
+ :host([hidden]) {
20
+ display: none;
21
+ }
25
22
 
26
- .d2l-card-loading-indicator {
27
- background-color: var(--d2l-color-regolith);
28
- border-radius: 7px 7px 0 0;
29
- box-shadow: inset 0 -1px 0 0 var(--d2l-color-gypsum);
30
- height: inherit;
31
- overflow: hidden;
32
- position: relative;
33
- }
23
+ .d2l-card-loading-indicator {
24
+ background-color: var(--d2l-color-regolith);
25
+ border-radius: 7px 7px 0 0;
26
+ box-shadow: inset 0 -1px 0 0 var(--d2l-color-gypsum);
27
+ height: inherit;
28
+ overflow: hidden;
29
+ position: relative;
30
+ }
34
31
 
35
- .d2l-card-loading-indicator::after {
36
- animation: loadingShimmer 1.5s ease-in-out infinite;
37
- background: linear-gradient(90deg, rgba(249, 250, 251, 0.1), rgba(114, 119, 122, 0.1), rgba(249, 250, 251, 0.1));
38
- background-color: var(--d2l-color-regolith);
39
- content: "";
40
- height: 100%;
41
- left: 0;
42
- position: absolute;
43
- top: 0;
44
- width: 100%;
45
- }
32
+ .d2l-card-loading-indicator::after {
33
+ animation: loadingShimmer 1.5s ease-in-out infinite;
34
+ background: linear-gradient(90deg, rgba(249, 250, 251, 0.1), rgba(114, 119, 122, 0.1), rgba(249, 250, 251, 0.1));
35
+ background-color: var(--d2l-color-regolith);
36
+ content: "";
37
+ height: 100%;
38
+ left: 0;
39
+ position: absolute;
40
+ top: 0;
41
+ width: 100%;
42
+ }
46
43
 
47
- @keyframes loadingShimmer {
48
- 0% { transform: translate3d(-100%, 0, 0); }
49
- 100% { transform: translate3d(100%, 0, 0); }
50
- }
51
- `;
52
- }
44
+ @keyframes loadingShimmer {
45
+ 0% { transform: translate3d(-100%, 0, 0); }
46
+ 100% { transform: translate3d(100%, 0, 0); }
47
+ }
48
+ `;
53
49
 
54
50
  constructor() {
55
51
  super();
@@ -16,209 +16,205 @@ import { styleMap } from 'lit/directives/style-map.js';
16
16
  */
17
17
  class Card extends LitElement {
18
18
 
19
- static get properties() {
20
- return {
21
- /**
22
- * Style the card's content and footer as centered horizontally
23
- * @type {boolean}
24
- */
25
- alignCenter: { type: Boolean, attribute: 'align-center', reflect: true },
26
- /**
27
- * Download a URL instead of navigating to it
28
- * @type {boolean}
29
- */
30
- download: { type: Boolean, reflect: true },
31
- /**
32
- * Location for the primary action/navigation
33
- * @type {string}
34
- */
35
- href: { type: String, reflect: true },
36
- /**
37
- * Indicates the human language of the linked resource; purely advisory, with no built-in functionality
38
- * @type {string}
39
- */
40
- hreflang: { type: String, reflect: true },
41
- /**
42
- * Specifies the relationship of the target object to the link object
43
- * @type {string}
44
- */
45
- rel: { type: String, reflect: true },
46
- /**
47
- * Subtle aesthetic on non-white backgrounds
48
- * @type {boolean}
49
- */
50
- subtle: { type: Boolean, reflect: true },
51
- /**
52
- * Where to display the linked URL
53
- * @type {string}
54
- */
55
- target: { type: String, reflect: true },
56
- /**
57
- * ACCESSIBILITY: Accessible text for the card; required if `href` is set
58
- * @type {string}
59
- */
60
- text: { type: String, reflect: true },
61
- /**
62
- * Specifies the media type in the form of a MIME type for the linked URL; purely advisory, with no built-in functionality
63
- * @type {string}
64
- */
65
- type: { type: String, reflect: true },
66
- _active: { type: Boolean, reflect: true },
67
- _dropdownActionOpen: { type: Boolean, attribute: '_dropdown-action-open', reflect: true },
68
- _hover: { type: Boolean },
69
- _badgeMarginTop: { type: String },
70
- _footerHidden: { type: Boolean },
71
- _tooltipShowing: { type: Boolean, attribute: '_tooltip_showing', reflect: true }
72
- };
73
- }
19
+ static properties = {
20
+ /**
21
+ * Style the card's content and footer as centered horizontally
22
+ * @type {boolean}
23
+ */
24
+ alignCenter: { type: Boolean, attribute: 'align-center', reflect: true },
25
+ /**
26
+ * Download a URL instead of navigating to it
27
+ * @type {boolean}
28
+ */
29
+ download: { type: Boolean, reflect: true },
30
+ /**
31
+ * Location for the primary action/navigation
32
+ * @type {string}
33
+ */
34
+ href: { type: String, reflect: true },
35
+ /**
36
+ * Indicates the human language of the linked resource; purely advisory, with no built-in functionality
37
+ * @type {string}
38
+ */
39
+ hreflang: { type: String, reflect: true },
40
+ /**
41
+ * Specifies the relationship of the target object to the link object
42
+ * @type {string}
43
+ */
44
+ rel: { type: String, reflect: true },
45
+ /**
46
+ * Subtle aesthetic on non-white backgrounds
47
+ * @type {boolean}
48
+ */
49
+ subtle: { type: Boolean, reflect: true },
50
+ /**
51
+ * Where to display the linked URL
52
+ * @type {string}
53
+ */
54
+ target: { type: String, reflect: true },
55
+ /**
56
+ * ACCESSIBILITY: Accessible text for the card; required if `href` is set
57
+ * @type {string}
58
+ */
59
+ text: { type: String, reflect: true },
60
+ /**
61
+ * Specifies the media type in the form of a MIME type for the linked URL; purely advisory, with no built-in functionality
62
+ * @type {string}
63
+ */
64
+ type: { type: String, reflect: true },
65
+ _active: { type: Boolean, reflect: true },
66
+ _dropdownActionOpen: { type: Boolean, attribute: '_dropdown-action-open', reflect: true },
67
+ _hover: { type: Boolean },
68
+ _badgeMarginTop: { type: String },
69
+ _footerHidden: { type: Boolean },
70
+ _tooltipShowing: { type: Boolean, attribute: '_tooltip_showing', reflect: true }
71
+ };
72
+
73
+ static styles = [offscreenStyles, css`
74
+ :host {
75
+ background-color: #ffffff;
76
+ border: 1px solid var(--d2l-color-gypsum);
77
+ border-radius: 6px;
78
+ box-sizing: border-box;
79
+ display: inline-block;
80
+ position: relative;
81
+ z-index: 0;
82
+ }
83
+ .d2l-card-container {
84
+ align-items: flex-start; /* required so that footer will not stretch to 100% width */
85
+ display: flex;
86
+ flex-direction: column;
87
+ height: 100%;
88
+ position: relative;
89
+ }
90
+ .d2l-card-link-container {
91
+ flex-basis: auto;
92
+ flex-grow: 1;
93
+ flex-shrink: 1;
94
+ width: 100%; /* required for Legacy-Edge and FF when align-items: flex-start is specified */
95
+ }
96
+ .d2l-card-link-text {
97
+ display: inline-block;
98
+ }
99
+ .d2l-card-header {
100
+ border-start-end-radius: 6px;
101
+ border-start-start-radius: 6px;
102
+ overflow: hidden;
103
+ }
74
104
 
75
- static get styles() {
76
- return [offscreenStyles, css`
77
- :host {
78
- background-color: #ffffff;
79
- border: 1px solid var(--d2l-color-gypsum);
80
- border-radius: 6px;
81
- box-sizing: border-box;
82
- display: inline-block;
83
- position: relative;
84
- z-index: 0;
85
- }
86
- .d2l-card-container {
87
- align-items: flex-start; /* required so that footer will not stretch to 100% width */
88
- display: flex;
89
- flex-direction: column;
90
- height: 100%;
91
- position: relative;
92
- }
93
- .d2l-card-link-container {
94
- flex-basis: auto;
95
- flex-grow: 1;
96
- flex-shrink: 1;
97
- width: 100%; /* required for Legacy-Edge and FF when align-items: flex-start is specified */
98
- }
99
- .d2l-card-link-text {
100
- display: inline-block;
101
- }
102
- .d2l-card-header {
103
- border-start-end-radius: 6px;
104
- border-start-start-radius: 6px;
105
- overflow: hidden;
106
- }
105
+ a {
106
+ bottom: -1px;
107
+ display: block;
108
+ left: -1px;
109
+ outline: none;
110
+ position: absolute;
111
+ right: -1px;
112
+ top: -1px;
113
+ z-index: 1;
114
+ }
115
+ :host([subtle]) a {
116
+ bottom: 0;
117
+ left: 0;
118
+ right: 0;
119
+ top: 0;
120
+ }
107
121
 
108
- a {
109
- bottom: -1px;
110
- display: block;
111
- left: -1px;
112
- outline: none;
113
- position: absolute;
114
- right: -1px;
115
- top: -1px;
116
- z-index: 1;
117
- }
118
- :host([subtle]) a {
119
- bottom: 0;
120
- left: 0;
121
- right: 0;
122
- top: 0;
123
- }
122
+ :host(:hover) a {
123
+ bottom: -5px;
124
+ }
125
+ :host([subtle]:hover) a {
126
+ bottom: -4px;
127
+ }
124
128
 
125
- :host(:hover) a {
126
- bottom: -5px;
127
- }
128
- :host([subtle]:hover) a {
129
- bottom: -4px;
130
- }
129
+ .d2l-card-content {
130
+ padding: 1.2rem 0.8rem 0 0.8rem;
131
+ }
132
+ :host([align-center]) .d2l-card-content {
133
+ text-align: center;
134
+ }
131
135
 
132
- .d2l-card-content {
133
- padding: 1.2rem 0.8rem 0 0.8rem;
134
- }
135
- :host([align-center]) .d2l-card-content {
136
- text-align: center;
137
- }
136
+ :host([align-center]) .d2l-card-badge {
137
+ display: flex;
138
+ justify-content: center;
139
+ }
138
140
 
139
- :host([align-center]) .d2l-card-badge {
140
- display: flex;
141
- justify-content: center;
142
- }
141
+ .d2l-card-footer-hidden .d2l-card-content {
142
+ padding-bottom: 1.2rem;
143
+ }
144
+ .d2l-card-actions {
145
+ inset-inline-end: 0.6rem;
146
+ position: absolute;
147
+ top: 0.6rem;
148
+ /* this must be higher than footer z-index so dropdowns will be on top */
149
+ z-index: 3;
150
+ }
151
+ .d2l-card-actions ::slotted(*) {
152
+ margin-inline-start: 0.3rem;
153
+ }
154
+ .d2l-card-badge {
155
+ line-height: 0;
156
+ padding: 0 0.8rem;
157
+ }
158
+ .d2l-card-footer {
159
+ box-sizing: border-box;
160
+ flex: none;
161
+ padding: 1.2rem 0.8rem 0.6rem 0.8rem;
162
+ pointer-events: none;
163
+ width: 100%;
164
+ z-index: 2;
165
+ }
166
+ :host([align-center]) .d2l-card-footer {
167
+ text-align: center;
168
+ }
143
169
 
144
- .d2l-card-footer-hidden .d2l-card-content {
145
- padding-bottom: 1.2rem;
146
- }
147
- .d2l-card-actions {
148
- inset-inline-end: 0.6rem;
149
- position: absolute;
150
- top: 0.6rem;
151
- /* this must be higher than footer z-index so dropdowns will be on top */
152
- z-index: 3;
153
- }
154
- .d2l-card-actions ::slotted(*) {
155
- margin-inline-start: 0.3rem;
156
- }
157
- .d2l-card-badge {
158
- line-height: 0;
159
- padding: 0 0.8rem;
160
- }
161
- .d2l-card-footer {
162
- box-sizing: border-box;
163
- flex: none;
164
- padding: 1.2rem 0.8rem 0.6rem 0.8rem;
165
- pointer-events: none;
166
- width: 100%;
167
- z-index: 2;
168
- }
169
- :host([align-center]) .d2l-card-footer {
170
- text-align: center;
171
- }
170
+ .d2l-card-footer ::slotted([slot="footer"]) {
171
+ pointer-events: all;
172
+ }
172
173
 
173
- .d2l-card-footer ::slotted([slot="footer"]) {
174
- pointer-events: all;
175
- }
174
+ .d2l-card-footer-hidden .d2l-card-footer {
175
+ box-sizing: content-box;
176
+ height: auto;
177
+ }
176
178
 
177
- .d2l-card-footer-hidden .d2l-card-footer {
178
- box-sizing: content-box;
179
- height: auto;
179
+ :host([subtle]) {
180
+ border: none;
181
+ }
182
+ :host([subtle][href]) {
183
+ box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.03);
184
+ }
185
+ :host([href]:not([_active]):hover) {
186
+ box-shadow: 0 2px 14px 1px rgba(0, 0, 0, 0.06);
187
+ }
188
+ :host([subtle][href]:not([_active]):hover) {
189
+ box-shadow: 0 4px 18px 2px rgba(0, 0, 0, 0.06);
190
+ }
191
+ ${getFocusRingStyles(() => ':host([_active])', { 'extraStyles': css`border-color: transparent;` })}
192
+ /* .d2l-card-link-container-hover is used to only color/underline when
193
+ hovering the anchor; these styles are not applied when hovering actions */
194
+ :host([href]) .d2l-card-link-container-hover,
195
+ :host([href][_active]) .d2l-card-content {
196
+ color: var(--d2l-color-celestine);
197
+ text-decoration: underline;
198
+ }
199
+ /* this is needed to ensure tooltip is not be clipped by adjacent cards */
200
+ :host([_tooltip_showing]) {
201
+ z-index: 1;
202
+ }
203
+ /* this is needed to ensure open menu will be ontop of adjacent cards */
204
+ :host([_dropdown-action-open]) {
205
+ z-index: 2;
206
+ }
207
+ @media (prefers-reduced-motion: no-preference) {
208
+ :host {
209
+ transition: box-shadow 0.2s;
180
210
  }
181
-
211
+ }
212
+ @media (prefers-contrast: more) {
182
213
  :host([subtle]) {
183
- border: none;
184
- }
185
- :host([subtle][href]) {
186
- box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.03);
187
- }
188
- :host([href]:not([_active]):hover) {
189
- box-shadow: 0 2px 14px 1px rgba(0, 0, 0, 0.06);
190
- }
191
- :host([subtle][href]:not([_active]):hover) {
192
- box-shadow: 0 4px 18px 2px rgba(0, 0, 0, 0.06);
193
- }
194
- ${getFocusRingStyles(() => ':host([_active])', { 'extraStyles': css`border-color: transparent;` })}
195
- /* .d2l-card-link-container-hover is used to only color/underline when
196
- hovering the anchor; these styles are not applied when hovering actions */
197
- :host([href]) .d2l-card-link-container-hover,
198
- :host([href][_active]) .d2l-card-content {
199
- color: var(--d2l-color-celestine);
200
- text-decoration: underline;
201
- }
202
- /* this is needed to ensure tooltip is not be clipped by adjacent cards */
203
- :host([_tooltip_showing]) {
204
- z-index: 1;
205
- }
206
- /* this is needed to ensure open menu will be ontop of adjacent cards */
207
- :host([_dropdown-action-open]) {
208
- z-index: 2;
209
- }
210
- @media (prefers-reduced-motion: no-preference) {
211
- :host {
212
- transition: box-shadow 0.2s;
213
- }
214
- }
215
- @media (prefers-contrast: more) {
216
- :host([subtle]) {
217
- border: 1px solid var(--d2l-color-gypsum);
218
- }
214
+ border: 1px solid var(--d2l-color-gypsum);
219
215
  }
220
- `];
221
- }
216
+ }
217
+ `];
222
218
 
223
219
  constructor() {
224
220
  super();