@brightspace-ui/core 3.248.0 → 3.249.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.
@@ -29,11 +29,6 @@ class PageHeaderButton extends FocusMixin(LitElement) {
29
29
  * @type {'start'|'end'}
30
30
  */
31
31
  iconPosition: { attribute: 'icon-position', type: String },
32
- /**
33
- * Visually hides the highlight border when hovered/focused
34
- * @type {boolean}
35
- */
36
- noHighlightBorder: { attribute: 'no-highlight-border', type: Boolean },
37
32
  /**
38
33
  * REQUIRED: Text for the button
39
34
  * @type {string}
@@ -68,7 +63,6 @@ class PageHeaderButton extends FocusMixin(LitElement) {
68
63
  super();
69
64
  this.disabled = false;
70
65
  this.iconPosition = 'start';
71
- this.noHighlightBorder = false;
72
66
  this.textHidden = false;
73
67
  this.tooltipPosition = 'bottom';
74
68
  }
@@ -79,7 +73,7 @@ class PageHeaderButton extends FocusMixin(LitElement) {
79
73
 
80
74
  render() {
81
75
  const { ariaLabel, id, text, tooltip } = this.#getRenderSettings();
82
- const highlightBorder = (!this.disabled && !this.noHighlightBorder) ? html`<span class="d2l-labs-navigation-highlight-border"></span>` : nothing;
76
+ const highlightBorder = !this.disabled ? html`<span class="d2l-labs-navigation-highlight-border"></span>` : nothing;
83
77
  const icon = html`<d2l-icon icon="${this.icon}"></d2l-icon>`;
84
78
  return html`
85
79
  <button id="${ifDefined(id)}" ?disabled="${this.disabled}" aria-label="${ifDefined(ariaLabel)}" type="button">
@@ -10,6 +10,7 @@ const keyCodes = {
10
10
  SPACE: 32
11
11
  };
12
12
 
13
+ // remove file with GAUD-8299-core-tabs-use-new-structure flag clean up
13
14
  class Tab extends SkeletonMixin(LitElement) {
14
15
 
15
16
  static get properties() {
@@ -1,4 +1,5 @@
1
1
  import { css } from 'lit';
2
+ import { getFlag } from '../../helpers/flags.js';
2
3
  import { getUniqueId } from '../../helpers/uniqueId.js';
3
4
 
4
5
  export const TabPanelMixin = superclass => class extends superclass {
@@ -22,14 +23,17 @@ export const TabPanelMixin = superclass => class extends superclass {
22
23
  role: { type: String, reflect: true },
23
24
  /**
24
25
  * DEPRECATED: Use to select the tab. Do NOT set if using the d2l-tab/d2l-tab-panel implementation.
26
+ * Remove with GAUD-8299-core-tabs-use-new-structure flag clean up.
25
27
  * @type {boolean}
26
28
  */
27
29
  selected: { type: Boolean, reflect: true },
28
30
  /**
29
31
  * DEPRECATED: The text used for the tab, as well as labelling the panel. Required if not using d2l-tab/d2l-tab-panel implementation.
32
+ * Remove with GAUD-8299-core-tabs-use-new-structure flag clean up.
30
33
  * @type {string}
31
34
  */
32
- text: { type: String }
35
+ text: { type: String },
36
+ _selected: { type: Boolean, attribute: '_selected', reflect: true }
33
37
  };
34
38
  }
35
39
 
