@flexkit/studio 0.0.31 → 0.0.33

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.
Files changed (110) hide show
  1. package/README.md +2 -2
  2. package/dist/asset-ZVPFS73O.js +2 -0
  3. package/dist/{asset-TS7J5GA5.js.map → asset-ZVPFS73O.js.map} +1 -1
  4. package/dist/astro.d.ts +5 -3
  5. package/dist/astro.js +8 -3
  6. package/dist/chunk-2OBWJ6UY.js +2 -0
  7. package/dist/chunk-2OBWJ6UY.js.map +1 -0
  8. package/dist/{chunk-R7N3MDOP.js → chunk-AEBTHXEP.js} +2 -2
  9. package/dist/{chunk-R7N3MDOP.js.map → chunk-AEBTHXEP.js.map} +1 -1
  10. package/dist/{chunk-W3TUEJJL.js → chunk-CCI3FGPF.js} +2 -2
  11. package/dist/{chunk-W3TUEJJL.js.map → chunk-CCI3FGPF.js.map} +1 -1
  12. package/dist/chunk-D62TAYLI.js +2 -0
  13. package/dist/chunk-D62TAYLI.js.map +1 -0
  14. package/dist/{chunk-UKLE7J3K.js → chunk-E7G46743.js} +139 -16
  15. package/dist/chunk-F2ILIHAU.js +2 -0
  16. package/dist/chunk-F2ILIHAU.js.map +1 -0
  17. package/dist/{chunk-EOCJR5EY.js → chunk-FPH4YETF.js} +2 -2
  18. package/dist/{chunk-EOCJR5EY.js.map → chunk-FPH4YETF.js.map} +1 -1
  19. package/dist/chunk-GFDWGYUR.js +2 -0
  20. package/dist/chunk-GFDWGYUR.js.map +1 -0
  21. package/dist/{chunk-CPUC4QXH.js → chunk-JAARDXQZ.js} +2 -2
  22. package/dist/{chunk-CPUC4QXH.js.map → chunk-JAARDXQZ.js.map} +1 -1
  23. package/dist/{chunk-IXO2LU47.js → chunk-JCHD4EGB.js} +2 -2
  24. package/dist/{chunk-IXO2LU47.js.map → chunk-JCHD4EGB.js.map} +1 -1
  25. package/dist/chunk-KHPTVIYT.js +2 -0
  26. package/dist/chunk-KHPTVIYT.js.map +1 -0
  27. package/dist/chunk-MGXHZDFZ.js +2 -0
  28. package/dist/chunk-MGXHZDFZ.js.map +1 -0
  29. package/dist/chunk-MLYKIVZC.js +2 -0
  30. package/dist/chunk-MLYKIVZC.js.map +1 -0
  31. package/dist/chunk-N2T6MKPV.js +2 -0
  32. package/dist/chunk-N2T6MKPV.js.map +1 -0
  33. package/dist/{chunk-DWK4NNLB.js → chunk-ORY5DLME.js} +2 -2
  34. package/dist/{chunk-DWK4NNLB.js.map → chunk-ORY5DLME.js.map} +1 -1
  35. package/dist/chunk-PXB5QSHN.js +2 -0
  36. package/dist/chunk-PXB5QSHN.js.map +1 -0
  37. package/dist/chunk-VHNQDP7Q.js +616 -0
  38. package/dist/chunk-VUAFNQK7.js +2 -0
  39. package/dist/chunk-VUAFNQK7.js.map +1 -0
  40. package/dist/chunk-XFY7MZJN.js +2 -0
  41. package/dist/chunk-XFY7MZJN.js.map +1 -0
  42. package/dist/{core-handler-XAVVKLhV.d.ts → core-handler-C3xC98bN.d.ts} +3 -0
  43. package/dist/datetime-DDEWTNLB.js +2 -0
  44. package/dist/{datetime-NQTYGZIC.js.map → datetime-DDEWTNLB.js.map} +1 -1
  45. package/dist/editor-HAYTKNMY.js +2 -0
  46. package/dist/{editor-YIRZQR3D.js.map → editor-HAYTKNMY.js.map} +1 -1
  47. package/dist/index.css +151 -41
  48. package/dist/index.d.ts +24 -21
  49. package/dist/index.js +161 -208
  50. package/dist/index.js.map +1 -1
  51. package/dist/logo-B6ZKLGM7.js +3 -0
  52. package/dist/logo-B6ZKLGM7.js.map +1 -0
  53. package/dist/nextjs.d.ts +40 -12
  54. package/dist/nextjs.js +8 -3
  55. package/dist/search-FTC7ELZX.js +2 -0
  56. package/dist/search-FTC7ELZX.js.map +1 -0
  57. package/dist/select-H3JHOCWR.js +2 -0
  58. package/dist/{select-A6I27JQU.js.map → select-H3JHOCWR.js.map} +1 -1
  59. package/dist/switch-TACKLQJH.js +2 -0
  60. package/dist/{switch-AFZGXSR3.js.map → switch-TACKLQJH.js.map} +1 -1
  61. package/dist/tanstack-start.d.ts +6 -4
  62. package/dist/tanstack-start.js +17 -12
  63. package/dist/text-M3DRK7LU.js +2 -0
  64. package/dist/{text-2RL2L5FT.js.map → text-M3DRK7LU.js.map} +1 -1
  65. package/dist/text-SQXG7XJT.js +2 -0
  66. package/dist/{text-6F4QTCNT.js.map → text-SQXG7XJT.js.map} +1 -1
  67. package/dist/textarea-YF4K2VBM.js +2 -0
  68. package/dist/{textarea-2A4TLWZS.js.map → textarea-YF4K2VBM.js.map} +1 -1
  69. package/dist/tools.d.ts +78 -0
  70. package/dist/tools.js +60 -0
  71. package/dist/types-U28Ppixq.d.ts +56 -0
  72. package/dist/{types.d-CX3kDxFZ.d.ts → types.d-C12xWeN_.d.ts} +86 -7
  73. package/dist/ui.d.ts +21 -5
  74. package/dist/ui.js +5 -5
  75. package/dist/ui.js.map +1 -1
  76. package/dist/{user-nav-4JKIFZLB.js → user-nav-Z7GBLYQA.js} +2 -2
  77. package/dist/{user-nav-4JKIFZLB.js.map → user-nav-Z7GBLYQA.js.map} +1 -1
  78. package/package.json +8 -4
  79. package/dist/asset-TS7J5GA5.js +0 -2
  80. package/dist/chunk-73RMWG53.js +0 -2
  81. package/dist/chunk-73RMWG53.js.map +0 -1
  82. package/dist/chunk-HAQICAOQ.js +0 -2
  83. package/dist/chunk-HAQICAOQ.js.map +0 -1
  84. package/dist/chunk-LL2Z4TD3.js +0 -2
  85. package/dist/chunk-LL2Z4TD3.js.map +0 -1
  86. package/dist/chunk-MC6VZLKC.js +0 -2
  87. package/dist/chunk-MC6VZLKC.js.map +0 -1
  88. package/dist/chunk-N52AF6GE.js +0 -2
  89. package/dist/chunk-N52AF6GE.js.map +0 -1
  90. package/dist/chunk-V6R4AWQS.js +0 -2
  91. package/dist/chunk-V6R4AWQS.js.map +0 -1
  92. package/dist/chunk-WXMCINGZ.js +0 -2
  93. package/dist/chunk-WXMCINGZ.js.map +0 -1
  94. package/dist/chunk-WZ533Y4O.js +0 -2
  95. package/dist/chunk-WZ533Y4O.js.map +0 -1
  96. package/dist/chunk-YA4ACPM5.js +0 -2
  97. package/dist/chunk-YA4ACPM5.js.map +0 -1
  98. package/dist/chunk-ZEZ6TRCO.js +0 -2
  99. package/dist/chunk-ZEZ6TRCO.js.map +0 -1
  100. package/dist/datetime-NQTYGZIC.js +0 -2
  101. package/dist/editor-YIRZQR3D.js +0 -2
  102. package/dist/logo-GCKKZP62.js +0 -3
  103. package/dist/logo-GCKKZP62.js.map +0 -1
  104. package/dist/search-UFFZBRQV.js +0 -2
  105. package/dist/search-UFFZBRQV.js.map +0 -1
  106. package/dist/select-A6I27JQU.js +0 -2
  107. package/dist/switch-AFZGXSR3.js +0 -2
  108. package/dist/text-2RL2L5FT.js +0 -2
  109. package/dist/text-6F4QTCNT.js +0 -2
  110. package/dist/textarea-2A4TLWZS.js +0 -2
