lightning-base-components 1.21.6-alpha → 1.21.7-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 (368) 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/button/button.js +5 -0
  45. package/src/lightning/button/button.slds.css +16 -15
  46. package/src/lightning/buttonIcon/__docs__/buttonIcon.md +4 -0
  47. package/src/lightning/buttonIcon/__examples__/basic/basic.html +17 -1
  48. package/src/lightning/buttonIcon/button-icon.slds.css +41 -25
  49. package/src/lightning/buttonIconStateful/button-icon-stateful.slds.css +33 -229
  50. package/src/lightning/buttonIconStateful/button-icon.slds.css +41 -25
  51. package/src/lightning/buttonIconStateful/button.slds.css +16 -15
  52. package/src/lightning/buttonMenu/button-icon.slds.css +41 -25
  53. package/src/lightning/buttonMenu/button-menu.slds.css +41 -15
  54. package/src/lightning/buttonMenu/button.slds.css +16 -15
  55. package/src/lightning/buttonMenu/buttonMenu.css +1 -1
  56. package/src/lightning/buttonMenu/buttonMenu.html +1 -1
  57. package/src/lightning/buttonMenu/buttonMenu.js +44 -4
  58. package/src/lightning/buttonStateful/button-stateful.slds.css +1 -4
  59. package/src/lightning/buttonStateful/button.slds.css +16 -15
  60. package/src/lightning/calendar/calendar.html +3 -4
  61. package/src/lightning/card/card.html +1 -1
  62. package/src/lightning/colorPickerCustom/colorPickerCustom.html +1 -1
  63. package/src/lightning/colorPickerCustom/colorPickerCustom.js +0 -9
  64. package/src/lightning/colorPickerCustom/input-text.slds.css +5 -5
  65. package/src/lightning/combobox/form-element.slds.css +1 -0
  66. package/src/lightning/confirm/confirm.js +10 -8
  67. package/src/lightning/datatable/__docs__/datatable.md +0 -3
  68. package/src/lightning/datatable/__examples__disabled/customComponentPopupTableWrapper/README.md +17 -0
  69. package/src/lightning/datatable/__examples__disabled/customComponentPopupTableWrapper/customComponentPopupTableWrapper.html +11 -0
  70. package/src/lightning/datatable/__examples__disabled/customComponentPopupTableWrapper/customComponentPopupTableWrapper.js +25 -0
  71. package/src/lightning/datatable/__examples__disabled/customComponentPopupTableWrapper/generateData.js +15 -0
  72. package/src/lightning/datatable/__examples__disabled/myCustomTypePopupTable/customInput.html +4 -0
  73. package/src/lightning/datatable/__examples__disabled/myCustomTypePopupTable/myCustomTypePopupTable.js +17 -0
  74. package/src/lightning/datatable/__examples__disabled/myCustomTypePopupTable/nestedSimpleComponentParent.html +7 -0
  75. package/src/lightning/datatable/__examples__disabled/simpleComponentPopupNested/simpleComponentPopupNested.html +31 -0
  76. package/src/lightning/datatable/__examples__disabled/simpleComponentPopupNested/simpleComponentPopupNested.js +36 -0
  77. package/src/lightning/datatable/columnWidthManager.js +19 -16
  78. package/src/lightning/datatable/columns.js +74 -25
  79. package/src/lightning/datatable/datatable.js +493 -133
  80. package/src/lightning/datatable/errors.js +1 -1
  81. package/src/lightning/datatable/indexes.js +32 -19
  82. package/src/lightning/datatable/infiniteLoading.js +6 -5
  83. package/src/lightning/datatable/inlineEdit.js +45 -59
  84. package/src/lightning/datatable/keyboard.js +571 -160
  85. package/src/lightning/datatable/renderManager.js +12 -9
  86. package/src/lightning/datatable/rowLevelActions.js +5 -14
  87. package/src/lightning/datatable/rowSelection.js +36 -17
  88. package/src/lightning/datatable/rowSelectionShared.js +1 -0
  89. package/src/lightning/datatable/rows.js +132 -24
  90. package/src/lightning/datatable/rowsInlining.js +473 -0
  91. package/src/lightning/datatable/sort.js +8 -4
  92. package/src/lightning/datatable/state.js +12 -4
  93. package/src/lightning/datatable/templates/div/div.html +807 -91
  94. package/src/lightning/datatable/templates/div/div.lbc.synthetic.css +29 -3
  95. package/src/lightning/datatable/templates/table/table.css +29 -1
  96. package/src/lightning/datatable/templates/table/table.html +786 -87
  97. package/src/lightning/datatable/utils.js +39 -0
  98. package/src/lightning/datatable/virtualization.js +44 -19
  99. package/src/lightning/datatable/wrapText.js +7 -10
  100. package/src/lightning/datepicker/datepicker.html +3 -1
  101. package/src/lightning/datepicker/datepicker.js +31 -1
  102. package/src/lightning/datepicker/form-element.slds.css +1 -0
  103. package/src/lightning/datepicker/input-text.slds.css +5 -5
  104. package/src/lightning/datetimepicker/datetimepicker.html +7 -1
  105. package/src/lightning/datetimepicker/datetimepicker.js +30 -2
  106. package/src/lightning/datetimepicker/form-element.slds.css +1 -0
  107. package/src/lightning/datetimepicker/input-text.slds.css +5 -5
  108. package/src/lightning/dualListbox/form-element.slds.css +1 -0
  109. package/src/lightning/focusTrap/focusTrap.css +7 -0
  110. package/src/lightning/groupedCombobox/form-element.slds.css +1 -0
  111. package/src/lightning/groupedCombobox/input-text.slds.css +5 -5
  112. package/src/lightning/helptext/button-icon.slds.css +41 -25
  113. package/src/lightning/helptext/form-element.slds.css +1 -0
  114. package/src/lightning/icon/__docs__/icon.md +0 -2
  115. package/src/lightning/iconSvgTemplates/buildTemplates/standard/account_score.html +8 -0
  116. package/src/lightning/iconSvgTemplates/buildTemplates/standard/aggregate.html +8 -0
  117. package/src/lightning/iconSvgTemplates/buildTemplates/standard/app_form_participant.html +11 -0
  118. package/src/lightning/iconSvgTemplates/buildTemplates/standard/app_form_product_participant.html +12 -0
  119. package/src/lightning/iconSvgTemplates/buildTemplates/standard/cost_model.html +7 -0
  120. package/src/lightning/iconSvgTemplates/buildTemplates/standard/labels.html +8 -0
  121. package/src/lightning/iconSvgTemplates/buildTemplates/standard/list_fee.html +7 -0
  122. package/src/lightning/iconSvgTemplates/buildTemplates/standard/list_rate.html +7 -0
  123. package/src/lightning/iconSvgTemplates/buildTemplates/standard/party_profile.html +8 -0
  124. package/src/lightning/iconSvgTemplates/buildTemplates/standard/path_experiment.html +7 -0
  125. package/src/lightning/iconSvgTemplates/buildTemplates/standard/people_score.html +8 -0
  126. package/src/lightning/iconSvgTemplates/buildTemplates/standard/price_adjustment_schedule.html +8 -0
  127. package/src/lightning/iconSvgTemplates/buildTemplates/standard/price_adjustment_tier.html +7 -0
  128. package/src/lightning/iconSvgTemplates/buildTemplates/standard/program_cohort.html +7 -0
  129. package/src/lightning/iconSvgTemplates/buildTemplates/standard/program_cohort_member.html +7 -0
  130. package/src/lightning/iconSvgTemplates/buildTemplates/standard/rate_adjustment.html +7 -0
  131. package/src/lightning/iconSvgTemplates/buildTemplates/standard/record_consent.html +7 -0
  132. package/src/lightning/iconSvgTemplates/buildTemplates/standard/whatsapp.html +7 -0
  133. package/src/lightning/iconSvgTemplates/buildTemplates/templates.js +40 -1
  134. package/src/lightning/iconSvgTemplates/buildTemplates/utility/aggregate.html +8 -0
  135. package/src/lightning/iconSvgTemplates/buildTemplates/utility/array.html +7 -0
  136. package/src/lightning/iconSvgTemplates/buildTemplates/utility/bottom_group_alignment.html +7 -0
  137. package/src/lightning/iconSvgTemplates/buildTemplates/utility/cant_sync.html +7 -0
  138. package/src/lightning/iconSvgTemplates/buildTemplates/utility/center_group_alignment.html +8 -0
  139. package/src/lightning/iconSvgTemplates/buildTemplates/utility/columns.html +7 -0
  140. package/src/lightning/iconSvgTemplates/buildTemplates/utility/fully_synced.html +8 -0
  141. package/src/lightning/iconSvgTemplates/buildTemplates/utility/inner_join.html +7 -0
  142. package/src/lightning/iconSvgTemplates/buildTemplates/utility/join.html +8 -0
  143. package/src/lightning/iconSvgTemplates/buildTemplates/utility/left_join.html +14 -0
  144. package/src/lightning/iconSvgTemplates/buildTemplates/utility/macros.html +2 -2
  145. package/src/lightning/iconSvgTemplates/buildTemplates/utility/not_in_sync.html +7 -0
  146. package/src/lightning/iconSvgTemplates/buildTemplates/utility/not_saved.html +9 -0
  147. package/src/lightning/iconSvgTemplates/buildTemplates/utility/outer_join.html +7 -0
  148. package/src/lightning/iconSvgTemplates/buildTemplates/utility/path_experiment.html +7 -0
  149. package/src/lightning/iconSvgTemplates/buildTemplates/utility/program_cohort.html +7 -0
  150. package/src/lightning/iconSvgTemplates/buildTemplates/utility/program_cohort_member.html +7 -0
  151. package/src/lightning/iconSvgTemplates/buildTemplates/utility/record_consent.html +7 -0
  152. package/src/lightning/iconSvgTemplates/buildTemplates/utility/right_join.html +7 -0
  153. package/src/lightning/iconSvgTemplates/buildTemplates/utility/skill.html +8 -0
  154. package/src/lightning/iconSvgTemplates/buildTemplates/utility/sync_in_progress.html +7 -0
  155. package/src/lightning/iconSvgTemplates/buildTemplates/utility/top_group_alignment.html +7 -0
  156. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/account_score.html +8 -0
  157. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/aggregate.html +8 -0
  158. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/app_form_participant.html +11 -0
  159. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/app_form_product_participant.html +12 -0
  160. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/cost_model.html +7 -0
  161. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/labels.html +8 -0
  162. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/list_fee.html +7 -0
  163. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/list_rate.html +7 -0
  164. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/party_profile.html +8 -0
  165. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/path_experiment.html +7 -0
  166. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/people_score.html +8 -0
  167. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/price_adjustment_schedule.html +8 -0
  168. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/price_adjustment_tier.html +7 -0
  169. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/program_cohort.html +7 -0
  170. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/program_cohort_member.html +7 -0
  171. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/rate_adjustment.html +7 -0
  172. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/record_consent.html +7 -0
  173. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/whatsapp.html +7 -0
  174. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/templates.js +40 -1
  175. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/aggregate.html +8 -0
  176. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/array.html +7 -0
  177. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/bottom_group_alignment.html +7 -0
  178. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/cant_sync.html +7 -0
  179. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/center_group_alignment.html +8 -0
  180. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/columns.html +7 -0
  181. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/fully_synced.html +8 -0
  182. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/inner_join.html +7 -0
  183. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/join.html +8 -0
  184. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/left_join.html +14 -0
  185. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/macros.html +2 -2
  186. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/not_in_sync.html +7 -0
  187. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/not_saved.html +9 -0
  188. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/outer_join.html +7 -0
  189. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/path_experiment.html +7 -0
  190. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/program_cohort.html +7 -0
  191. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/program_cohort_member.html +7 -0
  192. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/record_consent.html +7 -0
  193. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/right_join.html +7 -0
  194. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/skill.html +8 -0
  195. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/sync_in_progress.html +7 -0
  196. package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/top_group_alignment.html +7 -0
  197. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/account_score.html +8 -0
  198. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/aggregate.html +8 -0
  199. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/app_form_participant.html +11 -0
  200. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/app_form_product_participant.html +12 -0
  201. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/cost_model.html +7 -0
  202. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/labels.html +8 -0
  203. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/list_fee.html +7 -0
  204. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/list_rate.html +7 -0
  205. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/party_profile.html +8 -0
  206. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/path_experiment.html +7 -0
  207. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/people_score.html +8 -0
  208. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/price_adjustment_schedule.html +8 -0
  209. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/price_adjustment_tier.html +7 -0
  210. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/program_cohort.html +7 -0
  211. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/program_cohort_member.html +7 -0
  212. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/rate_adjustment.html +7 -0
  213. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/record_consent.html +7 -0
  214. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/whatsapp.html +7 -0
  215. package/src/lightning/iconSvgTemplatesStandard/buildTemplates/templates.js +19 -1
  216. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/account_score.html +8 -0
  217. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/aggregate.html +8 -0
  218. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/app_form_participant.html +11 -0
  219. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/app_form_product_participant.html +12 -0
  220. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/cost_model.html +7 -0
  221. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/labels.html +8 -0
  222. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/list_fee.html +7 -0
  223. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/list_rate.html +7 -0
  224. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/party_profile.html +8 -0
  225. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/path_experiment.html +7 -0
  226. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/people_score.html +8 -0
  227. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/price_adjustment_schedule.html +8 -0
  228. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/price_adjustment_tier.html +7 -0
  229. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/program_cohort.html +7 -0
  230. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/program_cohort_member.html +7 -0
  231. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/rate_adjustment.html +7 -0
  232. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/record_consent.html +7 -0
  233. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/whatsapp.html +7 -0
  234. package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/templates.js +19 -1
  235. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/templates.js +22 -1
  236. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/aggregate.html +8 -0
  237. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/array.html +7 -0
  238. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/bottom_group_alignment.html +7 -0
  239. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/cant_sync.html +7 -0
  240. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/center_group_alignment.html +8 -0
  241. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/columns.html +7 -0
  242. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/fully_synced.html +8 -0
  243. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/inner_join.html +7 -0
  244. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/join.html +8 -0
  245. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/left_join.html +14 -0
  246. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/macros.html +2 -2
  247. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/not_in_sync.html +7 -0
  248. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/not_saved.html +9 -0
  249. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/outer_join.html +7 -0
  250. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/path_experiment.html +7 -0
  251. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/program_cohort.html +7 -0
  252. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/program_cohort_member.html +7 -0
  253. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/record_consent.html +7 -0
  254. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/right_join.html +7 -0
  255. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/skill.html +8 -0
  256. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/sync_in_progress.html +7 -0
  257. package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/top_group_alignment.html +7 -0
  258. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/templates.js +22 -1
  259. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/aggregate.html +8 -0
  260. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/array.html +7 -0
  261. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/bottom_group_alignment.html +7 -0
  262. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/cant_sync.html +7 -0
  263. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/center_group_alignment.html +8 -0
  264. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/columns.html +7 -0
  265. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/fully_synced.html +8 -0
  266. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/inner_join.html +7 -0
  267. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/join.html +8 -0
  268. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/left_join.html +14 -0
  269. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/macros.html +2 -2
  270. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/not_in_sync.html +7 -0
  271. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/not_saved.html +9 -0
  272. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/outer_join.html +7 -0
  273. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/path_experiment.html +7 -0
  274. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/program_cohort.html +7 -0
  275. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/program_cohort_member.html +7 -0
  276. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/record_consent.html +7 -0
  277. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/right_join.html +7 -0
  278. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/skill.html +8 -0
  279. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/sync_in_progress.html +7 -0
  280. package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/top_group_alignment.html +7 -0
  281. package/src/lightning/iconUtils/iconColors.js +1 -1
  282. package/src/lightning/input/form-element.slds.css +1 -0
  283. package/src/lightning/input/input.html +16 -2
  284. package/src/lightning/input/input.js +91 -3
  285. package/src/lightning/input/input.js-meta.xml +3 -0
  286. package/src/lightning/inputAddress/addressFormat.js +25 -11
  287. package/src/lightning/inputAddress/fieldsLayout.js +3 -0
  288. package/src/lightning/inputAddress/form-element.slds.css +1 -0
  289. package/src/lightning/inputAddress/input-text.slds.css +5 -5
  290. package/src/lightning/inputAddress/inputAddress.html +1 -1
  291. package/src/lightning/inputAddress/inputAddress.js +27 -11
  292. package/src/lightning/inputLocation/form-element.slds.css +1 -0
  293. package/src/lightning/inputLocation/input-text.slds.css +5 -5
  294. package/src/lightning/inputName/form-element.slds.css +1 -0
  295. package/src/lightning/inputName/input-text.slds.css +5 -5
  296. package/src/lightning/internationalizationLibrary/address/AddressFormat.js +2 -0
  297. package/src/lightning/layout/__docs__/layout.md +0 -2
  298. package/src/lightning/lookupAddress/form-element.slds.css +1 -0
  299. package/src/lightning/menuItem/menu-item.slds.css +3 -1
  300. package/src/lightning/modal/__modalUtils__/modalContainerTestConstants.js +7 -3
  301. package/src/lightning/modal/__modalUtils__/modalContainerTestMethods.js +18 -11
  302. package/src/lightning/modal/__modalUtils__/modalContainerTestMockData.js +1 -1
  303. package/src/lightning/modalBase/modalBase.css +4 -0
  304. package/src/lightning/modalBase/modalBase.html +16 -21
  305. package/src/lightning/modalBase/modalBase.js +46 -65
  306. package/src/lightning/modalHeader/modalHeader.html +3 -15
  307. package/src/lightning/modalHeader/modalHeader.js +14 -61
  308. package/src/lightning/multiColumnSortingModal/multiColumnSortingModal.css +14 -0
  309. package/src/lightning/multiColumnSortingModal/multiColumnSortingModal.html +55 -0
  310. package/src/lightning/multiColumnSortingModal/multiColumnSortingModal.js +430 -0
  311. package/src/lightning/multiColumnSortingModal/multiColumnSortingModal.js-meta.xml +4 -0
  312. package/src/lightning/overlayManager/overlayManager.js +16 -0
  313. package/src/lightning/pill/pill.js +19 -13
  314. package/src/lightning/pillContainer/button.slds.css +16 -15
  315. package/src/lightning/pillContainer/pillContainer.js +2 -1
  316. package/src/lightning/pillContainer/standardPillContainer.html +6 -2
  317. package/src/lightning/positionLibrary/direction.js +19 -0
  318. package/src/lightning/primitiveBubble/primitiveBubble.js +7 -0
  319. package/src/lightning/primitiveColorpickerButton/primitiveColorpickerButton.html +2 -2
  320. package/src/lightning/primitiveColorpickerButton/primitiveColorpickerButton.js +8 -0
  321. package/src/lightning/primitiveColumnSorter/primitiveColumnSorter.css +34 -0
  322. package/src/lightning/primitiveColumnSorter/primitiveColumnSorter.html +60 -0
  323. package/src/lightning/primitiveColumnSorter/primitiveColumnSorter.js +107 -0
  324. package/src/lightning/primitiveHeaderFactory/primitiveHeaderFactory.js +36 -3
  325. package/src/lightning/primitiveHeaderFactory/sortingMenuHeader.css +5 -0
  326. package/src/lightning/primitiveHeaderFactory/sortingMenuHeader.html +9 -0
  327. package/src/lightning/primitiveInputCheckbox/form-element.slds.css +1 -0
  328. package/src/lightning/primitiveInputCheckbox/input-checkbox.slds.css +3 -3
  329. package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.html +1 -1
  330. package/src/lightning/primitiveInputCheckboxButton/form-element.slds.css +1 -0
  331. package/src/lightning/primitiveInputCheckboxButton/input-checkbox-button.slds.css +6 -5
  332. package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.html +1 -1
  333. package/src/lightning/primitiveInputColor/form-element.slds.css +1 -0
  334. package/src/lightning/primitiveInputColor/input-text.slds.css +5 -5
  335. package/src/lightning/primitiveInputColor/primitiveInputColor.html +5 -2
  336. package/src/lightning/primitiveInputColor/primitiveInputColor.js +2 -0
  337. package/src/lightning/primitiveInputFile/button.slds.css +16 -15
  338. package/src/lightning/primitiveInputFile/form-element.slds.css +1 -0
  339. package/src/lightning/primitiveInputFile/primitiveInputFile.html +1 -1
  340. package/src/lightning/primitiveInputRadio/primitiveInputRadio.html +1 -1
  341. package/src/lightning/primitiveInputSimple/form-element.slds.css +1 -0
  342. package/src/lightning/primitiveInputSimple/input-text.slds.css +5 -5
  343. package/src/lightning/primitiveInputSimple/primitiveInputSimple.html +3 -2
  344. package/src/lightning/primitiveInputSimple/primitiveInputSimple.js +15 -0
  345. package/src/lightning/primitiveInputToggle/form-element.slds.css +1 -0
  346. package/src/lightning/primitiveInputToggle/input-toggle.slds.css +16 -14
  347. package/src/lightning/primitiveInputToggle/primitiveInputToggle.html +1 -1
  348. package/src/lightning/progressIndicator/path.html +8 -2
  349. package/src/lightning/progressIndicator/progressIndicator.js +26 -2
  350. package/src/lightning/progressRing/progress-ring.slds.css +1 -1
  351. package/src/lightning/progressStep/progressStep.js +2 -1
  352. package/src/lightning/prompt/prompt.js +11 -9
  353. package/src/lightning/radioGroup/form-element.slds.css +1 -0
  354. package/src/lightning/radioGroup/input-radio-group.slds.css +4 -10
  355. package/src/lightning/select/form-element.slds.css +1 -0
  356. package/src/lightning/select/select.js +89 -7
  357. package/src/lightning/tabBar/tab-bar.slds.css +11 -0
  358. package/src/lightning/tabset/tabset.slds.css +1 -1
  359. package/src/lightning/textarea/form-element.slds.css +1 -0
  360. package/src/lightning/textarea/textarea.html +1 -0
  361. package/src/lightning/textarea/textarea.slds.css +2 -2
  362. package/src/lightning/timepicker/form-element.slds.css +1 -0
  363. package/src/lightning/timepicker/timepicker.html +4 -1
  364. package/src/lightning/timepicker/timepicker.js +3 -0
  365. package/src/lightning/toast/button-icon.slds.css +41 -25
  366. package/src/lightning/tooltipLibrary/tooltipLibrary.js +4 -15
  367. package/src/lightning/verticalNavigationOverflow/button.slds.css +16 -15
  368. package/scopedImports/@salesforce-label-LightningLookup.messageWhenSearchTermTooShort.js +0 -1
