@brightspace-ui/core 3.268.2 → 3.269.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.
@@ -41,7 +41,7 @@ class Backdrop extends LitElement {
41
41
  _state: { type: String, reflect: true }
42
42
  };
43
43
 
44
- static styles = [ css`
44
+ static styles = [css`
45
45
  :host {
46
46
  background-color: var(--d2l-theme-backdrop-background-color);
47
47
  height: 0;
@@ -87,7 +87,7 @@ class ButtonMove extends ThemeMixin(FocusMixin(LitElement)) {
87
87
  sideToSide: { type: Boolean, attribute: 'side-to-side', reflect: true }
88
88
  };
89
89
 
90
- static styles = [ buttonStyles,
90
+ static styles = [buttonStyles,
91
91
  css`
92
92
  :host {
93
93
  --d2l-button-move-background-color-focus: #ffffff;
@@ -16,7 +16,7 @@ class ButtonSplitItem extends PropertyRequiredMixin(MenuItemMixin(LitElement)) {
16
16
  key: { type: String, required: true }
17
17
  };
18
18
 
19
- static styles = [ menuItemStyles,
19
+ static styles = [menuItemStyles,
20
20
  css`
21
21
  :host {
22
22
  align-items: center;
@@ -27,7 +27,7 @@ class Button extends ButtonMixin(LitElement) {
27
27
  primary: { type: Boolean, reflect: true }
28
28
  };
29
29
 
30
- static styles = [ labelStyles, buttonStyles,
30
+ static styles = [labelStyles, buttonStyles,
31
31
  css`
32
32
  :host {
33
33
  display: inline-block;
@@ -1,7 +1,7 @@
1
1
  import { css } from 'lit';
2
2
  import { menuItemStyles } from './menu-item-styles.js';
3
3
 
4
- export const menuItemSelectableStyles = [ menuItemStyles,
4
+ export const menuItemSelectableStyles = [menuItemStyles,
5
5
  css`
6
6
  :host {
7
7
  align-items: center;
@@ -65,7 +65,7 @@ class ObjectPropertyList extends LocalizeCoreElement(SkeletonMixin(LitElement))
65
65
 
66
66
  _setItemSeparatorVisibility(slot) {
67
67
  const slottedElements = slot.assignedElements();
68
- const elements = slottedElements.length ? slottedElements : [ ...slot.children ];
68
+ const elements = slottedElements.length ? slottedElements : [...slot.children];
69
69
  const filtered = elements.filter(item => item.tagName?.toLowerCase().includes('d2l-object-property-list-') && !item.hidden);
70
70
 
71
71
  const lastIndex = filtered.length - 1;
@@ -1,6 +1,7 @@
1
1
  import '../colors/colors.js';
2
2
  import { css, html, LitElement } from 'lit';
3
3
  import { formatPercent } from '@brightspace-ui/intl';
4
+ import { ifDefined } from 'lit/directives/if-defined.js';
4
5
  import { PropertyRequiredMixin } from '../../mixins/property-required/property-required-mixin.js';
5
6
 
6
7
  export const DIVIDER_WIDTH = 4;
@@ -88,7 +89,10 @@ class PageDivider extends PropertyRequiredMixin(LitElement) {
88
89
  }
89
90
 
90
91
  render() {
91
- const currentSizePercent = formatPercent(Math.round(this.currentSize / this.maxSize) || 0);
92
+ let ariaValues = {};
93
+ if (this.maxSize > 0) {
94
+ ariaValues = { max: this.maxSize, min: 0, now: this.currentSize, text: formatPercent(this.currentSize / this.maxSize, { maximumFractionDigits: 0 }) };
95
+ }
92
96
 
93
97
  return html`
94
98
  <div
@@ -97,10 +101,10 @@ class PageDivider extends PropertyRequiredMixin(LitElement) {
97
101
  tabindex="0"
98
102
  aria-label="${this.label}"
99
103
  aria-orientation="${this.panelType === 'panel' ? 'horizontal' : 'vertical'}"
100
- aria-valuemax="${this.maxSize}"
101
- aria-valuemin="0"
102
- aria-valuenow="${this.currentSize}"
103
- aria-valuetext="${currentSizePercent}"
104
+ aria-valuemax="${ifDefined(ariaValues.max)}"
105
+ aria-valuemin="${ifDefined(ariaValues.min)}"
106
+ aria-valuenow="${ifDefined(ariaValues.now)}"
107
+ aria-valuetext="${ifDefined(ariaValues.text)}"
104
108
  @keydown="${this.#handleKeyDown}">
105
109
  </div>
106
110
  `;
@@ -25,7 +25,7 @@ export const PageableSubscriberMixin = superclass => class extends superclass {
25
25
  }
26
26
 
27
27
  _getPageableRegistries() {
28
- return this.pageableFor ? this._pageableIdSubscriber.registries : [ this._pageableEventSubscriber.registry ];
28
+ return this.pageableFor ? this._pageableIdSubscriber.registries : [this._pageableEventSubscriber.registry];
29
29
  }
30
30
 
31
31
  };
@@ -293,8 +293,8 @@ class ScrollWrapper extends LocalizeCoreElement(LitElement) {
293
293
  this._baseContainer = this.shadowRoot.querySelector('.d2l-scroll-wrapper-container');
294
294
  this._container = this.customScrollers?.primary || this._baseContainer;
295
295
  this._secondaryScrollers = this.customScrollers?.secondary || [];
296
- if (this._secondaryScrollers.length === undefined) this._secondaryScrollers = [ this._secondaryScrollers ];
297
- this._allScrollers = [ this._container, ...this._secondaryScrollers ];
296
+ if (this._secondaryScrollers.length === undefined) this._secondaryScrollers = [this._secondaryScrollers];
297
+ this._allScrollers = [this._container, ...this._secondaryScrollers];
298
298
 
299
299
  if (this._container) {
300
300
  this._container.classList.add('d2l-scroll-wrapper-focus');
@@ -175,7 +175,7 @@ export const SkeletonMixin = dedupeMixin(superclass => class extends superclass
175
175
  };
176
176
 
177
177
  static get styles() {
178
- const styles = [ skeletonStyles ];
178
+ const styles = [skeletonStyles];
179
179
  super.styles && styles.unshift(super.styles);
180
180
  return styles;
181
181
  }
@@ -34,7 +34,7 @@ export const TabMixin = superclass => class extends SkeletonMixin(superclass) {
34
34
  };
35
35
 
36
36
  static get styles() {
37
- const styles = [ css`
37
+ const styles = [css`
38
38
  :host {
39
39
  box-sizing: border-box;
40
40
  display: inline-block;
@@ -27,7 +27,7 @@ class Tab extends TabMixin(LitElement) {
27
27
  };
28
28
 
29
29
  static get styles() {
30
- const styles = [ css`
30
+ const styles = [css`
31
31
  .d2l-tab-text-inner-content {
32
32
  --d2l-focus-ring-offset: 0;
33
33
  display: flex;
package/helpers/prism.js CHANGED
@@ -343,9 +343,9 @@ const getLanguageInfo = elem => {
343
343
  };
344
344
 
345
345
  const languageDependencies = {
346
- arduino: [ 'cpp' ],
347
- cpp: [ 'c' ],
348
- racket: [ 'scheme' ]
346
+ arduino: ['cpp'],
347
+ cpp: ['c'],
348
+ racket: ['scheme']
349
349
  };
350
350
 
351
351
  const languagesLoaded = {
@@ -5,7 +5,7 @@ export function set(strings, ...expressions) {
5
5
  let w = Number.MAX_SAFE_INTEGER;
6
6
  const emptyStart = strings[0].match(emptyStartRe);
7
7
  if (emptyStart) {
8
- strings = [ strings[0].replace(emptyStartRe, ''), ...strings.slice(1) ];
8
+ strings = [strings[0].replace(emptyStartRe, ''), ...strings.slice(1)];
9
9
  strings[strings.length - 1] = strings.at(-1).replace(emptyEndRe, '');
10
10
  }
11
11
  strings
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brightspace-ui/core",
3
- "version": "3.268.2",
3
+ "version": "3.269.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",
@@ -55,6 +55,7 @@
55
55
  "@rollup/plugin-dynamic-import-vars": "^2",
56
56
  "@rollup/plugin-node-resolve": "^16",
57
57
  "@rollup/plugin-replace": "^6",
58
+ "@stylistic/eslint-plugin": "^5",
58
59
  "@web/dev-server": "^0.4",
59
60
  "chalk": "^5",
60
61
  "eslint": "^9",
@@ -1,96 +0,0 @@
1
- @use "../../colors/colors.scss";
2
-
3
- @mixin d2l-input-select() {
4
- -webkit-appearance: none;
5
- -moz-appearance: none;
6
- appearance: none;
7
- background-origin: border-box;
8
- background-position: center right 17px;
9
- background-repeat: no-repeat;
10
- background-size: 11px 7px;
11
- border-radius: 0.3rem;
12
- border-style: solid;
13
- box-sizing: border-box;
14
- color: colors.$d2l-color-ferrite;
15
- display: inline-block;
16
- font-family: inherit;
17
- font-size: 0.8rem;
18
- font-weight: 400;
19
- height: auto;
20
- letter-spacing: 0.02rem;
21
- line-height: 1.2rem;
22
- margin: 0;
23
- max-height: calc(2rem + 2px);
24
- vertical-align: middle;
25
- &,
26
- &:hover:disabled {
27
- background-color: #ffffff;
28
- border-color: colors.$d2l-color-galena;
29
- border-width: 1px;
30
- box-shadow: inset 0 2px 0 0 rgba(177, 185, 190, 0.2); /* corundum */
31
- padding: 0.4rem 0.75rem;
32
- }
33
- &,
34
- &:disabled,
35
- &:hover:disabled,
36
- &:focus:disabled {
37
- background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTEiIGhlaWdodD0iNyIgdmlld0JveD0iMCAwIDExIDciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZD0iTTEgMmw0LjUgNE0xMCAyTDUuNSA2IiBzdHJva2U9IiM1NjVBNUMiIHN0cm9rZS13aWR0aD0iMiIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KPC9zdmc+");
38
- }
39
- &,
40
- &:disabled,
41
- &:hover:disabled,
42
- &:focus:disabled {
43
- padding-right: calc(2px + 0.8rem + 1px + 11px + 16px);
44
- }
45
- &:hover,
46
- &:focus {
47
- border-color: colors.$d2l-color-celestine;
48
- border-width: 2px;
49
- outline: none;
50
- padding: calc(0.4rem - 1px) calc(0.75rem - 1px);
51
- padding-right: calc(2px + 0.8rem + 1px + 11px + 16px - 1px);
52
- }
53
- &[aria-invalid="true"] {
54
- background-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTEiIGhlaWdodD0iNyIgdmlld0JveD0iMCAwIDExIDciIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZD0iTTEgMmw0LjUgNE0xMCAyTDUuNSA2IiBzdHJva2U9IiM1NjVBNUMiIHN0cm9rZS13aWR0aD0iMiIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiLz4KPC9zdmc+"), url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8cGF0aCBmaWxsPSIjY2QyMDI2IiBkPSJNMTcuNzkgMTUuMTFsLTctMTRhMiAyIDAgMCAwLTMuNTggMGwtNyAxNGExLjk3NSAxLjk3NSAwIDAgMCAuMDkgMS45NEEyIDIgMCAwIDAgMiAxOGgxNGExLjk5NCAxLjk5NCAwIDAgMCAxLjctLjk1IDEuOTY3IDEuOTY3IDAgMCAwIC4wOS0xLjk0ek05IDE2YTEuNSAxLjUgMCAxIDEgMS41LTEuNUExLjUgMS41IDAgMCAxIDkgMTZ6bS45OC00LjgwNmExIDEgMCAwIDEtMS45NiAwbC0uOTktNUExIDEgMCAwIDEgOC4wMSA1aDEuOTgzYTEgMSAwIDAgMSAuOTggMS4xOTR6Ii8+Cjwvc3ZnPgo=");
55
- background-position: center right 17px, center right calc(1px + 11px + 17px);
56
- background-repeat: no-repeat, no-repeat;
57
- background-size: 11px 7px, 0.8rem 0.8rem;
58
- border-color: colors.$d2l-color-cinnabar;
59
- }
60
- &:disabled {
61
- opacity: 0.5;
62
- }
63
- /* IE11 to prevent selection styling */
64
- &:focus::-ms-value,
65
- &:hover::-ms-value {
66
- background-color: transparent;
67
- color: colors.$d2l-color-ferrite;
68
- }
69
- /* IE11 to hide the native chevron */
70
- &::-ms-expand {
71
- display: none;
72
- }
73
- /* Prevents dotted outline when focused in Firefox */
74
- &:-moz-focusring {
75
- color: transparent;
76
- text-shadow: 0 0 0 #000000;
77
- }
78
- [dir="rtl"] & {
79
- background-position: center left 17px;
80
- &,
81
- &:disabled,
82
- &:hover:disabled,
83
- &:focus:disabled {
84
- padding-left: calc(2px + 0.8rem + 1px + 11px + 16px);
85
- padding-right: 0.75rem;
86
- }
87
- &:hover,
88
- &:focus {
89
- padding-left: calc(2px + 0.8rem + 1px + 11px + 16px - 1px);
90
- padding-right: calc(0.75rem - 1px);
91
- }
92
- &[aria-invalid="true"] {
93
- background-position: center left 17px, center left calc(1px + 11px + 17px);
94
- }
95
- }
96
- }