import{n as me,l as g,x as et}from"./index-BxvdAQED.js";import d,{forwardRef as K,useState as I,useRef as D,useEffect as R,useCallback as ue,useMemo as Fe,useImperativeHandle as tt,useSyncExternalStore as rt}from"https://assets.finn.no/npm/react/v18/react.production.min.js";import it from"https://assets.finn.no/npm/react-dom/v18/react-dom.production.js";import{Button as G,Modal as at,Alert as ot,Pagination as nt,TextField as Ue,Affix as st,Card as lt,Clickable as dt}from"https://assets.finn.no/pkg/@warp-ds/react/v2/warp-react-18.js";import q from"https://assets.finn.no/pkg/@finn-no/pulse-sdk/v0/client.esm.min.js";import{toast as ke}from"https://assets.finn.no/pkg/@warp-ds/elements/v2/packages/toast/index.js";var kr=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Er(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}const We=d.createContext(void 0);function Nr(r){const{children:e,...t}=r,i=d.useMemo(()=>({brand:t.brand,development:t.development,isMobile:t.isMobile,locale:t.locale,loggedIn:t.loggedIn,twitterProfile:t.twitterProfile,url:t.url,userId:t.userId}),[t]);return me.jsx(We.Provider,{value:i,children:e})}function Ne(){const r=d.useContext(We);if(typeof r>"u")throw new Error("useAppConfig must be used within an AppConfigProvider");return r}function b(r,e,t){return e in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}var Ce="__lookupFavItem",Le=4,ct=1e3*60*10,xe=typeof window<"u";function J(r,e,t){return{itemType:r,itemId:e,folderIds:t}}function M(r,e){return"".concat(r,":").concat(e)}class De{constructor(e,t,i,a,o){b(this,"ttl",void 0),b(this,"version",void 0),b(this,"userId",void 0),b(this,"items",void 0),b(this,"dataFromServer",void 0),this.ttl=e,this.version=t,this.userId=o,this.items=i,this.dataFromServer=a}}function de(r,e){return new De(r.ttl,r.version,e,r.dataFromServer,r.userId)}class ut{constructor(e,t,i,a,o,s){b(this,"userId",void 0),b(this,"storage",void 0),b(this,"ttl",void 0),b(this,"key",void 0),b(this,"getNow",void 0),b(this,"storageHandler",void 0),this.userId=t,this.storage=i||(xe?window.localStorage:null),this.ttl=a||ct,this.key=o||Ce,this.getNow=s||(()=>Date.now()),this.key=Ce,this.storageHandler=n=>{try{var l,c;if(n.key!==this.key||n.oldValue===n.newValue||!n.newValue)return;var m=JSON.parse(n.newValue||"");if(((l=m.userId)===null||l===void 0?void 0:l.toString())!==((c=this.userId)===null||c===void 0?void 0:c.toString()))return;if(n.oldValue&&m.items){var f=JSON.parse(n.oldValue);m.items.forEach(u=>{var p=f.items!=null&&!f.items.find(h=>h.itemType===u.itemType&&h.itemId===u.itemId);if(p){var v=m.items.find(h=>h.itemType===u.itemType&&h.itemId===u.itemId)||J(u.itemType,u.itemId,[]);e(M(u.itemType,u.itemId),v)}})}else m.items.forEach(u=>{var p=m.items.find(v=>v.itemType===u.itemType&&v.itemId===u.itemId)||J(u.itemType,u.itemId,[]);e(M(u.itemType,u.itemId),p)})}catch{}},xe&&window.addEventListener("storage",this.storageHandler)}unbind(){window.removeEventListener("storage",this.storageHandler)}createEmptyState(){var e;return new De(this.getNow()+this.ttl,Le,[],!1,(e=this.userId)===null||e===void 0?void 0:e.toString())}resetState(){var e,t=this.createEmptyState();return(e=this.storage)===null||e===void 0||e.setItem(this.key,JSON.stringify(t)),t}isValid(e){var t,i;return!e||e.version!==Le||e.ttl<=this.getNow()||((t=e.userId)===null||t===void 0?void 0:t.toString())!==((i=this.userId)===null||i===void 0?void 0:i.toString())?this.resetState():e}getState(){try{var e,t=this.isValid(JSON.parse(((e=this.storage)===null||e===void 0?void 0:e.getItem(this.key))||""));if(t)return t}catch{return this.resetState()}return this.createEmptyState()}isEmpty(){return!this.getState().dataFromServer}getFolderIds(e,t){var i=s=>s.itemType===e&&s.itemId===t,a=this.getState();if(a&&a.items){if(Array.isArray(a.items)){var o=a.items.find(i);if(o)return o.folderIds}else return[];return[]}return[]}addToFolder(e,t,i){var a=!1;function o(c){return c.itemType===e&&c.itemId===t&&(a=!0,c.folderIds.push(i)),c}try{var s,n=this.getState();if(n&&n.items&&n.items){var l=n.items.map(o);n=de(n,l)}return a||n.items.push(J(e,t,[i])),(s=this.storage)===null||s===void 0||s.setItem(this.key,JSON.stringify(n)),!0}catch{return!1}}removeFromFolder(e,t,i){function a(l){if(l.itemType===e&&l.itemId===t){var c=l.folderIds.filter(m=>m!==i);return J(l.itemType,l.itemId,c)}return l}try{var o,s=this.getState();if(s&&s.items){var n=s.items.map(a);s=de(s,n)}return(o=this.storage)===null||o===void 0||o.setItem(this.key,JSON.stringify(s)),!0}catch{return!1}}deleteFolderContent(e,t){function i(n){var{itemId:l,itemType:c}=n;if(t.some(f=>f.itemId===l&&f.itemType===c)){var m=n.folderIds.filter(f=>f!==e);return J(n.itemType,n.itemId,m)}return n}try{var a,o=this.getState();if(o&&o.items){var s=o.items.map(i);o=de(o,s)}return(a=this.storage)===null||a===void 0||a.setItem(this.key,JSON.stringify(o)),!0}catch{return!1}}removeFolder(e){function t(n){var l=n.folderIds.filter(c=>c!==e);return J(n.itemType,n.itemId,l)}try{var i,a=this.getState();if(a&&a.items){var o=a.items.map(t),s=o.filter(n=>n.folderIds.length>0);a=de(a,s)}return(i=this.storage)===null||i===void 0||i.setItem(this.key,JSON.stringify(a)),!0}catch{return!1}}setItems(e){try{var t,i=this.createEmptyState();return i.items=e,i.dataFromServer=!0,(t=this.storage)===null||t===void 0||t.setItem(this.key,JSON.stringify(i)),!0}catch{return!1}}}class H{constructor(e,t){b(this,"baseUri",void 0),b(this,"fetch",void 0),this.baseUri=e,this.fetch=t||H.fetch,this.fetchFolders=this.fetchFolders.bind(this),this.fetchMinimalFavoriteMap=this.fetchMinimalFavoriteMap.bind(this),this.addToFolder=this.addToFolder.bind(this),this.removeFromFolder=this.removeFromFolder.bind(this),this.createFolder=this.createFolder.bind(this),this.deleteFolder=this.deleteFolder.bind(this),this.fetchNumFavs=this.fetchNumFavs.bind(this),this.deleteFolderContent=this.deleteFolderContent.bind(this)}static fetch(e,t){return window.fetch(e,t)}static getCredentialsHeader(){var{host:e}=window.location;return e.includes("local.finn.no")?"include":"same-origin"}fetchMinimalFavoriteMap(){return this.fetch("".concat(this.baseUri,"/minimal"),{credentials:H.getCredentialsHeader()})}addToFolder(e,t,i){return this.fetch("".concat(this.baseUri,"/").concat(i,"/").concat(e,"/").concat(t),{credentials:H.getCredentialsHeader(),method:"PUT"})}removeFromFolder(e,t,i){return this.fetch("".concat(this.baseUri,"/").concat(i,"/").concat(e,"/").concat(t),{credentials:H.getCredentialsHeader(),method:"DELETE"})}fetchFolders(){return this.fetch(this.baseUri,{credentials:H.getCredentialsHeader()})}createFolder(e){return this.fetch("".concat(this.baseUri),{credentials:H.getCredentialsHeader(),method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e})})}deleteFolder(e){return this.fetch("".concat(this.baseUri,"/").concat(e),{credentials:H.getCredentialsHeader(),method:"DELETE"})}fetchNumFavs(e,t){return this.fetch("".concat(this.baseUri,"/").concat(e,"/").concat(t,"/counter"),{credentials:H.getCredentialsHeader()})}deleteFolderContent(e,t){return this.fetch("".concat(this.baseUri,"/").concat(e,"/ads"),{credentials:H.getCredentialsHeader(),method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({items:t})})}}var Je=typeof window<"u",j=Je?window:{};class mt{constructor(){b(this,"promise",void 0),b(this,"resolve",void 0),b(this,"reject",void 0),b(this,"timer",void 0),this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}}class ft{constructor(e,t,i){b(this,"namespace",void 0),b(this,"handler",void 0),b(this,"timeout",void 0),this.namespace=e,this.handler=t,this.timeout=i||15}getGlobalPromise(){return j[this.namespace]=j[this.namespace]||new mt,j[this.namespace]}resetState(){delete j[this.namespace]}collectAndHandle(){var e=this.getGlobalPromise();return clearTimeout(e.timer),e.timer=window.setTimeout(()=>{this.resetState(),this.handler().then(e.resolve).catch(e.reject)},this.timeout),e.promise}}class Pe{constructor(e){b(this,"key",void 0),this.key="".concat(e,"__queue"),j[this.key]=j[this.key]||[]}reset(){j[this.key]=[]}getQueue(){return j[this.key]}subscribe(e,t){this.getQueue().push([e,t])}unsubscribe(e,t){j[this.key]=this.getQueue().filter(i=>{var[a,o]=i;return!(a===e&&o===t)})}matches(e){return this.getQueue().filter(t=>{var[i]=t;return i.toString()===e.toString()}).map(t=>{var[,i]=t;return i})}emit(e,t){this.matches(e).forEach(i=>i(t))}}class z{constructor(e,t,i,a,o,s){b(this,"namespace",void 0),b(this,"fetcher",void 0),b(this,"toggledStateBus",void 0),b(this,"recountStateBus",void 0),b(this,"favStorage",void 0),b(this,"getItemCollector",void 0),this.namespace=t||"__lookupFavItem",this.toggledStateBus=new Pe("".concat(this.namespace,"__toggled")),this.recountStateBus=new Pe("".concat(this.namespace,"__recount")),this.favStorage=new ut((n,l)=>{this.toggledStateBus.emit(n,!!l)},e!=null?e:void 0,i,a),this.fetcher=new H(s||z.getEnvBasedUrl(),o),this.getItemCollector=new ft(this.namespace,()=>this.fetcher.fetchMinimalFavoriteMap().then(z.validateResponseOK).then(n=>n.json()).then(n=>{this.favStorage.setItems(n.items)}).catch(()=>{})),this.fetchFolders=this.fetchFolders.bind(this),this.fetchFoldersForItem=this.fetchFoldersForItem.bind(this),this.addToFolder=this.addToFolder.bind(this),this.removeFromFolder=this.removeFromFolder.bind(this),this.createFolder=this.createFolder.bind(this),this.deleteFolder=this.deleteFolder.bind(this),this.deleteFolderContent=this.deleteFolderContent.bind(this)}unmount(){this.toggledStateBus.reset(),this.recountStateBus.reset(),this.favStorage.unbind()}static getEnvBasedUrl(){var{host:e}=Je?window.location:{host:""};return e.includes("local.finn.no")?"http://local.finn.no:3050/favorittliste/podium-resource/favorittlistePodlet/favorite-api":e.includes("dev.finn.no")?"https://dev.finn.no/favorittliste/podium-resource/favorittlistePodlet/favorite-api":"https://www.finn.no/favorittliste/podium-resource/favorittlistePodlet/favorite-api"}getFavoriteState(e,t,i){var a=Number(t);return this.toggledStateBus.subscribe(M(e,a),i),this.isItemFavorited(e,a),()=>{this.toggledStateBus.unsubscribe(M(e,a),i)}}subscribeToRecount(e,t,i){var a=Number(t);return this.recountStateBus.subscribe(M(e,a),i),this.fetchAndEmitNumFavs(e,a),()=>{this.recountStateBus.unsubscribe(M(e,a),i)}}isItemFavorited(e,t){var i=Number(t);if(this.favStorage.isEmpty())return this.getItemCollector.collectAndHandle().then(()=>new Promise(o=>{setTimeout(()=>{var s=this.favStorage.getFolderIds(e,i);return this.toggledStateBus.emit(M(e,i),s.length>0),s.length>0?o(!0):o(!1)},0)}));var a=this.favStorage.getFolderIds(e,i);return this.toggledStateBus.emit(M(e,i),a.length>0),a.length>0?Promise.resolve(!0):Promise.resolve(!1)}addToFolder(e,t,i){var a=Number(t),o=Number(i);return this.fetcher.addToFolder(e,a,o).then(s=>(this.toggledStateBus.matches(M(e,a)).forEach(n=>n(!0)),this.favStorage.addToFolder(e,a,o),this.fetchAndEmitNumFavs(e,a),s))}removeFromFolder(e,t,i){var a=Number(t),o=Number(i);return this.fetcher.removeFromFolder(e,a,o).then(s=>(this.favStorage.removeFromFolder(e,a,o),this.uncheckHeartIfRemovedFromAllFolders(e,a),this.fetchAndEmitNumFavs(e,a),s))}deleteFolderContent(e,t){var i=Number(e);return this.fetcher.deleteFolderContent(i,t).then(a=>(this.favStorage.deleteFolderContent(i,t),t.forEach(o=>{this.uncheckHeartIfRemovedFromAllFolders(o.itemType,o.itemId),this.fetchAndEmitNumFavs(o.itemType,o.itemId)}),a))}fetchFolders(){return this.fetcher.fetchFolders()}fetchFoldersForItem(e,t){var i=Number(t);return Promise.resolve(J(e,i,this.favStorage.getFolderIds(e,i)))}createFolder(e){return this.fetcher.createFolder(e)}deleteFolder(e){var t=Number(e);return this.fetcher.deleteFolder(t).then(i=>(this.favStorage.removeFolder(t),i))}static validateResponseOK(e){return e.ok?Promise.resolve(e):Promise.reject(e)}uncheckHeartIfRemovedFromAllFolders(e,t){var i=this.favStorage.getFolderIds(e,t);i&&i.length<1&&this.toggledStateBus.matches(M(e,t)).forEach(a=>a(!1))}fetchAndEmitNumFavs(e,t){this.fetchNumFavs(e,t).then(z.validateResponseOK).then(i=>this.emitFavCounter(i,e,t)).catch(i=>this.emitZeroCountIfNotFound(i,e,t)).catch(()=>{})}fetchNumFavs(e,t){return this.fetcher.fetchNumFavs(e,t)}emitFavCounter(e,t,i){return e.json().then(a=>this.recountStateBus.emit(M(t,i),a.counter)).catch(()=>Promise.reject(e))}emitZeroCountIfNotFound(e,t,i){return e.status===404?(this.recountStateBus.emit(M(t,i),0),Promise.resolve(e)):Promise.reject(e)}}const Me=r=>typeof r=="object"&&r!=null&&r.nodeType===1,Be=(r,e)=>(!e||r!=="hidden")&&r!=="visible"&&r!=="clip",pe=(r,e)=>{if(r.clientHeight<r.scrollHeight||r.clientWidth<r.scrollWidth){const t=getComputedStyle(r,null);return Be(t.overflowY,e)||Be(t.overflowX,e)||(i=>{const a=(o=>{if(!o.ownerDocument||!o.ownerDocument.defaultView)return null;try{return o.ownerDocument.defaultView.frameElement}catch{return null}})(i);return!!a&&(a.clientHeight<i.scrollHeight||a.clientWidth<i.scrollWidth)})(r)}return!1},ce=(r,e,t,i,a,o,s,n)=>o<r&&s>e||o>r&&s<e?0:o<=r&&n<=t||s>=e&&n>=t?o-r-i:s>e&&n<t||o<r&&n>t?s-e+a:0,vt=r=>{const e=r.parentElement;return e==null?r.getRootNode().host||null:e},He=(r,e)=>{var t,i,a,o;if(typeof document>"u")return[];const{scrollMode:s,block:n,inline:l,boundary:c,skipOverflowHiddenElements:m}=e,f=typeof c=="function"?c:O=>O!==c;if(!Me(r))throw new TypeError("Invalid target");const u=document.scrollingElement||document.documentElement,p=[];let v=r;for(;Me(v)&&f(v);){if(v=vt(v),v===u){p.push(v);break}v!=null&&v===document.body&&pe(v)&&!pe(document.documentElement)||v!=null&&pe(v,m)&&p.push(v)}const h=(i=(t=window.visualViewport)==null?void 0:t.width)!=null?i:innerWidth,y=(o=(a=window.visualViewport)==null?void 0:a.height)!=null?o:innerHeight,{scrollX:k,scrollY:E}=window,{height:T,width:C,top:x,right:L,bottom:B,left:A}=r.getBoundingClientRect(),{top:_,right:P,bottom:S,left:$}=(O=>{const w=window.getComputedStyle(O);return{top:parseFloat(w.scrollMarginTop)||0,right:parseFloat(w.scrollMarginRight)||0,bottom:parseFloat(w.scrollMarginBottom)||0,left:parseFloat(w.scrollMarginLeft)||0}})(r);let F=n==="start"||n==="nearest"?x-_:n==="end"?B+S:x+T/2-_+S,N=l==="center"?A+C/2-$+P:l==="end"?L+P:A-$;const Q=[];for(let O=0;O<p.length;O++){const w=p[O],{height:X,width:Z,top:ee,right:fe,bottom:ve,left:te}=w.getBoundingClientRect();if(s==="if-needed"&&x>=0&&A>=0&&B<=y&&L<=h&&x>=ee&&B<=ve&&A>=te&&L<=fe)return Q;const re=getComputedStyle(w),ie=parseInt(re.borderLeftWidth,10),ae=parseInt(re.borderTopWidth,10),oe=parseInt(re.borderRightWidth,10),ne=parseInt(re.borderBottomWidth,10);let U=0,W=0;const se="offsetWidth"in w?w.offsetWidth-w.clientWidth-ie-oe:0,le="offsetHeight"in w?w.offsetHeight-w.clientHeight-ae-ne:0,he="offsetWidth"in w?w.offsetWidth===0?0:Z/w.offsetWidth:0,ge="offsetHeight"in w?w.offsetHeight===0?0:X/w.offsetHeight:0;if(u===w)U=n==="start"?F:n==="end"?F-y:n==="nearest"?ce(E,E+y,y,ae,ne,E+F,E+F+T,T):F-y/2,W=l==="start"?N:l==="center"?N-h/2:l==="end"?N-h:ce(k,k+h,h,ie,oe,k+N,k+N+C,C),U=Math.max(0,U+E),W=Math.max(0,W+k);else{U=n==="start"?F-ee-ae:n==="end"?F-ve+ne+le:n==="nearest"?ce(ee,ve,X,ae,ne+le,F,F+T,T):F-(ee+X/2)+le/2,W=l==="start"?N-te-ie:l==="center"?N-(te+Z/2)+se/2:l==="end"?N-fe+oe+se:ce(te,fe,Z,ie,oe+se,N,N+C,C);const{scrollLeft:Se,scrollTop:Te}=w;U=ge===0?0:Math.max(0,Math.min(Te+U/ge,w.scrollHeight-X/ge+le)),W=he===0?0:Math.max(0,Math.min(Se+W/he,w.scrollWidth-Z/he+se)),F+=Te-U,N+=Se-W}Q.push({el:w,top:U,left:W})}return Q},ht=r=>r===!1?{block:"end",inline:"nearest"}:(e=>e===Object(e)&&Object.keys(e).length!==0)(r)?r:{block:"start",inline:"nearest"};function gt(r,e){if(!r.isConnected||!(a=>{let o=a;for(;o&&o.parentNode;){if(o.parentNode===document)return!0;o=o.parentNode instanceof ShadowRoot?o.parentNode.host:o.parentNode}return!1})(r))return;const t=(a=>{const o=window.getComputedStyle(a);return{top:parseFloat(o.scrollMarginTop)||0,right:parseFloat(o.scrollMarginRight)||0,bottom:parseFloat(o.scrollMarginBottom)||0,left:parseFloat(o.scrollMarginLeft)||0}})(r);if((a=>typeof a=="object"&&typeof a.behavior=="function")(e))return e.behavior(He(r,e));const i=typeof e=="boolean"||e==null?void 0:e.behavior;for(const{el:a,top:o,left:s}of He(r,ht(e))){const n=o-t.top+t.bottom,l=s-t.left+t.right;a.scroll({top:n,left:l,behavior:i})}}const Y="font-bold focusable justify-center transition-colors ease-in-out",$e={primary:"s-text-inverted bg-[--w-color-button-primary-background] hover:bg-[--w-color-button-primary-background-hover] active:bg-[--w-color-button-primary-background-active]",secondary:"s-text-link s-border s-bg hover:s-bg-hover hover:s-border-hover active:s-bg-active",utility:"s-text s-bg hover:s-bg-hover active:s-bg-active s-border hover:s-border-hover active:s-border-active",destructive:"s-bg-negative s-text-inverted hover:s-bg-negative-hover active:s-bg-negative-active",pill:"s-icon hover:s-icon-hover active:s-icon-active bg-transparent hover:bg-[--w-color-button-pill-background-hover] active:bg-[--w-color-button-pill-background-active]",disabled:"s-text-inverted s-bg-disabled",quiet:"bg-transparent s-text-link hover:s-bg-hover active:s-bg-active",utilityQuiet:"s-text bg-transparent hover:s-bg-hover active:s-bg-active",negativeQuiet:"bg-transparent s-text-negative hover:s-bg-negative-subtle-hover active:s-bg-negative-subtle-active",loading:"s-text s-bg-subtle",link:"s-text-link"},pt={primary:`border-0 rounded-8 ${Y}`,secondary:`border-2 rounded-8 ${Y}`,utility:`border rounded-4 ${Y}`,negative:`border-0 rounded-8 ${Y}`,pill:`p-4 rounded-full border-0 inline-flex items-center justify-center hover:bg-clip-padding ${Y}`,link:`bg-transparent focusable ease-in-out inline active:underline hover:underline focus:underline ${$e.link}`},bt={medium:"text-m leading-[24]",xsmall:"text-xs"},Ie={backdrop:"fixed inset-0 flex sm:place-content-center sm:place-items-center items-end z-30 [--w-modal-max-height:80%] [--w-modal-width:640px] bg-[--w-black/25]",base:"pb-safe-[32] shadow-m max-h-[--w-modal-max-height] min-h-[--w-modal-min-height] w-[--w-modal-width] h-[--w-modal-height] relative transition-300 ease-in-out backface-hidden will-change-height rounded-8 mx-0 sm:mx-16 bg-[--w-s-color-surface-elevated-100] flex flex-col overflow-hidden outline-none space-y-16 pt-8 sm:pt-32 sm:pb-32 rounded-b-0 sm:rounded-b-8",content:"block overflow-y-auto overflow-x-hidden last-child:mb-0 grow shrink px-16 sm:px-32 relative",footer:"flex justify-end shrink-0 px-16 sm:px-32",transitionTitle:"transition-all duration-300",transitionTitleCenter:"justify-self-center self-center",transitionTitleColSpan:"col-span-2",title:"py-8 sm:py-0 -mt-4 sm:-mt-8 min-h-40 sm:min-h-48 grid gap-8 sm:gap-16 grid-cols-[auto_1fr_auto] items-start px-16 sm:px-32 border-b sm:border-b-0 shrink-0",titleText:"mb-0 h4 sm:h3",titleButton:`${bt.medium} ${pt.pill} ${$e.pill} sm:min-h-[44px] sm:min-w-[44px] min-h-[32px] min-w-[32px]`,titleButtonLeft:"-ml-8 sm:-ml-12 justify-self-start",titleButtonRight:"-mr-8 sm:-mr-12 justify-self-end",titleButtonIcon:"h-16 w-16 sm:h-24 sm:w-24",titleButtonIconRotated:"transform rotate-90"};var yt={},wt=Object.defineProperty,Ae=Object.getOwnPropertySymbols,Ft=Object.prototype.hasOwnProperty,kt=Object.prototype.propertyIsEnumerable,Oe=(r,e,t)=>e in r?wt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Et=(r,e)=>{for(var t in e||(e={}))Ft.call(e,t)&&Oe(r,t,e[t]);if(Ae)for(var t of Ae(e))kt.call(e,t)&&Oe(r,t,e[t]);return r},Nt=JSON.parse('{"icon.title.landscape":"Sol og fjell"}'),It=JSON.parse('{"icon.title.landscape":"Sun and mountains"}'),St=JSON.parse('{"icon.title.landscape":"Aurinko ja vuoret"}'),Tt=JSON.parse('{"icon.title.landscape":"Sol og bjerge"}'),Ve=["en","nb","fi","da","sv"],Ge="en",Ct=()=>{var r;let e;switch((r=process==null?void 0:yt)==null?void 0:r.NMP_BRAND){case"FINN":e="nb";break;case"TORI":e="fi";break;case"BLOCKET":e="sv";break;case"DBA":e="da";break;default:e="en"}return e},qe=()=>{var r;const e=(r=document==null?void 0:document.location)==null?void 0:r.hostname;return e!=null&&e.includes("finn")?"nb":e.includes("tori")?"fi":e.includes("blocket")?"sv":e.includes("dba")?"da":Ge},be=r=>Ve.find(e=>r===e||r.toLowerCase().includes(e))||qe();function Lt(){var r;if(typeof window>"u"){const e=Ct();return be(e)}try{const e=(r=document==null?void 0:document.documentElement)==null?void 0:r.lang,t=qe();return Ve.includes(e)?be(e!=null?e:t):(console.warn("Unsupported locale set in html lang tag, falling back to detection by hostname"),be(t))}catch(e){return console.warn("could not detect locale, falling back to source locale",e),Ge}}var xt=(r,e,t,i,a)=>r==="nb"?t:r==="fi"?i:r==="da"?a:e,Pt=(r,e,t,i)=>{const a=Lt(),o=xt(a,r,e,t,i);g.load(a,o),g.activate(a)};Pt(It,Nt,St,Tt);var Mt=g.t({message:"Sun and mountains",id:"icon.title.landscape",comment:"Title for landscape icon"}),Bt=r=>d.createElement("svg",Et({xmlns:"http://www.w3.org/2000/svg",width:"56",height:"56",fill:"none",viewBox:"0 0 56 56",dangerouslySetInnerHTML:{__html:`<title>${Mt}</title><path stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M16 20a8 8 0 1 0 0-16 8 8 0 0 0 0 16M53 50 38.648 26.58A3.53 3.53 0 0 0 35.749 25a3.52 3.52 0 0 0-2.933 1.514l-9.393 13.464-5.821-4.685a3.53 3.53 0 0 0-2.749-.736 3.52 3.52 0 0 0-2.396 1.538L3 50"></path>`}},r)),Ht=Bt,At={};function je(r,e,t,i,a,o,s){try{var n=r[o](s),l=n.value}catch(c){return void t(c)}n.done?e(l):Promise.resolve(l).then(i,a)}function V(r){return function(){var e=this,t=arguments;return new Promise(function(i,a){var o=r.apply(e,t);function s(l){je(o,i,a,s,n,"next",l)}function n(l){je(o,i,a,s,n,"throw",l)}s(void 0)})}}function Ee(){return Ee=Object.assign?Object.assign.bind():function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)({}).hasOwnProperty.call(t,i)&&(r[i]=t[i])}return r},Ee.apply(null,arguments)}function Ot(r,e){if(r==null)return{};var t,i,a=jt(r,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(r);for(i=0;i<o.length;i++)t=o[i],e.includes(t)||{}.propertyIsEnumerable.call(r,t)&&(a[t]=r[t])}return a}function jt(r,e){if(r==null)return{};var t={};for(var i in r)if({}.hasOwnProperty.call(r,i)){if(e.includes(i))continue;t[i]=r[i]}return t}var Rt=JSON.parse('{"favoriteAddedToast":["Favorit blev føjet til ",["folder"]],"favoriteAddedErrorToast":"Kunne ikke tilføje favoritten. Prøv igen senere.","favoriteRemovedToast":["Fjern favorit fra ",["folder"]],"favoriteRemovedErrorToast":"Kunne ikke fjerne favoritten, prøv igen senere.","heartButtonTextToggled":"Tilføjet som favorit","heartButtonText":"Føj til favoritter","heartButtonAriaLabel":"Hjerteikon","heartButtonTitle":"Føj til favoritter","createListError":"Listen kunne ikke oprettes","searchLabel":"Søg efter en liste","searchPlaceholder":"Navn på en liste","listNameHelpText":[["length"]," / 40 tegn"],"addInAList":"Føj til liste","backButton":"Tilbage","listNotFound":"Kunne ikke finde nogen lister, der matcher din søgning :(","createNewList":"Opret ny liste","createNewWantedList":"Opret ny ønskeliste","listNameLabel":"Giv listen et navn","login":"Log ind","loginNudge":"Log ind for at føje annoncen til dine favoritter, så du nemt kan finde den igen, uanset hvor du er.","newList":"Ny liste","notNow":"Ikke nu","genericListErrorTitle":"Ups!","chooseList":"Vælg en liste","genericListErrorMessage":"Der er rod i maskineriet. Prøv igen om lidt."}'),_t=JSON.parse(`{"favoriteAddedToast":["Favourite was added to ",["folder"]],"favoriteAddedErrorToast":"Couldn't add the favourite. Please try again later.","favoriteRemovedToast":["Remove favourite from ",["folder"]],"favoriteRemovedErrorToast":"Couldn't remove the favourite. Please try again later.","heartButtonTextToggled":"Added as favourite","heartButtonText":"Add to favourites","heartButtonAriaLabel":"Heart button","heartButtonTitle":"Add to favourites","createListError":"The list couldn't be created","searchLabel":"Search for a list","searchPlaceholder":"Name of a list","listNameHelpText":[["length"]," / 40 characters"],"addInAList":"Add to list","backButton":"Back","listNotFound":"Couldn't find any lists that match your search :(","createNewList":"Create new list","createNewWantedList":"Create new wishlist","listNameLabel":"Give the list a name","login":"Log in","loginNudge":"Log in to add the listing to your favourites so you can easily find it again, no matter where you are.","newList":"New list","notNow":"Not now","genericListErrorTitle":"Oops!","chooseList":"Select a list","genericListErrorMessage":"There are gremlins about. Try again in a bit."}`),Ut=JSON.parse('{"favoriteAddedToast":["Ilmoitus tallennettu kansioon ",["folder"]],"favoriteAddedErrorToast":"Ilmoitusta ei voitu lisätä suosikiksi. Yritä myöhemmin uudelleen.","favoriteRemovedToast":["Ilmoitus poistettu kansiosta ",["folder"]],"favoriteRemovedErrorToast":"Ilmoitusta ei voitu poistaa suosikeista. Yritä myöhemmin uudelleen.","heartButtonTextToggled":"Lisätty suosikkeihin","heartButtonText":"Lisää suosikkeihin","heartButtonAriaLabel":"Sydän","heartButtonTitle":"Lisää suosikiksi","createListError":"Kansion luonti epäonnistui","searchLabel":"Hae kansiota","searchPlaceholder":"Kansion nimi","listNameHelpText":[["length"]," / 40 merkkiä"],"addInAList":"Tallenna","backButton":"Peruuta","listNotFound":"Hakua vastaavia kansioita ei löytynyt","createNewList":"Luo uusi kansio","createNewWantedList":"Luo toivelista","listNameLabel":"Nimi","login":"Kirjaudu sisään","loginNudge":"Kirjaudu sisään, niin voit lisätä ilmoituksen suosikiksi. Näin löydät sen helposti uudelleen.","newList":"Luo uusi kansio","notNow":"Ei nyt","genericListErrorTitle":"Hups!","chooseList":"Tallenna suosikkeihin","genericListErrorMessage":"Jotain meni pieleen. Yritä hetken päästä uudelleen."}'),Wt=JSON.parse('{"favoriteAddedToast":["Favoritten ble lagt til i ",["folder"]],"favoriteAddedErrorToast":"Kunne ikke legge til favoritten. Prøv på nytt senere.","favoriteRemovedToast":["Fjernet favoritten fra ",["folder"]],"favoriteRemovedErrorToast":"Kunne ikke fjerne favoritten. Prøv på nytt senere.","heartButtonTextToggled":"Lagt som favoritt","heartButtonText":"Legg til favoritt","heartButtonAriaLabel":"Hjertemerke","heartButtonTitle":"Legg til som favoritt","createListError":"Listen kunne ikke opprettes","searchLabel":"Søk etter en liste","searchPlaceholder":"Navn på en liste","listNameHelpText":[["length"]," / 40 tegn"],"addInAList":"Legg i liste","backButton":"Tilbake","listNotFound":"Fant ingen lister som svarer til søket ditt :(","createNewList":"Lag ny liste","createNewWantedList":"Lag ny ønskeliste","listNameLabel":"Gi listen et navn","login":"Logg inn","loginNudge":"Logg inn for å legge annonsen i dine favorittlister. Da kan du lett finne de igjen senere, uansett hvor du er.","newList":"Ny liste","notNow":"Ikke nå","genericListErrorTitle":"Usjda!","chooseList":"Velg liste","genericListErrorMessage":"Nå er det rusk i maskineriet. Prøv igjen om litt."}'),Re=r=>d.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,fill:"none",viewBox:"0 0 16 16"},d.createElement("path",{fill:r.fill||"none",stroke:r.stroke||"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M8.002 14.5 2.035 7.892a3.888 3.888 0 0 1-.99-2.057 3.93 3.93 0 0 1 .328-2.267v0A3.528 3.528 0 0 1 2.415 2.23a3.425 3.425 0 0 1 1.532-.682 3.39 3.39 0 0 1 1.667.131 3.454 3.454 0 0 1 1.412.914l.976 1.035.974-1.034c.39-.418.875-.731 1.412-.913a3.39 3.39 0 0 1 1.665-.131 3.43 3.43 0 0 1 1.532.681c.448.352.806.81 1.041 1.336v0c.332.704.447 1.494.329 2.267a3.885 3.885 0 0 1-.99 2.056L8.002 14.5Z"})),Dt=K((r,e)=>{var{className:t,onClick:i,toggled:a,variant:o,numFavs:s}=r,n={},l={},c="inline-flex items-center justify-center ".concat(a?"s-text-link":""," ").concat(t!=null?t:"");switch(o){case"heart":n={pill:!0,className:c};break;case"heart-blue":n={pill:!0,className:c},l={stroke:"var(--w-s-color-icon-primary)"};break;case"heart-on-image":n={pill:!0,className:c},l={stroke:"var(--w-s-color-icon-inverted)",fill:"var(--w-s-color-icon-subtle)"};break;case"button":n={utility:!0,quiet:!0,className:c};break;case"button-with-text":n={utility:!0,quiet:!0,className:"".concat(c," whitespace-nowrap")};break;case"button-on-image":n={utility:!0,quiet:!0,className:"".concat(c," whitespace-nowrap shadow-s")};break}var m=()=>a?g.t({id:"heartButtonTextToggled"}):g.t({id:"heartButtonText"});return d.createElement(G,Ee({"aria-haspopup":"dialog","aria-label":g.t({id:"heartButtonAriaLabel"}),"aria-pressed":a,onClick:i,title:g.t({id:"heartButtonTitle"}),ref:e},n),a?d.createElement(Re,{stroke:"var(--w-s-color-icon-primary)",fill:"var(--w-s-color-icon-primary)"}):d.createElement(Re,l),s>0?d.createElement("span",{className:"pl-4"},s):null,o==="button-with-text"&&d.createElement("span",{className:"ml-14"},m()))}),_e=(r,e)=>{try{ke(r,e)}catch(t){console.error("Problem toasting",t)}},Jt=K((r,e)=>{var{adExists:t,itemType:i,itemId:a,api:o,closeCallback:s,folder:n,handleError:l}=r;function c(){return m.apply(this,arguments)}function m(){return m=V(function*(){l(""),t?yield p():yield f()}),m.apply(this,arguments)}function f(){return u.apply(this,arguments)}function u(){return u=V(function*(){try{yield o.addToFolder(i,a,n.folderid);var h={type:"Click",intent:"Save",name:"New favorite",object:{id:"favoritelist:".concat(n.folderid),type:"UIElement",elementType:"Popup",name:"Favorite List",items:[{type:"ClassifiedAd",id:i==="Hotel"?"hotel:".concat(a):"".concat(a),contentId:"".concat(a),name:"n/a",category:"n/a"}]},target:{id:i==="Hotel"?"classified:hotel:".concat(a):"classified:".concat(a),type:"SavedList",name:"Favorite list"}};q.trackEvent(h),_e(g.t({id:"favoriteAddedToast",values:{folder:n.name}}),{type:"success"}),s()}catch(y){console.error(y),l(g.t({id:"favoriteAddedErrorToast"}))}}),u.apply(this,arguments)}function p(){return v.apply(this,arguments)}function v(){return v=V(function*(){try{yield o.removeFromFolder(i,a,n.folderid);var h={type:"Click",intent:"Edit",name:"New favorite",object:{id:"favoritelist:".concat(n.folderid),type:"UIElement",elementType:"Button",name:"Favorite List",items:[{type:"ClassifiedAd",id:i==="Hotel"?"hotel:".concat(a):"".concat(a),contentId:"".concat(a),name:"n/a",category:"n/a"}]},target:{id:i==="Hotel"?"classified:hotel:".concat(a):"classified:".concat(a),type:"FavoriteItem",name:"Classified Ad"}};q.trackEvent(h),_e(g.t({id:"favoriteRemovedToast",values:{folder:n.name}}),{type:"success"}),s()}catch(y){console.error(y),l(g.t({id:"favoriteRemovedErrorToast"}))}}),v.apply(this,arguments)}return d.createElement(lt,{selected:t},d.createElement("div",{className:"grid grid-cols-4 md:grid-cols-3 flex-row"},n.image?d.createElement("img",{style:{aspectRatio:"1/1"},className:"w-full rounded-l-8 object-cover",src:n.image,alt:"Description"}):d.createElement(Ht,{className:"w-full rounded-l-8 p-24 h-full image-aspect object-cover s-icon-subtle s-bg-subtle"}),d.createElement("div",{className:"col-span-2 p-16"},d.createElement(dt,{onClick:c},d.createElement("p",{className:"text-s text-left text-ellipsis line-clamp-2"},n.name.trim())))))});function $t(r){var{currentPage:e,totalPages:t=0,setCurrentPage:i}=r,a=d.useCallback(o=>{var s={object:{type:"Listing",layout:"List",pageNumber:o}};q.trackPageView(s),i(o)},[i]);return!t||t<=1?null:d.createElement(nt,{className:"pt-8 pb-4",createHref:()=>"#",currentPage:e,lastPage:t,onChange:a})}var Vt=r=>{var{onSearch:e,initialFocusRef:t}=r;return d.createElement(Ue,{ref:t,label:g.t({id:"searchLabel"}),type:"search",placeholder:g.t({id:"searchPlaceholder"}),onChange:i=>e(i.target.value)},d.createElement(st,{suffix:!0,search:!0,onClick:()=>e(t.textfield.value)}))},Gt=r=>{var{pageSize:e,folders:t,searchQuery:i,specialButtons:a}=r,[o,s]=I(1),n=Fe(()=>{var c=Math.ceil((t.length+a)/e),m=(o-1)*e-(o>1?a:0),f=Math.min(o*e-1-a,t.length-1);return{totalPages:c,startIndex:m,endIndex:f}},[o,t.length,e,a]),l=Fe(()=>t.filter((c,m)=>m>=n.startIndex&&m<=n.endIndex),[t,n.endIndex,n.startIndex]);return R(()=>{(i||t.length)&&s(1)},[i,t.length]),{pagination:n,paginatedFolders:l,currentPage:o,setCurrentPage:s}},qt=r=>{var{items:e}=r,[t,i]=I(""),a=Fe(()=>{var o=t.toLowerCase();return o?e.filter(s=>s.name.toLowerCase().includes(o)):e},[e,t]);return{searchQuery:t,setSearchQuery:i,filteredFavoriteLists:a}},Qt=K((r,e)=>{var{itemType:t,itemId:i,api:a,closeCallback:o,folders:s,foldersWithItem:n,setErrorMessage:l,toggleCreateNewFolder:c}=r;return d.createElement("div",{className:"grid md:grid-cols-2 gap-16 mt-24 pb-24"},s.map((m,f)=>d.createElement("div",{key:m.folderid},d.createElement(Jt,{ref:!c&&f===0?e:void 0,adExists:!!n.folderIds&&n.folderIds.includes(m.folderid),itemType:t,itemId:i,api:a,closeCallback:o,folder:m,handleError:u=>l(u),key:m.folderid}))))}),Yt=r=>{var{itemType:e,itemId:t,api:i,closeCallback:a,errorMessage:o,foldersWithItem:s,items:n,setErrorMessage:l,toggleCreateNewFolder:c,initialFocusRef:m,mobileFocusHeading:f}=r,{filteredFavoriteLists:u,searchQuery:p,setSearchQuery:v}=qt({items:n});function h(){v(""),c()}var{currentPage:y,paginatedFolders:k,pagination:E,setCurrentPage:T}=Gt({folders:u,pageSize:6,searchQuery:p,specialButtons:0}),C=D(null),x=D(null),[L,B]=I(!1),A=ue(S=>{T(S),B(!0)},[T]);R(()=>{if(f){var S;(S=C.current)===null||S===void 0||S.focus()}},[f]),R(()=>{L&&y>=0&&x.current&&(x.current.focus(),B(!1))},[y,L]);var _=d.createElement(d.Fragment,null),P=d.createElement(d.Fragment,null,d.createElement("div",{className:"grid grid-cols-5 items-end gap-16 mb-16 outline-none",ref:C,tabIndex:f?0:-1},d.createElement("div",{className:"col-span-5 sm:col-span-3"},d.createElement(Vt,{onSearch:S=>v(S),initialFocusRef:m})),d.createElement(G,{utility:!0,onClick:h,className:"col-span-5 sm:col-span-2 lt-sm:min-w-full"},g.t({id:"createNewList",message:"Create new list"}))),p!==""&&u.length<1?d.createElement("p",{className:"pt-32 px-8 text-center text-m font-bold"},g.t({id:"listNotFound",message:"Couldn't find any lists that match your search :("})):d.createElement("span",null),d.createElement(ot,{type:"negative",show:!!o},d.createElement("p",{className:"font-bold"},g.t({id:"genericListErrorTitle",message:"Oops!"})),d.createElement("p",null,g.t({id:"genericListErrorMessage",message:"There are gremlins about. Try again in a bit."}))),d.createElement(Qt,{ref:x,itemType:e,itemId:t,api:i,closeCallback:a,folders:k,foldersWithItem:s,setErrorMessage:l,toggleCreateNewFolder:y!==1||p?void 0:c}),d.createElement($t,{currentPage:y,setCurrentPage:A,totalPages:E.totalPages}));return[P,_,d.createElement("h1",{className:Ie.titleText},g.t({id:"chooseList",message:"Select a list"}))]},zt=(r,e)=>{var t=a=>(o,s)=>o.default?-1:s.default?1:a.includes(o.folderid)&&a.includes(s.folderid)?0:a.includes(o.folderid)?-1:a.includes(s.folderid)?1:0;if(r){var i=t(r);return e.sort(i)}else return e},Kt=r=>{var{api:e,itemType:t,itemId:i,userId:a,isOpen:o}=r,[s,n]=I([]),[l,c]=I({itemType:t,itemId:i,folderIds:[]}),[m,f]=I("");return R(()=>{if(!o)return;var u=!1;function p(){return v.apply(this,arguments)}function v(){return v=V(function*(){try{var[h,y]=yield Promise.all([e.fetchFoldersForItem(t,i),e.fetchFolders().then(E=>E.json())]);if(!u){c(h);var k=zt(h.folderIds,y);n(k)}}catch(E){console.error(E),f(E.toString())}}),v.apply(this,arguments)}if(a)return p(),()=>{u=!0}},[t,i,e,a,o]),{items:s,errorMessage:m,foldersWithItem:l}},Xt=r=>{var{toggled:e,userId:t,itemType:i,itemId:a,isOpen:o}=r;R(()=>{if(o&&t){var s={type:"Click",intent:e?"Delete":"Create",name:"New favorite",object:{id:i==="Hotel"?"classified:hotel:".concat(a):"classified:".concat(a),type:"UIElement",elementType:"Button",items:[{type:"ClassifiedAd",id:i==="Hotel"?"hotel:".concat(a):"".concat(a),contentId:"".concat(a),name:"n/a",category:"n/a"}]},target:{id:i==="Hotel"?"classified:hotel:".concat(a):"classified:".concat(a),type:"FavoriteItem",name:"Classified Ad"}};q.trackEvent(s)}},[o])},Zt=r=>{var{closeCallback:e,redirectUrl:t=window.location.href}=r,i=d.createElement(d.Fragment,null,d.createElement(G,{quiet:!0,className:"mr-8",onClick:e},g.t({id:"notNow",message:"Not now"})),d.createElement(G,{primary:!0,href:"/auth/login?redirectUrl=".concat(encodeURIComponent(t))},g.t({id:"login",message:"Log in"}))),a=d.createElement("div",null,d.createElement("p",null,g.t({id:"loginNudge",message:"Log in to add the listing to your favourites so you can easily find it again, no matter where you are."})));return[a,i,d.createElement("h3",{className:Ie.titleText},g.t({id:"login",message:"Log in"}))]},er=r=>{var{api:e,itemType:t,itemId:i,setErrorMessage:a,closeCallback:o}=r,s=D(!1);return function(){var n=V(function*(l){if(!s.current){s.current=!0;try{var c=yield e.createFolder(l);if(c.status===409){var m=yield c.json();throw m}if(!c.ok)throw c;var{folderid:f}=yield c.json(),u={type:"Click",intent:"Create",name:"New favorite list",object:{type:"UIElement",id:"favoritelist:".concat(f),elementType:"Popup"},target:{id:"favoritelist:".concat(f),type:"SavedList",name:"Favorite list"}};q.trackEvent(u);try{yield e.addToFolder(t,i,f);var p=g.t({id:"favoriteAddedToast",values:{folder:l}});ke(p,{type:"success"});var v={type:"Click",intent:"Save",name:"New favorite",object:{id:"favoritelist:".concat(f),type:"UIElement",elementType:"Popup",name:"Favorite List",items:[{type:"ClassifiedAd",id:t==="Hotel"?"hotel:".concat(i):"".concat(i),contentId:"".concat(i),name:"n/a",category:"n/a"}]},target:{id:t==="Hotel"?"classified:hotel:".concat(i):"classified:".concat(i),type:"SavedList",name:l==="Mine julegaveønsker"?"Mine julegaveønsker":"Favorite list"}};q.trackEvent(v)}catch(h){console.error(h),s.current=!1,ke(g.t({id:"favoriteAddedErrorToast"}),{type:"error"})}finally{o()}}catch(h){console.error(h),s.current=!1;try{if(!h.title)throw new TypeError;a(h.title)}catch(y){console.error(y),a(g.t({id:"createListError"}))}}}});return function(l){return n.apply(this,arguments)}}()},tr=K((r,e)=>{var{itemType:t,itemId:i,api:a,closeCallback:o,initialFocusRef:s}=r,[n,l]=I(""),[c,m]=I(""),f=er({api:a,itemType:t,itemId:i,setErrorMessage:m,closeCallback:o});function u(){return p.apply(this,arguments)}function p(){return p=V(function*(){if(!n.trim()){s.current&&s.current.focus(),h(!0);return}return f(n)}),p.apply(this,arguments)}tt(e,()=>({submit:()=>u()}));var[v,h]=I(!1),y=d.createElement(Ue,{invalid:v&&n.trim().length<1,helpText:g.t({id:"listNameHelpText",message:"{length} / 40 characters",values:{length:n.length}}),label:g.t({id:"listNameLabel",message:"Give the list a name"}),maxLength:40,onChange:k=>l(k.target.value),ref:s,required:!0,value:n});return d.createElement("form",{className:"pb-8",onSubmit:k=>{k.preventDefault(),u()}},y,c&&d.createElement("p",{className:"s-text-negative",role:"alert"},c))}),rr=r=>{var{itemType:e,itemId:t,api:i,initialFocusRef:a,closeCallback:o,onCancel:s,onSubmit:n}=r,l=d.createElement(d.Fragment,null,d.createElement(G,{secondary:!0,quiet:!0,onClick:s,className:"mr-12"},g.t({id:"backButton",message:"Back"})),d.createElement(G,{primary:!0,onClick:n},g.t({id:"addInAList",message:"Add to list"}))),c=d.createElement(d.Fragment,null,d.createElement(tr,{itemType:e,itemId:t,api:i,initialFocusRef:a,closeCallback:o,ref:r.ref}));return[c,l,d.createElement("h1",{className:Ie.titleText},g.t({id:"newList",message:"New list"}))]},ir=typeof window<"u",ar=r=>{var{itemType:e,itemId:t,api:i,setOpen:a,isOpen:o,redirectUrl:s,restoreFocus:n,toggled:l,userId:c,isMobile:m}=r;Xt({toggled:l,userId:c,itemType:e,itemId:t,isOpen:o});var[f,u]=I(!1),p=ue(()=>u(O=>!O),[]),[v,h]=I(null),{items:y,errorMessage:k,foldersWithItem:E}=Kt({api:i,itemType:e,itemId:t,userId:c,isOpen:o}),T=D(null),C=D(null),x=D(null),L=ue(()=>{h(""),a(!1),u(!1),n()},[a,n]),B=v||k,A=Zt({closeCallback:L,redirectUrl:s}),_=rr({itemType:e,itemId:t,api:i,initialFocusRef:x,closeCallback:L,ref:T,onCancel:p,onSubmit:()=>T.current.submit()}),P=Yt({itemType:e,itemId:t,api:i,initialFocusRef:C,closeCallback:L,errorMessage:B,foldersWithItem:E,items:y,setErrorMessage:h,toggleCreateNewFolder:p,mobileFocusHeading:m&&o}),[S,$,F]=c?f?_:P:A,N=ir?window.innerWidth>479:0,Q=!c&&N?{"--f-modal-width":"295px"}:{};return d.createElement(at,{title:F,open:o,onDismiss:L,key:"favorite-modal",footer:$,right:!0,style:Q},S)},Qe=["en","nb","fi","da"],Ye="en",or=()=>{var r;switch(At.NMP_BRAND){case"FINN":r="nb";break;case"TORI":r="fi";break;case"DBA":r="da";break;default:r="en"}return r},ze=()=>{var r,e=(r=document)===null||r===void 0||(r=r.location)===null||r===void 0?void 0:r.hostname;return e.includes("finn")?"nb":e.includes("tori")?"fi":e.includes("dba")?"da":Ye},ye=r=>Qe.find(e=>r===e||r.toLowerCase().includes(e))||ze();function nr(){if(typeof window>"u"){var r=or();return ye(r)}try{var e,t=(e=document)===null||e===void 0||(e=e.documentElement)===null||e===void 0?void 0:e.lang,i=ze();return Qe.includes(t)?ye(t!=null?t:i):(console.warn("Unsupported locale set in html lang tag, falling back to detection by hostname"),ye(i))}catch(a){return console.warn("could not detect locale, falling back to source locale",a),Ye}}var sr=(r,e,t,i,a)=>r==="nb"?t:r==="fi"?i:r==="da"?a:e,lr=(r,e)=>{var{enMessages:t,nbMessages:i,fiMessages:a,daMessages:o}=r,s=e!=null?e:nr(),n=sr(s,t,i,a,o);g.load(s,n),g.activate(s)},dr=["redirectUrl"],we;function cr(r){return we||(we=new z(r.userId||"",void 0,void 0,void 0,r.fetch,r.baseUri)),we}function ur(r){var{redirectUrl:e}=r,t=Ot(r,dr),i=cr(t),{userId:a}=t,o=K((s,n)=>{var l,c,{buttonClass:m,itemType:f,itemId:u,redirectUrl:p=e,renderNumFavs:v,variant:h,isMobile:y,locale:k}=s,[E,T]=I(!1),[C,x]=I((l=s.toggled)!==null&&l!==void 0?l:!1),[L,B]=I((c=s.isOpen)!==null&&c!==void 0?c:!1),[A,_]=I(0),P=D(null);lr({enMessages:_t,nbMessages:Wt,fiMessages:Ut,daMessages:Rt},k),R(()=>{if(a){var F=i.getFavoriteState(f,u,N=>x(N));if(F)return()=>F()}},[f,u]),R(()=>{if(v){var F=i.subscribeToRecount(f,u,_);if(F)return()=>F()}},[f,u,v]),R(()=>{T(!0)},[]);var S=ue(()=>{setTimeout(()=>{P.current&&document.activeElement!==P.current&&(gt(P.current,{block:"center",inline:"center",scrollMode:"if-needed"}),P.current.focus())},0)},[]),$={itemType:f,itemId:u,api:i,isOpen:L,setOpen:B,redirectUrl:p,restoreFocus:S,toggled:C,userId:a,isMobile:y};return t.renderServerSide||E?d.createElement(d.Fragment,null,d.createElement(Dt,{className:m,numFavs:A,onClick:()=>B(!0),ref:F=>{P.current=F,n&&(typeof n=="function"?n(F):n.current=F)},toggled:C,variant:h}),typeof window<"u"?it.createPortal(d.createElement(ar,$),t.modalAttach||document.body):""):d.createElement("span",null)});return o}const Ke=d.createContext(null);function Ir(r){const{children:e}=r,{url:t,userId:i}=Ne(),a=ur({baseUri:t.favoriteBaseURL,renderServerSide:!0,userId:i});return me.jsx(Ke.Provider,{value:a,children:e})}function Sr(r){const{buttonClass:e,itemId:t,...i}=r,{isMobile:a,locale:o}=Ne(),s=d.useContext(Ke);if(s===null)throw new Error("FavoriteHeart must be used within an FavoriteHeartProvider");return s?me.jsx(s,{...e?{buttonClass:e}:{},isMobile:a,itemId:Number(t),itemType:"Ad",locale:o,...i}):null}function mr(){return()=>{}}function fr(){return rt(mr,()=>!0,()=>!1)}const Tr=({content:r,className:e})=>{const{podletHtml:t,podletId:i}=vr(r),{podletRef:a}=hr(r);return t?me.jsx("div",{className:e,dangerouslySetInnerHTML:{__html:t},id:i,ref:a}):null};function vr(r){const{development:e}=Ne(),t=e?3:2,i=d.useId(),a=d.useRef(0),o=typeof window>"u",n=!!(fr()&&a.current===0),l=a.current<t&&!(o||n);return a.current+=1,{podletHtml:d.useMemo(()=>{var m,f;return l&&(f=(m=document.getElementById(i))==null?void 0:m.innerHTML)!=null?f:r==null?void 0:r.content},[r,l,i]),podletId:i}}function hr(r){const e=D(null);return R(function(){var o,s,n;const i=e.current;if(!i)return;const a=i.querySelectorAll("template[shadowrootmode]");for(const l of a)Xe(l);for(const l of(o=r==null?void 0:r.js)!=null?o:[]){const c=document.createElement("script");c.crossOrigin="anonymous",c.defer=(s=l.defer)!=null?s:!0,c.type=(n=l.type)!=null?n:"module",document.body.appendChild(c),c.src=l.value}},[r,e]),{podletRef:e}}function Xe(r){const e=r.getAttribute("shadowrootmode"),t=r.parentNode;if(e&&t)try{const i=t.attachShadow({mode:e});i.appendChild(r.content),r.remove();const a=i.querySelectorAll("template[shadowrootmode]");for(const o of a)Xe(o)}catch(i){console.warn("Podlet has already reattached itself. Coordinate responsibilities with the podlet authors.",i,t)}}var Ze=(r=>(r.ROOT="root",r.BAP="routes/bap.$forsaleOrWebstore.$adOrPreview[.html]",r.RECOMMERCE="routes/recommerce.forsale.item.$itemId.(preview)",r.SOLD="routes/$bapOrRecommerce.item.$itemId.sold",r))(Ze||{});function Cr(){const r=et(Ze.ROOT);if(typeof r>"u")throw new Error("useItemData must be used within the root route or its children");const{isPreview:e,isTransactable:t,objectData:i}=r;return{adId:i.meta.adId,isPreview:e,isTransactable:t,itemData:i}}export{Nr as A,Ir as F,Bt as I,Tr as P,Ze as R,fr as a,Cr as b,kr as c,Sr as d,Er as g,Ht as l,Ne as u};
