@rebuy/rebuy 2.27.0 → 2.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +1352 -366
  4. package/dist/index.js.map +4 -4
  5. package/dist/index.mjs +1351 -365
  6. package/dist/index.mjs.map +4 -4
  7. package/dist/schema/checkout-and-beyond/constants.js +1 -0
  8. package/dist/schema/checkout-and-beyond/constants.js.map +2 -2
  9. package/dist/schema/checkout-and-beyond/constants.mjs +1 -0
  10. package/dist/schema/checkout-and-beyond/constants.mjs.map +2 -2
  11. package/dist/schema/checkout-and-beyond/index.js +285 -92
  12. package/dist/schema/checkout-and-beyond/index.js.map +4 -4
  13. package/dist/schema/checkout-and-beyond/index.mjs +285 -92
  14. package/dist/schema/checkout-and-beyond/index.mjs.map +4 -4
  15. package/dist/schema/widget-data.js +165 -148
  16. package/dist/schema/widget-data.js.map +4 -4
  17. package/dist/schema/widget-data.mjs +165 -148
  18. package/dist/schema/widget-data.mjs.map +4 -4
  19. package/dist/schema/widgets/checkout-and-beyond/common.d.ts +2 -1
  20. package/dist/schema/widgets/checkout-and-beyond/common.d.ts.map +1 -1
  21. package/dist/schema/widgets/checkout-and-beyond/discount.d.ts +30 -0
  22. package/dist/schema/widgets/checkout-and-beyond/discount.d.ts.map +1 -0
  23. package/dist/schema/widgets/checkout-and-beyond/index.d.ts +2 -0
  24. package/dist/schema/widgets/checkout-and-beyond/index.d.ts.map +1 -1
  25. package/dist/schema/widgets/checkout-and-beyond/offerLabels.d.ts +178 -0
  26. package/dist/schema/widgets/checkout-and-beyond/offerLabels.d.ts.map +1 -0
  27. package/dist/schema/widgets/checkout-and-beyond/shared.d.ts +2 -1
  28. package/dist/schema/widgets/checkout-and-beyond/shared.d.ts.map +1 -1
  29. package/dist/schema/widgets/checkout-and-beyond/utils.d.ts +2 -0
  30. package/dist/schema/widgets/checkout-and-beyond/utils.d.ts.map +1 -1
  31. package/dist/server/dataSourceResults.d.ts +18 -0
  32. package/dist/server/dataSourceResults.d.ts.map +1 -0
  33. package/dist/server/index.d.ts +6 -2
  34. package/dist/server/index.d.ts.map +1 -1
  35. package/dist/server/index.js +1162 -435
  36. package/dist/server/index.js.map +4 -4
  37. package/dist/server/index.mjs +1161 -434
  38. package/dist/server/index.mjs.map +4 -4
  39. package/dist/server/userConfig.d.ts +8 -0
  40. package/dist/server/userConfig.d.ts.map +1 -0
  41. package/dist/server/widgetSettings.d.ts.map +1 -1
  42. package/dist/transforms/index.d.ts +4 -0
  43. package/dist/transforms/index.d.ts.map +1 -1
  44. package/dist/transforms/index.js +1004 -81
  45. package/dist/transforms/index.js.map +4 -4
  46. package/dist/transforms/index.mjs +1004 -81
  47. package/dist/transforms/index.mjs.map +4 -4
  48. package/dist/transforms/offerV1/buildOfferTemplate.d.ts +13 -0
  49. package/dist/transforms/offerV1/buildOfferTemplate.d.ts.map +1 -0
  50. package/dist/transforms/offerV1/convertOfferToV2.d.ts +18 -0
  51. package/dist/transforms/offerV1/convertOfferToV2.d.ts.map +1 -0
  52. package/dist/transforms/offerV1/offerCard.d.ts +17 -0
  53. package/dist/transforms/offerV1/offerCard.d.ts.map +1 -0
  54. package/dist/transforms/offerV1/offerTemplateSeed.d.ts +339 -0
  55. package/dist/transforms/offerV1/offerTemplateSeed.d.ts.map +1 -0
  56. package/dist/transforms/offerV1/types.d.ts +145 -0
  57. package/dist/transforms/offerV1/types.d.ts.map +1 -0
  58. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../src/schema/widgetData.ts", "../../src/schema/widgets/abTestingPlaceholder.ts", "../../src/schema/widgets/checkout-and-beyond/constants.ts", "../../src/schema/widgets/checkout-and-beyond/common.ts", "../../src/schema/widgets/checkoutExtension.ts", "../../src/schema/widgets/contentBlock.ts", "../../src/schema/widgets/checkout-and-beyond/root.ts", "../../src/schema/widgets/checkout-and-beyond/layout.ts", "../../src/schema/widgets/checkout-and-beyond/rule.ts", "../../src/schema/widgets/checkout-and-beyond/shared.ts", "../../src/schema/widgets/checkout-and-beyond/banner.ts", "../../src/schema/widgets/checkout-and-beyond/button.ts", "../../src/schema/widgets/checkout-and-beyond/image.ts", "../../src/schema/widgets/checkout-and-beyond/regex.ts", "../../src/schema/widgets/checkout-and-beyond/utils.ts", "../../src/schema/widgets/checkout-and-beyond/text.ts", "../../src/schema/widgets/checkout-and-beyond/carousel.ts", "../../src/schema/widgets/checkout-and-beyond/offers.ts", "../../src/schema/widgets/checkout-and-beyond/dataSource.ts", "../../src/schema/widgets/checkout-and-beyond/products.ts", "../../src/schema/widgets/checkout-and-beyond/product.ts", "../../src/schema/widgets/checkout-and-beyond/cartLine.ts", "../../src/schema/widgets/checkout-and-beyond/monetize.ts", "../../src/schema/widgets/checkout-and-beyond/progressBar.ts", "../../src/schema/widgets/checkout-and-beyond/quantity.ts", "../../src/schema/widgets/checkout-and-beyond/reviews.ts", "../../src/schema/widgets/checkout-and-beyond/variants.ts", "../../src/schema/widgets/giftWithPurchase.ts", "../../src/schema/widgets/lineItemEditor.ts", "../../src/schema/widgets/progressBar.ts", "../../src/schema/widgets/rebuyButton.ts", "../../src/schema/widgets/rebuyMonetize.ts"],
