lightning-base-components 1.21.1-alpha → 1.21.2-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 (500) hide show
  1. package/metadata/raptor.json +60 -0
  2. package/package.json +155 -2
  3. package/src/lightning/accordion/accordion-section.slds.css +122 -0
  4. package/src/lightning/accordion/accordion.css +2 -16
  5. package/src/lightning/accordion/accordion.js +10 -7
  6. package/src/lightning/accordion/accordion.js-meta.xml +3 -0
  7. package/src/lightning/accordion/accordion.lbc.native.css +4 -0
  8. package/src/lightning/accordion/accordion.lbc.synthetic.css +13 -0
  9. package/src/lightning/accordion/accordion.slds.css +0 -654
  10. package/src/lightning/accordionSection/accordion-section.slds.css +28 -561
  11. package/src/lightning/accordionSection/accordionSection.css +2 -17
  12. package/src/lightning/accordionSection/accordionSection.js +26 -16
  13. package/src/lightning/accordionSection/accordionSection.js-meta.xml +3 -0
  14. package/src/lightning/accordionSection/accordionSection.lbc.native.css +5 -0
  15. package/src/lightning/accordionSection/accordionSection.lbc.synthetic.css +14 -0
  16. package/src/lightning/accordionSection/button.slds.css +503 -0
  17. package/src/lightning/alert/alert.css +1 -0
  18. package/src/lightning/alert/alert.js +12 -9
  19. package/src/lightning/alert/alert.js-meta.xml +3 -0
  20. package/src/lightning/alert/alert.lbc.native.css +1 -0
  21. package/src/lightning/ariaObserver/ariaObserver.js +111 -46
  22. package/src/lightning/avatar/avatar.css +1 -2
  23. package/src/lightning/avatar/avatar.html +19 -5
  24. package/src/lightning/avatar/avatar.js +18 -3
  25. package/src/lightning/avatar/avatar.js-meta.xml +3 -0
  26. package/src/lightning/avatar/avatar.lbc.native.css +2 -0
  27. package/src/lightning/avatar/avatar.slds.css +34 -205
  28. package/src/lightning/badge/__examples__/basic/basic.html +3 -1
  29. package/src/lightning/badge/badge.css +1 -0
  30. package/src/lightning/badge/badge.html +16 -14
  31. package/src/lightning/badge/badge.js +4 -2
  32. package/src/lightning/badge/badge.lbc.native.css +2 -0
  33. package/src/lightning/badge/badge.slds.css +76 -0
  34. package/src/lightning/baseCombobox/base-combobox.slds.css +101 -1433
  35. package/src/lightning/baseCombobox/baseCombobox.css +2 -27
  36. package/src/lightning/baseCombobox/baseCombobox.html +1 -1
  37. package/src/lightning/baseCombobox/baseCombobox.js +15 -2
  38. package/src/lightning/baseCombobox/baseCombobox.lbc.native.css +7 -0
  39. package/src/lightning/baseCombobox/baseCombobox.lbc.synthetic.css +25 -0
  40. package/src/lightning/baseCombobox/dropdown.slds.css +594 -0
  41. package/src/lightning/baseCombobox/input-text.slds.css +533 -0
  42. package/src/lightning/baseCombobox/listbox.slds.css +252 -0
  43. package/src/lightning/baseCombobox/spinner.slds.css +429 -0
  44. package/src/lightning/baseComboboxFormattedText/baseComboboxFormattedText.js +3 -2
  45. package/src/lightning/baseComboboxItem/baseComboboxItem.js +4 -2
  46. package/src/lightning/baseComboboxItem/card.css +1 -0
  47. package/src/lightning/baseComboboxItem/card.lbc.native.css +2 -0
  48. package/src/lightning/baseComboboxItem/inline.css +1 -2
  49. package/src/lightning/baseComboboxItem/inline.lbc.native.css +2 -0
  50. package/src/lightning/baseComboboxItem/listbox.slds.css +179 -179
  51. package/src/lightning/breadcrumb/breadcrumb.css +2 -6
  52. package/src/lightning/breadcrumb/breadcrumb.js +4 -2
  53. package/src/lightning/breadcrumb/breadcrumb.js-meta.xml +3 -0
  54. package/src/lightning/breadcrumb/breadcrumb.lbc.native.css +1 -0
  55. package/src/lightning/breadcrumb/breadcrumb.lbc.synthetic.css +3 -0
  56. package/src/lightning/breadcrumb/breadcrumb.slds.css +4 -6
  57. package/src/lightning/breadcrumbs/breadcrumbs.css +2 -10
  58. package/src/lightning/breadcrumbs/breadcrumbs.js +3 -2
  59. package/src/lightning/breadcrumbs/breadcrumbs.js-meta.xml +3 -0
  60. package/src/lightning/breadcrumbs/breadcrumbs.lbc.native.css +2 -0
  61. package/src/lightning/breadcrumbs/breadcrumbs.lbc.synthetic.css +7 -0
  62. package/src/lightning/breadcrumbs/breadcrumbs.slds.css +7 -5
  63. package/src/lightning/button/button.css +1 -2
  64. package/src/lightning/button/button.js-meta.xml +3 -0
  65. package/src/lightning/button/button.lbc.native.css +2 -0
  66. package/src/lightning/button/button.slds.css +365 -395
  67. package/src/lightning/buttonGroup/button-group.slds.css +37 -35
  68. package/src/lightning/buttonGroup/buttonGroup.css +2 -11
  69. package/src/lightning/buttonGroup/buttonGroup.js +5 -2
  70. package/src/lightning/buttonGroup/buttonGroup.js-meta.xml +3 -0
  71. package/src/lightning/buttonGroup/buttonGroup.lbc.native.css +2 -0
  72. package/src/lightning/buttonGroup/buttonGroup.lbc.synthetic.css +3 -0
  73. package/src/lightning/buttonIcon/button-icon.slds.css +575 -766
  74. package/src/lightning/buttonIcon/buttonIcon.css +2 -2
  75. package/src/lightning/buttonIcon/buttonIcon.js +8 -2
  76. package/src/lightning/buttonIcon/buttonIcon.js-meta.xml +3 -0
  77. package/src/lightning/buttonIconStateful/button-icon-stateful.slds.css +19 -974
  78. package/src/lightning/buttonIconStateful/button-icon.slds.css +724 -0
  79. package/src/lightning/buttonIconStateful/button.slds.css +503 -0
  80. package/src/lightning/buttonIconStateful/buttonIconStateful.css +2 -6
  81. package/src/lightning/buttonIconStateful/buttonIconStateful.js +54 -0
  82. package/src/lightning/buttonIconStateful/buttonIconStateful.js-meta.xml +3 -0
  83. package/src/lightning/buttonIconStateful/buttonIconStateful.lbc.native.css +4 -0
  84. package/src/lightning/buttonIconStateful/buttonIconStateful.lbc.synthetic.css +3 -0
  85. package/src/lightning/buttonMenu/button-icon.slds.css +724 -0
  86. package/src/lightning/buttonMenu/button-menu.slds.css +36 -1880
  87. package/src/lightning/buttonMenu/button.slds.css +503 -0
  88. package/src/lightning/buttonMenu/buttonMenu.css +1 -2
  89. package/src/lightning/buttonMenu/buttonMenu.js +8 -4
  90. package/src/lightning/buttonMenu/buttonMenu.js-meta.xml +3 -0
  91. package/src/lightning/buttonMenu/buttonMenu.lbc.native.css +5 -0
  92. package/src/lightning/buttonMenu/dropdown.slds.css +594 -0
  93. package/src/lightning/buttonStateful/button-stateful.slds.css +2 -745
  94. package/src/lightning/buttonStateful/button.slds.css +503 -0
  95. package/src/lightning/buttonStateful/buttonStateful.css +1 -2
  96. package/src/lightning/buttonStateful/buttonStateful.js +3 -2
  97. package/src/lightning/buttonStateful/buttonStateful.lbc.native.css +3 -0
  98. package/src/lightning/calendar/calendar.css +2 -11
  99. package/src/lightning/calendar/calendar.js +4 -2
  100. package/src/lightning/calendar/calendar.lbc.native.css +11 -0
  101. package/src/lightning/calendar/calendar.lbc.synthetic.css +8 -0
  102. package/src/lightning/calendar/calendar.slds.css +33 -1848
  103. package/src/lightning/calendar/dropdown.slds.css +594 -0
  104. package/src/lightning/card/card.css +1 -2
  105. package/src/lightning/card/card.js +3 -2
  106. package/src/lightning/card/card.lbc.native.css +2 -0
  107. package/src/lightning/card/card.slds.css +119 -176
  108. package/src/lightning/carousel/carousel.css +1 -7
  109. package/src/lightning/carousel/carousel.lbc.synthetic.css +7 -0
  110. package/src/lightning/colorPickerCustom/color-picker-custom.slds.css +34 -258
  111. package/src/lightning/colorPickerCustom/colorPickerCustom.css +1 -2
  112. package/src/lightning/colorPickerCustom/colorPickerCustom.js +3 -2
  113. package/src/lightning/colorPickerCustom/colorPickerCustom.lbc.native.css +3 -0
  114. package/src/lightning/colorPickerCustom/input-text.slds.css +533 -0
  115. package/src/lightning/colorPickerPanel/color-picker-panel.slds.css +2 -773
  116. package/src/lightning/colorPickerPanel/colorPickerPanel.css +2 -12
  117. package/src/lightning/colorPickerPanel/colorPickerPanel.js +4 -2
  118. package/src/lightning/colorPickerPanel/colorPickerPanel.lbc.native.css +3 -0
  119. package/src/lightning/colorPickerPanel/colorPickerPanel.lbc.synthetic.css +8 -0
  120. package/src/lightning/colorPickerPanel/popover.slds.css +29 -30
  121. package/src/lightning/combobox/combobox.css +2 -19
  122. package/src/lightning/combobox/combobox.html +4 -1
  123. package/src/lightning/combobox/combobox.js +20 -3
  124. package/src/lightning/combobox/combobox.js-meta.xml +3 -0
  125. package/src/lightning/combobox/combobox.lbc.native.css +3 -0
  126. package/src/lightning/combobox/combobox.lbc.synthetic.css +28 -0
  127. package/src/lightning/combobox/combobox.slds.css +2 -2
  128. package/src/lightning/combobox/form-element.slds.css +70 -43
  129. package/src/lightning/configProvider/defaultDurationConfig.js +1 -1
  130. package/src/lightning/confirm/confirm.css +1 -0
  131. package/src/lightning/confirm/confirm.js +12 -9
  132. package/src/lightning/confirm/confirm.js-meta.xml +3 -0
  133. package/src/lightning/confirm/confirm.lbc.native.css +1 -0
  134. package/src/lightning/datatable/__examples__/customDatatypeTable/customLink.html +5 -7
  135. package/src/lightning/datepicker/datepicker.css +1 -3
  136. package/src/lightning/datepicker/datepicker.js +15 -8
  137. package/src/lightning/datepicker/datepicker.lbc.native.css +3 -0
  138. package/src/lightning/datepicker/form-element.slds.css +70 -43
  139. package/src/lightning/datepicker/input-text.slds.css +253 -118
  140. package/src/lightning/datetimepicker/datetimepicker.css +1 -3
  141. package/src/lightning/datetimepicker/datetimepicker.html +0 -2
  142. package/src/lightning/datetimepicker/datetimepicker.js +35 -10
  143. package/src/lightning/datetimepicker/datetimepicker.lbc.native.css +3 -0
  144. package/src/lightning/datetimepicker/form-element.slds.css +70 -43
  145. package/src/lightning/datetimepicker/input-text.slds.css +253 -118
  146. package/src/lightning/dualListbox/dual-listbox.slds.css +27 -27
  147. package/src/lightning/dualListbox/dualListbox.css +2 -8
  148. package/src/lightning/dualListbox/dualListbox.js +55 -36
  149. package/src/lightning/dualListbox/dualListbox.js-meta.xml +3 -0
  150. package/src/lightning/dualListbox/dualListbox.lbc.native.css +4 -0
  151. package/src/lightning/dualListbox/dualListbox.lbc.synthetic.css +3 -0
  152. package/src/lightning/dualListbox/form-element.slds.css +70 -43
  153. package/src/lightning/dualListbox/listbox.slds.css +179 -179
  154. package/src/lightning/dynamicIcon/dynamicIcon.js +3 -2
  155. package/src/lightning/dynamicIcon/dynamicIcon.js-meta.xml +3 -0
  156. package/src/lightning/dynamicIcon/ellie.css +1 -1
  157. package/src/lightning/dynamicIcon/ellie.lbc.native.css +1 -0
  158. package/src/lightning/dynamicIcon/eq.css +1 -1
  159. package/src/lightning/dynamicIcon/eq.lbc.native.css +1 -0
  160. package/src/lightning/dynamicIcon/score.css +1 -1
  161. package/src/lightning/dynamicIcon/score.lbc.native.css +1 -0
  162. package/src/lightning/dynamicIcon/strength.css +1 -1
  163. package/src/lightning/dynamicIcon/strength.lbc.native.css +1 -0
  164. package/src/lightning/dynamicIcon/trend.css +1 -1
  165. package/src/lightning/dynamicIcon/trend.lbc.native.css +1 -0
  166. package/src/lightning/dynamicIcon/waffle.css +1 -1
  167. package/src/lightning/dynamicIcon/waffle.lbc.native.css +1 -0
  168. package/src/lightning/focusTrap/focusTrap.js +3 -2
  169. package/src/lightning/focusTrap/focusTrap.js-meta.xml +3 -0
  170. package/src/lightning/formattedAddress/formattedAddress.js-meta.xml +3 -0
  171. package/src/lightning/formattedEmail/formattedEmail.css +1 -0
  172. package/src/lightning/formattedEmail/formattedEmail.js +4 -2
  173. package/src/lightning/formattedEmail/formattedEmail.js-meta.xml +3 -0
  174. package/src/lightning/formattedEmail/formattedEmail.lbc.native.css +7 -0
  175. package/src/lightning/formattedLocation/formattedLocation.js-meta.xml +3 -0
  176. package/src/lightning/formattedNumber/formattedNumber.css +1 -4
  177. package/src/lightning/formattedNumber/formattedNumber.lbc.synthetic.css +4 -0
  178. package/src/lightning/formattedPhone/formattedPhone.css +1 -4
  179. package/src/lightning/formattedPhone/formattedPhone.js-meta.xml +3 -0
  180. package/src/lightning/formattedPhone/formattedPhone.lbc.synthetic.css +4 -0
  181. package/src/lightning/formattedRichText/formatted-rich-text.slds.css +39 -39
  182. package/src/lightning/formattedRichText/formattedRichText.css +1 -3
  183. package/src/lightning/formattedRichText/formattedRichText.js +4 -2
  184. package/src/lightning/formattedRichText/formattedRichText.js-meta.xml +3 -0
  185. package/src/lightning/formattedRichText/formattedRichText.lbc.native.css +3 -0
  186. package/src/lightning/formattedText/formattedText.css +1 -1
  187. package/src/lightning/formattedText/formattedText.js +3 -2
  188. package/src/lightning/formattedText/formattedText.js-meta.xml +3 -0
  189. package/src/lightning/formattedText/formattedText.lbc.native.css +1 -0
  190. package/src/lightning/formattedTime/formattedTime.js-meta.xml +3 -0
  191. package/src/lightning/formattedUrl/formattedUrl.js-meta.xml +3 -0
  192. package/src/lightning/groupedCombobox/__mockData__/exampleGroupedComboboxData.js +17 -0
  193. package/src/lightning/groupedCombobox/form-element.slds.css +315 -0
  194. package/src/lightning/groupedCombobox/grouped-combobox.slds.css +15 -0
  195. package/src/lightning/groupedCombobox/groupedCombobox.css +2 -3
  196. package/src/lightning/groupedCombobox/groupedCombobox.js +25 -3
  197. package/src/lightning/groupedCombobox/groupedCombobox.js-meta.xml +3 -0
  198. package/src/lightning/groupedCombobox/groupedCombobox.lbc.native.css +5 -0
  199. package/src/lightning/groupedCombobox/groupedCombobox.lbc.syhtnetic.css +3 -0
  200. package/src/lightning/groupedCombobox/input-text.slds.css +533 -0
  201. package/src/lightning/helptext/button-icon.slds.css +724 -0
  202. package/src/lightning/helptext/form-element.slds.css +70 -43
  203. package/src/lightning/helptext/help-text.slds.css +6 -938
  204. package/src/lightning/helptext/helptext.css +1 -3
  205. package/src/lightning/helptext/helptext.js +3 -2
  206. package/src/lightning/helptext/helptext.lbc.native.css +4 -0
  207. package/src/lightning/icon/icon.css +1 -2
  208. package/src/lightning/icon/icon.js +20 -2
  209. package/src/lightning/icon/icon.js-meta.xml +3 -0
  210. package/src/lightning/icon/icon.lbc.native.css +2 -0
  211. package/src/lightning/icon/icon.slds.css +64 -53
  212. package/src/lightning/input/form-element.slds.css +70 -43
  213. package/src/lightning/input/input.css +2 -13
  214. package/src/lightning/input/input.html +1 -0
  215. package/src/lightning/input/input.js +55 -9
  216. package/src/lightning/input/input.lbc.native.css +2 -0
  217. package/src/lightning/input/input.lbc.synthetic.css +9 -0
  218. package/src/lightning/inputAddress/form-element.slds.css +315 -0
  219. package/src/lightning/inputAddress/input-address.slds.css +15 -0
  220. package/src/lightning/inputAddress/input-text.slds.css +533 -0
  221. package/src/lightning/inputAddress/inputAddress.css +2 -3
  222. package/src/lightning/inputAddress/inputAddress.html +21 -12
  223. package/src/lightning/inputAddress/inputAddress.js +33 -14
  224. package/src/lightning/inputAddress/inputAddress.lbc.native.css +5 -0
  225. package/src/lightning/inputAddress/inputAddress.lbc.synthetic.css +4 -0
  226. package/src/lightning/inputLocation/form-element.slds.css +315 -0
  227. package/src/lightning/inputLocation/input-location.slds.css +15 -0
  228. package/src/lightning/inputLocation/input-text.slds.css +533 -0
  229. package/src/lightning/inputLocation/inputLocation.css +2 -3
  230. package/src/lightning/inputLocation/inputLocation.html +1 -1
  231. package/src/lightning/inputLocation/inputLocation.js +27 -6
  232. package/src/lightning/inputLocation/inputLocation.js-meta.xml +3 -0
  233. package/src/lightning/inputLocation/inputLocation.lbc.native.css +5 -0
  234. package/src/lightning/inputLocation/inputLocation.lbc.synthetic.css +3 -0
  235. package/src/lightning/inputName/form-element.slds.css +315 -0
  236. package/src/lightning/inputName/input-text.slds.css +533 -0
  237. package/src/lightning/inputName/inputName.css +2 -3
  238. package/src/lightning/inputName/inputName.js +22 -15
  239. package/src/lightning/inputName/inputName.lbc.native.css +4 -0
  240. package/src/lightning/inputName/inputName.lbc.synthetic.css +3 -0
  241. package/src/lightning/interactiveDialogBase/interactive-dialog-base.slds.css +24 -0
  242. package/src/lightning/interactiveDialogBase/interactiveDialogBase.css +2 -520
  243. package/src/lightning/interactiveDialogBase/interactiveDialogBase.html +8 -3
  244. package/src/lightning/interactiveDialogBase/interactiveDialogBase.js +6 -0
  245. package/src/lightning/interactiveDialogBase/interactiveDialogBase.lbc.native.css +3 -0
  246. package/src/lightning/interactiveDialogBase/interactiveDialogBase.lbc.synthetic.css +20 -0
  247. package/src/lightning/internationalizationLibrary/datetime/dateTimeUtils.js +33 -10
  248. package/src/lightning/layout/layout.css +2 -9
  249. package/src/lightning/layout/layout.js +5 -2
  250. package/src/lightning/layout/layout.js-meta.xml +3 -0
  251. package/src/lightning/layout/layout.lbc.native.css +2 -0
  252. package/src/lightning/layout/layout.lbc.synthetic.css +6 -0
  253. package/src/lightning/layoutItem/layoutItem.css +1 -5
  254. package/src/lightning/layoutItem/layoutItem.js +5 -2
  255. package/src/lightning/layoutItem/layoutItem.js-meta.xml +3 -0
  256. package/src/lightning/layoutItem/layoutItem.lbc.native.css +5 -0
  257. package/src/lightning/lookupAddress/form-element.slds.css +315 -0
  258. package/src/lightning/lookupAddress/listbox.slds.css +252 -0
  259. package/src/lightning/lookupAddress/lookup-address.slds.css +10 -0
  260. package/src/lightning/lookupAddress/lookupAddress.css +2 -0
  261. package/src/lightning/lookupAddress/lookupAddress.html +12 -9
  262. package/src/lightning/lookupAddress/lookupAddress.js +4 -2
  263. package/src/lightning/lookupAddress/lookupAddress.lbc.native.css +4 -0
  264. package/src/lightning/menuDivider/menu-divider.slds.css +4 -4
  265. package/src/lightning/menuDivider/menuDivider.css +2 -6
  266. package/src/lightning/menuDivider/menuDivider.js +4 -3
  267. package/src/lightning/menuDivider/menuDivider.lbc.native.css +2 -0
  268. package/src/lightning/menuDivider/menuDivider.lbc.synthetic.css +3 -0
  269. package/src/lightning/menuItem/menu-item.slds.css +16 -16
  270. package/src/lightning/menuItem/menuItem.css +2 -6
  271. package/src/lightning/menuItem/menuItem.js +13 -3
  272. package/src/lightning/menuItem/menuItem.js-meta.xml +3 -0
  273. package/src/lightning/menuItem/menuItem.lbc.native.css +2 -0
  274. package/src/lightning/menuItem/menuItem.lbc.synthetic.css +3 -0
  275. package/src/lightning/menuSubheader/menu-subheader.slds.css +4 -4
  276. package/src/lightning/menuSubheader/menuSubheader.css +2 -6
  277. package/src/lightning/menuSubheader/menuSubheader.js +4 -2
  278. package/src/lightning/menuSubheader/menuSubheader.lbc.native.css +2 -0
  279. package/src/lightning/menuSubheader/menuSubheader.lbc.synthetic.css +3 -0
  280. package/src/lightning/modal/__docs__/modal.md +30 -0
  281. package/src/lightning/modal/__examples__disabled/allformfullcompound/allformfullcompound.css +7 -0
  282. package/src/lightning/modal/__examples__disabled/allformfullcompound/allformfullcompound.html +9 -0
  283. package/src/lightning/modal/__examples__disabled/allformfullcompound/allformfullcompound.js +54 -0
  284. package/src/lightning/modal/__examples__disabled/allformhoriz/allformhoriz.css +7 -0
  285. package/src/lightning/modal/__examples__disabled/allformhoriz/allformhoriz.html +9 -0
  286. package/src/lightning/modal/__examples__disabled/allformhoriz/allformhoriz.js +53 -0
  287. package/src/lightning/modal/__examples__disabled/allmulti/allmulti.html +1 -0
  288. package/src/lightning/modal/__examples__disabled/allmulti/allmulti.js +43 -1
  289. package/src/lightning/modal/__examples__disabled/basic/basic.css +1 -1
  290. package/src/lightning/modal/__examples__disabled/demo/demo.css +1 -0
  291. package/src/lightning/modal/__examples__disabled/demoall/demoall.css +5 -0
  292. package/src/lightning/modal/__examples__disabled/demoallform/demoallform.css +2 -3
  293. package/src/lightning/modal/__examples__disabled/demoallform/demoallform.html +181 -107
  294. package/src/lightning/modal/__examples__disabled/demoallform/demoallform.js +7 -1
  295. package/src/lightning/modal/__examples__disabled/demoallformfull/demoallformfull.css +2 -3
  296. package/src/lightning/modal/__examples__disabled/demoallformfull/demoallformfull.html +181 -107
  297. package/src/lightning/modal/__examples__disabled/demoallformfullcompound/demoallformfullcompound.css +7 -0
  298. package/src/lightning/modal/__examples__disabled/demoallformfullcompound/demoallformfullcompound.html +109 -0
  299. package/src/lightning/modal/__examples__disabled/demoallformfullcompound/demoallformfullcompound.js +241 -0
  300. package/src/lightning/modal/__examples__disabled/demoallformhoriz/demoallformhoriz.css +5 -0
  301. package/src/lightning/modal/__examples__disabled/demoallformhoriz/demoallformhoriz.html +165 -0
  302. package/src/lightning/modal/__examples__disabled/demoallformhoriz/demoallformhoriz.js +241 -0
  303. package/src/lightning/modal/__examples__disabled/demofootless/demofootless.css +1 -0
  304. package/src/lightning/modal/__examples__disabled/demoheadless/demoheadless.css +5 -0
  305. package/src/lightning/modal/__modalUtils__/modalContainerTestConstants.js +8 -0
  306. package/src/lightning/modal/__modalUtils__/modalContainerTestMethods.js +108 -3
  307. package/src/lightning/modalBase/modal-base.slds.css +242 -0
  308. package/src/lightning/modalBase/modalBase.css +2 -16
  309. package/src/lightning/modalBase/modalBase.html +2 -0
  310. package/src/lightning/modalBase/modalBase.js +158 -10
  311. package/src/lightning/modalBase/modalBase.lbc.native.css +2 -0
  312. package/src/lightning/modalBase/modalBase.lbc.synthetic.css +18 -0
  313. package/src/lightning/modalBody/modal-body.slds.css +61 -0
  314. package/src/lightning/modalBody/modalBody.css +1 -0
  315. package/src/lightning/modalBody/modalBody.html +1 -0
  316. package/src/lightning/modalBody/modalBody.js +15 -2
  317. package/src/lightning/modalBody/modalBody.lbc.native.css +3 -0
  318. package/src/lightning/modalFooter/modal-footer.slds.css +79 -0
  319. package/src/lightning/modalFooter/modalFooter.css +1 -0
  320. package/src/lightning/modalFooter/modalFooter.html +1 -1
  321. package/src/lightning/modalFooter/modalFooter.js +3 -2
  322. package/src/lightning/modalFooter/modalFooter.lbc.native.css +2 -0
  323. package/src/lightning/modalHeader/modal-header.slds.css +77 -0
  324. package/src/lightning/modalHeader/modalHeader.css +3 -0
  325. package/src/lightning/modalHeader/modalHeader.html +1 -1
  326. package/src/lightning/modalHeader/modalHeader.js +4 -2
  327. package/src/lightning/modalHeader/modalHeader.lbc.native.css +3 -0
  328. package/src/lightning/overlay/overlay.js +11 -4
  329. package/src/lightning/overlayContainer/overlayContainer.js +3 -2
  330. package/src/lightning/picklist/picklist.js +24 -19
  331. package/src/lightning/picklist/picklist.js-meta.xml +3 -0
  332. package/src/lightning/pill/avatar.slds.css +34 -205
  333. package/src/lightning/pill/link.css +1 -3
  334. package/src/lightning/pill/link.lbc.native.css +3 -0
  335. package/src/lightning/pill/pill.js +4 -2
  336. package/src/lightning/pill/pill.js-meta.xml +3 -0
  337. package/src/lightning/pill/pill.slds.css +52 -47
  338. package/src/lightning/pill/plain.css +1 -3
  339. package/src/lightning/pill/plain.lbc.native.css +3 -0
  340. package/src/lightning/pill/plainLink.css +1 -3
  341. package/src/lightning/pill/plainLink.lbc.native.css +3 -0
  342. package/src/lightning/pillContainer/barePillContainer.css +1 -3
  343. package/src/lightning/pillContainer/barePillContainer.html +1 -1
  344. package/src/lightning/pillContainer/barePillContainer.lbc.native.css +4 -0
  345. package/src/lightning/pillContainer/button.slds.css +503 -0
  346. package/src/lightning/pillContainer/listbox.slds.css +179 -179
  347. package/src/lightning/pillContainer/pill-container.slds.css +15 -9
  348. package/src/lightning/pillContainer/pill.slds.css +52 -47
  349. package/src/lightning/pillContainer/pillContainer.js +15 -12
  350. package/src/lightning/pillContainer/pillContainer.js-meta.xml +3 -0
  351. package/src/lightning/pillContainer/standardPillContainer.css +3 -2
  352. package/src/lightning/pillContainer/standardPillContainer.html +1 -1
  353. package/src/lightning/popup/popover.slds.css +29 -30
  354. package/src/lightning/popup/popup.css +1 -2
  355. package/src/lightning/popup/popup.js +3 -2
  356. package/src/lightning/popup/popup.js-meta.xml +3 -0
  357. package/src/lightning/popup/popup.lbc.native.css +2 -0
  358. package/src/lightning/primitiveBubble/primitiveBubble.css +2 -11
  359. package/src/lightning/primitiveBubble/primitiveBubble.js +4 -2
  360. package/src/lightning/primitiveBubble/primitiveBubble.lbc.native.css +2 -0
  361. package/src/lightning/primitiveBubble/primitiveBubble.lbc.synthetic.css +8 -0
  362. package/src/lightning/primitiveBubble/tooltip.slds.css +89 -142
  363. package/src/lightning/primitiveButton/primitiveButton.js +4 -2
  364. package/src/lightning/primitiveColorpickerButton/color-picker-button.slds.css +14 -223
  365. package/src/lightning/primitiveColorpickerButton/primitiveColorpickerButton.css +1 -2
  366. package/src/lightning/primitiveColorpickerButton/primitiveColorpickerButton.js +3 -2
  367. package/src/lightning/primitiveColorpickerButton/primitiveColorpickerButton.lbc.native.css +2 -0
  368. package/src/lightning/primitiveCustomCell/primitiveCustomCell.js +1 -2
  369. package/src/lightning/primitiveDatatableCell/primitiveDatatableCell.js +1 -3
  370. package/src/lightning/primitiveFileDroppableZone/primitiveFileDroppableZone.js +17 -7
  371. package/src/lightning/primitiveIcon/icon.slds.css +64 -53
  372. package/src/lightning/primitiveIcon/primitiveIcon.css +2 -11
  373. package/src/lightning/primitiveIcon/primitiveIcon.js +7 -9
  374. package/src/lightning/primitiveIcon/primitiveIcon.lbc.native.css +2 -0
  375. package/src/lightning/primitiveIcon/primitiveIcon.lbc.synthetic.css +9 -0
  376. package/src/lightning/primitiveIframe/primitiveIframe.html +9 -8
  377. package/src/lightning/primitiveIframe/primitiveIframe.js +4 -2
  378. package/src/lightning/primitiveInputCheckbox/form-element.slds.css +70 -43
  379. package/src/lightning/primitiveInputCheckbox/input-checkbox.slds.css +223 -237
  380. package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.css +1 -3
  381. package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.js +9 -1
  382. package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.lbc.native.css +3 -0
  383. package/src/lightning/primitiveInputCheckboxButton/form-element.slds.css +70 -43
  384. package/src/lightning/primitiveInputCheckboxButton/input-checkbox-button.slds.css +30 -30
  385. package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.css +2 -6
  386. package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.lbc.native.css +2 -0
  387. package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.lbc.synthetic.css +2 -0
  388. package/src/lightning/primitiveInputColor/form-element.slds.css +70 -43
  389. package/src/lightning/primitiveInputColor/input-color.slds.css +3 -7
  390. package/src/lightning/primitiveInputColor/input-text.slds.css +253 -118
  391. package/src/lightning/primitiveInputColor/primitiveInputColor.css +1 -4
  392. package/src/lightning/primitiveInputColor/primitiveInputColor.lbc.native.css +4 -0
  393. package/src/lightning/primitiveInputFile/button.slds.css +365 -395
  394. package/src/lightning/primitiveInputFile/form-element.slds.css +70 -43
  395. package/src/lightning/primitiveInputFile/input-file.slds.css +12 -12
  396. package/src/lightning/primitiveInputFile/primitiveInputFile.css +1 -5
  397. package/src/lightning/primitiveInputFile/primitiveInputFile.js +9 -7
  398. package/src/lightning/primitiveInputFile/primitiveInputFile.lbc.native.css +4 -0
  399. package/src/lightning/primitiveInputSimple/form-element.slds.css +70 -43
  400. package/src/lightning/primitiveInputSimple/input-text.slds.css +253 -118
  401. package/src/lightning/primitiveInputSimple/primitiveInputSimple.css +2 -9
  402. package/src/lightning/primitiveInputSimple/primitiveInputSimple.js +4 -2
  403. package/src/lightning/primitiveInputSimple/primitiveInputSimple.lbc.native.css +3 -0
  404. package/src/lightning/primitiveInputSimple/primitiveInputSimple.lbc.synthetic.css +5 -0
  405. package/src/lightning/primitiveInputToggle/form-element.slds.css +70 -43
  406. package/src/lightning/primitiveInputToggle/input-toggle.slds.css +28 -28
  407. package/src/lightning/primitiveInputToggle/primitiveInputToggle.css +1 -3
  408. package/src/lightning/primitiveInputToggle/primitiveInputToggle.js +9 -1
  409. package/src/lightning/primitiveInputToggle/primitiveInputToggle.lbc.native.css +3 -0
  410. package/src/lightning/progressBar/progress-bar.slds.css +66 -0
  411. package/src/lightning/progressBar/progressBar.css +1 -0
  412. package/src/lightning/progressBar/progressBar.html +1 -0
  413. package/src/lightning/progressBar/progressBar.js +3 -2
  414. package/src/lightning/progressBar/progressBar.lbc.native.css +2 -0
  415. package/src/lightning/progressIndicator/progressIndicator.css +1 -3
  416. package/src/lightning/progressIndicator/progressIndicator.lbc.synthetic.css +3 -0
  417. package/src/lightning/progressRing/progress-ring.slds.css +136 -0
  418. package/src/lightning/progressRing/progressRing.css +1 -0
  419. package/src/lightning/progressRing/progressRing.html +1 -1
  420. package/src/lightning/progressRing/progressRing.js +3 -2
  421. package/src/lightning/progressRing/progressRing.lbc.native.css +2 -0
  422. package/src/lightning/prompt/prompt.css +1 -85
  423. package/src/lightning/prompt/prompt.html +15 -5
  424. package/src/lightning/prompt/prompt.js +12 -9
  425. package/src/lightning/prompt/prompt.js-meta.xml +3 -0
  426. package/src/lightning/prompt/prompt.lbc.native.css +2 -0
  427. package/src/lightning/prompt/prompt.slds.css +10 -0
  428. package/src/lightning/radioGroup/form-element.slds.css +315 -0
  429. package/src/lightning/radioGroup/input-radio-group.slds.css +124 -571
  430. package/src/lightning/radioGroup/radioGroup.css +2 -7
  431. package/src/lightning/radioGroup/radioGroup.js +4 -2
  432. package/src/lightning/radioGroup/radioGroup.lbc.native.css +3 -0
  433. package/src/lightning/radioGroup/radioGroup.lbc.synthetic.css +3 -0
  434. package/src/lightning/select/form-element.slds.css +70 -43
  435. package/src/lightning/select/select.css +1 -3
  436. package/src/lightning/select/select.js +4 -2
  437. package/src/lightning/select/select.js-meta.xml +3 -0
  438. package/src/lightning/select/select.lbc.native.css +3 -0
  439. package/src/lightning/select/select.slds.css +23 -342
  440. package/src/lightning/sldsUtilsThemes/sldsUtilsThemes.css +27 -11
  441. package/src/lightning/sldsUtilsVisibility/sldsUtilsVisibility.css +20 -0
  442. package/src/lightning/sldsUtilsVisibility/sldsUtilsVisibility.js-meta.xml +4 -0
  443. package/src/lightning/spinner/spinner.css +1 -2
  444. package/src/lightning/spinner/spinner.js +6 -4
  445. package/src/lightning/spinner/spinner.js-meta.xml +3 -0
  446. package/src/lightning/spinner/spinner.lbc.native.css +2 -0
  447. package/src/lightning/spinner/spinner.slds.css +4 -10
  448. package/src/lightning/staticMap/staticMap.html +12 -10
  449. package/src/lightning/staticMap/staticMap.js +16 -4
  450. package/src/lightning/tab/tab.css +1 -2
  451. package/src/lightning/tab/tab.lbc.native.css +2 -0
  452. package/src/lightning/tab/tab.slds.css +9 -9
  453. package/src/lightning/tabBar/tab-bar.slds.css +59 -59
  454. package/src/lightning/tabBar/tabBar.css +1 -2
  455. package/src/lightning/tabBar/tabBar.js +19 -2
  456. package/src/lightning/tabBar/tabBar.lbc.native.css +2 -0
  457. package/src/lightning/tabset/tabset.css +1 -10
  458. package/src/lightning/tabset/tabset.html +19 -7
  459. package/src/lightning/tabset/tabset.js +224 -60
  460. package/src/lightning/tabset/tabset.lbc.native.css +3 -0
  461. package/src/lightning/tabset/tabset.slds.css +15 -0
  462. package/src/lightning/textarea/form-element.slds.css +315 -0
  463. package/src/lightning/textarea/textarea.css +2 -5
  464. package/src/lightning/textarea/textarea.html +21 -5
  465. package/src/lightning/textarea/textarea.js +167 -128
  466. package/src/lightning/textarea/textarea.lbc.native.css +3 -0
  467. package/src/lightning/textarea/textarea.lbc.synthetic.css +5 -0
  468. package/src/lightning/textarea/textarea.slds.css +95 -0
  469. package/src/lightning/tile/standardTile.css +1 -3
  470. package/src/lightning/tile/standardTile.lbc.synthetic.css +3 -0
  471. package/src/lightning/timepicker/form-element.slds.css +70 -43
  472. package/src/lightning/timepicker/timepicker.css +1 -3
  473. package/src/lightning/timepicker/timepicker.html +1 -1
  474. package/src/lightning/timepicker/timepicker.js +21 -5
  475. package/src/lightning/timepicker/timepicker.lbc.native.css +3 -0
  476. package/src/lightning/toast/button-icon.slds.css +575 -766
  477. package/src/lightning/toast/formatted-rich-text.slds.css +39 -39
  478. package/src/lightning/toast/icon.slds.css +64 -53
  479. package/src/lightning/toast/toast.css +2 -68
  480. package/src/lightning/toast/toast.js +4 -2
  481. package/src/lightning/toast/toast.lbc.native.css +9 -0
  482. package/src/lightning/toast/toast.lbc.synthetic.css +58 -0
  483. package/src/lightning/toast/toast.slds.css +20 -20
  484. package/src/lightning/toastContainer/toast.slds.css +20 -20
  485. package/src/lightning/toastContainer/toastContainer.css +2 -43
  486. package/src/lightning/toastContainer/toastContainer.lbc.native.css +4 -0
  487. package/src/lightning/toastContainer/toastContainer.lbc.synthetic.css +38 -0
  488. package/src/lightning/utilsPrivate/animation.js +10 -8
  489. package/src/lightning/utilsPrivate/aria.js +1 -1
  490. package/src/lightning/utilsPrivate/utilsPrivate.js +21 -5
  491. package/src/lightning/verticalNavigation/verticalNavigation.css +1 -3
  492. package/src/lightning/verticalNavigation/verticalNavigation.js +3 -2
  493. package/src/lightning/verticalNavigation/verticalNavigation.lbc.native.css +2 -0
  494. package/src/lightning/verticalNavigationOverflow/verticalNavigationOverflow.css +1 -3
  495. package/src/lightning/verticalNavigationOverflow/verticalNavigationOverflow.lbc.synthetic.css +3 -0
  496. package/src/lightning/verticalNavigationSection/vertical-navigation-section.slds.css +8 -8
  497. package/src/lightning/verticalNavigationSection/verticalNavigationSection.css +2 -7
  498. package/src/lightning/verticalNavigationSection/verticalNavigationSection.js +3 -2
  499. package/src/lightning/verticalNavigationSection/verticalNavigationSection.lbc.native.css +2 -0
  500. package/src/lightning/verticalNavigationSection/verticalNavigationSection.lbc.synthetic.css +3 -0
