lightning-base-components 1.21.1-alpha → 1.21.3-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 (598) hide show
  1. package/metadata/raptor.json +88 -1
  2. package/package.json +181 -2
  3. package/scopedImports/@salesforce-label-LightningRichTextEditor.colorPicker.js +1 -0
  4. package/src/lightning/accordion/accordion-section.slds.css +122 -0
  5. package/src/lightning/accordion/accordion.css +2 -16
  6. package/src/lightning/accordion/accordion.js +10 -7
  7. package/src/lightning/accordion/accordion.js-meta.xml +3 -0
  8. package/src/lightning/accordion/accordion.lbc.native.css +4 -0
  9. package/src/lightning/accordion/accordion.lbc.synthetic.css +13 -0
  10. package/src/lightning/accordion/accordion.slds.css +1 -656
  11. package/src/lightning/accordionSection/accordion-section.slds.css +31 -564
  12. package/src/lightning/accordionSection/accordionSection.css +2 -17
  13. package/src/lightning/accordionSection/accordionSection.js +29 -17
  14. package/src/lightning/accordionSection/accordionSection.js-meta.xml +3 -0
  15. package/src/lightning/accordionSection/accordionSection.lbc.native.css +5 -0
  16. package/src/lightning/accordionSection/accordionSection.lbc.synthetic.css +14 -0
  17. package/src/lightning/accordionSection/button.slds.css +503 -0
  18. package/src/lightning/alert/alert.css +1 -0
  19. package/src/lightning/alert/alert.js +12 -9
  20. package/src/lightning/alert/alert.js-meta.xml +3 -0
  21. package/src/lightning/alert/alert.lbc.native.css +1 -0
  22. package/src/lightning/ariaObserver/ariaObserver.js +111 -46
  23. package/src/lightning/avatar/avatar.css +1 -2
  24. package/src/lightning/avatar/avatar.html +19 -5
  25. package/src/lightning/avatar/avatar.js +18 -3
  26. package/src/lightning/avatar/avatar.js-meta.xml +3 -0
  27. package/src/lightning/avatar/avatar.lbc.native.css +2 -0
  28. package/src/lightning/avatar/avatar.slds.css +34 -205
  29. package/src/lightning/badge/__examples__/basic/basic.html +3 -1
  30. package/src/lightning/badge/badge.css +1 -0
  31. package/src/lightning/badge/badge.html +16 -14
  32. package/src/lightning/badge/badge.js +5 -2
  33. package/src/lightning/badge/badge.js-meta.xml +3 -0
  34. package/src/lightning/badge/badge.lbc.native.css +2 -0
  35. package/src/lightning/badge/badge.slds.css +76 -0
  36. package/src/lightning/baseCombobox/base-combobox.slds.css +108 -1435
  37. package/src/lightning/baseCombobox/baseCombobox.css +2 -27
  38. package/src/lightning/baseCombobox/baseCombobox.html +2 -2
  39. package/src/lightning/baseCombobox/baseCombobox.js +17 -4
  40. package/src/lightning/baseCombobox/baseCombobox.js-meta.xml +6 -0
  41. package/src/lightning/baseCombobox/baseCombobox.lbc.native.css +7 -0
  42. package/src/lightning/baseCombobox/baseCombobox.lbc.synthetic.css +25 -0
  43. package/src/lightning/baseCombobox/dropdown.slds.css +594 -0
  44. package/src/lightning/baseCombobox/input-text.slds.css +506 -0
  45. package/src/lightning/baseCombobox/keyboard.js +12 -4
  46. package/src/lightning/baseCombobox/listbox.slds.css +204 -0
  47. package/src/lightning/baseCombobox/spinner.slds.css +429 -0
  48. package/src/lightning/baseComboboxFormattedText/baseComboboxFormattedText.js +3 -2
  49. package/src/lightning/baseComboboxFormattedText/baseComboboxFormattedText.js-meta.xml +6 -0
  50. package/src/lightning/baseComboboxItem/baseComboboxItem.js +14 -8
  51. package/src/lightning/baseComboboxItem/baseComboboxItem.js-meta.xml +6 -0
  52. package/src/lightning/baseComboboxItem/card.css +1 -0
  53. package/src/lightning/baseComboboxItem/card.lbc.native.css +2 -0
  54. package/src/lightning/baseComboboxItem/inline.css +1 -2
  55. package/src/lightning/baseComboboxItem/inline.lbc.native.css +2 -0
  56. package/src/lightning/baseComboboxItem/listbox.slds.css +103 -151
  57. package/src/lightning/baseFormattedText/baseFormattedText.js +2 -2
  58. package/src/lightning/breadcrumb/breadcrumb.css +2 -6
  59. package/src/lightning/breadcrumb/breadcrumb.js +4 -2
  60. package/src/lightning/breadcrumb/breadcrumb.js-meta.xml +3 -0
  61. package/src/lightning/breadcrumb/breadcrumb.lbc.native.css +1 -0
  62. package/src/lightning/breadcrumb/breadcrumb.lbc.synthetic.css +3 -0
  63. package/src/lightning/breadcrumb/breadcrumb.slds.css +4 -6
  64. package/src/lightning/breadcrumbs/breadcrumbs.css +2 -10
  65. package/src/lightning/breadcrumbs/breadcrumbs.js +3 -2
  66. package/src/lightning/breadcrumbs/breadcrumbs.js-meta.xml +3 -0
  67. package/src/lightning/breadcrumbs/breadcrumbs.lbc.native.css +2 -0
  68. package/src/lightning/breadcrumbs/breadcrumbs.lbc.synthetic.css +7 -0
  69. package/src/lightning/breadcrumbs/breadcrumbs.slds.css +7 -5
  70. package/src/lightning/button/button.css +1 -2
  71. package/src/lightning/button/button.js +2 -1
  72. package/src/lightning/button/button.js-meta.xml +3 -0
  73. package/src/lightning/button/button.lbc.native.css +2 -0
  74. package/src/lightning/button/button.slds.css +365 -395
  75. package/src/lightning/buttonGroup/button-group.slds.css +37 -35
  76. package/src/lightning/buttonGroup/buttonGroup.css +2 -11
  77. package/src/lightning/buttonGroup/buttonGroup.js +5 -2
  78. package/src/lightning/buttonGroup/buttonGroup.js-meta.xml +3 -0
  79. package/src/lightning/buttonGroup/buttonGroup.lbc.native.css +2 -0
  80. package/src/lightning/buttonGroup/buttonGroup.lbc.synthetic.css +3 -0
  81. package/src/lightning/buttonIcon/button-icon.slds.css +575 -766
  82. package/src/lightning/buttonIcon/buttonIcon.css +2 -2
  83. package/src/lightning/buttonIcon/buttonIcon.js +8 -2
  84. package/src/lightning/buttonIcon/buttonIcon.js-meta.xml +3 -0
  85. package/src/lightning/buttonIconStateful/button-icon-stateful.slds.css +23 -976
  86. package/src/lightning/buttonIconStateful/button-icon.slds.css +724 -0
  87. package/src/lightning/buttonIconStateful/button.slds.css +503 -0
  88. package/src/lightning/buttonIconStateful/buttonIconStateful.css +2 -6
  89. package/src/lightning/buttonIconStateful/buttonIconStateful.js +54 -0
  90. package/src/lightning/buttonIconStateful/buttonIconStateful.js-meta.xml +3 -0
  91. package/src/lightning/buttonIconStateful/buttonIconStateful.lbc.native.css +4 -0
  92. package/src/lightning/buttonIconStateful/buttonIconStateful.lbc.synthetic.css +3 -0
  93. package/src/lightning/buttonMenu/button-icon.slds.css +724 -0
  94. package/src/lightning/buttonMenu/button-menu.slds.css +44 -1882
  95. package/src/lightning/buttonMenu/button.slds.css +503 -0
  96. package/src/lightning/buttonMenu/buttonMenu.css +1 -2
  97. package/src/lightning/buttonMenu/buttonMenu.js +8 -4
  98. package/src/lightning/buttonMenu/buttonMenu.js-meta.xml +3 -0
  99. package/src/lightning/buttonMenu/buttonMenu.lbc.native.css +5 -0
  100. package/src/lightning/buttonMenu/dropdown.slds.css +594 -0
  101. package/src/lightning/buttonStateful/button-stateful.slds.css +8 -747
  102. package/src/lightning/buttonStateful/button.slds.css +503 -0
  103. package/src/lightning/buttonStateful/buttonStateful.css +1 -2
  104. package/src/lightning/buttonStateful/buttonStateful.js +7 -3
  105. package/src/lightning/buttonStateful/buttonStateful.lbc.native.css +3 -0
  106. package/src/lightning/calendar/calendar.css +2 -11
  107. package/src/lightning/calendar/calendar.js +4 -2
  108. package/src/lightning/calendar/calendar.js-meta.xml +6 -0
  109. package/src/lightning/calendar/calendar.lbc.native.css +11 -0
  110. package/src/lightning/calendar/calendar.lbc.synthetic.css +8 -0
  111. package/src/lightning/calendar/calendar.slds.css +42 -1850
  112. package/src/lightning/calendar/dropdown.slds.css +594 -0
  113. package/src/lightning/card/card.css +1 -2
  114. package/src/lightning/card/card.js +3 -2
  115. package/src/lightning/card/card.lbc.native.css +2 -0
  116. package/src/lightning/card/card.slds.css +119 -176
  117. package/src/lightning/carousel/carousel.css +1 -7
  118. package/src/lightning/carousel/carousel.lbc.synthetic.css +7 -0
  119. package/src/lightning/colorPickerCustom/color-picker-custom.slds.css +56 -281
  120. package/src/lightning/colorPickerCustom/colorPickerCustom.css +1 -2
  121. package/src/lightning/colorPickerCustom/colorPickerCustom.js +3 -2
  122. package/src/lightning/colorPickerCustom/colorPickerCustom.lbc.native.css +3 -0
  123. package/src/lightning/colorPickerCustom/input-text.slds.css +506 -0
  124. package/src/lightning/colorPickerPanel/color-picker-panel.slds.css +11 -783
  125. package/src/lightning/colorPickerPanel/colorPickerPanel.css +2 -12
  126. package/src/lightning/colorPickerPanel/colorPickerPanel.js +4 -2
  127. package/src/lightning/colorPickerPanel/colorPickerPanel.lbc.native.css +3 -0
  128. package/src/lightning/colorPickerPanel/colorPickerPanel.lbc.synthetic.css +8 -0
  129. package/src/lightning/colorPickerPanel/popover.slds.css +29 -32
  130. package/src/lightning/combobox/combobox.css +2 -19
  131. package/src/lightning/combobox/combobox.html +4 -1
  132. package/src/lightning/combobox/combobox.js +20 -3
  133. package/src/lightning/combobox/combobox.js-meta.xml +3 -0
  134. package/src/lightning/combobox/combobox.lbc.native.css +3 -0
  135. package/src/lightning/combobox/combobox.lbc.synthetic.css +28 -0
  136. package/src/lightning/combobox/combobox.slds.css +3 -4
  137. package/src/lightning/combobox/form-element.slds.css +122 -95
  138. package/src/lightning/configProvider/defaultDurationConfig.js +1 -1
  139. package/src/lightning/confirm/confirm.css +1 -0
  140. package/src/lightning/confirm/confirm.js +12 -9
  141. package/src/lightning/confirm/confirm.js-meta.xml +3 -0
  142. package/src/lightning/confirm/confirm.lbc.native.css +1 -0
  143. package/src/lightning/datatable/__examples__/customDatatableWrapper/customDatatableWrapper.js +0 -69
  144. package/src/lightning/datatable/__examples__/customDatatypeDeleteRowBtn/customDatatypeDeleteRowBtn.html +1 -1
  145. package/src/lightning/datatable/__examples__/customDatatypeDeleteRowBtn/customDatatypeDeleteRowBtn.js +1 -16
  146. package/src/lightning/datatable/__examples__/customDatatypeLink/customDatatypeLink.html +3 -3
  147. package/src/lightning/datatable/__examples__/customDatatypeRowOrderingBtn/customDatatypeRowOrderingBtn.html +1 -8
  148. package/src/lightning/datatable/__examples__/customDatatypeRowOrderingBtn/customDatatypeRowOrderingBtn.js +2 -39
  149. package/src/lightning/datatable/__examples__/customDatatypeTable/customLink.html +5 -7
  150. package/src/lightning/datatable/__examples__/customDatatypeTable/customNumber.html +1 -1
  151. package/src/lightning/datatable/__examples__/customDatatypeTable/customNumberEdit.html +2 -0
  152. package/src/lightning/datatable/__examples__/customDatatypeTable/deleteRow.html +3 -2
  153. package/src/lightning/datatable/__examples__/customDatatypeTable/iconPill.html +1 -1
  154. package/src/lightning/datatable/__examples__/customNestedComponent/customNestedComponent.html +10 -0
  155. package/src/lightning/datatable/__examples__/customNestedComponent/customNestedComponent.js +12 -0
  156. package/src/lightning/datatable/autoWidthStrategy.js +147 -191
  157. package/src/lightning/datatable/columnResizer.js +35 -35
  158. package/src/lightning/datatable/columnWidthManager.js +118 -177
  159. package/src/lightning/datatable/columns.js +90 -59
  160. package/src/lightning/datatable/datagrid.slds.css +187 -0
  161. package/src/lightning/datatable/datatable.js +248 -229
  162. package/src/lightning/datatable/errors.js +3 -0
  163. package/src/lightning/datatable/fixedWidthStrategy.js +22 -29
  164. package/src/lightning/datatable/headerActions.js +7 -9
  165. package/src/lightning/datatable/infiniteLoading.js +15 -15
  166. package/src/lightning/datatable/inlineEdit.js +255 -235
  167. package/src/lightning/datatable/keyboard.js +318 -282
  168. package/src/lightning/datatable/renderManager.js +10 -7
  169. package/src/lightning/datatable/resizeObserver.js +11 -59
  170. package/src/lightning/datatable/rowLevelActions.js +6 -5
  171. package/src/lightning/datatable/rowNumber.js +23 -23
  172. package/src/lightning/datatable/rowSelection.js +173 -145
  173. package/src/lightning/datatable/rowSelectionShared.js +13 -6
  174. package/src/lightning/datatable/rows.js +231 -196
  175. package/src/lightning/datatable/sort.js +26 -22
  176. package/src/lightning/datatable/templates/div/div.css +2 -57
  177. package/src/lightning/datatable/templates/div/div.html +13 -6
  178. package/src/lightning/datatable/templates/div/div.lbc.native.css +3 -0
  179. package/src/lightning/datatable/templates/div/div.lbc.synthetic.css +86 -0
  180. package/src/lightning/datatable/templates/table/table.html +1 -0
  181. package/src/lightning/datatable/utils.js +5 -5
  182. package/src/lightning/datatable/widthManagerShared.js +24 -21
  183. package/src/lightning/datatable/wrapText.js +25 -26
  184. package/src/lightning/datepicker/datepicker.css +1 -3
  185. package/src/lightning/datepicker/datepicker.js +47 -17
  186. package/src/lightning/datepicker/datepicker.js-meta.xml +6 -0
  187. package/src/lightning/datepicker/datepicker.lbc.native.css +3 -0
  188. package/src/lightning/datepicker/form-element.slds.css +122 -95
  189. package/src/lightning/datepicker/input-text.slds.css +289 -181
  190. package/src/lightning/datetimepicker/datetimepicker.css +1 -3
  191. package/src/lightning/datetimepicker/datetimepicker.html +0 -2
  192. package/src/lightning/datetimepicker/datetimepicker.js +35 -10
  193. package/src/lightning/datetimepicker/datetimepicker.js-meta.xml +6 -0
  194. package/src/lightning/datetimepicker/datetimepicker.lbc.native.css +3 -0
  195. package/src/lightning/datetimepicker/form-element.slds.css +122 -95
  196. package/src/lightning/datetimepicker/input-text.slds.css +289 -181
  197. package/src/lightning/dualListbox/dual-listbox.slds.css +34 -29
  198. package/src/lightning/dualListbox/dualListbox.css +2 -8
  199. package/src/lightning/dualListbox/dualListbox.js +55 -36
  200. package/src/lightning/dualListbox/dualListbox.js-meta.xml +3 -0
  201. package/src/lightning/dualListbox/dualListbox.lbc.native.css +4 -0
  202. package/src/lightning/dualListbox/dualListbox.lbc.synthetic.css +3 -0
  203. package/src/lightning/dualListbox/form-element.slds.css +122 -95
  204. package/src/lightning/dualListbox/listbox.slds.css +103 -151
  205. package/src/lightning/dynamicIcon/dynamic-icon-strength.slds.css +1 -2
  206. package/src/lightning/dynamicIcon/dynamic-icon-trend.slds.css +1 -2
  207. package/src/lightning/dynamicIcon/dynamicIcon.js +3 -2
  208. package/src/lightning/dynamicIcon/dynamicIcon.js-meta.xml +3 -0
  209. package/src/lightning/dynamicIcon/ellie.css +1 -1
  210. package/src/lightning/dynamicIcon/ellie.lbc.native.css +1 -0
  211. package/src/lightning/dynamicIcon/eq.css +1 -1
  212. package/src/lightning/dynamicIcon/eq.lbc.native.css +1 -0
  213. package/src/lightning/dynamicIcon/score.css +1 -1
  214. package/src/lightning/dynamicIcon/score.lbc.native.css +1 -0
  215. package/src/lightning/dynamicIcon/strength.css +1 -1
  216. package/src/lightning/dynamicIcon/strength.lbc.native.css +1 -0
  217. package/src/lightning/dynamicIcon/trend.css +1 -1
  218. package/src/lightning/dynamicIcon/trend.lbc.native.css +1 -0
  219. package/src/lightning/dynamicIcon/waffle.css +1 -1
  220. package/src/lightning/dynamicIcon/waffle.lbc.native.css +1 -0
  221. package/src/lightning/focusTrap/focusTrap.js +3 -2
  222. package/src/lightning/focusTrap/focusTrap.js-meta.xml +3 -0
  223. package/src/lightning/formattedAddress/formattedAddress.js-meta.xml +3 -0
  224. package/src/lightning/formattedDateTime/formattedDateTime.js +7 -62
  225. package/src/lightning/formattedDateTime/formattedDateTime.js-meta.xml +3 -0
  226. package/src/lightning/formattedEmail/formattedEmail.css +1 -0
  227. package/src/lightning/formattedEmail/formattedEmail.js +4 -2
  228. package/src/lightning/formattedEmail/formattedEmail.js-meta.xml +3 -0
  229. package/src/lightning/formattedEmail/formattedEmail.lbc.native.css +7 -0
  230. package/src/lightning/formattedLocation/formattedLocation.html +1 -3
  231. package/src/lightning/formattedLocation/formattedLocation.js +3 -25
  232. package/src/lightning/formattedLocation/formattedLocation.js-meta.xml +3 -0
  233. package/src/lightning/formattedLookup/events.js +2 -4
  234. package/src/lightning/formattedNumber/formattedNumber.css +1 -4
  235. package/src/lightning/formattedNumber/formattedNumber.js +2 -49
  236. package/src/lightning/formattedNumber/formattedNumber.lbc.synthetic.css +4 -0
  237. package/src/lightning/formattedPhone/formattedPhone.css +1 -4
  238. package/src/lightning/formattedPhone/formattedPhone.js-meta.xml +3 -0
  239. package/src/lightning/formattedPhone/formattedPhone.lbc.synthetic.css +4 -0
  240. package/src/lightning/formattedRichText/formatted-rich-text.slds.css +39 -39
  241. package/src/lightning/formattedRichText/formattedRichText.css +1 -3
  242. package/src/lightning/formattedRichText/formattedRichText.js +9 -7
  243. package/src/lightning/formattedRichText/formattedRichText.js-meta.xml +3 -0
  244. package/src/lightning/formattedRichText/formattedRichText.lbc.native.css +3 -0
  245. package/src/lightning/formattedRichText/linkTextNodes.js +58 -0
  246. package/src/lightning/formattedText/formattedText.css +1 -1
  247. package/src/lightning/formattedText/formattedText.js +3 -2
  248. package/src/lightning/formattedText/formattedText.js-meta.xml +3 -0
  249. package/src/lightning/formattedText/formattedText.lbc.native.css +1 -0
  250. package/src/lightning/formattedTime/formattedTime.js-meta.xml +3 -0
  251. package/src/lightning/formattedUrl/formattedUrl.js-meta.xml +3 -0
  252. package/src/lightning/groupedCombobox/__mockData__/exampleGroupedComboboxData.js +17 -0
  253. package/src/lightning/groupedCombobox/form-element.slds.css +315 -0
  254. package/src/lightning/groupedCombobox/grouped-combobox.slds.css +13 -0
  255. package/src/lightning/groupedCombobox/groupedCombobox.css +2 -3
  256. package/src/lightning/groupedCombobox/groupedCombobox.js +25 -3
  257. package/src/lightning/groupedCombobox/groupedCombobox.js-meta.xml +4 -1
  258. package/src/lightning/groupedCombobox/groupedCombobox.lbc.native.css +5 -0
  259. package/src/lightning/groupedCombobox/groupedCombobox.lbc.syhtnetic.css +3 -0
  260. package/src/lightning/groupedCombobox/input-text.slds.css +506 -0
  261. package/src/lightning/helptext/button-icon.slds.css +724 -0
  262. package/src/lightning/helptext/form-element.slds.css +122 -95
  263. package/src/lightning/helptext/help-text.slds.css +6 -938
  264. package/src/lightning/helptext/helptext.css +1 -3
  265. package/src/lightning/helptext/helptext.js +3 -2
  266. package/src/lightning/helptext/helptext.lbc.native.css +4 -0
  267. package/src/lightning/icon/icon.css +1 -2
  268. package/src/lightning/icon/icon.js +20 -2
  269. package/src/lightning/icon/icon.js-meta.xml +3 -0
  270. package/src/lightning/icon/icon.lbc.native.css +2 -0
  271. package/src/lightning/icon/icon.slds.css +76 -78
  272. package/src/lightning/input/form-element.slds.css +122 -95
  273. package/src/lightning/input/input.css +2 -13
  274. package/src/lightning/input/input.html +1 -0
  275. package/src/lightning/input/input.js +55 -9
  276. package/src/lightning/input/input.lbc.native.css +2 -0
  277. package/src/lightning/input/input.lbc.synthetic.css +9 -0
  278. package/src/lightning/inputAddress/form-element.slds.css +315 -0
  279. package/src/lightning/inputAddress/input-address.slds.css +14 -0
  280. package/src/lightning/inputAddress/input-text.slds.css +506 -0
  281. package/src/lightning/inputAddress/inputAddress.css +2 -3
  282. package/src/lightning/inputAddress/inputAddress.html +21 -12
  283. package/src/lightning/inputAddress/inputAddress.js +34 -14
  284. package/src/lightning/inputAddress/inputAddress.js-meta.xml +3 -0
  285. package/src/lightning/inputAddress/inputAddress.lbc.native.css +5 -0
  286. package/src/lightning/inputAddress/inputAddress.lbc.synthetic.css +4 -0
  287. package/src/lightning/inputLocation/form-element.slds.css +315 -0
  288. package/src/lightning/inputLocation/input-location.slds.css +14 -0
  289. package/src/lightning/inputLocation/input-text.slds.css +506 -0
  290. package/src/lightning/inputLocation/inputLocation.css +2 -3
  291. package/src/lightning/inputLocation/inputLocation.html +1 -1
  292. package/src/lightning/inputLocation/inputLocation.js +27 -6
  293. package/src/lightning/inputLocation/inputLocation.js-meta.xml +3 -0
  294. package/src/lightning/inputLocation/inputLocation.lbc.native.css +5 -0
  295. package/src/lightning/inputLocation/inputLocation.lbc.synthetic.css +3 -0
  296. package/src/lightning/inputName/form-element.slds.css +315 -0
  297. package/src/lightning/inputName/input-text.slds.css +506 -0
  298. package/src/lightning/inputName/inputName.css +2 -3
  299. package/src/lightning/inputName/inputName.js +22 -15
  300. package/src/lightning/inputName/inputName.lbc.native.css +4 -0
  301. package/src/lightning/inputName/inputName.lbc.synthetic.css +3 -0
  302. package/src/lightning/interactiveDialogBase/interactive-dialog-base.slds.css +21 -0
  303. package/src/lightning/interactiveDialogBase/interactiveDialogBase.css +2 -520
  304. package/src/lightning/interactiveDialogBase/interactiveDialogBase.html +8 -3
  305. package/src/lightning/interactiveDialogBase/interactiveDialogBase.js +6 -0
  306. package/src/lightning/interactiveDialogBase/interactiveDialogBase.js-meta.xml +6 -0
  307. package/src/lightning/interactiveDialogBase/interactiveDialogBase.lbc.native.css +3 -0
  308. package/src/lightning/interactiveDialogBase/interactiveDialogBase.lbc.synthetic.css +20 -0
  309. package/src/lightning/internationalizationLibrary/datetime/dateTimeUtils.js +33 -10
  310. package/src/lightning/layout/layout.css +2 -9
  311. package/src/lightning/layout/layout.js +5 -2
  312. package/src/lightning/layout/layout.js-meta.xml +3 -0
  313. package/src/lightning/layout/layout.lbc.native.css +2 -0
  314. package/src/lightning/layout/layout.lbc.synthetic.css +6 -0
  315. package/src/lightning/layoutItem/layoutItem.css +1 -5
  316. package/src/lightning/layoutItem/layoutItem.js +5 -2
  317. package/src/lightning/layoutItem/layoutItem.js-meta.xml +3 -0
  318. package/src/lightning/layoutItem/layoutItem.lbc.native.css +5 -0
  319. package/src/lightning/lookupAddress/form-element.slds.css +315 -0
  320. package/src/lightning/lookupAddress/listbox.slds.css +204 -0
  321. package/src/lightning/lookupAddress/location.js +2 -0
  322. package/src/lightning/lookupAddress/lookup-address.slds.css +8 -0
  323. package/src/lightning/lookupAddress/lookupAddress.css +2 -0
  324. package/src/lightning/lookupAddress/lookupAddress.html +12 -9
  325. package/src/lightning/lookupAddress/lookupAddress.js +19 -12
  326. package/src/lightning/lookupAddress/lookupAddress.lbc.native.css +4 -0
  327. package/src/lightning/menuDivider/menu-divider.slds.css +4 -6
  328. package/src/lightning/menuDivider/menuDivider.css +2 -6
  329. package/src/lightning/menuDivider/menuDivider.js +4 -3
  330. package/src/lightning/menuDivider/menuDivider.lbc.native.css +2 -0
  331. package/src/lightning/menuDivider/menuDivider.lbc.synthetic.css +3 -0
  332. package/src/lightning/menuItem/menu-item.slds.css +24 -18
  333. package/src/lightning/menuItem/menuItem.css +2 -6
  334. package/src/lightning/menuItem/menuItem.js +13 -3
  335. package/src/lightning/menuItem/menuItem.js-meta.xml +3 -0
  336. package/src/lightning/menuItem/menuItem.lbc.native.css +2 -0
  337. package/src/lightning/menuItem/menuItem.lbc.synthetic.css +3 -0
  338. package/src/lightning/menuSubheader/menu-subheader.slds.css +5 -6
  339. package/src/lightning/menuSubheader/menuSubheader.css +2 -6
  340. package/src/lightning/menuSubheader/menuSubheader.js +4 -2
  341. package/src/lightning/menuSubheader/menuSubheader.lbc.native.css +2 -0
  342. package/src/lightning/menuSubheader/menuSubheader.lbc.synthetic.css +3 -0
  343. package/src/lightning/modal/__docs__/modal.md +30 -0
  344. package/src/lightning/modal/__examples__disabled/allformfullcompound/allformfullcompound.css +7 -0
  345. package/src/lightning/modal/__examples__disabled/allformfullcompound/allformfullcompound.html +9 -0
  346. package/src/lightning/modal/__examples__disabled/allformfullcompound/allformfullcompound.js +54 -0
  347. package/src/lightning/modal/__examples__disabled/allformhoriz/allformhoriz.css +7 -0
  348. package/src/lightning/modal/__examples__disabled/allformhoriz/allformhoriz.html +9 -0
  349. package/src/lightning/modal/__examples__disabled/allformhoriz/allformhoriz.js +53 -0
  350. package/src/lightning/modal/__examples__disabled/allmulti/allmulti.html +1 -0
  351. package/src/lightning/modal/__examples__disabled/allmulti/allmulti.js +43 -1
  352. package/src/lightning/modal/__examples__disabled/basic/basic.css +1 -1
  353. package/src/lightning/modal/__examples__disabled/demo/demo.css +1 -0
  354. package/src/lightning/modal/__examples__disabled/demoall/demoall.css +5 -0
  355. package/src/lightning/modal/__examples__disabled/demoallform/demoallform.css +2 -3
  356. package/src/lightning/modal/__examples__disabled/demoallform/demoallform.html +181 -107
  357. package/src/lightning/modal/__examples__disabled/demoallform/demoallform.js +7 -1
  358. package/src/lightning/modal/__examples__disabled/demoallformfull/demoallformfull.css +2 -3
  359. package/src/lightning/modal/__examples__disabled/demoallformfull/demoallformfull.html +181 -107
  360. package/src/lightning/modal/__examples__disabled/demoallformfullcompound/demoallformfullcompound.css +7 -0
  361. package/src/lightning/modal/__examples__disabled/demoallformfullcompound/demoallformfullcompound.html +109 -0
  362. package/src/lightning/modal/__examples__disabled/demoallformfullcompound/demoallformfullcompound.js +241 -0
  363. package/src/lightning/modal/__examples__disabled/demoallformhoriz/demoallformhoriz.css +5 -0
  364. package/src/lightning/modal/__examples__disabled/demoallformhoriz/demoallformhoriz.html +165 -0
  365. package/src/lightning/modal/__examples__disabled/demoallformhoriz/demoallformhoriz.js +241 -0
  366. package/src/lightning/modal/__examples__disabled/demofootless/demofootless.css +1 -0
  367. package/src/lightning/modal/__examples__disabled/demoheadless/demoheadless.css +5 -0
  368. package/src/lightning/modal/__modalUtils__/modalContainerTestConstants.js +8 -0
  369. package/src/lightning/modal/__modalUtils__/modalContainerTestMethods.js +108 -3
  370. package/src/lightning/modalBase/modal-base.slds.css +242 -0
  371. package/src/lightning/modalBase/modalBase.css +2 -16
  372. package/src/lightning/modalBase/modalBase.html +2 -0
  373. package/src/lightning/modalBase/modalBase.js +158 -18
  374. package/src/lightning/modalBase/modalBase.js-meta.xml +6 -0
  375. package/src/lightning/modalBase/modalBase.lbc.native.css +2 -0
  376. package/src/lightning/modalBase/modalBase.lbc.synthetic.css +18 -0
  377. package/src/lightning/modalBody/modal-body.slds.css +60 -0
  378. package/src/lightning/modalBody/modalBody.css +1 -0
  379. package/src/lightning/modalBody/modalBody.html +1 -0
  380. package/src/lightning/modalBody/modalBody.js +15 -2
  381. package/src/lightning/modalBody/modalBody.lbc.native.css +3 -0
  382. package/src/lightning/modalFooter/modal-footer.slds.css +79 -0
  383. package/src/lightning/modalFooter/modalFooter.css +1 -0
  384. package/src/lightning/modalFooter/modalFooter.html +1 -1
  385. package/src/lightning/modalFooter/modalFooter.js +3 -23
  386. package/src/lightning/modalFooter/modalFooter.lbc.native.css +2 -0
  387. package/src/lightning/modalHeader/modal-header.slds.css +76 -0
  388. package/src/lightning/modalHeader/modalHeader.css +3 -0
  389. package/src/lightning/modalHeader/modalHeader.html +1 -1
  390. package/src/lightning/modalHeader/modalHeader.js +4 -24
  391. package/src/lightning/modalHeader/modalHeader.lbc.native.css +3 -0
  392. package/src/lightning/overlay/overlay.js +11 -4
  393. package/src/lightning/overlay/overlay.js-meta.xml +6 -0
  394. package/src/lightning/overlayContainer/overlayContainer.js +3 -2
  395. package/src/lightning/picklist/picklist.js +24 -19
  396. package/src/lightning/picklist/picklist.js-meta.xml +3 -0
  397. package/src/lightning/pill/avatar.slds.css +34 -205
  398. package/src/lightning/pill/link.css +1 -3
  399. package/src/lightning/pill/link.lbc.native.css +3 -0
  400. package/src/lightning/pill/pill.js +4 -2
  401. package/src/lightning/pill/pill.js-meta.xml +3 -0
  402. package/src/lightning/pill/pill.slds.css +82 -103
  403. package/src/lightning/pill/plain.css +1 -3
  404. package/src/lightning/pill/plain.lbc.native.css +3 -0
  405. package/src/lightning/pill/plainLink.css +1 -3
  406. package/src/lightning/pill/plainLink.lbc.native.css +3 -0
  407. package/src/lightning/pillContainer/barePillContainer.css +1 -3
  408. package/src/lightning/pillContainer/barePillContainer.html +1 -1
  409. package/src/lightning/pillContainer/barePillContainer.lbc.native.css +4 -0
  410. package/src/lightning/pillContainer/button.slds.css +503 -0
  411. package/src/lightning/pillContainer/listbox.slds.css +103 -151
  412. package/src/lightning/pillContainer/pill-container.slds.css +19 -17
  413. package/src/lightning/pillContainer/pill.slds.css +82 -103
  414. package/src/lightning/pillContainer/pillContainer.js +15 -12
  415. package/src/lightning/pillContainer/pillContainer.js-meta.xml +3 -0
  416. package/src/lightning/pillContainer/standardPillContainer.css +3 -2
  417. package/src/lightning/pillContainer/standardPillContainer.html +1 -1
  418. package/src/lightning/popup/popover.slds.css +29 -32
  419. package/src/lightning/popup/popup.css +1 -2
  420. package/src/lightning/popup/popup.js +3 -2
  421. package/src/lightning/popup/popup.js-meta.xml +3 -0
  422. package/src/lightning/popup/popup.lbc.native.css +2 -0
  423. package/src/lightning/primitiveBubble/primitiveBubble.css +2 -11
  424. package/src/lightning/primitiveBubble/primitiveBubble.js +4 -2
  425. package/src/lightning/primitiveBubble/primitiveBubble.js-meta.xml +6 -0
  426. package/src/lightning/primitiveBubble/primitiveBubble.lbc.native.css +2 -0
  427. package/src/lightning/primitiveBubble/primitiveBubble.lbc.synthetic.css +8 -0
  428. package/src/lightning/primitiveBubble/tooltip.slds.css +89 -142
  429. package/src/lightning/primitiveButton/primitiveButoon.js-meta.xml +6 -0
  430. package/src/lightning/primitiveButton/primitiveButton.js +4 -2
  431. package/src/lightning/primitiveCellCheckbox/checkbox.css +2 -0
  432. package/src/lightning/primitiveColorpickerButton/color-picker-button.slds.css +18 -249
  433. package/src/lightning/primitiveColorpickerButton/primitiveColorpickerButton.css +1 -2
  434. package/src/lightning/primitiveColorpickerButton/primitiveColorpickerButton.js +3 -2
  435. package/src/lightning/primitiveColorpickerButton/primitiveColorpickerButton.lbc.native.css +2 -0
  436. package/src/lightning/primitiveCustomCell/primitiveCustomCell.js +26 -2
  437. package/src/lightning/primitiveDatatableCell/primitiveDatatableCell.js +1 -3
  438. package/src/lightning/primitiveFileDroppableZone/primitiveFileDroppableZone.js +17 -7
  439. package/src/lightning/primitiveHeaderFactory/nonsortableHeader.css +1 -0
  440. package/src/lightning/primitiveHeaderFactory/selectableHeader.css +2 -0
  441. package/src/lightning/primitiveIcon/icon.slds.css +76 -78
  442. package/src/lightning/primitiveIcon/primitiveIcon.css +2 -11
  443. package/src/lightning/primitiveIcon/primitiveIcon.js +7 -9
  444. package/src/lightning/primitiveIcon/primitiveIcon.js-meta.xml +6 -0
  445. package/src/lightning/primitiveIcon/primitiveIcon.lbc.native.css +2 -0
  446. package/src/lightning/primitiveIcon/primitiveIcon.lbc.synthetic.css +9 -0
  447. package/src/lightning/primitiveIframe/primitiveIframe.html +9 -8
  448. package/src/lightning/primitiveIframe/primitiveIframe.js +7 -3
  449. package/src/lightning/primitiveInputCheckbox/form-element.slds.css +122 -95
  450. package/src/lightning/primitiveInputCheckbox/input-checkbox.slds.css +223 -237
  451. package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.css +1 -3
  452. package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.js +14 -3
  453. package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.js-meta.xml +6 -0
  454. package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.lbc.native.css +3 -0
  455. package/src/lightning/primitiveInputCheckboxButton/form-element.slds.css +122 -95
  456. package/src/lightning/primitiveInputCheckboxButton/input-checkbox-button.slds.css +36 -34
  457. package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.css +2 -6
  458. package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.js +5 -2
  459. package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.js-meta.xml +6 -0
  460. package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.lbc.native.css +2 -0
  461. package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.lbc.synthetic.css +2 -0
  462. package/src/lightning/primitiveInputColor/form-element.slds.css +122 -95
  463. package/src/lightning/primitiveInputColor/input-color.slds.css +5 -10
  464. package/src/lightning/primitiveInputColor/input-text.slds.css +289 -181
  465. package/src/lightning/primitiveInputColor/primitiveInputColor.css +1 -4
  466. package/src/lightning/primitiveInputColor/primitiveInputColor.js +5 -2
  467. package/src/lightning/primitiveInputColor/primitiveInputColor.js-meta.xml +6 -0
  468. package/src/lightning/primitiveInputColor/primitiveInputColor.lbc.native.css +4 -0
  469. package/src/lightning/primitiveInputFile/button.slds.css +365 -395
  470. package/src/lightning/primitiveInputFile/form-element.slds.css +122 -95
  471. package/src/lightning/primitiveInputFile/input-file.slds.css +13 -16
  472. package/src/lightning/primitiveInputFile/primitiveInputFile.css +1 -5
  473. package/src/lightning/primitiveInputFile/primitiveInputFile.js +13 -9
  474. package/src/lightning/primitiveInputFile/primitiveInputFile.js-meta.xml +6 -0
  475. package/src/lightning/primitiveInputFile/primitiveInputFile.lbc.native.css +4 -0
  476. package/src/lightning/primitiveInputRadio/primitiveInputRadio.js +4 -2
  477. package/src/lightning/primitiveInputSimple/form-element.slds.css +122 -95
  478. package/src/lightning/primitiveInputSimple/input-text.slds.css +289 -181
  479. package/src/lightning/primitiveInputSimple/primitiveInputSimple.css +2 -9
  480. package/src/lightning/primitiveInputSimple/primitiveInputSimple.js +4 -2
  481. package/src/lightning/primitiveInputSimple/primitiveInputSimple.js-meta.xml +6 -0
  482. package/src/lightning/primitiveInputSimple/primitiveInputSimple.lbc.native.css +3 -0
  483. package/src/lightning/primitiveInputSimple/primitiveInputSimple.lbc.synthetic.css +5 -0
  484. package/src/lightning/primitiveInputToggle/form-element.slds.css +122 -95
  485. package/src/lightning/primitiveInputToggle/input-toggle.slds.css +78 -55
  486. package/src/lightning/primitiveInputToggle/primitiveInputToggle.css +1 -3
  487. package/src/lightning/primitiveInputToggle/primitiveInputToggle.js +14 -3
  488. package/src/lightning/primitiveInputToggle/primitiveInputToggle.js-meta.xml +6 -0
  489. package/src/lightning/primitiveInputToggle/primitiveInputToggle.lbc.native.css +3 -0
  490. package/src/lightning/progressBar/progress-bar.slds.css +64 -0
  491. package/src/lightning/progressBar/progressBar.css +1 -0
  492. package/src/lightning/progressBar/progressBar.html +1 -0
  493. package/src/lightning/progressBar/progressBar.js +3 -2
  494. package/src/lightning/progressBar/progressBar.lbc.native.css +2 -0
  495. package/src/lightning/progressIndicator/progressIndicator.css +1 -3
  496. package/src/lightning/progressIndicator/progressIndicator.lbc.synthetic.css +3 -0
  497. package/src/lightning/progressRing/progress-ring.slds.css +113 -0
  498. package/src/lightning/progressRing/progressRing.css +1 -0
  499. package/src/lightning/progressRing/progressRing.html +1 -1
  500. package/src/lightning/progressRing/progressRing.js +3 -2
  501. package/src/lightning/progressRing/progressRing.lbc.native.css +2 -0
  502. package/src/lightning/progressStep/progressStep.js +1 -14
  503. package/src/lightning/prompt/prompt.css +1 -85
  504. package/src/lightning/prompt/prompt.html +15 -5
  505. package/src/lightning/prompt/prompt.js +12 -9
  506. package/src/lightning/prompt/prompt.js-meta.xml +3 -0
  507. package/src/lightning/prompt/prompt.lbc.native.css +2 -0
  508. package/src/lightning/prompt/prompt.slds.css +10 -0
  509. package/src/lightning/radioGroup/form-element.slds.css +315 -0
  510. package/src/lightning/radioGroup/input-radio-group.slds.css +124 -571
  511. package/src/lightning/radioGroup/radioGroup.css +2 -7
  512. package/src/lightning/radioGroup/radioGroup.html +1 -2
  513. package/src/lightning/radioGroup/radioGroup.js +5 -2
  514. package/src/lightning/radioGroup/radioGroup.lbc.native.css +3 -0
  515. package/src/lightning/radioGroup/radioGroup.lbc.synthetic.css +3 -0
  516. package/src/lightning/routingService/routingService.js +31 -5
  517. package/src/lightning/select/form-element.slds.css +122 -95
  518. package/src/lightning/select/select.css +1 -3
  519. package/src/lightning/select/select.js +4 -2
  520. package/src/lightning/select/select.js-meta.xml +3 -0
  521. package/src/lightning/select/select.lbc.native.css +3 -0
  522. package/src/lightning/select/select.slds.css +26 -343
  523. package/src/lightning/sldsUtilsThemes/sldsUtilsThemes.css +27 -11
  524. package/src/lightning/sldsUtilsVisibility/sldsUtilsVisibility.css +24 -0
  525. package/src/lightning/sldsUtilsVisibility/sldsUtilsVisibility.js-meta.xml +4 -0
  526. package/src/lightning/spinner/spinner.css +1 -2
  527. package/src/lightning/spinner/spinner.js +6 -4
  528. package/src/lightning/spinner/spinner.js-meta.xml +3 -0
  529. package/src/lightning/spinner/spinner.lbc.native.css +2 -0
  530. package/src/lightning/spinner/spinner.slds.css +66 -72
  531. package/src/lightning/staticMap/staticMap.html +12 -10
  532. package/src/lightning/staticMap/staticMap.js +16 -4
  533. package/src/lightning/tab/tab.css +1 -2
  534. package/src/lightning/tab/tab.js +4 -2
  535. package/src/lightning/tab/tab.lbc.native.css +2 -0
  536. package/src/lightning/tab/tab.slds.css +23 -16
  537. package/src/lightning/tabBar/tab-bar.slds.css +75 -65
  538. package/src/lightning/tabBar/tabBar.css +1 -2
  539. package/src/lightning/tabBar/tabBar.js +19 -2
  540. package/src/lightning/tabBar/tabBar.lbc.native.css +2 -0
  541. package/src/lightning/tabset/__docs__/tabset.md +24 -1
  542. package/src/lightning/tabset/tabset.css +1 -10
  543. package/src/lightning/tabset/tabset.html +19 -7
  544. package/src/lightning/tabset/tabset.js +212 -61
  545. package/src/lightning/tabset/tabset.lbc.native.css +3 -0
  546. package/src/lightning/tabset/tabset.slds.css +13 -0
  547. package/src/lightning/textarea/form-element.slds.css +315 -0
  548. package/src/lightning/textarea/textarea.css +2 -5
  549. package/src/lightning/textarea/textarea.html +21 -5
  550. package/src/lightning/textarea/textarea.js +171 -128
  551. package/src/lightning/textarea/textarea.lbc.native.css +3 -0
  552. package/src/lightning/textarea/textarea.lbc.synthetic.css +5 -0
  553. package/src/lightning/textarea/textarea.slds.css +108 -0
  554. package/src/lightning/tile/standardTile.css +1 -3
  555. package/src/lightning/tile/standardTile.lbc.synthetic.css +3 -0
  556. package/src/lightning/timepicker/form-element.slds.css +122 -95
  557. package/src/lightning/timepicker/timepicker.css +1 -3
  558. package/src/lightning/timepicker/timepicker.html +1 -1
  559. package/src/lightning/timepicker/timepicker.js +21 -5
  560. package/src/lightning/timepicker/timepicker.js-meta.xml +6 -0
  561. package/src/lightning/timepicker/timepicker.lbc.native.css +3 -0
  562. package/src/lightning/timepicker/timepicker.slds.css +2 -2
  563. package/src/lightning/toast/__docs__/toast.md +20 -22
  564. package/src/lightning/toast/button-icon.slds.css +575 -766
  565. package/src/lightning/toast/formatted-rich-text.slds.css +39 -39
  566. package/src/lightning/toast/icon.slds.css +76 -78
  567. package/src/lightning/toast/toast.css +2 -68
  568. package/src/lightning/toast/toast.js +19 -14
  569. package/src/lightning/toast/toast.lbc.native.css +9 -0
  570. package/src/lightning/toast/toast.lbc.synthetic.css +58 -0
  571. package/src/lightning/toast/toast.slds.css +26 -38
  572. package/src/lightning/toastContainer/toast.slds.css +26 -38
  573. package/src/lightning/toastContainer/toastContainer.css +2 -43
  574. package/src/lightning/toastContainer/toastContainer.js +25 -17
  575. package/src/lightning/toastContainer/toastContainer.lbc.native.css +4 -0
  576. package/src/lightning/toastContainer/toastContainer.lbc.synthetic.css +38 -0
  577. package/src/lightning/tooltipLibrary/tooltipLibrary.js +12 -9
  578. package/src/lightning/tree/tree.js +2 -0
  579. package/src/lightning/utils/classSet.js +9 -3
  580. package/src/lightning/utilsPrivate/animation.js +10 -8
  581. package/src/lightning/utilsPrivate/aria.js +1 -1
  582. package/src/lightning/utilsPrivate/formatUtils.js +158 -0
  583. package/src/lightning/utilsPrivate/textUtils.js +16 -0
  584. package/src/lightning/utilsPrivate/utilsPrivate.js +76 -19
  585. package/src/lightning/utilsPrivate/validationUtils.js +59 -0
  586. package/src/lightning/verticalNavigation/verticalNavigation.css +1 -3
  587. package/src/lightning/verticalNavigation/verticalNavigation.js +3 -2
  588. package/src/lightning/verticalNavigation/verticalNavigation.lbc.native.css +2 -0
  589. package/src/lightning/verticalNavigationOverflow/verticalNavigationOverflow.css +1 -3
  590. package/src/lightning/verticalNavigationOverflow/verticalNavigationOverflow.lbc.synthetic.css +3 -0
  591. package/src/lightning/verticalNavigationSection/vertical-navigation-section.slds.css +8 -10
  592. package/src/lightning/verticalNavigationSection/verticalNavigationSection.css +2 -7
  593. package/src/lightning/verticalNavigationSection/verticalNavigationSection.js +3 -2
  594. package/src/lightning/verticalNavigationSection/verticalNavigationSection.lbc.native.css +2 -0
  595. package/src/lightning/verticalNavigationSection/verticalNavigationSection.lbc.synthetic.css +3 -0
  596. package/src/lightning/datatable/resizeSensor.js +0 -244
  597. package/src/lightning/formattedRichText/linkify.js +0 -43
  598. package/src/lightning/utilsPrivate/smartSetAttribute.js +0 -19
