@flexkit/studio 0.0.11 → 0.0.13

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 (53) hide show
  1. package/dist/asset-2IWHRTPZ.js +2 -0
  2. package/dist/{asset-65455B7V.js.map → asset-2IWHRTPZ.js.map} +1 -1
  3. package/dist/boolean-OC4EQEDW.js +2 -0
  4. package/dist/{boolean-3ZHXDPHB.js.map → boolean-OC4EQEDW.js.map} +1 -1
  5. package/dist/chunk-J63QWF2X.js +14 -0
  6. package/dist/chunk-J63QWF2X.js.map +1 -0
  7. package/dist/chunk-P745RJ7B.js +2 -0
  8. package/dist/chunk-P745RJ7B.js.map +1 -0
  9. package/dist/chunk-UKRYV5CE.js +2 -0
  10. package/dist/chunk-UKRYV5CE.js.map +1 -0
  11. package/dist/chunk-XSNFFA5W.js +2 -0
  12. package/dist/chunk-XSNFFA5W.js.map +1 -0
  13. package/dist/datetime-E36AZJZE.js +2 -0
  14. package/dist/{datetime-XX4YBITU.js.map → datetime-E36AZJZE.js.map} +1 -1
  15. package/dist/editor-A6ZBSVFX.js +2 -0
  16. package/dist/{editor-ZLTDOUPT.js.map → editor-A6ZBSVFX.js.map} +1 -1
  17. package/dist/index.js +92 -92
  18. package/dist/index.js.map +1 -1
  19. package/dist/logo-XE2KYB64.js +3 -0
  20. package/dist/{logo-LB22KTDD.js.map → logo-XE2KYB64.js.map} +1 -1
  21. package/dist/project-selector-EC52GCO3.js +2 -0
  22. package/dist/{project-selector-4G4WL2XQ.js.map → project-selector-EC52GCO3.js.map} +1 -1
  23. package/dist/search-ZSMT34RQ.js +2 -0
  24. package/dist/{search-CKPEOD77.js.map → search-ZSMT34RQ.js.map} +1 -1
  25. package/dist/switch-RTOPEJUM.js +2 -0
  26. package/dist/{switch-FU7XZ34K.js.map → switch-RTOPEJUM.js.map} +1 -1
  27. package/dist/text-4V63FVFM.js +2 -0
  28. package/dist/{text-DFG6LLN6.js.map → text-4V63FVFM.js.map} +1 -1
  29. package/dist/text-6SMN3R4Y.js +2 -0
  30. package/dist/{text-LNFBPXBT.js.map → text-6SMN3R4Y.js.map} +1 -1
  31. package/dist/textarea-EMZIRBVZ.js +2 -0
  32. package/dist/{textarea-XFHA5IEI.js.map → textarea-EMZIRBVZ.js.map} +1 -1
  33. package/dist/ui.js +1 -1
  34. package/dist/ui.js.map +1 -1
  35. package/dist/user-nav-ORQ6W5W3.js +2 -0
  36. package/dist/{user-nav-5LW5USDZ.js.map → user-nav-ORQ6W5W3.js.map} +1 -1
  37. package/package.json +1 -1
  38. package/dist/asset-65455B7V.js +0 -2
  39. package/dist/boolean-3ZHXDPHB.js +0 -2
  40. package/dist/chunk-MOR653JA.js +0 -2
  41. package/dist/chunk-MOR653JA.js.map +0 -1
  42. package/dist/chunk-NJN7EGGK.js +0 -2
  43. package/dist/chunk-NJN7EGGK.js.map +0 -1
  44. package/dist/datetime-XX4YBITU.js +0 -2
  45. package/dist/editor-ZLTDOUPT.js +0 -2
  46. package/dist/logo-LB22KTDD.js +0 -3
  47. package/dist/project-selector-4G4WL2XQ.js +0 -2
  48. package/dist/search-CKPEOD77.js +0 -2
  49. package/dist/switch-FU7XZ34K.js +0 -2
  50. package/dist/text-DFG6LLN6.js +0 -2
  51. package/dist/text-LNFBPXBT.js +0 -2
  52. package/dist/textarea-XFHA5IEI.js +0 -2
  53. package/dist/user-nav-5LW5USDZ.js +0 -2
