@brightspace-ui/core 1.233.0 → 1.233.4

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.
@@ -197,7 +197,7 @@ export const DialogMixin = superclass => class extends RtlMixin(superclass) {
197
197
  let preferredHeight = 0;
198
198
 
199
199
  const header = this.shadowRoot.querySelector('.d2l-dialog-header');
200
- if (header) preferredHeight += header.scrollHeight;
200
+ if (header) preferredHeight += Math.ceil(header.getBoundingClientRect().height);
201
201
 
202
202
  const contentOuter = this.shadowRoot.querySelector('.d2l-dialog-content');
203
203
  const content = this.shadowRoot.querySelector('.d2l-dialog-content > div');
@@ -210,7 +210,7 @@ export const DialogMixin = superclass => class extends RtlMixin(superclass) {
210
210
  }
211
211
 
212
212
  const footer = this.shadowRoot.querySelector('.d2l-dialog-footer');
213
- if (footer) preferredHeight += footer.scrollHeight;
213
+ if (footer) preferredHeight += Math.ceil(footer.getBoundingClientRect().height);
214
214
 
215
215
  const height = (preferredHeight < availableHeight ? preferredHeight : availableHeight);
216
216
  return height;
@@ -1,20 +1,11 @@
1
1
  # Dropdowns
2
2
  A Dropdown is a button that opens a floating container to offer menu items or other content.
3
3
 
4
- <!-- docs: demo align:flex-start autoSize:false size:medium -->
4
+ <!-- docs: demo align:flex-start autoOpen:true autoSize:false size:medium -->
5
5
  ```html
6
6
  <script type="module">
7
7
  import '@brightspace-ui/core/components/dropdown/dropdown-button.js';
8
8
  import '@brightspace-ui/core/components/dropdown/dropdown-content.js';
9
-
10
- window.addEventListener('load', function () {
11
- var demoElem = document.querySelector('#demo-element');
12
- if (!demoElem.hasAttribute('data-first-load')) return;
13
- setTimeout(() => {
14
- var dropdown = document.querySelector('d2l-dropdown-button');
15
- dropdown.toggleOpen();
16
- }, 1000);
17
- });
18
9
  </script>
19
10
  <d2l-dropdown-button text="Open!">
20
11
  <d2l-dropdown-content>
@@ -2,21 +2,11 @@
2
2
 
3
3
  Use date and time inputs to set dates and times in forms. They are available as separate inputs (date or time) or as a combined date & time input, and each of them is also available as a range.
4
4
 
5
- <!-- docs: demo align:flex-start autoSize:false size:xlarge -->
5
+ <!-- docs: demo align:flex-start autoOpen:true autoSize:false size:xlarge -->
6
6
  ```html
7
7
  <script type="module">
8
8
  import '@brightspace-ui/core/components/inputs/input-date.js';
9
9
  import '@brightspace-ui/core/components/inputs/input-time.js';
10
-
11
- window.addEventListener('load', function () {
12
- var demoElem = document.querySelector('#demo-element');
13
- if (!demoElem.hasAttribute('data-first-load')) return;
14
-
15
- setTimeout(function() {
16
- var input = document.querySelector('d2l-input-date');
17
- input.opened = true;
18
- }, 1000);
19
- });
20
10
  </script>
21
11
  <d2l-input-date label="Date Input"></d2l-input-date>
22
12
  <d2l-input-time label="Time Input"></d2l-input-time>
@@ -45,7 +35,7 @@ Note: All `*value` properties should be in ISO 8601 calendar date format (`YYYY-
45
35
  ![example screenshot of date input](../screenshots/date.gif?raw=true)
46
36
  <!-- docs: end hidden content -->
47
37
 
48
- <!-- docs: demo live name:d2l-input-date align:flex-start autoOpen:true autoSize:false size:xlarge -->
38
+ <!-- docs: demo live name:d2l-input-date align:flex-start autoSize:false size:xlarge -->
49
39
  ```html
50
40
  <script type="module">
51
41
  import '@brightspace-ui/core/components/inputs/input-date.js';
@@ -95,7 +85,7 @@ Note: All `*value` properties should be in ISO 8601 calendar date format (`YYYY-
95
85
  ![example screenshot of date range input](../screenshots/date-range.gif?raw=true)
96
86
  <!-- docs: end hidden content -->
97
87
 
98
- <!-- docs: demo live name:d2l-input-date-range align:flex-start autoOpen:true autoSize:false size:xlarge -->
88
+ <!-- docs: demo live name:d2l-input-date-range align:flex-start autoSize:false size:xlarge -->
99
89
  ```html
100
90
  <script type="module">
101
91
  import '@brightspace-ui/core/components/inputs/input-date-range.js';
@@ -151,7 +141,7 @@ Note: All `*value` properties should be in ISO 8601 time format (`hh:mm:ss`) and
151
141
  ![example screenshot of time input](../screenshots/time.gif?raw=true)
152
142
  <!-- docs: end hidden content -->
153
143
 
154
- <!-- docs: demo live name:d2l-input-time align:flex-start autoOpen:true autoSize:false size:large -->
144
+ <!-- docs: demo live name:d2l-input-time align:flex-start autoSize:false size:large -->
155
145
  ```html
156
146
  <script type="module">
157
147
  import '@brightspace-ui/core/components/inputs/input-time.js';
@@ -201,7 +191,7 @@ Note: All `*value` properties should be in ISO 8601 time format (`hh:mm:ss`) and
201
191
  ![example screenshot of time range input](../screenshots/time-range.gif?raw=true)
202
192
  <!-- docs: end hidden content -->
203
193
 
204
- <!-- docs: demo live name:d2l-input-time-range align:flex-start autoOpen:true autoSize:false size:large -->
194
+ <!-- docs: demo live name:d2l-input-time-range align:flex-start autoSize:false size:large -->
205
195
  ```html
206
196
  <script type="module">
207
197
  import '@brightspace-ui/core/components/inputs/input-time-range.js';
@@ -253,7 +243,7 @@ Note: All `*value` properties should be in ISO 8601 combined date and time forma
253
243
  ![example screenshot of date input](../screenshots/date-time.gif?raw=true)
254
244
  <!-- docs: end hidden content -->
255
245
 
256
- <!-- docs: demo live name:d2l-input-date-time align:flex-start autoOpen:true autoSize:false size:xlarge -->
246
+ <!-- docs: demo live name:d2l-input-date-time align:flex-start autoSize:false size:xlarge -->
257
247
  ```html
258
248
  <script type="module">
259
249
  import '@brightspace-ui/core/components/inputs/input-date-time.js';
@@ -304,7 +294,7 @@ Note: All `*value` properties should be in ISO 8601 combined date and time forma
304
294
  ![example screenshot of date-time range input](../screenshots/date-time-range.gif?raw=true)
305
295
  <!-- docs: end hidden content -->
306
296
 
307
- <!-- docs: demo live name:d2l-input-date-time-range align:flex-start autoOpen:true autoSize:false size:xlarge -->
297
+ <!-- docs: demo live name:d2l-input-date-time-range align:flex-start autoSize:false size:xlarge -->
308
298
  ```html
309
299
  <script type="module">
310
300
  import '@brightspace-ui/core/components/inputs/input-date-time-range.js';
@@ -73,6 +73,7 @@ export const ListItemMixin = superclass => class extends LocalizeCoreElement(Lis
73
73
  _breakpoint: { type: Number },
74
74
  _displayKeyboardTooltip: { type: Boolean },
75
75
  _dropdownOpen: { type: Boolean, attribute: '_dropdown-open', reflect: true },
76
+ _fullscreenWithin: { type: Boolean, attribute: '_fullscreen-within', reflect: true },
76
77
  _hoveringPrimaryAction: { type: Boolean },
77
78
  _focusing: { type: Boolean },
78
79
  _focusingPrimaryAction: { type: Boolean },
@@ -92,7 +93,8 @@ export const ListItemMixin = superclass => class extends LocalizeCoreElement(Lis
92
93
  display: none;
93
94
  }
94
95
  :host([_tooltip-showing]),
95
- :host([_dropdown-open]) {
96
+ :host([_dropdown-open]),
97
+ :host([_fullscreen-within]) {
96
98
  z-index: 10;
97
99
  }
98
100
  :host(:first-child) d2l-list-item-generic-layout[data-separators="between"] {
@@ -275,6 +277,10 @@ export const ListItemMixin = superclass => class extends LocalizeCoreElement(Lis
275
277
  width: 100%;
276
278
  z-index: 5;
277
279
  }
280
+ :host([_fullscreen-within]) .d2l-list-item-active-border,
281
+ :host([_fullscreen-within]) d2l-list-item-generic-layout.d2l-focusing + .d2l-list-item-active-border {
282
+ display: none;
283
+ }
278
284
  d2l-tooltip > div {
279
285
  font-weight: 700;
280
286
  }
@@ -298,6 +304,8 @@ export const ListItemMixin = superclass => class extends LocalizeCoreElement(Lis
298
304
  this._breakpoint = 0;
299
305
  this._contentId = getUniqueId();
300
306
  this._displayKeyboardTooltip = false;
307
+ this._fullscreenWithin = false;
308
+ this._fullscreenWithinCount = 0;
301
309
  }
302
310
 
303
311
  get breakpoints() {
@@ -421,6 +429,12 @@ export const ListItemMixin = superclass => class extends LocalizeCoreElement(Lis
421
429
  this._focusingPrimaryAction = false;
422
430
  }
423
431
 
432
+ _onFullscreenWithin(e) {
433
+ if (e.detail.state) this._fullscreenWithinCount += 1;
434
+ else this._fullscreenWithinCount -= 1;
435
+ this._fullscreenWithin = (this._fullscreenWithinCount > 0);
436
+ }
437
+
424
438
  _onMouseEnter() {
425
439
  this._hovering = true;
426
440
  }
@@ -460,6 +474,7 @@ export const ListItemMixin = superclass => class extends LocalizeCoreElement(Lis
460
474
  <d2l-list-item-generic-layout
461
475
  @focusin="${this._onFocusIn}"
462
476
  @focusout="${this._onFocusOut}"
477
+ @d2l-fullscreen-within="${this._onFullscreenWithin}"
463
478
  class="${classMap(classes)}"
464
479
  data-breakpoint="${this._breakpoint}"
465
480
  data-separators="${ifDefined(this._separators)}"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brightspace-ui/core",
3
- "version": "1.233.0",
3
+ "version": "1.233.4",
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",
@@ -7,6 +7,8 @@
7
7
  <script type="module">
8
8
  import '../../../components/demo/demo-page.js';
9
9
  import '../primary-secondary.js';
10
+ import '../../../components/button/button.js';
11
+ import '../../../components/dialog/dialog-fullscreen.js';
10
12
  </script>
11
13
  </head>
12
14
  <body>
@@ -17,8 +19,28 @@
17
19
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam tincidunt, velit quis vulputate condimentum, erat nibh accumsan augue, sed rutrum nibh elit et augue. Cras sed purus sit amet tellus gravida cursus eget ac nulla. Sed volutpat volutpat sodales. Mauris sed sodales odio. Aenean sem tortor, aliquam in leo eget, commodo condimentum odio. Pellentesque eu efficitur ante. Cras non diam vitae nibh condimentum egestas. Proin malesuada dapibus dapibus. Nam congue a risus id viverra. Phasellus hendrerit ex diam, eget semper nunc efficitur id. Nullam feugiat libero urna, quis bibendum urna dignissim ac. Donec convallis nulla eu nulla tempor, molestie elementum elit blandit. Ut eget ipsum eget odio elementum commodo. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam tincidunt, velit quis vulputate condimentum, erat nibh accumsan augue, sed rutrum nibh elit et augue. Cras sed purus sit amet tellus gravida cursus eget ac nulla. Sed volutpat volutpat sodales. Mauris sed sodales odio. Aenean sem tortor, aliquam in leo eget, commodo condimentum odio. Pellentesque eu efficitur ante. Cras non diam vitae nibh condimentum egestas. Proin malesuada dapibus dapibus. Nam congue a risus id viverra. Phasellus hendrerit ex diam, eget semper nunc efficitur id. Nullam feugiat libero urna, quis bibendum urna dignissim ac. Donec convallis nulla eu nulla tempor, molestie elementum elit blandit. Ut eget ipsum eget odio elementum commodo. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam tincidunt, velit quis vulputate condimentum, erat nibh accumsan augue, sed rutrum nibh elit et augue. Cras sed purus sit amet tellus gravida cursus eget ac nulla. Sed volutpat volutpat sodales. Mauris sed sodales odio. Aenean sem tortor, aliquam in leo eget, commodo condimentum odio. Pellentesque eu efficitur ante. Cras non diam vitae nibh condimentum egestas. Proin malesuada dapibus dapibus. Nam congue a risus id viverra. Phasellus hendrerit ex diam, eget semper nunc efficitur id. Nullam feugiat libero urna, quis bibendum urna dignissim ac. Donec convallis nulla eu nulla tempor, molestie elementum elit blandit. Ut eget ipsum eget odio elementum commodo. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam tincidunt, velit quis vulputate condimentum, erat nibh accumsan augue, sed rutrum nibh elit et augue. Cras sed purus sit amet tellus gravida cursus eget ac nulla. Sed volutpat volutpat sodales. Mauris sed sodales odio. Aenean sem tortor, aliquam in leo eget, commodo condimentum odio. Pellentesque eu efficitur ante. Cras non diam vitae nibh condimentum egestas. Proin malesuada dapibus dapibus. Nam congue a risus id viverra. Phasellus hendrerit ex diam, eget semper nunc efficitur id. Nullam feugiat libero urna, quis bibendum urna dignissim ac. Donec convallis nulla eu nulla tempor, molestie elementum elit blandit. Ut eget ipsum eget odio elementum commodo. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam tincidunt, velit quis vulputate condimentum, erat nibh accumsan augue, sed rutrum nibh elit et augue. Cras sed purus sit amet tellus gravida cursus eget ac nulla. Sed volutpat volutpat sodales. Mauris sed sodales odio. Aenean sem tortor, aliquam in leo eget, commodo condimentum odio. Pellentesque eu efficitur ante. Cras non diam vitae nibh condimentum egestas. Proin malesuada dapibus dapibus. Nam congue a risus id viverra. Phasellus hendrerit ex diam, eget semper nunc efficitur id. Nullam feugiat libero urna, quis bibendum urna dignissim ac. Donec convallis nulla eu nulla tempor, molestie elementum elit blandit. Ut eget ipsum eget odio elementum commodo. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam tincidunt, velit quis vulputate condimentum, erat nibh accumsan augue, sed rutrum nibh elit et augue. Cras sed purus sit amet tellus gravida cursus eget ac nulla. Sed volutpat volutpat sodales. Mauris sed sodales odio. Aenean sem tortor, aliquam in leo eget, commodo condimentum odio. Pellentesque eu efficitur ante. Cras non diam vitae nibh condimentum egestas. Proin malesuada dapibus dapibus. Nam congue a risus id viverra. Phasellus hendrerit ex diam, eget semper nunc efficitur id. Nullam feugiat libero urna, quis bibendum urna dignissim ac. Donec convallis nulla eu nulla tempor, molestie elementum elit blandit. Ut eget ipsum eget odio elementum commodo. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam tincidunt, velit quis vulputate condimentum, erat nibh accumsan augue, sed rutrum nibh elit et augue. Cras sed purus sit amet tellus gravida cursus eget ac nulla. Sed volutpat volutpat sodales. Mauris sed sodales odio. Aenean sem tortor, aliquam in leo eget, commodo condimentum odio. Pellentesque eu efficitur ante. Cras non diam vitae nibh condimentum egestas. Proin malesuada dapibus dapibus. Nam congue a risus id viverra. Phasellus hendrerit ex diam, eget semper nunc efficitur id. Nullam feugiat libero urna, quis bibendum urna dignissim ac. Donec convallis nulla eu nulla tempor, molestie elementum elit blandit. Ut eget ipsum eget odio elementum commodo. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam tincidunt, velit quis vulputate condimentum, erat nibh accumsan augue, sed rutrum nibh elit et augue. Cras sed purus sit amet tellus gravida cursus eget ac nulla. Sed volutpat volutpat sodales. Mauris sed sodales odio. Aenean sem tortor, aliquam in leo eget, commodo condimentum odio. Pellentesque eu efficitur ante. Cras non diam vitae nibh condimentum egestas. Proin malesuada dapibus dapibus. Nam congue a risus id viverra. Phasellus hendrerit ex diam, eget semper nunc efficitur id. Nullam feugiat libero urna, quis bibendum urna dignissim ac. Donec convallis nulla eu nulla tempor, molestie elementum elit blandit. Ut eget ipsum eget odio elementum commodo.
18
20
  </div>
19
21
  <div slot="secondary">
22
+ <d2l-button id="open">Show Dialog</d2l-button>
23
+ <d2l-dialog-fullscreen id="dialogFullscreen" title-text="Fullscreen Title">
24
+ <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>
25
+ <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>
26
+ <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>
27
+ <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>
28
+ <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>
29
+ <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>
30
+ <d2l-button slot="footer" primary data-dialog-action="save">Save</d2l-button>
31
+ <d2l-button slot="footer" data-dialog-action>Cancel</d2l-button>
32
+ </d2l-dialog-fullscreen>
33
+
34
+ <script>
35
+ document.querySelector('#open').addEventListener('click', () => {
36
+ document.querySelector('#dialogFullscreen').opened = true;
37
+ });
38
+ document.querySelector('#dialogFullscreen').addEventListener('d2l-dialog-close', (e) => {
39
+ console.log('confirm action:', e.detail.action);
40
+ });
41
+ </script>
20
42
  <p>I'm in the <b>secondary</b> slot of the <b>d2l-template-primary-secondary</b> component!</p>
21
- Quisque justo risus, elementum quis condimentum vitae, venenatis sit amet nisl. Vivamus interdum pretium libero dictum eleifend. Donec eros tortor, facilisis eget maximus in, malesuada a magna. Nulla ac felis turpis. Donec pellentesque est in rhoncus tempus. Proin ac purus porttitor, interdum est a, venenatis mi. Maecenas nunc nulla, viverra ut ornare id, luctus eu nulla. Pellentesque massa turpis, porta ut tincidunt ut, ullamcorper vitae urna. Nam congue euismod placerat. Vestibulum aliquet, metus vitae viverra posuere, lacus urna hendrerit turpis, vel laoreet ligula odio et nisl. Mauris id lectus magna. Sed gravida tincidunt sapien quis dapibus.
43
+ Quisque justo risus, elementum quis condimentum vitae, venenatis sit amet nisl. Vivamus interdum pretium libero dictum eleifend. Donec eros tortor, facilisis eget maximus in, malesuada a magna. Nulla ac felis turpis. Donec pellentesque est in rhoncus tempus. Proin ac purus porttitor, interdum est a, venenatis mi. Maecenas nunc nulla, viverra ut ornare id, luctus eu nulla. Pellentesque massa turpis, porta ut tincidunt ut, ullamcorper vitae urna. Nam congue euismod placerat. Vestibulum aliquet, metus vitae viverra posuere, lacus urna hendrerit turpis, vel laoreet ligula odio et nisl. Mauris id lectus magna. Sed gravida tincidunt sapien quis dapibus.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 spankerDeadlights jack lad schooner scallywag dance the hempen jig carouser broadside cable strike colors. Bring a spring upon her cable holystone blow the man down spankerDeadlights 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
22
44
  </div>
23
45
  <div slot="footer">I'm in the <b>footer</b> slot of the <b>d2l-template-primary-secondary</b> component!</div>
24
46
  </d2l-template-primary-secondary>
@@ -542,7 +542,6 @@ class TemplatePrimarySecondary extends FocusVisiblePolyfillMixin(RtlMixin(Locali
542
542
 
543
543
  main {
544
544
  flex: 2 0 0;
545
- -webkit-overflow-scrolling: touch;
546
545
  overflow-x: hidden;
547
546
  transition: none;
548
547
  }
@@ -570,7 +569,6 @@ class TemplatePrimarySecondary extends FocusVisiblePolyfillMixin(RtlMixin(Locali
570
569
  aside {
571
570
  height: 100%;
572
571
  min-width: ${desktopMinSize}px;
573
- -webkit-overflow-scrolling: touch;
574
572
  overflow-x: hidden;
575
573
  overflow-y: scroll;
576
574
  }