1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,924721,841830,321849,306512,471421,398607,570026,e=>{"use strict";var t=e.i(52644),r=e.i(635356),n=e.i(723742),i=e.i(294237),l=e.i(136263),a=e.i(887008),s=e.i(150721);let o=(0,i.cva)("flex w-full min-w-0 flex-col items-start",{variants:{variant:{blank:"",filled:"gap-2"}},defaultVariants:{variant:"blank"}});function c({items:e=[],eyebrow:i,variant:u,layout:d="scroll",size:m="md",radius:p,count:f,max:g,onAdd:h,addIcon:x="plus",leadSlot:v,instructions:y,onRemove:b,onSelect:j,onLabelClick:k,renderItem:w,required:N,chevrons:C=!1,header:R,chevronPlacement:L,className:A,itemClassName:z}){let E=(0,l.useId)(),S=!!i,M=e.length>0||N?"filled":"blank",I=u??M,_="filled"===I,U=f??e.length+ +!!N,T="inline"!==d&&null!=g&&g>0&&U>=.9*g,P=!_&&void 0!==y,O="inline"===d||_||P?0:5,D=v||(N?(0,t.jsx)(n.Attachment,{type:N.type,size:m,radius:p,src:N.src,alt:N.alt,className:z}):"play"!==x||_?null:(0,t.jsx)(n.Attachment,{type:"play",size:m,radius:p,onClick:h,className:z})),$=h?(0,t.jsx)(n.Attachment,{type:"input",size:m,radius:p,onClick:h,className:z}):null,B="inline"===d?"div":s.FadeScroller,F=T?(0,t.jsxs)("span",{className:(0,r.cn)("shrink-0 font-medium text-caption-12 text-primary-500 tabular-nums",!S&&"tracking-[0.02em]"),children:[U,"/",g]}):null;return(0,t.jsxs)("div",{...S?{role:"group","aria-labelledby":E}:{},className:(0,r.cn)(o({variant:I}),T&&"gap-2",S&&(_?"gap-4":"gap-2"),A),children:[S?(0,t.jsxs)("div",{className:"flex w-full min-w-0 items-center gap-2",children:[(0,t.jsx)("span",{id:E,className:(0,r.cn)((0,a.fieldEyebrowVariants)(),"min-w-0 break-words tracking-normal"),children:i}),T?(0,t.jsx)("span",{"aria-hidden":"true",className:"font-medium text-caption-12 text-primary-500",children:"â¢"}):null,F]}):F,(0,t.jsxs)(B,{className:(0,r.cn)("-my-1.5 flex w-full min-w-0 flex-nowrap items-center gap-2 py-1.5","inline"===d&&"justify-end"),..."scroll"===d?{chevrons:C,header:R,chevronPlacement:L}:{},children:[D,D&&!P?(0,t.jsx)("span",{className:"h-6 w-px shrink-0 bg-primary-300"}):null,"scroll"===d?$:null,P&&y?(0,t.jsxs)("span",{className:"flex min-w-0 flex-1 flex-col justify-center p-2 text-caption-12",children:[(0,t.jsx)("span",{className:"font-medium text-primary-800",children:y.label}),void 0===y.hint?null:(0,t.jsx)("span",{className:"font-normal text-primary-600",children:y.hint})]}):null,e.map(e=>{let r=(0,t.jsx)(n.Attachment,{type:e.type,size:m,radius:p,src:e.src,alt:e.alt,label:e.label,onLabelClick:k&&e.label?()=>k(e.id):void 0,pending:e.pending,indeterminate:e.indeterminate,progress:e.progress,error:e.error,removable:!!b,onRemove:()=>b?.(e.id),onClick:j&&!e.pending&&!e.error&&e.src?()=>j(e.id):void 0,className:z});return(0,t.jsx)(l.Fragment,{children:w?w(e,r):r},e.id)}),"inline"===d?$:null,Array.from({length:O},(e,r)=>(0,t.jsx)(n.Attachment,{type:"blank",size:m,radius:p,className:z},`blank-${r}`))]})]})}e.s(["AttachmentsGroup",0,c],841830);var u=e.i(26128),d=e.i(15960),m=e.i(753630),p=e.i(429604),f=e.i(106510),g=e.i(392739),h=e.i(111737),x=e.i(437102),v=e.i(530066),y=e.i(894796),b=e.i(378833),j=e.i(965803),k=e.i(997758),w=e.i(228126),N=e.i(373150),C=e.i(951131),R=e.i(384214),L=e.i(4091),A=e.i(161284),z=e.i(489983),E=e.i(636242),S=e.i(381498);let M=1280/720,I={video:{facingMode:"user",width:{ideal:1280},height:{ideal:720}}},_={chrome:"Open the tune icon in the address bar, then Site settings â Camera â Allow.",edge:"Open the lock icon in the address bar, then Site settings â Camera â Allow.",firefox:"Open the lock icon in the address bar, clear the camera permission, then reload.",safari:"Open Safari â Settings â Websites â Camera, then allow this site.",unknown:"Allow camera access for this site in your browser settings."},U="bg-invert-900 text-primary-900 hover-focus:bg-invert-800";function T({onCapture:e,onBrowse:n}){let{videoRef:i,state:a,fault:s,ratio:o,shot:c,capture:u,restart:d,file:m}=function(){let e=(0,l.useRef)(null),t=(0,l.useRef)(null),r=(0,l.useRef)(null),n=(0,l.useRef)(null),i=(0,l.useRef)(!1),a=(0,l.useRef)(0),[s,o]=(0,l.useState)(null),[c,u]=(0,l.useState)("starting"),[d,m]=(0,l.useState)(null),[p,f]=(0,l.useState)(M),[g,h]=(0,l.useState)(null),x=(0,l.useCallback)(()=>{for(let e of t.current?.getTracks()??[])e.stop();t.current=null,o(null)},[]),v=(0,l.useCallback)(e=>
1{n.current&&URL.revokeObjectURL(n.current),n.current=e,h(e)},[]),y=(0,l.useCallback)(()=>{let e=++a.current;x(),m(null),u("starting");let r=navigator.mediaDevices;if(!r?.getUserMedia){m({message:"This browser cannot open the camera. Pick from your library instead.",retryable:!1}),u("error");return}r.getUserMedia(I).then(r=>{if(e!==a.current){for(let e of r.getTracks())e.stop();return}t.current=r,o(r)},t=>{e===a.current&&(m(function(e){if(!(e instanceof DOMException))return{message:"The camera could not be reached. Pick from your library instead.",retryable:!1};switch(e.name){case"NotAllowedError":case"SecurityError":var t;return{message:`Camera access is blocked. ${_[(t=navigator.userAgent).includes("Firefox")?"firefox":t.includes("Edg/")?"edge":t.includes("Safari")&&!t.includes("Chrome")&&!t.includes("Chromium")?"safari":t.includes("Chrome")?"chrome":"unknown"]}`,retryable:!1};case"NotFoundError":case"DevicesNotFoundError":return{message:"No camera found. Connect one and try again.",retryable:!0};case"NotReadableError":return{message:"Another app is using the camera. Close it and try again.",retryable:!0};case"OverconstrainedError":return{message:"This camera cannot meet the requested settings. Pick from your library instead.",retryable:!1};default:return{message:"The camera failed to start. Try again.",retryable:!0}}}(t)),u("error"))})},[x]);(0,l.useEffect)(()=>(y(),()=>{a.current+=1,x(),n.current&&URL.revokeObjectURL(n.current),n.current=null}),[y,x]),(0,l.useEffect)(()=>{let t=e.current;if(s&&t)return t.srcObject=s,t.onloadedmetadata=()=>{t.play()?.catch(()=>{}),t.videoWidth&&t.videoHeight&&f(t.videoWidth/t.videoHeight),u("live")},()=>{t.onloadedmetadata=null,t.srcObject=null}},[s]),(0,l.useEffect)(()=>{let e=null,t=!1;return navigator.permissions?.query({name:"camera"}).then(r=>{t||(e=r,r.onchange=()=>{i.current||y()})}).catch(()=>{}),()=>{t=!0,e&&(e.onchange=null)}},[y]);let b=(0,l.useCallback)(()=>{let t=e.current;if(!t||0===t.videoWidth)return;let n=document.createElement("canvas");n.width=t.videoWidth,n.height=t.videoHeight;let l=n.getContext("2d");l&&(l.translate(n.width,0),l.scale(-1,1),l.drawImage(t,0,0),n.toBlob(e=>{e&&(r.current=e,i.current=!0,v(URL.createObjectURL(e)),u("captured"),x())},"image/jpeg",.92))},[v,x]);return{videoRef:e,state:c,fault:d,ratio:p,shot:g,capture:b,restart:(0,l.useCallback)(()=>{r.current=null,i.current=!1,v(null),y()},[v,y]),file:(0,l.useCallback)(()=>{let e=r.current;return e?new File([e],"camera.jpg",{type:"image/jpeg"}):null},[])}}(),p=(0,l.useRef)(null),[f,h]=(0,l.useState)(!0);return(0,l.useEffect)(()=>{let e=p.current;if(!e||"u"<typeof ResizeObserver)return;let t=()=>{let{width:t,height:r}=e.getBoundingClientRect();r>0&&h(t/r>=o)};t();let r=new ResizeObserver(t);return r.observe(e),()=>r.disconnect()},[o]),(0,t.jsx)("div",{ref:p,className:"mt-[30px] flex min-h-0 flex-1 items-center justify-center pb-2",children:(0,t.jsx)("div",{style:{aspectRatio:o},className:(0,r.cn)("relative max-h-full max-w-full overflow-hidden rounded-sm bg-primary-900",f?"h-full":"w-full"),children:s?(0,t.jsx)("div",{className:"grid size-full place-items-center px-6",children:(0,t.jsxs)("div",{className:"flex max-w-80 flex-col items-center gap-4 text-center",children:[(0,t.jsx)("span",{className:"grid size-12 place-items-center rounded-full bg-invert-900/10 text-invert-600",children:(0,t.jsx)(g.Icon,{name:"video-line",className:"size-5"})}),(0,t.jsx)("p",{role:"alert",className:"text-copy-14 text-invert-600",children:s.message}),s.retryable?(0,t.jsx)(b.Button,{size:"sm",theme:"light",variant:"primary",onClick:d,children:"Try again"}):(0,t.jsx)(b.Button,{size:"sm",theme:"light",variant:"primary",onClick:n,children:"Go to Library"})]})}):(0,t.jsxs)(t.Fragment,{children:[c?(0,t.jsx)("img",{src:c,alt:"Your capture",className:"size-full object-cover"}):(0,t.jsx)("video",{ref:i,muted:!0,playsInline:!0,className:"size-full scale-x-[-1] object-cover"}),"starting"===a?(0,t.jsx)("p",{className:"absolute inset-0 grid place-items-center text-copy-14 text-invert-600",children:"Starting cameraâ¦"}):null,(0,t.jsx)("div",{className:"absolute inset-x-0 bottom-5 flex justify-center gap-2",children:c?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(b.Button,{size:"md",variant:"secondary",className:"bg-invert-900/15 text-invert-900 backdrop-blur-md hover-focus:bg-invert-900/25",onClick:d,children:"Retake"}),(0,t.jsx)(b.Button,{size:"md",variant:"secondary",className:U,onClick:function(){let t=m();t&&e(t)},children:"Use Photo"})]}):(0,t.jsx)(b.Button,{size:"md",variant:"secondary",className:U,onClick:u,disabled:"live"!==a,children:"Take Photo"})})]})})})}var P=e.i(305504),O=e.i(739640),D=e.i(688992),$=e.i(145889),B=e.i(39279);let F="pointer-events-none absolute bottom-0 left-0 flex h-[49px] w-fit min-w-16 items-end gap-1 pr-6 pb-4 pl-4 font-medium text-caption-12 text-invert-600 [background:radial-gradient(100%_100%_at_0%_100%,rgb(0_0_0/0.5),transparent)] [text-shadow:0_1px_4px_rgb(0_0_0/0.25)]";function W({url:e}){let{ref:r,inView:n}=(0,D.useInView)(),{durationMs:i}=(0,$.useMediaProbe)(n?e:null,"video");return(0,t.jsx)("span",{ref:r,"data-duration-badge":"",className:F,children:null===i?(0,t.jsx)(g.Icon,{name:"video-fill",className:"size-3 shrink-0"}):(0,t.jsx)("span",{className:"tabular-nums",children:(0,B.formatDuration)(i)})})}var q=e.i(282447),K=e.i(878624);let H=["product","scene","brand"],V={product:["product"],scene:["scene"],brand:["brand_asset","style"]},Y={library:"Assets",character:"Characters",product:"Products",scene:"Scenes",brand:"Brand Styles",camera:"Camera"},G={product:"Create Product",scene:"Create Scene",brand:"Create Brand Style"},X={5:"w-140 2xl:w-165",6:"w-168 2xl:w-198"};function J(e){return"library"!==e&&"character"!==e}function Z({tabs:e,value:r,onValueChange:n,isWide:i}){let a=(0,l.useRef)(null),o=e.indexOf(r);return(0,l.useEffect)(()=>{let e=a.current;if(!e)return;let t=()=>{let t=e.querySelectorAll("[role=tab]")[o];if(!t)return;let r=t.offsetLeft,n=r+t.offsetWidth;r<e.scrollLeft?e.scrollLeft=r:n>e.scrollLeft+e.clientWidth&&(e.scrollLeft=n-e.clientWidth)};t();let r=new ResizeObserver(t);return r.observe(e),e.firstElementChild&&r.observe(e.firstElementChild),()=>r.disconnect()}
1,[o]),(0,t.jsx)(s.FadeScroller,{ref:a,chevrons:!1,className:"min-w-0 flex-1 lg:w-auto lg:flex-none",children:(0,t.jsx)(w.TabBar,{items:e.map(e=>({value:e,label:Y[e]})),value:r,onValueChange:n,ariaLabel:"File source",size:i?"lg":"md",className:X[e.length]??"w-24 2xl:w-33"})})}let Q={library:"No assets yet",character:"No characters yet",product:"No products yet",scene:"No scenes yet",brand:"No brand styles yet"},ee={library:"library-line",character:"person",product:"4-square",scene:"4-square",brand:"4-square"},et=["image"],er={image:"Upload Image",video:"Upload Video",audio:"Upload Audio"},en={image:"No images yet",video:"No videos yet",audio:"No audio yet"},ei={image:"photo-line",video:"video-line",audio:"music"},el={image:{one:"an image",many:"images"},video:{one:"a video",many:"videos"},audio:{one:"an audio file",many:"audio files"}},ea={one:"a file",many:"files"},es={image:"PNG, JPG, or WEBP",video:"MP4, MOV, or WEBM",audio:"MP3, WAV, or M4A"};function eo(e){return 1===e.length?el[e[0]]:ea}function ec({active:e,headline:n,hint:i}){return(0,t.jsx)("div",{"aria-hidden":!e,className:(0,r.cn)("pointer-events-none absolute inset-x-0 top-[30px] bottom-0 z-10 bg-invert-900 opacity-0 transition-opacity duration-200 ease-out-strong motion-reduce:transition-none",e&&"opacity-100"),children:(0,t.jsx)("div",{className:"grid size-full place-items-center rounded-sm border-2 border-accent-600 bg-accent-300",children:(0,t.jsxs)("div",{className:(0,r.cn)("flex scale-95 flex-col items-center gap-4 text-center transition-transform duration-200 ease-out-strong motion-reduce:transition-none",e&&"scale-100"),children:[(0,t.jsx)("span",{className:"grid place-items-center rounded-full bg-accent-500 p-6",children:(0,t.jsx)(g.Icon,{name:"square-2-line",className:"size-8 text-accent-900"})}),(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)("p",{className:"font-display font-medium text-accent-900 text-sub-xxs",children:n}),(0,t.jsx)("p",{className:"font-normal text-copy-16 text-primary-600",children:i})]})]})})})}function eu(e){return e.dataTransfer?.types?.includes("Files")??!1}function ed(e){return Array.from(e.dataTransfer?.files??[])}function em({onUpload:e}){return(0,t.jsx)("li",{children:(0,t.jsxs)("button",{type:"button",onClick:e,className:"flex aspect-square w-full cursor-pointer flex-col items-center justify-center gap-2 rounded-sm bg-primary-100 transition-colors hover:bg-primary-200 focus-visible:outline-2 focus-visible:outline-primary-500 focus-visible:outline-offset-2 2xl:gap-3",children:[(0,t.jsx)("span",{className:"grid size-10 place-items-center rounded-full bg-invert-900 2xl:size-12",children:(0,t.jsx)(g.Icon,{name:"arrow-up-square-line",className:"size-4 text-primary-600"})}),(0,t.jsx)("span",{className:"font-medium text-copy-14 text-primary-600",children:"Upload"})]})})}let ep="h-full w-full flex-col gap-2 rounded-sm bg-primary-100 p-3 text-primary-600 hover:bg-primary-200 2xl:gap-3 2xl:p-4";function ef(){let e=(0,L.useEffectiveApp)(v.meta);return(0,t.jsxs)(x.TransitionLink,{href:`/apps/${e.id}`,className:(0,r.cn)((0,b.buttonVariants)({variant:"quaternary",size:"sm"}),ep,"whitespace-normal"),children:[(0,t.jsx)("span",{className:"grid size-10 shrink-0 place-items-center overflow-hidden rounded-xs bg-invert-900 sm:size-14 2xl:size-16",children:(0,t.jsx)(N.AppIcon,{icon:e.icon,className:"size-6 sm:size-8 2xl:size-9"})}),(0,t.jsxs)("span",{className:"flex w-full min-w-0 flex-col gap-1 text-center",children:[(0,t.jsx)("span",{className:"wrap-break-word line-clamp-2 font-medium text-copy-14 text-primary-700",children:e.name}),(0,t.jsx)("span",{className:"wrap-break-word line-clamp-2 font-normal text-caption-12 text-primary-600",children:e.tagline})]})]})}function eg({label:e,onAddElement:r}){return(0,t.jsx)("li",{className:"grid min-w-0 only:aspect-[17/14]",children:r?(0,t.jsx)(b.Button,{variant:"quaternary",size:"sm",className:ep,onClick:r,leftSlot:(0,t.jsx)("span",{className:"grid size-10 place-items-center rounded-full bg-invert-900 2xl:size-12",children:(0,t.jsx)(g.Icon,{name:"plus",className:"size-5"})}),children:e}):(0,t.jsx)(ef,{})})}let eh="opacity-0 transition-opacity duration-150 ease-out-strong group-hover:opacity-100 group-focus-visible:opacity-100 motion-reduce:transition-none",ex=`pointer-events-none absolute inset-x-0 top-0 h-12 bg-linear-to-b from-black/45 to-transparent ${eh}`,ev=`min-w-0 flex-1 text-left pl-2 truncate font-medium text-caption-12 text-invert-600 [text-shadow:0_1px_4px_rgb(0_0_0/0.25)] ${eh}`;function ey({icon:e,title:r,onUpload:n}){return(0,t.jsxs)("div",{className:"flex size-full flex-col items-center justify-center gap-4 roun
1ded-sm border border-primary-100 text-center",children:[(0,t.jsx)("span",{className:"inline-flex items-center justify-center rounded-full bg-primary-100 p-6 text-primary-500",children:(0,t.jsx)(g.Icon,{name:e,className:"size-8"})}),(0,t.jsx)("p",{className:"font-display font-medium text-primary-900 text-sub-xxs",children:r}),n?(0,t.jsx)(b.Button,{variant:"secondary",size:"sm",onClick:n,children:"Upload"}):null]})}function eb({count:e,entity:n=!1}){return Array.from({length:e},(e,i)=>(0,t.jsx)("li",{"aria-hidden":!0,"data-tile-placeholder":"",className:(0,r.cn)("block w-full overflow-hidden rounded-sm bg-dot",n?"aspect-[6/5]":"aspect-square"),children:(0,t.jsx)(k.Skeleton,{className:"size-full"})},i))}function ej({item:e,picked:n,order:i,multi:l,full:a,nudging:s,onToggle:o,onNudgeEnd:c}){let u,{hovering:d,hoverProps:m}=(0,C.useHover)(),p="asset"!==e.kind;return(0,t.jsx)("li",{className:p?"grid min-w-0":void 0,children:(0,t.jsxs)("button",{type:"button","data-picker-tile":"",disabled:!n&&a,"aria-pressed":n,"aria-label":e.name,className:(0,r.cn)("relative block w-full cursor-pointer overflow-hidden rounded-sm bg-invert-900 inset-ring inset-ring-primary-200 transition-[box-shadow,scale] duration-150 ease-out-strong focus-visible:outline-2 focus-visible:outline-primary-500 focus-visible:outline-offset-2 enabled:active:scale-[0.97] disabled:opacity-50 motion-reduce:transition-none","group",!p&&"aspect-square",p&&"inset-ring-0 flex h-full flex-col border border-primary-200 text-left",n&&"inset-ring-[3px] inset-ring-primary-700",s&&"animate-tile-nudge motion-reduce:animate-none"),onClick:o,onAnimationEnd:s?c:void 0,...m,children:[(0,t.jsx)("span",{className:(0,r.cn)("relative block size-full",p&&"aspect-[3/2] h-auto shrink-0"),children:(0,t.jsxs)("span",{className:(0,r.cn)("absolute block overflow-hidden bg-dot transition-[inset,border-radius] duration-150 ease-out-strong motion-reduce:transition-none",n?"inset-1.5 rounded-[6px]":p?"inset-0 rounded-none":"inset-0 rounded-sm"),children:[(0,t.jsx)(z.MediaThumb,{url:e.url,thumbnailUrl:e.thumbnail_url,mediaType:e.media_type,audioFallback:(0,t.jsx)("img",{src:A.AUDIO_TILE_ART,alt:"",className:"size-full object-cover"})}),"video"===e.media_type&&e.url?(0,t.jsx)(C.HoverPlayVideo,{src:e.url,playing:d}):null,p?null:(0,t.jsx)("span",{"aria-hidden":!0,className:ex})]})}),"video"===e.media_type?(0,t.jsx)(W,{url:e.url}):null,"audio"===e.media_type?(0,t.jsx)("span",{className:F,children:(0,t.jsx)(g.Icon,{name:"musical-note",className:"size-6"})}):null,(0,t.jsxs)("span",{className:"pointer-events-none absolute inset-x-4 top-4 flex items-center gap-2",children:[p?(0,t.jsx)("span",{className:"flex-1"}):(0,t.jsx)("span",{"aria-hidden":!0,className:ev,children:e.name}),(0,t.jsx)(y.Badge,{"aria-hidden":!0,size:"md",className:(0,r.cn)("shrink-0 scale-[0.4] border-invert-100 bg-primary-700 text-invert-800 opacity-0 transition-[opacity,scale] duration-150 ease-out-strong group-aria-pressed:scale-100 group-aria-pressed:opacity-100 motion-reduce:transition-none",!l&&"px-0"),children:l?i:(0,t.jsx)(g.Icon,{name:"checkmark",className:"size-3"})})]}),p?(0,t.jsxs)("span",{className:"flex flex-col p-2 2xl:p-3",children:[(0,t.jsx)("span",{className:(0,r.cn)("font-medium text-copy-14 text-primary-700","character"===e.kind?"wrap-break-word line-clamp-2":"truncate"),children:e.name}),"subject"===e.kind?(0,t.jsx)("span",{className:"truncate font-normal text-caption-12 text-primary-600",children:(u=(0,P.subjectEntity)(e))?[P.SUBJECT_TYPE_LABEL[u.type],u.brand].filter(Boolean).join(" · "):"Element"}):null]}):null]})})}function ek({open:e,onOpenChange:n,selected:i,max:a,onChange:s,onUpload:o,onFiles:c,initialTab:u="library",kinds:d=et,maxByKind:m}){let p=(0,R.useBreakpoint)("2xl"),[f,g]=(0,l.useState)(u),[h,x]=(0,l.useState)(!1),[v,k]=(0,l.useState)(i),[w,N]=(0,l.useState)(null),[C,L]=(0,l.useState)(null),[A,z]=(0,l.useState)(!1),M=(0,l.useRef)(0);function I(){M.current=0,z(!1)}function _(e){eu(e)&&(e.preventDefault(),e.stopPropagation())}function U(e){if(0===a)return void L("This slot is full");let t=e.filter(e=>{let t=(0,S.isImageFile)(e)?"image":e.type.startsWith("video/")?"video":e.type.startsWith("audio/")?"audio":null;return null!==t&&d.includes(t)});0===t.length?L(`Only ${eo(d).many} can go here`):c&&(c(t),n(!1))}(0,l.useEffect)(()=>
1{if(!C)return;let e=setTimeout(()=>L(null),5e3);return()=>clearTimeout(e)},[C]);let[D,$]=(0,l.useState)(e);e!==D&&($(e),e&&(k(i),g(u),x(!1),N(null),L(null),z(!1),M.current=0));let B="camera"===f&&!!c,F="camera"===f?"library":f,W=1===d.length?d[0]:null,Y=function(e){if(!J(e))return null;let t=V[e];return 1===t.length?t[0]:null}(F),{items:X,isLoading:el,hasMore:ea,isLoadingMore:ep,loadMore:ef,error:eh,refresh:ex}=(0,K.useLibrary)("library"===F?"asset":"character"===F?"character":"subject","library"===F?W??"all":"all",Y,e&&!B),ev=new Map;for(let[e,t]of v.entries())ev.set(t.library_item_id,e+1),t.url&&ev.set(t.url,e+1);let ew=e=>ev.get(e.library_item_id)??(e.url?ev.get(e.url):void 0),eN=a>1,eC=["library",...d.includes("image")?["character",...H]:[],...c&&d.includes("image")?["camera"]:[]],eR=X.filter(e=>"ready"===(0,O.itemStatus)(e)&&null!==e.media_type&&d.includes(e.media_type)&&null!==e.url&&function(e,t){if(!J(t))return!0;let r=(0,P.subjectEntity)(e);return null!==r&&V[t].includes(r.type)}(e,F)),eL=e&&!B&&!eh&&0===eR.length&&ea;(0,l.useEffect)(()=>{!eL||el||ep||ef()},[eL,el,ep,ef]);let eA=!el&&!ep&&!ea&&!eh&&0===eR.length,ez="library"!==F,eE=(0,r.cn)("grid gap-2",ez?"grid-cols-2 sm:grid-cols-3 lg:grid-cols-4":"grid-cols-3 sm:grid-cols-4 lg:grid-cols-5 2xl:grid-cols-6"),eS=!B&&(!eA||v.length>0||i.length>0||ez),eM="library"===F&&W?en[W]:Q[F],eI="library"===F&&W?ei[W]:ee[F],e_=e=>m?.[e]??a,eU=eo(d),eT=0===a?"This slot is full":a>1?`Drop up to ${a} ${eU.many}`:`Drop ${eU.one}`,eP=0===a?"Remove a file to make room":"library"!==F?"Dropped files are saved to your Library":W?es[W]:"Images, video, or audio",eO=v.length>0||i.length>0;function eD(){s(v),n(!1)}return(0,t.jsx)("div",{className:"contents",onDragEnter:function(t){e&&eu(t)&&(M.current+=1,1===M.current&&z(!0))},onDragLeave:function(t){e&&eu(t)&&(M.current=Math.max(0,M.current-1),0===M.current&&z(!1))},onDragOver:_,onDrop:function(e){(eu(e)||0!==ed(e).length)&&(e.preventDefault(),e.stopPropagation(),I())},children:(0,t.jsx)(j.Dialog,{open:e,onOpenChange:n,children:(0,t.jsxs)(j.Dialog.Content,{theme:"light",className:"max-w-[960px] rounded-sm pt-6 pb-4 2xl:max-w-[1180px] 2xl:pt-8 2xl:pb-6","aria-label":W?er[W]:"Upload Media",children:[(0,t.jsxs)("div",{className:"-mx-2 flex h-[min(72vh,560px)] flex-col max-md:h-[min(560px,calc(80dvh-4rem),calc(100dvh-12rem))] 2xl:mx-0 2xl:h-[min(72vh,664px)]",onKeyDown:function(e){if(B||!eS||"Enter"!==e.key||e.defaultPrevented)return;let t=e.target;(!t.closest("button, a, input, [role=radio]")||t.closest("[data-picker-tile]"))&&(e.preventDefault(),eO&&eD())},onPaste:function(e){let t=Array.from(e.clipboardData?.files??[]);0!==t.length&&(e.preventDefault(),e.stopPropagation(),U(t))},onDragOver:_,onDrop:function(e){let t=ed(e);(eu(e)||0!==t.length)&&(e.preventDefault(),e.stopPropagation(),I(),0!==t.length&&U(t))},children:[(0,t.jsx)("div",{className:"flex shrink-0 flex-wrap items-center justify-between gap-x-3 gap-y-2 2xl:gap-x-4 2xl:gap-y-3",children:(0,t.jsx)(Z,{tabs:eC,value:f,onValueChange:g,isWide:p})}),(0,t.jsxs)("div",{className:"relative flex min-h-0 flex-1 flex-col",children:[B&&c?(0,t.jsx)(T,{onBrowse:()=>g("library"),onCapture:e=>{c([e]),n(!1)}}):(0,t.jsxs)("div",{className:"mt-4 -mr-2 -ml-1.5 min-h-0 flex-1 overflow-y-auto py-1.5 pr-2 pl-1.5 2xl:mt-6",children:[eA&&!ez?(0,t.jsx)(ey,{icon:eI,title:eM,onUpload:"library"===F?o:void 0}):(0,t.jsxs)("ul",{className:eE,children:[o&&"library"===F?(0,t.jsx)(em,{onUpload:o}):null,"character"===F?(0,t.jsx)(eg,{}):null,J(F)?(0,t.jsx)(eg,{label:G[F],onAddElement:()=>x(!0)}):null,eR.map(e=>(0,t.jsx)(ej,{item:e,picked:void 0!==ew(e),order:ew(e),multi:eN,full:null===e.media_type||0===e_(e.media_type),nudging:w===e.library_item_id,onToggle:()=>(function(e){if(void 0!==ew(e))return void k(v.filter(t=>t.library_item_id!==e.library_item_id&&(null===t.url||t.url!==e.url)));if(null===e.media_type)return;let t=e_(e.media_type);if(0===t)return;let r=t=>!m||t.media_type===e.media_type;if(t<=1)return void k([...v.filter(e=>!r(e)),e]);if(v.filter(r).length>=t){N(null),requestAnimationFrame(()=>N(e.library_item_id));return}k([...v,e])})(e),onNudgeEnd:()=>N(null)},e.library_item_id)),el||eL?(0,t.jsx)(eb,{count:ez?4:el?18:6,entity:ez}):null]}),eA&&ez?(0,t.jsx)("p",{className:"mt-6 text-center text-copy-14 text-primary-500",children:eM}):null,e&&!el&&!eL&&(ea||eh)?(0,t.jsx)(E.PagedFooter,{autoLoad:!0,error:eh?Error(eh):void 0,errorText:eh??"Could not load more files.",isLoadingMore:ep,hasMore:ea,loadMore:ef,refresh:ex,loadingSlot:(0,t.jsx)("ul",{className:(0,r.cn)(eE,"pt-2"),children:(0,t.jsx)(eb,{count:ez?4:6,entity:ez})})},`${F}:${X.length}:${!!eh}`):null]}),c?(0,t.jsx)(ec,{active:A,headline:eT,hint:eP}):null]}),C?(0,t.jsx)("p",{role:"alert",className:"mt-2 shrink-0 text-copy-14 text-destructive",children:C}):null,eS?(0,t.jsxs)("div",{className:"-mx-4 mt-3 flex shrink-0 items-center justify-end gap-2 border-primary-200 border-t px-4 pt-3 md:-mx-6 md:px-6 2xl:-mx-8 2xl:mt-4 2xl:gap-2.5 2xl:px-8 2xl:pt-4",children:[(0,t.jsx)(j.Dialog.Close,{render:(0,t.jsx)(b.Button,{size:p?"md":"sm",variant:"quaternary",children:"Cancel"})}),(0,t.jsx)(b.Button,{size:p?"md":"sm",variant:"primary",disabled:!eO,onClick:eD,rightSlot:eN&&v.length>0?(0,t.jsx)(y.Badge,{"aria-hidden":!0,size:"md",className:"border-primary-100 bg-invert-900 text-primary-900",children:v.length}):void 0,children:"Use Selection"})]}):null]}),(0,t.jsx)(q.SubjectDialog,{open:e&&h,onOpenChange:x,initialType:J(F)?V[F][0]:"product",onSaved:()=>{ex()}})]})})})}e.s(["LibraryPickerDialog",0,ek],321849);var ew=e.i(745098),eN=e.i(601746),eC=e.i(833722);let eR={image:"Image",video:"Video",audio:"Audio"};function eL(e,t){return`${eR[e]}${t}`}function eA(e,t,r){let n=eR[t],i=RegExp(`@${n}(\\d+)`,"gi");return e.replace(i,(e,t)=>{let i=Number(t);return i===r?"":i>r?`@${n}${i-1}`:e})}function ez(e,t,r,n){let i=eR[t],l=new Map;if(r.forEach((e,t)=>{let r=n.indexOf(e);r>=0&&r!==t&&l.set(t+1,r+1)}),0===l.size)return e;let a=RegExp(`@${i}(\\d+)`,"gi");return e.replace(a,(e,t)=>{let r=l.get(Number(t));return void 0===r?e:`@${i}${r}`})}let eE=/@(Image|Video|Audio)\s?(\d+)/gi;function eS(e,t,r){let n=e.slice(),[i]=n.splice(t,1);return n.splice(r,0,i),n}function eM(e,r){let[n,i]=(0,l.useState)(""),[a,s]=(0,l.useState)(null),o=(0,l.useRef)({keys:e,reorder:r});o.current={keys:e,reorder:r};let c=(0,l.useRef)(()=>{}),u=(0,l.useRef)(null);(0,l.useEffect)(()=>()=>c.current(),[]);let d=(0,l.useCallback)((e,t,r)=>{let{keys:n,reorder:l}=o.current,a=n.indexOf(e),s=a+t;a<0||s<0||s>=n.length||(l(eS(n,a,s)),i(`${r} moved to position ${s+1} of ${n.length}`))},[]),m=(0,l.useCallback)((e,t,r=0)=>{if(0!==e.button&&1!==e.buttons&&"mouse"===e.pointerType)return;c.current(),u.current=null;let n=0===r;n&&s(t);let i={x:e.clientX,y:e.clientY};if(r>0){e.preventDefault();
1let t=e.target.closest('[data-slot="attachment-trigger"]');t?.setPointerCapture(e.pointerId)}let l=e.pointerId,a=Array.from((e.currentTarget.closest("[data-reorder-key]")?.parentElement??document).querySelectorAll("[data-reorder-key]")),d=r>0?o.current.keys.map(e=>a.find(t=>t.dataset.reorderKey===e)?.getBoundingClientRect()):null,m=document.body.style.userSelect;document.body.style.userSelect="none";let p=e=>{if(e.pointerId!==l)return;if((1&e.buttons)!=1)return void f();if(!n){if(Math.hypot(e.clientX-i.x,e.clientY-i.y)<r)return;n=!0,u.current=t,s(t)}let c=document.elementFromPoint(e.clientX,e.clientY)?.closest("[data-reorder-key]"),m=c?.dataset.reorderKey,{keys:p,reorder:g}=o.current;if(!d&&(!m||m===t))return;let h=p.indexOf(t),x=d?d.findIndex(t=>t&&e.clientX>=t.left&&e.clientX<=t.right&&e.clientY>=t.top&&e.clientY<=t.bottom):p.indexOf(m??"");if(h<0||x<0||h===x)return;let v=a.find(e=>e.dataset.reorderKey===t),y=d?.[h]??v?.getBoundingClientRect(),b=d?.[x]??c?.getBoundingClientRect();if(y&&b){let t=b.x+b.width/2-(y.x+y.width/2),r=b.y+b.height/2-(y.y+y.height/2);if(Math.abs(t)>=Math.abs(r)){if(t>0&&e.clientX<b.x+b.width/2||t<0&&e.clientX>b.x+b.width/2)return}else if(r>0&&e.clientY<b.y+b.height/2||r<0&&e.clientY>b.y+b.height/2)return}g(eS(p,h,x))},f=e=>{e&&"pointerId"in e&&e.pointerId!==l||c.current()};c.current=(e=!1)=>{e&&n||(document.body.style.userSelect=m,window.removeEventListener("pointermove",p),window.removeEventListener("pointerup",f),window.removeEventListener("pointercancel",f),window.removeEventListener("blur",f),c.current=()=>{},s(null))},window.addEventListener("pointermove",p),window.addEventListener("pointerup",f),window.addEventListener("pointercancel",f),window.addEventListener("blur",f)},[]);return{order:e.length>1?{keys:e,dragging:a,reorder:r,move:d,start:m,tileProps:e=>({onPointerDownCapture:t=>{0===t.button&&t.target.closest('[data-slot="attachment-trigger"]')&&m(t,e,6)},onLostPointerCapture:()=>c.current(!0),onDragStartCapture:e=>e.preventDefault(),onClickCapture:t=>{u.current===e&&(u.current=null,t.preventDefault(),t.stopPropagation())}})}:null,live:(0,t.jsx)("span",{"aria-live":"polite","aria-atomic":"true",className:"sr-only",children:n})}}function eI(e,t){return e?{"data-reorder-key":t,className:e.dragging===t?"z-20 opacity-60":void 0}:{}}function e_({order:e,tileKey:n,name:i,className:l}){if(!e)return null;let a=e.keys.indexOf(n);return a<0?null:(0,t.jsx)("button",{type:"button","aria-label":`Reorder ${i}, ${a+1} of ${e.keys.length}`,"aria-keyshortcuts":"ArrowLeft ArrowRight",onPointerDown:t=>e.start(t,n),onClick:e=>e.stopPropagation(),onKeyDown:t=>{let r="ArrowLeft"===t.key?-1:+("ArrowRight"===t.key);0!==r&&(t.preventDefault(),e.move(n,r,i))},className:(0,r.cn)("absolute z-10 flex cursor-grab touch-none items-center justify-center rounded-full bg-primary-700 p-1 text-white opacity-0 pointer-coarse:opacity-100 transition-opacity focus-visible:opacity-100 focus-visible:outline-2 focus-visible:outline-black/20 focus-visible:outline-offset-2 active:cursor-grabbing group-hover:opacity-100",l),children:(0,t.jsxs)("svg",{viewBox:"0 0 12 12",className:"size-3 fill-current","aria-hidden":!0,children:[(0,t.jsx)("circle",{cx:4,cy:2.5,r:1}),(0,t.jsx)("circle",{cx:8,cy:2.5,r:1}),(0,t.jsx)("circle",{cx:4,cy:6,r:1}),(0,t.jsx)("circle",{cx:8,cy:6,r:1}),(0,t.jsx)("circle",{cx:4,cy:9.5,r:1}),(0,t.jsx)("circle",{cx:8,cy:9.5,r:1})]})})}function eU(e){return t=>{let{images:r,videos:n,audio:i}=e,l={image:[],video:[],audio:[]},a=!1;for(let e of Array.from(t)){let t=(0,S.isImageFile)(e)?"image":e.type.startsWith("video/")?"video":e.type.startsWith("audio/")?"audio":null,s="image"===t?r:"video"===t?n:"audio"===t?i:void 0;if(null===t||!s){a=!0;continue}l[t].push(e)}let s=[],o=(e,t,r)=>{if(0===t.length||!e)return;let n=Math.max(0,e.max-e.count);0===n?s.push(r):(t.length>n&&s.push(r),e.setFiles([...e.files,...t.slice(0,n)]))};return o(r,l.image,"image"),o(n,l.video,"video"),o(i,l.audio,"audio"),{unsupported:a,full:s}}}e.s(["missingMention",0,function(e,t){let r=new Set(t.map(e=>e.token.toLowerCase()));for(let[,t,n]of e.matchAll(eE)){let e=`${t}${n}`.toLowerCase();if(!r.has(e)){let e=t.charAt(0).toUpperCase()+t.slice(1).toLowerCase();return`Attach ${e} ${n} to generate`}}return null},"referenceHandle",0,eL,"referenceHandles",0,function({images:e,videos:t,audio:r}){let n=[];for(let[i,l]of[[e,"image"],[t,"video"],[r,"audio"]])i.entries.forEac
1h((e,t)=>{n.push({token:eL(l,t+1),name:"file"===e.kind?e.file.name:e.item.name,kind:l})});return n},"renumberMentionsAfterRemoval",0,eA,"renumberMentionsForKeys",0,function(e,t,r,n){let i=new Set(n),l=e;for(let e=r.length-1;e>=0;e-=1)i.has(r[e])||(l=eA(l,t,e+1));return ez(l,t,r.filter(e=>i.has(e)),n)},"renumberMentionsForOrder",0,ez],306512),e.s(["ReorderHandle",0,e_,"reorderTileProps",0,eI,"useTileReorder",0,eM],471421),e.s(["admitFiles",0,eU],398607);var eT=e.i(843388),eP=e.i(98856);function eO(e,{at:t=0,maxEdge:r,snap:n,type:i="image/png",quality:l,timeoutMs:a=1e4}={}){return new Promise(s=>{let o;if("u"<typeof document||"number"==typeof t&&(!Number.isFinite(t)||t<0))return void s(null);let c="string"==typeof e?null:URL.createObjectURL(e),u="string"==typeof e?e:null,d=document.createElement("video");d.preload="auto",d.muted=!0,d.playsInline=!0,null!==u&&(d.crossOrigin="anonymous");let m=!1,p=!1,f=!1,g=e=>{m||(m=!0,clearTimeout(o),d.removeEventListener("loadeddata",x),d.removeEventListener("seeked",v),d.removeEventListener("error",y),d.removeAttribute("src"),d.load(),null!==c&&URL.revokeObjectURL(c),s(e))},h=()=>{var e,t;let a,s;if(m)return;if(!(d.videoWidth>0&&d.videoHeight>0))return void g(null);let o=(e=d.videoWidth,t=d.videoHeight,a=void 0===r?1:Math.min(1,r/Math.max(e,t)),{width:(s=e=>void 0===n?Math.max(1,Math.round(e*a)):Math.max(n,Math.floor(e*a/n)*n))(e),height:s(t)}),c=document.createElement("canvas");c.width=o.width,c.height=o.height;let u=c.getContext("2d");if(!u)return void g(null);try{u.drawImage(d,0,0,o.width,o.height),c.toBlob(e=>g(e?{blob:e,...o}:null),i,l)}catch{g(null)}},x=()=>{let e=1e3*d.duration,r=Number.isFinite(e)&&e>0,n="number"==typeof t?t:r?Math.min(Math.max(0,t(e)),e):0;if(0===n)return void h();if(!r||n>e)return void g(null);f=!0;try{d.currentTime=n/1e3}catch{g(null)}},v=()=>{f&&h()},y=()=>{let e=null===u||p?null:(0,eP.textureUrl)(u);null===e?g(null):(p=!0,f=!1,d.src=e)};d.addEventListener("loadeddata",x),d.addEventListener("seeked",v),d.addEventListener("error",y),o=setTimeout(()=>g(null),a),d.src=c??u??""})}async function eD(e){let t=await eO(e,{at:e=>Math.min(e/10,500),maxEdge:512,type:"image/webp",quality:.85,timeoutMs:8e3});return null===t?null:URL.createObjectURL(t.blob)}e.s(["grabFrame",0,eO],570026);let e$={image:["image","images"],video:["clip","clips"],audio:["audio clip","audio clips"]};function eB({tile:e,order:n,onPreview:i}){let{className:l,...a}=eI(n,e.key),s=!(e.pending&&null===e.url)&&null!==e.url,o=(0,t.jsx)(A.AttachmentMedia,{kind:e.kind,url:e.url,name:e.name,pending:e.pending,indeterminate:e.indeterminate,progress:e.progress,failed:e.failed,size:"md"}),c=A.ATTACHMENT_FRAME;return(0,t.jsxs)(f.motion.div,{...a,layout:!0,initial:{opacity:0,scale:.8},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.8},transition:{duration:.18,ease:"easeOut"},className:(0,r.cn)("group relative size-14 shrink-0",l),children:[(0,t.jsx)(e_,{order:n,tileKey:e.key,name:e.name,className:"-top-1 -left-1 after:absolute after:size-8 after:content-['']"}),s?(0,t.jsx)("button",{type:"button","aria-label":`Preview ${e.name}`,onPointerEnter:()=>eY(e),onFocus:()=>eY(e),onClick:()=>i(e),className:(0,r.cn)(c,"cursor-zoom-in focus-visible:outline-2 focus-visible:outline-black/20 focus-visible:outline-offset-2"),children:o}):(0,t.jsx)("div",{className:c,children:o}),(0,t.jsx)(A.AttachmentRemove,{label:`Remove ${e.name}`,onRemove:e.remove})]})}function eF({group:e,onPreview:r}){let{order:n,live:i}=eM(e.keys,e.reorder);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(m.AnimatePresence,{initial:!1,children:e.tiles.map(e=>(0,t.jsx)(eB,{tile:e,order:n,onPreview:r},e.key))}),i]})}let eW=[],eq=()=>{};function eK(e){return"audio"===e.kind?A.AUDIO_TILE_ART:"video"===e.kind?e.poster??void 0:e.url??void 0}function eH({groups:e,shown:i,capacity:l,paging:a,layout:s,dragFromTile:o,radius:u,header:d,instructions:m,chevronPlacement:g,size:h,itemClassName:x,addIcon:v,videoZone:y=!1,onAdd:b,onZoneAdd:j,onPreview:k,handleOf:w,onMention:N,onRemoved:C}){let R={};for(let t of e)R[t.kind]=t;let L=y?R.video?.tiles[0]??null:null,A=R.video?.keys??eW,z=R.video?.reorder??eq,E=eM(R.image?.keys??eW,R.image?.reorder??eq),S=eM(null===L?A:A.slice(1),null===L?z:e=>z([A[0],...e])),M=eM(R.audio?.keys??eW,R.audio?.reorder??eq),I={image:E.order,video:S.order,audio:M.order},_=new Map(e.flatMap(e=>e.tiles.map(e=>[e.key,e]))),U=new Map;
1for(let t of e)t.tiles.forEach((e,r)=>{U.set(e.key,{kind:t.kind,index:r})});let T=e.flatMap(e=>e.tiles.filter(e=>e!==L).map(e=>({id:e.key,type:e.kind,src:eK(e),alt:e.name,pending:e.pending,indeterminate:e.indeterminate,progress:e.progress,error:e.failed}))),P=T.map(e=>e.id).join("\n"),O=null!==L&&w?w("video",0):void 0,D=y?null!==L?(0,t.jsxs)("div",{className:"group relative shrink-0",children:[(0,t.jsx)(n.Attachment,{type:"video",size:h??"md",radius:u,src:eK(L),alt:L.name,pending:L.pending,indeterminate:L.indeterminate,progress:L.progress,error:L.failed,removable:!0,onRemove:()=>{C?.("video",1),L.remove()},onClick:null===L.url||L.pending||L.failed?void 0:()=>k(L),className:x}),void 0===O?null:(0,t.jsx)(n.AttachmentLabel,{label:O,onClick:N&&(()=>N(O)),size:"lg"===h?"md":"sm",className:"left-1 max-w-none translate-x-0"})]}):(0,t.jsx)(n.Attachment,{type:"play",size:h??"md",radius:u,onClick:j??b,className:x}):void 0;return(0,t.jsxs)(p.MotionConfig,{reducedMotion:"user",children:[(0,t.jsx)(c,{items:T,layout:s,variant:null!==L?"filled":void 0,count:i,max:l,chevrons:a,header:d,instructions:m,chevronPlacement:g,size:h,radius:u,itemClassName:x,addIcon:v,leadSlot:D,onAdd:b,onRemove:e=>{let t=U.get(e);t&&C&&C(t.kind,t.index+1),_.get(e)?.remove()},onSelect:e=>{let t=_.get(e);t&&null!==t.url&&k(t)},renderItem:(e,i)=>{let l=_.get(e.id),a=U.get(e.id),s=a&&w?w(a.kind,a.index):void 0,c=l?I[l.kind]:null;if(!l||!c&&void 0===s)return i;let{className:u,...d}=null===c?{className:void 0}:eI(c,e.id);return(0,t.jsx)(f.motion.div,{layout:"position",layoutDependency:P,...d,...o?c?.tileProps(e.id):{},"data-dragging":c?.dragging===e.id?"":void 0,className:(0,r.cn)("group/tile group relative shrink-0",o?"cursor-grab touch-none hover:z-10 active:cursor-grabbing data-dragging:z-20":u),children:(0,t.jsxs)("div",{className:(0,r.cn)("relative",o&&"rounded-xs transition-[scale,box-shadow] duration-150 group-hover/tile:scale-[1.04] group-hover/tile:shadow-md group-data-dragging/tile:scale-[1.04] group-data-dragging/tile:shadow-md motion-reduce:scale-100 motion-reduce:transition-none"),children:[null===c?null:(0,t.jsx)(e_,{order:c,tileKey:e.id,name:l.name,className:o?"sr-only focus:not-sr-only focus:top-1 focus:left-1":"-top-1 -left-1 after:absolute after:size-8 after:content-['']"}),i,void 0===s?null:(0,t.jsx)(n.AttachmentLabel,{label:s,onClick:N&&(()=>N(s)),size:"lg"===h?"md":"sm",className:"left-1 max-w-none translate-x-0"})]})})}}),E.live,S.live,M.live]})}let eV=new Set;function eY(e){if("image"!==e.kind||null===e.url||eV.has(e.url))return;eV.add(e.url);let t=new Image;t.decoding="async",t.src=e.url,t.decode().catch(()=>{})}function eG({children:e}){let t=(0,h.useNavigate)(),r=(0,eN.useLoginRedirectTarget)(),n=`/login?intent=upload&redirect=${encodeURIComponent(r)}`;return e({href:n,go:()=>t(n)})}function eX({images:e,videos:n,audio:i,library:a=!0,libraryTrigger:s="menu",className:o,inputLabel:c="Attach references",label:f="Reference attachments",variant:h="strip",renderContent:v,renderError:y,capacity:b,rowPaging:j=!1,rowLayout:k,rowDragFromTile:w=!1,rowRadius:N,rowHeader:C,rowInstructions:R,rowChevronPlacement:L,rowSize:A,rowItemClassName:z,rowAddIcon:E,rowVideoZone:M=!1,chipLabel:I,chipIcon:_="paperclip",handleOf:U,onMention:T,onRemoved:P,prompt:D,onPromptChange:$,issue:B,login:F}){let W=(0,ew.useSignedIn)(),q=(0,l.useRef)(null),K=(0,l.useRef)(null),[H,V]=(0,l.useState)(!1),[Y,G]=(0,l.useState)(!1),[X,J]=(0,l.useState)(null),Z=void 0!==D&&void 0!==$,Q=(e,t)=>void 0!==e&&Z?{...e,reorder:r=>{$(ez(D,t,e.keys,r)),e.reorder(r)}}:e,ee=Q(e,"image"),et=Q(n,"video"),er=Q(i,"audio"),en=Z?(e,t)=>{$(eA(D,e,t)),P?.(e,t)}:P,ei=U??(Z?(e,t)=>eL(e,t+1):void 0),{groups:el,admit:ea,problem:es,failed:eo,clearProblem:ec}=function(e){let{images:t,videos:r,audio:n}=e,[i,a]=(0,l.useState)(null),s=(0,l.useRef)(new Map),o=(0,l.useRef)(new Map),c=(0,l.useRef)(new Set),u=(0,l.useRef)(new Map),d=(0,l.useRef)(new Set),m=(0,l.useRef)(!1),[p,f]=(0,l.useState)(()=>new Map),[g,h]=(0,l.useState)(()=>new Map),[x,v]=(0,l.useState)(()=>new Map),y=[...t?.files??[],...r?.files??[],...n?.files??[]];(0,l.useEffect)(()=>{let e=s.current,t=new Set(y),n=!1;for(let[r,i]of e)t.has(r)||(URL.revokeObjectURL(i),e.delete(r),n=!0);for(let r of t)e.has(r)||(e.set(r,URL.createObjectURL(r)),n=!0);n&&f(new Map(e));let i=o.current,l=c.current,a=new Set(r?.files??[]),p=!1;
1for(let[e,t]of i)a.has(e)||(null!==t&&URL.revokeObjectURL(t),i.delete(e),p=!0);for(let t of a){if(i.has(t)||l.has(t))continue;let r=e.get(t);void 0!==r&&(l.add(t),eD(r).then(e=>{if(l.delete(t),m.current){null!==e&&URL.revokeObjectURL(e);return}i.set(t,e),h(new Map(i))}))}p&&h(new Map(i));let g=u.current,x=d.current,b=new Set((r?.entries??[]).flatMap(e=>"library"===e.kind&&null!==e.item.url&&null===e.item.thumbnail_url?[e.item.url]:[])),j=!1;for(let[e,t]of g)b.has(e)||(null!==t&&URL.revokeObjectURL(t),g.delete(e),j=!0);for(let e of b)g.has(e)||x.has(e)||(x.add(e),eD(e).then(t=>{if(x.delete(e),m.current){null!==t&&URL.revokeObjectURL(t);return}g.set(e,t),v(new Map(g))}));j&&v(new Map(g))}),(0,l.useEffect)(()=>{let e=s.current,t=o.current,r=u.current;return m.current=!1,()=>{for(let t of(m.current=!0,e.values()))URL.revokeObjectURL(t);for(let r of(e.clear(),t.values()))null!==r&&URL.revokeObjectURL(r);for(let e of(t.clear(),r.values()))null!==e&&URL.revokeObjectURL(e);r.clear()}},[]);let b=[];for(let[e,i]of[[t,"image"],[r,"video"],[n,"audio"]]){if(!e||0===e.entries.length)continue;let t=e.entries.map(t=>"file"===t.kind?{key:(0,eT.entryKey)(t),kind:i,url:p.get(t.file)??null,poster:"video"===i?g.get(t.file)??null:null,name:t.file.name,pending:(0,eT.inFlight)(t),indeterminate:!1,progress:t.progress,failed:t.failed,remove:()=>(function(e,t){e.setFiles(e.files.filter(e=>e!==t))})(e,t.file)}:{key:(0,eT.entryKey)(t),kind:i,url:t.item.url,poster:t.item.thumbnail_url??("video"===i&&null!==t.item.url?x.get(t.item.url)??null:null),name:t.item.name,pending:"pending"===(0,O.itemStatus)(t.item),indeterminate:!0,progress:+("pending"!==(0,O.itemStatus)(t.item)),failed:"failed"===(0,O.itemStatus)(t.item),remove:()=>e.setLibraryItems(e.libraryItems.filter(e=>e.library_item_id!==t.item.library_item_id))});b.push({kind:i,keys:e.keys,reorder:e.reorder,tiles:t})}let j=!!(t?.failed||r?.failed||n?.failed),k={image:t,video:r,audio:n},w=(i?.full??[]).filter(e=>{let t=k[e];return void 0!==t&&t.count>=t.max});(0,l.useEffect)(()=>{i&&w.length!==i.full.length&&a(w.length>0||i.unsupported?{unsupported:i.unsupported,full:w}:null)});let N=w.flatMap(e=>{let t=k[e];return t?[`${t.max} ${e$[e][+(1!==t.max)]}`]:[]});return{groups:b,admit:function(e){let i=eU({images:t,videos:r,audio:n})(e);a(i.unsupported||i.full.length>0?i:null)},problem:i?.unsupported?"That file type is not supported here":N.length>0?`Up to ${N.join(" and ")} â remove one to add another`:null,failed:j,clearProblem:()=>a(null)}}({images:ee,videos:et,audio:er}),eu=(e,t)=>void 0===e?null:{kind:t,state:e.failed?"invalid":e.uploading?"busy":e.count>0?"filled":"empty",count:e.urls.length},ed=(0,d.useInputAttention)(eu(ee,"image")),em=(0,d.useInputAttention)(eu(et,"video")),ep=(0,d.useInputAttention)(eu(er,"audio")),ef=(0,l.useCallback)(e=>{ed.ref(e),em.ref(e),ep.ref(e)},[ed.ref,em.ref,ep.ref]),eg=ed.flagged||em.flagged||ep.flagged,eh=ed.hint??em.hint??ep.hint,ex=B??es??(eo?"A reference failed to upload â remove it and try again":null),ev=[ee&&S.IMAGE_FILE_ACCEPT,et&&"video/*",er&&"audio/*"].filter(
1Boolean).join(","),ey=!!(a&&(ee||et||er)&&W),eb=()=>{F?F.go():(G(!1),ey?V(!0):q.current?.click())},ej=e=>e?Math.max(0,e.max-e.files.length):0,eN=[...ee?["image"]:[],...et?["video"]:[],...er?["audio"]:[]],eR=void 0!==v||"strip"!==h,eE=el.reduce((e,t)=>e+t.tiles.length,0),eS=b??(ee?.max??0)+(et?.max??0)+(er?.max??0),eM=[ee,et,er].some(e=>void 0!==e&&e.count<e.max),eI="mt-1 grid size-14 shrink-0 place-items-center rounded-xs bg-white inset-ring inset-ring-transparent transition-shadow hover:inset-ring-primary-400 focus-visible:outline-2 focus-visible:outline-black/20 focus-visible:outline-offset-2 data-[popup-open]:inset-ring-primary-400",e_="inline-flex h-9 w-fit shrink-0 cursor-pointer items-center gap-1.5 rounded-full border border-hairline bg-muted/40 px-3.5 font-medium text-[13px] text-black/70 transition-colors hover:bg-muted/70 hover:text-black focus-visible:outline-2 focus-visible:outline-black/10 focus-visible:outline-offset-2",eP=I??`References ${eE}/${eS}`,eO=F?(0,t.jsxs)(x.TransitionLink,{href:F.href,"aria-label":"Log in to add references",className:e_,children:[(0,t.jsx)(g.Icon,{name:_,className:"size-3.5 shrink-0"}),eP]}):(0,t.jsxs)("button",{type:"button",onClick:eb,className:e_,children:[(0,t.jsx)(g.Icon,{name:_,className:"size-3.5 shrink-0"}),eP]});return(0,t.jsxs)("div",{role:"group","aria-label":f,ref:ef,"data-attention":eg||B?"":void 0,className:(0,r.cn)("flex flex-col gap-2",!eR&&"py-3 pl-3",d.inputAttentionWellClass,"data-attention:rounded-sm",o),onDragOver:e=>e.preventDefault(),onDrop:e=>{e.preventDefault(),null===F&&ea(e.dataTransfer.files)},children:[F?null:(0,t.jsx)("input",{ref:q,type:"file",multiple:!0,accept:ev,"aria-label":c,className:"sr-only",onChange:e=>{e.target.files&&ea(e.target.files),V(!1),e.target.value=""}}),M&&et&&null===F?(0,t.jsx)("input",{ref:K,type:"file",multiple:!0,accept:"video/*","aria-label":"Add a video",className:"sr-only",onChange:e=>{ea(Array.from(e.target.files??[]).filter(e=>e.type.startsWith("video/"))),V(!1),e.target.value=""}}):null,v?v({groups:el,problem:ex,onAdd:eM?eb:void 0,onPreview:J}):"row"===h?(0,t.jsx)(eH,{groups:el,shown:eE,capacity:eS,paging:j,layout:k,dragFromTile:w,radius:N,header:C,instructions:R,chevronPlacement:L,size:A??(ei?"lg":void 0),itemClassName:z,addIcon:E??(et?"play":"plus"),videoZone:!!(M&&et),onAdd:eM?eb:void 0,onZoneAdd:M&&et?()=>{F?F.go():ey?(G(!0),V(!0)):K.current?.click()}:void 0,onPreview:J,handleOf:ei,onMention:T,onRemoved:en}):"tiles-chip"===h?(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(p.MotionConfig,{reducedMotion:"user",children:el.map(e=>(0,t.jsx)(eF,{group:e,onPreview:J},e.kind))}),eO]}):(0,t.jsxs)("div",{className:"flex gap-2",children:[eR?eO:eM?ey&&"menu"===s?(0,t.jsxs)(u.Dropdown,{children:[(0,t.jsx)(u.Dropdown.Trigger,{"aria-label":"Add reference",className:eI,children:(0,t.jsx)(g.Icon,{name:"plus",className:"size-4"})}),(0,t.jsxs)(u.Dropdown.Content,{align:"start",className:"w-auto min-w-44",children:[(0,t.jsxs)(u.Dropdown.Item,{onClick:()=>q.current?.click(),children:[(0,t.jsx)(g.Icon,{name:"upload",className:"size-4"}),"Upload files"]}),(0,t.jsxs)(u.Dropdown.Item,{onClick:eb,children:[(0,t.jsx)(g.Icon,{name:"photo-line",className:"size-4"}),"Choose from library"]})]})]}):F?(0,t.jsx)(x.TransitionLink,{href:F.href,"aria-label":"Log in to add references",className:eI,children:(0,t.jsx)(g.Icon,{name:"plus",className:"size-4"})}):(0,t.jsx)("button",{type:"button","aria-label":"Add reference",onClick:eb,className:eI,children:(0,t.jsx)(g.Icon,{name:"plus",className:"size-4"})}):null,eR?null:(0,t.jsx)("div",{className:"flex min-w-0 flex-1 gap-2 overflow-x-auto p-2 [-ms-overflow-style:none] [scrollbar-width:none] [&::-webkit-scrollbar]:hidden",children:(0,t.jsx)(p.MotionConfig,{reducedMotion:"user",children:el.map(e=>(0,t.jsx)(eF,{group:e,onPreview:J},e.kind))})})]}),eh||B&&!y?(0,t.jsx)(d.InputAttentionHint,{className:eR?void 0:"pr-3",children:eh??B}):null,(0,t.jsx)(ek,{open:ey&&H,onOpenChange:e=>{V(e),e||G(!1)},kinds:Y?["video"]:eN,selected:Y?et?.libraryItems??[]:[...ee?.libraryItems??[],...et?.libraryItems??[],...er?.libraryItems??[]],max:Y?ej(et):ej(ee)+ej(et)+ej(er),maxByKind:{image:Y?0:ej(ee),video:e
1j(et),audio:Y?0:ej(er)},onChange:e=>{Y||(ee?.setLibraryItems(e.filter(e=>"image"===e.media_type)),er?.setLibraryItems(e.filter(e=>"audio"===e.media_type))),et?.setLibraryItems(e.filter(e=>"video"===e.media_type))},onUpload:()=>(Y?K:q).current?.click(),onFiles:e=>{ea(Y?e.filter(e=>e.type.startsWith("video/")):e)}}),y?y(ex,ec):es||eo?(0,t.jsx)("p",{role:"alert",className:"text-destructive text-xs",children:es??"A reference failed to upload â remove it and try again"}):null,(0,t.jsx)(m.AnimatePresence,{children:X?(0,t.jsx)(eC.MediaLightbox,{src:X.url,kind:X.kind,name:X.name,onClose:()=>J(null)}):null})]})}e.s(["AttachmentGroup",0,function(e){return!(0,ew.useSignedIn)()&&[e.images,e.videos,e.audio].some(e=>void 0!==e&&!e.durable)?(0,t.jsx)(eG,{children:r=>(0,t.jsx)(eX,{...e,login:r})}):(0,t.jsx)(eX,{...e,login:null})},"AttachmentGroupStrip",0,eF],924721)}]);
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.