@brightspace-ui/core 2.55.3 → 2.56.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/demo/demo-page.js +25 -3
- package/components/demo/demo-snippet.js +27 -6
- package/components/description-list/demo/description-list.html +5 -5
- package/components/filter/README.md +1 -1
- package/components/tag-list/demo/tag-list.html +4 -4
- package/custom-elements.json +8 -3
- package/package.json +1 -1
|
@@ -3,6 +3,7 @@ import './code-view.js';
|
|
|
3
3
|
import '../colors/colors.js';
|
|
4
4
|
import '../typography/typography.js';
|
|
5
5
|
import { css, html, LitElement } from 'lit';
|
|
6
|
+
import { classMap } from 'lit/directives/class-map.js';
|
|
6
7
|
import { heading2Styles } from '../typography/styles.js';
|
|
7
8
|
|
|
8
9
|
document.body.classList.add('d2l-typography');
|
|
@@ -20,7 +21,8 @@ class DemoPage extends LitElement {
|
|
|
20
21
|
|
|
21
22
|
static get properties() {
|
|
22
23
|
return {
|
|
23
|
-
pageTitle: { type: String, attribute: 'page-title' }
|
|
24
|
+
pageTitle: { type: String, attribute: 'page-title' },
|
|
25
|
+
_noScroll: { state: true }
|
|
24
26
|
};
|
|
25
27
|
}
|
|
26
28
|
|
|
@@ -31,6 +33,11 @@ class DemoPage extends LitElement {
|
|
|
31
33
|
display: block;
|
|
32
34
|
padding: 30px;
|
|
33
35
|
}
|
|
36
|
+
main.no-scroll {
|
|
37
|
+
height: 0;
|
|
38
|
+
overflow: hidden;
|
|
39
|
+
padding: 0;
|
|
40
|
+
}
|
|
34
41
|
.d2l-heading-2 {
|
|
35
42
|
margin-top: 0;
|
|
36
43
|
}
|
|
@@ -41,6 +48,7 @@ class DemoPage extends LitElement {
|
|
|
41
48
|
line-height: 1.2rem;
|
|
42
49
|
margin: 1.5rem 0 1.5rem 0;
|
|
43
50
|
}
|
|
51
|
+
|
|
44
52
|
.d2l-demo-page-content > ::slotted(d2l-code-view),
|
|
45
53
|
.d2l-demo-page-content > ::slotted(d2l-demo-snippet) {
|
|
46
54
|
margin-bottom: 36px;
|
|
@@ -56,14 +64,28 @@ class DemoPage extends LitElement {
|
|
|
56
64
|
}
|
|
57
65
|
|
|
58
66
|
render() {
|
|
67
|
+
const classes = {
|
|
68
|
+
'no-scroll': this._noScroll
|
|
69
|
+
};
|
|
59
70
|
return html`
|
|
60
|
-
<main>
|
|
71
|
+
<main class="${classMap(classes)}">
|
|
61
72
|
<h1 class="d2l-heading-2">${this.pageTitle}</h1>
|
|
62
|
-
<div class="d2l-demo-page-content"><slot></slot></div>
|
|
73
|
+
<div class="d2l-demo-page-content" @d2l-demo-snippet-fullscreen-toggle="${this._handleFullscreenToggle}"><slot></slot></div>
|
|
63
74
|
</main>
|
|
64
75
|
`;
|
|
65
76
|
}
|
|
66
77
|
|
|
78
|
+
async _handleFullscreenToggle() {
|
|
79
|
+
if (this._noScroll) {
|
|
80
|
+
this._noScroll = false;
|
|
81
|
+
await this.updateComplete;
|
|
82
|
+
document.documentElement.scrollTop = this._previousScrollTop;
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
this._previousScrollTop = document.documentElement.scrollTop;
|
|
86
|
+
this._noScroll = true;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
67
89
|
}
|
|
68
90
|
|
|
69
91
|
customElements.define('d2l-demo-page', DemoPage);
|
|
@@ -8,11 +8,12 @@ class DemoSnippet extends LitElement {
|
|
|
8
8
|
static get properties() {
|
|
9
9
|
return {
|
|
10
10
|
codeViewHidden: { type: Boolean, reflect: true, attribute: 'code-view-hidden' },
|
|
11
|
-
|
|
11
|
+
fullWidth: { type: Boolean, reflect: true },
|
|
12
12
|
noPadding: { type: Boolean, reflect: true, attribute: 'no-padding' },
|
|
13
13
|
overflowHidden: { type: Boolean, reflect: true, attribute: 'overflow-hidden' },
|
|
14
14
|
_code: { type: String },
|
|
15
15
|
_dir: { type: String, attribute: false },
|
|
16
|
+
_fullscreen: { state: true },
|
|
16
17
|
_hasSkeleton: { type: Boolean, attribute: false },
|
|
17
18
|
_skeletonOn: { type: Boolean, reflect: false }
|
|
18
19
|
};
|
|
@@ -31,12 +32,19 @@ class DemoSnippet extends LitElement {
|
|
|
31
32
|
:host([hidden]) {
|
|
32
33
|
display: none;
|
|
33
34
|
}
|
|
34
|
-
:host([
|
|
35
|
+
:host([full-width]) {
|
|
35
36
|
max-width: unset;
|
|
36
37
|
}
|
|
37
38
|
.d2l-demo-snippet-demo-wrapper {
|
|
38
39
|
display: flex;
|
|
39
40
|
}
|
|
41
|
+
.d2l-demo-snippet-demo-wrapper.fullscreen {
|
|
42
|
+
background-color: white;
|
|
43
|
+
inset: 0;
|
|
44
|
+
overflow: auto;
|
|
45
|
+
position: fixed;
|
|
46
|
+
z-index: 2;
|
|
47
|
+
}
|
|
40
48
|
.d2l-demo-snippet-demo {
|
|
41
49
|
flex: 1 1 auto;
|
|
42
50
|
position: relative;
|
|
@@ -47,7 +55,8 @@ class DemoSnippet extends LitElement {
|
|
|
47
55
|
.d2l-demo-snippet-demo-padding {
|
|
48
56
|
padding: 18px;
|
|
49
57
|
}
|
|
50
|
-
:host([no-padding]) .d2l-demo-snippet-demo-padding
|
|
58
|
+
:host([no-padding]) .d2l-demo-snippet-demo-padding,
|
|
59
|
+
.d2l-demo-snippet-demo-wrapper.fullscreen .d2l-demo-snippet-demo-padding {
|
|
51
60
|
padding: 0;
|
|
52
61
|
}
|
|
53
62
|
.d2l-demo-snippet-settings {
|
|
@@ -55,6 +64,10 @@ class DemoSnippet extends LitElement {
|
|
|
55
64
|
flex: 0 0 auto;
|
|
56
65
|
padding: 6px;
|
|
57
66
|
}
|
|
67
|
+
.d2l-demo-snippet-demo-wrapper.fullscreen .d2l-demo-snippet-settings {
|
|
68
|
+
position: sticky;
|
|
69
|
+
top: 0;
|
|
70
|
+
}
|
|
58
71
|
d2l-code-view {
|
|
59
72
|
border: none;
|
|
60
73
|
border-top-left-radius: 0;
|
|
@@ -70,8 +83,9 @@ class DemoSnippet extends LitElement {
|
|
|
70
83
|
|
|
71
84
|
constructor() {
|
|
72
85
|
super();
|
|
73
|
-
this.
|
|
86
|
+
this.fullWidth = false;
|
|
74
87
|
this._dir = document.documentElement.dir;
|
|
88
|
+
this._fullscreen = false;
|
|
75
89
|
this._hasSkeleton = false;
|
|
76
90
|
this._skeletonOn = false;
|
|
77
91
|
}
|
|
@@ -84,7 +98,7 @@ class DemoSnippet extends LitElement {
|
|
|
84
98
|
const dirAttr = this._dir === 'rtl' ? 'rtl' : 'ltr';
|
|
85
99
|
const skeleton = this._hasSkeleton ? html`<d2l-switch text="Skeleton" ?on="${this._skeletonOn}" @change="${this._handleSkeletonChange}"></d2l-switch>` : null;
|
|
86
100
|
return html`
|
|
87
|
-
<div class="d2l-demo-snippet-demo-wrapper">
|
|
101
|
+
<div class="d2l-demo-snippet-demo-wrapper ${this._fullscreen ? 'fullscreen' : ''}">
|
|
88
102
|
<div class="d2l-demo-snippet-demo" dir="${dirAttr}">
|
|
89
103
|
<div class="d2l-demo-snippet-demo-padding">
|
|
90
104
|
<slot name="_demo"></slot>
|
|
@@ -92,7 +106,8 @@ class DemoSnippet extends LitElement {
|
|
|
92
106
|
</div>
|
|
93
107
|
</div>
|
|
94
108
|
<div class="d2l-demo-snippet-settings">
|
|
95
|
-
<d2l-switch text="RTL" ?on="${dirAttr === 'rtl'}" @change="${this._handleDirChange}"></d2l-switch><br
|
|
109
|
+
<d2l-switch text="RTL" ?on="${dirAttr === 'rtl'}" @change="${this._handleDirChange}"></d2l-switch><br />
|
|
110
|
+
<d2l-switch text="Fullscreen" ?on="${this._fullscreen}" @change="${this._handleFullscreenChange}"></d2l-switch><br />
|
|
96
111
|
${skeleton}
|
|
97
112
|
</div>
|
|
98
113
|
</div>
|
|
@@ -186,6 +201,12 @@ class DemoSnippet extends LitElement {
|
|
|
186
201
|
this._applyAttr('dir', this._dir, true);
|
|
187
202
|
}
|
|
188
203
|
|
|
204
|
+
_handleFullscreenChange(e) {
|
|
205
|
+
this._fullscreen = e.target.on;
|
|
206
|
+
const event = new CustomEvent('d2l-demo-snippet-fullscreen-toggle', { bubbles: true, composed: true });
|
|
207
|
+
this.dispatchEvent(event);
|
|
208
|
+
}
|
|
209
|
+
|
|
189
210
|
_handleSkeletonChange(e) {
|
|
190
211
|
this._skeletonOn = e.target.on;
|
|
191
212
|
this._applyAttr('skeleton', this._skeletonOn, false);
|
|
@@ -14,12 +14,12 @@
|
|
|
14
14
|
<d2l-demo-page page-title="d2l-description-list">
|
|
15
15
|
|
|
16
16
|
<h2>Short</h2>
|
|
17
|
-
<d2l-demo-snippet
|
|
17
|
+
<d2l-demo-snippet full-width>
|
|
18
18
|
<d2l-test-dl></d2l-test-dl>
|
|
19
19
|
</d2l-demo-snippet>
|
|
20
20
|
|
|
21
21
|
<h2>Long</h2>
|
|
22
|
-
<d2l-demo-snippet
|
|
22
|
+
<d2l-demo-snippet full-width>
|
|
23
23
|
<d2l-test-dl type="long" breakpoint="300"></d2l-test-dl>
|
|
24
24
|
</d2l-demo-snippet>
|
|
25
25
|
|
|
@@ -29,17 +29,17 @@
|
|
|
29
29
|
</d2l-demo-snippet>
|
|
30
30
|
|
|
31
31
|
<h2>Activity Display</h2>
|
|
32
|
-
<d2l-demo-snippet
|
|
32
|
+
<d2l-demo-snippet full-width>
|
|
33
33
|
<d2l-test-dl type="activity-display"></d2l-test-dl>
|
|
34
34
|
</d2l-demo-snippet>
|
|
35
35
|
|
|
36
36
|
<h2>Bulk Course Import</h2>
|
|
37
|
-
<d2l-demo-snippet
|
|
37
|
+
<d2l-demo-snippet full-width>
|
|
38
38
|
<d2l-test-dl type="bulk-course-import"></d2l-test-dl>
|
|
39
39
|
</d2l-demo-snippet>
|
|
40
40
|
|
|
41
41
|
<h2>Slotted content</h2>
|
|
42
|
-
<d2l-demo-snippet
|
|
42
|
+
<d2l-demo-snippet full-width>
|
|
43
43
|
<d2l-test-dl type="slotted"></d2l-test-dl>
|
|
44
44
|
</d2l-demo-snippet>
|
|
45
45
|
|
|
@@ -228,7 +228,7 @@ This component is built to be used alongside the [d2l-filter-dimension-set](#d2l
|
|
|
228
228
|
| `selected` | Boolean, default: `false` | Whether the value in the filter is selected or not |
|
|
229
229
|
<!-- docs: end hidden content -->
|
|
230
230
|
|
|
231
|
-
## Counts
|
|
231
|
+
## Counts
|
|
232
232
|
|
|
233
233
|
The `count` property displays a count next to each filter value to indicate the number of results a value will yield. This helps users more effectively explore data and make selections, so it’s a good idea to provide these counts if it can be done performantly.
|
|
234
234
|
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
});
|
|
41
41
|
|
|
42
42
|
</script>
|
|
43
|
-
<d2l-demo-snippet
|
|
43
|
+
<d2l-demo-snippet full-width>
|
|
44
44
|
<d2l-tag-list description="A bunch of example tags">
|
|
45
45
|
<d2l-tag-list-item text="Example 1"></d2l-tag-list-item>
|
|
46
46
|
<d2l-tag-list-item text="Example 2 - much much much much much much much much longer"></d2l-tag-list-item>
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
</d2l-demo-snippet>
|
|
56
56
|
|
|
57
57
|
<h2>Clearable Tag List</h2>
|
|
58
|
-
<d2l-demo-snippet
|
|
58
|
+
<d2l-demo-snippet full-width>
|
|
59
59
|
<d2l-tag-list description="A bunch of example tags" clearable>
|
|
60
60
|
<d2l-tag-list-item text="Example 1"></d2l-tag-list-item>
|
|
61
61
|
<d2l-tag-list-item text="Example 2 - much much much much much much much much longer"></d2l-tag-list-item>
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
</d2l-demo-snippet>
|
|
89
89
|
|
|
90
90
|
<h2>Tag List with Interactive</h2>
|
|
91
|
-
<d2l-demo-snippet
|
|
91
|
+
<d2l-demo-snippet full-width>
|
|
92
92
|
<div grid>
|
|
93
93
|
<d2l-tag-list description="A bunch of example tags" clearable>
|
|
94
94
|
<d2l-tag-list-item text="Example Tag"></d2l-tag-list-item>
|
|
@@ -103,7 +103,7 @@
|
|
|
103
103
|
</d2l-demo-snippet>
|
|
104
104
|
|
|
105
105
|
<h2>Tag List - Custom Tooltip Description</h2>
|
|
106
|
-
<d2l-demo-snippet
|
|
106
|
+
<d2l-demo-snippet full-width>
|
|
107
107
|
<d2l-tag-list description="A bunch of example tags">
|
|
108
108
|
<d2l-tag-list-item text="Longer Example Tag - much much much much much longer" description="display text and description value when truncated"></d2l-tag-list-item>
|
|
109
109
|
<d2l-tag-list-item text="Example Tag 5" description="custom tooltip text - display description only when not truncated"></d2l-tag-list-item>
|
package/custom-elements.json
CHANGED
|
@@ -1436,7 +1436,7 @@
|
|
|
1436
1436
|
"type": "boolean"
|
|
1437
1437
|
},
|
|
1438
1438
|
{
|
|
1439
|
-
"name": "
|
|
1439
|
+
"name": "fullWidth",
|
|
1440
1440
|
"type": "boolean",
|
|
1441
1441
|
"default": "false"
|
|
1442
1442
|
}
|
|
@@ -1458,11 +1458,16 @@
|
|
|
1458
1458
|
"type": "boolean"
|
|
1459
1459
|
},
|
|
1460
1460
|
{
|
|
1461
|
-
"name": "
|
|
1462
|
-
"attribute": "
|
|
1461
|
+
"name": "fullWidth",
|
|
1462
|
+
"attribute": "fullWidth",
|
|
1463
1463
|
"type": "boolean",
|
|
1464
1464
|
"default": "false"
|
|
1465
1465
|
}
|
|
1466
|
+
],
|
|
1467
|
+
"events": [
|
|
1468
|
+
{
|
|
1469
|
+
"name": "d2l-demo-snippet-fullscreen-toggle"
|
|
1470
|
+
}
|
|
1466
1471
|
]
|
|
1467
1472
|
},
|
|
1468
1473
|
{
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@brightspace-ui/core",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.56.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",
|