@@ -70,7 +70,13 @@ export function getColumns(state) {
70
70
  * @returns {Boolean} Whether any of the columns are editable.
71
71
  */
72
72
  export function hasEditableColumn(columns) {
73
- return columns.some((column) => column.editable);
73
+ const { length: colCount } = columns;
74
+ for (let colIndex = 0; colIndex < colCount; colIndex += 1) {
75
+ if (columns[colIndex].editable) {
76
+ return true;
77
+ }
78
+ }
79
+ return false;
74
80
  }
75
81
 
76
82
  /**
@@ -83,7 +89,14 @@ export function hasEditableColumn(columns) {
83
89
  * filled with truthy column definition objects.
84
90
  */
85
91
  export function getEditableColumns(columns) {
86
- return columns.filter((column) => column.editable);
92
+ const editableColumns = [];
93
+ for (let i = 0, { length } = columns; i < length; i += 1) {
94
+ const col = columns[i];
95
+ if (col.editable) {
96
+ editableColumns.push(col);
97
+ }
98
+ }
99
+ return editableColumns;
87
100
  }
88
101
 
89
102
  /**
@@ -98,10 +111,9 @@ export function getEditableColumns(columns) {
98
111
  */
99
112
  export function normalizeEditable(column, types) {
100
113
  if (types.isEditableType(column.type)) {
101
- if (
102
- !(typeof column.editable === 'object' && column.editable.fieldName)
103
- ) {
104
- column.editable = normalizeBoolean(column.editable);
114
+ const { editable } = column;
115
+ if (!(editable && editable.fieldName)) {
116
+ column.editable = normalizeBoolean(editable);
105
117
  }
106
118
  column.editTemplate = types.getCustomTypeEditTemplate(column.type);
107
119
  } else {
@@ -125,63 +137,83 @@ export function normalizeEditable(column, types) {
125
137
  * @param {Object} types The type handling factory.
126
138
  */
127
139
  export function normalizeColumns(state, columns, types) {
128
- if (columns.length !== 0) {
140
+ const { length: colCount } = columns;
141
+ if (colCount !== 0) {
129
142
  let firstColumnForReaders = 0;
130
- // Workaround: https://git.soma.salesforce.com/raptor/raptor/issues/763
131
- const normalizedColumns = Object.assign([], columns);
143
+ let normColCount = colCount;
144
+ let { showRowNumberColumn } = state;
145
+ const notHideCheckboxColumn = !state.hideCheckboxColumn;
132
146
 
133
- if (!state.hideCheckboxColumn) {
134
- firstColumnForReaders++;
135
- normalizedColumns.unshift(SELECTABLE_COLUMN);
147
+ if (notHideCheckboxColumn) {
148
+ normColCount += 1;
136
149
  }
137
150
 
138
151
  if (hasRowNumberColumn(state) || hasEditableColumn(columns)) {
139
- firstColumnForReaders++;
140
152
  setShowRowNumberColumn(state, true);
141
- normalizedColumns.unshift(getRowNumberColumnDef());
153
+ normColCount += 1;
154
+ }
155
+ const normalizedColumns = Array(normColCount);
156
+
157
+ // Tracked state change.
158
+ state.columns = normalizedColumns;
159
+
160
+ if (notHideCheckboxColumn) {
161
+ normalizedColumns[firstColumnForReaders] = Object.assign(
162
+ {},
163
+ SELECTABLE_COLUMN
164
+ );
165
+ firstColumnForReaders += 1;
166
+ }
167
+ if (showRowNumberColumn) {
168
+ normalizedColumns[firstColumnForReaders] = getRowNumberColumnDef();
169
+ firstColumnForReaders += 1;
170
+ }
171
+ for (let colIndex = 0; colIndex < colCount; colIndex += 1) {
172
+ normalizedColumns[colIndex + firstColumnForReaders] =
173
+ columns[colIndex];
142
174
  }
143
175
 
144
- const columnKeyMap = {};
145
- state.columns = normalizedColumns.map((column, index) => {
176
+ const seenColumnKeys = new Set();
177
+ for (let colIndex = 0; colIndex < normColCount; colIndex += 1) {
178
+ const column = normalizedColumns[colIndex];
179
+ const { columnKey } = column;
180
+
181
+ // state.columns = normalizedColumns.map((column, index) => {
146
182
  // Verify `columnKey` is unique
147
- const columnKey = column.columnKey;
148
- if (columnKey && columnKeyMap[columnKey]) {
183
+ if (columnKey && seenColumnKeys.has(columnKey)) {
149
184
  console.error(
150
185
  `The "columnKey" column property must be unique. Found a duplicate of columnKey "${columnKey}".`
151
186
  );
152
187
  }
153
- columnKeyMap[columnKey] = true;
188
+ seenColumnKeys.add(columnKey);
154
189
 
155
- const normalizedColumn = Object.assign(
156
- getColumnDefaults(column),
157
- column
158
- );
159
- normalizedColumn.ariaLabel =
160
- normalizedColumn.label || normalizedColumn.ariaLabel || null;
190
+ const normCol = Object.assign(getColumnDefaults(column), column);
191
+ normalizedColumns[colIndex] = normCol;
192
+ normCol.ariaLabel = normCol.label || normCol.ariaLabel || null;
161
193
 
194
+ let { type: columnType } = normCol;
162
195
  // `customType` attribute is needed to render default iedit component
163
- normalizedColumn.editableCustomType =
164
- types.isStandardCellLayoutForCustomType(normalizedColumn.type);
196
+ normCol.editableCustomType =
197
+ types.isStandardCellLayoutForCustomType(columnType);
165
198
 
166
- if (isCustomerColumn(normalizedColumn)) {
167
- normalizeColumnDataType(normalizedColumn, types);
168
- normalizeEditable(normalizedColumn, types);
169
- updateColumnSortingState(normalizedColumn, state);
199
+ if (isCustomerColumn(normCol)) {
200
+ normalizeColumnDataType(normCol, types);
201
+ normalizeEditable(normCol, types);
202
+ updateColumnSortingState(normCol, state);
170
203
  }
171
204
 
172
- if (isTreeType(normalizedColumn.type)) {
173
- normalizedColumn.typeAttributes = getNormalizedSubTypeAttribute(
174
- normalizedColumn.type,
175
- normalizedColumn.typeAttributes
205
+ if (isTreeType(normCol.type)) {
206
+ normCol.typeAttributes = getNormalizedSubTypeAttribute(
207
+ normCol.type,
208
+ normCol.typeAttributes
176
209
  );
177
210
  }
178
211
 
179
- return Object.assign(normalizedColumn, {
180
- tabIndex: -1,
181
- colKeyValue: generateColKeyValue(normalizedColumn, index),
182
- isScopeCol: index === firstColumnForReaders,
183
- });
184
- });
212
+ // Generate colKeyValue after normalizing customer column.
213
+ normCol.colKeyValue = generateColKeyValue(normCol, colIndex);
214
+ normCol.isScopeCol = colIndex === firstColumnForReaders;
215
+ normCol.tabIndex = -1;
216
+ }
185
217
  } else {
186
218
  state.columns = [];
187
219
  }
@@ -267,20 +299,19 @@ export function generateColKeyValue(columnMetadata, index) {
267
299
  * @returns {Number} The index in `dt.columns`. -1 if not found or if its internal.
268
300
  */
269
301
  export function getUserColumnIndex(state, colKeyValue) {
270
- const stateColumnIndex = getStateColumnIndex(state, colKeyValue);
271
- let internalColumns = 0;
272
-
273
- if (state.columns[stateColumnIndex].internal) {
302
+ const { columns } = state;
303
+ const colIndex = getStateColumnIndex(state, colKeyValue);
304
+ if (columns[colIndex].internal) {
274
305
  return -1;
275
306
  }
276
-
277
- for (let i = 0; i < stateColumnIndex; i++) {
278
- if (state.columns[i].internal) {
307
+ let internalColumns = 0;
308
+ for (let i = 0; i < colIndex; i += 1) {
309
+ if (columns[i].internal) {
279
310
  internalColumns++;
280
311
  }
281
312
  }
282
313
 
283
- return stateColumnIndex - internalColumns;
314
+ return colIndex - internalColumns;
284
315
  }
285
316
 
286
317
  /**
@@ -319,17 +350,17 @@ export function getStateColumnIndex(state, colKeyValue) {
319
350
  * @returns {Number} The index in state.columns, -1 if it does not exist
320
351
  */
321
352
  export function getColumnIndexByColumnKey(state, key) {
322
- let i = 0;
323
353
  const columns = getColumns(state);
324
- const existFieldName = columns.some((column, index) => {
325
- i = index;
326
- return (
327
- column.columnKey === key ||
328
- (!column.columnKey && column.fieldName === key)
329
- );
330
- });
331
-
332
- return existFieldName ? i : -1;
354
+ for (let colIndex = 0; colIndex < columns.length; colIndex += 1) {
355
+ const col = columns[colIndex];
356
+ if (
357
+ col.columnKey === key ||
358
+ (!col.columnKey && col.fieldName === key)
359
+ ) {
360
+ return colIndex;
361
+ }
362
+ }
363
+ return -1;
333
364
  }
334
365
 
335
366
  /************************** PRIVATE METHODS ***************************/
@@ -0,0 +1,187 @@
1
+
2
+ /* Copyright (c) 2015-present, salesforce.com, inc. All rights reserved
3
+ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
4
+
5
+ /**
6
+ *
7
+ * TODO: converted all exposed styling hooks to local pseudo-private variables.
8
+ * Need to remove all of those and replace with --slds-g values, since we are not exposing anything.
9
+ * Ok to keep any local var as needed
10
+ * (This is related to the native shadow work)
11
+ *
12
+ */
13
+
14
+ :focus-visible {
15
+ outline: 0;
16
+ }
17
+
18
+ :host([data-render-mode="shadow"]) [part='datagrid-wrapper'] {
19
+ display: flex;
20
+ flex-direction: column;
21
+ position: relative;
22
+ }
23
+
24
+ :host([data-render-mode="shadow"]) [part='datagrid'] {
25
+ display: flex;
26
+ flex-direction: column;
27
+ flex: 1 1 auto;
28
+ height: 100%;
29
+ background-color: var(--_slds-c-datagrid-color-background);
30
+ }
31
+
32
+ :host([data-render-mode="shadow"]) [part='datagrid-header'] {
33
+ color: var(--_slds-c-datagrid-header-text-color, #514f4d);
34
+ background-color: var(--_slds-c-datagrid-header-color-background,
35
+ var(--_slds-c-datagrid-color-background, #fafaf9));
36
+ border-top: 1px solid var(--_slds-c-datagrid-header-color-border, #babfc7);
37
+ width: 100%;
38
+
39
+ --_slds-c-datagrid-row-color-border: var(--_slds-c-datagrid-header-color-border, #babfc7);
40
+ }
41
+
42
+ :host([data-render-mode="shadow"]) [fixed-header='true'] [part='datagrid-header'] {
43
+ position: sticky;
44
+ top: 0;
45
+ min-height: 2rem;
46
+ z-index: 1;
47
+ }
48
+
49
+ /* Cells */
50
+
51
+ :host([data-render-mode="shadow"]) [part='cell'] {
52
+ position: relative;
53
+ display: flex;
54
+ width: var(--_slds-c-datagrid-cell-sizing, 150px);
55
+ height: 100%;
56
+ padding-inline: var(--_slds-c-datagrid-cell-spacing-inline, 0.5rem);
57
+ padding-block: var(--_slds-c-datagrid-cell-spacing-block, 0.25rem);
58
+ background-color: var(--_slds-c-datagrid-cell-color-background, var(--_slds-c-datagrid-color-background));
59
+ border: var(--_slds-c-datagrid-cell-sizing-border, 1px) solid var(--_slds-c-datagrid-cell-color-border, transparent);
60
+ white-space: nowrap;
61
+ align-items: center;
62
+ }
63
+
64
+ :host([data-render-mode="shadow"]) [part='cell']:hover {
65
+ --_slds-c-datagrid-cell-color-background: var(--_slds-c-datagrid-cell-color-background-hover);
66
+ }
67
+
68
+ :host([data-render-mode="shadow"]) [part='cell'][aria-selected='true'] {
69
+ --_slds-c-datagrid-cell-color-border: var(--_slds-c-datagrid-cell-color-border-focus,
70
+ var(--slds-g-color-brand-base-contrast-3));
71
+ }
72
+
73
+ :host([data-render-mode="shadow"]) [part='cell']:focus-within {
74
+ --_slds-c-datagrid-cell-color-border: var(--_slds-c-datagrid-cell-color-border-focus,
75
+ var(--slds-g-color-brand-base-contrast-3));
76
+ }
77
+
78
+ /* Column Header Cells */
79
+
80
+ :host([data-render-mode="shadow"]) [role='columnheader'] {
81
+ font-weight: 700;
82
+ border-right: 1px solid var(--_slds-c-datagrid-headercell-color-border, #babfc7);
83
+ }
84
+
85
+ :host([data-render-mode="shadow"]) [role='columnheader'][aria-sort]:hover {
86
+ background-color: var(--_slds-c-datagrid-headercell-color-background-hover, white);
87
+ }
88
+
89
+ :host([data-render-mode="shadow"]) [role='columnheader'][aria-selected='true'] {
90
+ border-right-color: var(--_slds-c-datagrid-headercell-color-border-focus,
91
+ var(--slds-g-color-brand-base-contrast-3));
92
+ }
93
+
94
+ :host([data-render-mode="shadow"]) [role='columnheader']:focus-within {
95
+ border-right-color: var(--_slds-c-datagrid-headercell-color-border-focus,
96
+ var(--slds-g-color-brand-base-contrast-3));
97
+ box-shadow: var(--_slds-c-datagrid-headercell-color-border-focus, var(--slds-g-color-brand-base-contrast-3)) -3px 0 0 0 inset;
98
+ }
99
+
100
+ /* Rows */
101
+
102
+ :host([data-render-mode="shadow"]) [role~='row'] {
103
+ display: flex;
104
+ border-bottom: var(--_slds-c-datagrid-row-sizing-border, 1px) solid var(--_slds-c-datagrid-row-color-border, #dde2eb);
105
+ }
106
+
107
+ :host([data-render-mode="shadow"]) [role~='row'][aria-selected='true'] {
108
+ background-color: var(--_slds-c-datagrid-row-color-background-selected, #f3f2f2);
109
+ }
110
+
111
+ /* Text value in cells */
112
+
113
+ :host([data-render-mode="shadow"]) [part='value'] {
114
+ overflow: hidden;
115
+ text-overflow: ellipsis;
116
+ white-space: nowrap;
117
+ width: 100%;
118
+ }
119
+
120
+ /* Column sorting */
121
+
122
+ [data-sort] {
123
+ border: none;
124
+ background: transparent;
125
+ display: inline-flex;
126
+ min-width: 0;
127
+ flex: 1 1 0%;
128
+ }
129
+
130
+ [data-sort]::after {
131
+ content: '';
132
+ position: absolute;
133
+ inset: 0;
134
+ }
135
+
136
+ [data-sort] [part='value'] {
137
+ width: auto;
138
+ }
139
+
140
+ [data-resize-handle]:hover,:host([data-render-mode="shadow"])
141
+ [type='range']:focus~[data-resize-handle] {
142
+ opacity: 1;
143
+ }
144
+
145
+ [data-resize-handle] {
146
+ width: 0.75rem;
147
+ position: absolute;
148
+ top: -1px;
149
+ right: -1px;
150
+ bottom: -1px;
151
+ cursor: col-resize;
152
+ opacity: 0;
153
+ }
154
+
155
+ [data-resize-handle]::before {
156
+ content: '';
157
+ width: 1px;
158
+ height: 100vh;
159
+ background-color: var(--_slds-c-datagrid-resize-color-background, var(--slds-g-color-brand-base-contrast-2));
160
+ position: absolute;
161
+ top: 0;
162
+ right: -1px;
163
+ }
164
+
165
+ [data-resize-handle]::after {
166
+ content: '';
167
+ width: 4px;
168
+ height: 100%;
169
+ background-color: var(--_slds-c-datagrid-resize-color-background, var(--slds-g-color-brand-base-contrast-2));
170
+ position: absolute;
171
+ top: 0;
172
+ right: 0;
173
+ }
174
+
175
+ :host([data-render-mode="shadow"]) [part='datagrid-body'] [role~='row']:hover {
176
+ background-color: var(--_slds-c-datagrid-row-color-background-hover, #f3f2f2);
177
+ }
178
+
179
+ /* Action Mode */
180
+
181
+ :host([data-render-mode="shadow"]) [aria-readonly='true'] {
182
+ --_slds-c-datagrid-cell-color-background-hover: inherit;
183
+ }
184
+
185
+ :host([data-render-mode="shadow"]) [aria-readonly='false'] {
186
+ --_slds-c-datagrid-cell-color-background-hover: #fff;
187
+ }