PageSourceSearch

https://www.ulta.com/ux/assets/js/ulta-modules-ProductPricing-ProductPricing-js.f7fc358d.chunk.js

js ulta.com collected 2026-09-24 07:42:52 UTC 18,645 bytes, 2 lines download raw bytes

1"use strict";(self.__LOADABLE_LOADED_CHUNKS__=self.__LOADABLE_LOADED_CHUNKS__||[]).push([[6451,7167],{80892:(e,a,t)=>{Object.defineProperty(a,"__esModule",{value:!0}),a.propTypes=a.getPriceTextStyle=a.getPriceLabel=a.getOriginalPrice=a.getLabelTextStyle=a.defaultProps=a.default=a.Price=void 0;var l=u(t(20999)),r=u(t(19115)),n=u(t(55462)),i=t(76948),c=t(19940),s=u(t(60924)),o=u(t(11554)),d=u(t(81540));function u(e){return e&&e.__esModule?e:{default:e}}function p(){return p=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var l in t)({}).hasOwnProperty.call(t,l)&&(e[l]=t[l])}return e},p.apply(null,arguments)}const m=e=>{const a=e.appDownloadLabel,t=e.appDownloadAction,r=e.externalAppDownloadAction,u=e.kitPrice,m=e.kitPriceAccessibilityLabel,P=e.listPrice,E=e.listPriceAccessibilityLabel,v=e.message,A=e.originalPriceLabel,h=e.priceLabel,k=e.salePrice,S=e.salePriceAccessibilityLabel,_=e.variant,T=void 0===_?L.variant:_,x=e.disabled;if(!k&&!P&&!T)return null;const N=g({variant:T}),I=y({label:h,labelStyle:N}),D=f({tokenizedString:A,listPrice:P,listPriceAccessibilityLabel:E}),O=b({variant:T}),w=a&&t,C=u&&k&&!I,j=P&&!k,R=P&&k,$=()=>n.default.createElement("div",{className:"pal-c-Price__kitPrice"},m&&n.default.createElement("span",{className:"sr-only"},m),n.default.createElement(d.default,p({htmlTag:"span",textColor:"xsubtle",textStyle:"label-sm"},(0,i.conditionalAttributes)({ariaHidden:!!m||void 0})),u)),z=(0,l.default)("pal-c-Price",{["pal-c-Price--".concat(T)]:T,"pal-c-Price--salePrice":k,"pal-c-Price--disabled":x,"pal-c-Price--priceLabel":h,"pal-c-Price--appOnly":w});return n.default.createElement("div",{className:z},j&&n.default.createElement("div",{className:"pal-c-Price__priceContainer"},n.default.createElement(d.default,{htmlTag:"span",textStyle:O},P),u&&n.default.createElement(n.default.Fragment,null,$())),R&&n.default.createElement("div",{className:"pal-c-Price__saleContainer"},S&&n.default.createElement("span",{className:"sr-only"},S),n.default.createElement(d.default,p({htmlTag:"span",textColor:"brand-02-strong",textStyle:O},(0,i.conditionalAttributes)({ariaHidden:!!S||void 0})),k),n.default.createElement("div",{className:"pal-c-Price__originalPrice"},E&&n.default.createElement("span",{className:"sr-only"},E),D)),C&&n.default.createElement(n.default.Fragment,null,$()),I&&n.default.createElement("div",{className:"pal-c-Price__labelContainer"},n.default.createElement("span",{className:"pal-c-Price__priceLabel"},I),u&&k&&I&&n.default.createElement(n.default.Fragment,null,$())),w&&n.default.createElement("div",{className:"pal-c-Price__appOnly"},n.default.createElement(s.default,{"aria-hidden":!0,name:"Wallet",size:"lg"}),n.default.createElement(d.default,{htmlTag:"span",textStyle:"label-sm",textColor:"xsubtle"},a),n.default.createElement("div",{className:"pal-c-Price__appOnly--links"},r&&n.default.createElement(n.default.Fragment,null,(0,c.renderObject)(r)),!r&&n.default.createElement(o.default,{href:t.href,label:t.label,size:"compact"}))),!P&&n.default.createElement("span",{className:"pal-c-Price__noPrice"},n.default.createElement(d.default,{htmlTag:"p",textColor:"xsubtle",textStyle:"label-sm"},v)))};a.Price=m;const f=e=>{const a=e.tokenizedString,t=e.listPrice,l=e.listPriceAccessibilityLabel;if(!t)return null;const r=n.default.createElement(d.default,p({htmlTag:"span",textColor:"xsubtle",textDecoration:"line-through",textStyle:"body-sm"},(0,i.conditionalAttributes)({ariaHidden:!!l||void 0})),t);if(!a||a&&!a.includes("%"))return n.default.createElement(n.default.Fragment,null,r);const c=a.length,s=a.indexOf("%"),o=s>0?a.substring(0,s):a.substring(2,c),u=n.default.createElement(d.default,{htmlTag:"span",textStyle:"body-sm",textColor:"xsubtle",ariaHidden:!0},o);return s>0?n.default.createElement(n.default.Fragment,null,u,r):n.default.createElement(n.default.Fragment,null,r,u)};a.getOriginalPrice=f;const g=e=>{let a="";switch(e.variant){case"default":default:a="label";break;case"PDP":case"large":a="label-sm"}return a};a.getLabelTextStyle=g;const b=e=>{let a="";switch(e.variant){case"default":default:a="body-lg";break;case"PDP":a="title-lg";break;case"large":a="title"}return a};a.getPriceTextStyle=b;const y=e=>{const a=e.label,t=e.labelStyle;return a?n.default.createElement(d.default,{htmlTag:"p",textColor:"brand-02-strong",textStyle:t},a):null};a.getPriceLabel=y;const P=a.propTypes={appDownloadLabel:r.default.string,appDownloadAction:r.default.object,disabled:r.default.bool,externalAppDownloadAction:r.default.object,kitPrice:r.default.string,kitPriceAccessibilityLabel:r.default.string,listPrice:r.default.string,listPriceAccessibilityLabel:r.default.string,message:r.default.string,originalPriceLabel:r.default.string,priceLabel:r.default.string,salePrice:r.default.string,salePriceA
1ccessibilityLabel:r.default.string,variant:r.default.oneOf(["default","PDP","large"])},L=a.defaultProps={variant:"default"};m.propTypes=P;a.default=m},97649:(e,a,t)=>{t.d(a,{Ay:()=>g,kD:()=>d,Sj:()=>o,zc:()=>p});var l=t(55462),r=t(44545),n=t(69275),i=t(19115),c=t(71815);const s=function(e){const{isLocal:a}=(0,c.ag)(),[t]=(0,l.useState)(`IframedContent__${e.id}`),[i,s]=(0,l.useState)(),{contentUrl:u,fullScreenPageDisplay:m=f.fullScreenPageDisplay,modalDisplay:g=f.modalDisplay}=e;let b=(0,l.useRef)();const[y,P]=(0,l.useState)(!1),[L,E]=(0,l.useState)();return(0,l.useEffect)(()=>{d({iframeSrc:i,iframeRef:b,iframeContentLoaded:y},{setIframeNoScriptMarkup:E})},[b.current,y]),(0,l.useEffect)(()=>{p({contentUrl:u,isLocal:a},{setIframeSrc:s})},[]),l.createElement("div",{ref:b,className:r("IframedContent",{"IframedContent--fullScreenDisplay":m,"IframedContent--modalDisplay":g})},i&&l.createElement(l.Fragment,null,m&&l.createElement(n.A,{log:!0,onLoad:o({setIframeContentLoaded:P}),heightCalculationMethod:"max",src:i,autoResize:!1,frameBorder:"0",title:u,scrolling:!0}),!m&&l.createElement("iframe",{onLoad:o({setIframeContentLoaded:P}),id:t,title:u,src:u,frameBorder:"0"}),L&&l.createElement("noscript",null,L)))},o=(e,a)=>a=>{e.setIframeContentLoaded(!0)},d=(e,a)=>{const{iframeSrc:t,iframeRef:l,iframeContentLoaded:r}=e||{},{setIframeNoScriptMarkup:n}=a||{};if(!l.current&&!r)return;let i=l.current.querySelector("iframe");try{let e=i.contentDocument||i.contentWindow.document;if(e){n(e.querySelector("body").innerHTML),e.querySelector("body").addEventListener("click",function(e){let a=u(e.target);null!==a&&(e.preventDefault(),window.location.href=a.href)})}}catch(c){console.error(`cross-frame-access is not allowed for ${t}`)}},u=function(e){for(;null!==e;){if(e.tagName&&"A"===e.tagName.toUpperCase())return e;e=e.parentNode}return null},p=function(e,a){const{contentUrl:t,isLocal:l}=e||{},{setIframeSrc:r}=a||{};if(t){if(l&&-1!==t.indexOf("https://qa1.ulta.com/innovation")){const e=new URL("https://local.ulta.com:8080/iframe-proxy");return e.searchParams.set("source","iframe"),e.searchParams.set("url",t),void r(e.toString())}try{-1!==t.split("//")[1].split("/")[0].indexOf("ulta.com")?r(`${t}`):r(t)}catch(n){console.error("the iframe source is invalid. Please make sure that the url has the full protocol")}}},m={contentUrl:i.string,fullScreenPagedisplay:i.bool,modalDisplay:i.bool},f={fullScreenPageDisplay:!1,modalDisplay:!1};s.propTypes=m,s.defaultProps=f;const g=s},92340:(e,a,t)=>{t.d(a,{Ay:()=>o});var l=t(55462),r=t(44545),n=t(19115);const i=function(e){const{display:a=s.display,spacer:t=s.spacer}=e,n=e.children;return l.createElement("ul",{className:r("List",{[e.className]:e.className,[`List--Display List--Display${e.display}`]:a,[`List--Spacer List--Spacer${e.spacer}`]:t,[`List--Separator List--Separator${e.separator}`]:e?.separator}),"aria-label":e.ariaLabel},n.map((e,a)=>l.createElement("li",{key:`${e.id}:${a}`,className:"List__Item"},e)))},c={className:n.string,display:n.oneOf(["Block","Flex","Inline"]),spacer:n.oneOf(["00","01","02","03","04"]),separator:n.oneOf(["Default","Muted"]),children:n.node},s={display:"Block",spacer:"02"};i.propTypes=c,i.defaultProps=s;const o=i},42881:(e,a,t)=>{t.d(a,{Ay:()=>g,d:()=>p,Zu:()=>u});var l=t(55462),r=t(19115),n=t(80892),i=t(15638),c=t(86710),s=t(21365),o=t(9945);const d=function(e){const{listPrice:a,originalPriceLabel:t,listPriceAccessibilityLabel:r,salePrice:i,salePriceAccessibilityLabel:c,kitPrice:o,variant:d=f.variant,priceLabel:m,message:g,appDownloadLabel:b,appDownloadAction:y,componentKey:P,disabled:L,noPrice:E}=e,{inflection:v}=(0,s.bT)(),A=p({label:c,values:[i]}),h=p({label:r,values:[a]}),k=o&&`Kit Price ${o}`,S=v.MOBILE&&b,_=u({inflection:v,appDownloadAction:y}),T=S?y:null;return l.createElement("div",{className:"Price"},l.createElement(n.Price,{listPriceAccessibilityLabel:h,salePriceAccessibilityLabel:A,appDownloadLabel:S,appDownloadAction:T,externalAppDownloadAction:_,kitPriceAccessibilityLabel:k,listPrice:a,kitPrice:o,priceLabel:m,salePrice:i,message:g,originalPriceLabel:t,disabled:L,variant:d,noPrice:E,key:P}))},u=e=>{const{inflection:a,appDownloadAction:t}=e;return a.MOBILE&&t?l.createElement(i.Ay,{compact:!0,action:t,className:"Price__appOnly--downloadTheApp"},l.createElement(c.Ay,{htmlTag:"span",textStyle:"body-3"},t.label)):null},p=e=>{const{label:a,values:t}=e;return a&&t?(0,o.A)(a,t):null},m={listPrice:r.string,originalPriceLabel:r.string,listPriceAccessibilityLabel:r.string,salePrice:r.string,salePriceA
1ccessibilityLabel:r.string,kitPrice:r.string,variant:r.string,message:r.string,priceLabel:r.string,appDownloadLabel:r.string,appDownloadAction:r.object,componentKey:r.string,disabled:r.bool,noPrice:r.object},f={variant:"default"};d.propTypes=m,d.displayName="Price",d.defaultProps=f;const g=d},86950:(e,a,t)=>{t.d(a,{OE:()=>i,Vw:()=>r});const l="en-US",r=function(e,a){return a?e||l:e||n(navigator.languages)||l},n=function(e){for(let a=0;a<e.length;a++)if(5===e[a].length)return e[a];return null},i=e=>e.replace("-","_")},39331:(e,a,t)=>{t.d(a,{$z:()=>d,Ay:()=>m,qg:()=>f});var l=t(55462),r=t(19115),n=t(17045),i=t(86710),c=t(52696),s=t(5572),o=t(74511);const d={Link:"link",Text:"text",Icon:"icon"},u=e=>{const{parsedParts:a,tokenMap:t,className:r}=e;if(!(0,c.Pb)(a))return null;return l.createElement("span",{className:r||"FormattedTextLink__wrapper"},a.map((e,a)=>{if(e.isToken){const r=e.value,c=t?.[r];switch(c?.type){case d.Link:return l.createElement(o.default,{likeLink:!0,key:a,ariaLabel:c.value?.accessibility,size:"default",action:c.value,label:c.value?.label});case d.Text:return l.createElement(i.EY,{key:a,htmlTag:"span",textStyle:"body",color:c.color},c.value);case d.Icon:return l.createElement("span",{key:a,className:c.value?.wrapperClassName},l.createElement(n.A,{name:"string"===typeof c.value?c.value:c.value?.name,size:c.value?.size,className:c.value?.className,"aria-label":c.value?.ariaLabel}));default:return null}}return l.createElement(i.EY,{key:a,htmlTag:"span",textStyle:"body"},e.value)}))},p={className:r.string,parsedParts:r.arrayOf(r.shape({isToken:r.bool.isRequired,value:r.string.isRequired,raw:r.string.isRequired})).isRequired,tokenMap:r.objectOf(r.shape({type:r.oneOf(Object.values(d)).isRequired,value:r.oneOfType([r.string,r.shape({url:r.string,label:r.string,name:r.string,size:r.string,className:r.string,wrapperClassName:r.string,ariaLabel:r.string,accessibility:r.shape({label:r.string})})]).isRequired,color:r.string})).isRequired};u.propTypes=p;const m=u;function f(e){const{str:a}=(0,s.Y)(e);if(!a)return[];return a.split(/(\{[^}]+\})/g).filter(Boolean).map(e=>e.startsWith("{")&&e.endsWith("}")?{isToken:!0,value:e.slice(1,-1),raw:e}:{isToken:!1,value:e,raw:e})}},85377:(e,a,t)=>{t.r(a),t.d(a,{default:()=>l});const l=t(97649).Ay},35797:(e,a,t)=>{t.r(a),t.d(a,{ProductPricing:()=>S,default:()=>I,defaultProps:()=>N,propTypes:()=>x});var l=t(55462),r=t(19115),n=t(81540),i=t(53507),c=t(17045),s=t(42881),o=t(86710),d=t(22593),u=t(52696),p=t(83058),m=t(21677);var f=t(21146),g=t(11383),b=t(18618),y=t(86950);const P=function(e){const a=(0,y.OE)((0,y.Vw)(e.locale,(0,b.S$)())),{product:t,minThreshold:r,onSdkReady:n}=e,i=(0,l.useRef)(null);if((0,g.l)({watch:()=>i.current?.shadowRoot?.childElementCount>0||i.current?.childElementCount>0,callback:()=>n?.()}),!t)return void n?.();const{afterpayMpid:c,afterpayPlacementId:s,afterpaySdkSrc:o}=t;if(c&&s&&o)return l.createElement(l.Fragment,null,l.createElement("div",{className:"AfterPay"},l.createElement(f.Ay,{tagId:"AfterPay",src:o,dataSet:[{analyticsEnabled:"true"},{min:r}],async:!0,immediate:!0}),l.createElement("square-placement",{ref:i,"data-mpid":c,"data-placement-id":s,"data-page-type":"product","data-is-eligible":t.eligible?"true":"false","data-consumer-locale":a,"data-currency":t.currency,"data-amount":t.price,"data-show-upper-limit":"false"})));n?.()},L={product:r.object,locale:r.string,minThreshold:r.string,afterPayMpid:r.string,afterPayPlacementId:r.string,afterPaySdkSrc:r.string,onSdkReady:r.func};P.propTypes=L,P.displayName="AfterPay";const E=P;var v=t(39331),A=t(81765),h=t(85377);function k(){return k=Object.assign?Object.assign.bind():function(e){for(var a=1;a<arguments.length;a++){var t=arguments[a];for(var l in t)({}).hasOwnProperty.call(t,l)&&(e[l]=t[l])}return e},k.apply(null,arguments)}const S=function(e){const{listPrice:a,originalPriceLabel:t,listPriceAccessibilityLabel:r,salePrice:n,salePriceAccessibilityLabel:i,kitPrice:c,id:f,message:g,appDownloadLabel:b,appDownloadAction:y,offers:P,subscriptionEligible:L,promotionTags:v,priceLabel:h,componentKey:S,disabled:x,noPrice:N,minThreshold:I,isPaymentInfoEnabled:D,paymentInfo:O}
1=e,[w,C]=(0,l.useState)(!1),j=O?.afterpay,R=O?.klarnaInfo||null,$=O?.staticPaymentInfo,z=!!!O?.isStaticInfoEnabled&&!!R&&!!j,M=z&&!w?"ProductPricing__PaymentSubsGroup ProductPricing__PaymentSubsGroup--pending":"ProductPricing__PaymentSubsGroup",U=!!L,q=P?.length>0,K=(0,u.Pb)(v),B=K&&1===v.length,F=K&&v.length>1,{openOverlay:H,closeOverlay:W}=(0,d.e)(),G=(0,l.useRef)(null),V=c&&!a&&!n;return l.createElement("div",{className:"ProductPricing",id:f,"aria-live":"polite","aria-atomic":!0},j?.afterpaySdkSrc&&l.createElement("link",{id:"AfterPay--preload",rel:"preload",href:j.afterpaySdkSrc,as:"script"}),l.createElement(l.Fragment,null,B&&l.createElement("div",{className:"ProductPricing__PromotionSingleTag"},l.createElement(m.default,(0,p.iU)({...v[0]}))),F&&l.createElement("ul",{className:"ProductPricing__PromotionMultipleTag"},v.map((e,a)=>l.createElement("li",{key:`${S}-tag-${a}`},l.createElement(m.default,(0,p.iU)({...e}))))),V&&l.createElement("div",{className:"ProductPricing__kitPriceOnly"},l.createElement("span",{className:"sr-only"},`Kit Price ${c}`),l.createElement(o.Ay,{htmlTag:"span",textStyle:"body-3",color:"neutral-600",ariaHidden:!0},c),g&&l.createElement(o.Ay,{htmlTag:"p",textStyle:"body-3",color:"neutral-600"},g)),!V&&l.createElement(s.Ay,{priceLabel:h,listPrice:a,originalPriceLabel:t,listPriceAccessibilityLabel:r,salePrice:n,salePriceAccessibilityLabel:i,kitPrice:c,variant:"PDP",message:g,appDownloadLabel:b,appDownloadAction:y,componentKey:S,disabled:x,noPrice:N})),l.createElement("div",{className:M},!!D&&(z?l.createElement(l.Fragment,null,l.createElement(E,{product:j,minThreshold:I,onSdkReady:()=>C(!0)}),l.createElement(_,k({},(0,p.iU)({...R,klarnaLogo:$?.klarnaLogo,klarnaInfoAriaLabel:R?.klarnaInfoAriaLabel}),{openOverlay:H,klarnaButtonref:G}))):l.createElement(T,(0,p.iU)({...$,klarnaInfoAriaLabel:R?.klarnaInfoAriaLabel})))),U&&l.createElement("div",{className:"ProductPricing__Subscription"},l.createElement(m.default,{variant:"utility",message:e.subscriptionEligible.subsLabel,icon:e.subscriptionEligible.subsIcon})),q&&l.createElement(A.Ay,(0,p.iU)({...e})))},_=e=>{const{selectAction:a,klarnaLogo:t,infoIcon:r,prefix:s,openOverlay:o,klarnaButtonref:u,klarnaInfoAriaLabel:p}=e;return t?l.createElement("div",{className:"ProductPricing__Klarna"},l.createElement(n.Text,{textColor:"default",textStyle:"body-sm",textBold:!1},s),l.createElement("div",{className:"ProductPricing__Klarna--Logo"},l.createElement(c.A,{name:t,size:"custom"})),l.createElement(i.Ay,{className:"ProductPricing__Klarna--Info",onClick:()=>{if(!a?.url)return;const e=l.createElement(h.default,{fullScreenPageDisplay:!1,contentUrl:a?.url,modalDisplay:!0});o({type:d._4.Modal,crossButtonVisibility:!0,opener:u,content:e,customClassName:"KlarnaModal",heightPercentageOverride:100})},ref:u,ariaLabel:p,variant:"unstyled"},l.createElement(c.A,{name:r}))):null};_.propTypes={klarnaLogo:r.string,selectAction:r.shape({url:r.string}),infoIcon:r.string,prefix:r.string,klarnaInfoAriaLabel:r.string};const T=e=>{const{dynamicPlacement:a,text:t,afterPayLogo:r="afterPayLogoRegular",klarnaLogo:n="klarnaLogo",klarnaInfoAriaLabel:i}=e;if(!a)return null;const c=(0,v.qg)({str:a}),s={text:{type:v.$z.Text,value:t},afterPayLogo:{type:v.$z.Icon,value:{name:r,size:"custom",wrapperClassName:"ProductPricing__StaticPaymentInfo--AfterpayLogo"}},klarnaLogo:{type:v.$z.Icon,value:{name:n,size:"custom",ariaLabel:i,wrapperClassName:"ProductPricing__Klarna--Logo"}}};return l.createElement(v.Ay,{className:"ProductPricing__StaticPaymentInfo",parsedParts:c,tokenMap:s})};T.propTypes={dynamicPlacement:r.string,text:r.string,afterPayLogo:r.oneOfType([r.string,r.object]),klarnaLogo:r.oneOfType([r.string,r.object])};const x={listPrice:r.string,originalPriceLabel:r.string,listPriceAccessibilityLabel:r.string,salePrice:r.string,salePriceAccessibilityLabel:r.string,kitPrice:r.string,message:r.string,priceLabel:r.string,appDownloadLabel:r.string,appDownloadAction:r.object,id:r.string,componentKey:r.string,disabled:r.bool,noPrice:r.object,minThreshold:r.oneOfType([r.string,r.number]),klarnaInfoAriaLabel:r.string,isPaymentInfoEnabled:r.bool,paymentInfo:r.shape({afterpay:r.shape({eligible:r.oneOfType([r.bool,r.string]),currency:r.string,price:r.oneOfType([r.string,r.number]),afterpaySdkSrc:r.string}),klarnaInfo:r.shape({klarnaLogo:r.oneOfType([r.string,r.object]),selectAction:r.shape({url:r.string}),infoIcon:r.string,prefix:r.string,klarnaInfoAriaLabel:r.string}),isStaticInfoEnabled:r.bool,staticPaymentInfo:r.shape({text:r.string,klarnaLogo:r.oneOfType([r.string,r.object]),afterPayLogo:r.oneOfType([r.string,r.object]),dynamicPlacement:r.string})})},N={isPaymentInfoEnabled:!1,paymentInfo:{afterpay:{},klarnaInfo:{},staticPaymentInfo:{},isStaticInfoEnabled:!1},offers:[],promotionTags:[]};S.propTypes=x,S.defaultProps=N,S.displayName="ProductPricing";const I=S},9945:(e,a,t)=>{t.d(a,{A:()=>l});const l=(e,a=[])=>{if(!e)return null;if(!a||e&&!e.includes("%"))return e;return a.reduce((e,a,t)=>{const l=`%${t+1}`;return e.replace(l,a)},e)}}}]);
2//# sourceMappingURL=ulta-modules-ProductPricing-ProductPricing-js.f7fc358d.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.