@useinsider/guido 3.14.0-beta.1e474dd → 3.14.0-beta.2bae355
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/dist/components/organisms/header/EditorActions.vue.js +1 -1
- package/dist/components/organisms/header/EditorActions.vue2.js +47 -39
- package/dist/components/organisms/onboarding/OnboardingWrapper.vue2.js +30 -28
- package/dist/{src/composables → composables}/useHtmlValidator.d.ts +2 -3
- package/dist/composables/useHtmlValidator.js +50 -50
- package/dist/{src/composables → composables}/useHttp.d.ts +6 -0
- package/dist/composables/useHttp.js +66 -59
- package/dist/config/i18n/en/labels.json.js +3 -7
- package/dist/config/migrator/recommendation/compositionMapper.js +23 -26
- package/dist/config/migrator/recommendation/htmlBuilder.js +155 -156
- package/dist/{src/config → config}/migrator/recommendation/types.d.ts +0 -1
- package/dist/{src/extensions → extensions}/Blocks/Recommendation/constants/index.d.ts +1 -1
- package/dist/{src/extensions → extensions}/Blocks/Recommendation/constants/selectors.d.ts +0 -4
- package/dist/extensions/Blocks/Recommendation/constants/selectors.js +13 -15
- package/dist/{src/extensions → extensions}/Blocks/Recommendation/controls/cardComposition/index.d.ts +5 -22
- package/dist/extensions/Blocks/Recommendation/controls/cardComposition/index.js +314 -346
- package/dist/extensions/Blocks/Recommendation/controls/main/utils.js +43 -44
- package/dist/extensions/Blocks/Recommendation/templates/grid/template.js +16 -16
- package/dist/extensions/Blocks/Recommendation/templates/list/template.js +16 -16
- package/dist/{src/extensions → extensions}/Blocks/Recommendation/templates/utils.d.ts +11 -12
- package/dist/extensions/Blocks/Recommendation/templates/utils.js +120 -120
- package/dist/extensions/Blocks/Recommendation/utils/captureStyleTemplates.js +54 -55
- package/dist/{src/extensions → extensions}/Blocks/common-control.d.ts +1 -3
- package/dist/extensions/Blocks/common-control.js +35 -42
- package/dist/guido.css +1 -1
- package/package.json +1 -1
- package/dist/extensions/Blocks/Recommendation/utils/compositionKeys.js +0 -89
- package/dist/src/extensions/Blocks/Recommendation/utils/compositionKeys.d.ts +0 -52
- /package/dist/{src/@types → @types}/config/defaults.d.ts +0 -0
- /package/dist/{src/@types → @types}/config/index.d.ts +0 -0
- /package/dist/{src/@types → @types}/config/schemas.d.ts +0 -0
- /package/dist/{src/@types → @types}/config/types.d.ts +0 -0
- /package/dist/{src/@types → @types}/config/validator.d.ts +0 -0
- /package/dist/{src/@types → @types}/events.d.ts +0 -0
- /package/dist/{src/@types → @types}/extensions/block.d.ts +0 -0
- /package/dist/{src/@types → @types}/generic.d.ts +0 -0
- /package/dist/{src/@types → @types}/save-as-template.d.ts +0 -0
- /package/dist/{src/App.vue.d.ts → App.vue.d.ts} +0 -0
- /package/dist/{src/components → components}/Guido.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/AutoSaveController.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/LoadingWrapper.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/base/Toaster.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/email-preview/PreviewContainer.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/email-preview/amp/AmpErrorModal.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/email-preview/amp/AmpToggle.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/email-preview/desktop-preview/DesktopBrowserHeader.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/email-preview/desktop-preview/DesktopPreview.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/email-preview/desktop-preview/EmailHeaderInfo.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/email-preview/desktop-preview/EmailSizeIndicator.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/email-preview/mobile-preview/ContentView.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/email-preview/mobile-preview/InboxView.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/email-preview/mobile-preview/MobilePreview.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/extensions/recommendation/FilterItem.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/extensions/recommendation/FilterSelectionDrawer.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/extensions/recommendation/Filters.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/extensions/recommendation/LogicAdapter.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/header/AutoSaveToggle.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/header/EditorActions.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/header/EditorToolbar.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/header/HeaderWrapper.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/header/LeftSlot.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/header/MiddleSlot.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/header/MigrationConfirmModal.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/header/RightSlot.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/header/ViewOptions.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/header/version-history/RestoreButton.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/header/version-history/VersionHistory.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/header/version-history/VersionHistoryItem.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/header/version-history/ViewOptions.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/onboarding/AMPOnboarding.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/onboarding/GenericOnboarding.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/onboarding/ItemsOnboarding.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/onboarding/NewVersionPopup.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/onboarding/OnboardingWrapper.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/onboarding/TextBlockOnboarding.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/onboarding/VersionHistoryOnboarding.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/save-as-template/SaveAsTemplateDrawer.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/unsubscribe/UnsubscribeBreadcrumb.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/unsubscribe/UnsubscribePageSelection.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/unsubscribe/UnsubscribeTypeSelection.vue.d.ts +0 -0
- /package/dist/{src/components → components}/organisms/unsubscribe/UnsubscribeWrapper.vue.d.ts +0 -0
- /package/dist/{src/components → components}/wrappers/WpDrawer.vue.d.ts +0 -0
- /package/dist/{src/components → components}/wrappers/WpModal.vue.d.ts +0 -0
- /package/dist/{src/composables → composables}/useActionsApi.d.ts +0 -0
- /package/dist/{src/composables → composables}/useAllowlist.d.ts +0 -0
- /package/dist/{src/composables → composables}/useAutoSave.d.ts +0 -0
- /package/dist/{src/composables → composables}/useBlocksConfig.d.ts +0 -0
- /package/dist/{src/composables → composables}/useCodeEditorApi.d.ts +0 -0
- /package/dist/{src/composables → composables}/useConfig.d.ts +0 -0
- /package/dist/{src/composables → composables}/useCortexBlueprintBridge.d.ts +0 -0
- /package/dist/{src/composables → composables}/useCustomInterfaceAppearance.d.ts +0 -0
- /package/dist/{src/composables → composables}/useDebounce.d.ts +0 -0
- /package/dist/{src/composables → composables}/useEmailTemplateApplier.d.ts +0 -0
- /package/dist/{src/composables → composables}/useExport.d.ts +0 -0
- /package/dist/{src/composables → composables}/useFullStoryBridge.d.ts +0 -0
- /package/dist/{src/composables → composables}/useGuidoActions.d.ts +0 -0
- /package/dist/{src/composables → composables}/useGuidoStateBridge.d.ts +0 -0
- /package/dist/{src/composables → composables}/useHtmlCompiler.d.ts +0 -0
- /package/dist/{src/composables → composables}/useModuleDynamicContentRepair.d.ts +0 -0
- /package/dist/{src/composables → composables}/usePartner.d.ts +0 -0
- /package/dist/{src/composables → composables}/usePreviewInteractionGuard.d.ts +0 -0
- /package/dist/{src/composables → composables}/usePreviewMode.d.ts +0 -0
- /package/dist/{src/composables → composables}/useProvideInject.d.ts +0 -0
- /package/dist/{src/composables → composables}/useRecommendation.d.ts +0 -0
- /package/dist/{src/composables → composables}/useRecommendationPreview.d.ts +0 -0
- /package/dist/{src/composables → composables}/useResponsivePreview.d.ts +0 -0
- /package/dist/{src/composables → composables}/useRibbonOffset.d.ts +0 -0
- /package/dist/{src/composables → composables}/useSave.d.ts +0 -0
- /package/dist/{src/composables → composables}/useStripo.d.ts +0 -0
- /package/dist/{src/composables → composables}/useStripoEventHandler.d.ts +0 -0
- /package/dist/{src/composables → composables}/useStripoNotifications.d.ts +0 -0
- /package/dist/{src/composables → composables}/useSyncModuleExtractor.d.ts +0 -0
- /package/dist/{src/composables → composables}/useTimerClone.d.ts +0 -0
- /package/dist/{src/composables → composables}/useToaster.d.ts +0 -0
- /package/dist/{src/composables → composables}/useTranslations.d.ts +0 -0
- /package/dist/{src/composables → composables}/useUserRole.d.ts +0 -0
- /package/dist/{src/composables → composables}/useValidation.d.ts +0 -0
- /package/dist/{src/composables → composables}/useVersionHistoryApi.d.ts +0 -0
- /package/dist/{src/composables → composables}/validators/saveAsTemplate.d.ts +0 -0
- /package/dist/{src/composables → composables}/validators/useCouponBlockValidator.d.ts +0 -0
- /package/dist/{src/composables → composables}/validators/useLiquidValidator.d.ts +0 -0
- /package/dist/{src/composables → composables}/validators/useUnsubscribeBlockValidator.d.ts +0 -0
- /package/dist/{src/config → config}/compiler/htmlCompilerRules.d.ts +0 -0
- /package/dist/{src/config → config}/compiler/itemsCompilerRules.d.ts +0 -0
- /package/dist/{src/config → config}/compiler/liquidCompilerRules.d.ts +0 -0
- /package/dist/{src/config → config}/compiler/outlookCompilerRules.d.ts +0 -0
- /package/dist/{src/config → config}/compiler/recommendationCompilerRules.d.ts +0 -0
- /package/dist/{src/config → config}/compiler/socialCompilerRules.d.ts +0 -0
- /package/dist/{src/config → config}/compiler/unsubscribeCompilerRules.d.ts +0 -0
- /package/dist/{src/config → config}/compiler/utils/recommendationCompilerUtils.d.ts +0 -0
- /package/dist/{src/config → config}/compiler/utils/recommendationIgnoreUtils.d.ts +0 -0
- /package/dist/{src/config → config}/i18n/en/index.d.ts +0 -0
- /package/dist/{src/config → config}/i18n/index.d.ts +0 -0
- /package/dist/{src/config → config}/migrator/checkboxMigrator.d.ts +0 -0
- /package/dist/{src/config → config}/migrator/couponBlockMigrator.d.ts +0 -0
- /package/dist/{src/config → config}/migrator/index.d.ts +0 -0
- /package/dist/{src/config → config}/migrator/itemsBlockMigrator.d.ts +0 -0
- /package/dist/{src/config → config}/migrator/radioButtonMigrator.d.ts +0 -0
- /package/dist/{src/config → config}/migrator/recommendation/compositionMapper.d.ts +0 -0
- /package/dist/{src/config → config}/migrator/recommendation/extractors.d.ts +0 -0
- /package/dist/{src/config → config}/migrator/recommendation/htmlBuilder.d.ts +0 -0
- /package/dist/{src/config → config}/migrator/recommendation/parseLegacyConfig.d.ts +0 -0
- /package/dist/{src/config → config}/migrator/recommendation/settingsMapper.d.ts +0 -0
- /package/dist/{src/config → config}/migrator/recommendation/themeMapper.d.ts +0 -0
- /package/dist/{src/config → config}/migrator/recommendationMigrator.d.ts +0 -0
- /package/dist/{src/config → config}/migrator/socialIconMigrator.d.ts +0 -0
- /package/dist/{src/config → config}/migrator/textBlockMigration.d.ts +0 -0
- /package/dist/{src/config → config}/migrator/unsubscribeMigrator.d.ts +0 -0
- /package/dist/{src/enums → enums}/academy.d.ts +0 -0
- /package/dist/{src/enums → enums}/block.d.ts +0 -0
- /package/dist/{src/enums → enums}/date.d.ts +0 -0
- /package/dist/{src/enums → enums}/defaults.d.ts +0 -0
- /package/dist/{src/enums → enums}/extensions/recommendationBlock.d.ts +0 -0
- /package/dist/{src/enums → enums}/html-validator.d.ts +0 -0
- /package/dist/{src/enums → enums}/onboarding.d.ts +0 -0
- /package/dist/{src/enums → enums}/preview.d.ts +0 -0
- /package/dist/{src/enums → enums}/recommendation.d.ts +0 -0
- /package/dist/{src/enums → enums}/roles.d.ts +0 -0
- /package/dist/{src/enums → enums}/toaster.d.ts +0 -0
- /package/dist/{src/enums → enums}/unsubscribe.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Checkbox/block.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Checkbox/control.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Checkbox/extension.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Checkbox/iconsRegistry.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Checkbox/settingsPanel.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Checkbox/template.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/CouponBlock/block.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/CouponBlock/constants.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/CouponBlock/controls/index.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/CouponBlock/extension.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/CouponBlock/iconsRegistry.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/CouponBlock/settingsPanel.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/CouponBlock/template.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Items/block.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Items/controls/button/link.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Items/controls/cardComposition.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Items/controls/image/link.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Items/controls/index.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Items/controls/name/trimming.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Items/controls/price/currencyLocation.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Items/controls/price/currencySymbol.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Items/controls/price/formattedPrice.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Items/controls/price/hideDiscount.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Items/controls/price/priceOrientation.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Items/controls/price/singlePrice.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Items/controls/settingsControl.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Items/enums/controlEnums.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Items/enums/productEnums.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Items/enums/settingsEnums.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Items/extension.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Items/iconsRegistry.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Items/settingsPanel.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Items/template.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Items/utils/nodeConfigUtils.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/RadioButton/block.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/RadioButton/control.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/RadioButton/extension.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/RadioButton/iconsRegistry.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/RadioButton/settingsPanel.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/RadioButton/template.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/block.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/constants/blockIds.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/constants/controlIds.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/constants/defaultConfig.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/constants/layout.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/controls/blockBackground/index.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/controls/button/index.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/controls/cardBackground/index.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/controls/customAttribute/index.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/controls/customAttribute/textTrim.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/controls/image/index.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/controls/index.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/controls/main/algorithm.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/controls/main/currency.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/controls/main/filters.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/controls/main/index.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/controls/main/layoutOrientation.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/controls/main/locale.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/controls/main/pricePlacement.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/controls/main/productCount.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/controls/main/productLayout.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/controls/main/shuffle.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/controls/main/utils.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/controls/mobileLayout/cssRules.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/controls/name/index.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/controls/name/textTrim.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/controls/oldPrice/index.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/controls/omnibusDiscount/index.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/controls/omnibusDiscount/textAfter.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/controls/omnibusDiscount/textBefore.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/controls/omnibusPrice/index.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/controls/omnibusPrice/textAfter.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/controls/omnibusPrice/textBefore.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/controls/price/index.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/controls/shared/textTrimCssRules.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/controls/spacing/index.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/controls/syncInfoMessage.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/extension.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/iconsRegistry.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/services/configService.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/services/index.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/settingsPanel.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/store/recommendation.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/templates/grid/elementRenderer.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/templates/grid/migration.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/templates/grid/template.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/templates/index.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/templates/list/elementRenderer.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/templates/list/migration.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/templates/list/template.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/types/index.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/types/nodeConfig.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/useRecommendationBlockWarning.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/utils/captureStyleTemplates.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/utils/filterUtil.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/utils/legacyStrategyMap.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/utils/partnerCustomizations.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/utils/priceFormatter.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/utils/recommendationBlockCount.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/utils/tagName.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/validation/filterSchema.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Recommendation/validation/requiredFields.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Unsubscribe/block.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Unsubscribe/control.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Unsubscribe/elements/preview.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Unsubscribe/extension.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Unsubscribe/iconsRegistry.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Unsubscribe/settingsPanel.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Unsubscribe/tagRegistry.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Unsubscribe/template.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Unsubscribe/utils/constants.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/Unsubscribe/utils/utils.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/_Boilerplate/block.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/_Boilerplate/control.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/_Boilerplate/extension.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/_Boilerplate/iconsRegistry.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/_Boilerplate/settingsPanel.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/_Boilerplate/template.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/Blocks/controlFactories.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/DynamicContent/dynamic-content-modal.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/DynamicContent/dynamic-content.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/DynamicContent/extension.d.ts +0 -0
- /package/dist/{src/extensions → extensions}/ModulesTabIcons/extension.d.ts +0 -0
- /package/dist/{src/library.d.ts → library.d.ts} +0 -0
- /package/dist/{src/main.d.ts → main.d.ts} +0 -0
- /package/dist/{src/mock → mock}/api/auth.d.ts +0 -0
- /package/dist/{src/mock → mock}/api/custom-fonts.d.ts +0 -0
- /package/dist/{src/mock → mock}/api/default-template.d.ts +0 -0
- /package/dist/{src/mock → mock}/api/recommendation.d.ts +0 -0
- /package/dist/{src/mock → mock}/api/settings.d.ts +0 -0
- /package/dist/{src/mock → mock}/api/template-library.d.ts +0 -0
- /package/dist/{src/mock → mock}/api/unsubscribe.d.ts +0 -0
- /package/dist/{src/mock → mock}/api/user-modal-state.d.ts +0 -0
- /package/dist/{src/mock → mock}/api/validator.d.ts +0 -0
- /package/dist/{src/mock → mock}/browser.d.ts +0 -0
- /package/dist/{src/mock → mock}/handlers.d.ts +0 -0
- /package/dist/{src/services → services}/allowlistApi.d.ts +0 -0
- /package/dist/{src/services → services}/blankTemplate.d.ts +0 -0
- /package/dist/{src/services → services}/onboardingApi.d.ts +0 -0
- /package/dist/{src/services → services}/recommendationApi.d.ts +0 -0
- /package/dist/{src/services → services}/stripoApi.d.ts +0 -0
- /package/dist/{src/services → services}/templateLibraryApi.d.ts +0 -0
- /package/dist/{src/services → services}/unsubscribeApi.d.ts +0 -0
- /package/dist/{src/stores → stores}/autosave.d.ts +0 -0
- /package/dist/{src/stores → stores}/config.d.ts +0 -0
- /package/dist/{src/stores → stores}/dynamic-content.d.ts +0 -0
- /package/dist/{src/stores → stores}/editor.d.ts +0 -0
- /package/dist/{src/stores → stores}/guido-email-editor.d.ts +0 -0
- /package/dist/{src/stores → stores}/onboarding.d.ts +0 -0
- /package/dist/{src/stores → stores}/preview.d.ts +0 -0
- /package/dist/{src/stores → stores}/recommendation.d.ts +0 -0
- /package/dist/{src/stores → stores}/save-as-template.d.ts +0 -0
- /package/dist/{src/stores → stores}/template.d.ts +0 -0
- /package/dist/{src/stores → stores}/toaster.d.ts +0 -0
- /package/dist/{src/stores → stores}/unsubscribe.d.ts +0 -0
- /package/dist/{src/stores → stores}/version-history.d.ts +0 -0
- /package/dist/{src/utils → utils}/ampErrorFilter.d.ts +0 -0
- /package/dist/{src/utils → utils}/arrayUtil.d.ts +0 -0
- /package/dist/{src/utils → utils}/base64.d.ts +0 -0
- /package/dist/{src/utils → utils}/dateUtil.d.ts +0 -0
- /package/dist/{src/utils → utils}/dynamicContentConverter.d.ts +0 -0
- /package/dist/{src/utils → utils}/environmentUtil.d.ts +0 -0
- /package/dist/{src/utils → utils}/genericUtil.d.ts +0 -0
- /package/dist/{src/utils → utils}/htmlCompiler.d.ts +0 -0
- /package/dist/{src/utils → utils}/htmlEscape.d.ts +0 -0
- /package/dist/{src/utils → utils}/migrationBannerHtml.d.ts +0 -0
- /package/dist/{src/utils → utils}/pairProductVariables.d.ts +0 -0
- /package/dist/{src/utils → utils}/preserveTextStyles.d.ts +0 -0
- /package/dist/{src/utils → utils}/stripFontTags.d.ts +0 -0
- /package/dist/{src/utils → utils}/templatePreparation.d.ts +0 -0
- /package/dist/{src/utils → utils}/timeUtil.d.ts +0 -0
- /package/dist/{src/utils → utils}/tooltipUtils.d.ts +0 -0
- /package/dist/{src/utils → utils}/urlSchemes.d.ts +0 -0
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import { ModificationDescription as g } from "../../../../../node_modules/@stripoinc/ui-editor-extensions/dist/esm/index.js";
|
|
2
2
|
import { RecommendationBlockId as m } from "../../constants/blockIds.js";
|
|
3
|
-
import { CURRENCY_ATTR as y, CSS_CLASS_SKIP_COMPILE as F, MOBILE_CONTAINER_SELECTOR as O, DESKTOP_CONTAINER_SELECTOR as N, CONTAINER_SELECTOR as
|
|
3
|
+
import { CURRENCY_ATTR as y, CSS_CLASS_SKIP_COMPILE as F, MOBILE_CONTAINER_SELECTOR as O, DESKTOP_CONTAINER_SELECTOR as N, CONTAINER_SELECTOR as G, MOBILE_ROW_SELECTOR as w, ATTR_PRODUCT_ATTR as K, PRODUCT_ATTRIBUTE_PREFIX as T } from "../../constants/selectors.js";
|
|
4
4
|
import { RecommendationConfigService as S } from "../../services/configService.js";
|
|
5
5
|
import { useRecommendationExtensionStore as P } from "../../store/recommendation.js";
|
|
6
6
|
import { prepareProductRows as L } from "../../templates/index.js";
|
|
7
7
|
import { captureStyles as _ } from "../../utils/captureStyleTemplates.js";
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import { getDefaultProducts as k, DEFAULT_CARD_COMPOSITION as R, sanitizeImageUrl as Y, isSamePrice as z, toDisplayableAttributeValue as X } from "../../templates/utils.js";
|
|
8
|
+
import { formatPrice as V } from "../../utils/priceFormatter.js";
|
|
9
|
+
import { getDefaultProducts as k, DEFAULT_CARD_COMPOSITION as R, sanitizeImageUrl as W, isSamePrice as Y, toDisplayableAttributeValue as X } from "../../templates/utils.js";
|
|
11
10
|
const M = "recommendation-block-v2";
|
|
12
11
|
function A(t) {
|
|
13
12
|
if (!t)
|
|
@@ -19,7 +18,7 @@ function A(t) {
|
|
|
19
18
|
}
|
|
20
19
|
return "querySelector" in t ? t.querySelector(`.${M}`) ?? null : null;
|
|
21
20
|
}
|
|
22
|
-
function
|
|
21
|
+
function z(t) {
|
|
23
22
|
const e = A(t);
|
|
24
23
|
return !e || !("getAttribute" in e) ? !1 : (e.getAttribute("class") ?? "").split(/\s+/).includes(F);
|
|
25
24
|
}
|
|
@@ -35,7 +34,7 @@ function x(t) {
|
|
|
35
34
|
if (!e || !("getAttribute" in e))
|
|
36
35
|
return R;
|
|
37
36
|
const n = e.getAttribute("data-card-composition");
|
|
38
|
-
return n ?
|
|
37
|
+
return n ? n.split(",").filter(Boolean) : R;
|
|
39
38
|
}
|
|
40
39
|
function D(t) {
|
|
41
40
|
if (!t || !("childNodes" in t))
|
|
@@ -56,25 +55,25 @@ function U(t) {
|
|
|
56
55
|
if (typeof t == "number")
|
|
57
56
|
return `0 ${t / 2}px`;
|
|
58
57
|
}
|
|
59
|
-
function
|
|
58
|
+
function J(t) {
|
|
60
59
|
const { currentNode: e, documentModifier: n } = t;
|
|
61
60
|
if (!e || !("querySelector" in e))
|
|
62
61
|
return !1;
|
|
63
62
|
const o = e.querySelector(w);
|
|
64
63
|
return o ? (n.modifyHtml(o).setInnerHtml(""), !0) : !1;
|
|
65
64
|
}
|
|
66
|
-
function
|
|
65
|
+
function Q(t) {
|
|
67
66
|
return "getOuterHTML" in t && typeof t.getOuterHTML == "function" ? t.getOuterHTML() : "";
|
|
68
67
|
}
|
|
69
|
-
function
|
|
68
|
+
function Z(t) {
|
|
70
69
|
const e = t.querySelector(".container");
|
|
71
70
|
return !e || !("childNodes" in e) ? null : e.childNodes().find((o) => "getTagName" in o && o.getTagName() === "tbody") ?? e.querySelector("tbody") ?? null;
|
|
72
71
|
}
|
|
73
|
-
function
|
|
74
|
-
const o =
|
|
72
|
+
function ee(t, e, n) {
|
|
73
|
+
const o = Z(t);
|
|
75
74
|
if (!o || !("childNodes" in o))
|
|
76
75
|
return;
|
|
77
|
-
const r = o.childNodes().map(
|
|
76
|
+
const r = o.childNodes().map(Q).join(""), s = `<tr class="ins-recommendation-mobile-row">${n}</tr>`;
|
|
78
77
|
e.modifyHtml(o).setInnerHtml(r + s), e.apply(new g("Added mobile product row"));
|
|
79
78
|
}
|
|
80
79
|
function $(t, e = {}) {
|
|
@@ -89,7 +88,7 @@ function $(t, e = {}) {
|
|
|
89
88
|
return !1;
|
|
90
89
|
const u = s ?? C(n), c = S.getConfig(n);
|
|
91
90
|
if (u === "list" || !c.mobileLayoutEnabled)
|
|
92
|
-
return
|
|
91
|
+
return J({ currentNode: n, documentModifier: o });
|
|
93
92
|
const l = P(), a = H(r, l.recommendationProducts), d = i ?? x(n), p = `<td><table class="ins-recommendation-product-container ins-recommendation-mobile-container" width="100%" cellpadding="0" cellspacing="0" border="0">${L(a, u, {
|
|
94
93
|
productsPerRow: c.mobileCardsInRow,
|
|
95
94
|
composition: d,
|
|
@@ -100,12 +99,12 @@ function $(t, e = {}) {
|
|
|
100
99
|
rowSpacingPx: c.mobileRowSpacing,
|
|
101
100
|
...e
|
|
102
101
|
})}</table></td>`, E = n.querySelector(w);
|
|
103
|
-
return E ? (o.modifyHtml(E).setInnerHtml(p), !0) : (
|
|
102
|
+
return E ? (o.modifyHtml(E).setInnerHtml(p), !0) : (ee(n, o, p), !1);
|
|
104
103
|
}
|
|
105
|
-
function
|
|
104
|
+
function ye(t) {
|
|
106
105
|
$(t, _(t.currentNode)) && t.documentModifier.apply(new g("Updated mobile product rows"));
|
|
107
106
|
}
|
|
108
|
-
function
|
|
107
|
+
function te(t, e = {}) {
|
|
109
108
|
const {
|
|
110
109
|
currentNode: n,
|
|
111
110
|
documentModifier: o,
|
|
@@ -115,7 +114,7 @@ function ne(t, e = {}) {
|
|
|
115
114
|
} = t;
|
|
116
115
|
if (!n || !("querySelector" in n))
|
|
117
116
|
return !1;
|
|
118
|
-
const u = n.querySelector(N) ?? n.querySelector(
|
|
117
|
+
const u = n.querySelector(N) ?? n.querySelector(G);
|
|
119
118
|
if (!u)
|
|
120
119
|
return !1;
|
|
121
120
|
const c = P(), l = H(r, c.recommendationProducts), { cardsInRow: a } = S.getConfig(n), d = i ?? x(n), f = s ?? C(n), p = S.getConfig(n), E = L(l, f, {
|
|
@@ -130,7 +129,7 @@ function ne(t, e = {}) {
|
|
|
130
129
|
});
|
|
131
130
|
return o.modifyHtml(u).setInnerHtml(E), !0;
|
|
132
131
|
}
|
|
133
|
-
function
|
|
132
|
+
function be(t) {
|
|
134
133
|
const {
|
|
135
134
|
currentNode: e,
|
|
136
135
|
documentModifier: n,
|
|
@@ -149,10 +148,10 @@ function Se(t) {
|
|
|
149
148
|
layout: s,
|
|
150
149
|
composition: i
|
|
151
150
|
};
|
|
152
|
-
let a =
|
|
151
|
+
let a = te(l, c);
|
|
153
152
|
a = $(l, c) || a, a && n.apply(new g("Regenerate products with styles")), o == null || o();
|
|
154
153
|
}
|
|
155
|
-
function
|
|
154
|
+
function ge(t, e) {
|
|
156
155
|
return t.length === e ? t : t.length > e ? t.slice(0, e) : [...t, ...k(e - t.length)];
|
|
157
156
|
}
|
|
158
157
|
function B() {
|
|
@@ -168,12 +167,12 @@ function B() {
|
|
|
168
167
|
}
|
|
169
168
|
function q(t, e = "price") {
|
|
170
169
|
const n = B(), o = t[e], r = (o == null ? void 0 : o[n.code]) ?? Object.values(o ?? {})[0] ?? 0;
|
|
171
|
-
return
|
|
170
|
+
return V({
|
|
172
171
|
price: r,
|
|
173
172
|
currency: n
|
|
174
173
|
});
|
|
175
174
|
}
|
|
176
|
-
function
|
|
175
|
+
function ne(t) {
|
|
177
176
|
var s, i;
|
|
178
177
|
const e = B(), n = ((s = t.original_price) == null ? void 0 : s[e.code]) ?? Object.values(t.original_price ?? {})[0] ?? 0, o = ((i = t.price) == null ? void 0 : i[e.code]) ?? Object.values(t.price ?? {})[0] ?? 0, r = n > 0 ? Math.round((n - o) / n * 100) : 0;
|
|
179
178
|
return r > 0 ? `-${r}%` : "0%";
|
|
@@ -187,19 +186,19 @@ function v(t) {
|
|
|
187
186
|
}
|
|
188
187
|
if (r && "querySelector" in r) {
|
|
189
188
|
const c = r.querySelector("strong") ?? r.querySelector("p"), l = q(n, "original_price");
|
|
190
|
-
b(e, c ?? null, l) && (u = !0), e.modifyHtml(r).setAttribute("data-same-price", String(
|
|
189
|
+
b(e, c ?? null, l) && (u = !0), e.modifyHtml(r).setAttribute("data-same-price", String(Y(n))), u = !0;
|
|
191
190
|
}
|
|
192
191
|
if (s && "querySelector" in s) {
|
|
193
192
|
const c = s.querySelector(".omnibus-price-value") ?? null, l = q(n, "original_price");
|
|
194
193
|
b(e, c, l) && (u = !0);
|
|
195
194
|
}
|
|
196
195
|
if (i && "querySelector" in i) {
|
|
197
|
-
const c = i.querySelector(".omnibus-discount-value") ?? null, l =
|
|
196
|
+
const c = i.querySelector(".omnibus-discount-value") ?? null, l = ne(n);
|
|
198
197
|
b(e, c, l) && (u = !0);
|
|
199
198
|
}
|
|
200
199
|
return u;
|
|
201
200
|
}
|
|
202
|
-
function
|
|
201
|
+
function oe(t) {
|
|
203
202
|
const {
|
|
204
203
|
documentModifier: e,
|
|
205
204
|
product: n,
|
|
@@ -214,7 +213,7 @@ function re(t) {
|
|
|
214
213
|
let a = !1;
|
|
215
214
|
if (o && "querySelector" in o) {
|
|
216
215
|
const d = o.querySelector("img");
|
|
217
|
-
d && (e.modifyHtml(d).setAttribute("src",
|
|
216
|
+
d && (e.modifyHtml(d).setAttribute("src", W(n.image_url)).setAttribute("alt", n.name), a = !0);
|
|
218
217
|
const f = o.querySelector("a");
|
|
219
218
|
f && (e.modifyHtml(f).setAttribute("href", n.url), a = !0);
|
|
220
219
|
}
|
|
@@ -238,7 +237,7 @@ function re(t) {
|
|
|
238
237
|
function j(t) {
|
|
239
238
|
return "querySelector" in t ? t.querySelector(N) ?? t : t;
|
|
240
239
|
}
|
|
241
|
-
function
|
|
240
|
+
function re(t, e) {
|
|
242
241
|
var o;
|
|
243
242
|
let n;
|
|
244
243
|
if (t.startsWith(T)) {
|
|
@@ -248,7 +247,7 @@ function ie(t, e) {
|
|
|
248
247
|
n = e[t];
|
|
249
248
|
return X(n) || null;
|
|
250
249
|
}
|
|
251
|
-
function
|
|
250
|
+
function ie(t, e, n) {
|
|
252
251
|
if (!("querySelectorAll" in t))
|
|
253
252
|
return !1;
|
|
254
253
|
const o = t.querySelectorAll(
|
|
@@ -260,7 +259,7 @@ function le(t, e, n) {
|
|
|
260
259
|
o.forEach((i) => {
|
|
261
260
|
if (!("getAttribute" in i))
|
|
262
261
|
return;
|
|
263
|
-
const u = i.getAttribute(
|
|
262
|
+
const u = i.getAttribute(K);
|
|
264
263
|
if (!u)
|
|
265
264
|
return;
|
|
266
265
|
const c = r.get(u) ?? [];
|
|
@@ -272,7 +271,7 @@ function le(t, e, n) {
|
|
|
272
271
|
i.slice(0, c).forEach((l, a) => {
|
|
273
272
|
if (!("querySelector" in l))
|
|
274
273
|
return;
|
|
275
|
-
const d =
|
|
274
|
+
const d = re(u, n[a]);
|
|
276
275
|
if (d === null)
|
|
277
276
|
return;
|
|
278
277
|
const f = l.querySelector("p") ?? null;
|
|
@@ -300,7 +299,7 @@ function I(t, e, n) {
|
|
|
300
299
|
), a = Math.min(o.length, n.length);
|
|
301
300
|
let d = !1;
|
|
302
301
|
for (let f = 0; f < a; f++) {
|
|
303
|
-
const p =
|
|
302
|
+
const p = oe({
|
|
304
303
|
documentModifier: e,
|
|
305
304
|
product: n[f],
|
|
306
305
|
imageEl: o[f] ?? null,
|
|
@@ -313,9 +312,9 @@ function I(t, e, n) {
|
|
|
313
312
|
});
|
|
314
313
|
d = d || p;
|
|
315
314
|
}
|
|
316
|
-
return
|
|
315
|
+
return ie(t, e, n) && (d = !0), d;
|
|
317
316
|
}
|
|
318
|
-
function
|
|
317
|
+
function Se(t) {
|
|
319
318
|
const { currentNode: e, documentModifier: n, products: o } = t;
|
|
320
319
|
if (!e || !("querySelectorAll" in e))
|
|
321
320
|
return !1;
|
|
@@ -363,11 +362,11 @@ function h(t, e, n) {
|
|
|
363
362
|
}) && (c = !0);
|
|
364
363
|
return c;
|
|
365
364
|
}
|
|
366
|
-
function
|
|
365
|
+
function Ee(t) {
|
|
367
366
|
const { currentNode: e, documentModifier: n } = t;
|
|
368
367
|
if (!e || !("querySelectorAll" in e))
|
|
369
368
|
return !1;
|
|
370
|
-
if (
|
|
369
|
+
if (z(e))
|
|
371
370
|
return !0;
|
|
372
371
|
const r = P().recommendationProducts;
|
|
373
372
|
if (r.length === 0)
|
|
@@ -384,7 +383,7 @@ function Ae(t) {
|
|
|
384
383
|
}
|
|
385
384
|
return i && n.apply(new g("Updated price formatting in-place")), i;
|
|
386
385
|
}
|
|
387
|
-
function
|
|
386
|
+
function Pe(t) {
|
|
388
387
|
const { currentNode: e, documentModifier: n, currency: o } = t, r = A(e);
|
|
389
388
|
if (!r)
|
|
390
389
|
return;
|
|
@@ -394,16 +393,16 @@ function Ce(t) {
|
|
|
394
393
|
i(y.CURRENCY, o.code), i(y.SYMBOL, o.symbol), i(y.ALIGNMENT, s), i(y.THOUSAND_SEPARATOR, o.thousandSeparator), i(y.DECIMAL_SEPARATOR, o.decimalSeparator), i(y.DECIMAL_COUNT, o.decimalCount.toString()), n.apply(new g("Update currency attributes"));
|
|
395
394
|
}
|
|
396
395
|
export {
|
|
397
|
-
|
|
396
|
+
ge as adjustProductsToSize,
|
|
398
397
|
q as formatProductPrice,
|
|
399
398
|
A as getBlockElement,
|
|
400
399
|
x as getCardComposition,
|
|
401
400
|
C as getCurrentLayout,
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
401
|
+
z as isPartnerManagedBlock,
|
|
402
|
+
ye as regenerateMobileProductRows,
|
|
403
|
+
be as regenerateProductRowsWithStyles,
|
|
404
|
+
Pe as setCurrencyAttributes,
|
|
405
|
+
Ee as updatePricesInPlace,
|
|
406
|
+
Se as updateProductContentInPlace,
|
|
407
|
+
oe as updateSingleProductContent
|
|
409
408
|
};
|
|
@@ -28,10 +28,10 @@ const G = `
|
|
|
28
28
|
{-{-CELLS-}-}
|
|
29
29
|
</tr>
|
|
30
30
|
`;
|
|
31
|
-
function j(
|
|
32
|
-
const { cellPadding: s = k, cardBackgroundColor: u, visibility: a, priceInline:
|
|
31
|
+
function j(e, t, n, r = Y, c = {}, i = {}) {
|
|
32
|
+
const { cellPadding: s = k, cardBackgroundColor: u, visibility: a, priceInline: o = !1 } = i, d = (100 / t).toFixed(2), p = t - e.length, T = p > 0 ? x(d, s).repeat(p) : "", m = B(n, r, c), R = F(r), L = o ? r.filter((l) => l !== R.skip) : r, C = I(f, i), P = I(O, i);
|
|
33
33
|
return L.filter((l) => m[l]).map((l) => {
|
|
34
|
-
const _ = (a == null ? void 0 : a[l]) ?? W[l] ?? !0, b = _ ? "" : 'style="display: none;"', S = I(l, i
|
|
34
|
+
const _ = (a == null ? void 0 : a[l]) ?? W[l] ?? !0, b = _ ? "" : 'style="display: none;"', S = I(l, i), D = e.map((E) => (o && l === R.anchor ? H(
|
|
35
35
|
E,
|
|
36
36
|
R.originalFirst,
|
|
37
37
|
C,
|
|
@@ -41,36 +41,36 @@ function j(t, r, o, e = Y, c = {}, i = {}) {
|
|
|
41
41
|
return V.replace("{-{-ATTR_TYPE-}-}", l).replace("{-{-VISIBILITY-}-}", _ ? "1" : "0").replace("{-{-DISPLAY_STYLE-}-}", b).replace("{-{-CELLS-}-}", D + T);
|
|
42
42
|
}).join("");
|
|
43
43
|
}
|
|
44
|
-
function v(
|
|
44
|
+
function v(e, t, n, r, c = {}, i = {}) {
|
|
45
45
|
const s = [];
|
|
46
|
-
for (let
|
|
47
|
-
s.push(
|
|
46
|
+
for (let o = 0; o < e.length; o += t)
|
|
47
|
+
s.push(e.slice(o, o + t));
|
|
48
48
|
const u = h(i.rowSpacingPx);
|
|
49
|
-
return s.map((
|
|
49
|
+
return s.map((o, d) => {
|
|
50
50
|
const p = j(
|
|
51
|
+
o,
|
|
52
|
+
t,
|
|
51
53
|
n,
|
|
52
54
|
r,
|
|
53
|
-
o,
|
|
54
|
-
e,
|
|
55
55
|
c,
|
|
56
56
|
i
|
|
57
57
|
), T = G.replace("{-{-ATTRIBUTE_ROWS-}-}", p);
|
|
58
58
|
return d > 0 ? u + T : T;
|
|
59
59
|
}).join("");
|
|
60
60
|
}
|
|
61
|
-
function M(
|
|
61
|
+
function M(e, t, n, r = {}, c = {}) {
|
|
62
62
|
return v(
|
|
63
|
+
e,
|
|
63
64
|
t,
|
|
64
|
-
r,
|
|
65
65
|
y,
|
|
66
|
-
|
|
67
|
-
|
|
66
|
+
n,
|
|
67
|
+
r,
|
|
68
68
|
c
|
|
69
69
|
);
|
|
70
70
|
}
|
|
71
|
-
function Q(
|
|
72
|
-
const
|
|
73
|
-
return
|
|
71
|
+
function Q(e) {
|
|
72
|
+
const t = e ? `ins-recommendation-v3-block-${e}` : void 0, n = U("grid", t), r = A(), c = M(r, w);
|
|
73
|
+
return n.replace("{-{-TITLE-}-}", g.TITLE).replace("{-{-PRODUCT_ROWS-}-}", c).replace("{-{-MOBILE_PRODUCT_ROWS-}-}", "");
|
|
74
74
|
}
|
|
75
75
|
export {
|
|
76
76
|
Q as getDefaultTemplate,
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { ATTR_PRODUCT_IMAGE as p, ATTR_PRODUCT_BUTTON as C, ATTR_PRODUCT_OLD_PRICE as A, ATTR_PRODUCT_PRICE as
|
|
2
|
-
import { buildSpacer as
|
|
1
|
+
import { ATTR_PRODUCT_IMAGE as p, ATTR_PRODUCT_BUTTON as C, ATTR_PRODUCT_OLD_PRICE as A, ATTR_PRODUCT_PRICE as m } from "../../constants/selectors.js";
|
|
2
|
+
import { buildSpacer as I, DEFAULT_CARD_COMPOSITION as g, buildElementRenderer as E, buildCellOptions as i, resolveInlinePriceOrder as w, DEFAULT_CARD_VISIBILITY as y } from "../utils.js";
|
|
3
3
|
import { listElementRenderer as L, renderInlineListPriceRow as O } from "./elementRenderer.js";
|
|
4
4
|
const S = "0 5px";
|
|
5
5
|
function U(l, r, n) {
|
|
6
|
-
const
|
|
6
|
+
const e = n ? "" : ' style="display: none;"', o = l.replace(/<tr>/, "").replace(/<\/tr>/, "");
|
|
7
7
|
return `<tr
|
|
8
8
|
class="recommendation-attribute-row"
|
|
9
9
|
data-attribute-type="${r}"
|
|
10
|
-
data-visibility="${n ? "1" : "0"}"${
|
|
10
|
+
data-visibility="${n ? "1" : "0"}"${e}>${o}</tr>`;
|
|
11
11
|
}
|
|
12
12
|
const N = `
|
|
13
13
|
<tr class="recommendation-product-row">
|
|
@@ -27,36 +27,36 @@ const N = `
|
|
|
27
27
|
</td>
|
|
28
28
|
</tr>
|
|
29
29
|
`;
|
|
30
|
-
function x(l, r = g, n = {},
|
|
30
|
+
function x(l, r = g, n = {}, e = {}) {
|
|
31
31
|
const {
|
|
32
32
|
cellPadding: o = S,
|
|
33
33
|
cardBackgroundColor: d,
|
|
34
34
|
visibility: c,
|
|
35
35
|
priceInline: a = !1
|
|
36
|
-
} =
|
|
36
|
+
} = e, u = d ? ` style="table-layout: fixed; background-color: ${d};"` : ' style="table-layout: fixed;"', s = E(L, r, n), P = s[p](l, i(p, e)), R = w(r), T = `
|
|
37
37
|
<td class="product-info-cell" valign="middle" style="padding: 15px;">
|
|
38
38
|
<table cellpadding="0" cellspacing="0" role="presentation" width="100%" style="table-layout: fixed;">
|
|
39
39
|
<tbody>
|
|
40
|
-
${r.filter((
|
|
41
|
-
const b = (c == null ? void 0 : c[
|
|
40
|
+
${r.filter((t) => t !== p && t !== C).filter((t) => !(a && t === R.skip)).filter((t) => s[t]).map((t) => {
|
|
41
|
+
const b = (c == null ? void 0 : c[t]) ?? y[t] ?? !0, f = a && t === R.anchor ? O(
|
|
42
42
|
l,
|
|
43
43
|
R.originalFirst,
|
|
44
|
-
i(
|
|
45
|
-
i(A,
|
|
46
|
-
) : s[
|
|
47
|
-
return U(f,
|
|
44
|
+
i(m, e),
|
|
45
|
+
i(A, e)
|
|
46
|
+
) : s[t](l, i(t, e));
|
|
47
|
+
return U(f, t, b);
|
|
48
48
|
}).join(`
|
|
49
49
|
`)}
|
|
50
50
|
</tbody>
|
|
51
51
|
</table>
|
|
52
52
|
</td>
|
|
53
|
-
`, _ = s[C](l, i(C,
|
|
53
|
+
`, _ = s[C](l, i(C, e)), D = P + T + _;
|
|
54
54
|
return N.replace("{-{-CARD_PADDING-}-}", o).replace("{-{-WRAPPER_STYLE-}-}", u).replace("{-{-PRODUCT_CONTENT-}-}", D);
|
|
55
55
|
}
|
|
56
|
-
function W(l, r, n = {},
|
|
57
|
-
const o =
|
|
56
|
+
function W(l, r, n = {}, e = {}) {
|
|
57
|
+
const o = I(e.rowSpacingPx);
|
|
58
58
|
return l.map((d, c) => {
|
|
59
|
-
const a = x(d, r, n,
|
|
59
|
+
const a = x(d, r, n, e);
|
|
60
60
|
return c > 0 ? o + a : a;
|
|
61
61
|
}).join("");
|
|
62
62
|
}
|
|
@@ -43,23 +43,22 @@ export declare function resolveInlinePriceOrder(composition: string[]): {
|
|
|
43
43
|
*/
|
|
44
44
|
export declare function toDisplayableAttributeValue(value: unknown): string | undefined;
|
|
45
45
|
/**
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
* than to whichever entry the filter list happens to enumerate first. (SD-147101)
|
|
46
|
+
* Checks whether an attribute is a default (top-level) product attribute
|
|
47
|
+
* vs a custom product attribute (nested under `product_attributes`).
|
|
48
|
+
* Returns false when filterList is empty or the attribute is not found.
|
|
50
49
|
*/
|
|
51
50
|
export declare function isDefaultAttribute(attrName: string, filterList: FiltersResponse): boolean;
|
|
52
51
|
/**
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
52
|
+
* Resolves the `product-attr` HTML attribute value based on attribute type from the filter list.
|
|
53
|
+
* - Default attributes → attribute name directly (e.g., "brand") → compiles to `{{1_0_brand}}`
|
|
54
|
+
* - Product attributes → "product_attribute.<name>" (e.g., "product_attribute.rating_star")
|
|
56
55
|
*/
|
|
57
56
|
export declare function resolveProductAttrValue(attrName: string, filterList: FiltersResponse): string;
|
|
58
57
|
/**
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
* `product_attribute
|
|
62
|
-
*
|
|
58
|
+
* Reverse of `resolveProductAttrValue`: maps a cell's `product-attr` value back to its
|
|
59
|
+
* `customAttr:<name>` composition key. The resolver only ever emits `<name>` (default
|
|
60
|
+
* attribute) or `product_attribute.<name>` (custom product attribute), so stripping the
|
|
61
|
+
* prefix recovers the attribute name without needing the store's filter list.
|
|
63
62
|
*/
|
|
64
63
|
export declare function toCustomCompositionKey(productAttrValue: string): string;
|
|
65
64
|
/**
|
|
@@ -185,7 +184,7 @@ export interface RenderOptions {
|
|
|
185
184
|
* `RenderOptions`. Single source for both the stacked per-cell options and the two inline
|
|
186
185
|
* (price + old-price) option sets, so style capture → re-bake stays consistent across layouts.
|
|
187
186
|
*/
|
|
188
|
-
export declare function buildCellOptions(attrType: string, renderOptions: RenderOptions
|
|
187
|
+
export declare function buildCellOptions(attrType: string, renderOptions: RenderOptions): CellRenderOptions;
|
|
189
188
|
/**
|
|
190
189
|
* Options for prepareProductRows unified function
|
|
191
190
|
*/
|