lightning-base-components 1.21.2-alpha → 1.21.3-alpha

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 (222) hide show
  1. package/metadata/raptor.json +28 -1
  2. package/package.json +28 -2
  3. package/scopedImports/@salesforce-label-LightningRichTextEditor.colorPicker.js +1 -0
  4. package/src/lightning/accordion/accordion-section.slds.css +3 -3
  5. package/src/lightning/accordion/accordion.slds.css +1 -2
  6. package/src/lightning/accordionSection/accordion-section.slds.css +3 -3
  7. package/src/lightning/accordionSection/accordionSection.js +3 -1
  8. package/src/lightning/accordionSection/button.slds.css +1 -1
  9. package/src/lightning/badge/badge.js +1 -0
  10. package/src/lightning/badge/badge.js-meta.xml +3 -0
  11. package/src/lightning/baseCombobox/base-combobox.slds.css +11 -6
  12. package/src/lightning/baseCombobox/baseCombobox.html +1 -1
  13. package/src/lightning/baseCombobox/baseCombobox.js +2 -2
  14. package/src/lightning/baseCombobox/baseCombobox.js-meta.xml +6 -0
  15. package/src/lightning/baseCombobox/input-text.slds.css +41 -68
  16. package/src/lightning/baseCombobox/keyboard.js +12 -4
  17. package/src/lightning/baseCombobox/listbox.slds.css +51 -99
  18. package/src/lightning/baseCombobox/spinner.slds.css +62 -62
  19. package/src/lightning/baseComboboxFormattedText/baseComboboxFormattedText.js-meta.xml +6 -0
  20. package/src/lightning/baseComboboxItem/baseComboboxItem.js +10 -6
  21. package/src/lightning/baseComboboxItem/baseComboboxItem.js-meta.xml +6 -0
  22. package/src/lightning/baseComboboxItem/listbox.slds.css +51 -99
  23. package/src/lightning/baseFormattedText/baseFormattedText.js +2 -2
  24. package/src/lightning/button/button.js +2 -1
  25. package/src/lightning/button/button.slds.css +1 -1
  26. package/src/lightning/buttonIcon/button-icon.slds.css +1 -1
  27. package/src/lightning/buttonIconStateful/button-icon-stateful.slds.css +4 -2
  28. package/src/lightning/buttonIconStateful/button-icon.slds.css +1 -1
  29. package/src/lightning/buttonIconStateful/button.slds.css +1 -1
  30. package/src/lightning/buttonMenu/button-icon.slds.css +1 -1
  31. package/src/lightning/buttonMenu/button-menu.slds.css +8 -2
  32. package/src/lightning/buttonMenu/button.slds.css +1 -1
  33. package/src/lightning/buttonStateful/button-stateful.slds.css +6 -2
  34. package/src/lightning/buttonStateful/button.slds.css +1 -1
  35. package/src/lightning/buttonStateful/buttonStateful.js +4 -1
  36. package/src/lightning/calendar/calendar.js-meta.xml +6 -0
  37. package/src/lightning/calendar/calendar.slds.css +9 -2
  38. package/src/lightning/colorPickerCustom/color-picker-custom.slds.css +22 -23
  39. package/src/lightning/colorPickerCustom/input-text.slds.css +41 -68
  40. package/src/lightning/colorPickerPanel/color-picker-panel.slds.css +9 -10
  41. package/src/lightning/colorPickerPanel/popover.slds.css +0 -2
  42. package/src/lightning/combobox/combobox.slds.css +1 -2
  43. package/src/lightning/combobox/form-element.slds.css +54 -54
  44. package/src/lightning/datatable/__examples__/customDatatableWrapper/customDatatableWrapper.js +0 -69
  45. package/src/lightning/datatable/__examples__/customDatatypeDeleteRowBtn/customDatatypeDeleteRowBtn.html +1 -1
  46. package/src/lightning/datatable/__examples__/customDatatypeDeleteRowBtn/customDatatypeDeleteRowBtn.js +1 -16
  47. package/src/lightning/datatable/__examples__/customDatatypeLink/customDatatypeLink.html +3 -3
  48. package/src/lightning/datatable/__examples__/customDatatypeRowOrderingBtn/customDatatypeRowOrderingBtn.html +1 -8
  49. package/src/lightning/datatable/__examples__/customDatatypeRowOrderingBtn/customDatatypeRowOrderingBtn.js +2 -39
  50. package/src/lightning/datatable/__examples__/customDatatypeTable/customNumber.html +1 -1
  51. package/src/lightning/datatable/__examples__/customDatatypeTable/customNumberEdit.html +2 -0
  52. package/src/lightning/datatable/__examples__/customDatatypeTable/deleteRow.html +3 -2
  53. package/src/lightning/datatable/__examples__/customDatatypeTable/iconPill.html +1 -1
  54. package/src/lightning/datatable/__examples__/customNestedComponent/customNestedComponent.html +10 -0
  55. package/src/lightning/datatable/__examples__/customNestedComponent/customNestedComponent.js +12 -0
  56. package/src/lightning/datatable/autoWidthStrategy.js +147 -191
  57. package/src/lightning/datatable/columnResizer.js +35 -35
  58. package/src/lightning/datatable/columnWidthManager.js +118 -177
  59. package/src/lightning/datatable/columns.js +90 -59
  60. package/src/lightning/datatable/datagrid.slds.css +187 -0
  61. package/src/lightning/datatable/datatable.js +248 -229
  62. package/src/lightning/datatable/errors.js +3 -0
  63. package/src/lightning/datatable/fixedWidthStrategy.js +22 -29
  64. package/src/lightning/datatable/headerActions.js +7 -9
  65. package/src/lightning/datatable/infiniteLoading.js +15 -15
  66. package/src/lightning/datatable/inlineEdit.js +255 -235
  67. package/src/lightning/datatable/keyboard.js +318 -282
  68. package/src/lightning/datatable/renderManager.js +10 -7
  69. package/src/lightning/datatable/resizeObserver.js +11 -59
  70. package/src/lightning/datatable/rowLevelActions.js +6 -5
  71. package/src/lightning/datatable/rowNumber.js +23 -23
  72. package/src/lightning/datatable/rowSelection.js +173 -145
  73. package/src/lightning/datatable/rowSelectionShared.js +13 -6
  74. package/src/lightning/datatable/rows.js +231 -196
  75. package/src/lightning/datatable/sort.js +26 -22
  76. package/src/lightning/datatable/templates/div/div.css +2 -57
  77. package/src/lightning/datatable/templates/div/div.html +13 -6
  78. package/src/lightning/datatable/templates/div/div.lbc.native.css +3 -0
  79. package/src/lightning/datatable/templates/div/div.lbc.synthetic.css +86 -0
  80. package/src/lightning/datatable/templates/table/table.html +1 -0
  81. package/src/lightning/datatable/utils.js +5 -5
  82. package/src/lightning/datatable/widthManagerShared.js +24 -21
  83. package/src/lightning/datatable/wrapText.js +25 -26
  84. package/src/lightning/datepicker/datepicker.js +32 -9
  85. package/src/lightning/datepicker/datepicker.js-meta.xml +6 -0
  86. package/src/lightning/datepicker/form-element.slds.css +54 -54
  87. package/src/lightning/datepicker/input-text.slds.css +41 -68
  88. package/src/lightning/datetimepicker/datetimepicker.js-meta.xml +6 -0
  89. package/src/lightning/datetimepicker/form-element.slds.css +54 -54
  90. package/src/lightning/datetimepicker/input-text.slds.css +41 -68
  91. package/src/lightning/dualListbox/dual-listbox.slds.css +7 -2
  92. package/src/lightning/dualListbox/form-element.slds.css +54 -54
  93. package/src/lightning/dualListbox/listbox.slds.css +51 -99
  94. package/src/lightning/dynamicIcon/dynamic-icon-strength.slds.css +1 -2
  95. package/src/lightning/dynamicIcon/dynamic-icon-trend.slds.css +1 -2
  96. package/src/lightning/formattedDateTime/formattedDateTime.js +7 -62
  97. package/src/lightning/formattedDateTime/formattedDateTime.js-meta.xml +3 -0
  98. package/src/lightning/formattedLocation/formattedLocation.html +1 -3
  99. package/src/lightning/formattedLocation/formattedLocation.js +3 -25
  100. package/src/lightning/formattedLookup/events.js +2 -4
  101. package/src/lightning/formattedNumber/formattedNumber.js +2 -49
  102. package/src/lightning/formattedRichText/formattedRichText.js +5 -5
  103. package/src/lightning/formattedRichText/linkTextNodes.js +58 -0
  104. package/src/lightning/groupedCombobox/form-element.slds.css +54 -54
  105. package/src/lightning/groupedCombobox/grouped-combobox.slds.css +0 -2
  106. package/src/lightning/groupedCombobox/groupedCombobox.js-meta.xml +1 -1
  107. package/src/lightning/groupedCombobox/input-text.slds.css +41 -68
  108. package/src/lightning/helptext/button-icon.slds.css +1 -1
  109. package/src/lightning/helptext/form-element.slds.css +54 -54
  110. package/src/lightning/icon/icon.slds.css +12 -25
  111. package/src/lightning/input/form-element.slds.css +54 -54
  112. package/src/lightning/inputAddress/form-element.slds.css +54 -54
  113. package/src/lightning/inputAddress/input-address.slds.css +1 -2
  114. package/src/lightning/inputAddress/input-text.slds.css +41 -68
  115. package/src/lightning/inputAddress/inputAddress.js +1 -0
  116. package/src/lightning/inputAddress/inputAddress.js-meta.xml +3 -0
  117. package/src/lightning/inputLocation/form-element.slds.css +54 -54
  118. package/src/lightning/inputLocation/input-location.slds.css +1 -2
  119. package/src/lightning/inputLocation/input-text.slds.css +41 -68
  120. package/src/lightning/inputName/form-element.slds.css +54 -54
  121. package/src/lightning/inputName/input-text.slds.css +41 -68
  122. package/src/lightning/interactiveDialogBase/interactive-dialog-base.slds.css +0 -3
  123. package/src/lightning/interactiveDialogBase/interactiveDialogBase.js-meta.xml +6 -0
  124. package/src/lightning/lookupAddress/form-element.slds.css +54 -54
  125. package/src/lightning/lookupAddress/listbox.slds.css +51 -99
  126. package/src/lightning/lookupAddress/location.js +2 -0
  127. package/src/lightning/lookupAddress/lookup-address.slds.css +0 -2
  128. package/src/lightning/lookupAddress/lookupAddress.js +15 -10
  129. package/src/lightning/menuDivider/menu-divider.slds.css +0 -2
  130. package/src/lightning/menuItem/menu-item.slds.css +8 -2
  131. package/src/lightning/menuSubheader/menu-subheader.slds.css +1 -2
  132. package/src/lightning/modalBase/modal-base.slds.css +3 -3
  133. package/src/lightning/modalBase/modalBase.js +0 -8
  134. package/src/lightning/modalBase/modalBase.js-meta.xml +6 -0
  135. package/src/lightning/modalBody/modal-body.slds.css +1 -2
  136. package/src/lightning/modalFooter/modal-footer.slds.css +2 -2
  137. package/src/lightning/modalFooter/modalFooter.js +0 -21
  138. package/src/lightning/modalHeader/modal-header.slds.css +1 -2
  139. package/src/lightning/modalHeader/modalHeader.js +0 -22
  140. package/src/lightning/overlay/overlay.js-meta.xml +6 -0
  141. package/src/lightning/pill/pill.slds.css +32 -58
  142. package/src/lightning/pillContainer/button.slds.css +1 -1
  143. package/src/lightning/pillContainer/listbox.slds.css +51 -99
  144. package/src/lightning/pillContainer/pill-container.slds.css +6 -10
  145. package/src/lightning/pillContainer/pill.slds.css +32 -58
  146. package/src/lightning/popup/popover.slds.css +0 -2
  147. package/src/lightning/primitiveBubble/primitiveBubble.js-meta.xml +6 -0
  148. package/src/lightning/primitiveButton/primitiveButoon.js-meta.xml +6 -0
  149. package/src/lightning/primitiveCellCheckbox/checkbox.css +2 -0
  150. package/src/lightning/primitiveColorpickerButton/color-picker-button.slds.css +16 -38
  151. package/src/lightning/primitiveCustomCell/primitiveCustomCell.js +26 -1
  152. package/src/lightning/primitiveHeaderFactory/nonsortableHeader.css +1 -0
  153. package/src/lightning/primitiveHeaderFactory/selectableHeader.css +2 -0
  154. package/src/lightning/primitiveIcon/icon.slds.css +12 -25
  155. package/src/lightning/primitiveIcon/primitiveIcon.js-meta.xml +6 -0
  156. package/src/lightning/primitiveIframe/primitiveIframe.js +3 -1
  157. package/src/lightning/primitiveInputCheckbox/form-element.slds.css +54 -54
  158. package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.js +5 -2
  159. package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.js-meta.xml +6 -0
  160. package/src/lightning/primitiveInputCheckboxButton/form-element.slds.css +54 -54
  161. package/src/lightning/primitiveInputCheckboxButton/input-checkbox-button.slds.css +6 -4
  162. package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.js +5 -2
  163. package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.js-meta.xml +6 -0
  164. package/src/lightning/primitiveInputColor/form-element.slds.css +54 -54
  165. package/src/lightning/primitiveInputColor/input-color.slds.css +2 -3
  166. package/src/lightning/primitiveInputColor/input-text.slds.css +41 -68
  167. package/src/lightning/primitiveInputColor/primitiveInputColor.js +5 -2
  168. package/src/lightning/primitiveInputColor/primitiveInputColor.js-meta.xml +6 -0
  169. package/src/lightning/primitiveInputFile/button.slds.css +1 -1
  170. package/src/lightning/primitiveInputFile/form-element.slds.css +54 -54
  171. package/src/lightning/primitiveInputFile/input-file.slds.css +1 -4
  172. package/src/lightning/primitiveInputFile/primitiveInputFile.js +4 -2
  173. package/src/lightning/primitiveInputFile/primitiveInputFile.js-meta.xml +6 -0
  174. package/src/lightning/primitiveInputRadio/primitiveInputRadio.js +4 -2
  175. package/src/lightning/primitiveInputSimple/form-element.slds.css +54 -54
  176. package/src/lightning/primitiveInputSimple/input-text.slds.css +41 -68
  177. package/src/lightning/primitiveInputSimple/primitiveInputSimple.js-meta.xml +6 -0
  178. package/src/lightning/primitiveInputToggle/form-element.slds.css +54 -54
  179. package/src/lightning/primitiveInputToggle/input-toggle.slds.css +50 -27
  180. package/src/lightning/primitiveInputToggle/primitiveInputToggle.js +5 -2
  181. package/src/lightning/primitiveInputToggle/primitiveInputToggle.js-meta.xml +6 -0
  182. package/src/lightning/progressBar/progress-bar.slds.css +8 -10
  183. package/src/lightning/progressRing/progress-ring.slds.css +0 -23
  184. package/src/lightning/progressStep/progressStep.js +1 -14
  185. package/src/lightning/radioGroup/form-element.slds.css +54 -54
  186. package/src/lightning/radioGroup/radioGroup.html +1 -2
  187. package/src/lightning/radioGroup/radioGroup.js +1 -0
  188. package/src/lightning/routingService/routingService.js +31 -5
  189. package/src/lightning/select/form-element.slds.css +54 -54
  190. package/src/lightning/select/select.slds.css +4 -2
  191. package/src/lightning/sldsUtilsVisibility/sldsUtilsVisibility.css +4 -0
  192. package/src/lightning/spinner/spinner.slds.css +62 -62
  193. package/src/lightning/tab/tab.js +4 -2
  194. package/src/lightning/tab/tab.slds.css +14 -7
  195. package/src/lightning/tabBar/tab-bar.slds.css +16 -6
  196. package/src/lightning/tabset/__docs__/tabset.md +24 -1
  197. package/src/lightning/tabset/tabset.js +25 -38
  198. package/src/lightning/tabset/tabset.slds.css +0 -2
  199. package/src/lightning/textarea/form-element.slds.css +54 -54
  200. package/src/lightning/textarea/textarea.js +5 -1
  201. package/src/lightning/textarea/textarea.slds.css +22 -9
  202. package/src/lightning/timepicker/form-element.slds.css +54 -54
  203. package/src/lightning/timepicker/timepicker.js-meta.xml +6 -0
  204. package/src/lightning/timepicker/timepicker.slds.css +2 -2
  205. package/src/lightning/toast/__docs__/toast.md +20 -22
  206. package/src/lightning/toast/button-icon.slds.css +1 -1
  207. package/src/lightning/toast/icon.slds.css +12 -25
  208. package/src/lightning/toast/toast.js +15 -12
  209. package/src/lightning/toast/toast.slds.css +6 -18
  210. package/src/lightning/toastContainer/toast.slds.css +6 -18
  211. package/src/lightning/toastContainer/toastContainer.js +25 -17
  212. package/src/lightning/tooltipLibrary/tooltipLibrary.js +12 -9
  213. package/src/lightning/tree/tree.js +2 -0
  214. package/src/lightning/utils/classSet.js +9 -3
  215. package/src/lightning/utilsPrivate/formatUtils.js +158 -0
  216. package/src/lightning/utilsPrivate/textUtils.js +16 -0
  217. package/src/lightning/utilsPrivate/utilsPrivate.js +56 -15
  218. package/src/lightning/utilsPrivate/validationUtils.js +59 -0
  219. package/src/lightning/verticalNavigationSection/vertical-navigation-section.slds.css +0 -2
  220. package/src/lightning/datatable/resizeSensor.js +0 -244
  221. package/src/lightning/formattedRichText/linkify.js +0 -43
  222. package/src/lightning/utilsPrivate/smartSetAttribute.js +0 -19
