@brightspace-ui/labs 2.56.0 → 2.56.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.
Files changed (51) hide show
  1. package/demo/components/ou-filter/ouFilterDemoPage.js +14 -16
  2. package/package.json +4 -3
  3. package/src/components/accessibility-disability-simulator/accessibility-disability-simulator.js +70 -74
  4. package/src/components/accordion/accordion-collapse.js +161 -164
  5. package/src/components/accordion/accordion.js +14 -17
  6. package/src/components/attribute-picker/attribute-picker-item.js +63 -66
  7. package/src/components/attribute-picker/attribute-picker.js +116 -121
  8. package/src/components/card-overlay/card-overlay.js +53 -55
  9. package/src/components/checkbox-drawer/checkbox-drawer.js +32 -36
  10. package/src/components/community/community-base.js +3 -5
  11. package/src/components/community/community-button.js +3 -5
  12. package/src/components/community/community-link.js +4 -6
  13. package/src/components/file-uploader/file-uploader.js +148 -151
  14. package/src/components/grade-result/grade-result-icon-button.js +5 -6
  15. package/src/components/grade-result/grade-result-letter-score.js +18 -22
  16. package/src/components/grade-result/grade-result-numeric-score.js +25 -28
  17. package/src/components/grade-result/grade-result-presentational.js +133 -136
  18. package/src/components/grade-result/grade-result-student-grade-preview.js +38 -42
  19. package/src/components/media-player/media-player-audio-bars.js +28 -31
  20. package/src/components/media-player/media-player.js +503 -487
  21. package/src/components/media-player/slider-bar.js +119 -122
  22. package/src/components/navigation/navigation-band.js +69 -71
  23. package/src/components/navigation/navigation-button-icon.js +51 -55
  24. package/src/components/navigation/navigation-dropdown-button-custom.js +13 -17
  25. package/src/components/navigation/navigation-dropdown-button-icon.js +21 -25
  26. package/src/components/navigation/navigation-immersive.js +128 -132
  27. package/src/components/navigation/navigation-iterator.js +21 -25
  28. package/src/components/navigation/navigation-link-back.js +13 -17
  29. package/src/components/navigation/navigation-link-icon.js +36 -40
  30. package/src/components/navigation/navigation-link-image.js +31 -35
  31. package/src/components/navigation/navigation-link.js +34 -38
  32. package/src/components/navigation/navigation-main-footer.js +7 -9
  33. package/src/components/navigation/navigation-main-header.js +34 -36
  34. package/src/components/navigation/navigation-notification-icon.js +30 -34
  35. package/src/components/navigation/navigation.js +19 -23
  36. package/src/components/opt-in-flyout/flyout-impl.js +138 -146
  37. package/src/components/opt-in-flyout/opt-in-flyout.js +14 -18
  38. package/src/components/opt-in-flyout/opt-out-dialog.js +63 -67
  39. package/src/components/opt-in-flyout/opt-out-flyout.js +15 -19
  40. package/src/components/opt-in-flyout/opt-out-reason-selector.js +38 -45
  41. package/src/components/opt-in-flyout/opt-out-reason.js +9 -13
  42. package/src/components/ou-filter/ou-filter.js +14 -18
  43. package/src/components/ou-filter/tree-filter.js +22 -26
  44. package/src/components/ou-filter/tree-selector-node.js +62 -66
  45. package/src/components/ou-filter/tree-selector.js +55 -62
  46. package/src/components/pagination/pager-numeric.js +35 -39
  47. package/src/components/view-toggle/view-toggle.js +79 -81
  48. package/src/components/wizard/single-step-header.js +106 -110
  49. package/src/components/wizard/wizard-step.js +65 -68
  50. package/src/components/wizard/wizard.js +30 -33
  51. package/src/utilities/reactive-store/README.md +10 -15
