lightning-base-components 1.21.5-alpha → 1.21.7-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 (379) hide show
  1. package/metadata/raptor.json +46 -4
  2. package/package.json +125 -3
  3. package/scopedImports/@salesforce-label-LightningColorPicker.a11yDefaultText.js +1 -0
  4. package/scopedImports/@salesforce-label-LightningDatatable.multiColumnSortingToast.js +1 -0
  5. package/scopedImports/@salesforce-label-LightningDatatable.sortingMenuColumns.js +1 -0
  6. package/scopedImports/@salesforce-label-LightningDatatable.sortingMenuMultiColumnSort.js +1 -0
  7. package/scopedImports/@salesforce-label-LightningDatatable.sortingMenuRows.js +1 -0
  8. package/scopedImports/@salesforce-label-LightningDatatable.sortingMenuTooltip.js +1 -0
  9. package/scopedImports/@salesforce-label-LightningForm.dependentFieldsListHeading.js +1 -1
  10. package/scopedImports/@salesforce-label-LightningLookup.advancedSearchMobile.js +1 -1
  11. package/scopedImports/@salesforce-label-LightningLookup.modalTitle.js +1 -0
  12. package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.addRule.js +1 -0
  13. package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.applyButton.js +1 -0
  14. package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.cancelButton.js +1 -0
  15. package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.clearButton.js +1 -0
  16. package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.duplicateValueValidation.js +1 -0
  17. package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.firstRuleHeading.js +1 -0
  18. package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.modalTitle.js +1 -0
  19. package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.otherRuleHeading.js +1 -0
  20. package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.ruleLimit.js +1 -0
  21. package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.ruleLimitReached.js +1 -0
  22. package/scopedImports/@salesforce-label-LightningPrimitiveColumnSorter.ascending.js +1 -0
  23. package/scopedImports/@salesforce-label-LightningPrimitiveColumnSorter.descending.js +1 -0
  24. package/scopedImports/@salesforce-label-LightningPrimitiveColumnSorter.dropdownPlaceholder.js +1 -0
  25. package/scopedImports/@salesforce-label-LightningPrimitiveColumnSorter.missingValueValidation.js +1 -0
  26. package/scopedImports/@salesforce-label-LightningPrimitiveColumnSorter.moveDownTooltip.js +1 -0
  27. package/scopedImports/@salesforce-label-LightningPrimitiveColumnSorter.moveUpTooltip.js +1 -0
  28. package/scopedImports/@salesforce-label-LightningProgressIndicator.pathCurrentStage.js +1 -0
  29. package/scopedImports/@salesforce-label-LightningRecordPicker.emptyStateNoResultText.js +1 -0
  30. package/scopedImports/@salesforce-label-LightningRecordPicker.messageWhenSearchTermTooShort.js +1 -0
  31. package/scopedImports/@salesforce-label-LightningRecordPicker.resultCountDescriptionForMoreThanOneHundredRecords.js +1 -0
  32. package/scopedImports/@salesforce-label-LightningRecordPicker.resultCountDescriptionForMultipleRecords.js +1 -0
  33. package/scopedImports/@salesforce-label-LightningRecordPicker.resultCountDescriptionForOneRecord.js +1 -0
  34. package/scopedImports/@salesforce-label-LightningRecordPicker.resultsLoading.js +1 -0
  35. package/scopedImports/@salesforce-label-LightningRecordPicker.searchInputHelp.js +1 -0
  36. package/src/lightning/accordion/accordion.js +21 -14
  37. package/src/lightning/accordionSection/button.slds.css +16 -15
  38. package/src/lightning/alert/alert.js +10 -8
  39. package/src/lightning/ariaObserver/ariaObserver.js +19 -5
  40. package/src/lightning/badge/badge.slds.css +1 -1
  41. package/src/lightning/baseCombobox/base-combobox.slds.css +1 -1
  42. package/src/lightning/baseCombobox/baseCombobox.html +2 -1
  43. package/src/lightning/baseCombobox/baseCombobox.js +21 -0
  44. package/src/lightning/baseCombobox/input-text.slds.css +5 -5
  45. package/src/lightning/button/button.js +5 -0
  46. package/src/lightning/button/button.slds.css +16 -15
  47. package/src/lightning/buttonIcon/__docs__/buttonIcon.md +4 -0
  48. package/src/lightning/buttonIcon/__examples__/basic/basic.html +17 -1
  49. package/src/lightning/buttonIcon/button-icon.slds.css +41 -25
  50. package/src/lightning/buttonIconStateful/button-icon-stateful.slds.css +33 -229
  51. package/src/lightning/buttonIconStateful/button-icon.slds.css +41 -25
  52. package/src/lightning/buttonIconStateful/button.slds.css +16 -15
  53. package/src/lightning/buttonMenu/button-icon.slds.css +41 -25
  54. package/src/lightning/buttonMenu/button-menu.slds.css +41 -15
  55. package/src/lightning/buttonMenu/button.slds.css +16 -15
  56. package/src/lightning/buttonMenu/buttonMenu.css +1 -1
  57. package/src/lightning/buttonMenu/buttonMenu.html +1 -1
  58. package/src/lightning/buttonMenu/buttonMenu.js +44 -4
  59. package/src/lightning/buttonStateful/button-stateful.slds.css +1 -4
  60. package/src/lightning/buttonStateful/button.slds.css +16 -15
  61. package/src/lightning/calendar/calendar.html +3 -4
  62. package/src/lightning/card/card.html +1 -1
  63. package/src/lightning/colorPickerCustom/colorPickerCustom.html +1 -1
  64. package/src/lightning/colorPickerCustom/colorPickerCustom.js +0 -9
  65. package/src/lightning/colorPickerCustom/input-text.slds.css +5 -5
  66. package/src/lightning/combobox/form-element.slds.css +5 -1
  67. package/src/lightning/confirm/confirm.js +10 -8
  68. package/src/lightning/datatable/__docs__/datatable.md +0 -3
  69. package/src/lightning/datatable/__examples__disabled/customComponentPopupTableWrapper/README.md +17 -0
  70. package/src/lightning/datatable/__examples__disabled/customComponentPopupTableWrapper/customComponentPopupTableWrapper.html +11 -0
  71. package/src/lightning/datatable/__examples__disabled/customComponentPopupTableWrapper/customComponentPopupTableWrapper.js +25 -0
  72. package/src/lightning/datatable/__examples__disabled/customComponentPopupTableWrapper/generateData.js +15 -0
  73. package/src/lightning/datatable/__examples__disabled/myCustomTypePopupTable/customInput.html +4 -0
  74. package/src/lightning/datatable/__examples__disabled/myCustomTypePopupTable/myCustomTypePopupTable.js +17 -0
  75. package/src/lightning/datatable/__examples__disabled/myCustomTypePopupTable/nestedSimpleComponentParent.html +7 -0
  76. package/src/lightning/datatable/__examples__disabled/simpleComponentPopupNested/simpleComponentPopupNested.html +31 -0
  77. package/src/lightning/datatable/__examples__disabled/simpleComponentPopupNested/simpleComponentPopupNested.js +36 -0
  78. package/src/lightning/datatable/columnWidthManager.js +19 -16
  79. package/src/lightning/datatable/columns.js +90 -42
  80. package/src/lightning/datatable/datatable.js +571 -148
  81. package/src/lightning/datatable/errors.js +1 -1
  82. package/src/lightning/datatable/indexes.js +32 -21
  83. package/src/lightning/datatable/infiniteLoading.js +7 -6
  84. package/src/lightning/datatable/inlineEdit.js +52 -64
  85. package/src/lightning/datatable/keyboard.js +583 -195
  86. package/src/lightning/datatable/renderManager.js +21 -27
  87. package/src/lightning/datatable/rowLevelActions.js +5 -14
  88. package/src/lightning/datatable/rowSelection.js +36 -17
  89. package/src/lightning/datatable/rowSelectionShared.js +1 -0
  90. package/src/lightning/datatable/rows.js +224 -132
  91. package/src/lightning/datatable/rowsInlining.js +473 -0
  92. package/src/lightning/datatable/sort.js +40 -15
  93. package/src/lightning/datatable/state.js +17 -4
  94. package/src/lightning/datatable/templates/div/div.html +807 -91
  95. package/src/lightning/datatable/templates/div/div.lbc.synthetic.css +29 -3
  96. package/src/lightning/datatable/templates/table/table.css +29 -1
  97. package/src/lightning/datatable/templates/table/table.html +786 -87
  98. package/src/lightning/datatable/tree.js +0 -33
  99. package/src/lightning/datatable/utils.js +50 -0
  100. package/src/lightning/datatable/virtualization.js +44 -19
  101. package/src/lightning/datatable/wrapText.js +7 -10
  102. package/src/lightning/datepicker/datepicker.html +3 -1
  103. package/src/lightning/datepicker/datepicker.js +43 -4
  104. package/src/lightning/datepicker/form-element.slds.css +5 -1
  105. package/src/lightning/datepicker/input-text.slds.css +5 -5
  106. package/src/lightning/datetimepicker/datetimepicker.html +7 -1
  107. package/src/lightning/datetimepicker/datetimepicker.js +30 -2
  108. package/src/lightning/datetimepicker/form-element.slds.css +5 -1
  109. package/src/lightning/datetimepicker/input-text.slds.css +5 -5
  110. package/src/lightning/dualListbox/form-element.slds.css +5 -1
  111. package/src/lightning/focusTrap/focusTrap.css +7 -0
  112. package/src/lightning/groupedCombobox/form-element.slds.css +5 -1
  113. package/src/lightning/groupedCombobox/input-text.slds.css +5 -5
  114. package/src/lightning/helptext/button-icon.slds.css +41 -25
  115. package/src/lightning/helptext/form-element.slds.css +5 -1
  116. package/src/lightning/icon/__docs__/icon.md +0 -2
  117. package/src/lightning/iconSvgTemplates/buildTemplates/standard/account_score.html +8 -0
  118. package/src/lightning/iconSvgTemplates/buildTemplates/standard/aggregate.html +8 -0
  119. package/src/lightning/iconSvgTemplates/buildTemplates/standard/app_form_participant.html +11 -0
  120. package/src/lightning/iconSvgTemplates/buildTemplates/standard/app_form_product_participant.html +12 -0
  121. package/src/lightning/iconSvgTemplates/buildTemplates/standard/cost_model.html +7 -0
  122. package/src/lightning/iconSvgTemplates/buildTemplates/standard/labels.html +8 -0
  123. package/src/lightning/iconSvgTemplates/buildTemplates/standard/list_fee.html +7 -0
  124. package/src/lightning/iconSvgTemplates/buildTemplates/standard/list_rate.html +7 -0
  125. package/src/lightning/iconSvgTemplates/buildTemplates/standard/party_profile.html +8 -0
  126. package/src/lightning/iconSvgTemplates/buildTemplates/standard/path_experiment.html +7 -0
  127. package/src/lightning/iconSvgTemplates/buildTemplates/standard/people_score.html +8 -0
  128. package/src/lightning/iconSvgTemplates/buildTemplates/standard/price_adjustment_schedule.html +8 -0
  129. package/src/lightning/iconSvgTemplates/buildTemplates/standard/price_adjustment_tier.html +7 -0
  130. package/src/lightning/iconSvgTemplates/buildTemplates/standard/program_cohort.html +7 -0
  131. package/src/lightning/iconSvgTemplates/buildTemplates/standard/program_cohort_member.html +7 -0
  132. package/src/lightning/iconSvgTemplates/buildTemplates/standard/rate_adjustment.html +7 -0
  133. package/src/lightning/iconSvgTemplates/buildTemplates/standard/record_consent.html +7 -0
  134. package/src/lightning/iconSvgTemplates/buildTemplates/standard/whatsapp.html +7 -0
  135. package/src/lightning/iconSvgTemplates/buildTemplates/templates.js +40 -1
  136. package/src/lightning/iconSvgTemplates/buildTemplates/utility/aggregate.html +8 -0
  137. package/src/lightning/iconSvgTemplates/buildTemplates/utility/array.html +7 -0
  138. package/src/lightning/iconSvgTemplates/buildTemplates/utility/bottom_group_alignment.html +7 -0
  139. package/src/lightning/iconSvgTemplates/buildTemplates/utility/cant_sync.html +7 -0
  140. package/src/lightning/iconSvgTemplates/buildTemplates/utility/center_group_alignment.html +8 -0
  141. package/src/lightning/iconSvgTemplates/buildTemplates/utility/columns.html +7 -0
  142. package/src/lightning/iconSvgTemplates/buildTemplates/utility/fully_synced.html +8 -0
  143. package/src/lightning/iconSvgTemplates/buildTemplates/utility/inner_join.html +7 -0
  144. package/src/lightning/iconSvgTemplates/buildTemplates/utility/join.html +8 -0
  145. package/src/lightning/iconSvgTemplates/buildTemplates/utility/left_join.html +14 -0
  146. package/src/lightning/iconSvgTemplates/buildTemplates/utility/macros.html +2 -2
  147. package/src/lightning/iconSvgTemplates/buildTemplates/utility/not_in_sync.html +7 -0
  148. package/src/lightning/iconSvgTemplates/buildTemplates/utility/not_saved.html +9 -0
  149. package/src/lightning/iconSvgTemplates/buildTemplates/utility/outer_join.html +7 -0
  150. package/src/lightning/iconSvgTemplates/buildTemplates/utility/path_experiment.html +7 -0
  151. package/src/lightning/iconSvgTemplates/buildTemplates/utility/program_cohort.html +7 -0
  152. package/src/lightning/iconSvgTemplates/buildTemplates/utility/program_cohort_member.html +7 -0
  153. package/src/lightning/iconSvgTemplates/buildTemplates/utility/record_consent.html +7 -0
  154. package/src/lightning/iconSvgTemplates/buildTemplates/utility/right_join.html +7 -0
  155. package/src/lightning/iconSvgTemplates/buildTemplates/utility/skill.html +8 -0
  156. package/src/lightning/iconSvgTemplates/buildTemplates/utility/sync_in_progress.html +7 -0
  157. package/src/lightning/iconSvgTemplates/buildTemplates/utility/top_group_alignment.html +7 -0
  158. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/account_score.html +8 -0
  159. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/aggregate.html +8 -0
  160. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/app_form_participant.html +11 -0
  161. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/app_form_product_participant.html +12 -0
  162. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/cost_model.html +7 -0
  163. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/labels.html +8 -0
  164. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/list_fee.html +7 -0
  165. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/list_rate.html +7 -0
  166. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/party_profile.html +8 -0
  167. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/path_experiment.html +7 -0
  168. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/people_score.html +8 -0
  169. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/price_adjustment_schedule.html +8 -0
  170. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/price_adjustment_tier.html +7 -0
  171. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/program_cohort.html +7 -0
  172. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/program_cohort_member.html +7 -0
  173. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/rate_adjustment.html +7 -0
  174. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/record_consent.html +7 -0
  175. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/whatsapp.html +7 -0
  176. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/templates.js +40 -1
  177. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/aggregate.html +8 -0
  178. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/array.html +7 -0
  179. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/bottom_group_alignment.html +7 -0
  180. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/cant_sync.html +7 -0
  181. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/center_group_alignment.html +8 -0
  182. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/columns.html +7 -0
  183. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/fully_synced.html +8 -0
  184. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/inner_join.html +7 -0
  185. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/join.html +8 -0
  186. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/left_join.html +14 -0
  187. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/macros.html +2 -2
  188. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/not_in_sync.html +7 -0
  189. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/not_saved.html +9 -0
  190. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/outer_join.html +7 -0
  191. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/path_experiment.html +7 -0
  192. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/program_cohort.html +7 -0
  193. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/program_cohort_member.html +7 -0
  194. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/record_consent.html +7 -0
  195. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/right_join.html +7 -0
  196. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/skill.html +8 -0
  197. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/sync_in_progress.html +7 -0
  198. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/top_group_alignment.html +7 -0
  199. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/account_score.html +8 -0
  200. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/aggregate.html +8 -0
  201. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/app_form_participant.html +11 -0
  202. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/app_form_product_participant.html +12 -0
  203. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/cost_model.html +7 -0
  204. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/labels.html +8 -0
  205. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/list_fee.html +7 -0
  206. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/list_rate.html +7 -0
  207. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/party_profile.html +8 -0
  208. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/path_experiment.html +7 -0
  209. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/people_score.html +8 -0
  210. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/price_adjustment_schedule.html +8 -0
  211. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/price_adjustment_tier.html +7 -0
  212. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/program_cohort.html +7 -0
  213. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/program_cohort_member.html +7 -0
  214. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/rate_adjustment.html +7 -0
  215. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/record_consent.html +7 -0
  216. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/whatsapp.html +7 -0
  217. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/templates.js +19 -1
  218. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/account_score.html +8 -0
  219. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/aggregate.html +8 -0
  220. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/app_form_participant.html +11 -0
  221. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/app_form_product_participant.html +12 -0
  222. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/cost_model.html +7 -0
  223. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/labels.html +8 -0
  224. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/list_fee.html +7 -0
  225. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/list_rate.html +7 -0
  226. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/party_profile.html +8 -0
  227. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/path_experiment.html +7 -0
  228. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/people_score.html +8 -0
  229. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/price_adjustment_schedule.html +8 -0
  230. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/price_adjustment_tier.html +7 -0
  231. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/program_cohort.html +7 -0
  232. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/program_cohort_member.html +7 -0
  233. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/rate_adjustment.html +7 -0
  234. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/record_consent.html +7 -0
  235. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/whatsapp.html +7 -0
  236. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/templates.js +19 -1
  237. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/templates.js +22 -1
  238. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/aggregate.html +8 -0
  239. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/array.html +7 -0
  240. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/bottom_group_alignment.html +7 -0
  241. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/cant_sync.html +7 -0
  242. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/center_group_alignment.html +8 -0
  243. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/columns.html +7 -0
  244. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/fully_synced.html +8 -0
  245. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/inner_join.html +7 -0
  246. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/join.html +8 -0
  247. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/left_join.html +14 -0
  248. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/macros.html +2 -2
  249. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/not_in_sync.html +7 -0
  250. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/not_saved.html +9 -0
  251. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/outer_join.html +7 -0
  252. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/path_experiment.html +7 -0
  253. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/program_cohort.html +7 -0
  254. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/program_cohort_member.html +7 -0
  255. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/record_consent.html +7 -0
  256. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/right_join.html +7 -0
  257. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/skill.html +8 -0
  258. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/sync_in_progress.html +7 -0
  259. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/top_group_alignment.html +7 -0
  260. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/templates.js +22 -1
  261. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/aggregate.html +8 -0
  262. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/array.html +7 -0
  263. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/bottom_group_alignment.html +7 -0
  264. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/cant_sync.html +7 -0
  265. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/center_group_alignment.html +8 -0
  266. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/columns.html +7 -0
  267. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/fully_synced.html +8 -0
  268. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/inner_join.html +7 -0
  269. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/join.html +8 -0
  270. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/left_join.html +14 -0
  271. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/macros.html +2 -2
  272. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/not_in_sync.html +7 -0
  273. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/not_saved.html +9 -0
  274. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/outer_join.html +7 -0
  275. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/path_experiment.html +7 -0
  276. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/program_cohort.html +7 -0
  277. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/program_cohort_member.html +7 -0
  278. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/record_consent.html +7 -0
  279. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/right_join.html +7 -0
  280. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/skill.html +8 -0
  281. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/sync_in_progress.html +7 -0
  282. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/top_group_alignment.html +7 -0
  283. package/src/lightning/iconUtils/iconColors.js +1 -1
  284. package/src/lightning/input/form-element.slds.css +5 -1
  285. package/src/lightning/input/input.html +16 -2
  286. package/src/lightning/input/input.js +91 -3
  287. package/src/lightning/input/input.js-meta.xml +3 -0
  288. package/src/lightning/inputAddress/addressFormat.js +25 -11
  289. package/src/lightning/inputAddress/fieldsLayout.js +3 -0
  290. package/src/lightning/inputAddress/form-element.slds.css +5 -1
  291. package/src/lightning/inputAddress/input-text.slds.css +5 -5
  292. package/src/lightning/inputAddress/inputAddress.html +1 -1
  293. package/src/lightning/inputAddress/inputAddress.js +27 -11
  294. package/src/lightning/inputLocation/form-element.slds.css +5 -1
  295. package/src/lightning/inputLocation/input-text.slds.css +5 -5
  296. package/src/lightning/inputName/form-element.slds.css +5 -1
  297. package/src/lightning/inputName/input-text.slds.css +5 -5
  298. package/src/lightning/internationalizationLibrary/address/AddressFormat.js +2 -0
  299. package/src/lightning/layout/__docs__/layout.md +0 -2
  300. package/src/lightning/lookupAddress/form-element.slds.css +5 -1
  301. package/src/lightning/menuItem/menu-item.slds.css +3 -1
  302. package/src/lightning/modal/__modalUtils__/modalContainerTestConstants.js +7 -3
  303. package/src/lightning/modal/__modalUtils__/modalContainerTestMethods.js +18 -11
  304. package/src/lightning/modal/__modalUtils__/modalContainerTestMockData.js +1 -1
  305. package/src/lightning/modalBase/modalBase.css +4 -0
  306. package/src/lightning/modalBase/modalBase.html +16 -21
  307. package/src/lightning/modalBase/modalBase.js +51 -87
  308. package/src/lightning/modalHeader/modalHeader.html +3 -15
  309. package/src/lightning/modalHeader/modalHeader.js +14 -61
  310. package/src/lightning/multiColumnSortingModal/multiColumnSortingModal.css +14 -0
  311. package/src/lightning/multiColumnSortingModal/multiColumnSortingModal.html +55 -0
  312. package/src/lightning/multiColumnSortingModal/multiColumnSortingModal.js +430 -0
  313. package/src/lightning/multiColumnSortingModal/multiColumnSortingModal.js-meta.xml +4 -0
  314. package/src/lightning/overlayManager/overlayManager.js +16 -0
  315. package/src/lightning/pill/pill.js +19 -13
  316. package/src/lightning/pillContainer/button.slds.css +16 -15
  317. package/src/lightning/pillContainer/pillContainer.js +2 -1
  318. package/src/lightning/pillContainer/standardPillContainer.html +6 -2
  319. package/src/lightning/positionLibrary/direction.js +19 -0
  320. package/src/lightning/primitiveBubble/primitiveBubble.js +33 -11
  321. package/src/lightning/primitiveColorpickerButton/primitiveColorpickerButton.html +2 -2
  322. package/src/lightning/primitiveColorpickerButton/primitiveColorpickerButton.js +8 -0
  323. package/src/lightning/primitiveColumnSorter/primitiveColumnSorter.css +34 -0
  324. package/src/lightning/primitiveColumnSorter/primitiveColumnSorter.html +60 -0
  325. package/src/lightning/primitiveColumnSorter/primitiveColumnSorter.js +107 -0
  326. package/src/lightning/primitiveHeaderFactory/primitiveHeaderFactory.js +37 -4
  327. package/src/lightning/primitiveHeaderFactory/sortingMenuHeader.css +5 -0
  328. package/src/lightning/primitiveHeaderFactory/sortingMenuHeader.html +9 -0
  329. package/src/lightning/primitiveInputCheckbox/form-element.slds.css +5 -1
  330. package/src/lightning/primitiveInputCheckbox/input-checkbox.slds.css +3 -3
  331. package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.html +1 -1
  332. package/src/lightning/primitiveInputCheckboxButton/form-element.slds.css +5 -1
  333. package/src/lightning/primitiveInputCheckboxButton/input-checkbox-button.slds.css +6 -5
  334. package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.html +1 -1
  335. package/src/lightning/primitiveInputColor/form-element.slds.css +5 -1
  336. package/src/lightning/primitiveInputColor/input-text.slds.css +5 -5
  337. package/src/lightning/primitiveInputColor/primitiveInputColor.html +5 -2
  338. package/src/lightning/primitiveInputColor/primitiveInputColor.js +2 -0
  339. package/src/lightning/primitiveInputFile/button.slds.css +16 -15
  340. package/src/lightning/primitiveInputFile/form-element.slds.css +5 -1
  341. package/src/lightning/primitiveInputFile/primitiveInputFile.html +1 -1
  342. package/src/lightning/primitiveInputRadio/primitiveInputRadio.html +1 -1
  343. package/src/lightning/primitiveInputSimple/form-element.slds.css +5 -1
  344. package/src/lightning/primitiveInputSimple/input-text.slds.css +5 -5
  345. package/src/lightning/primitiveInputSimple/primitiveInputSimple.html +3 -2
  346. package/src/lightning/primitiveInputSimple/primitiveInputSimple.js +15 -0
  347. package/src/lightning/primitiveInputToggle/form-element.slds.css +5 -1
  348. package/src/lightning/primitiveInputToggle/input-toggle.slds.css +16 -14
  349. package/src/lightning/primitiveInputToggle/primitiveInputToggle.html +1 -1
  350. package/src/lightning/progressBar/progress-bar.slds.css +1 -1
  351. package/src/lightning/progressIndicator/path.html +8 -2
  352. package/src/lightning/progressIndicator/progressIndicator.js +26 -2
  353. package/src/lightning/progressRing/progress-ring.slds.css +1 -1
  354. package/src/lightning/progressStep/progressStep.js +2 -1
  355. package/src/lightning/prompt/prompt.js +11 -9
  356. package/src/lightning/radioGroup/form-element.slds.css +5 -1
  357. package/src/lightning/radioGroup/input-radio-group.slds.css +4 -10
  358. package/src/lightning/select/form-element.slds.css +5 -1
  359. package/src/lightning/select/select.js +89 -7
  360. package/src/lightning/tabBar/tab-bar.slds.css +11 -0
  361. package/src/lightning/tabset/tabset.slds.css +1 -1
  362. package/src/lightning/textarea/__examples__/various/various.html +18 -1
  363. package/src/lightning/textarea/form-element.slds.css +5 -1
  364. package/src/lightning/textarea/textarea.html +1 -0
  365. package/src/lightning/textarea/textarea.js +25 -0
  366. package/src/lightning/textarea/textarea.slds.css +2 -2
  367. package/src/lightning/timepicker/form-element.slds.css +5 -1
  368. package/src/lightning/timepicker/timepicker.html +4 -1
  369. package/src/lightning/timepicker/timepicker.js +3 -0
  370. package/src/lightning/toast/button-icon.slds.css +41 -25
  371. package/src/lightning/tooltipLibrary/tooltipLibrary.js +4 -15
  372. package/src/lightning/verticalNavigationItem/vertical-navigation-item.slds.css +1 -1
  373. package/src/lightning/verticalNavigationItemBadge/badge.slds.css +1 -1
  374. package/src/lightning/verticalNavigationItemBadge/vertical-navigation-item.slds.css +1 -1
  375. package/src/lightning/verticalNavigationItemIcon/vertical-navigation-item.slds.css +1 -1
  376. package/src/lightning/verticalNavigationOverflow/button.slds.css +16 -15
  377. package/src/lightning/verticalNavigationOverflow/vertical-navigation-item.slds.css +1 -1
  378. package/scopedImports/@salesforce-label-LightningLookup.messageWhenSearchTermTooShort.js +0 -1
  379. package/src/lightning/datatable/columns-shared.js +0 -12
