1"use strict";(globalThis.webpackChunkverso=globalThis.webpackChunkverso||[]).push([[8828],{55058(e,o,t){t.d(o,{LR:()=>s,VS:()=>a,Vh:()=>r,hg:()=>i,l9:()=>l,th:()=>n});const r={sm:0,md:320,lg:768,xl:1024,xxl:1280,xxxl:1600},a={sm:r.md-1,md:r.lg-1,lg:r.xl-1,xl:r.xxl-1,xxl:r.xxxl-1},i=["sm","md","lg","xl","xxl","xxxl"],l=[...i].reverse(),n={small:"sm",medium:"md",large:"lg",xLarge:"xl",xxLarge:"xxl",xxxLarge:"xxxl"},s=[...i]},1804(e,o,t){t.d(o,{_J:()=>s,No:()=>h,D1:()=>i,W$:()=>c,$9:()=>d,NY:()=>m});t(3613);var r=t(5736),a=(t(98788),t(50643));const i={BOOKMARK_MOVE_FAILED:"bookmark could not be moved",COLLECTION_COUNT_UNAVAILABLE:"could not get collection count",COLLECTION_DATA_FETCHING_ISSUE:"could not fetch collection data",COLLECTION_NOT_MADE:"collection could not be made",DUPLICATE_NAME:"collection name exists",MISSING_ACCESS_TOKEN:"user not logged in",RECORD_ALREADY_EXISTS:"Record already exists"},l=async({addBookmarkIds:e,addCopilotDetails:o,collectionName:t,federatedGraphqlUrl:i,meta:l,organizationId:n,removeBookmarkIds:s,removeCopilotIds:c,updateCollectionId:d})=>{const h={addBookmarkIds:e,addCopilotDetails:o,collectionName:t,meta:l,organizationId:n,removeBookmarkIds:s,removeCopilotIds:c,updateCollectionId:d};try{return await(0,r.j)({federatedGraphqlUrl:i,query:a.Jx,variables:h,queryLabelForError:"updateCollection"})}catch(e){}return null},n=({federatedGraphqlUrl:e,organizationId:o,query:t=a.bw,includeBookmarks:i=!1,signal:l})=>(0,r.j)({federatedGraphqlUrl:e,query:t,variables:{organizationId:o,limit:200,offset:0,bookmarksLimit:200,sortOrder:"DESC",sortBy:"createdAt",bookmarksOffset:0,includeBookmarks:i},queryLabelForError:"allCollections",signal:l}),s=async({copilotIds:e,federatedGraphqlUrl:o,organizationId:t,updateCollectionId:r,documentType:a})=>{const i=a&&{documentType:a},n=e.map(e=>({copilotId:e,...i})),s=await l({addCopilotDetails:n,updateCollectionId:r,federatedGraphqlUrl:o,organizationId:t});return null===s?{success:!1,error:"Failed to add bookmark to collection"}:{success:!0,data:s}},c=async({federatedGraphqlUrl:e,organizationId:o,signal:t})=>{try{const{data:{allCollections:{allCollectionCount:r}}}=await n({query:a.d2,federatedGraphqlUrl:e,organizationId:o,signal:t});return r}catch(e){if(e.message.includes(i.MISSING_ACCESS_TOKEN))return 0;if("AbortError"===e.name)throw e}return 0},d=async({federatedGraphqlUrl:e,organizationId:o})=>{const{data:{allCollections:{collections:t}}}=await n({query:a.bw,federatedGraphqlUrl:e,organizationId:o});return t},h=async({copilotIds:e=[],collectionName:o,federatedGraphqlUrl:t,organizationId:l,documentType:n})=>{const s=n&&{documentType:n},c={copilotDetails:e.map(e=>({copilotId:e,...s})),collectionName:o,organizationId:l};try{const{data:{createCollection:e}}=await(({federatedGraphqlUrl:e,createCollectionVariables:o})=>(0,r.j)({federatedGraphqlUrl:e,query:a.oU,variables:o,queryLabelForError:"createCollection"}))({createCollectionVariables:c,federatedGraphqlUrl:t});return e}catch(e){return e.message.includes(i.RECORD_ALREADY_EXISTS)?{errorType:i.DUPLICATE_NAME}:{errorType:i.COLLECTION_NOT_MADE}}},m=async({fromCollectionId:e,toCollectionId:o,federatedGraphqlUrl:t,copilotId:l})=>{try{const i=await(async({fromCollectionId:e,toCollectionId:o,copilotIds:t,bookmarkIds:i,moveAll:l,federatedGraphqlUrl:n})=>{const s={fromCollectionId:e,toCollectionId:o,copilotIds:t,bookmarkIds:i,moveAll:l};return await(0,r.j)({federatedGraphqlUrl:n,query:a.IY,variables:s,queryLabelForError:"moveBookmarks"})})({fromCollectionId:e,toCollectionId:o,federatedGraphqlUrl:t,copilotIds:[l]});return{success:!0,data:i}}catch(e){return e.message.includes(i.MISSING_ACCESS_TOKEN)?{success:!1,error:"Authentication required to move bookmark"}:{success:!1,error:e.message||i.BOOKMARK_MOVE_FAILED}}}},70713(e,o,t){t.d(o,{B$:()=>n,Lu:()=>s,S9:()=>c,iT:()=>m,rI:()=>h});var r=t(30271);let a;const i=e=>e?.current?.querySelector("ul"),l=(e,o)=>{const t=e.getBoundingClientRect(),r=o.getBoundingClientRect();return t.left<r.left&&t.right>r.right},n=e=>{const o=i(e);if(!o)return 0;const t=o.querySelectorAll("li");let r;for(r=0;r<t.length&&!l(o,t[r]);r++);return r},s=e=>{const o=i(e);return o&&!(0,r.vY)(o)},c=e=>()=>{clearTimeout(a),a=setTimeout(()=>e(),100)},d=(e,o,t,r)=>{const a=i(o);let n=e;t<0&&(n+=r);const s=a?.querySelector(`li:nth-child(${n})`);
1if(l(a,s)){return d(e+t,o,t)}return e},h=(e,o,t)=>{let r=e-o;return r=d(r,t,-1,o),r+1<1?1:r+1},m=(e,o,t)=>{const r=i(t);if(!r)return e;let a=e+o;const l=r.querySelectorAll("li");return a=a>l.length?l.length:a,d(a,t,1)}},62389(e,o,t){t.d(o,{AD:()=>q,BK:()=>v,H6:()=>g,IJ:()=>f,TW:()=>p,aN:()=>k,dZ:()=>y,gs:()=>I,jK:()=>C,vV:()=>b,w6:()=>u});var r=t(38267),a=t(96472),i=t(62282),l=t(18608),n=t(26865),s=t(7228),c=t(18117),d=t(88456),h=t(50531),m=t(8070);const u=r.Ay.div.withConfig({displayName:"PhotoBookmarkWrapper"})` 2 ${h.ny} { 3 line-height: 0; 4 5 /* Desktop-only hover effect using media query to prevent iOS scroll triggering hover */ 6 @media (hover: hover) and (pointer: fine) { 7 transition: transform 0.3s ease; 8 9 &:hover { 10 transform: scale(1.25); 11 } 12 } 13 14 /* Use high specificity selector (svg.class path) to override inline SVG attributes 15 This prevents iOS scroll repaint flickering where inline attrs briefly show */ 16 svg.icon-bookmark-outline path { 17 ${({isInverted:e})=>e?(0,n._o)("stroke","colors.interactive.base.white"):(0,n._o)("stroke","colors.interactive.base.black")}; 18 fill: none; 19 } 20 21 svg.icon-bookmark-fill path { 22 ${({isInverted:e})=>e?(0,n._o)("stroke","colors.interactive.base.white"):(0,n._o)("stroke","colors.interactive.base.black")} 23 ${({isInverted:e})=>e?(0,n._o)("fill","colors.interactive.base.white"):(0,n._o)("fill","colors.interactive.base.black")} 24 } 25 } 26`,g=(0,r.Ay)(d.A.Utility).withConfig({displayName:"PhotoBookmarkButton"})` 27 cursor: pointer; 28 29 ${({$variant:e})=>"compact"===e&&r.AH` 30 padding: ${(0,n.Kq)(1)} ${(0,n.Kq)(1)} 31 ${(0,n.Kq)(.5)}; 32 height: auto; 33 34 .button-icon { 35 width: ${(0,n.Kq)(2)}; 36 height: ${(0,n.Kq)(2)}; 37 } 38 `} 39`,p=(0,r.Ay)(i.A).withConfig({displayName:"PhotoBookmarkMessageBannerWrapper"})` 40 position: fixed; 41 bottom: ${(0,n.Kq)(2.5)}; 42 left: 50%; 43 transform: translateX(-50%); 44 z-index: ${(0,n.fl)("hyperstitialLayer")}; 45 border: 1px solid; 46 padding: ${(0,n.Kq)(1)} ${(0,n.Kq)(2)} ${(0,n.Kq)(1)} 47 ${(0,n.Kq)(1)}; 48 ${({theme:e})=>(0,n.iq)(e)?(0,n._o)("border-color","colors.interactive.base.border"):(0,n._o)("border-color","colors.interactive.base.light")}; 49 ${({theme:e})=>(0,n.iq)(e)&&(0,n._o)("background","colors.interactive.base.black")}; 50 51 width: calc(100vw - ${(0,n.Kq)(4)}); 52 height: ${(0,n.Kq)(7)}; 53 54 @media (min-width: ${a.LO.md}) { 55 right: ${(0,n.Kq)(6)}; 56 bottom: ${(0,n.Kq)(6)}; 57 left: unset; 58 transform: unset; 59 width: ${(0,n.Kq)(45)}; 60 } 61 62 ${m.px} { 63 display: flex; 64 flex-direction: column; 65 justify-content: center; 66 height: 100%; 67 } 68 69 ${m.O$} { 70 align-self: center; 71 margin: 0 0 0 ${(0,n.Kq)(1)}; 72 73 ${h.a2} g { 74 ${(0,n._o)("stroke","colors.interactive.base.deemphasized")}; 75 } 76 } 77`,y=r.Ay.div.withConfig({displayName:"SaveBookmarkAlertContent"})` 78 display: flex; 79 align-items: center; 80 width: 100%; 81 height: 100%; 82 overflow: hidden; 83 84 ${c.B}, 85 ${s.Em}, ${s.BF} { 86 flex-shrink: 0; 87 margin-right: ${(0,n.Kq)(1)}; 88 height: 100%; 89 aspect-ratio: 2/3; 90 object-fit: cover; 91 } 92`,f=(0,r.Ay)(l.vm).withConfig({displayName:"SaveBookmarkAlertLabel"})` 93 flex: 2; 94 margin-right: ${(0,n.Kq)(.5)}; 95 margin-left: ${(0,n.Kq)(.5)}; 96 min-width: 0; 97 overflow: hidden; 98 text-overflow: ellipsis; 99 white-space: nowrap; 100 ${({theme:e})=>(0,n.iq)(e)&&(0,n._o)("color","colors.interactive.base.white")}; 101 102 ${(0,n.Gg)("typography.definitions.utility.assistive-text")}; 103`,k=(0,r.Ay)(l.sH).withConfig({displayName:"SaveBookmarkAlertLink"})` 104 /* This should be possible using baseLink's props colorStaticLinkToken, hasUnderline/linkStyle 105 but due to the way styles are added in MessageBannerContent they are being overridden */ 106 &&:link, 107 &&:visited, 108 &&&:hover, 109 &&&:focus { 110 text-decoration: none; 111 ${({theme:e})=>(0,n.iq)(e)&&(0,n._o)("color","colors.interactive.base.white")}; 112 } 113 114 ${(0,n.Gg)("typography.definitions.foundation.link-primary")}; 115`,b=r.Ay.div.withConfig({displayName:"PhotoMessageBannerContent"})` 116 display: flex; 117 align-items: center; 118`,v=r.Ay.div.withConfig({displayName:"PhotoMessageBannerIcon"})` 119 margin-right: ${(0,n.Kq)(1)}; 120 min-width: ${(0,n.Kq)(4)}; 121 122 path { 123 ${({theme:e})=>(0,n.iq)(e)?(0,n._o)("stroke","colors.interactive.base.white"):(0,n._o)("stroke","colors.interactive.base.black")}; 124 } 125`,C=(0,r.Ay)(l.vm).withConfig({displayName:"PhotoBookmarkMessageBannerMessage"})` 126 ${({theme:e})=>(0,n.iq)(e)?(0,n._o)("color","colors.interactive.base.white"):(0,n._o)("color","colors.interactive.base.black")}; 127 128 ${(0,n.Gg)("typography.definitions.utility.assistive-text")}; 129`,I=(0,r.Ay)(d.A.Utility).withConfig({displayName:"SaveBookmarkAlertButton"})` 130 &, 131 &:hover { 132 border: none; 133 background-color: transparent; 134 padding: 0; 135 min-width: unset; 136 ${({theme:e})=>(0,n.iq)(e)?(0,n._o)("color","colors.interactive.base.white"):(0,n._o)("color","colors.interactive.base.black")}; 137 ${(0,n.Gg)("typography.definitions.foundation.link-primary")}; 138 } 139`,q=r.Ay.div.withConfig({displayName:"DrawerMessageBannerWrapper"})` 140 && { 141 ${h.Lj} { 142 display: block; 143 } 144 ${h.eM} { 145 width: auto; 146 147 &:hover { 148 border-radius: inherit; 149 ${({$messageBannerTheme:e,theme:o})=>"inverted"===e?"\n background: transparent;\n background-color: transparent;\n ":(0,n._o)(o,"background","colors.interactive.base.black")}; 150 } 151 } 152 } 153`},5736(e,o,t){t.d(o,{j:()=>s});var r=t(3613),a=t(39295),i=t(20656),l=t(53788),n=t(1804);const s=async({allowPartialData:e=!1,federatedGraphqlUrl:o,query:t,variables:s,queryLabelForError:c,signal:d})=>{const h=i.d.getCookieValue(l.A.oidcCookies.id);if(!h)throw new Error(n.D1.MISSING_ACCESS_TOKEN);try{return await(0,r.n)(o,h,t,{...s},{},d)}catch(o){if(o instanceof Error&&"AbortError"===o.name)throw o;const t=o.response;if(e&&(m=t,200===m?.status&&null!=m.data&&Boolean(m.errors?.length)))return t;(0,a.E)(c)(o)}var m;return{}}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.