@flexkit/studio 0.0.6 → 0.0.7

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 (145) hide show
  1. package/dist/asset-65455B7V.js +2 -0
  2. package/dist/{asset-F2SF5UHA.js.map → asset-65455B7V.js.map} +1 -1
  3. package/dist/astro.d.ts +68 -0
  4. package/dist/astro.js +42 -0
  5. package/dist/boolean-3ZHXDPHB.js +2 -0
  6. package/dist/{boolean-IUJXXA2D.js.map → boolean-3ZHXDPHB.js.map} +1 -1
  7. package/dist/chunk-2RBOTHKE.js +2 -0
  8. package/dist/{chunk-7ZFZY5R4.js.map → chunk-2RBOTHKE.js.map} +1 -1
  9. package/dist/chunk-2WWU4XFO.js +2 -0
  10. package/dist/chunk-2WWU4XFO.js.map +1 -0
  11. package/dist/chunk-4PHVU7DD.js +2 -0
  12. package/dist/{chunk-WEMBNSFH.js.map → chunk-4PHVU7DD.js.map} +1 -1
  13. package/dist/chunk-5ES3TTSY.js +2 -0
  14. package/dist/{chunk-OBWXS7PQ.js.map → chunk-5ES3TTSY.js.map} +1 -1
  15. package/dist/chunk-5MTVN77Y.js +2 -0
  16. package/dist/chunk-5MTVN77Y.js.map +1 -0
  17. package/dist/chunk-64KAF6GA.js +2 -0
  18. package/dist/chunk-64KAF6GA.js.map +1 -0
  19. package/dist/chunk-7YBJLUUE.js +3 -0
  20. package/dist/chunk-7YBJLUUE.js.map +1 -0
  21. package/dist/chunk-AXB7FQV2.js +2 -0
  22. package/dist/{chunk-A6DNMUGW.js.map → chunk-AXB7FQV2.js.map} +1 -1
  23. package/dist/chunk-AYKEFG4H.js +2 -0
  24. package/dist/chunk-AYKEFG4H.js.map +1 -0
  25. package/dist/chunk-BUWJY7WB.js +127 -0
  26. package/dist/chunk-D5N42D57.js +2 -0
  27. package/dist/chunk-D5N42D57.js.map +1 -0
  28. package/dist/chunk-HIMN6EYJ.js +2 -0
  29. package/dist/chunk-HIMN6EYJ.js.map +1 -0
  30. package/dist/chunk-HZZZBJEZ.js +2 -0
  31. package/dist/chunk-HZZZBJEZ.js.map +1 -0
  32. package/dist/chunk-K5CEPNVI.js +2 -0
  33. package/dist/{chunk-G3L524HS.js.map → chunk-K5CEPNVI.js.map} +1 -1
  34. package/dist/chunk-M6EIBKCQ.js +2 -0
  35. package/dist/{chunk-GHV46F5V.js.map → chunk-M6EIBKCQ.js.map} +1 -1
  36. package/dist/chunk-MOR653JA.js +2 -0
  37. package/dist/chunk-MOR653JA.js.map +1 -0
  38. package/dist/chunk-NJN7EGGK.js +2 -0
  39. package/dist/{chunk-PAAKWKLA.js.map → chunk-NJN7EGGK.js.map} +1 -1
  40. package/dist/chunk-OOYWOWHR.js +2 -0
  41. package/dist/{chunk-Z37UM6ED.js.map → chunk-OOYWOWHR.js.map} +1 -1
  42. package/dist/chunk-OTQ3BR2A.js +2 -0
  43. package/dist/chunk-OTQ3BR2A.js.map +1 -0
  44. package/dist/chunk-OX6FVDUT.js +2 -0
  45. package/dist/{chunk-UTZ7XOUK.js.map → chunk-OX6FVDUT.js.map} +1 -1
  46. package/dist/chunk-RMSYYUQM.js +2 -0
  47. package/dist/{chunk-OV2SJGU3.js.map → chunk-RMSYYUQM.js.map} +1 -1
  48. package/dist/chunk-ZOBZU47M.js +2 -0
  49. package/dist/chunk-ZOBZU47M.js.map +1 -0
  50. package/dist/core-handler-B07aYFJi.d.ts +17 -0
  51. package/dist/datetime-XX4YBITU.js +2 -0
  52. package/dist/{datetime-GOUY7ZJZ.js.map → datetime-XX4YBITU.js.map} +1 -1
  53. package/dist/editor-VSCVCAL4.js +2 -0
  54. package/dist/{editor-IK2CNBJV.js.map → editor-VSCVCAL4.js.map} +1 -1
  55. package/dist/index.css +874 -863
  56. package/dist/index.d.ts +64 -9
  57. package/dist/index.js +346 -13
  58. package/dist/index.js.map +1 -1
  59. package/dist/logo-LB22KTDD.js +3 -0
  60. package/dist/{logo-4JW3ZQGP.js.map → logo-LB22KTDD.js.map} +1 -1
  61. package/dist/{ssr.d.ts → nextjs.d.ts} +2 -15
  62. package/dist/nextjs.js +63 -0
  63. package/dist/project-selector-4G4WL2XQ.js +2 -0
  64. package/dist/{project-selector-6UNKDUFP.js.map → project-selector-4G4WL2XQ.js.map} +1 -1
  65. package/dist/search-CKPEOD77.js +2 -0
  66. package/dist/{search-XZ52MCGA.js.map → search-CKPEOD77.js.map} +1 -1
  67. package/dist/switch-FU7XZ34K.js +2 -0
  68. package/dist/{switch-GWTYDHPW.js.map → switch-FU7XZ34K.js.map} +1 -1
  69. package/dist/tanstack-start.d.ts +99 -0
  70. package/dist/tanstack-start.js +137 -0
  71. package/dist/text-DFG6LLN6.js +2 -0
  72. package/dist/{text-OSJFNY7L.js.map → text-DFG6LLN6.js.map} +1 -1
  73. package/dist/text-LNFBPXBT.js +2 -0
  74. package/dist/{text-Y2ITNUWV.js.map → text-LNFBPXBT.js.map} +1 -1
  75. package/dist/textarea-XFHA5IEI.js +2 -0
  76. package/dist/{textarea-J6THGASV.js.map → textarea-XFHA5IEI.js.map} +1 -1
  77. package/dist/{types-RVyP_Twi.d.ts → types.d-CH6seXQw.d.ts} +108 -1
  78. package/dist/ui.d.ts +1 -2
  79. package/dist/ui.js +1 -1
  80. package/dist/ui.js.map +1 -1
  81. package/dist/user-nav-5LW5USDZ.js +2 -0
  82. package/dist/{user-nav-MAMF3XX5.js.map → user-nav-5LW5USDZ.js.map} +1 -1
  83. package/package.json +32 -11
  84. package/dist/asset-F2SF5UHA.js +0 -2
  85. package/dist/boolean-IUJXXA2D.js +0 -2
  86. package/dist/chunk-2DBX42KN.js +0 -2
  87. package/dist/chunk-2DBX42KN.js.map +0 -1
  88. package/dist/chunk-7ZFZY5R4.js +0 -2
  89. package/dist/chunk-A6DNMUGW.js +0 -2
  90. package/dist/chunk-EQ3526ET.js +0 -2
  91. package/dist/chunk-EQ3526ET.js.map +0 -1
  92. package/dist/chunk-G3L524HS.js +0 -2
  93. package/dist/chunk-GHV46F5V.js +0 -2
  94. package/dist/chunk-GXUHAW3R.js +0 -2
  95. package/dist/chunk-GXUHAW3R.js.map +0 -1
  96. package/dist/chunk-JB2CLKHS.js +0 -2
  97. package/dist/chunk-JB2CLKHS.js.map +0 -1
  98. package/dist/chunk-JNAHBJHF.js +0 -2
  99. package/dist/chunk-JNAHBJHF.js.map +0 -1
  100. package/dist/chunk-LEEJFMT6.js +0 -2
  101. package/dist/chunk-LEEJFMT6.js.map +0 -1
  102. package/dist/chunk-NM3JPB46.js +0 -2
  103. package/dist/chunk-NM3JPB46.js.map +0 -1
  104. package/dist/chunk-OBDHNFM5.js +0 -2
  105. package/dist/chunk-OBDHNFM5.js.map +0 -1
  106. package/dist/chunk-OBWXS7PQ.js +0 -2
  107. package/dist/chunk-OJCXEL7M.js +0 -2
  108. package/dist/chunk-OJCXEL7M.js.map +0 -1
  109. package/dist/chunk-OTLHY3ST.js +0 -2
  110. package/dist/chunk-OTLHY3ST.js.map +0 -1
  111. package/dist/chunk-OV2SJGU3.js +0 -2
  112. package/dist/chunk-PAAKWKLA.js +0 -2
  113. package/dist/chunk-RUXKF224.js +0 -2
  114. package/dist/chunk-RUXKF224.js.map +0 -1
  115. package/dist/chunk-SHVY2WXV.js +0 -3
  116. package/dist/chunk-SHVY2WXV.js.map +0 -1
  117. package/dist/chunk-TKD36DLT.js +0 -2
  118. package/dist/chunk-TKD36DLT.js.map +0 -1
  119. package/dist/chunk-UTZ7XOUK.js +0 -2
  120. package/dist/chunk-UZTABGUM.js +0 -334
  121. package/dist/chunk-UZTABGUM.js.map +0 -1
  122. package/dist/chunk-VVAW7U22.js +0 -2
  123. package/dist/chunk-VVAW7U22.js.map +0 -1
  124. package/dist/chunk-W632YC7D.js +0 -2
  125. package/dist/chunk-W632YC7D.js.map +0 -1
  126. package/dist/chunk-WEMBNSFH.js +0 -2
  127. package/dist/chunk-Z37UM6ED.js +0 -2
  128. package/dist/chunk-ZUOOAEAL.js +0 -2
  129. package/dist/chunk-ZUOOAEAL.js.map +0 -1
  130. package/dist/data-grid/index.d.ts +0 -59
  131. package/dist/data-grid/index.js +0 -4
  132. package/dist/data-grid/index.js.map +0 -1
  133. package/dist/datetime-GOUY7ZJZ.js +0 -2
  134. package/dist/editor-IK2CNBJV.js +0 -2
  135. package/dist/logo-4JW3ZQGP.js +0 -3
  136. package/dist/project-selector-6UNKDUFP.js +0 -2
  137. package/dist/search-XZ52MCGA.js +0 -2
  138. package/dist/ssr.js +0 -3
  139. package/dist/ssr.js.map +0 -1
  140. package/dist/switch-GWTYDHPW.js +0 -2
  141. package/dist/text-OSJFNY7L.js +0 -2
  142. package/dist/text-Y2ITNUWV.js +0 -2
  143. package/dist/textarea-J6THGASV.js +0 -2
  144. package/dist/types.d-DEo8bqfV.d.ts +0 -110
  145. package/dist/user-nav-MAMF3XX5.js +0 -2
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/data-grid/preview-components/asset.tsx"],"names":["Asset","value","path","isImage","getExtensionFromPath","p","parts","thumbnaillUrl","IMAGES_BASE_URL","fullUrl","jsx","TooltipProvider","jsxs","Tooltip","TooltipTrigger","TooltipPortal","TooltipContent","ext","style","defaultStyles","FileTypeIcon"],"mappings":"4LASO,SAASA,CAAAA,CAAM,CAAE,KAAA,CAAAC,GAAM,EAAqB,CACjD,GAAI,CAACA,GAAAA,EAAO,IAAA,CACV,OAAO,KAGT,IAAMC,CAAAA,CAAOD,IAAM,IAAA,CACbE,GAAAA,CAAU,oCAAoC,IAAA,CAAKD,CAAI,EAEvDE,CAAAA,CAAwBC,CAAAA,EAAsB,CAElD,IAAMC,CAAAA,CADQD,EAAE,KAAA,CAAM,GAAG,EAAE,CAAC,CAAA,CACR,KAAA,CAAM,GAAG,CAAA,CAE7B,OAAIC,EAAM,MAAA,CAAS,CAAA,CACVA,EAAM,GAAA,EAAI,CAAG,aAAY,CAG3B,MACT,EAEMC,CAAAA,CAAgBL,CAAAA,CAAK,SAAS,MAAM,CAAA,CACtC,GAAGM,GAAe,CAAA,EAAGN,CAAI,CAAA,CAAA,CACzB,CAAA,EAAGM,GAAe,CAAA,EAAGN,CAAI,CAAA,iBAAA,CAAA,CAEvBO,EAAUP,CAAAA,CAAK,QAAA,CAAS,MAAM,CAAA,CAAI,CAAA,EAAGM,GAAe,CAAA,EAAGN,CAAI,GAAK,CAAA,EAAGM,GAAe,GAAGN,CAAI,CAAA,mBAAA,CAAA,CAE/F,OACEQ,GAAAA,CAAC,KAAA,CAAA,CAAI,UAAU,SAAA,CACb,QAAA,CAAAA,GAAAA,CAACC,CAAAA,CAAA,CACE,QAAA,CAAAR,IACCS,IAAAA,CAACC,GAAAA,CAAA,CACC,QAAA,CAAA,CAAAH,GAAAA,CAACI,EAAA,CAAe,OAAA,CAAO,KACrB,QAAA,CAAAJ,GAAAA,CAAC,OAAI,GAAA,CAAKH,CAAAA,CAAe,IAAI,OAAA,CAAQ,SAAA,CAAU,kCAAkC,CAAA,CACnF,CAAA,CACAG,GAAAA,CAACK,CAAAA,CAAA,CACC,QAAA,CAAAL,IAACM,CAAAA,CAAA,CACC,SAAAN,GAAAA,CAAC,KAAA,CAAA,CAAI,IAAKD,CAAAA,CAAS,GAAA,CAAI,QAAQ,SAAA,CAAU,iBAAA,CAAkB,EAC7D,CAAA,CACF,CAAA,CAAA,CACF,EAEAG,IAAAA,CAACC,GAAAA,CAAA,CACC,QAAA,CAAA,CAAAH,GAAAA,CAACI,CAAAA,CAAA,CAAe,OAAA,CAAO,IAAA,CACrB,SAAAJ,GAAAA,CAAC,KAAA,CAAA,CAAI,UAAU,0HAAA,CACX,QAAA,CAAA,CAAA,IAAM,CACN,IAAMO,CAAAA,CAAMb,EAAqBF,CAAI,CAAA,CAC/BgB,EACJC,aAAAA,CACAF,CAAG,EAEL,OAAOP,GAAAA,CAACU,SAAA,CAAa,SAAA,CAAWH,CAAAA,CAAM,GAAIC,CAAAA,EAAS,GAAK,CAC1D,CAAA,IACF,CAAA,CACF,CAAA,CACAR,IAACK,CAAAA,CAAA,CACC,QAAA,CAAAL,GAAAA,CAACM,CAAAA,CAAA,CACC,SAAAN,GAAAA,CAAC,KAAA,CAAA,CAAI,UAAU,qCAAA,CAAsC,QAAA,CAAA,uBAAA,CAAqB,EAC5E,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CAEJ,CAAA,CACF,CAEJ","file":"chunk-2DBX42KN.js","sourcesContent":["import { Tooltip, TooltipContent, TooltipPortal, TooltipProvider, TooltipTrigger } from '../../ui/primitives/tooltip';\nimport { IMAGES_BASE_URL } from '../../core/api-paths';\nimport { FileIcon as FileTypeIcon, defaultStyles } from 'react-file-icon';\n\nexport type Asset = {\n _id: string;\n path: string;\n};\n\nexport function Asset({ value }: { value: Asset }) {\n if (!value?.path) {\n return null;\n }\n\n const path = value.path;\n const isImage = /\\.(png|jpe?g|gif|webp|avif|svg)$/i.test(path);\n\n const getExtensionFromPath = (p: string): string => {\n const clean = p.split('?')[0];\n const parts = clean.split('.');\n\n if (parts.length > 1) {\n return parts.pop()!.toLowerCase();\n }\n\n return 'file';\n };\n\n const thumbnaillUrl = path.endsWith('.svg')\n ? `${IMAGES_BASE_URL}${path}`\n : `${IMAGES_BASE_URL}${path}?w=84&h=84&f=webp`;\n\n const fullUrl = path.endsWith('.svg') ? `${IMAGES_BASE_URL}${path}` : `${IMAGES_BASE_URL}${path}?w=624&h=624&f=webp`;\n\n return (\n <div className=\"fk-z-10\">\n <TooltipProvider>\n {isImage ? (\n <Tooltip>\n <TooltipTrigger asChild>\n <img src={thumbnaillUrl} alt=\"asset\" className=\"fk-w-7 fk-h-7 fk-cursor-zoom-in\" />\n </TooltipTrigger>\n <TooltipPortal>\n <TooltipContent>\n <img src={fullUrl} alt=\"asset\" className=\"fk-w-52 fk-h-52\" />\n </TooltipContent>\n </TooltipPortal>\n </Tooltip>\n ) : (\n <Tooltip>\n <TooltipTrigger asChild>\n <div className=\"fk-w-7 fk-h-7 fk-rounded fk-bg-transparent fk-flex fk-items-center fk-justify-center [&>svg]:fk-h-full [&>svg]:fk-w-auto\">\n {(() => {\n const ext = getExtensionFromPath(path);\n const style = (\n defaultStyles as Record<string, Record<string, string | number | boolean | undefined>>\n )[ext];\n\n return <FileTypeIcon extension={ext} {...(style || {})} />;\n })()}\n </div>\n </TooltipTrigger>\n <TooltipPortal>\n <TooltipContent>\n <div className=\"fk-text-sm fk-text-muted-foreground\">Preview not available</div>\n </TooltipContent>\n </TooltipPortal>\n </Tooltip>\n )}\n </TooltipProvider>\n </div>\n );\n}\n"]}
@@ -1,2 +0,0 @@
1
- import {a as a$1}from'./chunk-A6DNMUGW.js';import*as a from'react';import*as e from'@radix-ui/react-select';import {ChevronDown,ChevronUp,Check}from'lucide-react';import {jsxs,jsx}from'react/jsx-runtime';var w=e.Root,h=e.Group,N=e.Value,S=a.forwardRef(({className:o,children:r,...i},l)=>jsxs(e.Trigger,{className:a$1("fk-flex fk-h-10 fk-w-full fk-items-center fk-justify-between fk-rounded-md fk-border fk-border-input fk-bg-background fk-px-3 fk-py-2 fk-text-sm fk-ring-offset-background placeholder:fk-text-muted-foreground focus:fk-outline-none focus:fk-ring-2 focus:fk-ring-ring focus:fk-ring-offset-2 disabled:fk-cursor-not-allowed disabled:fk-opacity-50 [&>span]:fk-line-clamp-1",o),ref:l,...i,children:[r,jsx(e.Icon,{asChild:true,children:jsx(ChevronDown,{className:"fk-h-4 fk-w-4 fk-opacity-50"})})]}));S.displayName=e.Trigger.displayName;var n=a.forwardRef(({className:o,...r},i)=>jsx(e.ScrollUpButton,{className:a$1("fk-flex fk-cursor-default fk-items-center fk-justify-center fk-py-1",o),ref:i,...r,children:jsx(ChevronUp,{className:"fk-h-4 fk-w-4"})}));n.displayName=e.ScrollUpButton.displayName;var s=a.forwardRef(({className:o,...r},i)=>jsx(e.ScrollDownButton,{className:a$1("fk-flex fk-cursor-default fk-items-center fk-justify-center fk-py-1",o),ref:i,...r,children:jsx(ChevronDown,{className:"fk-h-4 fk-w-4"})}));s.displayName=e.ScrollDownButton.displayName;var u=a.forwardRef(({className:o,children:r,position:i="popper",...l},k)=>jsx(e.Portal,{children:jsxs(e.Content,{className:a$1("fk-relative fk-z-50 fk-max-h-96 fk-min-w-[8rem] fk-overflow-hidden fk-rounded-md fk-border fk-border-border fk-bg-popover fk-text-popover-foreground fk-shadow-md 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 data-[state=closed]:fk-zoom-out-95 data-[state=open]:fk-zoom-in-95 data-[side=bottom]:fk-slide-in-from-top-2 data-[side=left]:fk-slide-in-from-right-2 data-[side=right]:fk-slide-in-from-left-2 data-[side=top]:fk-slide-in-from-bottom-2",i==="popper"&&"data-[side=bottom]:fk-translate-y-1 data-[side=left]:-fk-translate-x-1 data-[side=right]:fk-translate-x-1 data-[side=top]:-fk-translate-y-1",o),position:i,ref:k,...l,children:[jsx(n,{}),jsx(e.Viewport,{className:a$1("fk-p-1",i==="popper"&&"fk-h-[var(--radix-select-trigger-height)] fk-w-full fk-min-w-[var(--radix-select-trigger-width)]"),children:r}),jsx(s,{})]})}));u.displayName=e.Content.displayName;var v=a.forwardRef(({className:o,...r},i)=>jsx(e.Label,{className:a$1("fk-py-1.5 fk-pl-8 fk-pr-2 fk-text-sm fk-font-semibold",o),ref:i,...r}));v.displayName=e.Label.displayName;var P=a.forwardRef(({className:o,children:r,...i},l)=>jsxs(e.Item,{className:a$1("fk-relative fk-flex fk-w-full fk-cursor-default fk-select-none fk-items-center fk-rounded-sm fk-py-1.5 fk-pl-8 pr-2 fk-text-sm fk-outline-none focus:fk-bg-accent focus:fk-text-accent-foreground data-[disabled]:fk-pointer-events-none data-[disabled]:fk-opacity-50",o),ref:l,...i,children:[jsx("span",{className:"fk-absolute fk-left-2 fk-flex fk-h-3.5 fk-w-3.5 fk-items-center fk-justify-center",children:jsx(e.ItemIndicator,{children:jsx(Check,{className:"fk-h-4 fk-w-4"})})}),jsx(e.ItemText,{children:r})]}));P.displayName=e.Item.displayName;var R=a.forwardRef(({className:o,...r},i)=>jsx(e.Separator,{className:a$1("-fk-mx-1 fk-my-1 fk-h-px fk-bg-muted",o),ref:i,...r}));R.displayName=e.Separator.displayName;export{w as a,h as b,N as c,S as d,n as e,s as f,u as g,v as h,P as i,R as j};//# sourceMappingURL=chunk-7ZFZY5R4.js.map
2
- //# sourceMappingURL=chunk-7ZFZY5R4.js.map
@@ -1,2 +0,0 @@
1
- import {clsx}from'clsx';import {extendTailwindMerge}from'tailwind-merge';var n=extendTailwindMerge({prefix:"fk-"});function s(...e){return n(clsx(e))}export{s as a};//# sourceMappingURL=chunk-A6DNMUGW.js.map
2
- //# sourceMappingURL=chunk-A6DNMUGW.js.map
@@ -1,2 +0,0 @@
1
- import {a as a$1}from'./chunk-RUXKF224.js';import {c,e,f,h,g,i}from'./chunk-ZUOOAEAL.js';import {a}from'./chunk-A6DNMUGW.js';import*as x from'react';import {jsx,jsxs,Fragment}from'react/jsx-runtime';var m=x.forwardRef(({className:t,...l},i)=>jsx("textarea",{className:a("fk-flex fk-min-h-[80px] fk-w-full fk-rounded-md fk-border fk-border-input fk-bg-background fk-px-3 fk-py-2 fk-text-sm fk-ring-offset-background placeholder:fk-text-muted-foreground focus-visible:fk-outline-none focus-visible:fk-ring-2 focus-visible:fk-ring-ring focus-visible:fk-ring-offset-2 disabled:fk-cursor-not-allowed disabled:fk-opacity-50",t),ref:i,...l}));m.displayName="Textarea";function R({control:t,fieldSchema:l,getValues:i$1,setValue:f$1}){let{name:n,label:g$1,isEditable:T,options:s}=l;function h$1(e,r){f$1(n,{...r,value:e.currentTarget.value});}function y(e,r){f$1(n,{...r,disabled:e});}return jsx(c,{control:t,name:n,render:({field:e$1})=>jsxs(e,{children:[jsxs("div",{className:"fk-flex",children:[jsxs("div",{className:"fk-full-w",children:[jsx(f,{children:g$1}),s?.comment?jsx(h,{children:s.comment}):null]}),jsx("div",{className:"fk-h-full fk-self-end fk-ml-auto"})]}),jsx(g,{children:jsxs(Fragment,{children:[jsx(m,{className:`fk-w-full fk-mt-[0.1875rem] ${!e$1.value?.scope||e$1.value.scope==="default"?"fk-mb-3":""}`,disabled:T===false||e$1.value?.disabled,...e$1,onChange:r=>{h$1(r,e$1.value);},value:e$1.value?.value||""}),jsx(a$1,{checked:e$1.value?.disabled??false,onChange:r=>{y(r,e$1.value);},scope:e$1.value?.scope})]})}),jsx(i,{})]})})}export{R as a};//# sourceMappingURL=chunk-EQ3526ET.js.map
2
- //# sourceMappingURL=chunk-EQ3526ET.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ui/primitives/textarea.tsx","../src/form/fields/textarea.tsx"],"names":["Textarea","className","props","ref","jsx","cn","control","fieldSchema","getValues","setValue","name","label","isEditable","options","handleInput","event","previousValue","handleCheckbox","checked","value","FormField","field","jsxs","FormItem","FormLabel","FormDescription","FormControl","Fragment","DefaultValueSwitch","FormMessage"],"mappings":"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","file":"chunk-EQ3526ET.js","sourcesContent":["import * as React from 'react';\nimport { cn } from 'src/ui/lib/utils';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface -- intentionally empty, so it can be extended in the future\nexport interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {}\n\nconst Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(({ className, ...props }, ref) => {\n return (\n <textarea\n className={cn(\n 'fk-flex fk-min-h-[80px] fk-w-full fk-rounded-md fk-border fk-border-input fk-bg-background fk-px-3 fk-py-2 fk-text-sm fk-ring-offset-background placeholder:fk-text-muted-foreground focus-visible:fk-outline-none focus-visible:fk-ring-2 focus-visible:fk-ring-ring focus-visible:fk-ring-offset-2 disabled:fk-cursor-not-allowed disabled:fk-opacity-50',\n className\n )}\n ref={ref}\n {...props}\n />\n );\n});\nTextarea.displayName = 'Textarea';\n\nexport { Textarea };\n","import type { FormFieldValue } from '../../graphql-client/types';\nimport { FormControl, FormDescription, FormField, FormLabel, FormMessage, FormItem } from '../../ui/primitives/form';\nimport { Textarea as TextareaPrimitive } from '../../ui/primitives/textarea';\nimport type { FormFieldParams } from '../types';\nimport { DefaultValueSwitch } from './default-value-switch';\n\nexport function Textarea({ control, fieldSchema, getValues, setValue }: FormFieldParams<'textarea'>): JSX.Element {\n const { name, label, isEditable, options } = fieldSchema;\n\n function handleInput(\n event: React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>,\n previousValue: FormFieldValue | undefined\n ): void {\n setValue(name, {\n ...previousValue,\n value: event.currentTarget.value,\n });\n }\n\n function handleCheckbox(checked: boolean, value: FormFieldValue | undefined): void {\n setValue(name, {\n ...value,\n disabled: checked,\n });\n }\n\n return (\n <FormField\n control={control}\n name={name}\n render={({ field }: { field: { value?: FormFieldValue } }) => (\n <FormItem>\n <div className=\"fk-flex\">\n <div className=\"fk-full-w\">\n <FormLabel>{label}</FormLabel>\n {options?.comment ? <FormDescription>{options.comment}</FormDescription> : null}\n </div>\n <div className=\"fk-h-full fk-self-end fk-ml-auto\">\n {/* TODO: this should be a slot that can receive user-defined components and system components like Presence and AI Writting Tools */}\n </div>\n </div>\n <FormControl>\n <>\n <TextareaPrimitive\n className={`fk-w-full fk-mt-[0.1875rem] ${\n !field.value?.scope || field.value.scope === 'default' ? 'fk-mb-3' : ''\n }`}\n disabled={isEditable === false || field.value?.disabled}\n {...field}\n onChange={(event) => {\n handleInput(event, field.value);\n }}\n value={(field.value?.value as string) || ''}\n />\n <DefaultValueSwitch\n checked={field.value?.disabled ?? false}\n onChange={(checked) => {\n handleCheckbox(checked, field.value);\n }}\n scope={field.value?.scope}\n />\n </>\n </FormControl>\n <FormMessage />\n </FormItem>\n )}\n />\n );\n}\n"]}
@@ -1,2 +0,0 @@
1
- import {a as a$1}from'./chunk-A6DNMUGW.js';import*as f from'react';import*as a from'@radix-ui/react-avatar';import {jsx}from'react/jsx-runtime';var m=f.forwardRef(({className:e,...t},i)=>jsx(a.Root,{className:a$1("fk-relative fk-flex fk-h-10 fk-w-10 fk-shrink-0 fk-overflow-hidden fk-rounded-full",e),ref:i,...t}));m.displayName=a.Root.displayName;var l=f.forwardRef(({className:e,...t},i)=>jsx(a.Image,{className:a$1("fk-aspect-square fk-h-full fk-w-full",e),ref:i,...t}));l.displayName=a.Image.displayName;var v=f.forwardRef(({className:e,...t},i)=>jsx(a.Fallback,{className:a$1("fk-flex fk-h-full fk-w-full fk-items-center fk-justify-center fk-rounded-full fk-bg-muted",e),ref:i,...t}));v.displayName=a.Fallback.displayName;export{m as a,l as b,v as c};//# sourceMappingURL=chunk-G3L524HS.js.map
2
- //# sourceMappingURL=chunk-G3L524HS.js.map
@@ -1,2 +0,0 @@
1
- import {CircleCheck,CircleX}from'lucide-react';import {jsx}from'react/jsx-runtime';function a({value:f}){return jsx("div",{className:"fk-flex fk-w-full fk-justify-center",children:f?jsx(CircleCheck,{className:"fk-w-4 fk-h-4 fk-text-emerald-500"}):jsx(CircleX,{className:"fk-w-4 fk-h-4 fk-text-muted-foreground"})})}export{a};//# sourceMappingURL=chunk-GHV46F5V.js.map
2
- //# sourceMappingURL=chunk-GHV46F5V.js.map
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-A6DNMUGW.js';import*as f from'react';import*as s from'@radix-ui/react-toggle';import {cva}from'class-variance-authority';import {jsx}from'react/jsx-runtime';import*as n from'@radix-ui/react-toggle-group';import*as g from'@radix-ui/react-separator';var m=cva("fk-inline-flex fk-items-center fk-justify-center fk-rounded-md fk-text-sm fk-font-medium fk-ring-offset-background fk-transition-colors hover:fk-bg-muted hover:fk-text-muted-foreground 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=on]:fk-bg-accent data-[state=on]:fk-text-accent-foreground",{variants:{variant:{default:"fk-bg-transparent",outline:"fk-border fk-border-input fk-bg-transparent hover:fk-bg-accent hover:fk-text-accent-foreground"},size:{default:"fk-h-10 fk-px-3",sm:"fk-h-9 fk-px-2.5",lg:"fk-h-11 fk-px-5"}},defaultVariants:{variant:"default",size:"default"}}),d=f.forwardRef(({className:t,variant:e,size:o,...r},i)=>jsx(s.Root,{className:a(m({variant:e,size:o,className:t})),ref:i,...r}));d.displayName=s.Root.displayName;var k=f.createContext({size:"default",variant:"default"}),y=f.forwardRef(({className:t,variant:e,size:o,children:r,...i},p)=>jsx(n.Root,{className:a("fk-flex fk-items-center fk-justify-center fk-gap-1",t),ref:p,...i,children:jsx(k.Provider,{value:{variant:e,size:o},children:r})}));y.displayName=n.Root.displayName;var T=f.forwardRef(({className:t,children:e,variant:o,size:r,...i},p)=>{let c=f.useContext(k);return jsx(n.Item,{className:a(m({variant:c.variant||o,size:c.size||r}),t),ref:p,...i,children:e})});T.displayName=n.Item.displayName;var h=f.forwardRef(({className:t,orientation:e="horizontal",decorative:o=true,...r},i)=>jsx(g.Root,{className:a("fk-shrink-0 fk-bg-border",e==="horizontal"?"fk-h-[1px] fk-w-full":"fk-h-full fk-w-[1px]",t),decorative:o,orientation:e,ref:i,...r}));h.displayName=g.Root.displayName;export{m as a,d as b,y as c,T as d,h as e};//# sourceMappingURL=chunk-GXUHAW3R.js.map
2
- //# sourceMappingURL=chunk-GXUHAW3R.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ui/primitives/toggle.tsx","../src/ui/primitives/toggle-group.tsx","../src/ui/primitives/separator.tsx"],"names":["toggleVariants","cva","Toggle","u","className","variant","size","props","ref","jsx","cn","ToggleGroupContext","ToggleGroup","children","ToggleGroupItem","context","Separator","v","orientation","decorative"],"mappings":"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","file":"chunk-GXUHAW3R.js","sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport * as TogglePrimitive from '@radix-ui/react-toggle';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../lib/utils';\n\nconst toggleVariants = cva(\n 'fk-inline-flex fk-items-center fk-justify-center fk-rounded-md fk-text-sm fk-font-medium fk-ring-offset-background fk-transition-colors hover:fk-bg-muted hover:fk-text-muted-foreground 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=on]:fk-bg-accent data-[state=on]:fk-text-accent-foreground',\n {\n variants: {\n variant: {\n 'default': 'fk-bg-transparent',\n outline: 'fk-border fk-border-input fk-bg-transparent hover:fk-bg-accent hover:fk-text-accent-foreground',\n },\n size: {\n 'default': 'fk-h-10 fk-px-3',\n sm: 'fk-h-9 fk-px-2.5',\n lg: 'fk-h-11 fk-px-5',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n);\n\nconst Toggle = React.forwardRef<\n React.ElementRef<typeof TogglePrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof TogglePrimitive.Root> & VariantProps<typeof toggleVariants>\n>(({ className, variant, size, ...props }, ref) => (\n <TogglePrimitive.Root className={cn(toggleVariants({ variant, size, className }))} ref={ref} {...props} />\n));\n\nToggle.displayName = TogglePrimitive.Root.displayName;\n\nexport { Toggle, toggleVariants };\n","'use client';\n\nimport * as React from 'react';\nimport * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group';\nimport type { VariantProps } from 'class-variance-authority';\nimport { cn } from '../lib/utils';\nimport { toggleVariants } from './toggle';\n\nconst ToggleGroupContext = React.createContext<VariantProps<typeof toggleVariants>>({\n size: 'default',\n variant: 'default',\n});\n\nconst ToggleGroup = React.forwardRef<\n React.ElementRef<typeof ToggleGroupPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Root> & VariantProps<typeof toggleVariants>\n>(({ className, variant, size, children, ...props }, ref) => (\n <ToggleGroupPrimitive.Root\n className={cn('fk-flex fk-items-center fk-justify-center fk-gap-1', className)}\n ref={ref}\n {...props}\n >\n <ToggleGroupContext.Provider value={{ variant, size }}>{children}</ToggleGroupContext.Provider>\n </ToggleGroupPrimitive.Root>\n));\n\nToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName;\n\nconst ToggleGroupItem = React.forwardRef<\n React.ElementRef<typeof ToggleGroupPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Item> & VariantProps<typeof toggleVariants>\n>(({ className, children, variant, size, ...props }, ref) => {\n const context = React.useContext(ToggleGroupContext);\n\n return (\n <ToggleGroupPrimitive.Item\n className={cn(\n toggleVariants({\n variant: context.variant || variant,\n size: context.size || size,\n }),\n className\n )}\n ref={ref}\n {...props}\n >\n {children}\n </ToggleGroupPrimitive.Item>\n );\n});\n\nToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName;\n\nexport { ToggleGroup, ToggleGroupItem };\n","'use client';\n\nimport * as React from 'react';\nimport * as SeparatorPrimitive from '@radix-ui/react-separator';\nimport { cn } from 'src/ui/lib/utils';\n\nconst Separator = React.forwardRef<\n React.ElementRef<typeof SeparatorPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root>\n>(({ className, orientation = 'horizontal', decorative = true, ...props }, ref) => (\n <SeparatorPrimitive.Root\n className={cn(\n 'fk-shrink-0 fk-bg-border',\n orientation === 'horizontal' ? 'fk-h-[1px] fk-w-full' : 'fk-h-full fk-w-[1px]',\n className\n )}\n decorative={decorative}\n orientation={orientation}\n ref={ref}\n {...props}\n />\n));\nSeparator.displayName = SeparatorPrimitive.Root.displayName;\n\nexport { Separator };\n"]}
@@ -1,2 +0,0 @@
1
- import {a as a$1}from'./chunk-RUXKF224.js';import {a}from'./chunk-UTZ7XOUK.js';import {c,e,f,h,g,i}from'./chunk-ZUOOAEAL.js';import {useId}from'react';import {jsx,jsxs,Fragment}from'react/jsx-runtime';function V({control:f$1,fieldSchema:b,setValue:r}){let{name:l,label:h$1,isEditable:g$1,options:t}=b,m=useId();function C(e,o){r(l,{...o,value:e.currentTarget.value});}function I(e,o){r(l,{...o,disabled:e});}return jsx(c,{control:f$1,name:l,render:({field:e$1})=>jsxs(e,{children:[jsx(f,{htmlFor:m,children:h$1}),t.comment?jsx(h,{children:t.comment}):null,jsx(g,{children:jsxs(Fragment,{children:[jsx(a,{className:`fk-w-full fk-mt-[0.1875rem] ${!e$1.value?.scope||e$1.value.scope==="default"?"fk-mb-3":""}`,disabled:g$1===false||e$1.value?.disabled,id:m,...e$1,onChange:o=>{C(o,e$1.value);},value:e$1.value?.value||""}),jsx(a$1,{checked:e$1.value?.disabled??false,onChange:o=>{I(o,e$1.value);},scope:e$1.value?.scope})]})}),jsx(i,{})]})})}export{V as a};//# sourceMappingURL=chunk-JB2CLKHS.js.map
2
- //# sourceMappingURL=chunk-JB2CLKHS.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/form/fields/text.tsx"],"names":["Text","control","fieldSchema","setValue","name","label","isEditable","options","id","useId","handleInput","event","previousValue","handleCheckbox","checked","value","jsx","FormField","field","jsxs","FormItem","FormLabel","FormDescription","FormControl","Fragment","Input","DefaultValueSwitch","FormMessage"],"mappings":"yMAOO,SAASA,EAAK,CAAE,OAAA,CAAAC,IAAS,WAAA,CAAAC,CAAAA,CAAa,SAAAC,CAAS,CAAA,CAAyC,CAC7F,GAAM,CAAE,IAAA,CAAAC,CAAAA,CAAM,MAAAC,GAAAA,CAAO,UAAA,CAAAC,IAAY,OAAA,CAAAC,CAAQ,EAAIL,CAAAA,CACvCM,CAAAA,CAAKC,OAAM,CAEjB,SAASC,EACPC,CAAAA,CACAC,CAAAA,CACM,CACNT,CAAAA,CAASC,CAAAA,CAAM,CACb,GAAGQ,EACH,KAAA,CAAOD,CAAAA,CAAM,cAAc,KAC7B,CAAC,EACH,CAEA,SAASE,EAAeC,CAAAA,CAAkBC,CAAAA,CAAyC,CACjFZ,CAAAA,CAASC,CAAAA,CAAM,CACb,GAAGW,CAAAA,CACH,SAAUD,CACZ,CAAC,EACH,CAEA,OACEE,IAACC,CAAAA,CAAA,CACC,QAAShB,GAAAA,CACT,IAAA,CAAMG,EACN,MAAA,CAAQ,CAAC,CAAE,KAAA,CAAAc,GAAM,IACfC,IAAAA,CAACC,CAAAA,CAAA,CACC,QAAA,CAAA,CAAAJ,GAAAA,CAACK,EAAA,CAAU,OAAA,CAASb,CAAAA,CAAK,QAAA,CAAAH,IAAM,CAAA,CAC9BE,CAAAA,CAAQ,QAAUS,GAAAA,CAACM,CAAAA,CAAA,CAAiB,QAAA,CAAAf,CAAAA,CAAQ,QAAQ,CAAA,CAAqB,IAAA,CAC1ES,IAACO,CAAAA,CAAA,CACC,SAAAJ,IAAAA,CAAAK,QAAAA,CAAA,CACE,QAAA,CAAA,CAAAR,GAAAA,CAACS,EAAA,CACC,SAAA,CAAW,+BACT,CAACP,GAAAA,CAAM,OAAO,KAAA,EAASA,GAAAA,CAAM,MAAM,KAAA,GAAU,SAAA,CAAY,UAAY,EACvE,CAAA,CAAA,CACA,SAAUZ,GAAAA,GAAe,KAAA,EAASY,IAAM,KAAA,EAAO,QAAA,CAC/C,GAAIV,CAAAA,CACH,GAAGU,GAAAA,CACJ,QAAA,CAAWP,GAAU,CACnBD,CAAAA,CAAYC,EAAOO,GAAAA,CAAM,KAAK,EAChC,CAAA,CACA,KAAA,CAAQA,IAAM,KAAA,EAAO,KAAA,EAAoB,GAC3C,CAAA,CACAF,GAAAA,CAACU,IAAA,CACC,OAAA,CAASR,IAAM,KAAA,EAAO,QAAA,EAAY,MAClC,QAAA,CAAWJ,CAAAA,EAAY,CACrBD,CAAAA,CAAeC,CAAAA,CAASI,IAAM,KAAK,EACrC,EACA,KAAA,CAAOA,GAAAA,CAAM,OAAO,KAAA,CACtB,CAAA,CAAA,CACF,EACF,CAAA,CACAF,GAAAA,CAACW,EAAA,EAAY,CAAA,CAAA,CACf,EAEJ,CAEJ","file":"chunk-JB2CLKHS.js","sourcesContent":["import { useId } from 'react';\nimport type { FormFieldValue } from '../../graphql-client/types';\nimport { FormControl, FormDescription, FormField, FormLabel, FormMessage, FormItem } from '../../ui/primitives/form';\nimport { Input } from '../../ui/primitives/input';\nimport type { FormFieldParams } from '../types';\nimport { DefaultValueSwitch } from './default-value-switch';\n\nexport function Text({ control, fieldSchema, setValue }: FormFieldParams<'text'>): JSX.Element {\n const { name, label, isEditable, options } = fieldSchema;\n const id = useId();\n\n function handleInput(\n event: React.ChangeEvent<HTMLTextAreaElement | HTMLInputElement>,\n previousValue: FormFieldValue | undefined\n ): void {\n setValue(name, {\n ...previousValue,\n value: event.currentTarget.value,\n });\n }\n\n function handleCheckbox(checked: boolean, value: FormFieldValue | undefined): void {\n setValue(name, {\n ...value,\n disabled: checked,\n });\n }\n\n return (\n <FormField\n control={control}\n name={name}\n render={({ field }: { field: { value?: FormFieldValue } }) => (\n <FormItem>\n <FormLabel htmlFor={id}>{label}</FormLabel>\n {options.comment ? <FormDescription>{options.comment}</FormDescription> : null}\n <FormControl>\n <>\n <Input\n className={`fk-w-full fk-mt-[0.1875rem] ${\n !field.value?.scope || field.value.scope === 'default' ? 'fk-mb-3' : ''\n }`}\n disabled={isEditable === false || field.value?.disabled}\n id={id}\n {...field}\n onChange={(event) => {\n handleInput(event, field.value);\n }}\n value={(field.value?.value as string) || ''}\n />\n <DefaultValueSwitch\n checked={field.value?.disabled ?? false}\n onChange={(checked) => {\n handleCheckbox(checked, field.value);\n }}\n scope={field.value?.scope}\n />\n </>\n </FormControl>\n <FormMessage />\n </FormItem>\n )}\n />\n );\n}\n"]}
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-A6DNMUGW.js';import {jsx}from'react/jsx-runtime';function d({className:t,...n}){return jsx("div",{className:a("fk-animate-pulse fk-rounded-md fk-bg-muted",t),...n})}export{d as a};//# sourceMappingURL=chunk-JNAHBJHF.js.map
2
- //# sourceMappingURL=chunk-JNAHBJHF.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ui/primitives/skeleton.tsx"],"names":["Skeleton","className","props","jsx","cn"],"mappings":"wEAEA,SAASA,CAAAA,CAAS,CAAE,SAAA,CAAAC,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAAsD,CAC5F,OAAOC,GAAAA,CAAC,OAAI,SAAA,CAAWC,CAAAA,CAAG,6CAA8CH,CAAS,CAAA,CAAI,GAAGC,CAAAA,CAAO,CACjG","file":"chunk-JNAHBJHF.js","sourcesContent":["import { cn } from 'src/ui/lib/utils';\n\nfunction Skeleton({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): JSX.Element {\n return <div className={cn('fk-animate-pulse fk-rounded-md fk-bg-muted', className)} {...props} />;\n}\n\nexport { Skeleton };\n"]}
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-A6DNMUGW.js';import {cva}from'class-variance-authority';import {jsx}from'react/jsx-runtime';var n=cva("fk-inline-flex fk-items-center fk-rounded-full fk-border fk-border-border fk-px-2.5 fk-py-0.5 fk-text-xs fk-font-semibold fk-transition-colors focus:fk-outline-none focus:fk-ring-2 focus:fk-ring-ring focus:fk-ring-offset-2",{variants:{variant:{default:"fk-border-transparent fk-bg-primary fk-text-primary-foreground hover:fk-bg-primary/80",secondary:"fk-border-transparent fk-bg-secondary fk-text-secondary-foreground hover:fk-bg-secondary/80",destructive:"fk-border-transparent fk-bg-destructive fk-text-destructive-foreground hover:fk-bg-destructive/80",outline:"fk-text-foreground"}},defaultVariants:{variant:"default"}});function d({className:e,variant:t,...o}){return jsx("div",{className:a(n({variant:t}),e),...o})}export{n as a,d as b};//# sourceMappingURL=chunk-LEEJFMT6.js.map
2
- //# sourceMappingURL=chunk-LEEJFMT6.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ui/primitives/badge.tsx"],"names":["badgeVariants","cva","Badge","className","variant","props","jsx","cn"],"mappings":"mHAIA,IAAMA,CAAAA,CAAgBC,GAAAA,CACpB,gOAAA,CACA,CACE,QAAA,CAAU,CACR,OAAA,CAAS,CACP,OAAA,CAAW,uFAAA,CACX,SAAA,CAAW,6FAAA,CACX,WAAA,CACE,mGAAA,CACF,OAAA,CAAS,oBACX,CACF,CAAA,CACA,eAAA,CAAiB,CACf,OAAA,CAAS,SACX,CACF,CACF,EAIA,SAASC,CAAAA,CAAM,CAAE,SAAA,CAAAC,CAAAA,CAAW,OAAA,CAAAC,CAAAA,CAAS,GAAGC,CAAM,CAAA,CAA4B,CACxE,OAAOC,GAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAWC,CAAAA,CAAGP,CAAAA,CAAc,CAAE,OAAA,CAAAI,CAAQ,CAAC,CAAA,CAAGD,CAAS,CAAA,CAAI,GAAGE,CAAAA,CAAO,CAC/E","file":"chunk-LEEJFMT6.js","sourcesContent":["import * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from 'src/ui/lib/utils';\n\nconst badgeVariants = cva(\n 'fk-inline-flex fk-items-center fk-rounded-full fk-border fk-border-border fk-px-2.5 fk-py-0.5 fk-text-xs fk-font-semibold fk-transition-colors focus:fk-outline-none focus:fk-ring-2 focus:fk-ring-ring focus:fk-ring-offset-2',\n {\n variants: {\n variant: {\n 'default': 'fk-border-transparent fk-bg-primary fk-text-primary-foreground hover:fk-bg-primary/80',\n secondary: 'fk-border-transparent fk-bg-secondary fk-text-secondary-foreground hover:fk-bg-secondary/80',\n destructive:\n 'fk-border-transparent fk-bg-destructive fk-text-destructive-foreground hover:fk-bg-destructive/80',\n outline: 'fk-text-foreground',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n);\n\nexport interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {}\n\nfunction Badge({ className, variant, ...props }: BadgeProps): JSX.Element {\n return <div className={cn(badgeVariants({ variant }), className)} {...props} />;\n}\n\nexport { Badge, badgeVariants };\n"]}
@@ -1,2 +0,0 @@
1
- import {createContext,useReducer,useContext,useMemo}from'react';import {jsx}from'react/jsx-runtime';import {path,has}from'ramda';import {useParams}from'react-router-dom';var E="core.context.scope:",C={breadcrumbs:[],isRouteLoading:false,pageTitle:"",scope:"",relationships:{}},x=createContext(C),O=createContext(()=>{});function w(e,o){let{type:i,payload:t}=o;switch(i){case "setScope":return typeof localStorage<"u"&&t.projectId&&localStorage.setItem(`${E}${t.projectId}`,t.scope),{...e,scope:t.scope};case "setRelationship":return {...e,relationships:{...e.relationships,...t}};default:throw Error(`Unknown action: ${i}`)}}function N({children:e}){let[o,i]=useReducer(w,C);return jsx(x.Provider,{value:o,children:jsx(O.Provider,{value:i,children:e})})}function k(){return useContext(x)}function L(){return useContext(O)}var d={name:"_asset",plural:"_assets",menu:{hidden:true},attributes:[{name:"path",label:"Asset",scope:"global",options:{size:140},isEditable:true,dataType:"string",inputType:"text",previewType:"assetPreviewField",defaultValue:""},{name:"originalFilename",label:"Filename",scope:"global",options:{size:280},isEditable:true,dataType:"string",inputType:"text",previewType:"text",isPrimary:true,defaultValue:""},{name:"size",label:"Size",scope:"global",options:{size:120},isEditable:true,dataType:"int",inputType:"text",previewType:"text",defaultValue:""},{name:"width",label:"Width",scope:"global",options:{size:80},isEditable:true,dataType:"int",inputType:"text",previewType:"text",defaultValue:""},{name:"height",label:"Height",scope:"global",options:{size:80},isEditable:true,dataType:"int",inputType:"text",previewType:"text",defaultValue:""},{name:"mimeType",label:"Mime Type",scope:"global",options:{size:160},isEditable:true,dataType:"string",inputType:"text",previewType:"text",defaultValue:""},{name:"lqip",label:"lqip",scope:"global",isHidden:true,isEditable:true,dataType:"string",inputType:"text",previewType:"text",defaultValue:""},{name:"_updatedAt",label:"Last Updated",scope:"global",options:{size:140},isEditable:true,dataType:"string",inputType:"text",previewType:"text",defaultValue:""},{name:"tags",label:"Tags",scope:"relationship",dataType:"string",inputType:"relationship",defaultValue:"",previewType:"tags",options:{size:300},relationship:{mode:"multiple",field:"name",entity:"_tag"}}]};var g={name:"_tag",plural:"_tags",menu:{hidden:true},attributes:[{name:"name",label:"Tag Name",scope:"global",options:{size:220},isEditable:true,dataType:"string",inputType:"text",previewType:"text",isPrimary:true,defaultValue:""},{name:"_updatedAt",label:"Last Updated",scope:"global",options:{size:140},isEditable:true,dataType:"string",inputType:"text",previewType:"text",defaultValue:""},{name:"assets",label:"Assets",scope:"relationship",dataType:"string",inputType:"relationship",defaultValue:"",relationship:{mode:"multiple",field:"originalFilename",entity:"_asset"}}]};var j=createContext({contributions:{apps:[]},currentProjectId:void 0,currentProjectSchema:[],getContributionPointConfig:()=>[],plugins:[],projects:[]}),l=e=>Object.prototype.hasOwnProperty.call(e,"projectId"),y=e=>Object.prototype.hasOwnProperty.call(e,"contributes");function K({config:e,children:o}){let{projectId:i}=useParams(),t=useMemo(()=>{let n=p=>[...p.filter(b=>b.name!==d.name&&b.name!==g.name),d,g];return e.map(p=>({...p,schema:n(p.schema)}))},[e]),s=useMemo(()=>r(["plugins"],t),[t]),S=useMemo(()=>r(["plugins"],t.filter(n=>n.projectId===i)),[t,i]),m=s.filter(n=>!l(n)&&y(n)),u=S.filter(n=>!l(n)&&y(n)),c=useMemo(()=>({contributions:{apps:f("apps",[],u)},currentProjectId:i,currentProjectSchema:t.find(n=>n.projectId===i)?.schema??[],getContributionPointConfig:(n,p=[])=>f(n,p,u),plugins:m,projects:s.filter(n=>l(n))}),[m,i,u,s]);return jsx(j.Provider,{value:{...c,contributions:{...c.contributions,apps:c.contributions.apps}},children:o})}function W(){return useContext(j)}function r(e,o){return Array.isArray(o)?o.reduce((i,t)=>path(e,t)?[...i,t,...r(e,path(e,t)??[])]:[...i,t],[]):[o]}function f(e,o=[],i){let t=["contributes",e,...o];return r(t.flat(),i).filter(s=>has("component",s))}function Y(e){let i=r(["plugins"],e).filter(t=>!l(t)&&y(t));return f("apps",[],i)}export{E as a,N as b,k as c,L as d,d as e,g as f,K as g,W as h,Y as i};//# sourceMappingURL=chunk-NM3JPB46.js.map
2
- //# sourceMappingURL=chunk-NM3JPB46.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/core/app-context.tsx","../src/entities/assets-schema.ts","../src/entities/tags-schema.ts","../src/core/config/config-context.tsx"],"names":["SCOPE_STORAGE_KEY","initialState","AppContext","createContext","AppDispatchContext","reducer","state","action","type","payload","AppProvider","children","dispatch","useReducer","jsx","useAppContext","useContext","useAppDispatch","assetSchema","tagSchema","ConfigContext","hasProjectIdProperty","configItem","hasContributesProperty","ConfigProvider","config","currentProjectId","useParams","enhancedConfig","useMemo","upsertReservedEntities","schema","entity","project","globalFlattenedConfig","flattenConfigByProperty","currentProjectFlattenedConfig","item","allPlugins","currentProjectPlugins","globalConfig","_getContributionPointConfig","contributionPoint","subPath","useConfig","property","acc","curr","path","pathArray","has","getApps","plugins"],"mappings":"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","file":"chunk-NM3JPB46.js","sourcesContent":["'use client';\n\nimport { createContext, useContext, useReducer } from 'react';\nimport type { Dispatch, ReactNode } from 'react';\nimport type { ActionSetRelationship, ActionSetScope, AppContextType } from './types';\n\nexport const SCOPE_STORAGE_KEY = 'core.context.scope:';\n\nconst initialState = {\n breadcrumbs: [],\n isRouteLoading: false,\n pageTitle: '',\n scope: '',\n relationships: {},\n};\n\nconst AppContext = createContext<AppContextType>(initialState);\n\nconst AppDispatchContext = createContext<Dispatch<ActionSetRelationship | ActionSetScope>>(() => {\n /* void */\n});\n\nfunction reducer(state: AppContextType, action: ActionSetRelationship | ActionSetScope): AppContextType {\n const { type, payload } = action;\n\n switch (type) {\n case 'setScope':\n if (typeof localStorage !== 'undefined' && payload.projectId) {\n localStorage.setItem(`${SCOPE_STORAGE_KEY}${payload.projectId}`, payload.scope);\n }\n\n return {\n ...state,\n scope: payload.scope,\n };\n case 'setRelationship':\n return {\n ...state,\n relationships: { ...state.relationships, ...payload },\n };\n default:\n throw Error(`Unknown action: ${type as string}`);\n }\n}\n\nexport function AppProvider({ children }: { children: ReactNode }): JSX.Element {\n const [state, dispatch] = useReducer(reducer, initialState);\n\n return (\n <AppContext.Provider value={state}>\n <AppDispatchContext.Provider value={dispatch}>{children}</AppDispatchContext.Provider>\n </AppContext.Provider>\n );\n}\n\nexport function useAppContext(): AppContextType {\n return useContext(AppContext);\n}\n\nexport function useAppDispatch(): Dispatch<ActionSetRelationship | ActionSetScope> {\n return useContext(AppDispatchContext);\n}\n","import type { Entity } from '../core/types';\n\nexport const assetSchema: Entity = {\n name: '_asset',\n plural: '_assets',\n menu: {\n hidden: true,\n },\n attributes: [\n {\n name: 'path',\n label: 'Asset',\n scope: 'global',\n options: {\n size: 140,\n },\n isEditable: true,\n dataType: 'string',\n inputType: 'text',\n previewType: 'assetPreviewField',\n defaultValue: '',\n },\n {\n name: 'originalFilename',\n label: 'Filename',\n scope: 'global',\n options: {\n size: 280,\n },\n isEditable: true,\n dataType: 'string',\n inputType: 'text',\n previewType: 'text',\n isPrimary: true,\n defaultValue: '',\n },\n {\n name: 'size',\n label: 'Size',\n scope: 'global',\n options: {\n size: 120,\n },\n isEditable: true,\n dataType: 'int',\n inputType: 'text',\n previewType: 'text',\n defaultValue: '',\n },\n {\n name: 'width',\n label: 'Width',\n scope: 'global',\n options: {\n size: 80,\n },\n isEditable: true,\n dataType: 'int',\n inputType: 'text',\n previewType: 'text',\n defaultValue: '',\n },\n {\n name: 'height',\n label: 'Height',\n scope: 'global',\n options: {\n size: 80,\n },\n isEditable: true,\n dataType: 'int',\n inputType: 'text',\n previewType: 'text',\n defaultValue: '',\n },\n {\n name: 'mimeType',\n label: 'Mime Type',\n scope: 'global',\n options: {\n size: 160,\n },\n isEditable: true,\n dataType: 'string',\n inputType: 'text',\n previewType: 'text',\n defaultValue: '',\n },\n {\n name: 'lqip',\n label: 'lqip',\n scope: 'global',\n isHidden: true,\n isEditable: true,\n dataType: 'string',\n inputType: 'text',\n previewType: 'text',\n defaultValue: '',\n },\n {\n name: '_updatedAt',\n label: 'Last Updated',\n scope: 'global',\n options: {\n size: 140,\n },\n isEditable: true,\n dataType: 'string',\n inputType: 'text',\n previewType: 'text',\n defaultValue: '',\n },\n {\n name: 'tags',\n label: 'Tags',\n scope: 'relationship',\n dataType: 'string',\n inputType: 'relationship',\n defaultValue: '',\n previewType: 'tags',\n options: {\n size: 300,\n },\n relationship: {\n mode: 'multiple',\n field: 'name',\n entity: '_tag',\n },\n },\n ],\n};\n","import type { Entity } from '../core/types';\n\nexport const tagSchema: Entity = {\n name: '_tag',\n plural: '_tags',\n menu: {\n hidden: true,\n },\n attributes: [\n {\n name: 'name',\n label: 'Tag Name',\n scope: 'global',\n options: {\n size: 220,\n },\n isEditable: true,\n dataType: 'string',\n inputType: 'text',\n previewType: 'text',\n isPrimary: true,\n defaultValue: '',\n },\n {\n name: '_updatedAt',\n label: 'Last Updated',\n scope: 'global',\n options: {\n size: 140,\n },\n isEditable: true,\n dataType: 'string',\n inputType: 'text',\n previewType: 'text',\n defaultValue: '',\n },\n {\n name: 'assets',\n label: 'Assets',\n scope: 'relationship',\n dataType: 'string',\n inputType: 'relationship',\n defaultValue: '',\n relationship: {\n mode: 'multiple',\n field: 'originalFilename',\n entity: '_asset',\n },\n },\n ],\n};\n","'use client';\n\nimport { createContext, useContext, useMemo } from 'react';\nimport { has, path } from 'ramda';\nimport { useParams } from 'react-router-dom';\nimport { assetSchema } from '../../entities/assets-schema';\nimport { tagSchema } from '../../entities/tags-schema';\nimport type { AppOptions, PluginOptions, ProjectOptions } from './types';\nimport type { Entity } from '../types';\n\ntype Contributes = NonNullable<PluginOptions['contributes']>;\nexport interface ConfigContext {\n contributions: {\n apps: AppOptions[] | [];\n };\n currentProjectId?: string;\n currentProjectSchema: Entity[];\n getContributionPointConfig: <T extends keyof Contributes>(\n contributionPoint: T,\n subPath?: string[]\n ) => Contributes[T][] | [];\n plugins: PluginOptions[];\n projects: ProjectOptions[];\n}\n\nconst ConfigContext = createContext<ConfigContext>({\n contributions: {\n apps: [],\n },\n currentProjectId: undefined,\n currentProjectSchema: [],\n getContributionPointConfig: () => [],\n plugins: [] as PluginOptions[],\n projects: [] as ProjectOptions[],\n});\nconst hasProjectIdProperty = (configItem: ProjectOptions | PluginOptions): boolean =>\n Object.prototype.hasOwnProperty.call(configItem, 'projectId');\nconst hasContributesProperty = (configItem: ProjectOptions | PluginOptions): boolean =>\n Object.prototype.hasOwnProperty.call(configItem, 'contributes');\n\nexport function ConfigProvider({\n config,\n children,\n}: {\n config: ProjectOptions[];\n children: React.ReactNode;\n}): JSX.Element {\n /**\n * Getting the projectId from the URL via react-router-dom's useParams hook triggers a rerender of this Context\n * every time the URL changes.\n */\n const { projectId: currentProjectId } = useParams<{ projectId: string }>();\n const enhancedConfig = useMemo(() => {\n const upsertReservedEntities = (schema: Entity[]): Entity[] => {\n const withoutReserved = schema.filter(\n (entity) => entity.name !== assetSchema.name && entity.name !== tagSchema.name\n );\n\n return [...withoutReserved, assetSchema, tagSchema];\n };\n\n return config.map((project) => ({\n ...project,\n schema: upsertReservedEntities(project.schema),\n }));\n }, [config]);\n\n const globalFlattenedConfig = useMemo(() => flattenConfigByProperty(['plugins'], enhancedConfig), [enhancedConfig]);\n const currentProjectFlattenedConfig = useMemo(\n () =>\n flattenConfigByProperty(\n ['plugins'],\n enhancedConfig.filter((item) => item.projectId === currentProjectId)\n ),\n [enhancedConfig, currentProjectId]\n );\n const allPlugins = globalFlattenedConfig.filter(\n (item: ProjectOptions | PluginOptions) => !hasProjectIdProperty(item) && hasContributesProperty(item)\n ) as PluginOptions[];\n const currentProjectPlugins = currentProjectFlattenedConfig.filter(\n (item: ProjectOptions | PluginOptions) => !hasProjectIdProperty(item) && hasContributesProperty(item)\n ) as PluginOptions[];\n\n const globalConfig = useMemo(\n () => ({\n contributions: {\n apps: _getContributionPointConfig('apps', [], currentProjectPlugins),\n },\n currentProjectId,\n currentProjectSchema: enhancedConfig.find((item) => item.projectId === currentProjectId)?.schema ?? [],\n getContributionPointConfig: <T extends keyof Contributes>(\n contributionPoint: T,\n subPath: string[] = []\n ): Contributes[T][] =>\n _getContributionPointConfig(contributionPoint, subPath, currentProjectPlugins) as Contributes[T][],\n plugins: allPlugins,\n projects: globalFlattenedConfig.filter((item: ProjectOptions | PluginOptions) =>\n hasProjectIdProperty(item)\n ) as ProjectOptions[],\n }),\n [allPlugins, currentProjectId, currentProjectPlugins, globalFlattenedConfig]\n );\n\n return (\n <ConfigContext.Provider\n value={{\n ...globalConfig,\n contributions: {\n ...globalConfig.contributions,\n apps: globalConfig.contributions.apps as AppOptions[] | [],\n },\n }}\n >\n {children}\n </ConfigContext.Provider>\n );\n}\n\nexport function useConfig(): ConfigContext {\n return useContext(ConfigContext);\n}\n\nfunction flattenConfigByProperty(\n property: string[],\n config: (ProjectOptions | PluginOptions)[]\n): (ProjectOptions | PluginOptions)[] | [] {\n if (!Array.isArray(config)) {\n return [config];\n }\n\n return config.reduce<(ProjectOptions | PluginOptions)[]>((acc, curr) => {\n if (path(property, curr)) {\n return [...acc, curr, ...flattenConfigByProperty(property, path(property, curr) ?? [])];\n }\n\n return [...acc, curr];\n }, []);\n}\n\nfunction _getContributionPointConfig<T extends keyof Contributes>(\n contributionPoint: T,\n subPath: string[] = [],\n config: PluginOptions[]\n): Contributes[T] {\n const pathArray = ['contributes', contributionPoint, ...subPath];\n\n return flattenConfigByProperty(pathArray.flat(), config).filter((item) => has('component', item)) as Contributes[T];\n}\n\nexport function getApps(config: ProjectOptions[]): AppOptions[] | [] {\n const flattenedConfig = flattenConfigByProperty(['plugins'], config);\n const plugins = flattenedConfig.filter(\n (item: ProjectOptions | PluginOptions) => !hasProjectIdProperty(item) && hasContributesProperty(item)\n ) as PluginOptions[];\n return _getContributionPointConfig('apps', [], plugins) as AppOptions[] | [];\n}\n"]}
@@ -1,2 +0,0 @@
1
- import {generateText}from'@tiptap/core';import {TiptapLink,TiptapImage,TaskList,TaskItem,HorizontalRule,StarterKit,CodeBlockLowlight,Youtube,Twitter,Mathematics,CharacterCount,Placeholder,AIHighlight,TiptapUnderline,MarkdownExtension,HighlightExtension,TextStyle,Color,CustomKeymap,GlobalDragHandle}from'novel/extensions';import {UploadImagesPlugin}from'novel/plugins';import {cx}from'class-variance-authority';import {createLowlight,common}from'lowlight';import {jsx}from'react/jsx-runtime';var C=AIHighlight,I=Placeholder,B=TiptapLink.configure({HTMLAttributes:{class:cx("fk-text-muted-foreground fk-underline fk-underline-offset-[3px] hover:fk-text-primary fk-transition-colors fk-cursor-pointer")}}),v=TiptapImage.extend({addProseMirrorPlugins(){return [UploadImagesPlugin({imageClass:cx("fk-opacity-40 fk-rounded-lg fk-border fk-border-stone-200")})]}}).configure({allowBase64:true,HTMLAttributes:{class:cx("fk-rounded-lg fk-border fk-border-muted")}}),P=TaskList.configure({HTMLAttributes:{class:cx("fk-not-prose fk-pl-2 ")}}),z=TaskItem.configure({HTMLAttributes:{class:cx("fk-flex gap-2 fk-items-start fk-my-2")},nested:true}),K=HorizontalRule.configure({HTMLAttributes:{class:cx("mt-4 mb-6 border-t border-muted-foreground")}}),N=StarterKit.configure({bulletList:{HTMLAttributes:{class:cx("fk-list-disc fk-list-outside fk-leading-3 -fk-mt-2")}},orderedList:{HTMLAttributes:{class:cx("fk-list-decimal fk-list-outside fk-leading-3 -fk-mt-2")}},listItem:{HTMLAttributes:{class:cx("fk-leading-normal -fk-mb-2")}},blockquote:{HTMLAttributes:{class:cx("fk-border-l-4 fk-border-primary")}},codeBlock:false,code:{HTMLAttributes:{class:cx("fk-rounded-md fk-bg-muted fk-px-1.5 fk-py-1 fk-font-mono fk-font-medium"),spellcheck:"false"}},horizontalRule:false,dropcursor:{color:"#DBEAFE",width:4},gapcursor:false}),O=CodeBlockLowlight.configure({lowlight:createLowlight(common)}),R=Youtube.configure({HTMLAttributes:{class:cx("fk-rounded-lg fk-border fk-border-muted")},inline:false}),S=Twitter.configure({HTMLAttributes:{class:cx("fk-not-prose")},inline:false}),D=Mathematics.configure({HTMLAttributes:{class:cx("fk-text-foreground fk-rounded fk-p-1 hover:fk-bg-muted fk-cursor-pointer")},katexOptions:{throwOnError:false}}),G=CharacterCount.configure(),r=[N,I,B,v,P,z,K,C,O,R,S,D,G,TiptapUnderline,MarkdownExtension,HighlightExtension,TextStyle,Color,CustomKeymap,GlobalDragHandle];var s=100;function Z({value:o}){let e;try{e=generateText(JSON.parse(o),r).substring(0,s);}catch{e=o?.substring(0,s)??"";}return jsx("div",{className:"fk-truncate",children:e})}export{r as a,Z as b};//# sourceMappingURL=chunk-OBDHNFM5.js.map
2
- //# sourceMappingURL=chunk-OBDHNFM5.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/form/fields/editor/extensions.ts","../src/data-grid/preview-components/editor.tsx"],"names":["aiHighlight","AIHighlight","placeholder","Placeholder","tiptapLink","TiptapLink","cx","tiptapImage","TiptapImage","UploadImagesPlugin","taskList","TaskList","taskItem","TaskItem","horizontalRule","HorizontalRule","starterKit","StarterKit","codeBlockLowlight","CodeBlockLowlight","createLowlight","common","youtube","Youtube","twitter","Twitter","mathematics","Mathematics","characterCount","CharacterCount","defaultExtensions","TiptapUnderline","MarkdownExtension","HighlightExtension","TextStyle","Color","CustomKeymap","GlobalDragHandle","MAX_LENGTH","Editor","value","textValue","generateText","jsx"],"mappings":"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","file":"chunk-OBDHNFM5.js","sourcesContent":["import {\n AIHighlight,\n CharacterCount,\n CodeBlockLowlight,\n Color,\n CustomKeymap,\n GlobalDragHandle,\n HighlightExtension,\n HorizontalRule,\n MarkdownExtension,\n Placeholder,\n StarterKit,\n TaskItem,\n TaskList,\n TextStyle,\n TiptapImage,\n TiptapLink,\n TiptapUnderline,\n Twitter,\n Youtube,\n Mathematics,\n} from 'novel/extensions';\nimport { Extensions } from '@tiptap/core';\nimport { UploadImagesPlugin } from 'novel/plugins';\nimport { cx } from 'class-variance-authority';\nimport { common, createLowlight } from 'lowlight';\n\n//TODO I am using cx here to get tailwind autocomplete working, idk if someone else can write a regex to just capture the class key in objects\nconst aiHighlight = AIHighlight;\n//You can overwrite the placeholder with your own configuration\nconst placeholder = Placeholder;\nconst tiptapLink = TiptapLink.configure({\n HTMLAttributes: {\n 'class': cx(\n 'fk-text-muted-foreground fk-underline fk-underline-offset-[3px] hover:fk-text-primary fk-transition-colors fk-cursor-pointer'\n ),\n },\n});\n\nconst tiptapImage = TiptapImage.extend({\n addProseMirrorPlugins() {\n return [\n UploadImagesPlugin({\n imageClass: cx('fk-opacity-40 fk-rounded-lg fk-border fk-border-stone-200'),\n }),\n ];\n },\n}).configure({\n allowBase64: true,\n HTMLAttributes: {\n class: cx('fk-rounded-lg fk-border fk-border-muted'),\n },\n});\n\nconst taskList = TaskList.configure({\n HTMLAttributes: {\n class: cx('fk-not-prose fk-pl-2 '),\n },\n});\nconst taskItem = TaskItem.configure({\n HTMLAttributes: {\n 'class': cx('fk-flex gap-2 fk-items-start fk-my-2'),\n },\n nested: true,\n});\n\nconst horizontalRule = HorizontalRule.configure({\n HTMLAttributes: {\n 'class': cx('mt-4 mb-6 border-t border-muted-foreground'),\n },\n});\n\nconst starterKit = StarterKit.configure({\n bulletList: {\n HTMLAttributes: {\n 'class': cx('fk-list-disc fk-list-outside fk-leading-3 -fk-mt-2'),\n },\n },\n orderedList: {\n HTMLAttributes: {\n 'class': cx('fk-list-decimal fk-list-outside fk-leading-3 -fk-mt-2'),\n },\n },\n listItem: {\n HTMLAttributes: {\n 'class': cx('fk-leading-normal -fk-mb-2'),\n },\n },\n blockquote: {\n HTMLAttributes: {\n 'class': cx('fk-border-l-4 fk-border-primary'),\n },\n },\n codeBlock: false,\n code: {\n HTMLAttributes: {\n 'class': cx('fk-rounded-md fk-bg-muted fk-px-1.5 fk-py-1 fk-font-mono fk-font-medium'),\n spellcheck: 'false',\n },\n },\n horizontalRule: false,\n dropcursor: {\n color: '#DBEAFE',\n width: 4,\n },\n gapcursor: false,\n});\n\nconst codeBlockLowlight = CodeBlockLowlight.configure({\n // configure lowlight: common / all / use highlightJS in case there is a need to specify certain language grammars only\n // common: covers 37 language grammars which should be good enough in most cases\n lowlight: createLowlight(common),\n});\n\nconst youtube = Youtube.configure({\n HTMLAttributes: {\n 'class': cx('fk-rounded-lg fk-border fk-border-muted'),\n },\n inline: false,\n});\n\nconst twitter = Twitter.configure({\n HTMLAttributes: {\n 'class': cx('fk-not-prose'),\n },\n inline: false,\n});\n\nconst mathematics = Mathematics.configure({\n HTMLAttributes: {\n 'class': cx('fk-text-foreground fk-rounded fk-p-1 hover:fk-bg-muted fk-cursor-pointer'),\n },\n katexOptions: {\n throwOnError: false,\n },\n});\n\nconst characterCount = CharacterCount.configure();\n\nexport const defaultExtensions: Extensions = [\n starterKit,\n placeholder,\n tiptapLink,\n tiptapImage,\n taskList,\n taskItem,\n horizontalRule,\n aiHighlight,\n codeBlockLowlight,\n youtube,\n twitter,\n mathematics,\n characterCount,\n TiptapUnderline,\n MarkdownExtension,\n HighlightExtension,\n TextStyle,\n Color,\n CustomKeymap,\n GlobalDragHandle,\n];\n","import { generateText } from '@tiptap/core';\nimport { defaultExtensions } from '../../form/fields/editor/extensions';\n\nconst MAX_LENGTH = 100;\n\n/**\n * Renders a preview of the editor content.\n */\nexport function Editor({ value }: { value: string }) {\n let textValue;\n\n try {\n textValue = generateText(JSON.parse(value), defaultExtensions).substring(0, MAX_LENGTH);\n } catch (e) {\n textValue = value?.substring(0, MAX_LENGTH) ?? '';\n }\n\n return <div className=\"fk-truncate\">{textValue}</div>;\n}\n"]}
@@ -1,2 +0,0 @@
1
- import {format}from'date-fns';import {jsx}from'react/jsx-runtime';function o({value:n}){let e=n==null||n===""?"":format(new Date(n),"PPP")+" at "+format(new Date(n),"HH:mm");return jsx("div",{className:"fk-truncate",children:e})}export{o as a};//# sourceMappingURL=chunk-OBWXS7PQ.js.map
2
- //# sourceMappingURL=chunk-OBWXS7PQ.js.map
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-A6DNMUGW.js';import*as o from'react';import {jsx}from'react/jsx-runtime';var b=o.forwardRef(({className:e,onScroll:t,...a$1},f)=>jsx("div",{className:"fk-relative fk-h-full fk-w-full fk-overflow-x-auto fk-rounded-md fk-border-border fk-border",onScroll:t,ref:f,children:jsx("table",{className:a("fk-w-full fk-caption-bottom fk-text-sm",e),...a$1})}));b.displayName="Table";var d=o.forwardRef(({className:e,...t},a$1)=>jsx("thead",{className:a("fk-sticky fk-z-[1] fk-top-0 fk-bg-background/90 fk-backdrop-blur-[1px] [&_tr]:fk-border-border [&_tr]:fk-border-border [&_tr]:fk-border-b",e),ref:a$1,...t}));d.displayName="TableHeader";var T=o.forwardRef(({className:e,...t},a$1)=>jsx("tbody",{className:a("[&_tr:last-child]:fk-border-0",e),ref:a$1,...t}));T.displayName="TableBody";var s=o.forwardRef(({className:e,...t},a$1)=>jsx("tfoot",{className:a("fk-border-border fk-border-t fk-bg-muted/50 fk-font-medium [&>tr]:last:fk-border-b-0",e),ref:a$1,...t}));s.displayName="TableFooter";var c=o.forwardRef(({className:e,...t},a$1)=>jsx("tr",{className:a("fk-border-border fk-border-b fk-transition-colors hover:fk-bg-muted/50 data-[state=selected]:fk-bg-muted",e),ref:a$1,...t}));c.displayName="TableRow";var m=o.forwardRef(({className:e,style:t,...a$1},f)=>jsx("th",{className:a("fk-h-10 fk-px-4 fk-text-left fk-align-middle fk-font-medium fk-text-muted-foreground [&:has([role=checkbox])]:fk-pr-0",e),ref:f,...a$1,style:t}));m.displayName="TableHead";var k=o.forwardRef(({className:e,...t},a$1)=>jsx("td",{className:a("fk-px-4 fk-py-1 fk-align-middle [&:has([role=checkbox])]:fk-pr-0",e),ref:a$1,...t}));k.displayName="TableCell";var n=o.forwardRef(({className:e,...t},a$1)=>jsx("caption",{className:a("fk-mt-4 fk-text-sm fk-text-muted-foreground",e),ref:a$1,...t}));n.displayName="TableCaption";export{b as a,d as b,T as c,s as d,c as e,m as f,k as g,n as h};//# sourceMappingURL=chunk-OJCXEL7M.js.map
2
- //# sourceMappingURL=chunk-OJCXEL7M.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ui/primitives/table.tsx"],"names":["Table","className","onScroll","props","ref","jsx","cn","TableHeader","TableBody","TableFooter","TableRow","TableHead","style","TableCell","TableCaption"],"mappings":"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","file":"chunk-OJCXEL7M.js","sourcesContent":["import * as React from 'react';\nimport { cn } from 'src/ui/lib/utils';\n\nconst Table = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLTableElement>>(\n ({ className, onScroll, ...props }, ref) => (\n <div\n className=\"fk-relative fk-h-full fk-w-full fk-overflow-x-auto fk-rounded-md fk-border-border fk-border\"\n onScroll={onScroll}\n ref={ref}\n >\n <table className={cn('fk-w-full fk-caption-bottom fk-text-sm', className)} {...props} />\n </div>\n )\n);\nTable.displayName = 'Table';\n\nconst TableHeader = React.forwardRef<HTMLTableSectionElement, React.HTMLAttributes<HTMLTableSectionElement>>(\n ({ className, ...props }, ref) => (\n <thead\n className={cn(\n 'fk-sticky fk-z-[1] fk-top-0 fk-bg-background/90 fk-backdrop-blur-[1px] [&_tr]:fk-border-border [&_tr]:fk-border-border [&_tr]:fk-border-b',\n className\n )}\n ref={ref}\n {...props}\n />\n )\n);\nTableHeader.displayName = 'TableHeader';\n\nconst TableBody = React.forwardRef<HTMLTableSectionElement, React.HTMLAttributes<HTMLTableSectionElement>>(\n ({ className, ...props }, ref) => (\n <tbody className={cn('[&_tr:last-child]:fk-border-0', className)} ref={ref} {...props} />\n )\n);\nTableBody.displayName = 'TableBody';\n\nconst TableFooter = React.forwardRef<HTMLTableSectionElement, React.HTMLAttributes<HTMLTableSectionElement>>(\n ({ className, ...props }, ref) => (\n <tfoot\n className={cn('fk-border-border fk-border-t fk-bg-muted/50 fk-font-medium [&>tr]:last:fk-border-b-0', className)}\n ref={ref}\n {...props}\n />\n )\n);\nTableFooter.displayName = 'TableFooter';\n\nconst TableRow = React.forwardRef<HTMLTableRowElement, React.HTMLAttributes<HTMLTableRowElement>>(\n ({ className, ...props }, ref) => (\n <tr\n className={cn(\n 'fk-border-border fk-border-b fk-transition-colors hover:fk-bg-muted/50 data-[state=selected]:fk-bg-muted',\n className\n )}\n ref={ref}\n {...props}\n />\n )\n);\nTableRow.displayName = 'TableRow';\n\nconst TableHead = React.forwardRef<HTMLTableCellElement, React.ThHTMLAttributes<HTMLTableCellElement>>(\n ({ className, style, ...props }, ref) => {\n return (\n <th\n className={cn(\n 'fk-h-10 fk-px-4 fk-text-left fk-align-middle fk-font-medium fk-text-muted-foreground [&:has([role=checkbox])]:fk-pr-0',\n className\n )}\n ref={ref}\n {...props}\n style={style}\n />\n );\n }\n);\nTableHead.displayName = 'TableHead';\n\nconst TableCell = React.forwardRef<HTMLTableCellElement, React.TdHTMLAttributes<HTMLTableCellElement>>(\n ({ className, ...props }, ref) => (\n <td\n className={cn('fk-px-4 fk-py-1 fk-align-middle [&:has([role=checkbox])]:fk-pr-0', className)}\n ref={ref}\n {...props}\n />\n )\n);\nTableCell.displayName = 'TableCell';\n\nconst TableCaption = React.forwardRef<HTMLTableCaptionElement, React.HTMLAttributes<HTMLTableCaptionElement>>(\n ({ className, ...props }, ref) => (\n <caption className={cn('fk-mt-4 fk-text-sm fk-text-muted-foreground', className)} ref={ref} {...props} />\n )\n);\nTableCaption.displayName = 'TableCaption';\n\nexport { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption };\n"]}
@@ -1,2 +0,0 @@
1
- import {a as a$1}from'./chunk-A6DNMUGW.js';import*as t from'react';import*as e from'@radix-ui/react-checkbox';import {Check}from'lucide-react';import {jsx}from'react/jsx-runtime';var a=t.forwardRef(({className:r,...f},k)=>jsx(e.Root,{className:a$1("fk-peer fk-h-4 fk-w-4 fk-shrink-0 fk-rounded-sm fk-border fk-border-primary 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 disabled:fk-cursor-not-allowed disabled:fk-opacity-50 data-[state=checked]:fk-bg-primary data-[state=checked]:fk-text-primary-foreground",r),ref:k,...f,children:jsx(e.Indicator,{className:a$1("fk-flex fk-items-center fk-justify-center fk-text-current"),children:jsx(Check,{className:"fk-h-4 fk-w-4"})})}));a.displayName=e.Root.displayName;export{a};//# sourceMappingURL=chunk-OTLHY3ST.js.map
2
- //# sourceMappingURL=chunk-OTLHY3ST.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ui/primitives/checkbox.tsx"],"names":["Checkbox","className","props","ref","jsx","cn","Check"],"mappings":"uLAOMA,CAAAA,CAAiB,CAAA,CAAA,UAAA,CAGrB,CAAC,CAAE,SAAA,CAAAC,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAAGC,CAAAA,GAC1BC,GAAAA,CAAmB,CAAA,CAAA,IAAA,CAAlB,CACC,SAAA,CAAWC,IACT,gWAAA,CACAJ,CACF,CAAA,CACA,GAAA,CAAKE,CAAAA,CACJ,GAAGD,CAAAA,CAEJ,QAAA,CAAAE,GAAAA,CAAmB,CAAA,CAAA,SAAA,CAAlB,CAA4B,SAAA,CAAWC,GAAAA,CAAG,2DAA2D,EACpG,QAAA,CAAAD,GAAAA,CAACE,KAAAA,CAAA,CAAM,SAAA,CAAU,eAAA,CAAgB,CAAA,CACnC,CAAA,CACF,CACD,EACDN,CAAAA,CAAS,WAAA,CAAgC,CAAA,CAAA,IAAA,CAAK,WAAA","file":"chunk-OTLHY3ST.js","sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox';\nimport { Check } from 'lucide-react';\nimport { cn } from 'src/ui/lib/utils';\n\nconst Checkbox = React.forwardRef<\n React.ElementRef<typeof CheckboxPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <CheckboxPrimitive.Root\n className={cn(\n 'fk-peer fk-h-4 fk-w-4 fk-shrink-0 fk-rounded-sm fk-border fk-border-primary 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 disabled:fk-cursor-not-allowed disabled:fk-opacity-50 data-[state=checked]:fk-bg-primary data-[state=checked]:fk-text-primary-foreground',\n className\n )}\n ref={ref}\n {...props}\n >\n <CheckboxPrimitive.Indicator className={cn('fk-flex fk-items-center fk-justify-center fk-text-current')}>\n <Check className=\"fk-h-4 fk-w-4\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n));\nCheckbox.displayName = CheckboxPrimitive.Root.displayName;\n\nexport { Checkbox };\n"]}
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-A6DNMUGW.js';import*as i from'react';import*as o from'@radix-ui/react-tooltip';import {jsx}from'react/jsx-runtime';var l=o.Provider,n=o.Root,s=o.Trigger,k=o.Portal,d=i.forwardRef(({className:e,sideOffset:r=4,...f},a$1)=>jsx(o.Content,{className:a("fk-z-50 fk-overflow-hidden fk-rounded-md fk-border fk-border-border fk-bg-popover fk-px-3 fk-py-1.5 fk-text-sm fk-text-popover-foreground fk-shadow-md fk-animate-in fk-fade-in-0 fk-zoom-in-95 data-[state=closed]:fk-animate-out data-[state=closed]:fk-fade-out-0 data-[state=closed]:fk-zoom-out-95 data-[side=bottom]:fk-slide-in-from-top-2 data-[side=left]:fk-slide-in-from-right-2 data-[side=right]:fk-slide-in-from-left-2 data-[side=top]:fk-slide-in-from-bottom-2",e),ref:a$1,sideOffset:r,...f}));d.displayName=o.Content.displayName;export{l as a,n as b,s as c,k as d,d as e};//# sourceMappingURL=chunk-OV2SJGU3.js.map
2
- //# sourceMappingURL=chunk-OV2SJGU3.js.map
@@ -1,2 +0,0 @@
1
- import {c as c$1}from'./chunk-SHVY2WXV.js';import {createContext,useContext}from'react';import c from'swr';import {useParams}from'react-router-dom';import {jsx}from'react/jsx-runtime';function i(){let{projectId:e}=useParams(),{data:t,isLoading:o}=c(c$1(e??"").currentUser,u=>fetch(u,{mode:"cors",credentials:"include"}).then(n=>n.json()));return [o,{user:t,logout:async()=>{await fetch(c$1(e??"").logout("/studio"),{method:"POST",mode:"cors",credentials:"include"}),await fetch("/api/flexkit/logout",{method:"GET",credentials:"include"}),window.location.reload();}}]}var s=createContext([true,{user:null,logout:()=>Promise.resolve()}]);function P({children:e}){let[t,o]=i();return jsx(s.Provider,{value:[t,o],children:e})}function x(){return useContext(s)}export{P as a,x as b};//# sourceMappingURL=chunk-PAAKWKLA.js.map
2
- //# sourceMappingURL=chunk-PAAKWKLA.js.map
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-OTLHY3ST.js';import {useId}from'react';import {jsxs,jsx}from'react/jsx-runtime';function i({scope:e,checked:a$1,onChange:d}){let l=useId();return !e||e==="default"?null:jsxs("div",{className:"fk-flex fk-items-center fk-space-x-2 fk-mb-2",children:[jsx(a,{checked:a$1,id:l,onCheckedChange:d}),jsx("label",{className:"fk-text-xs fk-font-normal fk-leading-none peer-disabled:fk-cursor-not-allowed peer-disabled:fk-opacity-70",htmlFor:l,children:"Use default value"})]})}export{i as a};//# sourceMappingURL=chunk-RUXKF224.js.map
2
- //# sourceMappingURL=chunk-RUXKF224.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/form/fields/default-value-switch.tsx"],"names":["DefaultValueSwitch","scope","checked","onChange","elementId","useId","jsxs","jsx","Checkbox"],"mappings":"uGASO,SAASA,CAAAA,CAAmB,CAAE,MAAAC,CAAAA,CAAO,OAAA,CAAAC,GAAAA,CAAS,QAAA,CAAAC,CAAS,CAAA,CAA8B,CAC1F,IAAMC,CAAAA,CAAYC,KAAAA,EAAM,CAExB,OAAI,CAACJ,GAASA,CAAAA,GAAU,SAAA,CACf,IAAA,CAIPK,IAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,+CACb,QAAA,CAAA,CAAAC,GAAAA,CAACC,CAAAA,CAAA,CAAS,OAAA,CAASN,GAAAA,CAAS,GAAIE,CAAAA,CAAW,eAAA,CAAiBD,CAAAA,CAAwB,CAAA,CACpFI,GAAAA,CAAC,OAAA,CAAA,CACC,SAAA,CAAU,2GAAA,CACV,OAAA,CAASH,CAAAA,CACV,QAAA,CAAA,mBAAA,CAED,CAAA,CAAA,CACF,CAEJ","file":"chunk-RUXKF224.js","sourcesContent":["import { useId } from 'react';\nimport { Checkbox } from '../../ui/primitives/checkbox';\n\ntype Props = {\n scope: string | undefined;\n checked: boolean;\n onChange: (checked: boolean) => void;\n};\n\nexport function DefaultValueSwitch({ scope, checked, onChange }: Props): JSX.Element | null {\n const elementId = useId();\n\n if (!scope || scope === 'default') {\n return null;\n }\n\n return (\n <div className=\"fk-flex fk-items-center fk-space-x-2 fk-mb-2\">\n <Checkbox checked={checked} id={elementId} onCheckedChange={onChange as () => void} />\n <label\n className=\"fk-text-xs fk-font-normal fk-leading-none peer-disabled:fk-cursor-not-allowed peer-disabled:fk-opacity-70\"\n htmlFor={elementId}\n >\n Use default value\n </label>\n </div>\n );\n}\n"]}
@@ -1,3 +0,0 @@
1
- var s="flexkit.io",o=`https://${s}`,t=i=>i?`https://${i}.api.${s}`:o,r="https://flexkit.io/images/";function a(i=""){return {authProviders:`/api/flexkit/${i}/auth/providers`,completion:`/api/flexkit/${i}/completion`,currentUser:`/api/flexkit/${i}/users/me`,loginOtpConfirm:`${t(i)}/auth/otp/confirm`,loginOtpSend:`${t(i)}/auth/otp/send`,logout:n=>`/api/flexkit/${i}/auth/logout?redirect=/${n}/${i}`,search:`/api/flexkit/${i}/search`,sessionId:`${t(i)}/api/auth/login/session`,upload:`/api/flexkit/${i}/upload`}}
2
- export{o as a,r as b,a as c};//# sourceMappingURL=chunk-SHVY2WXV.js.map
3
- //# sourceMappingURL=chunk-SHVY2WXV.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/core/api-paths.ts"],"names":["domain","baseApiUrl","baseProjectApiUrl","projectId","IMAGES_BASE_URL","apiPaths","basePath"],"mappings":"AAAA,IAAMA,CAAAA,CAAS,YAAA,CACFC,CAAAA,CAAa,CAAA,QAAA,EAAWD,CAAM,CAAA,CAAA,CACrCE,CAAAA,CAAqBC,CAAAA,EACzBA,CAAAA,CAAY,CAAA,QAAA,EAAWA,CAAS,CAAA,KAAA,EAAQH,CAAM,GAAKC,CAAAA,CAcxCG,CAAAA,CAAkB,6BAExB,SAASC,CAAAA,CAASF,CAAAA,CAAY,EAAA,CAAc,CACjD,OAAO,CACL,aAAA,CAAe,CAAA,aAAA,EAAgBA,CAAS,kBACxC,UAAA,CAAY,CAAA,aAAA,EAAgBA,CAAS,CAAA,WAAA,CAAA,CACrC,YAAa,CAAA,aAAA,EAAgBA,CAAS,CAAA,SAAA,CAAA,CACtC,eAAA,CAAiB,CAAA,EAAGD,CAAAA,CAAkBC,CAAS,CAAC,oBAChD,YAAA,CAAc,CAAA,EAAGD,CAAAA,CAAkBC,CAAS,CAAC,CAAA,cAAA,CAAA,CAC7C,MAAA,CAASG,CAAAA,EAAqB,CAAA,aAAA,EAAgBH,CAAS,CAAA,uBAAA,EAA0BG,CAAQ,CAAA,CAAA,EAAIH,CAAS,CAAA,CAAA,CACtG,MAAA,CAAQ,CAAA,aAAA,EAAgBA,CAAS,UACjC,SAAA,CAAW,CAAA,EAAGD,CAAAA,CAAkBC,CAAS,CAAC,CAAA,uBAAA,CAAA,CAC1C,MAAA,CAAQ,CAAA,aAAA,EAAgBA,CAAS,SACnC,CACF","file":"chunk-SHVY2WXV.js","sourcesContent":["const domain = 'flexkit.io';\nexport const baseApiUrl = `https://${domain}`;\nconst baseProjectApiUrl = (projectId?: string): string =>\n projectId ? `https://${projectId}.api.${domain}` : baseApiUrl;\n\ninterface ApiPaths {\n authProviders: string;\n completion: string;\n currentUser: string;\n loginOtpConfirm: string;\n loginOtpSend: string;\n logout: (basePath: string) => string;\n search: string;\n sessionId: string;\n upload: string;\n}\n\nexport const IMAGES_BASE_URL = 'https://flexkit.io/images/';\n\nexport function apiPaths(projectId = ''): ApiPaths {\n return {\n authProviders: `/api/flexkit/${projectId}/auth/providers`,\n completion: `/api/flexkit/${projectId}/completion`,\n currentUser: `/api/flexkit/${projectId}/users/me`,\n loginOtpConfirm: `${baseProjectApiUrl(projectId)}/auth/otp/confirm`,\n loginOtpSend: `${baseProjectApiUrl(projectId)}/auth/otp/send`,\n logout: (basePath: string) => `/api/flexkit/${projectId}/auth/logout?redirect=/${basePath}/${projectId}`,\n search: `/api/flexkit/${projectId}/search`,\n sessionId: `${baseProjectApiUrl(projectId)}/api/auth/login/session`,\n upload: `/api/flexkit/${projectId}/upload`,\n };\n}\n"]}
@@ -1,2 +0,0 @@
1
- import {c,h}from'./chunk-NM3JPB46.js';import {c as c$1}from'./chunk-SHVY2WXV.js';import _ from'swr';import {find,propEq}from'ramda';function J(t,e){let{scope:y}=c(),{projects:m,currentProjectId:u}=h(),{schema:i,scopes:c$2}=find(propEq(u??"","projectId"))(m),n=c$2?.find(l=>l.isDefault)?.name??"default",o=e?.commonParams.q?JSON.stringify(e):null,{data:r,error:d,isLoading:s}=_(o,()=>fetch(c$1(t).search,{body:JSON.stringify(e),method:"POST",mode:"cors"}).then(l=>l.json()));return {results:j(r?.results??[],t,i,y,n)??[],error:d,isLoading:s}}function w(t){return t.find(e=>e.isPrimary)?.name??t[0]?.name}function j(t,e,y,m,u){return t?.filter(i=>i?.hits?.length>0).map(i=>{let c=i,n=c.collection.replace(`${e}_`,"").replace(/_\d+$/,""),o=find(propEq(n,"plural"))(y);if(!o)return [];let r=w(o?.attributes??[]),d=o?.name??n;return c.hits.map(({document:s})=>{let a=s[r],I=(a&&typeof a!="string"?a[m]??a[u]:null)??s[r],N=Object.entries(s).reduce((g,[p,f])=>{if(p!==r&&p!=="id"&&p!=="_updatedAt"){let A=typeof f!="string"?f[m]??f[u]:f;g[p]=A;}return g},{});return {_id:s.id,_entityName:d,_entityNamePlural:n,[r]:I,...N}})}).flat()}export{J as a};//# sourceMappingURL=chunk-TKD36DLT.js.map
2
- //# sourceMappingURL=chunk-TKD36DLT.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/core/use-search.tsx"],"names":["useSearch","projectId","searchRequest","scope","useAppContext","projects","currentProjectId","useConfig","schema","scopes","find","propEq","defaultScope","s","swrKey","data","error","isLoading","useSWR","apiPaths","res","mapResults","getPrimaryAttributeName","schemaAttributes","attr","results","result","item","entityNamePlural","entitySchema","primaryAttributeName","entityName","document","primaryAttribute","primaryAttributeValue","attributes","acc","key","value","scopedValue"],"mappings":"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","file":"chunk-TKD36DLT.js","sourcesContent":["import useSWR from 'swr';\nimport { find, propEq } from 'ramda';\nimport { apiPaths } from './api-paths';\nimport { useAppContext } from './app-context';\nimport { useConfig } from './config/config-context';\nimport type { SingleProject } from './config/types';\nimport type {\n Attribute,\n Entity,\n RawResultItem,\n RawSearchResultItems,\n SearchRequestProps,\n SearchResultItem,\n} from './types';\n\nexport function useSearch(\n projectId: string,\n searchRequest: SearchRequestProps | null\n): { results: SearchResultItem[] | []; error: Error; isLoading: boolean } {\n const { scope } = useAppContext();\n const { projects, currentProjectId } = useConfig();\n const { schema, scopes } = find(propEq(currentProjectId ?? '', 'projectId'))(projects) as SingleProject;\n const defaultScope = scopes?.find((s) => s.isDefault)?.name ?? 'default';\n const swrKey = searchRequest?.commonParams.q ? JSON.stringify(searchRequest) : null;\n const { data, error, isLoading } = useSWR(swrKey, () =>\n fetch(apiPaths(projectId).search, { body: JSON.stringify(searchRequest), method: 'POST', mode: 'cors' }).then(\n (res) => res.json() as Promise<{ results: RawSearchResultItems }>\n )\n );\n const results = mapResults(data?.results ?? [], projectId, schema, scope, defaultScope);\n\n return { results: results ?? [], error, isLoading };\n}\n\n/**\n * Find the name of the attribute of an entity with isPrimary === true.\n * The value of that attribute is returned as the value for the relationship attribute\n */\nfunction getPrimaryAttributeName(schemaAttributes: Attribute[]): string {\n return schemaAttributes.find((attr) => attr.isPrimary)?.name ?? schemaAttributes[0]?.name;\n}\n\nfunction mapResults(\n results: RawSearchResultItems | undefined,\n projectId: string,\n schema: Entity[],\n scope: string,\n defaultScope: string\n): SearchResultItem[] | undefined {\n return results\n ?.filter((result) => (result as RawResultItem)?.hits?.length > 0)\n .map((result) => {\n const item = result as RawResultItem;\n const entityNamePlural = item.collection.replace(`${projectId}_`, '').replace(/_\\d+$/, '');\n const entitySchema = find<Entity>(propEq(entityNamePlural, 'plural'))(schema);\n\n if (!entitySchema) {\n return [];\n }\n\n const primaryAttributeName = getPrimaryAttributeName(entitySchema?.attributes ?? []);\n const entityName = entitySchema?.name ?? entityNamePlural;\n\n // iterate over the hits and return an object with the primary attribute value first and then the rest of the attributes.\n return item.hits.map(({ document }) => {\n const primaryAttribute = document[primaryAttributeName];\n const scopedPrimaryAttribute =\n primaryAttribute && typeof primaryAttribute !== 'string'\n ? (primaryAttribute[scope] ?? primaryAttribute[defaultScope])\n : null;\n const primaryAttributeValue = scopedPrimaryAttribute ?? document[primaryAttributeName];\n const attributes = Object.entries(document).reduce(\n (acc: Omit<SearchResultItem, '_id' | '_entityName' | '_entityNamePlural'>, [key, value]) => {\n if (key !== primaryAttributeName && key !== 'id' && key !== '_updatedAt') {\n const scopedValue = typeof value !== 'string' ? (value[scope] ?? value[defaultScope]) : value;\n\n acc[key] = scopedValue;\n }\n\n return acc;\n },\n {}\n );\n\n return {\n _id: document.id,\n _entityName: entityName,\n _entityNamePlural: entityNamePlural,\n [primaryAttributeName]: primaryAttributeValue as string,\n ...attributes,\n };\n });\n })\n .flat();\n}\n"]}
@@ -1,2 +0,0 @@
1
- import {a}from'./chunk-A6DNMUGW.js';import*as f from'react';import {jsx}from'react/jsx-runtime';var i=f.forwardRef(({className:t,type:r,...o},n)=>jsx("input",{className:a("fk-flex fk-h-10 fk-w-full fk-rounded-md fk-border fk-border-input fk-bg-background fk-px-3 fk-py-2 fk-text-sm fk-ring-offset-background file:fk-border-0 file:fk-bg-transparent file:fk-text-sm file:fk-font-medium placeholder:fk-text-muted-foreground focus-visible:fk-outline-none focus-visible:fk-ring-2 focus-visible:fk-ring-ring focus-visible:fk-ring-offset-2 disabled:fk-cursor-not-allowed disabled:fk-opacity-50",t),ref:n,type:r,...o}));i.displayName="Input";export{i as a};//# sourceMappingURL=chunk-UTZ7XOUK.js.map
2
- //# sourceMappingURL=chunk-UTZ7XOUK.js.map