@@ -6,73 +6,70 @@ import { bodyCompactStyles } from '@brightspace-ui/core/components/typography/st
6
6
  import { LocalizeLabsElement } from '../localize-labs-element.js';
7
7
 
8
8
  class AttributePickerItem extends LocalizeLabsElement(LitElement) {
9
- static get properties() {
10
- return {
11
- deletable: { type: Boolean, reflect: true },
12
- text: { type: String }
13
- };
14
- }
15
9
 
16
- static get styles() {
17
- return [bodyCompactStyles, css`
18
- :host {
19
- cursor: pointer;
20
- display: inline-block;
21
- width: max-content;
22
- }
23
- :host(:focus-visible) {
24
- outline: none;
25
- }
26
- .d2l-labs-attribute-picker-item-wrapper {
27
- align-items: center;
28
- background-color: var(--d2l-color-sylvite);
29
- border: 1px solid var(--d2l-color-gypsum);
30
- border-radius: 0.3rem;
31
- display: flex;
32
- gap: 0.2rem;
33
- padding: 0.25rem;
34
- padding-inline: 0.5rem;
35
- user-select: none;
36
- }
37
- :host([deletable]) .d2l-labs-attribute-picker-item-wrapper {
38
- padding-inline: 0.5rem 0.1rem;
39
- padding-bottom: 0.15rem;
40
- padding-top: 0.1rem;
41
- }
42
- :host(:hover) .d2l-labs-attribute-picker-item-wrapper {
43
- background-color: var(--d2l-color-gypsum);
44
- border-color: var(--d2l-color-mica);
45
- color: var(--d2l-color-ferrite);
46
- }
47
- :host(:focus) .d2l-labs-attribute-picker-item-wrapper {
48
- background-color: var(--d2l-color-celestine);
49
- border: 1px solid var(--d2l-color-celestine-minus-1);
50
- color: var(--d2l-color-regolith);
51
- }
52
- .d2l-labs-attribute-picker-item-text {
53
- -webkit-box-orient: vertical;
54
- display: -webkit-box;
55
- -webkit-line-clamp: 1;
56
- line-height: normal;
57
- max-width: 18rem;
58
- overflow: hidden;
59
- text-overflow: ellipsis;
60
- word-break: break-all;
61
- }
62
- d2l-button-icon {
63
- --d2l-button-icon-background-color-hover: var(--d2l-color-mica);
64
- --d2l-button-icon-fill-color: var(--d2l-color-chromite);
65
- --d2l-button-icon-fill-color-hover: var(--d2l-color-tungsten);
66
- --d2l-button-icon-min-height: 1.2rem;
67
- --d2l-button-icon-min-width: 1.2rem;
68
- }
69
- :host(:focus) d2l-button-icon {
70
- --d2l-button-icon-background-color-hover: var(--d2l-color-celestine-plus-1);
71
- --d2l-button-icon-fill-color: var(--d2l-color-mica);
72
- --d2l-button-icon-fill-color-hover: var(--d2l-color-sylvite);
73
- }
74
- `];
75
- }
10
+ static properties = {
11
+ deletable: { type: Boolean, reflect: true },
12
+ text: { type: String }
13
+ };
14
+
15
+ static styles = [bodyCompactStyles, css`
16
+ :host {
17
+ cursor: pointer;
18
+ display: inline-block;
19
+ width: max-content;
20
+ }
21
+ :host(:focus-visible) {
22
+ outline: none;
23
+ }
24
+ .d2l-labs-attribute-picker-item-wrapper {
25
+ align-items: center;
26
+ background-color: var(--d2l-color-sylvite);
27
+ border: 1px solid var(--d2l-color-gypsum);
28
+ border-radius: 0.3rem;
29
+ display: flex;
30
+ gap: 0.2rem;
31
+ padding: 0.25rem;
32
+ padding-inline: 0.5rem;
33
+ user-select: none;
34
+ }
35
+ :host([deletable]) .d2l-labs-attribute-picker-item-wrapper {
36
+ padding-inline: 0.5rem 0.1rem;
37
+ padding-bottom: 0.15rem;
38
+ padding-top: 0.1rem;
39
+ }
40
+ :host(:hover) .d2l-labs-attribute-picker-item-wrapper {
41
+ background-color: var(--d2l-color-gypsum);
42
+ border-color: var(--d2l-color-mica);
43
+ color: var(--d2l-color-ferrite);
44
+ }
45
+ :host(:focus) .d2l-labs-attribute-picker-item-wrapper {
46
+ background-color: var(--d2l-color-celestine);
47
+ border: 1px solid var(--d2l-color-celestine-minus-1);
48
+ color: var(--d2l-color-regolith);
49
+ }
50
+ .d2l-labs-attribute-picker-item-text {
51
+ -webkit-box-orient: vertical;
52
+ display: -webkit-box;
53
+ -webkit-line-clamp: 1;
54
+ line-height: normal;
55
+ max-width: 18rem;
56
+ overflow: hidden;
57
+ text-overflow: ellipsis;
58
+ word-break: break-all;
59
+ }
60
+ d2l-button-icon {
61
+ --d2l-button-icon-background-color-hover: var(--d2l-color-mica);
62
+ --d2l-button-icon-fill-color: var(--d2l-color-chromite);
63
+ --d2l-button-icon-fill-color-hover: var(--d2l-color-tungsten);
64
+ --d2l-button-icon-min-height: 1.2rem;
65
+ --d2l-button-icon-min-width: 1.2rem;
66
+ }
67
+ :host(:focus) d2l-button-icon {
68
+ --d2l-button-icon-background-color-hover: var(--d2l-color-celestine-plus-1);
69
+ --d2l-button-icon-fill-color: var(--d2l-color-mica);
70
+ --d2l-button-icon-fill-color-hover: var(--d2l-color-sylvite);
71
+ }
72
+ `];
76
73
 
77
74
  constructor() {
78
75
  super();
@@ -19,141 +19,136 @@ const keyCodes = {
19
19
  };
20
20
 
21
21
  class AttributePicker extends ArrowKeysMixin(LocalizeLabsElement(LitElement)) {
22
- static get properties() {
23
- return {
24
- /* When true, the user can manually enter any attribute they wish. If false, they must match a value from the dropdown. */
25
- allowFreeform: { type: Boolean, attribute: 'allow-freeform', reflect: true },
26
22
 
27
- /* An array of strings available in the dropdown list */
28
- assignableAttributes: { type: Array, attribute: 'assignable-attributes', reflect: true },
23
+ static properties = {
24
+ /* When true, the user can manually enter any attribute they wish. If false, they must match a value from the dropdown. */
25
+ allowFreeform: { type: Boolean, attribute: 'allow-freeform', reflect: true },
29
26
 
30
- /* An array of strings representing the attributes currently selected in the picker */
31
- attributeList: { type: Array, attribute: 'attribute-list', reflect: true },
27
+ /* An array of strings available in the dropdown list */
28
+ assignableAttributes: { type: Array, attribute: 'assignable-attributes', reflect: true },
32
29
 
33
- /*
34
- The text that will appear in the tooltip that informs a user that the state is invalid
35
- The default value is: 'At least one attribute must be set'
36
- */
37
- invalidTooltipText: { type: String, attribute: 'invalid-tooltip-text', reflect: true },
30
+ /* An array of strings representing the attributes currently selected in the picker */
31
+ attributeList: { type: Array, attribute: 'attribute-list', reflect: true },
38
32
 
39
- /* Required. The label associated with the attribute picker for screen reader users */
40
- label: { type: String, reflect: true },
33
+ /*
34
+ The text that will appear in the tooltip that informs a user that the state is invalid
35
+ The default value is: 'At least one attribute must be set'
36
+ */
37
+ invalidTooltipText: { type: String, attribute: 'invalid-tooltip-text', reflect: true },
41
38
 
42
- /* The maximum number of attributes permitted. */
43
- limit: { type: Number, attribute: 'limit', reflect: true },
39
+ /* Required. The label associated with the attribute picker for screen reader users */
40
+ label: { type: String, reflect: true },
44
41
 
45
- /* When true, an error state will appear if no attributes are set */
46
- required: { type: Boolean, attribute: 'required', reflect: true },
42
+ /* The maximum number of attributes permitted. */
43
+ limit: { type: Number, attribute: 'limit', reflect: true },
47
44
 
48
- /* Represents the index of the currently focused attribute. If no attribute is focused, equals -1 */
49
- _activeAttributeIndex: { state: true },
45
+ /* When true, an error state will appear if no attributes are set */
46
+ required: { type: Boolean, attribute: 'required', reflect: true },
50
47
 
51
- /* Represents the index of the currently focused dropdown list item. If no item is focused, equals -1 */
52
- _dropdownIndex: { state: true },
48
+ /* Represents the index of the currently focused attribute. If no attribute is focused, equals -1 */
49
+ _activeAttributeIndex: { state: true },
53
50
 
54
- /* When true, the user currently has focus within the component */
55
- _hasFocus: { state: true },
51
+ /* Represents the index of the currently focused dropdown list item. If no item is focused, equals -1 */
52
+ _dropdownIndex: { state: true },
56
53
 
57
- /* When true, the user has yet to lose focus for the first time, meaning the validation won't be shown until they've lost focus for the first time */
58
- _initialFocus: { state: true },
54
+ /* When true, the user currently has focus within the component */
55
+ _hasFocus: { state: true },
59
56
 
60
- /* When true, the user currently has focus within the input */
61
- _inputFocused: { state: true },
57
+ /* When true, the user has yet to lose focus for the first time, meaning the validation won't be shown until they've lost focus for the first time */
58
+ _initialFocus: { state: true },
62
59
 
63
- /* When true, the user has reached the limit of attributes that can be added */
64
- _limitReached: { state: true },
60
+ /* When true, the user currently has focus within the input */
61
+ _inputFocused: { state: true },
65
62
 
66
- /* The inner text of the input */
67
- _text: { state: true }
68
- };
69
- }
63
+ /* When true, the user has reached the limit of attributes that can be added */
64
+ _limitReached: { state: true },
70
65
 
71
- static get styles() {
72
- return [inputStyles, css`
73
- :host {
74
- display: inline-block;
75
- font-size: 0.8rem;
76
- width: 100%;
77
- }
78
- :host:disabled {
79
- opacity: 0.5;
80
- }
81
- :host([hidden]) {
82
- display: none;
83
- }
84
- .d2l-attribute-picker-container {
85
- padding: 5px;
86
- }
87
- .d2l-attribute-picker-container:hover,
88
- .d2l-attribute-picker-container:focus-within {
89
- padding: 4px;
90
- }
91
- .d2l-attribute-picker-container:focus-within {
92
- border: 2px solid var(--d2l-color-celestine);
93
- }
94
- [aria-invalid="true"].d2l-attribute-picker-container:focus-within {
95
- border-color: var(--d2l-color-cinnabar);
96
- }
97
- .d2l-attribute-picker-content {
98
- display: flex;
99
- flex-wrap: wrap;
100
- gap: 0.2rem;
101
- }
102
- .d2l-attribute-picker-attribute {
103
- height: 1.55rem;
104
- }
105
- .d2l-attribute-picker-attribute:focus-visible {
106
- outline: none;
107
- }
108
- .d2l-attribute-picker-input {
109
- background: transparent;
110
- border: none;
111
- box-shadow: none;
112
- box-sizing: border-box;
113
- flex-grow: 1;
114
- font-family: inherit;
115
- font-size: inherit;
116
- min-height: 1.55rem;
117
- outline: none;
118
- padding: 0 !important;
119
- width: 4rem;
120
- }
121
- .d2l-attribute-list {
122
- background-color: white;
123
- border: 1px solid var(--d2l-color-gypsum);
124
- border-radius: 0.3rem;
125
- max-height: 7.8rem;
126
- overflow-y: auto;
127
- padding-left: 0;
128
- text-overflow: ellipsis;
129
- }
130
- .d2l-attribute-picker-li {
131
- cursor: pointer;
132
- margin: 0;
133
- padding: 0.4rem 6rem 0.4rem 0.6rem;
134
- }
135
- .d2l-attribute-picker-li[aria-selected="true"] {
136
- background-color: var(--d2l-color-celestine-plus-2);
137
- color: var(--d2l-color-celestine);
138
- }
139
- .d2l-attribute-picker-absolute-container {
140
- margin: 0 0.3rem 0 -0.3rem;
141
- position: absolute;
142
- width: 100%;
143
- z-index: 1;
144
- }
145
- .d2l-input-text-invalid-icon {
146
- background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgIDxwYXRoIGZpbGw9IiNGRkYiIGQ9Ik0wIDBoMjJ2MjJIMHoiLz4KICAgIDxwYXRoIGQ9Ik0xOC44NjQgMTYuNDdMMTIuNjIzIDMuOTg5YTEuNzgzIDEuNzgzIDAgMDAtMy4xOTIgMEwzLjE4OSAxNi40N2ExLjc2MSAxLjc2MSAwIDAwLjA4IDEuNzNjLjMyNS41MjUuODk4Ljc5OCAxLjUxNi43OTloMTIuNDgzYy42MTggMCAxLjE5Mi0uMjczIDEuNTE2LS44LjIzNy0uMzM1LjI2NS0xLjM3LjA4LTEuNzN6IiBmaWxsPSIjQ0QyMDI2IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz4KICAgIDxwYXRoIGQ9Ik0xMS4wMjcgMTcuMjY0YTEuMzM3IDEuMzM3IDAgMTEwLTIuNjc1IDEuMzM3IDEuMzM3IDAgMDEwIDIuNjc1ek0xMS45IDEyLjk4YS44OTIuODkyIDAgMDEtMS43NDcgMEw5LjI3IDguNTJhLjg5Mi44OTIgMCAwMS44NzQtMS4wNjRoMS43NjhhLjg5Mi44OTIgMCAwMS44NzQgMS4wNjVsLS44ODYgNC40NTh6IiBmaWxsPSIjRkZGIi8+CiAgPC9nPgo8L3N2Zz4K");
147
- display: flex;
148
- height: 22px;
149
- inset-inline-end: 8px;
150
- position: absolute;
151
- top: 50%;
152
- transform: translateY(-50%);
153
- width: 22px;
154
- }
155
- `];
156
- }
66
+ /* The inner text of the input */
67
+ _text: { state: true }
68
+ };
69
+
70
+ static styles = [inputStyles, css`
71
+ :host {
72
+ display: inline-block;
73
+ font-size: 0.8rem;
74
+ width: 100%;
75
+ }
76
+ :host:disabled {
77
+ opacity: 0.5;
78
+ }
79
+ :host([hidden]) {
80
+ display: none;
81
+ }
82
+ .d2l-attribute-picker-container {
83
+ --d2l-input-padding: 5px;
84
+ --d2l-input-padding-focus: 4px;
85
+ }
86
+ .d2l-attribute-picker-container:focus-within {
87
+ border: 2px solid var(--d2l-color-celestine);
88
+ padding: var(--d2l-input-padding-focus);
89
+ }
90
+ [aria-invalid="true"].d2l-attribute-picker-container:focus-within {
91
+ border-color: var(--d2l-color-cinnabar);
92
+ }
93
+ .d2l-attribute-picker-content {
94
+ display: flex;
95
+ flex-wrap: wrap;
96
+ gap: 0.2rem;
97
+ }
98
+ .d2l-attribute-picker-attribute {
99
+ height: 1.55rem;
100
+ }
101
+ .d2l-attribute-picker-attribute:focus-visible {
102
+ outline: none;
103
+ }
104
+ .d2l-attribute-picker-input {
105
+ background: transparent;
106
+ border: none;
107
+ box-shadow: none;
108
+ box-sizing: border-box;
109
+ flex-grow: 1;
110
+ font-family: inherit;
111
+ font-size: inherit;
112
+ min-height: 1.55rem;
113
+ outline: none;
114
+ padding: 0 !important;
115
+ width: 4rem;
116
+ }
117
+ .d2l-attribute-list {
118
+ background-color: white;
119
+ border: 1px solid var(--d2l-color-gypsum);
120
+ border-radius: 0.3rem;
121
+ max-height: 7.8rem;
122
+ overflow-y: auto;
123
+ padding-left: 0;
124
+ text-overflow: ellipsis;
125
+ }
126
+ .d2l-attribute-picker-li {
127
+ cursor: pointer;
128
+ margin: 0;
129
+ padding: 0.4rem 6rem 0.4rem 0.6rem;
130
+ }
131
+ .d2l-attribute-picker-li[aria-selected="true"] {
132
+ background-color: var(--d2l-color-celestine-plus-2);
133
+ color: var(--d2l-color-celestine);
134
+ }
135
+ .d2l-attribute-picker-absolute-container {
136
+ margin: 0 0.3rem 0 -0.3rem;
137
+ position: absolute;
138
+ width: 100%;
139
+ z-index: 1;
140
+ }
141
+ .d2l-input-text-invalid-icon {
142
+ background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgIDxwYXRoIGZpbGw9IiNGRkYiIGQ9Ik0wIDBoMjJ2MjJIMHoiLz4KICAgIDxwYXRoIGQ9Ik0xOC44NjQgMTYuNDdMMTIuNjIzIDMuOTg5YTEuNzgzIDEuNzgzIDAgMDAtMy4xOTIgMEwzLjE4OSAxNi40N2ExLjc2MSAxLjc2MSAwIDAwLjA4IDEuNzNjLjMyNS41MjUuODk4Ljc5OCAxLjUxNi43OTloMTIuNDgzYy42MTggMCAxLjE5Mi0uMjczIDEuNTE2LS44LjIzNy0uMzM1LjI2NS0xLjM3LjA4LTEuNzN6IiBmaWxsPSIjQ0QyMDI2IiBmaWxsLXJ1bGU9Im5vbnplcm8iLz4KICAgIDxwYXRoIGQ9Ik0xMS4wMjcgMTcuMjY0YTEuMzM3IDEuMzM3IDAgMTEwLTIuNjc1IDEuMzM3IDEuMzM3IDAgMDEwIDIuNjc1ek0xMS45IDEyLjk4YS44OTIuODkyIDAgMDEtMS43NDcgMEw5LjI3IDguNTJhLjg5Mi44OTIgMCAwMS44NzQtMS4wNjRoMS43NjhhLjg5Mi44OTIgMCAwMS44NzQgMS4wNjVsLS44ODYgNC40NTh6IiBmaWxsPSIjRkZGIi8+CiAgPC9nPgo8L3N2Zz4K");
143
+ display: flex;
144
+ height: 22px;
145
+ inset-inline-end: 8px;
146
+ position: absolute;
147
+ top: 50%;
148
+ transform: translateY(-50%);
149
+ width: 22px;
150
+ }
151
+ `];
157
152
 
158
153
  constructor() {
159
154
  super();
@@ -4,61 +4,59 @@ import { SkeletonMixin } from '@brightspace-ui/core/components/skeleton/skeleton
4
4
 
5
5
  class CardOverlay extends SkeletonMixin(LitElement) {
6
6
 
7
- static get styles() {
8
- return [super.styles, bodyStandardStyles, css`
9
- :host {
10
- display: block;
11
- left: 0;
12
- position: absolute;
13
- top: 0;
14
- }
15
- :host([skeleton]) {
16
- height: 100%;
17
- width: 100%;
18
- }
19
- :host([hidden]) {
20
- display: none;
21
- }
22
- .d2l-insights-card-overlay-container {
23
- background-color: white;
24
- border-radius: 15px;
25
- display: flex;
26
- flex-direction: column;
27
- height: calc(100% - 20px);
28
- justify-content: center;
29
- padding-left: 7px;
30
- padding-top: 20px;
31
- width: calc(100% - 28px);
32
- }
33
- .d2l-insights-card-overlay-title {
34
- margin-left: 15px;
35
- margin-right: 15px;
36
- margin-top: 10px;
37
- width: 100%;
38
- }
39
- .d2l-insights-card-overlay-body {
40
- align-items: center;
41
- display: flex;
42
- height: 100%;
43
- margin-bottom: 25px;
44
- }
45
- .d2l-insights-card-overlay-body > div {
46
- flex-shrink: 0;
47
- height: 70px;
48
- margin: 0 15px;
49
- width: 70px;
50
- }
51
- .d2l-insights-card-overlay-message {
52
- display: inline-block;
53
- font-size: 14px;
54
- line-height: 1rem;
55
- margin: 10px;
56
- margin-left: 5px;
57
- margin-right: 0;
58
- vertical-align: middle;
59
- }
60
- `];
61
- }
7
+ static styles = [super.styles, bodyStandardStyles, css`
8
+ :host {
9
+ display: block;
10
+ left: 0;
11
+ position: absolute;
12
+ top: 0;
13
+ }
14
+ :host([skeleton]) {
15
+ height: 100%;
16
+ width: 100%;
17
+ }
18
+ :host([hidden]) {
19
+ display: none;
20
+ }
21
+ .d2l-insights-card-overlay-container {
22
+ background-color: white;
23
+ border-radius: 15px;
24
+ display: flex;
25
+ flex-direction: column;
26
+ height: calc(100% - 20px);
27
+ justify-content: center;
28
+ padding-left: 7px;
29
+ padding-top: 20px;
30
+ width: calc(100% - 28px);
31
+ }
32
+ .d2l-insights-card-overlay-title {
33
+ margin-left: 15px;
34
+ margin-right: 15px;
35
+ margin-top: 10px;
36
+ width: 100%;
37
+ }
38
+ .d2l-insights-card-overlay-body {
39
+ align-items: center;
40
+ display: flex;
41
+ height: 100%;
42
+ margin-bottom: 25px;
43
+ }
44
+ .d2l-insights-card-overlay-body > div {
45
+ flex-shrink: 0;
46
+ height: 70px;
47
+ margin: 0 15px;
48
+ width: 70px;
49
+ }
50
+ .d2l-insights-card-overlay-message {
51
+ display: inline-block;
52
+ font-size: 14px;
53
+ line-height: 1rem;
54
+ margin: 10px;
55
+ margin-left: 5px;
56
+ margin-right: 0;
57
+ vertical-align: middle;
58
+ }
59
+ `];
62
60
 
63
61
  render() {
64
62
  if (!this.skeleton) {
@@ -10,47 +10,43 @@ import { SkeletonMixin } from '@brightspace-ui/core/components/skeleton/skeleton
10
10
 
11
11
  class CheckboxDrawer extends LocalizeLabsElement(SkeletonMixin(LitElement)) {
12
12
 
13
- static get properties() {
14
- return {
15
- checked: { type: Boolean },
16
- description: { type: String },
17
- disabled: { type: Boolean },
18
- disabledTooltip: { type: String, attribute: 'disabled-tooltip' },
19
- label: { type: String },
20
- readOnly: { type: Boolean, attribute: 'read-only' },
21
- _expandCollapseBusy: { state: true }
22
- };
23
- }
13
+ static properties = {
14
+ checked: { type: Boolean },
15
+ description: { type: String },
16
+ disabled: { type: Boolean },
17
+ disabledTooltip: { type: String, attribute: 'disabled-tooltip' },
18
+ label: { type: String },
19
+ readOnly: { type: Boolean, attribute: 'read-only' },
20
+ _expandCollapseBusy: { state: true }
21
+ };
24
22
 
25
- static get styles() {
26
- return [super.styles, bodyCompactStyles, css`
27
- :host {
28
- display: block;
29
- }
23
+ static styles = [super.styles, bodyCompactStyles, css`
24
+ :host {
25
+ display: block;
26
+ }
30
27
 
31
- .d2l-input-checkbox {
32
- margin-bottom: 0;
33
- }
28
+ .d2l-input-checkbox {
29
+ margin-bottom: 0;
30
+ }
34
31
 
35
- .d2l-input-checkbox-description {
36
- color: var(--d2l-color-tungsten);
37
- font-size: 0.7rem;
38
- width: fit-content;
39
- }
32
+ .d2l-input-checkbox-description {
33
+ color: var(--d2l-color-tungsten);
34
+ font-size: 0.7rem;
35
+ width: fit-content;
36
+ }
40
37
 
41
- .d2l-checkbox-content-margin {
42
- margin-top: 18px;
43
- }
38
+ .d2l-checkbox-content-margin {
39
+ margin-top: 18px;
40
+ }
44
41
 
45
- .d2l-input-read-only-label {
46
- display: inline-block;
47
- margin-left: 0.5rem;
48
- }
49
- .d2l-input-read-only-spacer {
50
- padding-inline-start: 1.7rem;
51
- }
52
- `];
53
- }
42
+ .d2l-input-read-only-label {
43
+ display: inline-block;
44
+ margin-left: 0.5rem;
45
+ }
46
+ .d2l-input-read-only-spacer {
47
+ padding-inline-start: 1.7rem;
48
+ }
49
+ `];
54
50
 
55
51
  constructor() {
56
52
  super();
@@ -3,11 +3,9 @@ import { LanguageListenerController } from '../../controllers/language-listener/
3
3
 
4
4
  export const CommunityBase = (superClass) => class CommunityBaseMixin extends superClass {
5
5
 
6
- static get properties() {
7
- return {
8
- articleMap: { attribute: 'article-map', type: Object }
9
- };
10
- }
6
+ static properties = {
7
+ articleMap: { attribute: 'article-map', type: Object }
8
+ };
11
9
 
12
10
  constructor() {
13
11
  super();
@@ -4,11 +4,9 @@ import { CommunityBase } from './community-base.js';
4
4
 
5
5
  class CommunityLink extends CommunityBase(LitElement) {
6
6
 
7
- static get properties() {
8
- return {
9
- text: { type: String },
10
- };
11
- }
7
+ static properties = {
8
+ text: { type: String },
9
+ };
12
10
 
13
11
  render() {
14
12
  return html`<d2l-button-subtle
@@ -4,12 +4,10 @@ import { CommunityBase } from './community-base.js';
4
4
 
5
5
  class CommunityLink extends CommunityBase(LitElement) {
6
6
 
7
- static get properties() {
8
- return {
9
- text: { type: String },
10
- small: { type: Boolean }
11
- };
12
- }
7
+ static properties = {
8
+ text: { type: String },
9
+ small: { type: Boolean }
10
+ };
13
11
 
14
12
  render() {
15
13
  return html`<d2l-link target="_blank" href="${this.communityArticleDirective(this.langController.language)}" ?small=${this.small} >${this.text}</d2l-link>`;