@brightspace-ui/core 2.147.1 → 2.149.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/alert/alert-toast.js +122 -18
- package/components/alert/demo/alert-toast.html +25 -0
- package/components/filter/filter-overflow-group.js +1 -1
- package/components/filter/filter.js +3 -0
- package/components/html-block/html-block.js +16 -1
- package/components/list/list-item-mixin.js +1 -0
- package/components/overflow-group/overflow-group.js +1 -1
- package/components/scroll-wrapper/demo/scroll-wrapper-test.js +1 -1
- package/components/scroll-wrapper/scroll-wrapper.js +2 -2
- package/components/skeleton/demo/skeleton-group-test-wrapper.js +10 -1
- package/components/switch/switch-visibility.js +2 -1
- package/components/tooltip/tooltip-help.js +1 -1
- package/custom-elements.json +4 -21
- package/helpers/mathjax.js +4 -0
- package/package.json +3 -3
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import './alert.js';
|
|
2
2
|
import { css, html, LitElement } from 'lit';
|
|
3
|
+
import { classMap } from 'lit/directives/class-map.js';
|
|
3
4
|
import { ifDefined } from 'lit/directives/if-defined.js';
|
|
5
|
+
import { styleMap } from 'lit/directives/style-map.js';
|
|
4
6
|
|
|
5
7
|
const reduceMotion = matchMedia('(prefers-reduced-motion: reduce)').matches;
|
|
6
8
|
|
|
@@ -9,14 +11,18 @@ const states = {
|
|
|
9
11
|
CLOSING: 'closing', // the close animation is running
|
|
10
12
|
PREOPENING: 'preopening', // a pause before running the opening animation because transitions won't run when changing from 'diplay: none' to 'display: block'
|
|
11
13
|
OPENING: 'opening', // the opening animation is running
|
|
12
|
-
OPEN: 'open' // the toast is open
|
|
14
|
+
OPEN: 'open', // the toast is open
|
|
15
|
+
SLIDING: 'sliding' // the transform animation when multiple alerts are on the page is running
|
|
13
16
|
};
|
|
14
17
|
|
|
18
|
+
const TOAST_SPACING = 0.6;
|
|
19
|
+
|
|
15
20
|
/**
|
|
16
21
|
* A component for communicating important information relating to the state of the system and the user's work flow, displayed as a pop-up at the bottom of the screen that automatically dismisses itself by default.
|
|
17
22
|
* @slot - Default content placed inside of the component
|
|
18
23
|
* @fires d2l-alert-toast-button-press - Dispatched when the toast's action button is clicked
|
|
19
24
|
* @fires d2l-alert-toast-close - Dispatched when the toast is closed
|
|
25
|
+
* @fires d2l-alert-toast-open - Dispatched when the toast is opened
|
|
20
26
|
*/
|
|
21
27
|
class AlertToast extends LitElement {
|
|
22
28
|
|
|
@@ -58,6 +64,9 @@ class AlertToast extends LitElement {
|
|
|
58
64
|
* @default "default"
|
|
59
65
|
*/
|
|
60
66
|
type: { type: String, reflect: true },
|
|
67
|
+
_bottomHeight: { state: true },
|
|
68
|
+
_bottomMargin: { state: true },
|
|
69
|
+
_closeClicked: { state: true },
|
|
61
70
|
_state: { type: String }
|
|
62
71
|
};
|
|
63
72
|
}
|
|
@@ -70,11 +79,10 @@ class AlertToast extends LitElement {
|
|
|
70
79
|
|
|
71
80
|
.d2l-alert-toast-container {
|
|
72
81
|
border-radius: 0.3rem;
|
|
73
|
-
bottom: 1.5rem;
|
|
74
82
|
box-shadow: 0 0.1rem 0.6rem 0 rgba(0, 0, 0, 0.1);
|
|
75
83
|
display: none;
|
|
76
84
|
left: 0;
|
|
77
|
-
margin: 0 auto;
|
|
85
|
+
margin: 0 auto 1.5rem;
|
|
78
86
|
max-width: 600px;
|
|
79
87
|
position: fixed;
|
|
80
88
|
right: 0;
|
|
@@ -88,15 +96,26 @@ class AlertToast extends LitElement {
|
|
|
88
96
|
|
|
89
97
|
.d2l-alert-toast-container[data-state="opening"],
|
|
90
98
|
.d2l-alert-toast-container[data-state="closing"] {
|
|
91
|
-
transition-duration:
|
|
92
|
-
transition-property:
|
|
93
|
-
transition-timing-function: ease
|
|
99
|
+
transition-duration: 600ms;
|
|
100
|
+
transition-property: opacity;
|
|
101
|
+
transition-timing-function: ease;
|
|
102
|
+
}
|
|
103
|
+
.d2l-alert-toast-container[data-state="opening"],
|
|
104
|
+
.d2l-alert-toast-container.d2l-alert-toast-container-lowest[data-state="closing"] {
|
|
105
|
+
transition-property: opacity, transform;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.d2l-alert-toast-container.d2l-alert-toast-container-close-clicked[data-state="closing"] {
|
|
109
|
+
transition-duration: 200ms;
|
|
94
110
|
}
|
|
95
111
|
|
|
96
112
|
.d2l-alert-toast-container[data-state="preopening"],
|
|
97
113
|
.d2l-alert-toast-container[data-state="closing"] {
|
|
98
114
|
opacity: 0;
|
|
99
|
-
|
|
115
|
+
}
|
|
116
|
+
.d2l-alert-toast-container[data-state="preopening"],
|
|
117
|
+
.d2l-alert-toast-container.d2l-alert-toast-container-lowest[data-state="closing"] {
|
|
118
|
+
transform: translateY(calc(100% + 1.5rem));
|
|
100
119
|
}
|
|
101
120
|
|
|
102
121
|
.d2l-alert-toast-container[data-state="opening"] {
|
|
@@ -104,13 +123,17 @@ class AlertToast extends LitElement {
|
|
|
104
123
|
transform: translateY(0);
|
|
105
124
|
}
|
|
106
125
|
|
|
126
|
+
.d2l-alert-toast-container[data-state="sliding"] {
|
|
127
|
+
transition: bottom 600ms ease;
|
|
128
|
+
}
|
|
129
|
+
|
|
107
130
|
d2l-alert {
|
|
108
131
|
animation: none;
|
|
109
132
|
}
|
|
110
133
|
|
|
111
134
|
@media (max-width: 615px) {
|
|
112
135
|
.d2l-alert-toast-container {
|
|
113
|
-
bottom: 12px;
|
|
136
|
+
margin-bottom: 12px;
|
|
114
137
|
width: calc(100% - 16px);
|
|
115
138
|
}
|
|
116
139
|
}
|
|
@@ -123,9 +146,15 @@ class AlertToast extends LitElement {
|
|
|
123
146
|
this.noAutoClose = false;
|
|
124
147
|
this.open = false;
|
|
125
148
|
|
|
149
|
+
this._bottomHeight = 0;
|
|
150
|
+
this._bottomMargin = 0;
|
|
151
|
+
this._closeClicked = false;
|
|
126
152
|
this._hasFocus = false;
|
|
127
153
|
this._hasMouse = false;
|
|
128
154
|
this._state = states.CLOSED;
|
|
155
|
+
|
|
156
|
+
this._handleAlertOpen = this._handleAlertOpen.bind(this);
|
|
157
|
+
this._handleAlertClose = this._handleAlertClose.bind(this);
|
|
129
158
|
}
|
|
130
159
|
|
|
131
160
|
get open() {
|
|
@@ -141,11 +170,39 @@ class AlertToast extends LitElement {
|
|
|
141
170
|
}
|
|
142
171
|
}
|
|
143
172
|
|
|
173
|
+
connectedCallback() {
|
|
174
|
+
super.connectedCallback();
|
|
175
|
+
document.body.addEventListener('d2l-alert-toast-open', this._handleAlertOpen);
|
|
176
|
+
document.body.addEventListener('d2l-alert-toast-close', this._handleAlertClose);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
disconnectedCallback() {
|
|
180
|
+
super.disconnectedCallback();
|
|
181
|
+
document.body.removeEventListener('d2l-alert-toast-open', this._handleAlertOpen);
|
|
182
|
+
document.body.removeEventListener('d2l-alert-toast-close', this._handleAlertClose);
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
firstUpdated(changedProperties) {
|
|
186
|
+
super.firstUpdated(changedProperties);
|
|
187
|
+
|
|
188
|
+
this._innerContainer = this.shadowRoot.querySelector('.d2l-alert-toast-container');
|
|
189
|
+
}
|
|
190
|
+
|
|
144
191
|
render() {
|
|
192
|
+
const containerStyles = {
|
|
193
|
+
bottom: (this._bottomHeight || this._bottomMargin) ? `calc(${this._bottomHeight}px + ${this._bottomMargin}rem)` : 0
|
|
194
|
+
};
|
|
195
|
+
const containerClasses = {
|
|
196
|
+
'd2l-alert-toast-container': true,
|
|
197
|
+
'd2l-alert-toast-container-close-clicked': this._closeClicked,
|
|
198
|
+
'd2l-alert-toast-container-lowest': !this._bottomHeight,
|
|
199
|
+
'vdiff-target': true
|
|
200
|
+
};
|
|
145
201
|
return html`
|
|
146
202
|
<div
|
|
147
|
-
class="
|
|
203
|
+
class="${classMap(containerClasses)}"
|
|
148
204
|
data-state="${this._state}"
|
|
205
|
+
style="${styleMap(containerStyles)}"
|
|
149
206
|
@transitionend=${this._onTransitionEnd}>
|
|
150
207
|
<d2l-alert
|
|
151
208
|
@blur=${this._onBlur}
|
|
@@ -200,6 +257,26 @@ class AlertToast extends LitElement {
|
|
|
200
257
|
clearTimeout(this._setTimeoutId);
|
|
201
258
|
}
|
|
202
259
|
|
|
260
|
+
_handleAlertClose(e) {
|
|
261
|
+
if (e?.target === this || !this.open) return;
|
|
262
|
+
|
|
263
|
+
const containerBottom = parseFloat(getComputedStyle(this._innerContainer).getPropertyValue('bottom'));
|
|
264
|
+
const closingContainerBottom = e.detail.bottom;
|
|
265
|
+
if (closingContainerBottom > containerBottom) return; // closing alert is above this alert, no need to adjust bottom spacing
|
|
266
|
+
|
|
267
|
+
this._bottomHeight -= e.detail.height;
|
|
268
|
+
this._bottomMargin -= TOAST_SPACING;
|
|
269
|
+
if (!reduceMotion) this._state = states.SLIDING;
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
_handleAlertOpen(e) {
|
|
273
|
+
if (e?.target === this || !this.open) return;
|
|
274
|
+
|
|
275
|
+
this._bottomHeight += e.detail.height;
|
|
276
|
+
this._bottomMargin += TOAST_SPACING;
|
|
277
|
+
if (!reduceMotion) this._state = states.SLIDING;
|
|
278
|
+
}
|
|
279
|
+
|
|
203
280
|
_handleButtonPress(e) {
|
|
204
281
|
e.stopPropagation();
|
|
205
282
|
this.dispatchEvent(new CustomEvent('d2l-alert-toast-button-press'));
|
|
@@ -212,6 +289,7 @@ class AlertToast extends LitElement {
|
|
|
212
289
|
|
|
213
290
|
_onCloseClicked(e) {
|
|
214
291
|
e.preventDefault();
|
|
292
|
+
this._closeClicked = true;
|
|
215
293
|
this.open = false;
|
|
216
294
|
}
|
|
217
295
|
|
|
@@ -231,10 +309,13 @@ class AlertToast extends LitElement {
|
|
|
231
309
|
}
|
|
232
310
|
|
|
233
311
|
_onTransitionEnd() {
|
|
234
|
-
if (this._state === states.OPENING) {
|
|
312
|
+
if (this._state === states.OPENING || this._state === states.SLIDING) {
|
|
235
313
|
this._state = states.OPEN;
|
|
236
314
|
} else if (this._state === states.CLOSING) {
|
|
237
315
|
this._state = states.CLOSED;
|
|
316
|
+
this._bottomHeight = 0;
|
|
317
|
+
this._bottomMargin = 0;
|
|
318
|
+
this._closeClicked = false;
|
|
238
319
|
}
|
|
239
320
|
}
|
|
240
321
|
|
|
@@ -256,21 +337,44 @@ class AlertToast extends LitElement {
|
|
|
256
337
|
}
|
|
257
338
|
}
|
|
258
339
|
this.setAttribute('role', 'alert');
|
|
340
|
+
requestAnimationFrame(() => {
|
|
341
|
+
const height = this._innerContainer.offsetHeight;
|
|
342
|
+
this.dispatchEvent(new CustomEvent(
|
|
343
|
+
'd2l-alert-toast-open', {
|
|
344
|
+
bubbles: true,
|
|
345
|
+
composed: false,
|
|
346
|
+
detail: { height }
|
|
347
|
+
}
|
|
348
|
+
));
|
|
349
|
+
});
|
|
259
350
|
} else {
|
|
351
|
+
if (!this._innerContainer) return;
|
|
352
|
+
|
|
260
353
|
if (reduceMotion || this._state === states.PREOPENING) {
|
|
261
354
|
cancelAnimationFrame(this._preopenFrame);
|
|
262
355
|
this.removeAttribute('role');
|
|
263
|
-
|
|
264
|
-
} else if (this._state === states.OPENING || this._state === states.OPEN) {
|
|
356
|
+
} else if (this._state === states.OPENING || this._state === states.OPEN || this._state === states.SLIDING) {
|
|
265
357
|
this._state = states.CLOSING;
|
|
266
358
|
}
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
359
|
+
requestAnimationFrame(() => {
|
|
360
|
+
const height = this._innerContainer.offsetHeight;
|
|
361
|
+
const bottom = parseFloat(getComputedStyle(this._innerContainer).getPropertyValue('bottom'));
|
|
362
|
+
|
|
363
|
+
if (reduceMotion || this._state === states.PREOPENING) {
|
|
364
|
+
this._state = states.CLOSED;
|
|
365
|
+
this._bottomHeight = 0;
|
|
366
|
+
this._bottomMargin = 0;
|
|
367
|
+
this._closeClicked = false;
|
|
272
368
|
}
|
|
273
|
-
|
|
369
|
+
|
|
370
|
+
this.dispatchEvent(new CustomEvent(
|
|
371
|
+
'd2l-alert-toast-close', {
|
|
372
|
+
bubbles: true,
|
|
373
|
+
composed: false,
|
|
374
|
+
detail: { bottom, height }
|
|
375
|
+
}
|
|
376
|
+
));
|
|
377
|
+
});
|
|
274
378
|
}
|
|
275
379
|
}
|
|
276
380
|
|
|
@@ -10,6 +10,11 @@
|
|
|
10
10
|
import '../../demo/demo-page.js';
|
|
11
11
|
import '../alert-toast.js';
|
|
12
12
|
</script>
|
|
13
|
+
<style>
|
|
14
|
+
d2l-button {
|
|
15
|
+
padding-bottom: 1rem;
|
|
16
|
+
}
|
|
17
|
+
</style>
|
|
13
18
|
</head>
|
|
14
19
|
|
|
15
20
|
<body unresolved>
|
|
@@ -50,6 +55,26 @@
|
|
|
50
55
|
<d2l-button primary data-toast="toast4">Open alert</d2l-button>
|
|
51
56
|
</template>
|
|
52
57
|
</d2l-demo-snippet>
|
|
58
|
+
|
|
59
|
+
<h2>Multiple Alerts</h2>
|
|
60
|
+
<d2l-demo-snippet>
|
|
61
|
+
<template>
|
|
62
|
+
<d2l-alert-toast id="toast5" no-auto-close>A default toast alert.</d2l-alert-toast>
|
|
63
|
+
<d2l-button primary data-toast="toast5">Open alert</d2l-button>
|
|
64
|
+
|
|
65
|
+
<d2l-alert-toast id="toast6" no-auto-close>A default toast alert.</d2l-alert-toast>
|
|
66
|
+
<d2l-button primary data-toast="toast6">Open alert</d2l-button>
|
|
67
|
+
|
|
68
|
+
<d2l-alert-toast id="toast7" no-auto-close>A default toast alert.</d2l-alert-toast>
|
|
69
|
+
<d2l-button primary data-toast="toast7">Open alert</d2l-button>
|
|
70
|
+
|
|
71
|
+
<d2l-alert-toast id="toast8" type="success" button-text="Do it!" has-close-button no-auto-close
|
|
72
|
+
subtext="I am subtext. I'm here to test the wrapping capabilities of adding subtext to these alerts, as well as other styling issues. Feel free to add to me!">
|
|
73
|
+
A message.
|
|
74
|
+
</d2l-alert-toast>
|
|
75
|
+
<d2l-button primary data-toast="toast8">Open alert</d2l-button>
|
|
76
|
+
</template>
|
|
77
|
+
</d2l-demo-snippet>
|
|
53
78
|
</d2l-demo-page>
|
|
54
79
|
|
|
55
80
|
</body>
|
|
@@ -89,7 +89,7 @@ class FilterOverflowGroup extends OverflowGroupMixin(RtlMixin(LitElement)) {
|
|
|
89
89
|
|
|
90
90
|
getOverflowContainer(overflowItems) {
|
|
91
91
|
return html`
|
|
92
|
-
<d2l-filter class="${OVERFLOW_CLASS}" @d2l-filter-change="${this._handleFilterChange}">
|
|
92
|
+
<d2l-filter class="${OVERFLOW_CLASS} vdiff-target" @d2l-filter-change="${this._handleFilterChange}">
|
|
93
93
|
${overflowItems}
|
|
94
94
|
</d2l-filter>
|
|
95
95
|
`;
|
|
@@ -236,6 +236,7 @@ class Filter extends FocusMixin(LocalizeCoreElement(RtlMixin(LitElement))) {
|
|
|
236
236
|
|
|
237
237
|
const dropdownContent = singleDimension ? html`
|
|
238
238
|
<d2l-dropdown-content
|
|
239
|
+
class="vdiff-target"
|
|
239
240
|
min-width="285"
|
|
240
241
|
max-width="420"
|
|
241
242
|
mobile-tray="right"
|
|
@@ -249,6 +250,7 @@ class Filter extends FocusMixin(LocalizeCoreElement(RtlMixin(LitElement))) {
|
|
|
249
250
|
</d2l-dropdown-content>`
|
|
250
251
|
: html`
|
|
251
252
|
<d2l-dropdown-menu
|
|
253
|
+
class="vdiff-target"
|
|
252
254
|
min-width="285"
|
|
253
255
|
max-width="420"
|
|
254
256
|
mobile-tray="right"
|
|
@@ -265,6 +267,7 @@ class Filter extends FocusMixin(LocalizeCoreElement(RtlMixin(LitElement))) {
|
|
|
265
267
|
|
|
266
268
|
return html`
|
|
267
269
|
<d2l-dropdown-button-subtle
|
|
270
|
+
class="vdiff-target"
|
|
268
271
|
@d2l-dropdown-close="${this._handleDropdownClose}"
|
|
269
272
|
@d2l-dropdown-open="${this._handleDropdownOpen}"
|
|
270
273
|
@d2l-dropdown-position="${this._stopPropagation}"
|
|
@@ -199,6 +199,9 @@ class HtmlBlock extends LitElement {
|
|
|
199
199
|
this._contextObserverControllerResolve = resolve;
|
|
200
200
|
});
|
|
201
201
|
|
|
202
|
+
this._renderersProcessedResolve = undefined;
|
|
203
|
+
this._renderersProcessedPromise = new Promise(resolve => this._renderersProcessedResolve = resolve);
|
|
204
|
+
|
|
202
205
|
getRenderers().then(renderers => renderers.reduce((attrs, currentRenderer) => {
|
|
203
206
|
if (currentRenderer.contextAttributes) currentRenderer.contextAttributes.forEach(attr => attrs.push(attr));
|
|
204
207
|
return attrs;
|
|
@@ -242,6 +245,10 @@ class HtmlBlock extends LitElement {
|
|
|
242
245
|
}
|
|
243
246
|
}
|
|
244
247
|
|
|
248
|
+
async getLoadingComplete() {
|
|
249
|
+
return this._renderersProcessedPromise;
|
|
250
|
+
}
|
|
251
|
+
|
|
245
252
|
async _contextChanged() {
|
|
246
253
|
await this._contextObserverControllerInitialized;
|
|
247
254
|
if (!this._contextKeys) {
|
|
@@ -265,6 +272,7 @@ class HtmlBlock extends LitElement {
|
|
|
265
272
|
async _processRenderers(elem) {
|
|
266
273
|
await this._contextObserverControllerInitialized;
|
|
267
274
|
const renderers = await getRenderers();
|
|
275
|
+
const loadingCompletePromises = [];
|
|
268
276
|
for (const renderer of renderers) {
|
|
269
277
|
if (renderer.contextAttributes) {
|
|
270
278
|
const contextValues = new Map();
|
|
@@ -278,7 +286,11 @@ class HtmlBlock extends LitElement {
|
|
|
278
286
|
noDeferredRendering: this.noDeferredRendering
|
|
279
287
|
});
|
|
280
288
|
}
|
|
289
|
+
if (typeof renderer.getLoadingComplete === 'function') {
|
|
290
|
+
loadingCompletePromises.push(renderer.getLoadingComplete());
|
|
291
|
+
}
|
|
281
292
|
}
|
|
293
|
+
Promise.all(loadingCompletePromises).then(() => this._renderersProcessedResolve());
|
|
282
294
|
}
|
|
283
295
|
|
|
284
296
|
async _renderInline(slot) {
|
|
@@ -288,7 +300,10 @@ class HtmlBlock extends LitElement {
|
|
|
288
300
|
const noDeferredRenderingContainer = slot.assignedNodes({ flatten: true })
|
|
289
301
|
.find(node => (node.nodeType === Node.ELEMENT_NODE && node.tagName === 'DIV'));
|
|
290
302
|
|
|
291
|
-
if (!noDeferredRenderingContainer)
|
|
303
|
+
if (!noDeferredRenderingContainer) {
|
|
304
|
+
this._renderersProcessedResolve();
|
|
305
|
+
return;
|
|
306
|
+
}
|
|
292
307
|
await this._processRenderers(noDeferredRenderingContainer);
|
|
293
308
|
}
|
|
294
309
|
|
|
@@ -466,6 +466,7 @@ export const ListItemMixin = superclass => class extends composeMixins(
|
|
|
466
466
|
const oldValue = this._color;
|
|
467
467
|
this._color = getValidHexColor(value, true);
|
|
468
468
|
this.requestUpdate('value', oldValue);
|
|
469
|
+
/** @ignore */
|
|
469
470
|
this.dispatchEvent(new CustomEvent('d2l-list-item-property-change', { bubbles: true, composed: true, detail: { name: 'color', value: this._color } }));
|
|
470
471
|
}
|
|
471
472
|
|
|
@@ -160,7 +160,7 @@ class OverflowGroup extends OverflowGroupMixin(RtlMixin(LitElement)) {
|
|
|
160
160
|
|
|
161
161
|
getOverflowContainer(overflowItems, mini) {
|
|
162
162
|
const moreActionsText = this.localize('components.overflow-group.moreActions');
|
|
163
|
-
const menu = html`<d2l-dropdown-menu>
|
|
163
|
+
const menu = html`<d2l-dropdown-menu class="vdiff-target">
|
|
164
164
|
<d2l-menu label="${moreActionsText}">
|
|
165
165
|
${overflowItems}
|
|
166
166
|
</d2l-menu>
|
|
@@ -79,7 +79,7 @@ class TestScrollWrapper extends RtlMixin(LitElement) {
|
|
|
79
79
|
` : html`<div class="d2l-scroll-wrapper-gradient" style="${styleMap(style)}"></div>`;
|
|
80
80
|
|
|
81
81
|
return html`
|
|
82
|
-
<d2l-scroll-wrapper ?hide-actions="${this.hideActions}" .customScrollers="${this._customScrollers}">
|
|
82
|
+
<d2l-scroll-wrapper class="vdiff-target" ?hide-actions="${this.hideActions}" .customScrollers="${this._customScrollers}">
|
|
83
83
|
${contents}
|
|
84
84
|
</d2l-scroll-wrapper>
|
|
85
85
|
`;
|
|
@@ -194,10 +194,10 @@ class ScrollWrapper extends RtlMixin(LitElement) {
|
|
|
194
194
|
|
|
195
195
|
const actions = !this.hideActions ? html`
|
|
196
196
|
<div class="d2l-scroll-wrapper-actions">
|
|
197
|
-
<div class="d2l-scroll-wrapper-button d2l-scroll-wrapper-button-left" @click="${this._scrollLeft}">
|
|
197
|
+
<div class="d2l-scroll-wrapper-button d2l-scroll-wrapper-button-left vdiff-target" @click="${this._scrollLeft}">
|
|
198
198
|
<d2l-icon icon="tier1:chevron-left"></d2l-icon>
|
|
199
199
|
</div>
|
|
200
|
-
<div class="d2l-scroll-wrapper-button d2l-scroll-wrapper-button-right" @click="${this._scrollRight}">
|
|
200
|
+
<div class="d2l-scroll-wrapper-button d2l-scroll-wrapper-button-right vdiff-target" @click="${this._scrollRight}">
|
|
201
201
|
<d2l-icon icon="tier1:chevron-right"></d2l-icon>
|
|
202
202
|
</div>
|
|
203
203
|
</div>` : null;
|
|
@@ -1,7 +1,16 @@
|
|
|
1
|
-
import { html, LitElement } from 'lit';
|
|
1
|
+
import { css, html, LitElement } from 'lit';
|
|
2
2
|
import { SkeletonGroupMixin } from '../skeleton-group-mixin.js';
|
|
3
3
|
|
|
4
4
|
class SkeletonGroupTestWrapper extends SkeletonGroupMixin(LitElement) {
|
|
5
|
+
static get styles() {
|
|
6
|
+
return css`
|
|
7
|
+
:host {
|
|
8
|
+
display: flex;
|
|
9
|
+
flex-direction: column;
|
|
10
|
+
gap: 0.3rem;
|
|
11
|
+
}
|
|
12
|
+
`;
|
|
13
|
+
}
|
|
5
14
|
render() {
|
|
6
15
|
return html`<slot></slot>`;
|
|
7
16
|
}
|
|
@@ -71,7 +71,8 @@ class VisibilitySwitch extends LocalizeCoreElement(SwitchMixin(LitElement)) {
|
|
|
71
71
|
|
|
72
72
|
const tooltipHelpClasses = {
|
|
73
73
|
'switch-visibility-conditions-show': this.on && this._hasConditions,
|
|
74
|
-
'd2l-switch-text': true
|
|
74
|
+
'd2l-switch-text': true,
|
|
75
|
+
'vdiff-target': true
|
|
75
76
|
};
|
|
76
77
|
|
|
77
78
|
const conditions = html`
|
|
@@ -112,7 +112,7 @@ class TooltipHelp extends SkeletonMixin(FocusMixin(LitElement)) {
|
|
|
112
112
|
${this.text}
|
|
113
113
|
</button>
|
|
114
114
|
${!this.skeleton ? html`
|
|
115
|
-
<d2l-tooltip for="d2l-tooltip-help-text" delay="0" offset="13" position="${ifDefined(this.position)}" ?showing="${this.showing}">
|
|
115
|
+
<d2l-tooltip class="vdiff-target" for="d2l-tooltip-help-text" delay="0" offset="13" position="${ifDefined(this.position)}" ?showing="${this.showing}">
|
|
116
116
|
<slot></slot>
|
|
117
117
|
</d2l-tooltip>
|
|
118
118
|
` : nothing }
|
package/custom-elements.json
CHANGED
|
@@ -91,6 +91,10 @@
|
|
|
91
91
|
{
|
|
92
92
|
"name": "d2l-alert-toast-close",
|
|
93
93
|
"description": "Dispatched when the toast is closed"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"name": "d2l-alert-toast-open",
|
|
97
|
+
"description": "Dispatched when the toast is opened"
|
|
94
98
|
}
|
|
95
99
|
],
|
|
96
100
|
"slots": [
|
|
@@ -8124,9 +8128,6 @@
|
|
|
8124
8128
|
}
|
|
8125
8129
|
],
|
|
8126
8130
|
"events": [
|
|
8127
|
-
{
|
|
8128
|
-
"name": "d2l-list-item-property-change"
|
|
8129
|
-
},
|
|
8130
8131
|
{
|
|
8131
8132
|
"name": "d2l-list-item-selected",
|
|
8132
8133
|
"description": "Dispatched when the component item is selected"
|
|
@@ -8492,9 +8493,6 @@
|
|
|
8492
8493
|
"name": "d2l-list-item-button-click",
|
|
8493
8494
|
"description": "Dispatched when the item's primary button action is clicked"
|
|
8494
8495
|
},
|
|
8495
|
-
{
|
|
8496
|
-
"name": "d2l-list-item-property-change"
|
|
8497
|
-
},
|
|
8498
8496
|
{
|
|
8499
8497
|
"name": "d2l-list-item-selected",
|
|
8500
8498
|
"description": "Dispatched when the component item is selected"
|
|
@@ -8983,9 +8981,6 @@
|
|
|
8983
8981
|
"name": "d2l-list-item-link-click",
|
|
8984
8982
|
"description": "Dispatched when the item's primary link action is clicked"
|
|
8985
8983
|
},
|
|
8986
|
-
{
|
|
8987
|
-
"name": "d2l-list-item-property-change"
|
|
8988
|
-
},
|
|
8989
8984
|
{
|
|
8990
8985
|
"name": "d2l-list-item-selected",
|
|
8991
8986
|
"description": "Dispatched when the component item is selected"
|
|
@@ -12125,22 +12120,10 @@
|
|
|
12125
12120
|
}
|
|
12126
12121
|
]
|
|
12127
12122
|
},
|
|
12128
|
-
{
|
|
12129
|
-
"name": "d2l-test-table-controls-visual-diff",
|
|
12130
|
-
"path": "./components/table/test/table-test-controls-visual-diff.js"
|
|
12131
|
-
},
|
|
12132
|
-
{
|
|
12133
|
-
"name": "d2l-test-table-paging-visual-diff",
|
|
12134
|
-
"path": "./components/table/test/table-test-paging-visual-diff.js"
|
|
12135
|
-
},
|
|
12136
12123
|
{
|
|
12137
12124
|
"name": "d2l-test-table-sticky-visual-diff",
|
|
12138
12125
|
"path": "./components/table/test/table-test-sticky-visual-diff.js"
|
|
12139
12126
|
},
|
|
12140
|
-
{
|
|
12141
|
-
"name": "d2l-test-table-visual-diff",
|
|
12142
|
-
"path": "./components/table/test/table-test-visual-diff.js"
|
|
12143
|
-
},
|
|
12144
12127
|
{
|
|
12145
12128
|
"name": "d2l-tab-internal",
|
|
12146
12129
|
"path": "./components/tabs/tab-internal.js",
|
package/helpers/mathjax.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@brightspace-ui/core",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.149.0",
|
|
4
4
|
"description": "A collection of accessible, free, open-source web components for building Brightspace applications",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": "https://github.com/BrightspaceUI/core.git",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@babel/eslint-parser": "^7",
|
|
48
48
|
"@brightspace-ui/stylelint-config": "^0.8",
|
|
49
|
-
"@brightspace-ui/testing": "^
|
|
49
|
+
"@brightspace-ui/testing": "^1",
|
|
50
50
|
"@open-wc/semantic-dom-diff": "^0.20",
|
|
51
51
|
"@rollup/plugin-dynamic-import-vars": "^2",
|
|
52
52
|
"@rollup/plugin-node-resolve": "^15",
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"rollup": "^3",
|
|
64
64
|
"rollup-plugin-copy": "^3",
|
|
65
65
|
"rollup-plugin-delete": "^2",
|
|
66
|
-
"sinon": "^
|
|
66
|
+
"sinon": "^16",
|
|
67
67
|
"stylelint": "^15"
|
|
68
68
|
},
|
|
69
69
|
"dependencies": {
|