@@ -194,7 +194,7 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
194
194
  );
195
195
  --sds-c-button-spacing-inline: var(
196
196
  --slds-c-button-neutral-spacing-inline,
197
- var(--slds-s-button-spacing-inline, var(--slds-g-spacing-4))
197
+ var(--slds-s-button-spacing-inline, var(--slds-g-spacing-4));
198
198
  );
199
199
  --sds-c-button-spacing-block: var(--slds-c-button-neutral-spacing-block);
200
200
 
@@ -255,27 +255,27 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
255
255
  );
256
256
  --sds-c-button-color-background-hover: var(
257
257
  --slds-c-button-neutral-color-background-hover,
258
- var(--slds-g-color-surface-container-1)
258
+ var(--slds-g-color-surface-container-2)
259
259
  );
260
- --sds-c-button-color-background-focus: var(--slds-c-button-neutral-color-background-focus, var(--slds-g-color-surface-container-1));
260
+ --sds-c-button-color-background-focus: var(--slds-c-button-neutral-color-background-focus, var(--slds-g-color-surface-container-2));
261
261
  --sds-c-button-color-background-active: var(
262
262
  --slds-c-button-neutral-color-background-active,
263
- var(--slds-g-color-surface-container-1)
263
+ var(--slds-g-color-surface-container-2)
264
264
  );