@@ -43,9 +47,13 @@ export const TabPanelMixin = superclass => class extends superclass {
43
47
  :host([no-padding]) {
44
48
  margin: 0;
45
49
  }
50
+ /* clean up with GAUD-8299-core-tabs-use-new-structure flag clean up */
46
51
  :host([selected]) {
47
52
  display: block;
48
53
  }
54
+ :host([_selected]) {
55
+ display: block;
56
+ }
49
57
  `;
50
58
  }
51
59
 
@@ -54,7 +62,8 @@ export const TabPanelMixin = superclass => class extends superclass {
54
62
  this.noPadding = false;
55
63
  /** @ignore */
56
64
  this.role = 'tabpanel';
57
- this.selected = false;
65
+ this._selected = false;
66
+ if (!this.#useTabsNewStructure) this.selected = false; // clean up with GAUD-8299-core-tabs-use-new-structure flag clean up
58
67
  }
59
68
 
60
69
  connectedCallback() {
@@ -68,7 +77,12 @@ export const TabPanelMixin = superclass => class extends superclass {
68
77
  changedProperties.forEach((oldVal, prop) => {
69
78
  if (prop === 'labelledBy') {
70
79
  this.setAttribute('aria-labelledby', this.labelledBy);
71
- } else if (prop === 'selected') {
80
+ }
81
+
82
+ // clean up below with GAUD-8299-core-tabs-use-new-structure flag clean up
83
+ if (this.#useTabsNewStructure) return;
84
+
85
+ if (prop === 'selected') {
72
86
  if (this.selected) {
73
87
  requestAnimationFrame(() => {
74
88
  /** DEPRECATED: Dispatched when a tab is selected */
@@ -87,4 +101,6 @@ export const TabPanelMixin = superclass => class extends superclass {
87
101
  });
88
102
  }
89
103
 
104
+ #useTabsNewStructure = getFlag('GAUD-8299-core-tabs-use-new-structure', false);
105
+
90
106
  };
@@ -1,12 +1,13 @@
1
1
  import '../colors/colors.js';
2
2
  import '../icons/icon.js';
3
3
  import './tab-internal.js';
4
- import { css, html, LitElement, unsafeCSS } from 'lit';
4
+ import { css, html, LitElement, nothing, unsafeCSS } from 'lit';
5
5
  import { cssEscape, findComposedAncestor, getOffsetParent, isVisible } from '../../helpers/dom.js';
6
6
  import { getFocusPseudoClass, getFocusRingStyles } from '../../helpers/focus.js';
7
7
  import { ArrowKeysMixin } from '../../mixins/arrow-keys/arrow-keys-mixin.js';
8
8
  import { bodyCompactStyles } from '../typography/styles.js';
9
9
  import { classMap } from 'lit/directives/class-map.js';
10
+ import { getFlag } from '../../helpers/flags.js';
10
11
  import { getOverflowDeclarations } from '../../helpers/overflow.js';
11
12
  import { ifDefined } from 'lit/directives/if-defined.js';
12
13
  import { LocalizeCoreElement } from '../../helpers/localize-core-element.js';
@@ -229,14 +230,20 @@ class Tabs extends LocalizeCoreElement(ArrowKeysMixin(SkeletonMixin(LitElement))
229
230
  this.maxToShow = -1;
230
231
  this._allowScrollNext = false;
231
232
  this._allowScrollPrevious = false;
232
- this._defaultSlotBehavior = true; // remove after d2l-tab/d2l-tab-panel backport
233
+
234
+ /*
235
+ * Remove this._defaultSlotBehavior and related code with GAUD-8299-core-tabs-use-new-structure flag clean up
236
+ * NOTE: remove the TRUE case of _defaultSlotBehavior
237
+ */
238
+ this._defaultSlotBehavior = !this.#newTabsPanelStructure;
239
+
233
240
  this._loadingCompleteResolve = undefined;
234
241
  this._loadingCompletePromise = new Promise(resolve => this._loadingCompleteResolve = resolve);
235
242
  this._maxWidth = null;
236
243
  this._scrollCollapsed = false;
237
244
  this._state = 'shown';
238
245
  this._tabIds = {};
239
- this._tabInfos = []; // remove after d2l-tab/d2l-tab-panel backport
246
+ if (this._defaultSlotBehavior) this._tabInfos = [];
240
247
  this._translationValue = 0;
241
248
  }
242
249
 
@@ -266,7 +273,7 @@ class Tabs extends LocalizeCoreElement(ArrowKeysMixin(SkeletonMixin(LitElement))
266
273
 
267
274
  this.arrowKeysOnBeforeFocus = async(tab) => {
268
275
  if (this._defaultSlotBehavior) {
269
- // remove this section after d2l-tab/d2l-tab-panel backport
276
+ // remove this section with GAUD-8299-core-tabs-use-new-structure flag clean up
270
277
  const tabInfo = this._getTabInfo(tab.controlsPanel);
271
278
  this._setFocusableDefaultSlotBehavior(tabInfo);
272
279
 
@@ -370,7 +377,7 @@ class Tabs extends LocalizeCoreElement(ArrowKeysMixin(SkeletonMixin(LitElement))
370
377
  aria-label="${ifDefined(this.text)}"
371
378
  role="tablist"
372
379
  style="${styleMap(tabsContainerListStyles)}">
373
- ${repeat(this._tabInfos, (tabInfo) => tabInfo.id, (tabInfo) => html`
380
+ ${!this.#newTabsPanelStructure ? repeat(this._tabInfos, (tabInfo) => tabInfo.id, (tabInfo) => html`
374
381
  <d2l-tab-internal aria-selected="${tabInfo.selected ? 'true' : 'false'}"
375
382
  .controlsPanel="${tabInfo.id}"
376
383
  data-state="${tabInfo.state}"
@@ -378,7 +385,7 @@ class Tabs extends LocalizeCoreElement(ArrowKeysMixin(SkeletonMixin(LitElement))
378
385
  tabindex="${tabInfo.activeFocusable ? 0 : -1}"
379
386
  text="${tabInfo.text}">
380
387
  </d2l-tab-internal>
381
- `)}
388
+ `) : nothing}
382
389
  <slot name="tabs" @slotchange="${this._handleTabsSlotChange}"></slot>
383
390
  </div>
384
391
  `)}
@@ -393,9 +400,9 @@ class Tabs extends LocalizeCoreElement(ArrowKeysMixin(SkeletonMixin(LitElement))
393
400
  <div class="d2l-tabs-container-ext"><slot name="ext"></slot></div>
394
401
  </div>
395
402
  <div class="${classMap(panelContainerClasses)}"
396
- @d2l-tab-panel-selected="${this._handlePanelSelected}"
397
- @d2l-tab-panel-text-changed="${this._handlePanelTextChange}">
398
- <slot @slotchange="${this._handleDefaultSlotChange}"></slot>
403
+ @d2l-tab-panel-selected="${ifDefined(!this.#newTabsPanelStructure ? this._handlePanelSelected : undefined)}"
404
+ @d2l-tab-panel-text-changed="${ifDefined(!this.#newTabsPanelStructure ? this._handlePanelTextChange : undefined)}">
405
+ ${!this.#newTabsPanelStructure ? html`<slot @slotchange="${this._handleDefaultSlotChange}"></slot>` : nothing}
399
406
  <slot name="panels" @slotchange="${this._handlePanelsSlotChange}"></slot>
400
407
  </div>
401
408
  `;
@@ -420,6 +427,7 @@ class Tabs extends LocalizeCoreElement(ArrowKeysMixin(SkeletonMixin(LitElement))
420
427
  }
421
428
 
422
429
  #checkTabPanelMatchRequested;
430
+ #newTabsPanelStructure = getFlag('GAUD-8299-core-tabs-use-new-structure', false);
423
431
  #panels;
424
432
  #updateAriaControlsRequested;
425
433
 
@@ -444,7 +452,7 @@ class Tabs extends LocalizeCoreElement(ArrowKeysMixin(SkeletonMixin(LitElement))
444
452
  });