4
- "sourcesContent": ["import { z } from 'zod/v4';\n\nimport { ABTestingPlaceholder } from './widgets/abTestingPlaceholder';\nimport { WidgetType } from './widgets/checkout-and-beyond/constants';\nimport { CheckoutExtension } from './widgets/checkoutExtension';\nimport { ContentBlock } from './widgets/contentBlock';\nimport { GiftWithPurchase } from './widgets/giftWithPurchase';\nimport { LineItemEditor } from './widgets/lineItemEditor';\nimport { ProgressBar } from './widgets/progressBar';\nimport { RebuyButton } from './widgets/rebuyButton';\nimport { RebuyMonetize } from './widgets/rebuyMonetize';\n\nexport const extensionWidgetTypes = [\n 'placeholder',\n WidgetType.gift_with_purchase,\n WidgetType.shopify_checkout_extension,\n WidgetType.ui_extension_ad,\n WidgetType.ui_extension_button,\n WidgetType.ui_extension_content_block,\n WidgetType.ui_extension_line_item_editor,\n WidgetType.ui_extension_progress_bar,\n] as const;\n\nexport const WidgetData = z.discriminatedUnion('type', [\n ABTestingPlaceholder,\n CheckoutExtension,\n ContentBlock,\n GiftWithPurchase,\n LineItemEditor,\n ProgressBar,\n RebuyButton,\n RebuyMonetize,\n]);\n\nexport type WidgetData = z.infer<typeof WidgetData>;\n", "import { z } from 'zod/v4';\n\nexport const ABTestingPlaceholder = z.looseObject({\n type: z.literal('placeholder'),\n});\n\nexport type ABTestingPlaceholder = z.infer<typeof ABTestingPlaceholder>;\n", "import { uniqBy } from 'es-toolkit';\n\nimport { EditorMode, freezeEnum } from './common';\nimport { type TargetArea } from './root';\n\nexport const DEFAULT_ENDPOINTS = [\n { label: 'Recommended (AI)', value: '/products/recommended' },\n { label: 'Top Sellers', value: '/products/top_sellers' },\n { label: 'Buy It Again', value: '/products/purchased' },\n { label: 'Recently Viewed', value: '/products/viewed' },\n { label: 'Products Search', value: '/products/search' },\n { label: 'Collection Products', value: '/products/collections' },\n { label: 'Similar Products (AI)', value: '/products/similar_products' },\n] as const;\n\nexport const STATIC_ENDPOINTS = [\n { label: 'Recommended (AI)', value: '/products/recommended' },\n { label: 'Top Sellers', value: '/products/top_sellers' },\n { label: 'Trending Products', value: '/products/trending_products' },\n { label: 'Buy It Again', value: '/products/purchased' },\n { label: 'Collection Products', value: '/products/collections' },\n { label: 'Recently Viewed', value: '/products/viewed' },\n { label: 'Static Products', value: '/products/static' },\n { label: 'Products Search', value: '/products/search' },\n { label: 'Similar Products (AI)', value: '/products/similar_products' },\n] as const;\n\nexport const COMBINED_ENDPOINTS = uniqBy([...DEFAULT_ENDPOINTS, ...STATIC_ENDPOINTS], (item) => item.value);\n\nexport const targetAreas = {\n [EditorMode.checkoutExtension]: [\n { icon: 'splitscreen_top', label: 'Header Area', width: '984px' },\n { icon: 'splitscreen_left', label: 'Main Column', width: '503px' },\n { icon: 'splitscreen_right', label: 'Summary Column', width: '404px' },\n ] satisfies TargetArea[],\n [EditorMode.postPurchaseOffer]: null,\n [EditorMode.thankYouPage]: [\n { icon: 'splitscreen_top', label: 'Header Area', width: '984px' },\n { icon: 'splitscreen_left', label: 'Main Column', width: '503px' },\n { icon: 'splitscreen_right', label: 'Summary Column', width: '404px' },\n ] satisfies TargetArea[],\n [EditorMode.orderStatusPage]: [\n // { fill: true, flip: 'vertical', icon: 'bottom_navigation', label: 'Announcement Bar' },\n { icon: 'splitscreen_top', label: 'Header Area', width: '1124px' },\n { fill: true, icon: 'view_column_2', label: 'Main Area', width: '646px' },\n { icon: 'splitscreen_bottom', label: 'Footer Area', width: '1124px' },\n ] satisfies TargetArea[],\n [EditorMode.ordersIndexPage]: [\n // { fill: true, flip: 'vertical', icon: 'bottom_navigation', label: 'Announcement Bar' },\n { icon: 'splitscreen_top', label: 'Main Area', width: '1124px' },\n ] satisfies TargetArea[],\n [EditorMode.customerProfilePage]: [\n // { fill: true, flip: 'vertical', icon: 'bottom_navigation', label: 'Announcement Bar' },\n { icon: 'splitscreen_top', label: 'Main Area', width: '1124px' },\n ] satisfies TargetArea[],\n} as const;\n\nexport const widgetTypes = [\n 'bundle_builder',\n 'cart',\n 'cart_subscription',\n 'dynamic_bundle',\n 'gift_with_purchase',\n 'pre_purchase',\n 'product',\n 'product_addon',\n 'product_upsell',\n 'recharge_checkout',\n 'recharge_customer_portal',\n 'recharge_post_purchase',\n 'shopify_checkout',\n 'shopify_checkout_extension',\n 'shopify_post_purchase',\n 'shopify_post_purchase_extension',\n 'switch_to_subscription',\n 'ui_extension_ad',\n 'ui_extension_button',\n 'ui_extension_content_block',\n 'ui_extension_line_item_editor',\n 'ui_extension_progress_bar',\n] as const;\n\nexport const WidgetType = freezeEnum(widgetTypes);\nexport type WidgetType = (typeof widgetTypes)[number];\n", "export const freezeEnum = <T extends readonly string[]>(values: T) =>\n Object.freeze(Object.fromEntries(values.map((v) => [v, v]))) as { readonly [K in T[number]]: K };\n\nexport const bannerColors = ['info', 'success', 'warning', 'critical'] as const;\nexport const BannerColor = freezeEnum(bannerColors);\nexport type BannerColor = (typeof bannerColors)[number];\n\nexport const borderRadii = ['none', 'small', 'base', 'large', 'fullyRounded'] as const;\nexport const BorderRadius = freezeEnum(borderRadii);\nexport type BorderRadius = (typeof borderRadii)[number];\n\nexport const borderStyles = ['none', 'base', 'dotted', 'dashed'] as const;\nexport const BorderStyle = freezeEnum(borderStyles);\nexport type BorderStyle = (typeof borderStyles)[number];\n\nexport const borderWidths = ['base', 'medium', 'thick'] as const;\nexport const BorderWidth = freezeEnum(borderWidths);\nexport type BorderWidth = (typeof borderWidths)[number];\n\nexport const buttonActions = [\n 'acceptOffer',\n 'addToOrder',\n 'declineAllOffers',\n 'declineOffer',\n 'displayContentInModal',\n 'displayContentInPopover',\n 'goToNextPage',\n 'goToPrevPage',\n 'goToURL',\n 'removeFromCart',\n 'selectVariant',\n 'showPagination',\n 'switchToSubscription',\n 'undoAddToOrder',\n] as const;\n\nexport const ButtonAction = freezeEnum(buttonActions);\nexport type ButtonAction = (typeof buttonActions)[number];\n\nexport const buttonFields = [\n 'activePage',\n 'addedToCart',\n 'addingToCart',\n 'addToCart',\n 'buttonLabel',\n 'declineAllOffers',\n 'declineOffer',\n 'destinationUrl',\n 'inactivePage',\n 'overlayContent',\n 'payNow',\n 'progressReached',\n 'progressRemaining',\n 'removeFromCart',\n 'showVariant',\n 'showVariants',\n 'soldOut',\n 'subscriptionOption',\n 'switchToOneTimePurchase',\n 'switchToSubscriptionNoDiscount',\n 'switchToSubscriptionWithDiscount',\n 'undoAddToOrder',\n] as const;\n\nexport const ButtonField = freezeEnum(buttonFields);\nexport type ButtonField = (typeof buttonFields)[number];\n\nexport const buttonStyles = ['primary', 'secondary', 'plain', 'custom'] as const;\nexport const ButtonStyle = freezeEnum(buttonStyles);\nexport type ButtonStyle = (typeof buttonStyles)[number];\n\nexport const directions = ['columns', 'rows', 'grid'] as const;\nexport const Direction = freezeEnum(directions);\nexport type Direction = (typeof directions)[number];\n\nexport const discountSources = ['price', 'compare_at_price'] as const;\nexport const DiscountSource = freezeEnum(discountSources);\nexport type DiscountSource = (typeof discountSources)[number];\n\nexport const discountTypes = ['none', 'percentage', 'fixed', 'fixed_amount'] as const;\nexport const DiscountType = freezeEnum(discountTypes);\nexport type DiscountType = (typeof discountTypes)[number];\n\nexport const editorModes = [\n 'checkoutExtension',\n 'postPurchaseOffer',\n 'thankYouPage',\n 'orderStatusPage',\n 'ordersIndexPage',\n 'customerProfilePage',\n] as const;\n\nexport const EditorMode = freezeEnum(editorModes);\nexport type EditorMode = (typeof editorModes)[number];\n\nexport const horizontalAlignments = ['start', 'center', 'end'] as const;\nexport const HorizontalAlignment = freezeEnum(horizontalAlignments);\nexport type HorizontalAlignment = (typeof horizontalAlignments)[number];\n\nexport const languageKeys = [\n 'ar',\n 'cs',\n 'da',\n 'de',\n 'en',\n 'es',\n 'fi',\n 'fr',\n 'ga',\n 'he',\n 'hi',\n 'id',\n 'it',\n 'ja',\n 'ko',\n 'nl',\n 'no',\n 'pl',\n 'pt',\n 'ru',\n 'sv',\n 'th',\n 'tr',\n 'uk',\n 'vi',\n 'zh',\n] as const;\n\nexport const LanguageKey = freezeEnum(languageKeys);\nexport type LanguageKey = (typeof languageKeys)[number];\n\nexport const objectFits = ['cover', 'contain'] as const;\nexport const ObjectFit = freezeEnum(objectFits);\nexport type ObjectFit = (typeof objectFits)[number];\n\nexport const popoverPositions = ['inlineStart', 'inlineEnd', 'blockStart', 'blockEnd'] as const;\nexport const PopoverPosition = freezeEnum(popoverPositions);\nexport type PopoverPosition = (typeof popoverPositions)[number];\n\nexport const popoverPositionMap = {\n bottom: 'blockEnd',\n left: 'inlineStart',\n right: 'inlineEnd',\n top: 'blockStart',\n} as const;\n\nexport const productTypes = ['one-time', 'subscription', 'both'] as const;\nexport const ProductType = freezeEnum(productTypes);\nexport type ProductType = (typeof productTypes)[number];\n\nexport const progressTierTypes = ['decorative', 'discount', 'product', 'shipping'] as const;\nexport const ProgressTierType = freezeEnum(progressTierTypes);\nexport type ProgressTierType = (typeof progressTierTypes)[number];\n\nexport const quantityInputs = ['select', 'number'] as const;\nexport const QuantityInput = freezeEnum(quantityInputs);\nexport type QuantityInput = (typeof quantityInputs)[number];\n\nexport const reviewsSizes = ['small', 'default', 'large'] as const;\nexport const ReviewsSize = freezeEnum(reviewsSizes);\nexport type ReviewsSize = (typeof reviewsSizes)[number];\n\nexport const sectionTypes = [\n 'banner',\n 'button',\n 'carousel',\n 'cartLine',\n 'dataSource',\n 'image',\n 'layout',\n 'monetize',\n 'offers',\n 'product',\n 'products',\n 'progressBar',\n 'quantity',\n 'reviews',\n 'text',\n 'variants',\n] as const;\n\nexport const SectionType = freezeEnum(sectionTypes);\nexport type SectionType = (typeof sectionTypes)[number];\n\nexport const spacings = ['none', 'extraTight', 'tight', 'base', 'loose', 'extraLoose'] as const;\nexport const Spacing = freezeEnum(spacings);\nexport type Spacing = (typeof spacings)[number];\n\nexport const textAlignments = ['start', 'center', 'end'] as const;\nexport const TextAlignment = freezeEnum(textAlignments);\nexport type TextAlignment = (typeof textAlignments)[number];\n\nexport const textColorNames = ['base', 'subdued', 'accent', 'decorative', 'success', 'warning', 'critical'] as const;\nexport const TextColorName = freezeEnum(textColorNames);\nexport type TextColorName = (typeof textColorNames)[number];\n\nexport const textSizeNames = ['extraSmall', 'small', 'base', 'medium', 'large', 'extraLarge'] as const;\nexport const TextSizeName = freezeEnum(textSizeNames);\nexport type TextSizeName = (typeof textSizeNames)[number];\n\nexport const variantModes = ['multiple', 'single'] as const;\nexport const VariantMode = freezeEnum(variantModes);\nexport type VariantMode = (typeof variantModes)[number];\n\nexport const variantSelectors = ['menu', 'radio', 'button'] as const;\nexport const VariantSelector = freezeEnum(variantSelectors);\nexport type VariantSelector = (typeof variantSelectors)[number];\n\nexport const verticalAlignments = ['top', 'middle', 'bottom'] as const;\nexport const VerticalAlignment = freezeEnum(verticalAlignments);\nexport type VerticalAlignment = (typeof verticalAlignments)[number];\n", "import { z } from 'zod/v4';\n\nimport { WidgetType } from './checkout-and-beyond/constants';\n\nexport const CheckoutExtension = z.looseObject({\n type: z.literal(WidgetType.shopify_checkout_extension).default(WidgetType.shopify_checkout_extension),\n});\n\nexport type CheckoutExtension = z.infer<typeof CheckoutExtension>;\n", "import { z } from 'zod/v4';\n\nimport { spacings, textSizeNames } from './checkout-and-beyond/common';\nimport { WidgetType } from './checkout-and-beyond/constants';\nimport { CABRootSection } from './checkout-and-beyond/root';\n\nexport const ContentBlockV1 = z.object({\n blockSpacing: z.enum(spacings).optional(),\n imageBlocks: z\n .union([\n z.array(\n z.object({\n altText: z.string().nullable(),\n description: z.string().nullable(),\n id: z.uuid(),\n imagePlacement: z.enum(['top', 'right', 'bottom', 'left']),\n imageSize: z.number(),\n imageUrl: z.url(),\n textAlignment: z.enum(['left', 'center', 'right']),\n textSize: z.enum(textSizeNames),\n })\n ),\n z.strictObject({}).transform(() => []),\n ])\n .optional(),\n imageLayout: z.enum(['row', 'column']).optional(),\n language: z.object({\n description: z.string(),\n superTitle: z.string(),\n title: z.string(),\n }),\n previewMode: z.boolean(),\n type: z.literal(WidgetType.ui_extension_content_block).default(WidgetType.ui_extension_content_block),\n version: z.literal(1),\n});\n\nexport const ContentBlock = z.discriminatedUnion('version', [\n ContentBlockV1,\n CABRootSection.extend({\n type: z.literal(WidgetType.ui_extension_content_block).default(WidgetType.ui_extension_content_block),\n }),\n]);\n\nexport type ContentBlock = z.infer<typeof ContentBlock>;\n", "import { z } from 'zod/v4';\n\nimport { EditorMode, editorModes } from './common';\nimport { targetAreas, WidgetType, widgetTypes } from './constants';\nimport { CABLayoutSection } from './layout';\n\nconst TargetArea = z\n .object({\n fill: z.boolean().optional(),\n flip: z.enum(['both', 'horizontal', 'vertical']).optional(),\n icon: z.string(),\n label: z.string(),\n width: z.string(),\n })\n .default(targetAreas[EditorMode.checkoutExtension][1]);\n\nexport type TargetArea = {\n fill?: boolean;\n flip?: 'horizontal' | 'vertical' | 'both';\n icon: string;\n label: string;\n width: string;\n};\n\nexport const CABTracking = z\n .object({\n enableAttribution: z.boolean().default(true),\n enableSource: z.boolean().default(true),\n enableWidget: z.boolean().default(true),\n })\n .default({ enableAttribution: true, enableSource: true, enableWidget: true });\n\nexport type CABTracking = z.infer<typeof CABTracking>;\n\nexport const CABRootSection = CABLayoutSection.extend({\n editorMode: z.enum(editorModes).default(EditorMode.checkoutExtension),\n previewMode: z.boolean().default(false),\n storeId: z.number().nullable().default(null),\n targetArea: TargetArea.nullable(),\n tracking: CABTracking,\n type: z.enum(widgetTypes).default(WidgetType.ui_extension_content_block),\n version: z.literal(2).default(2),\n widgetId: z.number().nullable().default(null),\n});\n\nexport type CABRootSection = CABLayoutSection & {\n editorMode: EditorMode;\n previewMode: boolean;\n storeId: number | null;\n targetArea: TargetArea | null;\n tracking: CABTracking;\n type: WidgetType;\n version: number;\n widgetId: number | null;\n};\n", "import { v7 as uuidv7 } from 'uuid';\nimport { z } from 'zod/v4';\n\nimport {\n buttonFields,\n Direction,\n directions,\n HorizontalAlignment,\n horizontalAlignments,\n SectionType,\n Spacing,\n spacings,\n VerticalAlignment,\n verticalAlignments,\n type ButtonField,\n} from './common';\nimport { CABRule } from './rule';\nimport { CABBorder, CABSection, type SectionDetails } from './shared';\n\nexport const GridItem = z.union([z.literal('auto'), z.literal('fill'), z.string().regex(/^\\d+%$/), z.number()]);\nexport type GridItem = z.infer<typeof GridItem>;\n\nexport const CABLayoutSection = z.object({\n alignment: z\n .object({\n horizontal: z.enum(horizontalAlignments).default(HorizontalAlignment.start),\n vertical: z.enum(verticalAlignments).default(VerticalAlignment.top),\n })\n .default({\n horizontal: HorizontalAlignment.start,\n vertical: VerticalAlignment.top,\n }),\n border: z.lazy(() => CABBorder),\n buttonField: z.enum(buttonFields).optional(),\n direction: z.enum(directions).default(Direction.rows),\n grid: z\n .object({\n columns: z.union([z.array(GridItem), z.undefined()]).default(() => ['auto']),\n rows: z.union([z.array(GridItem), z.undefined()]).default(() => ['auto']),\n })\n .default({ columns: ['auto'], rows: ['auto'] })\n .optional(),\n name: z.string().optional(),\n padding: z.enum(spacings).default(Spacing.none),\n rule: CABRule.optional(),\n sectionId: z.uuid().default(() => uuidv7()),\n sections: z.union([z.array(z.lazy(() => CABSection)), z.strictObject({}).transform(() => [])]).default(() => []),\n sectionType: z.literal(SectionType.layout).default(SectionType.layout),\n spacing: z.enum(spacings).default(Spacing.base),\n /** Fire-and-forget impression pixel POSTed once when the section is shown (e.g. a Monetize offer view). */\n viewUrl: z.string().optional(),\n width: z.number().default(100),\n});\n\nexport type CABLayoutSection = {\n alignment: {\n horizontal: HorizontalAlignment;\n vertical: VerticalAlignment;\n };\n border: CABBorder;\n buttonField?: ButtonField;\n direction: Direction;\n grid?: {\n columns: GridItem[];\n rows: GridItem[];\n };\n name?: string;\n padding: Spacing;\n rule?: CABRule;\n sectionId: string;\n sections: CABSection[];\n sectionType: 'layout';\n spacing: Spacing;\n viewUrl?: string;\n width: number;\n};\n\nexport type CABLayoutSectionProps = CABLayoutSection & SectionDetails;\n", "import { z } from 'zod/v4';\n\nexport const ruleTypes = [\n 'cart',\n 'cart_count',\n 'cart_item_count',\n 'cart_line_count',\n 'cart_subtotal',\n 'collection',\n 'customer',\n 'customer_order_count',\n 'customer_tag',\n 'customer_total_spent',\n 'date',\n 'product',\n 'product_tag',\n 'product_title',\n 'product_type',\n 'product_vendor',\n] as const;\n\nconst ruleType = z.enum(ruleTypes);\n\nexport const RuleType = ruleType.enum;\nexport type RuleType = z.infer<typeof ruleType>;\n\nexport const ruleOperators = [\n 'after',\n 'anything',\n 'before',\n 'contains',\n 'contains_any',\n 'does_not_contain',\n 'does_not_contain_any',\n 'equals',\n 'does_not_equal',\n 'greater_than',\n 'less_than',\n] as const;\n\nconst ruleOperator = z.enum(ruleOperators);\n\nexport const RuleOperator = ruleOperator.enum;\nexport type RuleOperator = z.infer<typeof ruleOperator>;\n\nexport const RuleCondition = z.object({\n operator: z.enum(ruleOperators).default(RuleOperator.anything),\n products: z.union([z.array(z.unknown()), z.strictObject({}).transform(() => [])]).default(() => []),\n type: z.enum(ruleTypes).default(RuleType.cart_subtotal),\n value: z.coerce.string().default(''),\n});\n\nexport type RuleCondition = z.infer<typeof RuleCondition>;\n\nexport const RuleLogicBlock = z.object({\n rules: z.array(RuleCondition).default(() => []),\n});\n\nexport type RuleLogicBlock = z.infer<typeof RuleLogicBlock>;\n\nexport const CABRule = z.object({\n dataSourceId: z.number().nullable().default(null),\n enabled: z.boolean().default(false),\n ruleset: z\n .union([\n z.array(\n z.object({\n exitIfMatched: z.boolean().default(true),\n logic: z.array(RuleLogicBlock).default(() => []),\n output: z\n .array(\n z.object({\n key: z.string().default('should_show'),\n type: z.literal('data_json').default('data_json'),\n value: z.string().default('true'),\n })\n )\n .default(() => [{ key: 'should_show', type: 'data_json' as const, value: 'true' }]),\n })\n ),\n z.strictObject({}).transform(() => []),\n ])\n .default(() => []),\n});\n\nexport type CABRule = z.infer<typeof CABRule>;\n", "import { type FieldArrayPath } from 'react-hook-form';\nimport { z, type ZodType } from 'zod/v4';\n\nimport { CABBannerSection } from './banner';\nimport { CABButtonSection } from './button';\nimport { CABCarouselSection } from './carousel';\nimport { CABCartLineSection } from './cartLine';\nimport { borderRadii, BorderRadius, BorderStyle, borderStyles, BorderWidth, borderWidths } from './common';\nimport { CABDataSourceSection } from './dataSource';\nimport { CABImageSection } from './image';\nimport { CABLayoutSection } from './layout';\nimport { CABMonetizeSection } from './monetize';\nimport { CABOffersSection } from './offers';\nimport { CABProductSection } from './product';\nimport { CABProductsSection } from './products';\nimport { CABProgressBarSection } from './progressBar';\nimport { CABQuantitySection } from './quantity';\nimport { CABReviewsSection } from './reviews';\nimport { type CABRootSection } from './root';\nimport { CABTextSection } from './text';\nimport { CABVariantsSection } from './variants';\n\nexport const CABBorder = z\n .object({\n radius: z.enum(borderRadii).default(BorderRadius.base),\n style: z.enum(borderStyles).default(BorderStyle.none),\n width: z.enum(borderWidths).default(BorderWidth.base),\n })\n .default({\n radius: BorderRadius.base,\n style: BorderStyle.none,\n width: BorderWidth.base,\n });\n\nexport type CABBorder = z.infer<typeof CABBorder>;\n\nexport const CABSection: ZodType<CABSection> = z.lazy(() =>\n z.discriminatedUnion('sectionType', [\n CABBannerSection,\n CABButtonSection,\n CABCarouselSection,\n CABCartLineSection,\n CABDataSourceSection,\n CABImageSection,\n CABLayoutSection,\n CABMonetizeSection,\n CABOffersSection,\n CABProductSection,\n CABProductsSection,\n CABProgressBarSection,\n CABQuantitySection,\n CABReviewsSection,\n CABTextSection,\n CABVariantsSection,\n ])\n);\n\nexport type CABSection =\n | CABBannerSection\n | CABButtonSection\n | CABCarouselSection\n | CABCartLineSection\n | CABDataSourceSection\n | CABImageSection\n | CABLayoutSection\n | CABMonetizeSection\n | CABOffersSection\n | CABProductSection\n | CABProductsSection\n | CABProgressBarSection\n | CABQuantitySection\n | CABReviewsSection\n | CABTextSection\n | CABVariantsSection;\n\nexport type SectionId = CABSection['sectionId'];\n\n/* @ts-expect-error: TS2589: Type instantiation _is_ excessively deep and infinite. */\nexport type SectionArrayPath = FieldArrayPath<CABRootSection>;\n\nexport type SectionPrefixPath = `${SectionArrayPath}.${number}` | null;\n\nexport type SectionDetails = {\n /**\n * The full React Hook Form dot-notation path to the section object itself,\n * for use with `register` or `control`, e.g. `sections.0.sections.1`.\n *\n * Returns `null` for the root section.\n */\n fieldArrayPath: SectionArrayPath | null;\n /**\n * The index of the found section within its parent `sections` array.\n *\n * Returns `null` for the root section.\n */\n index: number | null;\n /**\n * The parent `sections` object.\n *\n * Returns `null` for the root section.\n */\n parent: CABSection[] | null;\n /**\n * The parent `sectionId`.\n *\n * Returns `undefined` for the root section.\n */\n parentId: SectionId | undefined;\n /**\n * The full React Hook Form dot-notation path to the section object itself,\n * for use with `register` or `control`, e.g. `sections.0.sections.1`.\n *\n * Returns `null` for the root section.\n */\n prefixPath: SectionPrefixPath | null;\n};\n\nexport type CABSectionProps = CABSection & SectionDetails;\n", "import { z } from 'zod/v4';\n\nimport { bannerColors, buttonFields, SectionType, type BannerColor } from './common';\nimport { CABLayoutSection } from './layout';\nimport { type SectionDetails } from './shared';\n\nexport const CABBannerSection = z.lazy(() =>\n CABLayoutSection.omit({ sectionType: true }).extend({\n buttonField: z.enum(buttonFields).optional(),\n color: z.enum(bannerColors).default('info'),\n dismissible: z.boolean().default(true),\n sectionType: z.literal(SectionType.banner).default(SectionType.banner),\n })\n);\n\nexport type CABBannerSection = Omit<CABLayoutSection, 'sectionType'> & {\n color: BannerColor;\n dismissible: boolean;\n sectionType: 'banner';\n};\n\nexport type CABBannerSectionProps = CABBannerSection & SectionDetails;\n", "import { v7 as uuidv7 } from 'uuid';\nimport { z, type ZodType } from 'zod/v4';\n\nimport {\n buttonActions,\n ButtonStyle,\n buttonStyles,\n PopoverPosition,\n popoverPositions,\n SectionType,\n TextAlignment,\n textAlignments,\n} from './common';\nimport { CABImageSection } from './image';\nimport { CABLayoutSection } from './layout';\nimport { HEX_COLOR_REGEX } from './regex';\nimport { CABRule } from './rule';\nimport { type SectionDetails } from './shared';\nimport { CABTextSection } from './text';\n\nexport type CABButtonContent = CABImageSection | CABLayoutSection | CABTextSection;\n\nexport const CABButtonContent: ZodType<CABButtonContent> = z.lazy(() =>\n z.discriminatedUnion('sectionType', [CABImageSection, CABLayoutSection, CABTextSection])\n);\n\nexport const CABButtonSection = z.object({\n action: z.union([z.literal(''), z.enum(buttonActions)]).default(''),\n buttonStyle: z.enum(buttonStyles).default(ButtonStyle.primary),\n custom: z\n .object({\n color: z.string().regex(HEX_COLOR_REGEX).default('#005bd3'),\n height: z.number().default(52),\n width: z.number().default(300),\n })\n .default({\n color: '#005bd3',\n height: 52,\n width: 300,\n }),\n disableDowngrade: z.boolean().default(false),\n name: z.string().optional(),\n optionId: z.number().optional(),\n popover: z\n .object({\n alignment: z.enum(textAlignments).default(TextAlignment.center),\n position: z.enum(popoverPositions).default(PopoverPosition.blockStart),\n })\n .optional()\n .default(() => ({\n alignment: TextAlignment.center,\n position: PopoverPosition.blockStart,\n })),\n rule: CABRule.optional(),\n sectionId: z.uuid().default(() => uuidv7()),\n sections: z.union([z.array(CABButtonContent), z.strictObject({}).transform(() => [])]).default(() => []),\n sectionType: z.literal(SectionType.button).default(SectionType.button),\n /** Fire-and-forget pixel POSTed when the button is clicked (e.g. a Monetize decline). */\n trackingUrl: z.string().optional(),\n});\n\nexport type CABButtonSection = z.infer<typeof CABButtonSection>;\n\nexport type CABButtonSectionProps = CABButtonSection & SectionDetails;\n", "import { v7 as uuidv7 } from 'uuid';\nimport { z } from 'zod/v4';\n\nimport { buttonFields, ObjectFit, objectFits, SectionType } from './common';\nimport { DYNAMIC_TOKEN_REGEX } from './regex';\nimport { CABRule } from './rule';\nimport { CABBorder, type SectionDetails } from './shared';\nimport { checkForHTML, NO_HTML } from './utils';\n\nexport const CABImageSection = z.object({\n altText: z.string().refine(checkForHTML, NO_HTML).default(''),\n aspectRatio: z.literal(1).nullable().default(null),\n border: z.lazy(() => CABBorder),\n buttonField: z.enum(buttonFields).optional(),\n category: z.enum(['gallery', 'icons', 'payment-methods', 'secure-checkout']).nullable().default(null),\n name: z.string().optional(),\n naturalHeight: z.number().default(0),\n naturalWidth: z.number().default(0),\n /**\n * `contain` (the component default): dimensionless images render in s-image's 1/1 default frame, and\n * `cover` would crop non-square art (payment badges lost their edges \u2014 15993); `contain` letterboxes.\n */\n objectFit: z.enum(objectFits).default(ObjectFit.contain),\n rule: CABRule.optional(),\n sectionId: z.uuid().default(() => uuidv7()),\n sectionType: z.literal(SectionType.image).default(SectionType.image),\n source: z.union([z.url(), z.literal(''), z.string().regex(DYNAMIC_TOKEN_REGEX)]).default(''),\n width: z.number().default(100),\n});\n\nexport type CABImageSection = z.infer<typeof CABImageSection>;\n\nexport type CABImageSectionProps = CABImageSection & SectionDetails;\n", "/** Matches a valid array index string (e.g., \"0\", \"1\", \"42\"). */\nexport const ARRAY_INDEX_STRING = /^(0|[1-9]\\d*)$/;\n\n/** Matches a dynamic token. */\nexport const DYNAMIC_TOKEN_REGEX = /^\\{\\{\\s*[A-Za-z]+\\s*\\}\\}$/;\n\n/** Matches a valid hex color code. */\nexport const HEX_COLOR_REGEX = /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/;\n\n/** Matches any HTML tags. */\nexport const HTML_TAGS_REGEX = /<\\/?[^>]+>/g;\n", "import { isPlainObject, mapValues } from 'es-toolkit';\nimport { every, get, isArray, isString, map, size, toPairs } from 'es-toolkit/compat';\n\nimport { type CABBannerSection } from './banner';\nimport { type CABButtonSection } from './button';\nimport { type CABCarouselSection } from './carousel';\nimport { type CABCartLineSection } from './cartLine';\nimport { ButtonField, SectionType } from './common';\nimport { type CABDataSourceSection } from './dataSource';\nimport { type CABImageSection } from './image';\nimport { type CABLayoutSection } from './layout';\nimport { type CABMonetizeSection } from './monetize';\nimport { type CABOffersSection } from './offers';\nimport { type CABProductSection } from './product';\nimport { type CABProductsSection } from './products';\nimport { type CABProgressBarSection } from './progressBar';\nimport { type CABQuantitySection } from './quantity';\nimport { ARRAY_INDEX_STRING, HTML_TAGS_REGEX } from './regex';\nimport { type CABReviewsSection } from './reviews';\nimport { type CABTextSection, type TiptapDocument } from './text';\nimport { type CABVariantsSection } from './variants';\n\nexport const isHTML = (html: string | undefined = ''): boolean => {\n if (typeof window !== 'undefined') {\n const parser = new DOMParser();\n const doc = parser.parseFromString(html, 'text/html');\n\n const hasHTML = (nodeList: NodeList) => Array.from(nodeList).some((node) => node.nodeType === 1);\n\n return hasHTML(doc.body.childNodes) || hasHTML(doc.head.childNodes);\n }\n\n return HTML_TAGS_REGEX.test(html);\n};\n\nexport const hasHTMLInDoc = (doc: TiptapDocument): boolean =>\n doc.content.some(({ content = [] }) => content.some(({ text }) => isHTML(text)));\n\nexport const checkForHTML = (input: string | TiptapDocument): boolean =>\n !((isString(input) && isHTML(input)) || (isPlainObject(input) && hasHTMLInDoc(input as TiptapDocument)));\n\nexport const NO_HTML = { message: 'HTML is not supported' };\n\nexport const isBannerType = (section: unknown): section is CABBannerSection =>\n get(section, 'sectionType') === SectionType.banner;\n\nexport const isButtonType = (section: unknown): section is CABButtonSection =>\n get(section, 'sectionType') === SectionType.button;\n\nexport const isCarouselType = (section: unknown): section is CABCarouselSection =>\n get(section, 'sectionType') === SectionType.carousel;\n\nexport const isCartLineType = (section: unknown): section is CABCartLineSection =>\n get(section, 'sectionType') === SectionType.cartLine;\n\nexport const isDataSourceType = (section: unknown): section is CABDataSourceSection =>\n get(section, 'sectionType') === SectionType.dataSource;\n\nexport const isImageType = (section: unknown): section is CABImageSection =>\n get(section, 'sectionType') === SectionType.image;\n\nexport const isLayoutType = (section: unknown): section is CABLayoutSection =>\n get(section, 'sectionType') === SectionType.layout;\n\nexport const isMonetizeType = (section: unknown): section is CABMonetizeSection =>\n get(section, 'sectionType') === SectionType.monetize;\n\nexport const isOffersType = (section: unknown): section is CABOffersSection =>\n get(section, 'sectionType') === SectionType.offers;\n\nexport const isOverlayType = (section: unknown): section is CABLayoutSection =>\n isLayoutType(section) && get(section, 'buttonField') === ButtonField.overlayContent;\n\nexport const isProductType = (section: unknown): section is CABProductSection =>\n get(section, 'sectionType') === SectionType.product;\n\nexport const isProductsType = (section: unknown): section is CABProductsSection =>\n get(section, 'sectionType') === SectionType.products;\n\nexport const isProgressBarType = (section: unknown): section is CABProgressBarSection =>\n get(section, 'sectionType') === SectionType.progressBar;\n\nexport const isQuantityType = (section: unknown): section is CABQuantitySection =>\n get(section, 'sectionType') === SectionType.quantity;\n\nexport const isReviewsType = (section: unknown): section is CABReviewsSection =>\n get(section, 'sectionType') === SectionType.reviews;\n\nexport const isTextType = (section: unknown): section is CABTextSection =>\n get(section, 'sectionType') === SectionType.text;\n\nexport const isVariantsType = (section: unknown): section is CABVariantsSection =>\n get(section, 'sectionType') === SectionType.variants;\n\nconst hasOnlyNumericKeys = (input: Record<string, unknown>) =>\n !!size(input) && every(input, (_, key) => ARRAY_INDEX_STRING.test(key) && Number.isSafeInteger(Number(key)));\n\nconst numericObjectToArray = (input: Record<string, unknown>) =>\n toPairs(input)\n .sort(([a], [b]) => Number(a) - Number(b))\n .map(([_, value]) => value);\n\nexport const convertNumericObjects = (input: unknown): unknown => {\n if (isArray(input)) return map(input, convertNumericObjects);\n\n if (isPlainObject(input)) {\n const obj = input as Record<string, unknown>;\n\n return hasOnlyNumericKeys(obj)\n ? map(numericObjectToArray(obj), convertNumericObjects)\n : mapValues(obj, convertNumericObjects);\n }\n\n return input;\n};\n", "import { forEach, isString } from 'es-toolkit/compat';\nimport { v7 as uuidv7 } from 'uuid';\nimport { z } from 'zod/v4';\n\nimport {\n ButtonField,\n buttonFields,\n progressTierTypes,\n ProgressTierType,\n SectionType,\n Spacing,\n spacings,\n TextAlignment,\n textAlignments,\n TextColorName,\n textColorNames,\n TextSizeName,\n textSizeNames,\n} from './common';\nimport { DYNAMIC_TOKEN_REGEX } from './regex';\nimport { CABRule } from './rule';\nimport { type SectionDetails } from './shared';\nimport { checkForHTML, NO_HTML } from './utils';\n\nconst enumOrOmit = <T extends readonly [string, ...string[]]>(...vals: T) =>\n z\n .string()\n .transform((val) => (vals.includes(val as T[number]) ? (val as T[number]) : undefined))\n .optional();\n\nexport const TiptapText = z.object({\n marks: z\n .union([\n z.array(\n z.discriminatedUnion('type', [\n z.object({ type: z.literal('bold') }),\n z.object({ type: z.literal('italic') }),\n z.object({\n attrs: z.object({\n class: z.string().nullable(),\n href: z.union([z.url(), z.literal('#'), z.string().regex(DYNAMIC_TOKEN_REGEX)]),\n rel: z.string().default('noopener noreferrer nofollow'),\n target: z.string().default('_blank'),\n }),\n type: z.literal('link'),\n }),\n z.object({ type: z.literal('strike') }),\n z.object({\n attrs: z.object({\n color: enumOrOmit(...textColorNames).default(TextColorName.base),\n fontSize: enumOrOmit(...textSizeNames).default(TextSizeName.base),\n }),\n type: z.literal('textStyle'),\n }),\n ])\n ),\n z.strictObject({}).transform(() => []),\n ])\n .optional(),\n text: z.string().default(''),\n type: z.literal('text').default('text'),\n});\n\nexport type TiptapText = z.infer<typeof TiptapText>;\n\nexport const TiptapParagraph = z.object({\n attrs: z\n .object({\n textAlign: enumOrOmit(...textAlignments),\n })\n .default({ textAlign: TextAlignment.start }),\n content: z.union([z.array(TiptapText), z.strictObject({}).transform(() => [])]).default(() => []),\n type: z.literal('paragraph').default('paragraph'),\n});\n\nexport type TiptapParagraph = z.infer<typeof TiptapParagraph>;\n\nexport const TiptapDocument = z.object({\n attrs: z\n .object({\n blockSpacing: enumOrOmit(...spacings),\n })\n .default({ blockSpacing: Spacing.base }),\n content: z\n .union([z.array(TiptapParagraph), z.strictObject({}).transform(() => [])])\n .default(() => [TiptapParagraph.parse({})]),\n type: z.literal('doc').default('doc'),\n});\n\nexport type TiptapDocument = z.infer<typeof TiptapDocument>;\n\nexport const CABProgressTier = z.object({\n threshold: z.number().int().nonnegative(),\n thresholds: z.record(z.string(), z.number().int().nonnegative()).default(() => ({})),\n tierType: z.enum(progressTierTypes).default(ProgressTierType.shipping),\n});\n\nexport type CABProgressTier = z.infer<typeof CABProgressTier>;\n\nexport const CABTextSection = z\n .object({\n buttonField: z.enum(buttonFields).optional(),\n content: z\n .record(z.string(), z.union([z.string(), TiptapDocument]).refine(checkForHTML, NO_HTML).optional())\n .default({ en: TiptapDocument.parse({}) })\n .optional(),\n name: z.string().optional(),\n optionId: z.number().optional(),\n rule: CABRule.optional(),\n sectionId: z.uuid().default(() => uuidv7()),\n sectionType: z.literal(SectionType.text).default(SectionType.text),\n tier: CABProgressTier.optional(),\n })\n .superRefine(({ buttonField, content }, ctx) => {\n if (buttonField === ButtonField.destinationUrl && content) {\n forEach(content, (value, lang) => {\n if (value && isString(value)) {\n if (DYNAMIC_TOKEN_REGEX.test(value)) return;\n\n try {\n new URL(value);\n } catch {\n ctx.addIssue({\n code: 'custom',\n message: 'Invalid URL',\n path: ['content', lang],\n });\n }\n }\n });\n }\n });\n\nexport type CABTextSection = z.infer<typeof CABTextSection>;\n\nexport type CABTextSectionProps = CABTextSection & SectionDetails;\n", "import { z } from 'zod/v4';\n\nimport { SectionType } from './common';\nimport { CABLayoutSection } from './layout';\nimport { CABOffersSection } from './offers';\nimport { CABSection, type SectionDetails } from './shared';\n\nexport const CABCarouselSection = z.lazy(() =>\n CABLayoutSection.omit({ sections: true, sectionType: true }).extend({\n autoAdvanceInterval: z.number().default(0),\n itemsAtOnce: z.number().min(1).default(1),\n sections: z\n .union([z.array(z.lazy(() => CABSection)), z.strictObject({}).transform(() => [])])\n .default(() => [CABOffersSection.parse({})]),\n sectionType: z.literal(SectionType.carousel).default(SectionType.carousel),\n })\n);\n\nexport type CABCarouselSection = Omit<CABLayoutSection, 'sectionType'> & {\n autoAdvanceInterval: number;\n itemsAtOnce: number;\n sectionType: 'carousel';\n};\n\nexport type CABCarouselSectionProps = CABCarouselSection & SectionDetails;\n", "import { z } from 'zod/v4';\n\nimport { CABBannerSection } from './banner';\nimport { CABButtonSection } from './button';\nimport { ButtonStyle, SectionType } from './common';\nimport { CABDataSourceSection } from './dataSource';\nimport { CABLayoutSection } from './layout';\nimport { CABProductsSection } from './products';\nimport { CABSection, type SectionDetails } from './shared';\nimport { CABTextSection } from './text';\n\nexport const CABOffersSection = z.lazy(() =>\n CABLayoutSection.omit({ sections: true, sectionType: true }).extend({\n sections: z.union([z.array(z.lazy(() => CABSection)), z.strictObject({}).transform(() => [])]).default(() => [\n CABBannerSection.parse({\n buttonField: 'undoAddToOrder',\n color: 'success',\n dismissible: true,\n name: 'Success Banner',\n sections: [\n CABTextSection.parse({ content: { en: '{{quantity}} {{productTitle}} added to cart.' } }),\n CABButtonSection.parse({ action: 'undoAddToOrder', buttonStyle: ButtonStyle.plain }),\n ],\n }),\n CABDataSourceSection.parse({}),\n CABProductsSection.parse({}),\n ]),\n sectionType: z.literal(SectionType.offers).default(SectionType.offers),\n })\n);\n\nexport type CABOffersSection = Omit<CABLayoutSection, 'sectionType'> & {\n sectionType: 'offers';\n};\n\nexport type CABOffersSectionProps = CABOffersSection & SectionDetails;\n", "import { v7 as uuidv7 } from 'uuid';\nimport { z } from 'zod/v4';\n\nimport { discountSources, discountTypes, productTypes, SectionType } from './common';\nimport { DEFAULT_ENDPOINTS } from './constants';\nimport { type SectionDetails } from './shared';\n\nexport const CABDiscount = z.object({\n amount: z.union([z.number(), z.string()]).catch(0),\n discountedBy: z.string().optional(),\n discountedFrom: z.enum(discountSources).optional().catch(undefined),\n type: z.enum(discountTypes).catch('none'),\n});\n\nexport type CABDiscount = z.infer<typeof CABDiscount>;\n\nexport const CABIntegrations = z.object({\n judgeme: z.boolean().default(false),\n junip: z.boolean().default(false),\n klaviyo: z.boolean().default(false),\n loox: z.boolean().default(false),\n okendo: z.boolean().default(false),\n opinew: z.boolean().default(false),\n reviewsio: z.boolean().default(false),\n stamped: z.boolean().default(false),\n yotpo: z.boolean().default(false),\n});\n\nexport type CABIntegrations = z.infer<typeof CABIntegrations>;\n\nexport const CABDataSourceSection = z.object({\n dataSourceId: z.number().nullable().default(null),\n dataSourcePath: z.string().default(DEFAULT_ENDPOINTS[0].value),\n discount: CABDiscount.optional(),\n integrations: CABIntegrations.optional(),\n limit: z.number().default(1),\n matchVariant: z.boolean().default(false),\n matchVariantOutOfStock: z.boolean().default(false),\n name: z.string().default(DEFAULT_ENDPOINTS[0].label),\n productType: z.enum(productTypes).optional(),\n sectionId: z.uuid().default(() => uuidv7()),\n sectionType: z.literal(SectionType.dataSource).default(SectionType.dataSource),\n treatAsGwp: z.boolean().default(false),\n});\n\nexport type CABDataSourceSection = z.infer<typeof CABDataSourceSection>;\n\nexport type CABDataSourceSectionProps = CABDataSourceSection & SectionDetails;\n", "import { v7 as uuidv7 } from 'uuid';\nimport { z } from 'zod/v4';\n\nimport { SectionType } from './common';\nimport { CABProductSection } from './product';\nimport { type SectionDetails } from './shared';\n\nexport const CABProductsSection = z.object({\n name: z.string().optional(),\n sectionId: z.uuid().default(() => uuidv7()),\n sections: z\n .union([z.array(z.lazy(() => CABProductSection)), z.strictObject({}).transform(() => [])])\n .default(() => []),\n sectionType: z.literal(SectionType.products).default(SectionType.products),\n});\n\nexport type CABProductsSection = z.infer<typeof CABProductsSection>;\n\nexport type CABProductsSectionProps = CABProductsSection & SectionDetails;\n", "import { v7 as uuidv7 } from 'uuid';\nimport { z, type ZodType } from 'zod/v4';\n\nimport { CABButtonSection } from './button';\nimport { SectionType, VariantMode, variantModes, VariantSelector, variantSelectors } from './common';\nimport { type SectionDetails } from './shared';\nimport { CABTextSection } from './text';\n\nexport type CABVariantContent = CABButtonSection | CABTextSection;\n\nexport const CABVariantContent: ZodType<CABVariantContent> = z.lazy(() =>\n z.discriminatedUnion('sectionType', [CABButtonSection, CABTextSection])\n);\n\nexport const CABProductSection = z.object({\n name: z.string().optional(),\n productId: z.number().nullable().default(null),\n sectionId: z.uuid().default(() => uuidv7()),\n sections: z.union([z.array(CABVariantContent), z.strictObject({}).transform(() => [])]).default(() => []),\n sectionType: z.literal(SectionType.product).default(SectionType.product),\n selectors: z.record(z.string(), z.enum(variantSelectors).default(VariantSelector.menu)).default(() => ({})),\n variantMode: z.enum(variantModes).default(VariantMode.multiple),\n});\n\nexport type CABProductSection = z.infer<typeof CABProductSection>;\n\nexport type CABProductSectionProps = CABProductSection & SectionDetails;\n", "import { z } from 'zod/v4';\n\nimport { CABButtonSection } from './button';\nimport { ButtonAction, SectionType } from './common';\nimport { CABLayoutSection } from './layout';\nimport { CABSection, type SectionDetails } from './shared';\n\nexport const CABCartLineSection = z.lazy(() =>\n CABLayoutSection.omit({ sections: true, sectionType: true }).extend({\n sections: z\n .union([z.array(z.lazy(() => CABSection)), z.strictObject({}).transform(() => [])])\n .default(() => [CABButtonSection.parse({ action: ButtonAction.switchToSubscription })]),\n sectionType: z.literal(SectionType.cartLine).default(SectionType.cartLine),\n })\n);\n\nexport type CABCartLineSection = Omit<CABLayoutSection, 'sectionType'> & {\n sectionType: 'cartLine';\n};\n\nexport type CABCartLineSectionProps = CABCartLineSection & SectionDetails;\n", "import { v7 as uuidv7 } from 'uuid';\nimport { z } from 'zod/v4';\n\nimport { SectionType } from './common';\nimport { CABRule } from './rule';\nimport { type SectionDetails } from './shared';\n\nexport const CABMonetizeSection = z.object({\n name: z.string().optional(),\n rule: CABRule.optional(),\n sectionId: z.uuid().default(() => uuidv7()),\n sectionType: z.literal(SectionType.monetize).default(SectionType.monetize),\n});\n\nexport type CABMonetizeSection = z.infer<typeof CABMonetizeSection>;\n\nexport type CABMonetizeSectionProps = CABMonetizeSection & SectionDetails;\n", "import { v7 as uuidv7 } from 'uuid';\nimport { z } from 'zod/v4';\n\nimport { SectionType } from './common';\nimport { CABRule } from './rule';\nimport { type SectionDetails } from './shared';\nimport { CABTextSection } from './text';\n\nexport const CABProgressBarSection = z.object({\n /** Empty = shown everywhere; otherwise uppercase ISO country codes. */\n countryCodes: z.array(z.string()).default(() => []),\n name: z.string().optional(),\n rule: CABRule.optional(),\n sectionId: z.uuid().default(() => uuidv7()),\n sections: z.union([z.array(CABTextSection), z.strictObject({}).transform(() => [])]).default(() => []),\n sectionType: z.literal(SectionType.progressBar).default(SectionType.progressBar),\n});\n\nexport type CABProgressBarSection = z.infer<typeof CABProgressBarSection>;\n\nexport type CABProgressBarSectionProps = CABProgressBarSection & SectionDetails;\n", "import { v7 as uuidv7 } from 'uuid';\nimport { z } from 'zod/v4';\n\nimport { QuantityInput, quantityInputs, SectionType } from './common';\nimport { CABRule } from './rule';\nimport { type SectionDetails } from './shared';\n\nexport const CABQuantitySection = z.object({\n errorMessages: z\n .record(\n z.string(),\n z.object({\n max: z.string().optional(),\n min: z.string().optional(),\n neg: z.string().optional(),\n })\n )\n .default({\n en: {\n max: 'Maximum quantity allowed is {{max}}',\n min: 'Minimum quantity required is {{min}}',\n neg: 'Quantity cannot be negative',\n },\n }),\n inputType: z.enum(quantityInputs).default(QuantityInput.select),\n max: z.number().min(1).max(100).default(10),\n min: z.number().min(1).default(1),\n name: z.string().optional(),\n rule: CABRule.optional(),\n sectionId: z.uuid().default(() => uuidv7()),\n sectionType: z.literal(SectionType.quantity).default(SectionType.quantity),\n});\n\nexport type CABQuantitySection = z.infer<typeof CABQuantitySection>;\n\nexport type CABQuantitySectionProps = CABQuantitySection & SectionDetails;\n", "import { v7 as uuidv7 } from 'uuid';\nimport { z } from 'zod/v4';\n\nimport { ReviewsSize, reviewsSizes, SectionType } from './common';\nimport { CABRule } from './rule';\nimport { type SectionDetails } from './shared';\n\nexport const CABReviewsSection = z.object({\n color: z.string().default('#fadb14'),\n name: z.string().optional(),\n rule: CABRule.optional(),\n sectionId: z.uuid().default(() => uuidv7()),\n sectionType: z.literal(SectionType.reviews).default(SectionType.reviews),\n size: z.enum(reviewsSizes).default(ReviewsSize.default),\n});\n\nexport type CABReviewsSection = z.infer<typeof CABReviewsSection>;\n\nexport type CABReviewsSectionProps = CABReviewsSection & SectionDetails;\n", "import { slice } from 'es-toolkit/compat';\nimport { v7 as uuidv7 } from 'uuid';\nimport { z } from 'zod/v4';\n\nimport { SectionType, VariantMode, variantModes, VariantSelector, variantSelectors } from './common';\nimport { CABRule } from './rule';\nimport { type SectionDetails } from './shared';\n\nexport const CABVariantsSection = z.object({\n hideOutOfStockVariants: z.boolean().default(false),\n name: z.string().optional(),\n rule: CABRule.optional(),\n sectionId: z.uuid().default(() => uuidv7()),\n sectionType: z.literal(SectionType.variants).default(SectionType.variants),\n selector: z.enum(slice(variantSelectors, 0, 3)).default(VariantSelector.menu),\n variantMode: z.enum(variantModes).default(VariantMode.multiple),\n});\n\nexport type CABVariantsSection = z.infer<typeof CABVariantsSection>;\n\nexport type CABVariantsSectionProps = CABVariantsSection & SectionDetails;\n", "import { z } from 'zod/v4';\n\nimport { WidgetType } from './checkout-and-beyond/constants';\n\nexport const GiftWithPurchase = z.looseObject({\n type: z.literal(WidgetType.gift_with_purchase).default(WidgetType.gift_with_purchase),\n});\n\nexport type GiftWithPurchase = z.infer<typeof GiftWithPurchase>;\n", "import { z } from 'zod/v4';\n\nimport { WidgetType } from './checkout-and-beyond/constants';\nimport { CABRootSection } from './checkout-and-beyond/root';\n\n/** v1 English label overrides (React `switchToSubscription.language`); each falls back to a shared `SWITCH_LABELS` default. */\nexport const LineItemEditorSwitchLanguageV1 = z.object({\n downgradeToOneTimeLabel: z.string().optional(),\n /** Frequency-option template (`{{frequency}}`/`{{interval}}`) for the plan select. */\n subscriptionOptionLabel: z.string().optional(),\n upgradeToSubscriptionLabel: z.string().optional(),\n upgradeToSubscriptionWithoutDiscountLabel: z.string().optional(),\n});\n\nexport const LineItemEditorV1 = z.object({\n /** Legacy `getStyles` button style; the converter carries a valid kind, defaulting to `plain`. */\n button: z.object({ kind: z.enum(['plain', 'primary', 'secondary']).optional() }).optional(),\n previewMode: z.boolean().optional(),\n switchToSubscription: z\n .object({\n disableDowngrade: z.boolean().optional(),\n language: LineItemEditorSwitchLanguageV1.optional(),\n })\n .optional(),\n switchToSubscriptionEnabled: z.boolean().optional(),\n tracking: z\n .object({\n enableAttribution: z.boolean().optional(),\n enableSource: z.boolean().optional(),\n enableWidget: z.boolean().optional(),\n })\n .optional(),\n type: z.literal(WidgetType.ui_extension_line_item_editor).default(WidgetType.ui_extension_line_item_editor),\n version: z.literal(1),\n});\n\nexport const LineItemEditor = z.discriminatedUnion('version', [\n LineItemEditorV1,\n CABRootSection.extend({\n type: z.literal(WidgetType.ui_extension_line_item_editor).default(WidgetType.ui_extension_line_item_editor),\n }),\n]);\n\nexport type LineItemEditor = z.infer<typeof LineItemEditor>;\nexport type LineItemEditorSwitchLanguageV1 = z.infer<typeof LineItemEditorSwitchLanguageV1>;\nexport type LineItemEditorV1 = z.infer<typeof LineItemEditorV1>;\n", "import { z } from 'zod/v4';\n\nimport { WidgetType } from './checkout-and-beyond/constants';\n\nexport const ProgressBar = z.looseObject({\n type: z.literal(WidgetType.ui_extension_progress_bar).default(WidgetType.ui_extension_progress_bar),\n});\n\nexport type ProgressBar = z.infer<typeof ProgressBar>;\n", "import { z } from 'zod/v4';\n\nimport { WidgetType } from './checkout-and-beyond/constants';\nimport { CABRootSection } from './checkout-and-beyond/root';\n\nexport const RebuyButtonV1 = z.looseObject({\n type: z.literal(WidgetType.ui_extension_button).default(WidgetType.ui_extension_button),\n version: z.literal(1),\n});\n\nexport const RebuyButton = z.discriminatedUnion('version', [\n RebuyButtonV1,\n CABRootSection.extend({\n type: z.literal(WidgetType.ui_extension_button).default(WidgetType.ui_extension_button),\n }),\n]);\n\nexport type RebuyButton = z.infer<typeof RebuyButton>;\n", "import { z } from 'zod/v4';\n\nimport { WidgetType } from './checkout-and-beyond/constants';\n\nexport const RebuyMonetize = z.looseObject({\n type: z.literal(WidgetType.ui_extension_ad).default(WidgetType.ui_extension_ad),\n});\n\nexport type RebuyMonetize = z.infer<typeof RebuyMonetize>;\n"],
5
- "mappings": "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",
6
- "names": ["z", "z", "z", "z", "z", "uuidv7", "z", "z", "z", "z", "z", "uuidv7", "z", "z", "z", "isString", "uuidv7", "z", "z", "uuidv7", "isString", "z", "uuidv7", "z", "z", "uuidv7", "z", "z", "uuidv7", "uuidv7", "z", "uuidv7", "z", "z", "uuidv7", "z", "uuidv7", "z", "z", "z", "z", "uuidv7", "z", "z", "uuidv7", "uuidv7", "z", "z", "uuidv7", "uuidv7", "z", "z", "uuidv7", "uuidv7", "z", "z", "uuidv7", "uuidv7", "z", "z", "uuidv7", "z", "z", "uuidv7", "z", "z", "z", "z", "z", "z", "z", "z", "z", "z", "z", "z", "z"]
3
+ "sources": ["../../src/schema/widgetData.ts", "../../src/schema/widgets/abTestingPlaceholder.ts", "../../src/schema/widgets/checkout-and-beyond/constants.ts", "../../src/schema/widgets/checkout-and-beyond/common.ts", "../../src/schema/widgets/checkoutExtension.ts", "../../src/schema/widgets/contentBlock.ts", "../../src/schema/widgets/checkout-and-beyond/root.ts", "../../src/schema/widgets/checkout-and-beyond/layout.ts", "../../src/schema/widgets/checkout-and-beyond/rule.ts", "../../src/schema/widgets/checkout-and-beyond/shared.ts", "../../src/schema/widgets/checkout-and-beyond/banner.ts", "../../src/schema/widgets/checkout-and-beyond/button.ts", "../../src/schema/widgets/checkout-and-beyond/image.ts", "../../src/schema/widgets/checkout-and-beyond/regex.ts", "../../src/schema/widgets/checkout-and-beyond/utils.ts", "../../src/schema/widgets/checkout-and-beyond/text.ts", "../../src/schema/widgets/checkout-and-beyond/carousel.ts", "../../src/schema/widgets/checkout-and-beyond/offers.ts", "../../src/schema/widgets/checkout-and-beyond/dataSource.ts", "../../src/schema/widgets/checkout-and-beyond/products.ts", "../../src/schema/widgets/checkout-and-beyond/product.ts", "../../src/schema/widgets/checkout-and-beyond/cartLine.ts", "../../src/schema/widgets/checkout-and-beyond/discount.ts", "../../src/schema/widgets/checkout-and-beyond/monetize.ts", "../../src/schema/widgets/checkout-and-beyond/progressBar.ts", "../../src/schema/widgets/checkout-and-beyond/quantity.ts", "../../src/schema/widgets/checkout-and-beyond/reviews.ts", "../../src/schema/widgets/checkout-and-beyond/variants.ts", "../../src/schema/widgets/giftWithPurchase.ts", "../../src/schema/widgets/lineItemEditor.ts", "../../src/schema/widgets/progressBar.ts", "../../src/schema/widgets/rebuyButton.ts", "../../src/schema/widgets/rebuyMonetize.ts"],
4
+ "sourcesContent": ["import { z } from 'zod/v4';\n\nimport { ABTestingPlaceholder } from './widgets/abTestingPlaceholder';\nimport { WidgetType } from './widgets/checkout-and-beyond/constants';\nimport { CheckoutExtension } from './widgets/checkoutExtension';\nimport { ContentBlock } from './widgets/contentBlock';\nimport { GiftWithPurchase } from './widgets/giftWithPurchase';\nimport { LineItemEditor } from './widgets/lineItemEditor';\nimport { ProgressBar } from './widgets/progressBar';\nimport { RebuyButton } from './widgets/rebuyButton';\nimport { RebuyMonetize } from './widgets/rebuyMonetize';\n\nexport const extensionWidgetTypes = [\n 'placeholder',\n WidgetType.gift_with_purchase,\n WidgetType.shopify_checkout_extension,\n WidgetType.ui_extension_ad,\n WidgetType.ui_extension_button,\n WidgetType.ui_extension_content_block,\n WidgetType.ui_extension_line_item_editor,\n WidgetType.ui_extension_progress_bar,\n] as const;\n\nexport const WidgetData = z.discriminatedUnion('type', [\n ABTestingPlaceholder,\n CheckoutExtension,\n ContentBlock,\n GiftWithPurchase,\n LineItemEditor,\n ProgressBar,\n RebuyButton,\n RebuyMonetize,\n]);\n\nexport type WidgetData = z.infer<typeof WidgetData>;\n", "import { z } from 'zod/v4';\n\nexport const ABTestingPlaceholder = z.looseObject({\n type: z.literal('placeholder'),\n});\n\nexport type ABTestingPlaceholder = z.infer<typeof ABTestingPlaceholder>;\n", "import { uniqBy } from 'es-toolkit';\n\nimport { EditorMode, freezeEnum } from './common';\nimport { type TargetArea } from './root';\n\nexport const DEFAULT_ENDPOINTS = [\n { label: 'Recommended (AI)', value: '/products/recommended' },\n { label: 'Top Sellers', value: '/products/top_sellers' },\n { label: 'Buy It Again', value: '/products/purchased' },\n { label: 'Recently Viewed', value: '/products/viewed' },\n { label: 'Products Search', value: '/products/search' },\n { label: 'Collection Products', value: '/products/collections' },\n { label: 'Similar Products (AI)', value: '/products/similar_products' },\n] as const;\n\nexport const STATIC_ENDPOINTS = [\n { label: 'Recommended (AI)', value: '/products/recommended' },\n { label: 'Top Sellers', value: '/products/top_sellers' },\n { label: 'Trending Products', value: '/products/trending_products' },\n { label: 'Buy It Again', value: '/products/purchased' },\n { label: 'Collection Products', value: '/products/collections' },\n { label: 'Recently Viewed', value: '/products/viewed' },\n { label: 'Static Products', value: '/products/static' },\n { label: 'Products Search', value: '/products/search' },\n { label: 'Similar Products (AI)', value: '/products/similar_products' },\n] as const;\n\nexport const COMBINED_ENDPOINTS = uniqBy([...DEFAULT_ENDPOINTS, ...STATIC_ENDPOINTS], (item) => item.value);\n\nexport const targetAreas = {\n [EditorMode.checkoutExtension]: [\n { icon: 'splitscreen_top', label: 'Header Area', width: '984px' },\n { icon: 'splitscreen_left', label: 'Main Column', width: '503px' },\n { icon: 'splitscreen_right', label: 'Summary Column', width: '404px' },\n ] satisfies TargetArea[],\n [EditorMode.postPurchaseOffer]: null,\n [EditorMode.thankYouPage]: [\n { icon: 'splitscreen_top', label: 'Header Area', width: '984px' },\n { icon: 'splitscreen_left', label: 'Main Column', width: '503px' },\n { icon: 'splitscreen_right', label: 'Summary Column', width: '404px' },\n ] satisfies TargetArea[],\n [EditorMode.orderStatusPage]: [\n // { fill: true, flip: 'vertical', icon: 'bottom_navigation', label: 'Announcement Bar' },\n { icon: 'splitscreen_top', label: 'Header Area', width: '1124px' },\n { fill: true, icon: 'view_column_2', label: 'Main Area', width: '646px' },\n { icon: 'splitscreen_bottom', label: 'Footer Area', width: '1124px' },\n ] satisfies TargetArea[],\n [EditorMode.ordersIndexPage]: [\n // { fill: true, flip: 'vertical', icon: 'bottom_navigation', label: 'Announcement Bar' },\n { icon: 'splitscreen_top', label: 'Main Area', width: '1124px' },\n ] satisfies TargetArea[],\n [EditorMode.customerProfilePage]: [\n // { fill: true, flip: 'vertical', icon: 'bottom_navigation', label: 'Announcement Bar' },\n { icon: 'splitscreen_top', label: 'Main Area', width: '1124px' },\n ] satisfies TargetArea[],\n} as const;\n\nexport const widgetTypes = [\n 'bundle_builder',\n 'cart',\n 'cart_subscription',\n 'dynamic_bundle',\n 'gift_with_purchase',\n 'pre_purchase',\n 'product',\n 'product_addon',\n 'product_upsell',\n 'recharge_checkout',\n 'recharge_customer_portal',\n 'recharge_post_purchase',\n 'shopify_checkout',\n 'shopify_checkout_extension',\n 'shopify_post_purchase',\n 'shopify_post_purchase_extension',\n 'switch_to_subscription',\n 'ui_extension_ad',\n 'ui_extension_button',\n 'ui_extension_content_block',\n 'ui_extension_line_item_editor',\n 'ui_extension_progress_bar',\n] as const;\n\nexport const WidgetType = freezeEnum(widgetTypes);\nexport type WidgetType = (typeof widgetTypes)[number];\n", "export const freezeEnum = <T extends readonly string[]>(values: T) =>\n Object.freeze(Object.fromEntries(values.map((v) => [v, v]))) as { readonly [K in T[number]]: K };\n\nexport const bannerColors = ['info', 'success', 'warning', 'critical'] as const;\nexport const BannerColor = freezeEnum(bannerColors);\nexport type BannerColor = (typeof bannerColors)[number];\n\nexport const borderRadii = ['none', 'small', 'base', 'large', 'fullyRounded'] as const;\nexport const BorderRadius = freezeEnum(borderRadii);\nexport type BorderRadius = (typeof borderRadii)[number];\n\nexport const borderStyles = ['none', 'base', 'dotted', 'dashed'] as const;\nexport const BorderStyle = freezeEnum(borderStyles);\nexport type BorderStyle = (typeof borderStyles)[number];\n\nexport const borderWidths = ['base', 'medium', 'thick'] as const;\nexport const BorderWidth = freezeEnum(borderWidths);\nexport type BorderWidth = (typeof borderWidths)[number];\n\nexport const buttonActions = [\n 'acceptOffer',\n 'addToOrder',\n 'declineAllOffers',\n 'declineOffer',\n 'displayContentInModal',\n 'displayContentInPopover',\n 'goToNextPage',\n 'goToPrevPage',\n 'goToURL',\n 'removeFromCart',\n 'selectVariant',\n 'showPagination',\n 'switchToSubscription',\n 'undoAddToOrder',\n] as const;\n\nexport const ButtonAction = freezeEnum(buttonActions);\nexport type ButtonAction = (typeof buttonActions)[number];\n\nexport const buttonFields = [\n 'activePage',\n 'addedToCart',\n 'addingToCart',\n 'addToCart',\n 'buttonLabel',\n 'declineAllOffers',\n 'declineOffer',\n 'destinationUrl',\n 'inactivePage',\n 'overlayContent',\n 'payNow',\n 'progressReached',\n 'progressRemaining',\n 'removeFromCart',\n 'showVariant',\n 'showVariants',\n 'soldOut',\n 'subscriptionOption',\n 'switchToOneTimePurchase',\n 'switchToSubscriptionNoDiscount',\n 'switchToSubscriptionWithDiscount',\n 'undoAddToOrder',\n] as const;\n\nexport const ButtonField = freezeEnum(buttonFields);\nexport type ButtonField = (typeof buttonFields)[number];\n\nexport const buttonStyles = ['primary', 'secondary', 'plain', 'custom'] as const;\nexport const ButtonStyle = freezeEnum(buttonStyles);\nexport type ButtonStyle = (typeof buttonStyles)[number];\n\nexport const directions = ['columns', 'rows', 'grid'] as const;\nexport const Direction = freezeEnum(directions);\nexport type Direction = (typeof directions)[number];\n\nexport const discountSources = ['price', 'compare_at_price'] as const;\nexport const DiscountSource = freezeEnum(discountSources);\nexport type DiscountSource = (typeof discountSources)[number];\n\nexport const discountTypes = ['none', 'percentage', 'fixed', 'fixed_amount'] as const;\nexport const DiscountType = freezeEnum(discountTypes);\nexport type DiscountType = (typeof discountTypes)[number];\n\nexport const editorModes = [\n 'checkoutExtension',\n 'postPurchaseOffer',\n 'thankYouPage',\n 'orderStatusPage',\n 'ordersIndexPage',\n 'customerProfilePage',\n] as const;\n\nexport const EditorMode = freezeEnum(editorModes);\nexport type EditorMode = (typeof editorModes)[number];\n\nexport const horizontalAlignments = ['start', 'center', 'end'] as const;\nexport const HorizontalAlignment = freezeEnum(horizontalAlignments);\nexport type HorizontalAlignment = (typeof horizontalAlignments)[number];\n\nexport const languageKeys = [\n 'ar',\n 'cs',\n 'da',\n 'de',\n 'en',\n 'es',\n 'fi',\n 'fr',\n 'ga',\n 'he',\n 'hi',\n 'id',\n 'it',\n 'ja',\n 'ko',\n 'nl',\n 'no',\n 'pl',\n 'pt',\n 'ru',\n 'sv',\n 'th',\n 'tr',\n 'uk',\n 'vi',\n 'zh',\n] as const;\n\nexport const LanguageKey = freezeEnum(languageKeys);\nexport type LanguageKey = (typeof languageKeys)[number];\n\nexport const objectFits = ['cover', 'contain'] as const;\nexport const ObjectFit = freezeEnum(objectFits);\nexport type ObjectFit = (typeof objectFits)[number];\n\nexport const popoverPositions = ['inlineStart', 'inlineEnd', 'blockStart', 'blockEnd'] as const;\nexport const PopoverPosition = freezeEnum(popoverPositions);\nexport type PopoverPosition = (typeof popoverPositions)[number];\n\nexport const popoverPositionMap = {\n bottom: 'blockEnd',\n left: 'inlineStart',\n right: 'inlineEnd',\n top: 'blockStart',\n} as const;\n\nexport const productTypes = ['one-time', 'subscription', 'both'] as const;\nexport const ProductType = freezeEnum(productTypes);\nexport type ProductType = (typeof productTypes)[number];\n\nexport const progressTierTypes = ['decorative', 'discount', 'product', 'shipping'] as const;\nexport const ProgressTierType = freezeEnum(progressTierTypes);\nexport type ProgressTierType = (typeof progressTierTypes)[number];\n\nexport const quantityInputs = ['select', 'number'] as const;\nexport const QuantityInput = freezeEnum(quantityInputs);\nexport type QuantityInput = (typeof quantityInputs)[number];\n\nexport const reviewsSizes = ['small', 'default', 'large'] as const;\nexport const ReviewsSize = freezeEnum(reviewsSizes);\nexport type ReviewsSize = (typeof reviewsSizes)[number];\n\nexport const sectionTypes = [\n 'banner',\n 'button',\n 'carousel',\n 'cartLine',\n 'dataSource',\n 'discount',\n 'image',\n 'layout',\n 'monetize',\n 'offers',\n 'product',\n 'products',\n 'progressBar',\n 'quantity',\n 'reviews',\n 'text',\n 'variants',\n] as const;\n\nexport const SectionType = freezeEnum(sectionTypes);\nexport type SectionType = (typeof sectionTypes)[number];\n\nexport const spacings = ['none', 'extraTight', 'tight', 'base', 'loose', 'extraLoose'] as const;\nexport const Spacing = freezeEnum(spacings);\nexport type Spacing = (typeof spacings)[number];\n\nexport const textAlignments = ['start', 'center', 'end'] as const;\nexport const TextAlignment = freezeEnum(textAlignments);\nexport type TextAlignment = (typeof textAlignments)[number];\n\nexport const textColorNames = ['base', 'subdued', 'accent', 'decorative', 'success', 'warning', 'critical'] as const;\nexport const TextColorName = freezeEnum(textColorNames);\nexport type TextColorName = (typeof textColorNames)[number];\n\nexport const textSizeNames = ['extraSmall', 'small', 'base', 'medium', 'large', 'extraLarge'] as const;\nexport const TextSizeName = freezeEnum(textSizeNames);\nexport type TextSizeName = (typeof textSizeNames)[number];\n\nexport const variantModes = ['multiple', 'single'] as const;\nexport const VariantMode = freezeEnum(variantModes);\nexport type VariantMode = (typeof variantModes)[number];\n\nexport const variantSelectors = ['menu', 'radio', 'button'] as const;\nexport const VariantSelector = freezeEnum(variantSelectors);\nexport type VariantSelector = (typeof variantSelectors)[number];\n\nexport const verticalAlignments = ['top', 'middle', 'bottom'] as const;\nexport const VerticalAlignment = freezeEnum(verticalAlignments);\nexport type VerticalAlignment = (typeof verticalAlignments)[number];\n", "import { z } from 'zod/v4';\n\nimport { WidgetType } from './checkout-and-beyond/constants';\n\nexport const CheckoutExtension = z.looseObject({\n type: z.literal(WidgetType.shopify_checkout_extension).default(WidgetType.shopify_checkout_extension),\n});\n\nexport type CheckoutExtension = z.infer<typeof CheckoutExtension>;\n", "import { z } from 'zod/v4';\n\nimport { spacings, textSizeNames } from './checkout-and-beyond/common';\nimport { WidgetType } from './checkout-and-beyond/constants';\nimport { CABRootSection } from './checkout-and-beyond/root';\n\nexport const ContentBlockV1 = z.object({\n blockSpacing: z.enum(spacings).optional(),\n imageBlocks: z\n .union([\n z.array(\n z.object({\n altText: z.string().nullable(),\n description: z.string().nullable(),\n id: z.uuid(),\n imagePlacement: z.enum(['top', 'right', 'bottom', 'left']),\n imageSize: z.number(),\n imageUrl: z.url(),\n textAlignment: z.enum(['left', 'center', 'right']),\n textSize: z.enum(textSizeNames),\n })\n ),\n z.strictObject({}).transform(() => []),\n ])\n .optional(),\n imageLayout: z.enum(['row', 'column']).optional(),\n language: z.object({\n description: z.string(),\n superTitle: z.string(),\n title: z.string(),\n }),\n previewMode: z.boolean(),\n type: z.literal(WidgetType.ui_extension_content_block).default(WidgetType.ui_extension_content_block),\n version: z.literal(1),\n});\n\nexport const ContentBlock = z.discriminatedUnion('version', [\n ContentBlockV1,\n CABRootSection.extend({\n type: z.literal(WidgetType.ui_extension_content_block).default(WidgetType.ui_extension_content_block),\n }),\n]);\n\nexport type ContentBlock = z.infer<typeof ContentBlock>;\n", "import { z } from 'zod/v4';\n\nimport { EditorMode, editorModes } from './common';\nimport { targetAreas, WidgetType, widgetTypes } from './constants';\nimport { CABLayoutSection } from './layout';\n\nconst TargetArea = z\n .object({\n fill: z.boolean().optional(),\n flip: z.enum(['both', 'horizontal', 'vertical']).optional(),\n icon: z.string(),\n label: z.string(),\n width: z.string(),\n })\n .default(targetAreas[EditorMode.checkoutExtension][1]);\n\nexport type TargetArea = {\n fill?: boolean;\n flip?: 'horizontal' | 'vertical' | 'both';\n icon: string;\n label: string;\n width: string;\n};\n\nexport const CABTracking = z\n .object({\n enableAttribution: z.boolean().default(true),\n enableSource: z.boolean().default(true),\n enableWidget: z.boolean().default(true),\n })\n .default({ enableAttribution: true, enableSource: true, enableWidget: true });\n\nexport type CABTracking = z.infer<typeof CABTracking>;\n\nexport const CABRootSection = CABLayoutSection.extend({\n editorMode: z.enum(editorModes).default(EditorMode.checkoutExtension),\n previewMode: z.boolean().default(false),\n storeId: z.number().nullable().default(null),\n targetArea: TargetArea.nullable(),\n tracking: CABTracking,\n type: z.enum(widgetTypes).default(WidgetType.ui_extension_content_block),\n version: z.literal(2).default(2),\n widgetId: z.number().nullable().default(null),\n});\n\nexport type CABRootSection = CABLayoutSection & {\n editorMode: EditorMode;\n previewMode: boolean;\n storeId: number | null;\n targetArea: TargetArea | null;\n tracking: CABTracking;\n type: WidgetType;\n version: number;\n widgetId: number | null;\n};\n", "import { v7 as uuidv7 } from 'uuid';\nimport { z } from 'zod/v4';\n\nimport {\n buttonFields,\n Direction,\n directions,\n HorizontalAlignment,\n horizontalAlignments,\n SectionType,\n Spacing,\n spacings,\n VerticalAlignment,\n verticalAlignments,\n type ButtonField,\n} from './common';\nimport { CABRule } from './rule';\nimport { CABBorder, CABSection, type SectionDetails } from './shared';\n\nexport const GridItem = z.union([z.literal('auto'), z.literal('fill'), z.string().regex(/^\\d+%$/), z.number()]);\nexport type GridItem = z.infer<typeof GridItem>;\n\nexport const CABLayoutSection = z.object({\n alignment: z\n .object({\n horizontal: z.enum(horizontalAlignments).default(HorizontalAlignment.start),\n vertical: z.enum(verticalAlignments).default(VerticalAlignment.top),\n })\n .default({\n horizontal: HorizontalAlignment.start,\n vertical: VerticalAlignment.top,\n }),\n border: z.lazy(() => CABBorder),\n buttonField: z.enum(buttonFields).optional(),\n direction: z.enum(directions).default(Direction.rows),\n grid: z\n .object({\n columns: z.union([z.array(GridItem), z.undefined()]).default(() => ['auto']),\n rows: z.union([z.array(GridItem), z.undefined()]).default(() => ['auto']),\n })\n .default({ columns: ['auto'], rows: ['auto'] })\n .optional(),\n name: z.string().optional(),\n padding: z.enum(spacings).default(Spacing.none),\n rule: CABRule.optional(),\n sectionId: z.uuid().default(() => uuidv7()),\n sections: z.union([z.array(z.lazy(() => CABSection)), z.strictObject({}).transform(() => [])]).default(() => []),\n sectionType: z.literal(SectionType.layout).default(SectionType.layout),\n spacing: z.enum(spacings).default(Spacing.base),\n /** Fire-and-forget impression pixel POSTed once when the section is shown (e.g. a Monetize offer view). */\n viewUrl: z.string().optional(),\n width: z.number().default(100),\n});\n\nexport type CABLayoutSection = {\n alignment: {\n horizontal: HorizontalAlignment;\n vertical: VerticalAlignment;\n };\n border: CABBorder;\n buttonField?: ButtonField;\n direction: Direction;\n grid?: {\n columns: GridItem[];\n rows: GridItem[];\n };\n name?: string;\n padding: Spacing;\n rule?: CABRule;\n sectionId: string;\n sections: CABSection[];\n sectionType: 'layout';\n spacing: Spacing;\n viewUrl?: string;\n width: number;\n};\n\nexport type CABLayoutSectionProps = CABLayoutSection & SectionDetails;\n", "import { z } from 'zod/v4';\n\nexport const ruleTypes = [\n 'cart',\n 'cart_count',\n 'cart_item_count',\n 'cart_line_count',\n 'cart_subtotal',\n 'collection',\n 'customer',\n 'customer_order_count',\n 'customer_tag',\n 'customer_total_spent',\n 'date',\n 'product',\n 'product_tag',\n 'product_title',\n 'product_type',\n 'product_vendor',\n] as const;\n\nconst ruleType = z.enum(ruleTypes);\n\nexport const RuleType = ruleType.enum;\nexport type RuleType = z.infer<typeof ruleType>;\n\nexport const ruleOperators = [\n 'after',\n 'anything',\n 'before',\n 'contains',\n 'contains_any',\n 'does_not_contain',\n 'does_not_contain_any',\n 'equals',\n 'does_not_equal',\n 'greater_than',\n 'less_than',\n] as const;\n\nconst ruleOperator = z.enum(ruleOperators);\n\nexport const RuleOperator = ruleOperator.enum;\nexport type RuleOperator = z.infer<typeof ruleOperator>;\n\nexport const RuleCondition = z.object({\n operator: z.enum(ruleOperators).default(RuleOperator.anything),\n products: z.union([z.array(z.unknown()), z.strictObject({}).transform(() => [])]).default(() => []),\n type: z.enum(ruleTypes).default(RuleType.cart_subtotal),\n value: z.coerce.string().default(''),\n});\n\nexport type RuleCondition = z.infer<typeof RuleCondition>;\n\nexport const RuleLogicBlock = z.object({\n rules: z.array(RuleCondition).default(() => []),\n});\n\nexport type RuleLogicBlock = z.infer<typeof RuleLogicBlock>;\n\nexport const CABRule = z.object({\n dataSourceId: z.number().nullable().default(null),\n enabled: z.boolean().default(false),\n ruleset: z\n .union([\n z.array(\n z.object({\n exitIfMatched: z.boolean().default(true),\n logic: z.array(RuleLogicBlock).default(() => []),\n output: z\n .array(\n z.object({\n key: z.string().default('should_show'),\n type: z.literal('data_json').default('data_json'),\n value: z.string().default('true'),\n })\n )\n .default(() => [{ key: 'should_show', type: 'data_json' as const, value: 'true' }]),\n })\n ),\n z.strictObject({}).transform(() => []),\n ])\n .default(() => []),\n});\n\nexport type CABRule = z.infer<typeof CABRule>;\n", "import { type FieldArrayPath } from 'react-hook-form';\nimport { z, type ZodType } from 'zod/v4';\n\nimport { CABBannerSection } from './banner';\nimport { CABButtonSection } from './button';\nimport { CABCarouselSection } from './carousel';\nimport { CABCartLineSection } from './cartLine';\nimport { borderRadii, BorderRadius, BorderStyle, borderStyles, BorderWidth, borderWidths } from './common';\nimport { CABDataSourceSection } from './dataSource';\nimport { CABDiscountSection } from './discount';\nimport { CABImageSection } from './image';\nimport { CABLayoutSection } from './layout';\nimport { CABMonetizeSection } from './monetize';\nimport { CABOffersSection } from './offers';\nimport { CABProductSection } from './product';\nimport { CABProductsSection } from './products';\nimport { CABProgressBarSection } from './progressBar';\nimport { CABQuantitySection } from './quantity';\nimport { CABReviewsSection } from './reviews';\nimport { type CABRootSection } from './root';\nimport { CABTextSection } from './text';\nimport { CABVariantsSection } from './variants';\n\nexport const CABBorder = z\n .object({\n radius: z.enum(borderRadii).default(BorderRadius.base),\n style: z.enum(borderStyles).default(BorderStyle.none),\n width: z.enum(borderWidths).default(BorderWidth.base),\n })\n .default({\n radius: BorderRadius.base,\n style: BorderStyle.none,\n width: BorderWidth.base,\n });\n\nexport type CABBorder = z.infer<typeof CABBorder>;\n\nexport const CABSection: ZodType<CABSection> = z.lazy(() =>\n z.discriminatedUnion('sectionType', [\n CABBannerSection,\n CABButtonSection,\n CABCarouselSection,\n CABCartLineSection,\n CABDataSourceSection,\n CABDiscountSection,\n CABImageSection,\n CABLayoutSection,\n CABMonetizeSection,\n CABOffersSection,\n CABProductSection,\n CABProductsSection,\n CABProgressBarSection,\n CABQuantitySection,\n CABReviewsSection,\n CABTextSection,\n CABVariantsSection,\n ])\n);\n\nexport type CABSection =\n | CABBannerSection\n | CABButtonSection\n | CABCarouselSection\n | CABCartLineSection\n | CABDataSourceSection\n | CABDiscountSection\n | CABImageSection\n | CABLayoutSection\n | CABMonetizeSection\n | CABOffersSection\n | CABProductSection\n | CABProductsSection\n | CABProgressBarSection\n | CABQuantitySection\n | CABReviewsSection\n | CABTextSection\n | CABVariantsSection;\n\nexport type SectionId = CABSection['sectionId'];\n\n/* @ts-expect-error: TS2589: Type instantiation _is_ excessively deep and infinite. */\nexport type SectionArrayPath = FieldArrayPath<CABRootSection>;\n\nexport type SectionPrefixPath = `${SectionArrayPath}.${number}` | null;\n\nexport type SectionDetails = {\n /**\n * The full React Hook Form dot-notation path to the section object itself,\n * for use with `register` or `control`, e.g. `sections.0.sections.1`.\n *\n * Returns `null` for the root section.\n */\n fieldArrayPath: SectionArrayPath | null;\n /**\n * The index of the found section within its parent `sections` array.\n *\n * Returns `null` for the root section.\n */\n index: number | null;\n /**\n * The parent `sections` object.\n *\n * Returns `null` for the root section.\n */\n parent: CABSection[] | null;\n /**\n * The parent `sectionId`.\n *\n * Returns `undefined` for the root section.\n */\n parentId: SectionId | undefined;\n /**\n * The full React Hook Form dot-notation path to the section object itself,\n * for use with `register` or `control`, e.g. `sections.0.sections.1`.\n *\n * Returns `null` for the root section.\n */\n prefixPath: SectionPrefixPath | null;\n};\n\nexport type CABSectionProps = CABSection & SectionDetails;\n", "import { z } from 'zod/v4';\n\nimport { bannerColors, buttonFields, SectionType, type BannerColor } from './common';\nimport { CABLayoutSection } from './layout';\nimport { type SectionDetails } from './shared';\n\nexport const CABBannerSection = z.lazy(() =>\n CABLayoutSection.omit({ sectionType: true }).extend({\n buttonField: z.enum(buttonFields).optional(),\n color: z.enum(bannerColors).default('info'),\n dismissible: z.boolean().default(true),\n sectionType: z.literal(SectionType.banner).default(SectionType.banner),\n })\n);\n\nexport type CABBannerSection = Omit<CABLayoutSection, 'sectionType'> & {\n color: BannerColor;\n dismissible: boolean;\n sectionType: 'banner';\n};\n\nexport type CABBannerSectionProps = CABBannerSection & SectionDetails;\n", "import { v7 as uuidv7 } from 'uuid';\nimport { z, type ZodType } from 'zod/v4';\n\nimport {\n buttonActions,\n ButtonStyle,\n buttonStyles,\n PopoverPosition,\n popoverPositions,\n SectionType,\n TextAlignment,\n textAlignments,\n} from './common';\nimport { CABImageSection } from './image';\nimport { CABLayoutSection } from './layout';\nimport { HEX_COLOR_REGEX } from './regex';\nimport { CABRule } from './rule';\nimport { type SectionDetails } from './shared';\nimport { CABTextSection } from './text';\n\nexport type CABButtonContent = CABImageSection | CABLayoutSection | CABTextSection;\n\nexport const CABButtonContent: ZodType<CABButtonContent> = z.lazy(() =>\n z.discriminatedUnion('sectionType', [CABImageSection, CABLayoutSection, CABTextSection])\n);\n\nexport const CABButtonSection = z.object({\n action: z.union([z.literal(''), z.enum(buttonActions)]).default(''),\n buttonStyle: z.enum(buttonStyles).default(ButtonStyle.primary),\n custom: z\n .object({\n color: z.string().regex(HEX_COLOR_REGEX).default('#005bd3'),\n height: z.number().default(52),\n width: z.number().default(300),\n })\n .default({\n color: '#005bd3',\n height: 52,\n width: 300,\n }),\n disableDowngrade: z.boolean().default(false),\n name: z.string().optional(),\n optionId: z.number().optional(),\n popover: z\n .object({\n alignment: z.enum(textAlignments).default(TextAlignment.center),\n position: z.enum(popoverPositions).default(PopoverPosition.blockStart),\n })\n .optional()\n .default(() => ({\n alignment: TextAlignment.center,\n position: PopoverPosition.blockStart,\n })),\n rule: CABRule.optional(),\n sectionId: z.uuid().default(() => uuidv7()),\n sections: z.union([z.array(CABButtonContent), z.strictObject({}).transform(() => [])]).default(() => []),\n sectionType: z.literal(SectionType.button).default(SectionType.button),\n /** Fire-and-forget pixel POSTed when the button is clicked (e.g. a Monetize decline). */\n trackingUrl: z.string().optional(),\n});\n\nexport type CABButtonSection = z.infer<typeof CABButtonSection>;\n\nexport type CABButtonSectionProps = CABButtonSection & SectionDetails;\n", "import { v7 as uuidv7 } from 'uuid';\nimport { z } from 'zod/v4';\n\nimport { buttonFields, ObjectFit, objectFits, SectionType } from './common';\nimport { DYNAMIC_TOKEN_REGEX } from './regex';\nimport { CABRule } from './rule';\nimport { CABBorder, type SectionDetails } from './shared';\nimport { checkForHTML, NO_HTML } from './utils';\n\nexport const CABImageSection = z.object({\n altText: z.string().refine(checkForHTML, NO_HTML).default(''),\n aspectRatio: z.literal(1).nullable().default(null),\n border: z.lazy(() => CABBorder),\n buttonField: z.enum(buttonFields).optional(),\n category: z.enum(['gallery', 'icons', 'payment-methods', 'secure-checkout']).nullable().default(null),\n name: z.string().optional(),\n naturalHeight: z.number().default(0),\n naturalWidth: z.number().default(0),\n /**\n * `contain` (the component default): dimensionless images render in s-image's 1/1 default frame, and\n * `cover` would crop non-square art (payment badges lost their edges \u2014 15993); `contain` letterboxes.\n */\n objectFit: z.enum(objectFits).default(ObjectFit.contain),\n rule: CABRule.optional(),\n sectionId: z.uuid().default(() => uuidv7()),\n sectionType: z.literal(SectionType.image).default(SectionType.image),\n source: z.union([z.url(), z.literal(''), z.string().regex(DYNAMIC_TOKEN_REGEX)]).default(''),\n width: z.number().default(100),\n});\n\nexport type CABImageSection = z.infer<typeof CABImageSection>;\n\nexport type CABImageSectionProps = CABImageSection & SectionDetails;\n", "/** Matches a valid array index string (e.g., \"0\", \"1\", \"42\"). */\nexport const ARRAY_INDEX_STRING = /^(0|[1-9]\\d*)$/;\n\n/** Matches a dynamic token. */\nexport const DYNAMIC_TOKEN_REGEX = /^\\{\\{\\s*[A-Za-z]+\\s*\\}\\}$/;\n\n/** Matches a valid hex color code. */\nexport const HEX_COLOR_REGEX = /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/;\n\n/** Matches any HTML tags. */\nexport const HTML_TAGS_REGEX = /<\\/?[^>]+>/g;\n", "import { isPlainObject, mapValues } from 'es-toolkit';\nimport { every, get, isArray, isString, map, size, toPairs } from 'es-toolkit/compat';\n\nimport { type CABBannerSection } from './banner';\nimport { type CABButtonSection } from './button';\nimport { type CABCarouselSection } from './carousel';\nimport { type CABCartLineSection } from './cartLine';\nimport { ButtonField, SectionType } from './common';\nimport { type CABDataSourceSection } from './dataSource';\nimport { type CABDiscountSection } from './discount';\nimport { type CABImageSection } from './image';\nimport { type CABLayoutSection } from './layout';\nimport { type CABMonetizeSection } from './monetize';\nimport { type CABOffersSection } from './offers';\nimport { type CABProductSection } from './product';\nimport { type CABProductsSection } from './products';\nimport { type CABProgressBarSection } from './progressBar';\nimport { type CABQuantitySection } from './quantity';\nimport { ARRAY_INDEX_STRING, HTML_TAGS_REGEX } from './regex';\nimport { type CABReviewsSection } from './reviews';\nimport { type CABTextSection, type TiptapDocument } from './text';\nimport { type CABVariantsSection } from './variants';\n\nexport const isHTML = (html: string | undefined = ''): boolean => {\n if (typeof window !== 'undefined') {\n const parser = new DOMParser();\n const doc = parser.parseFromString(html, 'text/html');\n\n const hasHTML = (nodeList: NodeList) => Array.from(nodeList).some((node) => node.nodeType === 1);\n\n return hasHTML(doc.body.childNodes) || hasHTML(doc.head.childNodes);\n }\n\n return HTML_TAGS_REGEX.test(html);\n};\n\nexport const hasHTMLInDoc = (doc: TiptapDocument): boolean =>\n doc.content.some(({ content = [] }) => content.some(({ text }) => isHTML(text)));\n\nexport const checkForHTML = (input: string | TiptapDocument): boolean =>\n !((isString(input) && isHTML(input)) || (isPlainObject(input) && hasHTMLInDoc(input as TiptapDocument)));\n\nexport const NO_HTML = { message: 'HTML is not supported' };\n\nexport const isBannerType = (section: unknown): section is CABBannerSection =>\n get(section, 'sectionType') === SectionType.banner;\n\nexport const isButtonType = (section: unknown): section is CABButtonSection =>\n get(section, 'sectionType') === SectionType.button;\n\nexport const isCarouselType = (section: unknown): section is CABCarouselSection =>\n get(section, 'sectionType') === SectionType.carousel;\n\nexport const isCartLineType = (section: unknown): section is CABCartLineSection =>\n get(section, 'sectionType') === SectionType.cartLine;\n\nexport const isDataSourceType = (section: unknown): section is CABDataSourceSection =>\n get(section, 'sectionType') === SectionType.dataSource;\n\nexport const isDiscountType = (section: unknown): section is CABDiscountSection =>\n get(section, 'sectionType') === SectionType.discount;\n\nexport const isImageType = (section: unknown): section is CABImageSection =>\n get(section, 'sectionType') === SectionType.image;\n\nexport const isLayoutType = (section: unknown): section is CABLayoutSection =>\n get(section, 'sectionType') === SectionType.layout;\n\nexport const isMonetizeType = (section: unknown): section is CABMonetizeSection =>\n get(section, 'sectionType') === SectionType.monetize;\n\nexport const isOffersType = (section: unknown): section is CABOffersSection =>\n get(section, 'sectionType') === SectionType.offers;\n\nexport const isOverlayType = (section: unknown): section is CABLayoutSection =>\n isLayoutType(section) && get(section, 'buttonField') === ButtonField.overlayContent;\n\nexport const isProductType = (section: unknown): section is CABProductSection =>\n get(section, 'sectionType') === SectionType.product;\n\nexport const isProductsType = (section: unknown): section is CABProductsSection =>\n get(section, 'sectionType') === SectionType.products;\n\nexport const isProgressBarType = (section: unknown): section is CABProgressBarSection =>\n get(section, 'sectionType') === SectionType.progressBar;\n\nexport const isQuantityType = (section: unknown): section is CABQuantitySection =>\n get(section, 'sectionType') === SectionType.quantity;\n\nexport const isReviewsType = (section: unknown): section is CABReviewsSection =>\n get(section, 'sectionType') === SectionType.reviews;\n\nexport const isTextType = (section: unknown): section is CABTextSection =>\n get(section, 'sectionType') === SectionType.text;\n\nexport const isVariantsType = (section: unknown): section is CABVariantsSection =>\n get(section, 'sectionType') === SectionType.variants;\n\nconst hasOnlyNumericKeys = (input: Record<string, unknown>) =>\n !!size(input) && every(input, (_, key) => ARRAY_INDEX_STRING.test(key) && Number.isSafeInteger(Number(key)));\n\nconst numericObjectToArray = (input: Record<string, unknown>) =>\n toPairs(input)\n .sort(([a], [b]) => Number(a) - Number(b))\n .map(([_, value]) => value);\n\nexport const convertNumericObjects = (input: unknown): unknown => {\n if (isArray(input)) return map(input, convertNumericObjects);\n\n if (isPlainObject(input)) {\n const obj = input as Record<string, unknown>;\n\n return hasOnlyNumericKeys(obj)\n ? map(numericObjectToArray(obj), convertNumericObjects)\n : mapValues(obj, convertNumericObjects);\n }\n\n return input;\n};\n", "import { forEach, isString } from 'es-toolkit/compat';\nimport { v7 as uuidv7 } from 'uuid';\nimport { z } from 'zod/v4';\n\nimport {\n ButtonField,\n buttonFields,\n progressTierTypes,\n ProgressTierType,\n SectionType,\n Spacing,\n spacings,\n TextAlignment,\n textAlignments,\n TextColorName,\n textColorNames,\n TextSizeName,\n textSizeNames,\n} from './common';\nimport { DYNAMIC_TOKEN_REGEX } from './regex';\nimport { CABRule } from './rule';\nimport { type SectionDetails } from './shared';\nimport { checkForHTML, NO_HTML } from './utils';\n\nconst enumOrOmit = <T extends readonly [string, ...string[]]>(...vals: T) =>\n z\n .string()\n .transform((val) => (vals.includes(val as T[number]) ? (val as T[number]) : undefined))\n .optional();\n\nexport const TiptapText = z.object({\n marks: z\n .union([\n z.array(\n z.discriminatedUnion('type', [\n z.object({ type: z.literal('bold') }),\n z.object({ type: z.literal('italic') }),\n z.object({\n attrs: z.object({\n class: z.string().nullable(),\n href: z.union([z.url(), z.literal('#'), z.string().regex(DYNAMIC_TOKEN_REGEX)]),\n rel: z.string().default('noopener noreferrer nofollow'),\n target: z.string().default('_blank'),\n }),\n type: z.literal('link'),\n }),\n z.object({ type: z.literal('strike') }),\n z.object({\n attrs: z.object({\n color: enumOrOmit(...textColorNames).default(TextColorName.base),\n fontSize: enumOrOmit(...textSizeNames).default(TextSizeName.base),\n }),\n type: z.literal('textStyle'),\n }),\n ])\n ),\n z.strictObject({}).transform(() => []),\n ])\n .optional(),\n text: z.string().default(''),\n type: z.literal('text').default('text'),\n});\n\nexport type TiptapText = z.infer<typeof TiptapText>;\n\nexport const TiptapParagraph = z.object({\n attrs: z\n .object({\n textAlign: enumOrOmit(...textAlignments),\n })\n .default({ textAlign: TextAlignment.start }),\n content: z.union([z.array(TiptapText), z.strictObject({}).transform(() => [])]).default(() => []),\n type: z.literal('paragraph').default('paragraph'),\n});\n\nexport type TiptapParagraph = z.infer<typeof TiptapParagraph>;\n\nexport const TiptapDocument = z.object({\n attrs: z\n .object({\n blockSpacing: enumOrOmit(...spacings),\n })\n .default({ blockSpacing: Spacing.base }),\n content: z\n .union([z.array(TiptapParagraph), z.strictObject({}).transform(() => [])])\n .default(() => [TiptapParagraph.parse({})]),\n type: z.literal('doc').default('doc'),\n});\n\nexport type TiptapDocument = z.infer<typeof TiptapDocument>;\n\nexport const CABProgressTier = z.object({\n threshold: z.number().int().nonnegative(),\n thresholds: z.record(z.string(), z.number().int().nonnegative()).default(() => ({})),\n tierType: z.enum(progressTierTypes).default(ProgressTierType.shipping),\n});\n\nexport type CABProgressTier = z.infer<typeof CABProgressTier>;\n\nexport const CABTextSection = z\n .object({\n buttonField: z.enum(buttonFields).optional(),\n content: z\n .record(z.string(), z.union([z.string(), TiptapDocument]).refine(checkForHTML, NO_HTML).optional())\n .default({ en: TiptapDocument.parse({}) })\n .optional(),\n name: z.string().optional(),\n optionId: z.number().optional(),\n rule: CABRule.optional(),\n sectionId: z.uuid().default(() => uuidv7()),\n sectionType: z.literal(SectionType.text).default(SectionType.text),\n tier: CABProgressTier.optional(),\n })\n .superRefine(({ buttonField, content }, ctx) => {\n if (buttonField === ButtonField.destinationUrl && content) {\n forEach(content, (value, lang) => {\n if (value && isString(value)) {\n if (DYNAMIC_TOKEN_REGEX.test(value)) return;\n\n try {\n new URL(value);\n } catch {\n ctx.addIssue({\n code: 'custom',\n message: 'Invalid URL',\n path: ['content', lang],\n });\n }\n }\n });\n }\n });\n\nexport type CABTextSection = z.infer<typeof CABTextSection>;\n\nexport type CABTextSectionProps = CABTextSection & SectionDetails;\n", "import { z } from 'zod/v4';\n\nimport { SectionType } from './common';\nimport { CABLayoutSection } from './layout';\nimport { CABOffersSection } from './offers';\nimport { CABSection, type SectionDetails } from './shared';\n\nexport const CABCarouselSection = z.lazy(() =>\n CABLayoutSection.omit({ sections: true, sectionType: true }).extend({\n autoAdvanceInterval: z.number().default(0),\n itemsAtOnce: z.number().min(1).default(1),\n sections: z\n .union([z.array(z.lazy(() => CABSection)), z.strictObject({}).transform(() => [])])\n .default(() => [CABOffersSection.parse({})]),\n sectionType: z.literal(SectionType.carousel).default(SectionType.carousel),\n })\n);\n\nexport type CABCarouselSection = Omit<CABLayoutSection, 'sectionType'> & {\n autoAdvanceInterval: number;\n itemsAtOnce: number;\n sectionType: 'carousel';\n};\n\nexport type CABCarouselSectionProps = CABCarouselSection & SectionDetails;\n", "import { z } from 'zod/v4';\n\nimport { CABBannerSection } from './banner';\nimport { CABButtonSection } from './button';\nimport { ButtonStyle, SectionType } from './common';\nimport { CABDataSourceSection } from './dataSource';\nimport { CABLayoutSection } from './layout';\nimport { CABProductsSection } from './products';\nimport { CABSection, type SectionDetails } from './shared';\nimport { CABTextSection } from './text';\n\nexport const CABOffersSection = z.lazy(() =>\n CABLayoutSection.omit({ sections: true, sectionType: true }).extend({\n sections: z.union([z.array(z.lazy(() => CABSection)), z.strictObject({}).transform(() => [])]).default(() => [\n CABBannerSection.parse({\n buttonField: 'undoAddToOrder',\n color: 'success',\n dismissible: true,\n name: 'Success Banner',\n sections: [\n CABTextSection.parse({ content: { en: '{{quantity}} {{productTitle}} added to cart.' } }),\n CABButtonSection.parse({ action: 'undoAddToOrder', buttonStyle: ButtonStyle.plain }),\n ],\n }),\n CABDataSourceSection.parse({}),\n CABProductsSection.parse({}),\n ]),\n sectionType: z.literal(SectionType.offers).default(SectionType.offers),\n })\n);\n\nexport type CABOffersSection = Omit<CABLayoutSection, 'sectionType'> & {\n sectionType: 'offers';\n};\n\nexport type CABOffersSectionProps = CABOffersSection & SectionDetails;\n", "import { v7 as uuidv7 } from 'uuid';\nimport { z } from 'zod/v4';\n\nimport { discountSources, discountTypes, productTypes, SectionType } from './common';\nimport { DEFAULT_ENDPOINTS } from './constants';\nimport { type SectionDetails } from './shared';\n\nexport const CABDiscount = z.object({\n amount: z.union([z.number(), z.string()]).catch(0),\n discountedBy: z.string().optional(),\n discountedFrom: z.enum(discountSources).optional().catch(undefined),\n type: z.enum(discountTypes).catch('none'),\n});\n\nexport type CABDiscount = z.infer<typeof CABDiscount>;\n\nexport const CABIntegrations = z.object({\n judgeme: z.boolean().default(false),\n junip: z.boolean().default(false),\n klaviyo: z.boolean().default(false),\n loox: z.boolean().default(false),\n okendo: z.boolean().default(false),\n opinew: z.boolean().default(false),\n reviewsio: z.boolean().default(false),\n stamped: z.boolean().default(false),\n yotpo: z.boolean().default(false),\n});\n\nexport type CABIntegrations = z.infer<typeof CABIntegrations>;\n\nexport const CABDataSourceSection = z.object({\n dataSourceId: z.number().nullable().default(null),\n dataSourcePath: z.string().default(DEFAULT_ENDPOINTS[0].value),\n discount: CABDiscount.optional(),\n integrations: CABIntegrations.optional(),\n limit: z.number().default(1),\n matchVariant: z.boolean().default(false),\n matchVariantOutOfStock: z.boolean().default(false),\n name: z.string().default(DEFAULT_ENDPOINTS[0].label),\n productType: z.enum(productTypes).optional(),\n sectionId: z.uuid().default(() => uuidv7()),\n sectionType: z.literal(SectionType.dataSource).default(SectionType.dataSource),\n treatAsGwp: z.boolean().default(false),\n});\n\nexport type CABDataSourceSection = z.infer<typeof CABDataSourceSection>;\n\nexport type CABDataSourceSectionProps = CABDataSourceSection & SectionDetails;\n", "import { v7 as uuidv7 } from 'uuid';\nimport { z } from 'zod/v4';\n\nimport { SectionType } from './common';\nimport { CABProductSection } from './product';\nimport { type SectionDetails } from './shared';\n\nexport const CABProductsSection = z.object({\n name: z.string().optional(),\n sectionId: z.uuid().default(() => uuidv7()),\n sections: z\n .union([z.array(z.lazy(() => CABProductSection)), z.strictObject({}).transform(() => [])])\n .default(() => []),\n sectionType: z.literal(SectionType.products).default(SectionType.products),\n});\n\nexport type CABProductsSection = z.infer<typeof CABProductsSection>;\n\nexport type CABProductsSectionProps = CABProductsSection & SectionDetails;\n", "import { v7 as uuidv7 } from 'uuid';\nimport { z, type ZodType } from 'zod/v4';\n\nimport { CABButtonSection } from './button';\nimport { SectionType, VariantMode, variantModes, VariantSelector, variantSelectors } from './common';\nimport { type SectionDetails } from './shared';\nimport { CABTextSection } from './text';\n\nexport type CABVariantContent = CABButtonSection | CABTextSection;\n\nexport const CABVariantContent: ZodType<CABVariantContent> = z.lazy(() =>\n z.discriminatedUnion('sectionType', [CABButtonSection, CABTextSection])\n);\n\nexport const CABProductSection = z.object({\n name: z.string().optional(),\n productId: z.number().nullable().default(null),\n sectionId: z.uuid().default(() => uuidv7()),\n sections: z.union([z.array(CABVariantContent), z.strictObject({}).transform(() => [])]).default(() => []),\n sectionType: z.literal(SectionType.product).default(SectionType.product),\n selectors: z.record(z.string(), z.enum(variantSelectors).default(VariantSelector.menu)).default(() => ({})),\n variantMode: z.enum(variantModes).default(VariantMode.multiple),\n});\n\nexport type CABProductSection = z.infer<typeof CABProductSection>;\n\nexport type CABProductSectionProps = CABProductSection & SectionDetails;\n", "import { z } from 'zod/v4';\n\nimport { CABButtonSection } from './button';\nimport { ButtonAction, SectionType } from './common';\nimport { CABLayoutSection } from './layout';\nimport { CABSection, type SectionDetails } from './shared';\n\nexport const CABCartLineSection = z.lazy(() =>\n CABLayoutSection.omit({ sections: true, sectionType: true }).extend({\n sections: z\n .union([z.array(z.lazy(() => CABSection)), z.strictObject({}).transform(() => [])])\n .default(() => [CABButtonSection.parse({ action: ButtonAction.switchToSubscription })]),\n sectionType: z.literal(SectionType.cartLine).default(SectionType.cartLine),\n })\n);\n\nexport type CABCartLineSection = Omit<CABLayoutSection, 'sectionType'> & {\n sectionType: 'cartLine';\n};\n\nexport type CABCartLineSectionProps = CABCartLineSection & SectionDetails;\n", "import { v7 as uuidv7 } from 'uuid';\nimport { z } from 'zod/v4';\n\nimport { discountSources, discountTypes, SectionType } from './common';\nimport { type SectionDetails } from './shared';\n\n/**\n * The widget discount, modeled as its own offers child section (toggled on/off in the editor and\n * rendered nowhere \u2014 it's config-only). Discounting is Shopify Functions-only (Scripts is sunset), so a\n * configured discount always applies via Functions and the amount is in Functions (minor-unit) form for\n * fixed types. `discountedFrom` is the compare-from source; `message` is the Functions discount title.\n */\nexport const CABDiscountSection = z.object({\n amount: z.union([z.number(), z.string()]).catch(0),\n discountedBy: z.string().optional(),\n discountedFrom: z.enum(discountSources).optional().catch(undefined),\n message: z.string().optional(),\n name: z.string().optional(),\n quantity: z.number().default(1),\n sectionId: z.uuid().default(() => uuidv7()),\n sectionType: z.literal(SectionType.discount).default(SectionType.discount),\n type: z.enum(discountTypes).catch('none'),\n});\n\nexport type CABDiscountSection = z.infer<typeof CABDiscountSection>;\n\nexport type CABDiscountSectionProps = CABDiscountSection & SectionDetails;\n", "import { v7 as uuidv7 } from 'uuid';\nimport { z } from 'zod/v4';\n\nimport { SectionType } from './common';\nimport { CABRule } from './rule';\nimport { type SectionDetails } from './shared';\n\nexport const CABMonetizeSection = z.object({\n name: z.string().optional(),\n rule: CABRule.optional(),\n sectionId: z.uuid().default(() => uuidv7()),\n sectionType: z.literal(SectionType.monetize).default(SectionType.monetize),\n});\n\nexport type CABMonetizeSection = z.infer<typeof CABMonetizeSection>;\n\nexport type CABMonetizeSectionProps = CABMonetizeSection & SectionDetails;\n", "import { v7 as uuidv7 } from 'uuid';\nimport { z } from 'zod/v4';\n\nimport { SectionType } from './common';\nimport { CABRule } from './rule';\nimport { type SectionDetails } from './shared';\nimport { CABTextSection } from './text';\n\nexport const CABProgressBarSection = z.object({\n /** Empty = shown everywhere; otherwise uppercase ISO country codes. */\n countryCodes: z.array(z.string()).default(() => []),\n name: z.string().optional(),\n rule: CABRule.optional(),\n sectionId: z.uuid().default(() => uuidv7()),\n sections: z.union([z.array(CABTextSection), z.strictObject({}).transform(() => [])]).default(() => []),\n sectionType: z.literal(SectionType.progressBar).default(SectionType.progressBar),\n});\n\nexport type CABProgressBarSection = z.infer<typeof CABProgressBarSection>;\n\nexport type CABProgressBarSectionProps = CABProgressBarSection & SectionDetails;\n", "import { v7 as uuidv7 } from 'uuid';\nimport { z } from 'zod/v4';\n\nimport { QuantityInput, quantityInputs, SectionType } from './common';\nimport { CABRule } from './rule';\nimport { type SectionDetails } from './shared';\n\nexport const CABQuantitySection = z.object({\n errorMessages: z\n .record(\n z.string(),\n z.object({\n max: z.string().optional(),\n min: z.string().optional(),\n neg: z.string().optional(),\n })\n )\n .default({\n en: {\n max: 'Maximum quantity allowed is {{max}}',\n min: 'Minimum quantity required is {{min}}',\n neg: 'Quantity cannot be negative',\n },\n }),\n inputType: z.enum(quantityInputs).default(QuantityInput.select),\n max: z.number().min(1).max(100).default(10),\n min: z.number().min(1).default(1),\n name: z.string().optional(),\n rule: CABRule.optional(),\n sectionId: z.uuid().default(() => uuidv7()),\n sectionType: z.literal(SectionType.quantity).default(SectionType.quantity),\n});\n\nexport type CABQuantitySection = z.infer<typeof CABQuantitySection>;\n\nexport type CABQuantitySectionProps = CABQuantitySection & SectionDetails;\n", "import { v7 as uuidv7 } from 'uuid';\nimport { z } from 'zod/v4';\n\nimport { ReviewsSize, reviewsSizes, SectionType } from './common';\nimport { CABRule } from './rule';\nimport { type SectionDetails } from './shared';\n\nexport const CABReviewsSection = z.object({\n color: z.string().default('#fadb14'),\n name: z.string().optional(),\n rule: CABRule.optional(),\n sectionId: z.uuid().default(() => uuidv7()),\n sectionType: z.literal(SectionType.reviews).default(SectionType.reviews),\n size: z.enum(reviewsSizes).default(ReviewsSize.default),\n});\n\nexport type CABReviewsSection = z.infer<typeof CABReviewsSection>;\n\nexport type CABReviewsSectionProps = CABReviewsSection & SectionDetails;\n", "import { slice } from 'es-toolkit/compat';\nimport { v7 as uuidv7 } from 'uuid';\nimport { z } from 'zod/v4';\n\nimport { SectionType, VariantMode, variantModes, VariantSelector, variantSelectors } from './common';\nimport { CABRule } from './rule';\nimport { type SectionDetails } from './shared';\n\nexport const CABVariantsSection = z.object({\n hideOutOfStockVariants: z.boolean().default(false),\n name: z.string().optional(),\n rule: CABRule.optional(),\n sectionId: z.uuid().default(() => uuidv7()),\n sectionType: z.literal(SectionType.variants).default(SectionType.variants),\n selector: z.enum(slice(variantSelectors, 0, 3)).default(VariantSelector.menu),\n variantMode: z.enum(variantModes).default(VariantMode.multiple),\n});\n\nexport type CABVariantsSection = z.infer<typeof CABVariantsSection>;\n\nexport type CABVariantsSectionProps = CABVariantsSection & SectionDetails;\n", "import { z } from 'zod/v4';\n\nimport { WidgetType } from './checkout-and-beyond/constants';\n\nexport const GiftWithPurchase = z.looseObject({\n type: z.literal(WidgetType.gift_with_purchase).default(WidgetType.gift_with_purchase),\n});\n\nexport type GiftWithPurchase = z.infer<typeof GiftWithPurchase>;\n", "import { z } from 'zod/v4';\n\nimport { WidgetType } from './checkout-and-beyond/constants';\nimport { CABRootSection } from './checkout-and-beyond/root';\n\n/** v1 English label overrides (React `switchToSubscription.language`); each falls back to a shared `SWITCH_LABELS` default. */\nexport const LineItemEditorSwitchLanguageV1 = z.object({\n downgradeToOneTimeLabel: z.string().optional(),\n /** Frequency-option template (`{{frequency}}`/`{{interval}}`) for the plan select. */\n subscriptionOptionLabel: z.string().optional(),\n upgradeToSubscriptionLabel: z.string().optional(),\n upgradeToSubscriptionWithoutDiscountLabel: z.string().optional(),\n});\n\nexport const LineItemEditorV1 = z.object({\n /** Legacy `getStyles` button style; the converter carries a valid kind, defaulting to `plain`. */\n button: z.object({ kind: z.enum(['plain', 'primary', 'secondary']).optional() }).optional(),\n previewMode: z.boolean().optional(),\n switchToSubscription: z\n .object({\n disableDowngrade: z.boolean().optional(),\n language: LineItemEditorSwitchLanguageV1.optional(),\n })\n .optional(),\n switchToSubscriptionEnabled: z.boolean().optional(),\n tracking: z\n .object({\n enableAttribution: z.boolean().optional(),\n enableSource: z.boolean().optional(),\n enableWidget: z.boolean().optional(),\n })\n .optional(),\n type: z.literal(WidgetType.ui_extension_line_item_editor).default(WidgetType.ui_extension_line_item_editor),\n version: z.literal(1),\n});\n\nexport const LineItemEditor = z.discriminatedUnion('version', [\n LineItemEditorV1,\n CABRootSection.extend({\n type: z.literal(WidgetType.ui_extension_line_item_editor).default(WidgetType.ui_extension_line_item_editor),\n }),\n]);\n\nexport type LineItemEditor = z.infer<typeof LineItemEditor>;\nexport type LineItemEditorSwitchLanguageV1 = z.infer<typeof LineItemEditorSwitchLanguageV1>;\nexport type LineItemEditorV1 = z.infer<typeof LineItemEditorV1>;\n", "import { z } from 'zod/v4';\n\nimport { WidgetType } from './checkout-and-beyond/constants';\n\nexport const ProgressBar = z.looseObject({\n type: z.literal(WidgetType.ui_extension_progress_bar).default(WidgetType.ui_extension_progress_bar),\n});\n\nexport type ProgressBar = z.infer<typeof ProgressBar>;\n", "import { z } from 'zod/v4';\n\nimport { WidgetType } from './checkout-and-beyond/constants';\nimport { CABRootSection } from './checkout-and-beyond/root';\n\nexport const RebuyButtonV1 = z.looseObject({\n type: z.literal(WidgetType.ui_extension_button).default(WidgetType.ui_extension_button),\n version: z.literal(1),\n});\n\nexport const RebuyButton = z.discriminatedUnion('version', [\n RebuyButtonV1,\n CABRootSection.extend({\n type: z.literal(WidgetType.ui_extension_button).default(WidgetType.ui_extension_button),\n }),\n]);\n\nexport type RebuyButton = z.infer<typeof RebuyButton>;\n", "import { z } from 'zod/v4';\n\nimport { WidgetType } from './checkout-and-beyond/constants';\n\nexport const RebuyMonetize = z.looseObject({\n type: z.literal(WidgetType.ui_extension_ad).default(WidgetType.ui_extension_ad),\n});\n\nexport type RebuyMonetize = z.infer<typeof RebuyMonetize>;\n"],
5
+ "mappings": "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",
6
+ "names": ["z", "z", "z", "z", "z", "uuidv7", "z", "z", "z", "z", "z", "uuidv7", "z", "z", "z", "isString", "uuidv7", "z", "z", "uuidv7", "isString", "z", "uuidv7", "z", "z", "uuidv7", "z", "z", "uuidv7", "uuidv7", "z", "uuidv7", "z", "z", "uuidv7", "z", "uuidv7", "z", "z", "z", "z", "uuidv7", "z", "z", "uuidv7", "uuidv7", "z", "z", "uuidv7", "uuidv7", "z", "z", "uuidv7", "uuidv7", "z", "z", "uuidv7", "uuidv7", "z", "z", "uuidv7", "uuidv7", "z", "z", "uuidv7", "z", "z", "uuidv7", "z", "z", "z", "z", "z", "z", "z", "z", "z", "z", "z", "z", "z"]
7
7
  }