265
265
 
266
266
  /* Border color */
267
- --sds-c-button-color-border: var(--slds-c-button-neutral-color-border, var(--slds-g-color-border-1));
267
+ --sds-c-button-color-border: var(--slds-c-button-neutral-color-border, var(--slds-g-color-border-2));
268
268
  --sds-c-button-color-border-hover: var(
269
269
  --slds-c-button-neutral-color-border-hover,
270
- var(--slds-g-color-border-accent-1)
270
+ var(--slds-g-color-border-2)
271
271
  );
272
272
  --sds-c-button-color-border-focus: var(
273
273
  --slds-c-button-neutral-color-border-focus,
274
- var(--slds-g-color-border-accent-1)
274
+ var(--slds-g-color-border-2)
275
275
  );
276
276
  --sds-c-button-color-border-active: var(
277
277
  --slds-c-button-neutral-color-border-active,
278
- var(--slds-g-color-border-accent-1)
278
+ var(--slds-g-color-border-2)
279
279
  );
280
280
 
281
281
  /* Text color */
@@ -290,11 +290,12 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
290
290
  /* Shadow */
291
291
  --sds-c-button-shadow: var(--slds-c-button-neutral-shadow);
292
292
  --sds-c-button-shadow-focus: var(--slds-c-button-neutral-shadow-focus);