445
453
  }
446
454
 
447
- // remove after d2l-tab/d2l-tab-panel backport
455
+ // remove with GAUD-8299-core-tabs-use-new-structure flag clean up
448
456
  _animateTabAdditionDefaultSlotBehavior(tabInfo) {
449
457
  const tab = this.shadowRoot
450
458
  && this.shadowRoot.querySelector(`d2l-tab-internal[controls-panel="${cssEscape(tabInfo.id)}"]`);
@@ -476,7 +484,7 @@ class Tabs extends LocalizeCoreElement(ArrowKeysMixin(SkeletonMixin(LitElement))
476
484
  });
477
485
  }
478
486
 
479
- // remove after d2l-tab/d2l-tab-panel backport
487
+ // remove with GAUD-8299-core-tabs-use-new-structure flag clean up
480
488
  _animateTabRemovalDefaultSlotBehavior(tabInfo) {
481
489
  const tab = this.shadowRoot &&
482
490
  this.shadowRoot.querySelector(`d2l-tab-internal[controls-panel="${cssEscape(tabInfo.id)}"]`);
@@ -500,7 +508,7 @@ class Tabs extends LocalizeCoreElement(ArrowKeysMixin(SkeletonMixin(LitElement))
500
508
  return this.#calculateScrollPositionLogic(tabs, selectedTabIndex, measures);
501
509
  }
502
510
 
503
- // remove after d2l-tab/d2l-tab-panel backport
511
+ // remove with GAUD-8299-core-tabs-use-new-structure flag clean up
504
512
  _calculateScrollPositionDefaultSlotBehavior(selectedTabInfo, measures) {
505
513
  const selectedTabIndex = this._tabInfos.indexOf(selectedTabInfo);
506
514
  return this.#calculateScrollPositionLogic(this._tabInfos, selectedTabIndex, measures);
@@ -520,7 +528,7 @@ class Tabs extends LocalizeCoreElement(ArrowKeysMixin(SkeletonMixin(LitElement))
520
528
  selectedTab.focus();
521
529
  }
522
530
 
523
- // remove after d2l-tab/d2l-tab-panel backport
531
+ // remove with GAUD-8299-core-tabs-use-new-structure flag clean up
524
532
  async _focusSelectedDefaultSlotBehavior() {
525
533
  const selectedTab = this.shadowRoot && this.shadowRoot.querySelector('d2l-tab-internal[aria-selected="true"]');
526
534
  if (!selectedTab) return;
@@ -557,7 +565,7 @@ class Tabs extends LocalizeCoreElement(ArrowKeysMixin(SkeletonMixin(LitElement))
557
565
  return this.#panels.find(panel => panel.labelledBy === id);
558
566
  }
559
567
 
560
- // remove after d2l-tab/d2l-tab-panel backport
568
+ // remove with GAUD-8299-core-tabs-use-new-structure flag clean up
561
569
  _getPanelDefaultSlotBehavior(id) {
562
570
  if (!this.shadowRoot) return;
563
571
  // use simple selector for slot (Edge)
@@ -570,17 +578,18 @@ class Tabs extends LocalizeCoreElement(ArrowKeysMixin(SkeletonMixin(LitElement))
570
578
  }
571
579
  }
572
580
 
573
- // remove after d2l-tab/d2l-tab-panel backport
581
+ // rremove with GAUD-8299-core-tabs-use-new-structure flag clean up
574
582
  _getPanelsDefaultSlotBehavior(slot) {
575
583
  if (!slot) return;
576
584
  return slot.assignedElements({ flatten: true }).filter((node) => node.role === 'tabpanel');
577
585
  }
578
586
 
579
- // remove after d2l-tab/d2l-tab-panel backport
587
+ // remove with GAUD-8299-core-tabs-use-new-structure flag clean up
580
588
  _getTabInfo(id) {
581
589
  return this._tabInfos.find((t) => t.id === id);
582
590
  }
583
591
 
592
+ // remove with GAUD-8299-core-tabs-use-new-structure flag clean up
584
593
  async _handleDefaultSlotChange(e) {
585
594
  if (!this._defaultSlotBehavior) return;
586
595
 
@@ -669,7 +678,7 @@ class Tabs extends LocalizeCoreElement(ArrowKeysMixin(SkeletonMixin(LitElement))
669
678
  this._resetFocusables();
670
679
  }
671
680
 
672
- // remove after d2l-tab/d2l-tab-panel backport
681
+ // remove with GAUD-8299-core-tabs-use-new-structure flag clean up
673
682
  _handlePanelSelected(e) {
674
683
  if (!this._defaultSlotBehavior) return;
675
684
 
@@ -690,7 +699,7 @@ class Tabs extends LocalizeCoreElement(ArrowKeysMixin(SkeletonMixin(LitElement))
690
699
  this.#setAriaControls();
691
700
  }
692
701
 
693
- // remove after d2l-tab/d2l-tab-panel backport
702
+ // remove with GAUD-8299-core-tabs-use-new-structure flag clean up
694
703
  async _handlePanelTextChange(e) {
695
704
  const tabInfo = this._getTabInfo(e.target.id);
696
705
  // event could be from nested tabs
@@ -803,7 +812,7 @@ class Tabs extends LocalizeCoreElement(ArrowKeysMixin(SkeletonMixin(LitElement))
803
812
  this._updateScrollPosition(selectedTab);
804
813
  }
805
814
 
806
- // remove after d2l-tab/d2l-tab-panel backport
815
+ // remove with GAUD-8299-core-tabs-use-new-structure flag clean up
807
816
  async _handleTabSelectedDefaultSlotBehavior(e) {
808
817
  e.stopPropagation();
809
818
 
@@ -940,7 +949,7 @@ class Tabs extends LocalizeCoreElement(ArrowKeysMixin(SkeletonMixin(LitElement))
940
949
  tab.tabIndex = 0;
941
950
  }
942
951
 
943
- // remove after d2l-tab/d2l-tab-panel backport
952
+ // remove with GAUD-8299-core-tabs-use-new-structure flag clean up
944
953
  _setFocusableDefaultSlotBehavior(tabInfo) {
945
954
  const currentFocusable = this._tabInfos.find(ti => ti.activeFocusable);
946
955
  if (currentFocusable) currentFocusable.activeFocusable = false;
@@ -1023,7 +1032,7 @@ class Tabs extends LocalizeCoreElement(ArrowKeysMixin(SkeletonMixin(LitElement))
1023
1032
  return this.#updateScrollPositionLogic(measures, newTranslationValue);
1024
1033
  }
1025
1034
 
1026
- // remove after d2l-tab/d2l-tab-panel backport
1035
+ // remove with GAUD-8299-core-tabs-use-new-structure flag clean up
1027
1036
  _updateScrollPositionDefaultSlotBehavior(selectedTabInfo) {
1028
1037
  const measures = this._getMeasures();
1029
1038
  const newTranslationValue = this._calculateScrollPositionDefaultSlotBehavior(selectedTabInfo, measures);
@@ -1050,13 +1059,26 @@ class Tabs extends LocalizeCoreElement(ArrowKeysMixin(SkeletonMixin(LitElement))
1050
1059
  return this.updateComplete;
1051
1060
  }
1052
1061
 
1053
- // Legacy structure clean up: if possible base this on visible tabs going forward
1054
- _updateTabListVisibility(panels) {
1055
- if (this._state === 'shown' && panels.length < 2) {
1062
+ _updateTabListVisibility(tabs) {
1063
+ // remove with GAUD-8299-core-tabs-use-new-structure flag clean up
1064
+ if (!this.#newTabsPanelStructure) {
1065
+ if (this._state === 'shown' && tabs.length < 2) {
1066
+ this.#hideTabsList();
1067
+ } else if (this._state === 'hidden' && tabs.length > 1) {
1068
+ this.#showTabsList();
1069
+ } else if (this._state === 'shown' && tabs.length > 1) {
1070
+ // check if there are hidden tabs and tab list container should actually be hidden
1071
+ this.#handleTabHiddenChange();
1072
+ }
1073
+ return;
1074
+ }
1075
+
1076
+ const visibleCount = tabs.filter(tab => !tab.hidden).length;
1077
+ if (this._state === 'shown' && visibleCount < 2) {
1056
1078
  this.#hideTabsList();
1057
- } else if (this._state === 'hidden' && panels.length > 1) {
1079
+ } else if (this._state === 'hidden' && visibleCount > 1) {
1058
1080
  this.#showTabsList();
1059
- } else if (this._state === 'shown' && panels.length > 1) {
1081
+ } else if (this._state === 'shown' && visibleCount > 1) {
1060
1082
  // check if there are hidden tabs and tab list container should actually be hidden
1061
1083
  this.#handleTabHiddenChange();
1062
1084
  }
@@ -1069,7 +1091,7 @@ class Tabs extends LocalizeCoreElement(ArrowKeysMixin(SkeletonMixin(LitElement))
1069
1091
  return this.#updateTabsContainerWidthLogic();
1070
1092
  }
1071
1093
 
1072
- // remove after d2l-tab/d2l-tab-panel backport
1094
+ // remove with GAUD-8299-core-tabs-use-new-structure flag clean up
1073
1095
  _updateTabsContainerWidthDefaultSlotBehavior(selectedTabInfo) {
1074
1096
  if (!this.maxToShow || this.maxToShow <= 0 || this.maxToShow >= this._tabInfos.length) return;
1075
1097
  if (this._tabInfos.indexOf(selectedTabInfo) > this.maxToShow - 1) return;
@@ -1176,7 +1198,10 @@ class Tabs extends LocalizeCoreElement(ArrowKeysMixin(SkeletonMixin(LitElement))
1176
1198
 
1177
1199
  #handleTabDeselected(e) {
1178
1200
  const panel = this._getPanel(e.target.id);
1179
- if (panel) panel.selected = false;
1201
+ if (panel) {
1202
+ if (this.#newTabsPanelStructure) panel._selected = false;
1203
+ else panel.selected = false; // remove with GAUD-8299-core-tabs-use-new-structure flag clean up
1204
+ }
1180
1205
  }
1181
1206
 
1182
1207
  #handleTabHiddenChange() {
@@ -1264,14 +1289,20 @@ class Tabs extends LocalizeCoreElement(ArrowKeysMixin(SkeletonMixin(LitElement))
1264
1289
  selectedTab.tabIndex = 0;
1265
1290
 
1266
1291
  const selectedPanel = this._getPanel(selectedTab.id);
1267
- if (selectedPanel) selectedPanel.selected = true;
1292
+ if (selectedPanel) {
1293
+ if (this.#newTabsPanelStructure) selectedPanel._selected = true;
1294
+ else selectedPanel.selected = true; // remove with GAUD-8299-core-tabs-use-new-structure flag clean up
1295
+ }
1268
1296
  this._tabs.forEach((tab) => {
1269
1297
  if (tab.id !== selectedTab.id) {
1270
1298
  if (tab.selected) {
1271
1299
  tab.selected = false;
1272
1300
  const panel = this._getPanel(tab.id);
1273
1301
  // panel may not exist if it's being removed
1274
- if (panel) panel.selected = false;
1302
+ if (panel) {
1303
+ if (this.#newTabsPanelStructure) panel._selected = false;
1304
+ else panel.selected = false; // remove with GAUD-8299-core-tabs-use-new-structure flag clean up
1305
+ }
1275
1306
  }
1276
1307
  if (tab.tabIndex === 0) tab.tabIndex = -1;
1277
1308
  }
@@ -12379,12 +12379,6 @@
12379
12379
  "type": "'start'|'end'",
12380
12380
  "default": "\"start\""
12381
12381
  },
12382
- {
12383
- "name": "no-highlight-border",
12384
- "description": "Visually hides the highlight border when hovered/focused",
12385
- "type": "boolean",
12386
- "default": "false"
12387
- },
12388
12382
  {
12389
12383
  "name": "text-hidden",
12390
12384
  "description": "Visually hides the text but still accessible",
@@ -12425,13 +12419,6 @@
12425
12419
  "type": "'start'|'end'",
12426
12420
  "default": "\"start\""
12427
12421
  },
12428
- {
12429
- "name": "noHighlightBorder",
12430
- "attribute": "no-highlight-border",
12431
- "description": "Visually hides the highlight border when hovered/focused",
12432
- "type": "boolean",
12433
- "default": "false"
12434
- },
12435
12422
  {
12436
12423
  "name": "textHidden",
12437
12424
  "attribute": "text-hidden",
@@ -15344,9 +15331,14 @@
15344
15331
  "description": "REQUIRED: Id of the tab that labels this panel",
15345
15332
  "type": "string"
15346
15333
  },
15334
+ {
15335
+ "name": "selected",
15336
+ "description": "DEPRECATED: Use to select the tab. Do NOT set if using the d2l-tab/d2l-tab-panel implementation.\nRemove with GAUD-8299-core-tabs-use-new-structure flag clean up.",
15337
+ "type": "boolean"
15338
+ },
15347
15339
  {
15348
15340
  "name": "text",
15349
- "description": "DEPRECATED: The text used for the tab, as well as labelling the panel. Required if not using d2l-tab/d2l-tab-panel implementation.",
15341
+ "description": "DEPRECATED: The text used for the tab, as well as labelling the panel. Required if not using d2l-tab/d2l-tab-panel implementation.\nRemove with GAUD-8299-core-tabs-use-new-structure flag clean up.",
15350
15342
  "type": "string"
15351
15343
  },
15352
15344
  {
@@ -15354,12 +15346,6 @@
15354
15346
  "description": "Opt out of default padding/whitespace around the panel",
15355
15347
  "type": "boolean",
15356
15348
  "default": "false"
15357
- },
15358
- {
15359
- "name": "selected",
15360
- "description": "DEPRECATED: Use to select the tab. Do NOT set if using the d2l-tab/d2l-tab-panel implementation.",
15361
- "type": "boolean",
15362
- "default": "false"
15363
15349
  }
15364
15350
  ],
15365
15351
  "properties": [
@@ -15369,10 +15355,16 @@
15369
15355
  "description": "REQUIRED: Id of the tab that labels this panel",
15370
15356
  "type": "string"
15371
15357
  },
15358
+ {
15359
+ "name": "selected",
15360
+ "attribute": "selected",
15361
+ "description": "DEPRECATED: Use to select the tab. Do NOT set if using the d2l-tab/d2l-tab-panel implementation.\nRemove with GAUD-8299-core-tabs-use-new-structure flag clean up.",
15362
+ "type": "boolean"
15363
+ },
15372
15364
  {
15373
15365
  "name": "text",
15374
15366
  "attribute": "text",
15375
- "description": "DEPRECATED: The text used for the tab, as well as labelling the panel. Required if not using d2l-tab/d2l-tab-panel implementation.",
15367
+ "description": "DEPRECATED: The text used for the tab, as well as labelling the panel. Required if not using d2l-tab/d2l-tab-panel implementation.\nRemove with GAUD-8299-core-tabs-use-new-structure flag clean up.",
15376
15368
  "type": "string"
15377
15369
  },
15378
15370
  {
@@ -15381,13 +15373,6 @@
15381
15373
  "description": "Opt out of default padding/whitespace around the panel",
15382
15374
  "type": "boolean",
15383
15375
  "default": "false"
15384
- },
15385
- {
15386
- "name": "selected",
15387
- "attribute": "selected",
15388
- "description": "DEPRECATED: Use to select the tab. Do NOT set if using the d2l-tab/d2l-tab-panel implementation.",
15389
- "type": "boolean",
15390
- "default": "false"
15391
15376
  }
15392
15377
  ],
15393
15378
  "events": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brightspace-ui/core",
3
- "version": "3.248.0",
3
+ "version": "3.249.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",