lightning-base-components 1.21.6-alpha → 1.21.8-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 (369) hide show
  1. package/metadata/raptor.json +45 -4
  2. package/package.json +125 -3
  3. package/scopedImports/@salesforce-label-LightningColorPicker.a11yDefaultText.js +1 -0
  4. package/scopedImports/@salesforce-label-LightningDatatable.multiColumnSortingToast.js +1 -0
  5. package/scopedImports/@salesforce-label-LightningDatatable.sortingMenuColumns.js +1 -0
  6. package/scopedImports/@salesforce-label-LightningDatatable.sortingMenuMultiColumnSort.js +1 -0
  7. package/scopedImports/@salesforce-label-LightningDatatable.sortingMenuRows.js +1 -0
  8. package/scopedImports/@salesforce-label-LightningDatatable.sortingMenuTooltip.js +1 -0
  9. package/scopedImports/@salesforce-label-LightningForm.dependentFieldsListHeading.js +1 -1
  10. package/scopedImports/@salesforce-label-LightningLookup.advancedSearchMobile.js +1 -1
  11. package/scopedImports/@salesforce-label-LightningLookup.modalTitle.js +1 -0
  12. package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.addRule.js +1 -0
  13. package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.applyButton.js +1 -0
  14. package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.cancelButton.js +1 -0
  15. package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.clearButton.js +1 -0
  16. package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.duplicateValueValidation.js +1 -0
  17. package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.firstRuleHeading.js +1 -0
  18. package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.modalTitle.js +1 -0
  19. package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.otherRuleHeading.js +1 -0
  20. package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.ruleLimit.js +1 -0
  21. package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.ruleLimitReached.js +1 -0
  22. package/scopedImports/@salesforce-label-LightningPrimitiveColumnSorter.ascending.js +1 -0
  23. package/scopedImports/@salesforce-label-LightningPrimitiveColumnSorter.descending.js +1 -0
  24. package/scopedImports/@salesforce-label-LightningPrimitiveColumnSorter.dropdownPlaceholder.js +1 -0
  25. package/scopedImports/@salesforce-label-LightningPrimitiveColumnSorter.missingValueValidation.js +1 -0
  26. package/scopedImports/@salesforce-label-LightningPrimitiveColumnSorter.moveDownTooltip.js +1 -0
  27. package/scopedImports/@salesforce-label-LightningPrimitiveColumnSorter.moveUpTooltip.js +1 -0
  28. package/scopedImports/@salesforce-label-LightningProgressIndicator.pathCurrentStage.js +1 -0
  29. package/scopedImports/@salesforce-label-LightningRecordPicker.emptyStateNoResultText.js +1 -0
  30. package/scopedImports/@salesforce-label-LightningRecordPicker.messageWhenSearchTermTooShort.js +1 -0
  31. package/scopedImports/@salesforce-label-LightningRecordPicker.resultCountDescriptionForMoreThanOneHundredRecords.js +1 -0
  32. package/scopedImports/@salesforce-label-LightningRecordPicker.resultCountDescriptionForMultipleRecords.js +1 -0
  33. package/scopedImports/@salesforce-label-LightningRecordPicker.resultCountDescriptionForOneRecord.js +1 -0
  34. package/scopedImports/@salesforce-label-LightningRecordPicker.resultsLoading.js +1 -0
  35. package/scopedImports/@salesforce-label-LightningRecordPicker.searchInputHelp.js +1 -0
  36. package/src/lightning/accordion/accordion.js +21 -14
  37. package/src/lightning/accordionSection/button.slds.css +16 -15
  38. package/src/lightning/alert/alert.js +10 -8
  39. package/src/lightning/ariaObserver/ariaObserver.js +19 -5
  40. package/src/lightning/baseCombobox/base-combobox.slds.css +1 -1
  41. package/src/lightning/baseCombobox/baseCombobox.html +2 -1
  42. package/src/lightning/baseCombobox/baseCombobox.js +21 -0
  43. package/src/lightning/baseCombobox/input-text.slds.css +5 -5
  44. package/src/lightning/breadcrumbs/breadcrumbs.slds.css +1 -1
  45. package/src/lightning/button/button.js +5 -0
  46. package/src/lightning/button/button.slds.css +16 -15
  47. package/src/lightning/buttonIcon/__docs__/buttonIcon.md +4 -0
  48. package/src/lightning/buttonIcon/__examples__/basic/basic.html +17 -1
  49. package/src/lightning/buttonIcon/button-icon.slds.css +41 -25
  50. package/src/lightning/buttonIconStateful/button-icon-stateful.slds.css +33 -229
  51. package/src/lightning/buttonIconStateful/button-icon.slds.css +41 -25
  52. package/src/lightning/buttonIconStateful/button.slds.css +16 -15
  53. package/src/lightning/buttonMenu/button-icon.slds.css +41 -25
  54. package/src/lightning/buttonMenu/button-menu.slds.css +41 -15
  55. package/src/lightning/buttonMenu/button.slds.css +16 -15
  56. package/src/lightning/buttonMenu/buttonMenu.css +1 -1
  57. package/src/lightning/buttonMenu/buttonMenu.html +1 -1
  58. package/src/lightning/buttonMenu/buttonMenu.js +44 -4
  59. package/src/lightning/buttonStateful/button-stateful.slds.css +1 -4
  60. package/src/lightning/buttonStateful/button.slds.css +16 -15
  61. package/src/lightning/calendar/calendar.html +3 -4
  62. package/src/lightning/card/card.html +1 -1
  63. package/src/lightning/colorPickerCustom/colorPickerCustom.html +1 -1
  64. package/src/lightning/colorPickerCustom/colorPickerCustom.js +0 -9
  65. package/src/lightning/colorPickerCustom/input-text.slds.css +5 -5
  66. package/src/lightning/combobox/form-element.slds.css +1 -0
  67. package/src/lightning/confirm/confirm.js +10 -8
  68. package/src/lightning/datatable/__docs__/datatable.md +0 -3
  69. package/src/lightning/datatable/__examples__disabled/customComponentPopupTableWrapper/README.md +17 -0
  70. package/src/lightning/datatable/__examples__disabled/customComponentPopupTableWrapper/customComponentPopupTableWrapper.html +11 -0
  71. package/src/lightning/datatable/__examples__disabled/customComponentPopupTableWrapper/customComponentPopupTableWrapper.js +25 -0
  72. package/src/lightning/datatable/__examples__disabled/customComponentPopupTableWrapper/generateData.js +15 -0
  73. package/src/lightning/datatable/__examples__disabled/myCustomTypePopupTable/customInput.html +4 -0
  74. package/src/lightning/datatable/__examples__disabled/myCustomTypePopupTable/myCustomTypePopupTable.js +17 -0
  75. package/src/lightning/datatable/__examples__disabled/myCustomTypePopupTable/nestedSimpleComponentParent.html +7 -0
  76. package/src/lightning/datatable/__examples__disabled/simpleComponentPopupNested/simpleComponentPopupNested.html +31 -0
  77. package/src/lightning/datatable/__examples__disabled/simpleComponentPopupNested/simpleComponentPopupNested.js +36 -0
  78. package/src/lightning/datatable/columnWidthManager.js +19 -16
  79. package/src/lightning/datatable/columns.js +74 -25
  80. package/src/lightning/datatable/datatable.js +493 -133
  81. package/src/lightning/datatable/errors.js +1 -1
  82. package/src/lightning/datatable/indexes.js +32 -19
  83. package/src/lightning/datatable/infiniteLoading.js +6 -5
  84. package/src/lightning/datatable/inlineEdit.js +45 -59
  85. package/src/lightning/datatable/keyboard.js +571 -160
  86. package/src/lightning/datatable/renderManager.js +12 -9
  87. package/src/lightning/datatable/rowLevelActions.js +5 -14
  88. package/src/lightning/datatable/rowSelection.js +36 -17
  89. package/src/lightning/datatable/rowSelectionShared.js +1 -0
  90. package/src/lightning/datatable/rows.js +132 -24
  91. package/src/lightning/datatable/rowsInlining.js +473 -0
  92. package/src/lightning/datatable/sort.js +8 -4
  93. package/src/lightning/datatable/state.js +12 -4
  94. package/src/lightning/datatable/templates/div/div.html +807 -91
  95. package/src/lightning/datatable/templates/div/div.lbc.synthetic.css +29 -3
  96. package/src/lightning/datatable/templates/table/table.css +29 -1
  97. package/src/lightning/datatable/templates/table/table.html +786 -87
  98. package/src/lightning/datatable/utils.js +39 -0
  99. package/src/lightning/datatable/virtualization.js +44 -19
  100. package/src/lightning/datatable/wrapText.js +7 -10
  101. package/src/lightning/datepicker/datepicker.html +3 -1
  102. package/src/lightning/datepicker/datepicker.js +31 -1
  103. package/src/lightning/datepicker/form-element.slds.css +1 -0
  104. package/src/lightning/datepicker/input-text.slds.css +5 -5
  105. package/src/lightning/datetimepicker/datetimepicker.html +7 -1
  106. package/src/lightning/datetimepicker/datetimepicker.js +30 -2
  107. package/src/lightning/datetimepicker/form-element.slds.css +1 -0
  108. package/src/lightning/datetimepicker/input-text.slds.css +5 -5
  109. package/src/lightning/dualListbox/form-element.slds.css +1 -0
  110. package/src/lightning/focusTrap/focusTrap.css +7 -0
  111. package/src/lightning/groupedCombobox/form-element.slds.css +1 -0
  112. package/src/lightning/groupedCombobox/input-text.slds.css +5 -5
  113. package/src/lightning/helptext/button-icon.slds.css +41 -25
  114. package/src/lightning/helptext/form-element.slds.css +1 -0
  115. package/src/lightning/icon/__docs__/icon.md +0 -2
  116. package/src/lightning/iconSvgTemplates/buildTemplates/standard/account_score.html +8 -0
  117. package/src/lightning/iconSvgTemplates/buildTemplates/standard/aggregate.html +8 -0
  118. package/src/lightning/iconSvgTemplates/buildTemplates/standard/app_form_participant.html +11 -0
  119. package/src/lightning/iconSvgTemplates/buildTemplates/standard/app_form_product_participant.html +12 -0
  120. package/src/lightning/iconSvgTemplates/buildTemplates/standard/cost_model.html +7 -0
  121. package/src/lightning/iconSvgTemplates/buildTemplates/standard/labels.html +8 -0
  122. package/src/lightning/iconSvgTemplates/buildTemplates/standard/list_fee.html +7 -0
  123. package/src/lightning/iconSvgTemplates/buildTemplates/standard/list_rate.html +7 -0
  124. package/src/lightning/iconSvgTemplates/buildTemplates/standard/party_profile.html +8 -0
  125. package/src/lightning/iconSvgTemplates/buildTemplates/standard/path_experiment.html +7 -0
  126. package/src/lightning/iconSvgTemplates/buildTemplates/standard/people_score.html +8 -0
  127. package/src/lightning/iconSvgTemplates/buildTemplates/standard/price_adjustment_schedule.html +8 -0
  128. package/src/lightning/iconSvgTemplates/buildTemplates/standard/price_adjustment_tier.html +7 -0
  129. package/src/lightning/iconSvgTemplates/buildTemplates/standard/program_cohort.html +7 -0
  130. package/src/lightning/iconSvgTemplates/buildTemplates/standard/program_cohort_member.html +7 -0
  131. package/src/lightning/iconSvgTemplates/buildTemplates/standard/rate_adjustment.html +7 -0
  132. package/src/lightning/iconSvgTemplates/buildTemplates/standard/record_consent.html +7 -0
  133. package/src/lightning/iconSvgTemplates/buildTemplates/standard/whatsapp.html +7 -0
  134. package/src/lightning/iconSvgTemplates/buildTemplates/templates.js +40 -1
  135. package/src/lightning/iconSvgTemplates/buildTemplates/utility/aggregate.html +8 -0
  136. package/src/lightning/iconSvgTemplates/buildTemplates/utility/array.html +7 -0
  137. package/src/lightning/iconSvgTemplates/buildTemplates/utility/bottom_group_alignment.html +7 -0
  138. package/src/lightning/iconSvgTemplates/buildTemplates/utility/cant_sync.html +7 -0
  139. package/src/lightning/iconSvgTemplates/buildTemplates/utility/center_group_alignment.html +8 -0
  140. package/src/lightning/iconSvgTemplates/buildTemplates/utility/columns.html +7 -0
  141. package/src/lightning/iconSvgTemplates/buildTemplates/utility/fully_synced.html +8 -0
  142. package/src/lightning/iconSvgTemplates/buildTemplates/utility/inner_join.html +7 -0
  143. package/src/lightning/iconSvgTemplates/buildTemplates/utility/join.html +8 -0
  144. package/src/lightning/iconSvgTemplates/buildTemplates/utility/left_join.html +14 -0
  145. package/src/lightning/iconSvgTemplates/buildTemplates/utility/macros.html +2 -2
  146. package/src/lightning/iconSvgTemplates/buildTemplates/utility/not_in_sync.html +7 -0
  147. package/src/lightning/iconSvgTemplates/buildTemplates/utility/not_saved.html +9 -0
  148. package/src/lightning/iconSvgTemplates/buildTemplates/utility/outer_join.html +7 -0
  149. package/src/lightning/iconSvgTemplates/buildTemplates/utility/path_experiment.html +7 -0
  150. package/src/lightning/iconSvgTemplates/buildTemplates/utility/program_cohort.html +7 -0
  151. package/src/lightning/iconSvgTemplates/buildTemplates/utility/program_cohort_member.html +7 -0
  152. package/src/lightning/iconSvgTemplates/buildTemplates/utility/record_consent.html +7 -0
  153. package/src/lightning/iconSvgTemplates/buildTemplates/utility/right_join.html +7 -0
  154. package/src/lightning/iconSvgTemplates/buildTemplates/utility/skill.html +8 -0
  155. package/src/lightning/iconSvgTemplates/buildTemplates/utility/sync_in_progress.html +7 -0
  156. package/src/lightning/iconSvgTemplates/buildTemplates/utility/top_group_alignment.html +7 -0
  157. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/account_score.html +8 -0
  158. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/aggregate.html +8 -0
  159. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/app_form_participant.html +11 -0
  160. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/app_form_product_participant.html +12 -0
  161. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/cost_model.html +7 -0
  162. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/labels.html +8 -0
  163. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/list_fee.html +7 -0
  164. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/list_rate.html +7 -0
  165. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/party_profile.html +8 -0
  166. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/path_experiment.html +7 -0
  167. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/people_score.html +8 -0
  168. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/price_adjustment_schedule.html +8 -0
  169. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/price_adjustment_tier.html +7 -0
  170. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/program_cohort.html +7 -0
  171. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/program_cohort_member.html +7 -0
  172. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/rate_adjustment.html +7 -0
  173. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/record_consent.html +7 -0
  174. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/whatsapp.html +7 -0
  175. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/templates.js +40 -1
  176. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/aggregate.html +8 -0
  177. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/array.html +7 -0
  178. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/bottom_group_alignment.html +7 -0
  179. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/cant_sync.html +7 -0
  180. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/center_group_alignment.html +8 -0
  181. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/columns.html +7 -0
  182. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/fully_synced.html +8 -0
  183. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/inner_join.html +7 -0
  184. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/join.html +8 -0
  185. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/left_join.html +14 -0
  186. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/macros.html +2 -2
  187. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/not_in_sync.html +7 -0
  188. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/not_saved.html +9 -0
  189. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/outer_join.html +7 -0
  190. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/path_experiment.html +7 -0
  191. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/program_cohort.html +7 -0
  192. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/program_cohort_member.html +7 -0
  193. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/record_consent.html +7 -0
  194. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/right_join.html +7 -0
  195. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/skill.html +8 -0
  196. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/sync_in_progress.html +7 -0
  197. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/top_group_alignment.html +7 -0
  198. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/account_score.html +8 -0
  199. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/aggregate.html +8 -0
  200. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/app_form_participant.html +11 -0
  201. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/app_form_product_participant.html +12 -0
  202. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/cost_model.html +7 -0
  203. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/labels.html +8 -0
  204. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/list_fee.html +7 -0
  205. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/list_rate.html +7 -0
  206. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/party_profile.html +8 -0
  207. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/path_experiment.html +7 -0
  208. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/people_score.html +8 -0
  209. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/price_adjustment_schedule.html +8 -0
  210. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/price_adjustment_tier.html +7 -0
  211. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/program_cohort.html +7 -0
  212. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/program_cohort_member.html +7 -0
  213. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/rate_adjustment.html +7 -0
  214. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/record_consent.html +7 -0
  215. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/whatsapp.html +7 -0
  216. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/templates.js +19 -1
  217. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/account_score.html +8 -0
  218. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/aggregate.html +8 -0
  219. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/app_form_participant.html +11 -0
  220. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/app_form_product_participant.html +12 -0
  221. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/cost_model.html +7 -0
  222. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/labels.html +8 -0
  223. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/list_fee.html +7 -0
  224. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/list_rate.html +7 -0
  225. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/party_profile.html +8 -0
  226. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/path_experiment.html +7 -0
  227. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/people_score.html +8 -0
  228. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/price_adjustment_schedule.html +8 -0
  229. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/price_adjustment_tier.html +7 -0
  230. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/program_cohort.html +7 -0
  231. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/program_cohort_member.html +7 -0
  232. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/rate_adjustment.html +7 -0
  233. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/record_consent.html +7 -0
  234. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/whatsapp.html +7 -0
  235. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/templates.js +19 -1
  236. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/templates.js +22 -1
  237. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/aggregate.html +8 -0
  238. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/array.html +7 -0
  239. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/bottom_group_alignment.html +7 -0
  240. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/cant_sync.html +7 -0
  241. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/center_group_alignment.html +8 -0
  242. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/columns.html +7 -0
  243. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/fully_synced.html +8 -0
  244. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/inner_join.html +7 -0
  245. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/join.html +8 -0
  246. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/left_join.html +14 -0
  247. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/macros.html +2 -2
  248. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/not_in_sync.html +7 -0
  249. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/not_saved.html +9 -0
  250. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/outer_join.html +7 -0
  251. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/path_experiment.html +7 -0
  252. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/program_cohort.html +7 -0
  253. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/program_cohort_member.html +7 -0
  254. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/record_consent.html +7 -0
  255. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/right_join.html +7 -0
  256. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/skill.html +8 -0
  257. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/sync_in_progress.html +7 -0
  258. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/top_group_alignment.html +7 -0
  259. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/templates.js +22 -1
  260. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/aggregate.html +8 -0
  261. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/array.html +7 -0
  262. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/bottom_group_alignment.html +7 -0
  263. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/cant_sync.html +7 -0
  264. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/center_group_alignment.html +8 -0
  265. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/columns.html +7 -0
  266. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/fully_synced.html +8 -0
  267. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/inner_join.html +7 -0
  268. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/join.html +8 -0
  269. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/left_join.html +14 -0
  270. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/macros.html +2 -2
  271. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/not_in_sync.html +7 -0
  272. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/not_saved.html +9 -0
  273. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/outer_join.html +7 -0
  274. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/path_experiment.html +7 -0
  275. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/program_cohort.html +7 -0
  276. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/program_cohort_member.html +7 -0
  277. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/record_consent.html +7 -0
  278. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/right_join.html +7 -0
  279. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/skill.html +8 -0
  280. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/sync_in_progress.html +7 -0
  281. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/top_group_alignment.html +7 -0
  282. package/src/lightning/iconUtils/iconColors.js +1 -1
  283. package/src/lightning/input/form-element.slds.css +1 -0
  284. package/src/lightning/input/input.html +16 -2
  285. package/src/lightning/input/input.js +91 -3
  286. package/src/lightning/input/input.js-meta.xml +3 -0
  287. package/src/lightning/inputAddress/addressFormat.js +25 -11
  288. package/src/lightning/inputAddress/fieldsLayout.js +3 -0
  289. package/src/lightning/inputAddress/form-element.slds.css +1 -0
  290. package/src/lightning/inputAddress/input-text.slds.css +5 -5
  291. package/src/lightning/inputAddress/inputAddress.html +1 -1
  292. package/src/lightning/inputAddress/inputAddress.js +27 -11
  293. package/src/lightning/inputLocation/form-element.slds.css +1 -0
  294. package/src/lightning/inputLocation/input-text.slds.css +5 -5
  295. package/src/lightning/inputName/form-element.slds.css +1 -0
  296. package/src/lightning/inputName/input-text.slds.css +5 -5
  297. package/src/lightning/internationalizationLibrary/address/AddressFormat.js +2 -0
  298. package/src/lightning/layout/__docs__/layout.md +0 -2
  299. package/src/lightning/lookupAddress/form-element.slds.css +1 -0
  300. package/src/lightning/menuItem/menu-item.slds.css +3 -1
  301. package/src/lightning/modal/__modalUtils__/modalContainerTestConstants.js +7 -3
  302. package/src/lightning/modal/__modalUtils__/modalContainerTestMethods.js +18 -11
  303. package/src/lightning/modal/__modalUtils__/modalContainerTestMockData.js +1 -1
  304. package/src/lightning/modalBase/modalBase.css +4 -0
  305. package/src/lightning/modalBase/modalBase.html +16 -21
  306. package/src/lightning/modalBase/modalBase.js +46 -65
  307. package/src/lightning/modalHeader/modalHeader.html +3 -15
  308. package/src/lightning/modalHeader/modalHeader.js +14 -61
  309. package/src/lightning/multiColumnSortingModal/multiColumnSortingModal.css +14 -0
  310. package/src/lightning/multiColumnSortingModal/multiColumnSortingModal.html +55 -0
  311. package/src/lightning/multiColumnSortingModal/multiColumnSortingModal.js +430 -0
  312. package/src/lightning/multiColumnSortingModal/multiColumnSortingModal.js-meta.xml +4 -0
  313. package/src/lightning/overlayManager/overlayManager.js +16 -0
  314. package/src/lightning/pill/pill.js +19 -13
  315. package/src/lightning/pillContainer/button.slds.css +16 -15
  316. package/src/lightning/pillContainer/pillContainer.js +2 -1
  317. package/src/lightning/pillContainer/standardPillContainer.html +6 -2
  318. package/src/lightning/positionLibrary/direction.js +19 -0
  319. package/src/lightning/primitiveBubble/primitiveBubble.js +7 -0
  320. package/src/lightning/primitiveColorpickerButton/primitiveColorpickerButton.html +2 -2
  321. package/src/lightning/primitiveColorpickerButton/primitiveColorpickerButton.js +8 -0
  322. package/src/lightning/primitiveColumnSorter/primitiveColumnSorter.css +34 -0
  323. package/src/lightning/primitiveColumnSorter/primitiveColumnSorter.html +60 -0
  324. package/src/lightning/primitiveColumnSorter/primitiveColumnSorter.js +107 -0
  325. package/src/lightning/primitiveHeaderFactory/primitiveHeaderFactory.js +36 -3
  326. package/src/lightning/primitiveHeaderFactory/sortingMenuHeader.css +5 -0
  327. package/src/lightning/primitiveHeaderFactory/sortingMenuHeader.html +9 -0
  328. package/src/lightning/primitiveInputCheckbox/form-element.slds.css +1 -0
  329. package/src/lightning/primitiveInputCheckbox/input-checkbox.slds.css +3 -3
  330. package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.html +1 -1
  331. package/src/lightning/primitiveInputCheckboxButton/form-element.slds.css +1 -0
  332. package/src/lightning/primitiveInputCheckboxButton/input-checkbox-button.slds.css +6 -5
  333. package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.html +1 -1
  334. package/src/lightning/primitiveInputColor/form-element.slds.css +1 -0
  335. package/src/lightning/primitiveInputColor/input-text.slds.css +5 -5
  336. package/src/lightning/primitiveInputColor/primitiveInputColor.html +5 -2
  337. package/src/lightning/primitiveInputColor/primitiveInputColor.js +2 -0
  338. package/src/lightning/primitiveInputFile/button.slds.css +16 -15
  339. package/src/lightning/primitiveInputFile/form-element.slds.css +1 -0
  340. package/src/lightning/primitiveInputFile/primitiveInputFile.html +1 -1
  341. package/src/lightning/primitiveInputRadio/primitiveInputRadio.html +1 -1
  342. package/src/lightning/primitiveInputSimple/form-element.slds.css +1 -0
  343. package/src/lightning/primitiveInputSimple/input-text.slds.css +5 -5
  344. package/src/lightning/primitiveInputSimple/primitiveInputSimple.html +3 -2
  345. package/src/lightning/primitiveInputSimple/primitiveInputSimple.js +15 -0
  346. package/src/lightning/primitiveInputToggle/form-element.slds.css +1 -0
  347. package/src/lightning/primitiveInputToggle/input-toggle.slds.css +16 -14
  348. package/src/lightning/primitiveInputToggle/primitiveInputToggle.html +1 -1
  349. package/src/lightning/progressIndicator/path.html +8 -2
  350. package/src/lightning/progressIndicator/progressIndicator.js +26 -2
  351. package/src/lightning/progressRing/progress-ring.slds.css +1 -1
  352. package/src/lightning/progressStep/progressStep.js +2 -1
  353. package/src/lightning/prompt/prompt.js +11 -9
  354. package/src/lightning/radioGroup/form-element.slds.css +1 -0
  355. package/src/lightning/radioGroup/input-radio-group.slds.css +4 -10
  356. package/src/lightning/select/form-element.slds.css +1 -0
  357. package/src/lightning/select/select.js +89 -7
  358. package/src/lightning/tabBar/tab-bar.slds.css +11 -0
  359. package/src/lightning/tabset/tabset.slds.css +1 -1
  360. package/src/lightning/textarea/form-element.slds.css +1 -0
  361. package/src/lightning/textarea/textarea.html +1 -0
  362. package/src/lightning/textarea/textarea.slds.css +2 -2
  363. package/src/lightning/timepicker/form-element.slds.css +1 -0
  364. package/src/lightning/timepicker/timepicker.html +4 -1
  365. package/src/lightning/timepicker/timepicker.js +3 -0
  366. package/src/lightning/toast/button-icon.slds.css +41 -25
  367. package/src/lightning/tooltipLibrary/tooltipLibrary.js +4 -15
  368. package/src/lightning/verticalNavigationOverflow/button.slds.css +16 -15
  369. package/scopedImports/@salesforce-label-LightningLookup.messageWhenSearchTermTooShort.js +0 -1
