@hoxhaolsi/cloud-sdk
Version:
LiquidCommerce Cloud SDK
1 lines • 53.9 kB
JavaScript
import{loadStripe as e}from"@stripe/stripe-js";var t,i,E,r,n,a,s,I,o,R,l,N,A,T,c,d,O,S,u,_,h,D,C,W;!function(e){e.LOC="loc",e.STAGE="stage",e.PROD="prod",e.DEV="dev"}(t||(t={})),function(e){e.ON_DEMAND="onDemand",e.SHIPPING="shipping"}(i||(i={})),function(e){e.MONDAY="monday",e.TUESDAY="tuesday",e.WEDNESDAY="wednesday",e.THURSDAY="thursday",e.FRIDAY="friday",e.SATURDAY="saturday",e.SUNDAY="sunday"}(E||(E={})),function(e){e.AL="AL",e.AK="AK",e.AR="AR",e.CA="CA",e.CO="CO",e.CT="CT",e.DE="DE",e.DC="DC",e.FL="FL",e.GA="GA",e.HI="HI",e.ID="ID",e.IL="IL",e.IN="IN",e.IA="IA",e.KS="KS",e.KY="KY",e.LA="LA",e.ME="ME",e.MD="MD",e.MA="MA",e.MI="MI",e.MN="MN",e.MS="MS",e.MO="MO",e.MT="MT",e.NE="NE",e.NV="NV",e.NH="NH",e.NJ="NJ",e.NM="NM",e.NY="NY",e.NC="NC",e.ND="ND",e.OH="OH",e.OK="OK",e.OR="OR",e.PA="PA",e.RI="RI",e.SC="SC",e.SD="SD",e.TN="TN",e.TX="TX",e.UT="UT",e.VT="VT",e.VA="VA",e.WA="WA",e.WV="WV",e.WI="WI",e.WY="WY"}(r||(r={})),function(e){e.ALABAMA="AL",e.ALASKA="AK",e.ARKANSAS="AR",e.CALIFORNIA="CA",e.COLORADO="CO",e.CONNECTICUT="CT",e.DELAWARE="DE",e.DISTRICT_OF_COLUMBIA="DC",e.FLORIDA="FL",e.GEORGIA="GA",e.HAWAII="HI",e.IDAHO="ID",e.ILLINOIS="IL",e.INDIANA="IN",e.IOWA="IA",e.KANSAS="KS",e.KENTUCKY="KY",e.LOUISIANA="LA",e.MAINE="ME",e.MARYLAND="MD",e.MASSACHUSETTS="MA",e.MICHIGAN="MI",e.MINNESOTA="MN",e.MISSISSIPPI="MS",e.MISSOURI="MO",e.MONTANA="MT",e.NEBRASKA="NE",e.NEVADA="NV",e.NEW_HAMPSHIRE="NH",e.NEW_JERSEY="NJ",e.NEW_MEXICO="NM",e.NEW_YORK="NY",e.NORTH_CAROLINA="NC",e.NORTH_DAKOTA="ND",e.OHIO="OH",e.OKLAHOMA="OK",e.OREGON="OR",e.PENNSYLVANIA="PA",e.RHODE_ISLAND="RI",e.SOUTH_CAROLINA="SC",e.SOUTH_DAKOTA="SD",e.TENNESSEE="TN",e.TEXAS="TX",e.UTAH="UT",e.VERMONT="VT",e.VIRGINIA="VA",e.WASHINGTON="WA",e.WEST_VIRGINIA="WV",e.WISCONSIN="WI",e.WYOMING="WY"}(n||(n={})),function(e){e.YES="YES",e.NO="NO"}(a||(a={})),function(e){e.YES="YES",e.NO="NO"}(s||(s={})),function(e){e.BRANDS="brands",e.FLAVOR="flavor",e.FULFILLMENT="fulfillment",e.TAGS="tags",e.REGION="region",e.VARIETY="variety",e.ENGRAVING="engraving",e.PRICE="price",e.PRESALE="presale",e.AVAILABILITY="availability",e.CATEGORIES="categories",e.SIZES="sizes",e.COLORS="colors",e.APPELLATION="appellation",e.COUNTRY="country",e.VINTAGE="vintage",e.MATERIALS="materials",e.COLLECTION_TAGS="collectionTags"}(I||(I={})),function(e){e.ASC="asc",e.DESC="desc"}(o||(o={})),function(e){e.PRICE="price"}(R||(R={})),function(e){e.UNSPECIFIED="AVAILABILITY_UNSPECIFIED",e.IN_STOCK="IN_STOCK",e.OUT_OF_STOCK="OUT_OF_STOCK",e.PREORDER="PREORDER",e.BACKORDER="BACKORDER"}(l||(l={})),function(e){e.INVALID_ITEMS_TYPE="Items must be a non-empty array",e.INVALID_ITEMS_MAX="You can only send up to 25 items at a time!",e.INVALID_PART_NUMBER="The partnerNumber provided is invalid",e.INVALID_FULFILLMENT_ID="The fulfillmentId provided is invalid"}(N||(N={})),function(e){e.OOS="OutOfStock",e.ITEMS_NOT_ADDED="ItemsNotAdded",e.ITEMS_REQUESTED_NOT_ADDED="ItemsRequestedNotAdded",e.ITEM_NOT_ENGRAVED="ItemEngravingError",e.ADDRESS_CHANGE="AddressChange",e.LOCATION_AVAILABILITY="LocationAvailability",e.PARTNER_PRODUCT_CONFIGS="PartnerProductConfigs",e.REMOVED_EXISTING_ITEMS="RemovedExistingCartItems",e.RETAILER_MIN="RetailerMinNotMet",e.NO_ITEMS_IN_CART="NoItemsInCart",e.INVALID_ID="InvalidId",e.NO_ID="NoId",e.CART_CHECKOUT_PROCESSED="CartCheckoutProcessed",e.NEW_CART="NewCart",e.DEFAULT="CartError",e.ITEM_QTY_CHANGE="ItemQuantityChange",e.ITEM_ID_NOT_FOUND="ItemIdNotFound",e.ITEMS_REMOVED="ItemsRemoved",e.COUPON_PROCESSING_ERROR="CouponProcessingError",e.COUPON_NOT_FOUND="CouponNotFound",e.COUPON_EXPIRED="CouponExpired",e.COUPON_NOT_STARTED="CouponNotStarted",e.MINIMUM_ORDER_VALUE_NOT_MET="MinimumOrderValueNotMet",e.MINIMUM_ORDER_UNITS_NOT_MET="MinimumOrderUnitsNotMet",e.MINIMUM_DISTINCT_ITEMS_NOT_MET="MinimumDistinctItemsNotMet",e.QUOTA_EXCEEDED="QuotaExceeded",e.USER_LIMIT_EXCEEDED="UserLimitExceeded",e.NOT_FIRST_PURCHASE="NotFirstPurchase",e.INVALID_COUPON="InvalidCoupon",e.INVALID_MEMBERSHIP="InvalidMembership",e.INVALID_DOMAIN="InvalidDomain",e.INVALID_REQUIREMENTS="InvalidRequirements",e.INVALID_ORGANIZATION="InvalidOrganization",e.PRESALE_ITEMS_NOT_ALLOWED="PresaleItemsNotAllowed",e.PRODUCT_NOT_ELIGIBLE="ProductNotEligible",e.NOT_ENOUGH_PREVIOUS_ORDERS="NotEnoughPreviousOrders"}(A||(A={})),function(e){e.SHIPPING="shipping",e.BILLING="billing"}(T||(T={})),function(e){e[e.REQUEST_DEFAULT_ERROR=5480]="REQUEST_DEFAULT_ERROR",e[e.REQUEST_LOCATION_OOS_ERROR=5481]="REQUEST_LOCATION_OOS_ERROR",e[e.REQUEST_LOCATION_MISMATCH_ERROR=5482]="REQUEST_LOCATION_MISMATCH_ERROR",e[e.REQUEST_BIRTHDATE_ERROR=5483]="REQUEST_BIRTHDATE_ERROR",e[e.REQUEST_CART_NOT_AVAILABLE_ERROR=5484]="REQUEST_CART_NOT_AVAILABLE_ERROR",e[e.REQUEST_CART_ID_ERROR=5485]="REQUEST_CART_ID_ERROR",e[e.REQUEST_CART_ITEM_ERROR=5486]="REQUEST_CART_ITEM_ERROR",e[e.REQUEST_VALIDATION_ERROR=5487]="REQUEST_VALIDATION_ERROR",e[e.REQUEST_TAX_ERROR=5488]="REQUEST_TAX_ERROR",e[e.REQUEST_COMPLETE_TOKEN=5489]="REQUEST_COMPLETE_TOKEN",e[e.REQUEST_DEFAULT_COMPLETE_ERROR=5490]="REQUEST_DEFAULT_COMPLETE_ERROR",e[e.REQUEST_CHECKOUT_COMPLETE_UPDATE_ERROR=5491]="REQUEST_CHECKOUT_COMPLETE_UPDATE_ERROR",e[e.REQUEST_CHECKOUT_COMPLETE_SAVE_ERROR=5492]="REQUEST_CHECKOUT_COMPLETE_SAVE_ERROR",e[e.REQUEST_CHECKOUT_HAS_COMPLETE_ERROR=5493]="REQUEST_CHECKOUT_HAS_COMPLETE_ERROR",e[e.REQUEST_NO_CART_ITEM_ERROR=5494]="REQUEST_NO_CART_ITEM_ERROR",e[e.REQUEST_NO_CUSTOMER_FOUND_ERROR=5495]="REQUEST_NO_CUSTOMER_FOUND_ERROR",e[e.REQUEST_PAYMENT_ATTACHED_ERROR=5496]="REQUEST_PAYMENT_ATTACHED_ERROR",e[e.REQUEST_SHIPPING_ADDRESS_ERROR=5497]="REQUEST_SHIPPING_ADDRESS_ERROR",e[e.REQUEST_BILLING_ADDRESS_ERROR=5498]="REQUEST_BILLING_ADDRESS_ERROR",e[e.REQUEST_PAYMENT_NOT_FOUND_ERROR=5499]="REQUEST_PAYMENT_NOT_FOUND_ERROR",e[e.REQUEST_CART_UPDATED_ERROR=5501]="REQUEST_CART_UPDATED_ERROR",e[e.REQUEST_ADDRESS_DEFAULT_ERROR=5502]="REQUEST_ADDRESS_DEFAULT_ERROR",e[e.REQUEST_TIPS_ERROR=5503]="REQUEST_TIPS_ERROR"}(c||(c={})),function(e){e.REQUEST_DEFAULT_ERROR="There's been an error with your checkout request.",e.REQUEST_LOCATION_OOS_ERROR="The requested items are out of stock at this location.",e.REQUEST_LOCATION_MISMATCH_ERROR="The selected location doesn't match your cart items.",e.REQUEST_BIRTHDATE_ERROR="Please verify your birthdate and try again.",e.REQUEST_CART_NOT_AVAILABLE_ERROR="This cart is no longer available.",e.REQUEST_CART_ID_ERROR="The cartId requested is invalid, check and try again.",e.REQUEST_CART_ITEM_ERROR="There's an issue with one or more items in your cart.",e.REQUEST_VALIDATION_ERROR="There's been an error with your request parameters, check and try again.",e.REQUEST_TAX_ERROR="There was an error calculating tax for your order.",e.REQUEST_COMPLETE_TOKEN="The checkout token provided is invalid, check and try again.",e.REQUEST_DEFAULT_COMPLETE_ERROR="There was an error completing your checkout, confirm through the (prepare) method and try again.",e.REQUEST_CHECKOUT_COMPLETE_UPDATE_ERROR="Unable to update your checkout status.",e.REQUEST_CHECKOUT_COMPLETE_SAVE_ERROR="Unable to save your completed checkout.",e.REQUEST_CHECKOUT_HAS_COMPLETE_ERROR="This checkout has already been processed, create a new cart to process a new checkout.",e.REQUEST_NO_CART_ITEM_ERROR="No items found in your cart.",e.REQUEST_NO_CUSTOMER_FOUND_ERROR="The customer account was not found.",e.REQUEST_PAYMENT_ATTACHED_ERROR="The payment attached to the checkout is not a valid payment method for this customer.",e.REQUEST_SHIPPING_ADDRESS_ERROR="The address in your cart has changed, check and try again.",e.REQUEST_BILLING_ADDRESS_ERROR="The billing address in your checkout is not valid, check and try again.",e.REQUEST_PAYMENT_NOT_FOUND_ERROR="The payment method provided was not found.",e.REQUEST_CART_UPDATED_ERROR="The cart requested was updated during your checkout.",e.REQUEST_ADDRESS_DEFAULT_ERROR="There's been an error with your address configurations in cart and/or billing address, check and try again.",e.REQUEST_TIPS_ERROR="There's been an error applying your tips to the checkout."}(d||(d={})),function(e){e.ALE="BEER > ALE",e.LAGER="BEER > LAGER",e.BASE="BEER",e.NON_ALCOHOLIC="BEER > NON-ALCOHOLIC",e.OTHER_BEER="BEER > OTHER",e.OTHER_BEER_SOUR_BEER="BEER > SOUR BEER",e.OTHER_BEER_FLAVORED_BEER="BEER > FLAVORED BEER",e.OTHER_BEER_FRUIT_BEER="BEER > FRUIT BEER"}(O||(O={})),function(e){e.BASE="FOOD",e.PANTRY_OTHER="FOOD > PANTRY > OTHER",e.CANDY="FOOD > CANDY",e.CANDY_OTHER="FOOD > CANDY > OTHER",e.CBD="FOOD > CBD",e.CBD_OTHER="FOOD > CBD > OTHER",e.CHEESE="FOOD > CHEESE",e.CHEESE_OTHER="FOOD > CHEESE > OTHER",e.HOUSEHOLD="FOOD > HOUSEHOLD",e.HOUSEHOLD_SNACKS="FOOD > HOUSEHOLD > SNACKS",e.HOUSEHOLD_OTHER="FOOD > HOUSEHOLD > OTHER",e.PANTRY="FOOD > PANTRY",e.FRUIT="FOOD > FRUIT",e.OTHER="FOOD > OTHER",e.ICE="FOOD > ICE",e.ICE_CREAM="FOOD > ICE CREAM",e.PARTY_SUPPLIES="FOOD > PARTY SUPPLIES",e.PARTY_SUPPLIES_OTHER="FOOD > PARTY SUPPLIES > OTHER",e.SPIRITS_BASED="FOOD > SPIRITS BASED",e.GARNISHES="FOOD > GARNISHES"}(S||(S={})),function(e){e.BASE="MERCHANDISE",e.GLASSWARE="MERCHANDISE > GLASSWARE",e.GLASSWARE_OTHER="MERCHANDISE > GLASSWARE > OTHER",e.HUMIDOR="MERCHANDISE > HUMIDOR",e.ACCESSORY="MERCHANDISE > ACCESSORY",e.ACCESSORY_OTHER="MERCHANDISE > ACCESSORY > OTHER",e.GIFT_SET="MERCHANDISE > GIFT SET",e.GIFT_SET_GIFT_BAG="MERCHANDISE > GIFT SET > GIFT BAG",e.GIFT_SET_GIFT_CARD="MERCHANDISE > GIFT SET > GIFT CARD",e.BAR_TOOLS="MERCHANDISE > BAR TOOLS",e.BAR_TOOLS_ICE_BUCKET="MERCHANDISE > BAR TOOLS > ICE BUCKET",e.BAR_TOOLS_OTHER="MERCHANDISE > BAR TOOLS > OTHER"}(u||(u={})),function(e){e.BASE="MISCELLANEOUS",e.GIFT_CARD="MISCELLANEOUS > GIFT CARDS",e.PROMOTIONAL="MISCELLANEOUS > PROMOTIONAL",e.MEMBERSHIP="MISCELLANEOUS > MEMBERSHIP"}(_||(_={})),function(e){e.BASE="NON ALCOHOLIC",e.BITTERS="NON ALCOHOLIC > BITTERS",e.COCKTAIL_MIX="NON ALCOHOLIC > COCKTAIL MIX",e.COFFEE="NON ALCOHOLIC > COFFEE",e.ENERGY_DRINKS="NON ALCOHOLIC > ENERGY DRINKS",e.JUICE="NON ALCOHOLIC > JUICE",e.SODA="NON ALCOHOLIC > SODA",e.SPECIALTY_ITEM="NON ALCOHOLIC > SPECIALTY ITEM",e.SPECIALTY_ITEM_OTHER="NON ALCOHOLIC > SPECIALTY ITEM > OTHER",e.SPIRITS="NON ALCOHOLIC > SPIRITS",e.TEA="NON ALCOHOLIC > TEA",e.WATER="NON ALCOHOLIC > WATER",e.WINE="NON ALCOHOLIC > WINE",e.SPORTS_DRINKS="NON ALCOHOLIC > SPORTS DRINKS",e.SLURPEES="NON ALCOHOLIC > SLURPEES",e.GINGER_BEER="NON ALCOHOLIC > GINGER BEER",e.DAIRY="NON ALCOHOLIC > DAIRY",e.DAIRY_OTHER="NON ALCOHOLIC > DAIRY > OTHER",e.OTHER="NON ALCOHOLIC > OTHER"}(h||(h={})),function(e){e.BASE="READY TO DRINK",e.HARD_CIDER="READY TO DRINK > HARD CIDER",e.HARD_CIDER_PERRY_PEAR_CIDER="READY TO DRINK > HARD CIDER > PERRY (PEAR CIDER)",e.HARD_CIDER_APPLE_CIDER="READY TO DRINK > HARD CIDER > APPLE CIDER",e.HARD_CIDER_OTHER_FRUIT_CIDER="READY TO DRINK > HARD CIDER > FRUIT CIDER",e.HARD_TEA="READY TO DRINK > HARD TEA",e.HARD_SELTZER="READY TO DRINK > HARD SELTZER",e.MALT_BASED="READY TO DRINK > MALT BASED",e.SPIRITS_BASED_RTDS="READY TO DRINK > SPIRITS-BASED RTDS",e.SPIRITS_BASED_RTDS_AGAVE_COCKTAILS="READY TO DRINK > SPIRITS-BASED RTDS > AGAVE COCKTAILS",e.SPIRITS_BASED_RTDS_GIN_COCKTAILS="READY TO DRINK > SPIRITS-BASED RTDS > GIN COCKTAILS",e.SPIRITS_BASED_RTDS_RUM_COCKTAILS="READY TO DRINK > SPIRITS-BASED RTDS > RUM COCKTAILS",e.SPIRITS_BASED_RTDS_TEQUILA_COCKTAILS="READY TO DRINK > SPIRITS-BASED RTDS > TEQUILA COCKTAILS",e.SPIRITS_BASED_RTDS_VODKA_COCKTAILS="READY TO DRINK > SPIRITS-BASED RTDS > VODKA COCKTAILS",e.SPIRITS_BASED_RTDS_WHISKEY_COCKTAILS="READY TO DRINK > SPIRITS-BASED RTDS > WHISKEY COCKTAILS",e.SPIRITS_BASED_RTDS_OTHER="READY TO DRINK > SPIRITS-BASED RTDS > OTHER",e.SPIRITS_BASED_RTDS_FROZEN_COCKTAILS="READY TO DRINK > SPIRITS-BASED RTDS > FROZEN COCKTAILS",e.SPIRITS_BASED_RTDS_APERITIF_COCKTAILS="READY TO DRINK > SPIRITS-BASED RTDS > APERITIF COCKTAILS",e.SPIRITS_BASED_RTDS_DESSERT_COFFEE_COCKTAILS="READY TO DRINK > SPIRITS-BASED RTDS > DESSERT & COFFEE COCKTAILS",e.SPIRITS_BASED_RTDS_TEA_COCKTAILS="READY TO DRINK > SPIRITS-BASED RTDS > TEA COCKTAILS",e.WINE_COCKTAILS="READY TO DRINK > WINE COCKTAILS",e.OTHER="READY TO DRINK > OTHER"}(D||(D={})),function(e){e.BASE="SPIRITS",e.AMARO_APERITIF_VERMOUTH="SPIRITS > AMARO APERITIF & VERMOUTH",e.AMARO_APERITIF_VERMOUTH_OTHER="SPIRITS > AMARO APERITIF & VERMOUTH > OTHER",e.BAIJIU="SPIRITS > BAIJIU",e.BITTERS="SPIRITS > BITTERS",e.BRANDY="SPIRITS > BRANDY",e.BRANDY_COGNAC="SPIRITS > BRANDY > COGNAC",e.CACHACA="SPIRITS > CACHACA",e.GIN="SPIRITS > GIN",e.GIN_DRY_GIN="SPIRITS > GIN > DRY GIN",e.GIN_FLAVORED_GIN="SPIRITS > GIN > FLAVORED GIN",e.GIN_OLD_TOM_GIN="SPIRITS > GIN > OLD TOM GIN",e.GIN_OTHER="SPIRITS > GIN > OTHER",e.GRAIN_ALCOHOL="SPIRITS > GRAIN ALCOHOL",e.LIQUEUR="SPIRITS > LIQUEUR",e.MEZCAL="SPIRITS > MEZCAL",e.OTHER_SPIRITS="SPIRITS > OTHER SPIRITS",e.RUM="SPIRITS > RUM",e.RUM_AGED_RUM="SPIRITS > RUM > AGED RUM",e.RUM_DARK_RUM="SPIRITS > RUM > DARK RUM",e.RUM_FLAVORED_RUM="SPIRITS > RUM > FLAVORED RUM",e.RUM_GOLD_RUM="SPIRITS > RUM > GOLD RUM",e.RUM_OTHER="SPIRITS > RUM > OTHER",e.RUM_SPICED="SPIRITS > RUM > SPICED",e.RUM_WHITE_RUM="SPIRITS > RUM > WHITE RUM",e.SHOCHU="SPIRITS > SHOCHU",e.SOJU="SPIRITS > SOJU",e.SOTOL="SPIRITS > SOTOL",e.TEQUILA="SPIRITS > TEQUILA",e.TEQUILA_ANEJO="SPIRITS > TEQUILA > AÑEJO",e.TEQUILA_BLANCO="SPIRITS > TEQUILA > BLANCO",e.TEQUILA_CRISTALINO="SPIRITS > TEQUILA > CRISTALINO",e.TEQUILA_EXTRA_ANEJO="SPIRITS > TEQUILA > EXTRA AÑEJO",e.TEQUILA_OTHER="SPIRITS > TEQUILA > OTHER",e.TEQUILA_REPOSADO="SPIRITS > TEQUILA > REPOSADO",e.VODKA="SPIRITS > VODKA",e.VODKA_FLAVORED_VODKA="SPIRITS > VODKA > FLAVORED VODKA",e.VODKA_OTHER="SPIRITS > VODKA > OTHER",e.VODKA_REGULAR_VODKA="SPIRITS > VODKA > REGULAR VODKA",e.WHISKEY="SPIRITS > WHISKEY",e.WHISKEY_AMERICAN_WHISKEY="SPIRITS > WHISKEY > AMERICAN WHISKEY",e.WHISKEY_BOURBON="SPIRITS > WHISKEY > BOURBON",e.WHISKEY_CANADIAN_WHISKEY="SPIRITS > WHISKEY > CANADIAN WHISKEY",e.WHISKEY_IRISH_WHISKEY="SPIRITS > WHISKEY > IRISH WHISKEY",e.WHISKEY_MOONSHINE="SPIRITS > WHISKEY > MOONSHINE",e.WHISKEY_FLAVORED="SPIRITS > WHISKEY > FLAVORED WHISKEY",e.WHISKEY_OTHER="SPIRITS > WHISKEY > OTHER",e.WHISKEY_SCOTCH="SPIRITS > WHISKEY > SCOTCH"}(C||(C={})),function(e){e.BASE="WINE",e.CHAMPAGNE_SPARKLING="WINE > CHAMPAGNE & SPARKLING",e.CHAMPAGNE_SPARKLING_CAVA="WINE > CHAMPAGNE & SPARKLING > CAVA",e.CHAMPAGNE_SPARKLING_CHAMPAGNE="WINE > CHAMPAGNE & SPARKLING > CHAMPAGNE",e.CHAMPAGNE_SPARKLING_PROSECCO="WINE > CHAMPAGNE & SPARKLING > PROSECCO",e.CHAMPAGNE_SPARKLING_SPARKLING_WINE="WINE > CHAMPAGNE & SPARKLING > SPARKLING WINE",e.CHAMPAGNE_SPARKLING_OTHER="WINE > CHAMPAGNE & SPARKLING > OTHER",e.COOKING="WINE > COOKING",e.DESSERT_FORTIFIED_WINE="WINE > DESSERT & FORTIFIED WINE",e.DESSERT_FORTIFIED_WINE_MEAD="WINE > DESSERT & FORTIFIED WINE > MEAD",e.DESSERT_FORTIFIED_WINE_PORT="WINE > DESSERT & FORTIFIED WINE > PORT",e.DESSERT_FORTIFIED_WINE_SHERRY="WINE > DESSERT & FORTIFIED WINE > SHERRY",e.DESSERT_FORTIFIED_WINE_OTHER="WINE > DESSERT & FORTIFIED WINE > OTHER",e.RED_WINE="WINE > RED WINE",e.RED_WINE_AGIORGITIKO="WINE > RED WINE > AGIORGITIKO",e.RED_WINE_AGLIANICO="WINE > RED WINE > AGLIANICO",e.RED_WINE_ALICANTE_BOUSCHET="WINE > RED WINE > ALICANTE BOUSCHET",e.RED_WINE_BARBERA="WINE > RED WINE > BARBERA",e.RED_WINE_BARBARESCO="WINE > RED WINE > BARBARESCO",e.RED_WINE_BAROLO="WINE > RED WINE > BAROLO",e.RED_WINE_BEAUJOLAIS="WINE > RED WINE > BEAUJOLAIS",e.RED_WINE_BLAUER_ZWEIGELT="WINE > RED WINE > BLAUER ZWEIGELT",e.RED_WINE_BOBAL="WINE > RED WINE > BOBAL",e.RED_WINE_BONARDA="WINE > RED WINE > BONARDA",e.RED_WINE_BORDEAUX="WINE > RED WINE > BORDEAUX",e.RED_WINE_BORDEAUX_BLEND="WINE > RED WINE > BORDEAUX BLEND",e.RED_WINE_BURGUNDY="WINE > RED WINE > BURGUNDY",e.RED_WINE_CABERNET_FRANC="WINE > RED WINE > CABERNET FRANC",e.RED_WINE_CABERNET_SAUVIGNON="WINE > RED WINE > CABERNET SAUVIGNON",e.RED_WINE_CANNONAU="WINE > RED WINE > CANNONAU",e.RED_WINE_CARMENERE="WINE > RED WINE > CARMENERE",e.RED_WINE_CHAMBOURCIN="WINE > RED WINE > CHAMBOURCIN",e.RED_WINE_CHIANTI="WINE > RED WINE > CHIANTI",e.RED_WINE_CINSAULT="WINE > RED WINE > CINSAULT",e.RED_WINE_CORVINA="WINE > RED WINE > CORVINA",e.RED_WINE_DOLCETTO="WINE > RED WINE > DOLCETTO",e.RED_WINE_DORNFELDER="WINE > RED WINE > DORNFELDER",e.RED_WINE_FETEASCA_NEAGRA="WINE > RED WINE > FETEASCA NEAGRA",e.RED_WINE_GAMAY="WINE > RED WINE > GAMAY",e.RED_WINE_GRACIANO="WINE > RED WINE > GRACIANO",e.RED_WINE_GRENACHE="WINE > RED WINE > GRENACHE",e.RED_WINE_LIMNIO="WINE > RED WINE > LIMNIO",e.RED_WINE_MACABEO="WINE > RED WINE > MACABEO",e.RED_WINE_MALBEC="WINE > RED WINE > MALBEC",e.RED_WINE_MENCIA="WINE > RED WINE > MENCIA",e.RED_WINE_MERLOT="WINE > RED WINE > MERLOT",e.RED_WINE_MONICA="WINE > RED WINE > MONICA",e.RED_WINE_MONTEPULCIANO="WINE > RED WINE > MONTEPULCIANO",e.RED_WINE_MOURVEDRE_MONASTRELL="WINE > RED WINE > MOURVEDRE/MONASTRELL",e.RED_WINE_NEBBIOLO="WINE > RED WINE > NEBBIOLO",e.RED_WINE_NEGROAMARO="WINE > RED WINE > NEGROAMARO",e.RED_WINE_NERELLO_MASCALESE="WINE > RED WINE > NERELLO MASCALESE",e.RED_WINE_NERO_DAVOLA="WINE > RED WINE > NERO D'AVOLA",e.RED_WINE_PETIT_VERDOT="WINE > RED WINE > PETIT VERDOT",e.RED_WINE_PETITE_SIRAH="WINE > RED WINE > PETITE SIRAH",e.RED_WINE_PINOT_NOIR="WINE > RED WINE > PINOT NOIR",e.RED_WINE_PINOTAGE="WINE > RED WINE > PINOTAGE",e.RED_WINE_PRIMITIVO="WINE > RED WINE > PRIMITIVO",e.RED_WINE_RED_BLEND="WINE > RED WINE > RED BLEND",e.RED_WINE_RHONE_BLEND="WINE > RED WINE > RHONE BLEND",e.RED_WINE_RIOJA="WINE > RED WINE > RIOJA",e.RED_WINE_SAGRANTINO="WINE > RED WINE > SAGRANTINO",e.RED_WINE_SANGIOVESE="WINE > RED WINE > SANGIOVESE",e.RED_WINE_SAPERAVI="WINE > RED WINE > SAPERAVI",e.RED_WINE_SCHIAVA_TROLLINGER="WINE > RED WINE > SCHIAVA/TROLLINGER",e.RED_WINE_SYRAH_SHIRAZ="WINE > RED WINE > SYRAH/SHIRAZ",e.RED_WINE_TANNAT="WINE > RED WINE > TANNAT",e.RED_WINE_TEMPRANILLO="WINE > RED WINE > TEMPRANILLO",e.RED_WINE_TEROLDEGO="WINE > RED WINE > TEROLDEGO",e.RED_WINE_TINTA_DEL_TORO="WINE > RED WINE > TINTA DEL TORO",e.RED_WINE_TOURIGA_NACIONAL="WINE > RED WINE > TOURIGA NACIONAL",e.RED_WINE_VALPOLICELLA="WINE > RED WINE > VALPOLICELLA",e.RED_WINE_XINOMAVRO="WINE > RED WINE > XINOMAVRO",e.RED_WINE_ZINFANDEL="WINE > RED WINE > ZINFANDEL",e.RED_WINE_ZWEIGELT="WINE > RED WINE > ZWEIGELT",e.RED_WINE_OTHER="WINE > RED WINE > OTHER",e.ROSE_WINE="WINE > ROSE WINE",e.SAKE="WINE > SAKE",e.WHITE_WINE="WINE > WHITE WINE",e.WHITE_WINE_ALBARINO_ALVARINHO="WINE > WHITE WINE > ALBARINO/ALVARINHO",e.WHITE_WINE_ARNEIS="WINE > WHITE WINE > ARNEIS",e.WHITE_WINE_ASTI="WINE > WHITE WINE > ASTI",e.WHITE_WINE_ASSYRTIKO="WINE > WHITE WINE > ASSYRTIKO",e.WHITE_WINE_BURGUNDY="WINE > WHITE WINE > BURGUNDY",e.WHITE_WINE_CARRICANTE="WINE > WHITE WINE > CARRICANTE",e.WHITE_WINE_CATARRATTO="WINE > WHITE WINE > CATARRATTO",e.WHITE_WINE_CHABLIS="WINE > WHITE WINE > CHABLIS",e.WHITE_WINE_CHARDONNAY="WINE > WHITE WINE > CHARDONNAY",e.WHITE_WINE_CHENIN_BLANC="WINE > WHITE WINE > CHENIN BLANC",e.WHITE_WINE_CORTESE="WINE > WHITE WINE > CORTESE",e.WHITE_WINE_FALANGHINA="WINE > WHITE WINE > FALANGHINA",e.WHITE_WINE_FIANO="WINE > WHITE WINE > FIANO",e.WHITE_WINE_FRIULANO="WINE > WHITE WINE > FRIULANO",e.WHITE_WINE_FURMINT="WINE > WHITE WINE > FURMINT",e.WHITE_WINE_GARGANEGA="WINE > WHITE WINE > GARGANEGA",e.WHITE_WINE_GAVI="WINE > WHITE WINE > GAVI",e.WHITE_WINE_GEWURZTRAMINER="WINE > WHITE WINE > GEWURZTRAMINER",e.WHITE_WINE_GRECO_DI_TUFO="WINE > WHITE WINE > GRECO DI TUFO",e.WHITE_WINE_GRENACHE_BLANC="WINE > WHITE WINE > GRENACHE BLANC",e.WHITE_WINE_GRUNER_VELTLINER="WINE > WHITE WINE > GRUNER VELTLINER",e.WHITE_WINE_HUXELREBE="WINE > WHITE WINE > HUXELREBE",e.WHITE_WINE_INZOLIA="WINE > WHITE WINE > INZOLIA",e.WHITE_WINE_MALVASIA="WINE > WHITE WINE > MALVASIA",e.WHITE_WINE_MELON_DE_BOURGOGNE="WINE > WHITE WINE > MELON DE BOURGOGNE",e.WHITE_WINE_MOSCATO_BIANCO="WINE > WHITE WINE > MOSCATO BIANCO",e.WHITE_WINE_MOSCHOFILERO_FILERI="WINE > WHITE WINE > MOSCHOFILERO/FILERI",e.WHITE_WINE_MULLER_THURGAU_RIVANER="WINE > WHITE WINE > MULLER-THURGAU/RIVANER",e.WHITE_WINE_MUSCAT_MOSCATO="WINE > WHITE WINE > MUSCAT/MOSCATO",e.WHITE_WINE_PECORINO="WINE > WHITE WINE > PECORINO",e.WHITE_WINE_PICPOUL="WINE > WHITE WINE > PICPOUL",e.WHITE_WINE_PINOT_BLANC="WINE > WHITE WINE > PINOT BLANC",e.WHITE_WINE_PINOT_GRIGIO_PINOT_GRIS="WINE > WHITE WINE > PINOT GRIGIO/PINOT GRIS",e.WHITE_WINE_POUILLY_FUISSE="WINE > WHITE WINE > POUILLY-FUISSE",e.WHITE_WINE_POUILLY_FUME="WINE > WHITE WINE > POUILLY-FUME",e.WHITE_WINE_RIESLING="WINE > WHITE WINE > RIESLING",e.WHITE_WINE_RIOJA="WINE > WHITE WINE > RIOJA",e.WHITE_WINE_RODITIS="WINE > WHITE WINE > RODITIS",e.WHITE_WINE_SANCERRE="WINE > WHITE WINE > SANCERRE",e.WHITE_WINE_SAUVIGNON_BLANC="WINE > WHITE WINE > SAUVIGNON BLANC",e.WHITE_WINE_SEMILLON="WINE > WHITE WINE > SEMILLON",e.WHITE_WINE_SOAVE="WINE > WHITE WINE > SOAVE",e.WHITE_WINE_SYLVANER="WINE > WHITE WINE > SYLVANER",e.WHITE_WINE_TORRONTES="WINE > WHITE WINE > TORRONTES",e.WHITE_WINE_TREBBIANO_UGNI_BLANC="WINE > WHITE WINE > TREBBIANO/UGNI BLANC",e.WHITE_WINE_TURBIANA="WINE > WHITE WINE > TURBIANA",e.WHITE_WINE_TXAKOLINA="WINE > WHITE WINE > TXAKOLINA",e.WHITE_WINE_VERDEJO="WINE > WHITE WINE > VERDEJO",e.WHITE_WINE_VERDICCHIO="WINE > WHITE WINE > VERDICCHIO",e.WHITE_WINE_VERMENTINO="WINE > WHITE WINE > VERMENTINO",e.WHITE_WINE_VERNACCIA="WINE > WHITE WINE > VERNACCIA",e.WHITE_WINE_VIDIANO="WINE > WHITE WINE > VIDIANO",e.WHITE_WINE_VINHO_VERDE="WINE > WHITE WINE > VINHO VERDE",e.WHITE_WINE_VIOGNIER="WINE > WHITE WINE > VIOGNIER",e.WHITE_WINE_VIURA="WINE > WHITE WINE > VIURA",e.WHITE_WINE_OTHER="WINE > WHITE WINE > OTHER",e.WINE_OTHER="WINE > OTHER"}(W||(W={}));const v={[t.LOC]:"http://localhost:3000",[t.DEV]:"https://dev.api.liquidcommerce.cloud/api",[t.STAGE]:"https://staging.api.liquidcommerce.cloud/api",[t.PROD]:"https://api.liquidcommerce.cloud/api"};class p{constructor(e){this.accessToken=null,this.tokenExpiration=null,this.isAuthenticating=!1,this.xhrFetch=(e,t)=>new Promise(((i,E)=>{const r=new XMLHttpRequest;r.open(t.method||"GET",e),Object.entries(t.headers).forEach((([e,t])=>{r.setRequestHeader(e,t)})),r.onload=()=>{i({ok:r.status>=200&&r.status<300,status:r.status,statusText:r.statusText,headers:r.getAllResponseHeaders().split("\r\n").reduce(((e,t)=>{const[i,E]=t.split(": ");return i&&(e[i]=E),e}),{}),json:()=>Promise.resolve(JSON.parse(r.responseText)),text:()=>Promise.resolve(r.responseText)})},r.onerror=()=>{E(new TypeError("Network request failed"))},r.send(t.body)})),this.apiKey=e.apiKey,this.baseURL=e.baseURL,this.httpClient=this.getFetchImplementation()}static getInstance(e){return p.instance||(p.instance=new p(e)),p.instance}getFetchImplementation(){return"undefined"!=typeof fetch?this.fetchAdapter(fetch):"undefined"!=typeof global&&global.fetch?this.fetchAdapter(global.fetch):"undefined"!=typeof window&&window.fetch?this.fetchAdapter(window.fetch):this.xhrFetch}fetchAdapter(e){return async(t,i)=>{var E;const r=await e(t,i);let n;return"function"==typeof(null===(E=r.headers)||void 0===E?void 0:E.entries)?n=Object.fromEntries(r.headers.entries()):(n={},r.headers.forEach(((e,t)=>{n[t]=e}))),{ok:r.ok,status:r.status,statusText:r.statusText,headers:n,json:()=>r.json(),text:()=>r.text()}}}getUniqueKey(){return`${this.apiKey}_${this.baseURL}`}async authenticate(){var e,t;if(this.isAuthenticating)await new Promise((e=>{const t=()=>{this.isAuthenticating?setTimeout(t,100):e(void 0)};t()}));else{this.isAuthenticating=!0;try{const i=await this.requestWithoutAuth("/authentication",{method:"GET"});this.accessToken=null===(e=null==i?void 0:i.data)||void 0===e?void 0:e.token,this.tokenExpiration=Date.now()+1e3*(null===(t=null==i?void 0:i.data)||void 0===t?void 0:t.exp)}catch(e){throw console.error("Authentication failed:",e),new Error("Failed to authenticate with LiquidCommerce API")}finally{this.isAuthenticating=!1}}}async requestWithoutAuth(e,t){const i=new URL(`api${e}`,this.baseURL),E={"Content-Type":"application/json","X-LIQUID-API-KEY":this.apiKey,...t.headers},r={method:t.method,headers:E,body:t.body?JSON.stringify(t.body):void 0},n=await this.httpClient(i.toString(),r);if(!n.ok)throw new Error(`HTTP error! status: ${n.status}`);return n.json()}isTokenExpired(){return!this.tokenExpiration||Date.now()>=this.tokenExpiration}async request(e,t){this.accessToken&&!this.isTokenExpired()||await this.authenticate();const i=new URL(`api${e}`,this.baseURL),E={"Content-Type":"application/json","X-LIQUID-API-KEY":this.apiKey,Authorization:`Bearer ${this.accessToken}`,...t.headers},r={method:t.method,headers:E,body:t.body?JSON.stringify(t.body):void 0},n=await this.httpClient(i.toString(),r);if(!n.ok)throw new Error(`HTTP error! status: ${n.status}`);return n.json()}async get(e,t){return this.request(e,{method:"GET",headers:t})}async post(e,t,i){return this.request(e,{method:"POST",body:t,headers:i})}async put(e,t,i){return this.request(e,{method:"PUT",body:t,headers:i})}async delete(e,t){return this.request(e,{method:"DELETE",headers:t})}}p.instance=null;class m{constructor(e){this.locationHelperService=e}validateAndNormalizeParams(e){const t={...e};return t.id=this.validateId(t.id),t.items=this.validateAndNormalizeItems(t.items),this.locationHelperService.validateAndNormalizeLocation(t.loc),t.refresh=Boolean(t.refresh),t}validateId(e){return e&&"string"==typeof e&&0!==e.trim().length?e.trim():""}validateAndNormalizeItems(e){if(!Array.isArray(e)||0===e.length)throw new Error(N.INVALID_ITEMS_TYPE);if(e.length>25)throw new Error(N.INVALID_ITEMS_MAX);return e.map((e=>this.validateAndNormalizeItem(e)))}validateAndNormalizeItem(e){const t={...e};if(!this.validatePartNumber(t.partNumber))throw new Error(N.INVALID_PART_NUMBER);if(!t.fulfillmentId||"string"!=typeof t.fulfillmentId||0===t.fulfillmentId.trim().length)throw new Error(N.INVALID_FULFILLMENT_ID);return t.quantity=Math.max(0,Math.floor(t.quantity)),t.engravingLines&&(t.engravingLines=t.engravingLines.map((e=>e.trim())).filter((e=>e.length>0))),t}validatePartNumber(e){if(!e||"string"!=typeof e)return!1;const t=e.split("_");return 2===t.length&&14===t[0].length&&t[1].length>0}}class L{constructor(e){this.locationServiceHelper=e,this.taxonomyValues=new Set([...Object.values(O),...Object.values(S),...Object.values(u),...Object.values(h),...Object.values(D),...Object.values(C),...Object.values(W),...Object.values(_)])}validateAndNormalizeParams(e){var t,i,E,r,n,a,s,I,o;const R={...e},l=null!==(t=null==R?void 0:R.upcs)&&void 0!==t?t:[],N=null!==(i=null==R?void 0:R.grouping)&&void 0!==i?i:[],A=null!==(E=null==R?void 0:R.ids)&&void 0!==E?E:[];if([l,N,A].every((e=>this.validateIdsExist(e))))throw new Error("Product identifiers must be a non-empty array of strings");return l.length>0&&(this.validateIds(null!==(r=null==R?void 0:R.upcs)&&void 0!==r?r:[]),R.upcs=l),N.length>0&&(this.validateIds(null!==(n=null==R?void 0:R.grouping)&&void 0!==n?n:[]),R.grouping=N),A.length>0&&(this.validateIds(null!==(a=null==R?void 0:R.ids)&&void 0!==a?a:[]),R.ids=A),this.validateIds(null!==(o=null!==(I=null!==(s=null==R?void 0:R.upcs)&&void 0!==s?s:null==R?void 0:R.grouping)&&void 0!==I?I:null==R?void 0:R.ids)&&void 0!==o?o:[]),this.locationServiceHelper.validateAndNormalizeLocation(R.loc),R}isValidObjectId(e){return!(!e||"string"!=typeof e)&&/^[0-9a-fA-F]{24}$/.test(e)}validateRetailers(e,t){void 0!==e&&(Array.isArray(e)?(e.length>20&&t.push("Retailers array can have a maximum of 20 values"),e.forEach(((e,i)=>{"string"!=typeof e?t.push(`Retailer at index ${i} must be a string`):this.isValidObjectId(e)||t.push(`Retailer ID at index ${i} must be a valid ObjectId string`)}))):t.push("Retailers must be an array"))}validateAndNormalizeSearchParams(e){const t=[],i={...e};return this.validateRetailers(i.retailers,t),this.validateOrderBy(i.orderBy,t),this.validateOrderDirection(i.orderDirection,t),this.validateFilters(i.filters,t),this.validatePagination(i.page,i.perPage,t),this.locationServiceHelper.validateAndNormalizeLocation(i.loc),t.length>0?{...i,error:t.join(". ")}:i}validateIds(e){if(!e.every((e=>"string"==typeof e&&e.trim().length>0)))throw new Error("All product identifiers must be non-empty strings")}validateIdsExist(e){return!Array.isArray(e)||0===e.length}validateOrderBy(e,t){e&&!Object.values(R).includes(e)&&t.push(`Invalid orderBy value: ${e}`)}validateOrderDirection(e,t){e&&!Object.values(o).includes(e)&&t.push(`Invalid orderDirection value: ${e}`)}validateFilters(e,t){e&&(e.length>10&&t.push("Maximum of 10 filters allowed"),e.forEach((e=>{switch(Object.values(I).includes(e.key)||t.push(`Invalid filter key: ${e.key}`),e.key){case I.AVAILABILITY:this.validateAvailabilityFilter(e.values,t);break;case I.FULFILLMENT:this.validateFulfillmentFilter(e.values,t);break;case I.ENGRAVING:case I.PRESALE:this.validateBinaryFilter(e.values,t);break;case I.CATEGORIES:this.validateCategoriesFilter(e.values,t);break;case I.BRANDS:this.validateArrayFilter(e.values,75,"brands",t);break;case I.FLAVOR:this.validateArrayFilter(e.values,25,"flavor",t);break;case I.REGION:this.validateArrayFilter(e.values,25,"region",t);break;case I.VARIETY:this.validateArrayFilter(e.values,25,"variety",t);break;case I.SIZES:this.validateArrayFilter(e.values,25,"sizes",t);break;case I.APPELLATION:this.validateArrayFilter(e.values,25,"appellation",t);break;case I.COUNTRY:this.validateArrayFilter(e.values,25,"country",t);break;case I.VINTAGE:this.validateArrayFilter(e.values,25,"vintage",t);break;case I.MATERIALS:this.validateArrayFilter(e.values,25,"materials",t);break;case I.COLORS:this.validateArrayFilter(e.values,25,"colors",t);break;case I.TAGS:this.validateArrayFilter(e.values,25,"tags",t)}})))}validateAvailabilityFilter(e,t){Object.values(l).includes(e)||t.push(`Invalid availability value: ${e}`)}validateFulfillmentFilter(e,t){if(!Array.isArray(e))return void t.push("Fulfillment filter must be an array");const E=Object.values(i);e.forEach((e=>{E.includes(e)||t.push(`Invalid fulfillment value: ${e}`)}))}validateBinaryFilter(e,t){Object.values(s).includes(e)||t.push(`Invalid availability value: ${e}`)}validateArrayFilter(e,t,i,E){Array.isArray(e)?e.length>t&&E.push(`${i} filter can have a maximum of ${t} values`):E.push(`${i} filter must be an array`)}validateCategoriesFilter(e,t){Array.isArray(e)?e.every((e=>this.taxonomyValues.has(e)))||t.push("Invalid category value(s) in categories filter"):t.push("Categories filter must be an array")}validatePagination(e,t,i){void 0!==e&&("number"!=typeof e||e<0)&&i.push("Page must be a non-negative number"),void 0!==t&&("number"!=typeof t||t<=0)&&i.push("PerPage must be a positive number")}}class H{constructor(e){this.locationHelperService=e}validateAndNormalizePrepareParams(e){var t,i,E,r,n,a,s,I,o,R,l,N,A,T,c,d,O,S,u,_,h,D,C,W,v;let p={...e};if(!(null==p?void 0:p.cartId)||"string"!=typeof(null==p?void 0:p.cartId))throw new Error("Invalid cartId");return this.validateCustomer(p.customer),this.validateCustomer(p.recipient),(null==p?void 0:p.billingAddress)&&this.validateBillingAddress(p.billingAddress),p.hasAgeVerify=Boolean(null!==(n=null!==(E=null!==(t=null==p?void 0:p.hasAgeVerify)&&void 0!==t?t:null===(i=null==p?void 0:p.customer)||void 0===i?void 0:i.hasAgeVerify)&&void 0!==E?E:null===(r=null==p?void 0:p.recipient)||void 0===r?void 0:r.hasAgeVerify)&&void 0!==n&&n),p.hasSubstitutionPolicy=Boolean(null==p?void 0:p.hasSubstitutionPolicy),p.acceptedAccountCreation=Boolean(null==p?void 0:p.acceptedAccountCreation),p.isGift=Boolean(null==p?void 0:p.isGift),p.billingSameAsShipping=Boolean(null==p?void 0:p.billingSameAsShipping),p&&(null==p?void 0:p.billingAddress)&&""!==(null===(a=null==p?void 0:p.billingAddress)||void 0===a?void 0:a.phone)&&(p={...p,billingAddress:{...null!==(s=null==p?void 0:p.billingAddress)&&void 0!==s?s:{},phone:null!==(o=this.formatPhoneNumber(null===(I=p.billingAddress)||void 0===I?void 0:I.phone))&&void 0!==o?o:""}}),p&&(null==p?void 0:p.customer)&&""!==(null===(R=null==p?void 0:p.customer)||void 0===R?void 0:R.phone)&&(p={...p,customer:{...null!==(l=null==p?void 0:p.customer)&&void 0!==l?l:{},phone:null!==(A=this.formatPhoneNumber(null===(N=null==p?void 0:p.customer)||void 0===N?void 0:N.phone))&&void 0!==A?A:""}}),p&&(null==p?void 0:p.recipient)&&""!==(null===(T=null==p?void 0:p.recipient)||void 0===T?void 0:T.phone)&&(p={...p,customer:{...null!==(c=null==p?void 0:p.recipient)&&void 0!==c?c:{},phone:null!==(O=this.formatPhoneNumber(null===(d=null==p?void 0:p.recipient)||void 0===d?void 0:d.phone))&&void 0!==O?O:""}}),(null==p?void 0:p.isGift)&&(this.validateGiftOptions(p.giftOptions),p&&(null==p?void 0:p.giftOptions)&&""!==(null===(u=null===(S=null==p?void 0:p.giftOptions)||void 0===S?void 0:S.recipient)||void 0===u?void 0:u.phone)&&(p={...p,giftOptions:{...null!==(_=null==p?void 0:p.giftOptions)&&void 0!==_?_:{},recipient:{...null!==(D=null===(h=null==p?void 0:p.giftOptions)||void 0===h?void 0:h.recipient)&&void 0!==D?D:{},phone:null!==(v=this.formatPhoneNumber(null===(W=null===(C=p.giftOptions)||void 0===C?void 0:C.recipient)||void 0===W?void 0:W.phone))&&void 0!==v?v:""}}})),this.validateMarketingPreferences(p.marketingPreferences),(null==p?void 0:p.deliveryTips)&&this.validateDeliveryTips(p.deliveryTips),(null==p?void 0:p.refresh)&&(p.refresh=Boolean(p.refresh)),p}validateAndNormalizeCompleteParams(e){const t={...e};if(!t.token||"string"!=typeof(null==t?void 0:t.token))throw new Error("Invalid token");if(!(null==t?void 0:t.payment)||"string"!=typeof(null==t?void 0:t.payment))throw new Error("Invalid payment token");return void 0!==t.refresh&&(t.refresh=Boolean(t.refresh)),t}validateCustomer(e){if(e&&"object"==typeof e){const{firstName:t,lastName:i,phone:E,email:r}=e;if(t&&"string"!=typeof t)throw new Error("Invalid customer first name");if(i&&"string"!=typeof i)throw new Error("Invalid customer last name");if(E&&"string"!=typeof E)throw new Error("Invalid customer phone");if(r&&"string"!=typeof r)throw new Error("Invalid customer email");"hasAgeVerify"in e&&(e.hasAgeVerify=Boolean(e.hasAgeVerify))}}validateBillingAddress(e){if(!e)return{};if("object"!=typeof e||null===e)throw new Error("Invalid address: must be an object if provided");const t={...e};return["one","two","city","state","zip","country","firstName","lastName","email","phone","company"].forEach((e=>{if(e in t&&"string"!=typeof t[e])throw new Error(`Invalid billing address ${e}: must be a string if provided`)})),"state"in t&&t.state&&(t.state=this.locationHelperService.normalizeState(t.state)),t}validateGiftOptions(e){if(void 0!==e&&"object"!=typeof e)throw new Error("Invalid giftOptions: must be an object if provided");if(e){if("message"in e&&"string"!=typeof e.message)throw new Error("Invalid gift message: must be a string if provided");if("recipient"in e){if("object"!=typeof e.recipient)throw new Error("Invalid gift recipient: must be an object if provided");const{name:t,phone:i,email:E}=e.recipient;if("name"in e.recipient&&"string"!=typeof t)throw new Error("Invalid gift recipient name: must be a string if provided");if("phone"in e.recipient&&"string"!=typeof i)throw new Error("Invalid gift recipient phone: must be a string if provided");if("email"in e.recipient&&"string"!=typeof E)throw new Error("Invalid gift recipient email: must be a string if provided")}}}formatPhoneNumber(e){if(!e)return null;const t=e.replace(/[\s().\-_]/g,"").replace(/[^\d+]/g,"");if(t.startsWith("+1")){const e=t.substring(2);if(10===e.length)return`(${e.substring(0,3)}) ${e.substring(3,6)}-${e.substring(6)}`}if(11===t.length&&t.startsWith("1")){const e=t.substring(1);return`(${e.substring(0,3)}) ${e.substring(3,6)}-${e.substring(6)}`}return 10===t.length?`(${t.substring(0,3)}) ${t.substring(3,6)}-${t.substring(6)}`:t.startsWith("+")?t:e}validateMarketingPreferences(e){if(void 0!==e&&"object"!=typeof e)throw new Error("Invalid marketingPreferences: must be an object if provided");e&&("canEmail"in e&&(e.canEmail=Boolean(e.canEmail)),"canSms"in e&&(e.canSms=Boolean(e.canSms)))}validateDeliveryTips(e){if(!Array.isArray(e))throw new Error("Invalid deliveryTips");e.forEach((e=>{if(!e.fulfillmentId||"string"!=typeof e.fulfillmentId)throw new Error("Invalid fulfillmentId in deliveryTip");if("number"!=typeof e.tip||e.tip<0)throw new Error("Invalid tip amount in deliveryTip")}))}}class y{validateAndNormalizeLocation(e){if(!e)return;if("object"!=typeof e)throw new Error("Location must be a valid object");const{coords:t,address:i}=e;t?this.validateCoordinates(t):i&&this.validateAndNormalizeAddress(i)}validateCoordinates(e){if("number"!=typeof e.lat||"number"!=typeof e.long)throw new Error("Coordinates must be valid numbers");if(e.lat<-90||e.lat>90||e.long<-180||e.long>180)throw new Error("Coordinates are out of valid range")}validateAndNormalizeAddress(e){if(!(null==e?void 0:e.state)||"string"!=typeof(null==e?void 0:e.state))throw new Error("State is required and must be a string");if(e.state=this.normalizeState(e.state),!e.city||"string"!=typeof e.city)throw new Error("City is required and must be a string");if(!e.zip||"string"!=typeof e.zip)throw new Error("ZIP code is required and must be a string")}normalizeState(e){const t=e.toUpperCase();if(r[t])return r[t];const i=e.toUpperCase();if(n[i])return n[i];throw new Error(`Invalid state: ${e}`)}}class P{constructor(e){this.client=e,this.stripe=null,this.elements=null,this.paymentElement=null,this.events=["ready","change","loaderror","loaderstart"],this.eventsErrorMsg="The only Payment Element events allowed (change, ready, loaderstart, loadererror)",this.clientSecret=null,this.isMounted=!1}isFullyInitialized(){return!!(this.stripe&&this.elements&&this.paymentElement&&this.isMounted&&this.clientSecret)}async mount(t){let i=null;if(t.shadowDOM){const e=document.createElement("slot");e.name="stripe-container",t.shadowDOM.appendChild(e);const E=document.createElement("div");E.id=t.elementId,E.slot="stripe-container";t.shadowDOM.host.appendChild(E),i=E}else i=document.getElementById(t.elementId);if(!i)throw new Error(`Element with id "${t.elementId}" not found`);try{this.stripe=await e(t.key)}catch(e){throw new Error("Failed to initialize Stripe")}if(!this.stripe)throw new Error("Stripe instance not initialized");this.clientSecret=t.clientSecret;const E={clientSecret:t.clientSecret,appearance:this.mapAppearance(t.appearance),paymentMethodCreation:"manual"};this.elements=this.stripe.elements(E);const r=this.mapElementOptions(t.elementOptions);this.paymentElement=this.elements.create("payment",r);try{await this.paymentElement.mount(i),this.isMounted=!0,this.paymentElement.on("ready",(()=>{this.isMounted=!0}))}catch(e){throw console.error("Payment Element mount error:",e),new Error("Failed to mount Payment Element")}}async generateToken(){var e,t,i,E,r,n,a,s,I,o;if(!this.stripe||!this.elements)return{type:"client_error",message:"Stripe or Elements not initialized"};if(!this.paymentElement||!this.isMounted)return{type:"client_error",message:"Payment Element not mounted"};if(!this.clientSecret)return{type:"client_error",message:"Client secret not provided"};await new Promise((e=>setTimeout(e,100)));try{const{error:R}=await this.elements.submit();if(R)return{type:"validation_error",message:R.message,code:R.code};const{error:l,paymentMethod:N}=await this.stripe.createPaymentMethod({elements:this.elements});if(l)return{type:"validation_error"===l.type?"validation_error":"api_error",message:l.message,code:l.code,param:l.param};const{setupIntent:A}=await this.stripe.retrieveSetupIntent(this.clientSecret);if(!A)return{type:"confirm_error",message:"There's been an error during your session confirmation",code:"7190"};const{data:T}=await this.confirmSession({paymentMethodId:null!==(e=null==N?void 0:N.id)&&void 0!==e?e:"",sessionSecret:null!==(t=null==A?void 0:A.id)&&void 0!==t?t:""});return T?N?{id:N.id,type:N.type,card:(null==N?void 0:N.card)?{brand:null!==(E=null===(i=N.card)||void 0===i?void 0:i.brand)&&void 0!==E?E:"",country:null!==(r=N.card.country)&&void 0!==r?r:"",expMonth:null!==(n=N.card.exp_month)&&void 0!==n?n:0,expYear:null!==(a=N.card.exp_year)&&void 0!==a?a:0,last4:null!==(s=N.card.last4)&&void 0!==s?s:"",funding:null!==(I=N.card.funding)&&void 0!==I?I:""}:void 0,created:null!==(o=null==N?void 0:N.created)&&void 0!==o?o:0}:{type:"client_error",message:"Failed to generate payment token"}:{type:"confirm_error",message:"There's been an error during your session confirmation",code:"7191"}}catch(e){return{type:"client_error",message:e||"An unexpected error occurred"}}}async confirmSession({sessionSecret:e,paymentMethodId:t}){try{if(!e||!t)throw new Error("customerId, sessionSecret, paymentMethodId are required");return await this.client.post("/users/payments/confirm",{sessionSecret:e,paymentMethodId:t})}catch(e){throw console.error("User session confirmation request failed:",e),e}}subscribe(e,t){if(!this.paymentElement)throw new Error("Payment Element has not been initialized");if(!this.events.includes(e))throw new Error(this.eventsErrorMsg);this.paymentElement.on(e,t)}unsubscribe(e,t){if(!this.paymentElement)throw new Error("Payment Element has not been initialized");if(!this.events.includes(e))throw new Error(this.eventsErrorMsg);this.paymentElement.off(e,t)}mapAppearance(e){if(e)return{theme:"night"===e.theme?"night":"stripe"}}mapElementOptions(e){return{layout:null==e?void 0:e.layout,wallets:{applePay:"auto",googlePay:"auto"}}}unmount(){if(!this.paymentElement)throw new Error("Payment Element has not been initialized");this.paymentElement.unmount(),this.isMounted=!1}collapse(){if(!this.paymentElement)throw new Error("Payment Element has not been initialized");this.paymentElement.collapse()}destroy(){if(!this.paymentElement)throw new Error("Payment Element has not been initialized");this.paymentElement.destroy(),this.cleanup()}cleanup(){this.paymentElement&&(this.paymentElement.unmount(),this.paymentElement.destroy()),this.isMounted=!1,this.stripe=null,this.elements=null,this.paymentElement=null,this.clientSecret=null}}class g{constructor(e){this.client=e}async autocomplete(e,t){try{return await this.client.post("/address/autocomplete",{...e,key:t})}catch(e){throw console.error("Address autocomplete request failed:",e),e}}async details(e,t){try{return await this.client.post("/address/details",{...e,key:t})}catch(e){throw console.error("Address details request failed:",e),e}}}class U{constructor(e,t){this.client=e,this.catalogHelperService=t,this.servicePath="/catalog/"}async availability(e){try{const t=this.catalogHelperService.validateAndNormalizeParams(e);return await this.client.post(`${this.servicePath}availability`,t)}catch(e){throw console.error("Catalog availability request failed:",e),e}}async search(e){try{const t=this.catalogHelperService.validateAndNormalizeSearchParams(e);if(null==t?void 0:t.error)throw new Error(null==t?void 0:t.error);return await this.client.post(`${this.servicePath}search`,t)}catch(e){throw console.error("Catalog search request failed:",e),e}}}class f{constructor(e,t){this.client=e,this.checkoutHelperService=t,this.servicePath="/checkout"}async prepare(e){try{const t=this.checkoutHelperService.validateAndNormalizePrepareParams(e);return await this.client.post(`${this.servicePath}/prepare`,t)}catch(e){throw console.error("Checkout prepare request failed:",e),e}}async complete(e){try{const t=this.checkoutHelperService.validateAndNormalizeCompleteParams(e);return await this.client.post(`${this.servicePath}/complete`,t)}catch(e){throw console.error("Checkout complete request failed:",e),e}}}class M{constructor(e){this.paymentProvider=e,this.collapse=()=>this.paymentProvider.collapse(),this.unmount=()=>this.paymentProvider.unmount(),this.destroy=()=>this.paymentProvider.destroy()}async mount(e){try{await this.paymentProvider.mount(e)}catch(e){throw console.error("Failed to inject payment element:",e),e}}async generateToken(){return this.paymentProvider.generateToken()}subscribe(e,t){this.paymentProvider.subscribe(e,t)}unsubscribe(e,t){this.paymentProvider.unsubscribe(e,t)}}class w{constructor(e){this.client=e,this.servicePath="/users"}async createOrUpdateSession(e){try{if(!(null==e?void 0:e.id)&&!(null==e?void 0:e.email))throw new Error("Either id or email must be provided");return await this.client.post(`${this.servicePath}/session`,e)}catch(e){throw console.error("User session creation/update request failed:",e),e}}async fetchUser(e){try{if(!e)throw new Error("Id is required");return await this.client.get(`${this.servicePath}/fetch/${e}`)}catch(e){throw console.error("User session creation/update request failed:",e),e}}async purge(e){try{if(!e)throw new Error("User identifier (ID or email) must be provided");return await this.client.delete(`${this.servicePath}/purge/${e}`)}catch(e){throw console.error("User purge request failed:",e),e}}async addAddress(e){try{return this.validateAddressParams(e),await this.client.post(`${this.servicePath}/addresses/add`,e)}catch(e){throw console.error("User address add request failed:",e),e}}async updateAddress(e){try{const t=this.validateAddressParams(e);return await this.client.post(`${this.servicePath}/addresses/update`,t)}catch(e){throw console.error("User address update request failed:",e),e}}validateAddressParams(e){const t=this.hasUser(e),i=this.hasUserAddressObj(e),E=this.hasUserAddressCoords(e),r=this.hasUserAddressPlacesId(e);if(t)throw new Error("Missing required parameter customerId for address update.");if(i&&E&&r)throw new Error("Missing required parameters for address update, you need at least, an address object or lat and long, or a google placesId");return E||(e.lat=Number(null==e?void 0:e.lat),e.long=Number(null==e?void 0:e.long)),e}hasUser(e){return!(null==e?void 0:e.customerId)||"string"!=typeof(null==e?void 0:e.customerId)}hasUserAddressObj(e){return!((null==e?void 0:e.one)&&"string"==typeof(null==e?void 0:e.one)&&(null==e?void 0:e.city)&&"string"==typeof(null==e?void 0:e.city)&&(null==e?void 0:e.state)&&"string"==typeof(null==e?void 0:e.state)&&(null==e?void 0:e.zip)&&"string"==typeof(null==e?void 0:e.zip)&&(null==e?void 0:e.type)&&"string"==typeof(null==e?void 0:e.type))}hasUserAddressCoords(e){return!(null==e?void 0:e.lat)&&!(null==e?void 0:e.long)||"number"!=typeof Number(null==e?void 0:e.lat)&&"number"!=typeof Number(null==e?void 0:e.long)}hasUserAddressPlacesId(e){return!(null==e?void 0:e.placesId)||"string"!=typeof(null==e?void 0:e.placesId)}async purgeAddress(e){try{if(!e)throw new Error("Address ID must be provided");return await this.client.delete(`${this.servicePath}/addresses/purge/${e}`)}catch(e){throw console.error("Address purge request failed:",e),e}}async addPayment(e){try{if(!e.customerId||!e.paymentMethodId)throw new Error("Missing required parameters to add payment");return void 0===(null==e?void 0:e.isDefault)&&(null==e||delete e.isDefault),await this.client.post(`${this.servicePath}/payments/add`,e)}catch(e){throw console.error("User add payment request failed:",e),e}}async updatePayment(e){try{if(!e.customerId||!e.paymentMethodId)throw new Error("Missing required parameters to add payment");const{customerId:t,paymentMethodId:i}=e;return await this.client.get(`${this.servicePath}/payments/updateDefault/${t}/${i}`)}catch(e){throw console.error("User add payment request failed:",e),e}}async purgePayment(e,t){try{if(!e||!t)throw new Error("Missing required parameters for payment purge");return await this.client.delete(`${this.servicePath}/payments/purge/${e}/${t}`)}catch(e){throw console.error("Address purge request failed:",e),e}}}class G{constructor(e,t){this.client=e,this.cartHelperService=t,this.servicePath="/cart/update"}async get(e,t){try{let i=this.cartHelperService.validateId(e);if(i=""!==i&&i,i){const e={id:i};return"boolean"==typeof t&&(e.refresh=t),await this.client.post(this.servicePath,e)}return await this.client.post(this.servicePath)}catch(e){throw console.error("Cart update request failed:",e),e}}async update(e){try{const t=this.cartHelperService.validateAndNormalizeParams(e);return await this.client.post(this.servicePath,t)}catch(e){throw console.error("Cart update request failed:",e),e}}}class B{constructor(){this.services=new Map,this.liquidCommerceClientConstructor=null}static getInstance(){return B.instance||(B.instance=new B),B.instance}setLiquidCommerceClientConstructor(e){this.liquidCommerceClientConstructor=e}async getClient(e,t){const i=`LiquidCommerceClient_${e}_${JSON.stringify(t)}`;if(!this.services.has(i)){if(!this.liquidCommerceClientConstructor)throw new Error("LiquidCommerceClient constructor not set");const E=new this.liquidCommerceClientConstructor(e,t);await E.init(),this.services.set(i,E)}return this.services.get(i)}getOrCreateService(e,t,...i){if(!this.services.has(e)){const E="getInstance"in t?t.getInstance(...i):new t(...i);this.services.set(e,E)}return this.services.get(e)}getAuthenticatedClient(e){return this.getOrCreateService(`AuthenticatedClient_${JSON.stringify(e)}`,p,e)}getLocationHelperService(){return this.getOrCreateService("LocationHelperService",y)}getAddressService(e){return this.getOrCreateService(`AddressService_${e.getUniqueKey()}`,g,e)}getCatalogHelperService(){return this.getOrCreateService("CatalogHelperService",L,this.getLocationHelperService())}getCatalogService(e){return this.getOrCreateService(`CatalogService_${e.getUniqueKey()}`,U,e,this.getCatalogHelperService())}getCartHelperService(){return this.getOrCreateService("CartHelperService",m,this.getLocationHelperService())}getCartService(e){return this.getOrCreateService(`CartService_${e.getUniqueKey()}`,G,e,this.getCartHelperService())}getUserService(e){return this.getOrCreateService(`UserService_${e.getUniqueKey()}`,w,e)}getPaymentProviderService(e){return this.getOrCreateService(`PaymentProviderService_${e.getUniqueKey()}`,P,e)}getPaymentService(e){return this.getOrCreateService(`PaymentService_${e.getUniqueKey()}`,M,this.getPaymentProviderService(e))}getCheckoutHelperService(){return this.getOrCreateService("CheckoutHelperService",H,this.getLocationHelperService())}getCheckoutService(e){return this.getOrCreateService(`CheckoutService_${