@owox/web 0.16.0-next-20251218083513 → 0.16.0-next-20251218105755

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -805,7 +805,7 @@ You can add a description to the \`${Ku}\` by passing a \`${l5}\` component as a
805
805
 
806
806
  Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${Ku}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.
807
807
 
808
- For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return h.useEffect(()=>{var r;document.getElementById((r=e.current)==null?void 0:r.getAttribute("aria-describedby"))||console.warn(t)},[t,e]),null},Jee=n5,ete=r5,tte=a5,nte=s5,rte=u5,ate=f5,ste=i5,ote=c5;function h5({...e}){return a.jsx(Jee,{"data-slot":"alert-dialog",...e})}function ite({...e}){return a.jsx(ete,{"data-slot":"alert-dialog-portal",...e})}function lte({className:e,...t}){return a.jsx(tte,{"data-slot":"alert-dialog-overlay",className:se("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...t})}function m5({className:e,...t}){return a.jsxs(ite,{children:[a.jsx(lte,{}),a.jsx(nte,{"data-slot":"alert-dialog-content",className:se("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",e),...t})]})}function p5({className:e,...t}){return a.jsx("div",{"data-slot":"alert-dialog-header",className:se("flex flex-col gap-2 text-center sm:text-left",e),...t})}function g5({className:e,...t}){return a.jsx("div",{"data-slot":"alert-dialog-footer",className:se("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...t})}function x5({className:e,...t}){return a.jsx(ste,{"data-slot":"alert-dialog-title",className:se("text-lg font-semibold",e),...t})}function y5({className:e,...t}){return a.jsx(ote,{"data-slot":"alert-dialog-description",className:se("text-muted-foreground text-sm",e),...t})}function v5({className:e,...t}){return a.jsx(rte,{className:se(_S(),e),...t})}function b5({className:e,...t}){return a.jsx(ate,{className:se(_S({variant:"outline"}),e),...t})}const S5=["facebook","linkedin","tiktok","microsoft","connector","sql","blank"],C5={facebook:{title:"Facebook Ads",datamartTitle:"Facebook Ads Data Mart",connectorSourceTitle:"FacebookMarketing",definitionType:$e.CONNECTOR,icon:BW},linkedin:{title:"LinkedIn Ads",datamartTitle:"LinkedIn Ads Data Mart",connectorSourceTitle:"LinkedInAds",definitionType:$e.CONNECTOR,icon:GW},tiktok:{title:"TikTok Ads",datamartTitle:"TikTok Ads Data Mart",connectorSourceTitle:"TikTokAds",definitionType:$e.CONNECTOR,icon:qW},microsoft:{title:"Microsoft Ads",datamartTitle:"Microsoft Ads Data Mart",connectorSourceTitle:"MicrosoftAds",definitionType:$e.CONNECTOR,icon:KW},connector:{title:"Other connector",datamartTitle:"Connector-based Data Mart",definitionType:$e.CONNECTOR,icon:jS},sql:{title:"SQL query",datamartTitle:"SQL-based Data Mart",definitionType:$e.SQL,icon:RS},blank:{title:"Blank Data Mart",datamartTitle:"New Data Mart",icon:sg}},O_=S5.map(e=>({key:e,...C5[e]}));function cte(e){if(!e||!S5.includes(e))return;const t=e;return{key:t,...C5[t]}}function ute({children:e,className:t="",...n}){return a.jsx("div",{className:"dm-card",children:a.jsx("div",{className:se("-m-4 flex flex-col items-start justify-between gap-12 overflow-hidden px-8 py-16 lg:flex-row-reverse lg:px-16 lg:py-24 2xl:items-center",t),...n,children:e})})}function dte({children:e,className:t="",...n}){return a.jsx("div",{className:se("pb-2",t),...n,children:e})}function fte({children:e,className:t="",...n}){return a.jsx("h2",{className:se("mb-6 text-4xl font-semibold xl:text-5xl",t),...n,children:e})}function hte({children:e,className:t="",...n}){return a.jsx("p",{className:se("text-muted-foreground text-lg",t),...n,children:e})}function mte({children:e,rings:t=7,className:n="",...r}){return a.jsxs("div",{className:se("relative flex w-full justify-center lg:w-[30%] 2xl:w-[35%]",n),...r,children:[a.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:Array.from({length:t},(s,i)=>{const c=`${(16*(i+1)+24).toString()}vmin`;return a.jsx("div",{className:"animate-ring-pulse",style:{height:c,width:c,animationDelay:`${(i*.3).toString()}s`,animationDuration:"4s",opacity:.2+i*.1,filter:i===0?"blur(1px)":"none"}},i)})}),a.jsx("div",{className:"animate-glow-burst"}),a.jsx("div",{className:"animate-icon-entrance","aria-label":"Illustration",children:e})]})}function pte({children:e,className:t="",...n}){return a.jsx("div",{className:se("w-full space-y-8 lg:w-[70%] 2xl:w-[65%]",t),...n,children:e})}function v1({separator:e=!0,children:t,className:n="",...r}){return a.jsx("section",{className:se("relative pb-10",e&&"after:from-border after:absolute after:bottom-0 after:left-0 after:h-px after:w-full after:bg-gradient-to-r after:to-transparent",n),...r,children:t})}function I_({children:e,className:t="",...n}){return a.jsx("h3",{className:se("mb-4 text-xl font-medium",t),...n,children:e})}function b1({children:e,className:t="",...n}){return a.jsx("div",{className:se("flex flex-wrap items-center gap-4",t),...n,children:e})}function Dp({href:e,icon:t,title:n,variant:r="outline",size:s,className:i="",target:c,...u}){const f=r==="outline"?"lg":"sm",m=a.jsxs("span",{className:se("flex items-center gap-2"),children:[t,n]});return e?a.jsx(we,{asChild:!0,variant:r,size:s??f,className:se(r==="ghost"?"text-muted-foreground":"",i),...u,children:a.jsx(Xr,{to:e,target:c,children:m})}):a.jsx(we,{variant:r,size:s??f,className:i,...u,children:m})}function gte(){const{scope:e}=vi(),t=O_.filter(r=>r.definitionType===$e.CONNECTOR),n=O_.filter(r=>r.definitionType!==$e.CONNECTOR);return a.jsxs(ute,{children:[a.jsx(mte,{children:a.jsx($W,{className:"animate-icon-entrance","aria-label":"Data Mart creation illustration"})}),a.jsxs(pte,{children:[a.jsxs(dte,{children:[a.jsx(fte,{children:"Let’s Build Your First Data Mart"}),a.jsx(hte,{children:"A Data Mart is the key element of self-service analytics — it provides both control for data analyst and freedom for business users. To get started, connect the source you need or query the data you already have in storage"})]}),a.jsxs(v1,{children:[a.jsx(I_,{children:"Connect a data source"}),a.jsx(b1,{children:t.map(r=>a.jsx(Dp,{href:e(`/data-marts/create?preset=${r.key}`),icon:r.icon&&a.jsx(r.icon,{className:"h-4 w-4"}),title:r.title,variant:"outline"},r.key))})]}),a.jsxs(v1,{children:[a.jsx(I_,{children:"Use existing SQL or start from scratch"}),a.jsx(b1,{children:n.map((r,s)=>a.jsxs(a.Fragment,{children:[a.jsx(Dp,{href:e(`/data-marts/create?preset=${r.key}`),icon:r.icon&&a.jsx(r.icon,{className:"h-4 w-4"}),title:r.title,variant:"outline"},r.key),s<n.length-1&&a.jsx("span",{className:"text-muted-foreground text-sm",children:"or"})]}))})]}),a.jsx(v1,{separator:!1,children:a.jsxs(b1,{children:[a.jsx(Dp,{href:"https://www.youtube.com/playlist?list=PLvcNVLV5BVbHHCekyAZBEIVnlC4i1qcHx",icon:a.jsx(BA,{className:"h-4 w-4"}),title:"Watch a 2-minute demo",variant:"ghost",target:"_blank"}),a.jsx(Dp,{href:"https://docs.owox.com/docs/getting-started/core-concepts/?utm_source=owox_data_marts&utm_medium=empty_data_marts_page&utm_campaign=help_buttons",icon:a.jsx(LU,{className:"h-4 w-4"}),title:"Core concepts",variant:"ghost",target:"_blank"})]})})]})]})}function xte(){return a.jsx($r,{className:"bg-muted/50 h-72 w-full rounded-md border-b border-gray-200 dark:border-white/10 dark:bg-white/4"})}const ju={DEFAULT_SORTING_COLUMN:"createdAt",DEFAULT_EXCLUDED_COLUMNS:["actions"],STORAGE_KEYS:{SORTING_SUFFIX:"-sorting",COLUMN_VISIBILITY_SUFFIX:"-column-visibility"}},yte={extractColumnIds:e=>e.map(t=>{if(t.id)return t.id;if("accessorKey"in t&&typeof t.accessorKey=="string")return t.accessorKey}).filter(t=>t!==void 0)};function Lc({columns:e,storageKeyPrefix:t,defaultSortingColumn:n=ju.DEFAULT_SORTING_COLUMN,defaultColumnVisibility:r={},excludedColumnsFromSorting:s=ju.DEFAULT_EXCLUDED_COLUMNS,excludedColumnsFromVisibility:i=ju.DEFAULT_EXCLUDED_COLUMNS}){const c=h.useMemo(()=>({SORTING:`${t}${ju.STORAGE_KEYS.SORTING_SUFFIX}`,COLUMN_VISIBILITY:`${t}${ju.STORAGE_KEYS.COLUMN_VISIBILITY_SUFFIX}`}),[t]),u=h.useMemo(()=>yte.extractColumnIds(e),[e]),f=h.useMemo(()=>u.filter(b=>!s.includes(b)),[u,s]),m=h.useCallback(()=>{const b=xs.get(c.SORTING,"json");return b&&Array.isArray(b)&&b.length>0?b:[{id:f.includes(n)?n:f[0]??ju.DEFAULT_SORTING_COLUMN,desc:!0}]},[c.SORTING,f,n]),x=h.useCallback(()=>{const b=xs.get(c.COLUMN_VISIBILITY,"json");if(b&&typeof b=="object"&&!Array.isArray(b)){const E={};for(const R of u)i.includes(R)||(E[R]=b[R]);return E}return r},[c.COLUMN_VISIBILITY,u,i,r]),[g,y]=h.useState(m),[v,S]=h.useState(x);return h.useEffect(()=>{g.length>0&&f.includes(g[0].id)&&xs.set(c.SORTING,g)},[g,f,c.SORTING]),h.useEffect(()=>{const b={};for(const E of u){if(i.includes(E))continue;const R=v[E];typeof R=="boolean"&&(b[E]=R)}xs.set(c.COLUMN_VISIBILITY,b)},[v,u,i,c.COLUMN_VISIBILITY]),{sorting:g,setSorting:y,columnVisibility:v,setColumnVisibility:S}}function vte({columns:e,data:t,deleteDataMart:n,refetchDataMarts:r,isLoading:s}){var M;const{navigate:i,scope:c}=vi(),{sorting:u,setSorting:f,columnVisibility:m,setColumnVisibility:x}=Lc({columns:e,storageKeyPrefix:"data-mart-list",defaultColumnVisibility:{triggersCount:!1,reportsCount:!1,createdByUser:!1}}),[g,y]=h.useState([]),[v,S]=h.useState({}),[b,E]=h.useState(!1),[R,j]=h.useState(!1),_="data-mart-empty-state-onboarding-video-shown",{open:D}=f2();h.useEffect(()=>{!s&&t.length===0&&(xs.get(_,"boolean")||(D("video-3-getting-started-with-data-marts"),xs.set(_,!0)))},[s,t.length,D]);const O=async()=>{try{j(!0);const z=T.getSelectedRowModel().rows.map(L=>L.original.id);for(const L of z)await n(L);_n.success(`Successfully deleted ${String(z.length)} data mart${z.length!==1?"s":""}`),S({}),await r()}catch(k){console.error("Error deleting data marts:",k),_n.error("Failed to delete some data marts. Please try again.")}finally{j(!1),E(!1)}},A=Object.keys(v).length>0,T=jl({data:t,columns:[{id:"select",size:40,header:({table:k})=>a.jsx("button",{type:"button",role:"checkbox","aria-checked":k.getIsAllRowsSelected(),"data-state":k.getIsAllRowsSelected()?"checked":"unchecked","aria-label":"Select all rows",className:"peer border-input data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border bg-white shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 dark:bg-white/8",onClick:k.getToggleAllRowsSelectedHandler(),children:k.getIsAllRowsSelected()&&a.jsx("span",{"data-state":"checked","data-slot":"checkbox-indicator",className:"pointer-events-none flex items-center justify-center text-current transition-none",children:a.jsx(la,{className:"size-3.5 text-white"})})}),cell:({row:k})=>a.jsx("button",{type:"button",role:"checkbox","aria-checked":k.getIsSelected(),"data-state":k.getIsSelected()?"checked":"unchecked","aria-label":"Select row",className:"peer border-input data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border bg-white shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 dark:bg-white/8",onClick:k.getToggleSelectedHandler(),children:k.getIsSelected()&&a.jsx("span",{"data-state":"checked","data-slot":"checkbox-indicator",className:"pointer-events-none flex items-center justify-center text-current transition-none",children:a.jsx(la,{className:"size-3.5 text-white"})})}),enableSorting:!1,enableHiding:!1},...e],getCoreRowModel:Rl(),getPaginationRowModel:Gh(),onSortingChange:f,getSortedRowModel:kc(),onColumnFiltersChange:y,getFilteredRowModel:Sd(),onColumnVisibilityChange:x,onRowSelectionChange:S,state:{sorting:u,columnFilters:g,columnVisibility:m,rowSelection:v},enableRowSelection:!0});return s?a.jsx("div",{children:a.jsx(xte,{})}):t.length?a.jsxs("div",{className:"dm-card",children:[a.jsxs("div",{className:"dm-card-toolbar",children:[a.jsxs("div",{className:"dm-card-toolbar-left",children:[A&&a.jsx(we,{variant:"destructive",size:"sm",className:"dm-card-toolbar-btn-delete",onClick:()=>{E(!0)},disabled:R,children:a.jsx(ts,{className:"h-4 w-4"})}),a.jsxs("div",{className:"dm-card-toolbar-search",children:[a.jsx(Ac,{className:"dm-card-toolbar-search-icon"}),a.jsx(dt,{placeholder:"Search by title",value:(M=T.getColumn("title"))==null?void 0:M.getFilterValue(),onChange:k=>{var z;return(z=T.getColumn("title"))==null?void 0:z.setFilterValue(k.target.value)},className:"dm-card-toolbar-search-input"})]})]}),a.jsx("div",{className:"dm-card-toolbar-right",children:a.jsx(Xr,{to:c("/data-marts/create"),children:a.jsxs(we,{variant:"outline",className:"dm-card-toolbar-btn-primary",children:[a.jsx(ga,{className:"h-4 w-4"}),"New Data Mart"]})})})]}),a.jsx("div",{className:"dm-card-table-wrap",children:a.jsxs(Tl,{className:"dm-card-table",role:"table","aria-label":"Data Marts table",children:[a.jsx(_l,{className:"dm-card-table-header",children:T.getHeaderGroups().map(k=>a.jsx(Hn,{className:"dm-card-table-header-row",children:k.headers.map(z=>a.jsx(Al,{className:"[&:has([role=checkbox])]:pl-6 [&>[role=checkbox]]:translate-y-[2px]",style:z.column.id==="select"?{width:40,minWidth:40,maxWidth:40}:z.column.id==="actions"?{width:80,minWidth:80,maxWidth:80}:{width:`${String(z.getSize())}%`},children:z.isPlaceholder?null:id(z.column.columnDef.header,z.getContext())},z.id))},k.id))}),a.jsx(Nl,{className:"dm-card-table-body",children:T.getRowModel().rows.length?T.getRowModel().rows.map(k=>a.jsx(Hn,{"data-state":k.getIsSelected()&&"selected",className:"dm-card-table-body-row group",onClick:z=>{if(z.target instanceof HTMLElement&&(z.target.closest('[role="checkbox"]')||z.target.closest(".actions-cell")||z.target.closest('[role="menuitem"]')||z.target.closest('[data-state="open"]')))return;const L=k.original.id;i(`/data-marts/${L}/data-setup`)},children:k.getVisibleCells().map(z=>a.jsx(Gr,{className:`[&:has([role=checkbox])]pr-0 px-6 whitespace-normal [&>[role=checkbox]]:translate-y-[2px] ${z.column.id==="actions"?"actions-cell":""} ${z.column.id==="createdAt"?"whitespace-nowrap":""}`,style:z.column.id==="select"?{width:40,minWidth:40,maxWidth:40}:z.column.id==="actions"?{width:80,minWidth:80,maxWidth:80}:{width:`${String(z.column.getSize())}%`},children:id(z.column.columnDef.cell,z.getContext())},z.id))},k.id)):a.jsx(Hn,{children:a.jsx(Gr,{colSpan:e.length+1,className:"dm-card-table-body-row-empty",children:"No results"})})})]})}),a.jsxs("div",{className:"dm-card-pagination",children:[a.jsx(we,{variant:"outline",size:"sm",onClick:()=>{T.previousPage()},disabled:!T.getCanPreviousPage(),children:"Previous"}),a.jsx(we,{variant:"outline",size:"sm",onClick:()=>{T.nextPage()},disabled:!T.getCanNextPage(),children:"Next"})]}),a.jsx(h5,{open:b,onOpenChange:E,children:a.jsxs(m5,{children:[a.jsxs(p5,{children:[a.jsx(x5,{children:"Are you sure?"}),a.jsxs(y5,{children:["You're about to delete ",Object.keys(v).length," selected data mart",Object.keys(v).length!==1?"s":"",". This action cannot be undone."]})]}),a.jsxs(g5,{children:[a.jsx(b5,{disabled:R,children:"Cancel"}),a.jsx(v5,{onClick:()=>{O()},disabled:R,className:"bg-destructive hover:bg-destructive/90",children:R?"Deleting...":"Delete"})]})]})})]}):a.jsx(gte,{})}function E5({userProjection:e}){const{fullName:t,email:n,avatar:r}=e,s=t??n??"Unknown User",i=JD(t,n);return a.jsxs(Lx,{children:[a.jsx(Px,{asChild:!0,children:a.jsxs("div",{className:"mx-1 inline-flex min-w-max items-center gap-1 rounded-full bg-neutral-100 py-1 pr-3 pl-1 dark:bg-neutral-900",children:[a.jsx(Rb,{avatar:r,initials:i,displayName:s,size:qu.SMALL}),a.jsx("span",{className:"text-muted-foreground inline text-sm leading-tight","aria-label":s,children:s})]})}),a.jsx(Ux,{side:"top",align:"start",className:"w-max p-3",children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Rb,{avatar:r,initials:i,displayName:s,size:qu.LARGE}),a.jsxs("div",{className:"grid text-left text-sm leading-tight",children:[a.jsx("span",{className:"truncate font-medium",children:t??n??"Unknown User"}),n&&a.jsx("span",{className:"text-muted-foreground truncate text-xs",children:n})]})]})})]})}function N2({...e}){return a.jsx(ax,{"data-slot":"dialog",...e})}function bte({...e}){return a.jsx(sx,{"data-slot":"dialog-portal",...e})}function Ste({className:e,...t}){return a.jsx(ox,{"data-slot":"dialog-overlay",className:se("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...t})}function A2({className:e,children:t,showCloseButton:n=!0,...r}){return a.jsxs(bte,{"data-slot":"dialog-portal",children:[a.jsx(Ste,{}),a.jsxs(ix,{"data-slot":"dialog-content",className:se("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",e),...r,children:[t,n&&a.jsxs(lx,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[a.jsx(hc,{}),a.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function D2({className:e,...t}){return a.jsx("div",{"data-slot":"dialog-header",className:se("flex flex-col gap-2 text-center sm:text-left",e),...t})}function Cte({className:e,...t}){return a.jsx("div",{"data-slot":"dialog-footer",className:se("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...t})}function O2({className:e,...t}){return a.jsx(IS,{"data-slot":"dialog-title",className:se("text-lg leading-none font-semibold",e),...t})}function I2({className:e,...t}){return a.jsx(MS,{"data-slot":"dialog-description",className:se("text-muted-foreground text-sm",e),...t})}const Ete=_c("",{variants:{variant:{brand:"bg-primary text-white shadow-xs hover:bg-primary-hover focus-visible:ring-brand-blue-200 dark:focus-visible:ring-brand-blue-400"}}});function Wu({className:e,variant:t,...n}){return t==="brand"?a.jsx(we,{variant:"default",className:se(Ete({variant:t}),e),...n}):a.jsx(we,{variant:t,className:e,...n})}const Cr=({open:e,onOpenChange:t,title:n,description:r,confirmLabel:s="Confirm",cancelLabel:i,onConfirm:c,onCancel:u,variant:f="destructive",children:m})=>{const x=()=>{t(!1),u==null||u()};return a.jsx(N2,{open:e,onOpenChange:t,children:a.jsxs(A2,{children:[a.jsxs(D2,{children:[a.jsx(O2,{children:n}),a.jsx(I2,{children:r})]}),m,a.jsxs(Cte,{children:[i&&a.jsx(Wu,{variant:"secondary",onClick:x,children:i}),a.jsx(Wu,{variant:f,onClick:c,children:s})]})]})})},wte=({row:e,onDeleteSuccess:t})=>{const{scope:n}=vi(),[r,s]=h.useState(!1),[i,c]=h.useState(!1),{deleteDataMart:u,refreshList:f}=GO(),m=async()=>{try{await u(e.original.id),s(!1),await f(),t==null||t()}catch(x){console.error("Failed to delete data mart:",x)}};return a.jsxs("div",{className:"text-right",children:[a.jsxs(wr,{open:i,onOpenChange:c,children:[a.jsx(Rr,{asChild:!0,children:a.jsx(we,{variant:"ghost",className:`dm-card-table-body-row-actionbtn opacity-0 transition-opacity ${i?"opacity-100":"group-hover:opacity-100"}`,"aria-label":"Open menu",children:a.jsx(Ws,{className:"dm-card-table-body-row-actionbtn-icon"})})}),a.jsxs(jr,{align:"end",children:[a.jsx(Tt,{children:a.jsxs(Xr,{to:n(`/data-marts/${e.original.id}/data-setup`),className:"flex gap-2 text-left",children:[a.jsx(dd,{className:"text-foreground h-4 w-4","aria-hidden":"true"}),a.jsx("span",{children:"Edit"})]})}),a.jsx(ua,{}),a.jsxs(Tt,{onClick:()=>{s(!0)},children:[a.jsx(ts,{className:"h-4 w-4 text-red-600","aria-hidden":"true"}),a.jsx("span",{className:"text-red-600",children:"Delete"})]})]})]}),a.jsx(Cr,{open:r,onOpenChange:s,title:"Delete Data Mart",description:"Are you sure you want to delete this data mart? This action cannot be undone.",confirmLabel:"Delete",cancelLabel:"Cancel",onConfirm:()=>void m(),variant:"destructive"})]})},M_={types:{[$e.SQL]:{type:$e.SQL,displayName:"SQL",icon:RS},[$e.TABLE]:{type:$e.TABLE,displayName:"Table",icon:qA},[$e.VIEW]:{type:$e.VIEW,displayName:"View",icon:HU},[$e.TABLE_PATTERN]:{type:$e.TABLE_PATTERN,displayName:"Pattern",icon:kP},[$e.CONNECTOR]:{type:$e.CONNECTOR,displayName:"Connector",icon:jS}},getInfo(e){return e?this.types[e]:{type:null,displayName:"—",icon:()=>null}}};var zn=(e=>(e.TITLE="title",e.DEFINITION_TYPE="definitionType",e.STORAGE_TYPE="storageType",e.STATUS="status",e.TRIGGERS_COUNT="triggersCount",e.REPORTS_COUNT="reportsCount",e.CREATED_AT="createdAt",e.CREATED_BY_USER="createdByUser",e))(zn||{});const Ki={[zn.TITLE]:"Title",[zn.DEFINITION_TYPE]:"Input Source",[zn.STORAGE_TYPE]:"Storage",[zn.STATUS]:"Status",[zn.TRIGGERS_COUNT]:"Triggers",[zn.REPORTS_COUNT]:"Reports",[zn.CREATED_AT]:"Created at",[zn.CREATED_BY_USER]:"Created by"};function br({column:e,children:t,label:n}){const r=e.getIsSorted(),s=h.useCallback(()=>{e.toggleSorting(e.getIsSorted()==="asc")},[e]),i=()=>r==="asc"?"sorted ascending":r==="desc"?"sorted descending":"not sorted",c=()=>r==="asc"?"ascending":r==="desc"?"descending":"none",u=n??(typeof t=="string"?t:"Column");return a.jsxs(we,{variant:"ghost",onClick:s,className:"group dm-card-table-header-row-btn","aria-label":`${u} - ${i()}. Click to sort.`,"aria-sort":c(),children:[t,a.jsxs("span",{className:"flex h-4 w-4 items-center justify-center","aria-hidden":"true",children:[r==="asc"&&a.jsx(Ju,{className:"text-foreground h-4 w-4"}),r==="desc"&&a.jsx(Es,{className:"text-foreground h-4 w-4"}),!r&&a.jsx("span",{className:"opacity-0 transition-opacity duration-150 group-hover:opacity-100",children:a.jsx(Ju,{className:"text-muted-foreground h-4 w-4"})})]})]})}function Cd({table:e,getColumnLabel:t}){return a.jsx("div",{className:"text-right",children:a.jsxs(wr,{children:[a.jsx(Rr,{asChild:!0,children:a.jsx(we,{variant:"ghost",className:"dm-card-table-body-row-actionbtn","aria-label":"Toggle columns",children:a.jsx(Ws,{className:"dm-card-table-body-row-actionbtn-icon"})})}),a.jsx(jr,{align:"end",children:e.getAllColumns().filter(n=>n.getCanHide()&&n.id!=="actions").map(n=>{var s;const r=(t==null?void 0:t(n.id,n))??((s=n.columnDef.meta)==null?void 0:s.title)??n.id;return a.jsx(Tt,{className:"capitalize",children:a.jsxs("label",{className:"flex items-center space-x-2",children:[a.jsx("button",{type:"button",role:"checkbox","aria-checked":n.getIsVisible(),"data-state":n.getIsVisible()?"checked":"unchecked","aria-label":`Toggle column ${r}`,className:"peer border-input data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border bg-white shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 dark:bg-white/8",onClick:()=>{n.toggleVisibility(!n.getIsVisible())},children:n.getIsVisible()&&a.jsx("span",{"data-state":"checked","data-slot":"checkbox-indicator",className:"pointer-events-none flex items-center justify-center text-current transition-none",children:a.jsx(la,{className:"size-3.5 text-white"})})}),a.jsx("span",{children:r})]})},n.id)})})]})})}const Rte=({onDeleteSuccess:e,connectors:t=[]}={})=>[{accessorKey:zn.TITLE,size:40,header:({column:n})=>a.jsx(br,{column:n,children:Ki[zn.TITLE]}),cell:({row:n})=>a.jsx("div",{children:n.getValue("title")})},{accessorFn:n=>{const r=n.definitionType;if(r===$e.CONNECTOR){const s=n.definition,i=t.find(c=>c.name===s.connector.source.name);return(i==null?void 0:i.displayName)??(i==null?void 0:i.name)??"Unknown"}else{const{displayName:s}=M_.getInfo(r);return s}},id:zn.DEFINITION_TYPE,size:15,header:({column:n})=>a.jsx(br,{column:n,children:Ki[zn.DEFINITION_TYPE]}),cell:({row:n})=>{const r=n.original.definitionType;switch(r){case $e.CONNECTOR:{const s=n.original.definition,i=t.find(c=>c.name===s.connector.source.name);return a.jsxs("div",{className:"text-muted-foreground flex items-center gap-2",children:[(i==null?void 0:i.logoBase64)&&a.jsx(Mc,{base64:i.logoBase64,size:18}),(i==null?void 0:i.displayName)??"Unknown"]})}default:{const{displayName:s,icon:i}=M_.getInfo(r);return a.jsxs("div",{className:"text-muted-foreground flex items-center gap-2",children:[a.jsx(i,{className:"h-4 w-4"}),s]})}}}},{accessorKey:zn.STORAGE_TYPE,size:15,header:({column:n})=>a.jsx(br,{column:n,children:Ki[zn.STORAGE_TYPE]}),cell:({row:n})=>{const r=n.getValue("storageType"),s=n.original.storageTitle,{displayName:i,icon:c}=wl.getInfo(r),u=s??i;return a.jsxs("div",{className:"text-muted-foreground flex items-center gap-2",children:[a.jsx(c,{size:18}),u]})}},{accessorKey:zn.CREATED_AT,size:15,header:({column:n})=>a.jsx(br,{column:n,children:Ki[zn.CREATED_AT]}),cell:({row:n})=>{const r=n.getValue("createdAt"),s=new Intl.DateTimeFormat("en-US",{year:"numeric",month:"short",day:"numeric"}).format(r);return a.jsx("div",{className:"text-muted-foreground",children:s})}},{id:zn.CREATED_BY_USER,size:15,accessorFn:n=>{const r=n.createdByUser;return(r==null?void 0:r.fullName)??(r==null?void 0:r.email)},header:({column:n})=>a.jsx(br,{column:n,children:Ki[zn.CREATED_BY_USER]}),cell:({row:n})=>{const r=n.original.createdByUser;return r?a.jsx(E5,{userProjection:r}):a.jsx("div",{className:"text-muted-foreground",children:"—"})}},{accessorKey:zn.STATUS,size:15,header:({column:n})=>a.jsx(br,{column:n,children:Ki[zn.STATUS]}),cell:({row:n})=>{const r=n.getValue("status");return a.jsx(Vh,{type:UJ(r.code),variant:"ghost",showIcon:!1,children:r.displayName})}},{accessorKey:zn.TRIGGERS_COUNT,size:15,header:({column:n})=>a.jsx(br,{column:n,children:Ki[zn.TRIGGERS_COUNT]}),cell:({row:n})=>{const r=n.getValue("triggersCount")>0?n.getValue("triggersCount"):"—";return a.jsx("div",{className:"text-muted-foreground",children:r})}},{accessorKey:zn.REPORTS_COUNT,size:15,header:({column:n})=>a.jsx(br,{column:n,children:Ki[zn.REPORTS_COUNT]}),cell:({row:n})=>{const r=n.getValue("reportsCount")>0?n.getValue("reportsCount"):"—";return a.jsx("div",{className:"text-muted-foreground",children:r})}},{id:"actions",size:80,header:({table:n})=>a.jsx(Cd,{table:n}),cell:({row:n})=>a.jsx(wte,{row:n,onDeleteSuccess:e})}];var vr=(e=>(e.FETCH_CONNECTORS_START="FETCH_CONNECTORS_START",e.FETCH_CONNECTORS_SUCCESS="FETCH_CONNECTORS_SUCCESS",e.FETCH_CONNECTORS_ERROR="FETCH_CONNECTORS_ERROR",e.FETCH_CONNECTOR_SPECIFICATION_START="FETCH_CONNECTOR_SPECIFICATION_START",e.FETCH_CONNECTOR_SPECIFICATION_SUCCESS="FETCH_CONNECTOR_SPECIFICATION_SUCCESS",e.FETCH_CONNECTOR_SPECIFICATION_ERROR="FETCH_CONNECTOR_SPECIFICATION_ERROR",e.FETCH_CONNECTOR_FIELDS_START="FETCH_CONNECTOR_FIELDS_START",e.FETCH_CONNECTOR_FIELDS_SUCCESS="FETCH_CONNECTOR_FIELDS_SUCCESS",e.FETCH_CONNECTOR_FIELDS_ERROR="FETCH_CONNECTOR_FIELDS_ERROR",e))(vr||{});const jte={connectors:[],connectorSpecification:null,connectorFields:null,loading:!1,loadingSpecification:!1,loadingFields:!1,error:null};function Tte(e,t){switch(t.type){case vr.FETCH_CONNECTORS_START:return{...e,loading:!0,error:null};case vr.FETCH_CONNECTORS_SUCCESS:return{...e,connectors:t.payload,loading:!1,error:null};case vr.FETCH_CONNECTORS_ERROR:return{...e,loading:!1,error:t.payload};case vr.FETCH_CONNECTOR_SPECIFICATION_START:return{...e,loadingSpecification:!0,error:null};case vr.FETCH_CONNECTOR_SPECIFICATION_SUCCESS:return{...e,connectorSpecification:t.payload,loadingSpecification:!1,error:null};case vr.FETCH_CONNECTOR_SPECIFICATION_ERROR:return{...e,loadingSpecification:!1,error:t.payload};case vr.FETCH_CONNECTOR_FIELDS_START:return{...e,loadingFields:!0,error:null};case vr.FETCH_CONNECTOR_FIELDS_SUCCESS:return{...e,connectorFields:t.payload,loadingFields:!1,error:null};case vr.FETCH_CONNECTOR_FIELDS_ERROR:return{...e,loadingFields:!1,error:t.payload};default:return e}}const w5=h.createContext(void 0);function ld({children:e}){const[t,n]=h.useReducer(Tte,jte);return a.jsx(w5.Provider,{value:{state:t,dispatch:n},children:e})}function _te(){const e=h.useContext(w5);if(!e)throw new Error("useConnectorContext must be used within a ConnectorContextProvider");return e}var Ms=(e=>(e.STRING="string",e.NUMBER="number",e.BOOLEAN="boolean",e.OBJECT="object",e.ARRAY="array",e.DATE="date",e))(Ms||{});class $f extends El{constructor(){super("/connectors")}async getAvailableConnectors(){return this.get("/")}async getConnectorSpecification(t){return this.get(`/${t}/specification`)}async getConnectorFields(t){return this.get(`/${t}/fields`)}async exchangeCredentials(t,n){return this.post(`/${t}/oauth/exchange`,n)}async checkOAuthStatus(t,n){return this.get(`/${t}/oauth/status/${n}`)}async getOAuthSettings(t,n){return this.get(`/${t}/oauth/settings?path=${encodeURIComponent(n)}`)}}function R5(e){return e.map(t=>({name:t.name,displayName:t.title??t.name,description:t.description??"",logoBase64:t.logo,docUrl:t.docUrl})).sort((t,n)=>t.displayName.localeCompare(n.displayName))}function Pc(){const{state:e,dispatch:t}=_te(),n=h.useMemo(()=>R5(e.connectors),[e.connectors]),r=h.useCallback(async()=>{t({type:vr.FETCH_CONNECTORS_START});try{const u=await new $f().getAvailableConnectors();t({type:vr.FETCH_CONNECTORS_SUCCESS,payload:u})}catch(c){const u=c instanceof Error?c.message:"Unknown error";t({type:vr.FETCH_CONNECTORS_ERROR,payload:u}),De({event:"connector_error",category:"Connector",action:"ListError",label:u})}},[t]),s=h.useCallback(async c=>{t({type:vr.FETCH_CONNECTOR_SPECIFICATION_START});try{const f=await new $f().getConnectorSpecification(c);t({type:vr.FETCH_CONNECTOR_SPECIFICATION_SUCCESS,payload:f})}catch(u){const f=u instanceof Error?u.message:"Unknown error";t({type:vr.FETCH_CONNECTOR_SPECIFICATION_ERROR,payload:f}),De({event:"connector_error",category:"Connector",action:"SpecificationError",label:c})}},[t]),i=h.useCallback(async c=>{t({type:vr.FETCH_CONNECTOR_FIELDS_START});try{const f=await new $f().getConnectorFields(c);t({type:vr.FETCH_CONNECTOR_FIELDS_SUCCESS,payload:f})}catch(u){const f=u instanceof Error?u.message:"Unknown error";t({type:vr.FETCH_CONNECTOR_FIELDS_ERROR,payload:f}),De({event:"connector_error",category:"Connector",action:"FieldsError",label:c})}},[t]);return{connectors:n,connectorSpecification:e.connectorSpecification,connectorFields:e.connectorFields,loading:e.loading,loadingSpecification:e.loadingSpecification,loadingFields:e.loadingFields,error:e.error,fetchAvailableConnectors:r,fetchConnectorSpecification:s,fetchConnectorFields:i}}const Nte=()=>{const{items:e,loadDataMarts:t,deleteDataMart:n,refreshList:r,loading:s}=GO(),{connectors:i,fetchAvailableConnectors:c}=Pc();return h.useEffect(()=>{c()},[c]),h.useEffect(()=>{t()},[t]),a.jsx(vte,{columns:Rte({connectors:i}),data:e,deleteDataMart:n,refetchDataMarts:r,isLoading:s})};function k_(){return a.jsxs("div",{className:"dm-page",children:[a.jsx("header",{className:"dm-page-header",children:a.jsx("h1",{className:"dm-page-header-title",children:"Data Marts"})}),a.jsx("div",{className:"dm-page-content",children:a.jsx(GX,{children:a.jsx(ld,{children:a.jsx(Nte,{})})})})]})}const j5=h.createContext(void 0),Tf=e=>{const t=qJ(e);return{...e,canPublish:t.length===0,validationErrors:t}};var Na=(e=>(e.CONNECTED="CONNECTED",e.CONNECTED_WITH_DEFINITION_MISMATCH="CONNECTED_WITH_DEFINITION_MISMATCH",e.DISCONNECTED="DISCONNECTED",e))(Na||{}),lh=(e=>(e.NULLABLE="NULLABLE",e.REQUIRED="REQUIRED",e.REPEATED="REPEATED",e))(lh||{}),ar=(e=>(e.INTEGER="INTEGER",e.FLOAT="FLOAT",e.NUMERIC="NUMERIC",e.BIGNUMERIC="BIGNUMERIC",e.STRING="STRING",e.BYTES="BYTES",e.BOOLEAN="BOOLEAN",e.DATE="DATE",e.TIME="TIME",e.DATETIME="DATETIME",e.TIMESTAMP="TIMESTAMP",e.GEOGRAPHY="GEOGRAPHY",e.JSON="JSON",e.RECORD="RECORD",e.STRUCT="STRUCT",e.RANGE="RANGE",e.INTERVAL="INTERVAL",e))(ar||{}),M2=(e=>(e.BOOLEAN="BOOLEAN",e.TINYINT="TINYINT",e.SMALLINT="SMALLINT",e.INTEGER="INTEGER",e.BIGINT="BIGINT",e.REAL="REAL",e.FLOAT="FLOAT",e.DOUBLE="DOUBLE",e.DECIMAL="DECIMAL",e.CHAR="CHAR",e.VARCHAR="VARCHAR",e.STRING="STRING",e.BINARY="BINARY",e.VARBINARY="VARBINARY",e.DATE="DATE",e.TIME="TIME",e.TIMESTAMP="TIMESTAMP",e.TIME_WITH_TIME_ZONE="TIME WITH TIME ZONE",e.TIMESTAMP_WITH_TIME_ZONE="TIMESTAMP WITH TIME ZONE",e.INTERVAL_YEAR_TO_MONTH="INTERVAL YEAR TO MONTH",e.INTERVAL_DAY_TO_SECOND="INTERVAL DAY TO SECOND",e.ARRAY="ARRAY",e.MAP="MAP",e.STRUCT="STRUCT",e.ROW="ROW",e.JSON="JSON",e))(M2||{}),k2=(e=>(e.NUMBER="NUMBER",e.DECIMAL="DECIMAL",e.NUMERIC="NUMERIC",e.INT="INT",e.INTEGER="INTEGER",e.BIGINT="BIGINT",e.SMALLINT="SMALLINT",e.TINYINT="TINYINT",e.BYTEINT="BYTEINT",e.FLOAT="FLOAT",e.FLOAT4="FLOAT4",e.FLOAT8="FLOAT8",e.DOUBLE="DOUBLE",e.DOUBLE_PRECISION="DOUBLE PRECISION",e.REAL="REAL",e.VARCHAR="VARCHAR",e.CHAR="CHAR",e.CHARACTER="CHARACTER",e.STRING="STRING",e.TEXT="TEXT",e.BINARY="BINARY",e.VARBINARY="VARBINARY",e.BOOLEAN="BOOLEAN",e.DATE="DATE",e.DATETIME="DATETIME",e.TIME="TIME",e.TIMESTAMP="TIMESTAMP",e.TIMESTAMP_LTZ="TIMESTAMP_LTZ",e.TIMESTAMP_NTZ="TIMESTAMP_NTZ",e.TIMESTAMP_TZ="TIMESTAMP_TZ",e.VARIANT="VARIANT",e.OBJECT="OBJECT",e.ARRAY="ARRAY",e.GEOGRAPHY="GEOGRAPHY",e.GEOMETRY="GEOMETRY",e))(k2||{}),L2=(e=>(e.SMALLINT="SMALLINT",e.INTEGER="INTEGER",e.BIGINT="BIGINT",e.DECIMAL="DECIMAL",e.NUMERIC="NUMERIC",e.REAL="REAL",e.DOUBLE_PRECISION="DOUBLE PRECISION",e.VARCHAR="VARCHAR",e.CHAR="CHAR",e.TEXT="TEXT",e.BPCHAR="BPCHAR",e.BOOLEAN="BOOLEAN",e.BOOL="BOOL",e.DATE="DATE",e.TIMESTAMP="TIMESTAMP",e.TIMESTAMPTZ="TIMESTAMPTZ",e.TIME="TIME",e.TIMETZ="TIMETZ",e.BYTEA="BYTEA",e.SUPER="SUPER",e.GEOMETRY="GEOMETRY",e.GEOGRAPHY="GEOGRAPHY",e))(L2||{});const Ate=(e,t)=>e!==$e.CONNECTOR||t===null?!0:t.fields.some(r=>r.status===Na.CONNECTED),T5={dataMart:null,isLoading:!1,error:null,runs:[]};function Dte(e,t){switch(t.type){case"FETCH_DATA_MART_START":case"CREATE_DATA_MART_START":case"UPDATE_DATA_MART_START":case"UPDATE_DATA_MART_TITLE_START":case"UPDATE_DATA_MART_DESCRIPTION_START":case"UPDATE_DATA_MART_DEFINITION_START":case"DELETE_DATA_MART_START":case"PUBLISH_DATA_MART_START":case"RUN_DATA_MART_START":case"ACTUALIZE_DATA_MART_SCHEMA_START":case"UPDATE_DATA_MART_SCHEMA_START":case"FETCH_DATA_MART_RUNS_START":case"LOAD_MORE_DATA_MART_RUNS_START":return{...e,isLoading:!0,error:null};case"CREATE_DATA_MART_SUCCESS":return{...e,isLoading:!1,error:null};case"FETCH_DATA_MART_SUCCESS":case"UPDATE_DATA_MART_SUCCESS":case"PUBLISH_DATA_MART_SUCCESS":case"ACTUALIZE_DATA_MART_SCHEMA_SUCCESS":case"UPDATE_DATA_MART_SCHEMA_SUCCESS":return{...e,isLoading:!1,error:null,dataMart:Tf(t.payload)};case"UPDATE_DATA_MART_TITLE_SUCCESS":return e.dataMart?{...e,isLoading:!1,error:null,dataMart:Tf({...e.dataMart,title:t.payload,modifiedAt:new Date})}:e;case"UPDATE_DATA_MART_DESCRIPTION_SUCCESS":return e.dataMart?{...e,isLoading:!1,error:null,dataMart:Tf({...e.dataMart,description:t.payload,modifiedAt:new Date})}:e;case"UPDATE_DATA_MART_STORAGE":return e.dataMart?{...e,dataMart:Tf({...e.dataMart,storage:t.payload,modifiedAt:new Date})}:e;case"UPDATE_DATA_MART_DEFINITION_SUCCESS":return e.dataMart?{...e,isLoading:!1,error:null,dataMart:Tf({...e.dataMart,definitionType:t.payload.definitionType,definition:t.payload.definition,modifiedAt:new Date})}:e;case"DELETE_DATA_MART_SUCCESS":return{...e,isLoading:!1,error:null,dataMart:null};case"RUN_DATA_MART_SUCCESS":return{...e,isLoading:!1,error:null};case"FETCH_DATA_MART_RUNS_SUCCESS":return{...e,isLoading:!1,error:null,runs:t.payload};case"LOAD_MORE_DATA_MART_RUNS_SUCCESS":return{...e,isLoading:!1,error:null,runs:[...e.runs,...t.payload]};case"FETCH_DATA_MART_ERROR":case"CREATE_DATA_MART_ERROR":case"UPDATE_DATA_MART_ERROR":case"UPDATE_DATA_MART_TITLE_ERROR":case"UPDATE_DATA_MART_DESCRIPTION_ERROR":case"UPDATE_DATA_MART_DEFINITION_ERROR":case"DELETE_DATA_MART_ERROR":case"PUBLISH_DATA_MART_ERROR":case"RUN_DATA_MART_ERROR":case"ACTUALIZE_DATA_MART_SCHEMA_ERROR":case"UPDATE_DATA_MART_SCHEMA_ERROR":case"FETCH_DATA_MART_RUNS_ERROR":case"LOAD_MORE_DATA_MART_RUNS_ERROR":return{...e,isLoading:!1,error:t.payload};case"RESET":return T5;default:return e}}function Rs(){const e=h.useContext(j5);if(e===void 0)throw new Error("useDataMartContext must be used within a DataMartProvider");return e}class Ote{mapFromDto(t){const n=t.config,r=t.credentials;let s="";return r&&Object.keys(r).length>0&&(s=JSON.stringify(r,null,2)),{id:t.id,title:t.title,type:xe.GOOGLE_BIGQUERY,createdAt:new Date(t.createdAt),modifiedAt:new Date(t.modifiedAt),credentials:{serviceAccount:s},config:{projectId:(n==null?void 0:n.projectId)??"",location:(n==null?void 0:n.location)??""}}}mapToUpdateRequest(t){const n={config:{projectId:t.config.projectId,location:t.config.location}};return t.credentials&&(n.credentials={...JSON.parse(t.credentials.serviceAccount)}),n}}class Ite{mapFromDto(t){const n=t.config,r=t.credentials;return{id:t.id,title:t.title,type:xe.AWS_ATHENA,createdAt:new Date(t.createdAt),modifiedAt:new Date(t.modifiedAt),credentials:{accessKeyId:(r==null?void 0:r.accessKeyId)??"",secretAccessKey:(r==null?void 0:r.secretAccessKey)??""},config:{region:(n==null?void 0:n.region)??"",outputBucket:(n==null?void 0:n.outputBucket)??""}}}mapToUpdateRequest(t){const n={config:{region:t.config.region,outputBucket:t.config.outputBucket}};return t.credentials&&(n.credentials={accessKeyId:t.credentials.accessKeyId,secretAccessKey:t.credentials.secretAccessKey}),n}}class Mte{mapFromDto(t){const n=t.config,r=t.credentials,s=r?r.authMethod==="KEY_PAIR"?{authMethod:zs.KEY_PAIR,username:r.username??"",privateKey:r.privateKey??"",privateKeyPassphrase:r.privateKeyPassphrase}:{authMethod:zs.PASSWORD,username:r.username??"",password:r.password??""}:void 0;return{id:t.id,title:t.title,type:xe.SNOWFLAKE,createdAt:new Date(t.createdAt),modifiedAt:new Date(t.modifiedAt),credentials:s??{authMethod:zs.PASSWORD,username:"",password:""},config:n?{account:n.account,warehouse:n.warehouse}:{account:"",warehouse:""}}}mapToUpdateRequest(t){const n={config:{account:t.config.account,warehouse:t.config.warehouse}};if(t.credentials){const r=t.credentials;n.credentials={authMethod:r.authMethod,username:r.username,...r.authMethod===zs.PASSWORD?{password:r.password}:{privateKey:r.privateKey,privateKeyPassphrase:r.privateKeyPassphrase}}}return n}}class kte{mapFromDto(t){const n=t.config,r=t.credentials;let s=sr.SERVERLESS;n!=null&&n.clusterIdentifier&&(s=sr.PROVISIONED);const i=(n==null?void 0:n.connectionType)??s;return{id:t.id,title:t.title,type:xe.AWS_REDSHIFT,createdAt:new Date(t.createdAt),modifiedAt:new Date(t.modifiedAt),credentials:r?{accessKeyId:r.accessKeyId??"",secretAccessKey:r.secretAccessKey??""}:{accessKeyId:"",secretAccessKey:""},config:n?i===sr.SERVERLESS?{connectionType:sr.SERVERLESS,region:n.region,database:n.database,workgroupName:n.workgroupName??""}:{connectionType:sr.PROVISIONED,region:n.region,database:n.database,clusterIdentifier:n.clusterIdentifier??""}:{connectionType:sr.SERVERLESS,region:"",database:"",workgroupName:""}}}mapToUpdateRequest(t){const n=t.config,r={config:{connectionType:n.connectionType,region:n.region,database:n.database,...n.connectionType===sr.SERVERLESS?{workgroupName:n.workgroupName}:{clusterIdentifier:n.clusterIdentifier}}};return t.credentials&&(r.credentials={accessKeyId:t.credentials.accessKeyId,secretAccessKey:t.credentials.secretAccessKey}),r}}const _5={getMapper(e){switch(e){case xe.GOOGLE_BIGQUERY:return new Ote;case xe.AWS_ATHENA:return new Ite;case xe.SNOWFLAKE:return new Mte;case xe.AWS_REDSHIFT:return new kte;default:throw new Error(`Unknown storage type: ${e}`)}}};function Qp(e){return _5.getMapper(e.type).mapFromDto(e)}function Lte(e){const t=_5.getMapper(e.type);return{title:e.title,...t.mapToUpdateRequest(e)}}function Pte(e){return{id:e.id,type:e.type,title:e.title,createdAt:new Date(e.createdAt),modifiedAt:new Date(e.modifiedAt)}}function Ute(e){return{type:e}}let Op=null;async function zte(){if(Op)return Op;const e=await Fte();return Op=R5(e),Op}async function Fte(){return await new $f().getAvailableConnectors()}async function Hte(e){const t=await zte();return t.length===0?null:t.find(r=>r.name===e)??null}function Vte(e,t){const n=t.find(r=>r.name===e.source.name);return(n==null?void 0:n.displayName)??e.source.name}function $te(e){return{sqlQuery:e.sqlQuery}}function Bte(e){return{sqlQuery:e.sqlQuery}}function Gte(e){return{fullyQualifiedName:e.fullyQualifiedName}}function qte(e){return{fullyQualifiedName:e.fullyQualifiedName}}function Kte(e){return{fullyQualifiedName:e.fullyQualifiedName}}function Wte(e){return{fullyQualifiedName:e.fullyQualifiedName}}function Yte(e){return{pattern:e.pattern}}function Zte(e){return{pattern:e.pattern}}function Xte(e){return{connector:{source:{name:e.connector.source.name,configuration:e.connector.source.configuration,node:e.connector.source.node,fields:e.connector.source.fields},storage:{fullyQualifiedName:e.connector.storage.fullyQualifiedName}}}}function Qte(e){const t=e.connector;return{connector:{source:{name:t.source.name,configuration:t.source.configuration,node:t.source.node,fields:t.source.fields},storage:{fullyQualifiedName:t.storage.fullyQualifiedName}}}}async function Jte(e,t){if(!e||!t)return null;switch(e){case $e.SQL:return Bte(t);case $e.TABLE:return qte(t);case $e.VIEW:return Wte(t);case $e.TABLE_PATTERN:return Zte(t);case $e.CONNECTOR:{const n=Qte(t);return n.connector.info=await Hte(n.connector.source.name),n}default:return console.warn(`Unknown definition type: ${String(e)}`),null}}async function Tu(e){const t={id:e.id,title:e.title,description:e.description,status:fO.getInfo(e.status),storage:Qp(e.storage),definitionType:e.definitionType,definition:await Jte(e.definitionType,e.definition),schema:e.schema,connectorState:e.connectorState??null,createdAt:new Date(e.createdAt),modifiedAt:new Date(e.modifiedAt),canPublish:!1,canActualizeSchema:!1,validationErrors:[]};return t.canActualizeSchema=Ate(t.definitionType,t.schema),t}function ene(e){return{id:e.id,title:e.title}}const tne=e=>({id:e.id,status:e.status,createdAt:new Date(e.createdAt),logs:e.logs??[],errors:e.errors??[],definitionRun:e.definitionRun,type:e.type,triggerType:e.runType,startedAt:e.startedAt?new Date(e.startedAt):null,finishedAt:e.finishedAt?new Date(e.finishedAt):null,reportDefinition:e.reportDefinition?e.reportDefinition:null,reportId:e.reportId,insightDefinition:e.insightDefinition??null,insightId:e.insightId,createdByUser:e.createdByUser}),L_=e=>e.runs.map(tne);function N5({children:e}){const[t,n]=h.useReducer(Dte,T5),r=h.useCallback(async A=>{try{n({type:"FETCH_DATA_MART_START"});const T=await Tn.getDataMartById(A),M=await Tu(T);n({type:"FETCH_DATA_MART_SUCCESS",payload:M}),i2({context:M.id,value:M.title})}catch(T){n({type:"FETCH_DATA_MART_ERROR",payload:mn(T)})}},[]),s=h.useCallback(async A=>{try{n({type:"CREATE_DATA_MART_START"});const T=await Tn.createDataMart(A),M=ene(T);return n({type:"CREATE_DATA_MART_SUCCESS",payload:M}),De({event:"data_mart_created",category:"DataMart",action:"Create",label:M.id,value:M.title}),kt.success("Data Mart created"),M}catch(T){const M=mn(T);throw n({type:"CREATE_DATA_MART_ERROR",payload:M}),De({event:"data_mart_error",category:"DataMart",action:"CreateError",value:A.title,error:M.message}),T}},[]),i=h.useCallback(async(A,T)=>{try{n({type:"UPDATE_DATA_MART_START"});const M=await Tn.updateDataMart(A,T),k=await Tu(M);n({type:"UPDATE_DATA_MART_SUCCESS",payload:k}),De({event:"data_mart_updated",category:"DataMart",action:"Update",label:k.id,value:k.title})}catch(M){const k=mn(M);n({type:"UPDATE_DATA_MART_ERROR",payload:k}),De({event:"data_mart_error",category:"DataMart",action:"UpdateError",label:A,value:T.title})}},[]),c=h.useCallback(async A=>{try{n({type:"DELETE_DATA_MART_START"}),await Tn.deleteDataMart(A),n({type:"DELETE_DATA_MART_SUCCESS"}),De({event:"data_mart_deleted",category:"DataMart",action:"Delete",label:A}),kt.success("Data Mart deleted")}catch(T){const M=mn(T);n({type:"DELETE_DATA_MART_ERROR",payload:M}),De({event:"data_mart_error",category:"DataMart",action:"DeleteError",label:A,error:M.message})}},[]),u=h.useCallback(async(A,T)=>{try{n({type:"UPDATE_DATA_MART_TITLE_START"}),await Tn.updateDataMartTitle(A,T),n({type:"UPDATE_DATA_MART_TITLE_SUCCESS",payload:T}),De({event:"data_mart_updated",category:"DataMart",action:"UpdateTitle",label:A,value:T}),kt.success("Title updated")}catch(M){const k=mn(M);n({type:"UPDATE_DATA_MART_TITLE_ERROR",payload:k}),De({event:"data_mart_error",category:"DataMart",action:"UpdateTitleError",label:A,error:k.message})}},[]),f=h.useCallback(async(A,T)=>{try{n({type:"UPDATE_DATA_MART_DESCRIPTION_START"}),await Tn.updateDataMartDescription(A,T),n({type:"UPDATE_DATA_MART_DESCRIPTION_SUCCESS",payload:T??""}),De({event:"data_mart_updated",category:"DataMart",action:"UpdateDescription",label:A}),kt.success("Description updated")}catch(M){const k=mn(M);n({type:"UPDATE_DATA_MART_DESCRIPTION_ERROR",payload:k}),De({event:"data_mart_error",category:"DataMart",action:"UpdateDescriptionError",label:A,error:k.message})}},[]),m=h.useCallback(A=>{n({type:"UPDATE_DATA_MART_STORAGE",payload:A})},[]),x=h.useCallback(async(A,T,M)=>{try{n({type:"UPDATE_DATA_MART_DEFINITION_START"});let k;switch(T){case $e.SQL:k={definitionType:T,definition:$te(M)};break;case $e.TABLE:k={definitionType:T,definition:Gte(M)};break;case $e.VIEW:k={definitionType:T,definition:Kte(M)};break;case $e.TABLE_PATTERN:k={definitionType:T,definition:Yte(M)};break;case $e.CONNECTOR:{const G=M;let B;for(const q of G.connector.source.configuration){const V=q;if(V._copiedFrom){B=V._copiedFrom.dataMartId;break}}k={definitionType:$e.CONNECTOR,definition:Xte(G),sourceDataMartId:B};break}default:throw new Error(`Unsupported definition type: ${String(T)}`)}const z=await Tn.updateDataMartDefinition(A,k),L=await Tu(z);n({type:"UPDATE_DATA_MART_DEFINITION_SUCCESS",payload:{definitionType:T,definition:M}}),n({type:"UPDATE_DATA_MART_SUCCESS",payload:L}),De({event:"data_mart_updated",category:"DataMart",action:"UpdateDefinition",label:T,context:L.id,value:L.title})}catch(k){const z=mn(k);n({type:"UPDATE_DATA_MART_DEFINITION_ERROR",payload:z}),De({event:"data_mart_error",category:"DataMart",action:"UpdateDefinitionError",label:T,context:A,error:z.message})}},[]),g=h.useCallback(async A=>{try{n({type:"PUBLISH_DATA_MART_START"});const T=await Tn.publishDataMart(A),M=await Tu(T);n({type:"PUBLISH_DATA_MART_SUCCESS",payload:M}),kt.success("Data Mart published"),De({event:"data_mart_published",category:"DataMart",action:"Publish",label:M.storage.type,context:M.id,value:M.title,details:M.definitionType??"No definition"})}catch(T){const M=mn(T);throw n({type:"PUBLISH_DATA_MART_ERROR",payload:M}),De({event:"data_mart_error",category:"DataMart",action:"PublishError",label:A,error:M.message}),T}},[]),y=h.useCallback(async(A,T=5,M=0,k)=>{try{k!=null&&k.silent||n({type:"FETCH_DATA_MART_RUNS_START"});const z=await Tn.getDataMartRuns(A,T,M,k!=null&&k.silent?{skipLoadingIndicator:!0}:void 0),L=L_(z);return n({type:"FETCH_DATA_MART_RUNS_SUCCESS",payload:L}),L}catch(z){throw n({type:"FETCH_DATA_MART_RUNS_ERROR",payload:mn(z)}),z}},[]),v=h.useCallback(async(A,T,M=5)=>{try{n({type:"LOAD_MORE_DATA_MART_RUNS_START"});const k=await Tn.getDataMartRuns(A,M,T),z=L_(k);return n({type:"LOAD_MORE_DATA_MART_RUNS_SUCCESS",payload:z}),De({event:"data_mart_runs_loaded",category:"DataMart",action:"LoadMore",context:A}),z}catch(k){throw n({type:"LOAD_MORE_DATA_MART_RUNS_ERROR",payload:mn(k)}),k}},[]),S=h.useCallback(async A=>{const T=kt.loading("Manual run started");try{n({type:"RUN_DATA_MART_START"}),De({event:"data_mart_run_started",category:"DataMart",action:"Run",label:"Manual",context:A.id}),await Tn.runDataMart(A.id,A.payload),n({type:"RUN_DATA_MART_SUCCESS"})}catch(M){kt.dismiss(T);const k=mn(M);n({type:"RUN_DATA_MART_ERROR",payload:k}),De({event:"data_mart_error",category:"DataMart",action:"RunError",label:"Manual",context:A.id,error:k.message})}},[]),b=h.useCallback(async(A,T)=>{try{await Tn.cancelDataMartRun(A,T),await y(A),kt.success("Data Mart run canceled"),De({event:"data_mart_run_canceled",category:"DataMart",action:"CancelRun",label:"Manual"})}catch(M){const k=mn(M);n({type:"RUN_DATA_MART_ERROR",payload:k}),De({event:"data_mart_error",category:"DataMart",action:"CancelRunError",error:k.message})}},[y]),E=h.useCallback(async(A,T)=>{try{return await Tn.getDataMartRunById(A,T)}catch(M){const k=mn(M);throw De({event:"data_mart_error",category:"DataMart",action:"FetchRunDetailsError",error:k.message}),M}},[]),R=h.useCallback(async A=>{try{n({type:"ACTUALIZE_DATA_MART_SCHEMA_START"});const T=await Tn.actualizeDataMartSchema(A),M=await Tu(T);n({type:"ACTUALIZE_DATA_MART_SCHEMA_SUCCESS",payload:M}),kt.success("Output schema actualized"),De({event:"data_mart_schema_actualized",category:"DataMart",action:"ActualizeSchema",label:"Automatic"})}catch(T){const M=mn(T);n({type:"ACTUALIZE_DATA_MART_SCHEMA_ERROR",payload:M}),De({event:"data_mart_error",category:"DataMart",action:"ActualizeSchemaError",error:M.message})}},[]),j=h.useCallback(async(A,T)=>{try{n({type:"UPDATE_DATA_MART_SCHEMA_START"});const M=await Tn.updateDataMartSchema(A,{schema:T}),k=await Tu(M);n({type:"UPDATE_DATA_MART_SCHEMA_SUCCESS",payload:k}),kt.success("Output schema updated"),De({event:"data_mart_schema_updated",category:"DataMart",action:"UpdateSchema",label:"Manual"})}catch(M){const k=mn(M);n({type:"UPDATE_DATA_MART_SCHEMA_ERROR",payload:k}),De({event:"data_mart_error",category:"DataMart",action:"UpdateSchemaError",error:k.message})}},[]),_=h.useCallback(()=>{n({type:"RESET"})},[]),D=h.useCallback(()=>t.error?t.error.message:null,[t.error]),O={...t,getDataMart:r,createDataMart:s,updateDataMart:i,deleteDataMart:c,updateDataMartTitle:u,updateDataMartDescription:f,updateDataMartStorage:m,updateDataMartDefinition:x,publishDataMart:g,runDataMart:S,cancelDataMartRun:b,actualizeDataMartSchema:R,updateDataMartSchema:j,getDataMartRuns:y,getDataMartRunById:E,loadMoreDataMartRuns:v,getErrorMessage:D,reset:_};return a.jsx(j5.Provider,{value:O,children:e})}var qh=e=>e.type==="checkbox",ic=e=>e instanceof Date,Ra=e=>e==null;const A5=e=>typeof e=="object";var mr=e=>!Ra(e)&&!Array.isArray(e)&&A5(e)&&!ic(e),D5=e=>mr(e)&&e.target?qh(e.target)?e.target.checked:e.target.value:e,nne=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,O5=(e,t)=>e.has(nne(t)),rne=e=>{const t=e.constructor&&e.constructor.prototype;return mr(t)&&t.hasOwnProperty("isPrototypeOf")},P2=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function yr(e){let t;const n=Array.isArray(e),r=typeof FileList<"u"?e instanceof FileList:!1;if(e instanceof Date)t=new Date(e);else if(!(P2&&(e instanceof Blob||r))&&(n||mr(e)))if(t=n?[]:Object.create(Object.getPrototypeOf(e)),!n&&!rne(e))t=e;else for(const s in e)e.hasOwnProperty(s)&&(t[s]=yr(e[s]));else return e;return t}var Hx=e=>/^\w*$/.test(e),Xn=e=>e===void 0,U2=e=>Array.isArray(e)?e.filter(Boolean):[],z2=e=>U2(e.replace(/["|']|\]/g,"").split(/\.|\[/)),Pe=(e,t,n)=>{if(!t||!mr(e))return n;const r=(Hx(t)?[t]:z2(t)).reduce((s,i)=>Ra(s)?s:s[i],e);return Xn(r)||r===e?Xn(e[t])?n:e[t]:r},Ka=e=>typeof e=="boolean",Cn=(e,t,n)=>{let r=-1;const s=Hx(t)?[t]:z2(t),i=s.length,c=i-1;for(;++r<i;){const u=s[r];let f=n;if(r!==c){const m=e[u];f=mr(m)||Array.isArray(m)?m:isNaN(+s[r+1])?{}:[]}if(u==="__proto__"||u==="constructor"||u==="prototype")return;e[u]=f,e=e[u]}};const Og={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},ks={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},Xo={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},F2=ae.createContext(null);F2.displayName="HookFormContext";const Ed=()=>ae.useContext(F2),I5=e=>{const{children:t,...n}=e;return ae.createElement(F2.Provider,{value:n},t)};var M5=(e,t,n,r=!0)=>{const s={defaultValues:t._defaultValues};for(const i in e)Object.defineProperty(s,i,{get:()=>{const c=i;return t._proxyFormState[c]!==ks.all&&(t._proxyFormState[c]=!r||ks.all),n&&(n[c]=!0),e[c]}});return s};const H2=typeof window<"u"?ae.useLayoutEffect:ae.useEffect;function k5(e){const t=Ed(),{control:n=t.control,disabled:r,name:s,exact:i}=e||{},[c,u]=ae.useState(n._formState),f=ae.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return H2(()=>n._subscribe({name:s,formState:f.current,exact:i,callback:m=>{!r&&u({...n._formState,...m})}}),[s,r,i]),ae.useEffect(()=>{f.current.isValid&&n._setValid(!0)},[n]),ae.useMemo(()=>M5(c,n,f.current,!1),[c,n])}var Za=e=>typeof e=="string",Ib=(e,t,n,r,s)=>Za(e)?(r&&t.watch.add(e),Pe(n,e,s)):Array.isArray(e)?e.map(i=>(r&&t.watch.add(i),Pe(n,i))):(r&&(t.watchAll=!0),n),Mb=e=>Ra(e)||!A5(e);function Ls(e,t,n=new WeakSet){if(Mb(e)||Mb(t))return Object.is(e,t);if(ic(e)&&ic(t))return e.getTime()===t.getTime();const r=Object.keys(e),s=Object.keys(t);if(r.length!==s.length)return!1;if(n.has(e)||n.has(t))return!0;n.add(e),n.add(t);for(const i of r){const c=e[i];if(!s.includes(i))return!1;if(i!=="ref"){const u=t[i];if(ic(c)&&ic(u)||mr(c)&&mr(u)||Array.isArray(c)&&Array.isArray(u)?!Ls(c,u,n):!Object.is(c,u))return!1}}return!0}function ane(e){const t=Ed(),{control:n=t.control,name:r,defaultValue:s,disabled:i,exact:c,compute:u}=e||{},f=ae.useRef(s),m=ae.useRef(u),x=ae.useRef(void 0),g=ae.useRef(n),y=ae.useRef(r);m.current=u;const[v,S]=ae.useState(()=>{const D=n._getWatch(r,f.current);return m.current?m.current(D):D}),b=ae.useCallback(D=>{const O=Ib(r,n._names,D||n._formValues,!1,f.current);return m.current?m.current(O):O},[n._formValues,n._names,r]),E=ae.useCallback(D=>{if(!i){const O=Ib(r,n._names,D||n._formValues,!1,f.current);if(m.current){const A=m.current(O);Ls(A,x.current)||(S(A),x.current=A)}else S(O)}},[n._formValues,n._names,i,r]);H2(()=>((g.current!==n||!Ls(y.current,r))&&(g.current=n,y.current=r,E()),n._subscribe({name:r,formState:{values:!0},exact:c,callback:D=>{E(D.values)}})),[n,c,r,E]),ae.useEffect(()=>n._removeUnmounted());const R=g.current!==n,j=y.current,_=ae.useMemo(()=>{if(i)return null;const D=!R&&!Ls(j,r);return R||D?b():null},[i,R,r,j,b]);return _!==null?_:v}function sne(e){const t=Ed(),{name:n,disabled:r,control:s=t.control,shouldUnregister:i,defaultValue:c,exact:u=!0}=e,f=O5(s._names.array,n),m=ae.useMemo(()=>Pe(s._formValues,n,Pe(s._defaultValues,n,c)),[s,n,c]),x=ane({control:s,name:n,defaultValue:m,exact:u}),g=k5({control:s,name:n,exact:u}),y=ae.useRef(e),v=ae.useRef(void 0),S=ae.useRef(s.register(n,{...e.rules,value:x,...Ka(e.disabled)?{disabled:e.disabled}:{}}));y.current=e;const b=ae.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!Pe(g.errors,n)},isDirty:{enumerable:!0,get:()=>!!Pe(g.dirtyFields,n)},isTouched:{enumerable:!0,get:()=>!!Pe(g.touchedFields,n)},isValidating:{enumerable:!0,get:()=>!!Pe(g.validatingFields,n)},error:{enumerable:!0,get:()=>Pe(g.errors,n)}}),[g,n]),E=ae.useCallback(D=>S.current.onChange({target:{value:D5(D),name:n},type:Og.CHANGE}),[n]),R=ae.useCallback(()=>S.current.onBlur({target:{value:Pe(s._formValues,n),name:n},type:Og.BLUR}),[n,s._formValues]),j=ae.useCallback(D=>{const O=Pe(s._fields,n);O&&D&&(O._f.ref={focus:()=>D.focus&&D.focus(),select:()=>D.select&&D.select(),setCustomValidity:A=>D.setCustomValidity(A),reportValidity:()=>D.reportValidity()})},[s._fields,n]),_=ae.useMemo(()=>({name:n,value:x,...Ka(r)||g.disabled?{disabled:g.disabled||r}:{},onChange:E,onBlur:R,ref:j}),[n,r,g.disabled,E,R,j,x]);return ae.useEffect(()=>{const D=s._options.shouldUnregister||i,O=v.current;O&&O!==n&&!f&&s.unregister(O),s.register(n,{...y.current.rules,...Ka(y.current.disabled)?{disabled:y.current.disabled}:{}});const A=(T,M)=>{const k=Pe(s._fields,T);k&&k._f&&(k._f.mount=M)};if(A(n,!0),D){const T=yr(Pe(s._options.defaultValues,n,y.current.defaultValue));Cn(s._defaultValues,n,T),Xn(Pe(s._formValues,n))&&Cn(s._formValues,n,T)}return!f&&s.register(n),v.current=n,()=>{(f?D&&!s._state.action:D)?s.unregister(n):A(n,!1)}},[n,s,f,i]),ae.useEffect(()=>{s._setDisabledField({disabled:r,name:n})},[r,n,s]),ae.useMemo(()=>({field:_,formState:g,fieldState:b}),[_,g,b])}const one=e=>e.render(sne(e));var V2=(e,t,n,r,s)=>t?{...n[e],types:{...n[e]&&n[e].types?n[e].types:{},[r]:s||!0}}:{},Bf=e=>Array.isArray(e)?e:[e],P_=()=>{let e=[];return{get observers(){return e},next:s=>{for(const i of e)i.next&&i.next(s)},subscribe:s=>(e.push(s),{unsubscribe:()=>{e=e.filter(i=>i!==s)}}),unsubscribe:()=>{e=[]}}};function L5(e,t){const n={};for(const r in e)if(e.hasOwnProperty(r)){const s=e[r],i=t[r];if(s&&mr(s)&&i){const c=L5(s,i);mr(c)&&(n[r]=c)}else e[r]&&(n[r]=i)}return n}var ra=e=>mr(e)&&!Object.keys(e).length,$2=e=>e.type==="file",Ps=e=>typeof e=="function",Ig=e=>{if(!P2)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},P5=e=>e.type==="select-multiple",B2=e=>e.type==="radio",ine=e=>B2(e)||qh(e),S1=e=>Ig(e)&&e.isConnected;function lne(e,t){const n=t.slice(0,-1).length;let r=0;for(;r<n;)e=Xn(e)?r++:e[t[r++]];return e}function cne(e){for(const t in e)if(e.hasOwnProperty(t)&&!Xn(e[t]))return!1;return!0}function fr(e,t){const n=Array.isArray(t)?t:Hx(t)?[t]:z2(t),r=n.length===1?e:lne(e,n),s=n.length-1,i=n[s];return r&&delete r[i],s!==0&&(mr(r)&&ra(r)||Array.isArray(r)&&cne(r))&&fr(e,n.slice(0,-1)),e}var une=e=>{for(const t in e)if(Ps(e[t]))return!0;return!1};function U5(e){return Array.isArray(e)||mr(e)&&!une(e)}function kb(e,t={}){for(const n in e){const r=e[n];U5(r)?(t[n]=Array.isArray(r)?[]:{},kb(r,t[n])):Xn(r)||(t[n]=!0)}return t}function Iu(e,t,n){n||(n=kb(t));for(const r in e){const s=e[r];if(U5(s))Xn(t)||Mb(n[r])?n[r]=kb(s,Array.isArray(s)?[]:{}):Iu(s,Ra(t)?{}:t[r],n[r]);else{const i=t[r];n[r]=!Ls(s,i)}}return n}const U_={value:!1,isValid:!1},z_={value:!0,isValid:!0};var z5=e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter(n=>n&&n.checked&&!n.disabled).map(n=>n.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!Xn(e[0].attributes.value)?Xn(e[0].value)||e[0].value===""?z_:{value:e[0].value,isValid:!0}:z_:U_}return U_},F5=(e,{valueAsNumber:t,valueAsDate:n,setValueAs:r})=>Xn(e)?e:t?e===""?NaN:e&&+e:n&&Za(e)?new Date(e):r?r(e):e;const F_={isValid:!1,value:null};var H5=e=>Array.isArray(e)?e.reduce((t,n)=>n&&n.checked&&!n.disabled?{isValid:!0,value:n.value}:t,F_):F_;function H_(e){const t=e.ref;return $2(t)?t.files:B2(t)?H5(e.refs).value:P5(t)?[...t.selectedOptions].map(({value:n})=>n):qh(t)?z5(e.refs).value:F5(Xn(t.value)?e.ref.value:t.value,e)}var dne=(e,t,n,r)=>{const s={};for(const i of e){const c=Pe(t,i);c&&Cn(s,i,c._f)}return{criteriaMode:n,names:[...e],fields:s,shouldUseNativeValidation:r}},Mg=e=>e instanceof RegExp,_f=e=>Xn(e)?e:Mg(e)?e.source:mr(e)?Mg(e.value)?e.value.source:e.value:e,V_=e=>({isOnSubmit:!e||e===ks.onSubmit,isOnBlur:e===ks.onBlur,isOnChange:e===ks.onChange,isOnAll:e===ks.all,isOnTouch:e===ks.onTouched});const $_="AsyncFunction";var fne=e=>!!e&&!!e.validate&&!!(Ps(e.validate)&&e.validate.constructor.name===$_||mr(e.validate)&&Object.values(e.validate).find(t=>t.constructor.name===$_)),hne=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),B_=(e,t,n)=>!n&&(t.watchAll||t.watch.has(e)||[...t.watch].some(r=>e.startsWith(r)&&/^\.\w+/.test(e.slice(r.length))));const Gf=(e,t,n,r)=>{for(const s of n||Object.keys(e)){const i=Pe(e,s);if(i){const{_f:c,...u}=i;if(c){if(c.refs&&c.refs[0]&&t(c.refs[0],s)&&!r)return!0;if(c.ref&&t(c.ref,c.name)&&!r)return!0;if(Gf(u,t))break}else if(mr(u)&&Gf(u,t))break}}};function G_(e,t,n){const r=Pe(e,n);if(r||Hx(n))return{error:r,name:n};const s=n.split(".");for(;s.length;){const i=s.join("."),c=Pe(t,i),u=Pe(e,i);if(c&&!Array.isArray(c)&&n!==i)return{name:n};if(u&&u.type)return{name:i,error:u};if(u&&u.root&&u.root.type)return{name:`${i}.root`,error:u.root};s.pop()}return{name:n}}var mne=(e,t,n,r)=>{n(e);const{name:s,...i}=e;return ra(i)||Object.keys(i).length>=Object.keys(t).length||Object.keys(i).find(c=>t[c]===(!r||ks.all))},pne=(e,t,n)=>!e||!t||e===t||Bf(e).some(r=>r&&(n?r===t:r.startsWith(t)||t.startsWith(r))),gne=(e,t,n,r,s)=>s.isOnAll?!1:!n&&s.isOnTouch?!(t||e):(n?r.isOnBlur:s.isOnBlur)?!e:(n?r.isOnChange:s.isOnChange)?e:!0,xne=(e,t)=>!U2(Pe(e,t)).length&&fr(e,t),yne=(e,t,n)=>{const r=Bf(Pe(e,n));return Cn(r,"root",t[n]),Cn(e,n,r),e};function q_(e,t,n="validate"){if(Za(e)||Array.isArray(e)&&e.every(Za)||Ka(e)&&!e)return{type:n,message:Za(e)?e:"",ref:t}}var _u=e=>mr(e)&&!Mg(e)?e:{value:e,message:""},K_=async(e,t,n,r,s,i)=>{const{ref:c,refs:u,required:f,maxLength:m,minLength:x,min:g,max:y,pattern:v,validate:S,name:b,valueAsNumber:E,mount:R}=e._f,j=Pe(n,b);if(!R||t.has(b))return{};const _=u?u[0]:c,D=G=>{s&&_.reportValidity&&(_.setCustomValidity(Ka(G)?"":G||""),_.reportValidity())},O={},A=B2(c),T=qh(c),M=A||T,k=(E||$2(c))&&Xn(c.value)&&Xn(j)||Ig(c)&&c.value===""||j===""||Array.isArray(j)&&!j.length,z=V2.bind(null,b,r,O),L=(G,B,q,V=Xo.maxLength,I=Xo.minLength)=>{const K=G?B:q;O[b]={type:G?V:I,message:K,ref:c,...z(G?V:I,K)}};if(i?!Array.isArray(j)||!j.length:f&&(!M&&(k||Ra(j))||Ka(j)&&!j||T&&!z5(u).isValid||A&&!H5(u).isValid)){const{value:G,message:B}=Za(f)?{value:!!f,message:f}:_u(f);if(G&&(O[b]={type:Xo.required,message:B,ref:_,...z(Xo.required,B)},!r))return D(B),O}if(!k&&(!Ra(g)||!Ra(y))){let G,B;const q=_u(y),V=_u(g);if(!Ra(j)&&!isNaN(j)){const I=c.valueAsNumber||j&&+j;Ra(q.value)||(G=I>q.value),Ra(V.value)||(B=I<V.value)}else{const I=c.valueAsDate||new Date(j),K=me=>new Date(new Date().toDateString()+" "+me),$=c.type=="time",ee=c.type=="week";Za(q.value)&&j&&(G=$?K(j)>K(q.value):ee?j>q.value:I>new Date(q.value)),Za(V.value)&&j&&(B=$?K(j)<K(V.value):ee?j<V.value:I<new Date(V.value))}if((G||B)&&(L(!!G,q.message,V.message,Xo.max,Xo.min),!r))return D(O[b].message),O}if((m||x)&&!k&&(Za(j)||i&&Array.isArray(j))){const G=_u(m),B=_u(x),q=!Ra(G.value)&&j.length>+G.value,V=!Ra(B.value)&&j.length<+B.value;if((q||V)&&(L(q,G.message,B.message),!r))return D(O[b].message),O}if(v&&!k&&Za(j)){const{value:G,message:B}=_u(v);if(Mg(G)&&!j.match(G)&&(O[b]={type:Xo.pattern,message:B,ref:c,...z(Xo.pattern,B)},!r))return D(B),O}if(S){if(Ps(S)){const G=await S(j,n),B=q_(G,_);if(B&&(O[b]={...B,...z(Xo.validate,B.message)},!r))return D(B.message),O}else if(mr(S)){let G={};for(const B in S){if(!ra(G)&&!r)break;const q=q_(await S[B](j,n),_,B);q&&(G={...q,...z(B,q.message)},D(q.message),r&&(O[b]=G))}if(!ra(G)&&(O[b]={ref:_,...G},!r))return O}}return D(!0),O};const vne={mode:ks.onSubmit,reValidateMode:ks.onChange,shouldFocusError:!0};function bne(e={}){let t={...vne,...e},n={submitCount:0,isDirty:!1,isReady:!1,isLoading:Ps(t.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:t.errors||{},disabled:t.disabled||!1},r={},s=mr(t.defaultValues)||mr(t.values)?yr(t.defaultValues||t.values)||{}:{},i=t.shouldUnregister?{}:yr(s),c={action:!1,mount:!1,watch:!1},u={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},f,m=0;const x={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1};let g={...x};const y={array:P_(),state:P_()},v=t.criteriaMode===ks.all,S=Y=>re=>{clearTimeout(m),m=setTimeout(Y,re)},b=async Y=>{if(!t.disabled&&(x.isValid||g.isValid||Y)){const re=t.resolver?ra((await T()).errors):await k(r,!0);re!==n.isValid&&y.state.next({isValid:re})}},E=(Y,re)=>{!t.disabled&&(x.isValidating||x.validatingFields||g.isValidating||g.validatingFields)&&((Y||Array.from(u.mount)).forEach(ce=>{ce&&(re?Cn(n.validatingFields,ce,re):fr(n.validatingFields,ce))}),y.state.next({validatingFields:n.validatingFields,isValidating:!ra(n.validatingFields)}))},R=(Y,re=[],ce,Ie,je=!0,Te=!0)=>{if(Ie&&ce&&!t.disabled){if(c.action=!0,Te&&Array.isArray(Pe(r,Y))){const Ve=ce(Pe(r,Y),Ie.argA,Ie.argB);je&&Cn(r,Y,Ve)}if(Te&&Array.isArray(Pe(n.errors,Y))){const Ve=ce(Pe(n.errors,Y),Ie.argA,Ie.argB);je&&Cn(n.errors,Y,Ve),xne(n.errors,Y)}if((x.touchedFields||g.touchedFields)&&Te&&Array.isArray(Pe(n.touchedFields,Y))){const Ve=ce(Pe(n.touchedFields,Y),Ie.argA,Ie.argB);je&&Cn(n.touchedFields,Y,Ve)}(x.dirtyFields||g.dirtyFields)&&(n.dirtyFields=Iu(s,i)),y.state.next({name:Y,isDirty:L(Y,re),dirtyFields:n.dirtyFields,errors:n.errors,isValid:n.isValid})}else Cn(i,Y,re)},j=(Y,re)=>{Cn(n.errors,Y,re),y.state.next({errors:n.errors})},_=Y=>{n.errors=Y,y.state.next({errors:n.errors,isValid:!1})},D=(Y,re,ce,Ie)=>{const je=Pe(r,Y);if(je){const Te=Pe(i,Y,Xn(ce)?Pe(s,Y):ce);Xn(Te)||Ie&&Ie.defaultChecked||re?Cn(i,Y,re?Te:H_(je._f)):q(Y,Te),c.mount&&!c.action&&b()}},O=(Y,re,ce,Ie,je)=>{let Te=!1,Ve=!1;const bt={name:Y};if(!t.disabled){if(!ce||Ie){(x.isDirty||g.isDirty)&&(Ve=n.isDirty,n.isDirty=bt.isDirty=L(),Te=Ve!==bt.isDirty);const st=Ls(Pe(s,Y),re);Ve=!!Pe(n.dirtyFields,Y),st?fr(n.dirtyFields,Y):Cn(n.dirtyFields,Y,!0),bt.dirtyFields=n.dirtyFields,Te=Te||(x.dirtyFields||g.dirtyFields)&&Ve!==!st}if(ce){const st=Pe(n.touchedFields,Y);st||(Cn(n.touchedFields,Y,ce),bt.touchedFields=n.touchedFields,Te=Te||(x.touchedFields||g.touchedFields)&&st!==ce)}Te&&je&&y.state.next(bt)}return Te?bt:{}},A=(Y,re,ce,Ie)=>{const je=Pe(n.errors,Y),Te=(x.isValid||g.isValid)&&Ka(re)&&n.isValid!==re;if(t.delayError&&ce?(f=S(()=>j(Y,ce)),f(t.delayError)):(clearTimeout(m),f=null,ce?Cn(n.errors,Y,ce):fr(n.errors,Y)),(ce?!Ls(je,ce):je)||!ra(Ie)||Te){const Ve={...Ie,...Te&&Ka(re)?{isValid:re}:{},errors:n.errors,name:Y};n={...n,...Ve},y.state.next(Ve)}},T=async Y=>{E(Y,!0);const re=await t.resolver(i,t.context,dne(Y||u.mount,r,t.criteriaMode,t.shouldUseNativeValidation));return E(Y),re},M=async Y=>{const{errors:re}=await T(Y);if(Y)for(const ce of Y){const Ie=Pe(re,ce);Ie?Cn(n.errors,ce,Ie):fr(n.errors,ce)}else n.errors=re;return re},k=async(Y,re,ce={valid:!0})=>{for(const Ie in Y){const je=Y[Ie];if(je){const{_f:Te,...Ve}=je;if(Te){const bt=u.array.has(Te.name),st=je._f&&fne(je._f);st&&x.validatingFields&&E([Te.name],!0);const tn=await K_(je,u.disabled,i,v,t.shouldUseNativeValidation&&!re,bt);if(st&&x.validatingFields&&E([Te.name]),tn[Te.name]&&(ce.valid=!1,re))break;!re&&(Pe(tn,Te.name)?bt?yne(n.errors,tn,Te.name):Cn(n.errors,Te.name,tn[Te.name]):fr(n.errors,Te.name))}!ra(Ve)&&await k(Ve,re,ce)}}return ce.valid},z=()=>{for(const Y of u.unMount){const re=Pe(r,Y);re&&(re._f.refs?re._f.refs.every(ce=>!S1(ce)):!S1(re._f.ref))&&J(Y)}u.unMount=new Set},L=(Y,re)=>!t.disabled&&(Y&&re&&Cn(i,Y,re),!Ls(me(),s)),G=(Y,re,ce)=>Ib(Y,u,{...c.mount?i:Xn(re)?s:Za(Y)?{[Y]:re}:re},ce,re),B=Y=>U2(Pe(c.mount?i:s,Y,t.shouldUnregister?Pe(s,Y,[]):[])),q=(Y,re,ce={})=>{const Ie=Pe(r,Y);let je=re;if(Ie){const Te=Ie._f;Te&&(!Te.disabled&&Cn(i,Y,F5(re,Te)),je=Ig(Te.ref)&&Ra(re)?"":re,P5(Te.ref)?[...Te.ref.options].forEach(Ve=>Ve.selected=je.includes(Ve.value)):Te.refs?qh(Te.ref)?Te.refs.forEach(Ve=>{(!Ve.defaultChecked||!Ve.disabled)&&(Array.isArray(je)?Ve.checked=!!je.find(bt=>bt===Ve.value):Ve.checked=je===Ve.value||!!je)}):Te.refs.forEach(Ve=>Ve.checked=Ve.value===je):$2(Te.ref)?Te.ref.value="":(Te.ref.value=je,Te.ref.type||y.state.next({name:Y,values:yr(i)})))}(ce.shouldDirty||ce.shouldTouch)&&O(Y,je,ce.shouldTouch,ce.shouldDirty,!0),ce.shouldValidate&&ee(Y)},V=(Y,re,ce)=>{for(const Ie in re){if(!re.hasOwnProperty(Ie))return;const je=re[Ie],Te=Y+"."+Ie,Ve=Pe(r,Te);(u.array.has(Y)||mr(je)||Ve&&!Ve._f)&&!ic(je)?V(Te,je,ce):q(Te,je,ce)}},I=(Y,re,ce={})=>{const Ie=Pe(r,Y),je=u.array.has(Y),Te=yr(re);Cn(i,Y,Te),je?(y.array.next({name:Y,values:yr(i)}),(x.isDirty||x.dirtyFields||g.isDirty||g.dirtyFields)&&ce.shouldDirty&&y.state.next({name:Y,dirtyFields:Iu(s,i),isDirty:L(Y,Te)})):Ie&&!Ie._f&&!Ra(Te)?V(Y,Te,ce):q(Y,Te,ce),B_(Y,u)&&y.state.next({...n,name:Y}),y.state.next({name:c.mount?Y:void 0,values:yr(i)})},K=async Y=>{c.mount=!0;const re=Y.target;let ce=re.name,Ie=!0;const je=Pe(r,ce),Te=st=>{Ie=Number.isNaN(st)||ic(st)&&isNaN(st.getTime())||Ls(st,Pe(i,ce,st))},Ve=V_(t.mode),bt=V_(t.reValidateMode);if(je){let st,tn;const or=re.type?H_(je._f):D5(Y),Vn=Y.type===Og.BLUR||Y.type===Og.FOCUS_OUT,Lr=!hne(je._f)&&!t.resolver&&!Pe(n.errors,ce)&&!je._f.deps||gne(Vn,Pe(n.touchedFields,ce),n.isSubmitted,bt,Ve),ea=B_(ce,u,Vn);Cn(i,ce,or),Vn?(!re||!re.readOnly)&&(je._f.onBlur&&je._f.onBlur(Y),f&&f(0)):je._f.onChange&&je._f.onChange(Y);const pn=O(ce,or,Vn),ir=!ra(pn)||ea;if(!Vn&&y.state.next({name:ce,type:Y.type,values:yr(i)}),Lr)return(x.isValid||g.isValid)&&(t.mode==="onBlur"?Vn&&b():Vn||b()),ir&&y.state.next({name:ce,...ea?{}:pn});if(!Vn&&ea&&y.state.next({...n}),t.resolver){const{errors:kn}=await T([ce]);if(Te(or),Ie){const Qs=G_(n.errors,r,ce),Ia=G_(kn,r,Qs.name||ce);st=Ia.error,ce=Ia.name,tn=ra(kn)}}else E([ce],!0),st=(await K_(je,u.disabled,i,v,t.shouldUseNativeValidation))[ce],E([ce]),Te(or),Ie&&(st?tn=!1:(x.isValid||g.isValid)&&(tn=await k(r,!0)));Ie&&(je._f.deps&&(!Array.isArray(je._f.deps)||je._f.deps.length>0)&&ee(je._f.deps),A(ce,tn,st,pn))}},$=(Y,re)=>{if(Pe(n.errors,re)&&Y.focus)return Y.focus(),1},ee=async(Y,re={})=>{let ce,Ie;const je=Bf(Y);if(t.resolver){const Te=await M(Xn(Y)?Y:je);ce=ra(Te),Ie=Y?!je.some(Ve=>Pe(Te,Ve)):ce}else Y?(Ie=(await Promise.all(je.map(async Te=>{const Ve=Pe(r,Te);return await k(Ve&&Ve._f?{[Te]:Ve}:Ve)}))).every(Boolean),!(!Ie&&!n.isValid)&&b()):Ie=ce=await k(r);return y.state.next({...!Za(Y)||(x.isValid||g.isValid)&&ce!==n.isValid?{}:{name:Y},...t.resolver||!Y?{isValid:ce}:{},errors:n.errors}),re.shouldFocus&&!Ie&&Gf(r,$,Y?je:u.mount),Ie},me=(Y,re)=>{let ce={...c.mount?i:s};return re&&(ce=L5(re.dirtyFields?n.dirtyFields:n.touchedFields,ce)),Xn(Y)?ce:Za(Y)?Pe(ce,Y):Y.map(Ie=>Pe(ce,Ie))},U=(Y,re)=>({invalid:!!Pe((re||n).errors,Y),isDirty:!!Pe((re||n).dirtyFields,Y),error:Pe((re||n).errors,Y),isValidating:!!Pe(n.validatingFields,Y),isTouched:!!Pe((re||n).touchedFields,Y)}),F=Y=>{Y&&Bf(Y).forEach(re=>fr(n.errors,re)),y.state.next({errors:Y?n.errors:{}})},H=(Y,re,ce)=>{const Ie=(Pe(r,Y,{_f:{}})._f||{}).ref,je=Pe(n.errors,Y)||{},{ref:Te,message:Ve,type:bt,...st}=je;Cn(n.errors,Y,{...st,...re,ref:Ie}),y.state.next({name:Y,errors:n.errors,isValid:!1}),ce&&ce.shouldFocus&&Ie&&Ie.focus&&Ie.focus()},W=(Y,re)=>Ps(Y)?y.state.subscribe({next:ce=>"values"in ce&&Y(G(void 0,re),ce)}):G(Y,re,!0),Q=Y=>y.state.subscribe({next:re=>{pne(Y.name,re.name,Y.exact)&&mne(re,Y.formState||x,On,Y.reRenderRoot)&&Y.callback({values:{...i},...n,...re,defaultValues:s})}}).unsubscribe,le=Y=>(c.mount=!0,g={...g,...Y.formState},Q({...Y,formState:g})),J=(Y,re={})=>{for(const ce of Y?Bf(Y):u.mount)u.mount.delete(ce),u.array.delete(ce),re.keepValue||(fr(r,ce),fr(i,ce)),!re.keepError&&fr(n.errors,ce),!re.keepDirty&&fr(n.dirtyFields,ce),!re.keepTouched&&fr(n.touchedFields,ce),!re.keepIsValidating&&fr(n.validatingFields,ce),!t.shouldUnregister&&!re.keepDefaultValue&&fr(s,ce);y.state.next({values:yr(i)}),y.state.next({...n,...re.keepDirty?{isDirty:L()}:{}}),!re.keepIsValid&&b()},ie=({disabled:Y,name:re})=>{(Ka(Y)&&c.mount||Y||u.disabled.has(re))&&(Y?u.disabled.add(re):u.disabled.delete(re))},ye=(Y,re={})=>{let ce=Pe(r,Y);const Ie=Ka(re.disabled)||Ka(t.disabled);return Cn(r,Y,{...ce||{},_f:{...ce&&ce._f?ce._f:{ref:{name:Y}},name:Y,mount:!0,...re}}),u.mount.add(Y),ce?ie({disabled:Ka(re.disabled)?re.disabled:t.disabled,name:Y}):D(Y,!0,re.value),{...Ie?{disabled:re.disabled||t.disabled}:{},...t.progressive?{required:!!re.required,min:_f(re.min),max:_f(re.max),minLength:_f(re.minLength),maxLength:_f(re.maxLength),pattern:_f(re.pattern)}:{},name:Y,onChange:K,onBlur:K,ref:je=>{if(je){ye(Y,re),ce=Pe(r,Y);const Te=Xn(je.value)&&je.querySelectorAll&&je.querySelectorAll("input,select,textarea")[0]||je,Ve=ine(Te),bt=ce._f.refs||[];if(Ve?bt.find(st=>st===Te):Te===ce._f.ref)return;Cn(r,Y,{_f:{...ce._f,...Ve?{refs:[...bt.filter(S1),Te,...Array.isArray(Pe(s,Y))?[{}]:[]],ref:{type:Te.type,name:Y}}:{ref:Te}}}),D(Y,!1,void 0,Te)}else ce=Pe(r,Y,{}),ce._f&&(ce._f.mount=!1),(t.shouldUnregister||re.shouldUnregister)&&!(O5(u.array,Y)&&c.action)&&u.unMount.add(Y)}}},Ee=()=>t.shouldFocusError&&Gf(r,$,u.mount),He=Y=>{Ka(Y)&&(y.state.next({disabled:Y}),Gf(r,(re,ce)=>{const Ie=Pe(r,ce);Ie&&(re.disabled=Ie._f.disabled||Y,Array.isArray(Ie._f.refs)&&Ie._f.refs.forEach(je=>{je.disabled=Ie._f.disabled||Y}))},0,!1))},Re=(Y,re)=>async ce=>{let Ie;ce&&(ce.preventDefault&&ce.preventDefault(),ce.persist&&ce.persist());let je=yr(i);if(y.state.next({isSubmitting:!0}),t.resolver){const{errors:Te,values:Ve}=await T();n.errors=Te,je=yr(Ve)}else await k(r);if(u.disabled.size)for(const Te of u.disabled)fr(je,Te);if(fr(n.errors,"root"),ra(n.errors)){y.state.next({errors:{}});try{await Y(je,ce)}catch(Te){Ie=Te}}else re&&await re({...n.errors},ce),Ee(),setTimeout(Ee);if(y.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:ra(n.errors)&&!Ie,submitCount:n.submitCount+1,errors:n.errors}),Ie)throw Ie},Ke=(Y,re={})=>{Pe(r,Y)&&(Xn(re.defaultValue)?I(Y,yr(Pe(s,Y))):(I(Y,re.defaultValue),Cn(s,Y,yr(re.defaultValue))),re.keepTouched||fr(n.touchedFields,Y),re.keepDirty||(fr(n.dirtyFields,Y),n.isDirty=re.defaultValue?L(Y,yr(Pe(s,Y))):L()),re.keepError||(fr(n.errors,Y),x.isValid&&b()),y.state.next({...n}))},nt=(Y,re={})=>{const ce=Y?yr(Y):s,Ie=yr(ce),je=ra(Y),Te=je?s:Ie;if(re.keepDefaultValues||(s=ce),!re.keepValues){if(re.keepDirtyValues){const Ve=new Set([...u.mount,...Object.keys(Iu(s,i))]);for(const bt of Array.from(Ve))Pe(n.dirtyFields,bt)?Cn(Te,bt,Pe(i,bt)):I(bt,Pe(Te,bt))}else{if(P2&&Xn(Y))for(const Ve of u.mount){const bt=Pe(r,Ve);if(bt&&bt._f){const st=Array.isArray(bt._f.refs)?bt._f.refs[0]:bt._f.ref;if(Ig(st)){const tn=st.closest("form");if(tn){tn.reset();break}}}}if(re.keepFieldsRef)for(const Ve of u.mount)I(Ve,Pe(Te,Ve));else r={}}i=t.shouldUnregister?re.keepDefaultValues?yr(s):{}:yr(Te),y.array.next({values:{...Te}}),y.state.next({values:{...Te}})}u={mount:re.keepDirtyValues?u.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},c.mount=!x.isValid||!!re.keepIsValid||!!re.keepDirtyValues||!t.shouldUnregister&&!ra(Te),c.watch=!!t.shouldUnregister,c.action=!1,re.keepErrors||(n.errors={}),y.state.next({submitCount:re.keepSubmitCount?n.submitCount:0,isDirty:je?!1:re.keepDirty?n.isDirty:!!(re.keepDefaultValues&&!Ls(Y,s)),isSubmitted:re.keepIsSubmitted?n.isSubmitted:!1,dirtyFields:je?{}:re.keepDirtyValues?re.keepDefaultValues&&i?Iu(s,i):n.dirtyFields:re.keepDefaultValues&&Y?Iu(s,Y):re.keepDirty?n.dirtyFields:{},touchedFields:re.keepTouched?n.touchedFields:{},errors:re.keepErrors?n.errors:{},isSubmitSuccessful:re.keepIsSubmitSuccessful?n.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:s})},Gt=(Y,re)=>nt(Ps(Y)?Y(i):Y,re),Ft=(Y,re={})=>{const ce=Pe(r,Y),Ie=ce&&ce._f;if(Ie){const je=Ie.refs?Ie.refs[0]:Ie.ref;je.focus&&(je.focus(),re.shouldSelect&&Ps(je.select)&&je.select())}},On=Y=>{n={...n,...Y}},ke={control:{register:ye,unregister:J,getFieldState:U,handleSubmit:Re,setError:H,_subscribe:Q,_runSchema:T,_focusError:Ee,_getWatch:G,_getDirty:L,_setValid:b,_setFieldArray:R,_setDisabledField:ie,_setErrors:_,_getFieldArray:B,_reset:nt,_resetDefaultValues:()=>Ps(t.defaultValues)&&t.defaultValues().then(Y=>{Gt(Y,t.resetOptions),y.state.next({isLoading:!1})}),_removeUnmounted:z,_disableForm:He,_subjects:y,_proxyFormState:x,get _fields(){return r},get _formValues(){return i},get _state(){return c},set _state(Y){c=Y},get _defaultValues(){return s},get _names(){return u},set _names(Y){u=Y},get _formState(){return n},get _options(){return t},set _options(Y){t={...t,...Y}}},subscribe:le,trigger:ee,register:ye,handleSubmit:Re,watch:W,setValue:I,getValues:me,reset:Gt,resetField:Ke,clearErrors:F,unregister:J,setError:H,setFocus:Ft,getFieldState:U};return{...ke,formControl:ke}}function Do(e={}){const t=ae.useRef(void 0),n=ae.useRef(void 0),[r,s]=ae.useState({isDirty:!1,isValidating:!1,isLoading:Ps(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:Ps(e.defaultValues)?void 0:e.defaultValues});if(!t.current)if(e.formControl)t.current={...e.formControl,formState:r},e.defaultValues&&!Ps(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:c,...u}=bne(e);t.current={...u,formState:r}}const i=t.current.control;return i._options=e,H2(()=>{const c=i._subscribe({formState:i._proxyFormState,callback:()=>s({...i._formState}),reRenderRoot:!0});return s(u=>({...u,isReady:!0})),i._formState.isReady=!0,c},[i]),ae.useEffect(()=>i._disableForm(e.disabled),[i,e.disabled]),ae.useEffect(()=>{e.mode&&(i._options.mode=e.mode),e.reValidateMode&&(i._options.reValidateMode=e.reValidateMode)},[i,e.mode,e.reValidateMode]),ae.useEffect(()=>{e.errors&&(i._setErrors(e.errors),i._focusError())},[i,e.errors]),ae.useEffect(()=>{e.shouldUnregister&&i._subjects.state.next({values:i._getWatch()})},[i,e.shouldUnregister]),ae.useEffect(()=>{if(i._proxyFormState.isDirty){const c=i._getDirty();c!==r.isDirty&&i._subjects.state.next({isDirty:c})}},[i,r.isDirty]),ae.useEffect(()=>{var c;e.values&&!Ls(e.values,n.current)?(i._reset(e.values,{keepFieldsRef:!0,...i._options.resetOptions}),!((c=i._options.resetOptions)===null||c===void 0)&&c.keepIsValid||i._setValid(),n.current=e.values,s(u=>({...u}))):i._resetDefaultValues()},[i,e.values]),ae.useEffect(()=>{i._state.mount||(i._setValid(),i._state.mount=!0),i._state.watch&&(i._state.watch=!1,i._subjects.state.next({...i._formState})),i._removeUnmounted()}),t.current.formState=M5(r,i),t.current}var Sne=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Cne=Sne.reduce((e,t)=>{const n=SS(`Primitive.${t}`),r=h.forwardRef((s,i)=>{const{asChild:c,...u}=s,f=c?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),a.jsx(f,{...u,ref:i})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),Ene="Label",V5=h.forwardRef((e,t)=>a.jsx(Cne.label,{...e,ref:t,onMouseDown:n=>{var s;n.target.closest("button, input, select, textarea")||((s=e.onMouseDown)==null||s.call(e,n),!n.defaultPrevented&&n.detail>1&&n.preventDefault())}}));V5.displayName=Ene;var wne=V5;function Aa({className:e,...t}){return a.jsx(wne,{"data-slot":"label",className:se("flex items-center gap-2 text-sm leading-none font-medium group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...t})}const Dl=I5,$5=h.createContext({}),yt=({...e})=>a.jsx($5.Provider,{value:{name:e.name},children:a.jsx(one,{...e})}),Kh=()=>{const e=h.useContext($5),t=h.useContext(B5),{getFieldState:n}=Ed(),r=k5({name:e.name}),s=n(e.name,r);if(!e)throw new Error("useFormField should be used within <FormField>");const{id:i}=t;return{id:i,name:e.name,formItemId:`${i}-form-item`,formDescriptionId:`${i}-form-item-description`,formMessageId:`${i}-form-item-message`,...s}},B5=h.createContext({});function ht({className:e="",...t}){const n=h.useId();return a.jsx(B5.Provider,{value:{id:n},children:a.jsx("div",{"data-slot":"form-item",className:se("group border-border flex flex-col gap-2 rounded-md border-b bg-white px-4 py-3 transition-shadow duration-200 hover:shadow-sm dark:border-transparent dark:bg-white/4",e),...t})})}function ut({className:e="",tooltip:t,tooltipProps:n,children:r,...s}){const{error:i,formItemId:c}=Kh();return a.jsxs(Aa,{"data-slot":"form-label","data-error":!!i,className:se("text-foreground flex items-center justify-between gap-2 text-sm font-medium","data-[error=true]:text-destructive",e),htmlFor:c,...s,children:[a.jsx("span",{children:r}),t&&a.jsxs(wt,{...n,children:[a.jsx(Rt,{asChild:!0,children:a.jsx("button",{type:"button",tabIndex:-1,className:"pointer-events-none opacity-0 transition group-hover:pointer-events-auto group-hover:opacity-100","aria-label":"Help information",children:a.jsx(Or,{className:"text-muted-foreground/50 hover:text-muted-foreground size-4 shrink-0 transition-colors","aria-hidden":"true"})})}),a.jsx(jt,{side:"top",align:"center",role:"tooltip",children:t})]})]})}function mt({...e}){const{error:t,formItemId:n,formDescriptionId:r,formMessageId:s}=Kh();return a.jsx(bh,{"data-slot":"form-control",id:n,"aria-describedby":t?`${r} ${s}`:`${r}`,"aria-invalid":!!t,...e})}function Jt({className:e,...t}){const{formDescriptionId:n}=Kh();return a.jsx("div",{"data-slot":"form-description",id:n,className:se("text-muted-foreground text-sm",e),...t})}function St({className:e,...t}){const{error:n,formMessageId:r}=Kh(),s=n?String((n==null?void 0:n.message)??""):t.children;return s?a.jsx("p",{"data-slot":"form-message",id:r,className:se("text-destructive text-sm",e),...t,children:s}):null}function Ol({children:e,className:t="",variant:n="default"}){const r=n==="light"?"flex-1 overflow-y-auto":"bg-muted dark:bg-sidebar flex-1 overflow-y-auto p-4";return a.jsx("div",{className:r,children:a.jsx("div",{className:se("flex min-h-full flex-col gap-4",t),children:e})})}function Uc({className:e="",children:t,variant:n="default"}){const r=n==="light"?"flex flex-col gap-1.5 pt-4":"flex flex-col gap-1.5 border-t px-4 py-3";return a.jsx("div",{className:se(r,e),children:t})}function Mr({title:e,children:t}){return a.jsxs("section",{className:"mb-4",children:[e&&a.jsx("h3",{className:"text-muted-foreground/75 mb-2 text-xs font-semibold tracking-wide uppercase",children:e}),a.jsx("div",{className:"flex flex-col gap-2",children:t})]})}function Rne({value:e,label:t,checked:n,onChange:r,disabled:s=!1,orientation:i="vertical",className:c=""}){const{formItemId:u}=Kh();return a.jsxs("label",{htmlFor:`${u}-${e}`,className:se("flex cursor-pointer items-center gap-2 rounded-md py-1 pr-4 pl-2 text-sm",s&&"cursor-not-allowed opacity-50",i==="horizontal"?"flex-row":"flex-col",n?"bg-muted border-input border-b":"hover:bg-muted border-border bg-transparent",c),children:[a.jsx("input",{type:"radio",id:`${u}-${e}`,value:e,checked:n,onChange:r,disabled:s,className:se("peer border-input ring-offset-background h-4 w-4 rounded-full border","checked:bg-primary checked:border-primary","focus-visible:ring-ring focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2","disabled:cursor-not-allowed disabled:opacity-50")}),a.jsx("span",{className:se("peer-disabled:cursor-not-allowed peer-disabled:opacity-50"),children:t})]})}function jne({options:e,value:t,onChange:n,orientation:r="vertical",className:s=""}){return a.jsx("div",{tabIndex:-1,className:se(r==="horizontal"?"flex gap-6":"flex flex-col gap-2","border-input rounded-md border bg-transparent px-1 py-1 transition-colors","focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]","text-foreground selection:bg-primary selection:text-primary-foreground","aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40","disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",s),children:e.map(i=>a.jsx(Rne,{value:i.value,label:i.label,checked:t===i.value,onChange:c=>n(c.target.value),disabled:i.disabled,orientation:r},i.value))})}const Si=h.forwardRef(({children:e,className:t="",...n},r)=>a.jsx("form",{ref:r,className:se("flex flex-1 flex-col overflow-hidden",t),...n,children:e}));Si.displayName="AppForm";function W_(e,[t,n]){return Math.min(n,Math.max(t,e))}function Lb(e){const t=Tne(e),n=h.forwardRef((r,s)=>{const{children:i,...c}=r,u=h.Children.toArray(i),f=u.find(Nne);if(f){const m=f.props.children,x=u.map(g=>g===f?h.Children.count(m)>1?h.Children.only(null):h.isValidElement(m)?m.props.children:null:g);return a.jsx(t,{...c,ref:s,children:h.isValidElement(m)?h.cloneElement(m,void 0,x):null})}return a.jsx(t,{...c,ref:s,children:i})});return n.displayName=`${e}.Slot`,n}function Tne(e){const t=h.forwardRef((n,r)=>{const{children:s,...i}=n;if(h.isValidElement(s)){const c=Dne(s),u=Ane(i,s.props);return s.type!==h.Fragment&&(u.ref=r?Qr(r,c):c),h.cloneElement(s,u)}return h.Children.count(s)>1?h.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var _ne=Symbol("radix.slottable");function Nne(e){return h.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===_ne}function Ane(e,t){const n={...t};for(const r in t){const s=e[r],i=t[r];/^on[A-Z]/.test(r)?s&&i?n[r]=(...u)=>{const f=i(...u);return s(...u),f}:s&&(n[r]=s):r==="style"?n[r]={...s,...i}:r==="className"&&(n[r]=[s,i].filter(Boolean).join(" "))}return{...e,...n}}function Dne(e){var r,s;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(s=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:s.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function One(e){const t=e+"CollectionProvider",[n,r]=Er(t),[s,i]=n(t,{collectionRef:{current:null},itemMap:new Map}),c=b=>{const{scope:E,children:R}=b,j=ae.useRef(null),_=ae.useRef(new Map).current;return a.jsx(s,{scope:E,itemMap:_,collectionRef:j,children:R})};c.displayName=t;const u=e+"CollectionSlot",f=Lb(u),m=ae.forwardRef((b,E)=>{const{scope:R,children:j}=b,_=i(u,R),D=vt(E,_.collectionRef);return a.jsx(f,{ref:D,children:j})});m.displayName=u;const x=e+"CollectionItemSlot",g="data-radix-collection-item",y=Lb(x),v=ae.forwardRef((b,E)=>{const{scope:R,children:j,..._}=b,D=ae.useRef(null),O=vt(E,D),A=i(x,R);return ae.useEffect(()=>(A.itemMap.set(D,{ref:D,..._}),()=>void A.itemMap.delete(D))),a.jsx(y,{[g]:"",ref:O,children:j})});v.displayName=x;function S(b){const E=i(e+"CollectionConsumer",b);return ae.useCallback(()=>{const j=E.collectionRef.current;if(!j)return[];const _=Array.from(j.querySelectorAll(`[${g}]`));return Array.from(E.itemMap.values()).sort((A,T)=>_.indexOf(A.ref.current)-_.indexOf(T.ref.current))},[E.collectionRef,E.itemMap])}return[{Provider:c,Slot:m,ItemSlot:v},S,r]}function G2(e){const t=h.useRef({value:e,previous:e});return h.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var Ine=[" ","Enter","ArrowUp","ArrowDown"],Mne=[" ","Enter"],Sc="Select",[Vx,$x,kne]=One(Sc),[wd]=Er(Sc,[kne,No]),Bx=No(),[Lne,Il]=wd(Sc),[Pne,Une]=wd(Sc),G5=e=>{const{__scopeSelect:t,children:n,open:r,defaultOpen:s,onOpenChange:i,value:c,defaultValue:u,onValueChange:f,dir:m,name:x,autoComplete:g,disabled:y,required:v,form:S}=e,b=Bx(t),[E,R]=h.useState(null),[j,_]=h.useState(null),[D,O]=h.useState(!1),A=Dh(m),[T,M]=ca({prop:r,defaultProp:s??!1,onChange:i,caller:Sc}),[k,z]=ca({prop:c,defaultProp:u,onChange:f,caller:Sc}),L=h.useRef(null),G=E?S||!!E.closest("form"):!0,[B,q]=h.useState(new Set),V=Array.from(B).map(I=>I.props.value).join(";");return a.jsx(gd,{...b,children:a.jsxs(Lne,{required:v,scope:t,trigger:E,onTriggerChange:R,valueNode:j,onValueNodeChange:_,valueNodeHasChildren:D,onValueNodeHasChildrenChange:O,contentId:er(),value:k,onValueChange:z,open:T,onOpenChange:M,dir:A,triggerPointerDownPosRef:L,disabled:y,children:[a.jsx(Vx.Provider,{scope:t,children:a.jsx(Pne,{scope:e.__scopeSelect,onNativeOptionAdd:h.useCallback(I=>{q(K=>new Set(K).add(I))},[]),onNativeOptionRemove:h.useCallback(I=>{q(K=>{const $=new Set(K);return $.delete(I),$})},[]),children:n})}),G?a.jsxs(pI,{"aria-hidden":!0,required:v,tabIndex:-1,name:x,autoComplete:g,value:k,onChange:I=>z(I.target.value),disabled:y,form:S,children:[k===void 0?a.jsx("option",{value:""}):null,Array.from(B)]},V):null]})})};G5.displayName=Sc;var q5="SelectTrigger",K5=h.forwardRef((e,t)=>{const{__scopeSelect:n,disabled:r=!1,...s}=e,i=Bx(n),c=Il(q5,n),u=c.disabled||r,f=vt(t,c.onTriggerChange),m=$x(n),x=h.useRef("touch"),[g,y,v]=xI(b=>{const E=m().filter(_=>!_.disabled),R=E.find(_=>_.value===c.value),j=yI(E,b,R);j!==void 0&&c.onValueChange(j.value)}),S=b=>{u||(c.onOpenChange(!0),v()),b&&(c.triggerPointerDownPosRef.current={x:Math.round(b.pageX),y:Math.round(b.pageY)})};return a.jsx(xd,{asChild:!0,...i,children:a.jsx(et.button,{type:"button",role:"combobox","aria-controls":c.contentId,"aria-expanded":c.open,"aria-required":c.required,"aria-autocomplete":"none",dir:c.dir,"data-state":c.open?"open":"closed",disabled:u,"data-disabled":u?"":void 0,"data-placeholder":gI(c.value)?"":void 0,...s,ref:f,onClick:Me(s.onClick,b=>{b.currentTarget.focus(),x.current!=="mouse"&&S(b)}),onPointerDown:Me(s.onPointerDown,b=>{x.current=b.pointerType;const E=b.target;E.hasPointerCapture(b.pointerId)&&E.releasePointerCapture(b.pointerId),b.button===0&&b.ctrlKey===!1&&b.pointerType==="mouse"&&(S(b),b.preventDefault())}),onKeyDown:Me(s.onKeyDown,b=>{const E=g.current!=="";!(b.ctrlKey||b.altKey||b.metaKey)&&b.key.length===1&&y(b.key),!(E&&b.key===" ")&&Ine.includes(b.key)&&(S(),b.preventDefault())})})})});K5.displayName=q5;var W5="SelectValue",Y5=h.forwardRef((e,t)=>{const{__scopeSelect:n,className:r,style:s,children:i,placeholder:c="",...u}=e,f=Il(W5,n),{onValueNodeHasChildrenChange:m}=f,x=i!==void 0,g=vt(t,f.onValueNodeChange);return Br(()=>{m(x)},[m,x]),a.jsx(et.span,{...u,ref:g,style:{pointerEvents:"none"},children:gI(f.value)?a.jsx(a.Fragment,{children:c}):i})});Y5.displayName=W5;var zne="SelectIcon",Z5=h.forwardRef((e,t)=>{const{__scopeSelect:n,children:r,...s}=e;return a.jsx(et.span,{"aria-hidden":!0,...s,ref:t,children:r||"▼"})});Z5.displayName=zne;var Fne="SelectPortal",X5=e=>a.jsx(Oc,{asChild:!0,...e});X5.displayName=Fne;var Cc="SelectContent",Q5=h.forwardRef((e,t)=>{const n=Il(Cc,e.__scopeSelect),[r,s]=h.useState();if(Br(()=>{s(new DocumentFragment)},[]),!n.open){const i=r;return i?Us.createPortal(a.jsx(J5,{scope:e.__scopeSelect,children:a.jsx(Vx.Slot,{scope:e.__scopeSelect,children:a.jsx("div",{children:e.children})})}),i):null}return a.jsx(eI,{...e,ref:t})});Q5.displayName=Cc;var Ds=10,[J5,Ml]=wd(Cc),Hne="SelectContentImpl",Vne=Lb("SelectContent.RemoveScroll"),eI=h.forwardRef((e,t)=>{const{__scopeSelect:n,position:r="item-aligned",onCloseAutoFocus:s,onEscapeKeyDown:i,onPointerDownOutside:c,side:u,sideOffset:f,align:m,alignOffset:x,arrowPadding:g,collisionBoundary:y,collisionPadding:v,sticky:S,hideWhenDetached:b,avoidCollisions:E,...R}=e,j=Il(Cc,n),[_,D]=h.useState(null),[O,A]=h.useState(null),T=vt(t,J=>D(J)),[M,k]=h.useState(null),[z,L]=h.useState(null),G=$x(n),[B,q]=h.useState(!1),V=h.useRef(!1);h.useEffect(()=>{if(_)return nx(_)},[_]),ex();const I=h.useCallback(J=>{const[ie,...ye]=G().map(Re=>Re.ref.current),[Ee]=ye.slice(-1),He=document.activeElement;for(const Re of J)if(Re===He||(Re==null||Re.scrollIntoView({block:"nearest"}),Re===ie&&O&&(O.scrollTop=0),Re===Ee&&O&&(O.scrollTop=O.scrollHeight),Re==null||Re.focus(),document.activeElement!==He))return},[G,O]),K=h.useCallback(()=>I([M,_]),[I,M,_]);h.useEffect(()=>{B&&K()},[B,K]);const{onOpenChange:$,triggerPointerDownPosRef:ee}=j;h.useEffect(()=>{if(_){let J={x:0,y:0};const ie=Ee=>{var He,Re;J={x:Math.abs(Math.round(Ee.pageX)-(((He=ee.current)==null?void 0:He.x)??0)),y:Math.abs(Math.round(Ee.pageY)-(((Re=ee.current)==null?void 0:Re.y)??0))}},ye=Ee=>{J.x<=10&&J.y<=10?Ee.preventDefault():_.contains(Ee.target)||$(!1),document.removeEventListener("pointermove",ie),ee.current=null};return ee.current!==null&&(document.addEventListener("pointermove",ie),document.addEventListener("pointerup",ye,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",ie),document.removeEventListener("pointerup",ye,{capture:!0})}}},[_,$,ee]),h.useEffect(()=>{const J=()=>$(!1);return window.addEventListener("blur",J),window.addEventListener("resize",J),()=>{window.removeEventListener("blur",J),window.removeEventListener("resize",J)}},[$]);const[me,U]=xI(J=>{const ie=G().filter(He=>!He.disabled),ye=ie.find(He=>He.ref.current===document.activeElement),Ee=yI(ie,J,ye);Ee&&setTimeout(()=>Ee.ref.current.focus())}),F=h.useCallback((J,ie,ye)=>{const Ee=!V.current&&!ye;(j.value!==void 0&&j.value===ie||Ee)&&(k(J),Ee&&(V.current=!0))},[j.value]),H=h.useCallback(()=>_==null?void 0:_.focus(),[_]),W=h.useCallback((J,ie,ye)=>{const Ee=!V.current&&!ye;(j.value!==void 0&&j.value===ie||Ee)&&L(J)},[j.value]),Q=r==="popper"?Pb:tI,le=Q===Pb?{side:u,sideOffset:f,align:m,alignOffset:x,arrowPadding:g,collisionBoundary:y,collisionPadding:v,sticky:S,hideWhenDetached:b,avoidCollisions:E}:{};return a.jsx(J5,{scope:n,content:_,viewport:O,onViewportChange:A,itemRefCallback:F,selectedItem:M,onItemLeave:H,itemTextRefCallback:W,focusSelectedItem:K,selectedItemText:z,position:r,isPositioned:B,searchRef:me,children:a.jsx(Rh,{as:Vne,allowPinchZoom:!0,children:a.jsx(wh,{asChild:!0,trapped:j.open,onMountAutoFocus:J=>{J.preventDefault()},onUnmountAutoFocus:Me(s,J=>{var ie;(ie=j.trigger)==null||ie.focus({preventScroll:!0}),J.preventDefault()}),children:a.jsx(Dc,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:i,onPointerDownOutside:c,onFocusOutside:J=>J.preventDefault(),onDismiss:()=>j.onOpenChange(!1),children:a.jsx(Q,{role:"listbox",id:j.contentId,"data-state":j.open?"open":"closed",dir:j.dir,onContextMenu:J=>J.preventDefault(),...R,...le,onPlaced:()=>q(!0),ref:T,style:{display:"flex",flexDirection:"column",outline:"none",...R.style},onKeyDown:Me(R.onKeyDown,J=>{const ie=J.ctrlKey||J.altKey||J.metaKey;if(J.key==="Tab"&&J.preventDefault(),!ie&&J.key.length===1&&U(J.key),["ArrowUp","ArrowDown","Home","End"].includes(J.key)){let Ee=G().filter(He=>!He.disabled).map(He=>He.ref.current);if(["ArrowUp","End"].includes(J.key)&&(Ee=Ee.slice().reverse()),["ArrowUp","ArrowDown"].includes(J.key)){const He=J.target,Re=Ee.indexOf(He);Ee=Ee.slice(Re+1)}setTimeout(()=>I(Ee)),J.preventDefault()}})})})})})})});eI.displayName=Hne;var $ne="SelectItemAlignedPosition",tI=h.forwardRef((e,t)=>{const{__scopeSelect:n,onPlaced:r,...s}=e,i=Il(Cc,n),c=Ml(Cc,n),[u,f]=h.useState(null),[m,x]=h.useState(null),g=vt(t,T=>x(T)),y=$x(n),v=h.useRef(!1),S=h.useRef(!0),{viewport:b,selectedItem:E,selectedItemText:R,focusSelectedItem:j}=c,_=h.useCallback(()=>{if(i.trigger&&i.valueNode&&u&&m&&b&&E&&R){const T=i.trigger.getBoundingClientRect(),M=m.getBoundingClientRect(),k=i.valueNode.getBoundingClientRect(),z=R.getBoundingClientRect();if(i.dir!=="rtl"){const He=z.left-M.left,Re=k.left-He,Ke=T.left-Re,nt=T.width+Ke,Gt=Math.max(nt,M.width),Ft=window.innerWidth-Ds,On=W_(Re,[Ds,Math.max(Ds,Ft-Gt)]);u.style.minWidth=nt+"px",u.style.left=On+"px"}else{const He=M.right-z.right,Re=window.innerWidth-k.right-He,Ke=window.innerWidth-T.right-Re,nt=T.width+Ke,Gt=Math.max(nt,M.width),Ft=window.innerWidth-Ds,On=W_(Re,[Ds,Math.max(Ds,Ft-Gt)]);u.style.minWidth=nt+"px",u.style.right=On+"px"}const L=y(),G=window.innerHeight-Ds*2,B=b.scrollHeight,q=window.getComputedStyle(m),V=parseInt(q.borderTopWidth,10),I=parseInt(q.paddingTop,10),K=parseInt(q.borderBottomWidth,10),$=parseInt(q.paddingBottom,10),ee=V+I+B+$+K,me=Math.min(E.offsetHeight*5,ee),U=window.getComputedStyle(b),F=parseInt(U.paddingTop,10),H=parseInt(U.paddingBottom,10),W=T.top+T.height/2-Ds,Q=G-W,le=E.offsetHeight/2,J=E.offsetTop+le,ie=V+I+J,ye=ee-ie;if(ie<=W){const He=L.length>0&&E===L[L.length-1].ref.current;u.style.bottom="0px";const Re=m.clientHeight-b.offsetTop-b.offsetHeight,Ke=Math.max(Q,le+(He?H:0)+Re+K),nt=ie+Ke;u.style.height=nt+"px"}else{const He=L.length>0&&E===L[0].ref.current;u.style.top="0px";const Ke=Math.max(W,V+b.offsetTop+(He?F:0)+le)+ye;u.style.height=Ke+"px",b.scrollTop=ie-W+b.offsetTop}u.style.margin=`${Ds}px 0`,u.style.minHeight=me+"px",u.style.maxHeight=G+"px",r==null||r(),requestAnimationFrame(()=>v.current=!0)}},[y,i.trigger,i.valueNode,u,m,b,E,R,i.dir,r]);Br(()=>_(),[_]);const[D,O]=h.useState();Br(()=>{m&&O(window.getComputedStyle(m).zIndex)},[m]);const A=h.useCallback(T=>{T&&S.current===!0&&(_(),j==null||j(),S.current=!1)},[_,j]);return a.jsx(Gne,{scope:n,contentWrapper:u,shouldExpandOnScrollRef:v,onScrollButtonChange:A,children:a.jsx("div",{ref:f,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:D},children:a.jsx(et.div,{...s,ref:g,style:{boxSizing:"border-box",maxHeight:"100%",...s.style}})})})});tI.displayName=$ne;var Bne="SelectPopperPosition",Pb=h.forwardRef((e,t)=>{const{__scopeSelect:n,align:r="start",collisionPadding:s=Ds,...i}=e,c=Bx(n);return a.jsx(Th,{...c,...i,ref:t,align:r,collisionPadding:s,style:{boxSizing:"border-box",...i.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});Pb.displayName=Bne;var[Gne,q2]=wd(Cc,{}),Ub="SelectViewport",nI=h.forwardRef((e,t)=>{const{__scopeSelect:n,nonce:r,...s}=e,i=Ml(Ub,n),c=q2(Ub,n),u=vt(t,i.onViewportChange),f=h.useRef(0);return a.jsxs(a.Fragment,{children:[a.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:r}),a.jsx(Vx.Slot,{scope:n,children:a.jsx(et.div,{"data-radix-select-viewport":"",role:"presentation",...s,ref:u,style:{position:"relative",flex:1,overflow:"hidden auto",...s.style},onScroll:Me(s.onScroll,m=>{const x=m.currentTarget,{contentWrapper:g,shouldExpandOnScrollRef:y}=c;if(y!=null&&y.current&&g){const v=Math.abs(f.current-x.scrollTop);if(v>0){const S=window.innerHeight-Ds*2,b=parseFloat(g.style.minHeight),E=parseFloat(g.style.height),R=Math.max(b,E);if(R<S){const j=R+v,_=Math.min(S,j),D=j-_;g.style.height=_+"px",g.style.bottom==="0px"&&(x.scrollTop=D>0?D:0,g.style.justifyContent="flex-end")}}}f.current=x.scrollTop})})})]})});nI.displayName=Ub;var rI="SelectGroup",[qne,Kne]=wd(rI),aI=h.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,s=er();return a.jsx(qne,{scope:n,id:s,children:a.jsx(et.div,{role:"group","aria-labelledby":s,...r,ref:t})})});aI.displayName=rI;var sI="SelectLabel",Wne=h.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,s=Kne(sI,n);return a.jsx(et.div,{id:s.id,...r,ref:t})});Wne.displayName=sI;var kg="SelectItem",[Yne,oI]=wd(kg),iI=h.forwardRef((e,t)=>{const{__scopeSelect:n,value:r,disabled:s=!1,textValue:i,...c}=e,u=Il(kg,n),f=Ml(kg,n),m=u.value===r,[x,g]=h.useState(i??""),[y,v]=h.useState(!1),S=vt(t,j=>{var _;return(_=f.itemRefCallback)==null?void 0:_.call(f,j,r,s)}),b=er(),E=h.useRef("touch"),R=()=>{s||(u.onValueChange(r),u.onOpenChange(!1))};if(r==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return a.jsx(Yne,{scope:n,value:r,disabled:s,textId:b,isSelected:m,onItemTextChange:h.useCallback(j=>{g(_=>_||((j==null?void 0:j.textContent)??"").trim())},[]),children:a.jsx(Vx.ItemSlot,{scope:n,value:r,disabled:s,textValue:x,children:a.jsx(et.div,{role:"option","aria-labelledby":b,"data-highlighted":y?"":void 0,"aria-selected":m&&y,"data-state":m?"checked":"unchecked","aria-disabled":s||void 0,"data-disabled":s?"":void 0,tabIndex:s?void 0:-1,...c,ref:S,onFocus:Me(c.onFocus,()=>v(!0)),onBlur:Me(c.onBlur,()=>v(!1)),onClick:Me(c.onClick,()=>{E.current!=="mouse"&&R()}),onPointerUp:Me(c.onPointerUp,()=>{E.current==="mouse"&&R()}),onPointerDown:Me(c.onPointerDown,j=>{E.current=j.pointerType}),onPointerMove:Me(c.onPointerMove,j=>{var _;E.current=j.pointerType,s?(_=f.onItemLeave)==null||_.call(f):E.current==="mouse"&&j.currentTarget.focus({preventScroll:!0})}),onPointerLeave:Me(c.onPointerLeave,j=>{var _;j.currentTarget===document.activeElement&&((_=f.onItemLeave)==null||_.call(f))}),onKeyDown:Me(c.onKeyDown,j=>{var D;((D=f.searchRef)==null?void 0:D.current)!==""&&j.key===" "||(Mne.includes(j.key)&&R(),j.key===" "&&j.preventDefault())})})})})});iI.displayName=kg;var Uf="SelectItemText",lI=h.forwardRef((e,t)=>{const{__scopeSelect:n,className:r,style:s,...i}=e,c=Il(Uf,n),u=Ml(Uf,n),f=oI(Uf,n),m=Une(Uf,n),[x,g]=h.useState(null),y=vt(t,R=>g(R),f.onItemTextChange,R=>{var j;return(j=u.itemTextRefCallback)==null?void 0:j.call(u,R,f.value,f.disabled)}),v=x==null?void 0:x.textContent,S=h.useMemo(()=>a.jsx("option",{value:f.value,disabled:f.disabled,children:v},f.value),[f.disabled,f.value,v]),{onNativeOptionAdd:b,onNativeOptionRemove:E}=m;return Br(()=>(b(S),()=>E(S)),[b,E,S]),a.jsxs(a.Fragment,{children:[a.jsx(et.span,{id:f.textId,...i,ref:y}),f.isSelected&&c.valueNode&&!c.valueNodeHasChildren?Us.createPortal(i.children,c.valueNode):null]})});lI.displayName=Uf;var cI="SelectItemIndicator",uI=h.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e;return oI(cI,n).isSelected?a.jsx(et.span,{"aria-hidden":!0,...r,ref:t}):null});uI.displayName=cI;var zb="SelectScrollUpButton",dI=h.forwardRef((e,t)=>{const n=Ml(zb,e.__scopeSelect),r=q2(zb,e.__scopeSelect),[s,i]=h.useState(!1),c=vt(t,r.onScrollButtonChange);return Br(()=>{if(n.viewport&&n.isPositioned){let u=function(){const m=f.scrollTop>0;i(m)};const f=n.viewport;return u(),f.addEventListener("scroll",u),()=>f.removeEventListener("scroll",u)}},[n.viewport,n.isPositioned]),s?a.jsx(hI,{...e,ref:c,onAutoScroll:()=>{const{viewport:u,selectedItem:f}=n;u&&f&&(u.scrollTop=u.scrollTop-f.offsetHeight)}}):null});dI.displayName=zb;var Fb="SelectScrollDownButton",fI=h.forwardRef((e,t)=>{const n=Ml(Fb,e.__scopeSelect),r=q2(Fb,e.__scopeSelect),[s,i]=h.useState(!1),c=vt(t,r.onScrollButtonChange);return Br(()=>{if(n.viewport&&n.isPositioned){let u=function(){const m=f.scrollHeight-f.clientHeight,x=Math.ceil(f.scrollTop)<m;i(x)};const f=n.viewport;return u(),f.addEventListener("scroll",u),()=>f.removeEventListener("scroll",u)}},[n.viewport,n.isPositioned]),s?a.jsx(hI,{...e,ref:c,onAutoScroll:()=>{const{viewport:u,selectedItem:f}=n;u&&f&&(u.scrollTop=u.scrollTop+f.offsetHeight)}}):null});fI.displayName=Fb;var hI=h.forwardRef((e,t)=>{const{__scopeSelect:n,onAutoScroll:r,...s}=e,i=Ml("SelectScrollButton",n),c=h.useRef(null),u=$x(n),f=h.useCallback(()=>{c.current!==null&&(window.clearInterval(c.current),c.current=null)},[]);return h.useEffect(()=>()=>f(),[f]),Br(()=>{var x;const m=u().find(g=>g.ref.current===document.activeElement);(x=m==null?void 0:m.ref.current)==null||x.scrollIntoView({block:"nearest"})},[u]),a.jsx(et.div,{"aria-hidden":!0,...s,ref:t,style:{flexShrink:0,...s.style},onPointerDown:Me(s.onPointerDown,()=>{c.current===null&&(c.current=window.setInterval(r,50))}),onPointerMove:Me(s.onPointerMove,()=>{var m;(m=i.onItemLeave)==null||m.call(i),c.current===null&&(c.current=window.setInterval(r,50))}),onPointerLeave:Me(s.onPointerLeave,()=>{f()})})}),Zne="SelectSeparator",mI=h.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e;return a.jsx(et.div,{"aria-hidden":!0,...r,ref:t})});mI.displayName=Zne;var Hb="SelectArrow",Xne=h.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,s=Bx(n),i=Il(Hb,n),c=Ml(Hb,n);return i.open&&c.position==="popper"?a.jsx(_h,{...s,...r,ref:t}):null});Xne.displayName=Hb;var Qne="SelectBubbleInput",pI=h.forwardRef(({__scopeSelect:e,value:t,...n},r)=>{const s=h.useRef(null),i=vt(r,s),c=G2(t);return h.useEffect(()=>{const u=s.current;if(!u)return;const f=window.HTMLSelectElement.prototype,x=Object.getOwnPropertyDescriptor(f,"value").set;if(c!==t&&x){const g=new Event("change",{bubbles:!0});x.call(u,t),u.dispatchEvent(g)}},[c,t]),a.jsx(et.select,{...n,style:{...n3,...n.style},ref:i,defaultValue:t})});pI.displayName=Qne;function gI(e){return e===""||e===void 0}function xI(e){const t=Vs(e),n=h.useRef(""),r=h.useRef(0),s=h.useCallback(c=>{const u=n.current+c;t(u),(function f(m){n.current=m,window.clearTimeout(r.current),m!==""&&(r.current=window.setTimeout(()=>f(""),1e3))})(u)},[t]),i=h.useCallback(()=>{n.current="",window.clearTimeout(r.current)},[]);return h.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,s,i]}function yI(e,t,n){const s=t.length>1&&Array.from(t).every(m=>m===t[0])?t[0]:t,i=n?e.indexOf(n):-1;let c=Jne(e,Math.max(i,0));s.length===1&&(c=c.filter(m=>m!==n));const f=c.find(m=>m.textValue.toLowerCase().startsWith(s.toLowerCase()));return f!==n?f:void 0}function Jne(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var ere=G5,tre=K5,nre=Y5,rre=Z5,are=X5,sre=Q5,ore=nI,ire=aI,lre=iI,cre=lI,ure=uI,dre=dI,fre=fI,hre=mI;function fa({...e}){return a.jsx(ere,{"data-slot":"select",...e})}function Gx({...e}){return a.jsx(ire,{"data-slot":"select-group",...e})}function ha({...e}){return a.jsx(nre,{"data-slot":"select-value",...e})}function ma({className:e,size:t="default",children:n,...r}){return a.jsxs(tre,{"data-slot":"select-trigger","data-size":t,className:se("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...r,children:[n,a.jsx(rre,{asChild:!0,children:a.jsx(Es,{className:"size-4 opacity-50"})})]})}function pa({className:e,children:t,position:n="popper",...r}){return a.jsx(are,{children:a.jsxs(sre,{"data-slot":"select-content",className:se("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",n==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:n,...r,children:[a.jsx(mre,{}),a.jsx(ore,{className:se("p-1",n==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:t}),a.jsx(pre,{})]})})}function Gn({className:e,children:t,...n}){return a.jsxs(lre,{"data-slot":"select-item",className:se("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...n,children:[a.jsx("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:a.jsx(ure,{children:a.jsx(la,{className:"size-4"})})}),a.jsx(cre,{children:t})]})}function vI({className:e,...t}){return a.jsx(hre,{"data-slot":"select-separator",className:se("bg-border pointer-events-none -mx-1 my-1 h-px",e),...t})}function mre({className:e,...t}){return a.jsx(dre,{"data-slot":"select-scroll-up-button",className:se("flex cursor-default items-center justify-center py-1",e),...t,children:a.jsx(Ju,{className:"size-4"})})}function pre({className:e,...t}){return a.jsx(fre,{"data-slot":"select-scroll-down-button",className:se("flex cursor-default items-center justify-center py-1",e),...t,children:a.jsx(Es,{className:"size-4"})})}const gre=en({title:gt().min(1,"Title is required").max(100,"Title must be less than 100 characters"),storageId:gt().min(1,"Storage is required")});function xre(){const{createDataMart:e,isLoading:t,error:n}=Rs();return{handleCreate:h.useCallback(async s=>{try{return await e(s)}catch(i){return console.error(i),null}},[e]),isSubmitting:t,serverError:n}}function yre(e){const{getDataMart:t,deleteDataMart:n,updateDataMartTitle:r,updateDataMartDescription:s,updateDataMartDefinition:i,updateDataMartSchema:c,actualizeDataMartSchema:u,publishDataMart:f,runDataMart:m,cancelDataMartRun:x,getDataMartRuns:g,loadMoreDataMartRuns:y,reset:v,dataMart:S,isLoading:b,error:E,getErrorMessage:R,runs:j}=Rs();return h.useEffect(()=>(e?t(e):v(),()=>{v()}),[e,t,v]),{dataMart:S,isLoading:b,error:E,getErrorMessage:R,deleteDataMart:n,updateDataMartTitle:r,updateDataMartDescription:s,updateDataMartDefinition:i,updateDataMartSchema:c,actualizeDataMartSchema:u,publishDataMart:f,runDataMart:m,cancelDataMartRun:x,getDataMartRuns:g,loadMoreDataMartRuns:y,runs:j,getDataMart:t}}const Y_=(e,t,n)=>{if(e&&"reportValidity"in e){const r=Pe(n,t);e.setCustomValidity(r&&r.message||""),e.reportValidity()}},Vb=(e,t)=>{for(const n in t.fields){const r=t.fields[n];r&&r.ref&&"reportValidity"in r.ref?Y_(r.ref,n,e):r&&r.refs&&r.refs.forEach(s=>Y_(s,n,e))}},Z_=(e,t)=>{t.shouldUseNativeValidation&&Vb(e,t);const n={};for(const r in e){const s=Pe(t.fields,r),i=Object.assign(e[r]||{},{ref:s&&s.ref});if(vre(t.names||Object.keys(e),r)){const c=Object.assign({},Pe(n,r));Cn(c,"root",i),Cn(n,r,c)}else Cn(n,r,i)}return n},vre=(e,t)=>{const n=X_(t);return e.some(r=>X_(r).match(`^${n}\\.\\d+`))};function X_(e){return e.replace(/\]|\[/g,"")}function bI(e,t,n){function r(u,f){var m;Object.defineProperty(u,"_zod",{value:u._zod??{},enumerable:!1}),(m=u._zod).traits??(m.traits=new Set),u._zod.traits.add(e),t(u,f);for(const x in c.prototype)x in u||Object.defineProperty(u,x,{value:c.prototype[x].bind(u)});u._zod.constr=c,u._zod.def=f}const s=(n==null?void 0:n.Parent)??Object;class i extends s{}Object.defineProperty(i,"name",{value:e});function c(u){var f;const m=n!=null&&n.Parent?new i:this;r(m,u),(f=m._zod).deferred??(f.deferred=[]);for(const x of m._zod.deferred)x();return m}return Object.defineProperty(c,"init",{value:r}),Object.defineProperty(c,Symbol.hasInstance,{value:u=>{var f,m;return n!=null&&n.Parent&&u instanceof n.Parent?!0:(m=(f=u==null?void 0:u._zod)==null?void 0:f.traits)==null?void 0:m.has(e)}}),Object.defineProperty(c,"name",{value:e}),c}class bre extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}const Sre={};function SI(e){return Sre}function Cre(e,t){return typeof t=="bigint"?t.toString():t}const CI=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};function Ip(e){return typeof e=="string"?e:e==null?void 0:e.message}function EI(e,t,n){var s,i,c,u,f,m;const r={...e,path:e.path??[]};if(!e.message){const x=Ip((c=(i=(s=e.inst)==null?void 0:s._zod.def)==null?void 0:i.error)==null?void 0:c.call(i,e))??Ip((u=t==null?void 0:t.error)==null?void 0:u.call(t,e))??Ip((f=n.customError)==null?void 0:f.call(n,e))??Ip((m=n.localeError)==null?void 0:m.call(n,e))??"Invalid input";r.message=x}return delete r.inst,delete r.continue,t!=null&&t.reportInput||delete r.input,r}const wI=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),Object.defineProperty(e,"message",{get(){return JSON.stringify(t,Cre,2)},enumerable:!0}),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Ere=bI("$ZodError",wI),RI=bI("$ZodError",wI,{Parent:Error}),wre=e=>(t,n,r,s)=>{const i=r?Object.assign(r,{async:!1}):{async:!1},c=t._zod.run({value:n,issues:[]},i);if(c instanceof Promise)throw new bre;if(c.issues.length){const u=new((s==null?void 0:s.Err)??e)(c.issues.map(f=>EI(f,i,SI())));throw CI(u,s==null?void 0:s.callee),u}return c.value},Rre=wre(RI),jre=e=>async(t,n,r,s)=>{const i=r?Object.assign(r,{async:!0}):{async:!0};let c=t._zod.run({value:n,issues:[]},i);if(c instanceof Promise&&(c=await c),c.issues.length){const u=new((s==null?void 0:s.Err)??e)(c.issues.map(f=>EI(f,i,SI())));throw CI(u,s==null?void 0:s.callee),u}return c.value},Tre=jre(RI);function Q_(e,t){try{var n=e()}catch(r){return t(r)}return n&&n.then?n.then(void 0,t):n}function _re(e,t){for(var n={};e.length;){var r=e[0],s=r.code,i=r.message,c=r.path.join(".");if(!n[c])if("unionErrors"in r){var u=r.unionErrors[0].errors[0];n[c]={message:u.message,type:u.code}}else n[c]={message:i,type:s};if("unionErrors"in r&&r.unionErrors.forEach(function(x){return x.errors.forEach(function(g){return e.push(g)})}),t){var f=n[c].types,m=f&&f[r.code];n[c]=V2(c,t,n,s,m?[].concat(m,r.message):r.message)}e.shift()}return n}function Nre(e,t){for(var n={};e.length;){var r=e[0],s=r.code,i=r.message,c=r.path.join(".");if(!n[c])if(r.code==="invalid_union"&&r.errors.length>0){var u=r.errors[0][0];n[c]={message:u.message,type:u.code}}else n[c]={message:i,type:s};if(r.code==="invalid_union"&&r.errors.forEach(function(x){return x.forEach(function(g){return e.push(g)})}),t){var f=n[c].types,m=f&&f[r.code];n[c]=V2(c,t,n,s,m?[].concat(m,r.message):r.message)}e.shift()}return n}function Ci(e,t,n){if(n===void 0&&(n={}),(function(r){return"_def"in r&&typeof r._def=="object"&&"typeName"in r._def})(e))return function(r,s,i){try{return Promise.resolve(Q_(function(){return Promise.resolve(e[n.mode==="sync"?"parse":"parseAsync"](r,t)).then(function(c){return i.shouldUseNativeValidation&&Vb({},i),{errors:{},values:n.raw?Object.assign({},r):c}})},function(c){if((function(u){return Array.isArray(u==null?void 0:u.issues)})(c))return{values:{},errors:Z_(_re(c.errors,!i.shouldUseNativeValidation&&i.criteriaMode==="all"),i)};throw c}))}catch(c){return Promise.reject(c)}};if((function(r){return"_zod"in r&&typeof r._zod=="object"})(e))return function(r,s,i){try{return Promise.resolve(Q_(function(){return Promise.resolve((n.mode==="sync"?Rre:Tre)(e,r,t)).then(function(c){return i.shouldUseNativeValidation&&Vb({},i),{errors:{},values:n.raw?Object.assign({},r):c}})},function(c){if((function(u){return u instanceof Ere})(c))return{values:{},errors:Z_(Nre(c.issues,!i.shouldUseNativeValidation&&i.criteriaMode==="all"),i)};throw c}))}catch(c){return Promise.reject(c)}};throw new Error("Invalid input: not a Zod schema")}const jI=h.createContext(void 0);function Are(){const e=h.useContext(jI);if(e===void 0)throw new Error("useDataStorageContext must be used within a DataStorageProvider");return e}var on=(e=>(e.FETCH_STORAGES_START="FETCH_STORAGES_START",e.FETCH_STORAGES_SUCCESS="FETCH_STORAGES_SUCCESS",e.FETCH_STORAGES_ERROR="FETCH_STORAGES_ERROR",e.FETCH_STORAGE_START="FETCH_STORAGE_START",e.FETCH_STORAGE_SUCCESS="FETCH_STORAGE_SUCCESS",e.FETCH_STORAGE_ERROR="FETCH_STORAGE_ERROR",e.CLEAR_CURRENT_STORAGE="CLEAR_CURRENT_STORAGE",e.CREATE_STORAGE_START="CREATE_STORAGE_START",e.CREATE_STORAGE_SUCCESS="CREATE_STORAGE_SUCCESS",e.CREATE_STORAGE_ERROR="CREATE_STORAGE_ERROR",e.UPDATE_STORAGE_START="UPDATE_STORAGE_START",e.UPDATE_STORAGE_SUCCESS="UPDATE_STORAGE_SUCCESS",e.UPDATE_STORAGE_ERROR="UPDATE_STORAGE_ERROR",e.DELETE_STORAGE_START="DELETE_STORAGE_START",e.DELETE_STORAGE_SUCCESS="DELETE_STORAGE_SUCCESS",e.DELETE_STORAGE_ERROR="DELETE_STORAGE_ERROR",e.CLEAR_ERROR="CLEAR_ERROR",e))(on||{});const Dre={dataStorages:[],currentDataStorage:null,loading:!1,error:null};function Ore(e,t){switch(t.type){case on.FETCH_STORAGES_START:case on.FETCH_STORAGE_START:case on.CREATE_STORAGE_START:case on.UPDATE_STORAGE_START:return{...e,error:null};case on.DELETE_STORAGE_START:return{...e,loading:!0,error:null};case on.FETCH_STORAGES_SUCCESS:return{...e,dataStorages:t.payload,loading:!1,error:null};case on.FETCH_STORAGE_SUCCESS:return{...e,currentDataStorage:t.payload,loading:!1,error:null};case on.CREATE_STORAGE_SUCCESS:return{...e,dataStorages:[...e.dataStorages,t.payload],loading:!1,error:null};case on.UPDATE_STORAGE_SUCCESS:return{...e,currentDataStorage:t.payload,dataStorages:e.dataStorages.map(n=>n.id===t.payload.id?t.payload:n),loading:!1,error:null};case on.DELETE_STORAGE_SUCCESS:return{...e,dataStorages:e.dataStorages.filter(n=>n.id!==t.payload),loading:!1,error:null};case on.FETCH_STORAGES_ERROR:case on.FETCH_STORAGE_ERROR:case on.CREATE_STORAGE_ERROR:case on.UPDATE_STORAGE_ERROR:case on.DELETE_STORAGE_ERROR:return{...e,loading:!1,error:t.payload};case on.CLEAR_CURRENT_STORAGE:return{...e,currentDataStorage:null};case on.CLEAR_ERROR:return{...e,error:null};default:return e}}function K2({children:e}){const[t,n]=h.useReducer(Ore,Dre);return a.jsx(jI.Provider,{value:{state:t,dispatch:n},children:e})}class Ire extends El{constructor(){super("/data-storages")}async getDataStorages(){return this.get("/")}async getDataStorageById(t){return this.get(`/${t}`)}async createDataStorage(t){return this.post("",t)}async updateDataStorage(t,n){return this.put(`/${t}`,n)}async deleteDataStorage(t){return this.delete(`/${t}`)}}const Nf=new Ire;function qx(){const{state:e,dispatch:t}=Are(),n=h.useCallback(async()=>{t({type:on.FETCH_STORAGES_START});try{const f=await Nf.getDataStorages();t({type:on.FETCH_STORAGES_SUCCESS,payload:f.map(Pte)})}catch(f){throw t({type:on.FETCH_STORAGES_ERROR,payload:mn(f)}),f}},[t]),r=h.useCallback(async f=>{try{const m=await Nf.getDataStorageById(f),x=Qp(m);t({type:on.FETCH_STORAGE_SUCCESS,payload:x})}catch(m){throw t({type:on.FETCH_STORAGE_ERROR,payload:mn(m)}),m}},[t]),s=h.useCallback(async f=>{t({type:on.CREATE_STORAGE_START});try{const m=Ute(f),x=await Nf.createDataStorage(m),g=Qp(x);return t({type:on.CREATE_STORAGE_SUCCESS,payload:g}),De({event:"data_storage_created",category:"DataStorage",action:"Create",label:g.type,details:g.title}),kt.success("Storage created"),g}catch(m){return t({type:on.CREATE_STORAGE_ERROR,payload:mn(m)}),null}},[t]),i=h.useCallback(async(f,m)=>{t({type:on.UPDATE_STORAGE_START});try{const x=Lte(m),g=await Nf.updateDataStorage(f,x),y=Qp(g);return t({type:on.UPDATE_STORAGE_SUCCESS,payload:y}),De({event:"data_storage_updated",category:"DataStorage",action:"Update",label:y.type,context:y.id}),kt.success("Storage updated"),y}catch(x){return t({type:on.UPDATE_STORAGE_ERROR,payload:mn(x)}),null}},[t]),c=h.useCallback(async f=>{t({type:on.DELETE_STORAGE_START});try{await Nf.deleteDataStorage(f),t({type:on.DELETE_STORAGE_SUCCESS,payload:f}),De({event:"data_storage_deleted",category:"DataStorage",action:"Delete",label:f}),kt.success("Storage deleted")}catch(m){throw t({type:on.DELETE_STORAGE_ERROR,payload:mn(m)}),m}},[t]),u=h.useCallback(()=>{t({type:on.CLEAR_CURRENT_STORAGE})},[t]);return{dataStorages:e.dataStorages,currentDataStorage:e.currentDataStorage,loading:e.loading,error:e.error,fetchDataStorages:n,getDataStorageById:r,createDataStorage:s,updateDataStorage:i,deleteDataStorage:c,clearCurrentDataStorage:u}}const TI=({isOpen:e,onClose:t,onSelect:n,isCreatingDataStorage:r})=>{const{trigger:s,isLocked:i}=FZ(n,1e3);return a.jsx(N2,{open:e,onOpenChange:t,children:a.jsxs(A2,{className:"sm:max-w-sm",children:[a.jsxs(D2,{children:[a.jsx(O2,{children:"New Storage"}),a.jsx(I2,{children:"Choose the type of storage you want to create"})]}),a.jsx("div",{className:"flex flex-col gap-4 py-4",children:wl.getAllTypes().map(c=>{const u=c.icon,f=c.status===ni.ACTIVE;return a.jsxs(we,{variant:"outline",className:"flex px-4 py-6 select-none",onClick:()=>{s(c.type)},disabled:!f||r||i,onDoubleClick:m=>{m.preventDefault()},children:[a.jsxs("span",{className:"flex flex-grow items-center gap-2",children:[a.jsx(u,{size:24}),a.jsx("span",{className:"font-medium",children:c.displayName})]}),!f&&a.jsx(Dr,{variant:"secondary",children:"Coming soon"})]},c.type)})})]})})};function Mre({initialData:e,onSuccess:t}){const{handleCreate:n,isSubmitting:r,serverError:s}=xre(),{dataStorages:i,loading:c,fetchDataStorages:u,createDataStorage:f,getDataStorageById:m}=qx(),[x,g]=h.useState(!1),[y,v]=h.useState(!1);h.useEffect(()=>{u()},[u]);const S=Do({resolver:Ci(gre),defaultValues:{title:(e==null?void 0:e.title)??"",storageId:""},mode:"onTouched"}),b=async j=>{const _=await n(j);_&&t&&t(_)},E=()=>{g(!0)},R=async j=>{v(!0);try{const _=await f(j);_!=null&&_.id&&(await m(_.id),S.setValue("storageId",_.id))}catch(_){console.error("Failed to create storage:",_)}g(!1),v(!1)};return a.jsxs(a.Fragment,{children:[a.jsx(Dl,{...S,children:a.jsxs(Si,{onSubmit:j=>{S.handleSubmit(b)(j)},children:[a.jsxs(Ol,{variant:"light",children:[s&&a.jsx("div",{className:"rounded bg-red-100 p-3 text-red-700",children:s.message}),a.jsx(yt,{control:S.control,name:"title",render:({field:j})=>a.jsxs(ht,{children:[a.jsx(ut,{children:"Title"}),a.jsx(mt,{children:a.jsx(dt,{id:"title",placeholder:"Enter title",...j,disabled:r})}),a.jsx(St,{})]})}),a.jsx(yt,{control:S.control,name:"storageId",render:({field:j})=>a.jsxs(ht,{children:[a.jsx(ut,{children:"Storage"}),a.jsx(mt,{children:a.jsxs(fa,{onValueChange:_=>{_==="create_new"?E():j.onChange(_)},value:j.value,disabled:r||c,children:[a.jsx(ma,{className:"w-full",children:a.jsx(ha,{placeholder:"Select a storage"})}),a.jsx(pa,{children:a.jsxs(Gx,{children:[c&&a.jsx(Gn,{value:"loading",disabled:!0,children:"Loading..."}),!c&&i.map(_=>{const D=wl.getInfo(_.type).icon;return a.jsx(Gn,{value:_.id,children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(D,{size:20}),a.jsx("span",{children:_.title})]})},_.id)}),!c&&i.length>0&&a.jsx(vI,{}),a.jsx(Gn,{value:"create_new",children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("div",{className:"flex h-5 w-5 items-center justify-center",children:a.jsx(ga,{size:20})}),a.jsx("span",{children:"Create new storage"})]})})]})})]})}),a.jsx(St,{})]})})]}),a.jsxs(Uc,{variant:"light",children:[a.jsx(we,{type:"submit",children:"Create Data Mart"}),a.jsx(we,{variant:"outline",type:"button",onClick:()=>{window.history.back()},children:"Go back"})]})]})}),a.jsx(TI,{isOpen:x,onClose:()=>{g(!1)},onSelect:j=>R(j),isCreatingDataStorage:y})]})}function _I({title:e,onUpdate:t,className:n,errorMessage:r="Title cannot be empty",minWidth:s="200px"}){const[i,c]=h.useState(e),[u,f]=h.useState(!1),m=h.useRef(null);h.useEffect(()=>{c(e)},[e]),h.useEffect(()=>{m.current&&(m.current.style.height="auto",m.current.style.height=`${String(m.current.scrollHeight)}px`)},[i]);const x=async()=>{if(i.trim()===""){c(e);return}if(i.trim()!==e)try{f(!0),await t(i.trim())}catch(y){c(e),console.error(y)}finally{f(!1)}},g=y=>{if(y.key==="Enter"&&!y.shiftKey){if(y.preventDefault(),i.trim()===""){kt.error(r),c(e);return}x()}else y.key==="Escape"&&c(e)};return a.jsx("h2",{className:se("m-0 cursor-pointer p-0 hover:opacity-80",n),children:a.jsx(Ao,{ref:m,value:i,onChange:y=>{c(y.target.value);const v=y.target;v.style.height="auto",v.style.height=`${String(v.scrollHeight)}px`},onBlur:()=>void x(),onKeyDown:g,className:se("m-0 w-full border-0 p-0 shadow-none","bg-transparent focus-visible:ring-0 focus-visible:ring-offset-0",{"opacity-50":u}),style:{fontSize:"inherit",fontWeight:"inherit",lineHeight:"inherit",fontFamily:"inherit",color:"inherit",resize:"none",overflow:"hidden",minHeight:"inherit",height:"auto",minWidth:s},disabled:u})})}var ac=(e=>(e.MANUAL_BACKFILL="MANUAL_BACKFILL",e.INCREMENTAL="INCREMENTAL",e))(ac||{}),NI=(e=>(e.MANUAL_BACKFILL="MANUAL_BACKFILL",e.HIDE_IN_CONFIG_FORM="HIDE_IN_CONFIG_FORM",e))(NI||{}),Kx="Tabs",[kre]=Er(Kx,[px]),AI=px(),[Lre,W2]=kre(Kx),DI=h.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,onValueChange:s,defaultValue:i,orientation:c="horizontal",dir:u,activationMode:f="automatic",...m}=e,x=Dh(u),[g,y]=ca({prop:r,onChange:s,defaultProp:i??"",caller:Kx});return a.jsx(Lre,{scope:n,baseId:er(),value:g,onValueChange:y,orientation:c,dir:x,activationMode:f,children:a.jsx(et.div,{dir:x,"data-orientation":c,...m,ref:t})})});DI.displayName=Kx;var OI="TabsList",II=h.forwardRef((e,t)=>{const{__scopeTabs:n,loop:r=!0,...s}=e,i=W2(OI,n),c=AI(n);return a.jsx(v3,{asChild:!0,...c,orientation:i.orientation,dir:i.dir,loop:r,children:a.jsx(et.div,{role:"tablist","aria-orientation":i.orientation,...s,ref:t})})});II.displayName=OI;var MI="TabsTrigger",kI=h.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,disabled:s=!1,...i}=e,c=W2(MI,n),u=AI(n),f=UI(c.baseId,r),m=zI(c.baseId,r),x=r===c.value;return a.jsx(b3,{asChild:!0,...u,focusable:!s,active:x,children:a.jsx(et.button,{type:"button",role:"tab","aria-selected":x,"aria-controls":m,"data-state":x?"active":"inactive","data-disabled":s?"":void 0,disabled:s,id:f,...i,ref:t,onMouseDown:Me(e.onMouseDown,g=>{!s&&g.button===0&&g.ctrlKey===!1?c.onValueChange(r):g.preventDefault()}),onKeyDown:Me(e.onKeyDown,g=>{[" ","Enter"].includes(g.key)&&c.onValueChange(r)}),onFocus:Me(e.onFocus,()=>{const g=c.activationMode!=="manual";!x&&!s&&g&&c.onValueChange(r)})})})});kI.displayName=MI;var LI="TabsContent",PI=h.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,forceMount:s,children:i,...c}=e,u=W2(LI,n),f=UI(u.baseId,r),m=zI(u.baseId,r),x=r===u.value,g=h.useRef(x);return h.useEffect(()=>{const y=requestAnimationFrame(()=>g.current=!1);return()=>cancelAnimationFrame(y)},[]),a.jsx(qr,{present:s||x,children:({present:y})=>a.jsx(et.div,{"data-state":x?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":f,hidden:!y,id:m,tabIndex:0,...c,ref:t,style:{...e.style,animationDuration:g.current?"0s":void 0},children:y&&i})})});PI.displayName=LI;function UI(e,t){return`${e}-trigger-${t}`}function zI(e,t){return`${e}-content-${t}`}var Pre=DI,Ure=II,zre=kI,Fre=PI;function Wx({className:e,...t}){return a.jsx(Pre,{"data-slot":"tabs",className:se("flex flex-col gap-2",e),...t})}function Yx({className:e,...t}){return a.jsx(Ure,{"data-slot":"tabs-list",className:se("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",e),...t})}function Ec({className:e,...t}){return a.jsx(zre,{"data-slot":"tabs-trigger",className:se("data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...t})}function Hre({className:e,...t}){return a.jsx(Fre,{"data-slot":"tabs-content",className:se("flex-1 outline-none",e),...t})}var Zx="Collapsible",[Vre,FI]=Er(Zx),[$re,Y2]=Vre(Zx),HI=h.forwardRef((e,t)=>{const{__scopeCollapsible:n,open:r,defaultOpen:s,disabled:i,onOpenChange:c,...u}=e,[f,m]=ca({prop:r,defaultProp:s??!1,onChange:c,caller:Zx});return a.jsx($re,{scope:n,disabled:i,contentId:er(),open:f,onOpenToggle:h.useCallback(()=>m(x=>!x),[m]),children:a.jsx(et.div,{"data-state":J2(f),"data-disabled":i?"":void 0,...u,ref:t})})});HI.displayName=Zx;var VI="CollapsibleTrigger",Z2=h.forwardRef((e,t)=>{const{__scopeCollapsible:n,...r}=e,s=Y2(VI,n);return a.jsx(et.button,{type:"button","aria-controls":s.contentId,"aria-expanded":s.open||!1,"data-state":J2(s.open),"data-disabled":s.disabled?"":void 0,disabled:s.disabled,...r,ref:t,onClick:Me(e.onClick,s.onOpenToggle)})});Z2.displayName=VI;var X2="CollapsibleContent",Q2=h.forwardRef((e,t)=>{const{forceMount:n,...r}=e,s=Y2(X2,e.__scopeCollapsible);return a.jsx(qr,{present:n||s.open,children:({present:i})=>a.jsx(Bre,{...r,ref:t,present:i})})});Q2.displayName=X2;var Bre=h.forwardRef((e,t)=>{const{__scopeCollapsible:n,present:r,children:s,...i}=e,c=Y2(X2,n),[u,f]=h.useState(r),m=h.useRef(null),x=vt(t,m),g=h.useRef(0),y=g.current,v=h.useRef(0),S=v.current,b=c.open||u,E=h.useRef(b),R=h.useRef(void 0);return h.useEffect(()=>{const j=requestAnimationFrame(()=>E.current=!1);return()=>cancelAnimationFrame(j)},[]),Br(()=>{const j=m.current;if(j){R.current=R.current||{transitionDuration:j.style.transitionDuration,animationName:j.style.animationName},j.style.transitionDuration="0s",j.style.animationName="none";const _=j.getBoundingClientRect();g.current=_.height,v.current=_.width,E.current||(j.style.transitionDuration=R.current.transitionDuration,j.style.animationName=R.current.animationName),f(r)}},[c.open,r]),a.jsx(et.div,{"data-state":J2(c.open),"data-disabled":c.disabled?"":void 0,id:c.contentId,hidden:!b,...i,ref:x,style:{"--radix-collapsible-content-height":y?`${y}px`:void 0,"--radix-collapsible-content-width":S?`${S}px`:void 0,...e.style},children:b&&s})});function J2(e){return e?"open":"closed"}var $I=HI,Gre=Z2,qre=Q2;const Kre=$I,Wre=Z2,Yre=Q2;function Zre({children:e,className:t="",...n}){return a.jsx("div",{className:se("flex flex-1 flex-col overflow-hidden",t),...n,children:e})}function Xre({children:e,className:t="",...n}){return a.jsx("div",{className:se("bg-muted dark:bg-sidebar flex-1 overflow-y-auto p-4",t),...n,children:a.jsx("div",{className:"flex min-h-full flex-col gap-4",children:e})})}function Qre({children:e,className:t="",variant:n="horizontal",...r}){const s=n==="vertical"?"flex flex-col gap-1.5 pt-4":"flex items-center justify-between border-t px-4 py-3";return a.jsx("div",{className:se(s,t),...r,children:e})}function io({children:e,className:t="",...n}){return a.jsx("div",{"data-slot":"wizard-step-item",className:se("group border-border flex flex-col gap-2 rounded-md border-b bg-white px-4 py-3 transition-shadow duration-200 hover:shadow-sm dark:border-transparent dark:bg-white/4",t),...n,children:e})}function Jre({label:e,children:t,className:n="",options:r,value:s,onValueChange:i,required:c=!1,tooltip:u,...f}){return a.jsx("div",{"data-slot":"wizard-step-item-one-of",className:se("group border-border flex flex-col gap-2 rounded-md border-b bg-white px-4 py-3 transition-shadow duration-200 hover:shadow-sm dark:border-transparent dark:bg-white/4",n),...f,children:a.jsxs(Wx,{value:s,onValueChange:i,children:[a.jsxs("div",{className:"flex items-center",children:[a.jsx(aa,{required:c,tooltip:u,className:"w-full",children:e}),r.length>1&&a.jsx(Yx,{children:r.map(m=>a.jsx(Ec,{value:m.value,children:m.label},m.value))})]}),t]})})}function BI({title:e,children:t,defaultOpen:n=!1,className:r=""}){const[s,i]=h.useState(n);return a.jsxs(Kre,{open:s,onOpenChange:i,"data-slot":"wizard-collapsible",className:se("group/collapsible flex flex-col gap-2 py-3",r),children:[a.jsx(Wre,{asChild:!0,children:a.jsxs("button",{type:"button",className:se("flex cursor-pointer items-center gap-1"),children:[a.jsx("span",{className:"text-muted-foreground/75 text-xs font-semibold tracking-wide uppercase",children:e}),a.jsx(Da,{className:se("text-foreground/75 h-3.5 w-3.5 transition-transform duration-200",s&&"rotate-90")})]})}),a.jsx(Yre,{className:"data-[state=open]:animate-collapsible-down data-[state=closed]:animate-collapsible-up overflow-hidden",children:a.jsx("div",{className:"flex flex-col gap-2 pt-2",children:t})})]})}function aa({children:e,required:t=!1,tooltip:n,tooltipProps:r,className:s="",...i}){return a.jsxs(Aa,{"data-slot":"wizard-step-label",className:se("text-foreground flex items-center justify-between gap-2 text-sm font-medium",s),...i,children:[t?a.jsxs(wt,{...r,children:[a.jsx(Rt,{asChild:!0,children:a.jsxs("span",{className:"flex items-center gap-1",children:[e,a.jsx("span",{className:"ml-1 text-red-500",children:"*"})]})}),a.jsx(jt,{side:"top",align:"center",role:"tooltip",children:"Required"})]}):a.jsx("span",{children:e}),n&&a.jsxs(wt,{...r,children:[a.jsx(Rt,{asChild:!0,children:a.jsx("button",{type:"button",tabIndex:-1,className:"pointer-events-none opacity-0 transition group-hover:pointer-events-auto group-hover:opacity-100","aria-label":"Help information",children:a.jsx(Or,{className:"text-muted-foreground/50 hover:text-muted-foreground size-4 shrink-0 transition-colors","aria-hidden":"true"})})}),a.jsx(jt,{side:"top",align:"center",role:"tooltip",children:n})]})]})}function ri({title:e,children:t,className:n="",...r}){return a.jsxs("section",{"data-slot":"wizard-step-section",className:se("mb-8",n),...r,children:[e&&a.jsx("h3",{className:"text-muted-foreground/75 mb-2 text-xs font-semibold tracking-wide uppercase",children:e}),a.jsx("div",{className:"flex flex-col gap-2",children:t})]})}function go({icon:e,title:t,subtitle:n,docUrl:r,variant:s="default",className:i,...c}){return s==="compact"?a.jsxs("div",{"data-slot":"wizard-step-hero",className:se("border-border mb-6 flex items-center justify-between gap-4 border-b pb-4",i),...c,children:[a.jsxs("div",{className:"flex items-center gap-2",children:[e&&a.jsx("div",{children:e}),a.jsx("h2",{className:"text-md font-medium",children:t})]}),r!=null&&a.jsx(we,{variant:"outline",asChild:!0,children:a.jsxs(Xr,{to:r,target:"_blank",rel:"noopener noreferrer",children:["Documentation",a.jsx(ci,{className:"h-4 w-4"})]})})]}):a.jsxs("div",{"data-slot":"wizard-step-hero",className:se("mb-6 flex flex-col items-center justify-center text-center",i),...c,children:[e&&a.jsx("div",{className:"mt-6 mb-3",children:e}),a.jsx("h2",{className:"text-xl font-medium",children:t}),n&&a.jsx("p",{className:"text-muted-foreground mt-2 text-sm",children:n}),r!=null&&a.jsx(we,{variant:"outline",className:"mt-3 mb-6",asChild:!0,children:a.jsxs(Xr,{to:r,target:"_blank",rel:"noopener noreferrer",children:["Documentation",a.jsx(ci,{className:"h-4 w-4"})]})})]})}function ii({children:e,className:t="",...n}){return a.jsx("div",{"data-slot":"wizard-step",className:se("space-y-4",t),...n,children:e})}function eae({children:e,className:t="",...n}){return a.jsx("div",{className:se("grid grid-cols-1 gap-4 md:grid-cols-2",t),...n,children:e})}function tae({icon:e,title:t,selected:n=!1,disabled:r=!1,onClick:s,onDoubleClick:i,className:c="",...u}){return a.jsxs("div",{className:se("border-border flex items-center gap-4 rounded-md border-b bg-white px-4 py-3 transition-shadow duration-200 select-none hover:shadow-sm dark:border-transparent dark:bg-white/4",r?"cursor-not-allowed opacity-50 hover:shadow-none":"cursor-pointer hover:shadow-sm dark:hover:bg-white/8",n&&!r?"ring-primary border-transparent ring-2 dark:bg-white/8":"",c),onClick:s,onDoubleClick:i,...u,children:[e&&a.jsx("span",{className:"shrink-0",children:e}),r?a.jsxs(wt,{children:[a.jsx(Rt,{asChild:!0,children:a.jsx("span",{className:"cursor-not-allowed text-sm font-medium opacity-70",children:t})}),a.jsx(jt,{side:"top",align:"center",children:"Coming soon"})]}):a.jsx("span",{className:"text-sm font-medium",children:t})]})}function GI({children:e,className:t="",...n}){return a.jsx("div",{className:se("flex flex-col gap-0.5 rounded-md border-b bg-white p-2 transition-shadow duration-200 select-none hover:shadow-sm dark:bg-white/4",t),...n,children:e})}function qI({type:e,id:t,name:n,value:r,label:s,checked:i,selected:c=!1,disabled:u=!1,tooltip:f,rightIcon:m,onChange:x,className:g="",...y}){const v=b=>{x&&x(e==="checkbox"?b.target.checked:b.target.value)},S=h.useRef(null);return a.jsxs("div",{"data-slot":"wizard-step-card-item",onClick:b=>{if(u)return;const E=b.target;E.tagName==="INPUT"||E.tagName==="LABEL"||E.closest("label")||S.current&&S.current.click()},className:se("group flex items-center gap-2 rounded-sm px-4 py-3 transition-shadow duration-200 select-none",u?"cursor-not-allowed":"hover:bg-accent cursor-pointer dark:hover:bg-white/4",c?"bg-primary/8 hover:bg-primary/8 dark:bg-white/8 dark:hover:bg-white/8":"",g),children:[a.jsx("input",{ref:S,id:t,type:e,name:n,value:r,checked:i,disabled:u,onChange:v,className:se("text-primary focus:ring-primary border-border cursor-pointer",e==="radio"||e==="checkbox"?"accent-primary dark:accent-primary h-4 w-4":"h-8 w-full rounded-md border px-2"),...y}),s&&a.jsx(aa,{htmlFor:t,className:se("cursor-pointer",u&&"cursor-not-allowed"),children:s}),(f||m)&&a.jsxs("div",{className:"ml-auto flex shrink-0 items-center gap-2",children:[f&&a.jsxs(wt,{children:[a.jsx(Rt,{asChild:!0,children:a.jsx(Or,{className:"text-muted-foreground/75 pointer-events-none h-4 w-4 opacity-0 group-hover:pointer-events-auto group-hover:opacity-100","data-tooltip-trigger":!0})}),a.jsx(jt,{side:"top",align:"center",children:f})]}),m&&a.jsx("div",{className:"flex items-center",children:m})]})]})}function eC({variant:e="grid",items:t,className:n=""}){const r=t??(e==="grid"?12:6),s=e==="grid"?"grid grid-cols-1 gap-4 md:grid-cols-2":"flex flex-col gap-4";return a.jsx("div",{"data-slot":"wizard-step-loading",className:se(s,n),children:Array.from({length:r}).map((i,c)=>a.jsx($r,{className:"border-border h-12 rounded-md border-b bg-white dark:bg-white/4"},c))})}function J_(e){const t=nae(e),n=h.forwardRef((r,s)=>{const{children:i,...c}=r,u=h.Children.toArray(i),f=u.find(aae);if(f){const m=f.props.children,x=u.map(g=>g===f?h.Children.count(m)>1?h.Children.only(null):h.isValidElement(m)?m.props.children:null:g);return a.jsx(t,{...c,ref:s,children:h.isValidElement(m)?h.cloneElement(m,void 0,x):null})}return a.jsx(t,{...c,ref:s,children:i})});return n.displayName=`${e}.Slot`,n}function nae(e){const t=h.forwardRef((n,r)=>{const{children:s,...i}=n;if(h.isValidElement(s)){const c=oae(s),u=sae(i,s.props);return s.type!==h.Fragment&&(u.ref=r?Qr(r,c):c),h.cloneElement(s,u)}return h.Children.count(s)>1?h.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var rae=Symbol("radix.slottable");function aae(e){return h.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===rae}function sae(e,t){const n={...t};for(const r in t){const s=e[r],i=t[r];/^on[A-Z]/.test(r)?s&&i?n[r]=(...u)=>{const f=i(...u);return s(...u),f}:s&&(n[r]=s):r==="style"?n[r]={...s,...i}:r==="className"&&(n[r]=[s,i].filter(Boolean).join(" "))}return{...e,...n}}function oae(e){var r,s;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(s=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:s.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function iae(e){const t=e+"CollectionProvider",[n,r]=Er(t),[s,i]=n(t,{collectionRef:{current:null},itemMap:new Map}),c=b=>{const{scope:E,children:R}=b,j=ae.useRef(null),_=ae.useRef(new Map).current;return a.jsx(s,{scope:E,itemMap:_,collectionRef:j,children:R})};c.displayName=t;const u=e+"CollectionSlot",f=J_(u),m=ae.forwardRef((b,E)=>{const{scope:R,children:j}=b,_=i(u,R),D=vt(E,_.collectionRef);return a.jsx(f,{ref:D,children:j})});m.displayName=u;const x=e+"CollectionItemSlot",g="data-radix-collection-item",y=J_(x),v=ae.forwardRef((b,E)=>{const{scope:R,children:j,..._}=b,D=ae.useRef(null),O=vt(E,D),A=i(x,R);return ae.useEffect(()=>(A.itemMap.set(D,{ref:D,..._}),()=>void A.itemMap.delete(D))),a.jsx(y,{[g]:"",ref:O,children:j})});v.displayName=x;function S(b){const E=i(e+"CollectionConsumer",b);return ae.useCallback(()=>{const j=E.collectionRef.current;if(!j)return[];const _=Array.from(j.querySelectorAll(`[${g}]`));return Array.from(E.itemMap.values()).sort((A,T)=>_.indexOf(A.ref.current)-_.indexOf(T.ref.current))},[E.collectionRef,E.itemMap])}return[{Provider:c,Slot:m,ItemSlot:v},S,r]}var Xs="Accordion",lae=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[tC,cae,uae]=iae(Xs),[Xx]=Er(Xs,[uae,FI]),nC=FI(),KI=ae.forwardRef((e,t)=>{const{type:n,...r}=e,s=r,i=r;return a.jsx(tC.Provider,{scope:e.__scopeAccordion,children:n==="multiple"?a.jsx(mae,{...i,ref:t}):a.jsx(hae,{...s,ref:t})})});KI.displayName=Xs;var[WI,dae]=Xx(Xs),[YI,fae]=Xx(Xs,{collapsible:!1}),hae=ae.forwardRef((e,t)=>{const{value:n,defaultValue:r,onValueChange:s=()=>{},collapsible:i=!1,...c}=e,[u,f]=ca({prop:n,defaultProp:r??"",onChange:s,caller:Xs});return a.jsx(WI,{scope:e.__scopeAccordion,value:ae.useMemo(()=>u?[u]:[],[u]),onItemOpen:f,onItemClose:ae.useCallback(()=>i&&f(""),[i,f]),children:a.jsx(YI,{scope:e.__scopeAccordion,collapsible:i,children:a.jsx(ZI,{...c,ref:t})})})}),mae=ae.forwardRef((e,t)=>{const{value:n,defaultValue:r,onValueChange:s=()=>{},...i}=e,[c,u]=ca({prop:n,defaultProp:r??[],onChange:s,caller:Xs}),f=ae.useCallback(x=>u((g=[])=>[...g,x]),[u]),m=ae.useCallback(x=>u((g=[])=>g.filter(y=>y!==x)),[u]);return a.jsx(WI,{scope:e.__scopeAccordion,value:c,onItemOpen:f,onItemClose:m,children:a.jsx(YI,{scope:e.__scopeAccordion,collapsible:!0,children:a.jsx(ZI,{...i,ref:t})})})}),[pae,Qx]=Xx(Xs),ZI=ae.forwardRef((e,t)=>{const{__scopeAccordion:n,disabled:r,dir:s,orientation:i="vertical",...c}=e,u=ae.useRef(null),f=vt(u,t),m=cae(n),g=Dh(s)==="ltr",y=Me(e.onKeyDown,v=>{var M;if(!lae.includes(v.key))return;const S=v.target,b=m().filter(k=>{var z;return!((z=k.ref.current)!=null&&z.disabled)}),E=b.findIndex(k=>k.ref.current===S),R=b.length;if(E===-1)return;v.preventDefault();let j=E;const _=0,D=R-1,O=()=>{j=E+1,j>D&&(j=_)},A=()=>{j=E-1,j<_&&(j=D)};switch(v.key){case"Home":j=_;break;case"End":j=D;break;case"ArrowRight":i==="horizontal"&&(g?O():A());break;case"ArrowDown":i==="vertical"&&O();break;case"ArrowLeft":i==="horizontal"&&(g?A():O());break;case"ArrowUp":i==="vertical"&&A();break}const T=j%R;(M=b[T].ref.current)==null||M.focus()});return a.jsx(pae,{scope:n,disabled:r,direction:s,orientation:i,children:a.jsx(tC.Slot,{scope:n,children:a.jsx(et.div,{...c,"data-orientation":i,ref:f,onKeyDown:r?void 0:y})})})}),Lg="AccordionItem",[gae,rC]=Xx(Lg),XI=ae.forwardRef((e,t)=>{const{__scopeAccordion:n,value:r,...s}=e,i=Qx(Lg,n),c=dae(Lg,n),u=nC(n),f=er(),m=r&&c.value.includes(r)||!1,x=i.disabled||e.disabled;return a.jsx(gae,{scope:n,open:m,disabled:x,triggerId:f,children:a.jsx($I,{"data-orientation":i.orientation,"data-state":r6(m),...u,...s,ref:t,disabled:x,open:m,onOpenChange:g=>{g?c.onItemOpen(r):c.onItemClose(r)}})})});XI.displayName=Lg;var QI="AccordionHeader",JI=ae.forwardRef((e,t)=>{const{__scopeAccordion:n,...r}=e,s=Qx(Xs,n),i=rC(QI,n);return a.jsx(et.h3,{"data-orientation":s.orientation,"data-state":r6(i.open),"data-disabled":i.disabled?"":void 0,...r,ref:t})});JI.displayName=QI;var $b="AccordionTrigger",e6=ae.forwardRef((e,t)=>{const{__scopeAccordion:n,...r}=e,s=Qx(Xs,n),i=rC($b,n),c=fae($b,n),u=nC(n);return a.jsx(tC.ItemSlot,{scope:n,children:a.jsx(Gre,{"aria-disabled":i.open&&!c.collapsible||void 0,"data-orientation":s.orientation,id:i.triggerId,...u,...r,ref:t})})});e6.displayName=$b;var t6="AccordionContent",n6=ae.forwardRef((e,t)=>{const{__scopeAccordion:n,...r}=e,s=Qx(Xs,n),i=rC(t6,n),c=nC(n);return a.jsx(qre,{role:"region","aria-labelledby":i.triggerId,"data-orientation":s.orientation,...c,...r,ref:t,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...e.style}})});n6.displayName=t6;function r6(e){return e?"open":"closed"}var xae=KI,yae=XI,vae=JI,bae=e6,Sae=n6;const aC={default:{itemClass:"border-b last:border-b-0",triggerClass:"focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",icon:null,chevronClass:"text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200",contentClass:"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm",contentInnerClass:"pt-0 pb-4",headerClass:"flex"},common:{itemClass:"overflow-hidden",triggerClass:"group focus-visible:ring-primary hover:bg-muted [&[data-state=open]]:bg-muted flex items-center gap-1 rounded-sm px-2 py-1 transition-all outline-none focus-visible:ring-2 [&[data-state=open]]:rounded-br-none [&[data-state=open]]:rounded-bl-none [&[data-state=open]]:font-semibold",icon:a.jsx(zA,{className:"size-4 shrink-0","aria-hidden":"true"}),chevronClass:"size-3.5 shrink-0 transition-transform duration-200 group-data-[state=open]:rotate-180",contentClass:"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down bg-muted overflow-hidden rounded-sm rounded-tl-none py-0 pr-2 pl-7 text-sm",contentInnerClass:"pt-2 pb-4",headerClass:void 0}},a6=h.createContext("default");function Bt({variant:e="default",...t}){return a.jsx(a6.Provider,{value:e,children:a.jsx(xae,{"data-slot":"accordion",...t})})}function sC(e){const t=h.useContext(a6);return e??t??"default"}function _t({className:e,variant:t,...n}){const r=sC(t),{itemClass:s}=aC[r];return a.jsx(yae,{"data-slot":"accordion-item",className:se(s,e),...n})}function Nt({className:e,children:t,variant:n,...r}){const s=sC(n),{triggerClass:i,icon:c,chevronClass:u,headerClass:f}=aC[s];return a.jsx(vae,{className:f,children:a.jsxs(bae,{"data-slot":"accordion-trigger",className:se(i,e),...r,children:[c,t,a.jsx(Es,{className:u,"aria-hidden":"true"})]})})}function At({className:e,children:t,variant:n,...r}){const s=sC(n),{contentClass:i,contentInnerClass:c}=aC[s];return a.jsx(Sae,{"data-slot":"accordion-content",className:se(i,e),...r,children:a.jsx("div",{className:c,children:t})})}function $t({href:e,children:t,className:n,...r}){return a.jsxs("a",{href:e,target:"_blank",rel:"noopener noreferrer",className:se("text-muted-foreground hover:bg-muted inline-flex items-center px-1 font-medium hover:rounded-md",n),...r,children:[t,a.jsx(ci,{className:"ml-1 inline h-3 w-3","aria-hidden":"true"})]})}function eN(){return a.jsx(Bt,{variant:"common",type:"single",collapsible:!0,children:a.jsxs(_t,{value:"connector-state-details",children:[a.jsx(Nt,{children:"What’s connector state?"}),a.jsxs(At,{children:[a.jsx("p",{className:"mb-2",children:"The connector state stores internal data between runs and updates automatically with each execution. It’s used to track progress and ensure consistent data processing across runs."}),a.jsx("p",{className:"mb-2",children:"Connector state is available only for connectors that support incremental runs, helping add only new or updated records since the last run without reloading existing data."}),a.jsxs("p",{className:"mb-2",children:["For more details, see the"," ",a.jsx($t,{className:"underline",href:"https://docs.owox.com/?utm_source=owox_data_marts&utm_medium=manual_run_sheet&utm_campaign=tooltip_connector_state",children:"OWOX documentation"}),"."]})]})]})})}function Cae({configuration:e,connectorState:t}){const r=((e==null?void 0:e.connector.source.configuration)??[]).map((u,f)=>{const m=u;return typeof m._id=="string"?{id:m._id,index:f}:void 0}).filter(u=>!!u),s=(t==null?void 0:t.states)??[],i=new Map(s.map(u=>[u._id,u])),c=r.map(({id:u,index:f})=>{const m=i.get(u);return m?{state:m,index:f}:void 0}).filter(u=>!!u);return a.jsx(BI,{title:"State Info",children:c.length===0?a.jsxs(ht,{children:[a.jsx(ut,{children:"Connector state"}),a.jsx(mt,{children:a.jsx("div",{className:"bg-muted min-h-[70px] cursor-not-allowed overflow-auto rounded-md px-3 py-2 font-mono text-sm whitespace-pre-wrap opacity-70",children:"No state available"})}),a.jsx(Jt,{children:a.jsx(eN,{})})]}):a.jsx(a.Fragment,{children:c.map(({state:u,index:f})=>{const m=u.at||"",x=m?Ox(MO(m).toISOString()):"—",g=u.state,y=(()=>{try{return JSON.stringify(g,null,2)}catch{return typeof g=="string"?g:'"—"'}})();return a.jsxs(ht,{children:[a.jsx(ut,{tooltip:`Created at ${x}`,children:`Connector state of configuration #${String(f+1)}`}),a.jsx(mt,{children:a.jsx(FD,{value:y,displayOnly:!0,className:"bg-muted overflow-auto rounded-md text-sm",minHeightClass:"min-h-0",showCopyButton:!0})}),a.jsx(Jt,{children:a.jsx(eN,{})})]},u._id)})})})}function Eae({configuration:e,onClose:t,onSubmit:n}){const[r,s]=h.useState(new Set),i=h.useId(),c=Do({defaultValues:{runType:ac.INCREMENTAL}}),{loading:u,loadingSpecification:f,connectorSpecification:m,fetchConnectorSpecification:x}=Pc(),{dataMart:g}=Rs(),y=h.useCallback(async E=>{!r.has(E)&&!f&&(s(R=>new Set(R).add(E)),await x(E))},[r,f,x]);h.useEffect(()=>{e!=null&&e.connector.source.name&&y(e.connector.source.name)},[e,u,y]);const v=E=>{n&&n(E)},S=()=>{t&&t()},b=E=>{if(!E)return"text";switch(E){case Ms.DATE:return"date";case Ms.NUMBER:return"number";default:return"text"}};return f?a.jsx("div",{children:"Loading..."}):m?a.jsx(Dl,{...c,children:a.jsxs(Si,{id:i,noValidate:!0,onSubmit:E=>void c.handleSubmit(v)(E),children:[a.jsxs(Ol,{children:[a.jsxs(Mr,{title:"General",children:[a.jsx(yt,{control:c.control,name:"runType",render:({field:E})=>a.jsxs(ht,{children:[a.jsx(ut,{tooltip:"Select how you want to load data: incremental updates or full backfill for a period",children:"Run type"}),a.jsx(mt,{children:a.jsxs(a.Fragment,{children:[a.jsx(jne,{options:[{value:ac.INCREMENTAL,label:"Incremental load"},{value:ac.MANUAL_BACKFILL,label:"Backfill (custom period)"}],value:E.value,onChange:E.onChange,orientation:"horizontal"}),a.jsx(Jt,{children:c.watch("runType")===ac.MANUAL_BACKFILL?"Reloads all data for a specific time range from the source, replacing existing records for that period. Use when you need to correct or update historical data.":"Adds only new or updated records since the last run, using the current state of your Data Mart as a reference. Ideal for keeping data fresh without reloading what`s already there."})]})})]})}),c.watch("runType")===ac.INCREMENTAL&&a.jsx(Cae,{configuration:e,connectorState:(g==null?void 0:g.connectorState)??null})]}),c.watch("runType")===ac.MANUAL_BACKFILL&&a.jsx(Mr,{title:"Run configuration",children:m.filter(E=>{var R;return(R=E.attributes)==null?void 0:R.includes(NI.MANUAL_BACKFILL)}).map(E=>a.jsx(yt,{control:c.control,name:`data.${E.name}`,render:()=>a.jsxs(ht,{children:[a.jsx(ut,{tooltip:E.description,children:E.title??E.name}),a.jsx(mt,{children:a.jsx(dt,{id:E.name,placeholder:E.description,type:b(E.requiredType),defaultValue:typeof E.default=="string"||typeof E.default=="number"?E.default.toString():void 0,...c.register(`data.${E.name}`,{required:!0})})}),a.jsx(St,{})]},E.name)}))})]}),a.jsxs(Uc,{children:[a.jsx(we,{type:"submit",disabled:!c.formState.isValid||f,children:"Run"}),a.jsx(we,{type:"button",variant:"outline",onClick:S,children:"Cancel"})]})]})}):a.jsx("div",{children:"No connector specification found"})}function kl(e,t){h.useEffect(()=>(e?GZ(0,600):jb(),()=>{jb()}),[e,0,600])}function wae({isOpen:e,onClose:t,configuration:n,onSubmit:r}){return kl(e),a.jsx(mi,{open:e,onOpenChange:t,children:a.jsxs(pi,{children:[a.jsx(gi,{children:a.jsx(xi,{children:"Manual Run"})}),a.jsx(Eae,{configuration:n,onClose:t,onSubmit:r})]})})}function s6({children:e,configuration:t,onManualRun:n,open:r}){const[s,i]=h.useState(r??!1),c=()=>{i(!0)},u=m=>{n(m),i(!1)},f=()=>e?a.jsx("div",{onClick:c,style:{cursor:"pointer"},children:e}):null;return a.jsxs(a.Fragment,{children:[f(),s&&a.jsx(ld,{children:a.jsx(wae,{isOpen:s,onClose:()=>{i(!1)},configuration:t,onSubmit:u})})]})}const Rae=1e3;function jae(e,t){const[n,r]=h.useState(!1),[s,i]=h.useState(null),c=h.useRef(null),u=h.useRef(null),f=h.useRef(!0),m=h.useRef(t);m.current=t;const x=h.useCallback(E=>{f.current&&r(E)},[]),g=h.useCallback(E=>{f.current&&i(E)},[]),y=h.useCallback((E,R)=>{const j=E instanceof Error?E.message:"Schema actualization failed";kt.dismiss(R),g(j),x(!1),c.current=null,u.current=null,kt.error(j,{duration:void 0,id:R})},[g,x]),v=h.useCallback(async()=>{var R;const E=c.current;if((R=u.current)==null||R.abort(),E){kt.dismiss(E);try{await Tn.abortSchemaActualizeTrigger(e,E)}catch{}}c.current=null,u.current=null,x(!1)},[e,x]),S=h.useCallback(async(E,R)=>{var _;const j=D=>D===Ja.SUCCESS||D===Ja.ERROR||D===Ja.CANCELLED;for(;!R.aborted&&c.current===E;)try{const D=await Tn.getSchemaActualizeTriggerStatus(e,E);if(j(D)){try{const O=await Tn.getSchemaActualizeTriggerResponse(e,E);if(kt.dismiss(E),O.success)(_=m.current)==null||_.call(m),kt.success("Output schema actualized",{duration:void 0,id:E});else{const A=O.error??"Schema actualization failed";g(A),kt.error(A,{duration:void 0,id:E})}}catch(O){const A=O instanceof Error?O.message:"Schema actualization failed";kt.dismiss(E),g(A),kt.error(A,{duration:void 0,id:E})}x(!1),c.current=null,u.current=null;return}await new Promise(O=>setTimeout(O,Rae))}catch(D){y(D,E)}},[e,g,x,y]),b=h.useCallback(async()=>{c.current&&await v(),g(null),x(!0);try{const{triggerId:E}=await Tn.createSchemaActualizeTrigger(e);kt.loading("Synchronizing schema with the data storage state. This may take a while.",{duration:1/0,id:E}),c.current=E;const R=new AbortController;u.current=R;try{await S(E,R.signal)}catch(j){y(j,E)}}catch(E){x(!1),g(E instanceof Error?E.message:"Failed to start schema actualization")}},[e,v,S,g,x,y]);return h.useEffect(()=>(f.current=!0,()=>{var R;f.current=!1;const E=c.current;(R=u.current)==null||R.abort(),E&&(kt.dismiss(E),Tn.abortSchemaActualizeTrigger(e,E).catch(()=>{})),c.current=null,u.current=null}),[e]),{run:b,isLoading:n,cancel:v,error:s}}function Tae({id:e}){const{navigate:t}=vi(),{user:n}=yi(),{flags:r}=yd(),{dataMart:s,deleteDataMart:i,updateDataMartTitle:c,updateDataMartDescription:u,updateDataMartDefinition:f,actualizeDataMartSchema:m,updateDataMartSchema:x,publishDataMart:g,runDataMart:y,cancelDataMartRun:v,getDataMartRuns:S,loadMoreDataMartRuns:b,isLoading:E,error:R,getErrorMessage:j,runs:_,getDataMart:D}=yre(e),[O,A]=h.useState(!1),[T,M]=h.useState(!1),{id:k="",canPublish:z=!1,canActualizeSchema:L=!1,status:G={code:null,displayName:"",description:""},title:B="",definition:q=null,definitionType:V=null,validationErrors:I=[]}=s??{},K=h.useCallback(()=>{k&&D(k)},[k,D]),{run:$,isLoading:ee}=jae(k,K),me=h.useCallback(async()=>{L&&await $()},[L,$]),U=r==null?void 0:r.INSIGHTS_ENABLED_PROJECT_IDS,F=(n==null?void 0:n.projectId)??"",H=F.length>0&&wJ(U??"").includes(F),W=[{name:"Overview",path:"overview"},{name:"Data Setup",path:"data-setup"},...H?[{name:"Insights",path:"insights"}]:[],{name:"Destinations",path:"reports"},{name:"Triggers",path:"triggers"},{name:"Run History",path:"run-history"}],Q=h.useCallback(async ie=>{k&&await c(k,ie)},[k,c]),le=h.useCallback(async()=>{if(k){M(!0);try{await g(k),me()}catch(ie){console.log(ie instanceof Error?ie.message:"Failed to publish Data Mart")}finally{M(!1)}}},[k,g,me]),J=h.useCallback(async ie=>{if(k){if(G.code!==Ir.PUBLISHED){_n.error("Manual run is only available for published Data Marts");return}await y({id:k,payload:ie})}},[k,G,y]);return s?a.jsxs("div",{className:"px-12 py-6",children:[a.jsxs("div",{className:"mb-4 flex items-center justify-between",children:[a.jsxs("div",{className:"flex items-center space-x-1 md:-ml-10",children:[a.jsx(Wu,{onClick:()=>{t("/data-marts")},variant:"ghost",size:"sm","aria-label":"Back to Data Marts",title:"Back to Data Marts",className:"text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200",children:a.jsx(NP,{className:"h-5 w-5"})}),a.jsx(_I,{title:B,onUpdate:Q,className:"text-2xl font-medium"})]}),a.jsxs("div",{className:"flex items-center gap-2"+(T?" opacity-50":""),style:{minWidth:"120px"},children:[a.jsxs("div",{className:"ml-4 flex items-center gap-2",children:[a.jsxs(wt,{children:[a.jsx(Rt,{asChild:!0,children:a.jsx("div",{children:a.jsx(Vh,{type:G.code===Ir.PUBLISHED?Jn.SUCCESS:Jn.NEUTRAL,variant:"subtle",children:G.displayName})})}),a.jsx(jt,{children:G.code===Ir.PUBLISHED?"Your published Data Mart is ready for scheduled runs":"Draft Data Mart is not available for scheduled runs. Publish it to activate scheduling."})]}),G.code===Ir.DRAFT&&a.jsxs(wt,{children:[a.jsx(Rt,{asChild:!0,children:a.jsx("div",{children:a.jsxs(Wu,{variant:"default",onClick:()=>{le()},disabled:T||!z,className:"ml-2 flex items-center gap-1",children:[a.jsx(Ch,{className:"h-4 w-4"}),"Publish Data Mart"]})})}),!z&&a.jsxs(jt,{children:[a.jsx("div",{children:"Cannot publish Data Mart. Fix the issues below."}),I.length>0&&a.jsx("ul",{className:"mt-1 list-disc space-y-1 pl-4",children:KJ(I).map((ie,ye)=>a.jsx("li",{children:ie},ye))})]})]})]}),a.jsxs(wr,{children:[a.jsx(Rr,{asChild:!0,children:a.jsx(Wu,{variant:"ghost",children:a.jsx(LA,{className:"h-5 w-5"})})}),a.jsxs(jr,{align:"end",children:[V===$e.CONNECTOR&&a.jsxs(a.Fragment,{children:[a.jsx(s6,{configuration:q??null,onManualRun:ie=>{J({runType:ie.runType,data:ie.data})},children:a.jsxs(Tt,{onClick:ie=>{ie.preventDefault()},children:[a.jsx(Jg,{className:"text-foreground h-4 w-4"}),a.jsx("span",{children:"Manual Run..."})]})}),a.jsx(ua,{})]}),a.jsxs(Tt,{onClick:()=>{A(!0)},children:[a.jsx(ts,{className:"h-4 w-4 text-red-600"}),a.jsx("span",{className:"text-red-600",children:"Delete Data Mart"})]})]})]})]})]}),a.jsx("div",{children:a.jsx("nav",{className:"-mb-px flex space-x-4 border-b","aria-label":"Tabs",role:"tablist",children:W.map(ie=>a.jsx(vh,{to:ie.path,className:({isActive:ye})=>se("border-b-2 px-4 py-2 text-sm font-medium whitespace-nowrap",ye?"border-primary text-primary":"border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700 dark:text-gray-400 dark:hover:border-gray-200 dark:hover:text-gray-200"),children:ie.name},ie.name))})}),a.jsx("div",{className:"pt-4",children:a.jsx(yS,{context:{dataMart:s,isLoading:E,error:R,getErrorMessage:j,updateDataMartDescription:u,updateDataMartDefinition:f,actualizeDataMartSchema:m,updateDataMartSchema:x,runDataMart:y,cancelDataMartRun:v,getDataMartRuns:S,loadMoreDataMartRuns:b,runs:_,getDataMart:D,runSchemaActualization:me,isSchemaActualizationLoading:ee}})}),a.jsx(Cr,{open:O,onOpenChange:A,title:"Delete Data Mart",description:a.jsxs(a.Fragment,{children:["Are you sure you want to delete ",a.jsxs("strong",{children:['"',B,'"']}),"? This action cannot be undone."]}),confirmLabel:"Delete",cancelLabel:"Cancel",variant:"destructive",onConfirm:()=>{(async()=>{try{await i(k),A(!1),t("/data-marts")}catch(ie){console.error("Failed to delete Data Mart:",ie)}})()}})]}):a.jsxs("div",{className:"dm-page-content flex flex-col gap-4 py-4 md:py-8",children:[a.jsx($r,{className:"h-16 w-full"},0),Array.from({length:3}).map((ie,ye)=>a.jsx($r,{className:"h-48 w-full"},ye+1))]})}function _ae({description:e,onUpdate:t,className:n,placeholder:r="Add description...",minWidth:s="100%",minHeight:i="100px"}){const[c,u]=h.useState(e??""),[f,m]=h.useState(!1),[x,g]=h.useState(!1),y=h.useRef(null);h.useEffect(()=>{u(e??"")},[e]),h.useEffect(()=>{if(y.current&&f){y.current.focus();const R=y.current.value.length;y.current.setSelectionRange(R,R),v(y.current)}},[f]);const v=R=>{R.style.height="auto",R.style.height=`${String(R.scrollHeight)}px`},S=R=>{u(R.target.value),v(R.target)},b=async()=>{const R=c.trim();if(R===(e??"")){m(!1);return}try{g(!0),await t(R===""?null:R),m(!1)}catch(_){console.error("Failed to update description:",_),u(e??"")}finally{g(!1)}},E=R=>{R.key==="Enter"&&R.ctrlKey?(R.preventDefault(),b()):R.key==="Escape"&&(R.preventDefault(),u(e??""),m(!1))};return f?a.jsxs("div",{className:"w-full",children:[a.jsx(Ao,{ref:y,value:c,onChange:S,onBlur:()=>void b(),onKeyDown:E,placeholder:r,className:se("m-0 w-full border-0 bg-white p-2 shadow-none dark:bg-white/4","focus-visible:ring-primary focus-visible:ring-0",{"opacity-50":x}),style:{fontSize:"inherit",lineHeight:"inherit",fontFamily:"inherit",resize:"vertical",minHeight:i,minWidth:s},disabled:x}),a.jsxs("div",{className:"mt-2 text-xs text-gray-500",children:[a.jsxs("span",{children:["Press"," ",a.jsx("kbd",{className:"rounded border border-neutral-200 bg-neutral-100 px-1 py-0.5 font-sans dark:border-neutral-900 dark:bg-neutral-900",children:"Ctrl+Enter"})," ","to save •"," "]}),a.jsxs("span",{children:[a.jsx("kbd",{className:"rounded border border-neutral-200 bg-neutral-100 px-1 py-0.5 font-sans dark:border-neutral-900 dark:bg-neutral-900",children:"Esc"})," ","to cancel •"," "]}),a.jsx("span",{children:"Changes are also saved when you click outside"})]})]}):a.jsx("div",{className:"flex w-full items-center gap-4 rounded-md border-b border-gray-200 bg-white transition-shadow duration-200 hover:shadow-sm dark:border-0 dark:bg-white/4",children:a.jsx("div",{onClick:()=>{m(!0)},className:se("min-h-24 cursor-pointer rounded p-2 whitespace-pre-wrap","transition-colors duration-150",!e&&"text-gray-400 italic",n),style:{minWidth:s},children:e??r})})}function Nae(){const{dataMart:e,updateDataMartDescription:t}=Cs(),n=async r=>{await t(e.id,r)};return a.jsx("div",{children:a.jsx(_ae,{description:e.description,onUpdate:n,placeholder:"Add a description for this Data Mart..."})})}function tN(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Aae(e){if(Array.isArray(e))return e}function Dae(e,t,n){return(t=Uae(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Oae(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,s,i,c,u=[],f=!0,m=!1;try{if(i=(n=n.call(e)).next,t!==0)for(;!(f=(r=i.call(n)).done)&&(u.push(r.value),u.length!==t);f=!0);}catch(x){m=!0,s=x}finally{try{if(!f&&n.return!=null&&(c=n.return(),Object(c)!==c))return}finally{if(m)throw s}}return u}}function Iae(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
808
+ For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return h.useEffect(()=>{var r;document.getElementById((r=e.current)==null?void 0:r.getAttribute("aria-describedby"))||console.warn(t)},[t,e]),null},Jee=n5,ete=r5,tte=a5,nte=s5,rte=u5,ate=f5,ste=i5,ote=c5;function h5({...e}){return a.jsx(Jee,{"data-slot":"alert-dialog",...e})}function ite({...e}){return a.jsx(ete,{"data-slot":"alert-dialog-portal",...e})}function lte({className:e,...t}){return a.jsx(tte,{"data-slot":"alert-dialog-overlay",className:se("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...t})}function m5({className:e,...t}){return a.jsxs(ite,{children:[a.jsx(lte,{}),a.jsx(nte,{"data-slot":"alert-dialog-content",className:se("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",e),...t})]})}function p5({className:e,...t}){return a.jsx("div",{"data-slot":"alert-dialog-header",className:se("flex flex-col gap-2 text-center sm:text-left",e),...t})}function g5({className:e,...t}){return a.jsx("div",{"data-slot":"alert-dialog-footer",className:se("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...t})}function x5({className:e,...t}){return a.jsx(ste,{"data-slot":"alert-dialog-title",className:se("text-lg font-semibold",e),...t})}function y5({className:e,...t}){return a.jsx(ote,{"data-slot":"alert-dialog-description",className:se("text-muted-foreground text-sm",e),...t})}function v5({className:e,...t}){return a.jsx(rte,{className:se(_S(),e),...t})}function b5({className:e,...t}){return a.jsx(ate,{className:se(_S({variant:"outline"}),e),...t})}const S5=["facebook","linkedin","tiktok","microsoft","connector","sql","blank"],C5={facebook:{title:"Facebook Ads",datamartTitle:"Facebook Ads Data Mart",connectorSourceTitle:"FacebookMarketing",definitionType:$e.CONNECTOR,icon:BW},linkedin:{title:"LinkedIn Ads",datamartTitle:"LinkedIn Ads Data Mart",connectorSourceTitle:"LinkedInAds",definitionType:$e.CONNECTOR,icon:GW},tiktok:{title:"TikTok Ads",datamartTitle:"TikTok Ads Data Mart",connectorSourceTitle:"TikTokAds",definitionType:$e.CONNECTOR,icon:qW},microsoft:{title:"Microsoft Ads",datamartTitle:"Microsoft Ads Data Mart",connectorSourceTitle:"MicrosoftAds",definitionType:$e.CONNECTOR,icon:KW},connector:{title:"Other connector",datamartTitle:"Connector-based Data Mart",definitionType:$e.CONNECTOR,icon:jS},sql:{title:"SQL query",datamartTitle:"SQL-based Data Mart",definitionType:$e.SQL,icon:RS},blank:{title:"Blank Data Mart",datamartTitle:"New Data Mart",icon:sg}},O_=S5.map(e=>({key:e,...C5[e]}));function cte(e){if(!e||!S5.includes(e))return;const t=e;return{key:t,...C5[t]}}function ute({children:e,className:t="",...n}){return a.jsx("div",{className:"dm-card",children:a.jsx("div",{className:se("-m-4 flex flex-col items-start justify-between gap-12 overflow-hidden px-8 py-16 lg:flex-row-reverse lg:px-16 lg:py-24 2xl:items-center",t),...n,children:e})})}function dte({children:e,className:t="",...n}){return a.jsx("div",{className:se("pb-2",t),...n,children:e})}function fte({children:e,className:t="",...n}){return a.jsx("h2",{className:se("mb-6 text-4xl font-semibold xl:text-5xl",t),...n,children:e})}function hte({children:e,className:t="",...n}){return a.jsx("p",{className:se("text-muted-foreground text-lg",t),...n,children:e})}function mte({children:e,rings:t=7,className:n="",...r}){return a.jsxs("div",{className:se("relative flex w-full justify-center lg:w-[30%] 2xl:w-[35%]",n),...r,children:[a.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:Array.from({length:t},(s,i)=>{const c=`${(16*(i+1)+24).toString()}vmin`;return a.jsx("div",{className:"animate-ring-pulse",style:{height:c,width:c,animationDelay:`${(i*.3).toString()}s`,animationDuration:"4s",opacity:.2+i*.1,filter:i===0?"blur(1px)":"none"}},i)})}),a.jsx("div",{className:"animate-glow-burst"}),a.jsx("div",{className:"animate-icon-entrance","aria-label":"Illustration",children:e})]})}function pte({children:e,className:t="",...n}){return a.jsx("div",{className:se("w-full space-y-8 lg:w-[70%] 2xl:w-[65%]",t),...n,children:e})}function v1({separator:e=!0,children:t,className:n="",...r}){return a.jsx("section",{className:se("relative pb-10",e&&"after:from-border after:absolute after:bottom-0 after:left-0 after:h-px after:w-full after:bg-gradient-to-r after:to-transparent",n),...r,children:t})}function I_({children:e,className:t="",...n}){return a.jsx("h3",{className:se("mb-4 text-xl font-medium",t),...n,children:e})}function b1({children:e,className:t="",...n}){return a.jsx("div",{className:se("flex flex-wrap items-center gap-4",t),...n,children:e})}function Dp({href:e,icon:t,title:n,variant:r="outline",size:s,className:i="",target:c,...u}){const f=r==="outline"?"lg":"sm",m=a.jsxs("span",{className:se("flex items-center gap-2"),children:[t,n]});return e?a.jsx(we,{asChild:!0,variant:r,size:s??f,className:se(r==="ghost"?"text-muted-foreground":"",i),...u,children:a.jsx(Xr,{to:e,target:c,children:m})}):a.jsx(we,{variant:r,size:s??f,className:i,...u,children:m})}function gte(){const{scope:e}=vi(),t=O_.filter(r=>r.definitionType===$e.CONNECTOR),n=O_.filter(r=>r.definitionType!==$e.CONNECTOR);return a.jsxs(ute,{children:[a.jsx(mte,{children:a.jsx($W,{className:"animate-icon-entrance","aria-label":"Data Mart creation illustration"})}),a.jsxs(pte,{children:[a.jsxs(dte,{children:[a.jsx(fte,{children:"Let’s Build Your First Data Mart"}),a.jsx(hte,{children:"A Data Mart is the key element of self-service analytics — it provides both control for data analyst and freedom for business users. To get started, connect the source you need or query the data you already have in storage"})]}),a.jsxs(v1,{children:[a.jsx(I_,{children:"Connect a data source"}),a.jsx(b1,{children:t.map(r=>a.jsx(Dp,{href:e(`/data-marts/create?preset=${r.key}`),icon:r.icon&&a.jsx(r.icon,{className:"h-4 w-4"}),title:r.title,variant:"outline"},r.key))})]}),a.jsxs(v1,{children:[a.jsx(I_,{children:"Use existing SQL or start from scratch"}),a.jsx(b1,{children:n.map((r,s)=>a.jsxs(a.Fragment,{children:[a.jsx(Dp,{href:e(`/data-marts/create?preset=${r.key}`),icon:r.icon&&a.jsx(r.icon,{className:"h-4 w-4"}),title:r.title,variant:"outline"},r.key),s<n.length-1&&a.jsx("span",{className:"text-muted-foreground text-sm",children:"or"})]}))})]}),a.jsx(v1,{separator:!1,children:a.jsxs(b1,{children:[a.jsx(Dp,{href:"https://www.youtube.com/playlist?list=PLvcNVLV5BVbHHCekyAZBEIVnlC4i1qcHx",icon:a.jsx(BA,{className:"h-4 w-4"}),title:"Watch a 2-minute demo",variant:"ghost",target:"_blank"}),a.jsx(Dp,{href:"https://docs.owox.com/docs/getting-started/core-concepts/?utm_source=owox_data_marts&utm_medium=empty_data_marts_page&utm_campaign=help_buttons",icon:a.jsx(LU,{className:"h-4 w-4"}),title:"Core concepts",variant:"ghost",target:"_blank"})]})})]})]})}function xte(){return a.jsx($r,{className:"bg-muted/50 h-72 w-full rounded-md border-b border-gray-200 dark:border-white/10 dark:bg-white/4"})}const ju={DEFAULT_SORTING_COLUMN:"createdAt",DEFAULT_EXCLUDED_COLUMNS:["actions"],STORAGE_KEYS:{SORTING_SUFFIX:"-sorting",COLUMN_VISIBILITY_SUFFIX:"-column-visibility"}},yte={extractColumnIds:e=>e.map(t=>{if(t.id)return t.id;if("accessorKey"in t&&typeof t.accessorKey=="string")return t.accessorKey}).filter(t=>t!==void 0)};function Lc({columns:e,storageKeyPrefix:t,defaultSortingColumn:n=ju.DEFAULT_SORTING_COLUMN,defaultColumnVisibility:r={},excludedColumnsFromSorting:s=ju.DEFAULT_EXCLUDED_COLUMNS,excludedColumnsFromVisibility:i=ju.DEFAULT_EXCLUDED_COLUMNS}){const c=h.useMemo(()=>({SORTING:`${t}${ju.STORAGE_KEYS.SORTING_SUFFIX}`,COLUMN_VISIBILITY:`${t}${ju.STORAGE_KEYS.COLUMN_VISIBILITY_SUFFIX}`}),[t]),u=h.useMemo(()=>yte.extractColumnIds(e),[e]),f=h.useMemo(()=>u.filter(b=>!s.includes(b)),[u,s]),m=h.useCallback(()=>{const b=xs.get(c.SORTING,"json");return b&&Array.isArray(b)&&b.length>0?b:[{id:f.includes(n)?n:f[0]??ju.DEFAULT_SORTING_COLUMN,desc:!0}]},[c.SORTING,f,n]),x=h.useCallback(()=>{const b=xs.get(c.COLUMN_VISIBILITY,"json");if(b&&typeof b=="object"&&!Array.isArray(b)){const E={};for(const R of u)i.includes(R)||(E[R]=b[R]);return E}return r},[c.COLUMN_VISIBILITY,u,i,r]),[g,y]=h.useState(m),[v,S]=h.useState(x);return h.useEffect(()=>{g.length>0&&f.includes(g[0].id)&&xs.set(c.SORTING,g)},[g,f,c.SORTING]),h.useEffect(()=>{const b={};for(const E of u){if(i.includes(E))continue;const R=v[E];typeof R=="boolean"&&(b[E]=R)}xs.set(c.COLUMN_VISIBILITY,b)},[v,u,i,c.COLUMN_VISIBILITY]),{sorting:g,setSorting:y,columnVisibility:v,setColumnVisibility:S}}function vte({columns:e,data:t,deleteDataMart:n,refetchDataMarts:r,isLoading:s}){var M;const{navigate:i,scope:c}=vi(),{sorting:u,setSorting:f,columnVisibility:m,setColumnVisibility:x}=Lc({columns:e,storageKeyPrefix:"data-mart-list",defaultColumnVisibility:{triggersCount:!1,reportsCount:!1,createdByUser:!1}}),[g,y]=h.useState([]),[v,S]=h.useState({}),[b,E]=h.useState(!1),[R,j]=h.useState(!1),_="data-mart-empty-state-onboarding-video-shown",{open:D}=f2();h.useEffect(()=>{!s&&t.length===0&&(xs.get(_,"boolean")||(D("video-3-getting-started-with-data-marts"),xs.set(_,!0)))},[s,t.length,D]);const O=async()=>{try{j(!0);const z=T.getSelectedRowModel().rows.map(L=>L.original.id);for(const L of z)await n(L);_n.success(`Successfully deleted ${String(z.length)} data mart${z.length!==1?"s":""}`),S({}),await r()}catch(k){console.error("Error deleting data marts:",k),_n.error("Failed to delete some data marts. Please try again.")}finally{j(!1),E(!1)}},A=Object.keys(v).length>0,T=jl({data:t,columns:[{id:"select",size:40,header:({table:k})=>a.jsx("button",{type:"button",role:"checkbox","aria-checked":k.getIsAllRowsSelected(),"data-state":k.getIsAllRowsSelected()?"checked":"unchecked","aria-label":"Select all rows",className:"peer border-input data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border bg-white shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 dark:bg-white/8",onClick:k.getToggleAllRowsSelectedHandler(),children:k.getIsAllRowsSelected()&&a.jsx("span",{"data-state":"checked","data-slot":"checkbox-indicator",className:"pointer-events-none flex items-center justify-center text-current transition-none",children:a.jsx(la,{className:"size-3.5 text-white"})})}),cell:({row:k})=>a.jsx("button",{type:"button",role:"checkbox","aria-checked":k.getIsSelected(),"data-state":k.getIsSelected()?"checked":"unchecked","aria-label":"Select row",className:"peer border-input data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border bg-white shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 dark:bg-white/8",onClick:k.getToggleSelectedHandler(),children:k.getIsSelected()&&a.jsx("span",{"data-state":"checked","data-slot":"checkbox-indicator",className:"pointer-events-none flex items-center justify-center text-current transition-none",children:a.jsx(la,{className:"size-3.5 text-white"})})}),enableSorting:!1,enableHiding:!1},...e],getCoreRowModel:Rl(),getPaginationRowModel:Gh(),onSortingChange:f,getSortedRowModel:kc(),onColumnFiltersChange:y,getFilteredRowModel:Sd(),onColumnVisibilityChange:x,onRowSelectionChange:S,state:{sorting:u,columnFilters:g,columnVisibility:m,rowSelection:v},enableRowSelection:!0});return s?a.jsx("div",{children:a.jsx(xte,{})}):t.length?a.jsxs("div",{className:"dm-card",children:[a.jsxs("div",{className:"dm-card-toolbar",children:[a.jsxs("div",{className:"dm-card-toolbar-left",children:[A&&a.jsx(we,{variant:"destructive",size:"sm",className:"dm-card-toolbar-btn-delete",onClick:()=>{E(!0)},disabled:R,children:a.jsx(ts,{className:"h-4 w-4"})}),a.jsxs("div",{className:"dm-card-toolbar-search",children:[a.jsx(Ac,{className:"dm-card-toolbar-search-icon"}),a.jsx(dt,{placeholder:"Search by title",value:(M=T.getColumn("title"))==null?void 0:M.getFilterValue(),onChange:k=>{var z;return(z=T.getColumn("title"))==null?void 0:z.setFilterValue(k.target.value)},className:"dm-card-toolbar-search-input"})]})]}),a.jsx("div",{className:"dm-card-toolbar-right",children:a.jsx(Xr,{to:c("/data-marts/create"),children:a.jsxs(we,{variant:"outline",className:"dm-card-toolbar-btn-primary",children:[a.jsx(ga,{className:"h-4 w-4"}),"New Data Mart"]})})})]}),a.jsx("div",{className:"dm-card-table-wrap",children:a.jsxs(Tl,{className:"dm-card-table",role:"table","aria-label":"Data Marts table",children:[a.jsx(_l,{className:"dm-card-table-header",children:T.getHeaderGroups().map(k=>a.jsx(Hn,{className:"dm-card-table-header-row",children:k.headers.map(z=>a.jsx(Al,{className:"[&:has([role=checkbox])]:pl-6 [&>[role=checkbox]]:translate-y-[2px]",style:z.column.id==="select"?{width:40,minWidth:40,maxWidth:40}:z.column.id==="actions"?{width:80,minWidth:80,maxWidth:80}:{width:`${String(z.getSize())}%`},children:z.isPlaceholder?null:id(z.column.columnDef.header,z.getContext())},z.id))},k.id))}),a.jsx(Nl,{className:"dm-card-table-body",children:T.getRowModel().rows.length?T.getRowModel().rows.map(k=>a.jsx(Hn,{"data-state":k.getIsSelected()&&"selected",className:"dm-card-table-body-row group",onClick:z=>{if(z.target instanceof HTMLElement&&(z.target.closest('[role="checkbox"]')||z.target.closest(".actions-cell")||z.target.closest('[role="menuitem"]')||z.target.closest('[data-state="open"]')))return;const L=k.original.id;i(`/data-marts/${L}/data-setup`)},children:k.getVisibleCells().map(z=>a.jsx(Gr,{className:`[&:has([role=checkbox])]pr-0 px-6 whitespace-normal [&>[role=checkbox]]:translate-y-[2px] ${z.column.id==="actions"?"actions-cell":""} ${z.column.id==="createdAt"?"whitespace-nowrap":""}`,style:z.column.id==="select"?{width:40,minWidth:40,maxWidth:40}:z.column.id==="actions"?{width:80,minWidth:80,maxWidth:80}:{width:`${String(z.column.getSize())}%`},children:id(z.column.columnDef.cell,z.getContext())},z.id))},k.id)):a.jsx(Hn,{children:a.jsx(Gr,{colSpan:e.length+1,className:"dm-card-table-body-row-empty",children:"No results"})})})]})}),a.jsxs("div",{className:"dm-card-pagination",children:[a.jsx(we,{variant:"outline",size:"sm",onClick:()=>{T.previousPage()},disabled:!T.getCanPreviousPage(),children:"Previous"}),a.jsx(we,{variant:"outline",size:"sm",onClick:()=>{T.nextPage()},disabled:!T.getCanNextPage(),children:"Next"})]}),a.jsx(h5,{open:b,onOpenChange:E,children:a.jsxs(m5,{children:[a.jsxs(p5,{children:[a.jsx(x5,{children:"Are you sure?"}),a.jsxs(y5,{children:["You're about to delete ",Object.keys(v).length," selected data mart",Object.keys(v).length!==1?"s":"",". This action cannot be undone."]})]}),a.jsxs(g5,{children:[a.jsx(b5,{disabled:R,children:"Cancel"}),a.jsx(v5,{onClick:()=>{O()},disabled:R,className:"bg-destructive hover:bg-destructive/90",children:R?"Deleting...":"Delete"})]})]})})]}):a.jsx(gte,{})}function E5({userProjection:e}){const{fullName:t,email:n,avatar:r}=e,s=t??n??"Unknown User",i=JD(t,n);return a.jsxs(Lx,{children:[a.jsx(Px,{asChild:!0,children:a.jsxs("div",{className:"mx-1 inline-flex min-w-max items-center gap-1 rounded-full bg-neutral-100 py-1 pr-3 pl-1 dark:bg-neutral-900",children:[a.jsx(Rb,{avatar:r,initials:i,displayName:s,size:qu.SMALL}),a.jsx("span",{className:"text-muted-foreground inline text-sm leading-tight","aria-label":s,children:s})]})}),a.jsx(Ux,{side:"top",align:"start",className:"w-max p-3",children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(Rb,{avatar:r,initials:i,displayName:s,size:qu.LARGE}),a.jsxs("div",{className:"grid text-left text-sm leading-tight",children:[a.jsx("span",{className:"truncate font-medium",children:t??n??"Unknown User"}),n&&a.jsx("span",{className:"text-muted-foreground truncate text-xs",children:n})]})]})})]})}function N2({...e}){return a.jsx(ax,{"data-slot":"dialog",...e})}function bte({...e}){return a.jsx(sx,{"data-slot":"dialog-portal",...e})}function Ste({className:e,...t}){return a.jsx(ox,{"data-slot":"dialog-overlay",className:se("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...t})}function A2({className:e,children:t,showCloseButton:n=!0,...r}){return a.jsxs(bte,{"data-slot":"dialog-portal",children:[a.jsx(Ste,{}),a.jsxs(ix,{"data-slot":"dialog-content",className:se("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",e),...r,children:[t,n&&a.jsxs(lx,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[a.jsx(hc,{}),a.jsx("span",{className:"sr-only",children:"Close"})]})]})]})}function D2({className:e,...t}){return a.jsx("div",{"data-slot":"dialog-header",className:se("flex flex-col gap-2 text-center sm:text-left",e),...t})}function Cte({className:e,...t}){return a.jsx("div",{"data-slot":"dialog-footer",className:se("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...t})}function O2({className:e,...t}){return a.jsx(IS,{"data-slot":"dialog-title",className:se("text-lg leading-none font-semibold",e),...t})}function I2({className:e,...t}){return a.jsx(MS,{"data-slot":"dialog-description",className:se("text-muted-foreground text-sm",e),...t})}const Ete=_c("",{variants:{variant:{brand:"bg-primary text-white shadow-xs hover:bg-primary-hover focus-visible:ring-brand-blue-200 dark:focus-visible:ring-brand-blue-400"}}});function Wu({className:e,variant:t,...n}){return t==="brand"?a.jsx(we,{variant:"default",className:se(Ete({variant:t}),e),...n}):a.jsx(we,{variant:t,className:e,...n})}const Cr=({open:e,onOpenChange:t,title:n,description:r,confirmLabel:s="Confirm",cancelLabel:i,onConfirm:c,onCancel:u,variant:f="destructive",children:m})=>{const x=()=>{t(!1),u==null||u()};return a.jsx(N2,{open:e,onOpenChange:t,children:a.jsxs(A2,{children:[a.jsxs(D2,{children:[a.jsx(O2,{children:n}),a.jsx(I2,{children:r})]}),m,a.jsxs(Cte,{children:[i&&a.jsx(Wu,{variant:"secondary",onClick:x,children:i}),a.jsx(Wu,{variant:f,onClick:c,children:s})]})]})})},wte=({row:e,onDeleteSuccess:t})=>{const{scope:n}=vi(),[r,s]=h.useState(!1),[i,c]=h.useState(!1),{deleteDataMart:u,refreshList:f}=GO(),m=async()=>{try{await u(e.original.id),s(!1),await f(),t==null||t()}catch(x){console.error("Failed to delete data mart:",x)}};return a.jsxs("div",{className:"text-right",children:[a.jsxs(wr,{open:i,onOpenChange:c,children:[a.jsx(Rr,{asChild:!0,children:a.jsx(we,{variant:"ghost",className:`dm-card-table-body-row-actionbtn opacity-0 transition-opacity ${i?"opacity-100":"group-hover:opacity-100"}`,"aria-label":"Open menu",children:a.jsx(Ws,{className:"dm-card-table-body-row-actionbtn-icon"})})}),a.jsxs(jr,{align:"end",children:[a.jsx(Tt,{children:a.jsxs(Xr,{to:n(`/data-marts/${e.original.id}/data-setup`),className:"flex gap-2 text-left",children:[a.jsx(dd,{className:"text-foreground h-4 w-4","aria-hidden":"true"}),a.jsx("span",{children:"Edit"})]})}),a.jsx(ua,{}),a.jsxs(Tt,{onClick:()=>{s(!0)},children:[a.jsx(ts,{className:"h-4 w-4 text-red-600","aria-hidden":"true"}),a.jsx("span",{className:"text-red-600",children:"Delete"})]})]})]}),a.jsx(Cr,{open:r,onOpenChange:s,title:"Delete Data Mart",description:"Are you sure you want to delete this data mart? This action cannot be undone.",confirmLabel:"Delete",cancelLabel:"Cancel",onConfirm:()=>void m(),variant:"destructive"})]})},M_={types:{[$e.SQL]:{type:$e.SQL,displayName:"SQL",icon:RS},[$e.TABLE]:{type:$e.TABLE,displayName:"Table",icon:qA},[$e.VIEW]:{type:$e.VIEW,displayName:"View",icon:HU},[$e.TABLE_PATTERN]:{type:$e.TABLE_PATTERN,displayName:"Pattern",icon:kP},[$e.CONNECTOR]:{type:$e.CONNECTOR,displayName:"Connector",icon:jS}},getInfo(e){return e?this.types[e]:{type:null,displayName:"—",icon:()=>null}}};var zn=(e=>(e.TITLE="title",e.DEFINITION_TYPE="definitionType",e.STORAGE_TYPE="storageType",e.STATUS="status",e.TRIGGERS_COUNT="triggersCount",e.REPORTS_COUNT="reportsCount",e.CREATED_AT="createdAt",e.CREATED_BY_USER="createdByUser",e))(zn||{});const Ki={[zn.TITLE]:"Title",[zn.DEFINITION_TYPE]:"Input Source",[zn.STORAGE_TYPE]:"Storage",[zn.STATUS]:"Status",[zn.TRIGGERS_COUNT]:"Triggers",[zn.REPORTS_COUNT]:"Reports",[zn.CREATED_AT]:"Created at",[zn.CREATED_BY_USER]:"Created by"};function br({column:e,children:t,label:n}){const r=e.getIsSorted(),s=h.useCallback(()=>{e.toggleSorting(e.getIsSorted()==="asc")},[e]),i=()=>r==="asc"?"sorted ascending":r==="desc"?"sorted descending":"not sorted",c=()=>r==="asc"?"ascending":r==="desc"?"descending":"none",u=n??(typeof t=="string"?t:"Column");return a.jsxs(we,{variant:"ghost",onClick:s,className:"group dm-card-table-header-row-btn","aria-label":`${u} - ${i()}. Click to sort.`,"aria-sort":c(),children:[t,a.jsxs("span",{className:"flex h-4 w-4 items-center justify-center","aria-hidden":"true",children:[r==="asc"&&a.jsx(Ju,{className:"text-foreground h-4 w-4"}),r==="desc"&&a.jsx(Es,{className:"text-foreground h-4 w-4"}),!r&&a.jsx("span",{className:"opacity-0 transition-opacity duration-150 group-hover:opacity-100",children:a.jsx(Ju,{className:"text-muted-foreground h-4 w-4"})})]})]})}function Cd({table:e,getColumnLabel:t}){return a.jsx("div",{className:"text-right",children:a.jsxs(wr,{children:[a.jsx(Rr,{asChild:!0,children:a.jsx(we,{variant:"ghost",className:"dm-card-table-body-row-actionbtn","aria-label":"Toggle columns",children:a.jsx(Ws,{className:"dm-card-table-body-row-actionbtn-icon"})})}),a.jsx(jr,{align:"end",children:e.getAllColumns().filter(n=>n.getCanHide()&&n.id!=="actions").map(n=>{var s;const r=(t==null?void 0:t(n.id,n))??((s=n.columnDef.meta)==null?void 0:s.title)??n.id;return a.jsx(Tt,{className:"capitalize",children:a.jsxs("label",{className:"flex items-center space-x-2",children:[a.jsx("button",{type:"button",role:"checkbox","aria-checked":n.getIsVisible(),"data-state":n.getIsVisible()?"checked":"unchecked","aria-label":`Toggle column ${r}`,className:"peer border-input data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border bg-white shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 dark:bg-white/8",onClick:()=>{n.toggleVisibility(!n.getIsVisible())},children:n.getIsVisible()&&a.jsx("span",{"data-state":"checked","data-slot":"checkbox-indicator",className:"pointer-events-none flex items-center justify-center text-current transition-none",children:a.jsx(la,{className:"size-3.5 text-white"})})}),a.jsx("span",{children:r})]})},n.id)})})]})})}const Rte=({onDeleteSuccess:e,connectors:t=[]}={})=>[{accessorKey:zn.TITLE,size:40,header:({column:n})=>a.jsx(br,{column:n,children:Ki[zn.TITLE]}),cell:({row:n})=>a.jsx("div",{children:n.getValue("title")})},{accessorFn:n=>{const r=n.definitionType;if(r===$e.CONNECTOR){const s=n.definition,i=t.find(c=>c.name===s.connector.source.name);return(i==null?void 0:i.displayName)??(i==null?void 0:i.name)??"Unknown"}else{const{displayName:s}=M_.getInfo(r);return s}},id:zn.DEFINITION_TYPE,size:15,header:({column:n})=>a.jsx(br,{column:n,children:Ki[zn.DEFINITION_TYPE]}),cell:({row:n})=>{const r=n.original.definitionType;switch(r){case $e.CONNECTOR:{const s=n.original.definition,i=t.find(c=>c.name===s.connector.source.name);return a.jsxs("div",{className:"text-muted-foreground flex items-center gap-2",children:[(i==null?void 0:i.logoBase64)&&a.jsx(Mc,{base64:i.logoBase64,size:18}),(i==null?void 0:i.displayName)??"Unknown"]})}default:{const{displayName:s,icon:i}=M_.getInfo(r);return a.jsxs("div",{className:"text-muted-foreground flex items-center gap-2",children:[a.jsx(i,{className:"h-4 w-4"}),s]})}}}},{accessorKey:zn.STORAGE_TYPE,size:15,header:({column:n})=>a.jsx(br,{column:n,children:Ki[zn.STORAGE_TYPE]}),cell:({row:n})=>{const r=n.getValue("storageType"),s=n.original.storageTitle,{displayName:i,icon:c}=wl.getInfo(r),u=s??i;return a.jsxs("div",{className:"text-muted-foreground flex items-center gap-2",children:[a.jsx(c,{size:18}),u]})}},{accessorKey:zn.CREATED_AT,size:15,header:({column:n})=>a.jsx(br,{column:n,children:Ki[zn.CREATED_AT]}),cell:({row:n})=>{const r=n.getValue("createdAt"),s=new Intl.DateTimeFormat("en-US",{year:"numeric",month:"short",day:"numeric"}).format(r);return a.jsx("div",{className:"text-muted-foreground",children:s})}},{id:zn.CREATED_BY_USER,size:15,accessorFn:n=>{const r=n.createdByUser;return(r==null?void 0:r.fullName)??(r==null?void 0:r.email)},header:({column:n})=>a.jsx(br,{column:n,children:Ki[zn.CREATED_BY_USER]}),cell:({row:n})=>{const r=n.original.createdByUser;return r?a.jsx(E5,{userProjection:r}):a.jsx("div",{className:"text-muted-foreground",children:"—"})}},{accessorKey:zn.STATUS,size:15,header:({column:n})=>a.jsx(br,{column:n,children:Ki[zn.STATUS]}),cell:({row:n})=>{const r=n.getValue("status");return a.jsx(Vh,{type:UJ(r.code),variant:"ghost",showIcon:!1,children:r.displayName})}},{accessorKey:zn.TRIGGERS_COUNT,size:15,header:({column:n})=>a.jsx(br,{column:n,children:Ki[zn.TRIGGERS_COUNT]}),cell:({row:n})=>{const r=n.getValue("triggersCount")>0?n.getValue("triggersCount"):"—";return a.jsx("div",{className:"text-muted-foreground",children:r})}},{accessorKey:zn.REPORTS_COUNT,size:15,header:({column:n})=>a.jsx(br,{column:n,children:Ki[zn.REPORTS_COUNT]}),cell:({row:n})=>{const r=n.getValue("reportsCount")>0?n.getValue("reportsCount"):"—";return a.jsx("div",{className:"text-muted-foreground",children:r})}},{id:"actions",size:80,header:({table:n})=>a.jsx(Cd,{table:n}),cell:({row:n})=>a.jsx(wte,{row:n,onDeleteSuccess:e})}];var vr=(e=>(e.FETCH_CONNECTORS_START="FETCH_CONNECTORS_START",e.FETCH_CONNECTORS_SUCCESS="FETCH_CONNECTORS_SUCCESS",e.FETCH_CONNECTORS_ERROR="FETCH_CONNECTORS_ERROR",e.FETCH_CONNECTOR_SPECIFICATION_START="FETCH_CONNECTOR_SPECIFICATION_START",e.FETCH_CONNECTOR_SPECIFICATION_SUCCESS="FETCH_CONNECTOR_SPECIFICATION_SUCCESS",e.FETCH_CONNECTOR_SPECIFICATION_ERROR="FETCH_CONNECTOR_SPECIFICATION_ERROR",e.FETCH_CONNECTOR_FIELDS_START="FETCH_CONNECTOR_FIELDS_START",e.FETCH_CONNECTOR_FIELDS_SUCCESS="FETCH_CONNECTOR_FIELDS_SUCCESS",e.FETCH_CONNECTOR_FIELDS_ERROR="FETCH_CONNECTOR_FIELDS_ERROR",e))(vr||{});const jte={connectors:[],connectorSpecification:null,connectorFields:null,loading:!1,loadingSpecification:!1,loadingFields:!1,error:null};function Tte(e,t){switch(t.type){case vr.FETCH_CONNECTORS_START:return{...e,loading:!0,error:null};case vr.FETCH_CONNECTORS_SUCCESS:return{...e,connectors:t.payload,loading:!1,error:null};case vr.FETCH_CONNECTORS_ERROR:return{...e,loading:!1,error:t.payload};case vr.FETCH_CONNECTOR_SPECIFICATION_START:return{...e,loadingSpecification:!0,error:null};case vr.FETCH_CONNECTOR_SPECIFICATION_SUCCESS:return{...e,connectorSpecification:t.payload,loadingSpecification:!1,error:null};case vr.FETCH_CONNECTOR_SPECIFICATION_ERROR:return{...e,loadingSpecification:!1,error:t.payload};case vr.FETCH_CONNECTOR_FIELDS_START:return{...e,loadingFields:!0,error:null};case vr.FETCH_CONNECTOR_FIELDS_SUCCESS:return{...e,connectorFields:t.payload,loadingFields:!1,error:null};case vr.FETCH_CONNECTOR_FIELDS_ERROR:return{...e,loadingFields:!1,error:t.payload};default:return e}}const w5=h.createContext(void 0);function ld({children:e}){const[t,n]=h.useReducer(Tte,jte);return a.jsx(w5.Provider,{value:{state:t,dispatch:n},children:e})}function _te(){const e=h.useContext(w5);if(!e)throw new Error("useConnectorContext must be used within a ConnectorContextProvider");return e}var Ms=(e=>(e.STRING="string",e.NUMBER="number",e.BOOLEAN="boolean",e.OBJECT="object",e.ARRAY="array",e.DATE="date",e))(Ms||{});class $f extends El{constructor(){super("/connectors")}async getAvailableConnectors(){return this.get("/")}async getConnectorSpecification(t){return this.get(`/${t}/specification`)}async getConnectorFields(t){return this.get(`/${t}/fields`)}async exchangeCredentials(t,n){return this.post(`/${t}/oauth/exchange`,n)}async checkOAuthStatus(t,n){return this.get(`/${t}/oauth/status/${n}`)}async getOAuthSettings(t,n){return this.get(`/${t}/oauth/settings?path=${encodeURIComponent(n)}`)}}function R5(e){return e.map(t=>({name:t.name,displayName:t.title??t.name,description:t.description??"",logoBase64:t.logo,docUrl:t.docUrl})).sort((t,n)=>t.displayName.localeCompare(n.displayName))}function Pc(){const{state:e,dispatch:t}=_te(),n=h.useMemo(()=>R5(e.connectors),[e.connectors]),r=h.useCallback(async()=>{t({type:vr.FETCH_CONNECTORS_START});try{const u=await new $f().getAvailableConnectors();t({type:vr.FETCH_CONNECTORS_SUCCESS,payload:u})}catch(c){const u=c instanceof Error?c.message:"Unknown error";t({type:vr.FETCH_CONNECTORS_ERROR,payload:u}),De({event:"connector_error",category:"Connector",action:"ListError",label:u})}},[t]),s=h.useCallback(async c=>{t({type:vr.FETCH_CONNECTOR_SPECIFICATION_START});try{const f=await new $f().getConnectorSpecification(c);t({type:vr.FETCH_CONNECTOR_SPECIFICATION_SUCCESS,payload:f})}catch(u){const f=u instanceof Error?u.message:"Unknown error";t({type:vr.FETCH_CONNECTOR_SPECIFICATION_ERROR,payload:f}),De({event:"connector_error",category:"Connector",action:"SpecificationError",label:c})}},[t]),i=h.useCallback(async c=>{t({type:vr.FETCH_CONNECTOR_FIELDS_START});try{const f=await new $f().getConnectorFields(c);t({type:vr.FETCH_CONNECTOR_FIELDS_SUCCESS,payload:f})}catch(u){const f=u instanceof Error?u.message:"Unknown error";t({type:vr.FETCH_CONNECTOR_FIELDS_ERROR,payload:f}),De({event:"connector_error",category:"Connector",action:"FieldsError",label:c})}},[t]);return{connectors:n,connectorSpecification:e.connectorSpecification,connectorFields:e.connectorFields,loading:e.loading,loadingSpecification:e.loadingSpecification,loadingFields:e.loadingFields,error:e.error,fetchAvailableConnectors:r,fetchConnectorSpecification:s,fetchConnectorFields:i}}const Nte=()=>{const{items:e,loadDataMarts:t,deleteDataMart:n,refreshList:r,loading:s}=GO(),{connectors:i,fetchAvailableConnectors:c}=Pc();return h.useEffect(()=>{c()},[c]),h.useEffect(()=>{t()},[t]),a.jsx(vte,{columns:Rte({connectors:i}),data:e,deleteDataMart:n,refetchDataMarts:r,isLoading:s})};function k_(){return a.jsxs("div",{className:"dm-page",children:[a.jsx("header",{className:"dm-page-header",children:a.jsx("h1",{className:"dm-page-header-title",children:"Data Marts"})}),a.jsx("div",{className:"dm-page-content",children:a.jsx(GX,{children:a.jsx(ld,{children:a.jsx(Nte,{})})})})]})}const j5=h.createContext(void 0),Tf=e=>{const t=qJ(e);return{...e,canPublish:t.length===0,validationErrors:t}};var Na=(e=>(e.CONNECTED="CONNECTED",e.CONNECTED_WITH_DEFINITION_MISMATCH="CONNECTED_WITH_DEFINITION_MISMATCH",e.DISCONNECTED="DISCONNECTED",e))(Na||{}),lh=(e=>(e.NULLABLE="NULLABLE",e.REQUIRED="REQUIRED",e.REPEATED="REPEATED",e))(lh||{}),ar=(e=>(e.INTEGER="INTEGER",e.FLOAT="FLOAT",e.NUMERIC="NUMERIC",e.BIGNUMERIC="BIGNUMERIC",e.STRING="STRING",e.BYTES="BYTES",e.BOOLEAN="BOOLEAN",e.DATE="DATE",e.TIME="TIME",e.DATETIME="DATETIME",e.TIMESTAMP="TIMESTAMP",e.GEOGRAPHY="GEOGRAPHY",e.JSON="JSON",e.RECORD="RECORD",e.STRUCT="STRUCT",e.RANGE="RANGE",e.INTERVAL="INTERVAL",e))(ar||{}),M2=(e=>(e.BOOLEAN="BOOLEAN",e.TINYINT="TINYINT",e.SMALLINT="SMALLINT",e.INTEGER="INTEGER",e.BIGINT="BIGINT",e.REAL="REAL",e.FLOAT="FLOAT",e.DOUBLE="DOUBLE",e.DECIMAL="DECIMAL",e.CHAR="CHAR",e.VARCHAR="VARCHAR",e.STRING="STRING",e.BINARY="BINARY",e.VARBINARY="VARBINARY",e.DATE="DATE",e.TIME="TIME",e.TIMESTAMP="TIMESTAMP",e.TIME_WITH_TIME_ZONE="TIME WITH TIME ZONE",e.TIMESTAMP_WITH_TIME_ZONE="TIMESTAMP WITH TIME ZONE",e.INTERVAL_YEAR_TO_MONTH="INTERVAL YEAR TO MONTH",e.INTERVAL_DAY_TO_SECOND="INTERVAL DAY TO SECOND",e.ARRAY="ARRAY",e.MAP="MAP",e.STRUCT="STRUCT",e.ROW="ROW",e.JSON="JSON",e))(M2||{}),k2=(e=>(e.NUMBER="NUMBER",e.DECIMAL="DECIMAL",e.NUMERIC="NUMERIC",e.INT="INT",e.INTEGER="INTEGER",e.BIGINT="BIGINT",e.SMALLINT="SMALLINT",e.TINYINT="TINYINT",e.BYTEINT="BYTEINT",e.FLOAT="FLOAT",e.FLOAT4="FLOAT4",e.FLOAT8="FLOAT8",e.DOUBLE="DOUBLE",e.DOUBLE_PRECISION="DOUBLE PRECISION",e.REAL="REAL",e.VARCHAR="VARCHAR",e.CHAR="CHAR",e.CHARACTER="CHARACTER",e.STRING="STRING",e.TEXT="TEXT",e.BINARY="BINARY",e.VARBINARY="VARBINARY",e.BOOLEAN="BOOLEAN",e.DATE="DATE",e.DATETIME="DATETIME",e.TIME="TIME",e.TIMESTAMP="TIMESTAMP",e.TIMESTAMP_LTZ="TIMESTAMP_LTZ",e.TIMESTAMP_NTZ="TIMESTAMP_NTZ",e.TIMESTAMP_TZ="TIMESTAMP_TZ",e.VARIANT="VARIANT",e.OBJECT="OBJECT",e.ARRAY="ARRAY",e.GEOGRAPHY="GEOGRAPHY",e.GEOMETRY="GEOMETRY",e))(k2||{}),L2=(e=>(e.SMALLINT="SMALLINT",e.INTEGER="INTEGER",e.BIGINT="BIGINT",e.DECIMAL="DECIMAL",e.NUMERIC="NUMERIC",e.REAL="REAL",e.DOUBLE_PRECISION="DOUBLE PRECISION",e.VARCHAR="VARCHAR",e.CHAR="CHAR",e.TEXT="TEXT",e.BPCHAR="BPCHAR",e.BOOLEAN="BOOLEAN",e.BOOL="BOOL",e.DATE="DATE",e.TIMESTAMP="TIMESTAMP",e.TIMESTAMPTZ="TIMESTAMPTZ",e.TIME="TIME",e.TIMETZ="TIMETZ",e.BYTEA="BYTEA",e.SUPER="SUPER",e.GEOMETRY="GEOMETRY",e.GEOGRAPHY="GEOGRAPHY",e))(L2||{});const Ate=(e,t)=>!!(e!==$e.CONNECTOR||t!==null&&t.fields.some(r=>r.status===Na.CONNECTED)),T5={dataMart:null,isLoading:!1,error:null,runs:[]};function Dte(e,t){switch(t.type){case"FETCH_DATA_MART_START":case"CREATE_DATA_MART_START":case"UPDATE_DATA_MART_START":case"UPDATE_DATA_MART_TITLE_START":case"UPDATE_DATA_MART_DESCRIPTION_START":case"UPDATE_DATA_MART_DEFINITION_START":case"DELETE_DATA_MART_START":case"PUBLISH_DATA_MART_START":case"RUN_DATA_MART_START":case"ACTUALIZE_DATA_MART_SCHEMA_START":case"UPDATE_DATA_MART_SCHEMA_START":case"FETCH_DATA_MART_RUNS_START":case"LOAD_MORE_DATA_MART_RUNS_START":return{...e,isLoading:!0,error:null};case"CREATE_DATA_MART_SUCCESS":return{...e,isLoading:!1,error:null};case"FETCH_DATA_MART_SUCCESS":case"UPDATE_DATA_MART_SUCCESS":case"PUBLISH_DATA_MART_SUCCESS":case"ACTUALIZE_DATA_MART_SCHEMA_SUCCESS":case"UPDATE_DATA_MART_SCHEMA_SUCCESS":return{...e,isLoading:!1,error:null,dataMart:Tf(t.payload)};case"UPDATE_DATA_MART_TITLE_SUCCESS":return e.dataMart?{...e,isLoading:!1,error:null,dataMart:Tf({...e.dataMart,title:t.payload,modifiedAt:new Date})}:e;case"UPDATE_DATA_MART_DESCRIPTION_SUCCESS":return e.dataMart?{...e,isLoading:!1,error:null,dataMart:Tf({...e.dataMart,description:t.payload,modifiedAt:new Date})}:e;case"UPDATE_DATA_MART_STORAGE":return e.dataMart?{...e,dataMart:Tf({...e.dataMart,storage:t.payload,modifiedAt:new Date})}:e;case"UPDATE_DATA_MART_DEFINITION_SUCCESS":return e.dataMart?{...e,isLoading:!1,error:null,dataMart:Tf({...e.dataMart,definitionType:t.payload.definitionType,definition:t.payload.definition,modifiedAt:new Date})}:e;case"DELETE_DATA_MART_SUCCESS":return{...e,isLoading:!1,error:null,dataMart:null};case"RUN_DATA_MART_SUCCESS":return{...e,isLoading:!1,error:null};case"FETCH_DATA_MART_RUNS_SUCCESS":return{...e,isLoading:!1,error:null,runs:t.payload};case"LOAD_MORE_DATA_MART_RUNS_SUCCESS":return{...e,isLoading:!1,error:null,runs:[...e.runs,...t.payload]};case"FETCH_DATA_MART_ERROR":case"CREATE_DATA_MART_ERROR":case"UPDATE_DATA_MART_ERROR":case"UPDATE_DATA_MART_TITLE_ERROR":case"UPDATE_DATA_MART_DESCRIPTION_ERROR":case"UPDATE_DATA_MART_DEFINITION_ERROR":case"DELETE_DATA_MART_ERROR":case"PUBLISH_DATA_MART_ERROR":case"RUN_DATA_MART_ERROR":case"ACTUALIZE_DATA_MART_SCHEMA_ERROR":case"UPDATE_DATA_MART_SCHEMA_ERROR":case"FETCH_DATA_MART_RUNS_ERROR":case"LOAD_MORE_DATA_MART_RUNS_ERROR":return{...e,isLoading:!1,error:t.payload};case"RESET":return T5;default:return e}}function Rs(){const e=h.useContext(j5);if(e===void 0)throw new Error("useDataMartContext must be used within a DataMartProvider");return e}class Ote{mapFromDto(t){const n=t.config,r=t.credentials;let s="";return r&&Object.keys(r).length>0&&(s=JSON.stringify(r,null,2)),{id:t.id,title:t.title,type:xe.GOOGLE_BIGQUERY,createdAt:new Date(t.createdAt),modifiedAt:new Date(t.modifiedAt),credentials:{serviceAccount:s},config:{projectId:(n==null?void 0:n.projectId)??"",location:(n==null?void 0:n.location)??""}}}mapToUpdateRequest(t){const n={config:{projectId:t.config.projectId,location:t.config.location}};return t.credentials&&(n.credentials={...JSON.parse(t.credentials.serviceAccount)}),n}}class Ite{mapFromDto(t){const n=t.config,r=t.credentials;return{id:t.id,title:t.title,type:xe.AWS_ATHENA,createdAt:new Date(t.createdAt),modifiedAt:new Date(t.modifiedAt),credentials:{accessKeyId:(r==null?void 0:r.accessKeyId)??"",secretAccessKey:(r==null?void 0:r.secretAccessKey)??""},config:{region:(n==null?void 0:n.region)??"",outputBucket:(n==null?void 0:n.outputBucket)??""}}}mapToUpdateRequest(t){const n={config:{region:t.config.region,outputBucket:t.config.outputBucket}};return t.credentials&&(n.credentials={accessKeyId:t.credentials.accessKeyId,secretAccessKey:t.credentials.secretAccessKey}),n}}class Mte{mapFromDto(t){const n=t.config,r=t.credentials,s=r?r.authMethod==="KEY_PAIR"?{authMethod:zs.KEY_PAIR,username:r.username??"",privateKey:r.privateKey??"",privateKeyPassphrase:r.privateKeyPassphrase}:{authMethod:zs.PASSWORD,username:r.username??"",password:r.password??""}:void 0;return{id:t.id,title:t.title,type:xe.SNOWFLAKE,createdAt:new Date(t.createdAt),modifiedAt:new Date(t.modifiedAt),credentials:s??{authMethod:zs.PASSWORD,username:"",password:""},config:n?{account:n.account,warehouse:n.warehouse}:{account:"",warehouse:""}}}mapToUpdateRequest(t){const n={config:{account:t.config.account,warehouse:t.config.warehouse}};if(t.credentials){const r=t.credentials;n.credentials={authMethod:r.authMethod,username:r.username,...r.authMethod===zs.PASSWORD?{password:r.password}:{privateKey:r.privateKey,privateKeyPassphrase:r.privateKeyPassphrase}}}return n}}class kte{mapFromDto(t){const n=t.config,r=t.credentials;let s=sr.SERVERLESS;n!=null&&n.clusterIdentifier&&(s=sr.PROVISIONED);const i=(n==null?void 0:n.connectionType)??s;return{id:t.id,title:t.title,type:xe.AWS_REDSHIFT,createdAt:new Date(t.createdAt),modifiedAt:new Date(t.modifiedAt),credentials:r?{accessKeyId:r.accessKeyId??"",secretAccessKey:r.secretAccessKey??""}:{accessKeyId:"",secretAccessKey:""},config:n?i===sr.SERVERLESS?{connectionType:sr.SERVERLESS,region:n.region,database:n.database,workgroupName:n.workgroupName??""}:{connectionType:sr.PROVISIONED,region:n.region,database:n.database,clusterIdentifier:n.clusterIdentifier??""}:{connectionType:sr.SERVERLESS,region:"",database:"",workgroupName:""}}}mapToUpdateRequest(t){const n=t.config,r={config:{connectionType:n.connectionType,region:n.region,database:n.database,...n.connectionType===sr.SERVERLESS?{workgroupName:n.workgroupName}:{clusterIdentifier:n.clusterIdentifier}}};return t.credentials&&(r.credentials={accessKeyId:t.credentials.accessKeyId,secretAccessKey:t.credentials.secretAccessKey}),r}}const _5={getMapper(e){switch(e){case xe.GOOGLE_BIGQUERY:return new Ote;case xe.AWS_ATHENA:return new Ite;case xe.SNOWFLAKE:return new Mte;case xe.AWS_REDSHIFT:return new kte;default:throw new Error(`Unknown storage type: ${e}`)}}};function Qp(e){return _5.getMapper(e.type).mapFromDto(e)}function Lte(e){const t=_5.getMapper(e.type);return{title:e.title,...t.mapToUpdateRequest(e)}}function Pte(e){return{id:e.id,type:e.type,title:e.title,createdAt:new Date(e.createdAt),modifiedAt:new Date(e.modifiedAt)}}function Ute(e){return{type:e}}let Op=null;async function zte(){if(Op)return Op;const e=await Fte();return Op=R5(e),Op}async function Fte(){return await new $f().getAvailableConnectors()}async function Hte(e){const t=await zte();return t.length===0?null:t.find(r=>r.name===e)??null}function Vte(e,t){const n=t.find(r=>r.name===e.source.name);return(n==null?void 0:n.displayName)??e.source.name}function $te(e){return{sqlQuery:e.sqlQuery}}function Bte(e){return{sqlQuery:e.sqlQuery}}function Gte(e){return{fullyQualifiedName:e.fullyQualifiedName}}function qte(e){return{fullyQualifiedName:e.fullyQualifiedName}}function Kte(e){return{fullyQualifiedName:e.fullyQualifiedName}}function Wte(e){return{fullyQualifiedName:e.fullyQualifiedName}}function Yte(e){return{pattern:e.pattern}}function Zte(e){return{pattern:e.pattern}}function Xte(e){return{connector:{source:{name:e.connector.source.name,configuration:e.connector.source.configuration,node:e.connector.source.node,fields:e.connector.source.fields},storage:{fullyQualifiedName:e.connector.storage.fullyQualifiedName}}}}function Qte(e){const t=e.connector;return{connector:{source:{name:t.source.name,configuration:t.source.configuration,node:t.source.node,fields:t.source.fields},storage:{fullyQualifiedName:t.storage.fullyQualifiedName}}}}async function Jte(e,t){if(!e||!t)return null;switch(e){case $e.SQL:return Bte(t);case $e.TABLE:return qte(t);case $e.VIEW:return Wte(t);case $e.TABLE_PATTERN:return Zte(t);case $e.CONNECTOR:{const n=Qte(t);return n.connector.info=await Hte(n.connector.source.name),n}default:return console.warn(`Unknown definition type: ${String(e)}`),null}}async function Tu(e){const t={id:e.id,title:e.title,description:e.description,status:fO.getInfo(e.status),storage:Qp(e.storage),definitionType:e.definitionType,definition:await Jte(e.definitionType,e.definition),schema:e.schema,connectorState:e.connectorState??null,createdAt:new Date(e.createdAt),modifiedAt:new Date(e.modifiedAt),canPublish:!1,canActualizeSchema:!1,validationErrors:[]};return t.canActualizeSchema=Ate(t.definitionType,t.schema),t}function ene(e){return{id:e.id,title:e.title}}const tne=e=>({id:e.id,status:e.status,createdAt:new Date(e.createdAt),logs:e.logs??[],errors:e.errors??[],definitionRun:e.definitionRun,type:e.type,triggerType:e.runType,startedAt:e.startedAt?new Date(e.startedAt):null,finishedAt:e.finishedAt?new Date(e.finishedAt):null,reportDefinition:e.reportDefinition?e.reportDefinition:null,reportId:e.reportId,insightDefinition:e.insightDefinition??null,insightId:e.insightId,createdByUser:e.createdByUser}),L_=e=>e.runs.map(tne);function N5({children:e}){const[t,n]=h.useReducer(Dte,T5),r=h.useCallback(async A=>{try{n({type:"FETCH_DATA_MART_START"});const T=await Tn.getDataMartById(A),M=await Tu(T);n({type:"FETCH_DATA_MART_SUCCESS",payload:M}),i2({context:M.id,value:M.title})}catch(T){n({type:"FETCH_DATA_MART_ERROR",payload:mn(T)})}},[]),s=h.useCallback(async A=>{try{n({type:"CREATE_DATA_MART_START"});const T=await Tn.createDataMart(A),M=ene(T);return n({type:"CREATE_DATA_MART_SUCCESS",payload:M}),De({event:"data_mart_created",category:"DataMart",action:"Create",label:M.id,value:M.title}),kt.success("Data Mart created"),M}catch(T){const M=mn(T);throw n({type:"CREATE_DATA_MART_ERROR",payload:M}),De({event:"data_mart_error",category:"DataMart",action:"CreateError",value:A.title,error:M.message}),T}},[]),i=h.useCallback(async(A,T)=>{try{n({type:"UPDATE_DATA_MART_START"});const M=await Tn.updateDataMart(A,T),k=await Tu(M);n({type:"UPDATE_DATA_MART_SUCCESS",payload:k}),De({event:"data_mart_updated",category:"DataMart",action:"Update",label:k.id,value:k.title})}catch(M){const k=mn(M);n({type:"UPDATE_DATA_MART_ERROR",payload:k}),De({event:"data_mart_error",category:"DataMart",action:"UpdateError",label:A,value:T.title})}},[]),c=h.useCallback(async A=>{try{n({type:"DELETE_DATA_MART_START"}),await Tn.deleteDataMart(A),n({type:"DELETE_DATA_MART_SUCCESS"}),De({event:"data_mart_deleted",category:"DataMart",action:"Delete",label:A}),kt.success("Data Mart deleted")}catch(T){const M=mn(T);n({type:"DELETE_DATA_MART_ERROR",payload:M}),De({event:"data_mart_error",category:"DataMart",action:"DeleteError",label:A,error:M.message})}},[]),u=h.useCallback(async(A,T)=>{try{n({type:"UPDATE_DATA_MART_TITLE_START"}),await Tn.updateDataMartTitle(A,T),n({type:"UPDATE_DATA_MART_TITLE_SUCCESS",payload:T}),De({event:"data_mart_updated",category:"DataMart",action:"UpdateTitle",label:A,value:T}),kt.success("Title updated")}catch(M){const k=mn(M);n({type:"UPDATE_DATA_MART_TITLE_ERROR",payload:k}),De({event:"data_mart_error",category:"DataMart",action:"UpdateTitleError",label:A,error:k.message})}},[]),f=h.useCallback(async(A,T)=>{try{n({type:"UPDATE_DATA_MART_DESCRIPTION_START"}),await Tn.updateDataMartDescription(A,T),n({type:"UPDATE_DATA_MART_DESCRIPTION_SUCCESS",payload:T??""}),De({event:"data_mart_updated",category:"DataMart",action:"UpdateDescription",label:A}),kt.success("Description updated")}catch(M){const k=mn(M);n({type:"UPDATE_DATA_MART_DESCRIPTION_ERROR",payload:k}),De({event:"data_mart_error",category:"DataMart",action:"UpdateDescriptionError",label:A,error:k.message})}},[]),m=h.useCallback(A=>{n({type:"UPDATE_DATA_MART_STORAGE",payload:A})},[]),x=h.useCallback(async(A,T,M)=>{try{n({type:"UPDATE_DATA_MART_DEFINITION_START"});let k;switch(T){case $e.SQL:k={definitionType:T,definition:$te(M)};break;case $e.TABLE:k={definitionType:T,definition:Gte(M)};break;case $e.VIEW:k={definitionType:T,definition:Kte(M)};break;case $e.TABLE_PATTERN:k={definitionType:T,definition:Yte(M)};break;case $e.CONNECTOR:{const G=M;let B;for(const q of G.connector.source.configuration){const V=q;if(V._copiedFrom){B=V._copiedFrom.dataMartId;break}}k={definitionType:$e.CONNECTOR,definition:Xte(G),sourceDataMartId:B};break}default:throw new Error(`Unsupported definition type: ${String(T)}`)}const z=await Tn.updateDataMartDefinition(A,k),L=await Tu(z);n({type:"UPDATE_DATA_MART_DEFINITION_SUCCESS",payload:{definitionType:T,definition:M}}),n({type:"UPDATE_DATA_MART_SUCCESS",payload:L}),De({event:"data_mart_updated",category:"DataMart",action:"UpdateDefinition",label:T,context:L.id,value:L.title})}catch(k){const z=mn(k);n({type:"UPDATE_DATA_MART_DEFINITION_ERROR",payload:z}),De({event:"data_mart_error",category:"DataMart",action:"UpdateDefinitionError",label:T,context:A,error:z.message})}},[]),g=h.useCallback(async A=>{try{n({type:"PUBLISH_DATA_MART_START"});const T=await Tn.publishDataMart(A),M=await Tu(T);n({type:"PUBLISH_DATA_MART_SUCCESS",payload:M}),kt.success("Data Mart published"),De({event:"data_mart_published",category:"DataMart",action:"Publish",label:M.storage.type,context:M.id,value:M.title,details:M.definitionType??"No definition"})}catch(T){const M=mn(T);throw n({type:"PUBLISH_DATA_MART_ERROR",payload:M}),De({event:"data_mart_error",category:"DataMart",action:"PublishError",label:A,error:M.message}),T}},[]),y=h.useCallback(async(A,T=5,M=0,k)=>{try{k!=null&&k.silent||n({type:"FETCH_DATA_MART_RUNS_START"});const z=await Tn.getDataMartRuns(A,T,M,k!=null&&k.silent?{skipLoadingIndicator:!0}:void 0),L=L_(z);return n({type:"FETCH_DATA_MART_RUNS_SUCCESS",payload:L}),L}catch(z){throw n({type:"FETCH_DATA_MART_RUNS_ERROR",payload:mn(z)}),z}},[]),v=h.useCallback(async(A,T,M=5)=>{try{n({type:"LOAD_MORE_DATA_MART_RUNS_START"});const k=await Tn.getDataMartRuns(A,M,T),z=L_(k);return n({type:"LOAD_MORE_DATA_MART_RUNS_SUCCESS",payload:z}),De({event:"data_mart_runs_loaded",category:"DataMart",action:"LoadMore",context:A}),z}catch(k){throw n({type:"LOAD_MORE_DATA_MART_RUNS_ERROR",payload:mn(k)}),k}},[]),S=h.useCallback(async A=>{const T=kt.loading("Manual run started");try{n({type:"RUN_DATA_MART_START"}),De({event:"data_mart_run_started",category:"DataMart",action:"Run",label:"Manual",context:A.id}),await Tn.runDataMart(A.id,A.payload),n({type:"RUN_DATA_MART_SUCCESS"})}catch(M){kt.dismiss(T);const k=mn(M);n({type:"RUN_DATA_MART_ERROR",payload:k}),De({event:"data_mart_error",category:"DataMart",action:"RunError",label:"Manual",context:A.id,error:k.message})}},[]),b=h.useCallback(async(A,T)=>{try{await Tn.cancelDataMartRun(A,T),await y(A),kt.success("Data Mart run canceled"),De({event:"data_mart_run_canceled",category:"DataMart",action:"CancelRun",label:"Manual"})}catch(M){const k=mn(M);n({type:"RUN_DATA_MART_ERROR",payload:k}),De({event:"data_mart_error",category:"DataMart",action:"CancelRunError",error:k.message})}},[y]),E=h.useCallback(async(A,T)=>{try{return await Tn.getDataMartRunById(A,T)}catch(M){const k=mn(M);throw De({event:"data_mart_error",category:"DataMart",action:"FetchRunDetailsError",error:k.message}),M}},[]),R=h.useCallback(async A=>{try{n({type:"ACTUALIZE_DATA_MART_SCHEMA_START"});const T=await Tn.actualizeDataMartSchema(A),M=await Tu(T);n({type:"ACTUALIZE_DATA_MART_SCHEMA_SUCCESS",payload:M}),kt.success("Output schema actualized"),De({event:"data_mart_schema_actualized",category:"DataMart",action:"ActualizeSchema",label:"Automatic"})}catch(T){const M=mn(T);n({type:"ACTUALIZE_DATA_MART_SCHEMA_ERROR",payload:M}),De({event:"data_mart_error",category:"DataMart",action:"ActualizeSchemaError",error:M.message})}},[]),j=h.useCallback(async(A,T)=>{try{n({type:"UPDATE_DATA_MART_SCHEMA_START"});const M=await Tn.updateDataMartSchema(A,{schema:T}),k=await Tu(M);n({type:"UPDATE_DATA_MART_SCHEMA_SUCCESS",payload:k}),kt.success("Output schema updated"),De({event:"data_mart_schema_updated",category:"DataMart",action:"UpdateSchema",label:"Manual"})}catch(M){const k=mn(M);n({type:"UPDATE_DATA_MART_SCHEMA_ERROR",payload:k}),De({event:"data_mart_error",category:"DataMart",action:"UpdateSchemaError",error:k.message})}},[]),_=h.useCallback(()=>{n({type:"RESET"})},[]),D=h.useCallback(()=>t.error?t.error.message:null,[t.error]),O={...t,getDataMart:r,createDataMart:s,updateDataMart:i,deleteDataMart:c,updateDataMartTitle:u,updateDataMartDescription:f,updateDataMartStorage:m,updateDataMartDefinition:x,publishDataMart:g,runDataMart:S,cancelDataMartRun:b,actualizeDataMartSchema:R,updateDataMartSchema:j,getDataMartRuns:y,getDataMartRunById:E,loadMoreDataMartRuns:v,getErrorMessage:D,reset:_};return a.jsx(j5.Provider,{value:O,children:e})}var qh=e=>e.type==="checkbox",ic=e=>e instanceof Date,Ra=e=>e==null;const A5=e=>typeof e=="object";var mr=e=>!Ra(e)&&!Array.isArray(e)&&A5(e)&&!ic(e),D5=e=>mr(e)&&e.target?qh(e.target)?e.target.checked:e.target.value:e,nne=e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,O5=(e,t)=>e.has(nne(t)),rne=e=>{const t=e.constructor&&e.constructor.prototype;return mr(t)&&t.hasOwnProperty("isPrototypeOf")},P2=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function yr(e){let t;const n=Array.isArray(e),r=typeof FileList<"u"?e instanceof FileList:!1;if(e instanceof Date)t=new Date(e);else if(!(P2&&(e instanceof Blob||r))&&(n||mr(e)))if(t=n?[]:Object.create(Object.getPrototypeOf(e)),!n&&!rne(e))t=e;else for(const s in e)e.hasOwnProperty(s)&&(t[s]=yr(e[s]));else return e;return t}var Hx=e=>/^\w*$/.test(e),Xn=e=>e===void 0,U2=e=>Array.isArray(e)?e.filter(Boolean):[],z2=e=>U2(e.replace(/["|']|\]/g,"").split(/\.|\[/)),Pe=(e,t,n)=>{if(!t||!mr(e))return n;const r=(Hx(t)?[t]:z2(t)).reduce((s,i)=>Ra(s)?s:s[i],e);return Xn(r)||r===e?Xn(e[t])?n:e[t]:r},Ka=e=>typeof e=="boolean",Cn=(e,t,n)=>{let r=-1;const s=Hx(t)?[t]:z2(t),i=s.length,c=i-1;for(;++r<i;){const u=s[r];let f=n;if(r!==c){const m=e[u];f=mr(m)||Array.isArray(m)?m:isNaN(+s[r+1])?{}:[]}if(u==="__proto__"||u==="constructor"||u==="prototype")return;e[u]=f,e=e[u]}};const Og={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},ks={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},Xo={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},F2=ae.createContext(null);F2.displayName="HookFormContext";const Ed=()=>ae.useContext(F2),I5=e=>{const{children:t,...n}=e;return ae.createElement(F2.Provider,{value:n},t)};var M5=(e,t,n,r=!0)=>{const s={defaultValues:t._defaultValues};for(const i in e)Object.defineProperty(s,i,{get:()=>{const c=i;return t._proxyFormState[c]!==ks.all&&(t._proxyFormState[c]=!r||ks.all),n&&(n[c]=!0),e[c]}});return s};const H2=typeof window<"u"?ae.useLayoutEffect:ae.useEffect;function k5(e){const t=Ed(),{control:n=t.control,disabled:r,name:s,exact:i}=e||{},[c,u]=ae.useState(n._formState),f=ae.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return H2(()=>n._subscribe({name:s,formState:f.current,exact:i,callback:m=>{!r&&u({...n._formState,...m})}}),[s,r,i]),ae.useEffect(()=>{f.current.isValid&&n._setValid(!0)},[n]),ae.useMemo(()=>M5(c,n,f.current,!1),[c,n])}var Za=e=>typeof e=="string",Ib=(e,t,n,r,s)=>Za(e)?(r&&t.watch.add(e),Pe(n,e,s)):Array.isArray(e)?e.map(i=>(r&&t.watch.add(i),Pe(n,i))):(r&&(t.watchAll=!0),n),Mb=e=>Ra(e)||!A5(e);function Ls(e,t,n=new WeakSet){if(Mb(e)||Mb(t))return Object.is(e,t);if(ic(e)&&ic(t))return e.getTime()===t.getTime();const r=Object.keys(e),s=Object.keys(t);if(r.length!==s.length)return!1;if(n.has(e)||n.has(t))return!0;n.add(e),n.add(t);for(const i of r){const c=e[i];if(!s.includes(i))return!1;if(i!=="ref"){const u=t[i];if(ic(c)&&ic(u)||mr(c)&&mr(u)||Array.isArray(c)&&Array.isArray(u)?!Ls(c,u,n):!Object.is(c,u))return!1}}return!0}function ane(e){const t=Ed(),{control:n=t.control,name:r,defaultValue:s,disabled:i,exact:c,compute:u}=e||{},f=ae.useRef(s),m=ae.useRef(u),x=ae.useRef(void 0),g=ae.useRef(n),y=ae.useRef(r);m.current=u;const[v,S]=ae.useState(()=>{const D=n._getWatch(r,f.current);return m.current?m.current(D):D}),b=ae.useCallback(D=>{const O=Ib(r,n._names,D||n._formValues,!1,f.current);return m.current?m.current(O):O},[n._formValues,n._names,r]),E=ae.useCallback(D=>{if(!i){const O=Ib(r,n._names,D||n._formValues,!1,f.current);if(m.current){const A=m.current(O);Ls(A,x.current)||(S(A),x.current=A)}else S(O)}},[n._formValues,n._names,i,r]);H2(()=>((g.current!==n||!Ls(y.current,r))&&(g.current=n,y.current=r,E()),n._subscribe({name:r,formState:{values:!0},exact:c,callback:D=>{E(D.values)}})),[n,c,r,E]),ae.useEffect(()=>n._removeUnmounted());const R=g.current!==n,j=y.current,_=ae.useMemo(()=>{if(i)return null;const D=!R&&!Ls(j,r);return R||D?b():null},[i,R,r,j,b]);return _!==null?_:v}function sne(e){const t=Ed(),{name:n,disabled:r,control:s=t.control,shouldUnregister:i,defaultValue:c,exact:u=!0}=e,f=O5(s._names.array,n),m=ae.useMemo(()=>Pe(s._formValues,n,Pe(s._defaultValues,n,c)),[s,n,c]),x=ane({control:s,name:n,defaultValue:m,exact:u}),g=k5({control:s,name:n,exact:u}),y=ae.useRef(e),v=ae.useRef(void 0),S=ae.useRef(s.register(n,{...e.rules,value:x,...Ka(e.disabled)?{disabled:e.disabled}:{}}));y.current=e;const b=ae.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!Pe(g.errors,n)},isDirty:{enumerable:!0,get:()=>!!Pe(g.dirtyFields,n)},isTouched:{enumerable:!0,get:()=>!!Pe(g.touchedFields,n)},isValidating:{enumerable:!0,get:()=>!!Pe(g.validatingFields,n)},error:{enumerable:!0,get:()=>Pe(g.errors,n)}}),[g,n]),E=ae.useCallback(D=>S.current.onChange({target:{value:D5(D),name:n},type:Og.CHANGE}),[n]),R=ae.useCallback(()=>S.current.onBlur({target:{value:Pe(s._formValues,n),name:n},type:Og.BLUR}),[n,s._formValues]),j=ae.useCallback(D=>{const O=Pe(s._fields,n);O&&D&&(O._f.ref={focus:()=>D.focus&&D.focus(),select:()=>D.select&&D.select(),setCustomValidity:A=>D.setCustomValidity(A),reportValidity:()=>D.reportValidity()})},[s._fields,n]),_=ae.useMemo(()=>({name:n,value:x,...Ka(r)||g.disabled?{disabled:g.disabled||r}:{},onChange:E,onBlur:R,ref:j}),[n,r,g.disabled,E,R,j,x]);return ae.useEffect(()=>{const D=s._options.shouldUnregister||i,O=v.current;O&&O!==n&&!f&&s.unregister(O),s.register(n,{...y.current.rules,...Ka(y.current.disabled)?{disabled:y.current.disabled}:{}});const A=(T,M)=>{const k=Pe(s._fields,T);k&&k._f&&(k._f.mount=M)};if(A(n,!0),D){const T=yr(Pe(s._options.defaultValues,n,y.current.defaultValue));Cn(s._defaultValues,n,T),Xn(Pe(s._formValues,n))&&Cn(s._formValues,n,T)}return!f&&s.register(n),v.current=n,()=>{(f?D&&!s._state.action:D)?s.unregister(n):A(n,!1)}},[n,s,f,i]),ae.useEffect(()=>{s._setDisabledField({disabled:r,name:n})},[r,n,s]),ae.useMemo(()=>({field:_,formState:g,fieldState:b}),[_,g,b])}const one=e=>e.render(sne(e));var V2=(e,t,n,r,s)=>t?{...n[e],types:{...n[e]&&n[e].types?n[e].types:{},[r]:s||!0}}:{},Bf=e=>Array.isArray(e)?e:[e],P_=()=>{let e=[];return{get observers(){return e},next:s=>{for(const i of e)i.next&&i.next(s)},subscribe:s=>(e.push(s),{unsubscribe:()=>{e=e.filter(i=>i!==s)}}),unsubscribe:()=>{e=[]}}};function L5(e,t){const n={};for(const r in e)if(e.hasOwnProperty(r)){const s=e[r],i=t[r];if(s&&mr(s)&&i){const c=L5(s,i);mr(c)&&(n[r]=c)}else e[r]&&(n[r]=i)}return n}var ra=e=>mr(e)&&!Object.keys(e).length,$2=e=>e.type==="file",Ps=e=>typeof e=="function",Ig=e=>{if(!P2)return!1;const t=e?e.ownerDocument:0;return e instanceof(t&&t.defaultView?t.defaultView.HTMLElement:HTMLElement)},P5=e=>e.type==="select-multiple",B2=e=>e.type==="radio",ine=e=>B2(e)||qh(e),S1=e=>Ig(e)&&e.isConnected;function lne(e,t){const n=t.slice(0,-1).length;let r=0;for(;r<n;)e=Xn(e)?r++:e[t[r++]];return e}function cne(e){for(const t in e)if(e.hasOwnProperty(t)&&!Xn(e[t]))return!1;return!0}function fr(e,t){const n=Array.isArray(t)?t:Hx(t)?[t]:z2(t),r=n.length===1?e:lne(e,n),s=n.length-1,i=n[s];return r&&delete r[i],s!==0&&(mr(r)&&ra(r)||Array.isArray(r)&&cne(r))&&fr(e,n.slice(0,-1)),e}var une=e=>{for(const t in e)if(Ps(e[t]))return!0;return!1};function U5(e){return Array.isArray(e)||mr(e)&&!une(e)}function kb(e,t={}){for(const n in e){const r=e[n];U5(r)?(t[n]=Array.isArray(r)?[]:{},kb(r,t[n])):Xn(r)||(t[n]=!0)}return t}function Iu(e,t,n){n||(n=kb(t));for(const r in e){const s=e[r];if(U5(s))Xn(t)||Mb(n[r])?n[r]=kb(s,Array.isArray(s)?[]:{}):Iu(s,Ra(t)?{}:t[r],n[r]);else{const i=t[r];n[r]=!Ls(s,i)}}return n}const U_={value:!1,isValid:!1},z_={value:!0,isValid:!0};var z5=e=>{if(Array.isArray(e)){if(e.length>1){const t=e.filter(n=>n&&n.checked&&!n.disabled).map(n=>n.value);return{value:t,isValid:!!t.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!Xn(e[0].attributes.value)?Xn(e[0].value)||e[0].value===""?z_:{value:e[0].value,isValid:!0}:z_:U_}return U_},F5=(e,{valueAsNumber:t,valueAsDate:n,setValueAs:r})=>Xn(e)?e:t?e===""?NaN:e&&+e:n&&Za(e)?new Date(e):r?r(e):e;const F_={isValid:!1,value:null};var H5=e=>Array.isArray(e)?e.reduce((t,n)=>n&&n.checked&&!n.disabled?{isValid:!0,value:n.value}:t,F_):F_;function H_(e){const t=e.ref;return $2(t)?t.files:B2(t)?H5(e.refs).value:P5(t)?[...t.selectedOptions].map(({value:n})=>n):qh(t)?z5(e.refs).value:F5(Xn(t.value)?e.ref.value:t.value,e)}var dne=(e,t,n,r)=>{const s={};for(const i of e){const c=Pe(t,i);c&&Cn(s,i,c._f)}return{criteriaMode:n,names:[...e],fields:s,shouldUseNativeValidation:r}},Mg=e=>e instanceof RegExp,_f=e=>Xn(e)?e:Mg(e)?e.source:mr(e)?Mg(e.value)?e.value.source:e.value:e,V_=e=>({isOnSubmit:!e||e===ks.onSubmit,isOnBlur:e===ks.onBlur,isOnChange:e===ks.onChange,isOnAll:e===ks.all,isOnTouch:e===ks.onTouched});const $_="AsyncFunction";var fne=e=>!!e&&!!e.validate&&!!(Ps(e.validate)&&e.validate.constructor.name===$_||mr(e.validate)&&Object.values(e.validate).find(t=>t.constructor.name===$_)),hne=e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),B_=(e,t,n)=>!n&&(t.watchAll||t.watch.has(e)||[...t.watch].some(r=>e.startsWith(r)&&/^\.\w+/.test(e.slice(r.length))));const Gf=(e,t,n,r)=>{for(const s of n||Object.keys(e)){const i=Pe(e,s);if(i){const{_f:c,...u}=i;if(c){if(c.refs&&c.refs[0]&&t(c.refs[0],s)&&!r)return!0;if(c.ref&&t(c.ref,c.name)&&!r)return!0;if(Gf(u,t))break}else if(mr(u)&&Gf(u,t))break}}};function G_(e,t,n){const r=Pe(e,n);if(r||Hx(n))return{error:r,name:n};const s=n.split(".");for(;s.length;){const i=s.join("."),c=Pe(t,i),u=Pe(e,i);if(c&&!Array.isArray(c)&&n!==i)return{name:n};if(u&&u.type)return{name:i,error:u};if(u&&u.root&&u.root.type)return{name:`${i}.root`,error:u.root};s.pop()}return{name:n}}var mne=(e,t,n,r)=>{n(e);const{name:s,...i}=e;return ra(i)||Object.keys(i).length>=Object.keys(t).length||Object.keys(i).find(c=>t[c]===(!r||ks.all))},pne=(e,t,n)=>!e||!t||e===t||Bf(e).some(r=>r&&(n?r===t:r.startsWith(t)||t.startsWith(r))),gne=(e,t,n,r,s)=>s.isOnAll?!1:!n&&s.isOnTouch?!(t||e):(n?r.isOnBlur:s.isOnBlur)?!e:(n?r.isOnChange:s.isOnChange)?e:!0,xne=(e,t)=>!U2(Pe(e,t)).length&&fr(e,t),yne=(e,t,n)=>{const r=Bf(Pe(e,n));return Cn(r,"root",t[n]),Cn(e,n,r),e};function q_(e,t,n="validate"){if(Za(e)||Array.isArray(e)&&e.every(Za)||Ka(e)&&!e)return{type:n,message:Za(e)?e:"",ref:t}}var _u=e=>mr(e)&&!Mg(e)?e:{value:e,message:""},K_=async(e,t,n,r,s,i)=>{const{ref:c,refs:u,required:f,maxLength:m,minLength:x,min:g,max:y,pattern:v,validate:S,name:b,valueAsNumber:E,mount:R}=e._f,j=Pe(n,b);if(!R||t.has(b))return{};const _=u?u[0]:c,D=G=>{s&&_.reportValidity&&(_.setCustomValidity(Ka(G)?"":G||""),_.reportValidity())},O={},A=B2(c),T=qh(c),M=A||T,k=(E||$2(c))&&Xn(c.value)&&Xn(j)||Ig(c)&&c.value===""||j===""||Array.isArray(j)&&!j.length,z=V2.bind(null,b,r,O),L=(G,B,q,V=Xo.maxLength,I=Xo.minLength)=>{const K=G?B:q;O[b]={type:G?V:I,message:K,ref:c,...z(G?V:I,K)}};if(i?!Array.isArray(j)||!j.length:f&&(!M&&(k||Ra(j))||Ka(j)&&!j||T&&!z5(u).isValid||A&&!H5(u).isValid)){const{value:G,message:B}=Za(f)?{value:!!f,message:f}:_u(f);if(G&&(O[b]={type:Xo.required,message:B,ref:_,...z(Xo.required,B)},!r))return D(B),O}if(!k&&(!Ra(g)||!Ra(y))){let G,B;const q=_u(y),V=_u(g);if(!Ra(j)&&!isNaN(j)){const I=c.valueAsNumber||j&&+j;Ra(q.value)||(G=I>q.value),Ra(V.value)||(B=I<V.value)}else{const I=c.valueAsDate||new Date(j),K=me=>new Date(new Date().toDateString()+" "+me),$=c.type=="time",ee=c.type=="week";Za(q.value)&&j&&(G=$?K(j)>K(q.value):ee?j>q.value:I>new Date(q.value)),Za(V.value)&&j&&(B=$?K(j)<K(V.value):ee?j<V.value:I<new Date(V.value))}if((G||B)&&(L(!!G,q.message,V.message,Xo.max,Xo.min),!r))return D(O[b].message),O}if((m||x)&&!k&&(Za(j)||i&&Array.isArray(j))){const G=_u(m),B=_u(x),q=!Ra(G.value)&&j.length>+G.value,V=!Ra(B.value)&&j.length<+B.value;if((q||V)&&(L(q,G.message,B.message),!r))return D(O[b].message),O}if(v&&!k&&Za(j)){const{value:G,message:B}=_u(v);if(Mg(G)&&!j.match(G)&&(O[b]={type:Xo.pattern,message:B,ref:c,...z(Xo.pattern,B)},!r))return D(B),O}if(S){if(Ps(S)){const G=await S(j,n),B=q_(G,_);if(B&&(O[b]={...B,...z(Xo.validate,B.message)},!r))return D(B.message),O}else if(mr(S)){let G={};for(const B in S){if(!ra(G)&&!r)break;const q=q_(await S[B](j,n),_,B);q&&(G={...q,...z(B,q.message)},D(q.message),r&&(O[b]=G))}if(!ra(G)&&(O[b]={ref:_,...G},!r))return O}}return D(!0),O};const vne={mode:ks.onSubmit,reValidateMode:ks.onChange,shouldFocusError:!0};function bne(e={}){let t={...vne,...e},n={submitCount:0,isDirty:!1,isReady:!1,isLoading:Ps(t.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:t.errors||{},disabled:t.disabled||!1},r={},s=mr(t.defaultValues)||mr(t.values)?yr(t.defaultValues||t.values)||{}:{},i=t.shouldUnregister?{}:yr(s),c={action:!1,mount:!1,watch:!1},u={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},f,m=0;const x={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1};let g={...x};const y={array:P_(),state:P_()},v=t.criteriaMode===ks.all,S=Y=>re=>{clearTimeout(m),m=setTimeout(Y,re)},b=async Y=>{if(!t.disabled&&(x.isValid||g.isValid||Y)){const re=t.resolver?ra((await T()).errors):await k(r,!0);re!==n.isValid&&y.state.next({isValid:re})}},E=(Y,re)=>{!t.disabled&&(x.isValidating||x.validatingFields||g.isValidating||g.validatingFields)&&((Y||Array.from(u.mount)).forEach(ce=>{ce&&(re?Cn(n.validatingFields,ce,re):fr(n.validatingFields,ce))}),y.state.next({validatingFields:n.validatingFields,isValidating:!ra(n.validatingFields)}))},R=(Y,re=[],ce,Ie,je=!0,Te=!0)=>{if(Ie&&ce&&!t.disabled){if(c.action=!0,Te&&Array.isArray(Pe(r,Y))){const Ve=ce(Pe(r,Y),Ie.argA,Ie.argB);je&&Cn(r,Y,Ve)}if(Te&&Array.isArray(Pe(n.errors,Y))){const Ve=ce(Pe(n.errors,Y),Ie.argA,Ie.argB);je&&Cn(n.errors,Y,Ve),xne(n.errors,Y)}if((x.touchedFields||g.touchedFields)&&Te&&Array.isArray(Pe(n.touchedFields,Y))){const Ve=ce(Pe(n.touchedFields,Y),Ie.argA,Ie.argB);je&&Cn(n.touchedFields,Y,Ve)}(x.dirtyFields||g.dirtyFields)&&(n.dirtyFields=Iu(s,i)),y.state.next({name:Y,isDirty:L(Y,re),dirtyFields:n.dirtyFields,errors:n.errors,isValid:n.isValid})}else Cn(i,Y,re)},j=(Y,re)=>{Cn(n.errors,Y,re),y.state.next({errors:n.errors})},_=Y=>{n.errors=Y,y.state.next({errors:n.errors,isValid:!1})},D=(Y,re,ce,Ie)=>{const je=Pe(r,Y);if(je){const Te=Pe(i,Y,Xn(ce)?Pe(s,Y):ce);Xn(Te)||Ie&&Ie.defaultChecked||re?Cn(i,Y,re?Te:H_(je._f)):q(Y,Te),c.mount&&!c.action&&b()}},O=(Y,re,ce,Ie,je)=>{let Te=!1,Ve=!1;const bt={name:Y};if(!t.disabled){if(!ce||Ie){(x.isDirty||g.isDirty)&&(Ve=n.isDirty,n.isDirty=bt.isDirty=L(),Te=Ve!==bt.isDirty);const st=Ls(Pe(s,Y),re);Ve=!!Pe(n.dirtyFields,Y),st?fr(n.dirtyFields,Y):Cn(n.dirtyFields,Y,!0),bt.dirtyFields=n.dirtyFields,Te=Te||(x.dirtyFields||g.dirtyFields)&&Ve!==!st}if(ce){const st=Pe(n.touchedFields,Y);st||(Cn(n.touchedFields,Y,ce),bt.touchedFields=n.touchedFields,Te=Te||(x.touchedFields||g.touchedFields)&&st!==ce)}Te&&je&&y.state.next(bt)}return Te?bt:{}},A=(Y,re,ce,Ie)=>{const je=Pe(n.errors,Y),Te=(x.isValid||g.isValid)&&Ka(re)&&n.isValid!==re;if(t.delayError&&ce?(f=S(()=>j(Y,ce)),f(t.delayError)):(clearTimeout(m),f=null,ce?Cn(n.errors,Y,ce):fr(n.errors,Y)),(ce?!Ls(je,ce):je)||!ra(Ie)||Te){const Ve={...Ie,...Te&&Ka(re)?{isValid:re}:{},errors:n.errors,name:Y};n={...n,...Ve},y.state.next(Ve)}},T=async Y=>{E(Y,!0);const re=await t.resolver(i,t.context,dne(Y||u.mount,r,t.criteriaMode,t.shouldUseNativeValidation));return E(Y),re},M=async Y=>{const{errors:re}=await T(Y);if(Y)for(const ce of Y){const Ie=Pe(re,ce);Ie?Cn(n.errors,ce,Ie):fr(n.errors,ce)}else n.errors=re;return re},k=async(Y,re,ce={valid:!0})=>{for(const Ie in Y){const je=Y[Ie];if(je){const{_f:Te,...Ve}=je;if(Te){const bt=u.array.has(Te.name),st=je._f&&fne(je._f);st&&x.validatingFields&&E([Te.name],!0);const tn=await K_(je,u.disabled,i,v,t.shouldUseNativeValidation&&!re,bt);if(st&&x.validatingFields&&E([Te.name]),tn[Te.name]&&(ce.valid=!1,re))break;!re&&(Pe(tn,Te.name)?bt?yne(n.errors,tn,Te.name):Cn(n.errors,Te.name,tn[Te.name]):fr(n.errors,Te.name))}!ra(Ve)&&await k(Ve,re,ce)}}return ce.valid},z=()=>{for(const Y of u.unMount){const re=Pe(r,Y);re&&(re._f.refs?re._f.refs.every(ce=>!S1(ce)):!S1(re._f.ref))&&J(Y)}u.unMount=new Set},L=(Y,re)=>!t.disabled&&(Y&&re&&Cn(i,Y,re),!Ls(me(),s)),G=(Y,re,ce)=>Ib(Y,u,{...c.mount?i:Xn(re)?s:Za(Y)?{[Y]:re}:re},ce,re),B=Y=>U2(Pe(c.mount?i:s,Y,t.shouldUnregister?Pe(s,Y,[]):[])),q=(Y,re,ce={})=>{const Ie=Pe(r,Y);let je=re;if(Ie){const Te=Ie._f;Te&&(!Te.disabled&&Cn(i,Y,F5(re,Te)),je=Ig(Te.ref)&&Ra(re)?"":re,P5(Te.ref)?[...Te.ref.options].forEach(Ve=>Ve.selected=je.includes(Ve.value)):Te.refs?qh(Te.ref)?Te.refs.forEach(Ve=>{(!Ve.defaultChecked||!Ve.disabled)&&(Array.isArray(je)?Ve.checked=!!je.find(bt=>bt===Ve.value):Ve.checked=je===Ve.value||!!je)}):Te.refs.forEach(Ve=>Ve.checked=Ve.value===je):$2(Te.ref)?Te.ref.value="":(Te.ref.value=je,Te.ref.type||y.state.next({name:Y,values:yr(i)})))}(ce.shouldDirty||ce.shouldTouch)&&O(Y,je,ce.shouldTouch,ce.shouldDirty,!0),ce.shouldValidate&&ee(Y)},V=(Y,re,ce)=>{for(const Ie in re){if(!re.hasOwnProperty(Ie))return;const je=re[Ie],Te=Y+"."+Ie,Ve=Pe(r,Te);(u.array.has(Y)||mr(je)||Ve&&!Ve._f)&&!ic(je)?V(Te,je,ce):q(Te,je,ce)}},I=(Y,re,ce={})=>{const Ie=Pe(r,Y),je=u.array.has(Y),Te=yr(re);Cn(i,Y,Te),je?(y.array.next({name:Y,values:yr(i)}),(x.isDirty||x.dirtyFields||g.isDirty||g.dirtyFields)&&ce.shouldDirty&&y.state.next({name:Y,dirtyFields:Iu(s,i),isDirty:L(Y,Te)})):Ie&&!Ie._f&&!Ra(Te)?V(Y,Te,ce):q(Y,Te,ce),B_(Y,u)&&y.state.next({...n,name:Y}),y.state.next({name:c.mount?Y:void 0,values:yr(i)})},K=async Y=>{c.mount=!0;const re=Y.target;let ce=re.name,Ie=!0;const je=Pe(r,ce),Te=st=>{Ie=Number.isNaN(st)||ic(st)&&isNaN(st.getTime())||Ls(st,Pe(i,ce,st))},Ve=V_(t.mode),bt=V_(t.reValidateMode);if(je){let st,tn;const or=re.type?H_(je._f):D5(Y),Vn=Y.type===Og.BLUR||Y.type===Og.FOCUS_OUT,Lr=!hne(je._f)&&!t.resolver&&!Pe(n.errors,ce)&&!je._f.deps||gne(Vn,Pe(n.touchedFields,ce),n.isSubmitted,bt,Ve),ea=B_(ce,u,Vn);Cn(i,ce,or),Vn?(!re||!re.readOnly)&&(je._f.onBlur&&je._f.onBlur(Y),f&&f(0)):je._f.onChange&&je._f.onChange(Y);const pn=O(ce,or,Vn),ir=!ra(pn)||ea;if(!Vn&&y.state.next({name:ce,type:Y.type,values:yr(i)}),Lr)return(x.isValid||g.isValid)&&(t.mode==="onBlur"?Vn&&b():Vn||b()),ir&&y.state.next({name:ce,...ea?{}:pn});if(!Vn&&ea&&y.state.next({...n}),t.resolver){const{errors:kn}=await T([ce]);if(Te(or),Ie){const Qs=G_(n.errors,r,ce),Ia=G_(kn,r,Qs.name||ce);st=Ia.error,ce=Ia.name,tn=ra(kn)}}else E([ce],!0),st=(await K_(je,u.disabled,i,v,t.shouldUseNativeValidation))[ce],E([ce]),Te(or),Ie&&(st?tn=!1:(x.isValid||g.isValid)&&(tn=await k(r,!0)));Ie&&(je._f.deps&&(!Array.isArray(je._f.deps)||je._f.deps.length>0)&&ee(je._f.deps),A(ce,tn,st,pn))}},$=(Y,re)=>{if(Pe(n.errors,re)&&Y.focus)return Y.focus(),1},ee=async(Y,re={})=>{let ce,Ie;const je=Bf(Y);if(t.resolver){const Te=await M(Xn(Y)?Y:je);ce=ra(Te),Ie=Y?!je.some(Ve=>Pe(Te,Ve)):ce}else Y?(Ie=(await Promise.all(je.map(async Te=>{const Ve=Pe(r,Te);return await k(Ve&&Ve._f?{[Te]:Ve}:Ve)}))).every(Boolean),!(!Ie&&!n.isValid)&&b()):Ie=ce=await k(r);return y.state.next({...!Za(Y)||(x.isValid||g.isValid)&&ce!==n.isValid?{}:{name:Y},...t.resolver||!Y?{isValid:ce}:{},errors:n.errors}),re.shouldFocus&&!Ie&&Gf(r,$,Y?je:u.mount),Ie},me=(Y,re)=>{let ce={...c.mount?i:s};return re&&(ce=L5(re.dirtyFields?n.dirtyFields:n.touchedFields,ce)),Xn(Y)?ce:Za(Y)?Pe(ce,Y):Y.map(Ie=>Pe(ce,Ie))},U=(Y,re)=>({invalid:!!Pe((re||n).errors,Y),isDirty:!!Pe((re||n).dirtyFields,Y),error:Pe((re||n).errors,Y),isValidating:!!Pe(n.validatingFields,Y),isTouched:!!Pe((re||n).touchedFields,Y)}),F=Y=>{Y&&Bf(Y).forEach(re=>fr(n.errors,re)),y.state.next({errors:Y?n.errors:{}})},H=(Y,re,ce)=>{const Ie=(Pe(r,Y,{_f:{}})._f||{}).ref,je=Pe(n.errors,Y)||{},{ref:Te,message:Ve,type:bt,...st}=je;Cn(n.errors,Y,{...st,...re,ref:Ie}),y.state.next({name:Y,errors:n.errors,isValid:!1}),ce&&ce.shouldFocus&&Ie&&Ie.focus&&Ie.focus()},W=(Y,re)=>Ps(Y)?y.state.subscribe({next:ce=>"values"in ce&&Y(G(void 0,re),ce)}):G(Y,re,!0),Q=Y=>y.state.subscribe({next:re=>{pne(Y.name,re.name,Y.exact)&&mne(re,Y.formState||x,On,Y.reRenderRoot)&&Y.callback({values:{...i},...n,...re,defaultValues:s})}}).unsubscribe,le=Y=>(c.mount=!0,g={...g,...Y.formState},Q({...Y,formState:g})),J=(Y,re={})=>{for(const ce of Y?Bf(Y):u.mount)u.mount.delete(ce),u.array.delete(ce),re.keepValue||(fr(r,ce),fr(i,ce)),!re.keepError&&fr(n.errors,ce),!re.keepDirty&&fr(n.dirtyFields,ce),!re.keepTouched&&fr(n.touchedFields,ce),!re.keepIsValidating&&fr(n.validatingFields,ce),!t.shouldUnregister&&!re.keepDefaultValue&&fr(s,ce);y.state.next({values:yr(i)}),y.state.next({...n,...re.keepDirty?{isDirty:L()}:{}}),!re.keepIsValid&&b()},ie=({disabled:Y,name:re})=>{(Ka(Y)&&c.mount||Y||u.disabled.has(re))&&(Y?u.disabled.add(re):u.disabled.delete(re))},ye=(Y,re={})=>{let ce=Pe(r,Y);const Ie=Ka(re.disabled)||Ka(t.disabled);return Cn(r,Y,{...ce||{},_f:{...ce&&ce._f?ce._f:{ref:{name:Y}},name:Y,mount:!0,...re}}),u.mount.add(Y),ce?ie({disabled:Ka(re.disabled)?re.disabled:t.disabled,name:Y}):D(Y,!0,re.value),{...Ie?{disabled:re.disabled||t.disabled}:{},...t.progressive?{required:!!re.required,min:_f(re.min),max:_f(re.max),minLength:_f(re.minLength),maxLength:_f(re.maxLength),pattern:_f(re.pattern)}:{},name:Y,onChange:K,onBlur:K,ref:je=>{if(je){ye(Y,re),ce=Pe(r,Y);const Te=Xn(je.value)&&je.querySelectorAll&&je.querySelectorAll("input,select,textarea")[0]||je,Ve=ine(Te),bt=ce._f.refs||[];if(Ve?bt.find(st=>st===Te):Te===ce._f.ref)return;Cn(r,Y,{_f:{...ce._f,...Ve?{refs:[...bt.filter(S1),Te,...Array.isArray(Pe(s,Y))?[{}]:[]],ref:{type:Te.type,name:Y}}:{ref:Te}}}),D(Y,!1,void 0,Te)}else ce=Pe(r,Y,{}),ce._f&&(ce._f.mount=!1),(t.shouldUnregister||re.shouldUnregister)&&!(O5(u.array,Y)&&c.action)&&u.unMount.add(Y)}}},Ee=()=>t.shouldFocusError&&Gf(r,$,u.mount),He=Y=>{Ka(Y)&&(y.state.next({disabled:Y}),Gf(r,(re,ce)=>{const Ie=Pe(r,ce);Ie&&(re.disabled=Ie._f.disabled||Y,Array.isArray(Ie._f.refs)&&Ie._f.refs.forEach(je=>{je.disabled=Ie._f.disabled||Y}))},0,!1))},Re=(Y,re)=>async ce=>{let Ie;ce&&(ce.preventDefault&&ce.preventDefault(),ce.persist&&ce.persist());let je=yr(i);if(y.state.next({isSubmitting:!0}),t.resolver){const{errors:Te,values:Ve}=await T();n.errors=Te,je=yr(Ve)}else await k(r);if(u.disabled.size)for(const Te of u.disabled)fr(je,Te);if(fr(n.errors,"root"),ra(n.errors)){y.state.next({errors:{}});try{await Y(je,ce)}catch(Te){Ie=Te}}else re&&await re({...n.errors},ce),Ee(),setTimeout(Ee);if(y.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:ra(n.errors)&&!Ie,submitCount:n.submitCount+1,errors:n.errors}),Ie)throw Ie},Ke=(Y,re={})=>{Pe(r,Y)&&(Xn(re.defaultValue)?I(Y,yr(Pe(s,Y))):(I(Y,re.defaultValue),Cn(s,Y,yr(re.defaultValue))),re.keepTouched||fr(n.touchedFields,Y),re.keepDirty||(fr(n.dirtyFields,Y),n.isDirty=re.defaultValue?L(Y,yr(Pe(s,Y))):L()),re.keepError||(fr(n.errors,Y),x.isValid&&b()),y.state.next({...n}))},nt=(Y,re={})=>{const ce=Y?yr(Y):s,Ie=yr(ce),je=ra(Y),Te=je?s:Ie;if(re.keepDefaultValues||(s=ce),!re.keepValues){if(re.keepDirtyValues){const Ve=new Set([...u.mount,...Object.keys(Iu(s,i))]);for(const bt of Array.from(Ve))Pe(n.dirtyFields,bt)?Cn(Te,bt,Pe(i,bt)):I(bt,Pe(Te,bt))}else{if(P2&&Xn(Y))for(const Ve of u.mount){const bt=Pe(r,Ve);if(bt&&bt._f){const st=Array.isArray(bt._f.refs)?bt._f.refs[0]:bt._f.ref;if(Ig(st)){const tn=st.closest("form");if(tn){tn.reset();break}}}}if(re.keepFieldsRef)for(const Ve of u.mount)I(Ve,Pe(Te,Ve));else r={}}i=t.shouldUnregister?re.keepDefaultValues?yr(s):{}:yr(Te),y.array.next({values:{...Te}}),y.state.next({values:{...Te}})}u={mount:re.keepDirtyValues?u.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},c.mount=!x.isValid||!!re.keepIsValid||!!re.keepDirtyValues||!t.shouldUnregister&&!ra(Te),c.watch=!!t.shouldUnregister,c.action=!1,re.keepErrors||(n.errors={}),y.state.next({submitCount:re.keepSubmitCount?n.submitCount:0,isDirty:je?!1:re.keepDirty?n.isDirty:!!(re.keepDefaultValues&&!Ls(Y,s)),isSubmitted:re.keepIsSubmitted?n.isSubmitted:!1,dirtyFields:je?{}:re.keepDirtyValues?re.keepDefaultValues&&i?Iu(s,i):n.dirtyFields:re.keepDefaultValues&&Y?Iu(s,Y):re.keepDirty?n.dirtyFields:{},touchedFields:re.keepTouched?n.touchedFields:{},errors:re.keepErrors?n.errors:{},isSubmitSuccessful:re.keepIsSubmitSuccessful?n.isSubmitSuccessful:!1,isSubmitting:!1,defaultValues:s})},Gt=(Y,re)=>nt(Ps(Y)?Y(i):Y,re),Ft=(Y,re={})=>{const ce=Pe(r,Y),Ie=ce&&ce._f;if(Ie){const je=Ie.refs?Ie.refs[0]:Ie.ref;je.focus&&(je.focus(),re.shouldSelect&&Ps(je.select)&&je.select())}},On=Y=>{n={...n,...Y}},ke={control:{register:ye,unregister:J,getFieldState:U,handleSubmit:Re,setError:H,_subscribe:Q,_runSchema:T,_focusError:Ee,_getWatch:G,_getDirty:L,_setValid:b,_setFieldArray:R,_setDisabledField:ie,_setErrors:_,_getFieldArray:B,_reset:nt,_resetDefaultValues:()=>Ps(t.defaultValues)&&t.defaultValues().then(Y=>{Gt(Y,t.resetOptions),y.state.next({isLoading:!1})}),_removeUnmounted:z,_disableForm:He,_subjects:y,_proxyFormState:x,get _fields(){return r},get _formValues(){return i},get _state(){return c},set _state(Y){c=Y},get _defaultValues(){return s},get _names(){return u},set _names(Y){u=Y},get _formState(){return n},get _options(){return t},set _options(Y){t={...t,...Y}}},subscribe:le,trigger:ee,register:ye,handleSubmit:Re,watch:W,setValue:I,getValues:me,reset:Gt,resetField:Ke,clearErrors:F,unregister:J,setError:H,setFocus:Ft,getFieldState:U};return{...ke,formControl:ke}}function Do(e={}){const t=ae.useRef(void 0),n=ae.useRef(void 0),[r,s]=ae.useState({isDirty:!1,isValidating:!1,isLoading:Ps(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,isReady:!1,defaultValues:Ps(e.defaultValues)?void 0:e.defaultValues});if(!t.current)if(e.formControl)t.current={...e.formControl,formState:r},e.defaultValues&&!Ps(e.defaultValues)&&e.formControl.reset(e.defaultValues,e.resetOptions);else{const{formControl:c,...u}=bne(e);t.current={...u,formState:r}}const i=t.current.control;return i._options=e,H2(()=>{const c=i._subscribe({formState:i._proxyFormState,callback:()=>s({...i._formState}),reRenderRoot:!0});return s(u=>({...u,isReady:!0})),i._formState.isReady=!0,c},[i]),ae.useEffect(()=>i._disableForm(e.disabled),[i,e.disabled]),ae.useEffect(()=>{e.mode&&(i._options.mode=e.mode),e.reValidateMode&&(i._options.reValidateMode=e.reValidateMode)},[i,e.mode,e.reValidateMode]),ae.useEffect(()=>{e.errors&&(i._setErrors(e.errors),i._focusError())},[i,e.errors]),ae.useEffect(()=>{e.shouldUnregister&&i._subjects.state.next({values:i._getWatch()})},[i,e.shouldUnregister]),ae.useEffect(()=>{if(i._proxyFormState.isDirty){const c=i._getDirty();c!==r.isDirty&&i._subjects.state.next({isDirty:c})}},[i,r.isDirty]),ae.useEffect(()=>{var c;e.values&&!Ls(e.values,n.current)?(i._reset(e.values,{keepFieldsRef:!0,...i._options.resetOptions}),!((c=i._options.resetOptions)===null||c===void 0)&&c.keepIsValid||i._setValid(),n.current=e.values,s(u=>({...u}))):i._resetDefaultValues()},[i,e.values]),ae.useEffect(()=>{i._state.mount||(i._setValid(),i._state.mount=!0),i._state.watch&&(i._state.watch=!1,i._subjects.state.next({...i._formState})),i._removeUnmounted()}),t.current.formState=M5(r,i),t.current}var Sne=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Cne=Sne.reduce((e,t)=>{const n=SS(`Primitive.${t}`),r=h.forwardRef((s,i)=>{const{asChild:c,...u}=s,f=c?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),a.jsx(f,{...u,ref:i})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),Ene="Label",V5=h.forwardRef((e,t)=>a.jsx(Cne.label,{...e,ref:t,onMouseDown:n=>{var s;n.target.closest("button, input, select, textarea")||((s=e.onMouseDown)==null||s.call(e,n),!n.defaultPrevented&&n.detail>1&&n.preventDefault())}}));V5.displayName=Ene;var wne=V5;function Aa({className:e,...t}){return a.jsx(wne,{"data-slot":"label",className:se("flex items-center gap-2 text-sm leading-none font-medium group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...t})}const Dl=I5,$5=h.createContext({}),yt=({...e})=>a.jsx($5.Provider,{value:{name:e.name},children:a.jsx(one,{...e})}),Kh=()=>{const e=h.useContext($5),t=h.useContext(B5),{getFieldState:n}=Ed(),r=k5({name:e.name}),s=n(e.name,r);if(!e)throw new Error("useFormField should be used within <FormField>");const{id:i}=t;return{id:i,name:e.name,formItemId:`${i}-form-item`,formDescriptionId:`${i}-form-item-description`,formMessageId:`${i}-form-item-message`,...s}},B5=h.createContext({});function ht({className:e="",...t}){const n=h.useId();return a.jsx(B5.Provider,{value:{id:n},children:a.jsx("div",{"data-slot":"form-item",className:se("group border-border flex flex-col gap-2 rounded-md border-b bg-white px-4 py-3 transition-shadow duration-200 hover:shadow-sm dark:border-transparent dark:bg-white/4",e),...t})})}function ut({className:e="",tooltip:t,tooltipProps:n,children:r,...s}){const{error:i,formItemId:c}=Kh();return a.jsxs(Aa,{"data-slot":"form-label","data-error":!!i,className:se("text-foreground flex items-center justify-between gap-2 text-sm font-medium","data-[error=true]:text-destructive",e),htmlFor:c,...s,children:[a.jsx("span",{children:r}),t&&a.jsxs(wt,{...n,children:[a.jsx(Rt,{asChild:!0,children:a.jsx("button",{type:"button",tabIndex:-1,className:"pointer-events-none opacity-0 transition group-hover:pointer-events-auto group-hover:opacity-100","aria-label":"Help information",children:a.jsx(Or,{className:"text-muted-foreground/50 hover:text-muted-foreground size-4 shrink-0 transition-colors","aria-hidden":"true"})})}),a.jsx(jt,{side:"top",align:"center",role:"tooltip",children:t})]})]})}function mt({...e}){const{error:t,formItemId:n,formDescriptionId:r,formMessageId:s}=Kh();return a.jsx(bh,{"data-slot":"form-control",id:n,"aria-describedby":t?`${r} ${s}`:`${r}`,"aria-invalid":!!t,...e})}function Jt({className:e,...t}){const{formDescriptionId:n}=Kh();return a.jsx("div",{"data-slot":"form-description",id:n,className:se("text-muted-foreground text-sm",e),...t})}function St({className:e,...t}){const{error:n,formMessageId:r}=Kh(),s=n?String((n==null?void 0:n.message)??""):t.children;return s?a.jsx("p",{"data-slot":"form-message",id:r,className:se("text-destructive text-sm",e),...t,children:s}):null}function Ol({children:e,className:t="",variant:n="default"}){const r=n==="light"?"flex-1 overflow-y-auto":"bg-muted dark:bg-sidebar flex-1 overflow-y-auto p-4";return a.jsx("div",{className:r,children:a.jsx("div",{className:se("flex min-h-full flex-col gap-4",t),children:e})})}function Uc({className:e="",children:t,variant:n="default"}){const r=n==="light"?"flex flex-col gap-1.5 pt-4":"flex flex-col gap-1.5 border-t px-4 py-3";return a.jsx("div",{className:se(r,e),children:t})}function Mr({title:e,children:t}){return a.jsxs("section",{className:"mb-4",children:[e&&a.jsx("h3",{className:"text-muted-foreground/75 mb-2 text-xs font-semibold tracking-wide uppercase",children:e}),a.jsx("div",{className:"flex flex-col gap-2",children:t})]})}function Rne({value:e,label:t,checked:n,onChange:r,disabled:s=!1,orientation:i="vertical",className:c=""}){const{formItemId:u}=Kh();return a.jsxs("label",{htmlFor:`${u}-${e}`,className:se("flex cursor-pointer items-center gap-2 rounded-md py-1 pr-4 pl-2 text-sm",s&&"cursor-not-allowed opacity-50",i==="horizontal"?"flex-row":"flex-col",n?"bg-muted border-input border-b":"hover:bg-muted border-border bg-transparent",c),children:[a.jsx("input",{type:"radio",id:`${u}-${e}`,value:e,checked:n,onChange:r,disabled:s,className:se("peer border-input ring-offset-background h-4 w-4 rounded-full border","checked:bg-primary checked:border-primary","focus-visible:ring-ring focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-2","disabled:cursor-not-allowed disabled:opacity-50")}),a.jsx("span",{className:se("peer-disabled:cursor-not-allowed peer-disabled:opacity-50"),children:t})]})}function jne({options:e,value:t,onChange:n,orientation:r="vertical",className:s=""}){return a.jsx("div",{tabIndex:-1,className:se(r==="horizontal"?"flex gap-6":"flex flex-col gap-2","border-input rounded-md border bg-transparent px-1 py-1 transition-colors","focus-within:border-ring focus-within:ring-ring/50 focus-within:ring-[3px]","text-foreground selection:bg-primary selection:text-primary-foreground","aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40","disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",s),children:e.map(i=>a.jsx(Rne,{value:i.value,label:i.label,checked:t===i.value,onChange:c=>n(c.target.value),disabled:i.disabled,orientation:r},i.value))})}const Si=h.forwardRef(({children:e,className:t="",...n},r)=>a.jsx("form",{ref:r,className:se("flex flex-1 flex-col overflow-hidden",t),...n,children:e}));Si.displayName="AppForm";function W_(e,[t,n]){return Math.min(n,Math.max(t,e))}function Lb(e){const t=Tne(e),n=h.forwardRef((r,s)=>{const{children:i,...c}=r,u=h.Children.toArray(i),f=u.find(Nne);if(f){const m=f.props.children,x=u.map(g=>g===f?h.Children.count(m)>1?h.Children.only(null):h.isValidElement(m)?m.props.children:null:g);return a.jsx(t,{...c,ref:s,children:h.isValidElement(m)?h.cloneElement(m,void 0,x):null})}return a.jsx(t,{...c,ref:s,children:i})});return n.displayName=`${e}.Slot`,n}function Tne(e){const t=h.forwardRef((n,r)=>{const{children:s,...i}=n;if(h.isValidElement(s)){const c=Dne(s),u=Ane(i,s.props);return s.type!==h.Fragment&&(u.ref=r?Qr(r,c):c),h.cloneElement(s,u)}return h.Children.count(s)>1?h.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var _ne=Symbol("radix.slottable");function Nne(e){return h.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===_ne}function Ane(e,t){const n={...t};for(const r in t){const s=e[r],i=t[r];/^on[A-Z]/.test(r)?s&&i?n[r]=(...u)=>{const f=i(...u);return s(...u),f}:s&&(n[r]=s):r==="style"?n[r]={...s,...i}:r==="className"&&(n[r]=[s,i].filter(Boolean).join(" "))}return{...e,...n}}function Dne(e){var r,s;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(s=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:s.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function One(e){const t=e+"CollectionProvider",[n,r]=Er(t),[s,i]=n(t,{collectionRef:{current:null},itemMap:new Map}),c=b=>{const{scope:E,children:R}=b,j=ae.useRef(null),_=ae.useRef(new Map).current;return a.jsx(s,{scope:E,itemMap:_,collectionRef:j,children:R})};c.displayName=t;const u=e+"CollectionSlot",f=Lb(u),m=ae.forwardRef((b,E)=>{const{scope:R,children:j}=b,_=i(u,R),D=vt(E,_.collectionRef);return a.jsx(f,{ref:D,children:j})});m.displayName=u;const x=e+"CollectionItemSlot",g="data-radix-collection-item",y=Lb(x),v=ae.forwardRef((b,E)=>{const{scope:R,children:j,..._}=b,D=ae.useRef(null),O=vt(E,D),A=i(x,R);return ae.useEffect(()=>(A.itemMap.set(D,{ref:D,..._}),()=>void A.itemMap.delete(D))),a.jsx(y,{[g]:"",ref:O,children:j})});v.displayName=x;function S(b){const E=i(e+"CollectionConsumer",b);return ae.useCallback(()=>{const j=E.collectionRef.current;if(!j)return[];const _=Array.from(j.querySelectorAll(`[${g}]`));return Array.from(E.itemMap.values()).sort((A,T)=>_.indexOf(A.ref.current)-_.indexOf(T.ref.current))},[E.collectionRef,E.itemMap])}return[{Provider:c,Slot:m,ItemSlot:v},S,r]}function G2(e){const t=h.useRef({value:e,previous:e});return h.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var Ine=[" ","Enter","ArrowUp","ArrowDown"],Mne=[" ","Enter"],Sc="Select",[Vx,$x,kne]=One(Sc),[wd]=Er(Sc,[kne,No]),Bx=No(),[Lne,Il]=wd(Sc),[Pne,Une]=wd(Sc),G5=e=>{const{__scopeSelect:t,children:n,open:r,defaultOpen:s,onOpenChange:i,value:c,defaultValue:u,onValueChange:f,dir:m,name:x,autoComplete:g,disabled:y,required:v,form:S}=e,b=Bx(t),[E,R]=h.useState(null),[j,_]=h.useState(null),[D,O]=h.useState(!1),A=Dh(m),[T,M]=ca({prop:r,defaultProp:s??!1,onChange:i,caller:Sc}),[k,z]=ca({prop:c,defaultProp:u,onChange:f,caller:Sc}),L=h.useRef(null),G=E?S||!!E.closest("form"):!0,[B,q]=h.useState(new Set),V=Array.from(B).map(I=>I.props.value).join(";");return a.jsx(gd,{...b,children:a.jsxs(Lne,{required:v,scope:t,trigger:E,onTriggerChange:R,valueNode:j,onValueNodeChange:_,valueNodeHasChildren:D,onValueNodeHasChildrenChange:O,contentId:er(),value:k,onValueChange:z,open:T,onOpenChange:M,dir:A,triggerPointerDownPosRef:L,disabled:y,children:[a.jsx(Vx.Provider,{scope:t,children:a.jsx(Pne,{scope:e.__scopeSelect,onNativeOptionAdd:h.useCallback(I=>{q(K=>new Set(K).add(I))},[]),onNativeOptionRemove:h.useCallback(I=>{q(K=>{const $=new Set(K);return $.delete(I),$})},[]),children:n})}),G?a.jsxs(pI,{"aria-hidden":!0,required:v,tabIndex:-1,name:x,autoComplete:g,value:k,onChange:I=>z(I.target.value),disabled:y,form:S,children:[k===void 0?a.jsx("option",{value:""}):null,Array.from(B)]},V):null]})})};G5.displayName=Sc;var q5="SelectTrigger",K5=h.forwardRef((e,t)=>{const{__scopeSelect:n,disabled:r=!1,...s}=e,i=Bx(n),c=Il(q5,n),u=c.disabled||r,f=vt(t,c.onTriggerChange),m=$x(n),x=h.useRef("touch"),[g,y,v]=xI(b=>{const E=m().filter(_=>!_.disabled),R=E.find(_=>_.value===c.value),j=yI(E,b,R);j!==void 0&&c.onValueChange(j.value)}),S=b=>{u||(c.onOpenChange(!0),v()),b&&(c.triggerPointerDownPosRef.current={x:Math.round(b.pageX),y:Math.round(b.pageY)})};return a.jsx(xd,{asChild:!0,...i,children:a.jsx(et.button,{type:"button",role:"combobox","aria-controls":c.contentId,"aria-expanded":c.open,"aria-required":c.required,"aria-autocomplete":"none",dir:c.dir,"data-state":c.open?"open":"closed",disabled:u,"data-disabled":u?"":void 0,"data-placeholder":gI(c.value)?"":void 0,...s,ref:f,onClick:Me(s.onClick,b=>{b.currentTarget.focus(),x.current!=="mouse"&&S(b)}),onPointerDown:Me(s.onPointerDown,b=>{x.current=b.pointerType;const E=b.target;E.hasPointerCapture(b.pointerId)&&E.releasePointerCapture(b.pointerId),b.button===0&&b.ctrlKey===!1&&b.pointerType==="mouse"&&(S(b),b.preventDefault())}),onKeyDown:Me(s.onKeyDown,b=>{const E=g.current!=="";!(b.ctrlKey||b.altKey||b.metaKey)&&b.key.length===1&&y(b.key),!(E&&b.key===" ")&&Ine.includes(b.key)&&(S(),b.preventDefault())})})})});K5.displayName=q5;var W5="SelectValue",Y5=h.forwardRef((e,t)=>{const{__scopeSelect:n,className:r,style:s,children:i,placeholder:c="",...u}=e,f=Il(W5,n),{onValueNodeHasChildrenChange:m}=f,x=i!==void 0,g=vt(t,f.onValueNodeChange);return Br(()=>{m(x)},[m,x]),a.jsx(et.span,{...u,ref:g,style:{pointerEvents:"none"},children:gI(f.value)?a.jsx(a.Fragment,{children:c}):i})});Y5.displayName=W5;var zne="SelectIcon",Z5=h.forwardRef((e,t)=>{const{__scopeSelect:n,children:r,...s}=e;return a.jsx(et.span,{"aria-hidden":!0,...s,ref:t,children:r||"▼"})});Z5.displayName=zne;var Fne="SelectPortal",X5=e=>a.jsx(Oc,{asChild:!0,...e});X5.displayName=Fne;var Cc="SelectContent",Q5=h.forwardRef((e,t)=>{const n=Il(Cc,e.__scopeSelect),[r,s]=h.useState();if(Br(()=>{s(new DocumentFragment)},[]),!n.open){const i=r;return i?Us.createPortal(a.jsx(J5,{scope:e.__scopeSelect,children:a.jsx(Vx.Slot,{scope:e.__scopeSelect,children:a.jsx("div",{children:e.children})})}),i):null}return a.jsx(eI,{...e,ref:t})});Q5.displayName=Cc;var Ds=10,[J5,Ml]=wd(Cc),Hne="SelectContentImpl",Vne=Lb("SelectContent.RemoveScroll"),eI=h.forwardRef((e,t)=>{const{__scopeSelect:n,position:r="item-aligned",onCloseAutoFocus:s,onEscapeKeyDown:i,onPointerDownOutside:c,side:u,sideOffset:f,align:m,alignOffset:x,arrowPadding:g,collisionBoundary:y,collisionPadding:v,sticky:S,hideWhenDetached:b,avoidCollisions:E,...R}=e,j=Il(Cc,n),[_,D]=h.useState(null),[O,A]=h.useState(null),T=vt(t,J=>D(J)),[M,k]=h.useState(null),[z,L]=h.useState(null),G=$x(n),[B,q]=h.useState(!1),V=h.useRef(!1);h.useEffect(()=>{if(_)return nx(_)},[_]),ex();const I=h.useCallback(J=>{const[ie,...ye]=G().map(Re=>Re.ref.current),[Ee]=ye.slice(-1),He=document.activeElement;for(const Re of J)if(Re===He||(Re==null||Re.scrollIntoView({block:"nearest"}),Re===ie&&O&&(O.scrollTop=0),Re===Ee&&O&&(O.scrollTop=O.scrollHeight),Re==null||Re.focus(),document.activeElement!==He))return},[G,O]),K=h.useCallback(()=>I([M,_]),[I,M,_]);h.useEffect(()=>{B&&K()},[B,K]);const{onOpenChange:$,triggerPointerDownPosRef:ee}=j;h.useEffect(()=>{if(_){let J={x:0,y:0};const ie=Ee=>{var He,Re;J={x:Math.abs(Math.round(Ee.pageX)-(((He=ee.current)==null?void 0:He.x)??0)),y:Math.abs(Math.round(Ee.pageY)-(((Re=ee.current)==null?void 0:Re.y)??0))}},ye=Ee=>{J.x<=10&&J.y<=10?Ee.preventDefault():_.contains(Ee.target)||$(!1),document.removeEventListener("pointermove",ie),ee.current=null};return ee.current!==null&&(document.addEventListener("pointermove",ie),document.addEventListener("pointerup",ye,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",ie),document.removeEventListener("pointerup",ye,{capture:!0})}}},[_,$,ee]),h.useEffect(()=>{const J=()=>$(!1);return window.addEventListener("blur",J),window.addEventListener("resize",J),()=>{window.removeEventListener("blur",J),window.removeEventListener("resize",J)}},[$]);const[me,U]=xI(J=>{const ie=G().filter(He=>!He.disabled),ye=ie.find(He=>He.ref.current===document.activeElement),Ee=yI(ie,J,ye);Ee&&setTimeout(()=>Ee.ref.current.focus())}),F=h.useCallback((J,ie,ye)=>{const Ee=!V.current&&!ye;(j.value!==void 0&&j.value===ie||Ee)&&(k(J),Ee&&(V.current=!0))},[j.value]),H=h.useCallback(()=>_==null?void 0:_.focus(),[_]),W=h.useCallback((J,ie,ye)=>{const Ee=!V.current&&!ye;(j.value!==void 0&&j.value===ie||Ee)&&L(J)},[j.value]),Q=r==="popper"?Pb:tI,le=Q===Pb?{side:u,sideOffset:f,align:m,alignOffset:x,arrowPadding:g,collisionBoundary:y,collisionPadding:v,sticky:S,hideWhenDetached:b,avoidCollisions:E}:{};return a.jsx(J5,{scope:n,content:_,viewport:O,onViewportChange:A,itemRefCallback:F,selectedItem:M,onItemLeave:H,itemTextRefCallback:W,focusSelectedItem:K,selectedItemText:z,position:r,isPositioned:B,searchRef:me,children:a.jsx(Rh,{as:Vne,allowPinchZoom:!0,children:a.jsx(wh,{asChild:!0,trapped:j.open,onMountAutoFocus:J=>{J.preventDefault()},onUnmountAutoFocus:Me(s,J=>{var ie;(ie=j.trigger)==null||ie.focus({preventScroll:!0}),J.preventDefault()}),children:a.jsx(Dc,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:i,onPointerDownOutside:c,onFocusOutside:J=>J.preventDefault(),onDismiss:()=>j.onOpenChange(!1),children:a.jsx(Q,{role:"listbox",id:j.contentId,"data-state":j.open?"open":"closed",dir:j.dir,onContextMenu:J=>J.preventDefault(),...R,...le,onPlaced:()=>q(!0),ref:T,style:{display:"flex",flexDirection:"column",outline:"none",...R.style},onKeyDown:Me(R.onKeyDown,J=>{const ie=J.ctrlKey||J.altKey||J.metaKey;if(J.key==="Tab"&&J.preventDefault(),!ie&&J.key.length===1&&U(J.key),["ArrowUp","ArrowDown","Home","End"].includes(J.key)){let Ee=G().filter(He=>!He.disabled).map(He=>He.ref.current);if(["ArrowUp","End"].includes(J.key)&&(Ee=Ee.slice().reverse()),["ArrowUp","ArrowDown"].includes(J.key)){const He=J.target,Re=Ee.indexOf(He);Ee=Ee.slice(Re+1)}setTimeout(()=>I(Ee)),J.preventDefault()}})})})})})})});eI.displayName=Hne;var $ne="SelectItemAlignedPosition",tI=h.forwardRef((e,t)=>{const{__scopeSelect:n,onPlaced:r,...s}=e,i=Il(Cc,n),c=Ml(Cc,n),[u,f]=h.useState(null),[m,x]=h.useState(null),g=vt(t,T=>x(T)),y=$x(n),v=h.useRef(!1),S=h.useRef(!0),{viewport:b,selectedItem:E,selectedItemText:R,focusSelectedItem:j}=c,_=h.useCallback(()=>{if(i.trigger&&i.valueNode&&u&&m&&b&&E&&R){const T=i.trigger.getBoundingClientRect(),M=m.getBoundingClientRect(),k=i.valueNode.getBoundingClientRect(),z=R.getBoundingClientRect();if(i.dir!=="rtl"){const He=z.left-M.left,Re=k.left-He,Ke=T.left-Re,nt=T.width+Ke,Gt=Math.max(nt,M.width),Ft=window.innerWidth-Ds,On=W_(Re,[Ds,Math.max(Ds,Ft-Gt)]);u.style.minWidth=nt+"px",u.style.left=On+"px"}else{const He=M.right-z.right,Re=window.innerWidth-k.right-He,Ke=window.innerWidth-T.right-Re,nt=T.width+Ke,Gt=Math.max(nt,M.width),Ft=window.innerWidth-Ds,On=W_(Re,[Ds,Math.max(Ds,Ft-Gt)]);u.style.minWidth=nt+"px",u.style.right=On+"px"}const L=y(),G=window.innerHeight-Ds*2,B=b.scrollHeight,q=window.getComputedStyle(m),V=parseInt(q.borderTopWidth,10),I=parseInt(q.paddingTop,10),K=parseInt(q.borderBottomWidth,10),$=parseInt(q.paddingBottom,10),ee=V+I+B+$+K,me=Math.min(E.offsetHeight*5,ee),U=window.getComputedStyle(b),F=parseInt(U.paddingTop,10),H=parseInt(U.paddingBottom,10),W=T.top+T.height/2-Ds,Q=G-W,le=E.offsetHeight/2,J=E.offsetTop+le,ie=V+I+J,ye=ee-ie;if(ie<=W){const He=L.length>0&&E===L[L.length-1].ref.current;u.style.bottom="0px";const Re=m.clientHeight-b.offsetTop-b.offsetHeight,Ke=Math.max(Q,le+(He?H:0)+Re+K),nt=ie+Ke;u.style.height=nt+"px"}else{const He=L.length>0&&E===L[0].ref.current;u.style.top="0px";const Ke=Math.max(W,V+b.offsetTop+(He?F:0)+le)+ye;u.style.height=Ke+"px",b.scrollTop=ie-W+b.offsetTop}u.style.margin=`${Ds}px 0`,u.style.minHeight=me+"px",u.style.maxHeight=G+"px",r==null||r(),requestAnimationFrame(()=>v.current=!0)}},[y,i.trigger,i.valueNode,u,m,b,E,R,i.dir,r]);Br(()=>_(),[_]);const[D,O]=h.useState();Br(()=>{m&&O(window.getComputedStyle(m).zIndex)},[m]);const A=h.useCallback(T=>{T&&S.current===!0&&(_(),j==null||j(),S.current=!1)},[_,j]);return a.jsx(Gne,{scope:n,contentWrapper:u,shouldExpandOnScrollRef:v,onScrollButtonChange:A,children:a.jsx("div",{ref:f,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:D},children:a.jsx(et.div,{...s,ref:g,style:{boxSizing:"border-box",maxHeight:"100%",...s.style}})})})});tI.displayName=$ne;var Bne="SelectPopperPosition",Pb=h.forwardRef((e,t)=>{const{__scopeSelect:n,align:r="start",collisionPadding:s=Ds,...i}=e,c=Bx(n);return a.jsx(Th,{...c,...i,ref:t,align:r,collisionPadding:s,style:{boxSizing:"border-box",...i.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});Pb.displayName=Bne;var[Gne,q2]=wd(Cc,{}),Ub="SelectViewport",nI=h.forwardRef((e,t)=>{const{__scopeSelect:n,nonce:r,...s}=e,i=Ml(Ub,n),c=q2(Ub,n),u=vt(t,i.onViewportChange),f=h.useRef(0);return a.jsxs(a.Fragment,{children:[a.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:r}),a.jsx(Vx.Slot,{scope:n,children:a.jsx(et.div,{"data-radix-select-viewport":"",role:"presentation",...s,ref:u,style:{position:"relative",flex:1,overflow:"hidden auto",...s.style},onScroll:Me(s.onScroll,m=>{const x=m.currentTarget,{contentWrapper:g,shouldExpandOnScrollRef:y}=c;if(y!=null&&y.current&&g){const v=Math.abs(f.current-x.scrollTop);if(v>0){const S=window.innerHeight-Ds*2,b=parseFloat(g.style.minHeight),E=parseFloat(g.style.height),R=Math.max(b,E);if(R<S){const j=R+v,_=Math.min(S,j),D=j-_;g.style.height=_+"px",g.style.bottom==="0px"&&(x.scrollTop=D>0?D:0,g.style.justifyContent="flex-end")}}}f.current=x.scrollTop})})})]})});nI.displayName=Ub;var rI="SelectGroup",[qne,Kne]=wd(rI),aI=h.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,s=er();return a.jsx(qne,{scope:n,id:s,children:a.jsx(et.div,{role:"group","aria-labelledby":s,...r,ref:t})})});aI.displayName=rI;var sI="SelectLabel",Wne=h.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,s=Kne(sI,n);return a.jsx(et.div,{id:s.id,...r,ref:t})});Wne.displayName=sI;var kg="SelectItem",[Yne,oI]=wd(kg),iI=h.forwardRef((e,t)=>{const{__scopeSelect:n,value:r,disabled:s=!1,textValue:i,...c}=e,u=Il(kg,n),f=Ml(kg,n),m=u.value===r,[x,g]=h.useState(i??""),[y,v]=h.useState(!1),S=vt(t,j=>{var _;return(_=f.itemRefCallback)==null?void 0:_.call(f,j,r,s)}),b=er(),E=h.useRef("touch"),R=()=>{s||(u.onValueChange(r),u.onOpenChange(!1))};if(r==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return a.jsx(Yne,{scope:n,value:r,disabled:s,textId:b,isSelected:m,onItemTextChange:h.useCallback(j=>{g(_=>_||((j==null?void 0:j.textContent)??"").trim())},[]),children:a.jsx(Vx.ItemSlot,{scope:n,value:r,disabled:s,textValue:x,children:a.jsx(et.div,{role:"option","aria-labelledby":b,"data-highlighted":y?"":void 0,"aria-selected":m&&y,"data-state":m?"checked":"unchecked","aria-disabled":s||void 0,"data-disabled":s?"":void 0,tabIndex:s?void 0:-1,...c,ref:S,onFocus:Me(c.onFocus,()=>v(!0)),onBlur:Me(c.onBlur,()=>v(!1)),onClick:Me(c.onClick,()=>{E.current!=="mouse"&&R()}),onPointerUp:Me(c.onPointerUp,()=>{E.current==="mouse"&&R()}),onPointerDown:Me(c.onPointerDown,j=>{E.current=j.pointerType}),onPointerMove:Me(c.onPointerMove,j=>{var _;E.current=j.pointerType,s?(_=f.onItemLeave)==null||_.call(f):E.current==="mouse"&&j.currentTarget.focus({preventScroll:!0})}),onPointerLeave:Me(c.onPointerLeave,j=>{var _;j.currentTarget===document.activeElement&&((_=f.onItemLeave)==null||_.call(f))}),onKeyDown:Me(c.onKeyDown,j=>{var D;((D=f.searchRef)==null?void 0:D.current)!==""&&j.key===" "||(Mne.includes(j.key)&&R(),j.key===" "&&j.preventDefault())})})})})});iI.displayName=kg;var Uf="SelectItemText",lI=h.forwardRef((e,t)=>{const{__scopeSelect:n,className:r,style:s,...i}=e,c=Il(Uf,n),u=Ml(Uf,n),f=oI(Uf,n),m=Une(Uf,n),[x,g]=h.useState(null),y=vt(t,R=>g(R),f.onItemTextChange,R=>{var j;return(j=u.itemTextRefCallback)==null?void 0:j.call(u,R,f.value,f.disabled)}),v=x==null?void 0:x.textContent,S=h.useMemo(()=>a.jsx("option",{value:f.value,disabled:f.disabled,children:v},f.value),[f.disabled,f.value,v]),{onNativeOptionAdd:b,onNativeOptionRemove:E}=m;return Br(()=>(b(S),()=>E(S)),[b,E,S]),a.jsxs(a.Fragment,{children:[a.jsx(et.span,{id:f.textId,...i,ref:y}),f.isSelected&&c.valueNode&&!c.valueNodeHasChildren?Us.createPortal(i.children,c.valueNode):null]})});lI.displayName=Uf;var cI="SelectItemIndicator",uI=h.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e;return oI(cI,n).isSelected?a.jsx(et.span,{"aria-hidden":!0,...r,ref:t}):null});uI.displayName=cI;var zb="SelectScrollUpButton",dI=h.forwardRef((e,t)=>{const n=Ml(zb,e.__scopeSelect),r=q2(zb,e.__scopeSelect),[s,i]=h.useState(!1),c=vt(t,r.onScrollButtonChange);return Br(()=>{if(n.viewport&&n.isPositioned){let u=function(){const m=f.scrollTop>0;i(m)};const f=n.viewport;return u(),f.addEventListener("scroll",u),()=>f.removeEventListener("scroll",u)}},[n.viewport,n.isPositioned]),s?a.jsx(hI,{...e,ref:c,onAutoScroll:()=>{const{viewport:u,selectedItem:f}=n;u&&f&&(u.scrollTop=u.scrollTop-f.offsetHeight)}}):null});dI.displayName=zb;var Fb="SelectScrollDownButton",fI=h.forwardRef((e,t)=>{const n=Ml(Fb,e.__scopeSelect),r=q2(Fb,e.__scopeSelect),[s,i]=h.useState(!1),c=vt(t,r.onScrollButtonChange);return Br(()=>{if(n.viewport&&n.isPositioned){let u=function(){const m=f.scrollHeight-f.clientHeight,x=Math.ceil(f.scrollTop)<m;i(x)};const f=n.viewport;return u(),f.addEventListener("scroll",u),()=>f.removeEventListener("scroll",u)}},[n.viewport,n.isPositioned]),s?a.jsx(hI,{...e,ref:c,onAutoScroll:()=>{const{viewport:u,selectedItem:f}=n;u&&f&&(u.scrollTop=u.scrollTop+f.offsetHeight)}}):null});fI.displayName=Fb;var hI=h.forwardRef((e,t)=>{const{__scopeSelect:n,onAutoScroll:r,...s}=e,i=Ml("SelectScrollButton",n),c=h.useRef(null),u=$x(n),f=h.useCallback(()=>{c.current!==null&&(window.clearInterval(c.current),c.current=null)},[]);return h.useEffect(()=>()=>f(),[f]),Br(()=>{var x;const m=u().find(g=>g.ref.current===document.activeElement);(x=m==null?void 0:m.ref.current)==null||x.scrollIntoView({block:"nearest"})},[u]),a.jsx(et.div,{"aria-hidden":!0,...s,ref:t,style:{flexShrink:0,...s.style},onPointerDown:Me(s.onPointerDown,()=>{c.current===null&&(c.current=window.setInterval(r,50))}),onPointerMove:Me(s.onPointerMove,()=>{var m;(m=i.onItemLeave)==null||m.call(i),c.current===null&&(c.current=window.setInterval(r,50))}),onPointerLeave:Me(s.onPointerLeave,()=>{f()})})}),Zne="SelectSeparator",mI=h.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e;return a.jsx(et.div,{"aria-hidden":!0,...r,ref:t})});mI.displayName=Zne;var Hb="SelectArrow",Xne=h.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,s=Bx(n),i=Il(Hb,n),c=Ml(Hb,n);return i.open&&c.position==="popper"?a.jsx(_h,{...s,...r,ref:t}):null});Xne.displayName=Hb;var Qne="SelectBubbleInput",pI=h.forwardRef(({__scopeSelect:e,value:t,...n},r)=>{const s=h.useRef(null),i=vt(r,s),c=G2(t);return h.useEffect(()=>{const u=s.current;if(!u)return;const f=window.HTMLSelectElement.prototype,x=Object.getOwnPropertyDescriptor(f,"value").set;if(c!==t&&x){const g=new Event("change",{bubbles:!0});x.call(u,t),u.dispatchEvent(g)}},[c,t]),a.jsx(et.select,{...n,style:{...n3,...n.style},ref:i,defaultValue:t})});pI.displayName=Qne;function gI(e){return e===""||e===void 0}function xI(e){const t=Vs(e),n=h.useRef(""),r=h.useRef(0),s=h.useCallback(c=>{const u=n.current+c;t(u),(function f(m){n.current=m,window.clearTimeout(r.current),m!==""&&(r.current=window.setTimeout(()=>f(""),1e3))})(u)},[t]),i=h.useCallback(()=>{n.current="",window.clearTimeout(r.current)},[]);return h.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,s,i]}function yI(e,t,n){const s=t.length>1&&Array.from(t).every(m=>m===t[0])?t[0]:t,i=n?e.indexOf(n):-1;let c=Jne(e,Math.max(i,0));s.length===1&&(c=c.filter(m=>m!==n));const f=c.find(m=>m.textValue.toLowerCase().startsWith(s.toLowerCase()));return f!==n?f:void 0}function Jne(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var ere=G5,tre=K5,nre=Y5,rre=Z5,are=X5,sre=Q5,ore=nI,ire=aI,lre=iI,cre=lI,ure=uI,dre=dI,fre=fI,hre=mI;function fa({...e}){return a.jsx(ere,{"data-slot":"select",...e})}function Gx({...e}){return a.jsx(ire,{"data-slot":"select-group",...e})}function ha({...e}){return a.jsx(nre,{"data-slot":"select-value",...e})}function ma({className:e,size:t="default",children:n,...r}){return a.jsxs(tre,{"data-slot":"select-trigger","data-size":t,className:se("border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...r,children:[n,a.jsx(rre,{asChild:!0,children:a.jsx(Es,{className:"size-4 opacity-50"})})]})}function pa({className:e,children:t,position:n="popper",...r}){return a.jsx(are,{children:a.jsxs(sre,{"data-slot":"select-content",className:se("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",n==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:n,...r,children:[a.jsx(mre,{}),a.jsx(ore,{className:se("p-1",n==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"),children:t}),a.jsx(pre,{})]})})}function Gn({className:e,children:t,...n}){return a.jsxs(lre,{"data-slot":"select-item",className:se("focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...n,children:[a.jsx("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:a.jsx(ure,{children:a.jsx(la,{className:"size-4"})})}),a.jsx(cre,{children:t})]})}function vI({className:e,...t}){return a.jsx(hre,{"data-slot":"select-separator",className:se("bg-border pointer-events-none -mx-1 my-1 h-px",e),...t})}function mre({className:e,...t}){return a.jsx(dre,{"data-slot":"select-scroll-up-button",className:se("flex cursor-default items-center justify-center py-1",e),...t,children:a.jsx(Ju,{className:"size-4"})})}function pre({className:e,...t}){return a.jsx(fre,{"data-slot":"select-scroll-down-button",className:se("flex cursor-default items-center justify-center py-1",e),...t,children:a.jsx(Es,{className:"size-4"})})}const gre=en({title:gt().min(1,"Title is required").max(100,"Title must be less than 100 characters"),storageId:gt().min(1,"Storage is required")});function xre(){const{createDataMart:e,isLoading:t,error:n}=Rs();return{handleCreate:h.useCallback(async s=>{try{return await e(s)}catch(i){return console.error(i),null}},[e]),isSubmitting:t,serverError:n}}function yre(e){const{getDataMart:t,deleteDataMart:n,updateDataMartTitle:r,updateDataMartDescription:s,updateDataMartDefinition:i,updateDataMartSchema:c,actualizeDataMartSchema:u,publishDataMart:f,runDataMart:m,cancelDataMartRun:x,getDataMartRuns:g,loadMoreDataMartRuns:y,reset:v,dataMart:S,isLoading:b,error:E,getErrorMessage:R,runs:j}=Rs();return h.useEffect(()=>(e?t(e):v(),()=>{v()}),[e,t,v]),{dataMart:S,isLoading:b,error:E,getErrorMessage:R,deleteDataMart:n,updateDataMartTitle:r,updateDataMartDescription:s,updateDataMartDefinition:i,updateDataMartSchema:c,actualizeDataMartSchema:u,publishDataMart:f,runDataMart:m,cancelDataMartRun:x,getDataMartRuns:g,loadMoreDataMartRuns:y,runs:j,getDataMart:t}}const Y_=(e,t,n)=>{if(e&&"reportValidity"in e){const r=Pe(n,t);e.setCustomValidity(r&&r.message||""),e.reportValidity()}},Vb=(e,t)=>{for(const n in t.fields){const r=t.fields[n];r&&r.ref&&"reportValidity"in r.ref?Y_(r.ref,n,e):r&&r.refs&&r.refs.forEach(s=>Y_(s,n,e))}},Z_=(e,t)=>{t.shouldUseNativeValidation&&Vb(e,t);const n={};for(const r in e){const s=Pe(t.fields,r),i=Object.assign(e[r]||{},{ref:s&&s.ref});if(vre(t.names||Object.keys(e),r)){const c=Object.assign({},Pe(n,r));Cn(c,"root",i),Cn(n,r,c)}else Cn(n,r,i)}return n},vre=(e,t)=>{const n=X_(t);return e.some(r=>X_(r).match(`^${n}\\.\\d+`))};function X_(e){return e.replace(/\]|\[/g,"")}function bI(e,t,n){function r(u,f){var m;Object.defineProperty(u,"_zod",{value:u._zod??{},enumerable:!1}),(m=u._zod).traits??(m.traits=new Set),u._zod.traits.add(e),t(u,f);for(const x in c.prototype)x in u||Object.defineProperty(u,x,{value:c.prototype[x].bind(u)});u._zod.constr=c,u._zod.def=f}const s=(n==null?void 0:n.Parent)??Object;class i extends s{}Object.defineProperty(i,"name",{value:e});function c(u){var f;const m=n!=null&&n.Parent?new i:this;r(m,u),(f=m._zod).deferred??(f.deferred=[]);for(const x of m._zod.deferred)x();return m}return Object.defineProperty(c,"init",{value:r}),Object.defineProperty(c,Symbol.hasInstance,{value:u=>{var f,m;return n!=null&&n.Parent&&u instanceof n.Parent?!0:(m=(f=u==null?void 0:u._zod)==null?void 0:f.traits)==null?void 0:m.has(e)}}),Object.defineProperty(c,"name",{value:e}),c}class bre extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}}const Sre={};function SI(e){return Sre}function Cre(e,t){return typeof t=="bigint"?t.toString():t}const CI=Error.captureStackTrace?Error.captureStackTrace:(...e)=>{};function Ip(e){return typeof e=="string"?e:e==null?void 0:e.message}function EI(e,t,n){var s,i,c,u,f,m;const r={...e,path:e.path??[]};if(!e.message){const x=Ip((c=(i=(s=e.inst)==null?void 0:s._zod.def)==null?void 0:i.error)==null?void 0:c.call(i,e))??Ip((u=t==null?void 0:t.error)==null?void 0:u.call(t,e))??Ip((f=n.customError)==null?void 0:f.call(n,e))??Ip((m=n.localeError)==null?void 0:m.call(n,e))??"Invalid input";r.message=x}return delete r.inst,delete r.continue,t!=null&&t.reportInput||delete r.input,r}const wI=(e,t)=>{e.name="$ZodError",Object.defineProperty(e,"_zod",{value:e._zod,enumerable:!1}),Object.defineProperty(e,"issues",{value:t,enumerable:!1}),Object.defineProperty(e,"message",{get(){return JSON.stringify(t,Cre,2)},enumerable:!0}),Object.defineProperty(e,"toString",{value:()=>e.message,enumerable:!1})},Ere=bI("$ZodError",wI),RI=bI("$ZodError",wI,{Parent:Error}),wre=e=>(t,n,r,s)=>{const i=r?Object.assign(r,{async:!1}):{async:!1},c=t._zod.run({value:n,issues:[]},i);if(c instanceof Promise)throw new bre;if(c.issues.length){const u=new((s==null?void 0:s.Err)??e)(c.issues.map(f=>EI(f,i,SI())));throw CI(u,s==null?void 0:s.callee),u}return c.value},Rre=wre(RI),jre=e=>async(t,n,r,s)=>{const i=r?Object.assign(r,{async:!0}):{async:!0};let c=t._zod.run({value:n,issues:[]},i);if(c instanceof Promise&&(c=await c),c.issues.length){const u=new((s==null?void 0:s.Err)??e)(c.issues.map(f=>EI(f,i,SI())));throw CI(u,s==null?void 0:s.callee),u}return c.value},Tre=jre(RI);function Q_(e,t){try{var n=e()}catch(r){return t(r)}return n&&n.then?n.then(void 0,t):n}function _re(e,t){for(var n={};e.length;){var r=e[0],s=r.code,i=r.message,c=r.path.join(".");if(!n[c])if("unionErrors"in r){var u=r.unionErrors[0].errors[0];n[c]={message:u.message,type:u.code}}else n[c]={message:i,type:s};if("unionErrors"in r&&r.unionErrors.forEach(function(x){return x.errors.forEach(function(g){return e.push(g)})}),t){var f=n[c].types,m=f&&f[r.code];n[c]=V2(c,t,n,s,m?[].concat(m,r.message):r.message)}e.shift()}return n}function Nre(e,t){for(var n={};e.length;){var r=e[0],s=r.code,i=r.message,c=r.path.join(".");if(!n[c])if(r.code==="invalid_union"&&r.errors.length>0){var u=r.errors[0][0];n[c]={message:u.message,type:u.code}}else n[c]={message:i,type:s};if(r.code==="invalid_union"&&r.errors.forEach(function(x){return x.forEach(function(g){return e.push(g)})}),t){var f=n[c].types,m=f&&f[r.code];n[c]=V2(c,t,n,s,m?[].concat(m,r.message):r.message)}e.shift()}return n}function Ci(e,t,n){if(n===void 0&&(n={}),(function(r){return"_def"in r&&typeof r._def=="object"&&"typeName"in r._def})(e))return function(r,s,i){try{return Promise.resolve(Q_(function(){return Promise.resolve(e[n.mode==="sync"?"parse":"parseAsync"](r,t)).then(function(c){return i.shouldUseNativeValidation&&Vb({},i),{errors:{},values:n.raw?Object.assign({},r):c}})},function(c){if((function(u){return Array.isArray(u==null?void 0:u.issues)})(c))return{values:{},errors:Z_(_re(c.errors,!i.shouldUseNativeValidation&&i.criteriaMode==="all"),i)};throw c}))}catch(c){return Promise.reject(c)}};if((function(r){return"_zod"in r&&typeof r._zod=="object"})(e))return function(r,s,i){try{return Promise.resolve(Q_(function(){return Promise.resolve((n.mode==="sync"?Rre:Tre)(e,r,t)).then(function(c){return i.shouldUseNativeValidation&&Vb({},i),{errors:{},values:n.raw?Object.assign({},r):c}})},function(c){if((function(u){return u instanceof Ere})(c))return{values:{},errors:Z_(Nre(c.issues,!i.shouldUseNativeValidation&&i.criteriaMode==="all"),i)};throw c}))}catch(c){return Promise.reject(c)}};throw new Error("Invalid input: not a Zod schema")}const jI=h.createContext(void 0);function Are(){const e=h.useContext(jI);if(e===void 0)throw new Error("useDataStorageContext must be used within a DataStorageProvider");return e}var on=(e=>(e.FETCH_STORAGES_START="FETCH_STORAGES_START",e.FETCH_STORAGES_SUCCESS="FETCH_STORAGES_SUCCESS",e.FETCH_STORAGES_ERROR="FETCH_STORAGES_ERROR",e.FETCH_STORAGE_START="FETCH_STORAGE_START",e.FETCH_STORAGE_SUCCESS="FETCH_STORAGE_SUCCESS",e.FETCH_STORAGE_ERROR="FETCH_STORAGE_ERROR",e.CLEAR_CURRENT_STORAGE="CLEAR_CURRENT_STORAGE",e.CREATE_STORAGE_START="CREATE_STORAGE_START",e.CREATE_STORAGE_SUCCESS="CREATE_STORAGE_SUCCESS",e.CREATE_STORAGE_ERROR="CREATE_STORAGE_ERROR",e.UPDATE_STORAGE_START="UPDATE_STORAGE_START",e.UPDATE_STORAGE_SUCCESS="UPDATE_STORAGE_SUCCESS",e.UPDATE_STORAGE_ERROR="UPDATE_STORAGE_ERROR",e.DELETE_STORAGE_START="DELETE_STORAGE_START",e.DELETE_STORAGE_SUCCESS="DELETE_STORAGE_SUCCESS",e.DELETE_STORAGE_ERROR="DELETE_STORAGE_ERROR",e.CLEAR_ERROR="CLEAR_ERROR",e))(on||{});const Dre={dataStorages:[],currentDataStorage:null,loading:!1,error:null};function Ore(e,t){switch(t.type){case on.FETCH_STORAGES_START:case on.FETCH_STORAGE_START:case on.CREATE_STORAGE_START:case on.UPDATE_STORAGE_START:return{...e,error:null};case on.DELETE_STORAGE_START:return{...e,loading:!0,error:null};case on.FETCH_STORAGES_SUCCESS:return{...e,dataStorages:t.payload,loading:!1,error:null};case on.FETCH_STORAGE_SUCCESS:return{...e,currentDataStorage:t.payload,loading:!1,error:null};case on.CREATE_STORAGE_SUCCESS:return{...e,dataStorages:[...e.dataStorages,t.payload],loading:!1,error:null};case on.UPDATE_STORAGE_SUCCESS:return{...e,currentDataStorage:t.payload,dataStorages:e.dataStorages.map(n=>n.id===t.payload.id?t.payload:n),loading:!1,error:null};case on.DELETE_STORAGE_SUCCESS:return{...e,dataStorages:e.dataStorages.filter(n=>n.id!==t.payload),loading:!1,error:null};case on.FETCH_STORAGES_ERROR:case on.FETCH_STORAGE_ERROR:case on.CREATE_STORAGE_ERROR:case on.UPDATE_STORAGE_ERROR:case on.DELETE_STORAGE_ERROR:return{...e,loading:!1,error:t.payload};case on.CLEAR_CURRENT_STORAGE:return{...e,currentDataStorage:null};case on.CLEAR_ERROR:return{...e,error:null};default:return e}}function K2({children:e}){const[t,n]=h.useReducer(Ore,Dre);return a.jsx(jI.Provider,{value:{state:t,dispatch:n},children:e})}class Ire extends El{constructor(){super("/data-storages")}async getDataStorages(){return this.get("/")}async getDataStorageById(t){return this.get(`/${t}`)}async createDataStorage(t){return this.post("",t)}async updateDataStorage(t,n){return this.put(`/${t}`,n)}async deleteDataStorage(t){return this.delete(`/${t}`)}}const Nf=new Ire;function qx(){const{state:e,dispatch:t}=Are(),n=h.useCallback(async()=>{t({type:on.FETCH_STORAGES_START});try{const f=await Nf.getDataStorages();t({type:on.FETCH_STORAGES_SUCCESS,payload:f.map(Pte)})}catch(f){throw t({type:on.FETCH_STORAGES_ERROR,payload:mn(f)}),f}},[t]),r=h.useCallback(async f=>{try{const m=await Nf.getDataStorageById(f),x=Qp(m);t({type:on.FETCH_STORAGE_SUCCESS,payload:x})}catch(m){throw t({type:on.FETCH_STORAGE_ERROR,payload:mn(m)}),m}},[t]),s=h.useCallback(async f=>{t({type:on.CREATE_STORAGE_START});try{const m=Ute(f),x=await Nf.createDataStorage(m),g=Qp(x);return t({type:on.CREATE_STORAGE_SUCCESS,payload:g}),De({event:"data_storage_created",category:"DataStorage",action:"Create",label:g.type,details:g.title}),kt.success("Storage created"),g}catch(m){return t({type:on.CREATE_STORAGE_ERROR,payload:mn(m)}),null}},[t]),i=h.useCallback(async(f,m)=>{t({type:on.UPDATE_STORAGE_START});try{const x=Lte(m),g=await Nf.updateDataStorage(f,x),y=Qp(g);return t({type:on.UPDATE_STORAGE_SUCCESS,payload:y}),De({event:"data_storage_updated",category:"DataStorage",action:"Update",label:y.type,context:y.id}),kt.success("Storage updated"),y}catch(x){return t({type:on.UPDATE_STORAGE_ERROR,payload:mn(x)}),null}},[t]),c=h.useCallback(async f=>{t({type:on.DELETE_STORAGE_START});try{await Nf.deleteDataStorage(f),t({type:on.DELETE_STORAGE_SUCCESS,payload:f}),De({event:"data_storage_deleted",category:"DataStorage",action:"Delete",label:f}),kt.success("Storage deleted")}catch(m){throw t({type:on.DELETE_STORAGE_ERROR,payload:mn(m)}),m}},[t]),u=h.useCallback(()=>{t({type:on.CLEAR_CURRENT_STORAGE})},[t]);return{dataStorages:e.dataStorages,currentDataStorage:e.currentDataStorage,loading:e.loading,error:e.error,fetchDataStorages:n,getDataStorageById:r,createDataStorage:s,updateDataStorage:i,deleteDataStorage:c,clearCurrentDataStorage:u}}const TI=({isOpen:e,onClose:t,onSelect:n,isCreatingDataStorage:r})=>{const{trigger:s,isLocked:i}=FZ(n,1e3);return a.jsx(N2,{open:e,onOpenChange:t,children:a.jsxs(A2,{className:"sm:max-w-sm",children:[a.jsxs(D2,{children:[a.jsx(O2,{children:"New Storage"}),a.jsx(I2,{children:"Choose the type of storage you want to create"})]}),a.jsx("div",{className:"flex flex-col gap-4 py-4",children:wl.getAllTypes().map(c=>{const u=c.icon,f=c.status===ni.ACTIVE;return a.jsxs(we,{variant:"outline",className:"flex px-4 py-6 select-none",onClick:()=>{s(c.type)},disabled:!f||r||i,onDoubleClick:m=>{m.preventDefault()},children:[a.jsxs("span",{className:"flex flex-grow items-center gap-2",children:[a.jsx(u,{size:24}),a.jsx("span",{className:"font-medium",children:c.displayName})]}),!f&&a.jsx(Dr,{variant:"secondary",children:"Coming soon"})]},c.type)})})]})})};function Mre({initialData:e,onSuccess:t}){const{handleCreate:n,isSubmitting:r,serverError:s}=xre(),{dataStorages:i,loading:c,fetchDataStorages:u,createDataStorage:f,getDataStorageById:m}=qx(),[x,g]=h.useState(!1),[y,v]=h.useState(!1);h.useEffect(()=>{u()},[u]);const S=Do({resolver:Ci(gre),defaultValues:{title:(e==null?void 0:e.title)??"",storageId:""},mode:"onTouched"}),b=async j=>{const _=await n(j);_&&t&&t(_)},E=()=>{g(!0)},R=async j=>{v(!0);try{const _=await f(j);_!=null&&_.id&&(await m(_.id),S.setValue("storageId",_.id))}catch(_){console.error("Failed to create storage:",_)}g(!1),v(!1)};return a.jsxs(a.Fragment,{children:[a.jsx(Dl,{...S,children:a.jsxs(Si,{onSubmit:j=>{S.handleSubmit(b)(j)},children:[a.jsxs(Ol,{variant:"light",children:[s&&a.jsx("div",{className:"rounded bg-red-100 p-3 text-red-700",children:s.message}),a.jsx(yt,{control:S.control,name:"title",render:({field:j})=>a.jsxs(ht,{children:[a.jsx(ut,{children:"Title"}),a.jsx(mt,{children:a.jsx(dt,{id:"title",placeholder:"Enter title",...j,disabled:r})}),a.jsx(St,{})]})}),a.jsx(yt,{control:S.control,name:"storageId",render:({field:j})=>a.jsxs(ht,{children:[a.jsx(ut,{children:"Storage"}),a.jsx(mt,{children:a.jsxs(fa,{onValueChange:_=>{_==="create_new"?E():j.onChange(_)},value:j.value,disabled:r||c,children:[a.jsx(ma,{className:"w-full",children:a.jsx(ha,{placeholder:"Select a storage"})}),a.jsx(pa,{children:a.jsxs(Gx,{children:[c&&a.jsx(Gn,{value:"loading",disabled:!0,children:"Loading..."}),!c&&i.map(_=>{const D=wl.getInfo(_.type).icon;return a.jsx(Gn,{value:_.id,children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(D,{size:20}),a.jsx("span",{children:_.title})]})},_.id)}),!c&&i.length>0&&a.jsx(vI,{}),a.jsx(Gn,{value:"create_new",children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx("div",{className:"flex h-5 w-5 items-center justify-center",children:a.jsx(ga,{size:20})}),a.jsx("span",{children:"Create new storage"})]})})]})})]})}),a.jsx(St,{})]})})]}),a.jsxs(Uc,{variant:"light",children:[a.jsx(we,{type:"submit",children:"Create Data Mart"}),a.jsx(we,{variant:"outline",type:"button",onClick:()=>{window.history.back()},children:"Go back"})]})]})}),a.jsx(TI,{isOpen:x,onClose:()=>{g(!1)},onSelect:j=>R(j),isCreatingDataStorage:y})]})}function _I({title:e,onUpdate:t,className:n,errorMessage:r="Title cannot be empty",minWidth:s="200px"}){const[i,c]=h.useState(e),[u,f]=h.useState(!1),m=h.useRef(null);h.useEffect(()=>{c(e)},[e]),h.useEffect(()=>{m.current&&(m.current.style.height="auto",m.current.style.height=`${String(m.current.scrollHeight)}px`)},[i]);const x=async()=>{if(i.trim()===""){c(e);return}if(i.trim()!==e)try{f(!0),await t(i.trim())}catch(y){c(e),console.error(y)}finally{f(!1)}},g=y=>{if(y.key==="Enter"&&!y.shiftKey){if(y.preventDefault(),i.trim()===""){kt.error(r),c(e);return}x()}else y.key==="Escape"&&c(e)};return a.jsx("h2",{className:se("m-0 cursor-pointer p-0 hover:opacity-80",n),children:a.jsx(Ao,{ref:m,value:i,onChange:y=>{c(y.target.value);const v=y.target;v.style.height="auto",v.style.height=`${String(v.scrollHeight)}px`},onBlur:()=>void x(),onKeyDown:g,className:se("m-0 w-full border-0 p-0 shadow-none","bg-transparent focus-visible:ring-0 focus-visible:ring-offset-0",{"opacity-50":u}),style:{fontSize:"inherit",fontWeight:"inherit",lineHeight:"inherit",fontFamily:"inherit",color:"inherit",resize:"none",overflow:"hidden",minHeight:"inherit",height:"auto",minWidth:s},disabled:u})})}var ac=(e=>(e.MANUAL_BACKFILL="MANUAL_BACKFILL",e.INCREMENTAL="INCREMENTAL",e))(ac||{}),NI=(e=>(e.MANUAL_BACKFILL="MANUAL_BACKFILL",e.HIDE_IN_CONFIG_FORM="HIDE_IN_CONFIG_FORM",e))(NI||{}),Kx="Tabs",[kre]=Er(Kx,[px]),AI=px(),[Lre,W2]=kre(Kx),DI=h.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,onValueChange:s,defaultValue:i,orientation:c="horizontal",dir:u,activationMode:f="automatic",...m}=e,x=Dh(u),[g,y]=ca({prop:r,onChange:s,defaultProp:i??"",caller:Kx});return a.jsx(Lre,{scope:n,baseId:er(),value:g,onValueChange:y,orientation:c,dir:x,activationMode:f,children:a.jsx(et.div,{dir:x,"data-orientation":c,...m,ref:t})})});DI.displayName=Kx;var OI="TabsList",II=h.forwardRef((e,t)=>{const{__scopeTabs:n,loop:r=!0,...s}=e,i=W2(OI,n),c=AI(n);return a.jsx(v3,{asChild:!0,...c,orientation:i.orientation,dir:i.dir,loop:r,children:a.jsx(et.div,{role:"tablist","aria-orientation":i.orientation,...s,ref:t})})});II.displayName=OI;var MI="TabsTrigger",kI=h.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,disabled:s=!1,...i}=e,c=W2(MI,n),u=AI(n),f=UI(c.baseId,r),m=zI(c.baseId,r),x=r===c.value;return a.jsx(b3,{asChild:!0,...u,focusable:!s,active:x,children:a.jsx(et.button,{type:"button",role:"tab","aria-selected":x,"aria-controls":m,"data-state":x?"active":"inactive","data-disabled":s?"":void 0,disabled:s,id:f,...i,ref:t,onMouseDown:Me(e.onMouseDown,g=>{!s&&g.button===0&&g.ctrlKey===!1?c.onValueChange(r):g.preventDefault()}),onKeyDown:Me(e.onKeyDown,g=>{[" ","Enter"].includes(g.key)&&c.onValueChange(r)}),onFocus:Me(e.onFocus,()=>{const g=c.activationMode!=="manual";!x&&!s&&g&&c.onValueChange(r)})})})});kI.displayName=MI;var LI="TabsContent",PI=h.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,forceMount:s,children:i,...c}=e,u=W2(LI,n),f=UI(u.baseId,r),m=zI(u.baseId,r),x=r===u.value,g=h.useRef(x);return h.useEffect(()=>{const y=requestAnimationFrame(()=>g.current=!1);return()=>cancelAnimationFrame(y)},[]),a.jsx(qr,{present:s||x,children:({present:y})=>a.jsx(et.div,{"data-state":x?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":f,hidden:!y,id:m,tabIndex:0,...c,ref:t,style:{...e.style,animationDuration:g.current?"0s":void 0},children:y&&i})})});PI.displayName=LI;function UI(e,t){return`${e}-trigger-${t}`}function zI(e,t){return`${e}-content-${t}`}var Pre=DI,Ure=II,zre=kI,Fre=PI;function Wx({className:e,...t}){return a.jsx(Pre,{"data-slot":"tabs",className:se("flex flex-col gap-2",e),...t})}function Yx({className:e,...t}){return a.jsx(Ure,{"data-slot":"tabs-list",className:se("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",e),...t})}function Ec({className:e,...t}){return a.jsx(zre,{"data-slot":"tabs-trigger",className:se("data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...t})}function Hre({className:e,...t}){return a.jsx(Fre,{"data-slot":"tabs-content",className:se("flex-1 outline-none",e),...t})}var Zx="Collapsible",[Vre,FI]=Er(Zx),[$re,Y2]=Vre(Zx),HI=h.forwardRef((e,t)=>{const{__scopeCollapsible:n,open:r,defaultOpen:s,disabled:i,onOpenChange:c,...u}=e,[f,m]=ca({prop:r,defaultProp:s??!1,onChange:c,caller:Zx});return a.jsx($re,{scope:n,disabled:i,contentId:er(),open:f,onOpenToggle:h.useCallback(()=>m(x=>!x),[m]),children:a.jsx(et.div,{"data-state":J2(f),"data-disabled":i?"":void 0,...u,ref:t})})});HI.displayName=Zx;var VI="CollapsibleTrigger",Z2=h.forwardRef((e,t)=>{const{__scopeCollapsible:n,...r}=e,s=Y2(VI,n);return a.jsx(et.button,{type:"button","aria-controls":s.contentId,"aria-expanded":s.open||!1,"data-state":J2(s.open),"data-disabled":s.disabled?"":void 0,disabled:s.disabled,...r,ref:t,onClick:Me(e.onClick,s.onOpenToggle)})});Z2.displayName=VI;var X2="CollapsibleContent",Q2=h.forwardRef((e,t)=>{const{forceMount:n,...r}=e,s=Y2(X2,e.__scopeCollapsible);return a.jsx(qr,{present:n||s.open,children:({present:i})=>a.jsx(Bre,{...r,ref:t,present:i})})});Q2.displayName=X2;var Bre=h.forwardRef((e,t)=>{const{__scopeCollapsible:n,present:r,children:s,...i}=e,c=Y2(X2,n),[u,f]=h.useState(r),m=h.useRef(null),x=vt(t,m),g=h.useRef(0),y=g.current,v=h.useRef(0),S=v.current,b=c.open||u,E=h.useRef(b),R=h.useRef(void 0);return h.useEffect(()=>{const j=requestAnimationFrame(()=>E.current=!1);return()=>cancelAnimationFrame(j)},[]),Br(()=>{const j=m.current;if(j){R.current=R.current||{transitionDuration:j.style.transitionDuration,animationName:j.style.animationName},j.style.transitionDuration="0s",j.style.animationName="none";const _=j.getBoundingClientRect();g.current=_.height,v.current=_.width,E.current||(j.style.transitionDuration=R.current.transitionDuration,j.style.animationName=R.current.animationName),f(r)}},[c.open,r]),a.jsx(et.div,{"data-state":J2(c.open),"data-disabled":c.disabled?"":void 0,id:c.contentId,hidden:!b,...i,ref:x,style:{"--radix-collapsible-content-height":y?`${y}px`:void 0,"--radix-collapsible-content-width":S?`${S}px`:void 0,...e.style},children:b&&s})});function J2(e){return e?"open":"closed"}var $I=HI,Gre=Z2,qre=Q2;const Kre=$I,Wre=Z2,Yre=Q2;function Zre({children:e,className:t="",...n}){return a.jsx("div",{className:se("flex flex-1 flex-col overflow-hidden",t),...n,children:e})}function Xre({children:e,className:t="",...n}){return a.jsx("div",{className:se("bg-muted dark:bg-sidebar flex-1 overflow-y-auto p-4",t),...n,children:a.jsx("div",{className:"flex min-h-full flex-col gap-4",children:e})})}function Qre({children:e,className:t="",variant:n="horizontal",...r}){const s=n==="vertical"?"flex flex-col gap-1.5 pt-4":"flex items-center justify-between border-t px-4 py-3";return a.jsx("div",{className:se(s,t),...r,children:e})}function io({children:e,className:t="",...n}){return a.jsx("div",{"data-slot":"wizard-step-item",className:se("group border-border flex flex-col gap-2 rounded-md border-b bg-white px-4 py-3 transition-shadow duration-200 hover:shadow-sm dark:border-transparent dark:bg-white/4",t),...n,children:e})}function Jre({label:e,children:t,className:n="",options:r,value:s,onValueChange:i,required:c=!1,tooltip:u,...f}){return a.jsx("div",{"data-slot":"wizard-step-item-one-of",className:se("group border-border flex flex-col gap-2 rounded-md border-b bg-white px-4 py-3 transition-shadow duration-200 hover:shadow-sm dark:border-transparent dark:bg-white/4",n),...f,children:a.jsxs(Wx,{value:s,onValueChange:i,children:[a.jsxs("div",{className:"flex items-center",children:[a.jsx(aa,{required:c,tooltip:u,className:"w-full",children:e}),r.length>1&&a.jsx(Yx,{children:r.map(m=>a.jsx(Ec,{value:m.value,children:m.label},m.value))})]}),t]})})}function BI({title:e,children:t,defaultOpen:n=!1,className:r=""}){const[s,i]=h.useState(n);return a.jsxs(Kre,{open:s,onOpenChange:i,"data-slot":"wizard-collapsible",className:se("group/collapsible flex flex-col gap-2 py-3",r),children:[a.jsx(Wre,{asChild:!0,children:a.jsxs("button",{type:"button",className:se("flex cursor-pointer items-center gap-1"),children:[a.jsx("span",{className:"text-muted-foreground/75 text-xs font-semibold tracking-wide uppercase",children:e}),a.jsx(Da,{className:se("text-foreground/75 h-3.5 w-3.5 transition-transform duration-200",s&&"rotate-90")})]})}),a.jsx(Yre,{className:"data-[state=open]:animate-collapsible-down data-[state=closed]:animate-collapsible-up overflow-hidden",children:a.jsx("div",{className:"flex flex-col gap-2 pt-2",children:t})})]})}function aa({children:e,required:t=!1,tooltip:n,tooltipProps:r,className:s="",...i}){return a.jsxs(Aa,{"data-slot":"wizard-step-label",className:se("text-foreground flex items-center justify-between gap-2 text-sm font-medium",s),...i,children:[t?a.jsxs(wt,{...r,children:[a.jsx(Rt,{asChild:!0,children:a.jsxs("span",{className:"flex items-center gap-1",children:[e,a.jsx("span",{className:"ml-1 text-red-500",children:"*"})]})}),a.jsx(jt,{side:"top",align:"center",role:"tooltip",children:"Required"})]}):a.jsx("span",{children:e}),n&&a.jsxs(wt,{...r,children:[a.jsx(Rt,{asChild:!0,children:a.jsx("button",{type:"button",tabIndex:-1,className:"pointer-events-none opacity-0 transition group-hover:pointer-events-auto group-hover:opacity-100","aria-label":"Help information",children:a.jsx(Or,{className:"text-muted-foreground/50 hover:text-muted-foreground size-4 shrink-0 transition-colors","aria-hidden":"true"})})}),a.jsx(jt,{side:"top",align:"center",role:"tooltip",children:n})]})]})}function ri({title:e,children:t,className:n="",...r}){return a.jsxs("section",{"data-slot":"wizard-step-section",className:se("mb-8",n),...r,children:[e&&a.jsx("h3",{className:"text-muted-foreground/75 mb-2 text-xs font-semibold tracking-wide uppercase",children:e}),a.jsx("div",{className:"flex flex-col gap-2",children:t})]})}function go({icon:e,title:t,subtitle:n,docUrl:r,variant:s="default",className:i,...c}){return s==="compact"?a.jsxs("div",{"data-slot":"wizard-step-hero",className:se("border-border mb-6 flex items-center justify-between gap-4 border-b pb-4",i),...c,children:[a.jsxs("div",{className:"flex items-center gap-2",children:[e&&a.jsx("div",{children:e}),a.jsx("h2",{className:"text-md font-medium",children:t})]}),r!=null&&a.jsx(we,{variant:"outline",asChild:!0,children:a.jsxs(Xr,{to:r,target:"_blank",rel:"noopener noreferrer",children:["Documentation",a.jsx(ci,{className:"h-4 w-4"})]})})]}):a.jsxs("div",{"data-slot":"wizard-step-hero",className:se("mb-6 flex flex-col items-center justify-center text-center",i),...c,children:[e&&a.jsx("div",{className:"mt-6 mb-3",children:e}),a.jsx("h2",{className:"text-xl font-medium",children:t}),n&&a.jsx("p",{className:"text-muted-foreground mt-2 text-sm",children:n}),r!=null&&a.jsx(we,{variant:"outline",className:"mt-3 mb-6",asChild:!0,children:a.jsxs(Xr,{to:r,target:"_blank",rel:"noopener noreferrer",children:["Documentation",a.jsx(ci,{className:"h-4 w-4"})]})})]})}function ii({children:e,className:t="",...n}){return a.jsx("div",{"data-slot":"wizard-step",className:se("space-y-4",t),...n,children:e})}function eae({children:e,className:t="",...n}){return a.jsx("div",{className:se("grid grid-cols-1 gap-4 md:grid-cols-2",t),...n,children:e})}function tae({icon:e,title:t,selected:n=!1,disabled:r=!1,onClick:s,onDoubleClick:i,className:c="",...u}){return a.jsxs("div",{className:se("border-border flex items-center gap-4 rounded-md border-b bg-white px-4 py-3 transition-shadow duration-200 select-none hover:shadow-sm dark:border-transparent dark:bg-white/4",r?"cursor-not-allowed opacity-50 hover:shadow-none":"cursor-pointer hover:shadow-sm dark:hover:bg-white/8",n&&!r?"ring-primary border-transparent ring-2 dark:bg-white/8":"",c),onClick:s,onDoubleClick:i,...u,children:[e&&a.jsx("span",{className:"shrink-0",children:e}),r?a.jsxs(wt,{children:[a.jsx(Rt,{asChild:!0,children:a.jsx("span",{className:"cursor-not-allowed text-sm font-medium opacity-70",children:t})}),a.jsx(jt,{side:"top",align:"center",children:"Coming soon"})]}):a.jsx("span",{className:"text-sm font-medium",children:t})]})}function GI({children:e,className:t="",...n}){return a.jsx("div",{className:se("flex flex-col gap-0.5 rounded-md border-b bg-white p-2 transition-shadow duration-200 select-none hover:shadow-sm dark:bg-white/4",t),...n,children:e})}function qI({type:e,id:t,name:n,value:r,label:s,checked:i,selected:c=!1,disabled:u=!1,tooltip:f,rightIcon:m,onChange:x,className:g="",...y}){const v=b=>{x&&x(e==="checkbox"?b.target.checked:b.target.value)},S=h.useRef(null);return a.jsxs("div",{"data-slot":"wizard-step-card-item",onClick:b=>{if(u)return;const E=b.target;E.tagName==="INPUT"||E.tagName==="LABEL"||E.closest("label")||S.current&&S.current.click()},className:se("group flex items-center gap-2 rounded-sm px-4 py-3 transition-shadow duration-200 select-none",u?"cursor-not-allowed":"hover:bg-accent cursor-pointer dark:hover:bg-white/4",c?"bg-primary/8 hover:bg-primary/8 dark:bg-white/8 dark:hover:bg-white/8":"",g),children:[a.jsx("input",{ref:S,id:t,type:e,name:n,value:r,checked:i,disabled:u,onChange:v,className:se("text-primary focus:ring-primary border-border cursor-pointer",e==="radio"||e==="checkbox"?"accent-primary dark:accent-primary h-4 w-4":"h-8 w-full rounded-md border px-2"),...y}),s&&a.jsx(aa,{htmlFor:t,className:se("cursor-pointer",u&&"cursor-not-allowed"),children:s}),(f||m)&&a.jsxs("div",{className:"ml-auto flex shrink-0 items-center gap-2",children:[f&&a.jsxs(wt,{children:[a.jsx(Rt,{asChild:!0,children:a.jsx(Or,{className:"text-muted-foreground/75 pointer-events-none h-4 w-4 opacity-0 group-hover:pointer-events-auto group-hover:opacity-100","data-tooltip-trigger":!0})}),a.jsx(jt,{side:"top",align:"center",children:f})]}),m&&a.jsx("div",{className:"flex items-center",children:m})]})]})}function eC({variant:e="grid",items:t,className:n=""}){const r=t??(e==="grid"?12:6),s=e==="grid"?"grid grid-cols-1 gap-4 md:grid-cols-2":"flex flex-col gap-4";return a.jsx("div",{"data-slot":"wizard-step-loading",className:se(s,n),children:Array.from({length:r}).map((i,c)=>a.jsx($r,{className:"border-border h-12 rounded-md border-b bg-white dark:bg-white/4"},c))})}function J_(e){const t=nae(e),n=h.forwardRef((r,s)=>{const{children:i,...c}=r,u=h.Children.toArray(i),f=u.find(aae);if(f){const m=f.props.children,x=u.map(g=>g===f?h.Children.count(m)>1?h.Children.only(null):h.isValidElement(m)?m.props.children:null:g);return a.jsx(t,{...c,ref:s,children:h.isValidElement(m)?h.cloneElement(m,void 0,x):null})}return a.jsx(t,{...c,ref:s,children:i})});return n.displayName=`${e}.Slot`,n}function nae(e){const t=h.forwardRef((n,r)=>{const{children:s,...i}=n;if(h.isValidElement(s)){const c=oae(s),u=sae(i,s.props);return s.type!==h.Fragment&&(u.ref=r?Qr(r,c):c),h.cloneElement(s,u)}return h.Children.count(s)>1?h.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var rae=Symbol("radix.slottable");function aae(e){return h.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===rae}function sae(e,t){const n={...t};for(const r in t){const s=e[r],i=t[r];/^on[A-Z]/.test(r)?s&&i?n[r]=(...u)=>{const f=i(...u);return s(...u),f}:s&&(n[r]=s):r==="style"?n[r]={...s,...i}:r==="className"&&(n[r]=[s,i].filter(Boolean).join(" "))}return{...e,...n}}function oae(e){var r,s;let t=(r=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:r.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=(s=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:s.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function iae(e){const t=e+"CollectionProvider",[n,r]=Er(t),[s,i]=n(t,{collectionRef:{current:null},itemMap:new Map}),c=b=>{const{scope:E,children:R}=b,j=ae.useRef(null),_=ae.useRef(new Map).current;return a.jsx(s,{scope:E,itemMap:_,collectionRef:j,children:R})};c.displayName=t;const u=e+"CollectionSlot",f=J_(u),m=ae.forwardRef((b,E)=>{const{scope:R,children:j}=b,_=i(u,R),D=vt(E,_.collectionRef);return a.jsx(f,{ref:D,children:j})});m.displayName=u;const x=e+"CollectionItemSlot",g="data-radix-collection-item",y=J_(x),v=ae.forwardRef((b,E)=>{const{scope:R,children:j,..._}=b,D=ae.useRef(null),O=vt(E,D),A=i(x,R);return ae.useEffect(()=>(A.itemMap.set(D,{ref:D,..._}),()=>void A.itemMap.delete(D))),a.jsx(y,{[g]:"",ref:O,children:j})});v.displayName=x;function S(b){const E=i(e+"CollectionConsumer",b);return ae.useCallback(()=>{const j=E.collectionRef.current;if(!j)return[];const _=Array.from(j.querySelectorAll(`[${g}]`));return Array.from(E.itemMap.values()).sort((A,T)=>_.indexOf(A.ref.current)-_.indexOf(T.ref.current))},[E.collectionRef,E.itemMap])}return[{Provider:c,Slot:m,ItemSlot:v},S,r]}var Xs="Accordion",lae=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[tC,cae,uae]=iae(Xs),[Xx]=Er(Xs,[uae,FI]),nC=FI(),KI=ae.forwardRef((e,t)=>{const{type:n,...r}=e,s=r,i=r;return a.jsx(tC.Provider,{scope:e.__scopeAccordion,children:n==="multiple"?a.jsx(mae,{...i,ref:t}):a.jsx(hae,{...s,ref:t})})});KI.displayName=Xs;var[WI,dae]=Xx(Xs),[YI,fae]=Xx(Xs,{collapsible:!1}),hae=ae.forwardRef((e,t)=>{const{value:n,defaultValue:r,onValueChange:s=()=>{},collapsible:i=!1,...c}=e,[u,f]=ca({prop:n,defaultProp:r??"",onChange:s,caller:Xs});return a.jsx(WI,{scope:e.__scopeAccordion,value:ae.useMemo(()=>u?[u]:[],[u]),onItemOpen:f,onItemClose:ae.useCallback(()=>i&&f(""),[i,f]),children:a.jsx(YI,{scope:e.__scopeAccordion,collapsible:i,children:a.jsx(ZI,{...c,ref:t})})})}),mae=ae.forwardRef((e,t)=>{const{value:n,defaultValue:r,onValueChange:s=()=>{},...i}=e,[c,u]=ca({prop:n,defaultProp:r??[],onChange:s,caller:Xs}),f=ae.useCallback(x=>u((g=[])=>[...g,x]),[u]),m=ae.useCallback(x=>u((g=[])=>g.filter(y=>y!==x)),[u]);return a.jsx(WI,{scope:e.__scopeAccordion,value:c,onItemOpen:f,onItemClose:m,children:a.jsx(YI,{scope:e.__scopeAccordion,collapsible:!0,children:a.jsx(ZI,{...i,ref:t})})})}),[pae,Qx]=Xx(Xs),ZI=ae.forwardRef((e,t)=>{const{__scopeAccordion:n,disabled:r,dir:s,orientation:i="vertical",...c}=e,u=ae.useRef(null),f=vt(u,t),m=cae(n),g=Dh(s)==="ltr",y=Me(e.onKeyDown,v=>{var M;if(!lae.includes(v.key))return;const S=v.target,b=m().filter(k=>{var z;return!((z=k.ref.current)!=null&&z.disabled)}),E=b.findIndex(k=>k.ref.current===S),R=b.length;if(E===-1)return;v.preventDefault();let j=E;const _=0,D=R-1,O=()=>{j=E+1,j>D&&(j=_)},A=()=>{j=E-1,j<_&&(j=D)};switch(v.key){case"Home":j=_;break;case"End":j=D;break;case"ArrowRight":i==="horizontal"&&(g?O():A());break;case"ArrowDown":i==="vertical"&&O();break;case"ArrowLeft":i==="horizontal"&&(g?A():O());break;case"ArrowUp":i==="vertical"&&A();break}const T=j%R;(M=b[T].ref.current)==null||M.focus()});return a.jsx(pae,{scope:n,disabled:r,direction:s,orientation:i,children:a.jsx(tC.Slot,{scope:n,children:a.jsx(et.div,{...c,"data-orientation":i,ref:f,onKeyDown:r?void 0:y})})})}),Lg="AccordionItem",[gae,rC]=Xx(Lg),XI=ae.forwardRef((e,t)=>{const{__scopeAccordion:n,value:r,...s}=e,i=Qx(Lg,n),c=dae(Lg,n),u=nC(n),f=er(),m=r&&c.value.includes(r)||!1,x=i.disabled||e.disabled;return a.jsx(gae,{scope:n,open:m,disabled:x,triggerId:f,children:a.jsx($I,{"data-orientation":i.orientation,"data-state":r6(m),...u,...s,ref:t,disabled:x,open:m,onOpenChange:g=>{g?c.onItemOpen(r):c.onItemClose(r)}})})});XI.displayName=Lg;var QI="AccordionHeader",JI=ae.forwardRef((e,t)=>{const{__scopeAccordion:n,...r}=e,s=Qx(Xs,n),i=rC(QI,n);return a.jsx(et.h3,{"data-orientation":s.orientation,"data-state":r6(i.open),"data-disabled":i.disabled?"":void 0,...r,ref:t})});JI.displayName=QI;var $b="AccordionTrigger",e6=ae.forwardRef((e,t)=>{const{__scopeAccordion:n,...r}=e,s=Qx(Xs,n),i=rC($b,n),c=fae($b,n),u=nC(n);return a.jsx(tC.ItemSlot,{scope:n,children:a.jsx(Gre,{"aria-disabled":i.open&&!c.collapsible||void 0,"data-orientation":s.orientation,id:i.triggerId,...u,...r,ref:t})})});e6.displayName=$b;var t6="AccordionContent",n6=ae.forwardRef((e,t)=>{const{__scopeAccordion:n,...r}=e,s=Qx(Xs,n),i=rC(t6,n),c=nC(n);return a.jsx(qre,{role:"region","aria-labelledby":i.triggerId,"data-orientation":s.orientation,...c,...r,ref:t,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...e.style}})});n6.displayName=t6;function r6(e){return e?"open":"closed"}var xae=KI,yae=XI,vae=JI,bae=e6,Sae=n6;const aC={default:{itemClass:"border-b last:border-b-0",triggerClass:"focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",icon:null,chevronClass:"text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200",contentClass:"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm",contentInnerClass:"pt-0 pb-4",headerClass:"flex"},common:{itemClass:"overflow-hidden",triggerClass:"group focus-visible:ring-primary hover:bg-muted [&[data-state=open]]:bg-muted flex items-center gap-1 rounded-sm px-2 py-1 transition-all outline-none focus-visible:ring-2 [&[data-state=open]]:rounded-br-none [&[data-state=open]]:rounded-bl-none [&[data-state=open]]:font-semibold",icon:a.jsx(zA,{className:"size-4 shrink-0","aria-hidden":"true"}),chevronClass:"size-3.5 shrink-0 transition-transform duration-200 group-data-[state=open]:rotate-180",contentClass:"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down bg-muted overflow-hidden rounded-sm rounded-tl-none py-0 pr-2 pl-7 text-sm",contentInnerClass:"pt-2 pb-4",headerClass:void 0}},a6=h.createContext("default");function Bt({variant:e="default",...t}){return a.jsx(a6.Provider,{value:e,children:a.jsx(xae,{"data-slot":"accordion",...t})})}function sC(e){const t=h.useContext(a6);return e??t??"default"}function _t({className:e,variant:t,...n}){const r=sC(t),{itemClass:s}=aC[r];return a.jsx(yae,{"data-slot":"accordion-item",className:se(s,e),...n})}function Nt({className:e,children:t,variant:n,...r}){const s=sC(n),{triggerClass:i,icon:c,chevronClass:u,headerClass:f}=aC[s];return a.jsx(vae,{className:f,children:a.jsxs(bae,{"data-slot":"accordion-trigger",className:se(i,e),...r,children:[c,t,a.jsx(Es,{className:u,"aria-hidden":"true"})]})})}function At({className:e,children:t,variant:n,...r}){const s=sC(n),{contentClass:i,contentInnerClass:c}=aC[s];return a.jsx(Sae,{"data-slot":"accordion-content",className:se(i,e),...r,children:a.jsx("div",{className:c,children:t})})}function $t({href:e,children:t,className:n,...r}){return a.jsxs("a",{href:e,target:"_blank",rel:"noopener noreferrer",className:se("text-muted-foreground hover:bg-muted inline-flex items-center px-1 font-medium hover:rounded-md",n),...r,children:[t,a.jsx(ci,{className:"ml-1 inline h-3 w-3","aria-hidden":"true"})]})}function eN(){return a.jsx(Bt,{variant:"common",type:"single",collapsible:!0,children:a.jsxs(_t,{value:"connector-state-details",children:[a.jsx(Nt,{children:"What’s connector state?"}),a.jsxs(At,{children:[a.jsx("p",{className:"mb-2",children:"The connector state stores internal data between runs and updates automatically with each execution. It’s used to track progress and ensure consistent data processing across runs."}),a.jsx("p",{className:"mb-2",children:"Connector state is available only for connectors that support incremental runs, helping add only new or updated records since the last run without reloading existing data."}),a.jsxs("p",{className:"mb-2",children:["For more details, see the"," ",a.jsx($t,{className:"underline",href:"https://docs.owox.com/?utm_source=owox_data_marts&utm_medium=manual_run_sheet&utm_campaign=tooltip_connector_state",children:"OWOX documentation"}),"."]})]})]})})}function Cae({configuration:e,connectorState:t}){const r=((e==null?void 0:e.connector.source.configuration)??[]).map((u,f)=>{const m=u;return typeof m._id=="string"?{id:m._id,index:f}:void 0}).filter(u=>!!u),s=(t==null?void 0:t.states)??[],i=new Map(s.map(u=>[u._id,u])),c=r.map(({id:u,index:f})=>{const m=i.get(u);return m?{state:m,index:f}:void 0}).filter(u=>!!u);return a.jsx(BI,{title:"State Info",children:c.length===0?a.jsxs(ht,{children:[a.jsx(ut,{children:"Connector state"}),a.jsx(mt,{children:a.jsx("div",{className:"bg-muted min-h-[70px] cursor-not-allowed overflow-auto rounded-md px-3 py-2 font-mono text-sm whitespace-pre-wrap opacity-70",children:"No state available"})}),a.jsx(Jt,{children:a.jsx(eN,{})})]}):a.jsx(a.Fragment,{children:c.map(({state:u,index:f})=>{const m=u.at||"",x=m?Ox(MO(m).toISOString()):"—",g=u.state,y=(()=>{try{return JSON.stringify(g,null,2)}catch{return typeof g=="string"?g:'"—"'}})();return a.jsxs(ht,{children:[a.jsx(ut,{tooltip:`Created at ${x}`,children:`Connector state of configuration #${String(f+1)}`}),a.jsx(mt,{children:a.jsx(FD,{value:y,displayOnly:!0,className:"bg-muted overflow-auto rounded-md text-sm",minHeightClass:"min-h-0",showCopyButton:!0})}),a.jsx(Jt,{children:a.jsx(eN,{})})]},u._id)})})})}function Eae({configuration:e,onClose:t,onSubmit:n}){const[r,s]=h.useState(new Set),i=h.useId(),c=Do({defaultValues:{runType:ac.INCREMENTAL}}),{loading:u,loadingSpecification:f,connectorSpecification:m,fetchConnectorSpecification:x}=Pc(),{dataMart:g}=Rs(),y=h.useCallback(async E=>{!r.has(E)&&!f&&(s(R=>new Set(R).add(E)),await x(E))},[r,f,x]);h.useEffect(()=>{e!=null&&e.connector.source.name&&y(e.connector.source.name)},[e,u,y]);const v=E=>{n&&n(E)},S=()=>{t&&t()},b=E=>{if(!E)return"text";switch(E){case Ms.DATE:return"date";case Ms.NUMBER:return"number";default:return"text"}};return f?a.jsx("div",{children:"Loading..."}):m?a.jsx(Dl,{...c,children:a.jsxs(Si,{id:i,noValidate:!0,onSubmit:E=>void c.handleSubmit(v)(E),children:[a.jsxs(Ol,{children:[a.jsxs(Mr,{title:"General",children:[a.jsx(yt,{control:c.control,name:"runType",render:({field:E})=>a.jsxs(ht,{children:[a.jsx(ut,{tooltip:"Select how you want to load data: incremental updates or full backfill for a period",children:"Run type"}),a.jsx(mt,{children:a.jsxs(a.Fragment,{children:[a.jsx(jne,{options:[{value:ac.INCREMENTAL,label:"Incremental load"},{value:ac.MANUAL_BACKFILL,label:"Backfill (custom period)"}],value:E.value,onChange:E.onChange,orientation:"horizontal"}),a.jsx(Jt,{children:c.watch("runType")===ac.MANUAL_BACKFILL?"Reloads all data for a specific time range from the source, replacing existing records for that period. Use when you need to correct or update historical data.":"Adds only new or updated records since the last run, using the current state of your Data Mart as a reference. Ideal for keeping data fresh without reloading what`s already there."})]})})]})}),c.watch("runType")===ac.INCREMENTAL&&a.jsx(Cae,{configuration:e,connectorState:(g==null?void 0:g.connectorState)??null})]}),c.watch("runType")===ac.MANUAL_BACKFILL&&a.jsx(Mr,{title:"Run configuration",children:m.filter(E=>{var R;return(R=E.attributes)==null?void 0:R.includes(NI.MANUAL_BACKFILL)}).map(E=>a.jsx(yt,{control:c.control,name:`data.${E.name}`,render:()=>a.jsxs(ht,{children:[a.jsx(ut,{tooltip:E.description,children:E.title??E.name}),a.jsx(mt,{children:a.jsx(dt,{id:E.name,placeholder:E.description,type:b(E.requiredType),defaultValue:typeof E.default=="string"||typeof E.default=="number"?E.default.toString():void 0,...c.register(`data.${E.name}`,{required:!0})})}),a.jsx(St,{})]},E.name)}))})]}),a.jsxs(Uc,{children:[a.jsx(we,{type:"submit",disabled:!c.formState.isValid||f,children:"Run"}),a.jsx(we,{type:"button",variant:"outline",onClick:S,children:"Cancel"})]})]})}):a.jsx("div",{children:"No connector specification found"})}function kl(e,t){h.useEffect(()=>(e?GZ(0,600):jb(),()=>{jb()}),[e,0,600])}function wae({isOpen:e,onClose:t,configuration:n,onSubmit:r}){return kl(e),a.jsx(mi,{open:e,onOpenChange:t,children:a.jsxs(pi,{children:[a.jsx(gi,{children:a.jsx(xi,{children:"Manual Run"})}),a.jsx(Eae,{configuration:n,onClose:t,onSubmit:r})]})})}function s6({children:e,configuration:t,onManualRun:n,open:r}){const[s,i]=h.useState(r??!1),c=()=>{i(!0)},u=m=>{n(m),i(!1)},f=()=>e?a.jsx("div",{onClick:c,style:{cursor:"pointer"},children:e}):null;return a.jsxs(a.Fragment,{children:[f(),s&&a.jsx(ld,{children:a.jsx(wae,{isOpen:s,onClose:()=>{i(!1)},configuration:t,onSubmit:u})})]})}const Rae=1e3;function jae(e,t){const[n,r]=h.useState(!1),[s,i]=h.useState(null),c=h.useRef(null),u=h.useRef(null),f=h.useRef(!0),m=h.useRef(t);m.current=t;const x=h.useCallback(E=>{f.current&&r(E)},[]),g=h.useCallback(E=>{f.current&&i(E)},[]),y=h.useCallback((E,R)=>{const j=E instanceof Error?E.message:"Schema actualization failed";kt.dismiss(R),g(j),x(!1),c.current=null,u.current=null,kt.error(j,{duration:void 0,id:R})},[g,x]),v=h.useCallback(async()=>{var R;const E=c.current;if((R=u.current)==null||R.abort(),E){kt.dismiss(E);try{await Tn.abortSchemaActualizeTrigger(e,E)}catch{}}c.current=null,u.current=null,x(!1)},[e,x]),S=h.useCallback(async(E,R)=>{var _;const j=D=>D===Ja.SUCCESS||D===Ja.ERROR||D===Ja.CANCELLED;for(;!R.aborted&&c.current===E;)try{const D=await Tn.getSchemaActualizeTriggerStatus(e,E);if(j(D)){try{const O=await Tn.getSchemaActualizeTriggerResponse(e,E);if(kt.dismiss(E),O.success)(_=m.current)==null||_.call(m),kt.success("Output schema actualized",{duration:void 0,id:E});else{const A=O.error??"Schema actualization failed";g(A),kt.error(A,{duration:void 0,id:E})}}catch(O){const A=O instanceof Error?O.message:"Schema actualization failed";kt.dismiss(E),g(A),kt.error(A,{duration:void 0,id:E})}x(!1),c.current=null,u.current=null;return}await new Promise(O=>setTimeout(O,Rae))}catch(D){y(D,E)}},[e,g,x,y]),b=h.useCallback(async()=>{c.current&&await v(),g(null),x(!0);try{const{triggerId:E}=await Tn.createSchemaActualizeTrigger(e);kt.loading("Synchronizing schema with the data storage state. This may take a while.",{duration:1/0,id:E}),c.current=E;const R=new AbortController;u.current=R;try{await S(E,R.signal)}catch(j){y(j,E)}}catch(E){x(!1),g(E instanceof Error?E.message:"Failed to start schema actualization")}},[e,v,S,g,x,y]);return h.useEffect(()=>(f.current=!0,()=>{var R;f.current=!1;const E=c.current;(R=u.current)==null||R.abort(),E&&(kt.dismiss(E),Tn.abortSchemaActualizeTrigger(e,E).catch(()=>{})),c.current=null,u.current=null}),[e]),{run:b,isLoading:n,cancel:v,error:s}}function Tae({id:e}){const{navigate:t}=vi(),{user:n}=yi(),{flags:r}=yd(),{dataMart:s,deleteDataMart:i,updateDataMartTitle:c,updateDataMartDescription:u,updateDataMartDefinition:f,actualizeDataMartSchema:m,updateDataMartSchema:x,publishDataMart:g,runDataMart:y,cancelDataMartRun:v,getDataMartRuns:S,loadMoreDataMartRuns:b,isLoading:E,error:R,getErrorMessage:j,runs:_,getDataMart:D}=yre(e),[O,A]=h.useState(!1),[T,M]=h.useState(!1),{id:k="",canPublish:z=!1,canActualizeSchema:L=!1,status:G={code:null,displayName:"",description:""},title:B="",definition:q=null,definitionType:V=null,validationErrors:I=[]}=s??{},K=h.useCallback(()=>{k&&D(k)},[k,D]),{run:$,isLoading:ee}=jae(k,K),me=h.useCallback(async()=>{L&&await $()},[L,$]),U=r==null?void 0:r.INSIGHTS_ENABLED_PROJECT_IDS,F=(n==null?void 0:n.projectId)??"",H=F.length>0&&wJ(U??"").includes(F),W=[{name:"Overview",path:"overview"},{name:"Data Setup",path:"data-setup"},...H?[{name:"Insights",path:"insights"}]:[],{name:"Destinations",path:"reports"},{name:"Triggers",path:"triggers"},{name:"Run History",path:"run-history"}],Q=h.useCallback(async ie=>{k&&await c(k,ie)},[k,c]),le=h.useCallback(async()=>{if(k){M(!0);try{await g(k),me()}catch(ie){console.log(ie instanceof Error?ie.message:"Failed to publish Data Mart")}finally{M(!1)}}},[k,g,me]),J=h.useCallback(async ie=>{if(k){if(G.code!==Ir.PUBLISHED){_n.error("Manual run is only available for published Data Marts");return}await y({id:k,payload:ie})}},[k,G,y]);return s?a.jsxs("div",{className:"px-12 py-6",children:[a.jsxs("div",{className:"mb-4 flex items-center justify-between",children:[a.jsxs("div",{className:"flex items-center space-x-1 md:-ml-10",children:[a.jsx(Wu,{onClick:()=>{t("/data-marts")},variant:"ghost",size:"sm","aria-label":"Back to Data Marts",title:"Back to Data Marts",className:"text-gray-500 hover:text-gray-700 dark:text-gray-400 dark:hover:text-gray-200",children:a.jsx(NP,{className:"h-5 w-5"})}),a.jsx(_I,{title:B,onUpdate:Q,className:"text-2xl font-medium"})]}),a.jsxs("div",{className:"flex items-center gap-2"+(T?" opacity-50":""),style:{minWidth:"120px"},children:[a.jsxs("div",{className:"ml-4 flex items-center gap-2",children:[a.jsxs(wt,{children:[a.jsx(Rt,{asChild:!0,children:a.jsx("div",{children:a.jsx(Vh,{type:G.code===Ir.PUBLISHED?Jn.SUCCESS:Jn.NEUTRAL,variant:"subtle",children:G.displayName})})}),a.jsx(jt,{children:G.code===Ir.PUBLISHED?"Your published Data Mart is ready for scheduled runs":"Draft Data Mart is not available for scheduled runs. Publish it to activate scheduling."})]}),G.code===Ir.DRAFT&&a.jsxs(wt,{children:[a.jsx(Rt,{asChild:!0,children:a.jsx("div",{children:a.jsxs(Wu,{variant:"default",onClick:()=>{le()},disabled:T||!z,className:"ml-2 flex items-center gap-1",children:[a.jsx(Ch,{className:"h-4 w-4"}),"Publish Data Mart"]})})}),!z&&a.jsxs(jt,{children:[a.jsx("div",{children:"Cannot publish Data Mart. Fix the issues below."}),I.length>0&&a.jsx("ul",{className:"mt-1 list-disc space-y-1 pl-4",children:KJ(I).map((ie,ye)=>a.jsx("li",{children:ie},ye))})]})]})]}),a.jsxs(wr,{children:[a.jsx(Rr,{asChild:!0,children:a.jsx(Wu,{variant:"ghost",children:a.jsx(LA,{className:"h-5 w-5"})})}),a.jsxs(jr,{align:"end",children:[V===$e.CONNECTOR&&a.jsxs(a.Fragment,{children:[a.jsx(s6,{configuration:q??null,onManualRun:ie=>{J({runType:ie.runType,data:ie.data})},children:a.jsxs(Tt,{onClick:ie=>{ie.preventDefault()},children:[a.jsx(Jg,{className:"text-foreground h-4 w-4"}),a.jsx("span",{children:"Manual Run..."})]})}),a.jsx(ua,{})]}),a.jsxs(Tt,{onClick:()=>{A(!0)},children:[a.jsx(ts,{className:"h-4 w-4 text-red-600"}),a.jsx("span",{className:"text-red-600",children:"Delete Data Mart"})]})]})]})]})]}),a.jsx("div",{children:a.jsx("nav",{className:"-mb-px flex space-x-4 border-b","aria-label":"Tabs",role:"tablist",children:W.map(ie=>a.jsx(vh,{to:ie.path,className:({isActive:ye})=>se("border-b-2 px-4 py-2 text-sm font-medium whitespace-nowrap",ye?"border-primary text-primary":"border-transparent text-gray-500 hover:border-gray-300 hover:text-gray-700 dark:text-gray-400 dark:hover:border-gray-200 dark:hover:text-gray-200"),children:ie.name},ie.name))})}),a.jsx("div",{className:"pt-4",children:a.jsx(yS,{context:{dataMart:s,isLoading:E,error:R,getErrorMessage:j,updateDataMartDescription:u,updateDataMartDefinition:f,actualizeDataMartSchema:m,updateDataMartSchema:x,runDataMart:y,cancelDataMartRun:v,getDataMartRuns:S,loadMoreDataMartRuns:b,runs:_,getDataMart:D,runSchemaActualization:me,isSchemaActualizationLoading:ee}})}),a.jsx(Cr,{open:O,onOpenChange:A,title:"Delete Data Mart",description:a.jsxs(a.Fragment,{children:["Are you sure you want to delete ",a.jsxs("strong",{children:['"',B,'"']}),"? This action cannot be undone."]}),confirmLabel:"Delete",cancelLabel:"Cancel",variant:"destructive",onConfirm:()=>{(async()=>{try{await i(k),A(!1),t("/data-marts")}catch(ie){console.error("Failed to delete Data Mart:",ie)}})()}})]}):a.jsxs("div",{className:"dm-page-content flex flex-col gap-4 py-4 md:py-8",children:[a.jsx($r,{className:"h-16 w-full"},0),Array.from({length:3}).map((ie,ye)=>a.jsx($r,{className:"h-48 w-full"},ye+1))]})}function _ae({description:e,onUpdate:t,className:n,placeholder:r="Add description...",minWidth:s="100%",minHeight:i="100px"}){const[c,u]=h.useState(e??""),[f,m]=h.useState(!1),[x,g]=h.useState(!1),y=h.useRef(null);h.useEffect(()=>{u(e??"")},[e]),h.useEffect(()=>{if(y.current&&f){y.current.focus();const R=y.current.value.length;y.current.setSelectionRange(R,R),v(y.current)}},[f]);const v=R=>{R.style.height="auto",R.style.height=`${String(R.scrollHeight)}px`},S=R=>{u(R.target.value),v(R.target)},b=async()=>{const R=c.trim();if(R===(e??"")){m(!1);return}try{g(!0),await t(R===""?null:R),m(!1)}catch(_){console.error("Failed to update description:",_),u(e??"")}finally{g(!1)}},E=R=>{R.key==="Enter"&&R.ctrlKey?(R.preventDefault(),b()):R.key==="Escape"&&(R.preventDefault(),u(e??""),m(!1))};return f?a.jsxs("div",{className:"w-full",children:[a.jsx(Ao,{ref:y,value:c,onChange:S,onBlur:()=>void b(),onKeyDown:E,placeholder:r,className:se("m-0 w-full border-0 bg-white p-2 shadow-none dark:bg-white/4","focus-visible:ring-primary focus-visible:ring-0",{"opacity-50":x}),style:{fontSize:"inherit",lineHeight:"inherit",fontFamily:"inherit",resize:"vertical",minHeight:i,minWidth:s},disabled:x}),a.jsxs("div",{className:"mt-2 text-xs text-gray-500",children:[a.jsxs("span",{children:["Press"," ",a.jsx("kbd",{className:"rounded border border-neutral-200 bg-neutral-100 px-1 py-0.5 font-sans dark:border-neutral-900 dark:bg-neutral-900",children:"Ctrl+Enter"})," ","to save •"," "]}),a.jsxs("span",{children:[a.jsx("kbd",{className:"rounded border border-neutral-200 bg-neutral-100 px-1 py-0.5 font-sans dark:border-neutral-900 dark:bg-neutral-900",children:"Esc"})," ","to cancel •"," "]}),a.jsx("span",{children:"Changes are also saved when you click outside"})]})]}):a.jsx("div",{className:"flex w-full items-center gap-4 rounded-md border-b border-gray-200 bg-white transition-shadow duration-200 hover:shadow-sm dark:border-0 dark:bg-white/4",children:a.jsx("div",{onClick:()=>{m(!0)},className:se("min-h-24 cursor-pointer rounded p-2 whitespace-pre-wrap","transition-colors duration-150",!e&&"text-gray-400 italic",n),style:{minWidth:s},children:e??r})})}function Nae(){const{dataMart:e,updateDataMartDescription:t}=Cs(),n=async r=>{await t(e.id,r)};return a.jsx("div",{children:a.jsx(_ae,{description:e.description,onUpdate:n,placeholder:"Add a description for this Data Mart..."})})}function tN(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Aae(e){if(Array.isArray(e))return e}function Dae(e,t,n){return(t=Uae(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Oae(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,s,i,c,u=[],f=!0,m=!1;try{if(i=(n=n.call(e)).next,t!==0)for(;!(f=(r=i.call(n)).done)&&(u.push(r.value),u.length!==t);f=!0);}catch(x){m=!0,s=x}finally{try{if(!f&&n.return!=null&&(c=n.return(),Object(c)!==c))return}finally{if(m)throw s}}return u}}function Iae(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
809
809
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function nN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function rN(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?nN(Object(n),!0).forEach(function(r){Dae(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):nN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Mae(e,t){if(e==null)return{};var n,r,s=kae(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(s[n]=e[n])}return s}function kae(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function Lae(e,t){return Aae(e)||Oae(e,t)||zae(e,t)||Iae()}function Pae(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Uae(e){var t=Pae(e,"string");return typeof t=="symbol"?t:t+""}function zae(e,t){if(e){if(typeof e=="string")return tN(e,t);var n={}.toString.call(e).slice(8,-1);return n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set"?Array.from(e):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?tN(e,t):void 0}}function Fae(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function aN(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function sN(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?aN(Object(n),!0).forEach(function(r){Fae(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):aN(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Hae(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];return function(r){return t.reduceRight(function(s,i){return i(s)},r)}}function zf(e){return function t(){for(var n=this,r=arguments.length,s=new Array(r),i=0;i<r;i++)s[i]=arguments[i];return s.length>=e.length?e.apply(this,s):function(){for(var c=arguments.length,u=new Array(c),f=0;f<c;f++)u[f]=arguments[f];return t.apply(n,[].concat(s,u))}}}function Pg(e){return{}.toString.call(e).includes("Object")}function Vae(e){return!Object.keys(e).length}function ch(e){return typeof e=="function"}function $ae(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function Bae(e,t){return Pg(t)||dl("changeType"),Object.keys(t).some(function(n){return!$ae(e,n)})&&dl("changeField"),t}function Gae(e){ch(e)||dl("selectorType")}function qae(e){ch(e)||Pg(e)||dl("handlerType"),Pg(e)&&Object.values(e).some(function(t){return!ch(t)})&&dl("handlersType")}function Kae(e){e||dl("initialIsRequired"),Pg(e)||dl("initialType"),Vae(e)&&dl("initialContent")}function Wae(e,t){throw new Error(e[t]||e.default)}var Yae={initialIsRequired:"initial state is required",initialType:"initial state should be an object",initialContent:"initial state shouldn't be an empty object",handlerType:"handler should be an object or a function",handlersType:"all handlers should be a functions",selectorType:"selector should be a function",changeType:"provided value of changes should be an object",changeField:'it seams you want to change a field in the state which is not specified in the "initial" state',default:"an unknown error accured in `state-local` package"},dl=zf(Wae)(Yae),Mp={changes:Bae,selector:Gae,handler:qae,initial:Kae};function Zae(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};Mp.initial(e),Mp.handler(t);var n={current:e},r=zf(Jae)(n,t),s=zf(Qae)(n),i=zf(Mp.changes)(e),c=zf(Xae)(n);function u(){var m=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(x){return x};return Mp.selector(m),m(n.current)}function f(m){Hae(r,s,i,c)(m)}return[u,f]}function Xae(e,t){return ch(t)?t(e.current):t}function Qae(e,t){return e.current=sN(sN({},e.current),t),t}function Jae(e,t,n){return ch(t)?t(e.current):Object.keys(n).forEach(function(r){var s;return(s=t[r])===null||s===void 0?void 0:s.call(t,e.current[r])}),n}var ese={create:Zae},tse={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.55.1/min/vs"}};function nse(e){return function t(){for(var n=this,r=arguments.length,s=new Array(r),i=0;i<r;i++)s[i]=arguments[i];return s.length>=e.length?e.apply(this,s):function(){for(var c=arguments.length,u=new Array(c),f=0;f<c;f++)u[f]=arguments[f];return t.apply(n,[].concat(s,u))}}}function rse(e){return{}.toString.call(e).includes("Object")}function ase(e){return e||oN("configIsRequired"),rse(e)||oN("configType"),e.urls?(sse(),{paths:{vs:e.urls.monacoBase}}):e}function sse(){console.warn(o6.deprecation)}function ose(e,t){throw new Error(e[t]||e.default)}var o6={configIsRequired:"the configuration object is required",configType:"the configuration object should be an object",default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:`Deprecation warning!
810
810
  You are using deprecated way of configuration.
811
811
 
package/dist/index.html CHANGED
@@ -6,7 +6,7 @@
6
6
  <link rel="icon" type="image/png" href="/favicon.png" />
7
7
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
8
8
  <title>OWOX</title>
9
- <script type="module" crossorigin src="/assets/index-Br59KzoH.js"></script>
9
+ <script type="module" crossorigin src="/assets/index-ChUo2jRy.js"></script>
10
10
  <link rel="stylesheet" crossorigin href="/assets/index-DRF5EgEQ.css">
11
11
  </head>
12
12
  <body translate="no" class="notranslate">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@owox/web",
3
- "version": "0.16.0-next-20251218083513",
3
+ "version": "0.16.0-next-20251218105755",
4
4
  "description": "Web interface for OWOX Data Marts - an open-source solution for Data Analysts",
5
5
  "author": "OWOX",
6
6
  "license": "ELv2",