(globalThis.webpackChunkverso=globalThis.webpackChunkverso||[]).push([[1063],{39252:function(e,t,a){var n=this&&this.__createBinding||(Object.create?function(e,t,a,n){void 0===n&&(n=a);var i=Object.getOwnPropertyDescriptor(t,a);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,n,i)}:function(e,t,a,n){void 0===n&&(n=a),e[n]=t[a]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&n(t,e,a);return i(t,e),t},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Commenting=void 0;const s=r(a(5556)),l=o(a(96540)),d=a(37243),c=a(67116),m=r(a(31850)),u=r(a(62282)),g=a(92807),p=a(16631),f=r(a(28433)),h=a(14307),b=a(92716),y=a(55030),w=r(a(86659)),v=r(a(24300)),R=r(a(76584)),C=r(a(64837)),M=r(a(92867)),N=a(85554),L=r(a(392)),I="ReviewListTitle",E="CommentingMainContent",x=[{active:!1,description:"Includes a tip",label:"Tip",slug:"TIP"},{active:!1,description:"Includes a question",label:"Question",slug:"QUESTION"}];t.Commenting=({brandName:e,closeCommentStreamMessage:t,commentCount:a,commentingUrl:n,communityExperience:{commentsOrderBy:i,repliesOrderBy:o,disableCommentStream:r,enableMultipleComments:s,enableMultipleRatings:T,enableRatings:k,enableReplies:$,enableTags:U,enableUpvotes:S,hasHideCommunityFunctionalTag:B},communityUrl:A="/info/community-guidelines",ContentWrapper:_=w.default.ContentWithAdRailNarrow,defaultReplyLimit:D=1,hed:H,id:P,isCommentLoading:F=!0,initialReviewLimit:O=7,likeActionErrorMessage:j,logo:W,noCommentsMsgConf:q,organizationId:Y,replyLimit:K=10,reviewerBadges:z,reviewerInfoText:V,reviewLimit:G=10,reviewModalProps:X,reviewNotesFormSignInURL:Q,reviewNoteTags:Z=x,reviewsSectionTitle:J,isBookmarkingEnabled:ee,savedCommentConf:te,showMoreButtonLabel:ae,showPinnedComment:ne,signInHed:ie,signInHedSpanTag:oe,signInMessage:re,signUpMessageBannerHed:se,tenantID:le,unlikeActionErrorMessage:de,user:ce,usernameSignInDek:me})=>{l.default.useEffect((()=>{(0,b.trackComponent)("Commenting")}),[]);const[ue,ge]=(0,l.useState)(),[pe,fe]=(0,l.useState)(!1),[he,be]=(0,l.useState)(null),[ye,we]=(0,l.useState)(!1);(0,N.useScrollToCommenting)(E);const{header:ve,description:Re,showSignInButton:Ce,subContent:Me}=(0,N.useCommentBannerContent)({noCommentsMsgConf:q,disableCommentStream:r,closeCommentStreamMessage:t,showCommentSavedMessage:ye,communityUrl:A,isCommentLoading:F,commentCount:a,user:ce,signUpMessageBannerHed:se,brandName:e,savedCommentConf:te}),Ne=ce.isAuthenticated&&ce.amguuid&&Y;(0,l.useEffect)((()=>{Ne&&async function(){try{const e=await(0,c.checkUsername)(ce.amguuid,Y,n);ge(e)}catch(e){throw console.warn(e),e}}()}),[Ne,n,ce.amguuid,Y]),(0,y.useViewportObserver)(`.${I}`,void 0,(e=>{if(e){const e={type:"impression",label:"Comments",subject:"community",features_list:[{name:"comments",total_index:a}]};(0,h.trackContentEngagementEvent)(e)}}),[a]);const{formatMessage:Le}=(0,d.useIntl)();if(B)return null;const Ie=e=>{ge(e)},Ee=e=>{be(e),fe(!0),setTimeout((()=>{fe(!1)}),3e3)};return l.default.createElement(_,null,l.default.createElement("div",{className:E,"data-journey-hook":"page-footer"},l.default.createElement(p.ReviewListTitleWrapper,null,l.default.createElement(p.ReviewListTitle,{className:I},(0,N.formatReviewListTitle)(a,J)),l.default.createElement(p.ReviewListUtilityLink,{href:"#main-content"},Le(M.default.utilityLabel),l.default.createElement(p.ReviewListCarat,null))),ce.isAuthenticated&&l.default.createElement(C.default,{organizationId:Y,userId:ce.amguuid,userApiUrl:n,showMessageBannerHandler:Ee}),(ve||Re)&&l.default.createElement(L.default,{hed:ve,dek:Re,showSignInButton:Ce,signInURL:Q,isBookmarkingEnabled:ee,subContentDek:Me,showCommentSavedMessage:ye}),!r&&l.default.createElement(R.default,{commentingUrl:n,contentId:P,handleUsernameChange:Ie,hed:H,organizationId:Y,reviewerInfoText:V,reviewNoteTags:Z,shouldEnableMultipleComments:s,shouldEnableMultipleRatings:T,shouldEnableRatings:k,shouldEnableTags:U,showMessageBannerHandler:Ee,showSavedRecipeNotes:e=>{we(e)},signInURL:Q,siteUserName:ue,tenantID:le,userId:ce.isAuthenticated?ce.amguuid:null,usernameSignInDek:me,contentTitle:H}),l.default.createElement(v.default,{commentingUrl:n,defaultReplyLimit:D,entityId:P,handleUsernameChange:Ie,id:"reviews",initialReviewLimit:O,likeActionErrorMessage:j,replyLimit:K,commentsOrderBy:i,repliesOrderBy:o,reviewerBadges:z,reviewLimit:G,shouldEnableRatings:k,shouldEnableReply:$,logo:W,shouldEnableTags:U,shouldEnableUpvotes:S,showMessageBannerHandler:Ee,showMoreButtonLabel:ae,showPinnedComment:ne,signInHed:ie||Le(M.default.signInModalHed),signInHedSpanTag:oe||Le(M.default.signInModalHedSpanTag,{brandName:e}),signInMessage:re||Le(M.default.signInModalMessage),reviewModalProps:X||{hed:Le(M.default.replyDiscardModalHed)},reviewNoteTags:Z,siteUserName:ue,unlikeActionErrorMessage:de,user:ce,usernameSignInDek:me,organizationId:Y,contentTitle:H})),l.default.createElement(f.default,null,l.default.createElement("aside",{"data-testid":"ReviewFeedbackAside"},l.default.createElement(g.PaymentGateway,{group:"ads"},l.default.createElement(m.default,{position:"rail"})))),pe&&l.default.createElement(u.default,{contentAlign:"center",isFixed:!0,position:"top-centre",shouldShowCloseButton:!0,isDisclaimer:!0,delayDuration:3e3},l.default.createElement("p",null,he)))},t.Commenting.propTypes={brandName:s.default.string,closeCommentStreamMessage:s.default.string,commentCount:s.default.number,commentingUrl:s.default.string.isRequired,communityExperience:s.default.shape({commentsOrderBy:s.default.string,repliesOrderBy:s.default.string,disableCommentStream:s.default.bool,enableMultipleComments:s.default.bool,enableMultipleRatings:s.default.bool,enableRatings:s.default.bool,enableReplies:s.default.bool,enableTags:s.default.bool,enableUpvotes:s.default.bool,hasHideCommunityFunctionalTag:s.default.bool}),communityUrl:s.default.string,ContentWrapper:s.default.elementType,defaultReplyLimit:s.default.number,hed:s.default.string.isRequired,id:s.default.string.isRequired,initialReviewLimit:s.default.number,isBookmarkingEnabled:s.default.bool,isCommentLoading:s.default.bool,likeActionErrorMessage:s.default.string,logo:s.default.object,noCommentsMsgConf:s.default.object,organizationId:s.default.string.isRequired,replyLimit:s.default.number,reviewerBadges:s.default.arrayOf(s.default.shape({role:s.default.string,badge:s.default.string})),reviewerInfoText:s.default.string,reviewLimit:s.default.number,reviewModalProps:s.default.object,reviewNotesFormSignInURL:s.default.string,reviewNoteTags:s.default.arrayOf(s.default.shape({active:s.default.bool,description:s.default.string,label:s.default.string,slug:s.default.string})),reviewsSectionTitle:s.default.string,savedCommentConf:s.default.object,showMoreButtonLabel:s.default.string,showPinnedComment:s.default.bool,signInHed:s.default.string,signInHedSpanTag:s.default.string,signInMessage:s.default.string,signUpMessageBannerHed:s.default.string,tenantID:s.default.string.isRequired,unlikeActionErrorMessage:s.default.string,user:s.default.shape({isAuthenticated:s.default.bool.isRequired,amguuid:s.default.string}).isRequired,usernameSignInDek:s.default.string}},392:function(e,t,a){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(a(5556)),o=n(a(96540)),r=a(37243),s=n(a(73730)),l=a(14307),d=a(22761),c=n(a(92867)),m=a(72964),u=({dek:e,hed:t,isBookmarkingEnabled:a,subContentDek:n,showCommentSavedMessage:i,showSignInButton:u,signInURL:g})=>{const{formatMessage:p}=(0,r.useIntl)();return o.default.createElement(d.CommentMessageWrapper,{hasSideBorder:i},o.default.createElement(d.CommentInfoHed,null,t),e&&o.default.createElement(d.CommentInfoDek,{dangerouslySetInnerHTML:{__html:e}}),i&&o.default.createElement(d.CommentInfoDek,{dangerouslySetInnerHTML:{__html:n}}),u&&o.default.createElement(s.default.Primary,{href:g,inputKind:"link",label:p(c.default.signInButtonLabel),target:"_self",rel:"nofollow noreferrer",onClickHandler:e=>{const t={type:"login",label:e.target.innerText,subject:"community",placement:"interstitial",state:"focused",paywall_source:"COMMUNITY_LOGIN"};(0,l.trackMessageUnitEvent)(t)}}),i&&a&&o.default.createElement(d.MessageBannerBookmarkWrapper,{"data-testid":"message-banner-bookmark-wrapper"},o.default.createElement(m.BookmarkIcon,{link:{label:p(c.default.saveStory),url:"#",network:"bookmark",behavior:"bookmark"},theme:"standard",type:"standard",isUrlBookmark:!0,isBookmarkButton:!0})))};u.propTypes={dek:i.default.string,hed:i.default.string,isBookmarkingEnabled:i.default.bool,showCommentSavedMessage:i.default.bool,showSignInButton:i.default.bool,signInURL:i.default.string,subContentDek:i.default.string},u.displayName="CommentingMessageBanner",t.default=u},24300:(e,t,a)=>{const n=a(96540),i=a(5556),o=a(62193),{connect:r}=a(67851),{useState:s,useEffect:l,useCallback:d}=a(96540),{useIntl:c}=a(37243),m=a(47125),{formatReviewListItems:u}=a(39311),{getComments:g,requestGraphService:p}=a(60711),{createCommentReaction:f,removeCommentReaction:h}=a(22914),b=a(22509),{default:y}=a(92867),{Circle:w}=a(62930),{ReviewListLoaderWrapper:v}=a(22761),{commentingAction:R,getParamsAsObjectFromURL:C,getRelativeURLWithoutParams:M,getRelativeURLWithSearchAndHash:N,setUserReactionsReducer:L,setUserReactionsReplyReducer:I,updatedUserReactionsForID:E,useFetchComments:x}=a(85554),T="createCommentReaction";t.CREATE_COMMENT_ACTION=T;const k=({commentingUrl:e,contentTitle:t,defaultReplyLimit:a,entityId:i,handleUsernameChange:r,id:k,initialReviewLimit:$,likeActionErrorMessage:U,replyLimit:S,commentsOrderBy:B,repliesOrderBy:A,reviewLimit:_,reviewerBadges:D,reviewModalProps:H,reviewNoteTags:P,setCommentCount:F,setIsCommentLoading:O,shouldEnableRatings:j,shouldEnableReply:W,shouldEnableTags:q,shouldEnableUpvotes:Y,showMessageBannerHandler:K,showMoreButtonLabel:z,showPinnedComment:V,signInHed:G,signInHedSpanTag:X,signInMessage:Q,siteUserName:Z,unlikeActionErrorMessage:J,user:ee={},usernameSignInDek:te,logo:ae})=>{const{formatMessage:ne}=c(),[ie,oe]=s(!1),[re,se]=s(),[le,de]=s([]),[ce,me]=s({}),{isLoading:ue,reviews:ge,page:pe,setPage:fe}=x({commentingUrl:e,commentsOrderBy:B,defaultReplyLimit:a,entityId:i,initialReviewLimit:$,setCommentCount:F,setIsCommentLoading:O,repliesOrderBy:A});l((()=>{const e=u(ge,ne,P);de(e)}),[ge,ne,P]),l((()=>{le.length&&me((e=>le.reduce(L,{...e})))}),[le]);const he=d((async({item:t})=>{if(!ee.isAuthenticated){const e="COMMUNITY_LIKE_CLICK_NOTE",a={type:"login",source_type:e},n={action:T,commentId:t.commentId,commentRevisionId:t.revisionId,source:e},i=N({href:window.location.href,hashValue:R.LIKE_COMMENT,queryParams:n});return void b.doDisplayModal({dangerousHed:G,dangerousHedSpanTag:X,dangerousDek:Q,redirectURL:i,analyticsType:"comment reaction",shouldHideIllustration:!0,source:e,snowplowData:a})}const{commentId:a,revisionId:n}=t;me((e=>E({reactions:e,id:a})));const{viewerActionPresence:i}=ce[a]||{},o=i?"removeCommentReaction":T,r=o===T,s={operationName:o,query:r?f:h,variables:{input:{commentID:a,commentRevisionID:n,clientMutationId:"0"}}};try{await p(e,s)}catch(e){me((e=>E({reactions:e,id:a})));const t=r?U||ne(y.likeActionErrorMessage):J||ne(y.unlikeActionErrorMessage);K(t)}}),[ee,ce,e,G,X,Q,ne,K,U,J]);return l((()=>{if(!window.location||!ee.isAuthenticated||o(ce))return;const{action:e,commentId:t,commentRevisionId:a}=C({searchParams:window.location.search});if(e!==T)return;const n=ce[t];if(n&&t&&a){const{viewerActionPresence:e}=n;!e&&he({item:{commentId:t,revisionId:a}}),window.history.replaceState({},"",M({href:window.location.href,paramsToRemove:["action","commentId","commentRevisionId"]}))}}),[ee.isAuthenticated,he,ce]),ue?n.createElement(v,null,n.createElement(w,null)):le.length||re?n.createElement(m,{commentingUrl:e,commentReactionHandler:he,handleShowMore:async()=>{oe(!0),se();const t=pe.endCursor;try{const{reviews:a,page:n}=await g({entityId:i,after:t,commentingUrl:e,logger:console,commentsOrderBy:B,repliesOrderBy:A,reviewLimit:_});fe(n);const o=u(a,ne,P);de([...le,...o])}catch(e){se(!0)}oe(!1)},handleUsernameChange:r,hasErrored:!!re,hasNextPage:pe.hasNextPage,id:k,isLoading:ie,items:le,logo:ae,repliesOrderBy:A,replyLimit:S,reviewerBadges:D,reviewModalProps:H,shouldEnableRatings:j,shouldEnableReply:W,shouldEnableTags:q,shouldEnableUpvotes:Y,showMessageBannerHandler:K,showMoreButtonLabel:z,showPinnedComment:V,signInHed:G,signInHedSpanTag:X,signInMessage:Q,siteUserName:Z,updateUserReactions:e=>{me((t=>e.reduce(I,{...t})))},user:ee,usernameSignInDek:te,userReactions:ce,contentTitle:t}):null};k.propTypes={commentingUrl:i.string.isRequired,commentsOrderBy:i.string,contentTitle:i.string,defaultReplyLimit:i.number,entityId:i.string.isRequired,handleUsernameChange:i.func,id:i.string,initialReviewLimit:i.number,likeActionErrorMessage:i.string,logo:i.object,repliesOrderBy:i.string,replyLimit:i.number,reviewerBadges:i.arrayOf(i.shape({role:i.string,badge:i.string})),reviewLimit:i.number,reviewModalProps:i.object,reviewNoteTags:i.array,setCommentCount:i.func.isRequired,setIsCommentLoading:i.func.isRequired,shouldEnableRatings:i.bool,shouldEnableReply:i.bool,shouldEnableTags:i.bool,shouldEnableUpvotes:i.bool,showMessageBannerHandler:i.func,showMoreButtonLabel:i.string,showPinnedComment:i.bool,signInHed:i.string,signInHedSpanTag:i.string,signInMessage:i.string,siteUserName:i.string,unlikeActionErrorMessage:i.string,user:i.shape({amguuid:i.string,isAuthenticated:i.bool.isRequired}).isRequired,usernameSignInDek:i.string},e.exports=r(null,{setCommentCount:e=>({type:"SET_KEY",key:"comments.commentCount",value:e}),setIsCommentLoading:e=>({type:"SET_KEY",key:"comments.isCommentLoading",value:e})})(k)},81063:(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Commenting=void 0;const n=a(12892),i=a(57744),o=a(39252),r=(0,i.connector)(o.Commenting,{keysToPluck:["communityExperience","brandName","user","logo"],keysToSpread:["commentAttributes","comments","recaptcha"]}),s=(0,n.asConfiguredComponent)(r,"Commenting");t.Commenting=s},22761:(e,t,a)=>{const n=a(92168).default,{getTypographyStyles:i,maxScreen:o,getColorStyles:r,calculateSpacing:s}=a(26865),{BaseText:l}=a(76955),{BREAKPOINTS:d}=a(96472),c=n.div.withConfig({displayName:"ReviewListLoaderWrapper"})` display: flex; justify-content: center; `,m=n.div.withConfig({displayName:"CommentMessageWrapper"})` display: flex; flex-direction: column; align-items: center; margin-bottom: ${s(3)}; border: 1px solid; ${({hasSideBorder:e})=>!e&&"\n border-right: none;\n border-left: none;\n "} ${r("border-color","colors.consumption.body.standard.divider")}; padding: ${s(3)} ${s(2)}; text-align: center; `,u=n(l).withConfig({displayName:"CommentInfoHed"})` ${r("color","colors.consumption.lead.standard.heading")}; ${i("typography.definitions.consumptionEditorial.description-feature")} &:not(:last-child) { padding-bottom: ${s(2)}; } `,g=n(l).withConfig({displayName:"CommentInfoDek"})` ${r("color","colors.consumption.lead.standard.context-tertiary")}; ${i("typography.definitions.utility.assistive-text")} &:not(:last-child) { padding-bottom: ${s(2)}; } `,p=n("div").withConfig({displayName:"MessageBannerBookmarkWrapper"})` display: flex; flex-direction: column; width: 100%; button { margin-top: 0; margin-bottom: 0; ${o(d.md)} { margin-right: 16px; margin-left: 16px; } ${r("background","colors.interactive.base.brand-primary")}; &:hover, &:focus, &:active { ${r("background-color","colors.interactive.base.brand-primary")}; } } span { ${r("color","colors.interactive.base.white")}; } svg { width: 24px; height: 24px; path { ${r("fill","colors.interactive.base.white")}; } } `;e.exports={CommentInfoDek:g,CommentInfoHed:u,CommentMessageWrapper:m,MessageBannerBookmarkWrapper:p,ReviewListLoaderWrapper:c}},45771:(e,t,a)=>{const n=a(5556),i=a(96540),{useIntl:o}=a(37243),r=a(76399),s=a(96616).A,{asConfiguredComponent:l}=a(12892),{trackComponent:d}=a(92716),{interactionResponse:c}=a(56187),{ReviewNoteModalBaseWrapper:m,ReviewNoteModalCloseButton:u,ReviewNoteModalContinueButton:g,ReviewNoteDiscardSection:p,ReviewNoteModalDek:f,ReviewNoteModalHed:h}=a(49038),b=({className:e,modalProps:{hed:t,dek:a,continueLabel:n,discardLabel:l}={},confirmButtonCallback:b,onClose:y,isVisible:w=!1})=>{i.useEffect((()=>{(async()=>{await c(),d("ReviewNoteSubmitModal")})()}),[]);const v=()=>{y()},{formatMessage:R}=o();return i.createElement(m,{className:e,closeTimeoutMS:200,isOpen:w},i.createElement(u,{isIconButton:!0,ariaLabel:R(s.closeButtonAriaLabel),label:R(s.closeButtonLabel),onClickHandler:v,role:"button",ButtonIcon:r}),i.createElement(h,null,t||R(s.hed)),i.createElement(f,null,a||R(s.dek)),i.createElement(g,{label:n||R(s.continueLabel),onClickHandler:v}),i.createElement(p,{onClickHandler:b,label:l||R(s.discardLabel),btnStyle:"text",inputKind:"link"}))};b.propTypes={className:n.string,confirmButtonCallback:n.func,isVisible:n.bool,modalProps:n.object,onClose:n.func},b.displayName="ReviewNoteModal",e.exports=l(b,"ReviewNoteModal")},49038:(e,t,a)=>{const n=a(96540),i=a(20312),o=a(5556),{default:r}=a(92168),{BaseText:s}=a(76955),{calculateSpacing:l}=a(26865),{BREAKPOINTS:d,ZINDEX_MAP:c}=a(96472),m=a(73730),{ButtonLabel:u}=a(18974),{getColorToken:g,getTypographyStyles:p}=a(26865),f=r(s).withConfig({displayName:"ReviewNoteModalHed"})` margin-top: ${l(0)}; padding: ${l(2.5)} ${l(1.25)}; text-align: center; `;f.defaultProps={as:"div",colorToken:"colors.interactive.base.brand-primary",topSpacing:1,typeIdentity:"typography.definitions.consumptionEditorial.display-large"};const h=r.p.withConfig({displayName:"ReviewNoteModalDek"})` ${p("typography.definitions.consumptionEditorial.body-core")} margin-top: ${l(0)}; margin-bottom: ${l(5)}; text-align: center; color: ${g("colors.consumption.body.standard.body")}; @media (max-width: ${d.md}) { margin-bottom: ${l(5)}; } `,b=r(m.Utility).withConfig({displayName:"ReviewNoteModalButtonPrimary"})` position: absolute; top: ${l(1)}; right: ${l(1)}; padding: 0; fill: ${g("colors.interactive.base.black")}; .icon-close { padding: 6px; } &, &:focus, &:hover { border: 0; background-color: transparent; } width: 42px; height: 42px; `,y=r(m.Primary).withConfig({displayName:"ReviewNoteModalContinueButton"})` display: flex; justify-content: center; margin-bottom: ${l(1)}; padding: ${l(2)} ${l(0)}; width: 100%; ${u} { padding: 0 ${l(2.5)}; } `,w=r(m.Primary).withConfig({displayName:"ReviewNoteDiscardSection"})` display: flex; justify-content: center; padding: 17px ${l(0)}; width: 100%; text-decoration: underline; ${u} { padding: 0 ${l(2.5)}; } `;function v({className:e,...t}){const a=`${e}__content`,o=`${e}__overlay`;return n.createElement(i,{portalClassName:e,className:a,overlayClassName:o,...t})}v.propTypes={className:o.string};const R=r(v).withConfig({displayName:"ReviewNoteModalBaseWrapper"})` &__overlay { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: ${c.interstitialLayer}; background-color: rgba( ${g("colors.background.black",{rgbOnly:!0})}, 0 ); &.ReactModal__Overlay--after-open { transition: background-color 500ms; opacity: 1; background-color: rgba( ${g("colors.background.black",{rgbOnly:!0})}, 0.4 ); } &.ReactModal__Overlay--after-close { transition: background-color 500ms; background-color: rgba( ${g("colors.background.black",{rgbOnly:!0})}, 0 ); } } &__content { position: relative; top: 50%; left: 50%; transform: translateY(-50%) translateX(-50%); border-radius: ${l(1)}; box-shadow: 0 0 24px 0 rgba(0, 0, 0, 0.1); background-color: ${g("colors.background.white")}; padding: ${l(6)} ${l(5)} ${l(5)} ${l(5)}; width: ${l(57)}; height: 368px; overflow-y: auto; @media (max-width: ${d.md}) { transform: translateY(-50%) translateX(calc(-50% - ${l(2,"px")})); margin: 0 ${l(2,"px")}; padding: ${l(4)} ${l(5)} ${l(4)} ${l(5)}; width: auto; min-width: ${l(38)}; max-width: ${l(60)}; } } `;e.exports={ReviewNoteModalBaseWrapper:R,ReviewNoteModalCloseButton:b,ReviewNoteModalContinueButton:y,ReviewNoteDiscardSection:w,ReviewNoteModalDek:h,ReviewNoteModalHed:f}},96616:(e,t,a)=>{const n=a(37243);t.A=(0,n.defineMessages)({closeButtonAriaLabel:{id:"ReviewNoteModal.CloseButtonAriaLabel",defaultMessage:"Close ReviewNoteModal Modal",description:"ReviewNoteModal component close button aria label"},closeButtonLabel:{id:"ReviewNoteModal.CloseButtonLabel",defaultMessage:"close modal button label",description:"ReviewNoteModal component close button label"},continueLabel:{id:"ReviewNoteModal.continueLabel",defaultMessage:"No, still writing",description:"ReviewNoteModal component continue button text",isConfigurable:!0},dek:{id:"ReviewNoteModal.dek",defaultMessage:"Everything you've written will be lost",description:"ReviewNoteModal component dek text",isConfigurable:!0},discardLabel:{id:"ReviewNoteModal.discardLabel",defaultMessage:"Yes, discard it",description:"ReviewNoteModal discard button text",isConfigurable:!0},hed:{id:"ReviewNoteModal.Hed",defaultMessage:"Discard this comment?",description:"ReviewNoteModal component hed text",isConfigurable:!0}})},56425:(e,t,a)=>{const n=a(96540),{useState:i,useEffect:o}=a(96540),r=a(5556),s=a(45565),{addReview:l,validateAndAddStory:d}=a(60711),{trackContentEngagementEvent:c}=a(14307),m=({commentingUrl:e,contentId:t,contentTitle:a="",handleUsernameChange:r,hed:m,organizationId:u,reviewerInfoText:g,reviewNoteTags:p,shouldEnableMultipleComments:f,shouldEnableMultipleRatings:h,shouldEnableRatings:b,shouldEnableTags:y,showMessageBannerHandler:w,showSavedRecipeNotes:v,signInURL:R,siteUserName:C,tenantID:M,userId:N,usernameSignInDek:L})=>{const[I,E]=i("");o((()=>{const e=window.location.origin+window.location.pathname;E(e)}),[]);const x=(e,t,a)=>{{const n={type:"submit",label:"add note",rating:t,subject:"community_comment",features_list:a};e&&(n.error=e),c(n,{skipDuplicateEvent:!1})}};return n.createElement(s,{handleUsernameChange:r,onSubmitHandler:async n=>{let i,o;const r={hed:m,storyLink:I},{reviewNote:s,rating:c,userId:g,toggleChip:p}=n||{},b=p?.filter((e=>e.slug&&e.active))||[],y=b.map((e=>e.slug)),w=b.map((e=>({name:e.label.toLowerCase(),index:0,total_index:1}))),v={review:{storyID:t,siteID:u,body:s,meta:JSON.stringify(r),rating:c,ratingScale:5,reviewTags:y,tenantID:M},clientMutationId:"0",enableMultipleRatings:h,enableMultipleComments:f},R=g;try{await d({id:t,title:a,organizationId:u,commentingUrl:e,console}),i=await l(v,R,e,console),x(null,c,w)}catch(e){o=e.message||"",x(o,c,w),console.warn(e)}return i},reviewerInfoText:g,reviewNoteTags:p,shouldEnableRatings:b,shouldEnableTags:y,showMessageBannerHandler:w,showSavedRecipeNotes:v,signInURL:R,siteUserName:C,userId:N,usernameSignInDek:L})};m.propTypes={commentingUrl:r.string,contentId:r.string,contentTitle:r.string,handleUsernameChange:r.func.isRequired,hed:r.string,organizationId:r.string,reviewerInfoText:r.string,reviewNoteTags:r.array,shouldEnableMultipleComments:r.bool,shouldEnableMultipleRatings:r.bool,shouldEnableRatings:r.bool,shouldEnableTags:r.bool,showMessageBannerHandler:r.func,showSavedRecipeNotes:r.func.isRequired,signInURL:r.string,siteUserName:r.string,tenantID:r.string,userId:r.string,usernameSignInDek:r.string},e.exports=m},76584:(e,t,a)=>{e.exports=a(56425)},30488:(e,t,a)=>{const n=a(5556),i=a(96540),{useState:o}=a(96540),{connect:r}=a(67851),{useIntl:s}=a(37243),l=a(62097).A,{createNewUsername:d,validate:c}=a(67116),m=a(76399),{asConfiguredComponent:u}=a(12892),{trackComponent:g}=a(92716),{interactionResponse:p}=a(56187),{trackUserAccountEvent:f}=a(14307),{doCloseModal:h}=a(61057),{UserNameModalBaseWrapper:b,UserNameModalCloseButton:y,UserNameModalButtons:w,UserNameModalDek:v,UserNameModalHed:R,UserNameModalSubmit:C,UserNameModalTextFieldWrapper:M}=a(94823),N=({className:e,dangerousDek:t,dangerousHed:a,isVisible:n=!1,maxLength:r=23,minLength:u=2,organizationId:N,showMessageBannerHandler:L,submitButtonLabel:I,successCallback:E,userApiUrl:x,userId:T,source:k})=>{i.useEffect((()=>{(async()=>{await p(),g("UserNameModal")})()}),[]);const{formatMessage:$}=s(),[U,S]=o(""),[B,A]=o(""),_={lengthError:$(l.lengthError),specialCharError:$(l.specialCharError)};return i.createElement(b,{className:e,isOpen:n},i.createElement(y,{isIconButton:!0,ariaLabel:$(l.closeButtonLabel),label:$(l.closeButtonLabel),role:"button",onClickHandler:()=>{h(),f({type:"exit",subject:"username_modal",source_type:k}),S(null)},ButtonIcon:m}),i.createElement(R,null,a||$(l.hed)),i.createElement(v,{dangerouslySetInnerHTML:{__html:t||$(l.dek)}}),i.createElement(M,{className:"user-name-modal",hasAutoFocus:!0,shouldUseUppercase:!0,name:"username",placeholder:"YOUR_USERNAME",type:"text",onInputChange:e=>{let{value:t}=e.target;t.length>r&&(t=t.slice(0,r),e.target.value=t),A(t)},errorText:U,isInvalid:!!U,formName:"username",errorPosition:"belowTextField",hideLabel:!0,label:$(l.hed),assistiveSubtext:$(l.userNameModalAssistiveText)}),i.createElement(w,null,i.createElement(C,{label:I||$(l.submitButtonLabel),inputKind:"submit","data-testid":"UserNameModalSubmit",onClickHandler:async()=>{let e;const t=c(B,{minLength:u,maxLength:r});if(t)return void S(_[t]??"");let a;try{a=await d({name:B,organizationId:N,userId:T,url:x},console),A(a),S(null),L&&L($(l.successMessage)),h(),E&&E(a)}catch(t){"already_taken"===t?.message?(S($(l.alreadyTakenError)),e=t?.message):(L&&L($(l.errorMessage)),h(),e=l.errorMessage.defaultMessage)}f({type:"submit",label:"SAVE USERNAME",subject:"username_modal",source_type:k,error:e})}})))};N.propTypes={className:n.string,dangerousDek:n.string,dangerousHed:n.string,isVisible:n.bool,maxLength:n.number,minLength:n.number,organizationId:n.string.isRequired,showMessageBannerHandler:n.func,source:n.string,submitButtonLabel:n.string,successCallback:n.func,userApiUrl:n.string.isRequired,userId:n.string.isRequired};const L=u(N,"UserNameModal");e.exports=r((e=>{const{userNameModalConfig:t}=e;return{...t}}))(L)},64837:(e,t,a)=>{e.exports=a(30488)},94823:(e,t,a)=>{const n=a(96540),i=a(20312),o=a(5556),{default:r}=a(92168),{BaseText:s}=a(76955),{calculateSpacing:l,getColorStyles:d}=a(26865),{ZINDEX_MAP:c,BREAKPOINTS:m}=a(96472),u=a(73730),{getColorToken:g,getTypographyStyles:p}=a(26865),f=a(89662),{TextFieldControlInput:h}=a(60434),b=r(s).withConfig({displayName:"UserNameModalHed"})` padding-top: ${l(2.5)}; padding-bottom: ${l(2.5)}; text-align: center; `;b.defaultProps={as:"div",colorToken:"colors.discover.body.white.heading",topSpacing:1,typeIdentity:"typography.definitions.consumptionEditorial.display-small"};const y=r.p.withConfig({displayName:"UserNameModalDek"})` ${p("typography.definitions.consumptionEditorial.body-core")} margin: 0; text-align: center; color: ${g("colors.consumption.body.standard.body")}; `,w=r(u.Utility).withConfig({displayName:"UserNameModalCloseButton"})` position: absolute; top: ${l(1)}; right: ${l(1)}; padding: 0; fill: ${g("colors.discovery.body.light.context-tertiary")}; .icon-close { padding: 8px; } &, &:focus, &:hover { border: 0; background-color: transparent; } `,v=r(u.Primary).withConfig({displayName:"UserNameModalSubmit"})` margin-top: 0; padding: 0; `,R=r.div.withConfig({displayName:"UserNameModalButtons"})` display: flex; justify-content: center; margin-top: ${l(4)}; @media (max-width: ${m.md}) { margin-top: ${l(3)}; } width: 100%; ${v} { padding: 0; width: 100%; } `;function C({className:e,...t}){const a=`${e}__content`,o=`${e}__overlay`;return n.createElement(i,{portalClassName:e,className:a,overlayClassName:o,...t})}C.propTypes={className:o.string};const M=r(C).withConfig({displayName:"UserNameModalBaseWrapper"})` &__overlay { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: ${c.interstitialLayer}; background-color: rgba( ${g("colors.background.black",{rgbOnly:!0})}, 0 ); &.ReactModal__Overlay--after-open { transition: background-color 750ms; opacity: 1; background-color: rgba( ${g("colors.background.black",{rgbOnly:!0})}, 0.4 ); } &.ReactModal__Overlay--after-close { transition: background-color 750ms; background-color: rgba( ${g("colors.background.black",{rgbOnly:!0})}, 0 ); } } &__content { position: relative; top: 50%; left: 50%; transform: translateY(-50%) translateX(-50%); border-radius: 8px; background-color: ${g("colors.background.white")}; padding-top: ${l(12)}; padding-right: ${l(6)}; padding-bottom: ${l(7)}; padding-left: ${l(6)}; width: ${l(57)}; min-height: ${l(62)}; overflow-y: auto; @media (max-width: ${m.md}) { width: 90%; } } `,N=r(f.SingleLine).withConfig({displayName:"UserNameModalTextFieldWrapper"})` ${h} { margin-top: ${l(6)}; ${p("typography.definitions.globalEditorial.accreditation-feature")}; ${d("color","colors.interactive.base.body")}; @media (max-width: ${m.md}) { margin-top: ${l(4)}; } } `;e.exports={UserNameModalBaseWrapper:M,UserNameModalButtons:R,UserNameModalCloseButton:w,UserNameModalDek:y,UserNameModalHed:b,UserNameModalSubmit:v,UserNameModalTextFieldWrapper:N}},62097:(e,t,a)=>{const n=a(37243);t.A=(0,n.defineMessages)({hed:{id:"UserNameModal.Hed",defaultMessage:"Create Username",description:"UserNameModal component hed text"},dek:{id:"UserNameModal.Dek",defaultMessage:"Your username will appear next to any comments and replies you add.",description:"UserNameModal component description text"},submitButtonLabel:{id:"UserNameModal.SubmitButtonLabel",defaultMessage:"Save Username",description:"UserNameModal component submit button label"},closeButtonLabel:{id:"UserNameModal.CloseButtonLabel",defaultMessage:"Close User Name",description:"UserNameModal component close button label"},lengthError:{id:"UserNameModal.lengthError",defaultMessage:"Usernames must be between 2 and 23 characters.",description:"UserNameModal component length error"},specialCharError:{id:"UserNameModal.specialCharError",defaultMessage:"Usernames can only include letters, numbers and underscores (_).",description:"UserNameModal component special chars validation error"},alreadyTakenError:{id:"UserNameModal.alreadyTakenError",defaultMessage:"This Username is already taken.",description:"UserName already taken error"},userNameModalAssistiveText:{id:"UserNameModal.UserNameModalAssistiveText",defaultMessage:"Usernames must be between 2 and 23 characters and can only include letters, numbers and underscores (_).",description:"UserNameModal Assistive Text"},errorMessage:{id:"UserNameModal.ErrorMessage",defaultMessage:"Unable to save username. Please try again.",description:"UserNameModal default error message"},successMessage:{id:"UserNameModal.SuccessMessage",defaultMessage:"Your username is saved.",description:"UserNameModal success message"}})},8101:(e,t,a)=>{const n=a(5556),i=a(96540),{useIntl:o}=a(37243),{useState:r,useCallback:s}=a(96540),{trackComponent:l}=a(92716),{interactionResponse:d}=a(56187),c=a(21093),m=a(71001),{ReviewReplyComment:u}=a(32844),{CommunityBrandLogoImage:g,PinnedCommentContainer:p,PinnedContainerHeading:f,PinnedTextLabel:h,ReviewListWrapper:b,ReviewListItems:y,ReviewListRatingStars:w,ReviewListButton:v,ReviewListError:R,ReviewText:C,ReviewerUserName:M,ReviewListTimeStamp:N,ReviewLikeCount:L,ReviewReplyLabel:I,ReviewListMetaInfo:E,ReviewItem:x,ReviewMetaGrid:T,ReviewListReactionButton:k,ReviewReplyWrapper:$}=a(16631),{Comment:U,Like:S,LikeFilled:B}=a(24695),{Dot:A}=a(91470),_=a(27517),D=a(22509),H=a(61057),P=a(50787),{trackContentEngagementEvent:F,trackUserAccountEvent:O}=a(14307),{commentingAction:j}=a(85554),W=a(74657).A,q=({className:e,logo:t,commentingUrl:a,commentReactionHandler:n,contentTitle:q,handleShowMore:Y,handleUsernameChange:K,hasErrored:z=!1,hasNextPage:V=!1,id:G,isLoading:X=!1,items:Q,replyLimit:Z,reviewerBadges:J,repliesOrderBy:ee,reviewModalProps:te,shouldEnableRatings:ae,shouldEnableReply:ne,shouldEnableTags:ie=!1,shouldEnableUpvotes:oe,showMessageBannerHandler:re,showMoreButtonLabel:se,showPinnedComment:le,signInHed:de,signInHedSpanTag:ce,signInMessage:me,siteUserName:ue,updateUserReactions:ge,user:pe,usernameSignInDek:fe,userReactions:he})=>{i.useEffect((()=>{(async()=>{await d(),l("ReviewList")})()}),[]);const[be,ye]=r({}),[we,ve]=r([]),{formatMessage:Re}=o(),Ce=s((e=>{if(pe?.isAuthenticated)ue?(ve((t=>[...t,e])),ye((t=>({...t,[e]:!0})))):void 0!==ue&&(H.doDisplayModal({dangerousDek:fe,successCallback:t=>{K(t),ve((t=>[...t,e])),ye((t=>({...t,[e]:!0})))},source:"community_reply"}),O({type:"impression",subject:"username_modal",label:"Create Username",source_type:"community_reply"}));else{const e="COMMUNITY_REPLY_TO_COMMENT",t=new URL(window.location);t.hash=j.LEAVE_REPLY,t.searchParams.set("source",e);const a={subject:"community_comment",label:"Reply",source_type:e,type:"login"};D.doDisplayModal({dangerousDek:me,dangerousHed:de,dangerousHedSpanTag:ce,redirectURL:t.href,shouldHideIllustration:!0,source:e,snowplowData:a})}F({type:"attempt",subject:"community_comment",label:"reply",items:[{content_id:e}]},{skipDuplicateEvent:!1})}),[ue]),Me=se??Re(W.showMoreButtonLabel);return i.createElement(b,{className:e,id:G,tabIndex:"-1"},Q&&Q.length>0?i.createElement(y,null,Q.map((e=>{const{id:o,commentId:r,text:s,username:l,date:d,rating:b,replies:y,replyPageInfo:v,recipeId:R,revisionId:D,role:H,tags:O,storyURL:j}=e||{},Y=he[r]||{},{viewerActionPresence:z=!1,reactionCount:V=0}=Y,G=ie&&!!O?.length,{badge:X}=J?.find((e=>e.role===H))||{},Q=ae&&b&&i.createElement(w,{as:"div"},i.createElement(c,{averageRatingCount:b})),se=i.createElement(x,{key:[o,s,l,d].join("-")},i.createElement(T,{badgeText:X},l&&i.createElement(M,null,l),X&&i.createElement(P,{badgeText:X}),Q),i.createElement(E,null,G&&i.createElement(i.Fragment,null,O.map((e=>i.createElement(_,{key:e},e))),i.createElement(A,null)),i.createElement(N,null,d)),i.createElement(E,null,s&&i.createElement(C,{dangerouslySetInnerHTML:{__html:s}})),i.createElement(E,null,oe&&i.createElement(k,{isIconButton:!0,name:"comment-reaction",label:"Reaction",onClickHandler:()=>(({item:e})=>{const t=he[e.commentId]?.viewerActionPresence?"unlike":"like";F({type:t,subject:"community_comment"},{skipDuplicateEvent:!1}),n({item:e})})({item:e}),ButtonIcon:z?B:S}),oe&&i.createElement(L,null,V),ne&&i.createElement($,{onClick:()=>Ce(r)},i.createElement(U,null),i.createElement(I,null,Re(W.reviewReplyLabel)))),be[r]&&we.includes(r)&&pe?.isAuthenticated&&i.createElement(m,{commentId:r,username:l,contentId:R,revisionId:D,commentingUrl:a,closeReply:()=>(e=>{ye((t=>({...t,[e]:!1})))})(r),reviewModalProps:te,showMessageBannerHandler:re,source:"community_comment",contentTitle:q,storyURL:j}),y&&y.length>0&&i.createElement(u,{reviewerBadges:J,username:l,replies:y,replyPageInfo:v,reviewModalProps:te,repliesOrderBy:ee,commentReactionHandler:n,user:pe,userReactions:he,updateUserReactions:ge,usernameSignInDek:fe,signInHed:de,signInHedSpanTag:ce,signInMessage:me,shouldEnableReply:ne,commentId:r,replyLimit:Z,siteUserName:ue,handleUsernameChange:K,contentId:R,showMessageBannerHandler:re,commentingUrl:a,shouldEnableUpvotes:oe}));return le?i.createElement(p,{key:o,className:"pinned-comment"},i.createElement(f,{logo:t},i.createElement(h,null,Re(W.pinnedReviewLabel)),i.createElement(g,{src:t?.sources?.sm?.url||"",alt:"Community Logo"})),se):se}))):null,!z&&V&&i.createElement(v,{inputKind:"button",onClickHandler:Y,label:X?Re(W.loading):Me,isDisabled:X}),z?i.createElement(R,null,Re(W.reviewListError,{br:i.createElement("br",null)})):null)};q.propTypes={className:n.string,commentingUrl:n.string.isRequired,commentReactionHandler:n.func,contentTitle:n.string,handleShowMore:n.func,handleUsernameChange:n.func,hasErrored:n.bool,hasNextPage:n.bool,id:n.string,isLoading:n.bool,items:n.arrayOf(n.shape({id:n.number,text:n.string,username:n.string,date:n.string,revisionId:n.string.isRequired,commentId:n.string.isRequired,viewerActionPresence:n.bool,reactionCount:n.number})),logo:n.object,repliesOrderBy:n.string,replyLimit:n.number,reviewerBadges:n.arrayOf(n.shape({role:n.string,badge:n.string})),reviewModalProps:n.object,shouldEnableRatings:n.bool,shouldEnableReply:n.bool,shouldEnableTags:n.bool,shouldEnableUpvotes:n.bool,showMessageBannerHandler:n.func,showMoreButtonLabel:n.string,showPinnedComment:n.bool,signInHed:n.string,signInHedSpanTag:n.string,signInMessage:n.string,siteUserName:n.string,updateUserReactions:n.func,user:n.shape({amguuid:n.string,isAuthenticated:n.bool.isRequired}).isRequired,usernameSignInDek:n.string,userReactions:n.objectOf(n.shape({viewerActionPresence:n.bool.isRequired,reactionCount:n.number.isRequired}).isRequired)},e.exports=q},47125:(e,t,a)=>{e.exports=a(8101)},16631:(e,t,a)=>{const n=a(92168).default,{BaseLink:i,BaseText:o}=a(76955),{calculateSpacing:r,getColorStyles:s,getColorToken:l,getTypographyStyles:d,maxScreen:c}=a(26865),{BREAKPOINTS:m}=a(96472),u=a(43438),g=a(73730),{ToggleButton:p}=a(18161),{RatingWrapper:f,RatingStarHalf:h,RatingStar:b,RatingLabel:y,RatingInput:w}=a(97927),v=n(g.Primary).withConfig({displayName:"ReviewListButton"})` align-self: center; margin-top: ${r(4)}; margin-bottom: ${r(4)}; `,R=n.ul.withConfig({displayName:"ReviewListItems"})` display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; `,C=n(u).withConfig({displayName:"ReviewListCarat"})` margin-left: ${r(1)}; width: ${r(1)}; height: ${r(1)}; ${({theme:e})=>s(e,"fill","colors.interactive.base.black")}; path { transform: rotate(180deg); transform-origin: center; } `,M=n(i).withConfig({displayName:"ReviewListUtilityLink"})``;M.defaultProps={colorToken:"colors.interactive.base.black",typeIdentity:"typography.definitions.utility.button-bulletin"};const N=n(o).withConfig({displayName:"ReviewListTitle"})``;N.defaultProps={as:"h2",colorToken:"colors.consumption.body.standard.subhed",typeIdentity:"typography.definitions.consumptionEditorial.subhed-aux-primary"};const L=n.div.withConfig({displayName:"ReviewListTitleWrapper"})` display: flex; align-items: center; justify-content: space-between; margin: ${r(4)} 0 0; padding-bottom: ${r(4)}; `,I=n.div.withConfig({displayName:"ReviewListWrapper"})` display: flex; flex-direction: column; outline: none; ${c(m.md)} { margin-left: calc(-1 * var(--grid-margin)); padding-right: var(--grid-margin); padding-left: var(--grid-margin); /* Full bleed effect */ width: calc(100% + (2 * var(--grid-margin))); } `,E=n(o).withConfig({displayName:"ReviewListError"})` margin: ${r(4)} 0; text-align: center; `,x=n.li.withConfig({displayName:"ReviewItem"})` margin-top: ${r(3)}; border-width: 1px 0 0; border-style: solid; ${({theme:e})=>s(e,"border-color","colors.consumption.body.standard.divider")}; padding-top: ${r(3)}; :first-child { margin-top: ${r(4)}; border-top: 0; padding-top: 0; ${c(m.md)} { margin-top: ${r(3)}; } } .pinned-comment + & { margin-top: ${r(3)}; border-top: 0; padding-top: 0; } :last-child { margin-bottom: ${r(3)}; ${c(m.md)} { margin-bottom: ${r(3)}; } } ${p} { ${({theme:e})=>d(e,"typography.definitions.foundation.link-utility")}; background-color: rgba( ${l("colors.interactive.social.primary-hover",{rgbOnly:!0})}, 0.1 ); ${({theme:e})=>s(e,"color","colors.interactive.base.black")}; &:not(:first-of-type) { margin-left: ${r(1)}; } &[aria-checked='true'] { transition: none; text-decoration: none; } &:hover, &:focus { outline: 0; box-shadow: none; cursor: unset; text-decoration: none; } } ${f} { padding: 0; } `,T=n.div.withConfig({displayName:"PinnedCommentContainer"})` &.pinned-comment { margin-top: ${r(4)}; border: 1px solid; border-color: rgba( ${l("colors.consumption.body.inverted.accent",{rgbOnly:!0})}, 0.2 ); width: 100%; ${x} { margin-top: ${r(3)}; border: none; padding: 0 ${r(3)} 0 ${r(3)}; } } `,k=n.div.withConfig({displayName:"PinnedContainerHeading"})` display: flex; align-items: center; justify-content: flex-start; background-color: rgba( ${l("colors.interactive.social.primary-hover",{rgbOnly:!0})}, 0.1 ); padding: 10px; width: 100%; height: ${r(4)}; `,$=n.div.withConfig({displayName:"PinnedTextLabel"})` ${d("typography.definitions.foundation.meta-secondary")} ${s("color","colors.consumption.body.special.accent")}; margin-right: 5px; `,U=n.img.withConfig({displayName:"CommunityBrandLogoImage"})` height: 16px; `,S=n(o).withConfig({displayName:"ReviewerUserName"})` ${({theme:e})=>s(e,"color","colors.consumption.body.standard.body")}; ${({theme:e})=>d(e,"typography.definitions.globalEditorial.accreditation-feature")}; `,B=n(o).withConfig({displayName:"ReviewListTimeStamp"})` ${({theme:e})=>s(e,"color","colors.interactive.base.dark")}; ${({theme:e})=>d(e,"typography.definitions.foundation.meta-secondary")}; `,A=n(o).withConfig({displayName:"ReviewText"})` word-wrap: break-word; white-space: pre-wrap; a { overflow-wrap: break-word; } ${({theme:e})=>s(e,"color","colors.consumption.body.standard.body")}; ${({theme:e})=>d(e,"typography.definitions.consumptionEditorial.body-core")}; `,_=n(o).withConfig({displayName:"ReviewListRatingStars"})` display: flex; flex-direction: row; align-items: center; &&& { ${h} { left: 0; path { ${({theme:e})=>s(e,"fill","colors.background.brand")}; } } ${b} { width: ${r(2.5)}; } ${w} { &:disabled + ${y} { cursor: unset; } } } `,D=n(o).withConfig({displayName:"ReviewLikeCount"})` padding-right: ${r(2)}; ${({theme:e})=>s(e,"color","colors.interactive.base.dark")}; ${({theme:e})=>d(e,"typography.definitions.consumptionEditorial.citation")}; `,H=n(o).withConfig({displayName:"ReviewReplyLabel"})` ${({theme:e})=>s(e,"color","colors.interactive.base.dark")}; ${({theme:e})=>d(e,"typography.definitions.consumptionEditorial.citation")}; cursor: pointer; padding-right: ${r(.5)}; `,P=n.div.withConfig({displayName:"ReviewReplyWrapper"})` display: flex; flex-direction: row; `,F=n.ul.withConfig({displayName:"ReviewListMetaInfo"})` display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; margin-top: ${r(4)}, ${r(4)}; padding: 0; list-style: none; :first-child { margin-bottom: 10px; ${c(m.md)} { margin-bottom: ${r(1)}; } } &:not(:first-child) { margin-bottom: ${r(1.5)}; ${c(m.md)} { margin-bottom: ${r(2)}; } } :last-child { margin-top: ${r(1.5)}; margin-bottom: ${r(1)}; ${c(m.md)} { margin-top: ${r(2)}; margin-bottom: 0; } } .icon-dots { padding-right: 6px; padding-left: 6px; ${({theme:e})=>s(e,"fill","colors.interactive.base.dark")}; ${c(m.md)} { padding-right: ${r(.5)}; padding-left: ${r(.5)}; } } .icon-like, .icon-like-filled, .icon-comment { margin-top: 3px; cursor: pointer; width: ${r(4)}; height: 18px; path { ${({theme:e})=>s(e,"fill","colors.interactive.base.dark")}; ${({theme:e})=>s(e,"stroke","colors.interactive.base.dark")}; } &:hover path { ${({theme:e})=>s(e,"fill","colors.interactive.base.black")}; ${({theme:e})=>s(e,"stroke","colors.interactive.base.black")}; } } .icon-like-filled { width: ${r(4)}; height: 18px; path { ${({theme:e})=>s(e,"fill","colors.interactive.base.black")}; ${({theme:e})=>s(e,"stroke","colors.interactive.base.black")}; } } `,O=n(g.Utility).withConfig({displayName:"ReviewListReactionButton"})` padding: 0; &, &:focus, &:hover { border: 0; background-color: transparent; } `,j=n.div.withConfig({displayName:"ReviewMetaGrid"})` display: grid; grid-template-columns: repeat(2, max-content); align-items: center; column-gap: ${r(1.25)}; margin-bottom: ${r(1.25)}; justify-items: start; `;e.exports={CommunityBrandLogoImage:U,PinnedCommentContainer:T,PinnedContainerHeading:k,PinnedTextLabel:$,ReviewListWrapper:I,ReviewListTitleWrapper:L,ReviewListTitle:N,ReviewListUtilityLink:M,ReviewListCarat:C,ReviewListItems:R,ReviewListReactionButton:O,ReviewListButton:v,ReviewListError:E,ReviewerUserName:S,ReviewListRatingStars:_,ReviewListTimeStamp:B,ReviewText:A,ReviewLikeCount:D,ReviewReplyLabel:H,ReviewListMetaInfo:F,ReviewItem:x,ReviewMetaGrid:j,ReviewReplyWrapper:P}},74657:(e,t,a)=>{const n=a(37243);t.A=(0,n.defineMessages)({loading:{id:"ReviewList.Loading",defaultMessage:"Loading…",description:"Button label while list loads"},reviewListError:{id:"ReviewList.ReviewListError",defaultMessage:"Sorry, more reviews can‘t be loaded right now. {br} Please try again later.",description:"Error message while loading list"},reviewReplyLabel:{id:"ReviewList.ReviewReplyLabel",defaultMessage:"Reply",description:"Reply Icon label"},showMoreButtonLabel:{id:"ReviewList.showMoreButtonLabel",defaultMessage:"Show more comments",description:"Label for show more button"},pinnedReviewLabel:{id:"ReviewList.pinnedReviewLabel",defaultMessage:"Pinned by",description:"Pinned by label"}})},71549:(e,t,a)=>{const n=a(96540),i=a(5556),{useTheme:o}=a(50435),{ReviewListBadgeText:r,ReviewerBadgeWrapper:s,VerificationBadgeIcon:l}=a(55917),{getColorToken:d}=a(26865),{asConfiguredComponent:c}=a(12892),m=({badgeText:e,shouldUseAlternateColorToken:t=!1})=>{const a=o(),i=d(a,t?"colors.interactive.social.primary":"colors.background.brand");return n.createElement(s,{"data-testid":"reviewer-badge"},n.createElement(l,{color:i}),n.createElement(r,{shouldUseAlternateColorToken:t},e))};m.propTypes={badgeText:i.string,shouldUseAlternateColorToken:i.bool},m.displayName="ReviewerBadge",e.exports=c(m,"ReviewerBadge")},50787:(e,t,a)=>{e.exports=a(71549)},55917:(e,t,a)=>{const n=a(92168).default,{BaseText:i,BaseWrap:o}=a(76955),{calculateSpacing:r,getColorStyles:s,getTypographyStyles:l}=a(26865),{VerificationBadge:d}=a(24695),c=n(o).withConfig({displayName:"ReviewerBadgeWrapper"})` display: flex; `,m=n(i).withConfig({displayName:"ReviewBadgeText"})` padding-left: ${r()}; ${l("typography.definitions.foundation.meta-secondary")} ${({shouldUseAlternateColorToken:e})=>s("color",e?"colors.interactive.social.primary":"colors.background.brand")}; `,u=n(d).withConfig({displayName:"VerificationBadgeIcon"})``;e.exports={ReviewerBadgeWrapper:c,ReviewListBadgeText:m,VerificationBadgeIcon:u}},5697:(e,t,a)=>{const{getFromNowDateFormat:n}=a(45526);e.exports={getFromNowDateFormat:n}},45526:(e,t,a)=>{const n=a(39965);e.exports={getFromNowDateFormat:({locale:e="en-US",date:t,formatMessage:a,includeHourAndMin:i=!1})=>{const o=new Intl.RelativeTimeFormat(e,{localeMatcher:"best fit",numeric:"always",style:"long"}),r=new Intl.DateTimeFormat(e,{hour:"2-digit",minute:"2-digit",hour12:!0,localeMatcher:"best fit"}),s=864e5,l=30*s,d=365*s,c=25*s,m=45*s,u=319*s,g=547*s;return(e=>{if(e){const t=(e=>{const t=(new Date).getTime()-new Date(e).getTime();return t<=44e3?a(n.fewSecondsAgoLabel):t<=89e3?a(n.aMinAgoLabel):t<=264e4?o.format(-Math.ceil(t/6e4),"minute"):t<=534e4?a(n.anHourAgoLabel):t<=756e5?o.format(-Math.ceil(t/36e5),"hour"):t<=126e6?a(n.aDayAgoLabel):t<=c?o.format(-Math.ceil(t/s),"day"):t<=m?a(n.aMonthAgoLabel):t<=u?o.format(-Math.ceil(t/l),"month"):t<=g?a(n.aYearAgoLabel):o.format(-Math.ceil(t/d),"year")})(e),p=r.format(new Date(e));return i?`${t}, ${p}`:t}return null})(t)}}},39965:(e,t,a)=>{const{defineMessages:n}=a(37243);e.exports=n({fewSecondsAgoLabel:{id:"LiveStory.feedFewSecondsAgoLabel",defaultMessage:"a few seconds ago",description:""},aMinAgoLabel:{id:"LiveStory.feedAMinAgoLabel",defaultMessage:"a minute ago",description:""},anHourAgoLabel:{id:"LiveStory.feedAnHourAgoLabel",defaultMessage:"an hour ago",description:""},aDayAgoLabel:{id:"LiveStory.feedADayAgoLabel",defaultMessage:"a day ago",description:""},aMonthAgoLabel:{id:"LiveStory.feedAMonthAgoLabel",defaultMessage:"a month ago",description:""},aYearAgoLabel:{id:"LiveStory.feedAYearAgoLabel",defaultMessage:"a year ago",description:""}})},3890:(e,t,a)=>{const n=a(96540),i=a(5556),{useIntl:o}=a(37243),{useEffect:r,useRef:s,useState:l}=a(96540),{trackComponent:d}=a(92716),{interactionResponse:c}=a(56187),{trackTagEvent:m}=a(55144),u=a(25965),g=a(15343),p=a(99244),f=a(39321).A,h=a(61057),b=a(45771),{trackUserAccountEvent:y}=a(14307),{AlertArrow:w,ReviewNoteFormWrapper:v,ReviewNoteSectionContainer:R,ReviewNoteUserInfo:C,ReviewerInfoLabel:M,ReviewerName:N,ReviewerInfoIconButtonWrapper:L,ReviewNoteRatingWrapper:I,RatingFormRating:E,ReviewNotesFormMinimised:x,ReviewerRatingLabel:T,ReviewerInfoAlertToolTip:k,ReveiwerInfoText:$,ReviewTagsInfoLabel:U,ReviewNotesToggleChipListWrapper:S,ReviewNotesFormActions:B,ReviewNotesFormCancelButton:A,ReviewNotesFormTextFieldErrorText:_,ReviewNotesFormSubmitButton:D,ReviewNoteTextField:H,ReviewNotesDivider:P}=a(37887),F=a(89662),O=a(73730),{trackContentEngagementEvent:j}=a(14307),{useOutsideClick:W}=a(87098),q=({ariaLabel:e,children:t,onMinimise:a,usernameSignInDek:i,trackAddNoteEvent:o,handleUsernameChange:r,siteUserName:s})=>{const l={type:"impression",label:"Create Username",subject:"username_modal",source_type:"community_comment"};return n.createElement(x,{role:"button",tabIndex:"0",onClick:e=>{o(),(e=>{s?a(e,s):void 0!==s&&(y(l),h.doDisplayModal({dangerousDek:i,successCallback:t=>{r(t),a(e,t)},source:"community_comment"}))})(e)},onKeyPress:a,"aria-label":e},t)};q.propTypes={ariaLabel:i.string.isRequired,children:i.node.isRequired,handleUsernameChange:i.func.isRequired,onMinimise:i.func.isRequired,siteUserName:i.string,trackAddNoteEvent:i.func,usernameSignInDek:i.string};const Y=({addNoteFailedToastMessage:e,addNoteLabel:t,className:a,shouldEnableTags:i=!1,reviewNoteTags:h=[],reviewerRatingLabel:y,shouldUseInteractiveBrandColor:x=!1,validations:{min:Y=5,max:K=3e3,remainingChar:z=100,errorMessage:V={}}={},usernameSignInDek:G,modalProps:X={},minimisedReviewNotesText:Q,nonLoggedInErrorMessage:Z,isMinimised:J=!0,reviewerInfoText:ee,signInURL:te,userId:ae,handleUsernameChange:ne,onSubmitHandler:ie,reviewerInfoFieldLabel:oe,reviewTagsLabel:re,siteUserName:se,showSavedRecipeNotes:le,shouldEnableRatings:de,showMessageBannerHandler:ce})=>{n.useEffect((()=>{(async()=>{await c(),d("ReviewNotesForm")})()}),[]);const me={reviewNote:"",toggleChip:[],...de&&{rating:null}},ue=o(),[ge,pe]=l(me),[fe,he]=l({}),[be,ye]=l(""),[we,ve]=l(!0),[Re,Ce]=l(h),[Me,Ne]=l(!1),Le={reviewNote:[{test:e=>e.length>=Y&&e.length<=K,error:"invalidReviewLength"}],rating:[{test:e=>e>=1,error:"requiredField"}]},[Ie,Ee]=n.useState(J),[xe,Te]=n.useState(!1),[ke,$e]=n.useState(!1),[Ue,Se]=l(!1);r((()=>{Te(!!ae)}),[ae]);const Be=Q||ue.formatMessage(f.defaultcommunityReviewText),Ae=(e,t)=>{const a=Le[e];if(!a)return null;for(const n of a)if(!n.test(t))return he((t=>({...t,[e]:n.error}))),n.error;return he((t=>{const{[e]:a,...n}=t;return n})),null},_e=e=>t=>{let a;switch(e){case"reviewNote":a=t.target.value.trim(),(e=>{e.length>=K?ye(ue.formatMessage(f.maxCharLimitMet).replace("_MAX_",K)):K-e.length<=z?ye(ue.formatMessage(f.remainingMaxCharLimit).replace("_COUNT_",K-e.length).replace("_MAX_",K)):ye("")})(a);break;case"toggleChip":a=(e=>{const t=Re.map((t=>t.slug===e?{...t,active:!t.active}:t));return Ce((e=>(m(t,e),t))),t})(t);break;default:a=t}pe({...ge,[e]:a}),"reviewNote"===e&&a.length{De.current&&!De.current.contains(e.target)&&ve(!0),He.current&&He.current.id!==e.target?.firstChild.id&&$e(!1)};W(De,(e=>Fe(e))),W(He,(e=>Fe(e)));const{discardLabel:Oe="Yes, discard it"}=X,je=()=>{Pe.current.value="",Ce(h),pe({...me}),he({}),Ee(!0),Ne(!1),ye("")},We=(e,t)=>{const a=e[t];if(!a)return"";const n=V[a];return n?n.replace("_MIN_",Y):ue.formatMessage(f[a],{min:Y})},qe=We(fe,"reviewNote"),Ye=be.length>0;return n.createElement(v,{className:a,"data-testid":"ReviewNotesForm"},xe&&(Ie?n.createElement(q,{ariaLabel:Be,onMinimise:(e,t)=>{e.preventDefault(),t&&Ee(!1),le(!1)},signInURL:te,isSignedIn:xe,trackAddNoteEvent:()=>{j({type:"attempt",subject:"community_comment"},{skipDuplicateEvent:!1})},handleUsernameChange:ne,siteUserName:se,usernameSignInDek:G},n.createElement(H,{name:"isMinimised",formName:"isMinimised",label:ue.formatMessage(f.textFieldLabel),placeholder:Be,hasDynamicTextArea:!0,tabIndex:"-1","aria-hidden":!0,customHeightMultiplier:12,hideLabel:!0,isInvalid:ke,inputRef:He,isDisabled:ke}),ke&&n.createElement(_,null,Z||ue.formatMessage(f.nonLoggedInErrorMessage))):n.createElement(R,{hasError:!!qe,hasWarning:Ye},n.createElement(F.MultiLine,{name:"reviewNoteText",placeholder:Be,hideLabel:!0,label:ue.formatMessage(f.textFieldLabel),formName:"reviewNoteText",hasAutoFocus:!0,inputRef:Pe,errorText:qe,onInputChange:_e("reviewNote"),max:K,errorPosition:"belowTextField",shouldDisableTypingAtMaxChar:!0,isDisabled:Ue}),Ye&&n.createElement(_,null,be),i&&n.createElement(n.Fragment,null,n.createElement(U,null,re||ue.formatMessage(f.reviewTagsLabel)),n.createElement(S,{shouldUseInteractiveBrandColor:x},n.createElement(p,null,Re.map((({slug:e,active:t,description:a})=>n.createElement(g,{key:e,isChecked:t,onChange:()=>_e("toggleChip")(e),shouldUrlRedirect:!1,isDisabled:Ue},ue.formatMessage(f.reviewTags,{reviewTag:a}))))))),de&&n.createElement(I,null,n.createElement(T,null,y??ue.formatMessage(f.reviewerRatingLabel)),n.createElement(E,{averageRatingCount:ge.rating,isRatingDisabled:!1,onChange:_e("rating"),shouldShowOutline:!1}),Object.keys(fe).length>0&&n.createElement(_,null,We(fe,"rating"))),n.createElement(C,null,n.createElement(M,null,oe||ue.formatMessage(f.reviewerInfoFieldLabel)),n.createElement(N,null,se),n.createElement(L,{ref:De},n.createElement(O.Utility,{isIconButton:!0,ButtonIcon:u,className:"review-note-user__info-button",onClickHandler:e=>(e=>{e.preventDefault(),ve(!we)})(e),inputKind:"button",role:"button",label:ue.formatMessage(f.reviewerInfoIconButtonLabel)}),!we&&n.createElement(k,null,n.createElement(w,null),n.createElement($,null,ee??ue.formatMessage(f.reviewerFieldInfoIconText)))),n.createElement(P,null)),n.createElement(b,{confirmButtonCallback:()=>{je(),(()=>{{const e={type:"discard",label:Oe.toUpperCase(),subject:"community_comment"};j(e,{skipDuplicateEvent:!1})}})()},modalProps:X,onClose:()=>Ne(!1),isVisible:Me}),n.createElement(B,{"data-testid":"ReviewNotesFormActions"},n.createElement(D,{isDisabled:Ue||Object.keys(fe).length>0,inputKind:"button",label:t||ue.formatMessage(f.addNoteLabel),onClickHandler:async()=>{Se(!0);const t=(e=>Object.entries(e).reduce(((e,[t,a])=>{const n=Ae(t,a);return n&&(e[t]=n),e}),{}))(ge);if(0===Object.keys(t).length){const t={...ge,userId:ae};null!=await ie(t)?(je(),le(!0)):ce&&ce(e||ue.formatMessage(f.AddNoteFailedToastMessage))}Se(!1)}}),n.createElement(A,{isDisabled:Ue,btnStyle:"text",inputKind:"link",type:"button",label:ue.formatMessage(f.cancelNoteLabel),onClickHandler:()=>{Object.values(ge).some((e=>(!Array.isArray(e)||0!==e.length)&&Boolean(e)))?Ne(!0):(Ee(!0),he({}))}})))))};Y.propTypes={addNoteFailedToastMessage:i.string,addNoteLabel:i.string,className:i.string,handleUsernameChange:i.func,isMinimised:i.bool,minimisedReviewNotesText:i.string,modalProps:i.object,nonLoggedInErrorMessage:i.string,onSubmitHandler:i.func,reviewerInfoFieldLabel:i.string,reviewerInfoText:i.string,reviewerRatingLabel:i.string,reviewNoteTags:i.array,reviewTagsLabel:i.string,shouldEnableRatings:i.bool,shouldEnableTags:i.bool,shouldUseInteractiveBrandColor:i.bool,showMessageBannerHandler:i.func,showSavedRecipeNotes:i.func.isRequired,signInURL:i.string.isRequired,siteUserName:i.string,userId:i.string,usernameSignInDek:i.string,validations:i.shape({min:i.number,max:i.number,remainingChar:i.number,errorMessage:i.shape({requiredField:i.string,invalidReviewLength:i.string})})},e.exports=Y},45565:(e,t,a)=>{const{asConfiguredComponent:n}=a(12892),i=a(3890);e.exports=n(i,"ReviewNotesForm")},37887:(e,t,a)=>{const{css:n,default:i}=a(92168),{BaseText:o,BaseLink:r}=a(76955),{calculateSpacing:s,getColorStyles:l,getColorToken:d,getTypographyStyles:c,maxScreen:m,minScreen:u}=a(26865),{BREAKPOINTS:g}=a(96472),p=a(62340),{RatingStar:f}=a(97927),{TextFieldControlTextarea:h,TextFieldWrapper:b}=a(60434),y=a(89662),{ListWrapper:w}=a(14952),{ToggleButton:v}=a(18161),R=a(73730),{TextFieldErrorText:C}=a(60434),M=i(y.MultiLine).withConfig({displayName:"ReviewNoteTextField"})` margin-bottom: 0; textarea:disabled { background-color: transparent; } `,N=i.div.withConfig({displayName:"ReviewNoteFormWrapper"})``,L=i.div.withConfig({displayName:"ReviewNoteSectionContainer"})` border: 1px solid; ${({theme:e})=>l(e,"border-color","colors.interactive.base.light")}; padding: ${s(3)}; ${h} { margin-top: 0; padding: ${s(2)} ${s(1.5)}; ${({theme:e,hasError:t})=>l(e,"border-color",t?"colors.interactive.base.brand-secondary":"colors.interactive.base.black")}; &[disabled] { ${({theme:e})=>l(e,"background","colors.interactive.base.white")}; ${({theme:e})=>l(e,"border-color","colors.interactive.base.light")}; ${({theme:e})=>l(e,"color","colors.consumption.body.standard.subhed")}; } &::placeholder { ${({theme:e})=>l(e,"color","colors.interactive.base.light")}; } } ${b} { ${({hasWarning:e})=>e&&`margin-bottom: ${s(1)};`} } `,I=i.div.withConfig({displayName:"ReviewNoteUserInfo"})` margin-top: ${s(4)}; margin-bottom: ${s(4)}; `,E=i.div.withConfig({displayName:"ReviewNoteRatingWrapper"})` margin-top: ${s(1)}; margin-bottom: ${s(4)}; `,x=i.span.withConfig({displayName:"ReviewerInfoLabel"})` ${({theme:e})=>l(e,"color","colors.consumption.body.standard.body-deemphasized")}; ${({theme:e})=>c(e,"typography.definitions.globalEditorial.accreditation-core")}; `,T=i.span.withConfig({displayName:"ReviewerRatingLabel"})` ${({theme:e})=>l(e,"color","colors.consumption.body.standard.body")}; ${({theme:e})=>c(e,"typography.definitions.globalEditorial.accreditation-core")}; `,k=i.span.withConfig({displayName:"ReviewerName"})` ${({theme:e})=>l(e,"color","colors.consumption.body.standard.body")}; ${({theme:e})=>c(e,"typography.definitions.globalEditorial.accreditation-core")}; padding-left: ${s(.5)}; `,$=i.span.withConfig({displayName:"ReviewTagsInfoLabel"})` ${({theme:e})=>l(e,"color","colors.consumption.body.standard.body")}; ${({theme:e})=>c(e,"typography.definitions.globalEditorial.accreditation-core")}; `,U=i.div.withConfig({displayName:"ReviewerInfoIconButtonWrapper"})` display: inline; svg { width: 24px; height: 24px; ${({theme:e})=>l(e,"fill","colors.consumption.lead.special.context-tertiary")}; } .review-note-user__info-button { float: inline-end; margin: 0; border: 0; background-color: ${({theme:e})=>d(e,"colors.interactive.base.white")}; padding: 0; padding-left: 12px; &:hover, &:focus { border: 0; background: none; } } `,S=i.div.withConfig({displayName:"ReviewNotesToggleChipListWrapper"})` ${v} { ${({theme:e})=>c(e,"typography.definitions.foundation.link-utility")} ${({shouldUseInteractiveBrandColor:e})=>e?n` &[aria-checked='false'] { background-color: rgba( ${d("colors.interactive.social.primary-hover",{rgbOnly:!0})}, 0.1 ); } `:`&[aria-checked='false'] {\n ${l("color","colors.interactive.base.black")}\n }`} &:focus { box-shadow: none; } &:hover { box-shadow: 0 0 0 1px ${d("colors.interactive.base.black")} inset; } ${m(g.md)} { &:focus, &:hover { box-shadow: none; } } &:disabled { box-shadow: none; } } ${w} { padding-bottom: 8px; padding-left: 0; } `,B=i(o).withConfig({displayName:"ReveiwerInfoText"})` position: absolute; left: calc(25% - 10px); float: inline-end; z-index: -1; border-radius: 8px; box-shadow: 0 0 20px 12px rgba(0, 0, 0, 0.1); background: white; padding: 17px 22px; width: 80%; box-sizing: border-box; ${({theme:e})=>l(e,"color","colors.interactive.base.dark")}; ${({theme:e})=>c(e,"typography.definitions.utility.input-core")}; ${u(g.sm)} { padding: 12px 13px; } ${u(g.md)} { padding: 17px 22px; } `,A=i.div.withConfig({displayName:"AlertArrow"})` position: absolute; top: auto; bottom: 100%; left: calc(98% - 11px); border-width: 0 10px 13px; border-style: solid; border-color: rgb(254 254 254) transparent; `,_=i.div.withConfig({displayName:"ReviewerInfoAlertToolTip"})` position: relative; z-index: 2; margin-top: 8px; background-color: ${d("colors.background.white")}; ${u(g.sm)} { ${B} { left: calc(8% - 4px); width: 100%; } ${A} { left: calc(98% - 14px); border-width: 0 8px 12px; } } ${u(g.md)} { ${B} { left: calc(25% - 10px); width: 80%; } ${A} { left: calc(98% - 12px); border-width: 0 10px 13px; } } ${u(g.lg)} { ${B} { left: calc(7% - 10px); width: 100%; } ${A} { left: calc(98% - 14px); border-width: 0 10px 13px; } } ${u(g.xl)} { ${B} { left: calc(25% - 10px); width: 80%; } ${A} { left: calc(98% - 11px); border-width: 0 10px 13px; } } ${u(g.xxl)} { ${B} { left: calc(34% - 10px); width: 70%; } ${A} { left: calc(98% - 8px); border-width: 0 10px 13px; } } `,D=i(p).withConfig({displayName:"RatingFormRating"})` align-items: start; padding: ${s()} 0 ${s()}; ${f} { transform: scale(1.78); margin: 0 ${s(1.25)}; } `,H=i.div.withConfig({displayName:"ReviewNotesFormActions"})` ${u(g.lg)} { display: grid; grid-template-columns: repeat(2, auto); gap: 32px; } ${m(g.md)} { display: flex; flex-direction: column; } `,P=i.div.withConfig({displayName:"ReviewNotesDivider"})` margin-top: ${s(2)}; border-bottom: 1px solid; ${l("border-color","colors.consumption.body.standard.divider")}; `,F=i(R.Primary).withConfig({displayName:"ReviewFormSubmitButton"})` ${c("typography.definitions.utility.button-core")} ${({theme:e})=>l(e,"color","colors.interactive.base.brand-primary")}; margin-top: 0.5rem; margin-bottom: 20px; padding: 15px 9px; width: 100%; max-width: 100%; text-decoration: underline; `,O=i(R.Primary).withConfig({displayName:"ReviewFormSubmitButton"})` display: block; margin-top: 0.5rem; margin-bottom: 20px; padding: 15px 9px; width: 100%; max-width: 100%; height: unset; text-align: center; &:active::before { top: 0; left: 0; } `,j=i(C).withConfig({displayName:"ReviewFormTextFieldErrorText"})``,W=i(r).withConfig({displayName:"ReviewNotesFormSignin"})``,q=i.div.withConfig({displayName:"ReviewNotesFormMinimised"})` position: relative; input.text-field__control { cursor: pointer; } @media (max-width: 768px) { textarea.text-field__control { padding: ${s(2)}; } } @media (min-width: 768px) { textarea.text-field__control { padding: ${s(2)} ${s(3)}; } } textarea.text-field__control { cursor: pointer; overflow: auto; overflow-y: hidden; &::placeholder { ${({theme:e})=>l(e,"color","colors.interactive.base.light")}; } } ${W} { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1; color: transparent; } `;e.exports={AlertArrow:A,ReviewNoteFormWrapper:N,ReviewNoteSectionContainer:L,ReviewNoteUserInfo:I,ReviewerInfoLabel:x,ReviewerName:k,ReviewerInfoIconButtonWrapper:U,ReviewNoteRatingWrapper:E,RatingFormRating:D,ReviewerRatingLabel:T,ReviewNotesFormSignin:W,ReviewNotesFormMinimised:q,ReviewerInfoAlertToolTip:_,ReveiwerInfoText:B,ReviewTagsInfoLabel:$,ReviewNotesToggleChipListWrapper:S,ReviewNotesFormActions:H,ReviewNotesFormCancelButton:F,ReviewNotesFormSubmitButton:O,ReviewNotesFormTextFieldErrorText:j,ReviewNoteTextField:M,ReviewNotesDivider:P}},55144:(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.trackTagEvent=void 0;const n=a(14307);t.trackTagEvent=(e,t)=>{const a=e.filter((e=>e.active));if(0===a.length)return;if(!t.some(((t,a)=>!t.active&&e[a].active)))return;const i=1===a.length?a[0].description:"",o=a.map((({label:e})=>({name:e.toLowerCase(),index:0,total_index:1})));(0,n.trackContentEngagementEvent)({type:"select",label:i,subject:"community_comment",features_list:o},{skipDuplicateEvent:!1})}},39321:(e,t,a)=>{const n=a(37243);t.A=(0,n.defineMessages)({defaultcommunityReviewText:{id:"ReviewNotesForm.defaultcommunityReviewText",defaultMessage:"Ask a question or leave a helpful tip, suggestion or opinion that is relevant and respectful for the community.",description:"Appears when the form is minimised or maximised and enableCommunityExperience is true"},nonLoggedInErrorMessage:{id:"ReviewForm.nonLoggedInErrorMessage",defaultMessage:"Sign in or create an account to add comment.",description:"Message to display non logged in users"},textFieldLabel:{id:"ReviewNotesForm.textFieldLabel",defaultMessage:"Your Review",description:"The label for the main review text field"},addNoteLabel:{id:"ReviewNotesForm.addNoteLabel",defaultMessage:"Add Comment",description:"The label for Add Comment submit button"},cancelNoteLabel:{id:"ReviewNotesForm.cancelNoteLabel",defaultMessage:"Discard",description:"The label for cancel button"},reviewerInfoFieldLabel:{id:"ReviewNotesForm.ReviewerInfoFieldLabel",defaultMessage:"Commenting as:",description:"The label for the reviewer name field"},reviewerRatingLabel:{id:"ReviewNotesForm.ReviewerRatingLabel",defaultMessage:"Rate this",description:"The label for the reviewer rating field"},reviewerFieldInfoIconText:{id:"ReviewNotesForm.reviewerFieldInfoIconText",defaultMessage:"Your username appears next to your comments and replies. Change it anytime in your Account.",description:"information text for user to change their user name"},reviewerInfoIconButtonLabel:{id:"ReviewNotesForm.reviewerInfoIconButtonLabel",defaultMessage:"user name update message",description:"Label for reviewer user name update message icon"},reviewTagsLabel:{id:"ReviewNotesForm.reviewTagsLabel",defaultMessage:"TAG YOUR COMMENT (OPTIONAL)",description:"Label for adding tags"},reviewTags:{id:"FilterComponent.reviewTags",defaultMessage:"{reviewTag}",description:"Value for the tag"},invalidReviewLength:{id:"ReviewNotesForm.invalidReviewNoteLength",defaultMessage:"Enter {min} characters or more to add a comment.",description:"Error message for invalid review comment length"},requiredField:{id:"ReviewNotesForm.requiredField",defaultMessage:"Select a star rating to add a comment",description:"Error message for required field"},maxCharLimitMet:{id:"ReviewNotesForm.maxCharLimitMet",defaultMessage:"_MAX_ character limit met",description:"Warning message for max review comment length"},remainingMaxCharLimit:{id:"ReviewNotesForm.remainingMaxCharLimit",defaultMessage:"_COUNT_ of _MAX_ character limit remaining",description:"Warning message for invalid review comment length"},buttonLabel:{id:"ReviewNotesForm.buttonLabel",defaultMessage:"Sign in or create account",description:"Text for the sign in or create account button"},AddNoteFailedToastMessage:{id:"ReviewNotes.AddNoteFailedToastMessage",defaultMessage:"Unable to add your comment. Please try again.",description:"Failure message to show on comment save"}})},32844:function(e,t,a){var n=this&&this.__createBinding||(Object.create?function(e,t,a,n){void 0===n&&(n=a);var i=Object.getOwnPropertyDescriptor(t,a);i&&!("get"in i?!t.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,n,i)}:function(e,t,a,n){void 0===n&&(n=a),e[n]=t[a]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&n(t,e,a);return i(t,e),t},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ReviewReplyComment=void 0;const s=r(a(5556)),l=o(a(96540)),d=a(37243),c=r(a(53788)),m=a(60711),u=a(20656),g=a(24300),p=a(85554),f=a(22509),h=a(61057),b=a(91470),y=a(24695),w=a(16631),v=a(14307),R=a(39311),C=r(a(71001)),M=a(10959),N=r(a(50787)),{oidcCookies:L}=c.default,I=r(a(20777));t.ReviewReplyComment=({commentingUrl:e,contentId:t,replies:a,replyPageInfo:n,repliesOrderBy:i,username:o,reviewerBadges:r,reviewModalProps:s,commentReactionHandler:c,user:E={},signInHed:x,usernameSignInDek:T,signInHedSpanTag:k,signInMessage:$,commentId:U,replyLimit:S,showMessageBannerHandler:B,userReactions:A,updateUserReactions:_,siteUserName:D,handleUsernameChange:H,shouldEnableReply:P,shouldEnableUpvotes:F})=>{const{formatMessage:O}=(0,d.useIntl)(),[j,W]=(0,l.useState)(null),[q,Y]=(0,l.useState)(!1),[K,z]=(0,l.useState)([]),[V,G]=(0,l.useState)(!1),[X,Q]=(0,l.useState)(n.hasNextPage??!1),[Z,J]=(0,l.useState)(n.hasNextPage?O(I.default.ShowMoreRepliesLabel):""),[ee,te]=(0,l.useState)(!1),[ae,ne]=(0,l.useState)(!1),[ie,oe]=(0,l.useState)(n.endCursor),[re,se]=(0,l.useState)(n.hasNextPage??!1),[le,de]=(0,l.useState)([]),ce="community_reply";(0,l.useEffect)((()=>{ee?J(O(I.default.LoadingRepliesLabel)):X&&J(O(I.default.ShowMoreRepliesLabel))}),[ee,X,O]);const me=a=>{const n=((e,t,a)=>e?e.map((e=>{const{id:n,author:{orgRole:i}={},body:o,createdAt:r,siteUsername:s,parent:l,actionCounts:d,viewerActionPresence:c,revision:m,story:u}=e;return{role:i,replyId:n,replyText:o,replyDate:(0,R.formatReviewDateAgo)(r,t),replyAuthorName:s?.[0]?.name,parentAuthorName:(()=>{let e=a;return"Anonymous"===a?e=a:l?.siteUsername?.[0]?.name&&(e=l?.siteUsername?.[0]?.name),e})(),reactionCount:d?.reaction?.total||0,viewerActionPresence:c,revisionId:m?.id,storyURL:u?.url}})):[])(a,O,o);return n.map((a=>{const{role:n,replyId:i,replyAuthorName:o,replyDate:d,replyText:m,parentAuthorName:u,revisionId:R,storyURL:L}=a||{},U={commentId:i,revisionId:R},{badge:S}=r?.find((e=>e.role===n))||{};return l.default.createElement(M.ReplyCommentItem,{key:i},l.default.createElement(w.ReviewMetaGrid,null,o&&l.default.createElement(l.default.Fragment,null,l.default.createElement(M.ReplierUserName,null,o),S&&l.default.createElement(N.default,{badgeText:S}))),l.default.createElement(M.ReplyDataInfo,null,l.default.createElement(M.ReplyMetaData,null,l.default.createElement(M.ReplyInfoLabel,null,O(I.default.ReviewReplyLabel)),u&&l.default.createElement(M.ReplyUserName,null,u),l.default.createElement(b.Dot,null),d&&l.default.createElement(M.ReplyTimeStamp,null,d))),m&&l.default.createElement(M.ReplyText,{dangerouslySetInnerHTML:{__html:m}}),l.default.createElement(M.ReplyDataInfo,null,F&&l.default.createElement(M.ReplyReactionButton,{isIconButton:!0,name:"reply-reaction",label:"Reaction",onClickHandler:()=>(e=>{if(!E.isAuthenticated){const t="COMMUNITY_LIKE_CLICK_REPLY",a={type:"login",source_type:t},n={type:"like",subject:ce};(0,v.trackContentEngagementEvent)(n,{skipDuplicateEvent:!1});const i={action:g.CREATE_COMMENT_ACTION,commentId:e.commentId,commentRevisionId:e.revisionId,source:t},o=(0,p.getRelativeURLWithSearchAndHash)({href:window.location.href,hashValue:p.commentingAction.LIKE_REPLY,queryParams:i});return void(0,f.doDisplayModal)({dangerousDek:$,dangerousHed:x,dangerousHedSpanTag:k,redirectURL:o,shouldHideIllustration:!0,snowplowData:a,source:t})}c({item:e});const t={type:A[e.commentId]?.viewerActionPresence?"unlike":"like",subject:ce,items:[{content_id:e.commentId}]};(0,v.trackContentEngagementEvent)(t,{skipDuplicateEvent:!1})})(U),ButtonIcon:A[i]?.viewerActionPresence?y.LikeFilled:y.Like}),F&&l.default.createElement(M.ReplyLikeCount,null,A[i]?.reactionCount||0),P&&l.default.createElement(w.ReviewReplyWrapper,{onClick:e=>((e,t)=>{if(e.preventDefault(),E.isAuthenticated)if(D)W(t?.replyAuthorName),z((e=>[...e,t?.replyId])),Y(!0);else{(0,h.doDisplayModal)({dangerousDek:T,successCallback:e=>{H(e),W(t?.replyAuthorName),z((e=>[...e,t?.replyId])),Y(!0)},source:ce});const e={type:"impression",subject:"username_modal",label:"Create Username",source_type:ce};(0,v.trackUserAccountEvent)(e)}else{const e="COMMUNITY_REPLY_TO_REPLY",t={subject:ce,label:"Reply",source_type:e,type:"login"},a=(0,p.getRelativeURLWithSearchAndHash)({href:window.location.href,hash:p.commentingAction.REPLY_TO_REPLY,queryString:{source:e}});(0,f.doDisplayModal)({dangerousDek:$,dangerousHed:x,dangerousHedSpanTag:k,redirectURL:a,shouldHideIllustration:!0,source:e,snowplowData:t})}const a={type:"attempt",subject:ce,label:"reply",items:[{content_id:t?.replyId}]};(0,v.trackContentEngagementEvent)(a,{skipDuplicateEvent:!1})})(e,a)},l.default.createElement(y.Comment,null),l.default.createElement(w.ReviewReplyLabel,null,O(I.default.ReviewReplyCommentLabel)))),q&&K.includes(i)&&E.isAuthenticated&&D&&l.default.createElement(C.default,{commentId:i,username:j,contentId:t,revisionId:R,commentingUrl:e,closeReply:()=>{Y(!1)},reviewModalProps:s,showMessageBannerHandler:B,source:"community_reply",storyURL:L}))}))};return l.default.createElement(M.ReplyCommentsListWrapper,null,me(a),!ae&&me(le),l.default.createElement(M.ReplyDataInfo,null,X&&l.default.createElement(M.ShowOrHideRepliesLabel,{onClick:async()=>{let t;if(ne(!1),le.length>=1&&!re)de([...le]),G(!0),Q(!1);else{te(!0);const a=ie??n.endCursor;try{const t=u.UserAuthenticationClient.getCookieValue(L.id),{replies:n,page:{endCursor:o,hasNextPage:r}}=await(0,m.getRepliesByCommentId)({commentId:U,after:a,commentingUrl:e,logger:console,accessToken:t,replyLimit:S,repliesOrderBy:i});oe(o),se(r),r||G(!0),Q(r),de([...le,...n]),_(n)}catch(e){t=e?.message||"",console.warn(e)}te(!1)}const a={type:"show_more",label:"Show more replies",subject:ce,error:t};(0,v.trackContentEngagementEvent)(a,{skipDuplicateEvent:!1})}},l.default.createElement(M.ShowOrHideRepliesLabelRule,null),Z),V&&l.default.createElement(M.ShowOrHideRepliesLabel,{onClick:()=>{G(!1),ne(!0),Q(!0)}},l.default.createElement(M.ShowOrHideRepliesLabelRule,null),O(I.default.HideRepliesLabel))))},t.ReviewReplyComment.propTypes={commentId:s.default.string,commentingUrl:s.default.string.isRequired,commentReactionHandler:s.default.func,contentId:s.default.string,handleUsernameChange:s.default.func,replies:s.default.array,repliesOrderBy:s.default.string,replyLimit:s.default.number,replyPageInfo:s.default.object,reviewerBadges:s.default.arrayOf(s.default.shape({role:s.default.string,badge:s.default.string})),reviewModalProps:s.default.object,shouldEnableReply:s.default.bool,shouldEnableUpvotes:s.default.bool,showMessageBannerHandler:s.default.func,signInHed:s.default.string,signInHedSpanTag:s.default.string,signInMessage:s.default.string,siteUserName:s.default.string,updateUserReactions:s.default.func,user:s.default.shape({isAuthenticated:s.default.bool.isRequired,amguuid:s.default.string}).isRequired,username:s.default.string,usernameSignInDek:s.default.string,userReactions:s.default.shape({reactionCount:s.default.number.isRequired,viewerActionPresence:s.default.bool}).isRequired}},10959:(e,t,a)=>{const n=a(92168).default,{getColorStyles:i,getTypographyStyles:o,minScreen:r,calculateSpacing:s}=a(26865),{ReviewListMetaInfo:l,ReviewerUserName:d,ReviewLikeCount:c,ReviewListTimeStamp:m,ReviewReplyLabel:u,ReviewText:g,ReviewListReactionButton:p}=a(16631),{BREAKPOINTS:f}=a(96472),{BaseText:h}=a(76955),b=n(h).withConfig({displayName:"ReplyUserName"})` ${({theme:e})=>i(e,"color","colors.interactive.base.dark")}; ${({theme:e})=>o(e,"typography.definitions.globalEditorial.accreditation-feature")}; `,y=n(l).withConfig({displayName:"ReplyDataInfo"})` &:first-child { margin-bottom: ${s(1)}; } `,w=n(d).withConfig({displayName:"ReplierUserName"})``,v=n.div.withConfig({displayName:"ReplyMetaData"})` display: flex; flex-direction: row; align-items: center; `,R=n.div.withConfig({displayName:"ReplyCommentsListWrapper"})` margin-top: ${s(1.25)}; margin-left: ${s(6)}; ${r(f.md)} { margin-left: ${s(8)}; } `,C=n.div.withConfig({displayName:"ReplyCommentItem"})` margin-top: ${s(4)}; &:first-child { margin-top: ${s(2)}; } `,M=n(c).withConfig({displayName:"ReplyLikeCount"})``,N=n(m).withConfig({displayName:"ReplyTimeStamp"})` ${({theme:e})=>o(e,"typography.definitions.foundation.meta-secondary")} `,L=n(u).withConfig({displayName:"ReplyInfoLabel"})` ${({theme:e})=>o(e,"typography.definitions.foundation.meta-secondary")}; `,I=n(g).withConfig({displayName:"ReplyText"})``,E=n(p).withConfig({displayName:"ReplyReactionButton"})``,x=n.div.withConfig({displayName:"ShowOrHideRepliesLabel"})` display: flex; flex-direction: row; cursor: pointer; ${({theme:e})=>o(e,"typography.definitions.foundation.link-secondary")}; ${({theme:e})=>i(e,"color","colors.interactive.base.dark")}; `,T=n.hr.withConfig({displayName:"ShowOrHideRepliesLabelRule"})` ${({theme:e})=>i(e,"color","colors.discovery.body.dark.divider")}; align-self: center; margin-right: ${s(1)}; width: ${s(4)}; `;e.exports={ReplyUserName:b,ReplyDataInfo:y,ReplyCommentsListWrapper:R,ReplyCommentItem:C,ReplyMetaData:v,ReplierUserName:w,ReplyLikeCount:M,ReplyTimeStamp:N,ReplyInfoLabel:L,ReplyText:I,ReplyReactionButton:E,ShowOrHideRepliesLabel:x,ShowOrHideRepliesLabelRule:T}},20777:(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0});const n=a(37243);t.default=(0,n.defineMessages)({ReviewReplyLabel:{id:"ReviewReplyComment.ReviewReplyLabel",defaultMessage:"Replying to",description:"The label for the reply comment field"},ShowMoreRepliesLabel:{id:"ReviewReplyComment.ShowMoreRepliesLabel",defaultMessage:"Show more replies",description:"The label to show more replies"},ReviewReplyCommentLabel:{id:"ReviewReplyComment.ReviewReplyCommentLabel",defaultMessage:"Reply",description:"The label to show reply icon"},HideRepliesLabel:{id:"ReviewReplyComment.HideRepliesLabel",defaultMessage:"Hide replies",description:"The label to hide replies"},LoadingRepliesLabel:{id:"ReviewReplyComment.LoadingRepliesLabel",defaultMessage:"Loading…",description:"The label to hide replies"}})},71001:(e,t,a)=>{const n=a(96540),i=a(5556),{useState:o,useRef:r}=a(96540),{useIntl:s}=a(37243),l=a(76833).A,{addReply:d,modifyStory:c}=a(60711),{ReviewReplyUsername:m,ReviewReplyNoteWrapper:u,ReviewReplyLabel:g,ReviewReplyCancelLink:p,ReviewReplyNoteInfo:f,ReviewReplyButton:h,ReviewReplyButtonWrapper:b,ReviewReplyMultilineTextField:y}=a(73559),w=a(45771),{trackContentEngagementEvent:v}=a(14307),R=3e3,C=({commentId:e,contentId:t,contentTitle:a="",username:i,revisionId:C,commentingUrl:M,closeReply:N,reviewModalProps:L,showMessageBannerHandler:I,storyURL:E,source:x})=>{const{formatMessage:T}=s(),[k,$]=o(!0),[U,S]=o(0),[B,A]=o(!1),_=r(null),[D,H]=o(!1),P=e=>{const t={type:"discard",label:"YES, DISCARD IT",subject:x};e.preventDefault(),N(),v(t,{skipDuplicateEvent:!1})};return n.createElement(u,null,n.createElement(f,null,n.createElement(g,null,T(l.ReviewReplyLabel)),n.createElement(m,null,i)),n.createElement(y,{name:"reviewReplyNoteText",formName:"reviewReplyNoteText",placeholder:T(l.ReplyFieldPlaceHolder),hasAutoFocus:!0,onInputChange:e=>{const t=e.target.value;S(t.length),e.target.value=t,$(0===t.trim().length),A(!1)},customHeightMultiplier:10,label:T(l.ReplyTextFieldLabel),hideLabel:!0,errorPosition:"belowTextField",errorText:B?T(l.ReviewFieldMinLimitErrorText):U>2900&&U{S(e)},shouldDisableTypingAtMaxChar:!0}),n.createElement(w,{modalProps:L,confirmButtonCallback:e=>P(e),onClose:()=>H(!1),isVisible:D}),n.createElement(b,null,n.createElement(h,{inputKind:"submit",isDisabled:k,label:T(l.ReplyButtonLabel),onClickHandler:async n=>{let i;n.preventDefault();const o=_.current?.value?.trim();if(o.length<2)A(!0),$(!0);else if(o.length>0){const n={storyID:t,parentID:e,parentRevisionID:C,body:o,clientMutationId:"0"};try{E||await c({id:t,title:a,url:window.location.origin+window.location.pathname,commentingUrl:M,logger:console}),await d(M,n)?(N(),I(T(l.AddReplySuccessToastMessage))):I(T(l.AddReplyFailedToastMessage))}catch(e){i=e?.message||"",console.error("Error while posting reply:",e),I(T(l.AddReplyFailedToastMessage))}v({type:"submit",label:"Reply",subject:"community_reply",error:i},{skipDuplicateEvent:!1})}}}),n.createElement(p,{btnStyle:"text",label:T(l.CancelButtonLabel),onClickHandler:e=>{_.current&&_.current.value.trim().length>0?H(!0):P(e),_.current.focus()}})))};C.propTypes={closeReply:i.func,commentId:i.string,commentingUrl:i.string,contentId:i.string,contentTitle:i.string,reviewModalProps:i.object,revisionId:i.string,showMessageBannerHandler:i.func,source:i.string,storyURL:i.string,username:i.string},e.exports=C},73559:(e,t,a)=>{const n=a(92168).default,{getColorStyles:i,getColorToken:o,getTypographyStyles:r,maxScreen:s,minScreen:l,calculateSpacing:d}=a(26865),c=a(73730),{BaseText:m}=a(76955),{BREAKPOINTS:u}=a(96472),g=a(89662),p=n(m).withConfig({displayName:"ReviewReplyUsername"})` ${({theme:e})=>i(e,"color","colors.consumption.body.standard.body")}; ${({theme:e})=>r(e,"typography.definitions.globalEditorial.accreditation-core")}; padding-left: ${d(.5)}; `,f=n.div.withConfig({displayName:"ReviewReplyNoteWrapper"})` border: 1px solid ${o("colors.foundation.menu.dividers")}; padding: ${d(3)}; gap: ${d(1.5)}; ${s(u.md)} { margin-top: ${d(1.25)}; } `,h=n(c.Primary).withConfig({displayName:"ReviewReplyCancelLink"})` margin-top: ${d(1.25)}; width: 100%; ${r("typography.definitions.utility.button-core")} text-decoration: underline; ${({theme:e})=>i(e,"color","colors.interactive.base.brand-primary")}; `,b=n(g.MultiLine).withConfig({displayName:"ReviewReplyMultilineTextField"})` ${r("typography.definitions.utility.input-core")} ${({theme:e})=>i(e,"color","colors.interactive.base.light")}; `,y=n.span.withConfig({displayName:"ReviewReplyLabel"})` ${({theme:e})=>i(e,"color","colors.consumption.body.standard.body-deemphasized")}; ${({theme:e})=>r(e,"typography.definitions.globalEditorial.accreditation-core")}; `,w=n.div.withConfig({displayName:"ReviewReplyNoteInfo"})` display: flex; `,v=n(c.Primary).withConfig({displayName:"ReviewReplyButton"})` display: block; margin-top: 0.5rem; margin-bottom: 20px; padding: 15px 9px; width: 100%; max-width: 100%; height: unset; text-align: center; &:active::before { top: 0; left: 0; } `,R=n.div.withConfig({displayName:"ReviewReplyButtonWrapper"})` ${l(u.lg)} { display: grid; grid-template-columns: repeat(2, auto); gap: 32px; } ${s(u.md)} { display: flex; flex-direction: column; } `;e.exports={ReviewReplyUsername:p,ReviewReplyNoteWrapper:f,ReviewReplyCancelLink:h,ReviewReplyLabel:y,ReviewReplyNoteInfo:w,ReviewReplyButton:v,ReviewReplyButtonWrapper:R,ReviewReplyMultilineTextField:b}},76833:(e,t,a)=>{const n=a(37243);t.A=(0,n.defineMessages)({ReviewReplyLabel:{id:"ReviewReplyNote.ReviewReplyLabel",defaultMessage:"Replying To:",description:"The label for the reply note field"},ReplyFieldPlaceHolder:{id:"ReviewReplyNote.ReplyFieldPlaceHolder",defaultMessage:"Add your reply here ",description:"The placeholder for the reply note text field"},ReplyButtonLabel:{id:"ReviewReplyNote.ReplyButtonLabel",defaultMessage:"Reply",description:"The label for the reply button"},CancelButtonLabel:{id:"ReviewReplyNote.CancelButtonLabel",defaultMessage:"Discard",description:"The label for the cancel button"},ReplyTextFieldLabel:{id:"ReviewReplyNote.ReplyTextFieldLabel",defaultMessage:"Your Reply",description:"The label for the reply text field"},AddReplySuccessToastMessage:{id:"ReviewReplyNote.AddReplySuccessToastMessage",defaultMessage:"Reply added",description:"Success message to show on reply save"},AddReplyFailedToastMessage:{id:"ReviewReplyNote.AddReplyFailedToastMessage",defaultMessage:"Unable to add your reply. Please try again.",description:"Failure message to show on reply save"},ReviewFieldAlertLimitErrorText:{id:"ReviewReplyNote.ReviewFieldAlertLimitErrorText",defaultMessage:"_CHARACTER_LIMIT_CURRENT_ of _CHARACTER_LIMIT_ character limit remaining.",description:"The error message for the review field alert limit"},ReviewFieldMaxLimitErrorText:{id:"ReviewReplyNote.ReviewFieldMaxLimitErrorText",defaultMessage:"_CHARACTER_LIMIT_ character limit met.",description:"The error message for the review field max limit"},ReviewFieldMinLimitErrorText:{id:"ReviewReplyNote.ReviewFieldMinLimitErrorText",defaultMessage:"Enter 2 characters or more to add a reply.",description:"The error message for the review field min limit"}})},39311:(e,t,a)=>{const{fetchWithTimeout:n}=a(57743),{getFromNowDateFormat:i}=a(5697),o=(e,t)=>{const a=new Date(e);return(n=a)instanceof Date&&!isNaN(n)?i({date:a,formatMessage:t,includeHourAndMin:!1}):e;var n},r={yield:"Yield",totalTime:"Total Time"};e.exports={fetchUserRecipeRating:async(e,t)=>{if(!t)return null;let a;try{a=await n(`/api/recipe/${e}/review-ratings/${t}?verso=true`,{method:"GET"},5e3)}catch(e){return console.error(e),null}if(200===a.status){const{reviews:e,error:t}=await a.json();if(t)console.error(t);else if(e&&e.length>0){const t=e.filter((e=>Object.hasOwnProperty.call(e,"rating"))).sort(((e,t)=>{const a=new Date(e.updatedAt);return new Date(t.updatedAt)-a}));return t[0]?.rating||null}}return null},formatReviewListItems:(e,t,a)=>e?e.map(((e,n)=>{const{revisionId:i,viewerActionPresence:r,reactionCount:s,replyPageInfo:l,replies:d,role:c,storyURL:m}=e,u={id:n,revisionId:i,commentId:e._id,viewerActionPresence:r,reactionCount:s,replyPageInfo:l,replies:d,role:c,storyURL:m};e.reviewText&&(u.text=e.reviewText),e.location&&(u.location=e.location);const g=e.isAnonymous?"Anonymous":e.siteUsername||e.reviewerInfo;return g&&(u.username=g),e.rating&&(u.rating=e.rating),e.recipeId&&(u.recipeId=e.recipeId),e.updatedAt&&(u.date=o(e.updatedAt,t)),e.tags&&(u.tags=((e,t)=>e.reduce(((e,a)=>{const n=t.find((e=>e.slug===a));return n&&e.push(n.label),e}),[]))(e.tags,a)),u})):[],formatInfoSliceItems:(e,t,a)=>{if(!e)return[];const n=[];return Object.keys(e).forEach((i=>{e[i]&&e[i].length&&r[i]&&n.push({key:a[r[i]]?t(a[r[i]]):r[i],value:e[i]})})),n},formatReviewDateAgo:o}},76497:e=>{e.exports={getUsername:"\n query getSiteUsername($authorID: String!, $siteID: String) {\n siteUsername(authorID: $authorID, siteID: $siteID) {\n id\n name\n tenantID\n authorID\n }\n }\n",createUsername:"\n mutation createUsername($input: CreateSiteUsernameInput!) {\n createSiteUsername(input: $input) {\n siteUsername {\n name\n siteID\n }\n }\n }\n",updateUsername:"\n mutation updateSiteUsername($input: UpdateSiteUsernameInput!) {\n updateSiteUsername(input: $input) {\n siteUsername {\n name\n siteID\n }\n }\n }\n"}},67116:(e,t,a)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.validate=t.createNewUsername=t.checkUsername=t.requestGraphService=void 0;const n=a(76497),i=a(16075),{GraphQLClient:o}=a(96497),{getCookie:r}=a(56892),s=a(53788).default,{oidcCookies:l}=s;t.requestGraphService=(e,t)=>{const a=r(l.access),n=new o(e),{query:i,variables:s}=t,d={"Access-Control-Request-Method":"POST","Access-Control-Request-Headers":"Content-Type","Content-Type":"application/json","User-Agent":"verso-client",Authorization:`Bearer ${a}`};return n.request(i,s,d)},t.checkUsername=async(e,a,i)=>{if(!i)return void console.error("A commenting url is required to check the username");const o={operationName:"getSiteUsername",query:n.getUsername,variables:{authorID:e,siteID:a}};let r;try{const e=await(0,t.requestGraphService)(i,o);r=0===e?.siteUsername?.length?null:e&&e.siteUsername[0]?.name}catch(e){console.log(`Error making GQL request in checkUsername: ${e.message}`)}return r},t.createNewUsername=async(e,a)=>{const{name:i,organizationId:o,userId:r,url:s,action:l}=e,d={siteUsername:{name:i,siteID:o,authorID:r},clientMutationId:"0"},c={operationName:"UPDATE"===l?"updateSiteUsername":"createSiteUsername",query:"UPDATE"===l?n.updateUsername:n.createUsername,variables:{input:d}};try{const e=await(0,t.requestGraphService)(s,c);return e&&e["UPDATE"===l?"updateSiteUsername":"createSiteUsername"]?.siteUsername?.name}catch(e){let t;throw(null===e.response?.data&&"InternalDevelopmentError: user or username already exists"===e.response?.errors[0]?.message||"InternalDevelopmentError: Duplicate Brand Username"===e.response?.errors[0]?.message)&&(t="already_taken"),a.warn(`Error making GQL request in createNewUsername: ${e?.response?.errors[0]?.message}`),new Error(t)}},t.validate=(e,t)=>{const{minLength:a,maxLength:n}=t,o=i.string().min(a).max(n).required(),r=i.string().regex(/^[a-zA-Z0-9_]+$/).required();return o.validate(e).error?"lengthError":r.validate(e).error?"specialCharError":null}}}]);