1"use strict";(self.__LOADABLE_LOADED_CHUNKS__=self.__LOADABLE_LOADED_CHUNKS__||[]).push([[1169,3767],{97187:(e,t,o)=>{o.d(t,{H:()=>l,J:()=>s});var a=o(55462),r=o(76856),n=o(57445),i=o(34237),c=o(97187);const l=e=>{const{componentRef:t,root:o,rootMargin:r,threshold:n,dataCapture:l}=e,{hasIntersected:s}=(0,i.BL)(t,{root:o,rootMargin:r,threshold:n});(0,a.useEffect)(()=>{s&&l&&c.J({dataCapture:l})},[s,l])},s=e=>{const{dataCapture:t}=e;t&&r.Ay.processEvents({dataCapture:{...t}},n.h.DATACAPTURE_EVENT_TYPE.viewport)}},55824:(e,t,o)=>{o.d(t,{Ay:()=>d});var a=o(55462),r=o(19115),n=o(65682),i=o(86710),c=o(21677);const l=function(e){const{bookmarked:t=m.bookmarked,wishListAction:o,isMyListOverlayOpen:r,fulfillmentType:l}=e;return a.createElement("div",{className:"ProductComingSoon"},a.createElement("div",{className:"ProductComingSoon__leftColumn"},a.createElement(c.default,{variant:"utility",style:"notification",message:e.comingSoonLabel}),a.createElement("div",{className:"ProductComingSoon__leftColumn__info"},a.createElement(i.Ay,{textStyle:"body-3"},e.comingSoonMessage))),a.createElement("div",{className:"ProductComingSoon__rightColumn"},a.createElement(n.Ay,{id:`ProductBookmark-${e.productId}-${e.skuId}`,key:`ProductBookmark-${e.productId}-${e.bookmarked}`,bookmarkAction:o||e.bookmarkAction,bookmarked:t,commerceId:e.commerceId,moduleName:"ProductBookmark",productActionsProps:e,productId:e.productId,quantity:e.quantity,removeBookmarkAction:e.removeBookmarkAction,skuId:e.skuId,state:e.state,isMyListOverlayOpen:r,fulfillmentType:l})))},s={comingSoonLabel:r.string.isRequired,comingSoonMessage:r.string.isRequired,bookmarked:r.bool,bookmarkAccessibility:r.string,bookmarkAction:r.shape({label:r.string,graphql:r.string}),removeBookmarkAction:r.shape({label:r.string,graphql:r.string})},m={bookmarked:!1};l.propTypes=s,l.defaultProps=m;const d=l},75411:(e,t,o)=>{o.d(t,{T1:()=>u,Ay:()=>b});var a=o(55462),r=o(19115),n=o(65682),i=o(53507),c=o(86710),l=o(27003),s=o(68759),m=o(21677);const d=function(e){const{bookmarked:t=k.bookmarked,isMyListOverlayOpen:o,wishListAction:r,fulfillmentType:s}=e,{user:d}=(0,l.ur)(),g={url:e.perkAction?.url,loginStatus:d?.loginStatus,clientActionType:e.perkAction?.clientActionType,navigationType:e.perkAction?.navigationType};return a.createElement(a.Fragment,null,a.createElement("div",{className:"ProductPresale"},a.createElement("div",{className:"ProductPresale__leftColumn"},a.createElement("div",{className:"ProductPresale__Label"},a.createElement(m.default,{style:"default",message:e.perkLabel}),a.createElement(i.Ay,{likeLink:!0,label:e.perkAction?.label,className:"ProductPresale__Url",onClick:()=>u(g),action:e.perkAction,crossButtonVisibility:!0})),a.createElement("div",{className:"ProductPresale__leftColumn__info"},a.createElement(c.Ay,{textStyle:"body-3"},e.perkMessage))),a.createElement("div",{className:"ProductPresale__rightColumn"},a.createElement(n.Ay,{id:`ProductBookmark-${e.productId}-${e.skuId}`,invokeMutation:e.invokeMutation,bookmarkAction:r||e.bookmarkAction,bookmarked:t,commerceId:e.commerceId,key:"ProductBookmark",moduleName:"ProductBookmark",productActionsProps:e,productId:e.productId,quantity:e.quantity,removeBookmarkAction:e.removeBookmarkAction,skuId:e.skuId,state:e.state,isMyListOverlayOpen:o,fulfillmentType:s}))),e.errorLabel&&a.createElement("div",{className:"ProductPresale__errorMessage"},a.createElement(c.Ay,{textStyle:"body-3"},e.errorLabel)))},u=e=>{const{loginStatus:t,url:o,clientActionType:a,navigationType:r}=e||{},n=a===s.D2.LEGACY_LOGIN||r===s.ZZ.Flyout;!t&&n||window.open(o,"_self")},g={perkLabel:r.string,perkMessage:r.string,perkAction:r.shape({label:r.string,url:r.string}),errorLabel:r.string,bookmarked:r.bool,bookmarkAction:r.shape({label:r.string,graphql:r.string,clientActionType:r.oneOfType([r.object,r.string]),navigationType:r.oneOfType([r.object,r.string])}),removeBookmarkAction:r.shape({label:r.string,graphql:r.string})},k={bookmarked:!1};d.propTypes=g,d.defaultProps=k,d.clickHandler=u;const b=d},93367:(e,t,o)=>{o.d(t,{A:()=>l});var a=o(55462),r=o(44545),n=o(19115);const i=e=>{const{children:t,layout:o="vertical"}=e;return t?a.createElement("div",{className:r("RoundedContainerGroup",{[`RoundedContainerGroup--${o}`]:o})},a.Children.map(t,e=>a.createElement("div",{className:"RoundedContainer"},e))):null},c={children:n.node,layout:n.string};i.prototype=c;const l=i},23923:(e,t,o)=>{o.r(t),o.d(t,{CheckStoreAvailability:()=>$,RESPONSE_STATE:()=>U,ViewItemsInOffer:()=>D,default:()=>H,getRenderState:()=>R,propTypes:()=>
1j,useUpdateProductAction:()=>x});var a=o(55462),r=o(44545),n=o(19115),i=o(65682),c=o(53507),l=o(30930),s=o(15638),m=o(97187),d=o(97753),u=o(52696),g=o(18618),k=o(83058),b=o(56668);var p=o(21677);const A=function(e){const{comingSoon:t,id:o,invokeMutation:r,addToBagAction:n,addToBagErrorLabel:c,commerceId:l,inBagLabel:s,incrementBagAccessibilityLabel:m,maxQuantity:d,productId:u,quantity:g,removeFromBagAction:k,skuId:b,successLabel:A,updateBagAction:y,bookmarkAction:f,bookmarked:v,removeBookmarkAction:E,state:I}=e;return a.createElement("div",{className:"AddToBagFavorite"},a.createElement("div",{className:"AddToBagFavorite__Container"},a.createElement("div",{className:"AddToBagFavorite__AddToBag"},a.createElement(i.Ay,{id:o,invokeMutation:r,addToBagAction:n,addToBagErrorLabel:c,commerceId:l,default:e.default,inBagLabel:s,incrementBagAccessibilityLabel:m,key:"AddToBagButton",maxQuantity:d,moduleName:"AddToBagButton",productId:u,quantity:g,removeFromBagAction:k,skuId:b,state:I,successLabel:A,updateBagAction:y})),a.createElement("div",{className:"AddToBagFavorite__Favorite"},a.createElement(i.Ay,{id:o,invokeMutation:r,bookmarkAction:f,bookmarked:v,commerceId:l,key:"ProductBookmark",moduleName:"ProductBookmark",productActionsProps:e,productId:u,quantity:g,removeBookmarkAction:E,skuId:b,state:I}))),e.default?.errorLabel&&a.createElement("div",{className:"AddToBagFavorite__Error",role:"alert"},a.createElement(p.default,{variant:"utility",style:"error",icon:"exclamationCircle",message:e.default.errorLabel})),t&&t.comingSoonMessage&&a.createElement("div",{className:"AddToBagFavorite__comingSoon"},a.createElement(p.default,{variant:"utility",style:"notification",message:t.comingSoonMessage})))},y={addToBagAction:n.shape({label:n.string,graphql:n.string}),updateBagAction:n.shape({label:n.string,graphql:n.string}),removeFromBagAction:n.shape({label:n.string,graphql:n.string}),successLabel:n.string,addToBagErrorLabel:n.string,inBagLabel:n.string,maxQuantity:n.number,bookmarked:n.bool,bookmarkAction:n.shape({label:n.string,graphql:n.string}),removeBookmarkAction:n.shape({label:n.string,graphql:n.string}),commerceId:n.string};A.propTypes=y;const f=A,v=function(e){const{comingSoon:t,addToBagAction:o,id:r,invokeMutation:n,bookmarkAction:l,bookmarked:s,commerceId:m,productId:d,quantity:u,removeBookmarkAction:g,skuId:k,state:b}=e;return a.createElement("div",{className:"OutOfStockFavorite"},a.createElement("div",{className:"OutOfStockFavorite__Container"},a.createElement(c.Ay,{className:"OutOfStockFavorite__Container__button",disabled:!0,label:o?.label,variant:"primary",ariaLabel:o?.label}),a.createElement(i.Ay,{id:`ProductBookmark-${d}-${k}`,invokeMutation:n,bookmarkAction:l,bookmarked:s,commerceId:m,key:"ProductBookmark",moduleName:"ProductBookmark",productActionsProps:e,productId:d,quantity:u,removeBookmarkAction:g,skuId:k,state:b})),e.outOfStockLabel&&a.createElement("div",{className:"OutOfStockFavorite__Error"},a.createElement(p.default,{variant:"utility",style:"warning",message:e.outOfStockLabel})),t&&a.createElement("div",{className:"OutOfStockFavorite__comingSoon"},a.createElement(p.default,{variant:"utility",style:"notification",message:t.comingSoonMessage})))},E={addToBagAction:n.shape({label:n.string}),outOfStockLabel:n.string,bookmarked:n.bool,removeBookmarkAction:n.shape({label:n.string,graphql:n.string}),bookmarkAction:n.shape({label:n.string,graphql:n.string})};v.propTypes=E;const I=v;var B=o(55824);var S=o(17045),P=o(86710);const h=function(e){const{items:t,layout:o,config:n={}}=e;return(0,u.Pb)(t)?a.createElement("div",{className:"ProductFulfillmentOptions"},a.createElement("ul",{className:r("ProductFulfillmentOptions__listWrapper",{...o&&{[`ProductFulfillmentOptions--${o}`]:o}})},t.map((e,t)=>a.createElement("li",{key:t},a.createElement("span",{className:"ProductFulfillmentOptions__listItemIcon"},a.createElement(S.A,{size:"l",name:e.icon,"aria-hidden":!0})),e?.action&&a.createElement(c.Ay,{likeLink:!0,label:e.action.label,action:L({action:e.action,config:n}),crossButtonVisibility:!1}),!e.action&&a.createElement(P.Ay,{htmlTag:"span",textStyle:"body-2",textAlign:"left"},e.message))))):null},L=e=>{const{action:t,config:o}=e;return{...t,variables:o}},T={type:n.string,icon:n.string,title:n.string,items:n.arrayOf(n.shape({icon:n.string,message:n.string})),layout:n.string.isRequired};h.propTypes=T;const O=h,_=function(e){const{inStore:t,storeAvailabilityAction:o,config:r,id:n,invokeMutation:c,addToBagAction:l,addToBagErrorLabel:s,commerceId:m,inBagLabel:d,incrementBagAcce
1ssibilityLabel:u,maxQuantity:g,productId:k,quantity:b,removeFromBagAction:A,skuId:y,successLabel:f,updateBagAction:v,bookmarkAction:E,bookmarked:I,removeBookmarkAction:B,state:S}=e;return t?a.createElement("div",{className:"ProductInStore"},a.createElement("div",{className:"ProductInStore__Container"},a.createElement("div",{className:"ProductInStore__Container--AddToBag"},l&&a.createElement(i.Ay,{id:n,invokeMutation:c,addToBagAction:l,addToBagErrorLabel:s,commerceId:m,default:e.default,inBagLabel:d,incrementBagAccessibilityLabel:u,key:"AddToBagButton",maxQuantity:g,moduleName:"AddToBagButton",productId:k,quantity:b,removeFromBagAction:A,skuId:y,state:S,successLabel:f,updateBagAction:v}),a.createElement("div",{className:"ProductInStore__tag"},a.createElement(p.default,{variant:"utility",style:"notification",message:t?.inStoreOnlyLabel}),a.createElement("div",null,a.createElement($,{storeAvailabilityAction:o,config:r})))),a.createElement("div",{className:"ProductInStore__Container--Favorite"},a.createElement(i.Ay,{id:`ProductBookmark-${k}-${y}`,invokeMutation:c,bookmarkAction:E,bookmarked:I,commerceId:m,key:"ProductBookmark",moduleName:"ProductBookmark",productActionsProps:e,productId:k,quantity:b,removeBookmarkAction:B,skuId:y,state:S})))):null},N={inStore:n.shape({inStoreOnlyLabel:n.string}),storeAvailabilityAction:n.object,config:n.object,id:n.string,invokeMutation:n.func,bookmarkAction:n.object,bookmarked:n.bool,commerceId:n.string,productId:n.string,quantity:n.string,removeBookmarkAction:n.object,skuId:n.string,state:n.string};_.propTypes=N;const C=_;var M=o(75411),q=o(93367);function F(){return F=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var a in o)({}).hasOwnProperty.call(o,a)&&(e[a]=o[a])}return e},F.apply(null,arguments)}const w=e=>{const{queueResource:t,resourceLoaded:o}=(0,d.A2)(),{addToBagAction:n,bookmarkAction:c,bookmarked:s,comingSoon:u,default:b,id:p,includeDivider:A,inStore:y,outOfStock:v,perk:E,productId:S,removeBookmarkAction:P,skuId:h,state:L,storeAvailabilityAction:T,favoriteId:_,commerceId:N,invokeMutation:w,quantity:U,messages:j,componentKey:H,fulfillmentOptions:Q}=e;(0,g.S$)()&&t({category:d.gc.PriorityGraphQL}),(0,a.useEffect)(()=>{o({category:d.gc.PriorityGraphQL})},[]),x(e);const G=R({state:L,defaultStateData:b,outOfStock:v,fulfillmentOptions:Q,storeAvailabilityAction:T,inStore:y}),V={moduleParams:{productId:S,skuId:h}},z=(0,a.useRef)();return(0,m.H)({...e,componentRef:z}),a.createElement("div",{className:r("ProductActions",{"ProductActions--bottom-sp
1acer":A}),id:p,ref:z},G.ProductFulfillmentOptions&&a.createElement("div",{className:"ProductActions--bottom-spacer"},a.createElement(q.A,{layout:"horizontal"},a.createElement(O,{layout:"vertical",items:Q?.items,config:V}))),G.ProductComingSoon&&a.createElement(B.Ay,F({},(0,k.iU)({...u}),{bookmarked:s,bookmarkAction:c,removeBookmarkAction:P},(0,k.iU)({...e}))),G.ProductPreSale&&a.createElement(M.Ay,F({},(0,k.iU)({...E}),{bookmarked:s,bookmarkAction:c,removeBookmarkAction:P},(0,k.iU)({...e}))),G.NotifyMe&&a.createElement(i.Ay,F({moduleName:"NotifyMe"},(0,k.iU)({...v}),{bookmarked:s,bookmarkAction:c,commerceId:N,id:p,invokeMutation:w,productId:S,removeBookmarkAction:P,skuId:h,quantity:U,state:L,favoriteId:_,comingSoon:u})),G.OutofStockFavorite&&a.createElement(I,F({},(0,k.iU)({...v}),{addToBagAction:n,bookmarked:s,bookmarkAction:c,removeBookmarkAction:P,comingSoon:u},(0,k.iU)({...e}))),G.InStore&&a.createElement(C,F({storeAvailabilityAction:T,config:V,inStore:y},(0,k.iU)({...e}))),G.AddToBagFavorite&&a.createElement(f,(0,k.iU)({...e})),j?.length>0&&j.map((e,t)=>a.createElement("div",{key:`${t}-${H}`,className:"ProductActions--info-message"},a.createElement(l.Ay,F({message:e.message,messageType:e.icon},"error"===e.icon&&{role:"alert"})))),G.CheckStoreAvailability&&a.createElement($,{storeAvailabilityAction:T,config:V}),G.ViewItemsInOffer&&a.createElement("div",{className:r("viewItemsinOffer",{"viewItemsinOffer--sellable":b?.sellable})},a.createElement(D,{viewItemsInOfferAction:b?.viewItemsInOfferAction})))},x=e=>{(0,a.useEffect)(()=>{if((0,g.S$)())return;const{id:t,invokeAction:o}=e;if(!t||!o)return;const a=()=>{const a={graphql:b.A,customHeaders:[{key:"X-ULTA-GRAPH-TYPE",value:"query"},{key:"X-ULTA-GRAPH-MODULE-NAME",value:"ProductActions"},{key:"X-ULTA-GRAPH-SUB-TYPE",value:"noncachePage"}],params:["gti","loginStatus"],variables:{contentId:t,moduleParams:{...e}}};o(a)};return document.addEventListener("removeItemFromMiniCart",a),()=>{document.removeEventListener("removeItemFromMiniCart",a)}},[])},U={ComingSoon:"coming_soon",Perk:"perk",OutOfStock:"out_of_stock",InStore:"in_store",Default:"default"},R=e=>{const{state:t=U.Default,defaultStateData:o={},outOfStock:a={},fulfillmentOptions:r={},storeAvailabilityAction:n,inStore:i}=e||{},c={ProductFulfillmentOptions:!1,ProductComingSoon:!1,ProductPreSale:!1,NotifyMe:!1,OutofStockFavorite:!1,InStore:!1,AddToBagFavorite:!1,CheckStoreAvailability:!1,ViewItemsInOffer:!1},l=!!o?.sellable,s=!!o?.viewItemsInOfferAction?.label,m=!!a?.notify,d=(0,u.Pb)(r?.items);switch(t){case U.ComingSoon:return{...c,ProductComingSoon:!0};case U.Perk:return{...c,ProductPreSale:!0};case U.OutOfStock:return{...c,NotifyMe:m,OutofStockFavorite:!m,ProductFulfillmentOptions:d};case U.InStore:return{...c,InStore:!!i,ProductFulfillmentOptions:d};default:return{...c,ProductFulfillmentOptions:d,AddToBagFavorite:l,ViewItemsInOffer:s,CheckStoreAvailability:!!n}}},$=e=>{const t=(0,a.useRef)();if(!e?.storeAvailabilityAction)return null;const o={...e.storeAvailabilityAction,variables:e.config};return a.createElement(c.Ay,{likeLink:!0,label:e?.storeAvailabilityAction?.label,className:"inStoreAvailability",action:o,ref:t,crossButtonVisibility:!1})},D=e=>e?.viewItemsInOfferAction?a.createElement(s.Ay,{likeButtonOutline:!0,action:e.viewItemsInOfferAction},e?.viewItemsInOfferAction?.label):null,j={invokeAction:n.func,state:n.string,bookmarkAction:n.shape({label:n.string,graphql:n.string}),removeBookmarkAction:n.shape({label:n.string,url:n.string}),bookmarked:n.bool,storeAvailabilityAction:n.shape({label:n.string}),fulfillmentOptions:n.shape({items:n.array}),addToBagAction:n.shape({label:n.string,graphql:n.string}),removeFromBagAction:n.shape({label:n.string,graphql:n.string}),successLabel:n.string,inBagLabel:n.string,quantity:n.number,addedQuantity:n.number,email:n.string,commerceId:n.string,skuId:n.string,productId:n.string,default:n.shape({sellable:n.bool,disabled:n.bool,maxQuantity:n.number,errorLabel:n.string,viewItemsInOfferAction:n.shape({label:n.string,graphql:n.string}),cancelLabel:n.string,selectQuantityLabel:n.string}),inStore:n.shape({inStoreOnlyLabel:n.string}),comingSoon:n.shape({comingSoonLabel:n.string,comingSoonMessage:n.string}),outOfstock:n.shape({notify:n.bool,notifyMeMessage:n.string,enterEmailLabel:n.string,emailErrorLabel:n.string,notifyMeAction:n.shape({label:n.string,graphql:n.string}),notifyMeDisabled:n.bool,outOfStockLabel:n.string}),perk:n.shape({perkLabel:n.string,perkMessage:n.string,perkAction:n.shape({label:n.string,url:n.string})}
1),favoriteId:n.string,searchTitleLabel:n.string,image:n.object,brandName:n.string,productName:n.string,variantTypeLabel:n.string,variantLabel:n.string,searchPlaceholderLabel:n.string,clearSearchAccessibilityLabel:n.string,searchAccessibilityLabel:n.string,currentLocationAccessibilityLabel:n.string,searchAction:n.object,helperLabel:n.string,badLocationLabel:n.string,countLabel:n.string,stores:n.array,closeAccessibilityAction:n.shape({label:n.string,graphql:n.string}),cancelLabel:n.string,id:n.string};w.propTypes=j;const H=w},21677:(e,t,o)=>{o.r(t),o.d(t,{Tag:()=>s,default:()=>u,defaultProps:()=>d});var a=o(55462),r=o(19115),n=o(88040),i=o(66828),c=o(99728),l=o(8092);const s=function(e){const{backgroundColor:t,boldText:o,endTime:r,externalAction:s,icon:m,iconColor:u,message:g,size:k,startTime:b,style:p,textColor:A,theme:y=d.theme,timerMeta:f,timerType:v,variant:E=d.variant,action:I}=e;let B;const S="content-knockout"===A;return I&&I.label&&(B=(0,i.actionFormatter)({action:I,style:p,isKnockoutLink:S},{getButtonMarkup:c.y,getLinkMarkup:l.Y})),a.createElement(n.Tag,{backgroundColor:t,boldText:o,endTime:r,externalAction:s||B,icon:m,iconColor:u,message:g,size:k,startTime:b,style:p,textColor:A,theme:y,timerMeta:f,timerType:v,variant:E})},m={backgroundColor:r.string,boldText:r.string,endTime:r.string,externalAction:r.object,icon:r.string,iconColor:r.oneOf(["default","grayscale"]),message:r.string,size:r.oneOf(["compact","default","large"]),startTime:r.string,style:r.oneOf(["default","white","transparent","validation","notification","warning","error"]),textColor:r.string,timerMeta:r.object,timerType:r.oneOf(["3+ days","2 days","1 day","Hours","Extended","Upcoming","Timer"]),variant:r.oneOf(["default","icon","utility","utilityCompact","urgency","value","custom"])},d={theme:"default",variant:"default"};s.propTypes=m,s.defaultProps=d;const u=s}}]); 2//# sourceMappingURL=ulta-modules-ProductActions-ProductActions-js.0e249264.chunk.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.