@brightspace-ui/core 3.257.2 → 3.258.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.
@@ -737,20 +737,10 @@ class Calendar extends LocalizeCoreElement(LitElement) {
737
737
  break;
738
738
  case keyCodes.HOME: {
739
739
  preventDefault = true;
740
- let numDaysChange;
741
740
  const dayOfTheWeek = this._focusDate.getDay();
742
- if (isRtl) {
743
- numDaysChange = 6 - dayOfTheWeek + calendarData.firstDayOfWeek;
744
- if (numDaysChange > 6) {
745
- numDaysChange -= daysInWeek;
746
- }
747
- } else {
748
- numDaysChange = dayOfTheWeek - calendarData.firstDayOfWeek;
749
- if (numDaysChange < 0) {
750
- numDaysChange += daysInWeek;
751
- }
752
- numDaysChange *= -1;
753
- }
741
+ let numDaysChange = dayOfTheWeek - calendarData.firstDayOfWeek;
742
+ if (numDaysChange < 0) numDaysChange += daysInWeek;
743
+ numDaysChange *= -1;
754
744
  const possibleFocusDate = new Date(
755
745
  this._focusDate.getFullYear(),
756
746
  this._focusDate.getMonth(),
@@ -761,20 +751,9 @@ class Calendar extends LocalizeCoreElement(LitElement) {
761
751
  break;
762
752
  } case keyCodes.END: {
763
753
  preventDefault = true;
764
- let numDaysChange;
765
754
  const dayOfTheWeek = this._focusDate.getDay();
766
- if (isRtl) {
767
- numDaysChange = dayOfTheWeek - calendarData.firstDayOfWeek;
768
- if (numDaysChange < 0) {
769
- numDaysChange += daysInWeek;
770
- }
771
- numDaysChange *= -1;
772
- } else {
773
- numDaysChange = 6 - dayOfTheWeek + calendarData.firstDayOfWeek;
774
- if (numDaysChange > 6) {
775
- numDaysChange -= daysInWeek;
776
- }
777
- }
755
+ let numDaysChange = 6 - dayOfTheWeek + calendarData.firstDayOfWeek;
756
+ if (numDaysChange > 6) numDaysChange -= daysInWeek;
778
757
  const possibleFocusDate = new Date(
779
758
  this._focusDate.getFullYear(),
780
759
  this._focusDate.getMonth(),
@@ -5,6 +5,7 @@ import { clearDismissible, setDismissible } from '../../helpers/dismissible.js';
5
5
  import { findComposedAncestor, getComposedChildren, isComposedAncestor } from '../../helpers/dom.js';
6
6
  import { getComposedActiveElement, getFirstFocusableDescendant, getFirstFocusableRelative, getNextFocusable, isFocusable } from '../../helpers/focus.js';
7
7
  import { classMap } from 'lit/directives/class-map.js';
8
+ import { getFlag } from '../../helpers/flags.js';
8
9
  import { getUniqueId } from '../../helpers/uniqueId.js';
9
10
  import { html } from 'lit';
10
11
  import { ifDefined } from 'lit/directives/if-defined.js';
@@ -25,6 +26,8 @@ const reduceMotion = matchMedia('(prefers-reduced-motion: reduce)').matches;
25
26
  const abortAction = 'abort';
26
27
  const defaultMargin = { top: 75, right: 30, bottom: 30, left: 30 };
27
28
 
29
+ const closeDialogWhenDisconnectedFlag = getFlag('GAUD-10113-close-dialog-when-disconnected', true);
30
+
28
31
  export const DialogMixin = superclass => class extends superclass {
29
32
 
30
33
  static get properties() {
@@ -107,6 +110,11 @@ export const DialogMixin = superclass => class extends superclass {
107
110
  disconnectedCallback() {
108
111
  super.disconnectedCallback();
109
112
  window.removeEventListener('d2l-mvc-dialog-open', this._handleMvcDialogOpen);
113
+
114
+ // If the dialog is disconnected before the close animation finishes
115
+ if (this.opened && closeDialogWhenDisconnectedFlag) {
116
+ this._handleClose();
117
+ }
110
118
  }
111
119
 
112
120
  async updated(changedProperties) {
@@ -477,7 +485,7 @@ export const DialogMixin = superclass => class extends superclass {
477
485
  _removeHandlers() {
478
486
  window.removeEventListener('resize', this._updateSize);
479
487
  this.removeEventListener('touchstart', this._handleTouchStart);
480
- if (this.shadowRoot) this.shadowRoot.querySelector('.d2l-dialog-content').removeEventListener('scroll', this._updateOverflow);
488
+ this.shadowRoot?.querySelector('.d2l-dialog-content')?.removeEventListener('scroll', this._updateOverflow);
481
489
  }
482
490
 
483
491
  _render(inner, info, iframeTopOverride) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brightspace-ui/core",
3
- "version": "3.257.2",
3
+ "version": "3.258.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",