@liquidcommerce/cloud-sdk
Version:
LiquidCommerce Cloud SDK
1 lines • 67.6 kB
JavaScript
import{loadStripe as e}from"@stripe/stripe-js";var t,i,r,n,s,a,E,o,I,l,R,c,d,A,u,N,h,T,S,O,_,C,v,D,p,m,W,y,L,g;!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"}(r||(r={})),function(e){e.AL="AL",e.AK="AK",e.AR="AR",e.AZ="AZ",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"}(n||(n={})),function(e){e.ALABAMA="AL",e.ALASKA="AK",e.ARKANSAS="AR",e.ARIZONA="AZ",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"}(s||(s={})),function(e){e.YES="YES",e.NO="NO"}(a||(a={})),function(e){e.YES="YES",e.NO="NO"}(E||(E={})),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"}(o||(o={})),function(e){e.ASC="asc",e.DESC="desc"}(I||(I={})),function(e){e.PRICE="price"}(l||(l={})),function(e){e.UNSPECIFIED="AVAILABILITY_UNSPECIFIED",e.IN_STOCK="IN_STOCK",e.OUT_OF_STOCK="OUT_OF_STOCK",e.PREORDER="PREORDER",e.BACKORDER="BACKORDER"}(R||(R={})),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"}(c||(c={})),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.RETAILER_FULFILLMENT_INVALID="RetailerFulfillmentInvalid",e.COUPON_PROCESSING_ERROR="CouponProcessingError",e.COUPON_NOT_FOUND="CouponNotFound",e.COUPON_EXPIRED="CouponExpired",e.NO_APPLICABLE_DISCOUNT="NoApplicableDiscount",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.PRODUCT_NOT_ELIGIBLE="ProductNotEligible",e.NOT_ENOUGH_PREVIOUS_ORDERS="NotEnoughPreviousOrders",e.PRESALE_ITEMS_NOT_ALLOWED="PresaleItemsNotAllowed",e.PRESALE_LIMIT_EXCEEDED="PresaleLimitExceeded",e.PRESALE_NOT_STARTED="PresaleNotStarted",e.PRESALE_EXPIRED="PresaleExpired",e.PRESALE_MIXED_CART="PresaleMixedCart"}(d||(d={})),function(e){e.SHIPPING="shipping",e.BILLING="billing"}(A||(A={})),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"}(u||(u={})),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."}(N||(N={})),function(e){e.ERROR_PROCESSING_GIFT_CARDS="ErrorProcessingGiftCards",e.INVALID_GIFT_CARD_CODE="InvalidGiftCardCodes",e.INVALID_GIFT_CARD_PARTNER="InvalidGiftCardPartner",e.INACTIVE_GIFT_CARD="InactiveGiftCard",e.GIFT_CARD_ALREADY_IN_USE="GiftCardAlreadyInUse",e.GIFT_CARD_EXPIRED="GiftCardExpired",e.GIFT_CARD_BALANCE_DEPLETED="GiftCardBalanceDepleted"}(h||(h={})),function(e){e.CREATED="created",e.PROCESSING="processing",e.CANCELED="canceled",e.DELIVERED="delivered",e.TEST="test"}(T||(T={})),function(e){e.LIQUIDCOMMERCE="LiquidCommerce OMS",e.RESERVEBAR="ReserveBar OMS"}(S||(S={})),function(e){e.PENDING="pending",e.SHIPPED="shipped",e.DELIVERED="delivered",e.CANCELED="canceled",e.RETURNED="returned"}(O||(O={})),function(e){e.SHIPPING="shipping",e.ON_DEMAND="onDemand",e.DIGITAL="digital",e.BOPIS="bopis"}(_||(_={})),function(e){e.STANDARD="standard",e.PRE_SALE="pre_sale",e.BACK_ORDER="back_order"}(C||(C={})),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"}(v||(v={})),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"}(D||(D={})),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"}(p||(p={})),function(e){e.BASE="MISCELLANEOUS",e.GIFT_CARD="MISCELLANEOUS > GIFT CARDS",e.PROMOTIONAL="MISCELLANEOUS > PROMOTIONAL",e.MEMBERSHIP="MISCELLANEOUS > MEMBERSHIP"}(m||(m={})),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"}(W||(W={})),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"}(y||(y={})),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"}(L||(L={})),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"}(g||(g={}));const P={[t.LOC]:"https://dev.api.liquidcommerce.cloud",[t.DEV]:"https://dev.api.liquidcommerce.cloud",[t.STAGE]:"https://staging.api.liquidcommerce.cloud",[t.PROD]:"https://api.liquidcommerce.cloud"};function H(e){return async(t,i)=>{var r;const n=await e(t,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(((e,t)=>{s[t]=e}))),{ok:n.ok,status:n.status,statusText:n.statusText,headers:s,json:()=>n.json(),text:()=>n.text()}}}const f=(e,t)=>new Promise(((i,r)=>{const n=new XMLHttpRequest;n.open(t.method||"GET",e),Object.entries(t.headers).forEach((([e,t])=>{n.setRequestHeader(e,t)})),n.onload=()=>{i({ok:n.status>=200&&n.status<300,status:n.status,statusText:n.statusText,headers:n.getAllResponseHeaders().split("\r\n").reduce(((e,t)=>{const[i,r]=t.split(": ");return i&&(e[i]=r),e}),{}),json:()=>Promise.resolve(JSON.parse(n.responseText)),text:()=>Promise.resolve(n.responseText)})},n.onerror=()=>{r(new TypeError("Network request failed"))},n.send(t.body)}));function U(){return"undefined"!=typeof fetch?H(fetch):"undefined"!=typeof global&&global.fetch?H(global.fetch):"undefined"!=typeof window&&window.fetch?H(window.fetch):f}class w{constructor(e){this.accessToken=null,this.tokenExpiration=null,this.isAuthenticating=!1,this.apiKey=e.apiKey,this.env=e.env,this.baseURL=e.baseURL,this.httpClient=U()}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=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 getAuth(){const e=await this.requestWithoutAuth("/authentication",{method:"GET"});return null==e?void 0:e.data}async requestWithoutAuth(e,t){const i=new URL(`api${e}`,this.baseURL),r={"Content-Type":"application/json","X-LIQUID-API-KEY":this.apiKey,"X-LIQUID-API-OBF":"true",...t.headers},n={method:t.method,headers:r,body:t.body?JSON.stringify(t.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(e,t){try{this.accessToken&&!this.isTokenExpired()||await this.authenticate();const i=new URL(`api${e}`,this.baseURL),r={"Content-Type":"application/json","X-LIQUID-API-KEY":this.apiKey,"X-LIQUID-API-OBF":"true","X-LIQUID-API-SDK":"true",Authorization:`Bearer ${this.accessToken}`,...t.headers},n={method:t.method,headers:r,body:t.body?JSON.stringify(t.body):void 0},s=await this.httpClient(i.toString(),n);let a;try{a=await s.json()}catch(e){a={message:await s.text().catch((()=>`HTTP error! status: ${s.status}`))||e}}if(!s.ok){throw{...a,status:s.status,message:(null==a?void 0:a.message)||`HTTP error! status: ${s.status}`}}return a}catch(e){throw e}}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})}}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(c.INVALID_ITEMS_TYPE);if(e.length>25)throw new Error(c.INVALID_ITEMS_MAX);return e.map((e=>this.validateAndNormalizeItem(e)))}validateAndNormalizeItem(e){const t={...e};if(!this.validatePartNumber(t.partNumber))throw new Error(c.INVALID_PART_NUMBER);if(!t.fulfillmentId||"string"!=typeof t.fulfillmentId||0===t.fulfillmentId.trim().length)throw new Error(c.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&&t[0].length>0&&t[1].length>0}}class b{constructor(e){this.locationServiceHelper=e,this.taxonomyValues=new Set([...Object.values(v),...Object.values(D),...Object.values(p),...Object.values(W),...Object.values(y),...Object.values(L),...Object.values(g),...Object.values(m)])}validateAndNormalizeParams(e){var t,i,r,n,s,a,E,o,I;const l={...e},R=null!==(t=null==l?void 0:l.upcs)&&void 0!==t?t:[],c=null!==(i=null==l?void 0:l.grouping)&&void 0!==i?i:[],d=null!==(r=null==l?void 0:l.ids)&&void 0!==r?r:[];if([R,c,d].every((e=>this.validateIdsExist(e))))throw new Error("Product identifiers must be a non-empty array of strings");return R.length>0&&(this.validateIds(null!==(n=null==l?void 0:l.upcs)&&void 0!==n?n:[]),l.upcs=R),c.length>0&&(this.validateIds(null!==(s=null==l?void 0:l.grouping)&&void 0!==s?s:[]),l.grouping=c),d.length>0&&(this.validateIds(null!==(a=null==l?void 0:l.ids)&&void 0!==a?a:[]),l.ids=d),this.validateIds(null!==(I=null!==(o=null!==(E=null==l?void 0:l.upcs)&&void 0!==E?E:null==l?void 0:l.grouping)&&void 0!==o?o:null==l?void 0:l.ids)&&void 0!==I?I:[]),this.locationServiceHelper.validateAndNormalizeLocation(l.loc),l}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(l).includes(e)&&t.push(`Invalid orderBy value: ${e}`)}validateOrderDirection(e,t){e&&!Object.values(I).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(o).includes(e.key)||t.push(`Invalid filter key: ${e.key}`),e.key){case o.AVAILABILITY:this.validateAvailabilityFilter(e.values,t);break;case o.FULFILLMENT:this.validateFulfillmentFilter(e.values,t);break;case o.ENGRAVING:case o.PRESALE:this.validateBinaryFilter(e.values,t);break;case o.CATEGORIES:this.validateCategoriesFilter(e.values,t);break;case o.BRANDS:this.validateArrayFilter(e.values,75,"brands",t);break;case o.FLAVOR:this.validateArrayFilter(e.values,25,"flavor",t);break;case o.REGION:this.validateArrayFilter(e.values,25,"region",t);break;case o.VARIETY:this.validateArrayFilter(e.values,25,"variety",t);break;case o.SIZES:this.validateArrayFilter(e.values,25,"sizes",t);break;case o.APPELLATION:this.validateArrayFilter(e.values,25,"appellation",t);break;case o.COUNTRY:this.validateArrayFilter(e.values,25,"country",t);break;case o.VINTAGE:this.validateArrayFilter(e.values,25,"vintage",t);break;case o.MATERIALS:this.validateArrayFilter(e.values,25,"materials",t);break;case o.COLORS:this.validateArrayFilter(e.values,25,"colors",t);break;case o.TAGS:this.validateArrayFilter(e.values,25,"tags",t)}})))}validateAvailabilityFilter(e,t){Object.values(R).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 r=Object.values(i);e.forEach((e=>{r.includes(e)||t.push(`Invalid fulfillment value: ${e}`)}))}validateBinaryFilter(e,t){Object.values(E).includes(e)||t.push(`Invalid availability value: ${e}`)}validateArrayFilter(e,t,i,r){Array.isArray(e)?e.length>t&&r.push(`${i} filter can have a maximum of ${t} values`):r.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 G{constructor(e){this.locationHelperService=e}validateAndNormalizePrepareParams(e){var t,i,r,n,s,a,E,o,I,l,R,c,d,A,u,N,h,T,S,O;let _={...e};if(!(null==_?void 0:_.cartId)||"string"!=typeof(null==_?void 0:_.cartId))throw new Error("Invalid cartId");return this.validateCustomer(_.customer),(null==_?void 0:_.billingAddress)&&this.validateBillingAddress(_.billingAddress),_.hasAgeVerify=Boolean(null!==(r=null!==(t=null==_?void 0:_.hasAgeVerify)&&void 0!==t?t:null===(i=null==_?void 0:_.customer)||void 0===i?void 0:i.hasAgeVerify)&&void 0!==r&&r),_.hasSubstitutionPolicy=Boolean(null==_?void 0:_.hasSubstitutionPolicy),_.acceptedAccountCreation=Boolean(null==_?void 0:_.acceptedAccountCreation),_.isGift=Boolean(null==_?void 0:_.isGift),_.billingSameAsShipping=Boolean(null==_?void 0:_.billingSameAsShipping),_&&(null==_?void 0:_.billingAddress)&&""!==(null===(n=null==_?void 0:_.billingAddress)||void 0===n?void 0:n.phone)&&(_={..._,billingAddress:{...null!==(s=null==_?void 0:_.billingAddress)&&void 0!==s?s:{},phone:null!==(E=this.formatPhoneNumber(null===(a=_.billingAddress)||void 0===a?void 0:a.phone))&&void 0!==E?E:""}}),_&&(null==_?void 0:_.customer)&&""!==(null===(o=null==_?void 0:_.customer)||void 0===o?void 0:o.phone)&&(_={..._,customer:{...null!==(I=null==_?void 0:_.customer)&&void 0!==I?I:{},phone:null!==(R=this.formatPhoneNumber(null===(l=null==_?void 0:_.customer)||void 0===l?void 0:l.phone))&&void 0!==R?R:""}}),(null==_?void 0:_.isGift)&&(this.validateGiftOptions(_.giftOptions),_&&(null==_?void 0:_.giftOptions)&&""!==(null===(d=null===(c=null==_?void 0:_.giftOptions)||void 0===c?void 0:c.recipient)||void 0===d?void 0:d.phone)&&(_={..._,giftOptions:{...null!==(A=null==_?void 0:_.giftOptions)&&void 0!==A?A:{},recipient:{...null!==(N=null===(u=null==_?void 0:_.giftOptions)||void 0===u?void 0:u.recipient)&&void 0!==N?N:{},phone:null!==(S=this.formatPhoneNumber(null===(T=null===(h=_.giftOptions)||void 0===h?void 0:h.recipient)||void 0===T?void 0:T.phone))&&void 0!==S?S:""}}})),this.validateMarketingPreferences(null==_?void 0:_.marketingPreferences),(null==_?void 0:_.giftCards)&&(_.giftCards=this.validateGiftCards(null!==(O=null==_?void 0:_.giftCards)&&void 0!==O?O:[])),(null==_?void 0:_.deliveryTips)&&this.validateDeliveryTips(_.deliveryTips),(null==_?void 0:_.refresh)&&(_.refresh=Boolean(_.refresh)),_}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:r,email:n}=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(r&&"string"!=typeof r)throw new Error("Invalid customer phone");if(n&&"string"!=typeof n)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}validateGiftCards(e){if(!e||0===e.length)return[];if(!Array.isArray(e))throw new Error("Invalid gift cards: must be a string array if provided");const t=[...e];return t.forEach((e=>{if("string"!=typeof e)throw new Error("Invalid gift cards: must be a string array if provided")})),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:r}=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 r)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 B{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(n[t])return n[t];const i=e.toUpperCase();if(s[i])return s[i];throw new Error(`Invalid state: ${e}`)}}class F{constructor(e){this.accessToken=null,this.tokenExpiration=null,this.isAuthenticating=!1,this.userID=e.userID,this.password=e.password,this.baseURL=e.baseURL,this.httpClient=U()}getUniqueKey(){return`${this.userID}_${this.password}_${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("/order-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("Order Authentication failed:",e),new Error("Failed to authenticate with LiquidCommerce Order API")}finally{this.isAuthenticating=!1}}}async requestWithoutAuth(e,t){const i=new URL(`api${e}`,this.baseURL),r={"Content-Type":"application/json",Authorization:`Basic ${btoa(`${this.userID}:${this.password}`)}`,...t.headers},n={method:t.method,headers:r,body:t.body?JSON.stringify(t.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(e,t){try{this.accessToken&&!this.isTokenExpired()||await this.authenticate();const i=new URL(`api${e}`,this.baseURL),r={"Content-Type":"application/json",Authorization:`Bearer ${this.accessToken}`,...t.headers},n={method:t.method,headers:r,body:t.body?JSON.stringify(t.body):void 0},s=await this.httpClient(i.toString(),n);let a;try{a=await s.json()}catch(e){a={message:await s.text().catch((()=>`HTTP error! status: ${s.status}`))||e}}if(!s.ok){throw{...a,status:s.status,message:(null==a?void 0:a.message)||`HTTP error! status: ${s.status}`}}return a}catch(e){throw e}}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})}}class K{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 V{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 Y{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 k{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 ${constructor(e){this.client=e}async fetch(e){try{return await this.client.get(`/orders/${e}`)}catch(e){throw console.error("Failed to fetch order:",e),e}}}class Q{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 q{constructor(e,t){this.client=e,this.paymentSessionHelperService=t,this.servicePath="/users",this.env=e.env}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 createPaymentSession(e){try{const t=await this.client.post(`${this.servicePath}/payment-session`,e),i=this.paymentSessionHelperService.rcd(null==t?void 0:t.data,this.env);return{...t,data:i}}catch(e){throw console.error("User session creation/update request failed:",e),e}}async finalizePaymentSession(e){try{if(!e)throw new Error("Token is required");const t=await this.client.get(`${this.servicePath}/finalize-payment-session/${e}`),i=this.paymentSessionHelperService.dd(null==t?void 0:t.data,e);return{...t,data:i}}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),r=this.hasUserAddressCoords(e),n=this.hasUserAddressPlacesId(e);if(t)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||(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 z{constructor(e){this.client=e}async test(e){try{return 200===(await this.client.post("/webhook/test",{endpoint:e})).statusCode}catch(e){throw console.error("Error testing webhook:",e),e}}}class x{constructor(){this.services=new Map,this.liquidCommerceOrderClientConstructor=null}static getInstance(){return x.instance||(x.instance=new x),x.instance}setLiquidCommerceOrderClientConstructor(e){this.liquidCommerceOrderClientConstructor=e}async getClient(e){const t=`LiquidCommerceOrderClient_${JSON.stringify(e)}`;if(!this.services.has(t)){if(!this.liquidCommerceOrderClientConstructor)throw new Error("LiquidCommerceOrderClient constructor not set");const i=new this.liquidCommerceOrderClientConstructor(e);await i.init(),this.services.set(t,i)}return this.services.get(t)}getOrCreateService(e,t,...i){if(!this.services.has(e)){const r="getInstance"in t?t.getInstance(...i):new t(...i);this.services.set(e,r)}return this.services.get(e)}getAuthenticatedClient(e){return this.getOrCreateService(`OrderAuthenticatedClient_${JSON.stringify(e)}`,F,e)}getOrderService(e){return this.getOrCreateService(`OrderService_${e.getUniqueKey()}`,$,e)}}x.instance=null;class j{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}async mount(t){if(!document.getElementById(t.elementId))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("Failed to initialize Stripe");this.clientSecret=t.clientSecret;try{const{setupIntent:e}=await this.stripe.retrieveSetupIntent(this.clientSecret);if("succeeded"===(null==e?void 0:e.status))throw new Error(`The client secret (${this.clientSecret}) has already been used previously. Generate a new one through a use session.`)}catch(e){throw e}const i={clientSecret:t.clientSecret,appearance:this.mapAppearance(t.appearance),paymentMethodCreation:"manual"};this.elements=this.stripe.elements(i);const r=this.mapElementOptions(t.elementOptions);this.paymentElement=this.elements.create("payment",r),this.paymentElement.mount(`#${t.elementId}`)}async generat