Skip to content

bundleMemberToProduct

bundleMemberToProduct(member): object

Defined in: .pnpm/@[email protected]_graphql@[email protected]_typescript@6.0.3/node_modules/@storesynk/core/dist/product/bundles.d.ts:207

Adapt a reference-list member into the raw product shape provideProduct normalizes, so member cards reuse the standard displayers AND the full selection machinery (change-option, variant map, sf:variant-change) unchanged. It is a deliberate partial: only the fields the reference selection carries exist - displayers for anything else resolve empty and hide via ss-empty, per convention. featuredImage is surfaced as a single MediaImage so show-image works. Options pass through (swatch data isn’t fetched - reference-list selectors are dropdowns, not swatches); the synthetic “Title: Default Title” option is stripped so single-variant members render no selector (change-option’s hide-when-absent behavior). A TRUNCATED variant list (> BUNDLE_VARIANT_CAP) degrades the member to v1 behavior - default variant only, no options - so a partial selector can never render; pair with memberVariantsTruncated to expose a “choose options on the product page” affordance.

"Product"

{ altText: string | null; url: string; } | null

string

string

object[]

{ minVariantPrice: { amount: string; currencyCode: "USD" | "EUR" | "GBP" | "CAD" | "AFN" | "ALL" | "DZD" | "AOA" | "ARS" | "AMD" | "AWG" | "AUD" | "BBD" | "AZN" | "BDT" | "BSD" | "BHD" | "BIF" | "BZD" | "BMD" | "BTN" | "BAM" | "BRL" | "BOB" | "BWP" | "BND" | "BGN" | "MMK" | "KHR" | "CVE" | "KYD" | "XAF" | "CLP" | "CNY" | "COP" | "KMF" | "CDF" | "CRC" | "HRK" | "CZK" | "DKK" | "DOP" | "XCD" | "EGP" | "ERN" | "ETB" | "FKP" | "XPF" | "FJD" | "GIP" | "GMD" | "GHS" | "GTQ" | "GYD" | "GEL" | "HTG" | "HNL" | "HKD" | "HUF" | "ISK" | "INR" | "IDR" | "ILS" | "IQD" | "JMD" | "JPY" | "JEP" | "JOD" | "KZT" | "KES" | "KID" | "KWD" | "KGS" | "LAK" | "LVL" | "LBP" | "LSL" | "LRD" | "LTL" | "MGA" | "MKD" | "MOP" | "MWK" | "MVR" | "MRU" | "MXN" | "MYR" | "MUR" | "MDL" | "MAD" | "MNT" | "MZN" | "NAD" | "NPR" | "ANG" | "NZD" | "NIO" | "NGN" | "NOK" | "OMR" | "PAB" | "PKR" | "PGK" | "PYG" | "PEN" | "PHP" | "PLN" | "QAR" | "RON" | "RUB" | "RWF" | "WST" | "SHP" | "SAR" | "RSD" | "SCR" | "SGD" | "SDG" | "SOS" | "SYP" | "ZAR" | "KRW" | "SSP" | "SBD" | "LKR" | "SRD" | "SZL" | "SEK" | "CHF" | "TWD" | "THB" | "TZS" | "TTD" | "TND" | "TRY" | "TMT" | "UGX" | "UAH" | "AED" | "UYU" | "UZS" | "VUV" | "VES" | "VND" | "XOF" | "YER" | "ZMW" | "BYN" | "BYR" | "DJF" | "GNF" | "IRR" | "LYD" | "SLL" | "STD" | "STN" | "TJS" | "TOP" | "VED" | "VEF" | "XXX"; }; }

