@brightspace-ui/core 2.122.2 → 2.124.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/dialog/demo/dialog-fullscreen.html +32 -5
- package/components/dialog/dialog-fullscreen.js +14 -1
- package/components/dialog/dialog-styles.js +7 -0
- package/components/filter/README.md +1 -0
- package/components/filter/demo/filter.html +3 -3
- package/components/filter/filter-dimension-set.js +6 -0
- package/components/filter/filter.js +54 -14
- package/custom-elements.json +26 -0
- package/lang/ar.js +1 -0
- package/lang/cy.js +1 -0
- package/lang/da.js +1 -0
- package/lang/de.js +1 -0
- package/lang/en-gb.js +1 -0
- package/lang/en.js +1 -0
- package/lang/es-es.js +1 -0
- package/lang/es.js +1 -0
- package/lang/fr-fr.js +1 -0
- package/lang/fr.js +1 -0
- package/lang/hi.js +1 -0
- package/lang/ja.js +1 -0
- package/lang/ko.js +1 -0
- package/lang/nl.js +1 -0
- package/lang/pt.js +1 -0
- package/lang/sv.js +1 -0
- package/lang/tr.js +1 -0
- package/lang/zh-cn.js +1 -0
- package/lang/zh-tw.js +1 -0
- package/package.json +1 -1
- package/templates/primary-secondary/demo/integration.html +23 -10
|
@@ -86,13 +86,40 @@
|
|
|
86
86
|
document.querySelector('#dialogFullscreen').opened = true;
|
|
87
87
|
});
|
|
88
88
|
document.querySelector('#dialogFullscreen').addEventListener('d2l-dialog-close', (e) => {
|
|
89
|
-
console.log('
|
|
89
|
+
console.log('dialog action:', e.detail.action);
|
|
90
|
+
});
|
|
91
|
+
</script>
|
|
92
|
+
</template>
|
|
93
|
+
</d2l-demo-snippet>
|
|
94
|
+
|
|
95
|
+
<h2>Fullscreen Dialog (no-padding)</h2>
|
|
96
|
+
|
|
97
|
+
<d2l-demo-snippet>
|
|
98
|
+
<template>
|
|
99
|
+
<d2l-button id="openNoPadding">Show Dialog</d2l-button>
|
|
100
|
+
<d2l-dialog-fullscreen id="dialogFullscreenNoPadding" title-text="Fullscreen Title" no-padding>
|
|
101
|
+
<p>Deadlights jack lad schooner scallywag dance the hempen jig carouser broadside cable strike colors. Bring a spring upon her cable holystone blow the man down spanker</p>
|
|
102
|
+
<p>Shiver me timbers to go on account lookout wherry doubloon chase. Belay yo-ho-ho keelhaul squiffy black spot yardarm spyglass sheet transom heave to.</p>
|
|
103
|
+
<p>Trysail Sail ho Corsair red ensign hulk smartly boom jib rum gangway. Case shot Shiver me timbers gangplank crack Jennys tea cup ballast Blimey lee snow crow's nest rutters. Fluke jib scourge of the seven seas boatswain schooner gaff booty Jack Tar transom spirits.</p>
|
|
104
|
+
<p>Deadlights jack lad schooner scallywag dance the hempen jig carouser broadside cable strike colors. Bring a spring upon her cable holystone blow the man down spanker</p>
|
|
105
|
+
<p>Shiver me timbers to go on account lookout wherry doubloon chase. Belay yo-ho-ho keelhaul squiffy black spot yardarm spyglass sheet transom heave to.</p>
|
|
106
|
+
<p>Trysail Sail ho Corsair red ensign hulk smartly boom jib rum gangway. Case shot Shiver me timbers gangplank crack Jennys tea cup ballast Blimey lee snow crow's nest rutters. Fluke jib scourge of the seven seas boatswain schooner gaff booty Jack Tar transom spirits.</p>
|
|
107
|
+
|
|
108
|
+
<d2l-button slot="footer" primary data-dialog-action="save">Save</d2l-button>
|
|
109
|
+
<d2l-button slot="footer" data-dialog-action>Cancel</d2l-button>
|
|
110
|
+
</d2l-dialog-fullscreen>
|
|
111
|
+
<script>
|
|
112
|
+
document.querySelector('#openNoPadding').addEventListener('click', () => {
|
|
113
|
+
document.querySelector('#dialogFullscreenNoPadding').opened = true;
|
|
114
|
+
});
|
|
115
|
+
document.querySelector('#dialogFullscreenNoPadding').addEventListener('d2l-dialog-close', (e) => {
|
|
116
|
+
console.log('dialog action:', e.detail.action);
|
|
90
117
|
});
|
|
91
118
|
</script>
|
|
92
119
|
</template>
|
|
93
120
|
</d2l-demo-snippet>
|
|
94
121
|
|
|
95
|
-
<h2>Fullscreen Dialog
|
|
122
|
+
<h2>Fullscreen Dialog (overflowing content)</h2>
|
|
96
123
|
|
|
97
124
|
<d2l-demo-snippet>
|
|
98
125
|
<template>
|
|
@@ -152,7 +179,7 @@
|
|
|
152
179
|
document.querySelector('#dialogFullscreenOverflow').opened = true;
|
|
153
180
|
});
|
|
154
181
|
document.querySelector('#dialogFullscreenOverflow').addEventListener('d2l-dialog-close', (e) => {
|
|
155
|
-
console.log('
|
|
182
|
+
console.log('dialog action:', e.detail.action);
|
|
156
183
|
});
|
|
157
184
|
</script>
|
|
158
185
|
</template>
|
|
@@ -180,7 +207,7 @@
|
|
|
180
207
|
</template>
|
|
181
208
|
</d2l-demo-snippet>
|
|
182
209
|
|
|
183
|
-
<h2>Fullscreen Dialog
|
|
210
|
+
<h2>Fullscreen Dialog (width)</h2>
|
|
184
211
|
|
|
185
212
|
<d2l-demo-snippet>
|
|
186
213
|
<template>
|
|
@@ -232,7 +259,7 @@
|
|
|
232
259
|
document.querySelector('#dialogWidth').opened = true;
|
|
233
260
|
});
|
|
234
261
|
document.querySelector('#dialogWidth').addEventListener('d2l-dialog-close', (e) => {
|
|
235
|
-
console.log('
|
|
262
|
+
console.log('dialog action:', e.detail.action);
|
|
236
263
|
});
|
|
237
264
|
</script>
|
|
238
265
|
</template>
|
|
@@ -27,7 +27,11 @@ class DialogFullscreen extends LocalizeCoreElement(AsyncContainerMixin(DialogMix
|
|
|
27
27
|
* @type {boolean}
|
|
28
28
|
*/
|
|
29
29
|
async: { type: Boolean },
|
|
30
|
-
|
|
30
|
+
/**
|
|
31
|
+
* Render with no content padding
|
|
32
|
+
* @type {boolean}
|
|
33
|
+
*/
|
|
34
|
+
noPadding: { type: Boolean, reflect: true, attribute: 'no-padding' },
|
|
31
35
|
/**
|
|
32
36
|
* The preferred width (unit-less) for the dialog. Maximum 1170.
|
|
33
37
|
*/
|
|
@@ -54,6 +58,10 @@ class DialogFullscreen extends LocalizeCoreElement(AsyncContainerMixin(DialogMix
|
|
|
54
58
|
max-width: calc(100% - 3rem);
|
|
55
59
|
}
|
|
56
60
|
|
|
61
|
+
:host([no-padding]) .d2l-dialog-content {
|
|
62
|
+
padding: 0;
|
|
63
|
+
}
|
|
64
|
+
|
|
57
65
|
@media (min-width: 616px) {
|
|
58
66
|
|
|
59
67
|
.d2l-dialog-header {
|
|
@@ -74,6 +82,10 @@ class DialogFullscreen extends LocalizeCoreElement(AsyncContainerMixin(DialogMix
|
|
|
74
82
|
height: calc(100% - 1rem);
|
|
75
83
|
}
|
|
76
84
|
|
|
85
|
+
:host([no-padding]) .d2l-dialog-content > div {
|
|
86
|
+
height: 100%;
|
|
87
|
+
}
|
|
88
|
+
|
|
77
89
|
.d2l-dialog-header > div > d2l-button-icon {
|
|
78
90
|
flex: none;
|
|
79
91
|
margin: -2px -12px 0 0;
|
|
@@ -178,6 +190,7 @@ class DialogFullscreen extends LocalizeCoreElement(AsyncContainerMixin(DialogMix
|
|
|
178
190
|
constructor() {
|
|
179
191
|
super();
|
|
180
192
|
this.async = false;
|
|
193
|
+
this.noPadding = false;
|
|
181
194
|
this._autoSize = false;
|
|
182
195
|
this._hasFooterContent = false;
|
|
183
196
|
this._icon = 'tier1:close-large-thick';
|
|
@@ -98,6 +98,8 @@ export const dialogStyles = css`
|
|
|
98
98
|
box-sizing: border-box;
|
|
99
99
|
flex: none;
|
|
100
100
|
padding: 19px 30px 23px 30px;
|
|
101
|
+
position: relative; /* stack header overflow shadow on top of content */
|
|
102
|
+
z-index: 1; /* stack header overflow shadow on top of content */
|
|
101
103
|
}
|
|
102
104
|
|
|
103
105
|
.d2l-dialog-outer.d2l-dialog-outer-overflow-top .d2l-dialog-header {
|
|
@@ -120,6 +122,10 @@ export const dialogStyles = css`
|
|
|
120
122
|
padding: 0 30px;
|
|
121
123
|
}
|
|
122
124
|
|
|
125
|
+
.d2l-dialog-content > div {
|
|
126
|
+
position: relative; /* make this the positioned parent for absolute positioned elements like d2l-template-primary-secondary */
|
|
127
|
+
}
|
|
128
|
+
|
|
123
129
|
.d2l-dialog-outer-scroll .d2l-dialog-content {
|
|
124
130
|
overflow: auto;
|
|
125
131
|
}
|
|
@@ -128,6 +134,7 @@ export const dialogStyles = css`
|
|
|
128
134
|
box-sizing: border-box;
|
|
129
135
|
flex: none;
|
|
130
136
|
padding: 30px 30px 12px 30px; /* 18px margin below footer children */
|
|
137
|
+
position: relative; /* stack footer overflow shadow on top of content */
|
|
131
138
|
}
|
|
132
139
|
|
|
133
140
|
.d2l-dialog-outer.d2l-dialog-outer-overflow-bottom .d2l-dialog-footer {
|
|
@@ -195,6 +195,7 @@ The `d2l-filter-dimension-set` component is the main dimension type that will wo
|
|
|
195
195
|
| `loading` | Boolean | Whether the values for this dimension are still loading and a loading spinner should be displayed |
|
|
196
196
|
| `search-type` | String, default: `automatic` | `automatic` provides basic case-insensitive text comparison searching, `none` disables the search input, and `manual` fires an event for the consumer to handle the search and pass the keys of the values to be displayed |
|
|
197
197
|
| `select-all` | Boolean | Whether to show a select all checkbox and selection summary for this dimension |
|
|
198
|
+
| `selected-first` | Boolean | Whether to render the selected items at the top of the filter |
|
|
198
199
|
| `selection-single` | Boolean | Whether only one value can be selected at a time for this dimension |
|
|
199
200
|
| `text` | String, required | Text for the dimension in the menu |
|
|
200
201
|
| `value-only-active-filter-text` | Boolean | Whether to hide the dimension in the text sent to active filter subscribers |
|
|
@@ -57,11 +57,11 @@
|
|
|
57
57
|
</template>
|
|
58
58
|
</d2l-demo-snippet>
|
|
59
59
|
|
|
60
|
-
<h2>Single Set Dimension - Header Text</h2>
|
|
60
|
+
<h2>Single Set Dimension - Header Text and Selected First</h2>
|
|
61
61
|
<d2l-demo-snippet>
|
|
62
62
|
<template>
|
|
63
63
|
<d2l-filter id="filter-single">
|
|
64
|
-
<d2l-filter-dimension-set key="course" introductory-text="Filter content by courses. Start typing any course name to explore." header-text="Skills Promoted at Your Company" text="Course" select-all>
|
|
64
|
+
<d2l-filter-dimension-set key="course" introductory-text="Filter content by courses. Start typing any course name to explore." header-text="Skills Promoted at Your Company" text="Course" select-all selected-first>
|
|
65
65
|
<d2l-filter-dimension-set-value key="art" text="Art" count="12"></d2l-filter-dimension-set-value>
|
|
66
66
|
<d2l-filter-dimension-set-value key="astronomy" text="Astronomy" count="2" selected></d2l-filter-dimension-set-value>
|
|
67
67
|
<d2l-filter-dimension-set-value key="biology" text="Biology" count="15"></d2l-filter-dimension-set-value>
|
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
<d2l-filter-dimension-set-value key="writerscraft" text="Writer's Craft"></d2l-filter-dimension-set-value>
|
|
95
95
|
<d2l-filter-dimension-set-empty-state slot="search-empty-state" description="Search returned no results." action-text="Do something" action-href="https://d2l.com/"></d2l-filter-dimension-set-empty-state>
|
|
96
96
|
</d2l-filter-dimension-set>
|
|
97
|
-
<d2l-filter-dimension-set key="role" text="Role">
|
|
97
|
+
<d2l-filter-dimension-set key="role" text="Role" selected-first>
|
|
98
98
|
<d2l-filter-dimension-set-value key="admin" text="Admin" count="0"></d2l-filter-dimension-set-value>
|
|
99
99
|
<d2l-filter-dimension-set-value key="instructor" text="Instructor" count="22"></d2l-filter-dimension-set-value>
|
|
100
100
|
<d2l-filter-dimension-set-value key="student" text="Student" count="50"></d2l-filter-dimension-set-value>
|
|
@@ -41,6 +41,11 @@ class FilterDimensionSet extends LitElement {
|
|
|
41
41
|
* @type {boolean}
|
|
42
42
|
*/
|
|
43
43
|
selectAll: { type: Boolean, attribute: 'select-all' },
|
|
44
|
+
/**
|
|
45
|
+
* Whether to render the selected items at the top of the filter
|
|
46
|
+
* @type {boolean}
|
|
47
|
+
*/
|
|
48
|
+
selectedFirst: { type: Boolean, attribute: 'selected-first' },
|
|
44
49
|
/**
|
|
45
50
|
* Whether only one value can be selected at a time for this dimension
|
|
46
51
|
* @type {boolean}
|
|
@@ -66,6 +71,7 @@ class FilterDimensionSet extends LitElement {
|
|
|
66
71
|
this.loading = false;
|
|
67
72
|
this.searchType = 'automatic';
|
|
68
73
|
this.selectAll = false;
|
|
74
|
+
this.selectedFirst = false;
|
|
69
75
|
this.selectionSingle = false;
|
|
70
76
|
this.text = '';
|
|
71
77
|
this.valueOnlyActiveFilterText = false;
|
|
@@ -275,6 +275,18 @@ class Filter extends FocusMixin(LocalizeCoreElement(RtlMixin(LitElement))) {
|
|
|
275
275
|
`;
|
|
276
276
|
}
|
|
277
277
|
|
|
278
|
+
update(changedProperties) {
|
|
279
|
+
if (
|
|
280
|
+
changedProperties.has('opened')
|
|
281
|
+
&& this.opened
|
|
282
|
+
&& this._dimensions.length === 1
|
|
283
|
+
&& this._dimensions[0].selectedFirst
|
|
284
|
+
) {
|
|
285
|
+
this._updateDimensionShouldBubble(this._dimensions[0]);
|
|
286
|
+
}
|
|
287
|
+
super.update(changedProperties);
|
|
288
|
+
}
|
|
289
|
+
|
|
278
290
|
requestFilterClearAll() {
|
|
279
291
|
this._handleClearAll();
|
|
280
292
|
}
|
|
@@ -505,6 +517,17 @@ class Filter extends FocusMixin(LocalizeCoreElement(RtlMixin(LitElement))) {
|
|
|
505
517
|
listLabel = dimension.headerText;
|
|
506
518
|
}
|
|
507
519
|
|
|
520
|
+
let selectedListItems = nothing;
|
|
521
|
+
let listItems = nothing;
|
|
522
|
+
if (dimension.selectedFirst) {
|
|
523
|
+
if (listLabel) listLabel = this.localize('components.filter.selectedFirstListLabel', { headerText: dimension.headerText });
|
|
524
|
+
selectedListItems = dimension.values.filter(item => item.shouldBubble).map(item => this._createSetDimensionItem(item));
|
|
525
|
+
|
|
526
|
+
listItems = dimension.values.filter(item => !item.shouldBubble).map(item => this._createSetDimensionItem(item));
|
|
527
|
+
} else {
|
|
528
|
+
listItems = dimension.values.map(item => this._createSetDimensionItem(item));
|
|
529
|
+
}
|
|
530
|
+
|
|
508
531
|
return html`
|
|
509
532
|
${searchResults}
|
|
510
533
|
<d2l-list
|
|
@@ -515,25 +538,30 @@ class Filter extends FocusMixin(LocalizeCoreElement(RtlMixin(LitElement))) {
|
|
|
515
538
|
label="${ifDefined(listLabel)}"
|
|
516
539
|
?selection-single="${dimension.selectionSingle}"
|
|
517
540
|
separators="between">
|
|
541
|
+
${selectedListItems}
|
|
518
542
|
${listHeader}
|
|
519
|
-
${
|
|
520
|
-
<d2l-list-item
|
|
521
|
-
?selection-disabled="${item.disabled}"
|
|
522
|
-
?hidden="${item.hidden}"
|
|
523
|
-
key="${item.key}"
|
|
524
|
-
label="${item.text}"
|
|
525
|
-
selectable
|
|
526
|
-
?selected="${item.selected}">
|
|
527
|
-
<div class="d2l-filter-dimension-set-value d2l-body-compact">
|
|
528
|
-
<div class="d2l-filter-dimension-set-value-text">${item.text}</div>
|
|
529
|
-
${item.count !== undefined ? html`<div class="d2l-body-small">(${formatNumber(item.count)})</div>` : nothing}
|
|
530
|
-
</div>
|
|
531
|
-
</d2l-list-item>
|
|
532
|
-
`)}
|
|
543
|
+
${listItems}
|
|
533
544
|
</d2l-list>
|
|
534
545
|
`;
|
|
535
546
|
}
|
|
536
547
|
|
|
548
|
+
_createSetDimensionItem(item) {
|
|
549
|
+
return html`
|
|
550
|
+
<d2l-list-item
|
|
551
|
+
?selection-disabled="${item.disabled}"
|
|
552
|
+
?hidden="${item.hidden}"
|
|
553
|
+
key="${item.key}"
|
|
554
|
+
label="${item.text}"
|
|
555
|
+
selectable
|
|
556
|
+
?selected="${item.selected}">
|
|
557
|
+
<div class="d2l-filter-dimension-set-value d2l-body-compact">
|
|
558
|
+
<div class="d2l-filter-dimension-set-value-text">${item.text}</div>
|
|
559
|
+
${item.count !== undefined ? html`<div class="d2l-body-small">(${formatNumber(item.count)})</div>` : nothing}
|
|
560
|
+
</div>
|
|
561
|
+
</d2l-list-item>
|
|
562
|
+
`;
|
|
563
|
+
}
|
|
564
|
+
|
|
537
565
|
_dispatchChangeEvent(dimension, change) {
|
|
538
566
|
this._setDimensionChangeEvent(dimension, change, false);
|
|
539
567
|
|
|
@@ -689,6 +717,7 @@ class Filter extends FocusMixin(LocalizeCoreElement(RtlMixin(LitElement))) {
|
|
|
689
717
|
this._activeDimensionKey = e.detail.sourceView.getAttribute('data-key');
|
|
690
718
|
const dimension = this._dimensions.find(dimension => dimension.key === this._activeDimensionKey);
|
|
691
719
|
if (dimension.introductoryText) announce(dimension.introductoryText);
|
|
720
|
+
if (dimension.selectedFirst) this._updateDimensionShouldBubble(dimension);
|
|
692
721
|
this._dispatchDimensionFirstOpenEvent(this._activeDimensionKey);
|
|
693
722
|
}
|
|
694
723
|
|
|
@@ -720,6 +749,10 @@ class Filter extends FocusMixin(LocalizeCoreElement(RtlMixin(LitElement))) {
|
|
|
720
749
|
const searchValue = e.detail.value.trim();
|
|
721
750
|
dimension.searchValue = searchValue;
|
|
722
751
|
|
|
752
|
+
if (dimension.selectedFirst) {
|
|
753
|
+
this._updateDimensionShouldBubble(dimension);
|
|
754
|
+
}
|
|
755
|
+
|
|
723
756
|
if (dimension.searchType === 'automatic' || searchValue === '') {
|
|
724
757
|
this._performDimensionSearch(dimension);
|
|
725
758
|
} else if (dimension.searchType === 'manual') {
|
|
@@ -763,6 +796,7 @@ class Filter extends FocusMixin(LocalizeCoreElement(RtlMixin(LitElement))) {
|
|
|
763
796
|
info.introductoryText = dimension.introductoryText;
|
|
764
797
|
info.searchType = dimension.searchType;
|
|
765
798
|
info.searchValue = '';
|
|
799
|
+
info.selectedFirst = dimension.selectedFirst;
|
|
766
800
|
info.selectionSingle = dimension.selectionSingle;
|
|
767
801
|
if (dimension.selectAll && !dimension.selectionSingle) info.selectAllIdPrefix = SET_DIMENSION_ID_PREFIX;
|
|
768
802
|
info.searchEmptyState = dimension.getSearchEmptyState();
|
|
@@ -917,6 +951,12 @@ class Filter extends FocusMixin(LocalizeCoreElement(RtlMixin(LitElement))) {
|
|
|
917
951
|
subscribers.forEach(subscriber => subscriber.updateActiveFilters(this.id, this._activeFilters));
|
|
918
952
|
}
|
|
919
953
|
|
|
954
|
+
_updateDimensionShouldBubble(dimension) {
|
|
955
|
+
for (const value of dimension.values) {
|
|
956
|
+
value.shouldBubble = value.selected;
|
|
957
|
+
}
|
|
958
|
+
}
|
|
959
|
+
|
|
920
960
|
}
|
|
921
961
|
|
|
922
962
|
customElements.define('d2l-filter', Filter);
|
package/custom-elements.json
CHANGED
|
@@ -1948,6 +1948,12 @@
|
|
|
1948
1948
|
"type": "boolean",
|
|
1949
1949
|
"default": "false"
|
|
1950
1950
|
},
|
|
1951
|
+
{
|
|
1952
|
+
"name": "no-padding",
|
|
1953
|
+
"description": "Render with no content padding",
|
|
1954
|
+
"type": "boolean",
|
|
1955
|
+
"default": "false"
|
|
1956
|
+
},
|
|
1951
1957
|
{
|
|
1952
1958
|
"name": "width",
|
|
1953
1959
|
"description": "The preferred width (unit-less) for the dialog. Maximum 1170.",
|
|
@@ -1974,6 +1980,13 @@
|
|
|
1974
1980
|
"type": "boolean",
|
|
1975
1981
|
"default": "false"
|
|
1976
1982
|
},
|
|
1983
|
+
{
|
|
1984
|
+
"name": "noPadding",
|
|
1985
|
+
"attribute": "no-padding",
|
|
1986
|
+
"description": "Render with no content padding",
|
|
1987
|
+
"type": "boolean",
|
|
1988
|
+
"default": "false"
|
|
1989
|
+
},
|
|
1977
1990
|
{
|
|
1978
1991
|
"name": "width",
|
|
1979
1992
|
"attribute": "width",
|
|
@@ -3796,6 +3809,12 @@
|
|
|
3796
3809
|
"type": "boolean",
|
|
3797
3810
|
"default": "false"
|
|
3798
3811
|
},
|
|
3812
|
+
{
|
|
3813
|
+
"name": "selected-first",
|
|
3814
|
+
"description": "Whether to render the selected items at the top of the filter",
|
|
3815
|
+
"type": "boolean",
|
|
3816
|
+
"default": "false"
|
|
3817
|
+
},
|
|
3799
3818
|
{
|
|
3800
3819
|
"name": "selection-single",
|
|
3801
3820
|
"description": "Whether only one value can be selected at a time for this dimension",
|
|
@@ -3857,6 +3876,13 @@
|
|
|
3857
3876
|
"type": "boolean",
|
|
3858
3877
|
"default": "false"
|
|
3859
3878
|
},
|
|
3879
|
+
{
|
|
3880
|
+
"name": "selectedFirst",
|
|
3881
|
+
"attribute": "selected-first",
|
|
3882
|
+
"description": "Whether to render the selected items at the top of the filter",
|
|
3883
|
+
"type": "boolean",
|
|
3884
|
+
"default": "false"
|
|
3885
|
+
},
|
|
3860
3886
|
{
|
|
3861
3887
|
"name": "selectionSingle",
|
|
3862
3888
|
"attribute": "selection-single",
|
package/lang/ar.js
CHANGED
|
@@ -21,6 +21,7 @@ export default {
|
|
|
21
21
|
"components.filter.filters": "عوامل التصفية",
|
|
22
22
|
"components.filter.noFilters": "ما من عوامل تصفية متوفرة",
|
|
23
23
|
"components.filter.searchResults": "{number, plural, =0 {ما من نتائج بحث} one {{number} نتيجة بحث} other {{number} من نتائج البحث}}",
|
|
24
|
+
"components.filter.selectedFirstListLabel": "{headerText}. Selected filters appear first.",
|
|
24
25
|
"components.filter.singleDimensionDescription": "التصفية حسب: {filterName}",
|
|
25
26
|
"components.form-element.defaultError": "{label} غير صالحة.",
|
|
26
27
|
"components.form-element.defaultFieldLabel": "الحقل",
|
package/lang/cy.js
CHANGED
|
@@ -21,6 +21,7 @@ export default {
|
|
|
21
21
|
"components.filter.filters": "Hidlyddion",
|
|
22
22
|
"components.filter.noFilters": "Dim hidlyddion ar gael",
|
|
23
23
|
"components.filter.searchResults": "{number, plural, =0 {Dim canlyniadau chwilio} one {{number} canlyniad chwilio} other {{number} canlyniadau chwilio}}",
|
|
24
|
+
"components.filter.selectedFirstListLabel": "{headerText}. Selected filters appear first.",
|
|
24
25
|
"components.filter.singleDimensionDescription": "Hidlo yn ôl: {filterName}",
|
|
25
26
|
"components.form-element.defaultError": "Mae {label} yn annilys.",
|
|
26
27
|
"components.form-element.defaultFieldLabel": "Maes",
|
package/lang/da.js
CHANGED
|
@@ -21,6 +21,7 @@ export default {
|
|
|
21
21
|
"components.filter.filters": "Filtre",
|
|
22
22
|
"components.filter.noFilters": "Ingen tilgængelige filtre",
|
|
23
23
|
"components.filter.searchResults": "{number, plural, =0 {Ingen søgeresultater} one {{number} søgeresultat} other {{number} søgeresultater}}",
|
|
24
|
+
"components.filter.selectedFirstListLabel": "{headerText}. Selected filters appear first.",
|
|
24
25
|
"components.filter.singleDimensionDescription": "Filtrer efter: {filterName}",
|
|
25
26
|
"components.form-element.defaultError": "{label} er ugyldigt.",
|
|
26
27
|
"components.form-element.defaultFieldLabel": "Felt",
|
package/lang/de.js
CHANGED
|
@@ -21,6 +21,7 @@ export default {
|
|
|
21
21
|
"components.filter.filters": "Filter",
|
|
22
22
|
"components.filter.noFilters": "Keine verfügbaren Filter",
|
|
23
23
|
"components.filter.searchResults": "{number, plural, =0 {Kein Suchergebnis} one {{number} Suchergebnis} other {{number} Suchergebnisse}}",
|
|
24
|
+
"components.filter.selectedFirstListLabel": "{headerText}. Selected filters appear first.",
|
|
24
25
|
"components.filter.singleDimensionDescription": "Filtern nach: {filterName}",
|
|
25
26
|
"components.form-element.defaultError": "{label} ist ungültig.",
|
|
26
27
|
"components.form-element.defaultFieldLabel": "Feld",
|
package/lang/en-gb.js
CHANGED
|
@@ -21,6 +21,7 @@ export default {
|
|
|
21
21
|
"components.filter.filters": "Filters",
|
|
22
22
|
"components.filter.noFilters": "No available filters",
|
|
23
23
|
"components.filter.searchResults": "{number, plural, =0 {No search results} one {{number} search result} other {{number} search results}}",
|
|
24
|
+
"components.filter.selectedFirstListLabel": "{headerText}. Selected filters appear first.",
|
|
24
25
|
"components.filter.singleDimensionDescription": "Filter by: {filterName}",
|
|
25
26
|
"components.form-element.defaultError": "{label} is invalid.",
|
|
26
27
|
"components.form-element.defaultFieldLabel": "Field",
|
package/lang/en.js
CHANGED
|
@@ -21,6 +21,7 @@ export default {
|
|
|
21
21
|
"components.filter.filters": "Filters",
|
|
22
22
|
"components.filter.noFilters": "No available filters",
|
|
23
23
|
"components.filter.searchResults": "{number, plural, =0 {No search results} one {{number} search result} other {{number} search results}}",
|
|
24
|
+
"components.filter.selectedFirstListLabel": "{headerText}. Selected filters appear first.",
|
|
24
25
|
"components.filter.singleDimensionDescription": "Filter by: {filterName}",
|
|
25
26
|
"components.form-element.defaultError": "{label} is invalid.",
|
|
26
27
|
"components.form-element.defaultFieldLabel": "Field",
|
package/lang/es-es.js
CHANGED
|
@@ -21,6 +21,7 @@ export default {
|
|
|
21
21
|
"components.filter.filters": "Filtros",
|
|
22
22
|
"components.filter.noFilters": "No hay filtros disponibles",
|
|
23
23
|
"components.filter.searchResults": "{number, plural, =0 {No hay resultados de búsqueda} one {{number} resultado de búsqueda} other {{number} resultados de búsqueda}}",
|
|
24
|
+
"components.filter.selectedFirstListLabel": "{headerText}. Selected filters appear first.",
|
|
24
25
|
"components.filter.singleDimensionDescription": "Filtrar por: {filterName}",
|
|
25
26
|
"components.form-element.defaultError": "{label} no es válido.",
|
|
26
27
|
"components.form-element.defaultFieldLabel": "Campo",
|
package/lang/es.js
CHANGED
|
@@ -21,6 +21,7 @@ export default {
|
|
|
21
21
|
"components.filter.filters": "Filtros",
|
|
22
22
|
"components.filter.noFilters": "No hay filtros disponibles",
|
|
23
23
|
"components.filter.searchResults": "{number, plural, =0 {No se encontraron resultados de búsqueda} one {{number} resultado de búsqueda} other {{number} resultados de búsqueda}}",
|
|
24
|
+
"components.filter.selectedFirstListLabel": "{headerText}. Selected filters appear first.",
|
|
24
25
|
"components.filter.singleDimensionDescription": "Filtrar por: {filterName}",
|
|
25
26
|
"components.form-element.defaultError": "{label} no es válida.",
|
|
26
27
|
"components.form-element.defaultFieldLabel": "Campo",
|
package/lang/fr-fr.js
CHANGED
|
@@ -21,6 +21,7 @@ export default {
|
|
|
21
21
|
"components.filter.filters": "Filtres",
|
|
22
22
|
"components.filter.noFilters": "Aucun filtre disponible",
|
|
23
23
|
"components.filter.searchResults": "{number, plural, =0 {Aucun résultat de recherche} one {{number} résultat de recherche} other {{number} résultats de recherche}}",
|
|
24
|
+
"components.filter.selectedFirstListLabel": "{headerText}. Selected filters appear first.",
|
|
24
25
|
"components.filter.singleDimensionDescription": "Filtrer par : {filterName}",
|
|
25
26
|
"components.form-element.defaultError": "{label} n'est pas valide.",
|
|
26
27
|
"components.form-element.defaultFieldLabel": "Champ",
|
package/lang/fr.js
CHANGED
|
@@ -21,6 +21,7 @@ export default {
|
|
|
21
21
|
"components.filter.filters": "Filtres",
|
|
22
22
|
"components.filter.noFilters": "Aucun filtre disponible",
|
|
23
23
|
"components.filter.searchResults": "{number, plural, =0 {Aucun résultat de recherche} one {{number} résultat de recherche} other {{number} résultats de recherche}}",
|
|
24
|
+
"components.filter.selectedFirstListLabel": "{headerText}. Selected filters appear first.",
|
|
24
25
|
"components.filter.singleDimensionDescription": "Filtrer par : {filterName}",
|
|
25
26
|
"components.form-element.defaultError": "{label} n'est pas valide.",
|
|
26
27
|
"components.form-element.defaultFieldLabel": "Champ",
|
package/lang/hi.js
CHANGED
|
@@ -21,6 +21,7 @@ export default {
|
|
|
21
21
|
"components.filter.filters": "फ़िल्टर्स",
|
|
22
22
|
"components.filter.noFilters": "कोई उपलब्ध फ़िल्टर्स नहीं",
|
|
23
23
|
"components.filter.searchResults": "{number, plural, =0 {कोई खोज परिणाम नहीं} one {{number} खोज परिणाम} other {{number} खोज परिणाम}}",
|
|
24
|
+
"components.filter.selectedFirstListLabel": "{headerText}. Selected filters appear first.",
|
|
24
25
|
"components.filter.singleDimensionDescription": "इसके अनुसार फ़िल्टर करें: {filterName}",
|
|
25
26
|
"components.form-element.defaultError": "{label} अमान्य है।",
|
|
26
27
|
"components.form-element.defaultFieldLabel": "फ़ील्ड",
|
package/lang/ja.js
CHANGED
|
@@ -21,6 +21,7 @@ export default {
|
|
|
21
21
|
"components.filter.filters": "フィルタ",
|
|
22
22
|
"components.filter.noFilters": "使用可能なフィルタはありません",
|
|
23
23
|
"components.filter.searchResults": "{number, plural, =0 {検索結果なし} other {{number} 件の検索結果}}",
|
|
24
|
+
"components.filter.selectedFirstListLabel": "{headerText}. Selected filters appear first.",
|
|
24
25
|
"components.filter.singleDimensionDescription": "フィルタ条件: {filterName}",
|
|
25
26
|
"components.form-element.defaultError": "{label} は無効です。",
|
|
26
27
|
"components.form-element.defaultFieldLabel": "フィールド",
|
package/lang/ko.js
CHANGED
|
@@ -21,6 +21,7 @@ export default {
|
|
|
21
21
|
"components.filter.filters": "개 필터",
|
|
22
22
|
"components.filter.noFilters": "사용 가능한 필터가 없습니다",
|
|
23
23
|
"components.filter.searchResults": "{number, plural, =0 {검색 결과 없음} other {{number}개 검색 결과}}",
|
|
24
|
+
"components.filter.selectedFirstListLabel": "{headerText}. Selected filters appear first.",
|
|
24
25
|
"components.filter.singleDimensionDescription": "필터 기준: {filterName}",
|
|
25
26
|
"components.form-element.defaultError": "{label}이(가) 잘못되었습니다.",
|
|
26
27
|
"components.form-element.defaultFieldLabel": "필드",
|
package/lang/nl.js
CHANGED
|
@@ -21,6 +21,7 @@ export default {
|
|
|
21
21
|
"components.filter.filters": "Filters", // mfv-translated
|
|
22
22
|
"components.filter.noFilters": "Geen beschikbare filters",
|
|
23
23
|
"components.filter.searchResults": "{number, plural, =0 {Geen zoekresultaten} one {{number} zoekresultaat} other {{number} zoekresultaten}}",
|
|
24
|
+
"components.filter.selectedFirstListLabel": "{headerText}. Selected filters appear first.",
|
|
24
25
|
"components.filter.singleDimensionDescription": "Filter op {filterName}",
|
|
25
26
|
"components.form-element.defaultError": "{label} is ongeldig.",
|
|
26
27
|
"components.form-element.defaultFieldLabel": "Veld",
|
package/lang/pt.js
CHANGED
|
@@ -21,6 +21,7 @@ export default {
|
|
|
21
21
|
"components.filter.filters": "Filtros",
|
|
22
22
|
"components.filter.noFilters": "Não há filtros disponíveis",
|
|
23
23
|
"components.filter.searchResults": "{number, plural, =0 {Sem resultados para a pesquisa} one {{number} resultado para a pesquisa} other {{number} resultados para a pesquisa}}",
|
|
24
|
+
"components.filter.selectedFirstListLabel": "{headerText}. Selected filters appear first.",
|
|
24
25
|
"components.filter.singleDimensionDescription": "Filtrar por: {filterName}",
|
|
25
26
|
"components.form-element.defaultError": "{label} é inválido.",
|
|
26
27
|
"components.form-element.defaultFieldLabel": "Campo",
|
package/lang/sv.js
CHANGED
|
@@ -21,6 +21,7 @@ export default {
|
|
|
21
21
|
"components.filter.filters": "Filter",
|
|
22
22
|
"components.filter.noFilters": "Inga tillgängliga filter",
|
|
23
23
|
"components.filter.searchResults": "{number, plural, =0 {Inga sökresultat} one {{number} sökresultat} other {{number} sökresultat}}",
|
|
24
|
+
"components.filter.selectedFirstListLabel": "{headerText}. Selected filters appear first.",
|
|
24
25
|
"components.filter.singleDimensionDescription": "Filtrera efter: {filterName}",
|
|
25
26
|
"components.form-element.defaultError": "{label} är ogiltig.",
|
|
26
27
|
"components.form-element.defaultFieldLabel": "Fält",
|
package/lang/tr.js
CHANGED
|
@@ -21,6 +21,7 @@ export default {
|
|
|
21
21
|
"components.filter.filters": "Filtre",
|
|
22
22
|
"components.filter.noFilters": "Uygun filtre yok",
|
|
23
23
|
"components.filter.searchResults": "{number, plural, =0 {Arama sonucu yok} one {{number} arama sonucu} other {{number} arama sonucu}}",
|
|
24
|
+
"components.filter.selectedFirstListLabel": "{headerText}. Selected filters appear first.",
|
|
24
25
|
"components.filter.singleDimensionDescription": "Filtreleme ölçütü: {filterName}",
|
|
25
26
|
"components.form-element.defaultError": "{label} geçersiz.",
|
|
26
27
|
"components.form-element.defaultFieldLabel": "Alan",
|
package/lang/zh-cn.js
CHANGED
|
@@ -21,6 +21,7 @@ export default {
|
|
|
21
21
|
"components.filter.filters": "个筛选条件",
|
|
22
22
|
"components.filter.noFilters": "无可用筛选器",
|
|
23
23
|
"components.filter.searchResults": "{number, plural, =0 {无搜索结果} other {{number} 个搜索结果}}",
|
|
24
|
+
"components.filter.selectedFirstListLabel": "{headerText}. Selected filters appear first.",
|
|
24
25
|
"components.filter.singleDimensionDescription": "筛选依据:{filterName}",
|
|
25
26
|
"components.form-element.defaultError": "{label} 无效。",
|
|
26
27
|
"components.form-element.defaultFieldLabel": "字段",
|
package/lang/zh-tw.js
CHANGED
|
@@ -21,6 +21,7 @@ export default {
|
|
|
21
21
|
"components.filter.filters": "篩選器",
|
|
22
22
|
"components.filter.noFilters": "沒有可用的篩選條件",
|
|
23
23
|
"components.filter.searchResults": "{number, plural, =0 {無搜尋結果} other {{number} 個搜尋結果}}",
|
|
24
|
+
"components.filter.selectedFirstListLabel": "{headerText}. Selected filters appear first.",
|
|
24
25
|
"components.filter.singleDimensionDescription": "按此條件篩選:{filterName}",
|
|
25
26
|
"components.form-element.defaultError": "{label} 無效。",
|
|
26
27
|
"components.form-element.defaultFieldLabel": "欄位",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@brightspace-ui/core",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.124.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",
|
|
@@ -55,8 +55,7 @@
|
|
|
55
55
|
|
|
56
56
|
<d2l-list item-count="50" extend-separators>
|
|
57
57
|
<d2l-list-controls slot="controls" select-all-pages-allowed>
|
|
58
|
-
|
|
59
|
-
<d2l-selection-action icon="tier1:plus-default" text="Add"></d2l-selection-action>
|
|
58
|
+
<d2l-selection-action id="openMainDialog" icon="tier1:plus-default" text="Add"></d2l-selection-action>
|
|
60
59
|
<d2l-selection-action-dropdown text="Move To" requires-selection>
|
|
61
60
|
<d2l-dropdown-menu>
|
|
62
61
|
<d2l-menu label="Move To Options">
|
|
@@ -342,19 +341,33 @@
|
|
|
342
341
|
</d2l-list-item>
|
|
343
342
|
</d2l-list>
|
|
344
343
|
|
|
345
|
-
<d2l-dialog-fullscreen id="dialogMain" title-text="Dialog Title">
|
|
346
|
-
<
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
344
|
+
<d2l-dialog-fullscreen id="dialogMain" title-text="Dialog Title" no-padding>
|
|
345
|
+
<d2l-template-primary-secondary resizable storage-key="demo-dialog">
|
|
346
|
+
<div slot="header" style="background-color: #dddddd; padding: 1rem;">Primary/Secondary Controls</div>
|
|
347
|
+
<div slot="primary" style="padding: 1rem;">
|
|
348
|
+
<p>Deadlights jack lad schooner scallywag dance the hempen jig carouser broadside cable strike colors. Bring a spring upon her cable holystone blow the man down spanker</p>
|
|
349
|
+
<p>Shiver me timbers to go on account lookout wherry doubloon chase. Belay yo-ho-ho keelhaul squiffy black spot yardarm spyglass sheet transom heave to.</p>
|
|
350
|
+
<p>Trysail Sail ho Corsair red ensign hulk smartly boom jib rum gangway. Case shot Shiver me timbers gangplank crack Jennys tea cup ballast Blimey lee snow crow's nest rutters. Fluke jib scourge of the seven seas boatswain schooner gaff booty Jack Tar transom spirits.</p>
|
|
351
|
+
<p>Deadlights jack lad schooner scallywag dance the hempen jig carouser broadside cable strike colors. Bring a spring upon her cable holystone blow the man down spanker</p>
|
|
352
|
+
<p>Shiver me timbers to go on account lookout wherry doubloon chase. Belay yo-ho-ho keelhaul squiffy black spot yardarm spyglass sheet transom heave to.</p>
|
|
353
|
+
<p>Trysail Sail ho Corsair red ensign hulk smartly boom jib rum gangway. Case shot Shiver me timbers gangplank crack Jennys tea cup ballast Blimey lee snow crow's nest rutters. Fluke jib scourge of the seven seas boatswain schooner gaff booty Jack Tar transom spirits.</p>
|
|
354
|
+
</div>
|
|
355
|
+
<div slot="secondary" style="padding: 1rem;">
|
|
356
|
+
<p>Deadlights jack lad schooner scallywag dance the hempen jig carouser broadside cable strike colors. Bring a spring upon her cable holystone blow the man down spanker</p>
|
|
357
|
+
<p>Shiver me timbers to go on account lookout wherry doubloon chase. Belay yo-ho-ho keelhaul squiffy black spot yardarm spyglass sheet transom heave to.</p>
|
|
358
|
+
<p>Trysail Sail ho Corsair red ensign hulk smartly boom jib rum gangway. Case shot Shiver me timbers gangplank crack Jennys tea cup ballast Blimey lee snow crow's nest rutters. Fluke jib scourge of the seven seas boatswain schooner gaff booty Jack Tar transom spirits.</p>
|
|
359
|
+
<p>Deadlights jack lad schooner scallywag dance the hempen jig carouser broadside cable strike colors. Bring a spring upon her cable holystone blow the man down spanker</p>
|
|
360
|
+
<p>Shiver me timbers to go on account lookout wherry doubloon chase. Belay yo-ho-ho keelhaul squiffy black spot yardarm spyglass sheet transom heave to.</p>
|
|
361
|
+
<p>Trysail Sail ho Corsair red ensign hulk smartly boom jib rum gangway. Case shot Shiver me timbers gangplank crack Jennys tea cup ballast Blimey lee snow crow's nest rutters. Fluke jib scourge of the seven seas boatswain schooner gaff booty Jack Tar transom spirits.</p>
|
|
362
|
+
</div>
|
|
363
|
+
<div slot="footer">Primary/Secondary Footer</div>
|
|
364
|
+
</d2l-template-primary-secondary>
|
|
352
365
|
<d2l-button slot="footer" primary data-dialog-action="save">Save</d2l-button>
|
|
353
366
|
<d2l-button slot="footer" data-dialog-action>Cancel</d2l-button>
|
|
354
367
|
</d2l-dialog-fullscreen>
|
|
355
368
|
|
|
356
369
|
<script>
|
|
357
|
-
document.querySelector('#openMainDialog').addEventListener('click', () => {
|
|
370
|
+
document.querySelector('#openMainDialog').addEventListener('d2l-selection-action-click', () => {
|
|
358
371
|
document.querySelector('#dialogMain').opened = true;
|
|
359
372
|
});
|
|
360
373
|
document.querySelector('#dialogMain').addEventListener('d2l-dialog-close', (e) => {
|