@brightspace-ui/core 3.267.0 → 3.267.3
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 +98 -102
- package/components/alert/alert.js +109 -113
- package/components/backdrop/backdrop-dirty-overlay.js +13 -17
- package/components/backdrop/backdrop-loading.js +105 -109
- package/components/backdrop/backdrop.js +50 -54
- package/components/breadcrumbs/breadcrumb-current-page.js +19 -23
- package/components/breadcrumbs/breadcrumb.js +50 -54
- package/components/breadcrumbs/breadcrumbs.js +34 -38
- package/components/button/button-add.js +156 -164
- package/components/button/button-copy-mixin.js +9 -11
- package/components/button/button-copy.js +15 -19
- package/components/button/button-icon.js +110 -114
- package/components/button/button-move.js +153 -157
- package/components/button/button-split-item.js +16 -20
- package/components/button/button-split.js +70 -74
- package/components/button/button-subtle-copy.js +17 -19
- package/components/button/button-subtle.js +145 -149
- package/components/button/button-toggle.js +25 -29
- package/components/button/button.js +70 -74
- package/components/button/floating-buttons.js +63 -67
- package/components/calendar/calendar.js +244 -248
- package/components/card/card-content-meta.js +13 -15
- package/components/card/card-content-title.js +9 -11
- package/components/card/card-footer-link.js +76 -80
- package/components/card/card-loading-shimmer.js +35 -39
- package/components/card/card.js +188 -192
- package/components/collapsible-panel/collapsible-panel-group.js +17 -21
- package/components/collapsible-panel/collapsible-panel-summary-item.js +27 -31
- package/components/collapsible-panel/collapsible-panel.js +258 -262
- package/components/count-badge/count-badge-icon.js +12 -16
- package/components/count-badge/count-badge-mixin.js +124 -128
- package/components/count-badge/count-badge.js +2 -4
- package/components/description-list/description-list-wrapper.js +27 -31
- package/components/dialog/dialog-confirm.js +55 -59
- package/components/dialog/dialog-fullscreen.js +128 -132
- package/components/dialog/dialog-mixin.js +39 -41
- package/components/dialog/dialog.js +61 -65
- package/components/dropdown/dropdown-button-subtle.js +21 -25
- package/components/dropdown/dropdown-button.js +31 -35
- package/components/dropdown/dropdown-context-menu.js +28 -31
- package/components/dropdown/dropdown-menu.js +27 -31
- package/components/dropdown/dropdown-more.js +23 -26
- package/components/dropdown/dropdown-opener-mixin.js +44 -46
- package/components/dropdown/dropdown-popover-mixin.js +155 -159
- package/components/dropdown/dropdown-tabs.js +5 -7
- package/components/dropdown/dropdown.js +1 -3
- package/components/empty-state/empty-state-action-button.js +18 -22
- package/components/empty-state/empty-state-action-link.js +14 -18
- package/components/empty-state/empty-state-illustrated.js +21 -25
- package/components/empty-state/empty-state-simple.js +8 -12
- package/components/expand-collapse/expand-collapse-content.js +48 -52
- package/components/filter/filter-dimension-set-date-text-value.js +34 -36
- package/components/filter/filter-dimension-set-date-time-range-value.js +45 -47
- package/components/filter/filter-dimension-set-empty-state.js +17 -19
- package/components/filter/filter-dimension-set-value.js +27 -29
- package/components/filter/filter-dimension-set.js +65 -67
- package/components/filter/filter-overflow-group.js +15 -19
- package/components/filter/filter-tags.js +16 -19
- package/components/filter/filter.js +115 -119
- package/components/focus-trap/focus-trap.js +17 -21
- package/components/form/form-element-mixin.js +33 -35
- package/components/form/form-error-summary.js +37 -42
- package/components/form/form.js +33 -37
- package/components/hierarchical-view/hierarchical-view-mixin.js +76 -80
- package/components/hierarchical-view/hierarchical-view.js +5 -7
- package/components/html-block/html-block.js +45 -49
- package/components/icons/icon-custom.js +20 -24
- package/components/icons/icon.js +20 -24
- package/components/icons/slotted-icon-mixin.js +16 -18
- package/components/inputs/input-checkbox-group.js +34 -38
- package/components/inputs/input-checkbox.js +106 -110
- package/components/inputs/input-color.js +142 -148
- package/components/inputs/input-date-range.js +90 -94
- package/components/inputs/input-date-time-range-to.js +70 -74
- package/components/inputs/input-date-time-range.js +110 -115
- package/components/inputs/input-date-time.js +75 -79
- package/components/inputs/input-date.js +101 -105
- package/components/inputs/input-fieldset.js +37 -43
- package/components/inputs/input-group.js +10 -12
- package/components/inputs/input-inline-help.js +4 -6
- package/components/inputs/input-number.js +112 -118
- package/components/inputs/input-percent.js +52 -58
- package/components/inputs/input-radio-group.js +45 -49
- package/components/inputs/input-radio-spacer.js +11 -13
- package/components/inputs/input-radio.js +62 -66
- package/components/inputs/input-search.js +63 -68
- package/components/inputs/input-styles.js +140 -3
- package/components/inputs/input-text.js +245 -251
- package/components/inputs/input-textarea.js +128 -132
- package/components/inputs/input-time-range.js +100 -104
- package/components/inputs/input-time.js +107 -113
- package/components/link/link-mixin.js +37 -41
- package/components/link/link.js +113 -119
- package/components/list/list-controls.js +25 -29
- package/components/list/list-item-button-mixin.js +10 -12
- package/components/list/list-item-checkbox-mixin.js +35 -37
- package/components/list/list-item-content.js +33 -35
- package/components/list/list-item-drag-drop-mixin.js +45 -47
- package/components/list/list-item-drag-handle.js +80 -84
- package/components/list/list-item-drag-image.js +77 -81
- package/components/list/list-item-expand-collapse-mixin.js +17 -19
- package/components/list/list-item-generic-layout.js +222 -226
- package/components/list/list-item-link-mixin.js +10 -12
- package/components/list/list-item-mixin.js +68 -70
- package/components/list/list-item-nav-mixin.js +17 -19
- package/components/list/list-item-placement-marker.js +65 -67
- package/components/list/list-item-role-mixin.js +9 -11
- package/components/list/list-item.js +7 -9
- package/components/list/list.js +121 -125
- package/components/loading-spinner/loading-spinner.js +93 -97
- package/custom-elements.json +1920 -6694
- package/package.json +3 -2
|
@@ -8,44 +8,42 @@ import { SkeletonMixin } from '../skeleton/skeleton-mixin.js';
|
|
|
8
8
|
|
|
9
9
|
export const ListItemCheckboxMixin = superclass => class extends SkeletonMixin(superclass) {
|
|
10
10
|
|
|
11
|
-
static
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
};
|
|
45
|
-
}
|
|
11
|
+
static properties = {
|
|
12
|
+
/**
|
|
13
|
+
* **Selection:** Disables selection
|
|
14
|
+
* @type {boolean}
|
|
15
|
+
*/
|
|
16
|
+
selectionDisabled: { type: Boolean, attribute: 'selection-disabled', reflect: true },
|
|
17
|
+
/**
|
|
18
|
+
* **Selection:** Tooltip text when selection is disabled
|
|
19
|
+
* @type {string}
|
|
20
|
+
*/
|
|
21
|
+
selectionDisabledTooltip: { type: String, attribute: 'selection-disabled-tooltip' },
|
|
22
|
+
/**
|
|
23
|
+
* **Selection:** Value to identify item if selectable
|
|
24
|
+
* @type {string}
|
|
25
|
+
*/
|
|
26
|
+
key: { type: String, reflect: true },
|
|
27
|
+
/**
|
|
28
|
+
* **Selection:** Indicates an input should be rendered for selecting the item
|
|
29
|
+
* @type {boolean}
|
|
30
|
+
*/
|
|
31
|
+
selectable: { type: Boolean },
|
|
32
|
+
/**
|
|
33
|
+
* **Selection:** Whether the item is selected
|
|
34
|
+
* @type {boolean}
|
|
35
|
+
*/
|
|
36
|
+
selected: { type: Boolean, reflect: true },
|
|
37
|
+
/**
|
|
38
|
+
* Private. The selection info (set by the selection component).
|
|
39
|
+
* @ignore
|
|
40
|
+
*/
|
|
41
|
+
selectionInfo: { type: Object, attribute: false },
|
|
42
|
+
_hoveringSelection: { type: Boolean, attribute: '_hovering-selection', reflect: true }
|
|
43
|
+
};
|
|
46
44
|
|
|
47
45
|
static get styles() {
|
|
48
|
-
const styles = [
|
|
46
|
+
const styles = [css`
|
|
49
47
|
.d2l-checkbox-action {
|
|
50
48
|
cursor: pointer;
|
|
51
49
|
display: block;
|
|
@@ -61,7 +59,7 @@ export const ListItemCheckboxMixin = superclass => class extends SkeletonMixin(s
|
|
|
61
59
|
:host([layout="tile"]) .bump-inline {
|
|
62
60
|
margin-inline-start: 2rem !important;
|
|
63
61
|
}
|
|
64
|
-
`
|
|
62
|
+
`];
|
|
65
63
|
|
|
66
64
|
super.styles && styles.unshift(super.styles);
|
|
67
65
|
return styles;
|
|
@@ -10,41 +10,39 @@ import { css, html, LitElement } from 'lit';
|
|
|
10
10
|
*/
|
|
11
11
|
class ListItemContent extends LitElement {
|
|
12
12
|
|
|
13
|
-
static
|
|
14
|
-
|
|
15
|
-
:
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
`];
|
|
47
|
-
}
|
|
13
|
+
static styles = [bodySmallStyles, bodyCompactStyles, css`
|
|
14
|
+
:host {
|
|
15
|
+
min-width: 0;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.d2l-list-item-content-text {
|
|
19
|
+
margin: 0;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.d2l-list-item-content-text > div {
|
|
23
|
+
border-radius: var(--d2l-list-item-content-text-border-radius);
|
|
24
|
+
color: var(--d2l-list-item-content-text-color);
|
|
25
|
+
display: block; /* multi-line clamping won't work inside of inline-block in Safari - the compromise is the outline is full width */
|
|
26
|
+
max-width: 100%;
|
|
27
|
+
outline: var(--d2l-list-item-content-text-outline, none);
|
|
28
|
+
outline-offset: var(--d2l-list-item-content-text-outline-offset);
|
|
29
|
+
overflow-wrap: anywhere;
|
|
30
|
+
text-decoration: var(--d2l-list-item-content-text-decoration, none);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.d2l-list-item-content-text-secondary {
|
|
34
|
+
color: var(--d2l-list-item-content-text-secondary-color, var(--d2l-color-tungsten));
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.d2l-list-item-content-text-supporting-info {
|
|
38
|
+
color: var(--d2l-color-ferrite);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.d2l-list-item-content-text-secondary ::slotted(*),
|
|
42
|
+
.d2l-list-item-content-text-supporting-info ::slotted(*) {
|
|
43
|
+
margin-top: 0.15rem;
|
|
44
|
+
}
|
|
45
|
+
`];
|
|
48
46
|
|
|
49
47
|
render() {
|
|
50
48
|
return html`
|
|
@@ -248,55 +248,53 @@ export class NewPositionEventDetails {
|
|
|
248
248
|
|
|
249
249
|
export const ListItemDragDropMixin = superclass => class extends superclass {
|
|
250
250
|
|
|
251
|
-
static
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
};
|
|
296
|
-
}
|
|
251
|
+
static properties = {
|
|
252
|
+
/**
|
|
253
|
+
* **Drag & drop:** Disables keyboard dragging interaction. If draggable, a keyboard alternative should be provided for the dragging functionality.
|
|
254
|
+
* @type {boolean}
|
|
255
|
+
*/
|
|
256
|
+
keyboardDragDisabled: { type: Boolean, attribute: 'keyboard-drag-disabled' },
|
|
257
|
+
/**
|
|
258
|
+
* **Drag & drop:** Whether the item is draggable
|
|
259
|
+
* @type {boolean}
|
|
260
|
+
*/
|
|
261
|
+
// eslint-disable-next-line lit/no-native-attributes
|
|
262
|
+
draggable: { type: Boolean, reflect: true },
|
|
263
|
+
/**
|
|
264
|
+
* @ignore
|
|
265
|
+
*/
|
|
266
|
+
dragging: { type: Boolean, reflect: true },
|
|
267
|
+
/**
|
|
268
|
+
* **Drag & drop:** The drag-handle label for assistive technology. If implementing drag & drop, you should change this to dynamically announce what the drag-handle is moving for assistive technology in keyboard mode.
|
|
269
|
+
* @type {string}
|
|
270
|
+
*/
|
|
271
|
+
dragHandleText: { type: String, attribute: 'drag-handle-text' },
|
|
272
|
+
/**
|
|
273
|
+
* **Drag & drop:** Whether nested items can be dropped on this item
|
|
274
|
+
* @type {boolean}
|
|
275
|
+
*/
|
|
276
|
+
dropNested: { type: Boolean, attribute: 'drop-nested' },
|
|
277
|
+
/**
|
|
278
|
+
* **Drag & drop:** Text to drag and drop
|
|
279
|
+
* @type {string}
|
|
280
|
+
*/
|
|
281
|
+
dropText: { type: String, attribute: 'drop-text' },
|
|
282
|
+
/**
|
|
283
|
+
* Value to identify item if selectable
|
|
284
|
+
* @type {string}
|
|
285
|
+
*/
|
|
286
|
+
key: { type: String, reflect: true },
|
|
287
|
+
_dragHandleShowAlways: { type: Boolean, attribute: '_drag-handle-show-always', reflect: true },
|
|
288
|
+
_draggingOver: { type: Boolean },
|
|
289
|
+
_dropLocation: { type: Number, reflect: true, attribute: '_drop-location' },
|
|
290
|
+
_focusingDragHandle: { type: Boolean },
|
|
291
|
+
_hovering: { type: Boolean },
|
|
292
|
+
_keyboardActive: { type: Boolean },
|
|
293
|
+
_keyboardTextInfo: { type: Object }
|
|
294
|
+
};
|
|
297
295
|
|
|
298
296
|
static get styles() {
|
|
299
|
-
const styles = [
|
|
297
|
+
const styles = [css`
|
|
300
298
|
:host {
|
|
301
299
|
display: block;
|
|
302
300
|
position: relative;
|
|
@@ -47,91 +47,87 @@ export const resetDisplayedTooltip = () => {
|
|
|
47
47
|
*/
|
|
48
48
|
class ListItemDragHandle extends LocalizeCoreElement(FocusMixin(LitElement)) {
|
|
49
49
|
|
|
50
|
-
static
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
d2l-button-move {
|
|
125
|
-
pointer-events: auto; /* required since ancestors may set point-events: none; (see generic layout) */
|
|
126
|
-
}
|
|
50
|
+
static properties = {
|
|
51
|
+
/**
|
|
52
|
+
* Disables the handle
|
|
53
|
+
* @type {boolean}
|
|
54
|
+
*/
|
|
55
|
+
disabled: { type: Boolean, reflect: true },
|
|
56
|
+
/**
|
|
57
|
+
* Additional context information for accessibility
|
|
58
|
+
* @type {object}
|
|
59
|
+
*/
|
|
60
|
+
keyboardTextInfo: { type: Object, attribute: 'keyboard-text-info' },
|
|
61
|
+
/**
|
|
62
|
+
* The drag-handle label for assistive technology
|
|
63
|
+
* @type {string}
|
|
64
|
+
*/
|
|
65
|
+
text: { type: String },
|
|
66
|
+
/**
|
|
67
|
+
* When layout = tile, the drag handle become horizontal
|
|
68
|
+
*/
|
|
69
|
+
layout: { type: String },
|
|
70
|
+
_displayKeyboardTooltip: { type: Boolean },
|
|
71
|
+
_keyboardActive: { type: Boolean }
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
static styles = [buttonStyles, css`
|
|
75
|
+
:host {
|
|
76
|
+
display: flex;
|
|
77
|
+
margin: 0.25rem;
|
|
78
|
+
}
|
|
79
|
+
:host([hidden]) {
|
|
80
|
+
display: none;
|
|
81
|
+
}
|
|
82
|
+
.d2l-list-item-drag-handle-dragger-button {
|
|
83
|
+
background-color: unset;
|
|
84
|
+
display: block;
|
|
85
|
+
margin: 0;
|
|
86
|
+
min-height: 1.8rem;
|
|
87
|
+
padding: 0;
|
|
88
|
+
width: 0.9rem;
|
|
89
|
+
}
|
|
90
|
+
/* Firefox includes a hidden border which messes up button dimensions */
|
|
91
|
+
button::-moz-focus-inner {
|
|
92
|
+
border: 0;
|
|
93
|
+
}
|
|
94
|
+
.d2l-button-dragger-icon {
|
|
95
|
+
height: 0.9rem;
|
|
96
|
+
width: 0.9rem;
|
|
97
|
+
}
|
|
98
|
+
button,
|
|
99
|
+
button[disabled]:hover,
|
|
100
|
+
button[disabled]:focus {
|
|
101
|
+
background-color: var(--d2l-color-gypsum);
|
|
102
|
+
color: var(--d2l-color-ferrite);
|
|
103
|
+
}
|
|
104
|
+
.d2l-list-item-drag-handle-dragger-button:hover,
|
|
105
|
+
.d2l-list-item-drag-handle-dragger-button:focus {
|
|
106
|
+
background-color: var(--d2l-color-mica);
|
|
107
|
+
}
|
|
108
|
+
button[disabled] {
|
|
109
|
+
cursor: default;
|
|
110
|
+
opacity: 0.5;
|
|
111
|
+
}
|
|
112
|
+
d2l-tooltip > div {
|
|
113
|
+
font-weight: 700;
|
|
114
|
+
}
|
|
115
|
+
d2l-tooltip > ul {
|
|
116
|
+
padding-inline-start: 1rem;
|
|
117
|
+
}
|
|
118
|
+
.d2l-list-item-drag-handle-tooltip-key {
|
|
119
|
+
font-weight: 700;
|
|
120
|
+
}
|
|
121
|
+
d2l-button-move {
|
|
122
|
+
pointer-events: auto; /* required since ancestors may set point-events: none; (see generic layout) */
|
|
123
|
+
}
|
|
127
124
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
}
|
|
125
|
+
:host([layout="tile"]) {
|
|
126
|
+
align-items: center;
|
|
127
|
+
display: flex;
|
|
128
|
+
height: 39px;
|
|
129
|
+
}
|
|
130
|
+
`];
|
|
135
131
|
|
|
136
132
|
constructor() {
|
|
137
133
|
super();
|
|
@@ -8,88 +8,84 @@ import { SkeletonMixin } from '../skeleton/skeleton-mixin.js';
|
|
|
8
8
|
|
|
9
9
|
class ListItemDragImage extends LocalizeCoreElement(SkeletonMixin(LitElement)) {
|
|
10
10
|
|
|
11
|
-
static
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
};
|
|
19
|
-
}
|
|
11
|
+
static properties = {
|
|
12
|
+
/**
|
|
13
|
+
* @ignore
|
|
14
|
+
*/
|
|
15
|
+
count: { type: Number },
|
|
16
|
+
includePlusSign: { type: Boolean, attribute: 'include-plus-sign' }
|
|
17
|
+
};
|
|
20
18
|
|
|
21
|
-
static
|
|
22
|
-
|
|
23
|
-
:
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
:
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
`];
|
|
92
|
-
}
|
|
19
|
+
static styles = [super.styles, bodySmallStyles, css`
|
|
20
|
+
:host {
|
|
21
|
+
display: block;
|
|
22
|
+
height: 70px;
|
|
23
|
+
inset-inline-start: -10000px;
|
|
24
|
+
position: absolute;
|
|
25
|
+
width: 340px;
|
|
26
|
+
z-index: 0;
|
|
27
|
+
}
|
|
28
|
+
:host([hidden]) {
|
|
29
|
+
display: none;
|
|
30
|
+
}
|
|
31
|
+
.first, .second, .third {
|
|
32
|
+
background-color: white;
|
|
33
|
+
border: 1px solid var(--d2l-color-mica);
|
|
34
|
+
border-radius: 4px;
|
|
35
|
+
box-sizing: border-box;
|
|
36
|
+
height: 100%;
|
|
37
|
+
position: absolute;
|
|
38
|
+
width: 100%;
|
|
39
|
+
}
|
|
40
|
+
.first {
|
|
41
|
+
align-items: start;
|
|
42
|
+
display: flex;
|
|
43
|
+
padding: 16px 8px;
|
|
44
|
+
}
|
|
45
|
+
.second {
|
|
46
|
+
margin-inline-start: 6px;
|
|
47
|
+
margin-top: 6px;
|
|
48
|
+
z-index: -1;
|
|
49
|
+
}
|
|
50
|
+
.third {
|
|
51
|
+
margin-inline-start: 12px;
|
|
52
|
+
margin-top: 12px;
|
|
53
|
+
z-index: -2;
|
|
54
|
+
}
|
|
55
|
+
.text {
|
|
56
|
+
width: 100%;
|
|
57
|
+
}
|
|
58
|
+
.line-1 {
|
|
59
|
+
height: 24px;
|
|
60
|
+
margin-bottom: 4px;
|
|
61
|
+
width: 100%;
|
|
62
|
+
}
|
|
63
|
+
.line-2 {
|
|
64
|
+
height: 16px;
|
|
65
|
+
width: 25%;
|
|
66
|
+
}
|
|
67
|
+
d2l-input-checkbox {
|
|
68
|
+
line-height: 0;
|
|
69
|
+
margin: 0;
|
|
70
|
+
margin-inline-start: 16px;
|
|
71
|
+
}
|
|
72
|
+
.count {
|
|
73
|
+
background-color: var(--d2l-color-celestine);
|
|
74
|
+
border-radius: 0.7rem;
|
|
75
|
+
box-sizing: border-box;
|
|
76
|
+
color: white;
|
|
77
|
+
left: 26px;
|
|
78
|
+
min-width: 1.4rem;
|
|
79
|
+
padding: 0.25rem 0.4rem;
|
|
80
|
+
position: absolute;
|
|
81
|
+
text-align: center;
|
|
82
|
+
top: 30px;
|
|
83
|
+
z-index: 998; /* must be higher than the skeleton z-index */
|
|
84
|
+
}
|
|
85
|
+
.count:dir(rtl) {
|
|
86
|
+
left: 14px;
|
|
87
|
+
}
|
|
88
|
+
`];
|
|
93
89
|
|
|
94
90
|
constructor() {
|
|
95
91
|
super();
|
|
@@ -10,26 +10,24 @@ const dragHoverDropTime = 1000;
|
|
|
10
10
|
|
|
11
11
|
export const ListItemExpandCollapseMixin = superclass => class extends SkeletonMixin(superclass) {
|
|
12
12
|
|
|
13
|
-
static
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
};
|
|
29
|
-
}
|
|
13
|
+
static properties = {
|
|
14
|
+
/**
|
|
15
|
+
* Whether to show the expand collapse toggle
|
|
16
|
+
* @type {boolean}
|
|
17
|
+
*/
|
|
18
|
+
expandable: { type: Boolean },
|
|
19
|
+
/**
|
|
20
|
+
* Default state for expand collapse toggle - if not set, collapsed will be the default state
|
|
21
|
+
* @type {boolean}
|
|
22
|
+
*/
|
|
23
|
+
expanded: { type: Boolean, reflect: true },
|
|
24
|
+
_siblingHasNestedItems: { state: true },
|
|
25
|
+
_renderExpandCollapseSlot: { type: Boolean, reflect: true, attribute: '_render-expand-collapse-slot' },
|
|
26
|
+
_showNestedLoadingSpinner: { state: true }
|
|
27
|
+
};
|
|
30
28
|
|
|
31
29
|
static get styles() {
|
|
32
|
-
const styles = [
|
|
30
|
+
const styles = [css`
|
|
33
31
|
:host {
|
|
34
32
|
--d2l-expand-collapse-slot-transition-duration: 0.3s;
|
|
35
33
|
}
|
|
@@ -66,7 +64,7 @@ export const ListItemExpandCollapseMixin = superclass => class extends SkeletonM
|
|
|
66
64
|
transition: width var(--d2l-expand-collapse-slot-transition-duration) cubic-bezier(0, 0.7, 0.5, 1);
|
|
67
65
|
}
|
|
68
66
|
}
|
|
69
|
-
`
|
|
67
|
+
`];
|
|
70
68
|
|
|
71
69
|
super.styles && styles.unshift(super.styles);
|
|
72
70
|
return styles;
|