lightning-base-components 1.21.2-alpha → 1.21.4-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 (357) hide show
  1. package/metadata/raptor.json +77 -1
  2. package/package.json +108 -15
  3. package/scopedImports/@salesforce-label-LightningDatatable.showActions.js +1 -1
  4. package/scopedImports/@salesforce-label-LightningForm.controllerFieldsMessage.js +1 -0
  5. package/scopedImports/@salesforce-label-LightningForm.dependentFieldsHeader.js +1 -0
  6. package/scopedImports/@salesforce-label-LightningForm.dependentFieldsListHeading.js +1 -0
  7. package/scopedImports/@salesforce-label-LightningForm.generalDependentFieldsMessage.js +1 -0
  8. package/scopedImports/@salesforce-label-LightningForm.learnMore.js +1 -0
  9. package/scopedImports/@salesforce-label-LightningForm.okButton.js +1 -0
  10. package/scopedImports/@salesforce-label-LightningLookup.modalCancel.js +1 -0
  11. package/scopedImports/@salesforce-label-LightningLookup.modalSelect.js +1 -0
  12. package/scopedImports/@salesforce-label-LightningProgressIndicator.currentStage.js +1 -1
  13. package/scopedImports/@salesforce-label-LightningProgressIndicator.errorStage.js +1 -0
  14. package/scopedImports/@salesforce-label-LightningProgressIndicator.stageComplete.js +1 -1
  15. package/scopedImports/@salesforce-label-LightningProgressIndicator.stageNotStarted.js +1 -1
  16. package/scopedImports/@salesforce-label-LightningRichTextEditor.colorPicker.js +1 -0
  17. package/src/lightning/accordion/accordion-section.slds.css +3 -3
  18. package/src/lightning/accordion/accordion.slds.css +1 -2
  19. package/src/lightning/accordionSection/accordion-section.slds.css +3 -3
  20. package/src/lightning/accordionSection/accordionSection.js +3 -1
  21. package/src/lightning/accordionSection/button.slds.css +1 -1
  22. package/src/lightning/avatar/avatar.html +1 -0
  23. package/src/lightning/badge/badge.html +3 -3
  24. package/src/lightning/badge/badge.js +1 -0
  25. package/src/lightning/badge/badge.js-meta.xml +3 -0
  26. package/src/lightning/baseCombobox/base-combobox.slds.css +11 -6
  27. package/src/lightning/baseCombobox/baseCombobox.html +5 -2
  28. package/src/lightning/baseCombobox/baseCombobox.js +5 -18
  29. package/src/lightning/baseCombobox/baseCombobox.js-meta.xml +6 -0
  30. package/src/lightning/baseCombobox/input-text.slds.css +41 -68
  31. package/src/lightning/baseCombobox/keyboard.js +12 -4
  32. package/src/lightning/baseCombobox/listbox.slds.css +51 -99
  33. package/src/lightning/baseCombobox/spinner.slds.css +62 -62
  34. package/src/lightning/baseComboboxFormattedText/baseComboboxFormattedText.js-meta.xml +6 -0
  35. package/src/lightning/baseComboboxItem/baseComboboxItem.js +10 -6
  36. package/src/lightning/baseComboboxItem/baseComboboxItem.js-meta.xml +6 -0
  37. package/src/lightning/baseComboboxItem/listbox.slds.css +51 -99
  38. package/src/lightning/baseFormattedText/baseFormattedText.js +2 -2
  39. package/src/lightning/button/__docs__/button.md +2 -1
  40. package/src/lightning/button/button.js +5 -5
  41. package/src/lightning/button/button.slds.css +1 -1
  42. package/src/lightning/buttonIcon/__docs__/buttonIcon.md +1 -0
  43. package/src/lightning/buttonIcon/button-icon.slds.css +1 -1
  44. package/src/lightning/buttonIcon/buttonIcon.html +1 -1
  45. package/src/lightning/buttonIcon/buttonIcon.js +18 -17
  46. package/src/lightning/buttonIconStateful/button-icon-stateful.slds.css +4 -2
  47. package/src/lightning/buttonIconStateful/button-icon.slds.css +1 -1
  48. package/src/lightning/buttonIconStateful/button.slds.css +1 -1
  49. package/src/lightning/buttonMenu/button-icon.slds.css +1 -1
  50. package/src/lightning/buttonMenu/button-menu.slds.css +8 -2
  51. package/src/lightning/buttonMenu/button.slds.css +1 -1
  52. package/src/lightning/buttonMenu/buttonMenu.css +5 -0
  53. package/src/lightning/buttonMenu/buttonMenu.js +2 -0
  54. package/src/lightning/buttonStateful/button-stateful.slds.css +6 -2
  55. package/src/lightning/buttonStateful/button.slds.css +1 -1
  56. package/src/lightning/buttonStateful/buttonStateful.js +4 -1
  57. package/src/lightning/calendar/calendar.js-meta.xml +6 -0
  58. package/src/lightning/calendar/calendar.slds.css +9 -2
  59. package/src/lightning/colorPickerCustom/color-picker-custom.slds.css +22 -23
  60. package/src/lightning/colorPickerCustom/colorPickerCustom.js +12 -0
  61. package/src/lightning/colorPickerCustom/input-text.slds.css +41 -68
  62. package/src/lightning/colorPickerPanel/color-picker-panel.slds.css +9 -10
  63. package/src/lightning/colorPickerPanel/colorPickerPanel.js +11 -1
  64. package/src/lightning/colorPickerPanel/popover.slds.css +0 -2
  65. package/src/lightning/combobox/combobox.html +1 -0
  66. package/src/lightning/combobox/combobox.slds.css +1 -2
  67. package/src/lightning/combobox/form-element.slds.css +54 -54
  68. package/src/lightning/datatable/__examples__disabled/customComponentWrapper/customComponentWrapper.html +11 -0
  69. package/src/lightning/datatable/__examples__disabled/customComponentWrapper/customComponentWrapper.js +25 -0
  70. package/src/lightning/datatable/__examples__disabled/customComponentWrapper/generateData.js +15 -0
  71. package/src/lightning/datatable/__examples__disabled/customDatatableWrapper/customDatatableWrapper.js +89 -0
  72. package/src/lightning/datatable/__examples__disabled/customDatatypeDeleteRowBtn/customDatatypeDeleteRowBtn.html +6 -0
  73. package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeDeleteRowBtn/customDatatypeDeleteRowBtn.js +1 -16
  74. package/src/lightning/datatable/__examples__disabled/customDatatypeLink/customDatatypeLink.html +9 -0
  75. package/src/lightning/datatable/__examples__disabled/customDatatypeRowOrderingBtn/customDatatypeRowOrderingBtn.html +3 -0
  76. package/src/lightning/datatable/__examples__disabled/customDatatypeRowOrderingBtn/customDatatypeRowOrderingBtn.js +3 -0
  77. package/src/lightning/datatable/__examples__disabled/customDatatypeTable/customNumber.html +3 -0
  78. package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeTable/customNumberEdit.html +2 -0
  79. package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeTable/deleteRow.html +3 -2
  80. package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeTable/iconPill.html +1 -1
  81. package/src/lightning/datatable/{__examples__/customDatatypeRowOrderingBtn/customDatatypeRowOrderingBtn.html → __examples__disabled/customNestedComponent/customNestedComponent.html} +2 -2
  82. package/src/lightning/datatable/__examples__disabled/customNestedComponent/customNestedComponent.js +12 -0
  83. package/src/lightning/datatable/__examples__disabled/myCustomTypeDatatable/customInput.html +4 -0
  84. package/src/lightning/datatable/__examples__disabled/myCustomTypeDatatable/myCustomTypeDatatable.js +17 -0
  85. package/src/lightning/datatable/__examples__disabled/myCustomTypeDatatable/nestedSimpleComponentParent.html +7 -0
  86. package/src/lightning/datatable/__examples__disabled/simpleComponentNested/simpleComponentNested.html +9 -0
  87. package/src/lightning/datatable/__examples__disabled/simpleComponentNested/simpleComponentNested.js +6 -0
  88. package/src/lightning/datatable/autoWidthStrategy.js +145 -217
  89. package/src/lightning/datatable/columnResizer.js +80 -190
  90. package/src/lightning/datatable/columnWidthManager.js +128 -243
  91. package/src/lightning/datatable/columns.js +192 -283
  92. package/src/lightning/datatable/datagrid.slds.css +187 -0
  93. package/src/lightning/datatable/datatable.js +647 -614
  94. package/src/lightning/datatable/errors.js +19 -28
  95. package/src/lightning/datatable/fixedWidthStrategy.js +27 -49
  96. package/src/lightning/datatable/headerActions.js +10 -42
  97. package/src/lightning/datatable/indexes.js +42 -0
  98. package/src/lightning/datatable/infiniteLoading.js +27 -46
  99. package/src/lightning/datatable/inlineEdit.js +311 -322
  100. package/src/lightning/datatable/keyboard.js +490 -510
  101. package/src/lightning/datatable/renderManager.js +10 -11
  102. package/src/lightning/datatable/resizeObserver.js +10 -67
  103. package/src/lightning/datatable/rowLevelActions.js +7 -6
  104. package/src/lightning/datatable/rowNumber.js +41 -79
  105. package/src/lightning/datatable/rowSelection.js +236 -291
  106. package/src/lightning/datatable/rowSelectionShared.js +26 -33
  107. package/src/lightning/datatable/rows.js +264 -476
  108. package/src/lightning/datatable/sort.js +27 -82
  109. package/src/lightning/datatable/templates/div/div.css +2 -57
  110. package/src/lightning/datatable/templates/div/div.html +25 -10
  111. package/src/lightning/datatable/templates/div/div.lbc.native.css +3 -0
  112. package/src/lightning/datatable/templates/div/div.lbc.synthetic.css +80 -0
  113. package/src/lightning/datatable/templates/table/table.html +16 -5
  114. package/src/lightning/datatable/tree.js +17 -35
  115. package/src/lightning/datatable/types.js +10 -31
  116. package/src/lightning/datatable/utils.js +54 -29
  117. package/src/lightning/datatable/virtualization.js +2 -5
  118. package/src/lightning/datatable/widthManagerShared.js +24 -41
  119. package/src/lightning/datatable/wrapText.js +45 -77
  120. package/src/lightning/datepicker/datepicker.js +32 -9
  121. package/src/lightning/datepicker/datepicker.js-meta.xml +6 -0
  122. package/src/lightning/datepicker/form-element.slds.css +54 -54
  123. package/src/lightning/datepicker/input-text.slds.css +41 -68
  124. package/src/lightning/datetimepicker/datetimepicker.js-meta.xml +6 -0
  125. package/src/lightning/datetimepicker/form-element.slds.css +54 -54
  126. package/src/lightning/datetimepicker/input-text.slds.css +41 -68
  127. package/src/lightning/dualListbox/dual-listbox.slds.css +7 -2
  128. package/src/lightning/dualListbox/dualListbox.js +7 -8
  129. package/src/lightning/dualListbox/form-element.slds.css +54 -54
  130. package/src/lightning/dualListbox/listbox.slds.css +51 -99
  131. package/src/lightning/dynamicIcon/dynamic-icon-strength.slds.css +1 -2
  132. package/src/lightning/dynamicIcon/dynamic-icon-trend.slds.css +1 -2
  133. package/src/lightning/formattedDateTime/formattedDateTime.js +7 -62
  134. package/src/lightning/formattedDateTime/formattedDateTime.js-meta.xml +3 -0
  135. package/src/lightning/formattedLocation/formattedLocation.html +1 -3
  136. package/src/lightning/formattedLocation/formattedLocation.js +3 -25
  137. package/src/lightning/formattedLookup/events.js +2 -4
  138. package/src/lightning/formattedName/formattedName.js +3 -2
  139. package/src/lightning/formattedName/formattedName.js-meta.xml +3 -0
  140. package/src/lightning/formattedNumber/formattedNumber.js +5 -51
  141. package/src/lightning/formattedNumber/formattedNumber.js-meta.xml +3 -0
  142. package/src/lightning/formattedRichText/formattedRichText.js +5 -5
  143. package/src/lightning/formattedRichText/linkTextNodes.js +58 -0
  144. package/src/lightning/formattedRichText/richTextConfig.js +1 -0
  145. package/src/lightning/groupedCombobox/form-element.slds.css +54 -54
  146. package/src/lightning/groupedCombobox/grouped-combobox.slds.css +0 -2
  147. package/src/lightning/groupedCombobox/groupedCombobox.js-meta.xml +1 -1
  148. package/src/lightning/groupedCombobox/input-text.slds.css +41 -68
  149. package/src/lightning/helptext/button-icon.slds.css +1 -1
  150. package/src/lightning/helptext/form-element.slds.css +54 -54
  151. package/src/lightning/helptext/helptext.css +7 -0
  152. package/src/lightning/helptext/helptext.js +3 -4
  153. package/src/lightning/icon/icon.html +1 -1
  154. package/src/lightning/icon/icon.slds.css +12 -25
  155. package/src/lightning/input/form-element.slds.css +54 -54
  156. package/src/lightning/input/input.html +5 -0
  157. package/src/lightning/inputAddress/addressFormat.js +31 -4
  158. package/src/lightning/inputAddress/fieldsLayout.js +6 -0
  159. package/src/lightning/inputAddress/form-element.slds.css +54 -54
  160. package/src/lightning/inputAddress/input-address.slds.css +1 -2
  161. package/src/lightning/inputAddress/input-text.slds.css +41 -68
  162. package/src/lightning/inputAddress/inputAddress.html +19 -1
  163. package/src/lightning/inputAddress/inputAddress.js +75 -3
  164. package/src/lightning/inputAddress/inputAddress.js-meta.xml +3 -0
  165. package/src/lightning/inputLocation/form-element.slds.css +54 -54
  166. package/src/lightning/inputLocation/input-location.slds.css +1 -2
  167. package/src/lightning/inputLocation/input-text.slds.css +41 -68
  168. package/src/lightning/inputName/form-element.slds.css +54 -54
  169. package/src/lightning/inputName/input-text.slds.css +41 -68
  170. package/src/lightning/interactiveDialogBase/interactive-dialog-base.slds.css +0 -3
  171. package/src/lightning/interactiveDialogBase/interactiveDialogBase.js-meta.xml +6 -0
  172. package/src/lightning/internationalizationLibrary/address/AddressFormat.js +553 -610
  173. package/src/lightning/lookupAddress/form-element.slds.css +54 -54
  174. package/src/lightning/lookupAddress/listbox.slds.css +51 -99
  175. package/src/lightning/lookupAddress/location.js +2 -0
  176. package/src/lightning/lookupAddress/lookup-address.slds.css +0 -2
  177. package/src/lightning/lookupAddress/lookupAddress.html +6 -1
  178. package/src/lightning/lookupAddress/lookupAddress.js +40 -10
  179. package/src/lightning/menuDivider/menu-divider.slds.css +0 -2
  180. package/src/lightning/menuItem/menu-item.slds.css +8 -2
  181. package/src/lightning/menuSubheader/menu-subheader.slds.css +1 -2
  182. package/src/lightning/modal/__docs__/modal.md +10 -1
  183. package/src/lightning/modal/__modalUtils__/modalContainerTestConstants.js +3 -7
  184. package/src/lightning/modal/__modalUtils__/modalContainerTestMethods.js +39 -133
  185. package/src/lightning/modal/__modalUtils__/modalContainerTestMockData.js +1 -1
  186. package/src/lightning/modal/modal.js +1 -1
  187. package/src/lightning/modalBase/modal-base.slds.css +3 -3
  188. package/src/lightning/modalBase/modalBase.html +15 -10
  189. package/src/lightning/modalBase/modalBase.js +131 -154
  190. package/src/lightning/modalBase/modalBase.js-meta.xml +6 -0
  191. package/src/lightning/modalBody/modal-body.slds.css +1 -2
  192. package/src/lightning/modalBody/modalBody.css +6 -0
  193. package/src/lightning/modalFooter/modal-footer.slds.css +2 -2
  194. package/src/lightning/modalFooter/modalFooter.js +0 -21
  195. package/src/lightning/modalHeader/modal-header.slds.css +1 -2
  196. package/src/lightning/modalHeader/modalHeader.html +16 -4
  197. package/src/lightning/modalHeader/modalHeader.js +61 -36
  198. package/src/lightning/overlay/overlay.js-meta.xml +6 -0
  199. package/src/lightning/pill/link.html +1 -0
  200. package/src/lightning/pill/pill.slds.css +32 -58
  201. package/src/lightning/pill/plain.html +1 -0
  202. package/src/lightning/pill/plainLink.html +1 -0
  203. package/src/lightning/pillContainer/button.slds.css +1 -1
  204. package/src/lightning/pillContainer/listbox.slds.css +51 -99
  205. package/src/lightning/pillContainer/pill-container.slds.css +6 -10
  206. package/src/lightning/pillContainer/pill.slds.css +32 -58
  207. package/src/lightning/popup/popover.slds.css +0 -2
  208. package/src/lightning/primitiveBubble/primitiveBubble.js +42 -0
  209. package/src/lightning/primitiveBubble/primitiveBubble.js-meta.xml +6 -0
  210. package/src/lightning/primitiveButton/primitiveButoon.js-meta.xml +6 -0
  211. package/src/lightning/primitiveCellCheckbox/checkbox.css +2 -0
  212. package/src/lightning/primitiveColorpickerButton/color-picker-button.slds.css +16 -38
  213. package/src/lightning/primitiveCustomCell/primitiveCustomCell.js +26 -1
  214. package/src/lightning/primitiveDatatableCell/primitiveDatatableCell.js +1 -1
  215. package/src/lightning/primitiveHeaderActions/primitiveHeaderActions.html +1 -1
  216. package/src/lightning/primitiveHeaderActions/primitiveHeaderActions.js +13 -0
  217. package/src/lightning/primitiveHeaderFactory/nonsortableHeader.css +1 -0
  218. package/src/lightning/primitiveHeaderFactory/nonsortableHeader.html +19 -6
  219. package/src/lightning/primitiveHeaderFactory/selectableHeader.css +2 -0
  220. package/src/lightning/primitiveHeaderFactory/sortableHeader.html +3 -1
  221. package/src/lightning/primitiveIcon/icon.slds.css +12 -25
  222. package/src/lightning/primitiveIcon/primitiveIcon.js-meta.xml +6 -0
  223. package/src/lightning/primitiveIframe/primitiveIframe.js +3 -1
  224. package/src/lightning/primitiveInputCheckbox/form-element.slds.css +54 -54
  225. package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.js +5 -2
  226. package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.js-meta.xml +6 -0
  227. package/src/lightning/primitiveInputCheckboxButton/form-element.slds.css +54 -54
  228. package/src/lightning/primitiveInputCheckboxButton/input-checkbox-button.slds.css +6 -4
  229. package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.js +5 -2
  230. package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.js-meta.xml +6 -0
  231. package/src/lightning/primitiveInputColor/form-element.slds.css +54 -54
  232. package/src/lightning/primitiveInputColor/input-color.slds.css +2 -3
  233. package/src/lightning/primitiveInputColor/input-text.slds.css +41 -68
  234. package/src/lightning/primitiveInputColor/primitiveInputColor.js +5 -2
  235. package/src/lightning/primitiveInputColor/primitiveInputColor.js-meta.xml +6 -0
  236. package/src/lightning/primitiveInputFile/button.slds.css +1 -1
  237. package/src/lightning/primitiveInputFile/form-element.slds.css +54 -54
  238. package/src/lightning/primitiveInputFile/input-file.slds.css +1 -4
  239. package/src/lightning/primitiveInputFile/primitiveInputFile.js +4 -2
  240. package/src/lightning/primitiveInputFile/primitiveInputFile.js-meta.xml +6 -0
  241. package/src/lightning/primitiveInputRadio/primitiveInputRadio.js +4 -2
  242. package/src/lightning/primitiveInputSimple/form-element.slds.css +54 -54
  243. package/src/lightning/primitiveInputSimple/input-text.slds.css +41 -68
  244. package/src/lightning/primitiveInputSimple/primitiveInputSimple.js-meta.xml +6 -0
  245. package/src/lightning/primitiveInputToggle/form-element.slds.css +54 -54
  246. package/src/lightning/primitiveInputToggle/input-toggle.slds.css +50 -27
  247. package/src/lightning/primitiveInputToggle/primitiveInputToggle.js +5 -2
  248. package/src/lightning/primitiveInputToggle/primitiveInputToggle.js-meta.xml +6 -0
  249. package/src/lightning/primitiveResizeHandler/primitiveResizeHandler.css +11 -0
  250. package/src/lightning/primitiveResizeHandler/primitiveResizeHandler.html +2 -1
  251. package/src/lightning/primitiveResizeHandler/primitiveResizeHandler.js +1 -0
  252. package/src/lightning/progressBar/progress-bar.slds.css +8 -10
  253. package/src/lightning/progressRing/progress-ring.slds.css +0 -23
  254. package/src/lightning/progressStep/base.html +5 -6
  255. package/src/lightning/progressStep/progressStep.js +15 -23
  256. package/src/lightning/prompt/__docs__/prompt.md +1 -1
  257. package/src/lightning/radioGroup/form-element.slds.css +54 -54
  258. package/src/lightning/radioGroup/radioGroup.html +1 -2
  259. package/src/lightning/radioGroup/radioGroup.js +1 -0
  260. package/src/lightning/routingService/routingService.js +31 -5
  261. package/src/lightning/select/form-element.slds.css +54 -54
  262. package/src/lightning/select/select.slds.css +4 -2
  263. package/src/lightning/shadowBaseClassPrivate/shadowBaseClassPrivate.js +0 -2
  264. package/src/lightning/sldsCommon/sldsCommon.css +134 -98
  265. package/src/lightning/sldsUtilsAlignment/sldsUtilsAlignment.css +1 -1
  266. package/src/lightning/sldsUtilsBox/sldsUtilsBox.css +14 -13
  267. package/src/lightning/sldsUtilsGrid/sldsUtilsGrid.css +95 -92
  268. package/src/lightning/sldsUtilsHyphenation/sldsUtilsHyphenation.css +1 -1
  269. package/src/lightning/sldsUtilsMargin/sldsUtilsMargin.css +77 -75
  270. package/src/lightning/sldsUtilsPadding/sldsUtilsPadding.css +73 -73
  271. package/src/lightning/sldsUtilsSizing/sldsUtilsSizing.css +552 -558
  272. package/src/lightning/sldsUtilsVisibility/sldsUtilsVisibility.css +5 -1
  273. package/src/lightning/spinner/spinner.slds.css +62 -62
  274. package/src/lightning/staticMap/staticMap.js +3 -2
  275. package/src/lightning/tab/tab.js +10 -5
  276. package/src/lightning/tab/tab.js-meta.xml +3 -0
  277. package/src/lightning/tab/tab.slds.css +14 -7
  278. package/src/lightning/tabBar/tab-bar.slds.css +16 -6
  279. package/src/lightning/tabBar/tabBar.js +10 -5
  280. package/src/lightning/tabset/__docs__/tabset.md +24 -1
  281. package/src/lightning/tabset/tabset.html +2 -0
  282. package/src/lightning/tabset/tabset.js +25 -38
  283. package/src/lightning/tabset/tabset.js-meta.xml +3 -0
  284. package/src/lightning/tabset/tabset.slds.css +0 -2
  285. package/src/lightning/textarea/form-element.slds.css +54 -54
  286. package/src/lightning/textarea/textarea.js +11 -2
  287. package/src/lightning/textarea/textarea.slds.css +22 -9
  288. package/src/lightning/timepicker/form-element.slds.css +54 -54
  289. package/src/lightning/timepicker/timepicker.js-meta.xml +6 -0
  290. package/src/lightning/timepicker/timepicker.slds.css +2 -2
  291. package/src/lightning/toast/__docs__/toast.md +20 -22
  292. package/src/lightning/toast/button-icon.slds.css +1 -1
  293. package/src/lightning/toast/icon.slds.css +12 -25
  294. package/src/lightning/toast/toast.js +15 -12
  295. package/src/lightning/toast/toast.slds.css +6 -18
  296. package/src/lightning/toastContainer/__docs__/toastContainer.md +3 -2
  297. package/src/lightning/toastContainer/toast.slds.css +6 -18
  298. package/src/lightning/toastContainer/toastContainer.js +25 -17
  299. package/src/lightning/tooltipLibrary/tooltipLibrary.js +36 -24
  300. package/src/lightning/tree/tree.js +2 -0
  301. package/src/lightning/utils/classSet.js +9 -3
  302. package/src/lightning/utilsPrivate/formatUtils.js +158 -0
  303. package/src/lightning/utilsPrivate/textUtils.js +16 -0
  304. package/src/lightning/utilsPrivate/utilsPrivate.js +56 -15
  305. package/src/lightning/utilsPrivate/validationUtils.js +59 -0
  306. package/src/lightning/verticalNavigation/vertical-navigation.slds.css +14 -0
  307. package/src/lightning/verticalNavigation/verticalNavigation.css +1 -1
  308. package/src/lightning/verticalNavigation/verticalNavigation.html +1 -1
  309. package/src/lightning/verticalNavigation/verticalNavigation.js +66 -28
  310. package/src/lightning/verticalNavigation/verticalNavigation.js-meta.xml +3 -0
  311. package/src/lightning/verticalNavigationItem/vertical-navigation-item.slds.css +63 -0
  312. package/src/lightning/verticalNavigationItem/verticalNavigationItem.css +2 -3
  313. package/src/lightning/verticalNavigationItem/verticalNavigationItem.js +29 -15
  314. package/src/lightning/verticalNavigationItem/verticalNavigationItem.js-meta.xml +3 -0
  315. package/src/lightning/verticalNavigationItem/verticalNavigationItem.lbc.native.css +2 -0
  316. package/src/lightning/verticalNavigationItem/verticalNavigationItem.lbc.synthetic.css +3 -0
  317. package/src/lightning/verticalNavigationItemBadge/badge.slds.css +76 -0
  318. package/src/lightning/verticalNavigationItemBadge/vertical-navigation-item.slds.css +63 -0
  319. package/src/lightning/verticalNavigationItemBadge/verticalNavigationItemBadge.css +2 -3
  320. package/src/lightning/verticalNavigationItemBadge/verticalNavigationItemBadge.html +1 -1
  321. package/src/lightning/verticalNavigationItemBadge/verticalNavigationItemBadge.js +28 -15
  322. package/src/lightning/verticalNavigationItemBadge/verticalNavigationItemBadge.js-meta.xml +3 -0
  323. package/src/lightning/verticalNavigationItemBadge/verticalNavigationItemBadge.lbc.native.css +5 -0
  324. package/src/lightning/verticalNavigationItemBadge/verticalNavigationItemBadge.lbc.synthetic.css +3 -0
  325. package/src/lightning/verticalNavigationItemIcon/vertical-navigation-item.slds.css +63 -0
  326. package/src/lightning/verticalNavigationItemIcon/verticalNavigationItemIcon.css +2 -3
  327. package/src/lightning/verticalNavigationItemIcon/verticalNavigationItemIcon.js +29 -15
  328. package/src/lightning/verticalNavigationItemIcon/verticalNavigationItemIcon.js-meta.xml +3 -0
  329. package/src/lightning/verticalNavigationItemIcon/verticalNavigationItemIcon.lbc.native.css +3 -0
  330. package/src/lightning/verticalNavigationItemIcon/verticalNavigationItemIcon.lbc.synthetic.css +3 -0
  331. package/src/lightning/verticalNavigationOverflow/button.slds.css +503 -0
  332. package/src/lightning/verticalNavigationOverflow/vertical-navigation-item.slds.css +63 -0
  333. package/src/lightning/verticalNavigationOverflow/vertical-navigation-section.slds.css +17 -0
  334. package/src/lightning/verticalNavigationOverflow/verticalNavigationOverflow.css +2 -1
  335. package/src/lightning/verticalNavigationOverflow/verticalNavigationOverflow.html +2 -0
  336. package/src/lightning/verticalNavigationOverflow/verticalNavigationOverflow.js +18 -13
  337. package/src/lightning/verticalNavigationOverflow/verticalNavigationOverflow.js-meta.xml +3 -0
  338. package/src/lightning/verticalNavigationOverflow/verticalNavigationOverflow.lbc.native.css +5 -0
  339. package/src/lightning/verticalNavigationSection/vertical-navigation-section.slds.css +13 -15
  340. package/src/lightning/verticalNavigationSection/verticalNavigationSection.js-meta.xml +3 -0
  341. package/src/lightning/datatable/__examples__/customDatatableWrapper/customDatatableWrapper.js +0 -158
  342. package/src/lightning/datatable/__examples__/customDatatypeDeleteRowBtn/customDatatypeDeleteRowBtn.html +0 -6
  343. package/src/lightning/datatable/__examples__/customDatatypeLink/customDatatypeLink.html +0 -9
  344. package/src/lightning/datatable/__examples__/customDatatypeRowOrderingBtn/customDatatypeRowOrderingBtn.js +0 -40
  345. package/src/lightning/datatable/__examples__/customDatatypeTable/customNumber.html +0 -3
  346. package/src/lightning/datatable/inlineEditShared.js +0 -26
  347. package/src/lightning/datatable/resizeSensor.js +0 -244
  348. package/src/lightning/formattedRichText/linkify.js +0 -43
  349. package/src/lightning/utilsPrivate/smartSetAttribute.js +0 -19
  350. /package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatableWrapper/customDatatableWrapper.html +0 -0
  351. /package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeLink/customDatatypeLink.js +0 -0
  352. /package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeNumber/customDatatypeNumber.html +0 -0
  353. /package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeNumber/customDatatypeNumber.js +0 -0
  354. /package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeTable/customDatatypeTable.js +0 -0
  355. /package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeTable/customLink.html +0 -0
  356. /package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeTable/customName.html +0 -0
  357. /package/src/lightning/datatable/{__examples__ → __examples__disabled}/customDatatypeTable/orderingButtons.html +0 -0
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <LightningComponentBundle xmlns="xmlns=http://soap.sforce.com/2006/04/metadata">
3
+ <capabilities>
4
+ <capability>lightning__ServerRenderable</capability>
5
+ </capabilities>
6
+ </LightningComponentBundle>
@@ -43,18 +43,22 @@ export default class LightningBaseComboboxItem extends LightningShadowBaseClass
43
43
  }
