PageSourceSearch

https://www.ulta.com/ux/assets/js/ulta-modules-ProductReviews-ProductReviews-js.4b840d5b.chunk.js

js ulta.com collected 2026-09-24 07:43:14 UTC 6,265 bytes, 2 lines download raw bytes

1"use strict";(self.__LOADABLE_LOADED_CHUNKS__=self.__LOADABLE_LOADED_CHUNKS__||[]).push([[8309],{86950:(e,t,r)=>{r.d(t,{OE:()=>l,Vw:()=>i});const n="en-US",i=function(e,t){return t?e||n:e||a(navigator.languages)||n},a=function(e){for(let t=0;t<e.length;t++)if(5===e[t].length)return e[t];return null},l=e=>e.replace("-","_")},89908:(e,t,r)=>{r.r(t),r.d(t,{composePowerReviewsRender:()=>E,default:()=>A,defaultProps:()=>_,propTypes:()=>h});var n=r(55462),i=(r(43367),r(19115)),a=r(21146),l=r(15638),s=r(86710),c=r(34237),o=r(71815),d=r(51432),m=r(18618),p=r(5572),u=r(52792),g=r(86950),v=r(80373),w=r(73373);const y=e=>{const{prApiKey:t,prMerchantGroupId:r,prMerchantId:i,locale:d,questionsTitle:p,questionsAction:y,reviewsTitle:h,reviewsAction:A,stockStatus:R,rating:L,reviewCount:S,description:I,brandName:b,productName:N,variantType:T,variantName:f,imageUrl:P,productId:C,productSku:O,price:D,priceCurrency:k,productURL:B,questionsEnabled:M,enableLocalPowerReviewContent:U,rootMargin:$=_.rootMargin,root:x=_.root,threshold:q=_.threshold,reviewSEOtitle:H,ratingLabel:V,reviewsLabel:K,positiveReviewLabel:Q,criticalReviewLabel:G,reviewedByLabel:W,reviewerNameByLocationLabel:j,positiveHeadline:F,positiveComments:z,negativeHeadline:J,negativeComments:Y,reviews:X}=e,{powerReviewsSdk:Z}=(0,o.ag)(),ee=(0,g.OE)((0,g.Vw)(d,(0,m.S$)()));let te="";if(X?.length>0){let e;te={aggregateRating:{"@type":"AggregateRating",ratingValue:L,reviewCount:S},review:[]},X.map(t=>{e={"@type":"Review",name:t.headline,reviewBody:t.comment,datePublished:t.createdDate,author:{"@type":"Person",name:t.nickname},locationCreated:{"@type":"AdministrativeArea",name:t.location},reviewRating:{"@type":"Rating",ratingValue:t.rating}},te.review.push(e)})}const re={"@context":"https://schema.org/","@type":"Product",description:I,brand:b,name:f?`${N} - ${f}`:N,image:P,productID:C,sku:O,offers:{"@type":"Offer",availability:`https://schema.org/${R}`,price:D,priceCurrency:k,url:B}};T&&(re[T]=f);const ne={...re,...U&&te}
1,ie=(0,n.useRef)(),[ae,le]=(0,n.useState)(""),{hasIntersected:se}=(0,c.BL)(ie,{root:x,rootMargin:$,threshold:q},(0,u.eP)(e));return(0,n.useEffect)(()=>{ie.current&&le(ie.current)},[]),n.createElement("section",{className:"ProductReviews",ref:ie},n.createElement("div",{className:"ProductReviews__Content"},n.createElement("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(ne)}}),se&&Z&&n.createElement(a.Ay,{tagId:"powerReviewsUI",src:Z,async:!0,immediate:!0}),se&&U&&n.createElement(n.Fragment,null,n.createElement(a.Ay,{tagId:"PowerReviewsRender",body:E({prApiKey:t,prMerchantGroupId:r,prMerchantId:i,host:w.Hc,userLocale:ee,productId:C}),immediate:!0}),n.createElement("noscript",null,n.createElement(n.Fragment,null,n.createElement(s.Ay,{htmlTag:"h3",textStyle:"title-6"},H),n.createElement(s.Ay,null,V),n.createElement(s.Ay,null,K),n.createElement(s.Ay,{htmlTag:"h3",textStyle:"title-6"},Q),n.createElement(s.Ay,{htmlTag:"h3",textStyle:"title-6"},F),n.createElement(s.Ay,null,z),n.createElement(s.Ay,{htmlTag:"h3",textStyle:"title-6"},G),n.createElement(s.Ay,{htmlTag:"h3",textStyle:"title-6"},J),n.createElement(s.Ay,null,Y),n.createElement(s.Ay,{htmlTag:"h3",textStyle:"title-6"},W),X.map((e,t)=>n.createElement("div",{key:"review"+t},n.createElement(s.Ay,{htmlTag:"h3",textStyle:"title-6"},e.headline),n.createElement(s.Ay,null,e.rating),n.createElement(s.Ay,null,v.Ay.handleTokenizedString(j,[e.nickname,e.location])),n.createElement(s.Ay,null,e.createdDate),n.createElement(s.Ay,null,e.comment)))))),n.createElement("div",{id:"reviews",className:"ProductReviews__Reviews--wrapper"},n.createElement("div",{id:"reviewsImages",className:"ProductReviews__Reviews--containerImages"}),n.createElement("div",{className:"ProductReviews__Reviews--heading"},n.createElement(s.Ay,{htmlTag:"h2",textStyle:"title-6"},h),n.createElement(l.Ay,{likeButtonOutline:!0,action:A},A?.label)),n.createElement("div",{id:"reviewsSnap",className:"ProductReviews__Reviews--containerSnap"}),n.createElement("div",{id:"reviewsList",className:"ProductReviews__Reviews--containerList"})),n.createElement("div",{id:"productQA",className:"ProductReviews__QA--wrapper"},M&&n.createElement(n.Fragment,null,n.createElement("div",{className:"ProductReviews__QA--heading"},n.createElement(s.Ay,{htmlTag:"h2",textStyle:"title-6"},p),n.createElement(l.Ay,{likeButtonOutline:!0,action:y},y.label)),n.createElement("div",{id:"qaDisplay",className:"ProductReviews__QA--container"})))))},E=e=>{const{prApiKey:t,prMerchantGroupId:r,prMerchantId:n,host:i,userLocale:a,productId:l}=(0,p.Y)(e);return`var prUILoaded = setInterval( function() {\n    if( typeof POWERREVIEWS !== 'undefined' ) {\n      clearInterval( prUILoaded );\n      POWERREVIEWS.display.render({\n        ENABLE_CLIENT_SIDE_STRUCTURED_DATA: false,\n        api_key: '${t}',\n        locale: '${a}',\n        merchant_group_id: '${r}',\n        merchant_id: '${n}',\n        page_id: '${l}',\n        review_wrapper_url: '//${i}/ulta/review/?pr_page_id=${l}&pr_source=web',\n        components: {\n          ReviewImageDisplay: 'reviewsImages',\n          ReviewSnapshot: 'reviewsSnap',\n          ReviewList: 'reviewsList',\n          QuestionDisplay: 'qaDisplay'\n        }\n      })\n    }\n  }, 100 );`},h={prApiKey:i.string,prMerchantGroupId:i.string,prMerchantId:i.string,locale:i.string,questionsEnabled:i.bool,questionsTitle:i.string,questionsAction:i.object,reviewsTitle:i.string,reviewsAction:i.object,stockStatus:i.string,rating:i.number,reviewCount:i.number,description:i.string,brandName:i.string,productName:i.string,variantType:i.string,variantName:i.string,imageUrl:i.string,productId:i.string,productSku:i.string,price:i.string,priceCurrency:i.string,productURL:i.string,enableLocalPowerReviewContent:i.bool,reviewSEOtitle:i.string,ratingLabel:i.string,reviewsLabel:i.string,positiveReviewLabel:i.string,criticalReviewLabel:i.string,reviewedByLabel:i.string,reviewerNameByLocationLabel:i.string,positiveHeadline:i.string,positiveComments:i.string,negativeHeadline:i.string,negativeComments:i.string,reviews:i.array},_={...d.A.INTERSECTION_OBSERVER_OPTIONS};y.propTypes=h,y.defaultProps=_;const A=y}
1}]);
2//# sourceMappingURL=ulta-modules-ProductReviews-ProductReviews-js.4b840d5b.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.