lightning-base-components 1.15.2-alpha → 1.15.3-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/metadata/raptor.json +37 -0
- package/package.json +59 -1
- package/scopedImports/@salesforce-i18n-calendarData.js +1 -0
- package/scopedImports/@salesforce-i18n-common.calendarData.js +1 -0
- package/scopedImports/@salesforce-i18n-common.digits.js +1 -0
- package/scopedImports/@salesforce-i18n-dateTime.longDateTimeFormat.js +1 -0
- package/scopedImports/@salesforce-i18n-defaultCalendar.js +1 -0
- package/scopedImports/@salesforce-i18n-defaultNumberingSystem.js +1 -0
- package/scopedImports/@salesforce-i18n-number.exponentialSign.js +1 -0
- package/scopedImports/@salesforce-i18n-number.infinity.js +1 -0
- package/scopedImports/@salesforce-i18n-number.minusSign.js +1 -0
- package/scopedImports/@salesforce-i18n-number.nan.js +1 -0
- package/scopedImports/@salesforce-i18n-number.perMilleSign.js +1 -0
- package/scopedImports/@salesforce-i18n-number.percentSign.js +1 -0
- package/scopedImports/@salesforce-i18n-number.plusSign.js +1 -0
- package/scopedImports/@salesforce-i18n-number.superscriptingExponentSign.js +1 -0
- package/src/lightning/alert/__docs__/alert.md +4 -4
- package/src/lightning/baseCombobox/baseCombobox.html +1 -0
- package/src/lightning/baseCombobox/baseCombobox.js +3 -1
- package/src/lightning/buttonIcon/buttonIcon.js +0 -3
- package/src/lightning/calendar/calendar.html +2 -1
- package/src/lightning/calendar/calendar.js +2 -2
- package/src/lightning/combobox/combobox.html +1 -1
- package/src/lightning/combobox/combobox.js +7 -1
- package/src/lightning/configProvider/defaultLocalizationConfig.js +43 -6
- package/src/lightning/confirm/__docs__/confirm.md +2 -2
- package/src/lightning/datatable/__docs__/datatable.md +0 -45
- package/src/lightning/datatable/__examples__/basic/basic.js +3 -4
- package/src/lightning/datatable/__examples__/basic/generateData.js +13 -0
- package/src/lightning/datatable/__examples__/withInfiniteLoading/generateDataWithDelay.js +18 -0
- package/src/lightning/datatable/__examples__/withInfiniteLoading/withInfiniteLoading.js +3 -3
- package/src/lightning/datatable/__examples__/withInlineEdit/generateData.js +13 -0
- package/src/lightning/datatable/__examples__/withInlineEdit/withInlineEdit.js +3 -4
- package/src/lightning/datatable/__examples__/withRowActions/generateData.js +13 -0
- package/src/lightning/datatable/__examples__/withRowActions/withRowActions.js +3 -4
- package/src/lightning/datatable/__examples__/withRowNumbers/generateData.js +13 -0
- package/src/lightning/datatable/__examples__/withRowNumbers/withRowNumbers.js +3 -4
- package/src/lightning/datatable/datatable.js +5 -4
- package/src/lightning/datatable/keyboard.js +6 -2
- package/src/lightning/datatable/utils.js +11 -0
- package/src/lightning/datatable/virtualization.js +2 -2
- package/src/lightning/datepicker/datepicker.html +4 -4
- package/src/lightning/datepicker/datepicker.js +25 -77
- package/src/lightning/datetimepicker/datetimepicker.html +1 -1
- package/src/lightning/datetimepicker/datetimepicker.js +36 -8
- package/src/lightning/dualListbox/dualListbox.html +1 -1
- package/src/lightning/dualListbox/dualListbox.js +6 -0
- package/src/lightning/fileDownload/fileDownload.js +15 -0
- package/src/lightning/fileDownload/fileDownload.js-meta.xml +5 -0
- package/src/lightning/fileDownload/resourceResolver.js +58 -0
- package/src/lightning/formattedDateTime/formattedDateTime.js +1 -1
- package/src/lightning/formattedLookup/events.js +19 -0
- package/src/lightning/formattedLookup/formattedLookup.js +7 -0
- package/src/lightning/formattedRichText/__docs__/formattedRichText.md +9 -7
- package/src/lightning/formattedRichText/__examples__disabled/basic/basic.html +1 -1
- package/src/lightning/formattedTime/formattedTime.js +2 -1
- package/src/lightning/groupedCombobox/groupedCombobox.html +1 -1
- package/src/lightning/groupedCombobox/groupedCombobox.js +10 -2
- package/src/lightning/helptext/helptext.html +1 -0
- package/src/lightning/helptext/helptext.js +29 -2
- package/src/lightning/iconSvgTemplates/buildTemplates/action/scan_disabled.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/action/scan_enabled.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/ai_accelerator_card.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/connect_wallet.html +9 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/contract_line_outcome.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/contract_line_outcome_data.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/crypto_category_wallet_group.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/crypto_product.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/crypto_product_category_wallet_role.html +9 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/crypto_transaction.html +9 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/crypto_transaction_envelope.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/crypto_transaction_envelope_item.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/crypto_wallet.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/crypto_wallet_group.html +9 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/crypto_wallet_group_item.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/customer.html +10 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/customer_workspace.html +11 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/learner_program.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/nft_settings.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/nft_studio.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/prompt.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/setup_modal.html +11 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/snippet_alt.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/tax_policy.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/tax_rate.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/tax_treatment.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/travel_mode.html +2 -2
- package/src/lightning/iconSvgTemplates/buildTemplates/standard/water.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/templates.js +48 -1
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/captions.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/contract_line_outcome.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/contract_line_outcome_data.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/customer.html +10 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/customer_workspace.html +11 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/detach.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/hazmat_equipment.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/label.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/labels.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/record_alt.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/segments.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/tax_policy.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/tax_rate.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/tax_treatment.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/tollways.html +8 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/transport_bicycle.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/transport_heavy_truck.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/transport_light_truck.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/transport_walking.html +7 -0
- package/src/lightning/iconSvgTemplates/buildTemplates/utility/water.html +7 -0
- package/src/lightning/iconSvgTemplatesAction/buildTemplates/action/scan_disabled.html +7 -0
- package/src/lightning/iconSvgTemplatesAction/buildTemplates/action/scan_enabled.html +7 -0
- package/src/lightning/iconSvgTemplatesAction/buildTemplates/templates.js +3 -1
- package/src/lightning/iconSvgTemplatesActionRtl/buildTemplates/action/scan_disabled.html +7 -0
- package/src/lightning/iconSvgTemplatesActionRtl/buildTemplates/action/scan_enabled.html +7 -0
- package/src/lightning/iconSvgTemplatesActionRtl/buildTemplates/templates.js +3 -1
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/action/scan_disabled.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/action/scan_enabled.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/ai_accelerator_card.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/connect_wallet.html +9 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/contract_line_outcome.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/contract_line_outcome_data.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/crypto_category_wallet_group.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/crypto_product.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/crypto_product_category_wallet_role.html +9 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/crypto_transaction.html +9 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/crypto_transaction_envelope.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/crypto_transaction_envelope_item.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/crypto_wallet.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/crypto_wallet_group.html +9 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/crypto_wallet_group_item.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/customer.html +10 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/customer_workspace.html +11 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/learner_program.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/nft_settings.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/nft_studio.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/prompt.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/setup_modal.html +11 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/snippet_alt.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/tax_policy.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/tax_rate.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/tax_treatment.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/travel_mode.html +2 -2
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/standard/water.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/templates.js +48 -1
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/captions.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/contract_line_outcome.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/contract_line_outcome_data.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/customer.html +10 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/customer_workspace.html +11 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/detach.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/hazmat_equipment.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/label.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/labels.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/record_alt.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/segments.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/tax_policy.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/tax_rate.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/tax_treatment.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/tollways.html +8 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/transport_bicycle.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/transport_heavy_truck.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/transport_light_truck.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/transport_walking.html +7 -0
- package/src/lightning/iconSvgTemplatesRtl/buildTemplates/utility/water.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/ai_accelerator_card.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/connect_wallet.html +9 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/contract_line_outcome.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/contract_line_outcome_data.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/crypto_category_wallet_group.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/crypto_product.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/crypto_product_category_wallet_role.html +9 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/crypto_transaction.html +9 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/crypto_transaction_envelope.html +8 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/crypto_transaction_envelope_item.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/crypto_wallet.html +8 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/crypto_wallet_group.html +9 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/crypto_wallet_group_item.html +8 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/customer.html +10 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/customer_workspace.html +11 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/learner_program.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/nft_settings.html +8 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/nft_studio.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/prompt.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/setup_modal.html +11 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/snippet_alt.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/tax_policy.html +8 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/tax_rate.html +8 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/tax_treatment.html +8 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/travel_mode.html +2 -2
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/standard/water.html +7 -0
- package/src/lightning/iconSvgTemplatesStandard/buildTemplates/templates.js +26 -1
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/ai_accelerator_card.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/connect_wallet.html +9 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/contract_line_outcome.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/contract_line_outcome_data.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/crypto_category_wallet_group.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/crypto_product.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/crypto_product_category_wallet_role.html +9 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/crypto_transaction.html +9 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/crypto_transaction_envelope.html +8 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/crypto_transaction_envelope_item.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/crypto_wallet.html +8 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/crypto_wallet_group.html +9 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/crypto_wallet_group_item.html +8 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/customer.html +10 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/customer_workspace.html +11 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/learner_program.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/nft_settings.html +8 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/nft_studio.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/prompt.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/setup_modal.html +11 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/snippet_alt.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/tax_policy.html +8 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/tax_rate.html +8 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/tax_treatment.html +8 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/travel_mode.html +2 -2
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/standard/water.html +7 -0
- package/src/lightning/iconSvgTemplatesStandardRtl/buildTemplates/templates.js +26 -1
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/templates.js +21 -1
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/captions.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/contract_line_outcome.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/contract_line_outcome_data.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/customer.html +10 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/customer_workspace.html +11 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/detach.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/hazmat_equipment.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/label.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/labels.html +8 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/record_alt.html +8 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/segments.html +8 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/tax_policy.html +8 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/tax_rate.html +8 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/tax_treatment.html +8 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/tollways.html +8 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/transport_bicycle.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/transport_heavy_truck.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/transport_light_truck.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/transport_walking.html +7 -0
- package/src/lightning/iconSvgTemplatesUtility/buildTemplates/utility/water.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/templates.js +21 -1
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/captions.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/contract_line_outcome.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/contract_line_outcome_data.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/customer.html +10 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/customer_workspace.html +11 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/detach.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/hazmat_equipment.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/label.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/labels.html +8 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/record_alt.html +8 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/segments.html +8 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/tax_policy.html +8 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/tax_rate.html +8 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/tax_treatment.html +8 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/tollways.html +8 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/transport_bicycle.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/transport_heavy_truck.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/transport_light_truck.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/transport_walking.html +7 -0
- package/src/lightning/iconSvgTemplatesUtilityRtl/buildTemplates/utility/water.html +7 -0
- package/src/lightning/input/dateTimeUtil.js +2 -2
- package/src/lightning/inputAddress/inputAddress.html +1 -1
- package/src/lightning/inputAddress/inputAddress.js +7 -1
- package/src/lightning/inputLocation/inputLocation.html +1 -1
- package/src/lightning/inputLocation/inputLocation.js +7 -1
- package/src/lightning/inputName/inputName.html +2 -2
- package/src/lightning/inputName/inputName.js +7 -1
- package/src/lightning/interactiveDialogBase/interactiveDialogBase.js +1 -0
- package/src/lightning/internationalizationLibrary/datetime/dateTimeOptions.js +16 -29
- package/src/lightning/internationalizationLibrary/datetime/dateTimeUtils.js +524 -135
- package/src/lightning/internationalizationLibrary/datetime/intlFormat.js +92 -72
- package/src/lightning/internationalizationLibrary/internationalizationLibrary.js +9 -4
- package/src/lightning/internationalizationLibrary/localizationService.js +1 -0
- package/src/lightning/internationalizationLibrary/number/NumberFormat.js +17 -11
- package/src/lightning/internationalizationLibrary/number/numberFormatFallback.js +3 -2
- package/src/lightning/internationalizationLibrary/number/numberOptions.js +22 -26
- package/src/lightning/internationalizationLibrary/number/utils.js +134 -131
- package/src/lightning/internationalizationLibrary/utils.js +14 -0
- package/src/lightning/iso8601Utils/iso8601Utils.js +1 -0
- package/src/lightning/modalBase/modalBase.css +0 -4
- package/src/lightning/modalBase/modalBase.html +1 -1
- package/src/lightning/modalBase/modalBase.js +0 -14
- package/src/lightning/navigation/__docs__/navigation.md +0 -2
- package/src/lightning/overlayContainer/overlayContainer.html +2 -2
- package/src/lightning/overlayContainer/overlayContainer.js +217 -49
- package/src/lightning/overlayManager/overlayManager.js +378 -28
- package/src/lightning/overlayManager/overlayManager.js-meta.xml +5 -0
- package/src/lightning/primitiveCellFactory/primitiveCellFactory.js +1 -11
- package/src/lightning/prompt/__docs__/prompt.md +2 -2
- package/src/lightning/select/select.html +1 -1
- package/src/lightning/select/select.js +7 -1
- package/src/lightning/tabBar/tabBar.html +3 -2
- package/src/lightning/tabBar/tabBar.js +15 -0
- package/src/lightning/textarea/textarea.html +1 -1
- package/src/lightning/textarea/textarea.js +7 -1
- package/src/lightning/timepicker/timepicker.html +1 -1
- package/src/lightning/timepicker/timepicker.js +41 -86
- package/src/lightning/utils/labelUtils.js +4 -1
- package/src/lightning/utilsPrivate/animation.js +0 -4
- package/src/lightning/datatable/__examples__/basic/fetchDataHelper.js +0 -21
- package/src/lightning/datatable/__examples__/withInfiniteLoading/fetchDataHelper.js +0 -21
- package/src/lightning/datatable/__examples__/withInlineEdit/fetchDataHelper.js +0 -21
- package/src/lightning/datatable/__examples__/withRowActions/fetchDataHelper.js +0 -21
- package/src/lightning/datatable/__examples__/withRowNumbers/fetchDataHelper.js +0 -21
|
@@ -4,19 +4,17 @@ import labelInvalidDate from '@salesforce/label/LightningDateTimePicker.invalidD
|
|
|
4
4
|
import labelRangeOverflow from '@salesforce/label/LightningDateTimePicker.rangeOverflow';
|
|
5
5
|
import labelRangeUnderflow from '@salesforce/label/LightningDateTimePicker.rangeUnderflow';
|
|
6
6
|
import labelRequired from '@salesforce/label/LightningControl.required';
|
|
7
|
-
import
|
|
8
|
-
import mediumTimeFormat from '@salesforce/i18n/dateTime.mediumTimeFormat';
|
|
7
|
+
import labelHelpTextAlternativeText from '@salesforce/label/LightningInput.helptextAlternativeText';
|
|
9
8
|
import { LightningElement, track, api } from 'lwc';
|
|
10
9
|
import { getTimeToHighlight } from './utils';
|
|
11
10
|
import { classSet, formatLabel } from 'lightning/utils';
|
|
12
11
|
import {
|
|
13
12
|
isBefore,
|
|
14
13
|
isAfter,
|
|
15
|
-
formatTime,
|
|
16
|
-
parseTime,
|
|
17
|
-
getISOTimeString,
|
|
18
14
|
normalizeISOTime,
|
|
19
|
-
|
|
15
|
+
parseFormattedTime,
|
|
16
|
+
getTimeFormatFromStyle,
|
|
17
|
+
getISOTimeString,
|
|
20
18
|
} from 'lightning/internationalizationLibrary';
|
|
21
19
|
import { removeTimeZoneSuffix } from 'lightning/iso8601Utils';
|
|
22
20
|
import {
|
|
@@ -32,6 +30,7 @@ const i18n = {
|
|
|
32
30
|
rangeOverflow: labelRangeOverflow,
|
|
33
31
|
rangeUnderflow: labelRangeUnderflow,
|
|
34
32
|
required: labelRequired,
|
|
33
|
+
helpTextAlternativeText: labelHelpTextAlternativeText,
|
|
35
34
|
};
|
|
36
35
|
|
|
37
36
|
const STEP = 15; // in minutes
|
|
@@ -80,7 +79,10 @@ export default class LightningTimePicker extends LightningElement {
|
|
|
80
79
|
get messageWhenBadInput() {
|
|
81
80
|
return (
|
|
82
81
|
this._messageWhenBadInput ||
|
|
83
|
-
formatLabel(
|
|
82
|
+
formatLabel(
|
|
83
|
+
i18n.invalidDate,
|
|
84
|
+
getTimeFormatFromStyle(this.timeStyle, true)
|
|
85
|
+
)
|
|
84
86
|
);
|
|
85
87
|
}
|
|
86
88
|
set messageWhenBadInput(message) {
|
|
@@ -94,7 +96,7 @@ export default class LightningTimePicker extends LightningElement {
|
|
|
94
96
|
this._messageWhenRangeOverflow ||
|
|
95
97
|
formatLabel(
|
|
96
98
|
i18n.rangeOverflow,
|
|
97
|
-
normalizeISOTime(this.max, this.
|
|
99
|
+
normalizeISOTime(this.max, this.timeStyle).isoValue
|
|
98
100
|
)
|
|
99
101
|
);
|
|
100
102
|
}
|
|
@@ -108,7 +110,7 @@ export default class LightningTimePicker extends LightningElement {
|
|
|
108
110
|
this._messageWhenRangeUnderflow ||
|
|
109
111
|
formatLabel(
|
|
110
112
|
i18n.rangeUnderflow,
|
|
111
|
-
normalizeISOTime(this.min, this.
|
|
113
|
+
normalizeISOTime(this.min, this.timeStyle).isoValue
|
|
112
114
|
)
|
|
113
115
|
);
|
|
114
116
|
}
|
|
@@ -137,7 +139,7 @@ export default class LightningTimePicker extends LightningElement {
|
|
|
137
139
|
const normalizedValue = removeTimeZoneSuffix(newValue);
|
|
138
140
|
const normalizedTime = normalizeISOTime(
|
|
139
141
|
normalizedValue,
|
|
140
|
-
this.
|
|
142
|
+
this.timeStyle
|
|
141
143
|
);
|
|
142
144
|
|
|
143
145
|
this._value = normalizedTime.isoValue;
|
|
@@ -259,9 +261,8 @@ export default class LightningTimePicker extends LightningElement {
|
|
|
259
261
|
fallbackValue: TIME_STYLE.SHORT,
|
|
260
262
|
validValues: [TIME_STYLE.SHORT, TIME_STYLE.MEDIUM, TIME_STYLE.LONG],
|
|
261
263
|
});
|
|
262
|
-
this.timeFormat = this.getTimeFormatFromStyle(this._timeStyle);
|
|
263
264
|
|
|
264
|
-
const normalizedDate = normalizeISOTime(this._value, this.
|
|
265
|
+
const normalizedDate = normalizeISOTime(this._value, this.timeStyle);
|
|
265
266
|
this._displayValue = normalizedDate.displayValue;
|
|
266
267
|
}
|
|
267
268
|
|
|
@@ -329,12 +330,17 @@ export default class LightningTimePicker extends LightningElement {
|
|
|
329
330
|
|
|
330
331
|
buildTimeList() {
|
|
331
332
|
// We should always display the options in the short style since m/l will add an extra :00 to the options.
|
|
332
|
-
const optionsTimeFormat = shortTimeFormat;
|
|
333
333
|
const timeList = [];
|
|
334
|
-
const minTime =
|
|
334
|
+
const minTime = normalizeISOTime(
|
|
335
|
+
this.min,
|
|
336
|
+
TIME_STYLE.SHORT
|
|
337
|
+
).parsedValue;
|
|
335
338
|
const minHour = minTime ? minTime.getHours() : 0;
|
|
336
339
|
|
|
337
|
-
const maxTime =
|
|
340
|
+
const maxTime = normalizeISOTime(
|
|
341
|
+
this.max,
|
|
342
|
+
TIME_STYLE.SHORT
|
|
343
|
+
).parsedValue;
|
|
338
344
|
const maxHour = maxTime ? maxTime.getHours() + 1 : 24;
|
|
339
345
|
|
|
340
346
|
const date = new Date();
|
|
@@ -351,11 +357,16 @@ export default class LightningTimePicker extends LightningElement {
|
|
|
351
357
|
break;
|
|
352
358
|
}
|
|
353
359
|
|
|
354
|
-
|
|
360
|
+
const isoTime = getISOTimeString(date);
|
|
361
|
+
const normalizedTime = normalizeISOTime(
|
|
362
|
+
isoTime,
|
|
363
|
+
TIME_STYLE.SHORT
|
|
364
|
+
);
|
|
365
|
+
|
|
355
366
|
timeList.push({
|
|
356
367
|
type: 'option-inline',
|
|
357
|
-
text:
|
|
358
|
-
value:
|
|
368
|
+
text: normalizedTime.displayValue,
|
|
369
|
+
value: isoTime,
|
|
359
370
|
});
|
|
360
371
|
}
|
|
361
372
|
}
|
|
@@ -396,17 +407,6 @@ export default class LightningTimePicker extends LightningElement {
|
|
|
396
407
|
this._items = this.timeList;
|
|
397
408
|
}
|
|
398
409
|
|
|
399
|
-
get timeFormat() {
|
|
400
|
-
if (!this._timeFormat) {
|
|
401
|
-
this._timeFormat = this.getTimeFormatFromStyle();
|
|
402
|
-
}
|
|
403
|
-
return this._timeFormat;
|
|
404
|
-
}
|
|
405
|
-
|
|
406
|
-
set timeFormat(value) {
|
|
407
|
-
this._timeFormat = value;
|
|
408
|
-
}
|
|
409
|
-
|
|
410
410
|
getCombobox() {
|
|
411
411
|
return this.template.querySelector('lightning-base-combobox');
|
|
412
412
|
}
|
|
@@ -425,7 +425,11 @@ export default class LightningTimePicker extends LightningElement {
|
|
|
425
425
|
|
|
426
426
|
// keeping the display value in sync with the element's value
|
|
427
427
|
this._displayValue = event.detail.text;
|
|
428
|
-
|
|
428
|
+
const { value, style } = parseFormattedTime(this._displayValue);
|
|
429
|
+
this._value = value;
|
|
430
|
+
if (style) {
|
|
431
|
+
this._timeStyle = style;
|
|
432
|
+
}
|
|
429
433
|
|
|
430
434
|
this._items = this.timeList;
|
|
431
435
|
|
|
@@ -451,7 +455,7 @@ export default class LightningTimePicker extends LightningElement {
|
|
|
451
455
|
this._value = event.detail.value;
|
|
452
456
|
this._displayValue = normalizeISOTime(
|
|
453
457
|
this._value,
|
|
454
|
-
this.
|
|
458
|
+
this.timeStyle
|
|
455
459
|
).displayValue;
|
|
456
460
|
|
|
457
461
|
this._items = this.timeList;
|
|
@@ -474,69 +478,16 @@ export default class LightningTimePicker extends LightningElement {
|
|
|
474
478
|
);
|
|
475
479
|
}
|
|
476
480
|
|
|
477
|
-
format(date, formatString) {
|
|
478
|
-
if (formatString) {
|
|
479
|
-
return formatTime(date, formatString);
|
|
480
|
-
}
|
|
481
|
-
return getISOTimeString(date);
|
|
482
|
-
}
|
|
483
|
-
|
|
484
481
|
isBeforeMinTime(date, minTime) {
|
|
485
|
-
const minDate = minTime ||
|
|
482
|
+
const minDate = minTime || normalizeISOTime(this.min, TIME_STYLE.SHORT);
|
|
486
483
|
return minDate ? isBefore(date, minDate, 'minute') : false;
|
|
487
484
|
}
|
|
488
485
|
|
|
489
486
|
isAfterMaxTime(date, maxTime) {
|
|
490
|
-
const maxDate = maxTime ||
|
|
487
|
+
const maxDate = maxTime || normalizeISOTime(this.max, TIME_STYLE.SHORT);
|
|
491
488
|
return maxDate ? isAfter(date, maxDate, 'minute') : false;
|
|
492
489
|
}
|
|
493
490
|
|
|
494
|
-
getTimeFormatFromStyle(timeStyle) {
|
|
495
|
-
let timeFormat;
|
|
496
|
-
switch (timeStyle) {
|
|
497
|
-
case TIME_STYLE.MEDIUM:
|
|
498
|
-
case TIME_STYLE.LONG:
|
|
499
|
-
timeFormat = mediumTimeFormat;
|
|
500
|
-
break;
|
|
501
|
-
default:
|
|
502
|
-
timeFormat = shortTimeFormat;
|
|
503
|
-
break;
|
|
504
|
-
}
|
|
505
|
-
|
|
506
|
-
return timeFormat;
|
|
507
|
-
}
|
|
508
|
-
|
|
509
|
-
get allowedTimeFormats() {
|
|
510
|
-
// the locale.timeFormat is the medium format. Locale dont supports a large
|
|
511
|
-
// time format at the moment.
|
|
512
|
-
return [mediumTimeFormat, shortTimeFormat];
|
|
513
|
-
}
|
|
514
|
-
|
|
515
|
-
/**
|
|
516
|
-
* Parses the input time and sets the timeFormat used to parse the displayValue
|
|
517
|
-
* if it is a valid time.
|
|
518
|
-
*
|
|
519
|
-
* @param {String} displayValue - The input date.
|
|
520
|
-
* @return {null | string} - A normalized formatted time if displayValue is valid. null otherwise.
|
|
521
|
-
*/
|
|
522
|
-
parseFormattedTime(displayValue) {
|
|
523
|
-
const allowedFormats = this.allowedTimeFormats;
|
|
524
|
-
const n = allowedFormats.length;
|
|
525
|
-
let i = 0,
|
|
526
|
-
value = null;
|
|
527
|
-
|
|
528
|
-
do {
|
|
529
|
-
value = normalizeFormattedTime(displayValue, allowedFormats[i]);
|
|
530
|
-
i++;
|
|
531
|
-
} while (value === null && i < n);
|
|
532
|
-
|
|
533
|
-
if (value !== null) {
|
|
534
|
-
this.timeFormat = allowedFormats[i - 1];
|
|
535
|
-
}
|
|
536
|
-
|
|
537
|
-
return value;
|
|
538
|
-
}
|
|
539
|
-
|
|
540
491
|
get hasExternalLabel() {
|
|
541
492
|
return (
|
|
542
493
|
this.variant === VARIANT.LABEL_HIDDEN &&
|
|
@@ -551,4 +502,8 @@ export default class LightningTimePicker extends LightningElement {
|
|
|
551
502
|
this._errorMessage;
|
|
552
503
|
return computeAriaInvalid(isAriaInvalid, this.value);
|
|
553
504
|
}
|
|
505
|
+
|
|
506
|
+
get helptextAlternativeText() {
|
|
507
|
+
return formatLabel(i18n.helpTextAlternativeText, this.label);
|
|
508
|
+
}
|
|
554
509
|
}
|
|
@@ -13,6 +13,9 @@ export function formatLabel(str) {
|
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
return str.replace(/{(\d+)}/g, (match, i) => {
|
|
16
|
-
|
|
16
|
+
const replacement = replacements[i];
|
|
17
|
+
return replacement !== null && replacement !== undefined
|
|
18
|
+
? replacement
|
|
19
|
+
: '';
|
|
17
20
|
});
|
|
18
21
|
}
|
|
@@ -8,10 +8,6 @@ export function hasAnimation() {
|
|
|
8
8
|
if (isIE11) {
|
|
9
9
|
return false;
|
|
10
10
|
}
|
|
11
|
-
// JEST Workaround
|
|
12
|
-
if (!window.matchMedia) {
|
|
13
|
-
return true;
|
|
14
|
-
}
|
|
15
11
|
const mediaQuery = window.matchMedia('(prefers-reduced-motion: reduce)');
|
|
16
12
|
return !(!mediaQuery || mediaQuery.matches);
|
|
17
13
|
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
const recordMetadata = {
|
|
2
|
-
name: 'name',
|
|
3
|
-
email: 'email',
|
|
4
|
-
website: 'url',
|
|
5
|
-
amount: 'currency',
|
|
6
|
-
phone: 'phoneNumber',
|
|
7
|
-
closeAt: 'dateInFuture',
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
export default function fetchDataHelper({ amountOfRecords }) {
|
|
11
|
-
return fetch('https://data-faker.herokuapp.com/collection', {
|
|
12
|
-
method: 'POST',
|
|
13
|
-
headers: {
|
|
14
|
-
'Content-Type': 'application/json; charset=utf-8',
|
|
15
|
-
},
|
|
16
|
-
body: JSON.stringify({
|
|
17
|
-
amountOfRecords,
|
|
18
|
-
recordMetadata,
|
|
19
|
-
}),
|
|
20
|
-
}).then((response) => response.json());
|
|
21
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
const recordMetadata = {
|
|
2
|
-
name: 'name',
|
|
3
|
-
email: 'email',
|
|
4
|
-
website: 'url',
|
|
5
|
-
amount: 'currency',
|
|
6
|
-
phone: 'phoneNumber',
|
|
7
|
-
closeAt: 'dateInFuture',
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
export default function fetchData(amountOfRecords) {
|
|
11
|
-
return fetch('https://data-faker.herokuapp.com/collection', {
|
|
12
|
-
method: 'POST',
|
|
13
|
-
headers: {
|
|
14
|
-
'Content-Type': 'application/json; charset=utf-8',
|
|
15
|
-
},
|
|
16
|
-
body: JSON.stringify({
|
|
17
|
-
amountOfRecords,
|
|
18
|
-
recordMetadata,
|
|
19
|
-
}),
|
|
20
|
-
}).then((response) => response.json());
|
|
21
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
const recordMetadata = {
|
|
2
|
-
name: 'name',
|
|
3
|
-
email: 'email',
|
|
4
|
-
website: 'url',
|
|
5
|
-
amount: 'currency',
|
|
6
|
-
phone: 'phoneNumber',
|
|
7
|
-
closeAt: 'dateInFuture',
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
export default function fetchDataHelper({ amountOfRecords }) {
|
|
11
|
-
return fetch('https://data-faker.herokuapp.com/collection', {
|
|
12
|
-
method: 'POST',
|
|
13
|
-
headers: {
|
|
14
|
-
'Content-Type': 'application/json; charset=utf-8',
|
|
15
|
-
},
|
|
16
|
-
body: JSON.stringify({
|
|
17
|
-
amountOfRecords,
|
|
18
|
-
recordMetadata,
|
|
19
|
-
}),
|
|
20
|
-
}).then((response) => response.json());
|
|
21
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
const recordMetadata = {
|
|
2
|
-
name: 'name',
|
|
3
|
-
email: 'email',
|
|
4
|
-
website: 'url',
|
|
5
|
-
amount: 'currency',
|
|
6
|
-
phone: 'phoneNumber',
|
|
7
|
-
closeAt: 'dateInFuture',
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
export default function fetchDataHelper({ amountOfRecords }) {
|
|
11
|
-
return fetch('https://data-faker.herokuapp.com/collection', {
|
|
12
|
-
method: 'POST',
|
|
13
|
-
headers: {
|
|
14
|
-
'Content-Type': 'application/json; charset=utf-8',
|
|
15
|
-
},
|
|
16
|
-
body: JSON.stringify({
|
|
17
|
-
amountOfRecords,
|
|
18
|
-
recordMetadata,
|
|
19
|
-
}),
|
|
20
|
-
}).then((response) => response.json());
|
|
21
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
const recordMetadata = {
|
|
2
|
-
name: 'name',
|
|
3
|
-
email: 'email',
|
|
4
|
-
website: 'url',
|
|
5
|
-
amount: 'currency',
|
|
6
|
-
phone: 'phoneNumber',
|
|
7
|
-
closeAt: 'dateInFuture',
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
export default function fetchDataHelper({ amountOfRecords }) {
|
|
11
|
-
return fetch('https://data-faker.herokuapp.com/collection', {
|
|
12
|
-
method: 'POST',
|
|
13
|
-
headers: {
|
|
14
|
-
'Content-Type': 'application/json; charset=utf-8',
|
|
15
|
-
},
|
|
16
|
-
body: JSON.stringify({
|
|
17
|
-
amountOfRecords,
|
|
18
|
-
recordMetadata,
|
|
19
|
-
}),
|
|
20
|
-
}).then((response) => response.json());
|
|
21
|
-
}
|