{ amount: string; currencyCode: "USD" | "EUR" | "GBP" | "CAD" | "AFN" | "ALL" | "DZD" | "AOA" | "ARS" | "AMD" | "AWG" | "AUD" | "BBD" | "AZN" | "BDT" | "BSD" | "BHD" | "BIF" | "BZD" | "BMD" | "BTN" | "BAM" | "BRL" | "BOB" | "BWP" | "BND" | "BGN" | "MMK" | "KHR" | "CVE" | "KYD" | "XAF" | "CLP" | "CNY" | "COP" | "KMF" | "CDF" | "CRC" | "HRK" | "CZK" | "DKK" | "DOP" | "XCD" | "EGP" | "ERN" | "ETB" | "FKP" | "XPF" | "FJD" | "GIP" | "GMD" | "GHS" | "GTQ" | "GYD" | "GEL" | "HTG" | "HNL" | "HKD" | "HUF" | "ISK" | "INR" | "IDR" | "ILS" | "IQD" | "JMD" | "JPY" | "JEP" | "JOD" | "KZT" | "KES" | "KID" | "KWD" | "KGS" | "LAK" | "LVL" | "LBP" | "LSL" | "LRD" | "LTL" | "MGA" | "MKD" | "MOP" | "MWK" | "MVR" | "MRU" | "MXN" | "MYR" | "MUR" | "MDL" | "MAD" | "MNT" | "MZN" | "NAD" | "NPR" | "ANG" | "NZD" | "NIO" | "NGN" | "NOK" | "OMR" | "PAB" | "PKR" | "PGK" | "PYG" | "PEN" | "PHP" | "PLN" | "QAR" | "RON" | "RUB" | "RWF" | "WST" | "SHP" | "SAR" | "RSD" | "SCR" | "SGD" | "SDG" | "SOS" | "SYP" | "ZAR" | "KRW" | "SSP" | "SBD" | "LKR" | "SRD" | "SZL" | "SEK" | "CHF" | "TWD" | "THB" | "TZS" | "TTD" | "TND" | "TRY" | "TMT" | "UGX" | "UAH" | "AED" | "UYU" | "UZS" | "VUV" | "VES" | "VND" | "XOF" | "YER" | "ZMW" | "BYN" | "BYR" | "DJF" | "GNF" | "IRR" | "LYD" | "SLL" | "STD" | "STN" | "TJS" | "TOP" | "VED" | "VEF" | "XXX"; }

string

"USD" | "EUR" | "GBP" | "CAD" | "AFN" | "ALL" | "DZD" | "AOA" | "ARS" | "AMD" | "AWG" | "AUD" | "BBD" | "AZN" | "BDT" | "BSD" | "BHD" | "BIF" | "BZD" | "BMD" | "BTN" | "BAM" | "BRL" | "BOB" | "BWP" | "BND" | "BGN" | "MMK" | "KHR" | "CVE" | "KYD" | "XAF" | "CLP" | "CNY" | "COP" | "KMF" | "CDF" | "CRC" | "HRK" | "CZK" | "DKK" | "DOP" | "XCD" | "EGP" | "ERN" | "ETB" | "FKP" | "XPF" | "FJD" | "GIP" | "GMD" | "GHS" | "GTQ" | "GYD" | "GEL" | "HTG" | "HNL" | "HKD" | "HUF" | "ISK" | "INR" | "IDR" | "ILS" | "IQD" | "JMD" | "JPY" | "JEP" | "JOD" | "KZT" | "KES" | "KID" | "KWD" | "KGS" | "LAK" | "LVL" | "LBP" | "LSL" | "LRD" | "LTL" | "MGA" | "MKD" | "MOP" | "MWK" | "MVR" | "MRU" | "MXN" | "MYR" | "MUR" | "MDL" | "MAD" | "MNT" | "MZN" | "NAD" | "NPR" | "ANG" | "NZD" | "NIO" | "NGN" | "NOK" | "OMR" | "PAB" | "PKR" | "PGK" | "PYG" | "PEN" | "PHP" | "PLN" | "QAR" | "RON" | "RUB" | "RWF" | "WST" | "SHP" | "SAR" | "RSD" | "SCR" | "SGD" | "SDG" | "SOS" | "SYP" | "ZAR" | "KRW" | "SSP" | "SBD" | "LKR" | "SRD" | "SZL" | "SEK" | "CHF" | "TWD" | "THB" | "TZS" | "TTD" | "TND" | "TRY" | "TMT" | "UGX" | "UAH" | "AED" | "UYU" | "UZS" | "VUV" | "VES" | "VND" | "XOF" | "YER" | "ZMW" | "BYN" | "BYR" | "DJF" | "GNF" | "IRR" | "LYD" | "SLL" | "STD" | "STN" | "TJS" | "TOP" | "VED" | "VEF" | "XXX"

