@brightspace-ui/core 3.221.0 → 3.221.1

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 (33) hide show
  1. package/components/alert/alert-toast.js +0 -1
  2. package/components/backdrop/backdrop-loading.js +2 -2
  3. package/components/button/button-add.js +1 -1
  4. package/components/card/card-footer-link.js +2 -2
  5. package/components/card/card.js +0 -1
  6. package/components/description-list/description-list-wrapper.js +0 -1
  7. package/components/empty-state/empty-state-action-button.js +1 -1
  8. package/components/empty-state/empty-state-illustrated.js +0 -1
  9. package/components/filter/filter.js +1 -0
  10. package/components/form/form-error-summary.js +1 -0
  11. package/components/hierarchical-view/hierarchical-view-mixin.js +0 -1
  12. package/components/inputs/input-date-time-range-to.js +0 -1
  13. package/components/inputs/input-date.js +0 -1
  14. package/components/inputs/input-number.js +1 -0
  15. package/components/inputs/input-percent.js +0 -1
  16. package/components/inputs/input-text.js +3 -3
  17. package/components/inputs/input-time.js +0 -1
  18. package/components/list/list.js +0 -1
  19. package/components/menu/menu-item-separator.js +2 -2
  20. package/components/more-less/more-less.js +0 -1
  21. package/components/overflow-group/overflow-group-mixin.js +0 -1
  22. package/components/scroll-wrapper/scroll-wrapper.js +0 -1
  23. package/components/selection/selection-input.js +1 -0
  24. package/components/table/demo/table-test.js +8 -0
  25. package/components/table/table-wrapper.js +0 -1
  26. package/components/tabs/tab-mixin.js +1 -0
  27. package/components/tabs/tabs.js +0 -1
  28. package/components/tag-list/tag-list.js +0 -1
  29. package/components/tooltip/tooltip.js +2 -2
  30. package/custom-elements.json +4 -4
  31. package/mixins/localize/localize-mixin.js +3 -2
  32. package/package.json +2 -3
  33. package/templates/primary-secondary/primary-secondary.js +0 -1
@@ -2,7 +2,6 @@ import './alert.js';
2
2
  import { css, html, LitElement } from 'lit';
3
3
  import { classMap } from 'lit/directives/class-map.js';
4
4
  import { ifDefined } from 'lit/directives/if-defined.js';
5
- import ResizeObserver from 'resize-observer-polyfill/dist/ResizeObserver.es.js';
6
5
  import { styleMap } from 'lit/directives/style-map.js';
7
6
 
8
7
  const reduceMotion = matchMedia('(prefers-reduced-motion: reduce)').matches;
