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,275 +1,165 @@
1
- import { normalizeBoolean, isRTL } from 'lightning/utilsPrivate';
2
- import { isCustomerColumn } from './columns';
3
- import { clamp, normalizeNumberAttribute } from './utils';
4
- import { buildCSSWidthStyle } from './widthManagerShared';
1
+ import { isRTL, normalizeBoolean } from 'lightning/utilsPrivate';
2
+ import { clamp, getScrollerY, normalizeNumberAttribute } from './utils';
5
3
 
6
4
  /**
7
- * Returns the default state/values of the resizer metadata
5
+ * Returns the default state/values of the resizer metadata.
6
+ *
8
7
  * @returns {Object} - resizer default state
9
8
  */
10
9
  export function getResizerDefaultState() {
11
10
  return {
11
+ columnWidths: [],
12
+ columnWidthsMode: 'fixed',
13
+ maxColumnWidth: 1000,
14
+ minColumnWidth: 50,
12
15
  resizeColumnDisabled: false,
13
16
  resizeStep: 10,
14
- columnWidths: [],
15
17
  tableWidth: 0,
16
- minColumnWidth: 50,
17
- maxColumnWidth: 1000,
18
- columnWidthsMode: 'fixed',
19
18
  };
20
19
  }
21
20
 
22
- /***************** GETTERS / SETTERS for Resizer Metadata (widthsData) *****************/
21
+ export const RESIZER_DEFAULT_STATE = getResizerDefaultState();
23
22
 
24
- /************* resizeColumnDisabled *************/
23
+ /***************** GETTERS / SETTERS *****************/
25
24
 
26
- export function isResizeColumnDisabled(widthsData) {
27
- return widthsData.resizeColumnDisabled;
28
- }
29
25
  export function setResizeColumnDisabled(widthsData, value) {
26
+ // Untracked state change.
30
27
  widthsData.resizeColumnDisabled = normalizeBoolean(value);
31
28
  }
32
29
 
33
- /************* resizeStep *************/
34
-
35
- export function getResizeStep(widthsData) {
36
- return widthsData.resizeStep;
37
- }
38
-
39
30
  export function setResizeStep(widthsData, value) {
31
+ // Tracked state change.
40
32
  widthsData.resizeStep = normalizeNumberAttribute(
41
33
  'resizeStep',
42
34
  value,
43
35
  'non-negative',
44
- getResizerDefaultState().resizeStep
36
+ RESIZER_DEFAULT_STATE.resizeStep
45
37
  );
46
38
  }
47
39
 
48
- /************* columnWidths *************/
49
-
50
- /**
51
- * Returns the columnsWidths saved in the state
52
- * @param {object} widthsData - data regarding column and table widths
53
- * @returns {Array|*} - list of column widths
54
- */
55
- export function getColumnsWidths(widthsData) {
56
- return widthsData.columnWidths;
57
- }
58
- /**
59
- * Sets columnWidths to empty array
60
- * @param {object} widthsData - data regarding column and table widths
61
- */
62
- export function resetColumnWidths(widthsData) {
63
- widthsData.columnWidths = [];
64
- }
65
- /**
66
- * Returns true if there are widths stored in the state
67
- * @param {object} widthsData - data regarding column and table widths
68
- * @returns {boolean} - true if there are widths store in the state
69
- */
70
- export function hasDefinedColumnsWidths(widthsData) {
71
- return widthsData.columnWidths.length > 0;
72
- }
73
-
74
- /************* tableWidth *************/
75
-
76
- /**
77
- * Get the full width of table
78
- * @param {object} widthsData - data regarding column and table widths
79
- * @returns {number} - table's width
80
- */
81
- function getTableWidth(widthsData) {
82
- return widthsData.tableWidth;
83
- }
84
- function setTableWidth(widthsData, tableWidth) {
85
- widthsData.tableWidth = tableWidth;
86
- }
87
-
88
- /************* minColumnWidth *************/
89
-
90
- export function getMinColumnWidth(widthsData) {
91
- return widthsData.minColumnWidth;
92
- }
93
-
94
40
  export function setMinColumnWidth(columns, widthsData, value) {
41
+ // Untracked state changes.
95
42
  widthsData.minColumnWidth = normalizeNumberAttribute(
96
43
  'minColumnWidth',
97
44
  value,
98
45
  'non-negative',
99
- getResizerDefaultState().minColumnWidth
46
+ RESIZER_DEFAULT_STATE.minColumnWidth
100
47
  );
101
-
48
+ // Tracked state change.
102
49
  updateColumnWidthsMetadata(columns, widthsData);
103
50
  }
104
51
 
