UNPKG

@hoxhaolsi/cloud-sdk

Version:

LiquidCommerce Cloud SDK

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