@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
@@ -3,52 +3,50 @@ import { navigationSharedStyle } from './navigation-shared-styles.js';
3
3
 
4
4
  class NavigationMainHeader extends LitElement {
5
5
 
6
- static get styles() {
7
- return [navigationSharedStyle, css`
8
- :host {
9
- display: block;
10
- }
6
+ static styles = [navigationSharedStyle, css`
7
+ :host {
8
+ display: block;
9
+ }
10
+
11
+ .d2l-labs-navigation-header-container {
12
+ align-items: center;
13
+ display: flex;
14
+ height: 90px;
15
+ }
11
16
 
17
+ @media (max-width: 767px) {
12
18
  .d2l-labs-navigation-header-container {
13
- align-items: center;
14
- display: flex;
15
- height: 90px;
19
+ height: 72px;
16
20
  }
21
+ }
17
22
 
18
- @media (max-width: 767px) {
19
- .d2l-labs-navigation-header-container {
20
- height: 72px;
21
- }
22
- }
23
+ div ::slotted(.d2l-labs-navigation-header-left),
24
+ div ::slotted(.d2l-labs-navigation-header-right) {
25
+ align-items: center;
26
+ display: flex;
27
+ height: 100%;
28
+ }
23
29
 
24
- div ::slotted(.d2l-labs-navigation-header-left),
25
- div ::slotted(.d2l-labs-navigation-header-right) {
26
- align-items: center;
27
- display: flex;
28
- height: 100%;
29
- }
30
+ div ::slotted(.d2l-labs-navigation-header-left) {
31
+ flex: 0 1 auto;
32
+ }
30
33
 
31
- div ::slotted(.d2l-labs-navigation-header-left) {
32
- flex: 0 1 auto;
33
- }
34
+ div ::slotted(.d2l-labs-navigation-header-right) {
35
+ flex: 0 0 auto;
36
+ }
34
37
 
35
- div ::slotted(.d2l-labs-navigation-header-right) {
36
- flex: 0 0 auto;
37
- }
38
+ .d2l-labs-navigation-gutter {
39
+ display: inline-block;
40
+ flex: 1 1 auto;
41
+ min-width: var(--d2l-labs-navigation-margin-regular);
42
+ }
38
43
 
44
+ @media (max-width: 615px) {
39
45
  .d2l-labs-navigation-gutter {
40
- display: inline-block;
41
- flex: 1 1 auto;
42
- min-width: var(--d2l-labs-navigation-margin-regular);
43
- }
44
-
45
- @media (max-width: 615px) {
46
- .d2l-labs-navigation-gutter {
47
- min-width: var(--d2l-labs-navigation-margin-regular) / 2;
48
- }
46
+ min-width: var(--d2l-labs-navigation-margin-regular) / 2;
49
47
  }
50
- `];
51
- }
48
+ }
49
+ `];
52
50
 
53
51
  render() {
54
52
  return html`
@@ -4,41 +4,37 @@ import { RtlMixin } from '@brightspace-ui/core/mixins/rtl-mixin.js';
4
4
 
5
5
  class NavigationNotificationIcon extends RtlMixin(LitElement) {
6
6
 
7
- static get properties() {
8
- return {
9
- thinBorder: { attribute: 'thin-border', reflect: true, type: Boolean }
10
- };
11
- }
7
+ static properties = {
8
+ thinBorder: { attribute: 'thin-border', reflect: true, type: Boolean }
9
+ };
12
10
 
13
- static get styles() {
14
- return css`
15
- :host {
16
- display: inline-block;
17
- height: 100%;
18
- position: absolute;
19
- right: calc(-100% + 11px);
20
- top: calc(-50% + 11px);
21
- width: 100%;
22
- }
23
- :host([hidden]) {
24
- display: none;
25
- }
26
- :host([dir="rtl"]) {
27
- left: calc(-50% - 4px);
28
- right: auto;
29
- }
30
- .d2l-labs-navigation-notification-icon-indicator {
31
- background: var(--d2l-color-primary-accent-indicator);
32
- border: 2px solid white;
33
- border-radius: 50%;
34
- height: 10px;
35
- width: 10px;
36
- }
37
- :host([thin-border]) .d2l-labs-navigation-notification-icon-indicator {
38
- border-width: 1px;
39
- }
40
- `;
41
- }
11
+ static styles = css`
12
+ :host {
13
+ display: inline-block;
14
+ height: 100%;
15
+ position: absolute;
16
+ right: calc(-100% + 11px);
17
+ top: calc(-50% + 11px);
18
+ width: 100%;
19
+ }
20
+ :host([hidden]) {
21
+ display: none;
22
+ }
23
+ :host([dir="rtl"]) {
24
+ left: calc(-50% - 4px);
25
+ right: auto;
26
+ }
27
+ .d2l-labs-navigation-notification-icon-indicator {
28
+ background: var(--d2l-color-primary-accent-indicator);
29
+ border: 2px solid white;
30
+ border-radius: 50%;
31
+ height: 10px;
32
+ width: 10px;
33
+ }
34
+ :host([thin-border]) .d2l-labs-navigation-notification-icon-indicator {
35
+ border-width: 1px;
36
+ }
37
+ `;
42
38
 
43
39
  constructor() {
44
40
  super();
@@ -10,29 +10,25 @@ import { getNextFocusable } from '@brightspace-ui/core/helpers/focus.js';
10
10
  */
11
11
  class Navigation extends LitElement {
12
12
 
13
- static get properties() {
14
- return {
15
- hasSkipNav: { attribute: 'has-skip-nav', type: Boolean }
16
- };
17
- }
18
-
19
- static get styles() {
20
- return css`
21
- :host {
22
- display: block;
23
- position: relative;
24
- }
25
- .d2l-labs-navigation-shadow-drop-border {
26
- background-color: rgba(0, 0, 0, 0.02);
27
- bottom: -4px;
28
- display: var(--d2l-labs-navigation-shadow-drop-border-display, block);
29
- height: 4px;
30
- pointer-events: none;
31
- position: absolute;
32
- width: 100%;
33
- }
34
- `;
35
- }
13
+ static properties = {
14
+ hasSkipNav: { attribute: 'has-skip-nav', type: Boolean }
15
+ };
16
+
17
+ static styles = css`
18
+ :host {
19
+ display: block;
20
+ position: relative;
21
+ }
22
+ .d2l-labs-navigation-shadow-drop-border {
23
+ background-color: rgba(0, 0, 0, 0.02);
24
+ bottom: -4px;
25
+ display: var(--d2l-labs-navigation-shadow-drop-border-display, block);
26
+ height: 4px;
27
+ pointer-events: none;
28
+ position: absolute;
29
+ width: 100%;
30
+ }
31
+ `;
36
32
 
37
33
  constructor() {
38
34
  super();
@@ -21,173 +21,165 @@ class FlyoutImplementation extends composeMixins(
21
21
  LocalizeLabsElement
22
22
  ) {
23
23
 
24
- static get properties() {
25
- return {
26
- optOut: { type: Boolean, attribute: 'opt-out' },
27
- opened: { type: Boolean, reflect: true },
28
- flyoutTitle: { attribute: 'flyout-title', type: String },
29
- shortDescription: { type: String, attribute: 'short-description' },
30
- longDescription: { type: String, attribute: 'long-description' },
31
- tutorialLink: { type: String, attribute: 'tutorial-link' },
32
- helpDocsLink: { type: String, attribute: 'help-docs-link' },
33
- hideReason: { type: Boolean, attribute: 'hide-reason' },
34
- hideFeedback: { type: Boolean, attribute: 'hide-feedback' },
35
- _optOutDialogOpen: { state: true },
36
- _primaryButtonText: { state: true },
37
- _secondaryButtonText: { state: true },
38
- _visibleState: { state: true },
39
- _ariaLabel: { state: true },
40
- _tabIndex: { state: true }
41
- };
42
- }
43
-
44
- static get styles() {
45
- return [
46
- bodyStandardStyles,
47
- heading1Styles,
48
- css`
49
- :host {
50
- height: var(--d2l-flyout-custom-element-height, auto);
51
- overflow: hidden;
52
- pointer-events: none;
53
- position: absolute;
54
- width: 100%;
55
- }
24
+ static properties = {
25
+ optOut: { type: Boolean, attribute: 'opt-out' },
26
+ opened: { type: Boolean, reflect: true },
27
+ flyoutTitle: { attribute: 'flyout-title', type: String },
28
+ shortDescription: { type: String, attribute: 'short-description' },
29
+ longDescription: { type: String, attribute: 'long-description' },
30
+ tutorialLink: { type: String, attribute: 'tutorial-link' },
31
+ helpDocsLink: { type: String, attribute: 'help-docs-link' },
32
+ hideReason: { type: Boolean, attribute: 'hide-reason' },
33
+ hideFeedback: { type: Boolean, attribute: 'hide-feedback' },
34
+ _optOutDialogOpen: { state: true },
35
+ _primaryButtonText: { state: true },
36
+ _secondaryButtonText: { state: true },
37
+ _visibleState: { state: true },
38
+ _ariaLabel: { state: true },
39
+ _tabIndex: { state: true }
40
+ };
41
+
42
+ static styles = [bodyStandardStyles, heading1Styles, css`
43
+ :host {
44
+ height: var(--d2l-flyout-custom-element-height, auto);
45
+ overflow: hidden;
46
+ pointer-events: none;
47
+ position: absolute;
48
+ width: 100%;
49
+ }
56
50
 
57
- :host([opened]) {
58
- background-color: rgba(255, 255, 255, 0.7);
59
- height: 100%;
60
- pointer-events: auto;
61
- }
51
+ :host([opened]) {
52
+ background-color: rgba(255, 255, 255, 0.7);
53
+ height: 100%;
54
+ pointer-events: auto;
55
+ }
62
56
 
63
- #flyout {
64
- background-color: white;
65
- border-bottom: 1px solid var(--d2l-color-mica);
66
- box-sizing: border-box;
67
- margin-bottom: 1.2rem;
68
- overflow: visible;
69
- padding-bottom: 2rem;
70
- pointer-events: auto;
71
- position: var(--d2l-flyout-custom-element-position, relative);
72
- top: var(--d2l-flyout-custom-element-top, 0);
73
- width: 100%;
74
- z-index: var(--d2l-flyout-custom-element-z-index, 900);
75
- }
57
+ #flyout {
58
+ background-color: white;
59
+ border-bottom: 1px solid var(--d2l-color-mica);
60
+ box-sizing: border-box;
61
+ margin-bottom: 1.2rem;
62
+ overflow: visible;
63
+ padding-bottom: 2rem;
64
+ pointer-events: auto;
65
+ position: var(--d2l-flyout-custom-element-position, relative);
66
+ top: var(--d2l-flyout-custom-element-top, 0);
67
+ width: 100%;
68
+ z-index: var(--d2l-flyout-custom-element-z-index, 900);
69
+ }
76
70
 
77
- #flyout.flyout-opened {
78
- transition: transform 0.2s ease-out;
79
- }
71
+ #flyout.flyout-opened {
72
+ transition: transform 0.2s ease-out;
73
+ }
80
74
 
81
- #flyout.flyout-closed {
82
- transition: transform 0.2s ease-in;
83
- }
75
+ #flyout.flyout-closed {
76
+ transition: transform 0.2s ease-in;
77
+ }
84
78
 
85
- .flyout-opened {
86
- transform: translateY(0);
87
- }
88
- .flyout-closed {
89
- transform: translateY(-100%);
90
- }
79
+ .flyout-opened {
80
+ transform: translateY(0);
81
+ }
82
+ .flyout-closed {
83
+ transform: translateY(-100%);
84
+ }
91
85
 
92
- .flyout-content {
93
- text-align: center;
94
- }
86
+ .flyout-content {
87
+ text-align: center;
88
+ }
95
89
 
96
- .flyout-content h1 {
97
- margin-bottom: 1.2rem;
98
- }
90
+ .flyout-content h1 {
91
+ margin-bottom: 1.2rem;
92
+ }
99
93
 
100
- .flyout-text {
101
- align-items: center;
102
- display: flex;
103
- flex-direction: column;
104
- margin-bottom: 1.5rem;
105
- }
94
+ .flyout-text {
95
+ align-items: center;
96
+ display: flex;
97
+ flex-direction: column;
98
+ margin-bottom: 1.5rem;
99
+ }
106
100
 
107
- #short-description {
108
- margin-bottom: 0.5rem;
109
- }
101
+ #short-description {
102
+ margin-bottom: 0.5rem;
103
+ }
110
104
 
111
- #long-description {
112
- max-width: 800px;
113
- }
105
+ #long-description {
106
+ max-width: 800px;
107
+ }
114
108
 
115
- .flyout-tutorial {
116
- margin: auto;
117
- margin-top: 0.5em;
118
- }
109
+ .flyout-tutorial {
110
+ margin: auto;
111
+ margin-top: 0.5em;
112
+ }
119
113
 
120
- .flyout-tutorial a {
121
- color: var(--d2l-color-celestine);
122
- text-decoration: none;
123
- }
114
+ .flyout-tutorial a {
115
+ color: var(--d2l-color-celestine);
116
+ text-decoration: none;
117
+ }
124
118
 
125
- .flyout-tutorial a:hover, .flyout-tutorial a:focus {
126
- text-decoration: underline;
127
- }
119
+ .flyout-tutorial a:hover, .flyout-tutorial a:focus {
120
+ text-decoration: underline;
121
+ }
128
122
 
129
- .flyout-buttons {
130
- margin-left: auto;
131
- margin-right: auto;
132
- }
123
+ .flyout-buttons {
124
+ margin-left: auto;
125
+ margin-right: auto;
126
+ }
133
127
 
134
- .flyout-buttons d2l-button {
135
- margin-left: 0.5rem;
136
- margin-right: 0.5rem;
137
- }
128
+ .flyout-buttons d2l-button {
129
+ margin-left: 0.5rem;
130
+ margin-right: 0.5rem;
131
+ }
138
132
 
139
- .flyout-tab-container {
140
- height: 1.2rem;
141
- left: 50%;
142
- max-width: 1230px;
143
- overflow: hidden;
144
- pointer-events: none;
145
- position: absolute;
146
- top: 100%;
147
- transform: translateX(-50%);
148
- width: 100%;
149
- }
133
+ .flyout-tab-container {
134
+ height: 1.2rem;
135
+ left: 50%;
136
+ max-width: 1230px;
137
+ overflow: hidden;
138
+ pointer-events: none;
139
+ position: absolute;
140
+ top: 100%;
141
+ transform: translateX(-50%);
142
+ width: 100%;
143
+ }
150
144
 
151
- .flyout-tab {
152
- background-color: white;
153
- border: 1px solid var(--d2l-color-mica);
154
- border-radius: 0 0 8px 8px;
155
- border-top: none;
156
- box-sizing: border-box;
157
- cursor: pointer;
158
- height: 1rem;
159
- inset-block-start: 0;
160
- inset-inline-end: 15px;
161
- min-height: 0;
162
- padding: 1px;
163
- pointer-events: auto;
164
- position: absolute;
165
- text-align: center;
166
- width: 5rem;
167
- }
145
+ .flyout-tab {
146
+ background-color: white;
147
+ border: 1px solid var(--d2l-color-mica);
148
+ border-radius: 0 0 8px 8px;
149
+ border-top: none;
150
+ box-sizing: border-box;
151
+ cursor: pointer;
152
+ height: 1rem;
153
+ inset-block-start: 0;
154
+ inset-inline-end: 15px;
155
+ min-height: 0;
156
+ padding: 1px;
157
+ pointer-events: auto;
158
+ position: absolute;
159
+ text-align: center;
160
+ width: 5rem;
161
+ }
168
162
 
169
- .flyout-tab:hover, .flyout-tab:focus {
170
- background-color: var(--d2l-color-gypsum);
171
- }
163
+ .flyout-tab:hover, .flyout-tab:focus {
164
+ background-color: var(--d2l-color-gypsum);
165
+ }
172
166
 
173
- .flyout-tab:focus {
174
- border-color: rgba(0, 111, 191, 0.4);
175
- border-style: solid;
176
- border-width: 0 1px 1px 1px;
177
- box-shadow: 0 0 0 4px rgba(0, 111, 191, 0.3);
178
- }
167
+ .flyout-tab:focus {
168
+ border-color: rgba(0, 111, 191, 0.4);
169
+ border-style: solid;
170
+ border-width: 0 1px 1px 1px;
171
+ box-shadow: 0 0 0 4px rgba(0, 111, 191, 0.3);
172
+ }
179
173
 
180
- .flyout-tab:active, .flyout-tab:focus {
181
- outline: 0;
182
- }
174
+ .flyout-tab:active, .flyout-tab:focus {
175
+ outline: 0;
176
+ }
183
177
 
184
- .flyout-tab > d2l-icon {
185
- margin: auto;
186
- vertical-align: top !important;
187
- }
188
- `
189
- ];
190
- }
178
+ .flyout-tab > d2l-icon {
179
+ margin: auto;
180
+ vertical-align: top !important;
181
+ }
182
+ `];
191
183
 
192
184
  constructor() {
193
185
  super();
@@ -4,24 +4,20 @@ import { css, html, LitElement } from 'lit';
4
4
 
5
5
  class OptInFlyout extends LitElement {
6
6
 
7
- static get properties() {
8
- return {
9
- opened: { type: Boolean, reflect: true },
10
- flyoutTitle: { attribute: 'flyout-title', type: String },
11
- shortDescription: { type: String, attribute: 'short-description' },
12
- longDescription: { type: String, attribute: 'long-description' },
13
- tutorialLink: { type: String, attribute: 'tutorial-link' },
14
- helpDocsLink: { type: String, attribute: 'help-docs-link' }
15
- };
16
- }
17
-
18
- static get styles() {
19
- return css`
20
- d2l-labs-opt-in-flyout-impl {
21
- font-size: 20px;
22
- }
23
- `;
24
- }
7
+ static properties = {
8
+ opened: { type: Boolean, reflect: true },
9
+ flyoutTitle: { attribute: 'flyout-title', type: String },
10
+ shortDescription: { type: String, attribute: 'short-description' },
11
+ longDescription: { type: String, attribute: 'long-description' },
12
+ tutorialLink: { type: String, attribute: 'tutorial-link' },
13
+ helpDocsLink: { type: String, attribute: 'help-docs-link' }
14
+ };
15
+
16
+ static styles = css`
17
+ d2l-labs-opt-in-flyout-impl {
18
+ font-size: 20px;
19
+ }
20
+ `;
25
21
 
26
22
  constructor() {
27
23
  super();