105
- /************* maxColumnWidth *************/
106
-
107
- export function getMaxColumnWidth(widthsData) {
108
- return widthsData.maxColumnWidth;
109
- }
110
52
  export function setMaxColumnWidth(columns, widthsData, value) {
53
+ // Untracked state change.
111
54
  widthsData.maxColumnWidth = normalizeNumberAttribute(
112
55
  'maxColumnWidth',
113
56
  value,
114
57
  'non-negative',
115
- getResizerDefaultState().maxColumnWidth
58
+ RESIZER_DEFAULT_STATE.maxColumnWidth
116
59
  );
117
-
60
+ // Tracked state change.
118
61
  updateColumnWidthsMetadata(columns, widthsData);
119
62
  }
120
63
 
121
64
  /***************************** RESIZE LOGIC *****************************/
122
65
 
123
66
  /**
124
- * Get the style to match the full width of table
125
- * @param {object} widthsData - data regarding column and table widths
126
- * @returns {string} - style string
127
- */
128
- export function getCSSWidthStyleOfTable(widthsData) {
129
- return buildCSSWidthStyle(getTableWidth(widthsData));
130
- }
131
-
132
- /**
133
- * - It adjusts the columns widths from the state
134
- * - It is used when there are columnwidths in state but the table is hidden with offsetwidth 0
135
- * - In this case we reset the columns to the width in state
67
+ * Resizes a column width.
136
68
  *
137
- * @param {object} state - table state
138
- */
139
- export function adjustColumnsSizeFromState(state) {
140
- const columnsWidths = getColumnsWidths(state);
141
- let columnsWidthSum = 0;
142
- const columns = getColumns(state);
143
- for (let i = 0, { length } = columns; i < length; i += 1) {
144
- const width = columnsWidths[i];
145
- if (width !== undefined) {
146
- const col = columns[i];
147
- if (isRTL()) {
148
- col.offset = columnsWidthSum;
149
- }
150
- columnsWidthSum += width;
151
- col.columnWidth = width;
152
- col.style = buildCSSWidthStyle(width);
153
- }
154
- }
155
- setTableWidth(state, columnsWidthSum);
156
- }
157
-
158
- /**
159
- * Resizes a column width
160
- * @param {object} columns - all columns on the table
161
- * @param {object} widthsData - object containing the resizer metadata
162
- * @param {number} colIndex - the index of the column based on state.columns
163
- * @param {number} width - the new width is gonna be applied
69
+ * @param {Object} columns - The column definitions
70
+ * @param {Object} widthsData - The widths data
71
+ * @param {number} colIndex - The index of the column based on state.columns
72
+ * @param {number} width - The new width is gonna be applied
164
73
  */
165
74
  export function resizeColumn(columns, widthsData, colIndex, width) {
166
- const columnToResize = columns[colIndex];
167
- const columnsWidths = getColumnsWidths(widthsData);
168
- const currentWidth = columnsWidths[colIndex];
169
- const { minWidth, maxWidth } = columnToResize;
170
-
75
+ const col = columns[colIndex];
76
+ const { columnWidths } = widthsData;
77
+ const currentWidth = columnWidths[colIndex];
78
+ const { minWidth, maxWidth } = col;
171
79
  const newWidth = clamp(width, minWidth, maxWidth);
172
80
  if (currentWidth !== newWidth) {
173
81
  const newDelta = newWidth - currentWidth;
174
- setTableWidth(widthsData, getTableWidth(widthsData) + newDelta);
175
- updateColumnWidth(columns, widthsData, colIndex, newWidth);
82
+ // Untracked state changes.
83
+ columnWidths[colIndex] = newWidth;
84
+ widthsData.tableWidth += newDelta;
85
+ // Tracked state changes.
86
+ col.columnWidth = newWidth;
87
+ col.style = newWidth ? `width: ${newWidth}px;` : '';
176
88
  // Workaround for header positioning issues in RTL
177
- updateColumnOffsets(columns, colIndex + 1, newDelta);
178
- columnToResize.isResized = true;
89
+ if (isRTL()) {
90
+ // update column offsets
91
+ for (let i = colIndex + 1; i < columns.length; i += 1) {
92
+ // Tracked state change.
93
+ columns[i].offset += newDelta;
94
+ }
95
+ }
96
+ // Tracked state change.
97
+ col.isResized = true;
179
98
  }
180
99
  }
181
100
 
182
101
  /**
183
- * Resize a column width with an additional delta
184
- * @param {object} columns - all columns of the table
185
- * @param {object} widthsData - data regarding column and table widths
186
- * @param {number} colIndex - the index of the column based on state.columns
187
- * @param {number} widthDelta - the delta that creates the new width
102
+ * Resize a column width with an additional delta.
103
+ *
104
+ * @param {object} columns - The column definitions
105
+ * @param {object} widthsData - The widths data
106
+ * @param {number} colIndex - The index of the column based on state.columns
107
+ * @param {number} delta - The delta that creates the new width
188
108
  */