@@ -90,8 +90,8 @@ class LoadingBackdrop extends LitElement {
90
90
  render() {
91
91
  if (this._state === 'hidden') return nothing;
92
92
  return html`
93
- <div class="backdrop" @transitionend="${this.#handleTransitionEnd}" @transitioncancel="${this.#hide}" size="${LOADING_SPINNER_SIZE}"></div>
94
- <d2l-loading-spinner style=${styleMap({ top: `${this._spinnerTop}px` })}></d2l-loading-spinner>
93
+ <div class="backdrop" @transitionend="${this.#handleTransitionEnd}" @transitioncancel="${this.#hide}"></div>
94
+ <d2l-loading-spinner style=${styleMap({ top: `${this._spinnerTop}px` })} size="${LOADING_SPINNER_SIZE}"></d2l-loading-spinner>
95
95
  `;
96
96
  }
97
97
  updated(changedProperties) {
@@ -166,7 +166,7 @@ class ButtonAdd extends PropertyRequiredMixin(FocusMixin(LocalizeCoreElement(Lit
166
166
 
167
167
  render() {
168
168
  const text = this.text || this.localize('components.button-add.addItem');
169
- const id = !this.mode !== MODE.icon_and_text ? this._buttonId : undefined;
169
+ const id = this.mode !== MODE.icon_and_text ? this._buttonId : undefined;
170
170
 
171
171
  const content = this.mode !== MODE.icon_and_text
172
172
  ? html`<d2l-button-add-icon-text ?visible-on-ancestor="${this.mode === MODE.icon_when_interacted}" animation-type="opacity"></d2l-button-add-icon-text>`
@@ -46,9 +46,9 @@ class CardFooterLink extends FocusMixin(LitElement) {
46
46
  secondaryCount: { type: Number, attribute: 'secondary-count', reflect: true },
47
47
  /**
48
48
  * Maximum digits to display in the secondary count. Defaults to no limit
49
- * @type {string}
49
+ * @type {number}
50
50
  */
51
- secondaryCountMaxDigits: { type: String, attribute: 'secondary-count-max-digits' },
51
+ secondaryCountMaxDigits: { type: Number, attribute: 'secondary-count-max-digits' },
52
52
  /**
53
53
  * Controls the style of the secondary count bubble
54
54
  * @type {'count'|'notification'}
@@ -4,7 +4,6 @@ import { classMap } from 'lit/directives/class-map.js';
4
4
  import { getFocusRingStyles } from '../../helpers/focus.js';
5
5
  import { ifDefined } from 'lit/directives/if-defined.js';
6
6
  import { offscreenStyles } from '../offscreen/offscreen.js';
7
- import ResizeObserver from 'resize-observer-polyfill/dist/ResizeObserver.es.js';
8
7
  import { styleMap } from 'lit/directives/style-map.js';
9
8
 
10
9
  /**
@@ -1,7 +1,6 @@
1
1
  import { _generateBodyCompactStyles, _generateLabelStyles } from '../typography/styles.js';
2
2
  import { css, html, LitElement } from 'lit';
3
3
  import { classMap } from 'lit/directives/class-map.js';
4
- import ResizeObserver from 'resize-observer-polyfill/dist/ResizeObserver.es.js';
5
4
 
6
5
  export const descriptionListStyles = [
7
6
  _generateLabelStyles('d2l-dl-wrapper > dl > dt'),
@@ -53,7 +53,7 @@ class EmptyStateActionButton extends FocusMixin(PropertyRequiredMixin(LitElement
53
53
  detail: {}
54
54
  });
55
55
  this.dispatchEvent(e);
56
- this._illustrated = e.detail.illustrated | false;
56
+ this._illustrated = e.detail.illustrated || false;
57
57
  });
58
58
  }
59
59
 
@@ -5,7 +5,6 @@ import { classMap } from 'lit/directives/class-map.js';
5
5
  import { EmptyStateMixin } from './empty-state-mixin.js';
6
6
  import { LoadingCompleteMixin } from '../../mixins/loading-complete/loading-complete-mixin.js';
7
7
  import { loadSvg } from '../../generated/empty-state/presetIllustrationLoader.js';
8
- import ResizeObserver from 'resize-observer-polyfill/dist/ResizeObserver.es.js';
9
8
  import { runAsync } from '../../directives/run-async/run-async.js';
10
9
  import { styleMap } from 'lit/directives/style-map.js';
11
10
  import { unsafeSVG } from 'lit/directives/unsafe-svg.js';
@@ -10,6 +10,7 @@ import '../empty-state/empty-state-action-link.js';
10
10
  import '../empty-state/empty-state-simple.js';
11
11
  import '../expand-collapse/expand-collapse-content.js';
12
12
  import '../hierarchical-view/hierarchical-view.js';
13
+ import '../icons/icon.js';
13
14
  import '../inputs/input-search.js';
14
15
  import '../list/list.js';
15
16
  import '../list/list-item.js';
@@ -1,4 +1,5 @@
1
1
  import '../alert/alert.js';
2
+ import '../button/button-icon.js';
2
3
  import '../expand-collapse/expand-collapse-content.js';
3
4
  import { css, html, LitElement, nothing } from 'lit';
4
5
  import { linkStyles } from '../link/link.js';
@@ -1,7 +1,6 @@
1
1
  import { findComposedAncestor, getComposedParent, isComposedAncestor } from '../../helpers/dom.js';
2
2
  import { getNextFocusable, getPreviousFocusable } from '../../helpers/focus.js';
3
3
  import { css } from 'lit';
4
- import ResizeObserver from 'resize-observer-polyfill/dist/ResizeObserver.es.js';
5
4
 
6
5
  const reduceMotion = matchMedia('(prefers-reduced-motion: reduce)').matches;
7
6
  const __nativeFocus = document.createElement('div').focus;
@@ -4,7 +4,6 @@ import { bodySmallStyles } from '../typography/styles.js';
4
4
  import { classMap } from 'lit/directives/class-map.js';
5
5
  import { getOffsetParent } from '../../helpers/dom.js';
6
6
  import { LocalizeCoreElement } from '../../helpers/localize-core-element.js';
7
- import ResizeObserver from 'resize-observer-polyfill/dist/ResizeObserver.es.js';
8
7
  import { SkeletonMixin } from '../skeleton/skeleton-mixin.js';
9
8
 
10
9
  function debounce(func, delay) {
@@ -14,7 +14,6 @@ import { getUniqueId } from '../../helpers/uniqueId.js';
14
14
  import { ifDefined } from 'lit/directives/if-defined.js';
15
15
  import { LabelledMixin } from '../../mixins/labelled/labelled-mixin.js';
16
16
  import { LocalizeCoreElement } from '../../helpers/localize-core-element.js';
17
- import ResizeObserver from 'resize-observer-polyfill/dist/ResizeObserver.es.js';
18
17
  import { SkeletonMixin } from '../skeleton/skeleton-mixin.js';
19
18
  import { styleMap } from 'lit/directives/style-map.js';
20
19
 
@@ -1,4 +1,5 @@
1
1
  import './input-text.js';
2
+ import '../tooltip/tooltip.js';
2
3
  import { css, html, LitElement } from 'lit';
3
4
  import { formatNumber, getNumberDescriptor, parseNumber } from '@brightspace-ui/intl/lib/number.js';
4
5
  import { FocusMixin } from '../../mixins/focus/focus-mixin.js';
@@ -100,7 +100,6 @@ class InputPercent extends FocusMixin(LabelledMixin(SkeletonMixin(FormElementMix
100
100
  return html`
101
101
  <d2l-input-number
102
102
  ?autofocus="${this.autofocus}"
103
- @blur="${this._handleBlur}"
104
103
  @change="${this._handleChange}"
105
104
  class="vdiff-target"
106
105
  ?disabled="${this.disabled}"
@@ -141,9 +141,9 @@ class InputText extends InputInlineHelpMixin(PropertyRequiredMixin(FocusMixin(La
141
141
  size: { type: Number },
142
142
  /**
143
143
  * ADVANCED: For number inputs, sets the step size
144
- * @type {string}
144
+ * @type {number}
145
145
  */
146
- step: { type: String },
146
+ step: { type: Number },
147
147
  /**
148
148
  * @ignore
149
149
  */
@@ -227,6 +227,7 @@ class InputText extends InputInlineHelpMixin(PropertyRequiredMixin(FocusMixin(La
227
227
  }
228
228
  .d2l-input {
229
229
  -webkit-appearance: textfield;
230
+ appearance: textfield;
230
231
  overflow: hidden;
231
232
  text-overflow: ellipsis;
232
233
  white-space: nowrap;
@@ -487,7 +488,6 @@ class InputText extends InputInlineHelpMixin(PropertyRequiredMixin(FocusMixin(La
487
488
  size="${ifDefined(this.size)}"
488
489
  step="${ifDefined(this.step)}"
489
490
  style="${styleMap(inputStyles)}"
490
- tabindex="${ifDefined(this.tabindex)}"
491
491
  title="${ifDefined(this.title)}"
492
492
  type="${this._getType()}">
493
493
  <div class="d2l-input-inside-before" @keypress="${this._suppressEvent}">${this.dir === 'rtl' ? unit : ''}<slot name="${firstSlotName}" @slotchange="${this._handleSlotChange}"></slot></div>
@@ -20,7 +20,6 @@ import { inputLabelStyles } from './input-label-styles.js';
20
20
  import { inputStyles } from './input-styles.js';
21
21
  import { LabelledMixin } from '../../mixins/labelled/labelled-mixin.js';
22
22
  import { offscreenStyles } from '../offscreen/offscreen.js';
23
- import ResizeObserver from 'resize-observer-polyfill/dist/ResizeObserver.es.js';
24
23
  import { SkeletonMixin } from '../skeleton/skeleton-mixin.js';
25
24
 
26
25
  const MIDNIGHT = new Date(2020, 0, 1, 0, 0, 0);
@@ -3,7 +3,6 @@ import { getNextFocusable, getPreviousFocusable } from '../../helpers/focus.js';
3
3
  import { SelectionInfo, SelectionMixin } from '../selection/selection-mixin.js';
4
4
  import { ifDefined } from 'lit/directives/if-defined.js';
5
5
  import { PageableMixin } from '../paging/pageable-mixin.js';
6
- import ResizeObserver from 'resize-observer-polyfill';
7
6
  import { SubscriberRegistryController } from '../../controllers/subscriber/subscriberControllers.js';
8
7
 
9
8
  const keyCodes = {
@@ -17,8 +17,8 @@ class MenuItemSeparator extends LitElement {
17
17
  `;
18
18
  }
19
19
 
20
- firstUpdated() {
21
- super.firstUpdated();
20
+ firstUpdated(changedProperties) {
21
+ super.firstUpdated(changedProperties);
22
22
 
23
23
  this.setAttribute('role', 'separator');
24
24
  }
@@ -7,7 +7,6 @@ import { ifDefined } from 'lit/directives/if-defined.js';
7
7
  import { isComposedAncestor } from '../../helpers/dom.js';
8
8
  import { LocalizeCoreElement } from '../../helpers/localize-core-element.js';
9
9
  import { overflowHiddenDeclarations } from '../../helpers/overflow.js';
10
- import ResizeObserver from 'resize-observer-polyfill/dist/ResizeObserver.es.js';
11
10
  import { styleMap } from 'lit/directives/style-map.js';
12
11
 
13
12
  const transitionDur = matchMedia('(prefers-reduced-motion: reduce)').matches ? 0 : 400;
@@ -1,6 +1,5 @@
1
1
  import { css, html, nothing } from 'lit';
2
2
  import { LocalizeCoreElement } from '../../helpers/localize-core-element.js';
3
- import ResizeObserver from 'resize-observer-polyfill/dist/ResizeObserver.es.js';
4
3
  import { styleMap } from 'lit/directives/style-map.js';
5
4
 
6
5
  export const OVERFLOW_CLASS = 'd2l-overflow-container';
@@ -4,7 +4,6 @@ import { css, html, LitElement } from 'lit';
4
4
  import { classMap } from 'lit/directives/class-map.js';
5
5
  import { getFocusRingStyles } from '../../helpers/focus.js';
6
6
  import { LocalizeCoreElement } from '../../helpers/localize-core-element.js';
7
- import ResizeObserver from 'resize-observer-polyfill/dist/ResizeObserver.es.js';
8
7
 
9
8
  const RTL_MULTIPLIER = navigator.userAgent.indexOf('Edge/') > 0 ? 1 : -1; /* legacy-Edge doesn't reverse scrolling in RTL */
10
9
  const SCROLL_AMOUNT = 0.8;
@@ -1,4 +1,5 @@
1
1
  import '../inputs/input-checkbox.js';
2
+ import '../tooltip/tooltip.js';
2
3
  import { css, html, LitElement, nothing } from 'lit';
3
4
  import { classMap } from 'lit/directives/class-map.js';
4
5
  import { getUniqueId } from '../../helpers/uniqueId.js';
@@ -97,6 +97,11 @@ class TestTable extends DemoPassthroughMixin(TableWrapper, 'd2l-table-wrapper')
97
97
  icon="tier1:${this.stickyHeaders ? 'check' : 'close-default'}"
98
98
  @d2l-selection-action-click="${this._toggleStickyHeaders}"
99
99
  ></d2l-selection-action>
100
+ <d2l-selection-action
101
+ text="Loading"
102
+ icon="tier1:${this.loading ? 'check' : 'close-default'}"
103
+ @d2l-selection-action-click="${this._toggleLoading}"
104
+ ></d2l-selection-action>
100
105
  </d2l-table-controls>
101
106
 
102
107
  <table class="d2l-table">
@@ -251,6 +256,9 @@ class TestTable extends DemoPassthroughMixin(TableWrapper, 'd2l-table-wrapper')
251
256
  this.requestUpdate();
252
257
  }
253
258
 
259
+ _toggleLoading() {
260
+ this.loading = !this.loading;
261
+ }
254
262
  _toggleStickyControls() {
255
263
  this.stickyControls = !this.stickyControls;
256
264
  }
@@ -6,7 +6,6 @@ import { cssSizes } from '../inputs/input-checkbox.js';
6
6
  import { getComposedParent } from '../../helpers/dom.js';
7
7
  import { isPopoverSupported } from '../popover/popover-mixin.js';
8
8
  import { PageableMixin } from '../paging/pageable-mixin.js';
9
- import ResizeObserver from 'resize-observer-polyfill/dist/ResizeObserver.es.js';
10
9
  import { SelectionMixin } from '../selection/selection-mixin.js';
11
10
  import { usePopoverMixin as useTooltipPopover } from '../tooltip/tooltip.js';
12
11
 
@@ -14,6 +14,7 @@ export const TabMixin = superclass => class extends SkeletonMixin(superclass) {
14
14
  /**
15
15
  * @ignore
16
16
  */
17
+ // eslint-disable-next-line lit/no-native-attributes
17
18
  hidden: { type: Boolean, reflect: true },
18
19
  /**
19
20
  * Use to select the tab. Only one tab can be selected at a time.
@@ -11,7 +11,6 @@ import { getOverflowDeclarations } from '../../helpers/overflow.js';
11
11
  import { ifDefined } from 'lit/directives/if-defined.js';
12
12
  import { LocalizeCoreElement } from '../../helpers/localize-core-element.js';
13
13
  import { repeat } from 'lit/directives/repeat.js';
14
- import ResizeObserver from 'resize-observer-polyfill/dist/ResizeObserver.es.js';
15
14
  import { SkeletonMixin } from '../skeleton/skeleton-mixin.js';
16
15
  import { styleMap } from 'lit/directives/style-map.js';
17
16
 
@@ -7,7 +7,6 @@ import { classMap } from 'lit/directives/class-map.js';
7
7
  import { getComposedActiveElement } from '../../helpers/focus.js';
8
8
  import { InteractiveMixin } from '../../mixins/interactive/interactive-mixin.js';
9
9
  import { LocalizeCoreElement } from '../../helpers/localize-core-element.js';
10
- import ResizeObserver from 'resize-observer-polyfill/dist/ResizeObserver.es.js';
11
10
  import { styleMap } from 'lit/directives/style-map.js';
12
11
 
13
12
  const CLEAR_ALL_THRESHOLD = 4;
@@ -9,7 +9,6 @@ import { classMap } from 'lit/directives/class-map.js';
9
9
  import { getFlag } from '../../helpers/flags.js';
10
10
  import { getUniqueId } from '../../helpers/uniqueId.js';
11
11
  import { PopoverMixin } from '../popover/popover-mixin.js';
12
- import ResizeObserver from 'resize-observer-polyfill/dist/ResizeObserver.es.js';
13
12
  import { RtlMixin } from '../../mixins/rtl/rtl-mixin.js';
14
13
  import { styleMap } from 'lit/directives/style-map.js';
15
14
 
@@ -1050,11 +1049,12 @@ if (usePopoverMixin) {
1050
1049
 
1051
1050
  async getUpdateComplete() {
1052
1051
  const fontsPromise = document.fonts ? document.fonts.ready : Promise.resolve();
1053
- await super.getUpdateComplete();
1052
+ const ret = await super.getUpdateComplete();
1054
1053
  /* wait for the fonts to load because browsers have a font block period
1055
1054
  where they will render an invisible fallback font face that may result in
1056
1055
  improper width calculations before the real font is loaded */
1057
1056
  await fontsPromise;
1057
+ return ret;
1058
1058
  }
1059
1059
 
1060
1060
  render() {
@@ -1274,7 +1274,7 @@
1274
1274
  {
1275
1275
  "name": "secondary-count-max-digits",
1276
1276
  "description": "Maximum digits to display in the secondary count. Defaults to no limit",
1277
- "type": "string"
1277
+ "type": "number"
1278
1278
  },
1279
1279
  {
1280
1280
  "name": "target",
@@ -1339,7 +1339,7 @@
1339
1339
  "name": "secondaryCountMaxDigits",
1340
1340
  "attribute": "secondary-count-max-digits",
1341
1341
  "description": "Maximum digits to display in the secondary count. Defaults to no limit",
1342
- "type": "string"
1342
+ "type": "number"
1343
1343
  },
1344
1344
  {
1345
1345
  "name": "target",
@@ -7477,7 +7477,7 @@
7477
7477
  {
7478
7478
  "name": "step",
7479
7479
  "description": "ADVANCED: For number inputs, sets the step size",
7480
- "type": "string"
7480
+ "type": "number"
7481
7481
  },
7482
7482
  {
7483
7483
  "name": "unit",
@@ -7652,7 +7652,7 @@
7652
7652
  "name": "step",
7653
7653
  "attribute": "step",
7654
7654
  "description": "ADVANCED: For number inputs, sets the step size",
7655
- "type": "string"
7655
+ "type": "number"
7656
7656
  },
7657
7657
  {
7658
7658
  "name": "unit",
@@ -25,13 +25,14 @@ export const _LocalizeMixinBase = dedupeMixin(superclass => class LocalizeMixinB
25
25
  }
26
26
 
27
27
  async getUpdateComplete() {
28
- await super.getUpdateComplete();
28
+ const ret = await super.getUpdateComplete();
29
29
  const hasResources = this._hasResources();
30
30
  const resourcesLoaded = this.localize.resources !== undefined && !this.pristine;
31
31
  if (!hasResources || resourcesLoaded) {
32
- return;
32
+ return ret;
33
33
  }
34
34
  await this.__resourcesLoadedPromise;
35
+ return ret;
35
36
  }
36
37
 
37
38
  shouldUpdate(changedProperties) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brightspace-ui/core",
3
- "version": "3.221.0",
3
+ "version": "3.221.1",
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",
@@ -71,7 +71,6 @@
71
71
  "@open-wc/dedupe-mixin": "^2",
72
72
  "ifrau": "^0.41",
73
73
  "lit": "^3",
74
- "prismjs": "^1",
75
- "resize-observer-polyfill": "^1"
74
+ "prismjs": "^1"
76
75
  }
77
76
  }
@@ -9,7 +9,6 @@ import { getFocusPseudoClass, getFocusRingStyles } from '../../helpers/focus.js'
9
9
  import { classMap } from 'lit/directives/class-map.js';
10
10
  import { formatPercent } from '@brightspace-ui/intl';
11
11
  import { LocalizeCoreElement } from '../../helpers/localize-core-element.js';
12
- import ResizeObserver from 'resize-observer-polyfill/dist/ResizeObserver.es.js';
13
12
  import { styleMap } from 'lit/directives/style-map.js';
14
13
 
15
14
  const reduceMotion = matchMedia('(prefers-reduced-motion: reduce)').matches;