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
@@ -1,11 +1,16 @@
1
- import { LightningElement, api } from 'lwc';
1
+ import { api } from 'lwc';
2
+ import LightningShadowBaseClass from 'lightning/shadowBaseClassPrivate';
3
+ import { isCSR } from 'lightning/utilsPrivate';
2
4
 
3
5
  const DEFAULT_HREF = 'javascript:void(0);'; // eslint-disable-line no-script-url
4
6
 
5
7
  /**
6
8
  * A link and icon within lightning-vertical-navigation-section or lightning-vertical-navigation-overflow.
7
9
  */
8
- export default class LightningVerticalNavigationItemIcon extends LightningElement {
10
+ export default class LightningVerticalNavigationItemIcon extends LightningShadowBaseClass {
11
+ static validationOptOut = ['class'];
12
+ _rendered = false;
13
+
9
14
  /**
10
15
  * The text displayed for this navigation item.
11
16
  * @type {string}
@@ -41,21 +46,30 @@ export default class LightningVerticalNavigationItemIcon extends LightningElemen
41
46
  _selected = false;
42
47
 
43
48
  connectedCallback() {
49
+ super.connectedCallback();
44
50
  this.setAttribute('role', 'listitem');
45
51
  this.classList.add('slds-nav-vertical__item');
46
- this.dispatchEvent(
47
- new CustomEvent('privateitemregister', {
48
- bubbles: true,
49
- cancelable: true,
50
- detail: {
51
- callbacks: {
52
- select: this.select.bind(this),
53
- deselect: this.deselect.bind(this),
52
+ if (isCSR) {
53
+ this.dispatchEvent(
54
+ new CustomEvent('privateitemregister', {
55
+ bubbles: true,
56
+ cancelable: true,
57
+ detail: {
58
+ callbacks: {
59
+ select: this.select.bind(this),
60
+ deselect: this.deselect.bind(this),
61
+ },
62
+ name: this.name,
54
63
  },
55
- name: this.name,
56
- },
57
- })
58
- );
64
+ })
65
+ );
66
+ }
67
+ }
68
+
69
+ renderedCallback() {
70
+ if (!this._rendered) {
71
+ this._rendered = true;
72
+ }
59
73
  }
60
74
 
61
75
  select() {
@@ -69,7 +83,7 @@ export default class LightningVerticalNavigationItemIcon extends LightningElemen
69
83
  }
70
84
 
71
85
  get ariaCurrent() {
72
- return this._selected ? 'page' : null;
86
+ return this._selected && this._rendered ? 'page' : null;
73
87
  }
74
88
 
75
89
  handleClick(event) {
@@ -3,4 +3,7 @@
3
3
  <isExposed>true</isExposed>
4
4
  <minApiVersion>41.0</minApiVersion>
5
5
  <support>GA</support>
6
+ <capabilities>
7
+ <capability>lightning__ServerRenderableWithHydration</capability>
8
+ </capabilities>
6
9
  </LightningComponentBundle>
@@ -0,0 +1,3 @@
1
+ @import 'lightning/sldsCommon';
2
+ @import 'lightning/sldsUtilsMargin';
3
+ @import './vertical-navigation-item.slds.css';
@@ -0,0 +1,503 @@
1
+ /*******************************************
2
+ * Imported dependency from @salesforce-ux/sds-primitives/src/sds/button/button.css
3
+ *******************************************/
4
+ /* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved
5
+ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
6
+ /**
7
+ * Normalize box-sizing
8
+ */
9
+ *,
10
+ *::before,
11
+ *::after {
12
+ box-sizing: border-box;
13
+ }
14
+ /**
15
+ * Base button styles
16
+ */
17
+ :host([data-render-mode="shadow"]) [part~='button'] {
18
+ display: inline-flex;
19
+ gap: var(--sds-c-button-spacing-gap, var(--sds-s-button-spacing-gap));
20
+ background: var(--sds-c-button-color-background, var(--sds-s-button-color-background));
21
+ color: var(--sds-c-button-text-color, var(--sds-s-button-color));
22
+ font-weight: var(--sds-c-button-font-weight, var(--sds-s-button-font-weight));
23
+ font-size: var(--sds-c-button-font-size, var(--sds-s-button-font-size, inherit));
24
+ line-height: var(--sds-c-button-font-lineheight);
25
+ height: var(--sds-c-button-sizing-height);
26
+ width: var(--sds-c-button-sizing-width);
27
+ padding-inline-start: var(
28
+ --sds-c-button-spacing-inlinestart,
29
+ var(
30
+ --sds-c-button-spacing-inline,
31
+ var(--sds-c-button-spacing, var(--sds-s-button-spacing-inline, var(--sds-s-button-spacing)))
32
+ )
33
+ );
34
+ padding-inline-end: var(
35
+ --sds-c-button-spacing-inlineend,
36
+ var(
37
+ --sds-c-button-spacing-inline,
38
+ var(--sds-c-button-spacing, var(--sds-s-button-spacing-inline, var(--sds-s-button-spacing)))
39
+ )
40
+ );
41
+ padding-block-start: var(
42
+ --sds-c-button-spacing-blockstart,
43
+ var(
44
+ --sds-c-button-spacing-block,
45
+ var(--sds-c-button-spacing, var(--sds-s-button-spacing-block, var(--sds-s-button-spacing)))
46
+ )
47
+ );
48
+ padding-block-end: var(
49
+ --sds-c-button-spacing-blockend,
50
+ var(
51
+ --sds-c-button-spacing-block,
52
+ var(--sds-c-button-spacing, var(--sds-s-button-spacing-block, var(--sds-s-button-spacing)))
53
+ )
54
+ );
55
+ border-width: var(--sds-c-button-sizing-border, var(--sds-s-button-sizing-border, 1px));
56
+ border-style: solid;
57
+ border-color: var(--sds-c-button-color-border, var(--sds-s-button-color-border, currentColor));
58
+ border-start-start-radius: var(
59
+ --sds-c-button-radius-border-startstart,
60
+ var(
61
+ --sds-c-button-radius-border,
62
+ var(--sds-s-button-radius-border-startstart, var(--sds-s-button-radius-border))
63
+ )
64
+ );
65
+ border-start-end-radius: var(
66
+ --sds-c-button-radius-border-startend,
67
+ var(
68
+ --sds-c-button-radius-border,
69
+ var(--sds-s-button-radius-border-startend, var(--sds-s-button-radius-border))
70
+ )
71
+ );
72
+ border-end-start-radius: var(
73
+ --sds-c-button-radius-border-endstart,
74
+ var(
75
+ --sds-c-button-radius-border,
76
+ var(--sds-s-button-radius-border-endstart, var(--sds-s-button-radius-border))
77
+ )
78
+ );
79
+ border-end-end-radius: var(
80
+ --sds-c-button-radius-border-endend,
81
+ var(
82
+ --sds-c-button-radius-border,
83
+ var(--sds-s-button-radius-border-endend, var(--sds-s-button-radius-border))
84
+ )
85
+ );
86
+ box-shadow: var(--sds-c-button-shadow, var(--sds-s-button-shadow));
87
+ text-decoration: var(--sds-c-button-font-decoration);
88
+ white-space: normal;
89
+ user-select: none;
90
+ align-items: center;
91
+ justify-content: center;
92
+ appearance: none;
93
+ }
94
+ /**
95
+ * Hover button styles
96
+ *
97
+ * Fallback order: Hover > Base
98
+ */
99
+ :host([data-render-mode="shadow"]) [part~='button']:hover {
100
+ --sds-c-button-text-color: var(--sds-c-button-text-color-hover, var(--sds-s-button-color-hover, revert));
101
+ --sds-c-button-color-background: var(
102
+ --sds-c-button-color-background-hover,
103
+ var(--sds-s-button-color-background-hover, revert)
104
+ );
105
+ --sds-c-button-color-border: var(
106
+ --sds-c-button-color-border-hover,
107
+ var(--sds-s-button-color-border-hover, revert)
108
+ );
109
+ --sds-c-button-shadow: var(--sds-c-button-shadow-hover, var(--sds-s-button-shadow-hover, revert));
110
+
111
+ cursor: pointer;
112
+ }
113
+ /**
114
+ * Focus button styles
115
+ *
116
+ * Fallback order: Focus > Hover > Base
117
+ */
118
+ :host([data-render-mode="shadow"]) [part~='button']:focus {
119
+ --sds-c-button-color-background: var(
120
+ --sds-c-button-color-background-focus,
121
+ var(--sds-s-button-color-background-focus, revert)
122
+ );
123
+ --sds-c-button-color-border: var(
124
+ --sds-c-button-color-border-focus,
125
+ var(--sds-s-button-color-border-focus, revert)
126
+ );
127
+ --sds-c-button-text-color: var(--sds-c-button-text-color-focus, var(--sds-s-button-color-focus, revert));
128
+ --sds-c-button-shadow: var(--sds-c-button-shadow-focus, var(--sds-s-button-shadow-focus, revert));
129
+
130
+ outline: 0;
131
+ }
132
+ /**
133
+ * Active button styles
134
+ *
135
+ * Fallback order: Active > Focus > Base
136
+ *
137
+ * @TODO: keep this order (no hover) so active has feedback or go all out?
138
+ */
139
+ :host([data-render-mode="shadow"]) [part~='button']:active {
140
+ --sds-c-button-text-color: var(--sds-c-button-text-color-active, var(--sds-s-button-color-active, revert));
141
+ --sds-c-button-color-background: var(
142
+ --sds-c-button-color-background-active,
143
+ var(--sds-s-button-color-background-active, revert)
144
+ );
145
+ --sds-c-button-color-border: var(
146
+ --sds-c-button-color-border-active,
147
+ var(--sds-s-button-color-border-active, revert)
148
+ );
149
+ --sds-c-button-shadow: var(--sds-c-button-shadow-active, var(--sds-s-button-shadow-active, revert));
150
+ }
151
+ /**
152
+ * Disabled button styles
153
+ */
154
+ :host([data-render-mode="shadow"]) [part~='button']:disabled {
155
+ --sds-c-button-text-color: var(--sds-c-button-text-color-disabled);
156
+ --sds-c-button-color-background: var(--sds-c-button-color-background-disabled);
157
+ --sds-c-button-color-border: var(--sds-c-button-color-border-disabled);
158
+ --sds-c-button-shadow: var(--sds-c-button-shadow-disabled);
159
+
160
+ pointer-events: none;
161
+ }
162
+ :host([data-render-mode="shadow"]) [part~='button']:disabled * {
163
+ pointer-events: none;
164
+ }
165
+ :host([data-render-mode="shadow"]) [part='button'][aria-pressed='true'] {
166
+ --sds-c-button-color-background: var(--sds-c-button-color-background-pressed, revert);
167
+ --sds-c-button-color-border: var(--sds-c-button-color-border-pressed, revert);
168
+ --sds-c-button-text-color: var(--sds-c-button-text-color-pressed, revert);
169
+ --sds-c-button-shadow: var(--sds-c-button-shadow-pressed, revert);
170
+ }
171
+ /**
172
+ * LBC default is the 'neutral' variant.
173
+ *
174
+ * We retain the 'neutral' variant in the hook names for interoperability
175
+ * with SLDS light DOM blueprints which do explicitly define a 'neutral'
176
+ * variant which is not the default.
177
+ *
178
+ * See 'base' variant below.
179
+ *
180
+ */
181
+ :host([data-render-mode="shadow"]) [part~='button'] {
182
+ /* Element spacing, display flex set by SDS button */
183
+ gap: var(--slds-g-spacing-2);
184
+
185
+ /* slds-icon mapping */
186
+ --slds-c-icon-sizing-border: 0;
187
+ --slds-c-icon-sizing: 0.875rem;
188
+ --slds-c-icon-color-foreground: currentcolor;
189
+
190
+
191
+ --sds-c-button-font-lineheight: var(
192
+ --slds-c-button-neutral-font-lineheight,
193
+ var(--slds-s-button-font-lineheight, 1.875rem)
194
+ );
195
+ --sds-c-button-spacing-inline: var(
196
+ --slds-c-button-neutral-spacing-inline,
197
+ var(--slds-s-button-spacing-inline, var(--slds-g-spacing-4))
198
+ );
199
+ --sds-c-button-spacing-block: var(--slds-c-button-neutral-spacing-block);
200
+
201
+ /**
202
+ * A note about fallbacks on the default variant:
203
+ *
204
+ * We cannot use --sds-c-button-* as fallbacks because the sds-button's state
205
+ * hooks are tied to a selector with higher specificity. In the default variant,
206
+ * attempting to use the previous state's hook as a fallback will fail because
207
+ * it picks up on sds-button's state hooks instead and creates an infinite loop
208
+ * which ultimately breaks styling.
209
+ *
210
+ * This is another use-case for removing the opinion of state selectors in SDS.
211
+ *
212
+ * So in the default variant below, you'll see many repeated fallback values.
213
+ *
214
+ * In all other variants, it is ok to use the previous state as a fallback value.
215
+ */
216
+
217
+
218
+ /* Border radius - shared */
219
+ --sds-c-button-radius-border-startstart: var(
220
+ --slds-c-button-radius-border-startstart,
221
+ var(
222
+ --slds-c-button-radius-border,
223
+ var(--slds-s-button-radius-border-startstart, var(--slds-s-button-radius-border))
224
+ )
225
+ );
226
+
227
+ --sds-c-button-radius-border-endstart: var(
228
+ --slds-c-button-radius-border-endstart,
229
+ var(
230
+ --slds-c-button-radius-border,
231
+ var(--slds-s-button-radius-border-endstart, var(--slds-s-button-radius-border))
232
+ )
233
+ );
234
+
235
+ --sds-c-button-radius-border-startend: var(
236
+ --slds-c-button-radius-border-startend,
237
+ var(
238
+ --slds-c-button-radius-border,
239
+ var(--slds-s-button-radius-border-startend, var(--slds-s-button-radius-border))
240
+ )
241
+ );
242
+
243
+ --sds-c-button-radius-border-endend: var(
244
+ --slds-c-button-radius-border-endend,
245
+ var(
246
+ --slds-c-button-radius-border,
247
+ var(--slds-s-button-radius-border-endend, var(--slds-s-button-radius-border))
248
+ )
249
+ );
250
+
251
+ /* Background color */
252
+ --sds-c-button-color-background: var(
253
+ --slds-c-button-neutral-color-background,
254
+ var(--slds-g-color-surface-container-1)
255
+ );
256
+ --sds-c-button-color-background-hover: var(
257
+ --slds-c-button-neutral-color-background-hover,
258
+ var(--slds-g-color-surface-container-1)
259
+ );
260
+ --sds-c-button-color-background-focus: var(--slds-c-button-neutral-color-background-focus, var(--slds-g-color-surface-container-1));
261
+ --sds-c-button-color-background-active: var(
262
+ --slds-c-button-neutral-color-background-active,
263
+ var(--slds-g-color-surface-container-1)
264
+ );
265
+
266
+ /* Border color */
267
+ --sds-c-button-color-border: var(--slds-c-button-neutral-color-border, var(--slds-g-color-border-1));
268
+ --sds-c-button-color-border-hover: var(
269
+ --slds-c-button-neutral-color-border-hover,
270
+ var(--slds-g-color-border-accent-1)
271
+ );
272
+ --sds-c-button-color-border-focus: var(
273
+ --slds-c-button-neutral-color-border-focus,
274
+ var(--slds-g-color-border-accent-1)
275
+ );
276
+ --sds-c-button-color-border-active: var(
277
+ --slds-c-button-neutral-color-border-active,
278
+ var(--slds-g-color-border-accent-1)
279
+ );
280
+
281
+ /* Text color */
282
+ --sds-c-button-text-color: var(--slds-c-button-neutral-text-color, var(--slds-g-color-accent-2));
283
+ --sds-c-button-text-color-hover: var(--slds-c-button-neutral-text-color-hover, var(--slds-g-color-accent-3));
284
+ --sds-c-button-text-color-focus: var(--slds-c-button-neutral-text-color-focus, var(--slds-g-color-accent-3));
285
+ --sds-c-button-text-color-active: var(
286
+ --slds-c-button-neutral-text-color-active,
287
+ var(--slds-g-color-accent-3)
288
+ );
289
+
290
+ /* Shadow */
291
+ --sds-c-button-shadow: var(--slds-c-button-neutral-shadow);
292
+ --sds-c-button-shadow-focus: var(--slds-c-button-neutral-shadow-focus);
293
+
294
+ /* Disabled */
295
+ --sds-c-button-color-background-disabled: var(--slds-g-color-surface-container-1);
296
+ --sds-c-button-color-border-disabled: var(--slds-g-color-border-disabled-1);
297
+ --sds-c-button-text-color-disabled: var(--slds-g-color-disabled-1);
298
+ }
299
+ /**
300
+ * A note about fallbacks on the default variant:
301
+ *
302
+ * We cannot use --sds-c-button-* as fallbacks because the sds-button's state
303
+ * hooks are tied to a selector with higher specificity. In the default variant,
304
+ * attempting to use the previous state's hook as a fallback will fail because
305
+ * it picks up on sds-button's state hooks instead and creates an infinite loop
306
+ * which ultimately breaks styling.
307
+ *
308
+ * This is another use-case for removing the opinion of state selectors in SDS.
309
+ *
310
+ * So in the default variant below, you'll see many repeated fallback values.
311
+ *
312
+ * In all other variants, it is ok to use the previous state as a fallback value.
313
+ */
314
+ :host([data-render-mode="shadow"][variant='brand']) [part~='button'] {
315
+ --slds-c-button-neutral-color-background: var(
316
+ --slds-c-button-brand-color-background,
317
+ var(--slds-g-color-accent-container-2)
318
+ );
319
+ --slds-c-button-neutral-color-background-hover: var(
320
+ --slds-c-button-brand-color-background-hover,
321
+ var(--slds-g-color-accent-container-3)
322
+ );
323
+ --slds-c-button-neutral-color-background-focus: var(
324
+ --slds-c-button-brand-color-background-focus,
325
+ var(--slds-g-color-accent-container-3)
326
+ );
327
+ --slds-c-button-neutral-color-background-active: var(
328
+ --slds-c-button-brand-color-background-active,
329
+ var(--slds-g-color-accent-container-3)
330
+ );
331
+
332
+ --slds-c-button-neutral-color-border: var(
333
+ --slds-c-button-brand-color-border,
334
+ var(--slds-g-color-border-accent-2)
335
+ );
336
+ --slds-c-button-neutral-color-border-hover: var(
337
+ --slds-c-button-brand-color-border-hover,
338
+ var(--slds-g-color-border-accent-3)
339
+ );
340
+ --slds-c-button-neutral-color-border-focus: var(
341
+ --slds-c-button-brand-color-border-focus,
342
+ var(--slds-g-color-border-accent-3)
343
+ );
344
+ --slds-c-button-neutral-color-border-active: var(
345
+ --slds-c-button-brand-color-border-active,
346
+ var(--slds-g-color-border-accent-3)
347
+ );
348
+
349
+ /* Since the text color is white for all states, bypassing inheritence and setting the color value from SDS */
350
+ --sds-c-button-text-color: var(--slds-c-button-brand-text-color, var(--slds-g-color-on-accent-1));
351
+ }
352
+ :host([data-render-mode="shadow"][variant='brand-outline']) [part~='button'] {
353
+ --slds-c-button-neutral-color-border: var(--slds-g-color-border-accent-2);
354
+ --slds-c-button-neutral-color-border-hover: var(--slds-g-color-border-accent-2);
355
+ --slds-c-button-neutral-color-border-focus: var(--slds-g-color-border-accent-2);
356
+ --slds-c-button-neutral-color-border-active: var(--slds-g-color-border-accent-2);
357
+ }
358
+ :host([data-render-mode="shadow"][variant='inverse']) [part~='button'] {
359
+ --slds-c-button-neutral-color-background: transparent;
360
+ --slds-c-button-neutral-color-background-hover: var(--slds-g-color-surface-container-2);
361
+ --slds-c-button-neutral-color-background-focus: var(--slds-g-color-surface-container-2);
362
+ --slds-c-button-neutral-color-background-active: var(--slds-g-color-surface-container-2);
363
+ --slds-c-button-neutral-color-border: var(--slds-g-color-neutral-base-100);
364
+ --slds-c-button-neutral-color-border-hover: var(--slds-g-color-neutral-base-100);
365
+ --slds-c-button-neutral-color-border-focus: var(--slds-g-color-neutral-base-100);
366
+ --slds-c-button-neutral-color-border-active: var(--slds-g-color-neutral-base-100);
367
+ --slds-c-button-neutral-text-color: var(--slds-g-color-on-accent-1);
368
+ --slds-c-button-neutral-text-color-hover: var(--slds-g-color-accent-2);
369
+ --slds-c-button-neutral-text-color-active: var(--slds-g-color-accent-2);
370
+ }
371
+ :host([data-render-mode="shadow"][variant='inverse']) [part~='button']:disabled {
372
+ --sds-c-button-color-background: transparent;
373
+ --sds-c-button-color-border: var(--slds-g-color-border-disabled-2);
374
+ --sds-c-button-text-color: var(--slds-g-color-disabled-2);
375
+ }
376
+ :host([data-render-mode="shadow"][variant='destructive']) [part~='button'] {
377
+ --slds-c-button-neutral-color-background: var(--slds-g-color-error-container-1);
378
+ --slds-c-button-neutral-color-background-hover: var(--slds-g-color-error-container-2);
379
+ --slds-c-button-neutral-color-background-focus: var(--slds-g-color-error-container-2);
380
+ --slds-c-button-neutral-color-background-active: var(--slds-g-color-error-container-2);
381
+ --slds-c-button-neutral-color-border: var(--slds-g-color-border-error-1);
382
+ --slds-c-button-neutral-color-border-hover: var(--slds-g-color-border-error-2);
383
+ --slds-c-button-neutral-color-border-focus: var(--slds-g-color-border-error-2);
384
+ --slds-c-button-neutral-color-border-active: var(--slds-g-color-border-error-2);
385
+
386
+ /* Since the text color is white for all states, bypassing inheritence and setting the color value from SDS */
387
+ --sds-c-button-text-color: var(--slds-g-color-on-error-1);
388
+ }
389
+ :host([data-render-mode="shadow"][variant='success']) [part~='button'] {
390
+ --slds-c-button-neutral-color-background: var(--slds-g-color-success-container-1);
391
+ --slds-c-button-neutral-color-background-hover: var(--slds-g-color-success-container-2);
392
+ --slds-c-button-neutral-color-background-focus: var(--slds-g-color-success-container-2);
393
+ --slds-c-button-neutral-color-background-active: var(--slds-g-color-success-container-2);
394
+ --slds-c-button-neutral-color-border: var(--slds-g-color-border-success-1);
395
+ --slds-c-button-neutral-color-border-hover: var(--slds-g-color-border-success-2);
396
+ --slds-c-button-neutral-color-border-focus: var(--slds-g-color-border-success-2);
397
+ --slds-c-button-neutral-color-border-active: var(--slds-g-color-border-success-2);
398
+ --slds-c-button-neutral-text-color: var(--slds-g-color-on-success-2);
399
+ --slds-c-button-neutral-text-color-hover: var(--slds-g-color-on-success-1);
400
+ --slds-c-button-neutral-text-color-focus: var(--slds-g-color-on-success-1);
401
+ --slds-c-button-neutral-text-color-active: var(--slds-g-color-on-success-1);
402
+ }
403
+ :host([data-render-mode="shadow"][variant='destructive-text']) [part~='button'] {
404
+ --slds-c-button-neutral-text-color: var(--slds-g-color-error-1);
405
+ --slds-c-button-neutral-text-color-hover: var(--slds-g-color-error-1);
406
+ --slds-c-button-neutral-text-color-focus: var(--slds-g-color-error-1);
407
+ --slds-c-button-neutral-text-color-active: var(--slds-g-color-error-1);
408
+ --slds-c-button-neutral-color-border-hover: var(--slds-c-button-neutral-color-border, var(--slds-g-color-border-1));
409
+ --slds-c-button-neutral-color-border-focus: var(--slds-c-button-neutral-color-border, var(--slds-g-color-border-1));
410
+ --slds-c-button-neutral-color-border-active: var(--slds-c-button-neutral-color-border, var(--slds-g-color-border-1));
411
+ }
412
+ :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 {
413
+ --sds-c-button-color-background: var(--slds-g-color-disabled-container-1);
414
+ --sds-c-button-color-border: var(--slds-g-color-border-disabled-1);
415
+ --sds-c-button-text-color: var(--slds-g-color-on-disabled-1);
416
+ }
417
+ /**
418
+ * 'base' variant is not the default in LBC. It is the default in the light
419
+ * DOM version of SLDS.
420
+ *
421
+ * So even though this is a non-default variant in this context, the hooks
422
+ * for this variant are written as the default for interoperability with
423
+ * SLDS light DOM.
424
+ *
425
+ * E.g. --slds-c-button-color-background
426
+ */
427
+ :host([data-render-mode="shadow"][variant='base']) [part~='button'] {
428
+ --sds-c-button-spacing-inline: 0;
429
+ --slds-c-button-neutral-text-color: var(--slds-g-color-accent-2);
430
+ --slds-c-button-neutral-color-border: transparent;
431
+ --slds-c-button-neutral-color-border-hover: transparent;
432
+ --slds-c-button-neutral-color-border-focus: transparent;
433
+ --slds-c-button-neutral-color-border-active: var(--slds-g-color-border-accent-2);
434
+ --slds-c-button-neutral-color-background: transparent;
435
+ --slds-c-button-neutral-color-background-hover: transparent;
436
+ --slds-c-button-neutral-color-background-focus: transparent;
437
+ --slds-c-button-neutral-color-background-active: transparent;
438
+ }
439
+ :host([data-render-mode="shadow"][variant='base']) [part~='button']:disabled {
440
+ --sds-c-button-color-background: transparent;
441
+ --sds-c-button-color-border: transparent;
442
+ }
443
+ :host([data-render-mode="shadow"][stretch]) [part~='button'] {
444
+ --sds-c-button-sizing-width: 100%;
445
+
446
+ justify-content: center;
447
+ }
448
+ /**
449
+ * Center button on all variants except 'base', and 'text'
450
+ *
451
+ * This addresses the issue of customers relying on preexisting x-axis centering
452
+ * when they arbitrarily change the width of the button without the stretch variant.
453
+ *
454
+ * Ref
455
+ * - https://github.com/salesforce-ux/design-system-internal/pull/4344
456
+ * - https://github.com/salesforce-ux/design-system-internal/pull/4949
457
+ */
458
+ :host([data-render-mode="shadow"][variant='brand']) [part~='button'],:host([data-render-mode="shadow"][variant='brand-outline']) [part~='button'],:host([data-render-mode="shadow"][variant='inverse']) [part~='button'],:host([data-render-mode="shadow"][variant='success']) [part~='button'],:host([data-render-mode="shadow"][variant='destructive']) [part~='button'],:host([data-render-mode="shadow"][variant='destructive-text']) [part~='button'] {
459
+ justify-content: center;
460
+ }
461
+ /**
462
+ * Represents inner spacing around icon for icon-position="left", when present
463
+ */
464
+ :host([data-render-mode="shadow"]) [part~='start'] {
465
+ display: inline-flex;
466
+ padding-inline-end: 0;
467
+ }
468
+ /**
469
+ * Represents inner spacing around icon for icon-position="right", when present
470
+ */
471
+ :host([data-render-mode="shadow"]) [part~='end'] {
472
+ display: inline-flex;
473
+ padding-inline-start: 0;
474
+
475
+ }
476
+ /**
477
+ * A temporarily baked-in utility class until SLDS gets a proper utility package.
478
+ *
479
+ * This is a hybrid patch between synthetic and native shadow. The ideal final
480
+ * outcome is the removal of this class and replacing the class with the SLDS
481
+ * utility package solution.
482
+ */
483
+ :host([data-render-mode="shadow"]) .slds-assistive-text {
484
+ position: absolute !important;
485
+ margin: -1px !important;
486
+ border: 0 !important;
487
+ padding: 0 !important;
488
+ width: 1px !important;
489
+ height: 1px !important;
490
+ overflow: hidden !important;
491
+ clip: rect(0 0 0 0) !important;
492
+ text-transform: none !important;
493
+ white-space: nowrap !important;
494
+ }
495
+ :host([data-render-mode="shadow"]) .slds-button_reset {
496
+ font-size: inherit;
497
+ color: inherit;
498
+ line-height: inherit;
499
+ padding: 0;
500
+ background: transparent;
501
+ border: 0;
502
+ text-align: inherit;
503
+ }
@@ -0,0 +1,63 @@
1
+
2
+ :host([data-render-mode="shadow"]) .slds-nav-vertical__action {
3
+ --slds-c-icon-color-foreground-default: currentcolor;
4
+
5
+ position: relative;
6
+ display: flex;
7
+ align-items: center;
8
+ width: 100%;
9
+ padding-block-start: var(--slds-c-verticalnavigationitem-spacing-blockstart, var(--slds-g-spacing-2));
10
+ padding-block-end: var(--slds-c-verticalnavigationitem-spacing-blockend, var(--slds-g-spacing-2));
11
+ padding-inline-start: var(--slds-c-verticalnavigationitem-spacing-inlinestart, var(--slds-g-spacing-6));
12
+ padding-inline-end: var(--slds-c-verticalnavigationitem-spacing-inlineend, var(--slds-g-spacing-5));
13
+ border-block-start: var(--slds-g-sizing-border-1) solid transparent;
14
+ border-block-end: var(--slds-g-sizing-border-1) solid transparent;
15
+ border-radius: 0;
16
+ box-shadow: inset 0 0 0 var(--slds-g-color-brand-base-60);
17
+ cursor: pointer;
18
+ color: var(--slds-g-color-neutral-base-10);
19
+ }
20
+
21
+ :host([data-render-mode="shadow"]) .slds-nav-vertical__action_overflow {
22
+ --slds-c-button-neutral-font-lineheight: default;
23
+ --slds-c-icon-color-foreground: var(--slds-g-color-neutral-base-50);
24
+
25
+ width: inherit;
26
+ border-block-start: 1px solid transparent;
27
+ border-block-end: 1px solid transparent;
28
+ }
29
+
30
+ :host([data-render-mode="shadow"]) .slds-nav-vertical__action-text {
31
+ color: var(--slds-g-color-brand-base-50);
32
+ }
33
+
34
+ :host([data-render-mode="shadow"]) .slds-nav-vertical__action:hover {
35
+ box-shadow: inset 2px 0 0 var(--slds-g-color-brand-base-60);
36
+ color: currentcolor;
37
+ }
38
+
39
+ :host([data-render-mode="shadow"]) .slds-nav-vertical__action:focus {
40
+ text-decoration: underline;
41
+ color: currentcolor;
42
+ }
43
+
44
+ :host([data-render-mode="shadow"].slds-nav-vertical__item) {
45
+ position: relative;
46
+ }
47
+
48
+ :host([data-render-mode="shadow"].slds-nav-vertical__item:focus-within) {
49
+ box-shadow: inset 0 0 0 1px var(--slds-g-color-brand-base-60);
50
+ }
51
+
52
+ :host([data-render-mode="shadow"].slds-nav-vertical__item:hover),:host([data-render-mode="shadow"].slds-nav-vertical__item.slds-is-active) {
53
+ background: var(--slds-c-verticalnavigationitem-color, var(--slds-g-color-brand-base-95));
54
+ }
55
+
56
+ :host([data-render-mode="shadow"].slds-is-active) .slds-nav-vertical__action:not(:focus) {
57
+ border-color: var(--slds-c-verticalnavigationitem-border-color, transparent);
58
+ }
59
+
60
+ :host([data-render-mode="shadow"].slds-nav-vertical__item.slds-is-active) .slds-nav-vertical__action {
61
+ font-weight: bold;
62
+ box-shadow: inset 4px 0 0 var(--slds-g-color-brand-base-60);
63
+ }
@@ -0,0 +1,17 @@
1
+
2
+ :host([data-render-mode="shadow"]) .slds-nav-vertical__title {
3
+ padding-block-start: var(--slds-c-verticalnavigationsection-spacing-blockstart, var(--slds-g-spacing-2));
4
+ padding-block-end: var(--slds-c-verticalnavigationsection-spacing-blockend, var(--slds-g-spacing-2));
5
+ padding-inline-start: var(--slds-c-verticalnavigationsection-spacing-inlinestart, var(--slds-g-spacing-5));
6
+ padding-inline-end: var(--slds-g-spacing-4);
7
+ font-size: var(--slds-g-spacing-4);
8
+ font-weight: var(--slds-g-font-weight-7);
9
+ }
10
+
11
+ :host([data-render-mode="shadow"]) .slds-nav-vertical__section:not(:first-of-type) {
12
+ margin-block-start: var(--slds-g-spacing-2);
13
+ }
14
+
15
+ :host([data-render-mode="shadow"]) .slds-nav-vertical__title:not(:first-of-type) {
16
+ margin-block-start: var(--slds-g-spacing-2);
17
+ }
@@ -1 +1,2 @@
1
- @import './verticalNavigationOverflow.lbc.synthetic.css';
1
+ @import './verticalNavigationOverflow.lbc.synthetic.css';
2
+ @import './verticalNavigationOverflow.lbc.native.css';