@@ -0,0 +1,31 @@
1
+ <template>
2
+ <lightning-button-icon
3
+ icon-name="utility:price_book_entries"
4
+ class="slds-m-horizontal_small price-selector-icon"
5
+ variant="bare" size="medium" alternative-text="Pricing Options"
6
+ onclick={openPopup}
7
+ data-navigation="enable"
8
+ tabindex={internalTabIndex}
9
+ ></lightning-button-icon>
10
+
11
+ <!-- Since the only element that will appear on focus or blur of the custom cell is the button icon -->
12
+ <!-- We do not need to pass data-navigation here or tabindex since the popup will not exist on focus or blur -->
13
+ <!-- Which is where focus handling is handled by the datatable -->
14
+ <lightning-popup aria-describedby="popup-body" onkeydown={handleKeyDown}>
15
+ <div class="slds-popover slds-is-absolute slds-m-top_medium">
16
+ <header class="slds-popover__header price-selector-header slds-p-around_small">
17
+ <h2 class="slds-text-title_bold">Header</h2>
18
+ </header>
19
+ <div id="popup-body" class="slds-popover__body">
20
+ <div class="price-selector slds-p-horizontal_small">
21
+ <lightning-radio-group options={priceOptions1}
22
+ type="radio">
23
+ </lightning-radio-group>
24
+ </div>
25
+ <div class="price-selector-button slds-p-top_medium slds-p-bottom_xx-small">
26
+ <lightning-button variant="brand" label={buttonLabel1} title={buttonLabel1} class="slds-m-left_x-small" onclick={closePopup}></lightning-button>
27
+ </div>
28
+ </div>
29
+ </div>
30
+ </lightning-popup>
31
+ </template>
@@ -0,0 +1,36 @@
1
+ import { LightningElement, api } from 'lwc';
2
+
3
+ export default class CustomComponent extends LightningElement {
4
+ // Passing internal tab index down from parent.
5
+ @api internalTabIndex;
6
+ buttonLabel1 = 'XYZ';
7
+ priceOptions;
8
+ priceOptions1 = [
9
+ { label: 'Sales', value: 'option1' },
10
+ { label: 'Force', value: 'option2' },
11
+ ];
12
+ // When inside the popup we want to ensure that the keypresses do no bubble up to the table
13
+ handleKeyDown(event) {
14
+ event.stopPropagation();
15
+ }
16
+
17
+ openPopup() {
18
+ const referenceElement = this.template.querySelector(
19
+ 'lightning-button-icon'
20
+ );
21
+ // Show the popup relative to the button, and left-align
22
+ // the top of the popup with the bottom of the button
23
+ this.popup.show(referenceElement, {
24
+ reference: { horizontal: 'left', vertical: 'bottom' },
25
+ popup: { horizontal: 'left', vertical: 'top' },
26
+ });
27
+ }
28
+
29
+ closePopup() {
30
+ this.popup.close();
31
+ }
32
+
33
+ get popup() {
34
+ return this.template.querySelector('lightning-popup');
35
+ }
36
+ }
@@ -53,7 +53,6 @@ export function updateColumnWidths(columns, widthsData, adjustedWidths) {
53
53
  */
54
54
  export class ColumnWidthManager {
55
55
  columnWidthMode = FIXED_WIDTH_MODE;
56
- resizeObserverAvailable = typeof ResizeObserver === 'function';
57
56
 
58
57
  // Flag to indicate resetting column widths is needed.
59
58
  // Could be with or without `autoResizingUpdate`.
@@ -212,17 +211,11 @@ export class ColumnWidthManager {
212
211
  * @param {Object} newData The new data
213
212
  * @param {Array} columns The column definitions
214
213
  */
215
- handleDataChange(previousData, newData, columns) {
216
- if (columns.length > 0) {
217
- // Resize columns with auto-resizing update only if...
218
- // The mode is auto and new data length is equal to previous data
219
- // length (change in data) or previously there was no data at all.
220
- if (this.columnWidthMode === AUTO_WIDTH_MODE) {
221
- if (this.hasDataChanged(previousData, newData)) {
222
- this.isResizingUpdateQueued = true;
223
- this.setAutoResizingUpdate(columns);
224
- }
225
- }
214
+ handleDataChange(columns) {
215
+ // Resize columns with auto-resizing update only if the mode is auto
216
+ if (this.columnWidthMode === AUTO_WIDTH_MODE) {
217
+ this.isResizingUpdateQueued = true;
218
+ this.setAutoResizingUpdate(columns);
226
219
  }
227
220
  }
228
221
 
@@ -268,7 +261,6 @@ export class ColumnWidthManager {
268
261
  // When columns are resized with the resizer, a horizontal scroller appears.
269
262
  // Adjusting the columns size will respect widths already set and try to fit this column.
270
263
  this.isResizingUpdateQueued = true;
271
- this.setAutoResizingUpdate(columns);
272
264
  }
273
265
  }
274
266
  }
@@ -287,6 +279,19 @@ export class ColumnWidthManager {
287
279
  }
288
280
  }
289
281
 
282
+ /**
283
+ * React to change in show-actions-menu
284
+ *
285
+ * @param {Any} previousValue The previous column value
286
+ * @param {Any} newValue The new column value
287
+ * @param {Array} columns The column definitions
288
+ */
289
+ handleActionsColumnChange(previousValue, newValue, columns) {
290
+ if (columns.length > 0 && previousValue !== newValue) {
291
+ this.isResizingUpdateQueued = true;
292
+ }
293
+ }
294
+
290
295
  /**
291
296
  * React to change in show-row-number-column
292
297
  *
@@ -348,9 +353,7 @@ export class ColumnWidthManager {
348
353
  if (widthsData.columnWidths.length > 0) {
349
354
  // Can resize from DOM when table is visible.
350
355
  // Otherwise, only when `ResizeObserver` is available in browser.
351
- return (
352
- this.resizeObserverAvailable || isTableRenderedVisible(template)
353
- );
356
+ return isTableRenderedVisible(template);
354
357
  }
355
358
  return true;
356
359
  }
@@ -2,8 +2,12 @@ import labelRowNumber from '@salesforce/label/LightningDatatable.rowNumber';
2
2
  import rowActionsDefaultAriaLabel from '@salesforce/label/LightningDatatable.rowActionsDefaultAriaLabel';
3
3
  import { normalizeBoolean } from 'lightning/utilsPrivate';
4
4
  import { isObjectLike } from './utils';
5
+ import { addHeaderIndex, getCellByKeys, HEADER_ROW_KEY } from './indexes';
5
6
  import { ROW_NUMBER_INITIAL_WIDTH } from './rowNumber';
6
- import { SELECTABLE_HEADER_TYPE } from './rowSelectionShared';
7
+ import {
8
+ SELECTABLE_HEADER_TYPE,
9
+ SORTING_MENU_HEADER_TYPE,
10
+ } from './rowSelectionShared';
7
11
 
8
12
  const i18n = {
9
13
  rowActionsDefaultAriaLabel,
@@ -29,6 +33,14 @@ const SELECTABLE_COLUMN = {
29
33
  tabIndex: -1,
30
34
  };
31
35
 
36
+ const SORTING_MENU_COLUMN = {
37
+ type: SORTING_MENU_HEADER_TYPE,
38
+ fixedWidth: 32,
39
+ internal: true,
40
+ tabIndex: -1,
41
+ resizable: false,
42
+ };
43
+
32
44
  /**
33
45
  * Steps through and corrects column definitions inconsistencies.
34
46
  *
@@ -48,14 +60,28 @@ export function setColumns(state, rawColumns, types) {
48
60
  state.hadTreeDataTypePreviously = state.treeColumn !== undefined;
49
61
  state.treeColumn = undefined;
50
62
 
63
+ // Remove old header indexes.
64
+ let { headerIndexes } = state;
65
+ const { indexes } = state;
66
+ // Don't clear all indexes just remove old header indexes from the shared indexes object.
67
+ for (let i = 0, { length } = headerIndexes; i < length; i += 1) {
68
+ // Setting to `undefined` instead of using `delete` for better performance.
69
+ indexes[headerIndexes[i].cellKeyValue] = undefined;
70
+ }
71
+
51
72
  const { length: colCount } = rawColumns;
52
73
  if (colCount === 0) {
53
74
  // Tracked state change.
54
75
  state.columns = [];
76
+ // Untracked state changes.
77
+ state.headerIndexes = [];
55
78
  return;
56
79
  }
80
+
81
+ // var to track the column where the last action column is present
82
+ let lastActionColumnIndex = -1;
57
83
  let normColCount = colCount;
58
- let { showRowNumberColumn } = state;
84
+ let { showRowNumberColumn, showActionsMenu } = state;
59
85
  const notHideCheckboxColumn = !state.hideCheckboxColumn;
60
86
 
61
87
  if (!showRowNumberColumn) {
@@ -74,10 +100,33 @@ export function setColumns(state, rawColumns, types) {
74
100
  if (notHideCheckboxColumn) {
75
101
  normColCount += 1;
76
102
  }
77
- const normalizedColumns = Array(normColCount);
78
103
 
104
+ // set variable to see if there is an 'action' column present
105
+ rawColumns.forEach((column, index) => {
106
+ if (column.type === 'action') {
107
+ lastActionColumnIndex = index;
108
+ }
109
+ });
110
+
111
+ const isActionColumnInEnd = lastActionColumnIndex === rawColumns.length - 1;
112
+
113
+ /**
114
+ * only want to add an extra column for the sorting menu if type='action' column is
115
+ * not in the last column of datatable, if it is, then we can use its column header
116
+ * for the sorting menu
117
+ **/
118
+ if (showActionsMenu && !isActionColumnInEnd) {
119
+ normColCount += 1;
120
+ }
121
+ let normalizedColumns = Array(normColCount);
122
+
123
+ // Store in caches early so data can be referenced by other methods
124
+ // during initialization.
125
+ headerIndexes = Array(normColCount);
79
126
  // Tracked state change.
80
127
  state.columns = normalizedColumns;
128
+ // Untracked state change.
129
+ state.headerIndexes = headerIndexes;
81
130
 
82
131
  let firstColumnForReaders = 0;
83
132
  if (showRowNumberColumn) {
@@ -94,6 +143,15 @@ export function setColumns(state, rawColumns, types) {
94
143
  );
95
144
  firstColumnForReaders += 1;
96
145
  }
146
+
147
+ // if there is no action column existing, assign SORTING_MENU_COLUMN to last column
148
+ if (showActionsMenu && !isActionColumnInEnd) {
149
+ normalizedColumns[normColCount - 1] = Object.assign(
150
+ // Assign to the last column
151
+ {},
152
+ SORTING_MENU_COLUMN
153
+ );
154
+ }
97
155
  for (let colIndex = 0; colIndex < colCount; colIndex += 1) {
98
156
  normalizedColumns[colIndex + firstColumnForReaders] =
99
157
  rawColumns[colIndex];
@@ -185,11 +243,13 @@ export function setColumns(state, rawColumns, types) {
185
243
  `${colName || colIndex}-${columnType}-${colIndex}`;
186
244
 
187
245
  normCol.colKeyValue = colKeyValue;
188
- normCol.isScopeCol = colIndex === firstColumnForReaders;
189
246
  normCol.isLastCol = colIndex === normColCount - 1;
247
+ normCol.isScopeCol = colIndex === firstColumnForReaders;
190
248
  normCol.name = colName;
191
249
  normCol.tabIndex = -1;
192
250
 
251
+ addHeaderIndex(headerIndexes, indexes, colKeyValue, colIndex);
252
+
193
253
  // normalize tree column
194
254
  if (normCol.type === 'tree') {
195
255
  if (state.treeColumn === undefined) {
@@ -221,7 +281,7 @@ export function setColumns(state, rawColumns, types) {
221
281
  ? 'auto-right'
222
282
  : 'auto-left',
223
283
  customerActions: Array.isArray(actions) ? actions : [],
224
- internalActions: undefined,
284
+ internalActions: [],
225
285
  };
226
286
  }
227
287
  }
@@ -269,8 +329,13 @@ export function getCellAttributesValues(column) {
269
329
  */
270
330
  export function getUserColumnIndex(state, colKeyValue) {
271
331
  const { columns } = state;
272
- const colIndex = state.headerIndexes[colKeyValue];
273
- if (columns[colIndex].internal) {
332
+ const headerCell = getCellByKeys(state, HEADER_ROW_KEY, colKeyValue);
333
+ const colIndex = headerCell && headerCell.colIndex;
334
+ if (
335
+ colIndex === undefined ||
336
+ colIndex === -1 ||
337
+ columns[colIndex].internal
338
+ ) {
274
339
  return -1;
275
340
  }
276
341
  let internalColumns = 0;
@@ -283,23 +348,6 @@ export function getUserColumnIndex(state, colKeyValue) {
283
348
  return colIndex - internalColumns;
284
349
  }
285
350
 
286
- /**
287
- * It generate headerIndexes based in the current metadata
288
- * headerIndexes represent the position of the header(column)
289
- * based on the unique colKeyValue
290
- *
291
- * These indexes are set in the state object - `state.headerIndexes`
292
- *
293
- * @param {Object} columns The current normalized column metadata
294
- * @returns {Object} headerIndexes e.g. { 'name-text': 0, 'amount-number': 1 }
295
- */
296
- export const generateHeaderIndexes = function (columns) {
297
- return columns.reduce((prev, col, index) => {
298
- prev[col.colKeyValue] = index;
299
- return prev;
300
- }, {});
301
- };
302
-
303
351
  /**
304
352
  * Return the index in state.columns (internal definition) related to colKeyValue.
305
353
  *
@@ -308,5 +356,6 @@ export const generateHeaderIndexes = function (columns) {
308
356
  * @returns {Number} The index in state.columns
309
357
  */
310
358
  export function getStateColumnIndex(state, colKeyValue) {
311
- return state.headerIndexes[colKeyValue];
359
+ const headerCell = getCellByKeys(state, HEADER_ROW_KEY, colKeyValue);
360
+ return headerCell === undefined ? -1 : headerCell.colIndex;
312
361
  }