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
@@ -28,10 +28,6 @@ export function setVirtualize(state, value) {
28
28
  }
29
29
  }
30
30
 
31
- export function getDTWrapperHeight() {
32
- return this.template.querySelector('.slds-scrollable_x').offsetHeight;
33
- }
34
-
35
31
  function getDefaultPreviousInfo() {
36
32
  return {
37
33
  renderedRowCount: 0,
@@ -66,9 +62,10 @@ export class RenderManager {
66
62
  /**
67
63
  * Updates and normalizes configuration for RenderManager
68
64
  * Used when setting renderConfig for datatable
69
- * @param {Object} state - datatable state
70
- * @param {Function} getWrapperHeight - function to get height of datatable wrapper
71
- * @param {RenderManagerConfig} config - set of properties used for render management
65
+ *
66
+ * @param {Object} state - The datatable state
67
+ * @param {Function} getWrapperHeight - A function to get height of datatable wrapper
68
+ * @param {RenderManagerConfig} config - The render management config
72
69
  */
73
70
  configure(state, getWrapperHeight, config) {
74
71
  const {
@@ -282,8 +279,9 @@ export class RenderManager {
282
279
  * @param {Node} resizeTarget
283
280
  */
284
281
  connectResizeObserver(resizeTarget) {
285
- if (this._heightResizeObserver) {
286
- this._heightResizeObserver.observe(resizeTarget);
282
+ const { _heightResizeObserver } = this;
283
+ if (_heightResizeObserver) {
284
+ _heightResizeObserver.observe(resizeTarget);
287
285
  this._resizeObserverConnected = true;
288
286
  }
289
287
  }
@@ -292,9 +290,10 @@ export class RenderManager {
292
290
  * Disconnect the resize observer
293
291
  */
294
292
  disconnectResizeObserver() {
295
- if (this._heightResizeObserver) {
293
+ const { _heightResizeObserver } = this;
294
+ if (_heightResizeObserver) {
296
295
  this._resizeObserverConnected = false;
297
- this._heightResizeObserver.disconnect();
296
+ _heightResizeObserver.disconnect();
298
297
  }
299
298
  }
300
299
 
@@ -1,48 +1,25 @@
1
1
  import { LightningResizeObserver } from 'lightning/resizeObserver';
2
2
  import { isTableRenderedVisible } from './columnResizer';
3
- import { ResizeSensor } from './resizeSensor';
4
- import { debounce } from 'lightning/inputUtils';
5
- import { getColumns } from './columns';
6
3
 
7
4
  const WIDTH_OBSERVER_SELECTOR = '.dt-width-observer';
8
5
 
9
6
  export class LightningDatatableResizeObserver {
10
7
  _connected = false;
11
- _resizeObserverAvailable = typeof ResizeObserver === 'function';
12
8
 
13
9
  /**
14
- * Depending on the browser/availability, this will create either a (standard)
15
- * ResizeObserver via LightningResizeObserver or fallback to the ResizeSensor
10
+ * Create either a standard ResizeObserver via LightningResizeObserver.
16
11
  */
17
- constructor(template, state, widthsData, columnWidthManager) {
12
+ constructor(template, resizeCallback) {
18
13
  const resizeTarget = template.querySelector(WIDTH_OBSERVER_SELECTOR);
19
-
20
- // If ResizeObserver is available on the browser, create one and begin observing for changes
14
+ // Create ResizeObserver and begin observing for changes.
21
15
  // Calculate and modify the column widths when there are changes to the dimensions
22
- // and when the table is rendered and visible on screen
23
- if (this._resizeObserverAvailable) {
24
- this._resizeObserver = new LightningResizeObserver(() => {
25
- if (this._connected && isTableRenderedVisible(template)) {
26
- columnWidthManager.adjustColumnsSizeAfterResize(
27
- template,
28
- getColumns(state),
29
- widthsData
30
- );
31
- }
32
- });
33
- this._resizeObserver.observe(resizeTarget);
34
- } else {
35
- // fallback behavior for IE11 using existing resize sensor functionality (less performant)
36
- this._resizeSensor = createResizeSensorForIE11(
37
- this,
38
- columnWidthManager,
39
- template,
40
- state,
41
- widthsData,
42
- resizeTarget
43
- );
44
- }
45
-
16
+ // and when the table is rendered and visible on screen.
17
+ this._resizeObserver = new LightningResizeObserver(() => {
18
+ if (this._connected && isTableRenderedVisible(template)) {
19
+ resizeCallback();
20
+ }
21
+ });
22
+ this._resizeObserver.observe(resizeTarget);
46
23
  this._connected = true;
47
24
  }
48
25
 
@@ -75,37 +52,3 @@ export class LightningDatatableResizeObserver {
75
52
  return this._connected;
76
53
  }
77
54
  }
78
-
79
- /**
80
- * Creates a ResizeSensor which is used to observe the dimensions of an element.
81
- *
82
- * This ResizeSensor is only used in the event that the standard ResizeObserver
83
- * is NOT available on the browser.
84
- * Currently only IE11 does not support the ResizeObserver. We should be able to
85
- * remove this once we fully drop support of IE11.
86
- */
87
- function createResizeSensorForIE11(
88
- dtObserver,
89
- columnWidthManager,
90
- template,
91
- state,
92
- widthsData,
93
- resizeTarget
94
- ) {
95
- return new ResizeSensor(
96
- resizeTarget,
97
- debounce(() => {
98
- // since this event handler is debounced, it might be the case that at the time the handler is called,
99
- // the element is disconnected (this.hasDetachedListeners)
100
- // the scroll event which the ResizeSensor uses can happen when table is hidden (as in console when switching tabs)
101
- // and hence the need for isTableRenderedVisible check
102
- if (dtObserver.isConnected() && isTableRenderedVisible(template)) {
103
- columnWidthManager.adjustColumnsSizeAfterResize(
104
- template,
105
- getColumns(state),
106
- widthsData
107
- );
108
- }
109
- }, 200)
110
- );
111
- }
@@ -1,5 +1,5 @@
1
1
  import { unwrap } from 'lwc';
2
- import { getUserRowByCellKeys } from './rows';
2
+ import { getUserRowByCellKeys } from './indexes';
3
3
  import { getUserColumnIndex } from './columns';
4
4
 
5
5
  /**
@@ -60,16 +60,17 @@ export function handleLoadDynamicActions(event) {
60
60
  export function handleCellButtonClick(event) {
61
61
  event.stopPropagation();
62
62
 
63
+ const { state } = this;
63
64
  const { colKeyValue, rowKeyValue } = event.detail;
64
- const row = getUserRowByCellKeys(this.state, rowKeyValue, colKeyValue);
65
- const userColumnIndex = getUserColumnIndex(this.state, colKeyValue);
66
- const userColumnDefinition = this._columns[userColumnIndex];
65
+ const selectedRow = getUserRowByCellKeys(state, rowKeyValue, colKeyValue);
66
+ const colIndex = getUserColumnIndex(state, colKeyValue);
67
+ const col = this._rawColumns[colIndex];
67
68
 
68
69
  this.dispatchEvent(
69
70
  new CustomEvent('rowaction', {
70
71
  detail: {
71
- action: unwrap(userColumnDefinition.typeAttributes),
72
- row: unwrap(row),
72
+ action: unwrap(col.typeAttributes),
73
+ row: unwrap(selectedRow),
73
74
  },
74
75
  })
75
76
  );
@@ -1,60 +1,18 @@
1
1
  import { normalizeNumberAttribute } from './utils';
2
2
  import labelRowLevelErrorAssistiveText from '@salesforce/label/LightningDatatable.rowLevelErrorAssistiveText';
3
- import labelRowNumber from '@salesforce/label/LightningDatatable.rowNumber';
4
3
  import { formatLabel } from 'lightning/utils';
5
- import { normalizeBoolean } from 'lightning/utilsPrivate';
6
4
 
7
- export const TOOLTIP_ALLOWANCE = 20;
8
5
  const CHAR_WIDTH = 10;
9
- const ROWNUMBER_PADDING = 12;
6
+ const ROW_NUMBER_PADDING = 12;
10
7
  const ROW_NUMBER_COLUMN_TYPE = 'rowNumber';
8
+
9
+ export const ROW_NUMBER_INITIAL_WIDTH = 52;
10
+ export const TOOLTIP_ALLOWANCE = 20;
11
+
11
12
  const i18n = {
12
13
  rowLevelErrorAssistiveText: labelRowLevelErrorAssistiveText,
13
- rowNumber: labelRowNumber,
14
14
  };
15
15
 
16
- /**
17
- * Returns the initial default column definition
18
- * for the row number column
19
- */
20
- export function getRowNumberColumnDef() {
21
- return {
22
- type: ROW_NUMBER_COLUMN_TYPE,
23
- ariaLabel: i18n.rowNumber,
24
- sortable: false,
25
- initialWidth: 52,
26
- minWidth: 52,
27
- maxWidth: 1000,
28
- tabIndex: -1,
29
- internal: true,
30
- resizable: false,
31
- };
32
- }
33
-
34
- /**
35
- * Retrieves showRowNumberColumn from the state
36
- * Can be used to determine if the datatable should
37
- * show the row number column or not
38
- */
39
- export function hasRowNumberColumn(state) {
40
- return state.showRowNumberColumn;
41
- }
42
-
43
- /**
44
- * Normalizes the passed in `value` to a boolean and
45
- * sets it to showRowNumberColumn in the state
46
- */
47
- export function setShowRowNumberColumn(state, value) {
48
- state.showRowNumberColumn = normalizeBoolean(value);
49
- }
50
-
51
- /**
52
- * Retrieves rowNumberOffset from the state
53
- */
54
- export function getRowNumberOffset(state) {
55
- return state.rowNumberOffset;
56
- }
57
-
58
16
  /**
59
17
  * Normalizes the passed in value to a non-negative number
60
18
  * and sets it to the rowNumberOffset in the state.
@@ -69,28 +27,24 @@ export function setRowNumberOffset(state, value) {
69
27
  );
70
28
  }
71
29
 
72
- export function isRowNumberColumn(column) {
73
- return column.type === ROW_NUMBER_COLUMN_TYPE;
74
- }
75
-
76
30
  /**
77
- * Calculates the width of the row number column
31
+ * Calculates the width of the row number column.
78
32
  * This takes into account the number of digits in the row number
79
33
  * (ex. 3 for 100 rows), padding in the cell and
80
- * space allowance for the error tooltip which is rendered in this cell
34
+ * space allowance for the error tooltip which is rendered in this cell.
81
35
  *
82
- * @param {Object} state - datatable's state object
36
+ * @param {Object} state - The datatable state
83
37
  * @returns
84
38
  */
85
39
  export function getAdjustedRowNumberColumnWidth(state) {
86
- const numOfRows = state.rows.length;
87
- const offset = state.rowNumberOffset;
88
- const numberOfChars = String(numOfRows + offset).length;
40
+ const numberOfChars = String(
41
+ state.rows.length + state.rowNumberOffset
42
+ ).length;
89
43
  return Math.max(
90
44
  CHAR_WIDTH * numberOfChars +
91
- ROWNUMBER_PADDING /* padding */ +
92
- TOOLTIP_ALLOWANCE /* primitive-tootlip */,
93
- getRowNumberColumnDef().initialWidth
45
+ ROW_NUMBER_PADDING /* padding */ +
46
+ TOOLTIP_ALLOWANCE /* primitive-tooltip */,
47
+ ROW_NUMBER_INITIAL_WIDTH
94
48
  );
95
49
  }
96
50
 
@@ -98,15 +52,14 @@ export function getAdjustedRowNumberColumnWidth(state) {
98
52
  * Retrieves the column index of the row number column
99
53
  * Returns -1 if the row number column is not present
100
54
  *
101
- * @param {Object} state - datatable's state object
55
+ * @param {Object} state - The datatable state
102
56
  * @returns {Number} index of row number column. Returns -1 if not present
103
57
  */
104
58
  export function getRowNumberColumnIndex(state) {
105
- if (hasRowNumberColumn(state) && state.columns.length > 0) {
106
- const columns = state.columns;
107
- for (let i = 0; i < columns.length; i++) {
108
- const column = columns[i];
109
- if (column.type === ROW_NUMBER_COLUMN_TYPE) {
59
+ if (state.showRowNumberColumn) {
60
+ const { columns } = state;
61
+ for (let i = 0, { length } = columns; i < length; i += 1) {
62
+ if (columns[i].type === ROW_NUMBER_COLUMN_TYPE) {
110
63
  return i;
111
64
  }
112
65
  }
@@ -115,33 +68,42 @@ export function getRowNumberColumnIndex(state) {
115
68
  }
116
69
 
117
70
  /**
118
- * Constructs and returns the column definition for the row number column
119
- * Column definition contains the row number column's row type and
120
- * the error object containing the title, error messages and alt text
71
+ * Constructs columns definition error object containing the title, error messages and alt text.
121
72
  *
122
73
  * @param {Object} rowErrors - object containing metadata of errors in the row
123
74
  * @param {String} rowTitle - value of the cell which has the scope of the row/rowheader
124
75
  * @returns
125
76
  */
126
- export function getRowNumberErrorColumnDef(rowErrors, rowTitle) {
127
- const { title, messages } = rowErrors;
128
-
129
- const numberOfErrors = rowErrors.cells
130
- ? Object.keys(rowErrors.cells).length
131
- : rowErrors.fieldNames
132
- ? rowErrors.fieldNames.length
133
- : 0;
134
-
77
+ export function getRowNumberError(rowErrors, rowTitle) {
78
+ const { cells, fieldNames, messages, title } = rowErrors || {};
79
+ let numberOfErrors = 0;
80
+ if (cells) {
81
+ numberOfErrors = Object.keys(cells).length;
82
+ } else if (fieldNames) {
83
+ numberOfErrors = fieldNames.length;
84
+ }
135
85
  const alternativeText = formatLabel(
136
86
  i18n.rowLevelErrorAssistiveText,
137
87
  rowTitle || '',
138
88
  numberOfErrors
139
89
  );
90
+ return { title, messages, alternativeText };
91
+ }
140
92
 
93
+ /**
94
+ * Constructs and returns the column definition for the row number column
95
+ * Column definition contains the row number column's row type and
96
+ * the error object containing the title, error messages and alt text
97
+ *
98
+ * @param {Object} rowErrors - object containing metadata of errors in the row
99
+ * @param {String} rowTitle - value of the cell which has the scope of the row/rowheader
100
+ * @returns
101
+ */
102
+ export function getRowNumberErrorColumnDef(rowErrors, rowTitle) {
141
103
  return {
142
104
  type: ROW_NUMBER_COLUMN_TYPE,
143
105
  typeAttributes: {
144
- error: { title, messages, alternativeText },
106
+ error: getRowNumberError(rowErrors, rowTitle),
145
107
  },
146
108
  };
147
109
  }