@@ -1,3 +0,0 @@
1
- import'./index.css';import {jsx,jsxs}from'react/jsx-runtime';function f({title:l,theme:i}){return jsx("a",{className:"fk:flex fk:items-center",href:"/",title:l,children:i==="light"?jsxs("svg",{className:"fk:h-8 fk:w-8",fill:"none",viewBox:"0 0 48 48",xmlns:"http://www.w3.org/2000/svg",children:[jsx("path",{d:"M7 8H41V40H7V8Z",fill:"white"}),jsx("path",{d:"M24 0C42 0 48 6 48 24C48 42 42 48 24 48C6 48 0 42 0 24C0 6 6 0 24 0ZM17.7494 9.52381H8.7619L19.2833 23.8313L8.7619 38.7078H17.7494L21.0499 33.6639V14.2549L17.7494 9.52381ZM38.9577 9.52381H29.9542L26.2857 14.8229V33.0406L29.9542 38.7078H38.9577L28.3908 23.8313L38.9577 9.52381Z",fill:"#020817"})]}):jsxs("svg",{className:"fk:h-8 fk:w-8",fill:"none",viewBox:"0 0 48 48",xmlns:"http://www.w3.org/2000/svg",children:[jsx("path",{d:"M7 8H41V40H7V8Z",fill:"#020817"}),jsx("path",{d:"M24 0C42 0 48 6 48 24C48 42 42 48 24 48C6 48 0 42 0 24C0 6 6 0 24 0ZM17.7494 9.52381H8.7619L19.2833 23.8313L8.7619 38.7078H17.7494L21.0499 33.6639V14.2549L17.7494 9.52381ZM38.9577 9.52381H29.9542L26.2857 14.8229V33.0406L29.9542 38.7078H38.9577L28.3908 23.8313L38.9577 9.52381Z",fill:"white"})]})})}
2
- export{f as Logo};//# sourceMappingURL=logo-GCKKZP62.js.map
3
- //# sourceMappingURL=logo-GCKKZP62.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ui/components/logo.tsx"],"names":["Logo","title","theme","jsx","jsxs"],"mappings":"6DAEO,SAASA,CAAAA,CAAK,CAAE,KAAA,CAAAC,CAAAA,CAAO,MAAAC,CAAM,CAAA,CAA8D,CAChG,OACEC,IAAC,GAAA,CAAA,CAAE,SAAA,CAAU,yBAAA,CAA0B,IAAA,CAAK,IAAI,KAAA,CAAOF,CAAAA,CACpD,QAAA,CAAAC,CAAAA,GAAU,QACTE,IAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,eAAA,CAAgB,KAAK,MAAA,CAAO,OAAA,CAAQ,YAAY,KAAA,CAAM,4BAAA,CACnE,UAAAD,GAAAA,CAAC,MAAA,CAAA,CAAK,CAAA,CAAE,iBAAA,CAAkB,KAAK,OAAA,CAAQ,CAAA,CACvCA,GAAAA,CAAC,MAAA,CAAA,CACC,EAAE,sRAAA,CACF,IAAA,CAAK,SAAA,CACP,CAAA,CAAA,CACF,EAEAC,IAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,eAAA,CAAgB,KAAK,MAAA,CAAO,OAAA,CAAQ,WAAA,CAAY,KAAA,CAAM,6BACnE,QAAA,CAAA,CAAAD,GAAAA,CAAC,MAAA,CAAA,CAAK,CAAA,CAAE,kBAAkB,IAAA,CAAK,SAAA,CAAU,CAAA,CACzCA,GAAAA,CAAC,QACC,CAAA,CAAE,sRAAA,CACF,KAAK,OAAA,CACP,CAAA,CAAA,CACF,EAEJ,CAEJ","file":"logo-GCKKZP62.js","sourcesContent":["import type { JSX } from 'react';\n\nexport function Logo({ title, theme }: { title: string; theme: string | undefined }): JSX.Element {\n return (\n <a className=\"fk:flex fk:items-center\" href=\"/\" title={title}>\n {theme === 'light' ? (\n <svg className=\"fk:h-8 fk:w-8\" fill=\"none\" viewBox=\"0 0 48 48\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M7 8H41V40H7V8Z\" fill=\"white\" />\n <path\n d=\"M24 0C42 0 48 6 48 24C48 42 42 48 24 48C6 48 0 42 0 24C0 6 6 0 24 0ZM17.7494 9.52381H8.7619L19.2833 23.8313L8.7619 38.7078H17.7494L21.0499 33.6639V14.2549L17.7494 9.52381ZM38.9577 9.52381H29.9542L26.2857 14.8229V33.0406L29.9542 38.7078H38.9577L28.3908 23.8313L38.9577 9.52381Z\"\n fill=\"#020817\"\n />\n </svg>\n ) : (\n <svg className=\"fk:h-8 fk:w-8\" fill=\"none\" viewBox=\"0 0 48 48\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M7 8H41V40H7V8Z\" fill=\"#020817\" />\n <path\n d=\"M24 0C42 0 48 6 48 24C48 42 42 48 24 48C6 48 0 42 0 24C0 6 6 0 24 0ZM17.7494 9.52381H8.7619L19.2833 23.8313L8.7619 38.7078H17.7494L21.0499 33.6639V14.2549L17.7494 9.52381ZM38.9577 9.52381H29.9542L26.2857 14.8229V33.0406L29.9542 38.7078H38.9577L28.3908 23.8313L38.9577 9.52381Z\"\n fill=\"white\"\n />\n </svg>\n )}\n </a>\n );\n}\n"]}
@@ -1,2 +0,0 @@
1
- import'./index.css';import {e}from'./chunk-WZ533Y4O.js';import {m,v,q,p,r,t,b}from'./chunk-LL2Z4TD3.js';import'./chunk-V6R4AWQS.js';import'./chunk-WDRCARCP.js';import'./chunk-EYGOJ2ZN.js';import'./chunk-WIUPQHZ5.js';import {a}from'./chunk-O2QMYUPS.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:d="Search...",noResultsMsg:a$1="Nothing found",className:i,onSearchChange:k,projectId:P,schema:u}){let[I,r$1]=useState(false),[p$1,h]=useState(""),l=useMemo(()=>z(u),[u]),[R,g]=useState(l),n=useRef(null),{results:y,isLoading:E}=e(P,R),L=useNavigate();function B(e){h(e),e.length>0&&(r$1(true),g({...l,commonParams:{q:e}})),e.length===0&&r$1(false),k&&k(e);}function _(){h(""),r$1(false),g(l),n.current&&(n.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 fk:justify-center",onBlur:()=>{setTimeout(()=>{r$1(false);},300);},onKeyDown:e=>{e.key==="Escape"&&(e.preventDefault(),r$1(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 fk:md:w-[100px] fk:lg:w-[300px] fk:ring-offset-background","fk:focus-within:outline-hidden fk:focus-within:ring-2 fk:focus-within:ring-ring fk:focus-within: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-hidden fk:placeholder:text-muted-foreground fk:disabled:cursor-not-allowed fk:disabled:opacity-50",i),placeholder:d,onMouseDown:()=>{(n.current?.value.length??0)>0&&r$1(true);},onValueChange:B,ref:n,value:p$1}),p$1&&jsx("button",{className:"fk:flex fk:items-center fk:justify-center fk:ml-2 fk:text-muted-foreground fk:hover: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-hidden 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,{"aria-hidden":"true",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-UFFZBRQV.js.map
2
- //# sourceMappingURL=search-UFFZBRQV.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ui/components/search.tsx"],"names":["getBaseSearchRequest","schema","entity","attr","collection","Search","onSelect","searchPlaceholder","noResultsMsg","className","onSearchChange","projectId","isOpen","setIsOpen","useState","inputValue","setInputValue","searchRequest","useMemo","searchQuery","setSearchQuery","inputRef","useRef","results","isLoading","useSearch","navigate","useNavigate","handleOnSearchChange","q","handleClear","url","jsxs","Command","cn","jsx","LoaderCircle","SearchIcon","CommandPrimitive","XIcon","ScrollArea","CommandEmpty","CommandList","CommandGroup","CommandItem","item","entityId","Badge"],"mappings":"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","file":"search-UFFZBRQV.js","sourcesContent":["'use client';\n\nimport { useRef, useState, useMemo } from 'react';\nimport type { JSX } from 'react';\nimport { LoaderCircle, Search as SearchIcon, X as XIcon } from 'lucide-react';\nimport { Command as CommandPrimitive } from 'cmdk';\nimport { useNavigate } from 'react-router-dom';\nimport { useSearch } from '../../core/use-search';\nimport { cn } from '../lib/utils';\nimport { Badge } from '../primitives/badge';\nimport { Command, CommandEmpty, CommandGroup, CommandItem, CommandList } from '../primitives/command';\nimport { ScrollArea } from '../primitives/scroll-area';\nimport type { Entity, SearchRequestProps } from '../../core/types';\n\nexport type ComboBoxItemType = {\n value: string;\n label: string;\n};\n\nexport interface SearchProps {\n onSelect: ({\n entityName,\n entityNamePlural,\n entityId,\n }: {\n entityName: string;\n entityNamePlural: string;\n entityId: string;\n }) => void;\n searchPlaceholder?: string;\n noResultsMsg?: string;\n className?: string;\n onSearchChange?: (e: string) => void;\n projectId: string;\n schema: Entity[];\n}\n\nconst getBaseSearchRequest = (schema: Entity[]): SearchRequestProps => {\n const collections = schema\n .filter((entity) => entity.attributes.some((attr) => attr.isSearchable))\n .map((entity) => entity.plural);\n\n return {\n searchRequests: {\n searches: collections.map((collection) => ({\n collection,\n })),\n },\n commonParams: {\n q: '',\n },\n };\n};\n\nexport function Search({\n onSelect,\n searchPlaceholder = 'Search...',\n noResultsMsg = 'Nothing found',\n className,\n onSearchChange,\n projectId,\n schema,\n}: SearchProps): JSX.Element {\n const [isOpen, setIsOpen] = useState(false);\n const [inputValue, setInputValue] = useState('');\n const searchRequest = useMemo(() => getBaseSearchRequest(schema), [schema]);\n const [searchQuery, setSearchQuery] = useState(searchRequest);\n const inputRef = useRef<HTMLInputElement>(null);\n const { results, isLoading } = useSearch(projectId, searchQuery);\n const navigate = useNavigate();\n\n function handleOnSearchChange(q: string): void {\n setInputValue(q);\n // TODO: Add debounce\n if (q.length > 0) {\n setIsOpen(true);\n setSearchQuery({ ...searchRequest, commonParams: { q } });\n }\n\n if (q.length === 0) setIsOpen(false);\n\n if (onSearchChange) {\n onSearchChange(q);\n }\n }\n\n function handleClear(): void {\n setInputValue('');\n setIsOpen(false);\n setSearchQuery(searchRequest);\n\n if (inputRef.current) {\n inputRef.current.value = '';\n }\n\n // Remove id from URL if present\n const url = new URL(window.location.href);\n\n if (url.searchParams.has('id')) {\n url.searchParams.delete('id');\n navigate(url.pathname + url.search);\n }\n }\n\n // TODO: handle error\n\n return (\n <Command\n className=\"fk:relative fk:overflow-visible fk:h-auto fk:justify-center\"\n onBlur={() => {\n // close after a delay to allow any click event from the results list to be handled\n setTimeout(() => {\n setIsOpen(false);\n }, 300);\n }}\n onKeyDown={(e) => {\n if (e.key === 'Escape') {\n e.preventDefault();\n setIsOpen(false);\n }\n }}\n shouldFilter={false}\n >\n <div\n className={cn(\n 'fk:flex fk:items-center fk:border fk:border-border fk:rounded-md fk:px-3 fk:h-9 fk:md:w-[100px] fk:lg:w-[300px] fk:ring-offset-background',\n 'fk:focus-within:outline-hidden fk:focus-within:ring-2 fk:focus-within:ring-ring fk:focus-within:ring-offset-2'\n )}\n >\n {isLoading ? (\n <LoaderCircle className=\"fk:mr-2 fk:h-4 fk:w-4 fk:shrink-0 fk:opacity-50 fk:animate-spin\" />\n ) : (\n <SearchIcon className=\"fk:mr-2 fk:h-4 fk:w-4 fk:shrink-0 fk:opacity-50\" />\n )}\n <CommandPrimitive.Input\n className={cn(\n 'fk:flex fk:h-9 fk:w-full fk:rounded-md fk:bg-transparent fk:py-1 fk:text-sm fk:outline-hidden fk:placeholder:text-muted-foreground fk:disabled:cursor-not-allowed fk:disabled:opacity-50',\n className\n )}\n placeholder={searchPlaceholder}\n onMouseDown={() => {\n if ((inputRef.current?.value.length ?? 0) > 0) setIsOpen(true);\n }}\n onValueChange={handleOnSearchChange}\n ref={inputRef}\n value={inputValue}\n />\n {inputValue && (\n <button\n className=\"fk:flex fk:items-center fk:justify-center fk:ml-2 fk:text-muted-foreground fk:hover:text-foreground\"\n onClick={handleClear}\n type=\"button\"\n >\n <XIcon className=\"fk:h-4 fk:w-4\" />\n </button>\n )}\n </div>\n <div className=\"fk:relative fk:max-w-[600px]\">\n <div\n className={cn(\n '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-hidden fk:drop-shadow-md fk:border fk:border-border',\n isOpen ? 'fk:block' : 'fk:hidden'\n )}\n >\n <ScrollArea className=\"fk:max-h-[220px] fk:overflow-auto\">\n <CommandEmpty>{noResultsMsg}</CommandEmpty>\n <CommandList>\n <CommandGroup>\n {results.length > 0 && <CommandItem aria-hidden=\"true\" className=\"fk:hidden!\" value=\"-\" />}\n {results.map((item) => (\n <CommandItem\n className=\"fk:flex\"\n key={item._id}\n value={item._id}\n onSelect={(entityId) => {\n onSelect({ entityName: item._entityName, entityNamePlural: item._entityNamePlural, entityId });\n }}\n >\n <span className=\"fk:basis-full\">{item[Object.keys(item)[3]]}</span>\n <Badge className=\"fk:py-px fk:text-[0.6875rem] fk:leading-3 fk:bg-teal-400\">\n {item._entityName}\n </Badge>\n </CommandItem>\n ))}\n </CommandGroup>\n </CommandList>\n </ScrollArea>\n </div>\n </div>\n </Command>\n );\n}\n"]}
@@ -1,2 +0,0 @@
1
- import'./index.css';export{a as Select}from'./chunk-W3TUEJJL.js';import'./chunk-ZEZ6TRCO.js';import'./chunk-YW2EEXMV.js';import'./chunk-O2QMYUPS.js';//# sourceMappingURL=select-A6I27JQU.js.map
2
- //# sourceMappingURL=select-A6I27JQU.js.map
@@ -1,2 +0,0 @@
1
- import'./index.css';export{a as Switch}from'./chunk-73RMWG53.js';import'./chunk-HAQICAOQ.js';import'./chunk-KGYH74NA.js';import'./chunk-FVFRTCEB.js';import'./chunk-O2QMYUPS.js';//# sourceMappingURL=switch-AFZGXSR3.js.map
2
- //# sourceMappingURL=switch-AFZGXSR3.js.map
@@ -1,2 +0,0 @@
1
- import'./index.css';export{a as Text}from'./chunk-WXMCINGZ.js';import'./chunk-7GBAYC7G.js';import'./chunk-HAQICAOQ.js';import'./chunk-FVFRTCEB.js';import'./chunk-O2QMYUPS.js';//# sourceMappingURL=text-2RL2L5FT.js.map
2
- //# sourceMappingURL=text-2RL2L5FT.js.map
@@ -1,2 +0,0 @@
1
- import'./index.css';export{a as Text}from'./chunk-CPUC4QXH.js';import'./chunk-ZEZ6TRCO.js';import'./chunk-YW2EEXMV.js';import'./chunk-O2QMYUPS.js';//# sourceMappingURL=text-6F4QTCNT.js.map
2
- //# sourceMappingURL=text-6F4QTCNT.js.map
@@ -1,2 +0,0 @@
1
- import'./index.css';export{a as Textarea}from'./chunk-YA4ACPM5.js';import'./chunk-OEWYLKO7.js';import'./chunk-HAQICAOQ.js';import'./chunk-FVFRTCEB.js';import'./chunk-O2QMYUPS.js';//# sourceMappingURL=textarea-2A4TLWZS.js.map
2
- //# sourceMappingURL=textarea-2A4TLWZS.js.map