@brightspace-ui/core 2.148.0 → 2.149.1
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/html-block/html-block.js +16 -1
- package/components/list/list-item-mixin.js +3 -1
- 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 -12
- 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
|
`;
|
|
@@ -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
|
|
|
@@ -735,7 +735,9 @@ export const ListItemMixin = superclass => class extends composeMixins(
|
|
|
735
735
|
</div>` : nothing}
|
|
736
736
|
<div slot="content"
|
|
737
737
|
class="d2l-list-item-content"
|
|
738
|
-
id="${this._contentId}"
|
|
738
|
+
id="${this._contentId}"
|
|
739
|
+
@mouseenter="${this._onMouseEnter}"
|
|
740
|
+
@mouseleave="${this._onMouseLeave}">
|
|
739
741
|
<slot name="illustration" class="d2l-list-item-illustration">${illustration}</slot>
|
|
740
742
|
<slot>${content}</slot>
|
|
741
743
|
</div>
|
|
@@ -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": [
|
|
@@ -12116,22 +12120,10 @@
|
|
|
12116
12120
|
}
|
|
12117
12121
|
]
|
|
12118
12122
|
},
|
|
12119
|
-
{
|
|
12120
|
-
"name": "d2l-test-table-controls-visual-diff",
|
|
12121
|
-
"path": "./components/table/test/table-test-controls-visual-diff.js"
|
|
12122
|
-
},
|
|
12123
|
-
{
|
|
12124
|
-
"name": "d2l-test-table-paging-visual-diff",
|
|
12125
|
-
"path": "./components/table/test/table-test-paging-visual-diff.js"
|
|
12126
|
-
},
|
|
12127
12123
|
{
|
|
12128
12124
|
"name": "d2l-test-table-sticky-visual-diff",
|
|
12129
12125
|
"path": "./components/table/test/table-test-sticky-visual-diff.js"
|
|
12130
12126
|
},
|
|
12131
|
-
{
|
|
12132
|
-
"name": "d2l-test-table-visual-diff",
|
|
12133
|
-
"path": "./components/table/test/table-test-visual-diff.js"
|
|
12134
|
-
},
|
|
12135
12127
|
{
|
|
12136
12128
|
"name": "d2l-tab-internal",
|
|
12137
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.1",
|
|
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": {
|