@@ -1,6 +1,13 @@
1
- import { LightningElement, api, track } from 'lwc';
2
- import { normalizeString, isHeadingLevelValid } from 'lightning/utilsPrivate';
1
+ import { api, track } from 'lwc';
2
+ import LightningShadowBaseClass from 'lightning/shadowBaseClassPrivate';
3
+ import {
4
+ normalizeString,
5
+ isHeadingLevelValid,
6
+ normalizeBoolean,
7
+ isCSR,
8
+ } from 'lightning/utilsPrivate';
3
9
  import { generateUniqueId } from 'lightning/inputUtils';
10
+ import AriaObserver from 'lightning/ariaObserver';
4
11
  import { classSet } from 'lightning/utils';
5
12
  import labelTabs from '@salesforce/label/LightningTabs.defaultTabBarAriaLabel';
6
13
 
@@ -14,67 +21,87 @@ const tabClassPrefixByVariant = {
14
21
  * Represents a list of tabs.
15
22
  * @slot default Placeholder for lightning-tab.
16
23
  */
17
- export default class LightningTabset extends LightningElement {
24
+ export default class LightningTabset extends LightningShadowBaseClass {
25
+ @track _tabHeaders = [];
26
+ _variant = 'standard';
27
+ // tabset heading private values
28
+ _headingLabel = null;
29
+ _headingVisible = false;
30
+ _headingLevel = 2;
31
+ _headingLabelRerender = false;
32
+ _headingLabelRemove = false;
33
+ _headingLabelAdd = false;
34
+ // additional private variables
35
+ _firstRender = true;
36
+ _rerender = false;
37
+ _tabBarElem = null;
38
+ defaultAriaLabel = labelTabs;
39
+
18
40
  /**
19
41
  * Displays tooltip text when the mouse moves over the tabset.
20
42
  * @type {string}
21
43
  */
22
44
  @api title;
23
45
 
24
- @track _variant = 'standard';
25
-
26
- @track _tabHeaders = [];
27
-
28
- @api headingLabel;
29
- @api headingVisible;
30
-
31
- defaultAriaLabel = labelTabs;
32
-
33
- _rerender = false;
34
-
35
- connectedCallback() {
36
- this._tabByValue = {};
37
- this._connected = true;
38
- this.addEventListener(
39
- 'privatetabregister',
40
- this.handleTabRegister.bind(this)
41
- );
42
- this.addEventListener(
43
- 'privatetabdatachange',
44
- this.handleTabDataChange.bind(this)
45
- );
46
- }
47
-
48
46
  /**
49
- * in native shadow, must wait for this entire `tab-set` component to be rendered in order to
50
- * successfully querySelect `tab-bar` from it, in methods such as _updateTabBarHeaders
51
- * or _selectTab.
52
- * using _rerender to trigger renderedCallback and execute these methods in here
53
- * instead of the handleTabRegister method, where `tab-bar` is not querySelectable.
47
+ * The string value to set the tabset heading label to
48
+ * @type {string|null} - the value to set for the tabset heading
54
49
  */
55
- renderedCallback() {
56
- if (this._rerender && !this.template.synthetic) {
57
- this._rerender = false;
58
- this._updateTabBarHeaders(this._tabHeaders);
59
- this._selectTab(this._activeTabValue);
50
+ @api
51
+ get headingLabel() {
52
+ return this._headingLabel ?? null;
53
+ }
54
+
55
+ set headingLabel(value) {
56
+ const labelIsPopulated = value && value.trim().length > 0;
57
+ const currentValue = this._headingLabel;
58
+ // unset the value, if conditions for valid label not met
59
+ const nextValue = labelIsPopulated ? value : null;
60
+ this._headingLabel = nextValue;
61
+ // need to handle dynamic changes after initial render cycle has occurred
62
+ // NOTE: W-14708987 was created to deal w/ an edge case described in B & C below
63
+ // (a) label was set, and changing to another label value.
64
+ // ex: 'My Title' -> 'My Turtles' (fixed:W-14578712)
65
+ // (b) label was unset, and now has a value. (TODO: W-14708987)
66
+ // ex: null -> 'My title'
67
+ // (c) label values was set, and now has value set null (TODO: W-14708987)
68
+ // ex: 'My Title' -> null
69
+ // the issues with B and C occur due to how the template lwc:if / lwc:else
70
+ // is structured
71
+ // if the value is changing from: 'My Title' to 'My Bigger Title' (A above),
72
+ // no rerender is required, because the template logic is the same
73
+ // need to rerender the tabs, because the template logic IF / ELSE
74
+ // is triggered by transitioning between null and a populated value
75
+ if (!this._firstRender) {
76
+ this._headingLabelRemove = currentValue && nextValue === null;
77
+ this._headingLabelAdd = currentValue === null && nextValue;
78
+ // need to trigger rerender of the entire tab set element
79
+ if (this._headingLabelRemove || this._headingLabelAdd) {
80
+ this._headingLabelRerender = true;
81
+ this._firstRender = true;
82
+ }
60
83
  }
61
84
  }
62
85
 
63
- disconnectedCallback() {
64
- this._connected = false;
86
+ /**
87
+ * Determines if the heading should be visible or only screen reader visible
88
+ * when set, expects a boolean value. when not set, defaults to false
89
+ * @type {boolean} - the boolean value to set for heading visibility
90
+ * @returns {boolean} - the boolean value set for heading visibility
91
+ */
92
+ @api
93
+ get headingVisible() {
94
+ return this._headingVisible ?? false;
65
95
  }
66
96
 
67
- get computedHeadingClass() {
68
- const classnames = classSet('slds-tabs_default__header');
69
- return classnames
70
- .add({ 'slds-assistive-text': !this.headingVisible })
71
- .toString();
97
+ set headingVisible(value) {
98
+ this._headingVisible = normalizeBoolean(value);
72
99
  }
73
100
 
74
- _headingLevel;
75
101
  /**
76
102
  * Determines the value to pass to aria-level. Accepts values in range [1,6].
77
- * @type {number}
103
+ * @type {number} - the value to set for the heading's aria-level
104
+ * @returns {number} - the value for setting the heading's aria-level
78
105
  */
79
106
  @api
80
107
  get headingLevel() {
@@ -129,6 +156,112 @@ export default class LightningTabset extends LightningElement {
129
156
  }
130
157
  }
131
158
 
159
+ /**
160
+ * Focus currently selected tab.
161
+ */
162
+ @api
163
+ focus() {
164
+ const tabBar = this.tabBarElem;
165
+ if (tabBar) {
166
+ tabBar.focus();
167
+ }
168
+ }
169
+
170
+ addTabRegisterEventListeners() {
171
+ if (isCSR) {
172
+ this.addEventListener(
173
+ 'privatetabregister',
174
+ this.handleTabRegister.bind(this)
175
+ );
176
+ this.addEventListener(
177
+ 'privatetabdatachange',
178
+ this.handleTabDataChange.bind(this)
179
+ );
180
+ }
181
+ }
182
+
183
+ removeTabRegisterEventListeners() {
184
+ if (isCSR) {
185
+ this.removeEventListener(
186
+ 'privatetabregister',
187
+ this.handleTabRegister.bind(this)
188
+ );
189
+ this.removeEventListener(
190
+ 'privatetabdatachange',
191
+ this.handleTabDataChange.bind(this)
192
+ );
193
+ this._tabBarElem = null;
194
+ }
195
+ }
196
+
197
+ connectedCallback() {
198
+ super.connectedCallback();
199
+ this._tabByValue = {};
200
+ this._connected = true;
201
+ this.addTabRegisterEventListeners();
202
+ if (isCSR) {
203
+ this.ariaObserver = new AriaObserver(this);
204
+ }
205
+ }
206
+
207
+ /**
208
+ * in native shadow, must wait for this entire `tab-set` component to be rendered in order to
209
+ * successfully querySelect `tab-bar` from it, in methods such as _updateTabBarHeaders
210
+ * or _selectTab.
211
+ * using _rerender to trigger renderedCallback and execute these methods in here
212
+ * instead of the handleTabRegister method, where `tab-bar` is not querySelectable.
213
+ */
214
+ renderedCallback() {
215
+ // always update the cached this._tabBarElem at the start of the render cycle
216
+ this._cacheTabBarElem();
217
+ if (this.nativeShadowAndRerender) {
218
+ this._rerender = false;
219
+ this._updateTabBarHeaders(this._tabHeaders);
220
+ this._selectTab(this._activeTabValue);
221
+ }
222
+ if (this.headingLabelChangeRerender) {
223
+ this._rerender = false;
224
+ this._headingLabelRerender = false;
225
+ this._updateTabBarHeaders(this._tabHeaders);
226
+ this._selectTab(this._activeTabValue);
227
+ }
228
+ this.ariaObserver.sync();
229
+ if (this._firstRender) {
230
+ this._firstRender = false;
231
+ }
232
+ }
233
+
234
+ disconnectedCallback() {
235
+ this._connected = false;
236
+ this.removeTabRegisterEventListeners();
237
+ if (this.ariaObserver) {
238
+ this.ariaObserver.disconnect();
239
+ this.ariaObserver = undefined;
240
+ }
241
+ }
242
+
243
+ get computedHeadingClass() {
244
+ const classnames = classSet('slds-tabs_default__header');
245
+ return classnames
246
+ .add({ 'slds-assistive-text': !this._headingVisible })
247
+ .toString();
248
+ }
249
+
250
+ handleTabLinkRegister(event) {
251
+ const tabs = this.tabs;
252
+ event.detail.tabLinks.forEach((tabLink, index) => {
253
+ this.ariaObserver.connect({
254
+ attribute: 'aria-labelledby',
255
+ targetNode: tabs[index],
256
+ relatedNodes: tabLink,
257
+ });
258
+ });
259
+ }
260
+
261
+ get tabs() {
262
+ return this.querySelectorAll(`[role='tabpanel']`);
263
+ }
264
+
132
265
  handleTabRegister(event) {
133
266
  event.stopPropagation();
134
267
  // setting this to true, will trigger _updateTabBarHeaders and _selectTab in renderedCallback
@@ -148,14 +281,13 @@ export default class LightningTabset extends LightningElement {
148
281
  const tabValue = tab.value;
149
282
 
150
283
  tab.dataTabValue = tabValue;
151
- tab.ariaLabelledBy = tabValue + '__item';
152
284
 
153
285
  tab.classList.add(`${tabClassPrefixByVariant[this.variant]}__content`);
154
286
 
155
287
  tab.classList.add('slds-hide');
156
288
  tab.classList.remove('slds-show');
157
289
 
158
- const tabs = this.querySelectorAll(`[role='tabpanel']`);
290
+ const tabs = this.tabs;
159
291
  let tabIndex;
160
292
  for (tabIndex = 0; tabIndex < tabs.length; tabIndex++) {
161
293
  if (tabs[tabIndex].dataTabValue === tabValue) {
@@ -285,6 +417,46 @@ export default class LightningTabset extends LightningElement {
285
417
  }
286
418
  }
287
419
 
420
+ get nativeShadowAndRerender() {
421
+ return this._rerender && !this.template.synthetic;
422
+ }
423
+
424
+ get headingLabelChangeRerender() {
425
+ return !this._firstRender && this._headingLabelRerender;
426
+ }
427
+
428
+ /* cache tabBar element when first accessed, or isCSR and not set */
429
+ get tabBarElem() {
430
+ if (isCSR) {
431
+ if (
432
+ this._headingLabelRerender ||
433
+ this.nativeShadowAndRerender ||
434
+ !this._tabBarElem
435
+ ) {
436
+ this._cacheTabBarElem();
437
+ }
438
+ return this._tabBarElem;
439
+ }
440
+ return null;
441
+ }
442
+
443
+ /* sets the private cached version of tabBar element
444
+ this handles the case where isCSR && this._tabBarElement (exists)
445
+ intentionally force an update to the element when a rerender occurs in native shadow
446
+ since we call get tabBarElem skipping checks for isCSR, and non-existing element
447
+ */
448
+ _cacheTabBarElem() {
449
+ if (isCSR) {
450
+ // udpdate tabBar element, force to update elem if NS && Rerender
451
+ // or always if it doesn't exist
452
+ // order of IF checking is important
453
+ if (this.nativeShadowAndRerender || !this._tabBarElem) {
454
+ this._tabBarElem =
455
+ this.template.querySelector('lightning-tab-bar');
456
+ }
457
+ }
458
+ }
459
+
288
460
  /**
289
461
  * Need to set tabHeaders programmatically this way. If done declaratively, LWC appears to batch
290
462
  * the request to re-render the tab-bar until after all the tabs have been registered. If all tabs
@@ -295,14 +467,14 @@ export default class LightningTabset extends LightningElement {
295
467
  * @param {Array} headers
296
468
  */
297
469
  _updateTabBarHeaders(headers) {
298
- if (this.template.querySelector('lightning-tab-bar')) {
299
- this.template.querySelector('lightning-tab-bar').tabHeaders =
300
- headers.slice();
470
+ const tabBar = this.tabBarElem;
471
+ if (tabBar) {
472
+ tabBar.tabHeaders = headers.slice();
301
473
  }
302
474
  }
303
475
 
304
476
  _selectTabHeaderByTabValue(value) {
305
- const tabBar = this.template.querySelector('lightning-tab-bar');
477
+ const tabBar = this.tabBarElem;
306
478
  if (!this._connected || !tabBar) {
307
479
  return;
308
480
  }
@@ -312,12 +484,4 @@ export default class LightningTabset extends LightningElement {
312
484
  get computedClass() {
313
485
  return tabClassPrefixByVariant[this.variant];
314
486
  }
315
-
316
- /**
317
- * Focus currently selected tab.
318
- */
319
- @api
320
- focus() {
321
- this.template.querySelector('lightning-tab-bar').focus();
322
- }
323
487
  }
@@ -0,0 +1,3 @@
1
+ @import 'lightning/sldsCommon';
2
+ @import 'lightning/sldsUtilsVisibility';
3
+ @import './tabset.slds.css';
@@ -0,0 +1,15 @@
1
+
2
+ @supports (--styling-hooks: '') {
3
+ :host([data-render-mode="shadow"]) .slds-vertical-tabs {
4
+ display: flex;
5
+ overflow: hidden;
6
+ border: var(--slds-g-sizing-border-1) solid var(--slds-g-color-border-base-1, --slds-g-color-border-1);
7
+ border-radius: var(--slds-g-spacing-1);
8
+ }
9
+ :host([data-render-mode="shadow"]) .slds-tabs_default .slds-tabs_default__header {
10
+ font-weight: var(--sds-g-font-weight-bold, bold);
11
+ }
12
+ :host([data-render-mode="shadow"]) .slds-tabs_default .slds-tabs_default__header:not(.slds-assistive-text) {
13
+ font-size: var(--sds-g-font-scale-neg-2, calc(var(--slds-g-font-scale-neg-1) / var(--slds-g-font-scale-ratio)));
14
+ }
15
+ }
@@ -0,0 +1,315 @@
1
+
2
+ /* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved
3
+ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
4
+
5
+ /**
6
+ * sldsFormElementUtils.css and form-element.css have many similarities
7
+ * however, they are used for very different use cases, and this is why
8
+ * they both exist, separate of each other. the 2 files are not 1:1.
9
+ *
10
+ * form-element.css is used for inclusion by LBC engineers (internal)
11
+ * in many of our lightning-input components, and is written with
12
+ * part attributes in mind. Some unneeded form element blueprint sections
13
+ * are not included in form-element.css, but could be added as needed later
14
+ *
15
+ * sldsFormElementUtils.css is used by customers (external) to get the
16
+ * specific layout styles that are provided by the form element blueprint
17
+ * https://www.lightningdesignsystem.com/components/form-element/
18
+ * there are no part attribute rules in this file
19
+ * the main use case of this utility is LightningModal for styling
20
+ * form layout for Form Element variants: Stacked, Horizontal, Compound
21
+ * sldsFormElementUtils.css is imported by customers via LWC CSS files:
22
+ * @import 'lightning/sldsFormElementUtils';
23
+ *
24
+ * **NOTE:** If you are updating this file, also check sldsFormElementUtils.css
25
+ * for any needed updates to keep these files in sync
26
+ */
27
+
28
+ @supports (--styling-hooks: '') {
29
+ /* TODO: Swap with utility classes */
30
+ :host([data-render-mode="shadow"]) fieldset {
31
+ border: 0;
32
+ margin: 0;
33
+ padding: 0;
34
+ }
35
+
36
+ /* FORM ELEMENT: BASE */
37
+ :host([data-render-mode="shadow"]) .slds-form-element {
38
+ position: relative;
39
+ min-width: 0;
40
+ }
41
+
42
+ :host([data-render-mode="shadow"]) .slds-form-element__label {
43
+ overflow-wrap: break-word;
44
+ word-wrap: break-word;
45
+ hyphens: auto;
46
+ display: inline-block;
47
+ color: var(--slds-g-color-on-surface-2);
48
+ font-size: var(--slds-g-font-scale-neg-3);
49
+ padding-inline-end: var(--slds-g-spacing-2);
50
+ padding-block-start: var(--slds-g-spacing-1);
51
+ margin-block-end: calc(var(--slds-g-spacing-1) / 2);
52
+ }
53
+
54
+ :host([data-render-mode="shadow"]) .slds-form-element__label:empty {
55
+ margin: 0;
56
+ }
57
+
58
+ :host([data-render-mode="shadow"]) .slds-form-element__control {
59
+ clear: left; /* NOTE: Ideally we want left to be inline-start but browser support is not ready for that value. We need to figure out better RTL support */
60
+ position: relative;
61
+ }
62
+
63
+ :host([data-render-mode="shadow"]) .slds-form-element__control .slds-radio {
64
+ display: block;
65
+ }
66
+
67
+ :host([data-render-mode="shadow"]) .slds-form-element__icon {
68
+ display: inline-block;
69
+ position: relative;
70
+ padding-block-start: var(--slds-g-spacing-1);
71
+ vertical-align: top;
72
+ line-height: var(--slds-g-font-lineheight-1);
73
+ z-index: 1;
74
+ }
75
+
76
+ :host([data-render-mode="shadow"]) .slds-form-element__icon .slds-button_icon {
77
+ position: relative;
78
+ }
79
+
80
+ :host([data-render-mode="shadow"]) .slds-form-element__help,:host([data-render-mode="shadow"])
81
+ .slds-form-element__helper {
82
+ font-size: var(--slds-g-font-scale-neg-3);
83
+ margin-block-start: calc(var(--slds-g-spacing-1) / 2);
84
+ display: block;
85
+ }
86
+
87
+ :host([data-render-mode="shadow"]) .slds-form-element_edit .slds-form-element__static {
88
+ width: calc(100% - var(--slds-g-sizing-7));
89
+ }
90
+
91
+ :host([data-render-mode="shadow"]) .slds-form-element_readonly {
92
+ flex-basis: 0%;
93
+ border-bottom: var(--slds-g-sizing-border-1) solid var(--slds-g-color-border-1);
94
+ margin-block-end: 0;
95
+ }
96
+
97
+ :host([data-render-mode="shadow"]) .slds-form-element_readonly .slds-form-element__control {
98
+ padding-block-start: calc(var(--slds-g-spacing-1) / 2);
99
+ padding-block-end: calc(var(--slds-g-spacing-1) / 2);
100
+ }
101
+
102
+ :host([data-render-mode="shadow"]) .slds-form-element_readonly .slds-form-element__label {
103
+ margin-block-end: 0;
104
+ }
105
+
106
+ :host([data-render-mode="shadow"]) .slds-form-element__legend {
107
+ font-weight: var(--slds-g-font-weight-7);
108
+ float: left;
109
+ }
110
+
111
+ :host([data-render-mode="shadow"]) .slds-form-element__addon {
112
+ display: inline-block;
113
+ margin-block-start: 0;
114
+ margin-block-end: 0;
115
+ margin-inline-start: var(--slds-g-spacing-2);
116
+ margin-inline-end: var(--slds-g-spacing-2);
117
+ align-self: center;
118
+ }
119
+
120
+ :host([data-render-mode="shadow"]) .slds-form-element__static {
121
+ overflow-wrap: break-word;
122
+ word-wrap: break-word;
123
+ word-break: break-word;
124
+ display: inline-block;
125
+ font-size: var(--slds-g-font-scale-neg-1);
126
+ font-weight: var(--slds-g-font-weight-4);
127
+ color: var(--slds-g-color-neutral-base-10);
128
+ width: 100%;
129
+ }
130
+
131
+ :host([data-render-mode="shadow"]) .slds-form-element__static.slds-text-longform *:last-child {
132
+ margin-block-end: 0;
133
+ }
134
+
135
+ :host([data-render-mode="shadow"]) .slds-form-element__static:empty {
136
+ min-height: calc(var(--slds-g-sizing-6) + 1px);
137
+ vertical-align: bottom;
138
+ }
139
+
140
+ :host([data-render-mode="shadow"]) .slds-form-element__static--edit {
141
+ width: calc(100% - var(--slds-g-sizing-7));
142
+ }
143
+
144
+ :host([data-render-mode="shadow"]) .slds-required {
145
+ color: var(--slds-g-color-error-base-50);
146
+ margin-block-start: 0;
147
+ margin-block-end: 0;
148
+ margin-inline-start: calc(var(--slds-g-spacing-1) / 2);
149
+ margin-inline-end: calc(var(--slds-g-spacing-1) / 2);
150
+ }
151
+
152
+ :host([data-render-mode="shadow"]) .slds-has-error .slds-form-element__help {
153
+ color: var(--slds-g-color-error-1);
154
+ }
155
+
156
+ :host([data-render-mode="shadow"][invalid]) .slds-form-element__help {
157
+ color: var(--slds-g-color-error-1);
158
+ }
159
+
160
+ /* --------------------------------------- */
161
+
162
+ /* FORM ELEMENT: STACKED */
163
+
164
+ :host([data-render-mode="shadow"][variant='label-stacked']) {
165
+ display: block;
166
+ }
167
+
168
+ /* TODO: Using `:not` is currently not working, and it could break the build because of issues with the dist script */
169
+
170
+ /* :host([variant='label-stacked']):not(.slds-form-element_readonly) {
171
+ margin-block-end: var(--slds-g-spacing-2);
172
+ }
173
+
174
+ :host([variant='label-stacked']):not(.slds-is-editing) {
175
+ padding: 0 var(--slds-g-spacing-1);
176
+ } */
177
+
178
+ /* :host([variant='label-stacked']):not([class*="slds-size"]) {
179
+ width: 100%;
180
+ flex-basis: 100%;
181
+ } */
182
+
183
+ :host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element {
184
+ padding: 0;
185
+ margin-block-end: 0;
186
+ }
187
+
188
+ :host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__label,:host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__control {
189
+ border-bottom: 0; /* Remove border when using legacy version of slds-form-element */
190
+ padding-inline-start: 0;
191
+ }
192
+
193
+ :host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__control {
194
+ width: 100%;
195
+ flex-basis: 100%;
196
+ clear: left;
197
+ }
198
+
199
+ :host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__icon {
200
+ float: none;
201
+ padding-block-start: var(--slds-g-spacing-1);
202
+ }
203
+
204
+ /* --------------------------------------- */
205
+
206
+ /* FORM ELEMENT: INLINE */
207
+
208
+ :host([data-render-mode="shadow"][variant='label-inline']) {
209
+ display: block;
210
+ }
211
+
212
+ /*
213
+ we have to combine with slds class here to avoid duplication
214
+ of this rule in child elements who import this stylesheet
215
+ in lighting-input this slds class is synonymous with the variant
216
+ */
217
+
218
+ :host([data-render-mode="shadow"][variant='label-inline'].slds-form-element_horizontal) {
219
+ padding: var(--slds-g-spacing-1);
220
+ margin-block-end: var(--slds-g-spacing-2);
221
+ }
222
+
223
+ /* TODO: Using `:not` is currently not working, and it could break the build because of issues with the dist script */
224
+
225
+ /* :host([variant='label-inline']):not(.slds-form-element_readonly) {
226
+ margin-block-end: var(--slds-g-spacing-2);
227
+ }
228
+
229
+ :host([variant='label-inline']):not([class*="slds-size"]) {
230
+ width: 100%;
231
+ flex-basis: 100%;
232
+ }
233
+
234
+ :host([variant='label-inline']:not(.slds-is-editing)) {
235
+ padding: var(--slds-g-spacing-1);
236
+ } */
237
+
238
+ :host([data-render-mode="shadow"][variant='label-inline']).slds-is-edited {
239
+ padding-block-start: var(--slds-g-sizing-6)
240
+ }
241
+
242
+ @media (width >= 48em) {
243
+ :host([data-render-mode="shadow"][variant='label-inline']) .slds-form-element__label {
244
+ max-width: calc(33% - var(--slds-g-sizing-6)); /* Removing icon width for when the help-text icon is present */
245
+ flex-basis: calc(33% - var(--slds-g-sizing-6)); /* Some form element controls are set to display:flex */
246
+ flex-grow: 1; /* For IE and Safari which didn't auto expand to the available space */
247
+ margin-block-end: 0;
248
+ position: relative;
249
+ z-index: 1;
250
+ }
251
+
252
+ :host([data-render-mode="shadow"][variant='label-inline']) lightning-helptext {
253
+ float: left;
254
+ }
255
+
256
+ :host([data-render-mode="shadow"][variant='label-inline']) .slds-form-element__control {
257
+ margin-inline-start: 33%;
258
+ clear: none; /* Reset clear: left when switching to horizontal form layout */
259
+ }
260
+
261
+ :host([data-render-mode="shadow"][variant='label-inline']) .slds-form-element__control .slds-form-element__control {
262
+ padding-inline-start: 0; /* Remove left padding on nested form controls, due to issues related to lightning-form components */
263
+ }
264
+
265
+ :host([data-render-mode="shadow"][variant='label-inline']) .slds-dueling-list__column .slds-form-element__label {
266
+ width: auto;
267
+ max-width: 100%;
268
+ flex-basis: auto;
269
+ float: none;
270
+ position: relative;
271
+ padding-inline-start: 0;
272
+ margin-block-end: 0;
273
+ }
274
+
275
+ :host([data-render-mode="shadow"][variant='label-inline']) .slds-form-element__help {
276
+ margin-inline-start: 33%;
277
+ }
278
+
279
+ :host([data-render-mode="shadow"][variant='label-inline']) .slds-dueling-list {
280
+ clear: none;
281
+ }
282
+ }
283
+
284
+ /* --------------------------------------- */
285
+
286
+ /* FORM ELEMENT: COMPOUND */
287
+
288
+ :host([data-render-mode="shadow"]) .slds-form-element_compound .slds-form-element__row {
289
+ display: flex;
290
+ margin-bottom: var(--slds-g-spacing-1);
291
+ margin-left: calc(var(--slds-g-spacing-1) * -1);
292
+ margin-right: calc(var(--slds-g-spacing-1) * -1);
293
+ }
294
+
295
+ :host([data-render-mode="shadow"]) .slds-form-element_compound .slds-form-element__row .slds-form-element__label {
296
+ padding-top: 0;
297
+ }
298
+
299
+ :host([data-render-mode="shadow"]) .slds-form-element_compound .slds-form-element {
300
+ padding-left: var(--slds-g-spacing-1);
301
+ padding-right: var(--slds-g-spacing-1);
302
+ }
303
+
304
+ :host([data-render-mode="shadow"]) .slds-form-element_address .slds-form-element__row {
305
+ align-items: flex-end;
306
+ }
307
+
308
+ /* --------------------------------------- */
309
+
310
+ /* FORM ELEMENT: HIDDEN */
311
+
312
+ :host([data-render-mode="shadow"][variant='label-hidden']) .slds-form-element__label {
313
+ display: none
314
+ }
315
+ }
@@ -1,6 +1,3 @@
1
+ @import './textarea.lbc.synthetic.css';
2
+ @import './textarea.lbc.native.css';
1
3
  @import 'lightning/sldsGenAiUtils';
2
-
3
- :host,
4
- textarea {
5
- display: block;
6
- }