293
-
294
- /* Disabled */
295
- --sds-c-button-color-background-disabled: var(--slds-g-color-surface-container-1);
296
- --sds-c-button-color-border-disabled: var(--slds-g-color-border-disabled-1);
297
- --sds-c-button-text-color-disabled: var(--slds-g-color-disabled-1);
293
+ }
294
+ /* Overriding primitiveBaseButton */
295
+ :host([data-render-mode="shadow"]) [part~='button']:disabled {
296
+ --sds-c-button-color-border-disabled: var(--slds-g-color-border-disabled-1);
297
+ --sds-c-button-text-color-disabled: var(--slds-g-color-on-disabled-1);
298
+ --sds-c-button-color-background-disabled: var(--slds-g-color-disabled-container-1);
298
299
  }
299
300
  /**
300
301
  * A note about fallbacks on the default variant:
@@ -410,9 +411,9 @@ Licensed under BSD 3-Clause - see LICENSE.txt or git.io/sfdc-license */
410
411
  --slds-c-button-neutral-color-border-active: var(--slds-c-button-neutral-color-border, var(--slds-g-color-border-1));
411
412
  }
412
413
  :host([data-render-mode="shadow"][variant='brand']) [part~='button']:disabled,:host([data-render-mode="shadow"][variant='success']) [part~='button']:disabled,:host([data-render-mode="shadow"][variant='destructive']) [part~='button']:disabled {
413
- --sds-c-button-color-background: var(--slds-g-color-disabled-container-1);
414
+ --sds-c-button-color-background: var(--slds-g-color-disabled-container-2);
414
415
  --sds-c-button-color-border: var(--slds-g-color-border-disabled-1);
415
- --sds-c-button-text-color: var(--slds-g-color-on-disabled-1);
416
+ --sds-c-button-text-color: var(--slds-g-color-on-disabled-2);
416
417
  }
