lightning-base-components 1.21.5-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.
- package/metadata/raptor.json +46 -4
- package/package.json +125 -3
- package/scopedImports/@salesforce-label-LightningColorPicker.a11yDefaultText.js +1 -0
- package/scopedImports/@salesforce-label-LightningDatatable.multiColumnSortingToast.js +1 -0
- package/scopedImports/@salesforce-label-LightningDatatable.sortingMenuColumns.js +1 -0
- package/scopedImports/@salesforce-label-LightningDatatable.sortingMenuMultiColumnSort.js +1 -0
- package/scopedImports/@salesforce-label-LightningDatatable.sortingMenuRows.js +1 -0
- package/scopedImports/@salesforce-label-LightningDatatable.sortingMenuTooltip.js +1 -0
- package/scopedImports/@salesforce-label-LightningForm.dependentFieldsListHeading.js +1 -1
- package/scopedImports/@salesforce-label-LightningLookup.advancedSearchMobile.js +1 -1
- package/scopedImports/@salesforce-label-LightningLookup.modalTitle.js +1 -0
- package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.addRule.js +1 -0
- package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.applyButton.js +1 -0
- package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.cancelButton.js +1 -0
- package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.clearButton.js +1 -0
- package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.duplicateValueValidation.js +1 -0
- package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.firstRuleHeading.js +1 -0
- package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.modalTitle.js +1 -0
- package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.otherRuleHeading.js +1 -0
- package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.ruleLimit.js +1 -0
- package/scopedImports/@salesforce-label-LightningMultiColumnSortingModal.ruleLimitReached.js +1 -0
- package/scopedImports/@salesforce-label-LightningPrimitiveColumnSorter.ascending.js +1 -0
- package/scopedImports/@salesforce-label-LightningPrimitiveColumnSorter.descending.js +1 -0
- package/scopedImports/@salesforce-label-LightningPrimitiveColumnSorter.dropdownPlaceholder.js +1 -0
- package/scopedImports/@salesforce-label-LightningPrimitiveColumnSorter.missingValueValidation.js +1 -0
- package/scopedImports/@salesforce-label-LightningPrimitiveColumnSorter.moveDownTooltip.js +1 -0
- package/scopedImports/@salesforce-label-LightningPrimitiveColumnSorter.moveUpTooltip.js +1 -0
- package/scopedImports/@salesforce-label-LightningProgressIndicator.pathCurrentStage.js +1 -0
- package/scopedImports/@salesforce-label-LightningRecordPicker.emptyStateNoResultText.js +1 -0
- package/scopedImports/@salesforce-label-LightningRecordPicker.messageWhenSearchTermTooShort.js +1 -0
- package/scopedImports/@salesforce-label-LightningRecordPicker.resultCountDescriptionForMoreThanOneHundredRecords.js +1 -0
- package/scopedImports/@salesforce-label-LightningRecordPicker.resultCountDescriptionForMultipleRecords.js +1 -0
- package/scopedImports/@salesforce-label-LightningRecordPicker.resultCountDescriptionForOneRecord.js +1 -0
- package/scopedImports/@salesforce-label-LightningRecordPicker.resultsLoading.js +1 -0
- package/scopedImports/@salesforce-label-LightningRecordPicker.searchInputHelp.js +1 -0
- package/src/lightning/accordion/accordion.js +21 -14
- package/src/lightning/accordionSection/button.slds.css +16 -15
- package/src/lightning/alert/alert.js +10 -8
- package/src/lightning/ariaObserver/ariaObserver.js +19 -5
- package/src/lightning/badge/badge.slds.css +1 -1
- package/src/lightning/baseCombobox/base-combobox.slds.css +1 -1
- package/src/lightning/baseCombobox/baseCombobox.html +2 -1
- package/src/lightning/baseCombobox/baseCombobox.js +21 -0
- package/src/lightning/baseCombobox/input-text.slds.css +5 -5
- package/src/lightning/button/button.js +5 -0
- package/src/lightning/button/button.slds.css +16 -15
- package/src/lightning/buttonIcon/__docs__/buttonIcon.md +4 -0
- package/src/lightning/buttonIcon/__examples__/basic/basic.html +17 -1
- package/src/lightning/buttonIcon/button-icon.slds.css +41 -25
- package/src/lightning/buttonIconStateful/button-icon-stateful.slds.css +33 -229
- package/src/lightning/buttonIconStateful/button-icon.slds.css +41 -25
- package/src/lightning/buttonIconStateful/button.slds.css +16 -15
- package/src/lightning/buttonMenu/button-icon.slds.css +41 -25
- package/src/lightning/buttonMenu/button-menu.slds.css +41 -15
- package/src/lightning/buttonMenu/button.slds.css +16 -15
- package/src/lightning/buttonMenu/buttonMenu.css +1 -1
- package/src/lightning/buttonMenu/buttonMenu.html +1 -1
- package/src/lightning/buttonMenu/buttonMenu.js +44 -4
- package/src/lightning/buttonStateful/button-stateful.slds.css +1 -4
- package/src/lightning/buttonStateful/button.slds.css +16 -15
- package/src/lightning/calendar/calendar.html +3 -4
- package/src/lightning/card/card.html +1 -1
- package/src/lightning/colorPickerCustom/colorPickerCustom.html +1 -1
- package/src/lightning/colorPickerCustom/colorPickerCustom.js +0 -9
- package/src/lightning/colorPickerCustom/input-text.slds.css +5 -5
- package/src/lightning/combobox/form-element.slds.css +5 -1
- package/src/lightning/confirm/confirm.js +10 -8
- package/src/lightning/datatable/__docs__/datatable.md +0 -3
- package/src/lightning/datatable/__examples__disabled/customComponentPopupTableWrapper/README.md +17 -0
- package/src/lightning/datatable/__examples__disabled/customComponentPopupTableWrapper/customComponentPopupTableWrapper.html +11 -0
- package/src/lightning/datatable/__examples__disabled/customComponentPopupTableWrapper/customComponentPopupTableWrapper.js +25 -0
- package/src/lightning/datatable/__examples__disabled/customComponentPopupTableWrapper/generateData.js +15 -0
- package/src/lightning/datatable/__examples__disabled/myCustomTypePopupTable/customInput.html +4 -0
- package/src/lightning/datatable/__examples__disabled/myCustomTypePopupTable/myCustomTypePopupTable.js +17 -0
- package/src/lightning/datatable/__examples__disabled/myCustomTypePopupTable/nestedSimpleComponentParent.html +7 -0
- package/src/lightning/datatable/__examples__disabled/simpleComponentPopupNested/simpleComponentPopupNested.html +31 -0
- package/src/lightning/datatable/__examples__disabled/simpleComponentPopupNested/simpleComponentPopupNested.js +36 -0
- package/src/lightning/datatable/columnWidthManager.js +19 -16
- package/src/lightning/datatable/columns.js +90 -42
- package/src/lightning/datatable/datatable.js +571 -148
- package/src/lightning/datatable/errors.js +1 -1
- package/src/lightning/datatable/indexes.js +32 -21
- package/src/lightning/datatable/infiniteLoading.js +7 -6
- package/src/lightning/datatable/inlineEdit.js +52 -64
- package/src/lightning/datatable/keyboard.js +583 -195
- package/src/lightning/datatable/renderManager.js +21 -27
- package/src/lightning/datatable/rowLevelActions.js +5 -14
- package/src/lightning/datatable/rowSelection.js +36 -17
- package/src/lightning/datatable/rowSelectionShared.js +1 -0
- package/src/lightning/datatable/rows.js +224 -132
- package/src/lightning/datatable/rowsInlining.js +473 -0
- package/src/lightning/datatable/sort.js +40 -15
- package/src/lightning/datatable/state.js +17 -4
- package/src/lightning/datatable/templates/div/div.html +807 -91
- package/src/lightning/datatable/templates/div/div.lbc.synthetic.css +29 -3
- package/src/lightning/datatable/templates/table/table.css +29 -1
- package/src/lightning/datatable/templates/table/table.html +786 -87
- package/src/lightning/datatable/tree.js +0 -33
- package/src/lightning/datatable/utils.js +50 -0
- package/src/lightning/datatable/virtualization.js +44 -19
- package/src/lightning/datatable/wrapText.js +7 -10
- package/src/lightning/datepicker/datepicker.html +3 -1
- package/src/lightning/datepicker/datepicker.js +43 -4
- package/src/lightning/datepicker/form-element.slds.css +5 -1
- package/src/lightning/datepicker/input-text.slds.css +5 -5
- package/src/lightning/datetimepicker/datetimepicker.html +7 -1
- package/src/lightning/datetimepicker/datetimepicker.js +30 -2
- package/src/lightning/datetimepicker/form-element.slds.css +5 -1
- package/src/lightning/datetimepicker/input-text.slds.css +5 -5
- package/src/lightning/dualListbox/form-element.slds.css +5 -1
- package/src/lightning/focusTrap/focusTrap.css +7 -0
- package/src/lightning/groupedCombobox/form-element.slds.css +5 -1
- package/src/lightning/groupedCombobox/input-text.slds.css +5 -5
- package/src/lightning/helptext/button-icon.slds.css +41 -25
- package/src/lightning/helptext/form-element.slds.css +5 -1
- package/src/lightning/icon/__docs__/icon.md +0 -2
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/account_score.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/aggregate.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/app_form_participant.html +11 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/app_form_product_participant.html +12 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/cost_model.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/labels.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/list_fee.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/list_rate.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/party_profile.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/path_experiment.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/people_score.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/price_adjustment_schedule.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/price_adjustment_tier.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/program_cohort.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/program_cohort_member.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/rate_adjustment.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/record_consent.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/whatsapp.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/templates.js +40 -1
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/aggregate.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/array.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/bottom_group_alignment.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/cant_sync.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/center_group_alignment.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/columns.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/fully_synced.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/inner_join.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/join.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/left_join.html +14 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/macros.html +2 -2
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/not_in_sync.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/not_saved.html +9 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/outer_join.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/path_experiment.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/program_cohort.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/program_cohort_member.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/record_consent.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/right_join.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/skill.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/sync_in_progress.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/top_group_alignment.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/account_score.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/aggregate.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/app_form_participant.html +11 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/app_form_product_participant.html +12 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/cost_model.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/labels.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/list_fee.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/list_rate.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/party_profile.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/path_experiment.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/people_score.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/price_adjustment_schedule.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/price_adjustment_tier.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/program_cohort.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/program_cohort_member.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/rate_adjustment.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/record_consent.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/whatsapp.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/templates.js +40 -1
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/aggregate.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/array.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/bottom_group_alignment.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/cant_sync.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/center_group_alignment.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/columns.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/fully_synced.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/inner_join.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/join.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/left_join.html +14 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/macros.html +2 -2
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/not_in_sync.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/not_saved.html +9 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/outer_join.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/path_experiment.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/program_cohort.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/program_cohort_member.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/record_consent.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/right_join.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/skill.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/sync_in_progress.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/top_group_alignment.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/account_score.html +8 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/aggregate.html +8 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/app_form_participant.html +11 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/app_form_product_participant.html +12 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/cost_model.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/labels.html +8 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/list_fee.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/list_rate.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/party_profile.html +8 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/path_experiment.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/people_score.html +8 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/price_adjustment_schedule.html +8 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/price_adjustment_tier.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/program_cohort.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/program_cohort_member.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/rate_adjustment.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/record_consent.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/whatsapp.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/templates.js +19 -1
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/account_score.html +8 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/aggregate.html +8 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/app_form_participant.html +11 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/app_form_product_participant.html +12 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/cost_model.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/labels.html +8 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/list_fee.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/list_rate.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/party_profile.html +8 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/path_experiment.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/people_score.html +8 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/price_adjustment_schedule.html +8 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/price_adjustment_tier.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/program_cohort.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/program_cohort_member.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/rate_adjustment.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/record_consent.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/whatsapp.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/templates.js +19 -1
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/templates.js +22 -1
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/aggregate.html +8 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/array.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/bottom_group_alignment.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/cant_sync.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/center_group_alignment.html +8 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/columns.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/fully_synced.html +8 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/inner_join.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/join.html +8 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/left_join.html +14 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/macros.html +2 -2
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/not_in_sync.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/not_saved.html +9 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/outer_join.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/path_experiment.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/program_cohort.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/program_cohort_member.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/record_consent.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/right_join.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/skill.html +8 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/sync_in_progress.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/top_group_alignment.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/templates.js +22 -1
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/aggregate.html +8 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/array.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/bottom_group_alignment.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/cant_sync.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/center_group_alignment.html +8 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/columns.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/fully_synced.html +8 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/inner_join.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/join.html +8 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/left_join.html +14 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/macros.html +2 -2
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/not_in_sync.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/not_saved.html +9 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/outer_join.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/path_experiment.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/program_cohort.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/program_cohort_member.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/record_consent.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/right_join.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/skill.html +8 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/sync_in_progress.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/top_group_alignment.html +7 -0
- package/src/lightning/iconUtils/iconColors.js +1 -1
- package/src/lightning/input/form-element.slds.css +5 -1
- package/src/lightning/input/input.html +16 -2
- package/src/lightning/input/input.js +91 -3
- package/src/lightning/input/input.js-meta.xml +3 -0
- package/src/lightning/inputAddress/addressFormat.js +25 -11
- package/src/lightning/inputAddress/fieldsLayout.js +3 -0
- package/src/lightning/inputAddress/form-element.slds.css +5 -1
- package/src/lightning/inputAddress/input-text.slds.css +5 -5
- package/src/lightning/inputAddress/inputAddress.html +1 -1
- package/src/lightning/inputAddress/inputAddress.js +27 -11
- package/src/lightning/inputLocation/form-element.slds.css +5 -1
- package/src/lightning/inputLocation/input-text.slds.css +5 -5
- package/src/lightning/inputName/form-element.slds.css +5 -1
- package/src/lightning/inputName/input-text.slds.css +5 -5
- package/src/lightning/internationalizationLibrary/address/AddressFormat.js +2 -0
- package/src/lightning/layout/__docs__/layout.md +0 -2
- package/src/lightning/lookupAddress/form-element.slds.css +5 -1
- package/src/lightning/menuItem/menu-item.slds.css +3 -1
- package/src/lightning/modal/__modalUtils__/modalContainerTestConstants.js +7 -3
- package/src/lightning/modal/__modalUtils__/modalContainerTestMethods.js +18 -11
- package/src/lightning/modal/__modalUtils__/modalContainerTestMockData.js +1 -1
- package/src/lightning/modalBase/modalBase.css +4 -0
- package/src/lightning/modalBase/modalBase.html +16 -21
- package/src/lightning/modalBase/modalBase.js +51 -87
- package/src/lightning/modalHeader/modalHeader.html +3 -15
- package/src/lightning/modalHeader/modalHeader.js +14 -61
- package/src/lightning/multiColumnSortingModal/multiColumnSortingModal.css +14 -0
- package/src/lightning/multiColumnSortingModal/multiColumnSortingModal.html +55 -0
- package/src/lightning/multiColumnSortingModal/multiColumnSortingModal.js +430 -0
- package/src/lightning/multiColumnSortingModal/multiColumnSortingModal.js-meta.xml +4 -0
- package/src/lightning/overlayManager/overlayManager.js +16 -0
- package/src/lightning/pill/pill.js +19 -13
- package/src/lightning/pillContainer/button.slds.css +16 -15
- package/src/lightning/pillContainer/pillContainer.js +2 -1
- package/src/lightning/pillContainer/standardPillContainer.html +6 -2
- package/src/lightning/positionLibrary/direction.js +19 -0
- package/src/lightning/primitiveBubble/primitiveBubble.js +33 -11
- package/src/lightning/primitiveColorpickerButton/primitiveColorpickerButton.html +2 -2
- package/src/lightning/primitiveColorpickerButton/primitiveColorpickerButton.js +8 -0
- package/src/lightning/primitiveColumnSorter/primitiveColumnSorter.css +34 -0
- package/src/lightning/primitiveColumnSorter/primitiveColumnSorter.html +60 -0
- package/src/lightning/primitiveColumnSorter/primitiveColumnSorter.js +107 -0
- package/src/lightning/primitiveHeaderFactory/primitiveHeaderFactory.js +37 -4
- package/src/lightning/primitiveHeaderFactory/sortingMenuHeader.css +5 -0
- package/src/lightning/primitiveHeaderFactory/sortingMenuHeader.html +9 -0
- package/src/lightning/primitiveInputCheckbox/form-element.slds.css +5 -1
- package/src/lightning/primitiveInputCheckbox/input-checkbox.slds.css +3 -3
- package/src/lightning/primitiveInputCheckbox/primitiveInputCheckbox.html +1 -1
- package/src/lightning/primitiveInputCheckboxButton/form-element.slds.css +5 -1
- package/src/lightning/primitiveInputCheckboxButton/input-checkbox-button.slds.css +6 -5
- package/src/lightning/primitiveInputCheckboxButton/primitiveInputCheckboxButton.html +1 -1
- package/src/lightning/primitiveInputColor/form-element.slds.css +5 -1
- package/src/lightning/primitiveInputColor/input-text.slds.css +5 -5
- package/src/lightning/primitiveInputColor/primitiveInputColor.html +5 -2
- package/src/lightning/primitiveInputColor/primitiveInputColor.js +2 -0
- package/src/lightning/primitiveInputFile/button.slds.css +16 -15
- package/src/lightning/primitiveInputFile/form-element.slds.css +5 -1
- package/src/lightning/primitiveInputFile/primitiveInputFile.html +1 -1
- package/src/lightning/primitiveInputRadio/primitiveInputRadio.html +1 -1
- package/src/lightning/primitiveInputSimple/form-element.slds.css +5 -1
- package/src/lightning/primitiveInputSimple/input-text.slds.css +5 -5
- package/src/lightning/primitiveInputSimple/primitiveInputSimple.html +3 -2
- package/src/lightning/primitiveInputSimple/primitiveInputSimple.js +15 -0
- package/src/lightning/primitiveInputToggle/form-element.slds.css +5 -1
- package/src/lightning/primitiveInputToggle/input-toggle.slds.css +16 -14
- package/src/lightning/primitiveInputToggle/primitiveInputToggle.html +1 -1
- package/src/lightning/progressBar/progress-bar.slds.css +1 -1
- package/src/lightning/progressIndicator/path.html +8 -2
- package/src/lightning/progressIndicator/progressIndicator.js +26 -2
- package/src/lightning/progressRing/progress-ring.slds.css +1 -1
- package/src/lightning/progressStep/progressStep.js +2 -1
- package/src/lightning/prompt/prompt.js +11 -9
- package/src/lightning/radioGroup/form-element.slds.css +5 -1
- package/src/lightning/radioGroup/input-radio-group.slds.css +4 -10
- package/src/lightning/select/form-element.slds.css +5 -1
- package/src/lightning/select/select.js +89 -7
- package/src/lightning/tabBar/tab-bar.slds.css +11 -0
- package/src/lightning/tabset/tabset.slds.css +1 -1
- package/src/lightning/textarea/__examples__/various/various.html +18 -1
- package/src/lightning/textarea/form-element.slds.css +5 -1
- package/src/lightning/textarea/textarea.html +1 -0
- package/src/lightning/textarea/textarea.js +25 -0
- package/src/lightning/textarea/textarea.slds.css +2 -2
- package/src/lightning/timepicker/form-element.slds.css +5 -1
- package/src/lightning/timepicker/timepicker.html +4 -1
- package/src/lightning/timepicker/timepicker.js +3 -0
- package/src/lightning/toast/button-icon.slds.css +41 -25
- package/src/lightning/tooltipLibrary/tooltipLibrary.js +4 -15
- package/src/lightning/verticalNavigationItem/vertical-navigation-item.slds.css +1 -1
- package/src/lightning/verticalNavigationItemBadge/badge.slds.css +1 -1
- package/src/lightning/verticalNavigationItemBadge/vertical-navigation-item.slds.css +1 -1
- package/src/lightning/verticalNavigationItemIcon/vertical-navigation-item.slds.css +1 -1
- package/src/lightning/verticalNavigationOverflow/button.slds.css +16 -15
- package/src/lightning/verticalNavigationOverflow/vertical-navigation-item.slds.css +1 -1
- package/scopedImports/@salesforce-label-LightningLookup.messageWhenSearchTermTooShort.js +0 -1
- package/src/lightning/datatable/columns-shared.js +0 -12
|
@@ -19,6 +19,7 @@ import {
|
|
|
19
19
|
import closeButtonAltText from '@salesforce/label/LightningModalBase.cancelandclose';
|
|
20
20
|
import disableCloseBtnMessage from '@salesforce/label/LightningModalBase.waitstate';
|
|
21
21
|
import AriaObserver from 'lightning/ariaObserver';
|
|
22
|
+
import { isLwcModalActive } from 'lightning/overlayManager';
|
|
22
23
|
|
|
23
24
|
const DEBOUNCE_RESIZE = 300;
|
|
24
25
|
const SMALL_SCREEN_SIZE = 480;
|
|
@@ -26,11 +27,11 @@ const SIZE_SMALL = 'small';
|
|
|
26
27
|
const SIZE_MEDIUM = 'medium';
|
|
27
28
|
const SIZE_LARGE = 'large';
|
|
28
29
|
const SIZE_FULL = 'full';
|
|
29
|
-
const
|
|
30
|
+
const MODAL_CONTAINER = 'lightning-overlay-container';
|
|
30
31
|
|
|
31
32
|
export default class LightningModalBase extends LightningShadowBaseClass {
|
|
32
33
|
// this is visible in DOM, changed from 'lightning-modal-base'
|
|
33
|
-
static [instanceName] =
|
|
34
|
+
static [instanceName] = 'lightning-modal-base';
|
|
34
35
|
|
|
35
36
|
// private tracked state
|
|
36
37
|
initialRender = true;
|
|
@@ -45,7 +46,6 @@ export default class LightningModalBase extends LightningShadowBaseClass {
|
|
|
45
46
|
isSmallScreenSize = null;
|
|
46
47
|
|
|
47
48
|
// modalHeader, child
|
|
48
|
-
isHeadlessModalVariant = false;
|
|
49
49
|
headerRegistered = false;
|
|
50
50
|
headerHeight = 0;
|
|
51
51
|
headerDefaultSlotIsPopulated = false;
|
|
@@ -73,8 +73,6 @@ export default class LightningModalBase extends LightningShadowBaseClass {
|
|
|
73
73
|
focusinEventBound = false;
|
|
74
74
|
focusinEventHandler = null;
|
|
75
75
|
lastFocussedElementOnModal = null;
|
|
76
|
-
previousSavedInertElementsSize = 0;
|
|
77
|
-
allTabbableElements = null;
|
|
78
76
|
|
|
79
77
|
// modalFooter, child
|
|
80
78
|
footerRegistered = false;
|
|
@@ -319,6 +317,37 @@ export default class LightningModalBase extends LightningShadowBaseClass {
|
|
|
319
317
|
return !!description?.trim().length;
|
|
320
318
|
}
|
|
321
319
|
|
|
320
|
+
/**
|
|
321
|
+
* Compute the correct lightning-button-icon CSS class to use
|
|
322
|
+
* for the size="full" behaviors, based upon the screen size
|
|
323
|
+
* threshold. Two classes are added for full screen behavior
|
|
324
|
+
* to handle edge cases where customers change background of the
|
|
325
|
+
* modal header so the close button maintains visibility for a11y
|
|
326
|
+
* @private
|
|
327
|
+
*/
|
|
328
|
+
// slds-button slds-button_icon slds-modal__close slds-button_icon-inverse
|
|
329
|
+
get computedCloseButtonCssClass() {
|
|
330
|
+
let classes = classSet('slds-modal__close');
|
|
331
|
+
const fullScreenActive =
|
|
332
|
+
this.isSmallScreenSize && this.size === SIZE_FULL;
|
|
333
|
+
classes.add({
|
|
334
|
+
'slds-modal_full-close-button': fullScreenActive,
|
|
335
|
+
});
|
|
336
|
+
return classes.toString();
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
/**
|
|
340
|
+
* Compute the correct lightning-button-icon variant to use
|
|
341
|
+
* for the size="full" behaviors, based upon the screen size
|
|
342
|
+
* threshold. Important to maintain existing close button behavior
|
|
343
|
+
* when size 'small', 'medium' and 'large' close button variant
|
|
344
|
+
* when 'isSmallScreenSize = true' for a11y purposes
|
|
345
|
+
* @private
|
|
346
|
+
*/
|
|
347
|
+
get computedCloseButtonVariant() {
|
|
348
|
+
return this.shouldModalBeFullScreen() ? 'bare' : 'bare-inverse';
|
|
349
|
+
}
|
|
350
|
+
|
|
322
351
|
/**
|
|
323
352
|
* Determines if aria-describedby should be set, and the span tag shown
|
|
324
353
|
* occurs only when aria-description is not supported.
|
|
@@ -368,42 +397,21 @@ export default class LightningModalBase extends LightningShadowBaseClass {
|
|
|
368
397
|
const disableCloseButtonMessage = isSwitchingToDisabled
|
|
369
398
|
? this.disableCloseBtnMessage
|
|
370
399
|
: '';
|
|
371
|
-
|
|
372
|
-
const closeButtonDisable = isSwitchingToDisabled ? 'disabled' : null;
|
|
373
|
-
|
|
374
|
-
// Finally, set accessibility attributes for modal-base
|
|
375
400
|
if (isSwitchingToDisabled) {
|
|
376
401
|
// Should disable close button
|
|
377
402
|
this.ariaLiveMessage = disableCloseButtonMessage;
|
|
378
403
|
this.showAriaLiveMessage = true;
|
|
379
404
|
synchronizeAttrs(this.modalWrapper, { [`${ARIA.BUSY}`]: true });
|
|
405
|
+
synchronizeAttrs(this.modalCloseButton, { disabled: 'disabled' });
|
|
380
406
|
this.disableCloseButton = true;
|
|
381
407
|
} else {
|
|
382
408
|
// Should enable close button
|
|
383
|
-
this.ariaLiveMessage =
|
|
409
|
+
this.ariaLiveMessage = disableCloseBtnMessage;
|
|
384
410
|
this.showAriaLiveMessage = false;
|
|
385
411
|
synchronizeAttrs(this.modalWrapper, { [`${ARIA.BUSY}`]: null });
|
|
412
|
+
synchronizeAttrs(this.modalCloseButton, { disabled: null });
|
|
386
413
|
this.disableCloseButton = false;
|
|
387
414
|
}
|
|
388
|
-
|
|
389
|
-
// Modal with Header variant has close button icon on lightning-modal-header child component
|
|
390
|
-
// where-as Headless Modal variant has close button icon on modal-base,
|
|
391
|
-
if (!this.isHeadlessModalVariant && this.headerTitleRef) {
|
|
392
|
-
// dispatch secondary event to disable close button icon present on lightning-modal-header
|
|
393
|
-
this.headerTitleRef.dispatchEvent(
|
|
394
|
-
new CustomEvent('privatemodalheaderdisableclose', {
|
|
395
|
-
detail: {
|
|
396
|
-
disableClose: isSwitchingToDisabled,
|
|
397
|
-
[secure]: true,
|
|
398
|
-
},
|
|
399
|
-
bubbles: true,
|
|
400
|
-
})
|
|
401
|
-
);
|
|
402
|
-
} else {
|
|
403
|
-
synchronizeAttrs(this.modalCloseButton, {
|
|
404
|
-
disabled: closeButtonDisable,
|
|
405
|
-
});
|
|
406
|
-
}
|
|
407
415
|
}
|
|
408
416
|
|
|
409
417
|
/**
|
|
@@ -461,17 +469,23 @@ export default class LightningModalBase extends LightningShadowBaseClass {
|
|
|
461
469
|
}
|
|
462
470
|
|
|
463
471
|
/**
|
|
464
|
-
* Handler for 'focusin' events responsible for
|
|
465
|
-
* <ul>
|
|
466
|
-
* <li>While the focus is on a Modal or stacked Modals, the handler tracks the last focussed element inside a Modal</li>
|
|
467
|
-
* <li>If user's focus moves outside a Modal, the handler tries to bring user's focus back to last focussed element</li>
|
|
468
|
-
* </ul>
|
|
472
|
+
* Handler for 'focusin' events, responsible for trapping user focus to open Modal
|
|
469
473
|
* @param e - Event
|
|
470
474
|
*/
|
|
471
|
-
handleFocusinEvents() {
|
|
475
|
+
handleFocusinEvents(e) {
|
|
472
476
|
// eslint-disable-next-line @lwc/lwc/no-async-operation
|
|
473
477
|
requestAnimationFrame(() => {
|
|
474
|
-
//
|
|
478
|
+
// is current active (open) modal is lwc
|
|
479
|
+
if (isLwcModalActive() && this.isModalOpen) {
|
|
480
|
+
const isTargetRelatedToModal =
|
|
481
|
+
e.target?.closest(MODAL_CONTAINER) ||
|
|
482
|
+
e.relatedTarget?.closest(MODAL_CONTAINER);
|
|
483
|
+
if (isTargetRelatedToModal) {
|
|
484
|
+
this.lastFocussedElementOnModal = getElementWithFocus();
|
|
485
|
+
} else {
|
|
486
|
+
returnFocusToElement(this.lastFocussedElementOnModal);
|
|
487
|
+
}
|
|
488
|
+
}
|
|
475
489
|
});
|
|
476
490
|
}
|
|
477
491
|
|
|
@@ -610,19 +624,6 @@ export default class LightningModalBase extends LightningShadowBaseClass {
|
|
|
610
624
|
console.error(errorMsg);
|
|
611
625
|
}
|
|
612
626
|
|
|
613
|
-
/**
|
|
614
|
-
* Handle close button click triggered from lightning-modal-header
|
|
615
|
-
* @param e
|
|
616
|
-
*/
|
|
617
|
-
handleModalHeaderCloseClick(e) {
|
|
618
|
-
if (!e?.detail?.[secure]) {
|
|
619
|
-
console.error('Invalid access to privatemodalheaderclose event');
|
|
620
|
-
return;
|
|
621
|
-
}
|
|
622
|
-
e.stopPropagation();
|
|
623
|
-
this.handleCloseClick();
|
|
624
|
-
}
|
|
625
|
-
|
|
626
627
|
/**
|
|
627
628
|
* Handle the close button click, or via ESC key
|
|
628
629
|
* @private
|
|
@@ -784,7 +785,7 @@ export default class LightningModalBase extends LightningShadowBaseClass {
|
|
|
784
785
|
|
|
785
786
|
const fallbackFocusElem = this.disableCloseButton
|
|
786
787
|
? outerModalElem
|
|
787
|
-
: closeButtonElem
|
|
788
|
+
: closeButtonElem;
|
|
788
789
|
|
|
789
790
|
const focusElem = preferredFocusElem
|
|
790
791
|
? preferredFocusElem
|
|
@@ -850,20 +851,6 @@ export default class LightningModalBase extends LightningShadowBaseClass {
|
|
|
850
851
|
if (!this.focusinEventBound) {
|
|
851
852
|
this.addFocusinEventListener();
|
|
852
853
|
}
|
|
853
|
-
|
|
854
|
-
this.updateHeadlessModalVariantState();
|
|
855
|
-
}
|
|
856
|
-
|
|
857
|
-
/**
|
|
858
|
-
* In case of a headless modal variant, the close button icon lives inside modalBase,
|
|
859
|
-
* while in other variants, the close icon lives inside lightning-modal-header
|
|
860
|
-
*
|
|
861
|
-
* This helper method is to accurately update the state of 'isHeadlessModalVariant' flag
|
|
862
|
-
* in order to selectively render the close <lightning-button-icon> in modalBase.html
|
|
863
|
-
*/
|
|
864
|
-
updateHeadlessModalVariantState() {
|
|
865
|
-
this.isHeadlessModalVariant =
|
|
866
|
-
this.bodyRegistered && !this.headerRegistered;
|
|
867
854
|
}
|
|
868
855
|
|
|
869
856
|
/**
|
|
@@ -941,8 +928,6 @@ export default class LightningModalBase extends LightningShadowBaseClass {
|
|
|
941
928
|
if (this.bodyRegistered) {
|
|
942
929
|
this.updateModalBodyHeight();
|
|
943
930
|
}
|
|
944
|
-
|
|
945
|
-
this.updateHeadlessModalVariantState();
|
|
946
931
|
}
|
|
947
932
|
|
|
948
933
|
/**
|
|
@@ -972,7 +957,6 @@ export default class LightningModalBase extends LightningShadowBaseClass {
|
|
|
972
957
|
this.headerLabelId = null;
|
|
973
958
|
this.headerLabelIsPopulated = null;
|
|
974
959
|
this.headerTitleRef = null;
|
|
975
|
-
this.updateHeadlessModalVariantState();
|
|
976
960
|
}
|
|
977
961
|
|
|
978
962
|
/**
|
|
@@ -1015,8 +999,6 @@ export default class LightningModalBase extends LightningShadowBaseClass {
|
|
|
1015
999
|
if (this.bodyRegistered) {
|
|
1016
1000
|
this.updateModalBodyHeight();
|
|
1017
1001
|
}
|
|
1018
|
-
|
|
1019
|
-
this.updateHeadlessModalVariantState();
|
|
1020
1002
|
}
|
|
1021
1003
|
|
|
1022
1004
|
/**
|
|
@@ -1185,24 +1167,6 @@ export default class LightningModalBase extends LightningShadowBaseClass {
|
|
|
1185
1167
|
}
|
|
1186
1168
|
}
|
|
1187
1169
|
|
|
1188
|
-
/**
|
|
1189
|
-
* Helper method to determine when modals are being stacked.
|
|
1190
|
-
*
|
|
1191
|
-
* When stacked modals are present on the page,
|
|
1192
|
-
* elements in savedInertElements will have 'ariaHidden' attribute with a boolean true
|
|
1193
|
-
* @returns {boolean}
|
|
1194
|
-
*/
|
|
1195
|
-
isStackedModal() {
|
|
1196
|
-
const { savedInertElements } = this;
|
|
1197
|
-
for (let i = 0; i < savedInertElements.length; i++) {
|
|
1198
|
-
const isAriaHidden = savedInertElements[i].ariaHidden;
|
|
1199
|
-
if (isAriaHidden) {
|
|
1200
|
-
return true;
|
|
1201
|
-
}
|
|
1202
|
-
}
|
|
1203
|
-
return false;
|
|
1204
|
-
}
|
|
1205
|
-
|
|
1206
1170
|
/**
|
|
1207
1171
|
* == W-12654751 P1 a11y bug ==
|
|
1208
1172
|
*
|
|
@@ -1,25 +1,13 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="slds-modal__header
|
|
3
|
-
onprivatemodalheaderdisableclose={handlePrivateModalHeaderDisableClose}
|
|
4
|
-
>
|
|
2
|
+
<div class="slds-modal__header" part="modal-header">
|
|
5
3
|
<template if:true={label}>
|
|
6
4
|
<h1
|
|
7
|
-
class="slds-modal__title slds-hyphenate"
|
|
8
|
-
data-label
|
|
9
5
|
id="modal-label"
|
|
6
|
+
class="slds-modal__title slds-hyphenate"
|
|
10
7
|
tabindex="-1"
|
|
8
|
+
data-label
|
|
11
9
|
>{label}</h1>
|
|
12
10
|
</template>
|
|
13
|
-
<lightning-button-icon
|
|
14
|
-
alternative-text={headerCloseButtonAltText}
|
|
15
|
-
class="slds-modal__close"
|
|
16
|
-
data-header-close-button
|
|
17
|
-
disabled={disableCloseButton}
|
|
18
|
-
icon-name="utility:close"
|
|
19
|
-
onclick={handleModalHeaderClose}
|
|
20
|
-
size="large"
|
|
21
|
-
variant="bare"
|
|
22
|
-
></lightning-button-icon>
|
|
23
11
|
<slot
|
|
24
12
|
data-default-slot
|
|
25
13
|
onslotchange={handleDefaultSlotChange}
|
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
import { api } from 'lwc';
|
|
2
2
|
import LightningShadowBaseClass from 'lightning/shadowBaseClassPrivate';
|
|
3
|
-
import { getRealDOMId
|
|
4
|
-
import { secure } from 'lightning/overlayUtils';
|
|
5
|
-
import closeButtonAltText from '@salesforce/label/LightningModalBase.cancelandclose';
|
|
3
|
+
import { getRealDOMId } from 'lightning/utilsPrivate';
|
|
6
4
|
|
|
7
5
|
// selectors
|
|
8
6
|
const modalHeaderSelector = '.slds-modal__header';
|
|
9
7
|
const labelSelector = '[data-label]';
|
|
10
8
|
const slotWrapperSelector = '[data-slot-wrapper]';
|
|
11
9
|
const defaultSlotSelector = '[data-default-slot]';
|
|
12
|
-
const headerCloseButtonSelector = '[data-header-close-button]';
|
|
13
10
|
|
|
14
11
|
/**
|
|
15
12
|
* Creates a header to display the heading and tagline at the top of a modal.
|
|
@@ -19,13 +16,25 @@ export default class LightningModalHeader extends LightningShadowBaseClass {
|
|
|
19
16
|
initialRender = true;
|
|
20
17
|
initialSlotRender = true;
|
|
21
18
|
unregisterCallback = null;
|
|
22
|
-
headerCloseButtonAltText = closeButtonAltText;
|
|
23
19
|
|
|
24
20
|
/**
|
|
25
21
|
* Text to display as the heading at the top of the modal
|
|
26
22
|
*/
|
|
27
23
|
@api label = '';
|
|
28
24
|
|
|
25
|
+
/**
|
|
26
|
+
* Handle the default slot change event
|
|
27
|
+
* Always register with parent every slot change
|
|
28
|
+
* @private
|
|
29
|
+
*/
|
|
30
|
+
handleDefaultSlotChange() {
|
|
31
|
+
// Set this once so that parent can know slot has rendered
|
|
32
|
+
if (this.initialSlotRender) {
|
|
33
|
+
this.initialSlotRender = false;
|
|
34
|
+
}
|
|
35
|
+
this.registerWithParent();
|
|
36
|
+
}
|
|
37
|
+
|
|
29
38
|
/**
|
|
30
39
|
* Get the height of outer wrapper of modal header
|
|
31
40
|
* @returns {number} represents a height value in pixels
|
|
@@ -116,62 +125,6 @@ export default class LightningModalHeader extends LightningShadowBaseClass {
|
|
|
116
125
|
return (this.label && this.label.trim().length > 0) || false;
|
|
117
126
|
}
|
|
118
127
|
|
|
119
|
-
/**
|
|
120
|
-
* Get the lightning-button-icon (close button element)
|
|
121
|
-
* @returns {(HTMLElement|null)}
|
|
122
|
-
* @private
|
|
123
|
-
*/
|
|
124
|
-
get headerCloseButton() {
|
|
125
|
-
return this.template.querySelector(headerCloseButtonSelector);
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
/**
|
|
129
|
-
* Handle the default slot change event
|
|
130
|
-
* Always register with parent every slot change
|
|
131
|
-
* @private
|
|
132
|
-
*/
|
|
133
|
-
handleDefaultSlotChange() {
|
|
134
|
-
// Set this once so that parent can know slot has rendered
|
|
135
|
-
if (this.initialSlotRender) {
|
|
136
|
-
this.initialSlotRender = false;
|
|
137
|
-
}
|
|
138
|
-
this.registerWithParent();
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
/**
|
|
142
|
-
* Toggle set disabled on the <lightning-button-icon> present inside lightning-modal-header
|
|
143
|
-
* @param e
|
|
144
|
-
*/
|
|
145
|
-
handlePrivateModalHeaderDisableClose(e) {
|
|
146
|
-
if (!e?.detail?.[secure]) {
|
|
147
|
-
console.error(
|
|
148
|
-
'Invalid access to privatemodalheaderdisableclose event'
|
|
149
|
-
);
|
|
150
|
-
return;
|
|
151
|
-
}
|
|
152
|
-
e.stopPropagation();
|
|
153
|
-
|
|
154
|
-
const closeButtonDisable = e.detail?.disableClose ? 'disabled' : null;
|
|
155
|
-
|
|
156
|
-
synchronizeAttrs(this.headerCloseButton, {
|
|
157
|
-
disabled: closeButtonDisable,
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
/**
|
|
162
|
-
* Handle close click on close <lightning-button-icon>
|
|
163
|
-
*/
|
|
164
|
-
handleModalHeaderClose() {
|
|
165
|
-
const closeEvt = new CustomEvent('privatemodalheaderclose', {
|
|
166
|
-
bubbles: true,
|
|
167
|
-
composed: true,
|
|
168
|
-
detail: {
|
|
169
|
-
[secure]: true,
|
|
170
|
-
},
|
|
171
|
-
});
|
|
172
|
-
this.dispatchEvent(closeEvt);
|
|
173
|
-
}
|
|
174
|
-
|
|
175
128
|
/**
|
|
176
129
|
* Register modalHeader with modal parent, including callbacks to
|
|
177
130
|
* unregister the modal header
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
@import 'lightning/sldsCommon';
|
|
2
|
+
@import 'lightning/sldsUtilsHyphenation';
|
|
3
|
+
|
|
4
|
+
[part="columnadder"] {
|
|
5
|
+
display: flex;
|
|
6
|
+
justify-content: space-between;
|
|
7
|
+
align-items: center;
|
|
8
|
+
padding: 0.5rem;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
[part="modal-body"] {
|
|
13
|
+
height: 19rem;
|
|
14
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<lightning-modal-header label={i18n.modalTitle}>
|
|
3
|
+
</lightning-modal-header>
|
|
4
|
+
<lightning-modal-body class="modal_headerless">
|
|
5
|
+
<div part="modal-body">
|
|
6
|
+
<template iterator:it={rulesWithData}>
|
|
7
|
+
<lightning-primitive-column-sorter
|
|
8
|
+
key={it.value.key}
|
|
9
|
+
index={it.index}
|
|
10
|
+
rule={it.value}
|
|
11
|
+
columns={processedColumns}
|
|
12
|
+
first-rule={it.first}
|
|
13
|
+
last-rule={it.last}
|
|
14
|
+
ondelete={handleDeleteRule}
|
|
15
|
+
onselection={handleSelectionChange}
|
|
16
|
+
onmoveup={handleRuleMovement}
|
|
17
|
+
onmovedown={handleRuleMovement}>
|
|
18
|
+
</lightning-primitive-column-sorter>
|
|
19
|
+
</template>
|
|
20
|
+
<div part="columnadder">
|
|
21
|
+
<lightning-button
|
|
22
|
+
variant="base"
|
|
23
|
+
label={i18n.addRule}
|
|
24
|
+
icon-name="utility:add"
|
|
25
|
+
onclick={handleAddRule}
|
|
26
|
+
disabled={isAddRuleButtonDisabled}
|
|
27
|
+
class="slds-m-left_x-small">
|
|
28
|
+
</lightning-button>
|
|
29
|
+
<div style={ruleLimitTextStyle}>{ruleLimitText}</div>
|
|
30
|
+
</div>
|
|
31
|
+
</div>
|
|
32
|
+
</lightning-modal-body>
|
|
33
|
+
<lightning-modal-footer class="slds-modal__footer_directional">
|
|
34
|
+
<lightning-button
|
|
35
|
+
class="slds-button"
|
|
36
|
+
variant="neutral"
|
|
37
|
+
label={i18n.clearButton}
|
|
38
|
+
onclick={clearRules}
|
|
39
|
+
disabled={isClearButtonDisabled}
|
|
40
|
+
></lightning-button>
|
|
41
|
+
<lightning-button
|
|
42
|
+
class="slds-button"
|
|
43
|
+
variant="neutral"
|
|
44
|
+
label={i18n.cancelButton}
|
|
45
|
+
onclick={cancelRules}
|
|
46
|
+
></lightning-button>
|
|
47
|
+
<lightning-button
|
|
48
|
+
class="slds-button"
|
|
49
|
+
variant="brand"
|
|
50
|
+
label={i18n.applyButton}
|
|
51
|
+
onclick={applyRules}
|
|
52
|
+
disabled={isApplyButtonDisabled}
|
|
53
|
+
></lightning-button>
|
|
54
|
+
</lightning-modal-footer>
|
|
55
|
+
</template>
|