@brightspace-ui/core 3.271.1 → 3.271.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.
@@ -58,7 +58,7 @@ Use an inline alert if there is important information a user needs to know while
58
58
  * Don't display more than one paragraph of text
59
59
  * Avoid overusing them — the more commonly alerts appear, the less effective they will be
60
60
  * Don't use them for promotional material or information that is not relevant to the user’s workflow
61
- * Don’t use them for validation errors – instead, use the [Form](../../components/form) component for a consistent user experience
61
+ * Don’t use them for validation errors – instead, use the [Form](../../components/form-layout-validation/#d2l-form) component for a consistent user experience
62
62
  <!-- docs: end donts -->
63
63
  <!-- docs: end best practices -->
64
64
 
@@ -22,10 +22,10 @@ class FloatingButtons extends LoadingCompleteMixin(LitElement) {
22
22
  * @type {boolean}
23
23
  */
24
24
  alwaysFloat: { type: Boolean, attribute: 'always-float', reflect: true },
25
- _containerMarginLeft: { attribute: false, type: String },
26
- _containerMarginRight: { attribute: false, type: String },
25
+ _containerMarginLeft: { state: true },
26
+ _containerMarginRight: { state: true },
27
27
  _floating: { type: Boolean, reflect: true },
28
- _innerContainerLeft: { attribute: false, type: String }
28
+ _innerContainerLeft: { state: true }
29
29
  };
30
30
 
31
31
  static styles = css`
@@ -22,7 +22,7 @@ class DemoSnippet extends LitElement {
22
22
  overflowHidden: { type: Boolean, reflect: true, attribute: 'overflow-hidden' },
23
23
  _code: { type: String },
24
24
  _fullscreen: { state: true },
25
- _hasSkeleton: { type: Boolean, attribute: false },
25
+ _hasSkeleton: { state: true },
26
26
  _settingsPeek: { state: true },
27
27
  _skeletonOn: { type: Boolean, reflect: false }
28
28
  };
@@ -52,7 +52,7 @@ class Dialog extends PropertyRequiredMixin(LocalizeCoreElement(AsyncContainerMix
52
52
  * The preferred width (unit-less) for the dialog
53
53
  */
54
54
  width: { type: Number },
55
- _hasFooterContent: { type: Boolean, attribute: false }
55
+ _hasFooterContent: { state: true }
56
56
  };
57
57
 
58
58
  static styles = [_generateResetStyles(':host'), dialogStyles, heading3Styles, css`
@@ -88,12 +88,12 @@ class Filter extends FocusMixin(LocalizeCoreElement(LitElement)) {
88
88
  * @type {string}
89
89
  */
90
90
  text: { type: String },
91
- _activeDimensionKey: { type: String, attribute: false },
92
- _dimensions: { type: Array, attribute: false },
91
+ _activeDimensionKey: { state: true },
92
+ _dimensions: { state: true },
93
93
  _displayKeyboardTooltip: { state: true },
94
94
  _ignoreSlotChanges: { type: Boolean },
95
- _minWidth: { type: Number, attribute: false },
96
- _totalAppliedCount: { type: Number, attribute: false }
95
+ _minWidth: { state: true },
96
+ _totalAppliedCount: { state: true }
97
97
  };
98
98
 
99
99
  static styles = [bodyCompactStyles, bodySmallStyles, bodyStandardStyles, heading4Styles, offscreenStyles, css`
@@ -108,7 +108,7 @@ export const FormElementMixin = superclass => class extends LocalizeCoreElement(
108
108
  * @ignore
109
109
  */
110
110
  childErrors: { type: Object, attribute: false },
111
- _errors: { type: Array, attribute: false }
111
+ _errors: { state: true }
112
112
  };
113
113
 
114
114
  constructor() {
@@ -9,7 +9,7 @@ class FormErrorSummary extends LocalizeCoreElement(LitElement) {
9
9
 
10
10
  static properties = {
11
11
  errors: { type: Object, attribute: false },
12
- _expanded: { type: Boolean, attribute: false },
12
+ _expanded: { state: true },
13
13
  _hasTopMargin: { type: Boolean, attribute: '_has-top-margin', reflect: true },
14
14
  _hasErrors: { type: Boolean, attribute: '_has-errors', reflect: true },
15
15
  };
@@ -32,7 +32,7 @@ class InputDateTimeRangeTo extends SkeletonMixin(LocalizeCoreElement(LitElement)
32
32
  * @type {boolean}
33
33
  */
34
34
  topMargin: { attribute: 'top-margin', type: Boolean },
35
- _blockDisplay: { attribute: false, type: Boolean }
35
+ _blockDisplay: { state: true }
36
36
  };
37
37
 
38
38
  static styles = [super.styles, bodySmallStyles, css`
@@ -185,7 +185,7 @@ class InputText extends InputInlineHelpMixin(PropertyRequiredMixin(FocusMixin(La
185
185
  */
186
186
  valueAlign: { attribute: 'value-align', type: String },
187
187
  _firstSlotWidth: { type: Number },
188
- _hasAfterContent: { type: Boolean, attribute: false },
188
+ _hasAfterContent: { state: true },
189
189
  _focused: { type: Boolean },
190
190
  _hovered: { type: Boolean },
191
191
  _lastSlotWidth: { type: Number }
@@ -1,19 +1,20 @@
1
1
  import '../colors/colors.js';
2
2
  import { css, html, LitElement } from 'lit';
3
+ import { FocusMixin } from '../../mixins/focus/focus-mixin.js';
3
4
  import { formatPercent } from '@brightspace-ui/intl';
4
5
  import { ifDefined } from 'lit/directives/if-defined.js';
5
6
  import { PropertyRequiredMixin } from '../../mixins/property-required/property-required-mixin.js';
6
7
 
7
8
  export const DIVIDER_WIDTH = 4;
8
- const KEYBOARD_STEP = 20; // TO DO: Confirm
9
- const KEYBOARD_STEP_LARGE = 80; // TO DO: Confirm
9
+ export const KEYBOARD_STEP = 20; // TO DO: Confirm
10
+ export const KEYBOARD_STEP_LARGE = 80; // TO DO: Confirm
10
11
 
11
12
  const clampedSize = (size, min, max) => Math.max(min, Math.min(size, max));
12
13
 
13
14
  /**
14
15
  * Internal divider used by d2l-page to resize its side-nav and supporting panels.
15
16
  */
16
- class PageDivider extends PropertyRequiredMixin(LitElement) {
17
+ class PageDivider extends FocusMixin(PropertyRequiredMixin(LitElement)) {
17
18
 
18
19
  static properties = {
19
20
  /**
@@ -56,16 +57,22 @@ class PageDivider extends PropertyRequiredMixin(LitElement) {
56
57
  background-color: var(--d2l-color-gypsum);
57
58
  cursor: ew-resize;
58
59
  height: 100%;
59
- outline: none;
60
+ position: relative;
60
61
  width: ${DIVIDER_WIDTH}px;
61
62
  }
62
63
  .divider:hover {
63
64
  background-color: var(--d2l-color-mica);
64
65
  }
65
- .divider:focus {
66
+ .divider:focus-within {
66
67
  background-color: var(--d2l-color-celestine);
67
68
  }
68
69
 
70
+ .slider {
71
+ outline: none;
72
+ position: absolute;
73
+ top: 55px;
74
+ }
75
+
69
76
  :host([panel-type="drawer"]) .divider {
70
77
  background-color: var(--d2l-color-celestine);
71
78
  cursor: ns-resize;
@@ -73,10 +80,17 @@ class PageDivider extends PropertyRequiredMixin(LitElement) {
73
80
  width: 100%;
74
81
  }
75
82
 
83
+ :host([panel-type="drawer"]) .slider {
84
+ inset-inline-end: 18px;
85
+ top: auto;
86
+ }
87
+
76
88
  /* TO DO: Lots more divider styling to come */
77
89
 
78
90
  `;
79
91
 
92
+ static focusElementSelector = '.slider';
93
+
80
94
  constructor() {
81
95
  super();
82
96
 
@@ -95,17 +109,19 @@ class PageDivider extends PropertyRequiredMixin(LitElement) {
95
109
  }
96
110
 
97
111
  return html`
98
- <div
99
- class="divider"
100
- role="slider"
101
- tabindex="0"
102
- aria-label="${this.label}"
103
- aria-orientation="${this.panelType === 'panel' ? 'horizontal' : 'vertical'}"
104
- aria-valuemax="${ifDefined(ariaValues.max)}"
105
- aria-valuemin="${ifDefined(ariaValues.min)}"
106
- aria-valuenow="${ifDefined(ariaValues.now)}"
107
- aria-valuetext="${ifDefined(ariaValues.text)}"
108
- @keydown="${this.#handleKeyDown}">
112
+ <div class="divider" @pointerdown="${this.#handlePointerDown}">
113
+ <div
114
+ class="slider"
115
+ role="slider"
116
+ tabindex="0"
117
+ aria-label="${this.label}"
118
+ aria-orientation="${this.panelType === 'panel' ? 'horizontal' : 'vertical'}"
119
+ aria-valuemax="${ifDefined(ariaValues.max)}"
120
+ aria-valuemin="${ifDefined(ariaValues.min)}"
121
+ aria-valuenow="${ifDefined(ariaValues.now)}"
122
+ aria-valuetext="${ifDefined(ariaValues.text)}"
123
+ @keydown="${this.#handleKeyDown}">
124
+ </div>
109
125
  </div>
110
126
  `;
111
127
  }
@@ -145,6 +161,11 @@ class PageDivider extends PropertyRequiredMixin(LitElement) {
145
161
  this.#sendResizeEvent(requestedSize);
146
162
  }
147
163
 
164
+ #handlePointerDown(e) {
165
+ e.preventDefault();
166
+ this.focus();
167
+ }
168
+
148
169
  #sendResizeEvent(requestedSize) {
149
170
  const clampedRequestedSize = clampedSize(requestedSize, this.minSize, this.maxSize);
150
171
  /** @ignore */
@@ -132,13 +132,18 @@ class Page extends ProviderMixin(LocalizeCoreElement(LitElement)) {
132
132
  }
133
133
 
134
134
  .side-nav-panel,
135
- .supporting-panel {
135
+ .supporting-panel,
136
+ .divider {
136
137
  max-height: calc(100vh - var(--d2l-page-header-height, 0) - var(--d2l-page-footer-height, 0));
137
- overflow: clip auto;
138
138
  position: sticky;
139
139
  top: var(--d2l-page-header-height, 0);
140
140
  }
141
141
 
142
+ .side-nav-panel,
143
+ .supporting-panel {
144
+ overflow: clip auto;
145
+ }
146
+
142
147
  .footer:not([hidden]),
143
148
  .floating-buttons-container {
144
149
  display: inline;
@@ -294,6 +299,7 @@ class Page extends ProviderMixin(LocalizeCoreElement(LitElement)) {
294
299
  #renderDivider(panelKey, label, panelPosition) {
295
300
  return html`
296
301
  <d2l-page-divider-internal
302
+ class="divider"
297
303
  data-panel-key="${panelKey}"
298
304
  label="${label}"
299
305
  current-size="${this._panelState.getSize(panelKey)}"
@@ -15,7 +15,7 @@ export const SelectionObserverMixin = superclass => class extends superclass {
15
15
  * @type {object}
16
16
  */
17
17
  selectionInfo: { type: Object },
18
- _provider: { type: Object, attribute: false }
18
+ _provider: { state: true }
19
19
  };
20
20
 
21
21
  constructor() {
@@ -146,7 +146,7 @@ For the example below:
146
146
  class MySortableTableElem extends LitElement {
147
147
 
148
148
  static properties = {
149
- _sortDesc: { attribute: false, type: Boolean }
149
+ _sortDesc: { state: true }
150
150
  };
151
151
 
152
152
  static styles = tableStyles;
@@ -692,8 +692,8 @@
692
692
  "properties": [
693
693
  {
694
694
  "name": "properties",
695
- "type": "{ alwaysFloat: boolean; _containerMarginLeft: { attribute: boolean; type: StringConstructor; }; _containerMarginRight: { attribute: boolean; type: StringConstructor; }; _floating: { ...; }; _innerContainerLeft: { ...; }; }",
696
- "default": "{\"alwaysFloat\":{\"type\":\"Boolean\",\"attribute\":\"always-float\",\"reflect\":true},\"_containerMarginLeft\":{\"attribute\":false,\"type\":\"String\"},\"_containerMarginRight\":{\"attribute\":false,\"type\":\"String\"},\"_floating\":{\"type\":\"Boolean\",\"reflect\":true},\"_innerContainerLeft\":{\"attribute\":false,\"type\":\"String\"}}"
695
+ "type": "{ alwaysFloat: boolean; _containerMarginLeft: { state: boolean; }; _containerMarginRight: { state: boolean; }; _floating: { type: BooleanConstructor; reflect: boolean; }; _innerContainerLeft: { ...; }; }",
696
+ "default": "{\"alwaysFloat\":{\"type\":\"Boolean\",\"attribute\":\"always-float\",\"reflect\":true},\"_containerMarginLeft\":{\"state\":true},\"_containerMarginRight\":{\"state\":true},\"_floating\":{\"type\":\"Boolean\",\"reflect\":true},\"_innerContainerLeft\":{\"state\":true}}"
697
697
  },
698
698
  {
699
699
  "name": "styles",
@@ -1242,7 +1242,7 @@
1242
1242
  {
1243
1243
  "name": "properties",
1244
1244
  "type": "{ codeViewHidden: { type: BooleanConstructor; reflect: boolean; attribute: string; }; fullWidth: { type: BooleanConstructor; reflect: boolean; attribute: string; }; ... 6 more ...; _skeletonOn: { ...; }; }",
1245
- "default": "{\"codeViewHidden\":{\"type\":\"Boolean\",\"reflect\":true,\"attribute\":\"code-view-hidden\"},\"fullWidth\":{\"type\":\"Boolean\",\"reflect\":true,\"attribute\":\"full-width\"},\"noPadding\":{\"type\":\"Boolean\",\"reflect\":true,\"attribute\":\"no-padding\"},\"overflowHidden\":{\"type\":\"Boolean\",\"reflect\":true,\"attribute\":\"overflow-hidden\"},\"_code\":{\"type\":\"String\"},\"_fullscreen\":{\"state\":true},\"_hasSkeleton\":{\"type\":\"Boolean\",\"attribute\":false},\"_settingsPeek\":{\"state\":true},\"_skeletonOn\":{\"type\":\"Boolean\",\"reflect\":false}}"
1245
+ "default": "{\"codeViewHidden\":{\"type\":\"Boolean\",\"reflect\":true,\"attribute\":\"code-view-hidden\"},\"fullWidth\":{\"type\":\"Boolean\",\"reflect\":true,\"attribute\":\"full-width\"},\"noPadding\":{\"type\":\"Boolean\",\"reflect\":true,\"attribute\":\"no-padding\"},\"overflowHidden\":{\"type\":\"Boolean\",\"reflect\":true,\"attribute\":\"overflow-hidden\"},\"_code\":{\"type\":\"String\"},\"_fullscreen\":{\"state\":true},\"_hasSkeleton\":{\"state\":true},\"_settingsPeek\":{\"state\":true},\"_skeletonOn\":{\"type\":\"Boolean\",\"reflect\":false}}"
1246
1246
  },
1247
1247
  {
1248
1248
  "name": "styles",
@@ -1573,7 +1573,7 @@
1573
1573
  {
1574
1574
  "name": "properties",
1575
1575
  "type": "{ async: { type: BooleanConstructor; }; critical: { type: BooleanConstructor; }; describeContent: { type: BooleanConstructor; attribute: string; }; fullHeight: { ...; }; titleText: { ...; }; width: { ...; }; _hasFooterContent: { ...; }; }",
1576
- "default": "{\"async\":{\"type\":\"Boolean\"},\"critical\":{\"type\":\"Boolean\"},\"describeContent\":{\"type\":\"Boolean\",\"attribute\":\"describe-content\"},\"fullHeight\":{\"type\":\"Boolean\",\"attribute\":\"full-height\"},\"titleText\":{\"type\":\"String\",\"attribute\":\"title-text\",\"required\":true},\"width\":{\"type\":\"Number\"},\"_hasFooterContent\":{\"type\":\"Boolean\",\"attribute\":false}}"
1576
+ "default": "{\"async\":{\"type\":\"Boolean\"},\"critical\":{\"type\":\"Boolean\"},\"describeContent\":{\"type\":\"Boolean\",\"attribute\":\"describe-content\"},\"fullHeight\":{\"type\":\"Boolean\",\"attribute\":\"full-height\"},\"titleText\":{\"type\":\"String\",\"attribute\":\"title-text\",\"required\":true},\"width\":{\"type\":\"Number\"},\"_hasFooterContent\":{\"state\":true}}"
1577
1577
  },
1578
1578
  {
1579
1579
  "name": "focusableContentElemPresent",
@@ -2648,8 +2648,8 @@
2648
2648
  "properties": [
2649
2649
  {
2650
2650
  "name": "properties",
2651
- "type": "{ disabled: boolean; opened: boolean; text: string; _activeDimensionKey: { type: StringConstructor; attribute: boolean; }; _dimensions: { type: ArrayConstructor; attribute: boolean; }; _displayKeyboardTooltip: { ...; }; _ignoreSlotChanges: { ...; }; _minWidth: { ...; }; _totalAppliedCount: { ...; }; }",
2652
- "default": "{\"disabled\":{\"type\":\"Boolean\",\"reflect\":true},\"opened\":{\"type\":\"Boolean\",\"reflect\":true},\"text\":{\"type\":\"String\"},\"_activeDimensionKey\":{\"type\":\"String\",\"attribute\":false},\"_dimensions\":{\"type\":\"Array\",\"attribute\":false},\"_displayKeyboardTooltip\":{\"state\":true},\"_ignoreSlotChanges\":{\"type\":\"Boolean\"},\"_minWidth\":{\"type\":\"Number\",\"attribute\":false},\"_totalAppliedCount\":{\"type\":\"Number\",\"attribute\":false}}"
2651
+ "type": "{ disabled: boolean; opened: boolean; text: string; _activeDimensionKey: { state: boolean; }; _dimensions: { state: boolean; }; _displayKeyboardTooltip: { state: boolean; }; _ignoreSlotChanges: { ...; }; _minWidth: { ...; }; _totalAppliedCount: { ...; }; }",
2652
+ "default": "{\"disabled\":{\"type\":\"Boolean\",\"reflect\":true},\"opened\":{\"type\":\"Boolean\",\"reflect\":true},\"text\":{\"type\":\"String\"},\"_activeDimensionKey\":{\"state\":true},\"_dimensions\":{\"state\":true},\"_displayKeyboardTooltip\":{\"state\":true},\"_ignoreSlotChanges\":{\"type\":\"Boolean\"},\"_minWidth\":{\"state\":true},\"_totalAppliedCount\":{\"state\":true}}"
2653
2653
  },
2654
2654
  {
2655
2655
  "name": "styles",
@@ -2767,8 +2767,8 @@
2767
2767
  "properties": [
2768
2768
  {
2769
2769
  "name": "properties",
2770
- "type": "{ _expanded: { type: BooleanConstructor; attribute: boolean; }; }",
2771
- "default": "{\"_expanded\":{\"type\":\"Boolean\",\"attribute\":false}}"
2770
+ "type": "{ _expanded: { state: boolean; }; }",
2771
+ "default": "{\"_expanded\":{\"state\":true}}"
2772
2772
  },
2773
2773
  {
2774
2774
  "name": "styles",
@@ -2783,8 +2783,8 @@
2783
2783
  "properties": [
2784
2784
  {
2785
2785
  "name": "properties",
2786
- "type": "{ errors: { type: ObjectConstructor; attribute: boolean; }; _expanded: { type: BooleanConstructor; attribute: boolean; }; _hasTopMargin: { type: BooleanConstructor; attribute: string; reflect: boolean; }; _hasErrors: { ...; }; }",
2787
- "default": "{\"errors\":{\"type\":\"Object\",\"attribute\":false},\"_expanded\":{\"type\":\"Boolean\",\"attribute\":false},\"_hasTopMargin\":{\"type\":\"Boolean\",\"attribute\":\"_has-top-margin\",\"reflect\":true},\"_hasErrors\":{\"type\":\"Boolean\",\"attribute\":\"_has-errors\",\"reflect\":true}}"
2786
+ "type": "{ errors: { type: ObjectConstructor; attribute: boolean; }; _expanded: { state: boolean; }; _hasTopMargin: { type: BooleanConstructor; attribute: string; reflect: boolean; }; _hasErrors: { ...; }; }",
2787
+ "default": "{\"errors\":{\"type\":\"Object\",\"attribute\":false},\"_expanded\":{\"state\":true},\"_hasTopMargin\":{\"type\":\"Boolean\",\"attribute\":\"_has-top-margin\",\"reflect\":true},\"_hasErrors\":{\"type\":\"Boolean\",\"attribute\":\"_has-errors\",\"reflect\":true}}"
2788
2788
  },
2789
2789
  {
2790
2790
  "name": "styles",
@@ -3384,8 +3384,8 @@
3384
3384
  },
3385
3385
  {
3386
3386
  "name": "properties",
3387
- "type": "{ blockDisplay: boolean; displayTo: boolean; topMargin: boolean; _blockDisplay: { attribute: boolean; type: BooleanConstructor; }; }",
3388
- "default": "{\"blockDisplay\":{\"attribute\":\"block-display\",\"type\":\"Boolean\"},\"displayTo\":{\"attribute\":\"display-to\",\"type\":\"Boolean\"},\"topMargin\":{\"attribute\":\"top-margin\",\"type\":\"Boolean\"},\"_blockDisplay\":{\"attribute\":false,\"type\":\"Boolean\"}}"
3387
+ "type": "{ blockDisplay: boolean; displayTo: boolean; topMargin: boolean; _blockDisplay: { state: boolean; }; }",
3388
+ "default": "{\"blockDisplay\":{\"attribute\":\"block-display\",\"type\":\"Boolean\"},\"displayTo\":{\"attribute\":\"display-to\",\"type\":\"Boolean\"},\"topMargin\":{\"attribute\":\"top-margin\",\"type\":\"Boolean\"},\"_blockDisplay\":{\"state\":true}}"
3389
3389
  },
3390
3390
  {
3391
3391
  "name": "skeleton",
@@ -4105,7 +4105,7 @@
4105
4105
  {
4106
4106
  "name": "properties",
4107
4107
  "type": "{ ariaHaspopup: string; ariaInvalid: string; autocomplete: string; autofocus: { type: BooleanConstructor; }; description: string; disabled: boolean; hideInvalidIcon: boolean; ... 26 more ...; _lastSlotWidth: { ...; }; }",
4108
- "default": "{\"ariaHaspopup\":{\"type\":\"String\",\"attribute\":\"aria-haspopup\"},\"ariaInvalid\":{\"type\":\"String\",\"attribute\":\"aria-invalid\"},\"autocomplete\":{\"type\":\"String\"},\"autofocus\":{\"type\":\"Boolean\"},\"description\":{\"type\":\"String\",\"reflect\":true},\"disabled\":{\"type\":\"Boolean\",\"reflect\":true},\"hideInvalidIcon\":{\"attribute\":\"hide-invalid-icon\",\"type\":\"Boolean\",\"reflect\":true},\"hideInvalidTooltip\":{\"attribute\":\"hide-invalid-tooltip\",\"type\":\"Boolean\",\"reflect\":true},\"inputWidth\":{\"attribute\":\"input-width\",\"type\":\"String\"},\"instructions\":{\"type\":\"String\",\"attribute\":\"instructions\"},\"labelHidden\":{\"type\":\"Boolean\",\"attribute\":\"label-hidden\"},\"max\":{\"type\":\"String\"},\"maxlength\":{\"type\":\"Number\"},\"min\":{\"type\":\"String\"},\"minlength\":{\"type\":\"Number\"},\"pattern\":{\"type\":\"String\"},\"patternFailureText\":{\"type\":\"String\",\"attribute\":\"pattern-failure-text\"},\"placeholder\":{\"type\":\"String\"},\"preventSubmit\":{\"type\":\"Boolean\",\"attribute\":\"prevent-submit\"},\"readonly\":{\"type\":\"Boolean\"},\"required\":{\"type\":\"Boolean\",\"reflect\":true},\"size\":{\"type\":\"Number\"},\"step\":{\"type\":\"Number\"},\"title\":{\"type\":\"String\"},\"type\":{\"type\":\"String\"},\"unit\":{\"type\":\"String\"},\"unitLabel\":{\"attribute\":\"unit-label\",\"required\":{\"dependentProps\":[\"unit\"]},\"type\":\"String\"},\"value\":{\"type\":\"String\"},\"valueAlign\":{\"attribute\":\"value-align\",\"type\":\"String\"},\"_firstSlotWidth\":{\"type\":\"Number\"},\"_hasAfterContent\":{\"type\":\"Boolean\",\"attribute\":false},\"_focused\":{\"type\":\"Boolean\"},\"_hovered\":{\"type\":\"Boolean\"},\"_lastSlotWidth\":{\"type\":\"Number\"}}"
4108
+ "default": "{\"ariaHaspopup\":{\"type\":\"String\",\"attribute\":\"aria-haspopup\"},\"ariaInvalid\":{\"type\":\"String\",\"attribute\":\"aria-invalid\"},\"autocomplete\":{\"type\":\"String\"},\"autofocus\":{\"type\":\"Boolean\"},\"description\":{\"type\":\"String\",\"reflect\":true},\"disabled\":{\"type\":\"Boolean\",\"reflect\":true},\"hideInvalidIcon\":{\"attribute\":\"hide-invalid-icon\",\"type\":\"Boolean\",\"reflect\":true},\"hideInvalidTooltip\":{\"attribute\":\"hide-invalid-tooltip\",\"type\":\"Boolean\",\"reflect\":true},\"inputWidth\":{\"attribute\":\"input-width\",\"type\":\"String\"},\"instructions\":{\"type\":\"String\",\"attribute\":\"instructions\"},\"labelHidden\":{\"type\":\"Boolean\",\"attribute\":\"label-hidden\"},\"max\":{\"type\":\"String\"},\"maxlength\":{\"type\":\"Number\"},\"min\":{\"type\":\"String\"},\"minlength\":{\"type\":\"Number\"},\"pattern\":{\"type\":\"String\"},\"patternFailureText\":{\"type\":\"String\",\"attribute\":\"pattern-failure-text\"},\"placeholder\":{\"type\":\"String\"},\"preventSubmit\":{\"type\":\"Boolean\",\"attribute\":\"prevent-submit\"},\"readonly\":{\"type\":\"Boolean\"},\"required\":{\"type\":\"Boolean\",\"reflect\":true},\"size\":{\"type\":\"Number\"},\"step\":{\"type\":\"Number\"},\"title\":{\"type\":\"String\"},\"type\":{\"type\":\"String\"},\"unit\":{\"type\":\"String\"},\"unitLabel\":{\"attribute\":\"unit-label\",\"required\":{\"dependentProps\":[\"unit\"]},\"type\":\"String\"},\"value\":{\"type\":\"String\"},\"valueAlign\":{\"attribute\":\"value-align\",\"type\":\"String\"},\"_firstSlotWidth\":{\"type\":\"Number\"},\"_hasAfterContent\":{\"state\":true},\"_focused\":{\"type\":\"Boolean\"},\"_hovered\":{\"type\":\"Boolean\"},\"_lastSlotWidth\":{\"type\":\"Number\"}}"
4109
4109
  }
4110
4110
  ],
4111
4111
  "events": [
@@ -6216,7 +6216,12 @@
6216
6216
  {
6217
6217
  "name": "styles",
6218
6218
  "type": "CSSResult",
6219
- "default": "\"css`\\n\\t\\t:host {\\n\\t\\t\\tflex: none;\\n\\t\\t}\\n\\t\\t.divider {\\n\\t\\t\\tbackground-color: var(--d2l-color-gypsum);\\n\\t\\t\\tcursor: ew-resize;\\n\\t\\t\\theight: 100%;\\n\\t\\t\\toutline: none;\\n\\t\\t\\twidth: ${DIVIDER_WIDTH}px;\\n\\t\\t}\\n\\t\\t.divider:hover {\\n\\t\\t\\tbackground-color: var(--d2l-color-mica);\\n\\t\\t}\\n\\t\\t.divider:focus {\\n\\t\\t\\tbackground-color: var(--d2l-color-celestine);\\n\\t\\t}\\n\\n\\t\\t:host([panel-type=\\\"drawer\\\"]) .divider {\\n\\t\\t\\tbackground-color: var(--d2l-color-celestine);\\n\\t\\t\\tcursor: ns-resize;\\n\\t\\t\\theight: ${DIVIDER_WIDTH}px;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t/* TO DO: Lots more divider styling to come */\\n\\n\\t`\""
6219
+ "default": "\"css`\\n\\t\\t:host {\\n\\t\\t\\tflex: none;\\n\\t\\t}\\n\\t\\t.divider {\\n\\t\\t\\tbackground-color: var(--d2l-color-gypsum);\\n\\t\\t\\tcursor: ew-resize;\\n\\t\\t\\theight: 100%;\\n\\t\\t\\tposition: relative;\\n\\t\\t\\twidth: ${DIVIDER_WIDTH}px;\\n\\t\\t}\\n\\t\\t.divider:hover {\\n\\t\\t\\tbackground-color: var(--d2l-color-mica);\\n\\t\\t}\\n\\t\\t.divider:focus-within {\\n\\t\\t\\tbackground-color: var(--d2l-color-celestine);\\n\\t\\t}\\n\\n\\t\\t.slider {\\n\\t\\t\\toutline: none;\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 55px;\\n\\t\\t}\\n\\n\\t\\t:host([panel-type=\\\"drawer\\\"]) .divider {\\n\\t\\t\\tbackground-color: var(--d2l-color-celestine);\\n\\t\\t\\tcursor: ns-resize;\\n\\t\\t\\theight: ${DIVIDER_WIDTH}px;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\n\\t\\t:host([panel-type=\\\"drawer\\\"]) .slider {\\n\\t\\t\\tinset-inline-end: 18px;\\n\\t\\t\\ttop: auto;\\n\\t\\t}\\n\\n\\t\\t/* TO DO: Lots more divider styling to come */\\n\\n\\t`\""
6220
+ },
6221
+ {
6222
+ "name": "focusElementSelector",
6223
+ "type": "string",
6224
+ "default": "\".slider\""
6220
6225
  },
6221
6226
  {
6222
6227
  "name": "currentSize",
@@ -6489,7 +6494,7 @@
6489
6494
  {
6490
6495
  "name": "styles",
6491
6496
  "type": "CSSResult",
6492
- "default": "\"css`\\n\\t\\t:host {\\n\\t\\t\\t--d2l-page-header-max-width: 1230px;\\n\\t\\t\\t--d2l-page-content-max-width: 1230px;\\n\\t\\t\\t--d2l-page-footer-max-width: 1230px;\\n\\t\\t\\t--d2l-page-margin-inline: auto;\\n\\t\\t\\t--d2l-page-padding: 30px;\\n\\t\\t}\\n\\n\\t\\t:host([width-type=\\\"wide\\\"]) {\\n\\t\\t\\t--d2l-page-header-max-width: 1440px;\\n\\t\\t\\t--d2l-page-content-max-width: 1440px;\\n\\t\\t\\t--d2l-page-footer-max-width: 1440px;\\n\\t\\t}\\n\\n\\t\\t:host([width-type=\\\"fullscreen\\\"]) {\\n\\t\\t\\t--d2l-page-header-max-width: 100%;\\n\\t\\t\\t--d2l-page-content-max-width: 100%;\\n\\t\\t\\t--d2l-page-footer-max-width: 100%;\\n\\t\\t}\\n\\n\\t\\t@media (max-width: 929px) {\\n\\t\\t\\t:host {\\n\\t\\t\\t\\t--d2l-page-padding: 24px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t@media (max-width: 767px) {\\n\\t\\t\\t:host {\\n\\t\\t\\t\\t--d2l-page-padding: 18px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.header {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tz-index: 15; /* To be over sticky content of our core components */\\n\\t\\t}\\n\\n\\t\\t.page.header-sticky .header {\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\ttop: 0;\\n\\t\\t}\\n\\n\\t\\t.content {\\n\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tmargin-inline: var(--d2l-page-margin-inline, 0);\\n\\t\\t\\tmax-width: var(--d2l-page-content-max-width, 100%);\\n\\t\\t\\tpadding-bottom: var(--d2l-page-footer-height, 0); /* Reserve space for fixed footer */\\n\\t\\t}\\n\\t\\t.content.has-panels {\\n\\t\\t\\tmin-height: calc(100vh - var(--d2l-page-header-height-measured, 0px));\\n\\t\\t}\\n\\n\\t\\tmain {\\n\\t\\t\\tflex: 1;\\n\\t\\t\\tmin-width: min(${MAIN_MIN_WIDTH}px, 100%);\\n\\t\\t}\\n\\n\\t\\t.side-nav,\\n\\t\\t.supporting {\\n\\t\\t\\tdisplay: contents;\\n\\t\\t}\\n\\n\\t\\t.side-nav-panel,\\n\\t\\t.supporting-panel {\\n\\t\\t\\tmax-height: calc(100vh - var(--d2l-page-header-height, 0) - var(--d2l-page-footer-height, 0));\\n\\t\\t\\toverflow: clip auto;\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\ttop: var(--d2l-page-header-height, 0);\\n\\t\\t}\\n\\n\\t\\t.footer:not([hidden]),\\n\\t\\t.floating-buttons-container {\\n\\t\\t\\tdisplay: inline;\\n\\t\\t}\\n\\t\\t.fixed-footer {\\n\\t\\t\\tbackground-color: white;\\n\\t\\t\\tbox-shadow: 0 -2px 4px rgba(32, 33, 34, 0.2); /* ferrite */\\n\\t\\t\\tinset: auto 0 0;\\n\\t\\t\\tpadding-block-start: 0.75rem;\\n\\t\\t\\tposition: fixed;\\n\\t\\t\\tz-index: 10; /* To be over sticky content of our core components */\\n\\t\\t}\\n\\t\\t.footer-contents {\\n\\t\\t\\tmargin-inline: var(--d2l-page-margin-inline, 0);\\n\\t\\t\\tmax-width: var(--d2l-page-footer-max-width, 100%);\\n\\t\\t}\\n\\t`\""
6497
+ "default": "\"css`\\n\\t\\t:host {\\n\\t\\t\\t--d2l-page-header-max-width: 1230px;\\n\\t\\t\\t--d2l-page-content-max-width: 1230px;\\n\\t\\t\\t--d2l-page-footer-max-width: 1230px;\\n\\t\\t\\t--d2l-page-margin-inline: auto;\\n\\t\\t\\t--d2l-page-padding: 30px;\\n\\t\\t}\\n\\n\\t\\t:host([width-type=\\\"wide\\\"]) {\\n\\t\\t\\t--d2l-page-header-max-width: 1440px;\\n\\t\\t\\t--d2l-page-content-max-width: 1440px;\\n\\t\\t\\t--d2l-page-footer-max-width: 1440px;\\n\\t\\t}\\n\\n\\t\\t:host([width-type=\\\"fullscreen\\\"]) {\\n\\t\\t\\t--d2l-page-header-max-width: 100%;\\n\\t\\t\\t--d2l-page-content-max-width: 100%;\\n\\t\\t\\t--d2l-page-footer-max-width: 100%;\\n\\t\\t}\\n\\n\\t\\t@media (max-width: 929px) {\\n\\t\\t\\t:host {\\n\\t\\t\\t\\t--d2l-page-padding: 24px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t@media (max-width: 767px) {\\n\\t\\t\\t:host {\\n\\t\\t\\t\\t--d2l-page-padding: 18px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t.header {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\tz-index: 15; /* To be over sticky content of our core components */\\n\\t\\t}\\n\\n\\t\\t.page.header-sticky .header {\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\ttop: 0;\\n\\t\\t}\\n\\n\\t\\t.content {\\n\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tmargin-inline: var(--d2l-page-margin-inline, 0);\\n\\t\\t\\tmax-width: var(--d2l-page-content-max-width, 100%);\\n\\t\\t\\tpadding-bottom: var(--d2l-page-footer-height, 0); /* Reserve space for fixed footer */\\n\\t\\t}\\n\\t\\t.content.has-panels {\\n\\t\\t\\tmin-height: calc(100vh - var(--d2l-page-header-height-measured, 0px));\\n\\t\\t}\\n\\n\\t\\tmain {\\n\\t\\t\\tflex: 1;\\n\\t\\t\\tmin-width: min(${MAIN_MIN_WIDTH}px, 100%);\\n\\t\\t}\\n\\n\\t\\t.side-nav,\\n\\t\\t.supporting {\\n\\t\\t\\tdisplay: contents;\\n\\t\\t}\\n\\n\\t\\t.side-nav-panel,\\n\\t\\t.supporting-panel,\\n\\t\\t.divider {\\n\\t\\t\\tmax-height: calc(100vh - var(--d2l-page-header-height, 0) - var(--d2l-page-footer-height, 0));\\n\\t\\t\\tposition: sticky;\\n\\t\\t\\ttop: var(--d2l-page-header-height, 0);\\n\\t\\t}\\n\\n\\t\\t.side-nav-panel,\\n\\t\\t.supporting-panel {\\n\\t\\t\\toverflow: clip auto;\\n\\t\\t}\\n\\n\\t\\t.footer:not([hidden]),\\n\\t\\t.floating-buttons-container {\\n\\t\\t\\tdisplay: inline;\\n\\t\\t}\\n\\t\\t.fixed-footer {\\n\\t\\t\\tbackground-color: white;\\n\\t\\t\\tbox-shadow: 0 -2px 4px rgba(32, 33, 34, 0.2); /* ferrite */\\n\\t\\t\\tinset: auto 0 0;\\n\\t\\t\\tpadding-block-start: 0.75rem;\\n\\t\\t\\tposition: fixed;\\n\\t\\t\\tz-index: 10; /* To be over sticky content of our core components */\\n\\t\\t}\\n\\t\\t.footer-contents {\\n\\t\\t\\tmargin-inline: var(--d2l-page-margin-inline, 0);\\n\\t\\t\\tmax-width: var(--d2l-page-footer-max-width, 100%);\\n\\t\\t}\\n\\t`\""
6493
6498
  },
6494
6499
  {
6495
6500
  "name": "widthType",
@@ -6945,8 +6950,8 @@
6945
6950
  },
6946
6951
  {
6947
6952
  "name": "properties",
6948
- "type": "{ selectionFor: string; selectionInfo: any; _provider: { type: ObjectConstructor; attribute: boolean; }; }",
6949
- "default": "{\"selectionFor\":{\"type\":\"String\",\"reflect\":true,\"attribute\":\"selection-for\"},\"selectionInfo\":{\"type\":\"Object\"},\"_provider\":{\"type\":\"Object\",\"attribute\":false}}"
6953
+ "type": "{ selectionFor: string; selectionInfo: any; _provider: { state: boolean; }; }",
6954
+ "default": "{\"selectionFor\":{\"type\":\"String\",\"reflect\":true,\"attribute\":\"selection-for\"},\"selectionInfo\":{\"type\":\"Object\"},\"_provider\":{\"state\":true}}"
6950
6955
  },
6951
6956
  {
6952
6957
  "name": "disabled",
@@ -7184,8 +7189,8 @@
7184
7189
  },
7185
7190
  {
7186
7191
  "name": "properties",
7187
- "type": "{ selectionFor: string; selectionInfo: any; _provider: { type: ObjectConstructor; attribute: boolean; }; }",
7188
- "default": "{\"selectionFor\":{\"type\":\"String\",\"reflect\":true,\"attribute\":\"selection-for\"},\"selectionInfo\":{\"type\":\"Object\"},\"_provider\":{\"type\":\"Object\",\"attribute\":false}}"
7192
+ "type": "{ selectionFor: string; selectionInfo: any; _provider: { state: boolean; }; }",
7193
+ "default": "{\"selectionFor\":{\"type\":\"String\",\"reflect\":true,\"attribute\":\"selection-for\"},\"selectionInfo\":{\"type\":\"Object\"},\"_provider\":{\"state\":true}}"
7189
7194
  },
7190
7195
  {
7191
7196
  "name": "selectionInfo"
@@ -7287,8 +7292,8 @@
7287
7292
  "properties": [
7288
7293
  {
7289
7294
  "name": "properties",
7290
- "type": "{ selectionFor: string; selectionInfo: any; _provider: { type: ObjectConstructor; attribute: boolean; }; }",
7291
- "default": "{\"selectionFor\":{\"type\":\"String\",\"reflect\":true,\"attribute\":\"selection-for\"},\"selectionInfo\":{\"type\":\"Object\"},\"_provider\":{\"type\":\"Object\",\"attribute\":false}}"
7295
+ "type": "{ selectionFor: string; selectionInfo: any; _provider: { state: boolean; }; }",
7296
+ "default": "{\"selectionFor\":{\"type\":\"String\",\"reflect\":true,\"attribute\":\"selection-for\"},\"selectionInfo\":{\"type\":\"Object\"},\"_provider\":{\"state\":true}}"
7292
7297
  },
7293
7298
  {
7294
7299
  "name": "selectionInfo"
@@ -7306,8 +7311,8 @@
7306
7311
  "properties": [
7307
7312
  {
7308
7313
  "name": "properties",
7309
- "type": "{ selectionFor: string; selectionInfo: any; _provider: { type: ObjectConstructor; attribute: boolean; }; }",
7310
- "default": "{\"selectionFor\":{\"type\":\"String\",\"reflect\":true,\"attribute\":\"selection-for\"},\"selectionInfo\":{\"type\":\"Object\"},\"_provider\":{\"type\":\"Object\",\"attribute\":false}}"
7314
+ "type": "{ selectionFor: string; selectionInfo: any; _provider: { state: boolean; }; }",
7315
+ "default": "{\"selectionFor\":{\"type\":\"String\",\"reflect\":true,\"attribute\":\"selection-for\"},\"selectionInfo\":{\"type\":\"Object\"},\"_provider\":{\"state\":true}}"
7311
7316
  },
7312
7317
  {
7313
7318
  "name": "selectionInfo"
@@ -8766,7 +8771,7 @@
8766
8771
  {
8767
8772
  "name": "properties",
8768
8773
  "type": "{ backgroundShading: \"none\" | \"primary\" | \"secondary\"; primaryOverflow: \"default\" | \"hidden\"; resizable: boolean; secondaryFirst: boolean; storageKey: string; widthType: \"normal\" | \"fullscreen\"; ... 7 more ...; _sizeAsPercent: { ...; }; }",
8769
- "default": "{\"backgroundShading\":{\"type\":\"String\",\"attribute\":\"background-shading\"},\"primaryOverflow\":{\"attribute\":\"primary-overflow\",\"reflect\":true,\"type\":\"String\"},\"resizable\":{\"type\":\"Boolean\",\"reflect\":true},\"secondaryFirst\":{\"type\":\"Boolean\",\"attribute\":\"secondary-first\",\"reflect\":true},\"storageKey\":{\"type\":\"String\",\"attribute\":\"storage-key\"},\"widthType\":{\"type\":\"String\",\"attribute\":\"width-type\",\"reflect\":true},\"hasForm\":{\"type\":\"Boolean\",\"attribute\":\"has-form\"},\"_formErrorSummary\":{\"type\":\"Array\"},\"_hasFooter\":{\"type\":\"Boolean\",\"attribute\":false},\"_isCollapsed\":{\"type\":\"Boolean\",\"attribute\":false},\"_isExpanded\":{\"type\":\"Boolean\",\"attribute\":false},\"_isMobile\":{\"type\":\"Boolean\",\"attribute\":false},\"_size\":{\"type\":\"Number\",\"attribute\":false},\"_sizeAsPercent\":{\"state\":true}}"
8774
+ "default": "{\"backgroundShading\":{\"type\":\"String\",\"attribute\":\"background-shading\"},\"primaryOverflow\":{\"attribute\":\"primary-overflow\",\"reflect\":true,\"type\":\"String\"},\"resizable\":{\"type\":\"Boolean\",\"reflect\":true},\"secondaryFirst\":{\"type\":\"Boolean\",\"attribute\":\"secondary-first\",\"reflect\":true},\"storageKey\":{\"type\":\"String\",\"attribute\":\"storage-key\"},\"widthType\":{\"type\":\"String\",\"attribute\":\"width-type\",\"reflect\":true},\"hasForm\":{\"type\":\"Boolean\",\"attribute\":\"has-form\"},\"_formErrorSummary\":{\"type\":\"Array\"},\"_hasFooter\":{\"state\":true},\"_isCollapsed\":{\"state\":true},\"_isExpanded\":{\"state\":true},\"_isMobile\":{\"state\":true},\"_size\":{\"state\":true},\"_sizeAsPercent\":{\"state\":true}}"
8770
8775
  },
8771
8776
  {
8772
8777
  "name": "styles",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brightspace-ui/core",
3
- "version": "3.271.1",
3
+ "version": "3.271.3",
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",
@@ -61,7 +61,6 @@
61
61
  "eslint": "^9",
62
62
  "eslint-config-brightspace": "^4",
63
63
  "eslint-plugin-unicorn": "^65",
64
- "glob-all": "^3",
65
64
  "messageformat-validator": "^3.0.0-beta",
66
65
  "mocha": "^11",
67
66
  "rollup": "^4",
@@ -596,11 +596,11 @@ class TemplatePrimarySecondary extends LocalizeCoreElement(LitElement) {
596
596
  */
597
597
  hasForm: { type: Boolean, attribute: 'has-form' },
598
598
  _formErrorSummary: { type: Array },
599
- _hasFooter: { type: Boolean, attribute: false },
600
- _isCollapsed: { type: Boolean, attribute: false },
601
- _isExpanded: { type: Boolean, attribute: false },
602
- _isMobile: { type: Boolean, attribute: false },
603
- _size: { type: Number, attribute: false },
599
+ _hasFooter: { state: true },
600
+ _isCollapsed: { state: true },
601
+ _isExpanded: { state: true },
602
+ _isMobile: { state: true },
603
+ _size: { state: true },
604
604
  _sizeAsPercent: { state: true }
605
605
  };
606
606