string

{ nodes: object[]; pageInfo: { hasNextPage: boolean; }; }

object[]

{ hasNextPage: boolean; }

boolean

object

compareAtPriceRange: object

maxVariantPrice: object

compareAtPriceRange.maxVariantPrice.amount

Section titled “compareAtPriceRange.maxVariantPrice.amount”

amount: string

compareAtPriceRange.maxVariantPrice.currencyCode

Section titled “compareAtPriceRange.maxVariantPrice.currencyCode”

currencyCode: "USD" | "EUR" | "GBP" | "CAD" | "AFN" | "ALL" | "DZD" | "AOA" | "ARS" | "AMD" | "AWG" | "AUD" | "BBD" | "AZN" | "BDT" | "BSD" | "BHD" | "BIF" | "BZD" | "BMD" | "BTN" | "BAM" | "BRL" | "BOB" | "BWP" | "BND" | "BGN" | "MMK" | "KHR" | "CVE" | "KYD" | "XAF" | "CLP" | "CNY" | "COP" | "KMF" | "CDF" | "CRC" | "HRK" | "CZK" | "DKK" | "DOP" | "XCD" | "EGP" | "ERN" | "ETB" | "FKP" | "XPF" | "FJD" | "GIP" | "GMD" | "GHS" | "GTQ" | "GYD" | "GEL" | "HTG" | "HNL" | "HKD" | "HUF" | "ISK" | "INR" | "IDR" | "ILS" | "IQD" | "JMD" | "JPY" | "JEP" | "JOD" | "KZT" | "KES" | "KID" | "KWD" | "KGS" | "LAK" | "LVL" | "LBP" | "LSL" | "LRD" | "LTL" | "MGA" | "MKD" | "MOP" | "MWK" | "MVR" | "MRU" | "MXN" | "MYR" | "MUR" | "MDL" | "MAD" | "MNT" | "MZN" | "NAD" | "NPR" | "ANG" | "NZD" | "NIO" | "NGN" | "NOK" | "OMR" | "PAB" | "PKR" | "PGK" | "PYG" | "PEN" | "PHP" | "PLN" | "QAR" | "RON" | "RUB" | "RWF" | "WST" | "SHP" | "SAR" | "RSD" | "SCR" | "SGD" | "SDG" | "SOS" | "SYP" | "ZAR" | "KRW" | "SSP" | "SBD" | "LKR" | "SRD" | "SZL" | "SEK" | "CHF" | "TWD" | "THB" | "TZS" | "TTD" | "TND" | "TRY" | "TMT" | "UGX" | "UAH" | "AED" | "UYU" | "UZS" | "VUV" | "VES" | "VND" | "XOF" | "YER" | "ZMW" | "BYN" | "BYR" | "DJF" | "GNF" | "IRR" | "LYD" | "SLL" | "STD" | "STN" | "TJS" | "TOP" | "VED" | "VEF" | "XXX"

minVariantPrice: object

compareAtPriceRange.minVariantPrice.amount

Section titled “compareAtPriceRange.minVariantPrice.amount”

amount: string

compareAtPriceRange.minVariantPrice.currencyCode

Section titled “compareAtPriceRange.minVariantPrice.currencyCode”

