lightning-base-components 1.17.2-alpha → 1.17.5-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 +129 -3
- package/package.json +25 -1
- package/scopedImports/@salesforce-label-AddressAutocomplete.LookupButton.js +1 -0
- package/scopedImports/@salesforce-label-LightningDatatable.chooseARowSelectAll.js +1 -0
- package/scopedImports/@salesforce-label-LightningInput.mailingAddressFieldsUpdateText.js +1 -0
- package/scopedImports/@salesforce-label-LightningToast.genericNavigationAssistiveText.js +1 -0
- package/scopedImports/@salesforce-label-LightningToast.macNavigationAssistiveText.js +1 -0
- package/src/lightning/ariaObserver/__examples__/connect/connect.html +19 -0
- package/src/lightning/ariaObserver/__examples__/connect/connect.js +10 -0
- package/src/lightning/ariaObserver/__examples__/connectChild/connectChild.html +3 -0
- package/src/lightning/ariaObserver/__examples__/connectChild/connectChild.js +45 -0
- package/src/lightning/ariaObserver/ariaObserver.js +16 -2
- package/src/lightning/baseCombobox/baseCombobox.js +50 -4
- package/src/lightning/baseCombobox/keyboard.js +3 -0
- package/src/lightning/breadcrumb/__docs__/breadcrumb.md +5 -6
- package/src/lightning/breadcrumb/breadcrumb.css +3 -0
- package/src/lightning/breadcrumb/breadcrumb.html +1 -1
- package/src/lightning/breadcrumb/breadcrumb.slds.css +25 -0
- package/src/lightning/breadcrumbs/breadcrumbs.css +3 -0
- package/src/lightning/breadcrumbs/breadcrumbs.html +1 -1
- package/src/lightning/breadcrumbs/breadcrumbs.slds.css +33 -0
- package/src/lightning/button/button.html +2 -1
- package/src/lightning/button/button.js +9 -0
- package/src/lightning/buttonIcon/button-icon.slds.css +5 -1
- package/src/lightning/buttonIcon/buttonIcon.html +2 -1
- package/src/lightning/buttonIcon/buttonIcon.js +10 -1
- package/src/lightning/buttonIconStateful/button-icon-stateful.slds.css +5 -1
- package/src/lightning/card/__docs__/card.md +1 -1
- package/src/lightning/card/card.js +1 -1
- package/src/lightning/datatable/datatable.js +6 -15
- package/src/lightning/datatable/templates/div/div.html +4 -2
- package/src/lightning/datatable/templates/table/table.html +4 -2
- package/src/lightning/dialog/README.md +1 -1
- package/src/lightning/dualListbox/dual-listbox.slds.css +200 -0
- package/src/lightning/dualListbox/dualListbox.css +3 -1
- package/src/lightning/dualListbox/dualListbox.html +2 -2
- package/src/lightning/dualListbox/dualListbox.js +2 -0
- package/src/lightning/dualListbox/form-element.slds.css +232 -0
- package/src/lightning/dynamicIcon/dynamic-icon-ellie.slds.css +180 -0
- package/src/lightning/dynamicIcon/dynamic-icon-eq.slds.css +63 -0
- package/src/lightning/dynamicIcon/dynamic-icon-score.slds.css +46 -0
- package/src/lightning/dynamicIcon/dynamic-icon-strength.slds.css +122 -0
- package/src/lightning/dynamicIcon/dynamic-icon-trend.slds.css +117 -0
- package/src/lightning/dynamicIcon/dynamic-icon-waffle.slds.css +177 -0
- package/src/lightning/dynamicIcon/ellie.css +1 -0
- package/src/lightning/dynamicIcon/eq.css +1 -0
- package/src/lightning/dynamicIcon/score.css +1 -0
- package/src/lightning/dynamicIcon/strength.css +1 -0
- package/src/lightning/dynamicIcon/trend.css +1 -0
- package/src/lightning/dynamicIcon/waffle.css +1 -0
- package/src/lightning/f6Controller/f6Controller.js +382 -0
- package/src/lightning/f6Controller/f6Controller.js-meta.xml +4 -0
- package/src/lightning/formattedRichText/formattedRichText.js +4 -3
- package/src/lightning/helptext/form-element.slds.css +232 -0
- package/src/lightning/helptext/help-text.slds.css +5 -1
- package/src/lightning/helptext/helptext.css +2 -1
- package/src/lightning/helptext/helptext.html +1 -0
- package/src/lightning/helptext/helptext.js +9 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/bill_of_materials.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/buyer_group_qualifier.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/datashare_target.html +9 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/datashares.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/disclosure_and_compliance.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/document_preview.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/facility_bed.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/market.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/mulesoft.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/price_sheet.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/travel_mode.html +2 -2
- package/src/lightning/iconSvgTemplates/buildTemplates/templates.js +34 -1
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/add_source.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/app_web_messaging.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/bookmark_stroke.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/buyer_group_qualifier.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/document_preview.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/expired.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/favorite_alt.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/heart.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/hourglass.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/integration.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/market.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/more.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/mulesoft.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/notification_off.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/notification_snoozed.html +9 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/profile_alt.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/promotion_tiers.html +10 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/sender_email.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/service_appointment.html +13 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/service_report.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/toggle_off.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/toggle_on.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/your_account.html +10 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/bill_of_materials.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/buyer_group_qualifier.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/datashare_target.html +9 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/datashares.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/disclosure_and_compliance.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/document_preview.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/facility_bed.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/market.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/mulesoft.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/price_sheet.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/travel_mode.html +2 -2
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/templates.js +34 -1
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/add_source.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/app_web_messaging.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/bookmark_stroke.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/buyer_group_qualifier.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/document_preview.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/expired.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/favorite_alt.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/heart.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/hourglass.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/integration.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/market.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/more.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/mulesoft.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/notification_off.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/notification_snoozed.html +9 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/profile_alt.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/promotion_tiers.html +10 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/sender_email.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/service_appointment.html +13 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/service_report.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/toggle_off.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/toggle_on.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/your_account.html +10 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/bill_of_materials.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/buyer_group_qualifier.html +8 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/datashare_target.html +9 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/datashares.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/disclosure_and_compliance.html +8 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/document_preview.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/facility_bed.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/market.html +8 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/mulesoft.html +8 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/price_sheet.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/travel_mode.html +2 -2
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/templates.js +11 -1
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/bill_of_materials.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/buyer_group_qualifier.html +8 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/datashare_target.html +9 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/datashares.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/disclosure_and_compliance.html +8 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/document_preview.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/facility_bed.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/market.html +8 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/mulesoft.html +8 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/price_sheet.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/travel_mode.html +2 -2
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/templates.js +11 -1
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/templates.js +24 -1
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/add_source.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/app_web_messaging.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/bookmark_stroke.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/buyer_group_qualifier.html +8 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/document_preview.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/expired.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/favorite_alt.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/heart.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/hourglass.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/integration.html +8 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/market.html +8 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/more.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/mulesoft.html +8 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/notification_off.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/notification_snoozed.html +9 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/profile_alt.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/promotion_tiers.html +10 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/sender_email.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/service_appointment.html +13 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/service_report.html +8 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/toggle_off.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/toggle_on.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/your_account.html +10 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/templates.js +24 -1
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/add_source.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/app_web_messaging.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/bookmark_stroke.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/buyer_group_qualifier.html +8 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/document_preview.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/expired.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/favorite_alt.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/heart.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/hourglass.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/integration.html +8 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/market.html +8 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/more.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/mulesoft.html +8 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/notification_off.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/notification_snoozed.html +9 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/profile_alt.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/promotion_tiers.html +10 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/sender_email.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/service_appointment.html +13 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/service_report.html +8 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/toggle_off.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/toggle_on.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/your_account.html +10 -0
- package/src/lightning/input/__docs__/input.md +1 -1
- package/src/lightning/input/input-text.slds.css +1 -1
- package/src/lightning/input/input.html +3 -3
- package/src/lightning/input/input.js +39 -3
- package/src/lightning/inputAddress/__docs__/inputAddress.md +3 -0
- package/src/lightning/inputAddress/inputAddress.html +1 -0
- package/src/lightning/inputAddress/inputAddress.js +6 -0
- package/src/lightning/modal/__docs__/modal.md +187 -20
- package/src/lightning/modal/__examples__disabled/allform/allform.html +1 -1
- package/src/lightning/modal/__examples__disabled/allform/allform.js +1 -1
- package/src/lightning/modal/__examples__disabled/allformfull/allformfull.css +7 -0
- package/src/lightning/modal/__examples__disabled/allformfull/allformfull.html +9 -0
- package/src/lightning/modal/__examples__disabled/allformfull/allformfull.js +49 -0
- package/src/lightning/modal/__examples__disabled/demoallformfull/demoallformfull.css +3 -0
- package/src/lightning/modal/__examples__disabled/demoallformfull/demoallformfull.html +146 -0
- package/src/lightning/modal/__examples__disabled/demoallformfull/demoallformfull.js +240 -0
- package/src/lightning/modalBase/modalBase.css +1 -1
- package/src/lightning/modalBase/modalBase.html +1 -1
- package/src/lightning/modalBase/modalBase.js +180 -45
- package/src/lightning/modalBody/modalBody.js +133 -18
- package/src/lightning/modalFooter/modalFooter.js +57 -1
- package/src/lightning/navigation/__docs__/navigation.md +1 -1
- package/src/lightning/popup/popover.slds.css +121 -0
- package/src/lightning/popup/popup.css +3 -0
- package/src/lightning/positionLibrary/direction.js +10 -17
- package/src/lightning/positionLibrary/overlayDetector.js +10 -1
- package/src/lightning/primitiveBubble/primitiveBubble.js +16 -1
- package/src/lightning/primitiveCellCheckbox/primitiveCellCheckbox.js +15 -1
- package/src/lightning/primitiveHeaderFactory/primitiveHeaderFactory.js +29 -0
- package/src/lightning/primitiveHeaderFactory/selectableHeader.html +3 -6
- package/src/lightning/progressIndicator/progressIndicator.js +1 -1
- package/src/lightning/select/__docs__/select.md +9 -0
- package/src/lightning/select/__examples__/disabled/disabled.html +10 -0
- package/src/lightning/select/__examples__/disabled/disabled.js +27 -0
- package/src/lightning/select/__examples__/hidden/hidden.html +10 -0
- package/src/lightning/select/__examples__/hidden/hidden.js +27 -0
- package/src/lightning/select/__examples__/inline/inline.html +10 -0
- package/src/lightning/select/__examples__/inline/inline.js +27 -0
- package/src/lightning/select/form-element.slds.css +232 -0
- package/src/lightning/select/select.css +3 -0
- package/src/lightning/select/select.html +2 -2
- package/src/lightning/select/select.js +3 -0
- package/src/lightning/select/select.slds.css +398 -0
- package/src/lightning/showToastEvent/showToastEvent.js +21 -0
- package/src/lightning/showToastEvent/showToastEvent.js-meta.xml +4 -0
- package/src/lightning/sldsCommon/sldsCommon.css +21 -4
- package/src/lightning/toast/__docs__/toast.md +103 -0
- package/src/lightning/toast/toast.css +52 -0
- package/src/lightning/toast/toast.html +70 -0
- package/src/lightning/toast/toast.js +608 -0
- package/src/lightning/toast/toast.js-meta.xml +4 -0
- package/src/lightning/toastContainer/__docs__/toastContainer.md +59 -0
- package/src/lightning/toastContainer/toastContainer.css +32 -0
- package/src/lightning/toastContainer/toastContainer.html +9 -0
- package/src/lightning/toastContainer/toastContainer.js +471 -0
- package/src/lightning/toastContainer/toastContainer.js-meta.xml +6 -0
- package/src/lightning/tooltipLibrary/tooltipLibrary.js +70 -8
- package/src/lightning/treeGrid/__docs__/treeGrid.md +7 -3
- package/src/lightning/treeGrid/treeGrid.js +25 -30
- package/src/lightning/utilsPrivate/normalize.js +22 -6
- package/src/lightning/utilsPrivate/url.js +2 -1
- package/src/lightning/verticalNavigation/vertical-navigation.slds.css +4 -0
- package/src/lightning/verticalNavigation/verticalNavigation.css +1 -0
- package/src/lightning/verticalNavigation/verticalNavigation.html +1 -1
- package/src/lightning/verticalNavigationSection/vertical-navigation-section.slds.css +19 -0
- package/src/lightning/verticalNavigationSection/verticalNavigationSection.css +2 -0
- package/src/lightning/verticalNavigationSection/verticalNavigationSection.html +1 -1
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import labelRequired from '@salesforce/label/LightningControl.required';
|
|
4
4
|
import labelHelpTextAlternativeText from '@salesforce/label/LightningInput.helptextAlternativeText';
|
|
5
|
+
import labelMailingAddressFieldsUpdateText from '@salesforce/label/LightningInput.mailingAddressFieldsUpdateText';
|
|
5
6
|
import locale from '@salesforce/i18n/locale';
|
|
6
7
|
import { LightningElement, api, track } from 'lwc';
|
|
7
8
|
import { classSet, formatLabel } from 'lightning/utils';
|
|
@@ -33,6 +34,7 @@ const FIELD_TYPE = {
|
|
|
33
34
|
const i18n = {
|
|
34
35
|
required: labelRequired,
|
|
35
36
|
helpTextAlternativeText: labelHelpTextAlternativeText,
|
|
37
|
+
mailingAddressFieldsUpdateText: labelMailingAddressFieldsUpdateText,
|
|
36
38
|
};
|
|
37
39
|
/**
|
|
38
40
|
* Represents an address compound field.
|
|
@@ -573,6 +575,10 @@ export default class LightningInputAddress extends LightningElement {
|
|
|
573
575
|
this.country = country || '';
|
|
574
576
|
|
|
575
577
|
this.postalCode = address.postalCode || '';
|
|
578
|
+
this._messageOnAddressUpdate = formatLabel(
|
|
579
|
+
this.i18n.mailingAddressFieldsUpdateText,
|
|
580
|
+
this.country
|
|
581
|
+
);
|
|
576
582
|
|
|
577
583
|
this.dispatchAddressChangeEvent();
|
|
578
584
|
}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
A `lightningModal` component overlays a message modal on top of the current app window. A modal interrupts a user’s workflow and draws attention to the message.
|
|
1
|
+
A `lightningModal` component overlays a message modal on top of the current app window. A modal interrupts a user’s workflow and draws attention to the message.
|
|
2
2
|
|
|
3
3
|
`LightningModal` implements the SLDS [modals](https://www.lightningdesignsystem.com/components/modals/) blueprint.
|
|
4
4
|
|
|
5
5
|
Create a modal component in response to a user action, such as clicking a button or link. The modal blocks interaction with everything else on the page until the user acts upon or dismisses the modal.
|
|
6
6
|
|
|
7
|
-
Unlike other components, this component doesn't use a `lightning-modal` tag or extend `LightningElement`. There is no `lightning-modal` component. Instead, you create a modal by extending `LightningModal` and using these helper `lightning-modal-*` components to provide a header, footer and the body of the modal.
|
|
7
|
+
Unlike other components, this component doesn't use a `lightning-modal` tag or extend `LightningElement`. There is no `lightning-modal` component. Instead, you create a modal by extending `LightningModal` and using these helper `lightning-modal-*` components to provide a header, footer and the body of the modal.
|
|
8
8
|
- `lightning-modal-body`
|
|
9
9
|
- `lightning-modal-header`
|
|
10
10
|
- `lightning-modal-footer`
|
|
11
11
|
|
|
12
12
|
To create a modal component, import `LightningModal` from `lightning/modal`. The component has access to the normal LWC resources as well as the special container, helper components, methods, and events of the `lightning/modal` module.
|
|
13
13
|
|
|
14
|
-
In this example, the `content` property passes data to the modal from the component that invokes it.
|
|
14
|
+
In this example, the `content` property passes data to the modal from the component that invokes it.
|
|
15
15
|
|
|
16
16
|
```js
|
|
17
17
|
/* c/myModal.js */
|
|
@@ -28,7 +28,7 @@ export default class MyModal extends LightningModal {
|
|
|
28
28
|
}
|
|
29
29
|
```
|
|
30
30
|
|
|
31
|
-
The modal’s HTML template uses helper `lightning-modal-*` components to provide a header, footer, and the body of the modal. In this example, the content for the modal body comes from the `content` property we defined in the modal's JavaScript file.
|
|
31
|
+
The modal’s HTML template uses helper `lightning-modal-*` components to provide a header, footer, and the body of the modal. In this example, the content for the modal body comes from the `content` property we defined in the modal's JavaScript file.
|
|
32
32
|
|
|
33
33
|
```html
|
|
34
34
|
<!-- c/myModal.html -->
|
|
@@ -42,19 +42,19 @@ The modal’s HTML template uses helper `lightning-modal-*` components to provid
|
|
|
42
42
|
</template>
|
|
43
43
|
```
|
|
44
44
|
|
|
45
|
-
The `lightning-modal-body` component is required for the modal template.
|
|
45
|
+
The `lightning-modal-body` component is required for the modal template.
|
|
46
46
|
|
|
47
|
-
The `lightning-modal-header` and `lightning-modal-footer` components are optional, but recommended. The `lightning-modal-*` components render in the order they appear in the template. Place the `lightning-modal-body` component after `lightning-modal-header` and before the `lightning-modal-footer` component.
|
|
47
|
+
The `lightning-modal-header` and `lightning-modal-footer` components are optional, but recommended. The `lightning-modal-*` components render in the order they appear in the template. Place the `lightning-modal-body` component after `lightning-modal-header` and before the `lightning-modal-footer` component.
|
|
48
48
|
|
|
49
49
|
#### Open a Modal Instance
|
|
50
50
|
|
|
51
51
|
`LightningModal` provides an `.open()` method which opens a modal and returns a promise that asynchronously resolves with the result of the user’s interaction with the modal.
|
|
52
52
|
|
|
53
|
-
Each invocation of a modal component’s `.open()` method creates a unique instance of the modal. You can think of a modal as a self-contained application that starts from scratch when it opens. It displays the content you pass in through the `.open()` method or that you set within the modal's HTML template.
|
|
53
|
+
Each invocation of a modal component’s `.open()` method creates a unique instance of the modal. You can think of a modal as a self-contained application that starts from scratch when it opens. It displays the content you pass in through the `.open()` method or that you set within the modal's HTML template.
|
|
54
54
|
|
|
55
|
-
When you close a modal, the modal instance is destroyed, not hidden. On close, the modal must save the user’s input data or pass it to the invoking component as the promise result. Otherwise, the data is lost when the modal instance is closed.
|
|
55
|
+
When you close a modal, the modal instance is destroyed, not hidden. On close, the modal must save the user’s input data or pass it to the invoking component as the promise result. Otherwise, the data is lost when the modal instance is closed.
|
|
56
56
|
|
|
57
|
-
The `.open()` method lets you assign values to the modal's properties. `LightningModal` provides these properties.
|
|
57
|
+
The `.open()` method lets you assign values to the modal's properties. `LightningModal` provides these properties.
|
|
58
58
|
|
|
59
59
|
* `label` - Required. Sets the modal's title and assistive device label. If the modal has a header, set `label` in the `lightning-modal-header` component. If the modal doesn't have a header, set the `label` property when opening the modal.
|
|
60
60
|
|
|
@@ -95,14 +95,14 @@ The HTML template for this app contains a button that opens the modal and displa
|
|
|
95
95
|
<template>
|
|
96
96
|
<lightning-button
|
|
97
97
|
onclick={handleClick}
|
|
98
|
-
aria-haspopup="
|
|
98
|
+
aria-haspopup="dialog"
|
|
99
99
|
label="Open My Modal">
|
|
100
|
-
</lightning-button>
|
|
100
|
+
</lightning-button>
|
|
101
101
|
<p>Result: {result}</p>
|
|
102
102
|
</template>
|
|
103
103
|
```
|
|
104
104
|
|
|
105
|
-
You can also use `.open()` to pass data from your invoking component into the modal with custom properties decorated with `@api`. These properties can be any type, such as a string or an object that’s an array of key/value pairs to be assigned to the new modal instance.
|
|
105
|
+
You can also use `.open()` to pass data from your invoking component into the modal with custom properties decorated with `@api`. These properties can be any type, such as a string or an object that’s an array of key/value pairs to be assigned to the new modal instance.
|
|
106
106
|
|
|
107
107
|
For example, this app component sets an `options` property to a set of key/value pairs in `MyModal.open()`. The promise is handled using an arrow function that logs the result to the console.
|
|
108
108
|
|
|
@@ -155,14 +155,14 @@ export default class MyModal extends LightningModal {
|
|
|
155
155
|
>
|
|
156
156
|
{option.label}
|
|
157
157
|
</lightning-button>
|
|
158
|
-
</template>
|
|
158
|
+
</template>
|
|
159
159
|
</lightning-modal-body>
|
|
160
160
|
</template>
|
|
161
161
|
```
|
|
162
162
|
|
|
163
163
|
#### Close a Modal Instance
|
|
164
164
|
|
|
165
|
-
Use `this.close(result)` to close the modal, where `result` is anything you want to return from the modal. The `.close()` operation is asynchronous to display a brief fade out animation before the modal is destroyed. The `result` data can’t be modified after the close operation begins.
|
|
165
|
+
Use `this.close(result)` to close the modal, where `result` is anything you want to return from the modal. The `.close()` operation is asynchronous to display a brief fade out animation before the modal is destroyed. The `result` data can’t be modified after the close operation begins.
|
|
166
166
|
|
|
167
167
|
You can also close the modal with the default close button, the X at the top right corner. Closing a modal like this is the same as calling `this.close()` with an `undefined` result, so any data input is lost.
|
|
168
168
|
|
|
@@ -320,7 +320,7 @@ export default class MyModalForm extends LightningModal {
|
|
|
320
320
|
|
|
321
321
|
A modal can only fire events captured by the component that opened it, not the modal itself. Normal techniques can't catch events that fire from the modal, because the events bubble up to a top root element outside of the component that opened the modal.
|
|
322
322
|
|
|
323
|
-
To capture modal events, attach them in the `.open()` method invoked by the component that opens the modal.
|
|
323
|
+
To capture modal events, attach them in the `.open()` method invoked by the component that opens the modal.
|
|
324
324
|
|
|
325
325
|
For example, here's a custom `select` event dispatched from `MyModal`.
|
|
326
326
|
|
|
@@ -374,18 +374,185 @@ handleOpenModal() {
|
|
|
374
374
|
|
|
375
375
|
See [Create and Dispatch Events](https://developer.salesforce.com/docs/component-library/documentation/en/lwc/events_create_dispatch) in the LWC Dev Guide for more information about events.
|
|
376
376
|
|
|
377
|
+
#### Modal Events with Aura
|
|
378
|
+
|
|
379
|
+
For `LightningModal`, only the top level LWC component or application can communicate to the parent Aura component or application layer with eventing. This topmost component is usually the one that opens the `LightningModal`. `LightningModal`'s child components can't event to a parent Aura component or application layer.
|
|
380
|
+
|
|
381
|
+
All required eventing that should occur during the `LightningModal`'s life cycle must be passed in when you call `Modal.open()`. See `onselect` within `.open()` in the **Modal Events** section.
|
|
382
|
+
|
|
383
|
+
If you want the Aura layer to respond to events within child components embedded in the `LightningModal`, use event bubbling to move any data that you want to make available to the Aura layer into the topmost LWC component that opened the modal. Then, send the event from the LWC component.
|
|
384
|
+
|
|
385
|
+
With this in mind, there are two suggested methods for extracting data from the `LightningModal` to the Aura layer.
|
|
386
|
+
|
|
387
|
+
1. To only communicate data out of modal after it's closed, first, close the modal, and pass the data out with `this.close({ data })`, and handle the data received in `.then((result) { ... })` where the Modal is initially opened.
|
|
388
|
+
2. To continuously communicate data out of the `LightningModal` while the modal remains open, use events created and passed in when opening the modal from `Modal.open({ size, title, onmyevent })`.
|
|
389
|
+
|
|
390
|
+
These extracting methods fit into the larger LWC Modal-to-Aura event workflow.
|
|
391
|
+
|
|
392
|
+
1. Pass any events that should occur within the modal through `LightningModal`'s `.open()` method
|
|
393
|
+
2. Have the `LightningModal` JavaScript code fire any custom events
|
|
394
|
+
3. In the topmost LWC component that opened the modal, create an event handler to process the events, including stopping propagation.
|
|
395
|
+
4. Fire a separate event containing the LWC-processed event details and send it to the Aura parent component.
|
|
396
|
+
5. Use an Aura-based event handler to handle and process the event.
|
|
397
|
+
|
|
398
|
+
For more information, see [Send Events to an Enclosing Aura Component](https://developer.salesforce.com/docs/component-library/documentation/en/lwc/lwc.events_sending_to_aura_components) and [Events Best Practices](https://developer.salesforce.com/docs/component-library/documentation/en/lwc/events_best_practices).
|
|
399
|
+
|
|
400
|
+
Let's see this workflow in action. In this example, we'll create a button (`lightning-button`) that launches a modal (`LightningModal`) containing a tree grid component (`lightning-tree-grid`) with a button in each record row that automatically navigates our user to that record's page (`lightning-navigation`). This use case requires data passing between our LWC components and a parent Aura component.
|
|
401
|
+
|
|
402
|
+
Because `lightning-navigation` requires you to pass in a `recordId` to construct a page reference, we need to pass the record's data out of `LightningModal`, and then use the methods provided by `lightning-navigation`. With modal's limitations for event bubbling to the Aura layer, we can't just wrap the button or treegrid with `lightning-navigation`. We need to pull that data up to the topmost LWC component, where the `LightningModal` `.open()` is called, for our Aura wrapper to handle the navigation.
|
|
403
|
+
|
|
404
|
+
So, we `import` the `lightning-navigation` component into the topmost LWC component that sits within the Aura layer by passing the data through `LightningModal`'s close method, `this.close({ data })`. Then the parent LWC component invokes the methods provided by `lightning-navigation`, which handles the navigation away from the page after the modal exits. From a UX perspective, this also lets us close the modal first, since `lightning-navigation` takes the user away from the current page.
|
|
405
|
+
|
|
406
|
+
Note that this sample code isn't fully functional. We're only showing the relevant code that makes the `lightning-navigation` use case work with `LightningModal`.
|
|
407
|
+
|
|
408
|
+
Here's our Aura component, containing our topmost LWC component, `myLwcAppModalLauncher`.
|
|
409
|
+
|
|
410
|
+
```html
|
|
411
|
+
/* c/myApp.cmp */
|
|
412
|
+
<aura:component>
|
|
413
|
+
<!-- <c:myLwcTreeGridWithNavigation/> component is a child component
|
|
414
|
+
inside of <c:myLwcAppModalLauncher/>
|
|
415
|
+
-->
|
|
416
|
+
<c:myLwcAppModalLauncher/>
|
|
417
|
+
</aura:component>
|
|
418
|
+
```
|
|
419
|
+
|
|
420
|
+
The topmost component, `myLwcAppModalLauncher`, launches and handles events that occur within our modal (`MyModal`). `myLwcAppModalLauncher` is also where we import the `lightning-navigation` component and use the `rowId` handed up through modal's `this.close({ ..., rowId })` function.
|
|
421
|
+
|
|
422
|
+
```html
|
|
423
|
+
<!-- c/myLwcAppModalLauncher.html -->
|
|
424
|
+
|
|
425
|
+
<template>
|
|
426
|
+
<lightning-button
|
|
427
|
+
onclick={handleModalOpen}
|
|
428
|
+
aria-haspopup="dialog"
|
|
429
|
+
label="Launch Navigation Modal">
|
|
430
|
+
</lightning-button>
|
|
431
|
+
</template>
|
|
432
|
+
```
|
|
433
|
+
|
|
434
|
+
```js
|
|
435
|
+
/* c/myLwcAppModalLauncher.js */
|
|
436
|
+
|
|
437
|
+
import { LightningElement, wire } from 'lwc';
|
|
438
|
+
import { NavigationMixin } from 'lightning/navigation';
|
|
439
|
+
import MyModal from 'c/myModalWithTreeGridNavigation';
|
|
440
|
+
|
|
441
|
+
export default class MyLwcAppModalLauncher extends NavigationMixin(LightningElement) {
|
|
442
|
+
|
|
443
|
+
/// ... other modal code
|
|
444
|
+
|
|
445
|
+
handleModalOpen() {
|
|
446
|
+
// open up the Modal
|
|
447
|
+
MyModal.open({
|
|
448
|
+
size: 'medium',
|
|
449
|
+
heading: 'Navigate to Record Page',
|
|
450
|
+
description: 'Navigate to a record page by clicking the row button',
|
|
451
|
+
options: [{ data }, { data }],
|
|
452
|
+
}).then((result) => {
|
|
453
|
+
// when the LightningModal closes, result is whatever
|
|
454
|
+
// data that was passed out using this.close({ data })
|
|
455
|
+
if (result === null) {
|
|
456
|
+
// do something else
|
|
457
|
+
} else {
|
|
458
|
+
// shouldNavigate is boolean, arbitrary
|
|
459
|
+
// rowId is what's needed for lightning-navigation
|
|
460
|
+
const { shouldNavigate, rowId } = result;
|
|
461
|
+
if (shouldNavigate) {
|
|
462
|
+
this.navigateToObjectHome(rowId);
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
});
|
|
466
|
+
}
|
|
467
|
+
|
|
468
|
+
navigateToObjectHome(rowId) {
|
|
469
|
+
// construct the page ref
|
|
470
|
+
const pageRef = {
|
|
471
|
+
type: 'standard__recordPage',
|
|
472
|
+
attributes: {
|
|
473
|
+
recordId: rowId,
|
|
474
|
+
actionName: 'view'
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
// then call the .Navigate method with the pageRef
|
|
478
|
+
this[NavigationMixin.Navigate](pageRef);
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
/* ... other modal code */
|
|
482
|
+
```
|
|
483
|
+
|
|
484
|
+
This `template` is our modal, containing a tree grid with the navigation buttons, named `c-my-lwc-tree-grid-with-navigation`. The `handleNavSelection` function in this component processes the `rowId` data for the modal component to pass to its parent.
|
|
485
|
+
|
|
486
|
+
```html
|
|
487
|
+
<!-- c/myModalWithTreeGridNavigation.html -->
|
|
488
|
+
<template>
|
|
489
|
+
<lightning-modal-header label="My Modal Heading">
|
|
490
|
+
The modal tagline.
|
|
491
|
+
</lightning-modal-header>
|
|
492
|
+
<lightning-modal-body>
|
|
493
|
+
<h2>Choose a record to navigate to:</h2>
|
|
494
|
+
<!-- custom event listener when button clicked inside tree grid -->
|
|
495
|
+
<div onnavselection={handleNavSelection}>
|
|
496
|
+
<c-my-lwc-tree-grid-with-navigation></c-my-lwc-tree-grid-with-navigation>
|
|
497
|
+
</div>
|
|
498
|
+
</lightning-modal-body>
|
|
499
|
+
<!-- no <lightning-modal-footer> in this example -->
|
|
500
|
+
</template>
|
|
501
|
+
```
|
|
502
|
+
|
|
503
|
+
```js
|
|
504
|
+
/* c/myModalWithTreeGridNavigation.js */
|
|
505
|
+
handleNavSelection(event) {
|
|
506
|
+
event.stopPropagation();
|
|
507
|
+
const { detail: { rowId } } = event;
|
|
508
|
+
if (rowId) {
|
|
509
|
+
// rowId value is important to lightning-navigation
|
|
510
|
+
// passing this data out through the LightningModal's
|
|
511
|
+
// .close() method, then handled in the .then((result) {})
|
|
512
|
+
// see code above: c/myLwcAppModalLauncher.js
|
|
513
|
+
this.close({ shouldNavigate: true, rowId });
|
|
514
|
+
}
|
|
515
|
+
}
|
|
516
|
+
```
|
|
517
|
+
|
|
518
|
+
```js
|
|
519
|
+
/* c/myLwcTreeGridWithNavigation.js */
|
|
520
|
+
|
|
521
|
+
dispatchNavSelectionEvent(rowId) {
|
|
522
|
+
// add rowId to event.detail
|
|
523
|
+
// this custom event listener exists in
|
|
524
|
+
// LightningModal body code, see code above:
|
|
525
|
+
// c/myModalWithTreeGridNavigation.html
|
|
526
|
+
const eventToFire = new CustomEvent('navselection', {
|
|
527
|
+
detail: { rowId },
|
|
528
|
+
bubbles: true,
|
|
529
|
+
cancelable: false
|
|
530
|
+
});
|
|
531
|
+
// dispatch custom event
|
|
532
|
+
// see event listener added to lightning-modal-body
|
|
533
|
+
this.dispatchEvent(eventToFire);
|
|
534
|
+
}
|
|
535
|
+
|
|
536
|
+
handleRowButtonClick(event) {
|
|
537
|
+
// simplified handler to get row.Id
|
|
538
|
+
// from the tree grid row button that was clicked
|
|
539
|
+
const row = event.detail.row;
|
|
540
|
+
this.dispatchNavSelectionEvent(row.Id);
|
|
541
|
+
}
|
|
542
|
+
```
|
|
543
|
+
|
|
377
544
|
#### Styling Variants
|
|
378
545
|
|
|
379
|
-
The `lightning-modal-header` and `lightning-modal-footer` child components are optional, and you can choose to not include one or the other in your modal.
|
|
546
|
+
The `lightning-modal-header` and `lightning-modal-footer` child components are optional, and you can choose to not include one or the other in your modal.
|
|
380
547
|
|
|
381
548
|
The headerless variant of `LightningModal` has these additional requirements.
|
|
382
549
|
- Must set a descriptive modal title with the `label` property using `Modal.open({ label })` or you’ll get a console error.
|
|
383
|
-
- The `label` property is required for all variants of `LightningModal`. Assistive devices read the `label` value, even though the headerless modal variant doesn't display the label.
|
|
550
|
+
- The `label` property is required for all variants of `LightningModal`. Assistive devices read the `label` value, even though the headerless modal variant doesn't display the label.
|
|
384
551
|
- Because this variant doesn't use `lightning-modal-header`, you have to manually create an `<h1>` heading in `lightning-modal-body`. Provide accessible structure by starting with heading level `<h1>` and using levels up to `<h6>` appropriately. For more information, see [Semantic Structure, Headings on WebAim.org](https://webaim.org/techniques/semanticstructure/#headings).
|
|
385
552
|
|
|
386
553
|
The `LightningModal` component also supports the SLDS [Directional variant](https://www.lightningdesignsystem.com/components/modals/#Directional) modal blueprint pattern.
|
|
387
554
|
|
|
388
|
-
To achieve the directional button layout, place the buttons in a `div` with the `slds-modal__footer_directional` class.
|
|
555
|
+
To achieve the directional button layout, place the buttons in a `div` with the `slds-modal__footer_directional` class.
|
|
389
556
|
|
|
390
557
|
```html
|
|
391
558
|
<!-- c/modalDirectional.html -->
|
|
@@ -403,7 +570,7 @@ To achieve the directional button layout, place the buttons in a `div` with the
|
|
|
403
570
|
|
|
404
571
|
#### Styling Hooks
|
|
405
572
|
|
|
406
|
-
The `lightning-modal-*` helper components support [style hooks](https://www.lightningdesignsystem.com/components/modals/#Styling-Hooks-Overview). The styling hooks for the template that invokes the helper components doesn't carry over to them, so you must style each helper component individually.
|
|
573
|
+
The `lightning-modal-*` helper components support [style hooks](https://www.lightningdesignsystem.com/components/modals/#Styling-Hooks-Overview). The styling hooks for the template that invokes the helper components doesn't carry over to them, so you must style each helper component individually.
|
|
407
574
|
|
|
408
575
|
Customizing the styling on the white modal frame and background, close button, or gray backdrop isn't supported.
|
|
409
576
|
|
|
@@ -411,4 +578,4 @@ Customizing the styling on the white modal frame and background, close button, o
|
|
|
411
578
|
|
|
412
579
|
The `lightning-modal-header` component renders the `label` value in an `<h1>` element. If your modal uses the header, begin any additional heading levels in the modal with `<h2>` for accessibility. Provide accessible structure by using heading levels up to `<h6>` appropriately. For more information, see [Semantic Structure, Headings on WebAim.org](https://webaim.org/techniques/semanticstructure/#headings).
|
|
413
580
|
|
|
414
|
-
To include tagline text or link content for the header section, add it between the `<lightning-modal-header>` tags.
|
|
581
|
+
To include tagline text or link content for the header section, add it between the `<lightning-modal-header>` tags.
|
|
@@ -7,7 +7,7 @@ export default class ModalAllForm extends LightningElement {
|
|
|
7
7
|
handleDemoModal() {
|
|
8
8
|
ModalDemoAllForm.open({
|
|
9
9
|
// LightningModal
|
|
10
|
-
size: '
|
|
10
|
+
size: 'medium',
|
|
11
11
|
// this becomes 'label'
|
|
12
12
|
heading: 'Edit Contact Information',
|
|
13
13
|
description: 'Edit the contact information for Sales Opportunities',
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { LightningElement } from 'lwc';
|
|
2
|
+
import ModalDemoAllFormFull from 'modal/demoallformfull';
|
|
3
|
+
|
|
4
|
+
export default class ModalAllForm extends LightningElement {
|
|
5
|
+
demoResult = 'unset';
|
|
6
|
+
|
|
7
|
+
handleDemoModal() {
|
|
8
|
+
ModalDemoAllFormFull.open({
|
|
9
|
+
// LightningModal
|
|
10
|
+
size: 'full',
|
|
11
|
+
// this becomes 'label'
|
|
12
|
+
heading: 'Edit Contact Information',
|
|
13
|
+
description: 'Edit the contact information for Sales Opportunities',
|
|
14
|
+
// ModalDemo
|
|
15
|
+
options: [
|
|
16
|
+
{
|
|
17
|
+
id: 1,
|
|
18
|
+
variant: 'neutral',
|
|
19
|
+
label: 'Close',
|
|
20
|
+
triggerCancel: true,
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
id: 2,
|
|
24
|
+
variant: 'neutral',
|
|
25
|
+
label: 'Disable Close Button',
|
|
26
|
+
toggleDisableClose: true,
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
id: 3,
|
|
30
|
+
variant: 'neutral',
|
|
31
|
+
label: 'Open Next Modal',
|
|
32
|
+
triggerSecondModal: true,
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
id: 4,
|
|
36
|
+
variant: 'brand',
|
|
37
|
+
label: 'Save Data',
|
|
38
|
+
triggerSubmit: true,
|
|
39
|
+
},
|
|
40
|
+
],
|
|
41
|
+
}).then((result) => {
|
|
42
|
+
if (result === null) {
|
|
43
|
+
this.demoResult = 'dismiss';
|
|
44
|
+
} else {
|
|
45
|
+
this.demoResult = JSON.stringify(result);
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<lightning-modal-header label={heading}>
|
|
3
|
+
<p>Update your contact information by completing the form below.</p>
|
|
4
|
+
</lightning-modal-header>
|
|
5
|
+
<lightning-modal-body><div id="all-body">
|
|
6
|
+
<div class="slds-form slds-form_stacked" role="list">
|
|
7
|
+
<div class="slds-form__row">
|
|
8
|
+
<div class="slds-form__item" role="listitem">
|
|
9
|
+
<lightning-input onchange={handleTextInput} type="text" name="assignedTo" label="Assigned To" required></lightning-input>
|
|
10
|
+
</div>
|
|
11
|
+
<div class="slds-form__item" role="listitem">
|
|
12
|
+
<lightning-input onchange={handleTextInput} type="text" name="teamName" label="Team Name" required></lightning-input>
|
|
13
|
+
</div>
|
|
14
|
+
</div>
|
|
15
|
+
<div class="slds-form__row">
|
|
16
|
+
<div class="slds-form__item" role="listitem">
|
|
17
|
+
<lightning-input type="toggle" label="Security Assessment Required?" name="input3" checked disabled></lightning-input>
|
|
18
|
+
</div>
|
|
19
|
+
<div class="slds-form__item" role="listitem">
|
|
20
|
+
<lightning-combobox
|
|
21
|
+
name="progress"
|
|
22
|
+
label="Status"
|
|
23
|
+
value={statusValue}
|
|
24
|
+
placeholder="Select Progress"
|
|
25
|
+
options={statusOptions}
|
|
26
|
+
onchange={handleChangeStatus}
|
|
27
|
+
></lightning-combobox>
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
30
|
+
<div class="slds-form__row">
|
|
31
|
+
<div class="slds-form__item" role="listitem">
|
|
32
|
+
<lightning-input onchange={handleTextInput} type="text" name="personalSettings" label="Personalization Settings"></lightning-input>
|
|
33
|
+
</div>
|
|
34
|
+
<div class="slds-form__item" role="listitem">
|
|
35
|
+
<lightning-input onchange={handleTextInput} type="number" name="slaSerialNum" label="SLA Serial Number"></lightning-input>
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
<div class="slds-form__row">
|
|
39
|
+
<div class="slds-form__item" role="listitem">
|
|
40
|
+
<lightning-input onchange={handleDateInput} type="date" name="slaExpireDate" label="SLA Expiration Date" ></lightning-input>
|
|
41
|
+
</div>
|
|
42
|
+
<div class="slds-form__item" role="listitem">
|
|
43
|
+
<lightning-input onchange={handleTimeInput} type="time" name="slaExpireTime" label="SLA Expiration Time" ></lightning-input>
|
|
44
|
+
</div>
|
|
45
|
+
</div>
|
|
46
|
+
<div class="slds-form__row">
|
|
47
|
+
<div class="slds-form__item" role="listitem">
|
|
48
|
+
<lightning-input onchange={handleTextInput} type="text" name="location" label="Location"></lightning-input>
|
|
49
|
+
</div>
|
|
50
|
+
<div class="slds-form__item" role="listitem">
|
|
51
|
+
<lightning-input onchange={handleTextInput} type="text" name="selectedLangs" label="Selected Languages"></lightning-input>
|
|
52
|
+
</div>
|
|
53
|
+
</div>
|
|
54
|
+
<div class="slds-form__row">
|
|
55
|
+
<div class="slds-form__item" role="listitem">
|
|
56
|
+
<lightning-input-address
|
|
57
|
+
address-label="Billing Address"
|
|
58
|
+
street-label="Street"
|
|
59
|
+
city-label="City"
|
|
60
|
+
country-label="Country"
|
|
61
|
+
province-label="Province"
|
|
62
|
+
postal-code-label="PostalCode"
|
|
63
|
+
street={addressBilling.street}
|
|
64
|
+
city={addressBilling.city}
|
|
65
|
+
country={addressBilling.country}
|
|
66
|
+
province={addressBilling.province}
|
|
67
|
+
postal-code={addressBilling.postalCode}
|
|
68
|
+
country-options={getCountryOptsBilling}
|
|
69
|
+
province-options={getProvinceOptsBilling}
|
|
70
|
+
onchange={handleChangeBilling}
|
|
71
|
+
field-level-help="Enter your billing address. Where your credit card statements are sent."
|
|
72
|
+
></lightning-input-address>
|
|
73
|
+
</div>
|
|
74
|
+
<div class="slds-form__item" role="listitem">
|
|
75
|
+
<lightning-input-address
|
|
76
|
+
address-label="Shipping Address"
|
|
77
|
+
street-label="Street"
|
|
78
|
+
city-label="City"
|
|
79
|
+
country-label="Country"
|
|
80
|
+
province-label="Province"
|
|
81
|
+
postal-code-label="PostalCode"
|
|
82
|
+
street={addressShipping.street}
|
|
83
|
+
city={addressShipping.city}
|
|
84
|
+
country={addressShipping.country}
|
|
85
|
+
province={addressShipping.province}
|
|
86
|
+
postal-code={addressShipping.postalCode}
|
|
87
|
+
field-level-help="Enter your shipping address. Where you receive packages."
|
|
88
|
+
country-options={getCountryOptsShipping}
|
|
89
|
+
province-options={getProvinceOptsShipping}
|
|
90
|
+
onchange={handleChangeShipping}
|
|
91
|
+
></lightning-input-address>
|
|
92
|
+
</div>
|
|
93
|
+
</div>
|
|
94
|
+
</div>
|
|
95
|
+
</div></lightning-modal-body>
|
|
96
|
+
<lightning-modal-footer><div id="all-footer">
|
|
97
|
+
<template for:each={options} for:item="option">
|
|
98
|
+
<template if:true={option.triggerCancel}>
|
|
99
|
+
<lightning-button
|
|
100
|
+
key={option.id}
|
|
101
|
+
label={option.label}
|
|
102
|
+
class="slds-button"
|
|
103
|
+
data-focus={option.focusName}
|
|
104
|
+
variant={option.variant}
|
|
105
|
+
onclick={handleButtonCancel}
|
|
106
|
+
data-id={option.id}
|
|
107
|
+
disabled={disableClose}
|
|
108
|
+
></lightning-button>
|
|
109
|
+
</template>
|
|
110
|
+
<template if:true={option.triggerSecondModal}>
|
|
111
|
+
<lightning-button
|
|
112
|
+
key={option.id}
|
|
113
|
+
label={option.label}
|
|
114
|
+
class="slds-button"
|
|
115
|
+
data-focus={option.focusName}
|
|
116
|
+
variant={option.variant}
|
|
117
|
+
onclick={handleButtonOpenSecondModal}
|
|
118
|
+
data-id={option.id}
|
|
119
|
+
></lightning-button>
|
|
120
|
+
</template>
|
|
121
|
+
<template if:true={option.toggleDisableClose}>
|
|
122
|
+
<lightning-button
|
|
123
|
+
key={option.id}
|
|
124
|
+
label={computedDisableCloseLabel}
|
|
125
|
+
class="slds-button"
|
|
126
|
+
data-focus={option.focusName}
|
|
127
|
+
variant={option.variant}
|
|
128
|
+
onclick={handleButtonToggleDisableButton}
|
|
129
|
+
data-id={option.id}
|
|
130
|
+
></lightning-button>
|
|
131
|
+
</template>
|
|
132
|
+
<template if:true={option.triggerSubmit}>
|
|
133
|
+
<lightning-button
|
|
134
|
+
key={option.id}
|
|
135
|
+
label={option.label}
|
|
136
|
+
class="slds-button"
|
|
137
|
+
data-focus={option.focusName}
|
|
138
|
+
variant={option.variant}
|
|
139
|
+
onclick={handleButtonSubmit}
|
|
140
|
+
data-id={option.id}
|
|
141
|
+
disabled={disableClose}
|
|
142
|
+
></lightning-button>
|
|
143
|
+
</template>
|
|
144
|
+
</template>
|
|
145
|
+
</div></lightning-modal-footer>
|
|
146
|
+
</template>
|