@@ -5,10 +5,10 @@ import LightningShadowBaseClass from 'lightning/shadowBaseClassPrivate';
5
5
  import { classSet, formatLabel } from 'lightning/utils';
6
6
  import {
7
7
  classListMutation,
8
- getRealDOMId,
9
8
  normalizeBoolean,
10
- synchronizeAttrs,
11
9
  reflectAttribute,
10
+ isNativeComponent,
11
+ isCSR,
12
12
  } from 'lightning/utilsPrivate';
13
13
  import {
14
14
  FieldConstraintApi,
@@ -18,6 +18,7 @@ import {
18
18
  normalizeVariant,
19
19
  VARIANT,
20
20
  } from 'lightning/inputUtils';
21
+ import AriaObserver from 'lightning/ariaObserver';
21
22
 
22
23
  const i18n = {
23
24
  required: labelRequired,
@@ -71,9 +72,23 @@ export default class LightningSelect extends LightningShadowBaseClass {
71
72
  _multiple = false;
72
73
  _fieldLevelHelp;
73
74
  _size;
75
+ _ariaDescribedBy = '';
76
+ _ariaLabelledBy = '';
77
+ _helpMessageChanged = false;
78
+ ariaObserver = null;
79
+
80
+ constructor() {
81
+ super();
82
+ this.ariaObserver = new AriaObserver(this);
83
+ this._isNativeShadow = isNativeComponent(this);
84
+ }
74
85
 
75
86
  connectedCallback() {
76
87
  super.connectedCallback();
88
+ if (!this.ariaObserver) {
89
+ this.ariaObserver = new AriaObserver(this);
90
+ }
91
+ this._connected = true;
77
92
  this.classList.add('slds-form-element');
78
93
  this.updateClassList();
79
94
  this.interactingState = new InteractingState();
@@ -81,14 +96,30 @@ export default class LightningSelect extends LightningShadowBaseClass {
81
96
  }
82
97
 
83
98
  renderedCallback() {
99
+ if (this.isConnected) {
100
+ this.ariaObserver.sync(this._isNativeShadow);
101
+ }
102
+ if (!this._rendered) {
103
+ this.connectAriaDescribedBy();
104
+ this.connectAriaLabelledBy();
105
+ this._rendered = true;
106
+ }
84
107
  if (this.options && this._selectedValue !== undefined) {
85
108
  this.selectOptionsByValue(this._selectedValue);
86
109
  }
87
- synchronizeAttrs(this.selectElement, {
88
- 'aria-describedby': getRealDOMId(
89
- this.template.querySelector('[data-help-message]')
90
- ),
91
- });
110
+ // If the help message changed, the help message element needs to be (un)related
111
+ if (this._helpMessageChanged) {
112
+ this.connectAriaDescribedBy();
113
+ this._helpMessageChanged = false;
114
+ }
115
+ }
116
+
117
+ disconnectedCallback() {
118
+ this._connected = false;
119
+ if (this.ariaObserver && this.ariaObserver.disconnect) {
120
+ this.ariaObserver.disconnect();
121
+ this.ariaObserver = null;
122
+ }
92
123
  }
93
124
 
94
125
  get computedAriaInvalid() {
@@ -228,6 +259,32 @@ export default class LightningSelect extends LightningShadowBaseClass {
228
259
  }
229
260
  }
230
261
 
262
+ /**
263
+ * Aria Described by value on parent lighting-select
264
+ * @type {string}
265
+ */
266
+ @api
267
+ get ariaDescribedBy() {
268
+ return this._ariaDescribedBy;
269
+ }
270
+ set ariaDescribedBy(elements) {
271
+ this._ariaDescribedBy = elements;
272
+ this.connectAriaDescribedBy();
273
+ }
274
+ /**
275
+ * A space-separated list of element IDs that provide labels for the
276
+ * aria-labelled-by value on parent lighting-select.
277
+ * @type {string}
278
+ */
279
+ @api
280
+ get ariaLabelledBy() {
281
+ return this._ariaLabelledBy;
282
+ }
283
+ set ariaLabelledBy(references) {
284
+ this._ariaLabelledBy = references;
285
+ this.connectAriaLabelledBy();
286
+ }
287
+
231
288
  updateClassList() {
232
289
  classListMutation(this.classList, {
233
290
  'slds-form-element_stacked': this.variant === VARIANT.LABEL_STACKED,
@@ -294,6 +351,7 @@ export default class LightningSelect extends LightningShadowBaseClass {
294
351
  reportValidity() {
295
352
  return this._constraint.reportValidity((message) => {
296
353
  this._helpMessage = message;
354
+ this._helpMessageChanged = true;
297
355
  });
298
356
  }
299
357
 
@@ -314,6 +372,7 @@ export default class LightningSelect extends LightningShadowBaseClass {
314
372
  valueMissing: this.messageWhenValueMissing,
315
373
  customError: this.customErrorMessage,
316
374
  });
375
+ this._helpMessageChanged = true;
317
376
  }
318
377
  }
319
378
 
@@ -382,6 +441,29 @@ export default class LightningSelect extends LightningShadowBaseClass {
382
441
  this.dispatchEvent(new CustomEvent('blur'));
383
442
  }
384
443
 
444
+ connectAriaDescribedBy() {
445
+ if (isCSR) {
446
+ this.ariaObserver.connect({
447
+ targetSelector: 'select',
448
+ attribute: 'aria-describedby',
449
+ relatedNodeIds: this.ariaDescribedBy,
450
+ relatedNodes: this.template.querySelector(
451
+ '[data-help-message]'
452
+ ),
453
+ });
454
+ }
455
+ }
456
+
457
+ connectAriaLabelledBy() {
458
+ if (isCSR) {
459
+ this.ariaObserver.connect({
460
+ targetSelector: 'select',
461
+ attribute: 'aria-labelledby',
462
+ relatedNodeIds: this.ariaLabelledBy,
463
+ });
464
+ }
465
+ }
466
+
385
467
  selectOptionsByValue(optionValue) {
386
468
  if (this.multiple) {
387
469
  if (Array.isArray(optionValue)) {
@@ -46,6 +46,10 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
46
46
  /* stylelint-enable sds-stylelint-plugin/styling-hooks-pattern */
47
47
  }
48
48
 
49
+ :host([data-render-mode="shadow"]) [part='tab-item'] .slds-tabs_default__link:hover {
50
+ color: currentcolor;
51
+ }
52
+
49
53
  :host([data-render-mode="shadow"][variant='standard']) [part='tab-bar'],:host([data-render-mode="shadow"][variant='scoped']) [part='tab-bar'] {
50
54
  display: flex;
51
55
  align-items: flex-start;
@@ -65,6 +69,10 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
65
69
  color: currentcolor;
66
70
  }
67
71
 
72
+ :host([data-render-mode="shadow"]) [role='tab']:hover {
73
+ --_slds-g-font-decoration-hover: none;
74
+ }
75
+
68
76
  :host([data-render-mode="shadow"]) .slds-is-active [role='tab']:focus {
69
77
  text-decoration: underline;
70
78
  }
@@ -95,6 +103,9 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
95
103
 
96
104
  /* Spacing */
97
105
  --slds-c-buttonicon-spacing-block: 0;
106
+ --sds-c-button-spacing-inlinestart: var(--slds-g-spacing-4);
107
+ --sds-c-button-spacing-inlineend: var(--slds-g-spacing-4);
108
+ --sds-c-button-sizing-height: 100%;
98
109
 
99
110
  /* Border Color */
100
111
  --slds-c-buttonicon-color-border: transparent;
@@ -9,5 +9,5 @@
9
9
  font-weight: var(--sds-g-font-weight-bold, bold);
10
10
  }
11
11
  :host([data-render-mode="shadow"]) .slds-tabs_default .slds-tabs_default__header:not(.slds-assistive-text) {
12
- font-size: var(--sds-g-font-scale-neg-2, calc(var(--slds-g-font-scale-neg-1) / var(--slds-g-font-scale-ratio)));
12
+ font-size: var(--sds-g-font-scale-neg-2, 0.625rem);
13
13
  }
@@ -3,7 +3,7 @@
3
3
  <h1 class="slds-text-heading_small">Various Textarea Examples</h1>
4
4
  <p class="slds-text-body_regular">The following examples show various ways to create a textarea component.</p>
5
5
  </div>
6
-
6
+
7
7
  <div class="row">
8
8
  <h2 class="header">Basic Examples</h2>
9
9
  <lightning-textarea name="input1" label="Enter some text" ></lightning-textarea>
@@ -18,4 +18,21 @@
18
18
  <lightning-textarea name="input6" required value="initial value" label="Required textarea field with a maximum length of 60 characters" maxlength="60" ></lightning-textarea>
19
19
  <lightning-textarea name="input7" required value="" placeholder="compose your tweet" label="Required textarea field with a maximum length of 140 characters" maxlength="140" message-when-too-long="A maximum of 140 characters are allowed in a tweet." message-when-value-missing="An empty tweet cannot be posted." ></lightning-textarea>
20
20
  </div>
21
+
22
+ <div class="row">
23
+ <h2 class="header">Textarea with aria-describedby example</h2>
24
+ <div class="aria-describedby slds-box slds-m-around__large">
25
+ <h3>Example of textarea aria-describedby with multiple descriptions rendered before textarea in reverse order</h3>
26
+ <span class="desc-1" id="desc-1">Description One</span>
27
+ <span class="desc-2" id="desc-2">Description Two</span>
28
+ <lightning-textarea label="Enter some text" aria-describedby="desc-2 desc-1"></lightning-textarea>
29
+ </div>
30
+ <h2 class="header">Textarea with aria-labelledby example</h2>
31
+ <div class="aria-describedby-later slds-box slds-m-around__large">
32
+ <h3>Example of textarea aria-labelledby with multiple descriptions rendered after textarea in reverse order</h3>
33
+ <lightning-textarea label="Enter some text" aria-labelledby="desc-4 desc-3"></lightning-textarea>
34
+ <span class="desc-3" id="desc-3">Description Three</span>
35
+ <span class="desc-4" id="desc-4">Description Four</span>
36
+ </div>
37
+ </div>
21
38
  </template>
@@ -187,7 +187,10 @@
187
187
  }
188
188
 
189
189
  :host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__label,:host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__control {
190
- border-bottom: 0; /* Remove border when using legacy version of slds-form-element */
190
+ /* @W-14518344 The following line still exists in SLDS-internal
191
+ but it was removed here because it was causing the input
192
+ component to not display it's bottom border
193
+ border-bottom: 0; Remove border when using legacy version of slds-form-element */
191
194
  padding-inline-start: 0;
192
195
  }
193
196
 
@@ -242,6 +245,7 @@
242
245
 
243
246
  @media (width >= 48em) {
244
247
  :host([data-render-mode="shadow"][variant='label-inline']) .slds-form-element__label {
248
+ float: left;
245
249
  max-width: calc(33% - var(--slds-g-sizing-6)); /* Removing icon width for when the help-text icon is present */
246
250
  flex-basis: calc(33% - var(--slds-g-sizing-6)); /* Some form element controls are set to display:flex */
247
251
  flex-grow: 1; /* For IE and Safari which didn't auto expand to the available space */
@@ -4,6 +4,7 @@
4
4
  <abbr class="slds-required" title={i18n.required}>*</abbr>
5
5
  </template>
6
6
  {label}
7
+ <slot name="label-end"></slot>
7
8
  </label>
8
9
  <lightning-helptext
9
10
  if:true={fieldLevelHelp}
@@ -48,6 +48,7 @@ export default class LightningTextarea extends LightningShadowBaseClass {
48
48
  @track _helpMessage;
49
49
  @track _fieldLevelHelp;
50
50
  _ariaDescribedBy = '';
51
+ _ariaLabelledBy = '';
51
52
  _helpMessageChanged = false;
52
53
  ariaObserver = null;
53
54
 
@@ -127,6 +128,21 @@ export default class LightningTextarea extends LightningShadowBaseClass {
127
128
  this.connectAriaDescribedBy();
128
129
  }
129
130
 
131
+ /**
132
+ * A space-separated list of element IDs that provide labels for the
133
+ * aria-labelled-by value on parent lighting-textarea.
134
+ * @type {string}
135
+ */
136
+ @api
137
+ get ariaLabelledBy() {
138
+ return this._ariaLabelledBy;
139
+ }
140
+
141
+ set ariaLabelledBy(references) {
142
+ this._ariaLabelledBy = references;
143
+ this.connectAriaLabelledBy();
144
+ }
145
+
130
146
  /**
131
147
  * The maximum number of characters allowed in the textarea.
132
148
  * @type {number}
@@ -441,6 +457,7 @@ export default class LightningTextarea extends LightningShadowBaseClass {
441
457
  // instead of actually setting the value on the textarea element.
442
458
  if (!this._rendered) {
443
459
  this.connectAriaDescribedBy();
460
+ this.connectAriaLabelledBy();
444
461
  this._rendered = true;
445
462
  this._setInputValue(this._defaultValue);
446
463
 
@@ -526,6 +543,14 @@ export default class LightningTextarea extends LightningShadowBaseClass {
526
543
  });
527
544
  }
528
545
 
546
+ connectAriaLabelledBy() {
547
+ this.ariaObserver.connect({
548
+ targetSelector: 'textarea',
549
+ attribute: 'aria-labelledby',
550
+ relatedNodeIds: this.ariaLabelledBy,
551
+ });
552
+ }
553
+
529
554
  _setInputValue(value) {
530
555
  // The underlying input has been modified to dispatch an 'input' event when a direct value set
531
556
  // is used to allow for Dragon Natural Speaking (which sets the value directly on the inputs instead
@@ -60,8 +60,8 @@
60
60
 
61
61
  :host([data-render-mode="shadow"]) .slds-textarea[disabled],:host([data-render-mode="shadow"])
62
62
  .slds-textarea.slds-is-disabled {
63
- background-color: var(--slds-g-color-neutral-base-80, var(--slds-g-color-neutral-base-95));
64
- border-color: var(--slds-g-color-border-base-1, var(--slds-g-color-neutral-base-80));
63
+ background-color: var(--slds-g-color-disabled-container-2);
64
+ border-color: var(--slds-g-color-border-disabled-2);
65
65
  color: inherit;
66
66
  cursor: not-allowed;
67
67
  user-select: none;
@@ -187,7 +187,10 @@
187
187
  }
188
188
 
189
189
  :host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__label,:host([data-render-mode="shadow"][variant='label-stacked']) .slds-form-element__control {
190
- border-bottom: 0; /* Remove border when using legacy version of slds-form-element */
190
+ /* @W-14518344 The following line still exists in SLDS-internal
191
+ but it was removed here because it was causing the input
192
+ component to not display it's bottom border
193
+ border-bottom: 0; Remove border when using legacy version of slds-form-element */
191
194
  padding-inline-start: 0;
192
195
  }
193
196
 
@@ -242,6 +245,7 @@
242
245
 
243
246
  @media (width >= 48em) {
244
247
  :host([data-render-mode="shadow"][variant='label-inline']) .slds-form-element__label {
248
+ float: left;
245
249
  max-width: calc(33% - var(--slds-g-sizing-6)); /* Removing icon width for when the help-text icon is present */
246
250
  flex-basis: calc(33% - var(--slds-g-sizing-6)); /* Some form element controls are set to display:flex */
247
251
  flex-grow: 1; /* For IE and Safari which didn't auto expand to the available space */
@@ -11,8 +11,10 @@
11
11
  <div class="slds-form-element__control">
12
12
  <lightning-base-combobox
13
13
  part="input-container"
14
+ aria-disabled={ariaDisabled}
14
15
  onready={handleReady}
15
16
  autocomplete={autocomplete}
17
+ accesskey={accessKey}
16
18
  dropdown-height="small"
17
19
  name={name}
18
20
  variant="lookup"
@@ -25,6 +27,7 @@
25
27
  input-icon-name="utility:clock"
26
28
  input-label={comboboxLabel}
27
29
  input-controls-element={ariaControlsElement}
30
+ input-details-elements={ariaDetailsElements}
28
31
  input-labelled-by-element={ariaLabelledByElement}
29
32
  dropdown-alignment="auto"
30
33
  ontextchange={handleInputChange}
@@ -40,5 +43,5 @@
40
43
  >
41
44
  </lightning-base-combobox>
42
45
  </div>
43
- <div id="error-message" data-error-message class={computedClass}>{_errorMessage}</div>
46
+ <div id="error-message" data-error-message class={computedClass} aria-live="polite">{_errorMessage}</div>
44
47
  </template>
@@ -72,10 +72,13 @@ export default class LightningTimePicker extends LightningShadowBaseClass {
72
72
 
73
73
  @api ariaLabelledByElement;
74
74
  @api ariaControlsElement;
75
+ @api ariaDetailsElements;
75
76
  @api ariaLabel;
77
+ @api ariaDisabled;
76
78
  @api label;
77
79
  @api name;
78
80
  @api placeholder = '';
81
+ @api accessKey;
79
82
 
80
83
  @api
81
84
  get comboboxComponent() {
@@ -197,7 +197,7 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
197
197
  );
198
198
  --sds-c-button-spacing-inline: var(
199
199
  --slds-c-button-neutral-spacing-inline,
200
- var(--slds-s-button-spacing-inline, var(--slds-g-spacing-4))
200
+ var(--slds-s-button-spacing-inline, var(--slds-g-spacing-4));
201
201
  );
202
202
  --sds-c-button-spacing-block: var(--slds-c-button-neutral-spacing-block);
203
203
 
@@ -258,27 +258,27 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
258
258
  );
259
259
  --sds-c-button-color-background-hover: var(
260
260
  --slds-c-button-neutral-color-background-hover,
261
- var(--slds-g-color-surface-container-1)
261
+ var(--slds-g-color-surface-container-2)
262
262
  );
263
- --sds-c-button-color-background-focus: var(--slds-c-button-neutral-color-background-focus, var(--slds-g-color-surface-container-1));
263
+ --sds-c-button-color-background-focus: var(--slds-c-button-neutral-color-background-focus, var(--slds-g-color-surface-container-2));
264
264
  --sds-c-button-color-background-active: var(
265
265
  --slds-c-button-neutral-color-background-active,
266
- var(--slds-g-color-surface-container-1)
266
+ var(--slds-g-color-surface-container-2)
267
267
  );
268
268
 
269
269
  /* Border color */
270
- --sds-c-button-color-border: var(--slds-c-button-neutral-color-border, var(--slds-g-color-border-1));
270
+ --sds-c-button-color-border: var(--slds-c-button-neutral-color-border, var(--slds-g-color-border-2));
271
271
  --sds-c-button-color-border-hover: var(
272
272
  --slds-c-button-neutral-color-border-hover,
273
- var(--slds-g-color-border-accent-1)
273
+ var(--slds-g-color-border-2)
274
274
  );
275
275
  --sds-c-button-color-border-focus: var(
276
276
  --slds-c-button-neutral-color-border-focus,
277
- var(--slds-g-color-border-accent-1)
277
+ var(--slds-g-color-border-2)
278
278
  );
279
279
  --sds-c-button-color-border-active: var(
280
280
  --slds-c-button-neutral-color-border-active,
281
- var(--slds-g-color-border-accent-1)
281
+ var(--slds-g-color-border-2)
282
282
  );
283
283
 
284
284
  /* Text color */
@@ -293,11 +293,12 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
293
293
  /* Shadow */
294
294
  --sds-c-button-shadow: var(--slds-c-button-neutral-shadow);
295
295
  --sds-c-button-shadow-focus: var(--slds-c-button-neutral-shadow-focus);
296
-
297
- /* Disabled */
298
- --sds-c-button-color-background-disabled: var(--slds-g-color-surface-container-1);
299
- --sds-c-button-color-border-disabled: var(--slds-g-color-border-disabled-1);
300
- --sds-c-button-text-color-disabled: var(--slds-g-color-disabled-1);
296
+ }
297
+ /* Overriding primitiveBaseButton */
298
+ :host([data-render-mode="shadow"]) [part~='button']:disabled {
299
+ --sds-c-button-color-border-disabled: var(--slds-g-color-border-disabled-1);
300
+ --sds-c-button-text-color-disabled: var(--slds-g-color-on-disabled-1);
301
+ --sds-c-button-color-background-disabled: var(--slds-g-color-disabled-container-1);
301
302
  }
302
303
  /**
303
304
  * A note about fallbacks on the default variant:
@@ -413,9 +414,9 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
413
414
  --slds-c-button-neutral-color-border-active: var(--slds-c-button-neutral-color-border, var(--slds-g-color-border-1));
414
415
  }
415
416
  :host([data-render-mode="shadow"][variant='brand']) [part~='button']:disabled,:host([data-render-mode="shadow"][variant='success']) [part~='button']:disabled,:host([data-render-mode="shadow"][variant='destructive']) [part~='button']:disabled {
416
- --sds-c-button-color-background: var(--slds-g-color-disabled-container-1);
417
+ --sds-c-button-color-background: var(--slds-g-color-disabled-container-2);
417
418
  --sds-c-button-color-border: var(--slds-g-color-border-disabled-1);
418
- --sds-c-button-text-color: var(--slds-g-color-on-disabled-1);
419
+ --sds-c-button-text-color: var(--slds-g-color-on-disabled-2);
419
420
  }
420
421
  /**
421
422
  * 'base' variant is not the default in LBC. It is the default in the light
@@ -531,37 +532,42 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
531
532
  --slds-c-button-neutral-color-background-active: transparent;
532
533
 
533
534
  /* Border */
534
- --slds-c-button-neutral-color-border: var(--slds-g-color-border-1);
535
- --slds-c-button-neutral-color-border-hover: var(--slds-g-color-border-1);
536
- --slds-c-button-neutral-color-border-focus: var(--slds-g-color-border-1);
537
- --slds-c-button-neutral-color-border-active: var(--slds-g-color-border-1);
535
+ --slds-c-button-neutral-color-border: var(--slds-g-color-border-2);
536
+ --slds-c-button-neutral-color-border-hover: var(--slds-g-color-border-2);
537
+ --slds-c-button-neutral-color-border-focus: var(--slds-g-color-border-2);
538
+ --slds-c-button-neutral-color-border-active: var(--slds-g-color-border-2);
538
539
 
539
540
  /* Disabled */
540
541
  --sds-c-button-color-background-disabled: var(--slds-g-color-surface-container-1);
541
542
  --sds-c-button-color-border-disabled: var(--slds-g-color-border-disabled-1);
542
543
  }
543
544
  /* slds-icon interaction states */
544
- :host([data-render-mode="shadow"]) [part~='button-icon']:hover {
545
+ :host([data-render-mode="shadow"]) [part~='button-icon']:not(.slds-is-selected):hover {
545
546
  --slds-c-icon-color-foreground: var(
546
547
  --slds-c-buttonicon-color-foreground-hover,
547
- var(--slds-g-color-accent-4)
548
+ var(--slds-g-color-accent-3)
548
549
  );
549
550
  }
550
- :host([data-render-mode="shadow"]) [part~='button-icon']:focus {
551
+ :host([data-render-mode="shadow"]) [part~='button-icon']:not(.slds-is-selected):focus {
551
552
  --slds-c-icon-color-foreground: var(
552
553
  --slds-c-buttonicon-color-foreground-focus,
553
- var(--slds-g-color-accent-4)
554
+ var(--slds-g-color-accent-3)
554
555
  );
555
556
  }
556
- :host([data-render-mode="shadow"]) [part~='button-icon']:active {
557
+ :host([data-render-mode="shadow"]) [part~='button-icon']:not(.slds-is-selected):active {
557
558
  --slds-c-icon-color-foreground: var(
558
559
  --slds-c-buttonicon-color-foreground-active,
559
- var(--slds-g-color-accent-4)
560
+ var(--slds-g-color-accent-3)
560
561
  );
562
+
563
+ /* Shadow
564
+ * Added to override active shadow * inherited from button */
565
+ --sds-c-button-shadow-active: none;
561
566
  }
562
567
  /* Create disabled state for the 1st time since icon doesn't have disabled state. */
563
568
  :host([data-render-mode="shadow"]) [part~='button-icon']:disabled {
564
569
  --slds-c-icon-color-foreground: var(--slds-g-color-disabled-1);
570
+ --sds-c-button-color-background-disabled: transparent;
565
571
  }
566
572
  /**
567
573
  * Variant - Bare
@@ -662,6 +668,12 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
662
668
  */
663
669
  :host([data-render-mode="shadow"][variant='border-filled']) [part~='button-icon'] {
664
670
  --slds-c-button-neutral-color-background: var(--slds-g-color-surface-container-1);
671
+ --slds-c-button-neutral-color-background-hover: var(--slds-g-color-surface-container-1);
672
+ --slds-c-button-neutral-color-background-focus: var(--slds-g-color-surface-container-1);
673
+ --slds-c-button-neutral-color-background-active: var(--slds-g-color-surface-container-1);
674
+ }
675
+ :host([data-render-mode="shadow"][variant='border-filled']) [part~='button-icon']:disabled {
676
+ --sds-c-button-color-background-disabled: var(--slds-g-color-disabled-container-1);
665
677
  }
666
678
  /**
667
679
  * Sizes
@@ -697,6 +709,10 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
697
709
  --slds-c-buttonicon-spacing-inline: 0;
698
710
  --slds-c-icon-sizing: var(--slds-g-sizing-4);
699
711
  }
712
+ :host([data-render-mode="shadow"][size='large'][variant='bare']) [part~='button-icon'],:host([data-render-mode="shadow"][size='large'][variant='bare-inverse']) [part~='button-icon'] {
713
+ --sds-c-button-sizing-height: auto;
714
+ --sds-c-button-sizing-width: auto;
715
+ }
700
716
  /**
701
717
  * End part
702
718
  */
@@ -228,11 +228,10 @@ export class Tooltip {
228
228
  const target = this._target();
229
229
 
230
230
  if (!this._initialized && target) {
231
- ['touchstart', 'click'].forEach((eventName) =>
232
- target.addEventListener(eventName, (event) =>
233
- this.toggleIfTouchOrClick(event)
234
- )
235
- );
231
+ target.addEventListener('touchstart', (e) => {
232
+ e.stopPropagation();
233
+ this.toggle();
234
+ });
236
235
 
237
236
  ['mouseenter', 'focus'].forEach((eventName) =>
238
237
  target.addEventListener(eventName, (event) => this.show(event))
@@ -252,16 +251,6 @@ export class Tooltip {
252
251
  }
253
252
  }
254
253
 
255
- /* mobile listens for both 'click' and 'touchstart', but we only want to listen to
256
- either 'touchstart' and not 'click', otherwise it will double toggle. Call preventDefault() to prevent the
257
- 'click' event from bubbling after a 'touchstart' is detected on mobile.
258
- */
259
- toggleIfTouchOrClick(e) {
260
- e.preventDefault();
261
- e.stopPropagation();
262
- this.toggle();
263
- }
264
-
265
254
  handleEscape(e) {
266
255
  if (e.key === 'Escape' && this._isFocusEvent) {
267
256
  e.stopPropagation();
@@ -15,7 +15,7 @@
15
15
  border-radius: 0;
16
16
  box-shadow: inset 0 0 0 var(--slds-g-color-brand-base-60);
17
17
  cursor: pointer;
18
- color: var(--slds-g-color-neutral-base-10);
18
+ color: var(--slds-g-color-neutral-base-40);
19
19
  }
20
20
 
21
21
  :host([data-render-mode="shadow"]) .slds-nav-vertical__action_overflow {
@@ -12,7 +12,7 @@
12
12
  align-items: center;
13
13
  padding: var(--slds-g-spacing-1) var(--slds-g-spacing-2);
14
14
  color: var(--slds-c-badge-text-color, var(--slds-g-color-on-surface-3));
15
- font-size: var(--slds-c-badge-font-size, var(--slds-g-font-scale-neg-2));
15
+ font-size: var(--slds-c-badge-font-size, var(--slds-g-font-scale-neg-1));
16
16
  font-weight: var(--slds-g-font-weight-7);
17
17
  /* stylelint-disable */
18
18
  line-height: var(--slds-c-badge-font-lineheight, initial);
@@ -15,7 +15,7 @@
15
15
  border-radius: 0;
16
16
  box-shadow: inset 0 0 0 var(--slds-g-color-brand-base-60);
17
17
  cursor: pointer;
18
- color: var(--slds-g-color-neutral-base-10);
18
+ color: var(--slds-g-color-neutral-base-40);
19
19
  }
20
20
 
21
21
  :host([data-render-mode="shadow"]) .slds-nav-vertical__action_overflow {
@@ -15,7 +15,7 @@
15
15
  border-radius: 0;
16
16
  box-shadow: inset 0 0 0 var(--slds-g-color-brand-base-60);
17
17
  cursor: pointer;
18
- color: var(--slds-g-color-neutral-base-10);
18
+ color: var(--slds-g-color-neutral-base-40);
19
19
  }
20
20
 
21
21
  :host([data-render-mode="shadow"]) .slds-nav-vertical__action_overflow {