417
418
  /**
418
419
  * 'base' variant is not the default in LBC. It is the default in the light
@@ -208,9 +208,10 @@ export default class LightningPillContainer extends LightningShadowBaseClass {
208
208
  : 'slds-listbox_selection-group';
209
209
  }
210
210
 
211
+ // W-14952967: Temporarily adding slds-truncate so pills truncate on small form factors.
211
212
  get computedListboxClass() {
212
213
  const singleLineClass = this.singleLine ? ' slds-listbox_inline' : '';
213
- return `slds-listbox slds-is-relative slds-listbox_horizontal${singleLineClass}`;
214
+ return `slds-listbox slds-is-relative slds-listbox_horizontal slds-truncate${singleLineClass}`;
214
215
  }
215
216
 
216
217
  get focusedIndex() {
@@ -11,7 +11,10 @@
11
11
  part="listbox"
12
12
  >
13
13
  <template for:each={pillViewModels} for:item="pillViewModel" for:index="index">
14
- <li key={pillViewModel.pill.item.label} class="slds-listbox-item">
14
+ <!--
15
+ W-14952967: Temporarily adding slds-truncate so pills truncate on small form factors.
16
+ -->
17
+ <li key={pillViewModel.pill.item.label} class="slds-listbox-item slds-truncate">
15
18
  <lightning-pill label={pillViewModel.pill.item.label}
16
19
  onclick={handlePillClick}
17
20
  name={index}
@@ -19,7 +22,8 @@
19
22
  onremove={handleRemove}
20
23
  onblur={handlePillBlur}
21
24
  onfocus={handlePillFocus}
22
- variant={pillViewModel.pill.variant}>
25
+ variant={pillViewModel.pill.variant}
26
+ class="slds-truncate">
23
27
  <template if:true={pillViewModel.pill.isIcon}>
24
28
  <lightning-icon
25
29
  class="slds-icon_container"
@@ -163,6 +163,9 @@ export function checkFlipPossibility(parent, element, target, leftAsBoundary) {
163
163
  (leftAsBoundary ? referenceElemRect.left : 0);
164
164
  }
165
165
 
166
+ const spaceRemainingRight = viewPort.width - referenceElemRect.left;
167
+ const spaceRemainingLeft = referenceElemRect.right;
168
+
166
169
  if (!shouldAlignToLeft && !shouldAlignToRight && parent) {
167
170
  shouldAlignToRight =
168
171
  (referenceElemRect.right - viewPort.left >= width ||
@@ -176,6 +179,22 @@ export function checkFlipPossibility(parent, element, target, leftAsBoundary) {
176
179
  referenceElemRect.right - width <
177
180
  (leftAsBoundary ? referenceElemRect.left : 0);
178
181
  }
182
+ // W-13716578 W-14991047
183
+ // Align to side with maximum available space only if:
184
+ // - it cannot align to left based on previous checks
185
+ // - it cannot align to right based on previous checks
186
+ // - the available space on either side does not fully fit element width
187
+ // Check #3 is for when there is space on both sides, then both shouldAlignToLeft and shouldAlignToRight
188
+ // are false, but we want it to use the default alignment instead of max available space
189
+ else if (
190
+ !shouldAlignToLeft &&
191
+ !shouldAlignToRight &&
192
+ spaceRemainingRight < width &&
193
+ spaceRemainingLeft < width
194
+ ) {
195
+ shouldAlignToRight = spaceRemainingLeft > spaceRemainingRight;
196
+ shouldAlignToLeft = spaceRemainingLeft < spaceRemainingRight;
197
+ }
179
198
 
180
199
  // If there is no space above and below, recalculate space based on window
181
200
  // when there is still no space above and below based on window then select the maximum available space
@@ -52,6 +52,7 @@ export default class LightningPrimitiveBubble extends LightningShadowBaseClass {
52
52
  connectedCallback() {
53
53
  super.connectedCallback();
54
54
  this.setAttribute('role', 'tooltip');
55
+ this.setAttribute('aria-hidden', true);
55
56
  this.state.inDOM = true;
56
57
  }
57
58
 
@@ -100,12 +101,18 @@ export default class LightningPrimitiveBubble extends LightningShadowBaseClass {
100
101
  // Show the tooltip before css animation
101
102
  this.state.hidden = false;
102
103
  }
104
+ if (this.state.hidden) {
105
+ this.setAttribute('aria-hidden', true);
106
+ } else {
107
+ this.removeAttribute('aria-hidden');
108
+ }
103
109
  }
104
110
 
105
111
  handleTransitionEnd() {
106
112
  // Hide the tooltip after css animation
107
113
  if (!this.state.visible) {
108
114
  this.state.hidden = true;
115
+ this.setAttribute('aria-hidden', true);
109
116
  }
110
117
  }
111
118
 
@@ -1,11 +1,11 @@
1
1
  <template>
2
2
  <button type="button" part="color-picker-button" class="slds-button slds-color-picker__summary-button slds-button_icon slds-button_icon-more" onclick={handleColorPickerToggleClick}
3
- disabled={disabled}>
3
+ disabled={disabled} aria-disabled={ariaDisabled}>
4
4
  <span class="slds-swatch" data-id="thumbnail" style={colorInputStyle}>
5
5
  <span class="slds-assistive-text">{i18n.a11yTriggerText}</span>
6
6
  </span>
7
7
  <lightning-primitive-icon icon-name="utility:down" svg-class="slds-button__icon slds-button__icon_small" variant="bare"></lightning-primitive-icon>
8
- <span class="slds-assistive-text a11y-color-value">{value}</span>
8
+ <span class="slds-assistive-text a11y-color-value">{assistiveValue}</span>
9
9
  </button>
10
10
  <template if:true={_isColorPickerPanelOpen}>
11
11
  <lightning-color-picker-panel onupdatecolor={handleUpdateColorEvent} class="color-picker-panel" current-color={value}>
@@ -1,4 +1,5 @@
1
1
  import labelA11yTriggerText from '@salesforce/label/LightningColorPicker.a11yTriggerText';
2
+ import labelA11yDefaultText from '@salesforce/label/LightningColorPicker.a11yDefaultText';
2
3
  import { api, track } from 'lwc';
3
4
  import LightningShadowBaseClass from 'lightning/shadowBaseClassPrivate';
4
5
  import { Direction, AutoPosition } from 'lightning/positionLibrary';
@@ -6,6 +7,7 @@ import { normalizeBoolean, reflectAttribute } from 'lightning/utilsPrivate';
6
7
 
7
8
  const i18n = {
8
9
  a11yTriggerText: labelA11yTriggerText,
10
+ a11yDefaultText: labelA11yDefaultText,
9
11
  };
10
12
  export default class PrimitiveColorpickerButton extends LightningShadowBaseClass {
11
13
  static delegatesFocus = true;
@@ -13,6 +15,7 @@ export default class PrimitiveColorpickerButton extends LightningShadowBaseClass
13
15
  @track _isColorPickerPanelOpen = false;
14
16
  @track _value = '';
15
17
  @track _disabled = false;
18
+ @api ariaDisabled;
16
19
 
17
20
  @api
18
21
  get value() {
@@ -23,6 +26,11 @@ export default class PrimitiveColorpickerButton extends LightningShadowBaseClass
23
26
  this._value = value;
24
27
  }
25
28
 
29
+ @api
30
+ get assistiveValue() {
31
+ return this.value ? this.value : this.i18n.a11yDefaultText;
32
+ }
33
+
26
34
  /**
27
35
  * If present, the input field is disabled and users cannot interact with it.
28
36
  * @type {boolean}
@@ -0,0 +1,34 @@
1
+ @import 'lightning/sldsCommon';
2
+
3
+ [part="header"] {
4
+ padding: var(--slds-g-sizing-3) var(--slds-g-sizing-3) var(--slds-g-sizing-3) 0;
5
+ font-weight: bold;
6
+ }
7
+
8
+ [part="sorting-config"] {
9
+ display: flex;
10
+ flex: 1;
11
+ align-items: center;
12
+ gap: var(--slds-g-sizing-4);
13
+ }
14
+
15
+ .slds-box {
16
+ padding: var(--slds-g-sizing-4);
17
+ display: flex; align-items: center; justify-content: space-between;
18
+ }
19
+
20
+ lightning-combobox {
21
+ width: 40%;
22
+ }
23
+
24
+ .slds-has-error {
25
+ margin-top: 1.25rem;
26
+ }
27
+
28
+ [part="sorting-config"]:has(lightning-combobox[invalid]) {
29
+ margin-top: -1rem;
30
+ }
31
+
32
+ [part="sorting-config"]:has(lightning-combobox[invalid]) + lightning-button-icon {
33
+ margin-top: -1rem;
34
+ }
@@ -0,0 +1,60 @@
1
+ <template>
2
+ <div part="header">
3
+ <template if:true={rule.disabledTrash}>
4
+ <abbr class="slds-required">*</abbr>
5
+ </template>
6
+ {rule.heading}
7
+ </div>
8
+ <div class="slds-box">
9
+ <div part="sorting-config">
10
+ <lightning-button-group>
11
+ <lightning-button-icon tooltip={i18n.moveUpTooltip} icon-name="utility:arrowup" onclick={handleMoveUp} disabled={isUpDisabled} variant="border-filled" alternative-text="Arrow Up"></lightning-button-icon>
12
+ <lightning-button-icon tooltip={i18n.moveDownTooltip} icon-name="utility:arrowdown" onclick={handleMoveDown} disabled={isDownDisabled} variant="border-filled" alternative-text="Arrow Down"></lightning-button-icon>
13
+ </lightning-button-group>
14
+ <lightning-combobox
15
+ name="column select"
16
+ disabled={rule.disableInputs}
17
+ placeholder={i18n.dropdownPlaceholder}
18
+ options={columns}
19
+ value={rule.selectedColumn}
20
+ onchange={handleColumnSelect}
21
+ variant="label-hidden"
22
+ label={i18n.dropdownPlaceholder}
23
+ required
24
+ message-when-value-missing={i18n.missingValueValidation}>
25
+ </lightning-combobox>
26
+ <fieldset role="radiogroup" part="input-radio-group">
27
+ <legend part="legend" class="slds-form-element__legend slds-form-element__label slds-assistive-text">
28
+ Sorting Order
29
+ </legend>
30
+ <span class="slds-radio">
31
+ <input type="radio"
32
+ id="asc"
33
+ disabled={rule.disableInputs}
34
+ name={groupName}
35
+ value="asc"
36
+ checked={isAscendingChecked}
37
+ onchange={handleOrderChange}/>
38
+ <label class="slds-radio__label" for="asc">
39
+ <span class="slds-radio_faux"></span>
40
+ <span class="slds-form-element__label">{i18n.ascending}</span>
41
+ </label>
42
+ </span>
43
+ <span class="slds-radio">
44
+ <input type="radio"
45
+ id="desc"
46
+ disabled={rule.disableInputs}
47
+ name={groupName}
48
+ value="desc"
49
+ checked={isDescendingChecked}
50
+ onchange={handleOrderChange}/>
51
+ <label class="slds-radio__label" for="desc">
52
+ <span class="slds-radio_faux"></span>
53
+ <span class="slds-form-element__label">{i18n.descending}</span>
54
+ </label>
55
+ </span>
56
+ </fieldset>
57
+ </div>
58
+ <lightning-button-icon icon-name="utility:delete" variant="bare" disabled={rule.disabledTrash} onclick={handleDelete} alternative-text="Settings"></lightning-button-icon>
59
+ </div>
60
+ </template>
@@ -0,0 +1,107 @@
1
+ import { LightningElement, api } from 'lwc';
2
+ import moveUpTooltip from '@salesforce/label/LightningPrimitiveColumnSorter.moveUpTooltip';
3
+ import moveDownTooltip from '@salesforce/label/LightningPrimitiveColumnSorter.moveDownTooltip';
4
+ import dropdownPlaceholder from '@salesforce/label/LightningPrimitiveColumnSorter.dropdownPlaceholder';
5
+ import ascending from '@salesforce/label/LightningPrimitiveColumnSorter.ascending';
6
+ import descending from '@salesforce/label/LightningPrimitiveColumnSorter.descending';
7
+ import missingValueValidation from '@salesforce/label/LightningPrimitiveColumnSorter.missingValueValidation';
8
+
9
+ const i18n = {
10
+ moveUpTooltip,
11
+ moveDownTooltip,
12
+ dropdownPlaceholder,
13
+ ascending,
14
+ descending,
15
+ missingValueValidation,
16
+ };
17
+
18
+ export default class PrimitiveColumnSorter extends LightningElement {
19
+ @api firstRule;
20
+ @api lastRule;
21
+ @api rule;
22
+ @api columns;
23
+ @api index;
24
+ _combobox;
25
+
26
+ @api
27
+ get combobox() {
28
+ if (!this._combobox) {
29
+ this._combobox = this.template.querySelector('lightning-combobox');
30
+ }
31
+ return this._combobox;
32
+ }
33
+
34
+ get i18n() {
35
+ return i18n;
36
+ }
37
+
38
+ // used to group radio buttons independent from each other
39
+ get groupName() {
40
+ return `radioGroup_${this.index}`;
41
+ }
42
+
43
+ /**
44
+ * Used to maintain radio group selection even when rules are moved up/down
45
+ */
46
+ get isAscendingChecked() {
47
+ return this.rule.sortOrder === 'asc';
48
+ }
49
+
50
+ /**
51
+ * Used to maintain radio group selection even when rules are moved up/down
52
+ */
53
+ get isDescendingChecked() {
54
+ return this.rule.sortOrder === 'desc';
55
+ }
56
+
57
+ get isUpDisabled() {
58
+ return this.rule.unselectedInitialRules || this.firstRule;
59
+ }
60
+ get isDownDisabled() {
61
+ return this.rule.unselectedInitialRules || this.lastRule;
62
+ }
63
+
64
+ /**
65
+ * dispatches a 'selection' event used to set the `selectedColumn` when the sorting column is selected
66
+ * in turn, keeps the `multi-column-sorting-modal`'s this.rules property up to date.
67
+ */
68
+ handleColumnSelect(event) {
69
+ this.dispatchEvent(
70
+ new CustomEvent('selection', {
71
+ detail: {
72
+ index: this.index,
73
+ selectedColumn: event.detail.value,
74
+ sortOrder: this.rule.sortOrder,
75
+ },
76
+ })
77
+ );
78
+ }
79
+
80
+ /**
81
+ * dispatches a 'selection' event used to set the `sortOrder` when the sorting direction is selected
82
+ * in turn, keeps the `multi-column-sorting-modal`'s this.rules property up to date.
83
+ */
84
+ handleOrderChange(event) {
85
+ this.dispatchEvent(
86
+ new CustomEvent('selection', {
87
+ detail: {
88
+ index: this.index,
89
+ selectedColumn: this.rule.selectedColumn,
90
+ sortOrder: event.target.value,
91
+ },
92
+ })
93
+ );
94
+ }
95
+
96
+ handleDelete() {
97
+ this.dispatchEvent(new CustomEvent('delete'));
98
+ }
99
+
100
+ handleMoveUp() {
101
+ this.dispatchEvent(new CustomEvent('moveup'));
102
+ }
103
+
104
+ handleMoveDown() {
105
+ this.dispatchEvent(new CustomEvent('movedown'));
106
+ }
107
+ }
@@ -5,6 +5,10 @@ import labelSort from '@salesforce/label/LightningDatatable.sort';
5
5
  import labelSortAsc from '@salesforce/label/LightningDatatable.sortAsc';