@@ -15,8 +15,7 @@
15
15
  white-space: nowrap !important;
16
16
  }
17
17
 
18
- @supports (--styling-hooks: '') {
19
- :host([data-render-mode="shadow"]) [part='backdrop'] {
18
+ :host([data-render-mode="shadow"]) [part='backdrop'] {
20
19
  position: absolute;
21
20
  inset: 0;
22
21
  z-index: 9050;
@@ -27,86 +26,86 @@
27
26
  transition-delay: 0s, 0.3s;
28
27
  }
29
28
 
30
- /* brand */
29
+ /* brand */
31
30
 
32
- :host([data-render-mode="shadow"][variant='brand']) [part='spinner'] {
31
+ :host([data-render-mode="shadow"][variant='brand']) [part='spinner'] {
33
32
  --_slds-c-spinner-color-background: var(---slds-g-color-accent-1);
34
33
  }
35
34
 
36
- /* inverse */
35
+ /* inverse */
37
36
 
38
- :host([data-render-mode="shadow"][variant='inverse']) [part='spinner'] {
37
+ :host([data-render-mode="shadow"][variant='inverse']) [part='spinner'] {
39
38
  --_slds-c-spinner-color-background: var(--slds-g-color-neutral-base-100);
40
39
  }
41
40
 
42
- /* large */
41
+ /* large */
43
42
 
44
- :host([data-render-mode="shadow"][size='large']) [part='spinner'] {
43
+ :host([data-render-mode="shadow"][size='large']) [part='spinner'] {
45
44
  width: 2.75rem;
46
45
  }
47
46
 
48
- :host([data-render-mode="shadow"][size='large']) [part='dot-a']::before,:host([data-render-mode="shadow"][size='large']) [part='dot-a']::after,:host([data-render-mode="shadow"][size='large']) [part='dot-b']::before,:host([data-render-mode="shadow"][size='large']) [part='dot-b']::after,:host([data-render-mode="shadow"][size='large']) [part='spinner']::before,:host([data-render-mode="shadow"][size='large']) [part='spinner']::after {
47
+ :host([data-render-mode="shadow"][size='large']) [part='dot-a']::before,:host([data-render-mode="shadow"][size='large']) [part='dot-a']::after,:host([data-render-mode="shadow"][size='large']) [part='dot-b']::before,:host([data-render-mode="shadow"][size='large']) [part='dot-b']::after,:host([data-render-mode="shadow"][size='large']) [part='spinner']::before,:host([data-render-mode="shadow"][size='large']) [part='spinner']::after {
49
48
  width: 0.625rem;
50
49
  height: 0.625rem;
51
50
  }
52
51
 
53
- :host([data-render-mode="shadow"][size='large']) [part='spinner']::before,:host([data-render-mode="shadow"][size='large']) [part='dot-a']::before,:host([data-render-mode="shadow"][size='large']) [part='dot-b']::before {
52
+ :host([data-render-mode="shadow"][size='large']) [part='spinner']::before,:host([data-render-mode="shadow"][size='large']) [part='dot-a']::before,:host([data-render-mode="shadow"][size='large']) [part='dot-b']::before {
54
53
  top: -0.3125rem;
55
54
  left: -0.3125rem;
56
55
  animation-name: dotsBounceBefore-medium;
57
56
  }
58
57
 
59
- :host([data-render-mode="shadow"][size='large']) [part='spinner']::after,:host([data-render-mode="shadow"][size='large']) [part='dot-a']::after,:host([data-render-mode="shadow"][size='large']) [part='dot-b']::after {
58
+ :host([data-render-mode="shadow"][size='large']) [part='spinner']::after,:host([data-render-mode="shadow"][size='large']) [part='dot-a']::after,:host([data-render-mode="shadow"][size='large']) [part='dot-b']::after {
60
59
  top: -0.3125rem;
61
60
  right: -0.3125rem;
62
61
  animation-name: dotsBounceAfter-medium;
63
62
  }
64
63
 
65
- /* end size large */
64
+ /* end size large */
66
65
 
67
- /* medium */
66
+ /* medium */
68
67
 
69
- :host([data-render-mode="shadow"][size='medium']) [part='spinner'] {
68
+ :host([data-render-mode="shadow"][size='medium']) [part='spinner'] {
70
69
  width: 2rem;
71
70
  }
72
71
 
73
- :host([data-render-mode="shadow"][size='medium']) [part='dot-a']::before,:host([data-render-mode="shadow"][size='medium']) [part='dot-a']::after,:host([data-render-mode="shadow"][size='medium']) [part='dot-b']::before,:host([data-render-mode="shadow"][size='medium']) [part='dot-b']::after,:host([data-render-mode="shadow"][size='medium']) [part='spinner']::before,:host([data-render-mode="shadow"][size='medium']) [part='spinner']::after {
72
+ :host([data-render-mode="shadow"][size='medium']) [part='dot-a']::before,:host([data-render-mode="shadow"][size='medium']) [part='dot-a']::after,:host([data-render-mode="shadow"][size='medium']) [part='dot-b']::before,:host([data-render-mode="shadow"][size='medium']) [part='dot-b']::after,:host([data-render-mode="shadow"][size='medium']) [part='spinner']::before,:host([data-render-mode="shadow"][size='medium']) [part='spinner']::after {
74
73
  width: 0.5rem;
75
74
  height: 0.5rem;
76
75
  }
77
76
 
78
- :host([data-render-mode="shadow"][size='medium']) [part='spinner']::before,:host([data-render-mode="shadow"][size='medium']) [part='dot-a']::before,:host([data-render-mode="shadow"][size='medium']) [part='dot-b']::before {
77
+ :host([data-render-mode="shadow"][size='medium']) [part='spinner']::before,:host([data-render-mode="shadow"][size='medium']) [part='dot-a']::before,:host([data-render-mode="shadow"][size='medium']) [part='dot-b']::before {
79
78
  top: -0.25rem;
80
79
  left: -0.25rem;
81
80
  animation-name: dotsBounceBefore-medium;
82
81
  }
83
82
 
84
- :host([data-render-mode="shadow"][size='medium']) [part='spinner']::after,:host([data-render-mode="shadow"][size='medium']) [part='dot-a']::after,:host([data-render-mode="shadow"][size='medium']) [part='dot-b']::after {
83
+ :host([data-render-mode="shadow"][size='medium']) [part='spinner']::after,:host([data-render-mode="shadow"][size='medium']) [part='dot-a']::after,:host([data-render-mode="shadow"][size='medium']) [part='dot-b']::after {
85
84
  top: -0.25rem;
86
85
  right: -0.25rem;
87
86
  animation-name: dotsBounceAfter-medium;
88
87
  }
89
88
 
90
- /* end size medium */
89
+ /* end size medium */
91
90
 
92
- /* small */
91
+ /* small */
93
92
 
94
- :host([data-render-mode="shadow"][size='small']) [part='spinner'] {
93
+ :host([data-render-mode="shadow"][size='small']) [part='spinner'] {
95
94
  width: 1.25rem;
96
95
  }
97
96
 
98
- :host([data-render-mode="shadow"][size='small']) [part='dot-a']::before,:host([data-render-mode="shadow"][size='small']) [part='dot-a']::after,:host([data-render-mode="shadow"][size='small']) [part='dot-b']::before,:host([data-render-mode="shadow"][size='small']) [part='dot-b']::after,:host([data-render-mode="shadow"][size='small']) [part='spinner']::before,:host([data-render-mode="shadow"][size='small']) [part='spinner']::after {
97
+ :host([data-render-mode="shadow"][size='small']) [part='dot-a']::before,:host([data-render-mode="shadow"][size='small']) [part='dot-a']::after,:host([data-render-mode="shadow"][size='small']) [part='dot-b']::before,:host([data-render-mode="shadow"][size='small']) [part='dot-b']::after,:host([data-render-mode="shadow"][size='small']) [part='spinner']::before,:host([data-render-mode="shadow"][size='small']) [part='spinner']::after {
99
98
  width: 0.25rem;
100
99
  height: 0.25rem;
101
100
  }
102
101
 
103
- :host([data-render-mode="shadow"][size='small']) [part='spinner']::before,:host([data-render-mode="shadow"][size='small']) [part='dot-a']::before,:host([data-render-mode="shadow"][size='small']) [part='dot-b']::before {
102
+ :host([data-render-mode="shadow"][size='small']) [part='spinner']::before,:host([data-render-mode="shadow"][size='small']) [part='dot-a']::before,:host([data-render-mode="shadow"][size='small']) [part='dot-b']::before {
104
103
  top: -0.125rem;
105
104
  left: -0.125rem;
106
105
  animation-name: dotsBounceBefore-small;
107
106
  }
108
107
 
109
- :host([data-render-mode="shadow"][size='small']) [part='spinner']::after,:host([data-render-mode="shadow"][size='small']) [part='dot-a']::after,:host([data-render-mode="shadow"][size='small']) [part='dot-b']::after {
108
+ :host([data-render-mode="shadow"][size='small']) [part='spinner']::after,:host([data-render-mode="shadow"][size='small']) [part='dot-a']::after,:host([data-render-mode="shadow"][size='small']) [part='dot-b']::after {
110
109
  width: 0.25rem;
111
110
  height: 0.25rem;
112
111
  top: -0.125rem;
@@ -114,7 +113,7 @@
114
113
  animation-name: dotsBounceAfter-small;
115
114
  }
116
115
 
117
- @keyframes dotsBounceBefore-small {
116
+ @keyframes dotsBounceBefore-small {
118
117
  0% {
119
118
  transform: translate3d(0, 0, 0);
120
119
  }
@@ -134,7 +133,7 @@
134
133
  }
135
134
  }
136
135
 
137
- @keyframes dotsBounceAfter-small {
136
+ @keyframes dotsBounceAfter-small {
138
137
  0% {
139
138
  transform: translate3d(0, 0, 0);
140
139
  }
@@ -154,32 +153,32 @@
154
153
  }
155
154
  }
156
155
 
157
- /* end size small */
156
+ /* end size small */
158
157
 
159
- /* x-small */
158
+ /* x-small */
160
159
 
161
- :host([data-render-mode="shadow"][size='x-small']) [part='spinner'] {
160
+ :host([data-render-mode="shadow"][size='x-small']) [part='spinner'] {
162
161
  width: 1rem;
163
162
  }
164
163
 
165
- :host([data-render-mode="shadow"][size='x-small']) [part='dot-a']::before,:host([data-render-mode="shadow"][size='x-small']) [part='dot-b']::before,:host([data-render-mode="shadow"][size='x-small']) [part='dot-a']::after,:host([data-render-mode="shadow"][size='x-small']) [part='dot-b']::after,:host([data-render-mode="shadow"][size='x-small']) [part='spinner']::before,:host([data-render-mode="shadow"][size='x-small']) [part='spinner']::after {
164
+ :host([data-render-mode="shadow"][size='x-small']) [part='dot-a']::before,:host([data-render-mode="shadow"][size='x-small']) [part='dot-b']::before,:host([data-render-mode="shadow"][size='x-small']) [part='dot-a']::after,:host([data-render-mode="shadow"][size='x-small']) [part='dot-b']::after,:host([data-render-mode="shadow"][size='x-small']) [part='spinner']::before,:host([data-render-mode="shadow"][size='x-small']) [part='spinner']::after {
166
165
  width: 0.25rem;
167
166
  height: 0.25rem;
168
167
  }
169
168
 
170
- :host([data-render-mode="shadow"][size='x-small']) [part='spinner']::before,:host([data-render-mode="shadow"][size='x-small']) [part='dot-a']::before,:host([data-render-mode="shadow"][size='x-small']) [part='dot-b']::before {
169
+ :host([data-render-mode="shadow"][size='x-small']) [part='spinner']::before,:host([data-render-mode="shadow"][size='x-small']) [part='dot-a']::before,:host([data-render-mode="shadow"][size='x-small']) [part='dot-b']::before {
171
170
  top: -0.125rem;
172
171
  left: -0.125rem;
173
172
  animation-name: dotsBounceBefore-extraSmall;
174
173
  }
175
174
 
176
- :host([data-render-mode="shadow"][size='x-small']) [part='spinner']::after,:host([data-render-mode="shadow"][size='x-small']) [part='dot-a']::after,:host([data-render-mode="shadow"][size='x-small']) [part='dot-b']::after {
175
+ :host([data-render-mode="shadow"][size='x-small']) [part='spinner']::after,:host([data-render-mode="shadow"][size='x-small']) [part='dot-a']::after,:host([data-render-mode="shadow"][size='x-small']) [part='dot-b']::after {
177
176
  top: -0.125rem;
178
177
  right: -0.125rem;
179
178
  animation-name: dotsBounceAfter-extraSmall;
180
179
  }
181
180
 
182
- @keyframes dotsBounceBefore-extraSmall {
181
+ @keyframes dotsBounceBefore-extraSmall {
183
182
  0% {
184
183
  transform: translate3d(0, 0, 0);
185
184
  }
@@ -199,7 +198,7 @@
199
198
  }
200
199
  }
201
200
 
202
- @keyframes dotsBounceAfter-extraSmall {
201
+ @keyframes dotsBounceAfter-extraSmall {
203
202
  0% {
204
203
  transform: translate3d(0, 0, 0);
205
204
  }
@@ -219,32 +218,32 @@
219
218
  }
220
219
  }
221
220
 
222
- /* end size x-small */
221
+ /* end size x-small */
223
222
 
224
- /* xx-small */
223
+ /* xx-small */
225
224
 
226
- :host([data-render-mode="shadow"][size='xx-small']) [part='spinner'] {
225
+ :host([data-render-mode="shadow"][size='xx-small']) [part='spinner'] {
227
226
  width: 0.5rem;
228
227
  }
229
228
 
230
- :host([data-render-mode="shadow"][size='xx-small']) [part='spinner']::before,:host([data-render-mode="shadow"][size='xx-small']) [part='spinner']::after,:host([data-render-mode="shadow"][size='xx-small']) [part='dot-a']::before,:host([data-render-mode="shadow"][size='xx-small']) [part='dot-b']::before,:host([data-render-mode="shadow"][size='xx-small']) [part='dot-a']::after,:host([data-render-mode="shadow"][size='xx-small']) [part='dot-b']::after {
229
+ :host([data-render-mode="shadow"][size='xx-small']) [part='spinner']::before,:host([data-render-mode="shadow"][size='xx-small']) [part='spinner']::after,:host([data-render-mode="shadow"][size='xx-small']) [part='dot-a']::before,:host([data-render-mode="shadow"][size='xx-small']) [part='dot-b']::before,:host([data-render-mode="shadow"][size='xx-small']) [part='dot-a']::after,:host([data-render-mode="shadow"][size='xx-small']) [part='dot-b']::after {
231
230
  width: 0.125rem;
232
231
  height: 0.125rem;
233
232
  }
234
233
 
235
- :host([data-render-mode="shadow"][size='xx-small']) [part='spinner']::before,:host([data-render-mode="shadow"][size='xx-small']) [part='dot-a']::before,:host([data-render-mode="shadow"][size='xx-small']) [part='dot-b']::before {
234
+ :host([data-render-mode="shadow"][size='xx-small']) [part='spinner']::before,:host([data-render-mode="shadow"][size='xx-small']) [part='dot-a']::before,:host([data-render-mode="shadow"][size='xx-small']) [part='dot-b']::before {
236
235
  top: -0.0625rem;
237
236
  left: -0.0625rem;
238
237
  animation-name: dotsBounceBefore-extraExtraSmall;
239
238
  }
240
239
 
241
- :host([data-render-mode="shadow"][size='xx-small']) [part='spinner']::after,:host([data-render-mode="shadow"][size='xx-small']) [part='dot-a']::after,:host([data-render-mode="shadow"][size='xx-small']) [part='dot-b']::after {
240
+ :host([data-render-mode="shadow"][size='xx-small']) [part='spinner']::after,:host([data-render-mode="shadow"][size='xx-small']) [part='dot-a']::after,:host([data-render-mode="shadow"][size='xx-small']) [part='dot-b']::after {
242
241
  top: -0.0625rem;
243
242
  right: -0.0625rem;
244
243
  animation-name: dotsBounceAfter-extraExtraSmall;
245
244
  }
246
245
 
247
- @keyframes dotsBounceBefore-extraExtraSmall {
246
+ @keyframes dotsBounceBefore-extraExtraSmall {
248
247
  0% {
249
248
  transform: translate3d(0, 0, 0);
250
249
  }
@@ -264,7 +263,7 @@
264
263
  }
265
264
  }
266
265
 
267
- @keyframes dotsBounceAfter-extraExtraSmall {
266
+ @keyframes dotsBounceAfter-extraExtraSmall {
268
267
  0% {
269
268
  transform: translate3d(0, 0, 0);
270
269
  }
@@ -284,9 +283,9 @@
284
283
  }
285
284
  }
286
285
 
287
- /* end size xx-small */
286
+ /* end size xx-small */
288
287
 
289
- :host([data-render-mode="shadow"]) [part='spinner'] {
288
+ :host([data-render-mode="shadow"]) [part='spinner'] {
290
289
  position: absolute;
291
290
  top: 50%;
292
291
  width: 2rem;
@@ -297,15 +296,16 @@
297
296
  transform: translate(-50%, -50%) rotate(90deg);
298
297
  }
299
298
 
300
- :host([data-render-mode="shadow"]) [part='spinner'],:host([data-render-mode="shadow"])
299
+ :host([data-render-mode="shadow"]) [part='spinner'],:host([data-render-mode="shadow"])
301
300
  [part='dot-a'],:host([data-render-mode="shadow"])
302
301
  [part='dot-b'] {
303
302
  transform-origin: 50% 50%;
304
303
  will-change: transform;
305
304
  }
306
305
 
307
- /* creates the circles */
308
- :host([data-render-mode="shadow"]) [part='dot-a'],:host([data-render-mode="shadow"])
306
+ /* creates the circles */
307
+
308
+ :host([data-render-mode="shadow"]) [part='dot-a'],:host([data-render-mode="shadow"])
309
309
  [part='dot-b'] {
310
310
  position: absolute;
311
311
  top: 0;
@@ -313,8 +313,9 @@
313
313
  width: 100%;
314
314
  }
315
315
 
316
- /* stylelint-disable no-duplicate-selectors */
317
- :host([data-render-mode="shadow"]) [part='spinner']::before,:host([data-render-mode="shadow"])
316
+ /* stylelint-disable no-duplicate-selectors */
317
+
318
+ :host([data-render-mode="shadow"]) [part='spinner']::before,:host([data-render-mode="shadow"])
318
319
  [part='spinner']::after,:host([data-render-mode="shadow"])
319
320
  [part='dot-a']::before,:host([data-render-mode="shadow"])
320
321
  [part='dot-b']::before,:host([data-render-mode="shadow"])
@@ -329,39 +330,39 @@
329
330
  transform: translate3d(0, 0, 0);
330
331
  }
331
332
 
332
- :host([data-render-mode="shadow"]) [part='dot-a'] {
333
+ :host([data-render-mode="shadow"]) [part='dot-a'] {
333
334
  transform: rotate(60deg);
334
335
  }
335
336
 
336
- :host([data-render-mode="shadow"]) [part='dot-b'] {
337
+ :host([data-render-mode="shadow"]) [part='dot-b'] {
337
338
  transform: rotate(120deg);
338
339
  }
339
340
 
340
- :host([data-render-mode="shadow"]) [part='spinner']::before {
341
+ :host([data-render-mode="shadow"]) [part='spinner']::before {
341
342
  animation-delay: -83.3333ms;
342
343
  }
343
344
 
344
- :host([data-render-mode="shadow"]) [part='dot-a']::before {
345
+ :host([data-render-mode="shadow"]) [part='dot-a']::before {
345
346
  animation-delay: 83.3333ms;
346
347
  }
347
348
 
348
- :host([data-render-mode="shadow"]) [part='dot-b']::before {
349
+ :host([data-render-mode="shadow"]) [part='dot-b']::before {
349
350
  animation-delay: 250ms;
350
351
  }
351
352
 
352
- :host([data-render-mode="shadow"]) [part='spinner']::after {
353
+ :host([data-render-mode="shadow"]) [part='spinner']::after {
353
354
  animation-delay: 416.6667ms;
354
355
  }
355
356
 
356
- :host([data-render-mode="shadow"]) [part='dot-a']::after {
357
+ :host([data-render-mode="shadow"]) [part='dot-a']::after {
357
358
  animation-delay: 583.3333ms;
358
359
  }
359
360
 
360
- :host([data-render-mode="shadow"]) [part='dot-b']::after {
361
+ :host([data-render-mode="shadow"]) [part='dot-b']::after {
361
362
  animation-delay: 750ms;
362
363
  }
363
364
 
364
- :host([data-render-mode="shadow"]) [part='spinner']::after,:host([data-render-mode="shadow"])
365
+ :host([data-render-mode="shadow"]) [part='spinner']::after,:host([data-render-mode="shadow"])
365
366
  [part='spinner']::before,:host([data-render-mode="shadow"])
366
367
  [part='dot-a']::after,:host([data-render-mode="shadow"])
367
368
  [part='dot-a']::before,:host([data-render-mode="shadow"])
@@ -371,7 +372,7 @@
371
372
  height: 0.5rem;
372
373
  }
373
374
 
374
- :host([data-render-mode="shadow"]) [part='spinner']::before,:host([data-render-mode="shadow"])
375
+ :host([data-render-mode="shadow"]) [part='spinner']::before,:host([data-render-mode="shadow"])
375
376
  [part='dot-a']::before,:host([data-render-mode="shadow"])
376
377
  [part='dot-b']::before {
377
378
  animation-name: dotsBounceBefore-medium;
@@ -379,7 +380,7 @@
379
380
  left: -0.25rem;
380
381
  }
381
382
 
382
- :host([data-render-mode="shadow"]) [part='spinner']::after,:host([data-render-mode="shadow"])
383
+ :host([data-render-mode="shadow"]) [part='spinner']::after,:host([data-render-mode="shadow"])
383
384
  [part='dot-a']::after,:host([data-render-mode="shadow"])
384
385
  [part='dot-b']::after {
385
386
  animation-name: dotsBounceAfter-medium;
@@ -387,7 +388,7 @@
387
388
  right: -0.25rem;
388
389
  }
389
390
 
390
- @keyframes dotsBounceBefore-medium {
391
+ @keyframes dotsBounceBefore-medium {
391
392
  0% {
392
393
  transform: translate3d(0, 0, 0);
393
394
  }
@@ -407,7 +408,7 @@
407
408
  }
408
409
  }
409
410
 
410
- @keyframes dotsBounceAfter-medium {
411
+ @keyframes dotsBounceAfter-medium {
411
412
  0% {
412
413
  transform: translate3d(0, 0, 0);
413
414
  }
@@ -426,4 +427,3 @@
426
427
  transform: translateX(0);
427
428
  }
428
429
  }
429
- }
@@ -1,14 +1,16 @@
1
- import { LightningElement, api, track } from 'lwc';
1
+ import { api, track } from 'lwc';
2
2
  import { normalizeBoolean } from 'lightning/utilsPrivate';
3
+ import LightningShadowBaseClass from 'lightning/shadowBaseClassPrivate';
3
4
  /**
4
5
  * A single tab in a tabset component.
5
6
  * @slot default Placeholder for your content in lightning-tab.
6
7
  */
7
- export default class LightningTab extends LightningElement {
8
+ export default class LightningTab extends LightningShadowBaseClass {
8
9
  @track _loadContent = false;
9
10
  _registered = false;
10
11
 
11
12
  connectedCallback() {
13
+ super.connectedCallback();
12
14
  this._connected = true;
13
15
  if (this.template.synthetic) {
14
16
  this.dispatchEvent(
@@ -1,14 +1,15 @@
1
1
 
2
- @supports (--styling-hooks: '') {
3
2
  /* Reassignments for parity with SLDS blueprint
4
3
  https://www.lightningdesignsystem.com/components/tabs/#Styling-Hooks-Overview */
5
4
 
6
5
 
7
6
  :host([data-render-mode="shadow"].slds-tabs_default__content) {
8
- --slds-c-tabs-panel-spacing-block-start: var(--slds-c-tab-panel-spacing-blockstart);
9
- --slds-c-tabs-panel-spacing-block-end: var(--slds-c-tab-panel-spacing-blockend);
10
- --slds-c-tabs-panel-spacing-inline-end: var(--slds-c-tab-panel-spacing-inlineend);
11
- --slds-c-tabs-panel-spacing-inline-start: var(--slds-c-tab-panel-spacing-inlinestart);
7
+ /* stylelint-disable */
8
+ --slds-c-tabs-panel-spacing-blockstart: var(--slds-c-tab-panel-spacing-block-start);
9
+ --slds-c-tabs-panel-spacing-blockend: var(--slds-c-tab-panel-spacing-block-end);
10
+ --slds-c-tabs-panel-spacing-inlineend: var(--slds-c-tab-panel-spacing-inline-end);
11
+ --slds-c-tabs-panel-spacing-inlinestart: var(--slds-c-tab-panel-spacing-inline-start);
12
+ /* stylelint-enable */
12
13
 
13
14
  position: relative;
14
15
  padding-block-start: var(--slds-c-tab-panel-spacing-blockstart, var(--slds-g-spacing-3));
@@ -17,6 +18,7 @@
17
18
  padding-inline-start: var(--slds-c-tab-panel-spacing-inlinestart, 0);
18
19
  }
19
20
 
21
+
20
22
  :host([data-render-mode="shadow"].slds-tabs_scoped__content) {
21
23
  background-color: var(--slds-g-color-surface-container-1);
22
24
  border: var(--slds-g-sizing-border-1) solid var(--slds-g-color-border-base-4, var(--slds-g-color-border-1));
@@ -28,20 +30,25 @@
28
30
  padding: var(--slds-g-spacing-4);
29
31
  }
30
32
 
33
+
31
34
  :host([data-render-mode="shadow"].slds-vertical-tabs__content) {
32
35
  flex: 1;
33
36
  padding: var(--slds-g-spacing-4);
34
37
  background: var(--slds-g-color-neutral-base-100, var(--slds-g-color-surface-container-1));
35
38
  }
36
39
 
40
+
37
41
  /* TODO W-12674349: Replace with Visibility Utility Classes when available */
42
+
43
+
38
44
  :host([data-render-mode="shadow"].slds-show) {
39
45
  display: block;
40
46
  }
41
47
 
48
+
42
49
  /* TODO W-12674349: Replace with Visibility Utility Classes when available */
50
+
51
+
43
52
  :host([data-render-mode="shadow"].slds-hide) {
44
53
  display: none !important
45
54
  }
46
-
47
- }
@@ -2,19 +2,22 @@
2
2
  /* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved
3
3
  Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
4
4
 
5
- @supports (--styling-hooks: '') {
6
5
  /* re-assign current slds hooks using deprecated naming conventions */
6
+
7
7
  :host([data-render-mode="shadow"]) {
8
- --slds-c-tabs-item-spacing-block-end: var(--slds-c-tabbar-standard-spacing-blockend);
9
- --slds-c-tabs-item-spacing-block-start: var(--slds-c-tabbar-standard-spacing-blockstart);
10
- --slds-c-tabs-item-spacing-inline-end: var(--slds-c-tabbar-standard-spacing-inlineend);
11
- --slds-c-tabs-item-spacing-inline-start: var(--slds-c-tabbar-standard-spacing-inlinestart);
8
+ /* stylelint-disable */
9
+ --slds-c-tabs-item-spacing-blockend: var(--slds-c-tabbar-standard-spacing-block-end);
10
+ --slds-c-tabs-item-spacing-blockstart: var(--slds-c-tabbar-standard-spacing-block-start);
11
+ --slds-c-tabs-item-spacing-inlineend: var(--slds-c-tabbar-standard-spacing-inline-end);
12
+ --slds-c-tabs-item-spacing-inlinestart: var(--slds-c-tabbar-standard-spacing-inline-start);
13
+ /* stylelint-enable */
12
14
  }
13
15
 
14
16
  /* SHARED TAB BAR STYLING */
15
17
 
16
18
  /* Host reassignments to composed tabs for parity with SLDS blueprint
17
19
  https://www.lightningdesignsystem.com/components/tabs/#Styling-Hooks-Overview */
20
+
18
21
  :host([data-render-mode="shadow"]) [part='tab-bar'] {
19
22
  /* stylelint-disable sds-stylelint-plugin/styling-hooks-pattern */
20
23
  --_slds-c-tabbar-standard-font-lineheight: 2.5rem;
@@ -71,6 +74,7 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
71
74
  }
72
75
 
73
76
  /* Overflow styles for horizontal tab variants */
77
+
74
78
  :host([data-render-mode="shadow"][variant='standard']) [role='tab'],:host([data-render-mode="shadow"][variant='scoped']) [role='tab'] {
75
79
  max-width: 100%;
76
80
  overflow: hidden;
@@ -106,6 +110,7 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
106
110
  /* STANDARD TAB BAR STYLING */
107
111
 
108
112
  /* Line under standard tabs */
113
+
109
114
  :host([data-render-mode="shadow"][variant='standard']) [part='tab-bar'] {
110
115
  border-block-end-width: var(--slds-c-tabbar-standard-sizing-border, var(--slds-g-sizing-border-1));
111
116
  border-block-end-style: solid;
@@ -142,12 +147,14 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
142
147
  }
143
148
 
144
149
  /* Blue line under active tab */
150
+
145
151
  :host([data-render-mode="shadow"][variant='standard']) [part~='tab-item'].slds-is-active::after {
146
152
  background-color: var(--slds-c-tabbar-standard-color-border-active, var(--slds-g-color-accent-1));
147
153
  height: calc(var(--slds-c-tabbar-standard-sizing-border, var(--slds-g-sizing-border-1)) + 2px);
148
154
  }
149
155
 
150
156
  /* Blue line under tab when hovering */
157
+
151
158
  :host([data-render-mode="shadow"][variant='standard']) [part~='tab-item']:hover::after,:host([data-render-mode="shadow"][variant='standard']) [part~='tab-item'].slds-is-active:hover::after {
152
159
  height: calc(var(--slds-c-tabbar-standard-sizing-border, var(--slds-g-sizing-border-1)) + 1px);
153
160
  background-color: var(--slds-c-tabbar-standard-color-border-hover, var(--slds-g-color-accent-1));
@@ -203,6 +210,7 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
203
210
  /* SCOPED TAB HEADER STYLING */
204
211
 
205
212
  /* Covers border under active tab, since background is not transparent */
213
+
206
214
  :host([data-render-mode="shadow"][variant='scoped']) [part~='tab-item'] {
207
215
  margin-block-end: calc(var(--slds-g-sizing-border-1) * -1);
208
216
  color: var(--slds-c-tabbar-scoped-text-color, var(--slds-g-color-on-surface-2));
@@ -213,6 +221,7 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
213
221
  }
214
222
 
215
223
  /* Ensures that borders for tabs overlap */
224
+
216
225
  :host([data-render-mode="shadow"][variant='scoped']) [part~='tab-item'] + [part~='tab-item'] {
217
226
  margin-inline-start: calc(var(--slds-g-sizing-border-1) * -1);
218
227
  }
@@ -297,6 +306,7 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
297
306
  }
298
307
 
299
308
  /* Covers border next to active tab, since background is not transparent */
309
+
300
310
  :host([data-render-mode="shadow"][variant='vertical']) [part='tab-item'].slds-is-active {
301
311
  margin-inline-end: calc(var(--slds-g-sizing-border-1) * -1);
302
312
  background: var(--slds-c-tabbar-vertical-color-background-active, var(--slds-g-color-surface-container-1));
@@ -323,8 +333,8 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
323
333
  }
324
334
 
325
335
  /* Active tab should still use active colors on hover */
336
+
326
337
  :host([data-render-mode="shadow"][variant='vertical']) .slds-is-active [role='tab']:hover {
327
338
  background: var(--slds-c-tabbar-vertical-color-background-active, var(--slds-g-color-surface-container-1));
328
339
  color: currentcolor;
329
340
  }
330
- }
@@ -147,7 +147,7 @@ To understand how we implemented SLDS in `lightning-tabset`, see the **Source Co
147
147
 
148
148
  #### Usage Considerations
149
149
 
150
- When a tabset contains more tabs than could fit on the screen, the tabs that don't fit are moved into a dropdown menu (also known as an overflow) next to the last tab that fits. Note that the active tab always shows and is never moved into the overflow. Truncating the tab label is not supported. When the tab label has more characters than can fit the viewport, the extra characters are not truncated but are hidden from view.
150
+ When a tabset contains more tabs than can fit in the viewport, the tabs that don't fit are moved into a dropdown menu (also known as an overflow) next to the last tab that fits. Note that the active tab always shows and is never moved into the overflow. Truncating the tab label is not supported. When the tab label has more characters than can fit the viewport, the extra characters are not truncated but are hidden from view.
151
151
 
152
152
  You can nest `lightning-tab` within other elements such as `<div>` or `<template>`, for example to render tabs conditionally using `if:true` and `if:false`. Otherwise, you must nest
153
153
  `lightning-tab` directly within `lightning-tabset` tags.
@@ -157,6 +157,29 @@ active tabs content is queryable. In the example, the text `Content of Tab Two`
157
157
 
158
158
  This component has usage differences from its Aura counterpart. See [Base Components: Aura Vs Lightning Web Components](https://developer.salesforce.com/docs/platform/lwc/guide/migrate-map-aura-lwc-components) in the Lightning Web Components Developer Guide.
159
159
 
160
+ #### Accessibility
161
+
162
+ Use the Tab or arrow keys to navigate to the More menu that’s created when the viewport is too narrow to show all the tabs.
163
+
164
+ Several attributes enable accessibility features for a tabset heading.
165
+
166
+ Use `heading-label` to specify custom assistive text for a tabset heading. The value of `heading-label` is rendered as the text content of a `div` element with `role="heading"` and `aria-level="2"`. If you don't specify `heading-label` the default assistive text is "Tabs" in a `div` element with `aria-level="2"`.
167
+
168
+ Use `heading-level` to pass a value between 1 and 6 to the rendered `aria-level` attribute. The default value is 2. This attribute requires you to also specify `heading-label`.
169
+
170
+ Specify `heading-visible` to display the assistive text above the tabset when you specify `heading-label`. By default, this attribute is not present so the assistive text is read by screen readers but isn't displayed. When `heading-visible` is present, the assistive text is read by screen readers and displayed.
171
+
172
+ This example sets custom assistive text for a heading, specifies `heading-level` to change the rendered `aria-level`, and makes the heading visible.
173
+
174
+ ```html
175
+ <template>
176
+ <lightning-tabset heading-label="Example tabset" heading-level="3" heading-visible>
177
+ <lightning-tab label="Item One"> One Content! </lightning-tab>
178
+ <lightning-tab label="Item Two"> Two Content! </lightning-tab>
179
+ </lightning-tabset>
180
+ </template>
181
+ ```
182
+
160
183
  #### Source Code
161
184
 
162
185
  `lightning-tabset` is available in the [Base Components Recipes GitHub repository](https://github.com/salesforce/base-components-recipes#documentation). It's transpiled into the `c` namespace so that you can use it in your own projects.