189
- export function resizeColumnWithDelta(
190
- columns,
191
- widthsData,
192
- colIndex,
193
- widthDelta
194
- ) {
195
- const currentWidth = getColumnsWidths(widthsData)[colIndex];
196
- resizeColumn(columns, widthsData, colIndex, currentWidth + widthDelta);
197
- }
198
-
199
- function updateColumnWidth(columns, widthsData, colIndex, newWidth) {
200
- const columnsWidths = getColumnsWidths(widthsData);
201
- columnsWidths[colIndex] = newWidth;
202
-
203
- const column = columns[colIndex];
204
- column.columnWidth = newWidth;
205
- column.style = buildCSSWidthStyle(newWidth);
109
+ export function resizeColumnWithDelta(columns, widthsData, colIndex, delta) {
110
+ const currentWidth = widthsData.columnWidths[colIndex];
111
+ resizeColumn(columns, widthsData, colIndex, currentWidth + delta);
206
112
  }
207
113
 
208
114
  export function updateColumnWidthsMetadata(columns, widthsData) {
209
- for (let i = 0, { length } = columns; i < length; i += 1) {
210
- const col = columns[i];
115
+ const { maxColumnWidth, minColumnWidth } = widthsData;
116
+ for (let colIndex = 0; colIndex < columns.length; colIndex += 1) {
117
+ const col = columns[colIndex];
211
118
  if (!col.internal) {
212
- col.minWidth = getMinColumnWidth(widthsData);
213
- col.maxWidth = getMaxColumnWidth(widthsData);
119
+ col.maxWidth = maxColumnWidth;
120
+ col.minWidth = minColumnWidth;
214
121
  }
215
-
216
- if (col.initialWidth) {
217
- col.initialWidth = clamp(
218
- col.initialWidth,
219
- col.minWidth,
220
- col.maxWidth
221
- );
122
+ const { initialWidth } = col;
123
+ if (initialWidth) {
124
+ const { minWidth: min, maxWidth: max } = col;
125
+ col.initialWidth = clamp(initialWidth, min, max);
222
126
  }
223
127
  }
224
128
  }
225
129
 
226
130
  /**
227
- * Updates the column offsets based on the specified delta, starting from the specified index.
228
- * This is used to position the column headers properly in RTL.
131
+ * Returns the current widths for customer columns.
229
132
  *
230
- * @param {object} columns - All columns of the table
231
- * @param {number} colIndex - The first index to start applying the change in column width
232
- * @param {number} newDelta - The change in column width to apply to
233
- */
234
- function updateColumnOffsets(columns, colIndex, newDelta) {
235
- if (isRTL()) {
236
- for (let i = colIndex, { length } = columns; i < length; i += 1) {
237
- columns[i].offset += newDelta;
238
- }
239
- }
240
- }
241
-
242
- /**
243
- * Returns the current widths for customer columns
244
- * @param {object} columns - all columns of the table
245
- * @param {object} widthsData - data regarding column and table widths
246
- * @returns {Array} - the widths collection, every element
133
+ * @param {Object} columns - The columns of the table
134
+ * @param {Object} widthsData - The data regarding column and table widths
135
+ * @returns {Array} - The widths collection, every element
247
136
  * belong to a column with the same index in column prop
248
137
  */
249
138
  export function getCustomerColumnWidths(columns, widthsData) {
250
139
  const widths = [];
251
140
  const { columnWidths } = widthsData;
252
- for (let i = 0, { length } = columns; i < length; i += 1) {
253
- if (isCustomerColumn(columns[i])) {
254
- widths.push(columnWidths[i]);
141
+ for (let colIndex = 0; colIndex < columns.length; colIndex += 1) {
142
+ if (columns[colIndex].internal !== true) {
143
+ widths.push(columnWidths[colIndex]);
255
144
  }
256
145
  }
257
146
  return widths;
258
147
  }
259
148
 
260
149
  /**
261
- * It returns if table is rendered and not hidden
262
- * @param {node} root - table root element
263
- * @returns {boolean} - true or false if dt is rendered and not hidden on the page
150
+ * It returns if table is rendered and not hidden.
151
+ *
152
+ * @param {Node} template - The datatable template
153
+ * @returns {boolean} - Whether the datatable is rendered and not hidden on the page
264
154
  */
265
- export function isTableRenderedVisible(root) {
266
- const CONTAINER_SEL = '.slds-scrollable_y';
267
- const elem = root.querySelector(CONTAINER_SEL);
155
+ export function isTableRenderedVisible(template) {
156
+ const scrollerY = getScrollerY(template);
268
157
  return (
269
- elem && !!(elem.offsetParent || elem.offsetHeight || elem.offsetWidth)
158
+ scrollerY &&
159
+ !!(
160
+ scrollerY.offsetParent ||
161
+ scrollerY.offsetHeight ||
162
+ scrollerY.offsetWidth
163
+ )
270
164
  );
271
165
  }
272
-
273
- function getColumns(state) {
274
- return state.columns;
275
- }