6
6
  import labelSortDesc from '@salesforce/label/LightningDatatable.sortDesc';
7
7
  import labelSortNone from '@salesforce/label/LightningDatatable.sortNone';
8
+ import sortingMenuMultiColumnSort from '@salesforce/label/LightningDatatable.sortingMenuMultiColumnSort';
9
+ import sortingMenuRows from '@salesforce/label/LightningDatatable.sortingMenuRows';
10
+ import sortingMenuColumns from '@salesforce/label/LightningDatatable.sortingMenuColumns';
11
+ import sortingMenuTooltip from '@salesforce/label/LightningDatatable.sortingMenuTooltip';
8
12
  import PrimitiveDatatableCell from 'lightning/primitiveDatatableCell';
9
13
  import { api, track } from 'lwc';
10
14
  import {
@@ -16,8 +20,10 @@ import {
16
20
  import selectable from './selectableHeader.html';
17
21
  import sortable from './sortableHeader.html';
18
22
  import nonsortable from './nonsortableHeader.html';
23
+ import sortingMenu from './sortingMenuHeader.html';
19
24
 
20
25
  const SELECTABLE_HEADER_TYPE = 'SELECTABLE_CHECKBOX';
26
+ const SORTING_MENU_HEADER_TYPE = 'SELECTABLE_BUTTON_MENU';
21
27
 
22
28
  const i18n = {
23
29
  chooseARow: labelChooseARow,
@@ -27,6 +33,10 @@ const i18n = {
27
33
  sortAsc: labelSortAsc,
28
34
  sortDesc: labelSortDesc,
29
35
  sortNone: labelSortNone,
36
+ sortingMenuMultiColumnSort,
37
+ sortingMenuRows,
38
+ sortingMenuColumns,
39
+ sortingMenuTooltip,
30
40
  };
31
41
 
32
42
  /**
@@ -52,6 +62,7 @@ export default class PrimitiveHeaderFactory extends PrimitiveDatatableCell {
52
62
  @api showCheckbox = false;
53
63
  @api sorted;
54
64
  @api sortedDirection;
65
+ @api showActionsMenu;
55
66
 
56
67
  /**
57
68
  * Retrieves the computed header DOM `id`
@@ -283,12 +294,15 @@ export default class PrimitiveHeaderFactory extends PrimitiveDatatableCell {
283
294
  }
284
295
 
285
296
  /**
286
- * Determines if the header is regular (unselectable)
297
+ * Determines if the header is regular (unselectable and not sorting menu)
287
298
  *
288
299
  * @return {boolean} Whether the header is regular
289
300
  */
290
301
  get isRegularHeader() {
291
- return this._def.type !== SELECTABLE_HEADER_TYPE;
302
+ return (
303
+ this._def.type !== SELECTABLE_HEADER_TYPE &&
304
+ this._def.type !== SORTING_MENU_HEADER_TYPE
305
+ );
292
306
  }
293
307
 
294
308
  /**
@@ -340,8 +354,14 @@ export default class PrimitiveHeaderFactory extends PrimitiveDatatableCell {
340
354
  * By default, nonsortableHeader.html is rendered
341
355
  */
342
356
  render() {
343
- if (this._def.type === SELECTABLE_HEADER_TYPE) {
357
+ const { type } = this._def;
358
+ if (type === SELECTABLE_HEADER_TYPE) {
344
359
  return selectable;
360
+ } else if (
361
+ type === SORTING_MENU_HEADER_TYPE ||
362
+ (type === 'action' && this._def.isLastCol && this.showActionsMenu)
363
+ ) {
364
+ return sortingMenu;
345
365
  } else if (this._sortable) {
346
366
  return sortable;
347
367
  }
@@ -429,6 +449,19 @@ export default class PrimitiveHeaderFactory extends PrimitiveDatatableCell {
429
449
  this.dispatchEvent(event);
430
450
  }
431
451
 
452
+ handleSortingMenuSelection(event) {
453
+ event.stopPropagation();
454
+ const selectedItemValue = event.detail.value;
455
+ if (selectedItemValue === 'MultiColumnSorting') {
456
+ // open modal
457
+ const e = new CustomEvent('privateopensortingmodal', {
458
+ bubbles: true,
459
+ composed: true,
460
+ });
461
+ this.dispatchEvent(e);
462
+ }
463
+ }
464
+
432
465
  /************************* HELPER FUNCTIONS **************************/
433
466
 
434
467
  /**
@@ -0,0 +1,5 @@
1
+ @import 'lightning/sldsCommon';
2
+
3
+ .slds-th__action {
4
+ justify-content: center;
5
+ }
@@ -0,0 +1,9 @@
1
+ <template>
2
+ <div class="slds-th__action slds-th__action_form slds-cell-fixed" style={columnStyles}>
3
+ <lightning-button-menu alternative-text="Show menu" internal-datatable-actions-menu icon-name="utility:threedots" variant="border-filled" menu-alignment="right" icon-size="x-small" tooltip={i18n.sortingMenuTooltip} onselect={handleSortingMenuSelection}>
4
+ <lightning-menu-item value="MultiColumnSorting" label={i18n.sortingMenuMultiColumnSort}></lightning-menu-item>
5
+ <lightning-menu-item value="ReorderRow" label={i18n.sortingMenuRows}></lightning-menu-item>
6
+ <lightning-menu-item value="ReorderColumn" label={i18n.sortingMenuColumns}></lightning-menu-item>
7
+ </lightning-button-menu>
8
+ </div>
9
+ </template>
@@ -245,6 +245,7 @@
245
245
 
246
246
  @media (width >= 48em) {
247
247
  :host([data-render-mode="shadow"][variant='label-inline']) .slds-form-element__label {
248
+ float: left;
248
249
  max-width: calc(33% - var(--slds-g-sizing-6)); /* Removing icon width for when the help-text icon is present */
249
250
  flex-basis: calc(33% - var(--slds-g-sizing-6)); /* Some form element controls are set to display:flex */
250
251
  flex-grow: 1; /* For IE and Safari which didn't auto expand to the available space */
@@ -273,12 +273,12 @@
273
273
  :host([data-render-mode="shadow"][disabled]) [part='indicator'] {
274
274
  --_slds-c-inputcheckbox-color-background: var(
275
275
  --_slds-c-inputcheckbox-color-background-disabled,
276
- var(--slds-g-color-surface-container-2)
276
+ var(--slds-g-color-disabled-container-2)
277
277
  );
278
- --_slds-c-inputcheckbox-color-border: var(--_slds-c-inputcheckbox-color-border-disabled);
278
+ --_slds-c-inputcheckbox-color-border: var(--_slds-c-inputcheckbox-color-border-disabled, var(--slds-g-color-border-disabled-1));
279
279
  --_slds-c-inputcheckbox-mark-color-foreground: var(
280
280
  --_slds-c-inputcheckbox-mark-color-foreground-disabled,
281
- var(--slds-g-color-on-disabled-1)
281
+ var(--slds-g-color-on-disabled-2)
282
282
  );
283
283
  }
284
284
  /**
@@ -46,6 +46,6 @@
46
46
  </span>
47
47
  </div>
48
48
  <template if:true={helpMessage}>
49
- <div id="help-message" class="slds-form-element__help" data-help-message part="help-text">{helpMessage}</div>
49
+ <div id="help-message" class="slds-form-element__help" data-help-message part="help-text" role="status">{helpMessage}</div>
50
50
  </template>
51
51
  </template>
@@ -245,6 +245,7 @@
245
245
 
246
246
  @media (width >= 48em) {
247
247
  :host([data-render-mode="shadow"][variant='label-inline']) .slds-form-element__label {
248
+ float: left;
248
249
  max-width: calc(33% - var(--slds-g-sizing-6)); /* Removing icon width for when the help-text icon is present */
249
250
  flex-basis: calc(33% - var(--slds-g-sizing-6)); /* Some form element controls are set to display:flex */
250
251
  flex-grow: 1; /* For IE and Safari which didn't auto expand to the available space */
@@ -46,12 +46,14 @@
46
46
 
47
47
  :host([data-render-mode="shadow"][disabled]) [part="faux-button"] {
48
48
  cursor: default;
49
- --slds-c-inputcheckboxbutton-color-border: transparent;
49
+ --slds-c-inputcheckboxbutton-color-border: var(--slds-g-color-border-disabled-1);
50
50
  --slds-c-inputcheckboxbutton-color-background: var(--slds-g-color-disabled-container-1);
51
51
  --slds-c-inputcheckboxbutton-mark-color-foreground: var(--slds-g-color-on-disabled-1);
52
- --slds-c-inputcheckboxbutton-color-border-checked: transparent;
53
- --slds-c-inputcheckboxbutton-color-background-checked: var(--slds-g-color-disabled-container-1);
54
- --slds-c-inputcheckboxbutton-mark-color-foreground-checked: var(--slds-g-color-on-disabled-1);
52
+
53
+ /* Disabled checked */
54
+ --slds-c-inputcheckboxbutton-color-border-checked: var(--slds-g-color-border-disabled-1);
55
+ --slds-c-inputcheckboxbutton-color-background-checked: var(--slds-g-color-disabled-container-2);
56
+ --slds-c-inputcheckboxbutton-mark-color-foreground-checked: var(--slds-g-color-on-disabled-2);
55
57
 
56
58
  }
57
59
 
@@ -61,7 +63,6 @@
61
63
  --slds-c-inputcheckboxbutton-color-border: var(--slds-c-inputcheckboxbutton-color-border-checked, transparent);
62
64
  --slds-c-inputcheckboxbutton-color-background: var(--slds-c-inputcheckboxbutton-color-background-checked, var(--slds-g-color-accent-container-2));
63
65
  --slds-c-inputcheckboxbutton-mark-color-foreground: var(--slds-c-inputcheckboxbutton-mark-color-foreground-checked, var(--slds-g-color-on-accent-1));
64
-
65
66
  }
66
67
 
67
68
  :host([data-render-mode="shadow"][checked]) [part="faux-button"]::before {
@@ -22,6 +22,6 @@
22
22
  </label>
23
23
  </div>
24
24
  <template if:true={_helpMessage}>
25
- <div id="help-message" class="slds-form-element__help" data-help-message part="help-text">{_helpMessage}</div>
25
+ <div id="help-message" class="slds-form-element__help" data-help-message part="help-text" role="status">{_helpMessage}</div>
26
26
  </template>
27
27
  </template>
@@ -245,6 +245,7 @@
245
245
 
246
246
  @media (width >= 48em) {
247
247
  :host([data-render-mode="shadow"][variant='label-inline']) .slds-form-element__label {
248
+ float: left;
248
249
  max-width: calc(33% - var(--slds-g-sizing-6)); /* Removing icon width for when the help-text icon is present */
249
250
  flex-basis: calc(33% - var(--slds-g-sizing-6)); /* Some form element controls are set to display:flex */
250
251
  flex-grow: 1; /* For IE and Safari which didn't auto expand to the available space */
@@ -254,7 +254,7 @@
254
254
  );
255
255
  --sds-c-inputtext-color-border: var(
256
256
  --slds-c-inputtext-color-border,
257
- var(--slds-g-color-border-1)
257
+ var(--slds-g-color-border-2)
258
258
  );
259
259
  --sds-c-inputtext-sizing-border: var(--slds-c-inputtext-sizing-border);
260
260
  --sds-c-inputtext-radius-border: var(
@@ -330,7 +330,7 @@
330
330
  }
331
331
  :host([data-render-mode="shadow"][readonly]) [part="input-container"]:focus-within,:host([data-render-mode="shadow"][readonly]) [part="input-container"]:active {
332
332
  --sds-c-inputtext-color-border: var(--slds-g-color-disabled-container-2);
333
- --sds-c-inputtext-shadow: 0 0 var(--slds-g-sizing-border-3) var(--slds-g-color-accent-1);
333
+ --sds-c-inputtext-shadow: 0 0 var(--slds-g-sizing-border-3) var(--slds-g-color-accent-2);
334
334
  --sds-c-inputtext-color-background: transparent;
335
335
 
336
336
  outline: 0;
@@ -367,9 +367,9 @@
367
367
  */
368
368
  :host([data-render-mode="shadow"][disabled]) [part='input-container'],:host([data-render-mode="shadow"][disabled]) [part='input'] {
369
369
  cursor: not-allowed;
370
- --sds-c-inputtext-color-background: var(--slds-g-color-disabled-container-1);
371
- --sds-c-inputtext-color-border: var(--slds-g-color-border-1);
372
- --sds-c-inputtext-text-color: var(--slds-g-color-on-surface-1);
370
+ --sds-c-inputtext-color-background: var(--slds-s-input-color-background-disabled, var(--slds-g-color-disabled-container-1));
371
+ --sds-c-inputtext-color-border: var(--slds-g-color-border-disabled-1);
372
+ --sds-c-inputtext-text-color: var(--slds-g-color-on-disabled-2);
373
373
  }
374
374
  /**
375
375
  * Label