currencyCode: "USD" | "EUR" | "GBP" | "CAD" | "AFN" | "ALL" | "DZD" | "AOA" | "ARS" | "AMD" | "AWG" | "AUD" | "BBD" | "AZN" | "BDT" | "BSD" | "BHD" | "BIF" | "BZD" | "BMD" | "BTN" | "BAM" | "BRL" | "BOB" | "BWP" | "BND" | "BGN" | "MMK" | "KHR" | "CVE" | "KYD" | "XAF" | "CLP" | "CNY" | "COP" | "KMF" | "CDF" | "CRC" | "HRK" | "CZK" | "DKK" | "DOP" | "XCD" | "EGP" | "ERN" | "ETB" | "FKP" | "XPF" | "FJD" | "GIP" | "GMD" | "GHS" | "GTQ" | "GYD" | "GEL" | "HTG" | "HNL" | "HKD" | "HUF" | "ISK" | "INR" | "IDR" | "ILS" | "IQD" | "JMD" | "JPY" | "JEP" | "JOD" | "KZT" | "KES" | "KID" | "KWD" | "KGS" | "LAK" | "LVL" | "LBP" | "LSL" | "LRD" | "LTL" | "MGA" | "MKD" | "MOP" | "MWK" | "MVR" | "MRU" | "MXN" | "MYR" | "MUR" | "MDL" | "MAD" | "MNT" | "MZN" | "NAD" | "NPR" | "ANG" | "NZD" | "NIO" | "NGN" | "NOK" | "OMR" | "PAB" | "PKR" | "PGK" | "PYG" | "PEN" | "PHP" | "PLN" | "QAR" | "RON" | "RUB" | "RWF" | "WST" | "SHP" | "SAR" | "RSD" | "SCR" | "SGD" | "SDG" | "SOS" | "SYP" | "ZAR" | "KRW" | "SSP" | "SBD" | "LKR" | "SRD" | "SZL" | "SEK" | "CHF" | "TWD" | "THB" | "TZS" | "TTD" | "TND" | "TRY" | "TMT" | "UGX" | "UAH" | "AED" | "UYU" | "UZS" | "VUV" | "VES" | "VND" | "XOF" | "YER" | "ZMW" | "BYN" | "BYR" | "DJF" | "GNF" | "IRR" | "LYD" | "SLL" | "STD" | "STN" | "TJS" | "TOP" | "VED" | "VEF" | "XXX"

description: string

descriptionHtml: string

handle: string

id: string

media: object

nodes: ({ __typename: "MediaImage"; alt: string | null; id: string; image: { altText: string | null; height: number | null; url: string; width: number | null; } | null; mediaContentType: "IMAGE" | "EXTERNAL_VIDEO" | "MODEL_3D" | "VIDEO"; previewImage: { altText: string | null; url: string; } | null; } | { __typename: "Video"; alt: string | null; id: string; mediaContentType: "IMAGE" | "EXTERNAL_VIDEO" | "MODEL_3D" | "VIDEO"; previewImage: { altText: string | null; url: string; } | null; sources: object[]; } | { __typename: "ExternalVideo"; alt: string | null; embedUrl: string; host: "YOUTUBE" | "VIMEO"; id: string; mediaContentType: "IMAGE" | "EXTERNAL_VIDEO" | "MODEL_3D" | "VIDEO"; previewImage: { altText: string | null; url: string; } | null; } | { __typename: "Model3d"; alt: string | null; id: string; mediaContentType: "IMAGE" | "EXTERNAL_VIDEO" | "MODEL_3D" | "VIDEO"; previewImage: { altText: string | null; url: string; } | null; sources: object[]; })[]

options: object[]

priceRange: object

maxVariantPrice: object

amount: string