@@ -199,12 +199,13 @@ export declare const ReviewsSize: {
199
199
  readonly large: "large";
200
200
  };
201
201
  export type ReviewsSize = (typeof reviewsSizes)[number];
202
- export declare const sectionTypes: readonly ["banner", "button", "carousel", "cartLine", "dataSource", "image", "layout", "monetize", "offers", "product", "products", "progressBar", "quantity", "reviews", "text", "variants"];
202
+ export declare const sectionTypes: readonly ["banner", "button", "carousel", "cartLine", "dataSource", "discount", "image", "layout", "monetize", "offers", "product", "products", "progressBar", "quantity", "reviews", "text", "variants"];
203
203
  export declare const SectionType: {
204
204
  readonly product: "product";
205
205
  readonly variants: "variants";
206
206
  readonly image: "image";
207
207
  readonly products: "products";
208
+ readonly discount: "discount";
208
209
  readonly carousel: "carousel";
209
210
  readonly monetize: "monetize";
210
211
  readonly banner: "banner";
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/schema/widgets/checkout-and-beyond/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../src/schema/widgets/checkout-and-beyond/common.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { z } from 'zod/v4';
2
+ import { type SectionDetails } from './shared';
3
+ /**
4
+ * The widget discount, modeled as its own offers child section (toggled on/off in the editor and
5
+ * rendered nowhere — it's config-only). Discounting is Shopify Functions-only (Scripts is sunset), so a
6
+ * configured discount always applies via Functions and the amount is in Functions (minor-unit) form for
7
+ * fixed types. `discountedFrom` is the compare-from source; `message` is the Functions discount title.
8
+ */
9
+ export declare const CABDiscountSection: z.ZodObject<{
10
+ amount: z.ZodCatch<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
11
+ discountedBy: z.ZodOptional<z.ZodString>;
12
+ discountedFrom: z.ZodCatch<z.ZodOptional<z.ZodEnum<{
13
+ price: "price";
14
+ compare_at_price: "compare_at_price";
15
+ }>>>;
16
+ message: z.ZodOptional<z.ZodString>;
17
+ name: z.ZodOptional<z.ZodString>;
18
+ quantity: z.ZodDefault<z.ZodNumber>;
19
+ sectionId: z.ZodDefault<z.ZodUUID>;
20
+ sectionType: z.ZodDefault<z.ZodLiteral<"discount">>;
21
+ type: z.ZodCatch<z.ZodEnum<{
22
+ fixed: "fixed";
23
+ none: "none";
24
+ percentage: "percentage";
25
+ fixed_amount: "fixed_amount";
26
+ }>>;
27
+ }, z.core.$strip>;
28
+ export type CABDiscountSection = z.infer<typeof CABDiscountSection>;
29
+ export type CABDiscountSectionProps = CABDiscountSection & SectionDetails;
30
+ //# sourceMappingURL=discount.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discount.d.ts","sourceRoot":"","sources":["../../../../src/schema/widgets/checkout-and-beyond/discount.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAG3B,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;iBAU7B,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEpE,MAAM,MAAM,uBAAuB,GAAG,kBAAkB,GAAG,cAAc,CAAC"}
@@ -5,9 +5,11 @@ export * from './cartLine';
5
5
  export * from './common';
6
6
  export * from './constants';
7
7
  export * from './dataSource';
8
+ export * from './discount';
8
9
  export * from './image';
9
10
  export * from './layout';
10
11
  export * from './monetize';
12
+ export * from './offerLabels';
11
13
  export * from './offers';
12
14
  export * from './product';
13
15
  export * from './products';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/schema/widgets/checkout-and-beyond/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/schema/widgets/checkout-and-beyond/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC"}