@@ -0,0 +1,3 @@
1
+ import'./index.css';import'./chunk-XSNFFA5W.js';import {jsx,jsxs}from'react/jsx-runtime';function L({title:t,theme:i}){return jsx("a",{className:"fk-flex fk-items-center",href:"/",title:t,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{L as Logo};//# sourceMappingURL=logo-XE2KYB64.js.map
3
+ //# sourceMappingURL=logo-XE2KYB64.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ui/components/logo.tsx"],"names":["Logo","title","theme","jsx","jsxs"],"mappings":"6DAAO,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-LB22KTDD.js","sourcesContent":["export 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
+ {"version":3,"sources":["../src/ui/components/logo.tsx"],"names":["Logo","title","theme","jsx","jsxs"],"mappings":"yFAAO,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-XE2KYB64.js","sourcesContent":["export 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"]}
@@ -0,0 +1,2 @@
1
+ import'./index.css';import {a,d,c,g,i}from'./chunk-2RBOTHKE.js';import'./chunk-AXB7FQV2.js';import'./chunk-XSNFFA5W.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-EC52GCO3.js.map
2
+ //# sourceMappingURL=project-selector-EC52GCO3.js.map
@@ -1 +1 @@
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"]}
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":"yOAUO,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-EC52GCO3.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"]}
@@ -0,0 +1,2 @@
1
+ import'./index.css';import {j}from'./chunk-P745RJ7B.js';import {m,v,q,p,r,t,b}from'./chunk-ZOBZU47M.js';import'./chunk-J63QWF2X.js';import'./chunk-7YBJLUUE.js';import {a}from'./chunk-AXB7FQV2.js';import'./chunk-XSNFFA5W.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-ZSMT34RQ.js.map
2
+ //# sourceMappingURL=search-ZSMT34RQ.js.map
@@ -1 +1 @@
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-CKPEOD77.js","sourcesContent":["'use client';\n\nimport { useRef, useState, useMemo } 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\"\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 md:fk-w-[100px] lg:fk-w-[300px] fk-ring-offset-background',\n 'focus-within:fk-outline-none focus-within:fk-ring-2 focus-within:fk-ring-ring focus-within:fk-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-none placeholder:fk-text-muted-foreground disabled:fk-cursor-not-allowed disabled:fk-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 hover:fk-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-none 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 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
+ {"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-ZSMT34RQ.js","sourcesContent":["'use client';\n\nimport { useRef, useState, useMemo } 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\"\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 md:fk-w-[100px] lg:fk-w-[300px] fk-ring-offset-background',\n 'focus-within:fk-outline-none focus-within:fk-ring-2 focus-within:fk-ring-ring focus-within:fk-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-none placeholder:fk-text-muted-foreground disabled:fk-cursor-not-allowed disabled:fk-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 hover:fk-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-none 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 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"]}
@@ -0,0 +1,2 @@
1
+ import'./index.css';export{a as Switch}from'./chunk-OOYWOWHR.js';import'./chunk-AYKEFG4H.js';import'./chunk-OTQ3BR2A.js';import'./chunk-AXB7FQV2.js';import'./chunk-XSNFFA5W.js';//# sourceMappingURL=switch-RTOPEJUM.js.map
2
+ //# sourceMappingURL=switch-RTOPEJUM.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"switch-FU7XZ34K.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"switch-RTOPEJUM.js"}
@@ -0,0 +1,2 @@
1
+ import'./index.css';export{a as Text}from'./chunk-4PHVU7DD.js';import'./chunk-XSNFFA5W.js';//# sourceMappingURL=text-4V63FVFM.js.map
2
+ //# sourceMappingURL=text-4V63FVFM.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"text-DFG6LLN6.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"text-4V63FVFM.js"}
@@ -0,0 +1,2 @@
1
+ import'./index.css';export{a as Text}from'./chunk-2WWU4XFO.js';import'./chunk-OX6FVDUT.js';import'./chunk-AYKEFG4H.js';import'./chunk-OTQ3BR2A.js';import'./chunk-AXB7FQV2.js';import'./chunk-XSNFFA5W.js';//# sourceMappingURL=text-6SMN3R4Y.js.map
2
+ //# sourceMappingURL=text-6SMN3R4Y.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"text-LNFBPXBT.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"text-6SMN3R4Y.js"}
@@ -0,0 +1,2 @@
1
+ import'./index.css';export{a as Textarea}from'./chunk-HIMN6EYJ.js';import'./chunk-AYKEFG4H.js';import'./chunk-OTQ3BR2A.js';import'./chunk-AXB7FQV2.js';import'./chunk-XSNFFA5W.js';//# sourceMappingURL=textarea-EMZIRBVZ.js.map
2
+ //# sourceMappingURL=textarea-EMZIRBVZ.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"textarea-XFHA5IEI.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"textarea-EMZIRBVZ.js"}
package/dist/ui.js CHANGED
@@ -1,2 +1,2 @@
1
- import'./index.css';import {e}from'./chunk-5MTVN77Y.js';export{e as Separator,f as Table,h as TableBody,m as TableCaption,l as TableCell,i as TableFooter,k as TableHead,g as TableHeader,j as TableRow,b as Toggle,c as ToggleGroup,d as ToggleGroupItem,a as toggleVariants}from'./chunk-5MTVN77Y.js';import {a as a$1,b as b$1,c,e as e$1}from'./chunk-RMSYYUQM.js';export{b as Tooltip,e as TooltipContent,d as TooltipPortal,a as TooltipProvider,c as TooltipTrigger}from'./chunk-RMSYYUQM.js';export{a as Select,g as SelectContent,b as SelectGroup,i as SelectItem,h as SelectLabel,f as SelectScrollDownButton,e as SelectScrollUpButton,j as SelectSeparator,d as SelectTrigger,c as SelectValue}from'./chunk-2RBOTHKE.js';export{b as Badge,m as Command,n as CommandDialog,q as CommandEmpty,r as CommandGroup,o as CommandInput,t as CommandItem,p as CommandList,s as CommandSeparator,u as CommandShortcut,c as Dialog,f as DialogClose,h as DialogContent,l as DialogDescription,j as DialogFooter,i as DialogHeader,g as DialogOverlay,e as DialogPortal,k as DialogTitle,d as DialogTrigger,v as ScrollArea,w as ScrollBar,a as badgeVariants}from'./chunk-ZOBZU47M.js';export{a as Avatar,c as AvatarFallback,b as AvatarImage}from'./chunk-K5CEPNVI.js';import {b,r as r$1}from'./chunk-64KAF6GA.js';export{b as Button,c as DropdownMenu,m as DropdownMenuCheckboxItem,k as DropdownMenuContent,e as DropdownMenuGroup,l as DropdownMenuItem,o as DropdownMenuLabel,f as DropdownMenuPortal,h as DropdownMenuRadioGroup,n as DropdownMenuRadioItem,p as DropdownMenuSeparator,q as DropdownMenuShortcut,g as DropdownMenuSub,j as DropdownMenuSubContent,i as DropdownMenuSubTrigger,d as DropdownMenuTrigger,r as Skeleton,a as buttonVariants}from'./chunk-64KAF6GA.js';import {a as a$2}from'./chunk-OX6FVDUT.js';export{a as Input}from'./chunk-OX6FVDUT.js';export{b as Form,g as FormControl,h as FormDescription,c as FormField,e as FormItem,f as FormLabel,i as FormMessage,a as Label,d as useFormField}from'./chunk-OTQ3BR2A.js';import {a}from'./chunk-AXB7FQV2.js';import*as G from'lucide-react';import {X,Menu,PanelLeft,GripVertical}from'lucide-react';import*as S from'react-resizable-panels';import {jsx,jsxs}from'react/jsx-runtime';import*as r from'react';import {createElement}from'react';import*as d from'@radix-ui/react-dialog';import {cva}from'class-variance-authority';import ha from'fuse.js';import {NavLink}from'react-router-dom';import {Slot}from'@radix-ui/react-slot';import {groupBy}from'ramda';import*as k from'@radix-ui/react-tabs';function Wt({className:t,...e}){return jsx(S.PanelGroup,{className:a("fk-flex fk-h-full fk-w-full data-[panel-group-direction=vertical]:fk-flex-col",t),...e})}var $t=S.Panel;function jt({withHandle:t,className:e,...a$1}){return jsx(S.PanelResizeHandle,{className:a("fk-relative fk-flex fk-w-px fk-items-center fk-justify-center fk-bg-border after:fk-absolute after:fk-inset-y-0 after:fk-left-1/2 after:fk-w-1 after:fk--translate-x-1/2 focus-visible:fk-outline-none focus-visible:fk-ring-1 focus-visible:fk-ring-ring focus-visible:fk-ring-offset-1 data-[panel-group-direction=vertical]:fk-h-px data-[panel-group-direction=vertical]:fk-w-full data-[panel-group-direction=vertical]:after:fk-left-0 data-[panel-group-direction=vertical]:after:fk-h-1 data-[panel-group-direction=vertical]:after:fk-w-full data-[panel-group-direction=vertical]:after:fk--translate-y-1/2 data-[panel-group-direction=vertical]:after:fk-translate-x-0 [&[data-panel-group-direction=vertical]>div]:fk-rotate-90",e),...a$1,children:!!t&&jsx("div",{className:"fk-z-10 fk-flex fk-h-4 fk-w-3 fk-items-center fk-justify-center fk-rounded-sm fk-border fk-bg-border",children:jsx(GripVertical,{className:"fk-h-2.5 fk-w-2.5"})})})}var U=d.Root,Jt=d.Trigger,Ut=d.Close,re=d.Portal,q=r.forwardRef(({className:t,...e},a$1)=>jsx(d.Overlay,{className:a("fk-fixed fk-inset-0 fk-z-50 fk-bg-overlay/75 fk-backdrop-blur-[1px] data-[state=open]:fk-animate-in data-[state=closed]:fk-animate-out data-[state=closed]:fk-fade-out-0 data-[state=open]:fk-fade-in-0",t),...e,ref:a$1}));q.displayName=d.Overlay.displayName;var qt=cva("fk-fixed fk-z-50 fk-gap-4 fk-bg-background fk-p-6 fk-shadow-lg fk-transition fk-ease-in-out data-[state=open]:fk-animate-in data-[state=closed]:fk-animate-out data-[state=closed]:fk-duration-300 data-[state=open]:fk-duration-500",{variants:{side:{top:"fk-inset-x-0 fk-top-0 fk-border-b data-[state=closed]:fk-slide-out-to-top data-[state=open]:fk-slide-in-from-top",bottom:"fk-inset-x-0 fk-bottom-0 fk-border-t data-[state=closed]:fk-slide-out-to-bottom data-[state=open]:fk-slide-in-from-bottom",left:"fk-inset-y-0 fk-left-0 fk-h-full fk-w-3/4 fk-border-r fk-border-r-sidebar-border data-[state=closed]:fk-slide-out-to-left data-[state=open]:fk-slide-in-from-left sm:fk-max-w-sm",right:"fk-inset-y-0 fk-right-0 fk-h-full fk-w-3/4 fk- fk-border-l data-[state=closed]:fk-slide-out-to-right data-[state=open]:fk-slide-in-from-right sm:fk-max-w-sm"}},defaultVariants:{side:"right"}}),D=r.forwardRef(({side:t="right",className:e,children:a$1,...f},s)=>jsxs(re,{children:[jsx(q,{}),jsxs(d.Content,{className:a(qt({side:t}),e),ref:s,...f,children:[a$1,jsxs(d.Close,{className:"fk-absolute fk-right-4 fk-top-4 fk-rounded-sm fk-opacity-70 fk-ring-offset-background fk-transition-opacity hover:fk-opacity-100 focus:fk-outline-none focus:fk-ring-2 focus:fk-ring-ring focus:fk-ring-offset-2 disabled:fk-pointer-events-none data-[state=open]:fk-bg-secondary",children:[jsx(X,{className:"fk-h-4 fk-w-4"}),jsx("span",{className:"fk-sr-only",children:"Close"})]})]})]}));D.displayName=d.Content.displayName;function ie({className:t,...e}){return jsx("div",{className:a("fk-flex fk-flex-col fk-space-y-2 fk-text-center sm:fk-text-left",t),...e})}ie.displayName="SheetHeader";function ne({className:t,...e}){return jsx("div",{className:a("fk-flex fk-flex-col-reverse sm:fk-flex-row sm:fk-justify-end sm:fk-space-x-2",t),...e})}ne.displayName="SheetFooter";var fe=r.forwardRef(({className:t,...e},a$1)=>jsx(d.Title,{className:a("fk-text-lg fk-font-semibold fk-text-foreground",t),ref:a$1,...e}));fe.displayName=d.Title.displayName;var se=r.forwardRef(({className:t,...e},a$1)=>jsx(d.Description,{className:a("fk-text-sm fk-text-muted-foreground",t),ref:a$1,...e}));se.displayName=d.Description.displayName;var Y=768;function de(){let[t,e]=r.useState(void 0);return r.useEffect(()=>{let a=window.matchMedia(`(max-width: ${Y-1}px)`),f=()=>{e(window.innerWidth<Y);};return a.addEventListener("change",f),e(window.innerWidth<Y),()=>a.removeEventListener("change",f)},[]),!!t}var ea="flexkit:sidebar:state",ta=3600*24*7,aa="16rem",oa="18rem",ra="2rem",ia="b",le=r.createContext(null);function y(){let t=r.useContext(le);if(!t)throw new Error("useSidebar must be used within a SidebarProvider.");return t}var ce=r.forwardRef(({defaultOpen:t=true,open:e,onOpenChange:a$2,className:f,style:s,children:c,...n},l)=>{let u=de(),[h,b]=r.useState(false),[P,Se]=r.useState(t),R=e??P,T=r.useCallback(m=>{let g=typeof m=="function"?m(R):m;a$2?a$2(g):Se(g),document.cookie=`${ea}=${g}; path=/; max-age=${ta}`;},[a$2,R]),M=r.useCallback(()=>u?b(m=>!m):T(m=>!m),[u,T,b]);r.useEffect(()=>{let m=g=>{g.key===ia&&(g.metaKey||g.ctrlKey)&&(g.preventDefault(),M());};return window.addEventListener("keydown",m),()=>window.removeEventListener("keydown",m)},[M]);let oe=R?"expanded":"collapsed",Re=r.useMemo(()=>({state:oe,open:R,setOpen:T,isMobile:u,openMobile:h,setOpenMobile:b,toggleSidebar:M}),[oe,R,T,u,h,b,M]);return jsx(le.Provider,{value:Re,children:jsx(a$1,{delayDuration:0,children:jsx("div",{style:{"--sidebar-width":aa,"--sidebar-width-icon":ra,...s},className:a("fk-group/sidebar-wrapper fk-flex fk-w-full has-[[data-variant=inset]]:fk-bg-sidebar fk-overflow-hidden",f),ref:l,...n,children:c})})})});ce.displayName="SidebarProvider";var Z=r.forwardRef(({side:t="left",variant:e="sidebar",collapsible:a$1="offcanvas",className:f,children:s,...c},n)=>{let{isMobile:l,state:u,openMobile:h,setOpenMobile:b}=y();return a$1==="none"?jsx("div",{className:a("fk-flex fk-h-full fk-w-[--sidebar-width] fk-flex-col fk-bg-sidebar fk-text-sidebar-foreground",f),ref:n,...c,children:s}):l?jsx(U,{open:h,onOpenChange:b,...c,children:jsx(D,{"data-sidebar":"sidebar","data-mobile":"true",className:"fk-w-[--sidebar-width] fk-bg-sidebar fk-p-0 fk-text-sidebar-foreground [&>button]:fk-hidden",style:{"--sidebar-width":oa},side:t,children:jsx("div",{className:"fk-flex fk-h-full fk-w-full fk-flex-col",children:s})})}):jsxs("div",{ref:n,className:"fk-relative fk-group fk-peer fk-hidden md:fk-block fk-text-sidebar-foreground","data-state":u,"data-collapsible":u==="collapsed"?a$1:"","data-variant":e,"data-side":t,children:[jsx("div",{className:a("fk-duration-200 fk-relative fk-h-svh fk-w-[--sidebar-width] fk-bg-transparent fk-transition-[width] fk-ease-linear","group-data-[collapsible=offcanvas]:fk-w-0","group-data-[side=right]:fk-rotate-180",e==="floating"||e==="inset"?"group-data-[collapsible=icon]:fk-w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]":"group-data-[collapsible=icon]:fk-w-[--sidebar-width-icon]")}),jsx("div",{className:a("fk-duration-200 fk-absolute fk-inset-y-0 fk-z-10 fk-hidden fk-h-[calc(100svh-3.5rem)] fk-w-[--sidebar-width] fk-transition-[left,right,width] fk-ease-linear md:fk-flex",t==="left"?"fk-left-0 group-data-[collapsible=offcanvas]:fk-left-[calc(var(--sidebar-width)*-1)]":"fk-right-0 group-data-[collapsible=offcanvas]:fk-right-[calc(var(--sidebar-width)*-1)]",e==="floating"||e==="inset"?"group-data-[collapsible=icon]:fk-w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)] group-data-[side=left]:fk-border-r group-data-[side=right]:fk-border-l":"group-data-[collapsible=icon]:fk-w-[--sidebar-width-icon] group-data-[side=left]:fk-border-r group-data-[side=right]:fk-border-l",f),...c,children:jsx("div",{"data-sidebar":"sidebar",className:"fk-flex fk-h-full fk-w-full fk-flex-col fk-bg-sidebar group-data-[variant=floating]:fk-rounded-lg group-data-[variant=floating]:fk-border group-data-[variant=floating]:fk-border-sidebar-border group-data-[variant=floating]:fk-shadow",children:s})})]})});Z.displayName="Sidebar";var pe=r.forwardRef(({className:t,onClick:e,...a$1},f)=>{let{isMobile:s,toggleSidebar:c}=y();return jsxs(b,{ref:f,"data-sidebar":"trigger",variant:"ghost",size:"icon",className:a("fk-h-7 fk-w-7",t),onClick:n=>{e?.(n),c();},...a$1,children:[s?jsx(Menu,{}):jsx(PanelLeft,{}),jsx("span",{className:"fk-sr-only",children:"Toggle Sidebar"})]})});pe.displayName="SidebarTrigger";var Q=r.forwardRef(({className:t,...e},a$1)=>{let{toggleSidebar:f}=y();return jsx("button",{ref:a$1,"data-sidebar":"rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:f,title:"Toggle Sidebar",className:a("fk-absolute fk-inset-y-0 fk-z-20 fk-hidden fk-w-4 fk--translate-x-1/2 fk-transition-all fk-ease-linear after:fk-absolute after:fk-inset-y-0 after:fk-left-1/2 after:fk-w-[2px] after:fk-bg-sidebar-border hover:after:fk-bg-muted-foreground group-data-[side=left]:fk--right-4 group-data-[side=right]:fk-left-0 sm:fk-flex","[[data-side=left]_&]:fk-cursor-w-resize [[data-side=right]_&]:fk-cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:fk-cursor-e-resize [[data-side=right][data-state=collapsed]_&]:fk-cursor-w-resize","group-data-[collapsible=offcanvas]:fk-translate-x-0 group-data-[collapsible=offcanvas]:after:fk-left-full group-data-[collapsible=offcanvas]:hover:fk-bg-sidebar","[[data-side=left][data-collapsible=offcanvas]_&]:fk--right-2","[[data-side=right][data-collapsible=offcanvas]_&]:fk--left-2",t),...e})});Q.displayName="SidebarRail";var ke=r.forwardRef(({className:t,...e},a$1)=>jsx("main",{ref:a$1,className:a("fk-relative fk-flex fk-flex-1 fk-flex-col fk-bg-background fk-overflow-hidden","peer-data-[variant=inset]:fk-h-[calc(100svh-4rem)]",t),...e}));ke.displayName="SidebarInset";var na=r.forwardRef(({className:t,...e},a$1)=>jsx(a$2,{ref:a$1,"data-sidebar":"input",className:a("fk-h-8 fk-w-full fk-bg-background fk-shadow-none focus-visible:fk-ring-2 focus-visible:fk-ring-sidebar-ring",t),...e}));na.displayName="SidebarInput";var fa=r.forwardRef(({className:t,...e},a$1)=>jsx("div",{ref:a$1,"data-sidebar":"header",className:a("fk-flex fk-flex-col fk-gap-2 fk-p-2",t),...e}));fa.displayName="SidebarHeader";var sa=r.forwardRef(({className:t,...e},a$1)=>jsx("div",{ref:a$1,"data-sidebar":"footer",className:a("fk-flex fk-flex-col fk-gap-2 fk-p-2",t),...e}));sa.displayName="SidebarFooter";var da=r.forwardRef(({className:t,...e$1},a$1)=>jsx(e,{ref:a$1,"data-sidebar":"separator",className:a("fk-mx-2 fk-w-auto fk-bg-sidebar-border",t),...e$1}));da.displayName="SidebarSeparator";var ee=r.forwardRef(({className:t,...e},a$1)=>jsx("div",{ref:a$1,"data-sidebar":"content",className:a("fk-flex fk-min-h-0 fk-flex-1 fk-flex-col fk-overflow-auto group-data-[collapsible=icon]:fk-overflow-hidden",t),...e}));ee.displayName="SidebarContent";var L=r.forwardRef(({className:t,...e},a$1)=>jsx("div",{ref:a$1,"data-sidebar":"group",className:a("fk-relative fk-flex fk-w-full fk-min-w-0 fk-flex-col fk-p-2",t),...e}));L.displayName="SidebarGroup";var te=r.forwardRef(({className:t,asChild:e=false,...a$1},f)=>jsx(e?Slot:"div",{ref:f,"data-sidebar":"group-label",className:a("fk-duration-200 fk-flex fk-h-8 fk-shrink-0 fk-items-center fk-rounded-md fk-px-2 fk-text-xs fk-font-medium fk-text-sidebar-foreground/70 fk-outline-none fk-ring-sidebar-ring fk-transition-[margin,opa] fk-ease-linear focus-visible:fk-ring-2 [&>svg]:fk-size-4 [&>svg]:fk-shrink-0","group-data-[collapsible=icon]:fk--mt-8 group-data-[collapsible=icon]:fk-opacity-0",t),...a$1}));te.displayName="SidebarGroupLabel";var la=r.forwardRef(({className:t,asChild:e=false,...a$1},f)=>jsx(e?Slot:"button",{ref:f,"data-sidebar":"group-action",className:a("fk-absolute fk-right-3 fk-top-3.5 fk-flex fk-aspect-square fk-w-5 fk-items-center fk-justify-center fk-rounded-md fk-p-0 fk-text-sidebar-foreground fk-outline-none fk-ring-sidebar-ring fk-transition-transform hover:fk-bg-sidebar-accent hover:fk-text-sidebar-accent-foreground focus-visible:fk-ring-2 [&>svg]:fk-size-4 [&>svg]:fk-shrink-0","after:fk-absolute after:fk--inset-2 after:md:fk-hidden","group-data-[collapsible=icon]:fk-hidden",t),...a$1}));la.displayName="SidebarGroupAction";var ca=r.forwardRef(({className:t,...e},a$1)=>jsx("div",{ref:a$1,"data-sidebar":"group-content",className:a("fk-w-full fk-text-sm",t),...e}));ca.displayName="SidebarGroupContent";var H=r.forwardRef(({className:t,...e},a$1)=>jsx("ul",{ref:a$1,"data-sidebar":"menu",className:a("fk-flex fk-w-full fk-min-w-0 fk-flex-col fk-gap-1 fk-z-10",t),...e}));H.displayName="SidebarMenu";var z=r.forwardRef(({className:t,...e},a$1)=>jsx("li",{ref:a$1,"data-sidebar":"menu-item",className:a("fk-group/menu-item fk-relative",t),...e}));z.displayName="SidebarMenuItem";var pa=cva("peer/menu-button fk-flex fk-w-full fk-items-center fk-gap-2 fk-overflow-hidden fk-rounded-md fk-p-2 fk-text-left fk-text-sm fk-outline-none fk-ring-sidebar-ring fk-transition-[width,height,padding] hover:fk-bg-sidebar-accent hover:fk-text-sidebar-accent-foreground focus-visible:fk-ring-2 active:fk-bg-sidebar-accent active:fk-text-sidebar-accent-foreground disabled:fk-pointer-events-none disabled:fk-opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:fk-pr-8 aria-disabled:fk-pointer-events-none aria-disabled:fk-opacity-50 data-[active=true]:fk-bg-sidebar-accent data-[active=true]:fk-font-medium data-[active=true]:fk-text-sidebar-accent-foreground data-[state=open]:hover:fk-bg-sidebar-accent data-[state=open]:hover:fk-text-sidebar-accent-foreground group-data-[collapsible=icon]:fk-!size-8 group-data-[collapsible=icon]:fk-!p-2 [&>span:last-child]:fk-truncate [&>svg]:fk-size-4 [&>svg]:fk-shrink-0",{variants:{variant:{default:"hover:fk-bg-sidebar-accent hover:fk-text-sidebar-accent-foreground",outline:"fk-bg-background fk-shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:fk-bg-sidebar-accent hover:fk-text-sidebar-accent-foreground hover:fk-shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"fk-h-8 fk-text-sm",sm:"fk-h-7 fk-text-xs",lg:"fk-h-12 fk-text-sm group-data-[collapsible=icon]:fk-!p-0"}},defaultVariants:{variant:"default",size:"default"}}),B=r.forwardRef(({asChild:t=false,isActive:e=false,variant:a$1="default",size:f="default",tooltip:s,className:c$1,...n},l)=>{let u=t?Slot:"button",{isMobile:h,state:b}=y(),P=jsx(u,{ref:l,"data-sidebar":"menu-button","data-size":f,"data-active":e,className:a(pa({variant:a$1,size:f}),c$1),...n});return s?(typeof s=="string"&&(s={children:s}),jsxs(b$1,{children:[jsx(c,{asChild:true,children:P}),jsx(e$1,{side:"right",align:"center",hidden:b!=="collapsed"||h,...s})]})):P});B.displayName="SidebarMenuButton";var ka=r.forwardRef(({className:t,asChild:e=false,showOnHover:a$1=false,...f},s)=>jsx(e?Slot:"button",{ref:s,"data-sidebar":"menu-action",className:a("fk-absolute fk-right-1 fk-top-1.5 fk-flex fk-aspect-square fk-w-5 fk-items-center fk-justify-center fk-rounded-md fk-p-0 fk-text-sidebar-foreground fk-outline-none fk-ring-sidebar-ring fk-transition-transform hover:fk-bg-sidebar-accent hover:fk-text-sidebar-accent-foreground focus-visible:fk-ring-2 peer-hover/menu-button:fk-text-sidebar-accent-foreground [&>svg]:fk-size-4 [&>svg]:fk-shrink-0","after:fk-absolute after:fk--inset-2 after:md:fk-hidden","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:fk-hidden",a$1&&"group-focus-within/menu-item:fk-opacity-100 group-hover/menu-item:fk-opacity-100 data-[state=open]:fk-opacity-100 peer-data-[active=true]/menu-button:fk-text-sidebar-accent-foreground md:fk-opacity-0",t),...f}));ka.displayName="SidebarMenuAction";var ma=r.forwardRef(({className:t,...e},a$1)=>jsx("div",{ref:a$1,"data-sidebar":"menu-badge",className:a("fk-absolute fk-right-1 fk-flex fk-h-5 fk-min-w-5 fk-items-center fk-justify-center fk-rounded-md fk-px-1 fk-text-xs fk-font-medium fk-tabular-nums fk-text-sidebar-foreground fk-select-none fk-pointer-events-none","peer-hover/menu-button:fk-text-sidebar-accent-foreground peer-data-[active=true]/menu-button:fk-text-sidebar-accent-foreground","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:fk-hidden",t),...e}));ma.displayName="SidebarMenuBadge";var ua=r.forwardRef(({className:t,showIcon:e=false,...a$1},f)=>{let s=r.useMemo(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return jsxs("div",{ref:f,"data-sidebar":"menu-skeleton",className:a("fk-rounded-md fk-h-8 fk-flex fk-gap-2 fk-px-2 fk-items-center",t),...a$1,children:[e&&jsx(r$1,{className:"fk-size-4 fk-rounded-md","data-sidebar":"menu-skeleton-icon"}),jsx(r$1,{className:"fk-h-4 fk-flex-1 fk-max-w-[--skeleton-width]","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":s}})]})});ua.displayName="SidebarMenuSkeleton";var ba=r.forwardRef(({className:t,...e},a$1)=>jsx("ul",{ref:a$1,"data-sidebar":"menu-sub",className:a("fk-mx-3.5 fk-flex fk-min-w-0 fk-translate-x-px fk-flex-col fk-gap-1 fk-border-l fk-border-sidebar-border fk-px-2.5 fk-py-0.5","group-data-[collapsible=icon]:fk-hidden",t),...e}));ba.displayName="SidebarMenuSub";var ga=r.forwardRef(({...t},e)=>jsx("li",{ref:e,...t}));ga.displayName="SidebarMenuSubItem";var va=r.forwardRef(({asChild:t=false,size:e="md",isActive:a$1,className:f,...s},c)=>jsx(t?Slot:"a",{ref:c,"data-sidebar":"menu-sub-button","data-size":e,"data-active":a$1,className:a("fk-flex fk-h-7 fk-min-w-0 fk--translate-x-px fk-items-center fk-gap-2 fk-overflow-hidden fk-rounded-md fk-px-2 fk-text-sidebar-foreground fk-outline-none fk-ring-sidebar-ring hover:fk-bg-sidebar-accent hover:fk-text-sidebar-accent-foreground focus-visible:fk-ring-2 active:fk-bg-sidebar-accent active:fk-text-sidebar-accent-foreground disabled:fk-pointer-events-none disabled:fk-opacity-50 aria-disabled:fk-pointer-events-none aria-disabled:fk-opacity-50 [&>span:last-child]:fk-truncate [&>svg]:fk-size-4 [&>svg]:fk-shrink-0 [&>svg]:fk-text-sidebar-accent-foreground","data-[active=true]:fk-bg-sidebar-accent data-[active=true]:fk-text-sidebar-accent-foreground",e==="sm"&&"fk-text-xs",e==="md"&&"fk-text-sm","group-data-[collapsible=icon]:fk-hidden",f),...s}));va.displayName="SidebarMenuSubButton";var Ra=Object.keys(G).map(t=>({name:t,icon:G[t]})),xa=new ha(Ra,{keys:["name"],threshold:.5});function wa({className:t,menuGroups:e,schema:a}){let f=a.filter(n=>!(n.menu&&"hidden"in n.menu)),s=groupBy(n=>n.menu?.group&&e?.find(l=>l.name===n.menu?.group)?.name||"ungrouped",f),c=e?.filter(n=>s[n.name]?.length);return jsxs(Z,{className:t,collapsible:"icon",variant:"inset",children:[jsxs(ee,{children:[c?.map(n=>jsxs(L,{children:[jsx(te,{children:n.title}),jsx(H,{children:s[n.name]?.map(l=>jsx(z,{children:jsx(B,{asChild:true,isActive:location.pathname.includes(`/list/${l.plural}`),tooltip:A(l.menu?.label??l.plural),children:jsxs(NavLink,{to:`list/${l.plural}`,children:[l.menu?.icon??createElement(G[be(l.name)],{className:"fk-h-4 fk-w-4 fk-mr-2",strokeWidth:2}),jsx("span",{children:A(l.menu?.label??l.plural)})]})})},l.plural))})]},n.name)),jsx(L,{children:jsx(H,{children:s.ungrouped?.map(n=>jsx(z,{children:jsx(B,{asChild:true,isActive:location.pathname.includes(`/list/${n.plural}`),tooltip:A(n.menu?.label??n.plural),children:jsxs(NavLink,{to:`list/${n.plural}`,children:[createElement(G[be(n.name)],{className:"fk-h-4 fk-w-4 fk-mr-2",strokeWidth:2}),jsx("span",{children:A(n.menu?.label??n.plural)})]})})},n.plural))})})]}),jsx(Q,{})]})}function A(t){let e=t.replace(/([A-Z])/g," $1");return e.charAt(0).toUpperCase()+e.slice(1).trim()}function be(t){let e=xa.search(t);return e.length>0?e[0].item.name:"Dock"}var ya=k.Root,ge=r.forwardRef(({className:t,...e},a$1)=>jsx(k.List,{className:a("fk-inline-flex fk-h-10 fk-items-center fk-justify-center fk-rounded-md fk-bg-muted fk-p-1 fk-text-muted-foreground",t),ref:a$1,...e}));ge.displayName=k.List.displayName;var ve=r.forwardRef(({className:t,...e},a$1)=>jsx(k.Trigger,{className:a("fk-inline-flex fk-items-center fk-justify-center fk-whitespace-nowrap fk-rounded-sm fk-px-3 fk-py-1.5 fk-text-sm fk-font-medium fk-ring-offset-background fk-transition-all focus-visible:fk-outline-none focus-visible:fk-ring-2 focus-visible:fk-ring-ring focus-visible:fk-ring-offset-2 disabled:fk-pointer-events-none disabled:fk-opacity-50 data-[state=active]:fk-bg-background data-[state=active]:fk-text-foreground data-[state=active]:fk-shadow-sm",t),ref:a$1,...e}));ve.displayName=k.Trigger.displayName;var he=r.forwardRef(({className:t,...e},a$1)=>jsx(k.Content,{className:a("fk-mt-2 fk-ring-offset-background focus-visible:fk-outline-none focus-visible:fk-ring-2 focus-visible:fk-ring-ring focus-visible:fk-ring-offset-2",t),ref:a$1,...e}));he.displayName=k.Content.displayName;export{jt as ResizableHandle,$t as ResizablePanel,Wt as ResizablePanelGroup,U as Sheet,Ut as SheetClose,D as SheetContent,se as SheetDescription,ne as SheetFooter,ie as SheetHeader,q as SheetOverlay,re as SheetPortal,fe as SheetTitle,Jt as SheetTrigger,wa as Sidebar,ke as SidebarInset,ce as SidebarProvider,pe as SidebarTrigger,ya as Tabs,he as TabsContent,ge as TabsList,ve as TabsTrigger,y as useSidebar};//# sourceMappingURL=ui.js.map
1
+ import'./index.css';import {e}from'./chunk-5MTVN77Y.js';export{e as Separator,f as Table,h as TableBody,m as TableCaption,l as TableCell,i as TableFooter,k as TableHead,g as TableHeader,j as TableRow,b as Toggle,c as ToggleGroup,d as ToggleGroupItem,a as toggleVariants}from'./chunk-5MTVN77Y.js';import {a as a$1,b as b$1,c,e as e$1}from'./chunk-RMSYYUQM.js';export{b as Tooltip,e as TooltipContent,d as TooltipPortal,a as TooltipProvider,c as TooltipTrigger}from'./chunk-RMSYYUQM.js';export{a as Select,g as SelectContent,b as SelectGroup,i as SelectItem,h as SelectLabel,f as SelectScrollDownButton,e as SelectScrollUpButton,j as SelectSeparator,d as SelectTrigger,c as SelectValue}from'./chunk-2RBOTHKE.js';export{b as Badge,m as Command,n as CommandDialog,q as CommandEmpty,r as CommandGroup,o as CommandInput,t as CommandItem,p as CommandList,s as CommandSeparator,u as CommandShortcut,c as Dialog,f as DialogClose,h as DialogContent,l as DialogDescription,j as DialogFooter,i as DialogHeader,g as DialogOverlay,e as DialogPortal,k as DialogTitle,d as DialogTrigger,v as ScrollArea,w as ScrollBar,a as badgeVariants}from'./chunk-ZOBZU47M.js';export{a as Avatar,c as AvatarFallback,b as AvatarImage}from'./chunk-K5CEPNVI.js';import {b,r as r$1}from'./chunk-64KAF6GA.js';export{b as Button,c as DropdownMenu,m as DropdownMenuCheckboxItem,k as DropdownMenuContent,e as DropdownMenuGroup,l as DropdownMenuItem,o as DropdownMenuLabel,f as DropdownMenuPortal,h as DropdownMenuRadioGroup,n as DropdownMenuRadioItem,p as DropdownMenuSeparator,q as DropdownMenuShortcut,g as DropdownMenuSub,j as DropdownMenuSubContent,i as DropdownMenuSubTrigger,d as DropdownMenuTrigger,r as Skeleton,a as buttonVariants}from'./chunk-64KAF6GA.js';import {a as a$2}from'./chunk-OX6FVDUT.js';export{a as Input}from'./chunk-OX6FVDUT.js';export{b as Form,g as FormControl,h as FormDescription,c as FormField,e as FormItem,f as FormLabel,i as FormMessage,a as Label,d as useFormField}from'./chunk-OTQ3BR2A.js';import {a}from'./chunk-AXB7FQV2.js';import'./chunk-XSNFFA5W.js';import*as G from'lucide-react';import {X,Menu,PanelLeft,GripVertical}from'lucide-react';import*as S from'react-resizable-panels';import {jsx,jsxs}from'react/jsx-runtime';import*as r from'react';import {createElement}from'react';import*as d from'@radix-ui/react-dialog';import {cva}from'class-variance-authority';import ha from'fuse.js';import {NavLink}from'react-router-dom';import {Slot}from'@radix-ui/react-slot';import {groupBy}from'ramda';import*as k from'@radix-ui/react-tabs';function Wt({className:t,...e}){return jsx(S.PanelGroup,{className:a("fk-flex fk-h-full fk-w-full data-[panel-group-direction=vertical]:fk-flex-col",t),...e})}var $t=S.Panel;function jt({withHandle:t,className:e,...a$1}){return jsx(S.PanelResizeHandle,{className:a("fk-relative fk-flex fk-w-px fk-items-center fk-justify-center fk-bg-border after:fk-absolute after:fk-inset-y-0 after:fk-left-1/2 after:fk-w-1 after:fk--translate-x-1/2 focus-visible:fk-outline-none focus-visible:fk-ring-1 focus-visible:fk-ring-ring focus-visible:fk-ring-offset-1 data-[panel-group-direction=vertical]:fk-h-px data-[panel-group-direction=vertical]:fk-w-full data-[panel-group-direction=vertical]:after:fk-left-0 data-[panel-group-direction=vertical]:after:fk-h-1 data-[panel-group-direction=vertical]:after:fk-w-full data-[panel-group-direction=vertical]:after:fk--translate-y-1/2 data-[panel-group-direction=vertical]:after:fk-translate-x-0 [&[data-panel-group-direction=vertical]>div]:fk-rotate-90",e),...a$1,children:!!t&&jsx("div",{className:"fk-z-10 fk-flex fk-h-4 fk-w-3 fk-items-center fk-justify-center fk-rounded-sm fk-border fk-bg-border",children:jsx(GripVertical,{className:"fk-h-2.5 fk-w-2.5"})})})}var U=d.Root,Jt=d.Trigger,Ut=d.Close,re=d.Portal,q=r.forwardRef(({className:t,...e},a$1)=>jsx(d.Overlay,{className:a("fk-fixed fk-inset-0 fk-z-50 fk-bg-overlay/75 fk-backdrop-blur-[1px] data-[state=open]:fk-animate-in data-[state=closed]:fk-animate-out data-[state=closed]:fk-fade-out-0 data-[state=open]:fk-fade-in-0",t),...e,ref:a$1}));q.displayName=d.Overlay.displayName;var qt=cva("fk-fixed fk-z-50 fk-gap-4 fk-bg-background fk-p-6 fk-shadow-lg fk-transition fk-ease-in-out data-[state=open]:fk-animate-in data-[state=closed]:fk-animate-out data-[state=closed]:fk-duration-300 data-[state=open]:fk-duration-500",{variants:{side:{top:"fk-inset-x-0 fk-top-0 fk-border-b data-[state=closed]:fk-slide-out-to-top data-[state=open]:fk-slide-in-from-top",bottom:"fk-inset-x-0 fk-bottom-0 fk-border-t data-[state=closed]:fk-slide-out-to-bottom data-[state=open]:fk-slide-in-from-bottom",left:"fk-inset-y-0 fk-left-0 fk-h-full fk-w-3/4 fk-border-r fk-border-r-sidebar-border data-[state=closed]:fk-slide-out-to-left data-[state=open]:fk-slide-in-from-left sm:fk-max-w-sm",right:"fk-inset-y-0 fk-right-0 fk-h-full fk-w-3/4 fk- fk-border-l data-[state=closed]:fk-slide-out-to-right data-[state=open]:fk-slide-in-from-right sm:fk-max-w-sm"}},defaultVariants:{side:"right"}}),D=r.forwardRef(({side:t="right",className:e,children:a$1,...f},s)=>jsxs(re,{children:[jsx(q,{}),jsxs(d.Content,{className:a(qt({side:t}),e),ref:s,...f,children:[a$1,jsxs(d.Close,{className:"fk-absolute fk-right-4 fk-top-4 fk-rounded-sm fk-opacity-70 fk-ring-offset-background fk-transition-opacity hover:fk-opacity-100 focus:fk-outline-none focus:fk-ring-2 focus:fk-ring-ring focus:fk-ring-offset-2 disabled:fk-pointer-events-none data-[state=open]:fk-bg-secondary",children:[jsx(X,{className:"fk-h-4 fk-w-4"}),jsx("span",{className:"fk-sr-only",children:"Close"})]})]})]}));D.displayName=d.Content.displayName;function ie({className:t,...e}){return jsx("div",{className:a("fk-flex fk-flex-col fk-space-y-2 fk-text-center sm:fk-text-left",t),...e})}ie.displayName="SheetHeader";function ne({className:t,...e}){return jsx("div",{className:a("fk-flex fk-flex-col-reverse sm:fk-flex-row sm:fk-justify-end sm:fk-space-x-2",t),...e})}ne.displayName="SheetFooter";var fe=r.forwardRef(({className:t,...e},a$1)=>jsx(d.Title,{className:a("fk-text-lg fk-font-semibold fk-text-foreground",t),ref:a$1,...e}));fe.displayName=d.Title.displayName;var se=r.forwardRef(({className:t,...e},a$1)=>jsx(d.Description,{className:a("fk-text-sm fk-text-muted-foreground",t),ref:a$1,...e}));se.displayName=d.Description.displayName;var Y=768;function de(){let[t,e]=r.useState(void 0);return r.useEffect(()=>{let a=window.matchMedia(`(max-width: ${Y-1}px)`),f=()=>{e(window.innerWidth<Y);};return a.addEventListener("change",f),e(window.innerWidth<Y),()=>a.removeEventListener("change",f)},[]),!!t}var ea="flexkit:sidebar:state",ta=3600*24*7,aa="16rem",oa="18rem",ra="2rem",ia="b",le=r.createContext(null);function y(){let t=r.useContext(le);if(!t)throw new Error("useSidebar must be used within a SidebarProvider.");return t}var ce=r.forwardRef(({defaultOpen:t=true,open:e,onOpenChange:a$2,className:f,style:s,children:c,...n},l)=>{let u=de(),[h,b]=r.useState(false),[P,Se]=r.useState(t),R=e??P,T=r.useCallback(m=>{let g=typeof m=="function"?m(R):m;a$2?a$2(g):Se(g),document.cookie=`${ea}=${g}; path=/; max-age=${ta}`;},[a$2,R]),M=r.useCallback(()=>u?b(m=>!m):T(m=>!m),[u,T,b]);r.useEffect(()=>{let m=g=>{g.key===ia&&(g.metaKey||g.ctrlKey)&&(g.preventDefault(),M());};return window.addEventListener("keydown",m),()=>window.removeEventListener("keydown",m)},[M]);let oe=R?"expanded":"collapsed",Re=r.useMemo(()=>({state:oe,open:R,setOpen:T,isMobile:u,openMobile:h,setOpenMobile:b,toggleSidebar:M}),[oe,R,T,u,h,b,M]);return jsx(le.Provider,{value:Re,children:jsx(a$1,{delayDuration:0,children:jsx("div",{style:{"--sidebar-width":aa,"--sidebar-width-icon":ra,...s},className:a("fk-group/sidebar-wrapper fk-flex fk-w-full has-[[data-variant=inset]]:fk-bg-sidebar fk-overflow-hidden",f),ref:l,...n,children:c})})})});ce.displayName="SidebarProvider";var Z=r.forwardRef(({side:t="left",variant:e="sidebar",collapsible:a$1="offcanvas",className:f,children:s,...c},n)=>{let{isMobile:l,state:u,openMobile:h,setOpenMobile:b}=y();return a$1==="none"?jsx("div",{className:a("fk-flex fk-h-full fk-w-[--sidebar-width] fk-flex-col fk-bg-sidebar fk-text-sidebar-foreground",f),ref:n,...c,children:s}):l?jsx(U,{open:h,onOpenChange:b,...c,children:jsx(D,{"data-sidebar":"sidebar","data-mobile":"true",className:"fk-w-[--sidebar-width] fk-bg-sidebar fk-p-0 fk-text-sidebar-foreground [&>button]:fk-hidden",style:{"--sidebar-width":oa},side:t,children:jsx("div",{className:"fk-flex fk-h-full fk-w-full fk-flex-col",children:s})})}):jsxs("div",{ref:n,className:"fk-relative fk-group fk-peer fk-hidden md:fk-block fk-text-sidebar-foreground","data-state":u,"data-collapsible":u==="collapsed"?a$1:"","data-variant":e,"data-side":t,children:[jsx("div",{className:a("fk-duration-200 fk-relative fk-h-svh fk-w-[--sidebar-width] fk-bg-transparent fk-transition-[width] fk-ease-linear","group-data-[collapsible=offcanvas]:fk-w-0","group-data-[side=right]:fk-rotate-180",e==="floating"||e==="inset"?"group-data-[collapsible=icon]:fk-w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]":"group-data-[collapsible=icon]:fk-w-[--sidebar-width-icon]")}),jsx("div",{className:a("fk-duration-200 fk-absolute fk-inset-y-0 fk-z-10 fk-hidden fk-h-[calc(100svh-3.5rem)] fk-w-[--sidebar-width] fk-transition-[left,right,width] fk-ease-linear md:fk-flex",t==="left"?"fk-left-0 group-data-[collapsible=offcanvas]:fk-left-[calc(var(--sidebar-width)*-1)]":"fk-right-0 group-data-[collapsible=offcanvas]:fk-right-[calc(var(--sidebar-width)*-1)]",e==="floating"||e==="inset"?"group-data-[collapsible=icon]:fk-w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)] group-data-[side=left]:fk-border-r group-data-[side=right]:fk-border-l":"group-data-[collapsible=icon]:fk-w-[--sidebar-width-icon] group-data-[side=left]:fk-border-r group-data-[side=right]:fk-border-l",f),...c,children:jsx("div",{"data-sidebar":"sidebar",className:"fk-flex fk-h-full fk-w-full fk-flex-col fk-bg-sidebar group-data-[variant=floating]:fk-rounded-lg group-data-[variant=floating]:fk-border group-data-[variant=floating]:fk-border-sidebar-border group-data-[variant=floating]:fk-shadow",children:s})})]})});Z.displayName="Sidebar";var pe=r.forwardRef(({className:t,onClick:e,...a$1},f)=>{let{isMobile:s,toggleSidebar:c}=y();return jsxs(b,{ref:f,"data-sidebar":"trigger",variant:"ghost",size:"icon",className:a("fk-h-7 fk-w-7",t),onClick:n=>{e?.(n),c();},...a$1,children:[s?jsx(Menu,{}):jsx(PanelLeft,{}),jsx("span",{className:"fk-sr-only",children:"Toggle Sidebar"})]})});pe.displayName="SidebarTrigger";var Q=r.forwardRef(({className:t,...e},a$1)=>{let{toggleSidebar:f}=y();return jsx("button",{ref:a$1,"data-sidebar":"rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:f,title:"Toggle Sidebar",className:a("fk-absolute fk-inset-y-0 fk-z-20 fk-hidden fk-w-4 fk--translate-x-1/2 fk-transition-all fk-ease-linear after:fk-absolute after:fk-inset-y-0 after:fk-left-1/2 after:fk-w-[2px] after:fk-bg-sidebar-border hover:after:fk-bg-muted-foreground group-data-[side=left]:fk--right-4 group-data-[side=right]:fk-left-0 sm:fk-flex","[[data-side=left]_&]:fk-cursor-w-resize [[data-side=right]_&]:fk-cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:fk-cursor-e-resize [[data-side=right][data-state=collapsed]_&]:fk-cursor-w-resize","group-data-[collapsible=offcanvas]:fk-translate-x-0 group-data-[collapsible=offcanvas]:after:fk-left-full group-data-[collapsible=offcanvas]:hover:fk-bg-sidebar","[[data-side=left][data-collapsible=offcanvas]_&]:fk--right-2","[[data-side=right][data-collapsible=offcanvas]_&]:fk--left-2",t),...e})});Q.displayName="SidebarRail";var ke=r.forwardRef(({className:t,...e},a$1)=>jsx("main",{ref:a$1,className:a("fk-relative fk-flex fk-flex-1 fk-flex-col fk-bg-background fk-overflow-hidden","peer-data-[variant=inset]:fk-h-[calc(100svh-4rem)]",t),...e}));ke.displayName="SidebarInset";var na=r.forwardRef(({className:t,...e},a$1)=>jsx(a$2,{ref:a$1,"data-sidebar":"input",className:a("fk-h-8 fk-w-full fk-bg-background fk-shadow-none focus-visible:fk-ring-2 focus-visible:fk-ring-sidebar-ring",t),...e}));na.displayName="SidebarInput";var fa=r.forwardRef(({className:t,...e},a$1)=>jsx("div",{ref:a$1,"data-sidebar":"header",className:a("fk-flex fk-flex-col fk-gap-2 fk-p-2",t),...e}));fa.displayName="SidebarHeader";var sa=r.forwardRef(({className:t,...e},a$1)=>jsx("div",{ref:a$1,"data-sidebar":"footer",className:a("fk-flex fk-flex-col fk-gap-2 fk-p-2",t),...e}));sa.displayName="SidebarFooter";var da=r.forwardRef(({className:t,...e$1},a$1)=>jsx(e,{ref:a$1,"data-sidebar":"separator",className:a("fk-mx-2 fk-w-auto fk-bg-sidebar-border",t),...e$1}));da.displayName="SidebarSeparator";var ee=r.forwardRef(({className:t,...e},a$1)=>jsx("div",{ref:a$1,"data-sidebar":"content",className:a("fk-flex fk-min-h-0 fk-flex-1 fk-flex-col fk-overflow-auto group-data-[collapsible=icon]:fk-overflow-hidden",t),...e}));ee.displayName="SidebarContent";var L=r.forwardRef(({className:t,...e},a$1)=>jsx("div",{ref:a$1,"data-sidebar":"group",className:a("fk-relative fk-flex fk-w-full fk-min-w-0 fk-flex-col fk-p-2",t),...e}));L.displayName="SidebarGroup";var te=r.forwardRef(({className:t,asChild:e=false,...a$1},f)=>jsx(e?Slot:"div",{ref:f,"data-sidebar":"group-label",className:a("fk-duration-200 fk-flex fk-h-8 fk-shrink-0 fk-items-center fk-rounded-md fk-px-2 fk-text-xs fk-font-medium fk-text-sidebar-foreground/70 fk-outline-none fk-ring-sidebar-ring fk-transition-[margin,opa] fk-ease-linear focus-visible:fk-ring-2 [&>svg]:fk-size-4 [&>svg]:fk-shrink-0","group-data-[collapsible=icon]:fk--mt-8 group-data-[collapsible=icon]:fk-opacity-0",t),...a$1}));te.displayName="SidebarGroupLabel";var la=r.forwardRef(({className:t,asChild:e=false,...a$1},f)=>jsx(e?Slot:"button",{ref:f,"data-sidebar":"group-action",className:a("fk-absolute fk-right-3 fk-top-3.5 fk-flex fk-aspect-square fk-w-5 fk-items-center fk-justify-center fk-rounded-md fk-p-0 fk-text-sidebar-foreground fk-outline-none fk-ring-sidebar-ring fk-transition-transform hover:fk-bg-sidebar-accent hover:fk-text-sidebar-accent-foreground focus-visible:fk-ring-2 [&>svg]:fk-size-4 [&>svg]:fk-shrink-0","after:fk-absolute after:fk--inset-2 after:md:fk-hidden","group-data-[collapsible=icon]:fk-hidden",t),...a$1}));la.displayName="SidebarGroupAction";var ca=r.forwardRef(({className:t,...e},a$1)=>jsx("div",{ref:a$1,"data-sidebar":"group-content",className:a("fk-w-full fk-text-sm",t),...e}));ca.displayName="SidebarGroupContent";var H=r.forwardRef(({className:t,...e},a$1)=>jsx("ul",{ref:a$1,"data-sidebar":"menu",className:a("fk-flex fk-w-full fk-min-w-0 fk-flex-col fk-gap-1 fk-z-10",t),...e}));H.displayName="SidebarMenu";var z=r.forwardRef(({className:t,...e},a$1)=>jsx("li",{ref:a$1,"data-sidebar":"menu-item",className:a("fk-group/menu-item fk-relative",t),...e}));z.displayName="SidebarMenuItem";var pa=cva("peer/menu-button fk-flex fk-w-full fk-items-center fk-gap-2 fk-overflow-hidden fk-rounded-md fk-p-2 fk-text-left fk-text-sm fk-outline-none fk-ring-sidebar-ring fk-transition-[width,height,padding] hover:fk-bg-sidebar-accent hover:fk-text-sidebar-accent-foreground focus-visible:fk-ring-2 active:fk-bg-sidebar-accent active:fk-text-sidebar-accent-foreground disabled:fk-pointer-events-none disabled:fk-opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:fk-pr-8 aria-disabled:fk-pointer-events-none aria-disabled:fk-opacity-50 data-[active=true]:fk-bg-sidebar-accent data-[active=true]:fk-font-medium data-[active=true]:fk-text-sidebar-accent-foreground data-[state=open]:hover:fk-bg-sidebar-accent data-[state=open]:hover:fk-text-sidebar-accent-foreground group-data-[collapsible=icon]:fk-!size-8 group-data-[collapsible=icon]:fk-!p-2 [&>span:last-child]:fk-truncate [&>svg]:fk-size-4 [&>svg]:fk-shrink-0",{variants:{variant:{default:"hover:fk-bg-sidebar-accent hover:fk-text-sidebar-accent-foreground",outline:"fk-bg-background fk-shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:fk-bg-sidebar-accent hover:fk-text-sidebar-accent-foreground hover:fk-shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"fk-h-8 fk-text-sm",sm:"fk-h-7 fk-text-xs",lg:"fk-h-12 fk-text-sm group-data-[collapsible=icon]:fk-!p-0"}},defaultVariants:{variant:"default",size:"default"}}),B=r.forwardRef(({asChild:t=false,isActive:e=false,variant:a$1="default",size:f="default",tooltip:s,className:c$1,...n},l)=>{let u=t?Slot:"button",{isMobile:h,state:b}=y(),P=jsx(u,{ref:l,"data-sidebar":"menu-button","data-size":f,"data-active":e,className:a(pa({variant:a$1,size:f}),c$1),...n});return s?(typeof s=="string"&&(s={children:s}),jsxs(b$1,{children:[jsx(c,{asChild:true,children:P}),jsx(e$1,{side:"right",align:"center",hidden:b!=="collapsed"||h,...s})]})):P});B.displayName="SidebarMenuButton";var ka=r.forwardRef(({className:t,asChild:e=false,showOnHover:a$1=false,...f},s)=>jsx(e?Slot:"button",{ref:s,"data-sidebar":"menu-action",className:a("fk-absolute fk-right-1 fk-top-1.5 fk-flex fk-aspect-square fk-w-5 fk-items-center fk-justify-center fk-rounded-md fk-p-0 fk-text-sidebar-foreground fk-outline-none fk-ring-sidebar-ring fk-transition-transform hover:fk-bg-sidebar-accent hover:fk-text-sidebar-accent-foreground focus-visible:fk-ring-2 peer-hover/menu-button:fk-text-sidebar-accent-foreground [&>svg]:fk-size-4 [&>svg]:fk-shrink-0","after:fk-absolute after:fk--inset-2 after:md:fk-hidden","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:fk-hidden",a$1&&"group-focus-within/menu-item:fk-opacity-100 group-hover/menu-item:fk-opacity-100 data-[state=open]:fk-opacity-100 peer-data-[active=true]/menu-button:fk-text-sidebar-accent-foreground md:fk-opacity-0",t),...f}));ka.displayName="SidebarMenuAction";var ma=r.forwardRef(({className:t,...e},a$1)=>jsx("div",{ref:a$1,"data-sidebar":"menu-badge",className:a("fk-absolute fk-right-1 fk-flex fk-h-5 fk-min-w-5 fk-items-center fk-justify-center fk-rounded-md fk-px-1 fk-text-xs fk-font-medium fk-tabular-nums fk-text-sidebar-foreground fk-select-none fk-pointer-events-none","peer-hover/menu-button:fk-text-sidebar-accent-foreground peer-data-[active=true]/menu-button:fk-text-sidebar-accent-foreground","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:fk-hidden",t),...e}));ma.displayName="SidebarMenuBadge";var ua=r.forwardRef(({className:t,showIcon:e=false,...a$1},f)=>{let s=r.useMemo(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return jsxs("div",{ref:f,"data-sidebar":"menu-skeleton",className:a("fk-rounded-md fk-h-8 fk-flex fk-gap-2 fk-px-2 fk-items-center",t),...a$1,children:[e&&jsx(r$1,{className:"fk-size-4 fk-rounded-md","data-sidebar":"menu-skeleton-icon"}),jsx(r$1,{className:"fk-h-4 fk-flex-1 fk-max-w-[--skeleton-width]","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":s}})]})});ua.displayName="SidebarMenuSkeleton";var ba=r.forwardRef(({className:t,...e},a$1)=>jsx("ul",{ref:a$1,"data-sidebar":"menu-sub",className:a("fk-mx-3.5 fk-flex fk-min-w-0 fk-translate-x-px fk-flex-col fk-gap-1 fk-border-l fk-border-sidebar-border fk-px-2.5 fk-py-0.5","group-data-[collapsible=icon]:fk-hidden",t),...e}));ba.displayName="SidebarMenuSub";var ga=r.forwardRef(({...t},e)=>jsx("li",{ref:e,...t}));ga.displayName="SidebarMenuSubItem";var va=r.forwardRef(({asChild:t=false,size:e="md",isActive:a$1,className:f,...s},c)=>jsx(t?Slot:"a",{ref:c,"data-sidebar":"menu-sub-button","data-size":e,"data-active":a$1,className:a("fk-flex fk-h-7 fk-min-w-0 fk--translate-x-px fk-items-center fk-gap-2 fk-overflow-hidden fk-rounded-md fk-px-2 fk-text-sidebar-foreground fk-outline-none fk-ring-sidebar-ring hover:fk-bg-sidebar-accent hover:fk-text-sidebar-accent-foreground focus-visible:fk-ring-2 active:fk-bg-sidebar-accent active:fk-text-sidebar-accent-foreground disabled:fk-pointer-events-none disabled:fk-opacity-50 aria-disabled:fk-pointer-events-none aria-disabled:fk-opacity-50 [&>span:last-child]:fk-truncate [&>svg]:fk-size-4 [&>svg]:fk-shrink-0 [&>svg]:fk-text-sidebar-accent-foreground","data-[active=true]:fk-bg-sidebar-accent data-[active=true]:fk-text-sidebar-accent-foreground",e==="sm"&&"fk-text-xs",e==="md"&&"fk-text-sm","group-data-[collapsible=icon]:fk-hidden",f),...s}));va.displayName="SidebarMenuSubButton";var Ra=Object.keys(G).map(t=>({name:t,icon:G[t]})),xa=new ha(Ra,{keys:["name"],threshold:.5});function wa({className:t,menuGroups:e,schema:a}){let f=a.filter(n=>!(n.menu&&"hidden"in n.menu)),s=groupBy(n=>n.menu?.group&&e?.find(l=>l.name===n.menu?.group)?.name||"ungrouped",f),c=e?.filter(n=>s[n.name]?.length);return jsxs(Z,{className:t,collapsible:"icon",variant:"inset",children:[jsxs(ee,{children:[c?.map(n=>jsxs(L,{children:[jsx(te,{children:n.title}),jsx(H,{children:s[n.name]?.map(l=>jsx(z,{children:jsx(B,{asChild:true,isActive:location.pathname.includes(`/list/${l.plural}`),tooltip:A(l.menu?.label??l.plural),children:jsxs(NavLink,{to:`list/${l.plural}`,children:[l.menu?.icon??createElement(G[be(l.name)],{className:"fk-h-4 fk-w-4 fk-mr-2",strokeWidth:2}),jsx("span",{children:A(l.menu?.label??l.plural)})]})})},l.plural))})]},n.name)),jsx(L,{children:jsx(H,{children:s.ungrouped?.map(n=>jsx(z,{children:jsx(B,{asChild:true,isActive:location.pathname.includes(`/list/${n.plural}`),tooltip:A(n.menu?.label??n.plural),children:jsxs(NavLink,{to:`list/${n.plural}`,children:[createElement(G[be(n.name)],{className:"fk-h-4 fk-w-4 fk-mr-2",strokeWidth:2}),jsx("span",{children:A(n.menu?.label??n.plural)})]})})},n.plural))})})]}),jsx(Q,{})]})}function A(t){let e=t.replace(/([A-Z])/g," $1");return e.charAt(0).toUpperCase()+e.slice(1).trim()}function be(t){let e=xa.search(t);return e.length>0?e[0].item.name:"Dock"}var ya=k.Root,ge=r.forwardRef(({className:t,...e},a$1)=>jsx(k.List,{className:a("fk-inline-flex fk-h-10 fk-items-center fk-justify-center fk-rounded-md fk-bg-muted fk-p-1 fk-text-muted-foreground",t),ref:a$1,...e}));ge.displayName=k.List.displayName;var ve=r.forwardRef(({className:t,...e},a$1)=>jsx(k.Trigger,{className:a("fk-inline-flex fk-items-center fk-justify-center fk-whitespace-nowrap fk-rounded-sm fk-px-3 fk-py-1.5 fk-text-sm fk-font-medium fk-ring-offset-background fk-transition-all focus-visible:fk-outline-none focus-visible:fk-ring-2 focus-visible:fk-ring-ring focus-visible:fk-ring-offset-2 disabled:fk-pointer-events-none disabled:fk-opacity-50 data-[state=active]:fk-bg-background data-[state=active]:fk-text-foreground data-[state=active]:fk-shadow-sm",t),ref:a$1,...e}));ve.displayName=k.Trigger.displayName;var he=r.forwardRef(({className:t,...e},a$1)=>jsx(k.Content,{className:a("fk-mt-2 fk-ring-offset-background focus-visible:fk-outline-none focus-visible:fk-ring-2 focus-visible:fk-ring-ring focus-visible:fk-ring-offset-2",t),ref:a$1,...e}));he.displayName=k.Content.displayName;export{jt as ResizableHandle,$t as ResizablePanel,Wt as ResizablePanelGroup,U as Sheet,Ut as SheetClose,D as SheetContent,se as SheetDescription,ne as SheetFooter,ie as SheetHeader,q as SheetOverlay,re as SheetPortal,fe as SheetTitle,Jt as SheetTrigger,wa as Sidebar,ke as SidebarInset,ce as SidebarProvider,pe as SidebarTrigger,ya as Tabs,he as TabsContent,ge as TabsList,ve as TabsTrigger,y as useSidebar};//# sourceMappingURL=ui.js.map
2
2
  //# sourceMappingURL=ui.js.map