currencyCode: "USD" | "EUR" | "GBP" | "CAD" | "AFN" | "ALL" | "DZD" | "AOA" | "ARS" | "AMD" | "AWG" | "AUD" | "BBD" | "AZN" | "BDT" | "BSD" | "BHD" | "BIF" | "BZD" | "BMD" | "BTN" | "BAM" | "BRL" | "BOB" | "BWP" | "BND" | "BGN" | "MMK" | "KHR" | "CVE" | "KYD" | "XAF" | "CLP" | "CNY" | "COP" | "KMF" | "CDF" | "CRC" | "HRK" | "CZK" | "DKK" | "DOP" | "XCD" | "EGP" | "ERN" | "ETB" | "FKP" | "XPF" | "FJD" | "GIP" | "GMD" | "GHS" | "GTQ" | "GYD" | "GEL" | "HTG" | "HNL" | "HKD" | "HUF" | "ISK" | "INR" | "IDR" | "ILS" | "IQD" | "JMD" | "JPY" | "JEP" | "JOD" | "KZT" | "KES" | "KID" | "KWD" | "KGS" | "LAK" | "LVL" | "LBP" | "LSL" | "LRD" | "LTL" | "MGA" | "MKD" | "MOP" | "MWK" | "MVR" | "MRU" | "MXN" | "MYR" | "MUR" | "MDL" | "MAD" | "MNT" | "MZN" | "NAD" | "NPR" | "ANG" | "NZD" | "NIO" | "NGN" | "NOK" | "OMR" | "PAB" | "PKR" | "PGK" | "PYG" | "PEN" | "PHP" | "PLN" | "QAR" | "RON" | "RUB" | "RWF" | "WST" | "SHP" | "SAR" | "RSD" | "SCR" | "SGD" | "SDG" | "SOS" | "SYP" | "ZAR" | "KRW" | "SSP" | "SBD" | "LKR" | "SRD" | "SZL" | "SEK" | "CHF" | "TWD" | "THB" | "TZS" | "TTD" | "TND" | "TRY" | "TMT" | "UGX" | "UAH" | "AED" | "UYU" | "UZS" | "VUV" | "VES" | "VND" | "XOF" | "YER" | "ZMW" | "BYN" | "BYR" | "DJF" | "GNF" | "IRR" | "LYD" | "SLL" | "STD" | "STN" | "TJS" | "TOP" | "VED" | "VEF" | "XXX"

minVariantPrice: object

amount: string

currencyCode: "USD" | "EUR" | "GBP" | "CAD" | "AFN" | "ALL" | "DZD" | "AOA" | "ARS" | "AMD" | "AWG" | "AUD" | "BBD" | "AZN" | "BDT" | "BSD" | "BHD" | "BIF" | "BZD" | "BMD" | "BTN" | "BAM" | "BRL" | "BOB" | "BWP" | "BND" | "BGN" | "MMK" | "KHR" | "CVE" | "KYD" | "XAF" | "CLP" | "CNY" | "COP" | "KMF" | "CDF" | "CRC" | "HRK" | "CZK" | "DKK" | "DOP" | "XCD" | "EGP" | "ERN" | "ETB" | "FKP" | "XPF" | "FJD" | "GIP" | "GMD" | "GHS" | "GTQ" | "GYD" | "GEL" | "HTG" | "HNL" | "HKD" | "HUF" | "ISK" | "INR" | "IDR" | "ILS" | "IQD" | "JMD" | "JPY" | "JEP" | "JOD" | "KZT" | "KES" | "KID" | "KWD" | "KGS" | "LAK" | "LVL" | "LBP" | "LSL" | "LRD" | "LTL" | "MGA" | "MKD" | "MOP" | "MWK" | "MVR" | "MRU" | "MXN" | "MYR" | "MUR" | "MDL" | "MAD" | "MNT" | "MZN" | "NAD" | "NPR" | "ANG" | "NZD" | "NIO" | "NGN" | "NOK" | "OMR" | "PAB" | "PKR" | "PGK" | "PYG" | "PEN" | "PHP" | "PLN" | "QAR" | "RON" | "RUB" | "RWF" | "WST" | "SHP" | "SAR" | "RSD" | "SCR" | "SGD" | "SDG" | "SOS" | "SYP" | "ZAR" | "KRW" | "SSP" | "SBD" | "LKR" | "SRD" | "SZL" | "SEK" | "CHF" | "TWD" | "THB" | "TZS" | "TTD" | "TND" | "TRY" | "TMT" | "UGX" | "UAH" | "AED" | "UYU" | "UZS" | "VUV" | "VES" | "VND" | "XOF" | "YER" | "ZMW" | "BYN" | "BYR" | "DJF" | "GNF" | "IRR" | "LYD" | "SLL" | "STD" | "STN" | "TJS" | "TOP" | "VED" | "VEF" | "XXX"

productType: string

title: string

variants: object

nodes: object[]

vendor: string