44
44
 
45
45
  @api
46
- highlight() {
47
- this.toggleHighlight(true);
46
+ highlight(isSelected) {
47
+ this.toggleHighlight(true, isSelected);
48
48
  }
49
49
 
50
50
  @api
51
- removeHighlight() {
52
- this.toggleHighlight(false);
51
+ removeHighlight(isSelected) {
52
+ this.toggleHighlight(false, isSelected);
53
53
  }
54
54
 
55
- toggleHighlight(highlighted) {
55
+ toggleHighlight(highlighted, isSelected) {
56
56
  if (this.item.selectable) {
57
- this.setAttribute('aria-selected', highlighted ? 'true' : 'false');
57
+ //Only announce the selected item from the list, not the hovered or focused ones.
58
+ this.setAttribute(
59
+ 'aria-selected',
60
+ isSelected === 'true' ? true : false
61
+ );
58
62
  this.classList.toggle('slds-has-focus', highlighted);
59
63
  }
60
64
  }
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <LightningComponentBundle xmlns="xmlns=http://soap.sforce.com/2006/04/metadata">
3
+ <capabilities>
4
+ <capability>lightning__ServerRenderableWithHydration</capability>
5
+ </capabilities>
6
+ </LightningComponentBundle>
@@ -1,89 +1,72 @@
1
1
 
2
- @supports (--styling-hooks: '') {
3
- /* Horizontal listbox - used for pill container */
2
+ /* Horizontal listbox - used for pill container */
4
3
  :host([data-render-mode="shadow"]) .slds-listbox_horizontal {
5
4
  display: inline-flex;
6
5
  flex-wrap: wrap;
7
6
  align-items: center;
8
7
  }
9
-
10
- :host([data-render-mode="shadow"]) .slds-listbox_horizontal li {
8
+ :host([data-render-mode="shadow"]) .slds-listbox_horizontal li {
11
9
  display: flex;
12
10
  }
13
-
14
11
  :host([data-render-mode="shadow"]) .slds-listbox_horizontal li+li {
15
12
  padding-inline-start: 0.125rem;
16
13
  }
17
-
18
- /* Vertical listbox */
19
- :host([data-render-mode="shadow"]) .slds-listbox_vertical .slds-listbox__option:focus,:host([data-render-mode="shadow"])
14
+ /* Vertical listbox */
15
+ :host([data-render-mode="shadow"]) .slds-listbox_vertical .slds-listbox__option:focus,:host([data-render-mode="shadow"])
20
16
  .slds-listbox_vertical .slds-listbox__option:hover,:host([data-render-mode="shadow"])
21
17
  .slds-listbox_vertical .slds-listbox__option.slds-has-focus {
22
18
  background-color: var(--slds-g-color-surface-container-2);
23
19
  text-decoration: none;
24
20
  }
25
-
26
- :host([data-render-mode="shadow"]) .slds-listbox_vertical .slds-listbox__option[aria-disabled="true"],:host([data-render-mode="shadow"])
21
+ :host([data-render-mode="shadow"]) .slds-listbox_vertical .slds-listbox__option[aria-disabled="true"],:host([data-render-mode="shadow"])
27
22
  .slds-listbox_vertical .slds-listbox__option[role="presentation"]:hover {
28
23
  background-color: transparent;
29
24
  cursor: default;
30
25
  }
31
-
32
- /* Modifies the listbox option if it contains an entity object */
33
- :host([data-render-mode="shadow"]) .slds-listbox_vertical .slds-listbox__option_entity {
26
+ /* Modifies the listbox option if it contains an entity object */
27
+ :host([data-render-mode="shadow"]) .slds-listbox_vertical .slds-listbox__option_entity {
34
28
  padding-block: var(--slds-g-spacing-1);
35
29
  padding-inline: var(--slds-g-spacing-3);
36
30
  }
37
-
38
- /* Modifies the listbox option if it contains a plain object or string */
39
- :host([data-render-mode="shadow"]) .slds-listbox_vertical .slds-listbox__option_plain {
31
+ /* Modifies the listbox option if it contains a plain object or string */
32
+ :host([data-render-mode="shadow"]) .slds-listbox_vertical .slds-listbox__option_plain {
40
33
  padding-block: var(--slds-g-spacing-2);
41
34
  padding-inline: var(--slds-g-spacing-3);
42
35
  }
43
-
44
- :host([data-render-mode="shadow"]) .slds-listbox_vertical .slds-listbox__option_term {
36
+ :host([data-render-mode="shadow"]) .slds-listbox_vertical .slds-listbox__option_term {
45
37
  padding-block: var(--slds-g-spacing-2);
46
38
  padding-inline: var(--slds-g-spacing-3);
47
39
  }
48
-
49
- /* Choosable option within listbox */
50
- :host([data-render-mode="shadow"]) .slds-listbox__option:hover {
40
+ /* Choosable option within listbox */
41
+ :host([data-render-mode="shadow"]) .slds-listbox__option:hover {
51
42
  cursor: pointer;
52
43
  }
53
-
54
- :host([data-render-mode="shadow"]) .slds-listbox__option:focus {
44
+ :host([data-render-mode="shadow"]) .slds-listbox__option:focus {
55
45
  outline: 0;
56
46
  }
57
-
58
- :host([data-render-mode="shadow"]) .slds-listbox__option[aria-disabled="true"] {
47
+ :host([data-render-mode="shadow"]) .slds-listbox__option[aria-disabled="true"] {
59
48
  color: var(--slds-g-color-disabled-2);
60
49
  }
61
-
62
- /* ------------------------------- PULL OUT FOR COMBOBOX LISTBOX-OPTION ---------------------------------------------- */
63
-
64
- /* the _vertical variations only apply to combobox's */
65
- :host([data-render-mode="shadow"]) .slds-listbox_vertical .slds-listbox__option_entity .slds-media__figure {
50
+ /* ------------------------------- PULL OUT FOR COMBOBOX LISTBOX-OPTION ---------------------------------------------- */
51
+ /* the _vertical variations only apply to combobox's */
52
+ :host([data-render-mode="shadow"]) .slds-listbox_vertical .slds-listbox__option_entity .slds-media__figure {
66
53
  margin-inline-end: var(--slds-g-spacing-2);
67
54
  }
68
-
69
- /* If the listbox option has metadata or secondary information that sits below its primary text */
70
- :host([data-render-mode="shadow"]) .slds-listbox_vertical .slds-listbox__option_has-meta .slds-media__figure {
55
+ /* If the listbox option has metadata or secondary information that sits below its primary text */
56
+ :host([data-render-mode="shadow"]) .slds-listbox_vertical .slds-listbox__option_has-meta .slds-media__figure {
71
57
  margin-block-start: var(--slds-g-spacing-1);
72
58
  }
73
-
74
- :host([data-render-mode="shadow"]) .slds-listbox__option .slds-truncate {
59
+ :host([data-render-mode="shadow"]) .slds-listbox__option .slds-truncate {
75
60
  display: inline-block;
76
61
  vertical-align: middle;
77
62
  }
78
-
79
- /* Header for choosable option within listbox */
80
- :host([data-render-mode="shadow"]) .slds-listbox__option-header {
63
+ /* Header for choosable option within listbox */
64
+ :host([data-render-mode="shadow"]) .slds-listbox__option-header {
81
65
  font-size: var(--slds-g-font-scale-neg-1);
82
66
  font-weight: 700;
83
67
  }
84
-
85
- /* Container for listbox option icon */
86
- :host([data-render-mode="shadow"]) .slds-listbox__option-icon {
68
+ /* Container for listbox option icon */
69
+ :host([data-render-mode="shadow"]) .slds-listbox__option-icon {
87
70
  width: var(--slds-g-sizing-7);
88
71
  display: inline-flex;
89
72
  align-content: center;
@@ -91,26 +74,21 @@
91
74
  justify-content: center;
92
75
  color: var(--slds-g-color-accent-2);
93
76
  }
94
-
95
77
  :host([data-render-mode="shadow"]) .slds-listbox__option[aria-disabled="true"] .slds-listbox__option-icon {
96
78
  color: currentcolor;
97
79
  }
98
-
99
- /* The icon within a plain listbox that indicates if an option has been selected or not. */
100
- :host([data-render-mode="shadow"]) .slds-listbox__icon-selected {
80
+ /* The icon within a plain listbox that indicates if an option has been selected or not. */
81
+ :host([data-render-mode="shadow"]) .slds-listbox__icon-selected {
101
82
  opacity: 0;
102
83
  fill: var(--slds-g-color-accent-2);
103
84
  }
104
-
105
- /* Modifier that makes selected icon visible */
106
- :host([data-render-mode="shadow"]) .slds-listbox__option.slds-is-selected .slds-listbox__icon-selected {
85
+ /* Modifier that makes selected icon visible */
86
+ :host([data-render-mode="shadow"]) .slds-listbox__option.slds-is-selected .slds-listbox__icon-selected {
107
87
  opacity: 1;
108
88
  }
109
-
110
- :host([data-render-mode="shadow"]) .slds-listbox__option.slds-is-selected .slds-listbox__option-icon {
89
+ :host([data-render-mode="shadow"]) .slds-listbox__option.slds-is-selected .slds-listbox__option-icon {
111
90
  color: var(--slds-g-color-accent-2);
112
91
  }
113
-
114
92
  /* The main text of an entity listbox */
115
93
  :host([data-render-mode="shadow"]) .slds-listbox__option-text_entity {
116
94
  max-width: 100%;
@@ -120,24 +98,18 @@
120
98
  display: block;
121
99
  margin-block-end: 0.125rem;
122
100
  }
123
-
124
- /* The metadata or secondary text of an entity listbox */
125
- :host([data-render-mode="shadow"]) .slds-listbox__option-meta {
101
+ /* The metadata or secondary text of an entity listbox */
102
+ :host([data-render-mode="shadow"]) .slds-listbox__option-meta {
126
103
  display: block;
127
104
  margin-block-start: calc(var(--slds-g-spacing-1) * -1);
128
105
  color: var(--slds-g-color-neutral-base-30);
129
106
  }
130
-
131
107
  :host([data-render-mode="shadow"]) .slds-listbox__option[aria-disabled="true"] .slds-listbox__option-meta {
132
108
  color: currentcolor;
133
109
  }
134
-
135
110
  /* -------------------- END LISTBOX OPTION CSS --------------------------------------------- */
136
-
137
- /* ---------------------PULL OUT FOR PILL CONTAINER ---------------------------------------- */
138
-
111
+ /* ---------------------PULL OUT FOR PILL CONTAINER ---------------------------------------- */
139
112
  /* The container of pill selections found inside of a combobox group */
140
-
141
113
  /* .slds-listbox_selection-group items need to be moved out to pill/pill container */
142
114
  :host([data-render-mode="shadow"]) .slds-listbox_selection-group {
143
115
  position: relative;
@@ -146,97 +118,78 @@
146
118
  height: 1.875rem;
147
119
  overflow: hidden;
148
120
  }
149
-
150
- /* Expanded state of a selection group */
151
- :host([data-render-mode="shadow"]) .slds-listbox_selection-group.slds-is-expanded {
121
+ /* Expanded state of a selection group */
122
+ :host([data-render-mode="shadow"]) .slds-listbox_selection-group.slds-is-expanded {
152
123
  height: auto;
153
124
  padding: 0;
154
125
  }
155
-
156
126
  :host([data-render-mode="shadow"]) .slds-listbox_selection-group .slds-listbox {
157
127
  padding-block-start: 0;
158
128
  padding-block-end: 0.125rem;
159
129
  padding-inline: 0;
160
130
  }
161
-
162
131
  :host([data-render-mode="shadow"]) .slds-listbox_selection-group .slds-listbox-item {
163
132
  padding-block-start: 0.125rem;
164
133
  padding-block-end: 0;
165
134
  padding-inline: 0.125rem;
166
135
  }
167
-
168
- /* Toggle button to show all of the pill selections */
169
- :host([data-render-mode="shadow"]) .slds-listbox_selection-group .slds-listbox-toggle {
136
+ /* Toggle button to show all of the pill selections */
137
+ :host([data-render-mode="shadow"]) .slds-listbox_selection-group .slds-listbox-toggle {
170
138
  position: absolute;
171
139
  top: 50%;
172
140
  transform: translateY(-50%);
173
141
  right: var(--slds-g-spacing-2);
174
142
  }
175
-
176
- :host([data-render-mode="shadow"]) .slds-listbox_selection-group .slds-listbox-toggle .slds-button {
143
+ :host([data-render-mode="shadow"]) .slds-listbox_selection-group .slds-listbox-toggle .slds-button {
177
144
  line-height: 1;
178
145
  }
179
-
180
- /* Media Object classes need to be pulled out for reusability */
181
- :host([data-render-mode="shadow"]) .slds-media {
146
+ /* Media Object classes need to be pulled out for reusability */
147
+ :host([data-render-mode="shadow"]) .slds-media {
182
148
  display: flex;
183
149
  align-items: flex-start;
184
150
  }
185
-
186
- :host([data-render-mode="shadow"]) .slds-media__figure {
151
+ :host([data-render-mode="shadow"]) .slds-media__figure {
187
152
  flex-shrink: 0;
188
153
  margin-inline-end: var(--slds-g-spacing-3);
189
154
  }
190
-
191
- :host([data-render-mode="shadow"]) .slds-media__figure_fixed-width {
155
+ :host([data-render-mode="shadow"]) .slds-media__figure_fixed-width {
192
156
  min-width: var(--slds-g-sizing-10);
193
157
  }
194
-
195
- :host([data-render-mode="shadow"]) .slds-media__body {
158
+ :host([data-render-mode="shadow"]) .slds-media__body {
196
159
  flex: 1;
197
160
  min-width: 0;
198
161
  }
199
-
200
- :host([data-render-mode="shadow"]) .slds-media__body,:host([data-render-mode="shadow"])
162
+ :host([data-render-mode="shadow"]) .slds-media__body,:host([data-render-mode="shadow"])
201
163
  .slds-media__body> :last-child {
202
164
  margin-block-end: 0;
203
165
  }
204
-
205
- :host([data-render-mode="shadow"]) .slds-media-body-iefix {
166
+ :host([data-render-mode="shadow"]) .slds-media-body-iefix {
206
167
  flex-shrink: 0;
207
168
  flex-basis: auto;
208
169
  }
209
-
210
- :host([data-render-mode="shadow"]) .slds-media_small .slds-media__figure {
170
+ :host([data-render-mode="shadow"]) .slds-media_small .slds-media__figure {
211
171
  margin-inline-end: var(--slds-g-spacing-1);
212
172
  }
213
-
214
- :host([data-render-mode="shadow"]) .slds-media_small .slds-media__figure_reverse {
173
+ :host([data-render-mode="shadow"]) .slds-media_small .slds-media__figure_reverse {
215
174
  margin-inline-start: var(--slds-g-spacing-1);
216
175
  }
217
-
218
- :host([data-render-mode="shadow"]) .slds-media_large .slds-media__figure {
176
+ :host([data-render-mode="shadow"]) .slds-media_large .slds-media__figure {
219
177
  margin-inline-end: var(--slds-g-spacing-5);
220
178
  }
221
-
222
- :host([data-render-mode="shadow"]) .slds-media_large .slds-media__figure_reverse {
179
+ :host([data-render-mode="shadow"]) .slds-media_large .slds-media__figure_reverse {
223
180
  margin-inline-start: var(--slds-g-spacing-5);
224
181
  }
225
-
226
- :host([data-render-mode="shadow"]) .slds-media_inline .slds-media__body {
182
+ :host([data-render-mode="shadow"]) .slds-media_inline .slds-media__body {
227
183
  flex: 0 1 auto;
228
184
  }
229
-
230
- :host([data-render-mode="shadow"]) .slds-media_center {
185
+ :host([data-render-mode="shadow"]) .slds-media_center {
231
186
  align-items: center;
232
187
  }
233
-
234
- :host([data-render-mode="shadow"]) .slds-media__figure_reverse {
188
+ :host([data-render-mode="shadow"]) .slds-media__figure_reverse {
235
189
  margin-block: 0;
236
190
  margin-inline-start: var(--slds-g-spacing-3);
237
191
  margin-inline-end: 0;
238
192
  }
239
-
240
193
  @media (width <= 48em) {
241
194
 
242
195
  :host([data-render-mode="shadow"]) .slds-media_responsive {
@@ -249,4 +202,3 @@
249
202
  margin-inline-end: 0;
250
203
  }
251
204
  }
252
- }
@@ -1,5 +1,6 @@
1
1
  import { LightningElement, api, track } from 'lwc';
2
2
  import {
3
+ isTextIgnoreRTL,
3
4
  normalizeBoolean,
4
5
  parseToFormattedLinkifiedParts,
5
6
  } from 'lightning/utilsPrivate';
@@ -66,7 +67,6 @@ export default class BaseFormattedText extends LightningElement {
66
67
  }
67
68
 
68
69
  get ignoreRTL() {
69
- // Ignoring RTL for hex color codes
70
- return this.isString && this.value.match(/^#[0-9abcdef]{6}$/i) !== null;
70
+ return isTextIgnoreRTL(this.value);
71
71
  }
72
72
  }
@@ -274,8 +274,9 @@ Use the following accessibility and `aria` attributes on `lightning-button`.
274
274
  | aria-expanded | boolean | Indicates whether a collapsible element that's controlled by the button is expanded or collapsed. To reference the controlled element, use `aria-controls`. |
275
275
  | aria-haspopup | token | Indicates that the button has an interactive popup element. Valid values are 'true', 'dialog', 'menu', 'listbox', 'tree', and 'grid'. |
276
276
  | aria-label | string | Provides an assistive label where a visible label cannot be used. |
277
- | aria-labelledby | ID reference list | Specifies the ID or list of IDs of the element or elements that contain visible descriptive text to describe the button. |
277
+ | aria-labelledby | ID reference list | Specifies the ID or list of IDs of the element or elements that contain visible descriptive text to describe the button. |
278
278
  | aria-live | token | Indicates the button can dynamically update without a page reload, and specifies how the change is announced by assistive technologies. Possible values include `off`, `polite`, and `assertive`. The default is `off`. For the screen reader to announce changes when the user is idle, use `polite`. For immediate notifications, use `assertive`. |
279
+ | tabindex | integer | Specifies whether the button is focusable during tab navigation. Set tab index to -1 to prevent focus on the button during tab navigation. The default value is 0, which makes the button focusable during tab navigation. For more information see [tabindex](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex). |
279
280
 
280
281
  For more information, see the [WAI-ARIA Specification](https://www.w3.org/TR/wai-aria/).
281
282
 
@@ -43,10 +43,9 @@ export default class LightningButton extends LightningPrimitiveButton {
43
43
  @api label;
44
44
 
45
45
  /**
46
- * Reserved for internal use only.
47
- * Should be set to -1 if button should not
48
- * be focused during tab navigation and should
49
- * be set to 0 if button should be focused.
46
+ * Reserved for internal use only. Use the global tabindex attribute instead.
47
+ * Set tab index to -1 to prevent focus on the button during tab navigation.
48
+ * The default value is 0, which makes the button focusable during tab navigation.
50
49
  * @type {number}
51
50
  */
52
51
  @api tabIndex;
@@ -266,7 +265,8 @@ export default class LightningButton extends LightningPrimitiveButton {
266
265
  // change host style to disable pointer event.
267
266
  this.template.host.style.pointerEvents = this.disabled ? 'none' : '';
268
267
  // setup kinetics
269
- if (hasAnimation() && !this._disableAnimation) {
268
+
269
+ if (!this.disabled && hasAnimation() && !this._disableAnimation) {
270
270
  const attributes = getKineticsAttributes(this._normalizedVariant);
271
271
  attributes.forEach(({ name, value }) => {
272
272
  this.button.setAttribute(name, value);
@@ -217,7 +217,7 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
217
217
 
218
218
  /* Border radius - shared */
219
219
  --sds-c-button-radius-border-startstart: var(
220
- --slds-c-button-neutral-radius-border-startstart,
220
+ --slds-c-button-radius-border-startstart,
221
221
  var(
222
222
  --slds-c-button-radius-border,
223
223
  var(--slds-s-button-radius-border-startstart, var(--slds-s-button-radius-border))
@@ -205,6 +205,7 @@ Use the following accessibility and `aria` attributes on `lightning-button-icon`
205
205
  | aria-haspopup | token | Indicates that the button has an interactive popup element. Valid values are 'true', 'dialog', 'menu', 'listbox', 'tree', and 'grid'. To create a button that displays a list of menu items when clicked, use `lightning-button-menu` instead. |
206
206
  | aria-label | string | Provides an assistive label where a visible label cannot be used. |
207
207
  | aria-live | token | Indicates the button can dynamically update without a page reload, and specifies how the change is announced by assistive technologies. Possible values include `off`, `polite`, and `assertive`. The default is `off`. For the screen reader to announce changes when the user is idle, use `polite`. For immediate notifications, use `assertive`. |
208
+ | tabindex | integer | Specifies whether the button is focusable during tab navigation. Set tab index to -1 to prevent focus on the button during tab navigation. The default value is 0, which makes the button focusable during tab navigation. For more information, see [tabindex](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex). |
208
209
 
209
210
  For more information, see the [WAI-ARIA Specification](https://www.w3.org/TR/wai-aria/).
210
211
 
@@ -220,7 +220,7 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
220
220
 
221
221
  /* Border radius - shared */
222
222
  --sds-c-button-radius-border-startstart: var(
223
- --slds-c-button-neutral-radius-border-startstart,
223
+ --slds-c-button-radius-border-startstart,
224
224
  var(
225
225
  --slds-c-button-radius-border,
226
226
  var(--slds-s-button-radius-border-startstart, var(--slds-s-button-radius-border))
@@ -16,7 +16,7 @@
16
16
  part="button button-icon"
17
17
  tabindex={tabIndex}>
18
18
 
19
- <lightning-primitive-icon icon-name={iconName} svg-class={computedIconClass} variant="bare"></lightning-primitive-icon>
19
+ <lightning-primitive-icon icon-name={iconName} svg-class={computedIconClass} variant="bare" exportparts="icon"></lightning-primitive-icon>
20
20
 
21
21
  <template if:true={alternativeText}>
22
22
  <span class="slds-assistive-text">{alternativeText}</span>
@@ -35,14 +35,15 @@ export default class LightningButtonIcon extends LightningPrimitiveButton {
35
35
  @api value;
36
36
 
37
37
  /**
38
- * Reserved for internal use only.
39
- * Should be set to -1 if button should not
40
- * be focused during tab navigation and should
41
- * be set to 0 if button should be focused.
38
+ * Reserved for internal use only. Use the global tabindex attribute instead.
39
+ * Set tab index to -1 to prevent focus on the button during tab navigation.
40
+ * The default value is 0, which makes the button focusable during tab navigation.
42
41
  * @type {number}
43
42
  */
44
43
  @api tabIndex;
45
44
 
45
+ _variant = DEFAULT_VARIANT;
46
+
46
47
  /**
47
48
  * The variant changes the appearance of button-icon.
48
49
  * Accepted variants include bare, container, brand, border, border-filled, bare-inverse, and border-inverse.
@@ -51,11 +52,11 @@ export default class LightningButtonIcon extends LightningPrimitiveButton {
51
52
  * @type {string}
52
53
  * @default border
53
54
  */
54
- _variant = DEFAULT_VARIANT;
55
55
  @api
56
56
  get variant() {
57
57
  return this._originalVariant;
58
58
  }
59
+
59
60
  set variant(val) {
60
61
  this._originalVariant = val;
61
62
  this._variant = this.normalizeVariant(val);
@@ -82,6 +83,8 @@ export default class LightningButtonIcon extends LightningPrimitiveButton {
82
83
  */
83
84
  @api iconClass;
84
85
 
86
+ _size = DEFAULT_SIZE;
87
+
85
88
  /**
86
89
  * The size of the button-icon. For the bare variant, options include x-small, small, medium, and large.
87
90
  * For non-bare variants, options include xx-small, x-small, small, and medium.
@@ -90,8 +93,6 @@ export default class LightningButtonIcon extends LightningPrimitiveButton {
90
93
  * @type {string}
91
94
  * @default medium
92
95
  */
93
- _size = DEFAULT_SIZE;
94
-
95
96
  @api
96
97
  get size() {
97
98
  return this._originalSize;
@@ -119,16 +120,6 @@ export default class LightningButtonIcon extends LightningPrimitiveButton {
119
120
  */
120
121
  @api alternativeText;
121
122
 
122
- // remove-next-line-for-c-namespace
123
- set tooltip(value) {
124
- this.tooltipValue = value;
125
- if (this._tooltip) {
126
- this._tooltip.value = value;
127
- } else if (value && this.rendered) {
128
- this.createTooltip(value);
129
- }
130
- }
131
-
132
123
  // remove-next-line-for-c-namespace
133
124
  /**
134
125
  * Text to display when the user mouses over or focuses on the button.
@@ -141,6 +132,16 @@ export default class LightningButtonIcon extends LightningPrimitiveButton {
141
132
  return this._tooltip ? this._tooltip.value : undefined;
142
133
  }
143
134
 
135
+ // remove-next-line-for-c-namespace
136
+ set tooltip(value) {
137
+ this.tooltipValue = value;
138
+ if (this._tooltip) {
139
+ this._tooltip.value = value;
140
+ } else if (value && this.rendered) {
141
+ this.createTooltip(value);
142
+ }
143
+ }
144
+
144
145
  // remove-next-line-for-c-namespace
145
146
  _tooltip = null;
146
147
  tooltipValue = null;
@@ -2,8 +2,8 @@
2
2
  /* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved
3
3
  Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
4
4
 
5
- @supports (--styling-hooks: '') {
6
5
  /* :host::part(button-icon-stateful), */
6
+
7
7
  :host([data-render-mode="shadow"]) [part='button-icon-stateful'] {
8
8
  display: inline-flex;
9
9
  color: var(--slds-c-buttoniconstateful-color-foreground);
@@ -40,6 +40,7 @@
40
40
  }
41
41
 
42
42
  /* :host([variant='border-filled'])::part(button-icon-stateful), */
43
+
43
44
  :host([data-render-mode="shadow"][variant='border-filled']) [part='button-icon-stateful'] {
44
45
  --slds-c-buttonicon-borderfilled-color-background: var(
45
46
  --slds-c-buttoniconstateful-borderfilled-color-background
@@ -67,6 +68,7 @@
67
68
  }
68
69
 
69
70
  /* :host([variant='border-inverse'])::part(button-icon-stateful), */
71
+
70
72
  :host([data-render-mode="shadow"][variant='border-inverse']) [part='button-icon-stateful'] {
71
73
  --slds-c-buttonicon-borderinverse-color-border: var(
72
74
  --slds-c-buttoniconstateful-borderinverse-color-border
@@ -96,6 +98,7 @@
96
98
  }
97
99
 
98
100
  /* Selected + Variants */
101
+
99
102
  :host([data-render-mode="shadow"][selected]) [part='button-icon-stateful'] {
100
103
  --slds-c-buttoniconstateful-color-foreground: var(
101
104
  --slds-c-buttoniconstateful-color-foreground-selected,
@@ -242,4 +245,3 @@
242
245
  var(--slds-c-buttoniconstateful-color-background-selected-focus)
243
246
  );
244
247
  }
245
- }
@@ -220,7 +220,7 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
220
220
 
221
221
  /* Border radius - shared */
222
222
  --sds-c-button-radius-border-startstart: var(
223
- --slds-c-button-neutral-radius-border-startstart,
223
+ --slds-c-button-radius-border-startstart,
224
224
  var(
225
225
  --slds-c-button-radius-border,
226
226
  var(--slds-s-button-radius-border-startstart, var(--slds-s-button-radius-border))
@@ -217,7 +217,7 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
217
217
 
218
218
  /* Border radius - shared */
219
219
  --sds-c-button-radius-border-startstart: var(
220
- --slds-c-button-neutral-radius-border-startstart,
220
+ --slds-c-button-radius-border-startstart,
221
221
  var(
222
222
  --slds-c-button-radius-border,
223
223
  var(--slds-s-button-radius-border-startstart, var(--slds-s-button-radius-border))
@@ -220,7 +220,7 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
220
220
 
221
221
  /* Border radius - shared */
222
222
  --sds-c-button-radius-border-startstart: var(
223
- --slds-c-button-neutral-radius-border-startstart,
223
+ --slds-c-button-radius-border-startstart,
224
224
  var(
225
225
  --slds-c-button-radius-border,
226
226
  var(--slds-s-button-radius-border-startstart, var(--slds-s-button-radius-border))