@flexkit/studio 0.0.17 → 0.0.19
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.
- package/dist/asset-TJGJREGN.js +2 -0
- package/dist/{asset-GMXBEENP.js.map → asset-TJGJREGN.js.map} +1 -1
- package/dist/astro.js +1 -1
- package/dist/chunk-665E4UDZ.js +2 -0
- package/dist/chunk-665E4UDZ.js.map +1 -0
- package/dist/chunk-6TSWBOSZ.js +2 -0
- package/dist/{chunk-5MTVN77Y.js.map → chunk-6TSWBOSZ.js.map} +1 -1
- package/dist/chunk-7TF7ZVID.js +2 -0
- package/dist/chunk-7TF7ZVID.js.map +1 -0
- package/dist/chunk-EELTSHST.js +2 -0
- package/dist/chunk-EELTSHST.js.map +1 -0
- package/dist/{chunk-QOSBN65B.js → chunk-NZI5JL7Y.js} +26 -1
- package/dist/chunk-R4MPNNRN.js +2 -0
- package/dist/chunk-R4MPNNRN.js.map +1 -0
- package/dist/chunk-TMK5LKFR.js +3 -0
- package/dist/chunk-TMK5LKFR.js.map +1 -0
- package/dist/chunk-WIUPQHZ5.js +2 -0
- package/dist/chunk-WIUPQHZ5.js.map +1 -0
- package/dist/index.css +78 -14
- package/dist/index.d.ts +13 -5
- package/dist/index.js +191 -145
- package/dist/index.js.map +1 -1
- package/dist/nextjs.js +1 -1
- package/dist/project-selector-FWU4PAAK.js +2 -0
- package/dist/project-selector-FWU4PAAK.js.map +1 -0
- package/dist/search-IM4OTYLW.js +2 -0
- package/dist/{search-JJI6BIRU.js.map → search-IM4OTYLW.js.map} +1 -1
- package/dist/tanstack-start.js +1 -1
- package/dist/{types.d-D7S0yibv.d.ts → types.d-DLhjvcTC.d.ts} +13 -5
- package/dist/ui.d.ts +2 -2
- package/dist/ui.js +1 -1
- package/dist/user-nav-UHNUTEUZ.js +2 -0
- package/dist/{user-nav-7U3KULA6.js.map → user-nav-UHNUTEUZ.js.map} +1 -1
- package/package.json +5 -5
- package/dist/asset-GMXBEENP.js +0 -2
- package/dist/chunk-5MTVN77Y.js +0 -2
- package/dist/chunk-7DMOGZE6.js +0 -2
- package/dist/chunk-7DMOGZE6.js.map +0 -1
- package/dist/chunk-7YBJLUUE.js +0 -3
- package/dist/chunk-7YBJLUUE.js.map +0 -1
- package/dist/chunk-WA4EGOM4.js +0 -2
- package/dist/chunk-WA4EGOM4.js.map +0 -1
- package/dist/chunk-WB6HSMJT.js +0 -2
- package/dist/chunk-WB6HSMJT.js.map +0 -1
- package/dist/project-selector-4G4WL2XQ.js +0 -2
- package/dist/project-selector-4G4WL2XQ.js.map +0 -1
- package/dist/search-JJI6BIRU.js +0 -2
- package/dist/user-nav-7U3KULA6.js +0 -2
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/ui/hooks/use-cached-image-src.ts","../src/data-grid/preview-components/asset.tsx"],"names":["MAX_CACHE_ENTRIES","MAX_SINGLE_BLOB_BYTES","blobUrlCache","inFlightLoads","corsBlockedUrls","preloadedImages","ensurePreloaded","url","img","touch","entry","evictIfNeeded","entries","a","b","evictCount","i","loadToCache","existing","promise","res","blob","objectUrl","err","useCachedImageSrc","initial","useMemo","cached","src","setSrc","useState","useEffect","isStale","next","Asset","value","path","hasPath","isImage","getExtensionFromPath","p","clean","parts","thumbnaillUrl","IMAGES_BASE_URL","fullUrl","cachedThumbnailSrc","jsx","TooltipProvider","jsxs","Tooltip","TooltipTrigger","TooltipPortal","TooltipContent","ext","style","defaultStyles","FileTypeIcon"],"mappings":"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","file":"chunk-WB6HSMJT.js","sourcesContent":["import { useEffect, useMemo, useState } from 'react';\n\ntype CacheEntry = {\n objectUrl: string;\n byteSize: number;\n lastUsedAt: number;\n};\n\nconst MAX_CACHE_ENTRIES = 250;\nconst MAX_SINGLE_BLOB_BYTES = 2_500_000; // ~2.5MB\n\nconst blobUrlCache = new Map<string, CacheEntry>();\nconst inFlightLoads = new Map<string, Promise<void>>();\nconst corsBlockedUrls = new Set<string>();\nconst preloadedImages = new Map<string, HTMLImageElement>();\n\nfunction ensurePreloaded(url: string): void {\n if (preloadedImages.has(url)) {\n return;\n }\n\n const img = new Image();\n img.decoding = 'async';\n img.src = url;\n preloadedImages.set(url, img);\n}\n\nfunction touch(url: string): void {\n const entry = blobUrlCache.get(url);\n\n if (!entry) {\n return;\n }\n\n blobUrlCache.set(url, { ...entry, lastUsedAt: Date.now() });\n}\n\nfunction evictIfNeeded(): void {\n if (blobUrlCache.size <= MAX_CACHE_ENTRIES) {\n return;\n }\n\n const entries = Array.from(blobUrlCache.entries()).sort((a, b) => a[1].lastUsedAt - b[1].lastUsedAt);\n const evictCount = Math.max(1, Math.ceil(MAX_CACHE_ENTRIES * 0.1));\n\n for (let i = 0; i < evictCount && i < entries.length; i += 1) {\n const [url, entry] = entries[i];\n blobUrlCache.delete(url);\n\n URL.revokeObjectURL(entry.objectUrl);\n }\n}\n\nasync function loadToCache(url: string): Promise<void> {\n if (corsBlockedUrls.has(url)) {\n ensurePreloaded(url);\n\n return;\n }\n\n if (blobUrlCache.has(url)) {\n touch(url);\n\n return;\n }\n\n const existing = inFlightLoads.get(url);\n\n if (existing) {\n await existing;\n\n return;\n }\n\n const promise = (async () => {\n try {\n const res = await fetch(url, {\n mode: 'cors',\n cache: 'force-cache',\n });\n\n if (!res.ok) {\n ensurePreloaded(url);\n\n return;\n }\n\n const blob = await res.blob();\n\n if (blob.size > MAX_SINGLE_BLOB_BYTES) {\n return;\n }\n\n const objectUrl = URL.createObjectURL(blob);\n blobUrlCache.set(url, { objectUrl, byteSize: blob.size, lastUsedAt: Date.now() });\n evictIfNeeded();\n } catch (err: unknown) {\n // Most common failure is CORS (TypeError: Failed to fetch). If so, avoid retrying.\n if (err instanceof TypeError) {\n corsBlockedUrls.add(url);\n }\n\n ensurePreloaded(url);\n }\n })();\n\n inFlightLoads.set(url, promise);\n\n await promise;\n\n inFlightLoads.delete(url);\n}\n\n/**\n * Keeps a stable, in-memory cached image src across virtualized unmount/remount cycles.\n * Falls back to the original URL if the image can’t be fetched (e.g. due to CORS).\n */\nexport function useCachedImageSrc(url: string | null | undefined): string | null {\n const initial = useMemo(() => {\n if (!url) {\n return null;\n }\n\n const cached = blobUrlCache.get(url);\n\n if (!cached) {\n return null;\n }\n\n touch(url);\n\n return cached.objectUrl;\n }, [url]);\n\n const [src, setSrc] = useState<string | null>(initial);\n\n useEffect(() => {\n if (!url) {\n setSrc(null);\n\n return;\n }\n\n if (corsBlockedUrls.has(url)) {\n ensurePreloaded(url);\n setSrc(null);\n\n return;\n }\n\n const cached = blobUrlCache.get(url);\n\n if (cached) {\n touch(url);\n setSrc(cached.objectUrl);\n\n return;\n }\n\n setSrc(null);\n let isStale = false;\n\n loadToCache(url).then(() => {\n const next = blobUrlCache.get(url);\n\n if (!next) {\n return;\n }\n\n if (isStale) {\n return;\n }\n\n touch(url);\n setSrc(next.objectUrl);\n });\n\n return () => {\n isStale = true;\n };\n }, [url]);\n\n return src;\n}\n","import { Tooltip, TooltipContent, TooltipPortal, TooltipProvider, TooltipTrigger } from '../../ui/primitives/tooltip';\nimport { IMAGES_BASE_URL } from '../../core/api-paths';\nimport { FileIcon as FileTypeIcon, defaultStyles } from 'react-file-icon';\nimport { useCachedImageSrc } from '../../ui/hooks/use-cached-image-src';\n\nexport type Asset = {\n _id: string;\n path: string;\n};\n\nexport function Asset({ value }: { value: Asset }) {\n const path = value?.path ?? '';\n const hasPath = Boolean(path);\n const isImage = hasPath && /\\.(png|jpe?g|gif|webp|avif|svg)$/i.test(path);\n\n const getExtensionFromPath = (p: string): string => {\n const [clean] = p.split('?');\n const parts = clean.split('.');\n\n if (parts.length > 1) {\n return parts.pop()!.toLowerCase();\n }\n\n return 'file';\n };\n\n const thumbnaillUrl = hasPath\n ? path.endsWith('.svg')\n ? `${IMAGES_BASE_URL}${path}`\n : `${IMAGES_BASE_URL}${path}?w=84&h=84&f=webp`\n : null;\n\n const fullUrl = hasPath\n ? path.endsWith('.svg')\n ? `${IMAGES_BASE_URL}${path}`\n : `${IMAGES_BASE_URL}${path}?w=624&h=624&f=webp`\n : '';\n\n const cachedThumbnailSrc = useCachedImageSrc(thumbnaillUrl);\n\n if (!hasPath) {\n return null;\n }\n\n return (\n <div className=\"fk-z-10\">\n <TooltipProvider>\n {isImage ? (\n <Tooltip>\n <TooltipTrigger asChild>\n <img\n alt=\"asset\"\n className=\"fk-w-7 fk-h-7 fk-cursor-zoom-in fk-bg-muted/40 fk-rounded-sm\"\n decoding=\"async\"\n src={cachedThumbnailSrc ?? undefined}\n />\n </TooltipTrigger>\n <TooltipPortal>\n <TooltipContent>\n <img\n alt=\"asset\"\n className=\"fk-w-52 fk-h-52 fk-bg-muted/40 fk-rounded-sm\"\n decoding=\"async\"\n src={fullUrl}\n />\n </TooltipContent>\n </TooltipPortal>\n </Tooltip>\n ) : (\n <Tooltip>\n <TooltipTrigger asChild>\n <div className=\"fk-w-7 fk-h-7 fk-rounded fk-bg-transparent fk-flex fk-items-center fk-justify-center [&>svg]:fk-h-full [&>svg]:fk-w-auto\">\n {(() => {\n const ext = getExtensionFromPath(path);\n const style = (\n defaultStyles as Record<string, Record<string, string | number | boolean | undefined>>\n )[ext];\n\n return <FileTypeIcon extension={ext} {...(style || {})} />;\n })()}\n </div>\n </TooltipTrigger>\n <TooltipPortal>\n <TooltipContent>\n <div className=\"fk-text-sm fk-text-muted-foreground\">Preview not available</div>\n </TooltipContent>\n </TooltipPortal>\n </Tooltip>\n )}\n </TooltipProvider>\n </div>\n );\n}\n"]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import'./index.css';import {a,d,c,g,i}from'./chunk-2RBOTHKE.js';import'./chunk-AXB7FQV2.js';import {useState}from'react';import {useNavigate}from'react-router-dom';import {jsxs,jsx}from'react/jsx-runtime';function k({projectId:S,projects:t}){let[r,d$1]=useState(t.find(e=>e.projectId===S)??t[0]),m=useNavigate();return jsxs(a,{defaultValue:r.projectId,onValueChange:e=>{let c=t.find(f=>f.projectId===e)??t[0],{basePath:s}=c;d$1(c),m(`${s}/${c.projectId}`);},children:[jsx(d,{className:"fk-w-[12rem] fk-h-9 fk-py-1",id:"project",children:jsx(c,{"aria-label":r.title,children:r.title})}),jsx(g,{children:t.map(e=>jsx(i,{value:e.projectId,children:e.title},e.projectId))})]})}export{k as ProjectSelector};//# sourceMappingURL=project-selector-4G4WL2XQ.js.map
|
|
2
|
-
//# sourceMappingURL=project-selector-4G4WL2XQ.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/ui/components/project-selector.tsx"],"names":["ProjectSelector","projectId","projects","selectedProject","setSelectedProject","useState","project","navigate","useNavigate","jsxs","Select","id","currentProject","basePath","jsx","SelectTrigger","SelectValue","SelectContent","SelectItem"],"mappings":"6MAUO,SAASA,CAAAA,CAAgB,CAAE,SAAA,CAAAC,CAAAA,CAAW,QAAA,CAAAC,CAAS,CAAA,CAAuB,CAC3E,GAAM,CAACC,CAAAA,CAAiBC,GAAkB,CAAA,CAAIC,QAAAA,CAC5CH,CAAAA,CAAS,IAAA,CAAMI,CAAAA,EAAYA,CAAAA,CAAQ,SAAA,GAAcL,CAAS,CAAA,EAAKC,CAAAA,CAAS,CAAC,CAC3E,CAAA,CACMK,CAAAA,CAAWC,WAAAA,EAAY,CAE7B,OACEC,IAAAA,CAACC,CAAAA,CAAA,CACC,YAAA,CAAcP,CAAAA,CAAgB,SAAA,CAC9B,aAAA,CAAgBQ,CAAAA,EAAO,CACrB,IAAMC,CAAAA,CAAiBV,CAAAA,CAAS,IAAA,CAAMI,CAAAA,EAAYA,CAAAA,CAAQ,SAAA,GAAcK,CAAE,CAAA,EAAKT,EAAS,CAAC,CAAA,CACnF,CAAE,QAAA,CAAAW,CAAS,CAAA,CAAID,CAAAA,CAErBR,GAAAA,CAAmBQ,CAAc,CAAA,CACjCL,CAAAA,CAAS,CAAA,EAAGM,CAAQ,CAAA,CAAA,EAAID,CAAAA,CAAe,SAAS,CAAA,CAAE,EACpD,CAAA,CAEA,QAAA,CAAA,CAAAE,GAAAA,CAACC,CAAAA,CAAA,CAAc,SAAA,CAAU,6BAAA,CAA8B,EAAA,CAAG,SAAA,CACxD,QAAA,CAAAD,GAAAA,CAACE,CAAAA,CAAA,CAAY,YAAA,CAAYb,CAAAA,CAAgB,KAAA,CAAQ,QAAA,CAAAA,CAAAA,CAAgB,KAAA,CAAM,CAAA,CACzE,CAAA,CACAW,GAAAA,CAACG,CAAAA,CAAA,CACE,QAAA,CAAAf,CAAAA,CAAS,GAAA,CAAKI,CAAAA,EACbQ,GAAAA,CAACI,CAAAA,CAAA,CAAmC,KAAA,CAAOZ,CAAAA,CAAQ,SAAA,CAChD,QAAA,CAAAA,CAAAA,CAAQ,KAAA,CAAA,CADMA,CAAAA,CAAQ,SAEzB,CACD,CAAA,CACH,CAAA,CAAA,CACF,CAEJ","file":"project-selector-4G4WL2XQ.js","sourcesContent":["import { useState } from 'react';\nimport { useNavigate } from 'react-router-dom';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../primitives/select';\nimport type { ProjectOptions } from '../../core/config/types';\n\ntype Props = {\n projectId: string;\n projects: ProjectOptions[];\n};\n\nexport function ProjectSelector({ projectId, projects }: Props): JSX.Element {\n const [selectedProject, setSelectedProject] = useState(\n projects.find((project) => project.projectId === projectId) ?? projects[0]\n );\n const navigate = useNavigate();\n\n return (\n <Select\n defaultValue={selectedProject.projectId}\n onValueChange={(id) => {\n const currentProject = projects.find((project) => project.projectId === id) ?? projects[0];\n const { basePath } = currentProject;\n\n setSelectedProject(currentProject);\n navigate(`${basePath}/${currentProject.projectId}`);\n }}\n >\n <SelectTrigger className=\"fk-w-[12rem] fk-h-9 fk-py-1\" id=\"project\">\n <SelectValue aria-label={selectedProject.title}>{selectedProject.title}</SelectValue>\n </SelectTrigger>\n <SelectContent>\n {projects.map((project) => (\n <SelectItem key={project.projectId} value={project.projectId}>\n {project.title}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n );\n}\n"]}
|
package/dist/search-JJI6BIRU.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import'./index.css';import {j}from'./chunk-7DMOGZE6.js';import {m,v,q,p,r,t,b}from'./chunk-ZOBZU47M.js';import'./chunk-7YBJLUUE.js';import {a}from'./chunk-AXB7FQV2.js';import {useState,useMemo,useRef}from'react';import {LoaderCircle,Search,X}from'lucide-react';import {Command}from'cmdk';import {useNavigate}from'react-router-dom';import {jsxs,jsx}from'react/jsx-runtime';var z=f=>({searchRequests:{searches:f.filter(a=>a.attributes.some(i=>i.isSearchable)).map(a=>a.plural).map(a=>({collection:a}))},commonParams:{q:""}});function Y({onSelect:f,searchPlaceholder:k="Search...",noResultsMsg:a$1="Nothing found",className:i,onSearchChange:u,projectId:P,schema:d}){let[I,o]=useState(false),[p$1,h]=useState(""),l=useMemo(()=>z(d),[d]),[R,g]=useState(l),r$1=useRef(null),{results:y,isLoading:E}=j(P,R),L=useNavigate();function B(e){h(e),e.length>0&&(o(true),g({...l,commonParams:{q:e}})),e.length===0&&o(false),u&&u(e);}function _(){h(""),o(false),g(l),r$1.current&&(r$1.current.value="");let e=new URL(window.location.href);e.searchParams.has("id")&&(e.searchParams.delete("id"),L(e.pathname+e.search));}return jsxs(m,{className:"fk-relative fk-overflow-visible fk-h-auto",onBlur:()=>{setTimeout(()=>{o(false);},300);},onKeyDown:e=>{e.key==="Escape"&&(e.preventDefault(),o(false));},shouldFilter:false,children:[jsxs("div",{className:a("fk-flex fk-items-center fk-border fk-border-border fk-rounded-md fk-px-3 fk-h-9 md:fk-w-[100px] lg:fk-w-[300px] fk-ring-offset-background","focus-within:fk-outline-none focus-within:fk-ring-2 focus-within:fk-ring-ring focus-within:fk-ring-offset-2"),children:[E?jsx(LoaderCircle,{className:"fk-mr-2 fk-h-4 fk-w-4 fk-shrink-0 fk-opacity-50 fk-animate-spin"}):jsx(Search,{className:"fk-mr-2 fk-h-4 fk-w-4 fk-shrink-0 fk-opacity-50"}),jsx(Command.Input,{className:a("fk-flex fk-h-9 fk-w-full fk-rounded-md fk-bg-transparent fk-py-1 fk-text-sm fk-outline-none placeholder:fk-text-muted-foreground disabled:fk-cursor-not-allowed disabled:fk-opacity-50",i),placeholder:k,onMouseDown:()=>{(r$1.current?.value.length??0)>0&&o(true);},onValueChange:B,ref:r$1,value:p$1}),p$1&&jsx("button",{className:"fk-flex fk-items-center fk-justify-center fk-ml-2 fk-text-muted-foreground hover:fk-text-foreground",onClick:_,type:"button",children:jsx(X,{className:"fk-h-4 fk-w-4"})})]}),jsx("div",{className:"fk-relative fk-max-w-[600px]",children:jsx("div",{className:a("fk-mt-1 fk-animate-in fk-fade-in-0 fk-zoom-in-95 fk-absolute fk-top-0 fk-z-10 fk-w-full fk-rounded-md fk-bg-popover fk-outline-none fk-drop-shadow-md fk-border fk-border-border",I?"fk-block":"fk-hidden"),children:jsxs(v,{className:"fk-max-h-[220px] fk-overflow-auto",children:[jsx(q,{children:a$1}),jsx(p,{children:jsxs(r,{children:[y.length>0&&jsx(t,{className:"fk-hidden",value:"-"}),y.map(e=>jsxs(t,{className:"fk-flex",value:e._id,onSelect:M=>{f({entityName:e._entityName,entityNamePlural:e._entityNamePlural,entityId:M});},children:[jsx("span",{className:"fk-basis-full",children:e[Object.keys(e)[3]]}),jsx(b,{className:"fk-py-px fk-text-[0.6875rem] fk-leading-3 fk-bg-teal-400",children:e._entityName})]},e._id))]})})]})})})]})}export{Y as Search};//# sourceMappingURL=search-JJI6BIRU.js.map
|
|
2
|
-
//# sourceMappingURL=search-JJI6BIRU.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import'./index.css';import {b,d}from'./chunk-WA4EGOM4.js';import {a,b as b$2,c as c$1}from'./chunk-K5CEPNVI.js';import {r,c,d as d$1,b as b$1,k,o,p,m,l,q}from'./chunk-64KAF6GA.js';import'./chunk-7YBJLUUE.js';import'./chunk-AXB7FQV2.js';import {Monitor,Moon,Sun}from'lucide-react';import {jsx,jsxs}from'react/jsx-runtime';function _({projectId:D}){let{theme:r$1,setTheme:t}=b(),[C,n]=d();return C?jsx(r,{className:"fk-h-8 fk-w-8 fk-rounded-full"}):jsxs(c,{children:[jsx(d$1,{asChild:true,children:jsx(b$1,{className:"fk-relative fk-h-8 fk-w-8 fk-rounded-full",variant:"ghost",children:jsxs(a,{className:"fk-h-8 fk-w-8",children:[jsx(b$2,{alt:"@shadcn",src:n.user?.avatar_url}),jsx(c$1,{children:n.user?.display_name.charAt(0).toUpperCase()??""})]})})}),jsxs(k,{align:"end",className:"fk-w-56",forceMount:true,children:[jsx(o,{className:"font-normal",children:jsxs("div",{className:"fk-flex fk-flex-col fk-space-y-1",children:[jsx("p",{className:"fk-text-sm fk-font-medium fk-leading-none",children:n.user?.display_name}),jsx("p",{className:"fk-text-xs fk-leading-none fk-text-muted-foreground",children:n.user?.email})]})}),jsx(p,{}),jsx(o,{children:"Theme"}),jsxs(m,{checked:r$1==="system",onCheckedChange:()=>{t("system");},children:[jsx(Monitor,{className:"fk-mr-2 fk-h-4 fk-w-4"}),jsx("span",{children:"System"})]}),jsxs(m,{checked:r$1==="dark",onCheckedChange:()=>{t("dark");},children:[jsx(Moon,{className:"fk-mr-2 fk-h-4 fk-w-4"}),jsx("span",{children:"Dark"})]}),jsxs(m,{checked:r$1==="light",onCheckedChange:()=>{t("light");},children:[jsx(Sun,{className:"fk-mr-2 fk-h-4 fk-w-4"}),jsx("span",{children:"Light"})]}),jsx(p,{}),jsxs(l,{onClick:()=>{n.logout(D).then(()=>{}).catch(()=>{});},children:["Log out",jsx(q,{children:"\u21E7\u2318Q"})]})]})]})}export{_ as UserNav};//# sourceMappingURL=user-nav-7U3KULA6.js.map
|
|
2
|
-
//# sourceMappingURL=user-nav-7U3KULA6.js.map
|