@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
@@ -0,0 +1 @@
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-HZZZBJEZ.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"]}
@@ -0,0 +1,2 @@
1
+ import'./index.css';import {a as a$1}from'./chunk-AXB7FQV2.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-K5CEPNVI.js.map
2
+ //# sourceMappingURL=chunk-K5CEPNVI.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ui/primitives/avatar.tsx"],"names":["Avatar","className","props","ref","jsx","cn","AvatarImage","AvatarFallback"],"mappings":"gJAMA,IAAMA,CAAAA,CAAe,aAGnB,CAAC,CAAE,UAAAC,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAAGC,CAAAA,GAC1BC,IAAiB,CAAA,CAAA,IAAA,CAAhB,CACC,UAAWC,GAAAA,CAAG,oFAAA,CAAsFJ,CAAS,CAAA,CAC7G,GAAA,CAAKE,EACJ,GAAGD,CAAAA,CACN,CACD,EACDF,CAAAA,CAAO,YAA8B,CAAA,CAAA,IAAA,CAAK,WAAA,KAEpCM,CAAAA,CAAoB,CAAA,CAAA,UAAA,CAGxB,CAAC,CAAE,SAAA,CAAAL,EAAW,GAAGC,CAAM,EAAGC,CAAAA,GAC1BC,GAAAA,CAAiB,QAAhB,CAAsB,SAAA,CAAWC,IAAG,sCAAA,CAAwCJ,CAAS,EAAG,GAAA,CAAKE,CAAAA,CAAM,GAAGD,CAAAA,CAAO,CAC/G,EACDI,CAAAA,CAAY,WAAA,CAA8B,QAAM,WAAA,CAEhD,IAAMC,EAAuB,CAAA,CAAA,UAAA,CAG3B,CAAC,CAAE,SAAA,CAAAN,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAAGC,IAC1BC,GAAAA,CAAiB,CAAA,CAAA,QAAA,CAAhB,CACC,SAAA,CAAWC,GAAAA,CACT,4FACAJ,CACF,CAAA,CACA,IAAKE,CAAAA,CACJ,GAAGD,EACN,CACD,EACDK,CAAAA,CAAe,WAAA,CAA8B,CAAA,CAAA,QAAA,CAAS,WAAA","file":"chunk-G3L524HS.js","sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport * as AvatarPrimitive from '@radix-ui/react-avatar';\nimport { cn } from 'src/ui/lib/utils';\n\nconst Avatar = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Root\n className={cn('fk-relative fk-flex fk-h-10 fk-w-10 fk-shrink-0 fk-overflow-hidden fk-rounded-full', className)}\n ref={ref}\n {...props}\n />\n));\nAvatar.displayName = AvatarPrimitive.Root.displayName;\n\nconst AvatarImage = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Image>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Image className={cn('fk-aspect-square fk-h-full fk-w-full', className)} ref={ref} {...props} />\n));\nAvatarImage.displayName = AvatarPrimitive.Image.displayName;\n\nconst AvatarFallback = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Fallback>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Fallback>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Fallback\n className={cn(\n 'fk-flex fk-h-full fk-w-full fk-items-center fk-justify-center fk-rounded-full fk-bg-muted',\n className\n )}\n ref={ref}\n {...props}\n />\n));\nAvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;\n\nexport { Avatar, AvatarImage, AvatarFallback };\n"]}
1
+ {"version":3,"sources":["../src/ui/primitives/avatar.tsx"],"names":["Avatar","className","props","ref","jsx","cn","AvatarImage","AvatarFallback"],"mappings":"oKAMA,IAAMA,CAAAA,CAAe,aAGnB,CAAC,CAAE,UAAAC,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAAGC,CAAAA,GAC1BC,IAAiB,CAAA,CAAA,IAAA,CAAhB,CACC,UAAWC,GAAAA,CAAG,oFAAA,CAAsFJ,CAAS,CAAA,CAC7G,GAAA,CAAKE,EACJ,GAAGD,CAAAA,CACN,CACD,EACDF,CAAAA,CAAO,YAA8B,CAAA,CAAA,IAAA,CAAK,WAAA,KAEpCM,CAAAA,CAAoB,CAAA,CAAA,UAAA,CAGxB,CAAC,CAAE,SAAA,CAAAL,EAAW,GAAGC,CAAM,EAAGC,CAAAA,GAC1BC,GAAAA,CAAiB,QAAhB,CAAsB,SAAA,CAAWC,IAAG,sCAAA,CAAwCJ,CAAS,EAAG,GAAA,CAAKE,CAAAA,CAAM,GAAGD,CAAAA,CAAO,CAC/G,EACDI,CAAAA,CAAY,WAAA,CAA8B,QAAM,WAAA,CAEhD,IAAMC,EAAuB,CAAA,CAAA,UAAA,CAG3B,CAAC,CAAE,SAAA,CAAAN,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAAGC,IAC1BC,GAAAA,CAAiB,CAAA,CAAA,QAAA,CAAhB,CACC,SAAA,CAAWC,GAAAA,CACT,4FACAJ,CACF,CAAA,CACA,IAAKE,CAAAA,CACJ,GAAGD,EACN,CACD,EACDK,CAAAA,CAAe,WAAA,CAA8B,CAAA,CAAA,QAAA,CAAS,WAAA","file":"chunk-K5CEPNVI.js","sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport * as AvatarPrimitive from '@radix-ui/react-avatar';\nimport { cn } from 'src/ui/lib/utils';\n\nconst Avatar = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Root\n className={cn('fk-relative fk-flex fk-h-10 fk-w-10 fk-shrink-0 fk-overflow-hidden fk-rounded-full', className)}\n ref={ref}\n {...props}\n />\n));\nAvatar.displayName = AvatarPrimitive.Root.displayName;\n\nconst AvatarImage = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Image>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Image className={cn('fk-aspect-square fk-h-full fk-w-full', className)} ref={ref} {...props} />\n));\nAvatarImage.displayName = AvatarPrimitive.Image.displayName;\n\nconst AvatarFallback = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Fallback>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Fallback>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Fallback\n className={cn(\n 'fk-flex fk-h-full fk-w-full fk-items-center fk-justify-center fk-rounded-full fk-bg-muted',\n className\n )}\n ref={ref}\n {...props}\n />\n));\nAvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;\n\nexport { Avatar, AvatarImage, AvatarFallback };\n"]}
@@ -0,0 +1,2 @@
1
+ import'./index.css';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-M6EIBKCQ.js.map
2
+ //# sourceMappingURL=chunk-M6EIBKCQ.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/data-grid/preview-components/boolean.tsx"],"names":["Boolean","value","jsx","CircleCheck","CircleX"],"mappings":"mFAEO,SAASA,EAAQ,CAAE,KAAA,CAAAC,CAAM,CAAA,CAAuB,CACrD,OACEC,GAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,qCAAA,CACZ,QAAA,CAAAD,CAAAA,CACCC,GAAAA,CAACC,YAAA,CAAY,SAAA,CAAU,mCAAA,CAAoC,CAAA,CAE3DD,IAACE,OAAAA,CAAA,CAAQ,SAAA,CAAU,wCAAA,CAAyC,EAEhE,CAEJ","file":"chunk-GHV46F5V.js","sourcesContent":["import { CircleCheck, CircleX } from 'lucide-react';\n\nexport function Boolean({ value }: { value: boolean }) {\n return (\n <div className=\"fk-flex fk-w-full fk-justify-center\">\n {value ? (\n <CircleCheck className=\"fk-w-4 fk-h-4 fk-text-emerald-500\" />\n ) : (\n <CircleX className=\"fk-w-4 fk-h-4 fk-text-muted-foreground\" />\n )}\n </div>\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/data-grid/preview-components/boolean.tsx"],"names":["Boolean","value","jsx","CircleCheck","CircleX"],"mappings":"uGAEO,SAASA,EAAQ,CAAE,KAAA,CAAAC,CAAM,CAAA,CAAuB,CACrD,OACEC,GAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,qCAAA,CACZ,QAAA,CAAAD,CAAAA,CACCC,GAAAA,CAACC,YAAA,CAAY,SAAA,CAAU,mCAAA,CAAoC,CAAA,CAE3DD,IAACE,OAAAA,CAAA,CAAQ,SAAA,CAAU,wCAAA,CAAyC,EAEhE,CAEJ","file":"chunk-M6EIBKCQ.js","sourcesContent":["import { CircleCheck, CircleX } from 'lucide-react';\n\nexport function Boolean({ value }: { value: boolean }) {\n return (\n <div className=\"fk-flex fk-w-full fk-justify-center\">\n {value ? (\n <CircleCheck className=\"fk-w-4 fk-h-4 fk-text-emerald-500\" />\n ) : (\n <CircleX className=\"fk-w-4 fk-h-4 fk-text-muted-foreground\" />\n )}\n </div>\n );\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import'./index.css';import {c}from'./chunk-7YBJLUUE.js';import {createContext,useReducer,useContext,useMemo}from'react';import {jsx}from'react/jsx-runtime';import {path,has,find,propEq}from'ramda';import {useParams}from'react-router-dom';import k from'swr';var J="core.context.scope:",E={breadcrumbs:[],isRouteLoading:false,pageTitle:"",scope:"",relationships:{}},w=createContext(E),v=createContext(()=>{});function U(t,o){let{type:n,payload:e}=o;switch(n){case "setScope":return typeof localStorage<"u"&&e.projectId&&localStorage.setItem(`${J}${e.projectId}`,e.scope),{...t,scope:e.scope};case "setRelationship":return {...t,relationships:{...t.relationships,...e}};default:throw Error(`Unknown action: ${n}`)}}function Q({children:t}){let[o,n]=useReducer(U,E);return jsx(w.Provider,{value:o,children:jsx(v.Provider,{value:n,children:t})})}function I(){return useContext(w)}function Z(){return useContext(v)}var h={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 T={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 N=createContext({contributions:{apps:[]},currentProjectId:void 0,currentProjectSchema:[],getContributionPointConfig:()=>[],plugins:[],projects:[]}),b=t=>Object.prototype.hasOwnProperty.call(t,"projectId"),C=t=>Object.prototype.hasOwnProperty.call(t,"contributes");function lt({config:t,children:o}){let{projectId:n}=useParams(),e=useMemo(()=>{let i=s=>[...s.filter(l=>l.name!==h.name&&l.name!==T.name),h,T];return t.map(s=>({...s,schema:i(s.schema)}))},[t]),r=useMemo(()=>m(["plugins"],e),[e]),u=useMemo(()=>m(["plugins"],e.filter(i=>i.projectId===n)),[e,n]),c=r.filter(i=>!b(i)&&C(i)),p=u.filter(i=>!b(i)&&C(i)),a=useMemo(()=>({contributions:{apps:x("apps",[],p)},currentProjectId:n,currentProjectSchema:e.find(i=>i.projectId===n)?.schema??[],getContributionPointConfig:(i,s=[])=>x(i,s,p),plugins:c,projects:r.filter(i=>b(i))}),[c,n,p,r]);return jsx(N.Provider,{value:{...a,contributions:{...a.contributions,apps:a.contributions.apps}},children:o})}function V(){return useContext(N)}function m(t,o){return Array.isArray(o)?o.reduce((n,e)=>path(t,e)?[...n,e,...m(t,path(t,e)??[])]:[...n,e],[]):[o]}function x(t,o=[],n){let e=["contributes",t,...o];return m(e.flat(),n).filter(r=>has("component",r))}function ut(t){let n=m(["plugins"],t).filter(e=>!b(e)&&C(e));return x("apps",[],n)}function bt(t,o){let{scope:n}=I(),{projects:e,currentProjectId:r}=V(),{schema:u,scopes:c$1}=find(propEq(r??"","projectId"))(e),p=c$1?.find(g=>g.isDefault)?.name??"default",a=o?.commonParams.q?JSON.stringify(o):null,{data:i,error:s,isLoading:d}=k(a,()=>fetch(c(t).search,{headers:{"Content-Type":"application/json"},body:JSON.stringify(o),method:"POST",mode:"cors"}).then(g=>g.json()));return {results:G(i?.results??[],t,u,n,p)??[],error:s,isLoading:d}}function B(t){return t.find(o=>o.isPrimary)?.name??t[0]?.name}function G(t,o,n,e,r){return t?.filter(u=>u?.hits?.length>0).map(u=>{let c=u,p=c.collection.replace(`${o}_`,"").replace(/_\d+$/,""),a=find(propEq(p,"plural"))(n);if(!a)return [];let i=B(a?.attributes??[]),s=a?.name??p;return c.hits.map(({document:d})=>{let l=d[i],F=(l&&typeof l!="string"?l[e]??l[r]:null)??d[i],L=Object.entries(d).reduce((O,[y,f])=>{if(y!==i&&y!=="id"&&y!=="_updatedAt"){let $=typeof f!="string"?f[e]??f[r]:f;O[y]=$;}return O},{});return {_id:d.id,_entityName:s,_entityNamePlural:p,[i]:F,...L}})}).flat()}export{J as a,Q as b,I as c,Z as d,h as e,T as f,lt as g,V as h,ut as i,bt as j};//# sourceMappingURL=chunk-MOR653JA.js.map
2
+ //# sourceMappingURL=chunk-MOR653JA.js.map
@@ -0,0 +1 @@
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","../src/core/use-search.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","useSearch","projectId","searchRequest","scope","projects","scopes","find","propEq","defaultScope","s","swrKey","data","error","isLoading","useSWR","apiPaths","res","mapResults","getPrimaryAttributeName","schemaAttributes","attr","results","result","entityNamePlural","entitySchema","primaryAttributeName","entityName","document","primaryAttribute","primaryAttributeValue","attributes","key","value","scopedValue"],"mappings":"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","file":"chunk-MOR653JA.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","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, {\n headers: { 'Content-Type': 'application/json' },\n body: JSON.stringify(searchRequest),\n method: 'POST',\n mode: 'cors',\n }).then((res) => res.json() as Promise<{ results: RawSearchResultItems }>)\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"]}
@@ -0,0 +1,2 @@
1
+ import'./index.css';import {c as c$1}from'./chunk-7YBJLUUE.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-NJN7EGGK.js.map
2
+ //# sourceMappingURL=chunk-NJN7EGGK.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/auth/use-auth-service.ts","../src/auth/auth-context.tsx"],"names":["useAuthService","projectId","useParams","user","isLoadingUser","useSWR","apiPaths","url","res","AuthContext","createContext","AuthProvider","children","isLoading","auth","jsx","useAuth","useContext"],"mappings":"wLAOe,SAARA,CAAAA,EAA+C,CACpD,GAAM,CAAE,SAAA,CAAAC,CAAU,CAAA,CAAIC,SAAAA,EAAU,CAC1B,CAAE,KAAMC,CAAAA,CAAM,SAAA,CAAWC,CAAc,CAAA,CAAIC,EAAOC,GAAAA,CAASL,CAAAA,EAAa,EAAE,CAAA,CAAE,YAAcM,CAAAA,EAC9F,KAAA,CAAMA,CAAAA,CAAK,CAAE,IAAA,CAAM,MAAA,CAAQ,WAAA,CAAa,SAAU,CAAC,CAAA,CAAE,IAAA,CAAMC,CAAAA,EAAQA,CAAAA,CAAI,MAAuB,CAChG,CAAA,CAGA,OAAO,CAFWJ,CAAAA,CAIhB,CACE,IAAA,CAAAD,CAAAA,CACA,MAAA,CAAQ,SAAY,CAElB,MAAM,MAAMG,GAAAA,CAASL,CAAAA,EAAa,EAAE,CAAA,CAAE,OAAO,SAAS,CAAA,CAAG,CACvD,MAAA,CAAQ,OACR,IAAA,CAAM,MAAA,CACN,WAAA,CAAa,SACf,CAAC,CAAA,CAGD,MAAM,KAAA,CAAM,sBAAuB,CAAE,MAAA,CAAQ,KAAA,CAAO,WAAA,CAAa,SAAU,CAAC,CAAA,CAE5E,MAAA,CAAO,QAAA,CAAS,SAClB,CACF,CACF,CACF,CC3BA,IAAMQ,CAAAA,CAAcC,aAAAA,CAAc,CAChC,IAAA,CACA,CACE,IAAA,CAAM,IAAA,CACN,MAAA,CAAQ,IAAM,QAAQ,OAAA,EACxB,CACF,CAAC,CAAA,CAEM,SAASC,CAAAA,CAAa,CAAE,SAAAC,CAAS,CAAA,CAA+C,CACrF,GAAM,CAACC,CAAAA,CAAWC,CAAI,CAAA,CAAId,CAAAA,GAE1B,OAAOe,GAAAA,CAACN,CAAAA,CAAY,QAAA,CAAZ,CAAqB,KAAA,CAAO,CAACI,CAAAA,CAAWC,CAAI,EAAI,QAAA,CAAAF,CAAAA,CAAS,CACnE,CAEO,SAASI,CAAAA,EAAuB,CACrC,OAAOC,UAAAA,CAAWR,CAAW,CAC/B","file":"chunk-PAAKWKLA.js","sourcesContent":["'use client';\n\nimport useSWR from 'swr';\nimport { useParams } from 'react-router-dom';\nimport { apiPaths } from '../core/api-paths';\nimport type { AuthService, User } from './types';\n\nexport default function useAuthService(): AuthService {\n const { projectId } = useParams();\n const { data: user, isLoading: isLoadingUser } = useSWR(apiPaths(projectId ?? '').currentUser, (url: string) =>\n fetch(url, { mode: 'cors', credentials: 'include' }).then((res) => res.json() as Promise<User>)\n );\n const isLoading = isLoadingUser;\n\n return [\n isLoading,\n {\n user,\n logout: async () => {\n // wipe remote session\n await fetch(apiPaths(projectId ?? '').logout('/studio'), {\n method: 'POST',\n mode: 'cors',\n credentials: 'include',\n });\n\n // delete first-party auth cookie\n await fetch('/api/flexkit/logout', { method: 'GET', credentials: 'include' });\n\n window.location.reload();\n },\n },\n ];\n}\n","'use client';\n\nimport { createContext, useContext } from 'react';\nimport useAuthService from './use-auth-service';\nimport type { Auth, AuthService, User } from './types';\n\nconst AuthContext = createContext([\n true,\n {\n user: null as User | null,\n logout: () => Promise.resolve(),\n } as Auth,\n]);\n\nexport function AuthProvider({ children }: { children: React.ReactNode }): JSX.Element {\n const [isLoading, auth] = useAuthService();\n\n return <AuthContext.Provider value={[isLoading, auth]}>{children}</AuthContext.Provider>;\n}\n\nexport function useAuth(): AuthService {\n return useContext(AuthContext) as AuthService;\n}\n"]}
1
+ {"version":3,"sources":["../src/auth/use-auth-service.ts","../src/auth/auth-context.tsx"],"names":["useAuthService","projectId","useParams","user","isLoadingUser","useSWR","apiPaths","url","res","AuthContext","createContext","AuthProvider","children","isLoading","auth","jsx","useAuth","useContext"],"mappings":"4MAOe,SAARA,CAAAA,EAA+C,CACpD,GAAM,CAAE,SAAA,CAAAC,CAAU,CAAA,CAAIC,SAAAA,EAAU,CAC1B,CAAE,KAAMC,CAAAA,CAAM,SAAA,CAAWC,CAAc,CAAA,CAAIC,EAAOC,GAAAA,CAASL,CAAAA,EAAa,EAAE,CAAA,CAAE,YAAcM,CAAAA,EAC9F,KAAA,CAAMA,CAAAA,CAAK,CAAE,IAAA,CAAM,MAAA,CAAQ,WAAA,CAAa,SAAU,CAAC,CAAA,CAAE,IAAA,CAAMC,CAAAA,EAAQA,CAAAA,CAAI,MAAuB,CAChG,CAAA,CAGA,OAAO,CAFWJ,CAAAA,CAIhB,CACE,IAAA,CAAAD,CAAAA,CACA,MAAA,CAAQ,SAAY,CAElB,MAAM,MAAMG,GAAAA,CAASL,CAAAA,EAAa,EAAE,CAAA,CAAE,OAAO,SAAS,CAAA,CAAG,CACvD,MAAA,CAAQ,OACR,IAAA,CAAM,MAAA,CACN,WAAA,CAAa,SACf,CAAC,CAAA,CAGD,MAAM,KAAA,CAAM,sBAAuB,CAAE,MAAA,CAAQ,KAAA,CAAO,WAAA,CAAa,SAAU,CAAC,CAAA,CAE5E,MAAA,CAAO,QAAA,CAAS,SAClB,CACF,CACF,CACF,CC3BA,IAAMQ,CAAAA,CAAcC,aAAAA,CAAc,CAChC,IAAA,CACA,CACE,IAAA,CAAM,IAAA,CACN,MAAA,CAAQ,IAAM,QAAQ,OAAA,EACxB,CACF,CAAC,CAAA,CAEM,SAASC,CAAAA,CAAa,CAAE,SAAAC,CAAS,CAAA,CAA+C,CACrF,GAAM,CAACC,CAAAA,CAAWC,CAAI,CAAA,CAAId,CAAAA,GAE1B,OAAOe,GAAAA,CAACN,CAAAA,CAAY,QAAA,CAAZ,CAAqB,KAAA,CAAO,CAACI,CAAAA,CAAWC,CAAI,EAAI,QAAA,CAAAF,CAAAA,CAAS,CACnE,CAEO,SAASI,CAAAA,EAAuB,CACrC,OAAOC,UAAAA,CAAWR,CAAW,CAC/B","file":"chunk-NJN7EGGK.js","sourcesContent":["'use client';\n\nimport useSWR from 'swr';\nimport { useParams } from 'react-router-dom';\nimport { apiPaths } from '../core/api-paths';\nimport type { AuthService, User } from './types';\n\nexport default function useAuthService(): AuthService {\n const { projectId } = useParams();\n const { data: user, isLoading: isLoadingUser } = useSWR(apiPaths(projectId ?? '').currentUser, (url: string) =>\n fetch(url, { mode: 'cors', credentials: 'include' }).then((res) => res.json() as Promise<User>)\n );\n const isLoading = isLoadingUser;\n\n return [\n isLoading,\n {\n user,\n logout: async () => {\n // wipe remote session\n await fetch(apiPaths(projectId ?? '').logout('/studio'), {\n method: 'POST',\n mode: 'cors',\n credentials: 'include',\n });\n\n // delete first-party auth cookie\n await fetch('/api/flexkit/logout', { method: 'GET', credentials: 'include' });\n\n window.location.reload();\n },\n },\n ];\n}\n","'use client';\n\nimport { createContext, useContext } from 'react';\nimport useAuthService from './use-auth-service';\nimport type { Auth, AuthService, User } from './types';\n\nconst AuthContext = createContext([\n true,\n {\n user: null as User | null,\n logout: () => Promise.resolve(),\n } as Auth,\n]);\n\nexport function AuthProvider({ children }: { children: React.ReactNode }): JSX.Element {\n const [isLoading, auth] = useAuthService();\n\n return <AuthContext.Provider value={[isLoading, auth]}>{children}</AuthContext.Provider>;\n}\n\nexport function useAuth(): AuthService {\n return useContext(AuthContext) as AuthService;\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import'./index.css';import {b}from'./chunk-AYKEFG4H.js';import {c,e,f,h,g as g$1,i}from'./chunk-OTQ3BR2A.js';import {a}from'./chunk-AXB7FQV2.js';import*as g from'react';import*as t from'@radix-ui/react-switch';import {jsx,jsxs}from'react/jsx-runtime';var l=g.forwardRef(({className:a$1,...n},r)=>jsx(t.Root,{className:a("fk-peer fk-inline-flex fk-h-6 fk-w-11 fk-shrink-0 fk-cursor-pointer fk-items-center fk-rounded-full fk-border-2 fk-border-transparent fk-transition-colors focus-visible:fk-outline-none focus-visible:fk-ring-2 focus-visible:fk-ring-ring focus-visible:fk-ring-offset-2 focus-visible:fk-ring-offset-background disabled:fk-cursor-not-allowed disabled:fk-opacity-50 data-[state=checked]:fk-bg-primary data-[state=unchecked]:fk-bg-input",a$1),...n,ref:r,children:jsx(t.Thumb,{className:a("fk-pointer-events-none fk-block fk-h-5 fk-w-5 fk-rounded-full fk-bg-background fk-shadow-lg fk-ring-0 fk-transition-transform data-[state=checked]:fk-translate-x-5 data-[state=unchecked]:fk-translate-x-0")})}));l.displayName=t.Root.displayName;function E({control:a,fieldSchema:n,setValue:r}){let{name:f$1,label:F,isEditable:y,options:d}=n;function S(e,o){r(f$1,{...o,value:e});}function R(e,o){r(f$1,{...o,disabled:e});}return jsx(c,{control:a,name:f$1,render:({field:e$1})=>jsxs(e,{children:[jsxs("div",{className:"fk-flex fk-flex-row fk-items-center fk-justify-between fk-rounded-lg fk-border fk-border-input fk-p-3 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 disabled:fk-cursor-not-allowed disabled:fk-opacity-50",children:[jsxs("div",{className:"fk-space-y-0.5",children:[jsx(f,{children:F}),d?.comment?jsx(h,{children:d.comment}):null]}),jsx(g$1,{children:jsx(l,{checked:e$1.value?.value?!!e$1.value.value:false,disabled:y===false||e$1.value?.disabled,onCheckedChange:o=>{S(o,e$1.value);}})})]}),jsx(b,{checked:e$1.value?.disabled??false,onChange:o=>{R(o,e$1.value);},scope:e$1.value?.scope}),jsx(i,{})]})})}export{E as a};//# sourceMappingURL=chunk-OOYWOWHR.js.map
2
+ //# sourceMappingURL=chunk-OOYWOWHR.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ui/primitives/switch.tsx","../src/form/fields/switch.tsx"],"names":["Switch","className","props","ref","jsx","cn","control","fieldSchema","setValue","name","label","isEditable","options","handleInput","checked","previousValue","handleCheckbox","value","FormField","field","jsxs","FormItem","FormLabel","FormDescription","FormControl","DefaultValueSwitch","FormMessage"],"mappings":"8OAMA,IAAMA,CAAAA,CAAe,CAAA,CAAA,UAAA,CAGnB,CAAC,CAAE,SAAA,CAAAC,IAAW,GAAGC,CAAM,EAAGC,CAAAA,GAC1BC,GAAAA,CAAkB,CAAA,CAAA,IAAA,CAAjB,CACC,SAAA,CAAWC,CAAAA,CACT,ibACAJ,GACF,CAAA,CACC,GAAGC,CAAAA,CACJ,GAAA,CAAKC,EAEL,QAAA,CAAAC,GAAAA,CAAkB,CAAA,CAAA,KAAA,CAAjB,CACC,SAAA,CAAWC,CAAAA,CACT,6MACF,CAAA,CACF,CAAA,CACF,CACD,CAAA,CACDL,CAAAA,CAAO,WAAA,CAA+B,OAAK,WAAA,CCnBpC,SAASA,CAAAA,CAAO,CAAE,OAAA,CAAAM,CAAAA,CAAS,YAAAC,CAAAA,CAAa,QAAA,CAAAC,CAAS,CAAA,CAA2C,CACjG,GAAM,CAAE,IAAA,CAAAC,GAAAA,CAAM,KAAA,CAAAC,CAAAA,CAAO,UAAA,CAAAC,CAAAA,CAAY,QAAAC,CAAQ,CAAA,CAAIL,CAAAA,CAE7C,SAASM,CAAAA,CAAYC,CAAAA,CAAkBC,EAAiD,CACtFP,CAAAA,CAASC,IAAM,CACb,GAAGM,EACH,KAAA,CAAOD,CACT,CAAC,EACH,CAEA,SAASE,EAAeF,CAAAA,CAAkBG,CAAAA,CAAyC,CACjFT,CAAAA,CAASC,GAAAA,CAAM,CACb,GAAGQ,CAAAA,CACH,QAAA,CAAUH,CACZ,CAAC,EACH,CAEA,OACEV,GAAAA,CAACc,CAAAA,CAAA,CACC,OAAA,CAASZ,CAAAA,CACT,KAAMG,GAAAA,CACN,MAAA,CAAQ,CAAC,CAAE,KAAA,CAAAU,GAAM,IACfC,IAAAA,CAACC,CAAAA,CAAA,CACC,QAAA,CAAA,CAAAD,IAAAA,CAAC,KAAA,CAAA,CAAI,UAAU,mSAAA,CACb,QAAA,CAAA,CAAAA,IAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,gBAAA,CACb,UAAAhB,GAAAA,CAACkB,CAAAA,CAAA,CAAW,QAAA,CAAAZ,CAAAA,CAAM,EACjBE,CAAAA,EAAS,OAAA,CAAUR,GAAAA,CAACmB,CAAAA,CAAA,CAAiB,QAAA,CAAAX,EAAQ,OAAA,CAAQ,CAAA,CAAqB,IAAA,CAAA,CAC7E,CAAA,CACAR,GAAAA,CAACoB,GAAAA,CAAA,CACC,QAAA,CAAApB,GAAAA,CAACJ,CAAAA,CAAA,CACC,OAAA,CAASmB,GAAAA,CAAM,OAAO,KAAA,CAAQ,CAAA,CAAQA,IAAM,KAAA,CAAM,KAAA,CAAS,MAC3D,QAAA,CAAUR,CAAAA,GAAe,KAAA,EAASQ,GAAAA,CAAM,KAAA,EAAO,QAAA,CAC/C,gBAAkBL,CAAAA,EAAY,CAC5BD,CAAAA,CAAYC,CAAAA,CAASK,GAAAA,CAAM,KAAK,EAClC,CAAA,CACF,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CACAf,GAAAA,CAACqB,GAAAA,CAAA,CACC,OAAA,CAASN,GAAAA,CAAM,OAAO,QAAA,EAAY,KAAA,CAClC,SAAWL,CAAAA,EAAY,CACrBE,CAAAA,CAAeF,CAAAA,CAASK,GAAAA,CAAM,KAAK,EACrC,CAAA,CACA,KAAA,CAAOA,GAAAA,CAAM,KAAA,EAAO,KAAA,CACtB,CAAA,CACAf,IAACsB,CAAAA,CAAA,EAAY,CAAA,CAAA,CACf,CAAA,CAEJ,CAEJ","file":"chunk-Z37UM6ED.js","sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport * as SwitchPrimitives from '@radix-ui/react-switch';\nimport { cn } from 'src/ui/lib/utils';\n\nconst Switch = React.forwardRef<\n React.ElementRef<typeof SwitchPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>\n>(({ className, ...props }, ref) => (\n <SwitchPrimitives.Root\n className={cn(\n 'fk-peer fk-inline-flex fk-h-6 fk-w-11 fk-shrink-0 fk-cursor-pointer fk-items-center fk-rounded-full fk-border-2 fk-border-transparent fk-transition-colors focus-visible:fk-outline-none focus-visible:fk-ring-2 focus-visible:fk-ring-ring focus-visible:fk-ring-offset-2 focus-visible:fk-ring-offset-background disabled:fk-cursor-not-allowed disabled:fk-opacity-50 data-[state=checked]:fk-bg-primary data-[state=unchecked]:fk-bg-input',\n className\n )}\n {...props}\n ref={ref}\n >\n <SwitchPrimitives.Thumb\n className={cn(\n 'fk-pointer-events-none fk-block fk-h-5 fk-w-5 fk-rounded-full fk-bg-background fk-shadow-lg fk-ring-0 fk-transition-transform data-[state=checked]:fk-translate-x-5 data-[state=unchecked]:fk-translate-x-0'\n )}\n />\n </SwitchPrimitives.Root>\n));\nSwitch.displayName = SwitchPrimitives.Root.displayName;\n\nexport { Switch };\n","import type { FormFieldValue } from '../../graphql-client/types';\nimport { FormControl, FormDescription, FormField, FormLabel, FormMessage, FormItem } from '../../ui/primitives/form';\nimport { Switch as SwitchPrimitive } from '../../ui/primitives/switch';\nimport type { FormFieldParams } from '../types';\nimport { DefaultValueSwitch } from './default-value-switch';\n\nexport function Switch({ control, fieldSchema, setValue }: FormFieldParams<'switch'>): JSX.Element {\n const { name, label, isEditable, options } = fieldSchema;\n\n function handleInput(checked: boolean, previousValue: FormFieldValue | undefined): void {\n setValue(name, {\n ...previousValue,\n value: checked,\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 fk-flex-row fk-items-center fk-justify-between fk-rounded-lg fk-border fk-border-input fk-p-3 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 disabled:fk-cursor-not-allowed disabled:fk-opacity-50\">\n <div className=\"fk-space-y-0.5\">\n <FormLabel>{label}</FormLabel>\n {options?.comment ? <FormDescription>{options.comment}</FormDescription> : null}\n </div>\n <FormControl>\n <SwitchPrimitive\n checked={field.value?.value ? Boolean(field.value.value) : false}\n disabled={isEditable === false || field.value?.disabled}\n onCheckedChange={(checked) => {\n handleInput(checked, field.value);\n }}\n />\n </FormControl>\n </div>\n <DefaultValueSwitch\n checked={field.value?.disabled ?? false}\n onChange={(checked) => {\n handleCheckbox(checked, field.value);\n }}\n scope={field.value?.scope}\n />\n <FormMessage />\n </FormItem>\n )}\n />\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/ui/primitives/switch.tsx","../src/form/fields/switch.tsx"],"names":["Switch","className","props","ref","jsx","cn","control","fieldSchema","setValue","name","label","isEditable","options","handleInput","checked","previousValue","handleCheckbox","value","FormField","field","jsxs","FormItem","FormLabel","FormDescription","FormControl","DefaultValueSwitch","FormMessage"],"mappings":"2PAMA,IAAMA,CAAAA,CAAe,CAAA,CAAA,UAAA,CAGnB,CAAC,CAAE,SAAA,CAAAC,IAAW,GAAGC,CAAM,EAAGC,CAAAA,GAC1BC,GAAAA,CAAkB,CAAA,CAAA,IAAA,CAAjB,CACC,SAAA,CAAWC,CAAAA,CACT,ibACAJ,GACF,CAAA,CACC,GAAGC,CAAAA,CACJ,GAAA,CAAKC,EAEL,QAAA,CAAAC,GAAAA,CAAkB,CAAA,CAAA,KAAA,CAAjB,CACC,SAAA,CAAWC,CAAAA,CACT,6MACF,CAAA,CACF,CAAA,CACF,CACD,CAAA,CACDL,CAAAA,CAAO,WAAA,CAA+B,OAAK,WAAA,CCnBpC,SAASA,CAAAA,CAAO,CAAE,OAAA,CAAAM,CAAAA,CAAS,YAAAC,CAAAA,CAAa,QAAA,CAAAC,CAAS,CAAA,CAA2C,CACjG,GAAM,CAAE,IAAA,CAAAC,GAAAA,CAAM,KAAA,CAAAC,CAAAA,CAAO,UAAA,CAAAC,CAAAA,CAAY,QAAAC,CAAQ,CAAA,CAAIL,CAAAA,CAE7C,SAASM,CAAAA,CAAYC,CAAAA,CAAkBC,EAAiD,CACtFP,CAAAA,CAASC,IAAM,CACb,GAAGM,EACH,KAAA,CAAOD,CACT,CAAC,EACH,CAEA,SAASE,EAAeF,CAAAA,CAAkBG,CAAAA,CAAyC,CACjFT,CAAAA,CAASC,GAAAA,CAAM,CACb,GAAGQ,CAAAA,CACH,QAAA,CAAUH,CACZ,CAAC,EACH,CAEA,OACEV,GAAAA,CAACc,CAAAA,CAAA,CACC,OAAA,CAASZ,CAAAA,CACT,KAAMG,GAAAA,CACN,MAAA,CAAQ,CAAC,CAAE,KAAA,CAAAU,GAAM,IACfC,IAAAA,CAACC,CAAAA,CAAA,CACC,QAAA,CAAA,CAAAD,IAAAA,CAAC,KAAA,CAAA,CAAI,UAAU,mSAAA,CACb,QAAA,CAAA,CAAAA,IAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,gBAAA,CACb,UAAAhB,GAAAA,CAACkB,CAAAA,CAAA,CAAW,QAAA,CAAAZ,CAAAA,CAAM,EACjBE,CAAAA,EAAS,OAAA,CAAUR,GAAAA,CAACmB,CAAAA,CAAA,CAAiB,QAAA,CAAAX,EAAQ,OAAA,CAAQ,CAAA,CAAqB,IAAA,CAAA,CAC7E,CAAA,CACAR,GAAAA,CAACoB,GAAAA,CAAA,CACC,QAAA,CAAApB,GAAAA,CAACJ,CAAAA,CAAA,CACC,OAAA,CAASmB,GAAAA,CAAM,OAAO,KAAA,CAAQ,CAAA,CAAQA,IAAM,KAAA,CAAM,KAAA,CAAS,MAC3D,QAAA,CAAUR,CAAAA,GAAe,KAAA,EAASQ,GAAAA,CAAM,KAAA,EAAO,QAAA,CAC/C,gBAAkBL,CAAAA,EAAY,CAC5BD,CAAAA,CAAYC,CAAAA,CAASK,GAAAA,CAAM,KAAK,EAClC,CAAA,CACF,CAAA,CACF,CAAA,CAAA,CACF,CAAA,CACAf,GAAAA,CAACqB,CAAAA,CAAA,CACC,OAAA,CAASN,GAAAA,CAAM,OAAO,QAAA,EAAY,KAAA,CAClC,SAAWL,CAAAA,EAAY,CACrBE,CAAAA,CAAeF,CAAAA,CAASK,GAAAA,CAAM,KAAK,EACrC,CAAA,CACA,KAAA,CAAOA,GAAAA,CAAM,KAAA,EAAO,KAAA,CACtB,CAAA,CACAf,IAACsB,CAAAA,CAAA,EAAY,CAAA,CAAA,CACf,CAAA,CAEJ,CAEJ","file":"chunk-OOYWOWHR.js","sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport * as SwitchPrimitives from '@radix-ui/react-switch';\nimport { cn } from 'src/ui/lib/utils';\n\nconst Switch = React.forwardRef<\n React.ElementRef<typeof SwitchPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>\n>(({ className, ...props }, ref) => (\n <SwitchPrimitives.Root\n className={cn(\n 'fk-peer fk-inline-flex fk-h-6 fk-w-11 fk-shrink-0 fk-cursor-pointer fk-items-center fk-rounded-full fk-border-2 fk-border-transparent fk-transition-colors focus-visible:fk-outline-none focus-visible:fk-ring-2 focus-visible:fk-ring-ring focus-visible:fk-ring-offset-2 focus-visible:fk-ring-offset-background disabled:fk-cursor-not-allowed disabled:fk-opacity-50 data-[state=checked]:fk-bg-primary data-[state=unchecked]:fk-bg-input',\n className\n )}\n {...props}\n ref={ref}\n >\n <SwitchPrimitives.Thumb\n className={cn(\n 'fk-pointer-events-none fk-block fk-h-5 fk-w-5 fk-rounded-full fk-bg-background fk-shadow-lg fk-ring-0 fk-transition-transform data-[state=checked]:fk-translate-x-5 data-[state=unchecked]:fk-translate-x-0'\n )}\n />\n </SwitchPrimitives.Root>\n));\nSwitch.displayName = SwitchPrimitives.Root.displayName;\n\nexport { Switch };\n","import type { FormFieldValue } from '../../graphql-client/types';\nimport { FormControl, FormDescription, FormField, FormLabel, FormMessage, FormItem } from '../../ui/primitives/form';\nimport { Switch as SwitchPrimitive } from '../../ui/primitives/switch';\nimport type { FormFieldParams } from '../types';\nimport { DefaultValueSwitch } from './default-value-switch';\n\nexport function Switch({ control, fieldSchema, setValue }: FormFieldParams<'switch'>): JSX.Element {\n const { name, label, isEditable, options } = fieldSchema;\n\n function handleInput(checked: boolean, previousValue: FormFieldValue | undefined): void {\n setValue(name, {\n ...previousValue,\n value: checked,\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 fk-flex-row fk-items-center fk-justify-between fk-rounded-lg fk-border fk-border-input fk-p-3 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 disabled:fk-cursor-not-allowed disabled:fk-opacity-50\">\n <div className=\"fk-space-y-0.5\">\n <FormLabel>{label}</FormLabel>\n {options?.comment ? <FormDescription>{options.comment}</FormDescription> : null}\n </div>\n <FormControl>\n <SwitchPrimitive\n checked={field.value?.value ? Boolean(field.value.value) : false}\n disabled={isEditable === false || field.value?.disabled}\n onCheckedChange={(checked) => {\n handleInput(checked, field.value);\n }}\n />\n </FormControl>\n </div>\n <DefaultValueSwitch\n checked={field.value?.disabled ?? false}\n onChange={(checked) => {\n handleCheckbox(checked, field.value);\n }}\n scope={field.value?.scope}\n />\n <FormMessage />\n </FormItem>\n )}\n />\n );\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import'./index.css';import {a}from'./chunk-AXB7FQV2.js';import*as r from'react';import*as c from'@radix-ui/react-label';import {cva}from'class-variance-authority';import {jsx}from'react/jsx-runtime';import {Slot}from'@radix-ui/react-slot';import {useFormContext,FormProvider,Controller}from'react-hook-form';var v=cva("fk-w-fit fk-text-sm fk-font-medium fk-leading-none peer-disabled:fk-cursor-not-allowed peer-disabled:fk-opacity-70"),u=r.forwardRef(({className:e,...o},t)=>jsx(c.Root,{className:a(v(),e),ref:t,...o}));u.displayName=c.Root.displayName;var _=FormProvider,F=r.createContext({});function $({...e}){return jsx(F.Provider,{value:{name:e.name},children:jsx(Controller,{...e})})}var f=()=>{let e=r.useContext(F),o=r.useContext(R),{getFieldState:t,formState:a}=useFormContext(),i=t(e.name,a);if(!e.name)throw new Error("useFormField should be used within <FormField>");let{id:m}=o;return {id:m,name:e.name,formItemId:`${m}-form-item`,formDescriptionId:`${m}-form-item-description`,formMessageId:`${m}-form-item-message`,...i}},R=r.createContext({}),I=r.forwardRef(({className:e,...o},t)=>{let a$1=r.useId();return jsx(R.Provider,{value:{id:a$1},children:jsx("div",{className:a("fk-flex fk-flex-col fk-space-y-2",e),ref:t,...o})})});I.displayName="FormItem";var V=r.forwardRef(({className:e,...o},t)=>{let{error:a$1,formItemId:i}=f();return jsx(u,{className:a(a$1&&"fk-text-destructive",e),htmlFor:i,ref:t,...o})});V.displayName="FormLabel";var L=r.forwardRef(({...e},o)=>{let{error:t,formItemId:a,formDescriptionId:i,formMessageId:m}=f();return jsx(Slot,{"aria-describedby":t?`${i} ${m}`:i,"aria-invalid":!!t,id:a,ref:o,...e})});L.displayName="FormControl";var T=r.forwardRef(({className:e,...o},t)=>{let{formDescriptionId:a$1}=f();return jsx("p",{className:a("fk-text-xs fk-text-muted-foreground",e),id:a$1,ref:t,...o})});T.displayName="FormDescription";var h=r.forwardRef(({className:e,children:o,...t},a$1)=>{let{error:i,formMessageId:m}=f(),n=o;if(i){let s=i;s.message?n=s.message:s.value?.message?n=s.value.message:s.value?._errors&&s.value._errors.length>0?n=s.value._errors[0]:s.value?.validation?.errors&&s.value.validation.errors.length>0&&(n=s.value.validation.errors[0].message);}return n?jsx("p",{className:a("fk-text-sm fk-font-medium fk-text-destructive",e),id:m,ref:a$1,...t,children:n}):null});h.displayName="FormMessage";export{u as a,_ as b,$ as c,f as d,I as e,V as f,L as g,T as h,h as i};//# sourceMappingURL=chunk-OTQ3BR2A.js.map
2
+ //# sourceMappingURL=chunk-OTQ3BR2A.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/primitives/label.tsx","../src/ui/primitives/form.tsx"],"names":["labelVariants","cva","Label","p","className","props","ref","jsx","cn","Form","FormProvider","FormFieldContext","FormField","Controller","useFormField","fieldContext","itemContext","FormItemContext","getFieldState","formState","useFormContext","fieldState","id","FormItem","FormLabel","error","formItemId","FormControl","formDescriptionId","formMessageId","Slot","FormDescription","FormMessage","children","body","errorObj"],"mappings":"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","file":"chunk-OTQ3BR2A.js","sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport * as LabelPrimitive from '@radix-ui/react-label';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from 'src/ui/lib/utils';\n\nconst labelVariants = cva(\n 'fk-w-fit fk-text-sm fk-font-medium fk-leading-none peer-disabled:fk-cursor-not-allowed peer-disabled:fk-opacity-70'\n);\n\nconst Label = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> & VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n <LabelPrimitive.Root className={cn(labelVariants(), className)} ref={ref} {...props} />\n));\nLabel.displayName = LabelPrimitive.Root.displayName;\n\nexport { Label };\n","import * as React from 'react';\nimport type * as LabelPrimitive from '@radix-ui/react-label';\nimport { Slot } from '@radix-ui/react-slot';\nimport { Controller, FormProvider, useFormContext } from 'react-hook-form';\nimport type { ControllerProps, FieldPath, FieldError, FieldValues } from 'react-hook-form';\nimport { cn } from 'src/ui/lib/utils';\nimport { Label } from 'src/ui/primitives/label';\n\nconst Form = FormProvider;\n\ntype FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> = {\n name: TName;\n};\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>({} as FormFieldContextValue);\n\nfunction FormField<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({ ...props }: ControllerProps<TFieldValues, TName>): JSX.Element {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n );\n}\n\ntype FormFieldState = {\n invalid: boolean;\n isDirty: boolean;\n isTouched: boolean;\n error?: FieldError | undefined;\n id: string;\n name: string;\n formItemId: string;\n formDescriptionId: string;\n formMessageId: string;\n};\n\nconst useFormField = (): FormFieldState => {\n const fieldContext = React.useContext(FormFieldContext);\n const itemContext = React.useContext(FormItemContext);\n const { getFieldState, formState } = useFormContext();\n\n const fieldState = getFieldState(fieldContext.name, formState);\n\n if (!fieldContext.name) {\n throw new Error('useFormField should be used within <FormField>');\n }\n\n const { id } = itemContext;\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n };\n};\n\ntype FormItemContextValue = {\n id: string;\n};\n\nconst FormItemContext = React.createContext<FormItemContextValue>({} as FormItemContextValue);\n\nconst FormItem = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => {\n const id = React.useId();\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div className={cn('fk-flex fk-flex-col fk-space-y-2', className)} ref={ref} {...props} />\n </FormItemContext.Provider>\n );\n }\n);\nFormItem.displayName = 'FormItem';\n\nconst FormLabel = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>\n>(({ className, ...props }, ref) => {\n const { error, formItemId } = useFormField();\n\n return <Label className={cn(error && 'fk-text-destructive', className)} htmlFor={formItemId} ref={ref} {...props} />;\n});\nFormLabel.displayName = 'FormLabel';\n\nconst FormControl = React.forwardRef<React.ElementRef<typeof Slot>, React.ComponentPropsWithoutRef<typeof Slot>>(\n ({ ...props }, ref) => {\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField();\n\n return (\n <Slot\n aria-describedby={!error ? formDescriptionId : `${formDescriptionId} ${formMessageId}`}\n aria-invalid={Boolean(error)}\n id={formItemId}\n ref={ref}\n {...props}\n />\n );\n }\n);\nFormControl.displayName = 'FormControl';\n\nconst FormDescription = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLParagraphElement>>(\n ({ className, ...props }, ref) => {\n const { formDescriptionId } = useFormField();\n\n return (\n <p className={cn('fk-text-xs fk-text-muted-foreground', className)} id={formDescriptionId} ref={ref} {...props} />\n );\n }\n);\nFormDescription.displayName = 'FormDescription';\n\ninterface NestedError extends Record<string, any> {\n message?: string;\n value?: {\n message?: string;\n _errors?: string[];\n validation?: {\n errors?: Array<{ message: string }>;\n };\n };\n type?: string;\n}\n\nconst FormMessage = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLParagraphElement>>(\n ({ className, children, ...props }, ref) => {\n const { error, formMessageId } = useFormField();\n let body = children;\n\n // Improved error message extraction\n if (error) {\n const errorObj = error as unknown as NestedError;\n\n // Check for direct message\n if (errorObj.message) {\n body = errorObj.message;\n }\n // Check for value.message\n else if (errorObj.value?.message) {\n body = errorObj.value.message;\n }\n // Check for nested value._errors (Zod array pattern)\n else if (errorObj.value?._errors && errorObj.value._errors.length > 0) {\n body = errorObj.value._errors[0];\n }\n // Try to extract from validation.errors (Zod pattern)\n else if (errorObj.value?.validation?.errors && errorObj.value.validation.errors.length > 0) {\n body = errorObj.value.validation.errors[0].message;\n }\n }\n\n // Log error for debugging\n if (error && !body && process.env.NODE_ENV !== 'production') {\n console.warn('FormMessage: Could not extract error message from', error);\n }\n\n if (!body) {\n return null;\n }\n\n return (\n <p\n className={cn('fk-text-sm fk-font-medium fk-text-destructive', className)}\n id={formMessageId}\n ref={ref}\n {...props}\n >\n {body}\n </p>\n );\n }\n);\nFormMessage.displayName = 'FormMessage';\n\nexport { useFormField, Form, FormItem, FormLabel, FormControl, FormDescription, FormMessage, FormField };\n"]}
@@ -0,0 +1,2 @@
1
+ import'./index.css';import {a}from'./chunk-AXB7FQV2.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-OX6FVDUT.js.map
2
+ //# sourceMappingURL=chunk-OX6FVDUT.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ui/primitives/input.tsx"],"names":["Input","className","type","props","ref","jsx","cn"],"mappings":"gGAMA,IAAMA,CAAAA,CAAc,CAAA,CAAA,UAAA,CAAyC,CAAC,CAAE,SAAA,CAAAC,CAAAA,CAAW,IAAA,CAAAC,CAAAA,CAAM,GAAGC,CAAM,CAAA,CAAGC,CAAAA,GAEzFC,GAAAA,CAAC,OAAA,CAAA,CACC,SAAA,CAAWC,CAAAA,CACT,gaAAA,CACAL,CACF,CAAA,CACA,GAAA,CAAKG,CAAAA,CACL,IAAA,CAAMF,EACL,GAAGC,CAAAA,CACN,CAEH,EACDH,EAAM,WAAA,CAAc,OAAA","file":"chunk-UTZ7XOUK.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 -- from radix-ui\nexport interface InputProps extends React.InputHTMLAttributes<HTMLInputElement> {}\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(({ className, type, ...props }, ref) => {\n return (\n <input\n className={cn(\n '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',\n className\n )}\n ref={ref}\n type={type}\n {...props}\n />\n );\n});\nInput.displayName = 'Input';\n\nexport { Input };\n"]}
1
+ {"version":3,"sources":["../src/ui/primitives/input.tsx"],"names":["Input","className","type","props","ref","jsx","cn"],"mappings":"oHAMA,IAAMA,CAAAA,CAAc,CAAA,CAAA,UAAA,CAAyC,CAAC,CAAE,SAAA,CAAAC,CAAAA,CAAW,IAAA,CAAAC,CAAAA,CAAM,GAAGC,CAAM,CAAA,CAAGC,CAAAA,GAEzFC,GAAAA,CAAC,OAAA,CAAA,CACC,SAAA,CAAWC,CAAAA,CACT,gaAAA,CACAL,CACF,CAAA,CACA,GAAA,CAAKG,CAAAA,CACL,IAAA,CAAMF,EACL,GAAGC,CAAAA,CACN,CAEH,EACDH,EAAM,WAAA,CAAc,OAAA","file":"chunk-OX6FVDUT.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 -- from radix-ui\nexport interface InputProps extends React.InputHTMLAttributes<HTMLInputElement> {}\n\nconst Input = React.forwardRef<HTMLInputElement, InputProps>(({ className, type, ...props }, ref) => {\n return (\n <input\n className={cn(\n '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',\n className\n )}\n ref={ref}\n type={type}\n {...props}\n />\n );\n});\nInput.displayName = 'Input';\n\nexport { Input };\n"]}
@@ -0,0 +1,2 @@
1
+ import'./index.css';import {a}from'./chunk-AXB7FQV2.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-RMSYYUQM.js.map
2
+ //# sourceMappingURL=chunk-RMSYYUQM.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ui/primitives/tooltip.tsx"],"names":["TooltipProvider","Tooltip","TooltipTrigger","TooltipPortal","TooltipContent","className","sideOffset","props","ref","jsx","cn"],"mappings":"0IAMA,IAAMA,CAAAA,CAAmC,CAAA,CAAA,QAAA,CAEnCC,EAA2B,CAAA,CAAA,IAAA,CAE3BC,CAAAA,CAAkC,UAElCC,CAAAA,CAAiC,CAAA,CAAA,MAAA,CAEjCC,EAAuB,CAAA,CAAA,UAAA,CAG3B,CAAC,CAAE,SAAA,CAAAC,CAAAA,CAAW,UAAA,CAAAC,EAAa,CAAA,CAAG,GAAGC,CAAM,CAAA,CAAGC,GAAAA,GAC1CC,IAAkB,CAAA,CAAA,OAAA,CAAjB,CACC,SAAA,CAAWC,CAAAA,CACT,idAAA,CACAL,CACF,EACA,GAAA,CAAKG,GAAAA,CACL,WAAYF,CAAAA,CACX,GAAGC,EACN,CACD,EACDH,CAAAA,CAAe,WAAA,CAA+B,CAAA,CAAA,OAAA,CAAQ,WAAA","file":"chunk-OV2SJGU3.js","sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip';\nimport { cn } from 'src/ui/lib/utils';\n\nconst TooltipProvider = TooltipPrimitive.Provider;\n\nconst Tooltip = TooltipPrimitive.Root;\n\nconst TooltipTrigger = TooltipPrimitive.Trigger;\n\nconst TooltipPortal = TooltipPrimitive.Portal;\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <TooltipPrimitive.Content\n className={cn(\n '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',\n className\n )}\n ref={ref}\n sideOffset={sideOffset}\n {...props}\n />\n));\nTooltipContent.displayName = TooltipPrimitive.Content.displayName;\n\nexport { Tooltip, TooltipPortal, TooltipProvider, TooltipTrigger, TooltipContent };\n"]}
1
+ {"version":3,"sources":["../src/ui/primitives/tooltip.tsx"],"names":["TooltipProvider","Tooltip","TooltipTrigger","TooltipPortal","TooltipContent","className","sideOffset","props","ref","jsx","cn"],"mappings":"8JAMA,IAAMA,CAAAA,CAAmC,CAAA,CAAA,QAAA,CAEnCC,EAA2B,CAAA,CAAA,IAAA,CAE3BC,CAAAA,CAAkC,UAElCC,CAAAA,CAAiC,CAAA,CAAA,MAAA,CAEjCC,EAAuB,CAAA,CAAA,UAAA,CAG3B,CAAC,CAAE,SAAA,CAAAC,CAAAA,CAAW,UAAA,CAAAC,EAAa,CAAA,CAAG,GAAGC,CAAM,CAAA,CAAGC,GAAAA,GAC1CC,IAAkB,CAAA,CAAA,OAAA,CAAjB,CACC,SAAA,CAAWC,CAAAA,CACT,idAAA,CACAL,CACF,EACA,GAAA,CAAKG,GAAAA,CACL,WAAYF,CAAAA,CACX,GAAGC,EACN,CACD,EACDH,CAAAA,CAAe,WAAA,CAA+B,CAAA,CAAA,OAAA,CAAQ,WAAA","file":"chunk-RMSYYUQM.js","sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip';\nimport { cn } from 'src/ui/lib/utils';\n\nconst TooltipProvider = TooltipPrimitive.Provider;\n\nconst Tooltip = TooltipPrimitive.Root;\n\nconst TooltipTrigger = TooltipPrimitive.Trigger;\n\nconst TooltipPortal = TooltipPrimitive.Portal;\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <TooltipPrimitive.Content\n className={cn(\n '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',\n className\n )}\n ref={ref}\n sideOffset={sideOffset}\n {...props}\n />\n));\nTooltipContent.displayName = TooltipPrimitive.Content.displayName;\n\nexport { Tooltip, TooltipPortal, TooltipProvider, TooltipTrigger, TooltipContent };\n"]}
@@ -0,0 +1,2 @@
1
+ import'./index.css';import {a as a$1}from'./chunk-AXB7FQV2.js';import {cva}from'class-variance-authority';import {jsx,jsxs}from'react/jsx-runtime';import*as n from'react';import*as a from'@radix-ui/react-dialog';import {X,Search}from'lucide-react';import {Command}from'cmdk';import*as l from'@radix-ui/react-scroll-area';var C=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 J({className:t,variant:e,...o}){return jsx("div",{className:a$1(C({variant:e}),t),...o})}var P=a.Root,K=a.Trigger,w=a.Portal,Q=a.Close,x=n.forwardRef(({className:t,...e},o)=>jsx(a.Overlay,{className:a$1("fk-fixed fk-inset-0 fk-z-50 fk-bg-background/80 fk-backdrop-blur-sm 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),ref:o,...e}));x.displayName=a.Overlay.displayName;var k=n.forwardRef(({className:t,children:e,...o},s)=>jsxs(w,{children:[jsx(x,{}),jsxs(a.Content,{className:a$1("fk-fixed fk-left-[50%] fk-top-[50%] fk-z-50 fk-grid fk-w-full fk-max-w-lg fk-translate-x-[-50%] fk-translate-y-[-50%] fk-gap-4 fk-border fk-border-border fk-bg-background fk-p-6 fk-shadow-lg fk-duration-200 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-[state=closed]:fk-slide-out-to-left-1/2 data-[state=closed]:fk-slide-out-to-top-[48%] data-[state=open]:fk-slide-in-from-left-1/2 data-[state=open]:fk-slide-in-from-top-[48%] sm:fk-rounded-lg",t),ref:s,...o,children:[e,jsxs(a.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-accent data-[state=open]:fk-text-muted-foreground",children:[jsx(X,{className:"fk-h-4 fk-w-4"}),jsx("span",{className:"fk-sr-only",children:"Close"})]})]})]}));k.displayName=a.Content.displayName;function u({className:t,...e}){return jsx("div",{className:a$1("fk-flex fk-flex-col fk-space-y-1.5 fk-text-center sm:fk-text-left",t),...e})}u.displayName="DialogHeader";function E({className:t,...e}){return jsx("div",{className:a$1("fk-flex fk-flex-col-reverse sm:fk-flex-row sm:fk-justify-end sm:fk-space-x-2",t),...e})}E.displayName="DialogFooter";var g=n.forwardRef(({className:t,...e},o)=>jsx(a.Title,{className:a$1("fk-text-lg fk-font-semibold fk-leading-none fk-tracking-tight",t),ref:o,...e}));g.displayName=a.Title.displayName;var v=n.forwardRef(({className:t,...e},o)=>jsx(a.Description,{className:a$1("fk-text-sm fk-text-muted-foreground",t),ref:o,...e}));v.displayName=a.Description.displayName;var D=n.forwardRef(({className:t,...e},o)=>jsx(Command,{className:a$1("fk-flex fk-h-full fk-w-full fk-flex-col fk-overflow-hidden fk-rounded-md fk-bg-popover fk-text-popover-foreground",t),ref:o,...e}));D.displayName=Command.displayName;function te({children:t,...e}){return jsx(P,{...e,children:jsxs(k,{className:"fk-overflow-hidden fk-p-0 fk-shadow-lg",children:[jsxs(u,{className:"fk-sr-only",children:[jsx(g,{children:"Command menu"}),jsx(v,{children:"Search and run actions"})]}),jsx(D,{className:"[&_[cmdk-group-heading]]:fk-px-2 [&_[cmdk-group-heading]]:fk-font-medium [&_[cmdk-group-heading]]:fk-text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:fk-pt-0 [&_[cmdk-group]]:fk-px-2 [&_[cmdk-input-wrapper]_svg]:fk-h-5 [&_[cmdk-input-wrapper]_svg]:fk-w-5 [&_[cmdk-input]]:fk-h-12 [&_[cmdk-item]]:fk-px-2 [&_[cmdk-item]]:fk-py-3 [&_[cmdk-item]_svg]:fk-h-5 [&_[cmdk-item]_svg]:fk-w-5",children:t})]})})}var _=n.forwardRef(({className:t,...e},o)=>jsxs("div",{className:"fk-flex fk-items-center fk-border-b fk-border-border fk-px-3","cmdk-input-wrapper":"",children:[jsx(Search,{className:"fk-mr-2 fk-h-4 fk-w-4 fk-shrink-0 fk-opacity-50"}),jsx(Command.Input,{className:a$1("fk-flex fk-h-11 fk-w-full fk-rounded-md fk-bg-transparent fk-py-3 fk-text-sm fk-outline-none placeholder:fk-text-muted-foreground disabled:fk-cursor-not-allowed disabled:fk-opacity-50",t),ref:o,...e})]}));_.displayName=Command.Input.displayName;var T=n.forwardRef(({className:t,...e},o)=>jsx(Command.List,{className:a$1("fk-max-h-[300px] fk-overflow-y-auto fk-overflow-x-hidden",t),ref:o,...e}));T.displayName=Command.List.displayName;var L=n.forwardRef((t,e)=>jsx(Command.Empty,{className:"fk-py-6 fk-text-center fk-text-sm",ref:e,...t}));L.displayName=Command.Empty.displayName;var W=n.forwardRef(({className:t,...e},o)=>jsx(Command.Group,{className:a$1("fk-overflow-hidden fk-p-1 fk-text-foreground [&_[cmdk-group-heading]]:fk-px-2 [&_[cmdk-group-heading]]:fk-py-1.5 [&_[cmdk-group-heading]]:fk-text-xs [&_[cmdk-group-heading]]:fk-font-medium [&_[cmdk-group-heading]]:fk-text-muted-foreground",t),ref:o,...e}));W.displayName=Command.Group.displayName;var H=n.forwardRef(({className:t,...e},o)=>jsx(Command.Separator,{className:a$1("fk-mx-1 fk-h-px bg-border",t),ref:o,...e}));H.displayName=Command.Separator.displayName;var I=n.forwardRef(({className:t,...e},o)=>jsx(Command.Item,{className:a$1("fk-relative fk-flex fk-cursor-default fk-select-none fk-items-center fk-rounded-sm fk-px-2 fk-py-1.5 fk-text-sm fk-outline-none aria-selected:fk-bg-accent aria-selected:fk-text-accent-foreground data-[disabled=true]:fk-pointer-events-none data-[disabled=true]:fk-opacity-50",t),ref:o,...e}));I.displayName=Command.Item.displayName;function M({className:t,...e}){return jsx("span",{className:a$1("fk-ml-auto fk-text-xs fk-tracking-widest fk-text-muted-foreground",t),...e})}M.displayName="CommandShortcut";var V=n.forwardRef(({className:t,children:e,...o},s)=>jsxs(l.Root,{className:a$1("fk-relative fk-overflow-hidden",t),ref:s,...o,children:[jsx(l.Viewport,{className:"fk-h-full fk-w-full fk-rounded-[inherit]",children:e}),jsx(b,{}),jsx(l.Corner,{})]}));V.displayName=l.Root.displayName;var b=n.forwardRef(({className:t,orientation:e="vertical",...o},s)=>jsx(l.ScrollAreaScrollbar,{className:a$1("fk-flex fk-touch-none fk-select-none fk-transition-colors",e==="vertical"&&"fk-h-full fk-w-2.5 fk-border-l fk-border-l-transparent fk-p-[1px]",e==="horizontal"&&"fk-h-2.5 fk-flex-col fk-border-t fk-border-t-transparent fk-p-[1px]",t),orientation:e,ref:s,...o,children:jsx(l.ScrollAreaThumb,{className:"fk-relative fk-flex-1 fk-rounded-full fk-bg-border"})}));b.displayName=l.ScrollAreaScrollbar.displayName;export{C as a,J as b,P as c,K as d,w as e,Q as f,x as g,k as h,u as i,E as j,g as k,v as l,D as m,te as n,_ as o,T as p,L as q,W as r,H as s,I as t,M as u,V as v,b as w};//# sourceMappingURL=chunk-ZOBZU47M.js.map
2
+ //# sourceMappingURL=chunk-ZOBZU47M.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/primitives/badge.tsx","../src/ui/primitives/dialog.tsx","../src/ui/primitives/command.tsx","../src/ui/primitives/scroll-area.tsx"],"names":["badgeVariants","cva","Badge","className","variant","props","jsx","cn","Dialog","DialogTrigger","DialogPortal","DialogClose","DialogOverlay","d","ref","DialogContent","children","jsxs","X","DialogHeader","DialogFooter","DialogTitle","DialogDescription","Command","CommandPrimitive","CommandDialog","CommandInput","Search","CommandList","CommandEmpty","CommandGroup","CommandSeparator","CommandItem","CommandShortcut","ScrollArea","R","ScrollBar","orientation"],"mappings":"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","file":"chunk-ZOBZU47M.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","'use client';\n\nimport * as React from 'react';\nimport * as DialogPrimitive from '@radix-ui/react-dialog';\nimport { X } from 'lucide-react';\nimport { cn } from 'src/ui/lib/utils';\n\nconst Dialog = DialogPrimitive.Root;\n\nconst DialogTrigger = DialogPrimitive.Trigger;\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n className={cn(\n 'fk-fixed fk-inset-0 fk-z-50 fk-bg-background/80 fk-backdrop-blur-sm 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',\n className\n )}\n ref={ref}\n {...props}\n />\n));\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n className={cn(\n 'fk-fixed fk-left-[50%] fk-top-[50%] fk-z-50 fk-grid fk-w-full fk-max-w-lg fk-translate-x-[-50%] fk-translate-y-[-50%] fk-gap-4 fk-border fk-border-border fk-bg-background fk-p-6 fk-shadow-lg fk-duration-200 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-[state=closed]:fk-slide-out-to-left-1/2 data-[state=closed]:fk-slide-out-to-top-[48%] data-[state=open]:fk-slide-in-from-left-1/2 data-[state=open]:fk-slide-in-from-top-[48%] sm:fk-rounded-lg',\n className\n )}\n ref={ref}\n {...props}\n >\n {children}\n <DialogPrimitive.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-accent data-[state=open]:fk-text-muted-foreground\">\n <X className=\"fk-h-4 fk-w-4\" />\n <span className=\"fk-sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n));\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nfunction DialogHeader({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): JSX.Element {\n return (\n <div className={cn('fk-flex fk-flex-col fk-space-y-1.5 fk-text-center sm:fk-text-left', className)} {...props} />\n );\n}\nDialogHeader.displayName = 'DialogHeader';\n\nfunction DialogFooter({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): JSX.Element {\n return (\n <div\n className={cn('fk-flex fk-flex-col-reverse sm:fk-flex-row sm:fk-justify-end sm:fk-space-x-2', className)}\n {...props}\n />\n );\n}\n\nDialogFooter.displayName = 'DialogFooter';\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n className={cn('fk-text-lg fk-font-semibold fk-leading-none fk-tracking-tight', className)}\n ref={ref}\n {...props}\n />\n));\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description className={cn('fk-text-sm fk-text-muted-foreground', className)} ref={ref} {...props} />\n));\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogClose,\n DialogTrigger,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n};\n","'use client';\n\nimport * as React from 'react';\nimport { type DialogProps } from '@radix-ui/react-dialog';\nimport { Command as CommandPrimitive } from 'cmdk';\nimport { Search } from 'lucide-react';\nimport { cn } from 'src/ui/lib/utils';\nimport { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from 'src/ui/primitives/dialog';\n\nconst Command = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive\n className={cn(\n 'fk-flex fk-h-full fk-w-full fk-flex-col fk-overflow-hidden fk-rounded-md fk-bg-popover fk-text-popover-foreground',\n className\n )}\n ref={ref}\n {...props}\n />\n));\nCommand.displayName = CommandPrimitive.displayName;\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface -- from radix-ui\ninterface CommandDialogProps extends DialogProps {}\n\nfunction CommandDialog({ children, ...props }: CommandDialogProps): JSX.Element {\n return (\n <Dialog {...props}>\n <DialogContent className=\"fk-overflow-hidden fk-p-0 fk-shadow-lg\">\n <DialogHeader className=\"fk-sr-only\">\n <DialogTitle>Command menu</DialogTitle>\n <DialogDescription>Search and run actions</DialogDescription>\n </DialogHeader>\n <Command className=\"[&_[cmdk-group-heading]]:fk-px-2 [&_[cmdk-group-heading]]:fk-font-medium [&_[cmdk-group-heading]]:fk-text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:fk-pt-0 [&_[cmdk-group]]:fk-px-2 [&_[cmdk-input-wrapper]_svg]:fk-h-5 [&_[cmdk-input-wrapper]_svg]:fk-w-5 [&_[cmdk-input]]:fk-h-12 [&_[cmdk-item]]:fk-px-2 [&_[cmdk-item]]:fk-py-3 [&_[cmdk-item]_svg]:fk-h-5 [&_[cmdk-item]_svg]:fk-w-5\">\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n );\n}\n\nconst CommandInput = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Input>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>\n>(({ className, ...props }, ref) => (\n // eslint-disable-next-line react/no-unknown-property -- props are spread on the input\n <div className=\"fk-flex fk-items-center fk-border-b fk-border-border fk-px-3\" cmdk-input-wrapper=\"\">\n <Search className=\"fk-mr-2 fk-h-4 fk-w-4 fk-shrink-0 fk-opacity-50\" />\n <CommandPrimitive.Input\n className={cn(\n 'fk-flex fk-h-11 fk-w-full fk-rounded-md fk-bg-transparent fk-py-3 fk-text-sm fk-outline-none placeholder:fk-text-muted-foreground disabled:fk-cursor-not-allowed disabled:fk-opacity-50',\n className\n )}\n ref={ref}\n {...props}\n />\n </div>\n));\n\nCommandInput.displayName = CommandPrimitive.Input.displayName;\n\nconst CommandList = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.List\n className={cn('fk-max-h-[300px] fk-overflow-y-auto fk-overflow-x-hidden', className)}\n ref={ref}\n {...props}\n />\n));\n\nCommandList.displayName = CommandPrimitive.List.displayName;\n\nconst CommandEmpty = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Empty>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>\n>((props, ref) => <CommandPrimitive.Empty className=\"fk-py-6 fk-text-center fk-text-sm\" ref={ref} {...props} />);\n\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName;\n\nconst CommandGroup = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Group>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Group\n className={cn(\n 'fk-overflow-hidden fk-p-1 fk-text-foreground [&_[cmdk-group-heading]]:fk-px-2 [&_[cmdk-group-heading]]:fk-py-1.5 [&_[cmdk-group-heading]]:fk-text-xs [&_[cmdk-group-heading]]:fk-font-medium [&_[cmdk-group-heading]]:fk-text-muted-foreground',\n className\n )}\n ref={ref}\n {...props}\n />\n));\n\nCommandGroup.displayName = CommandPrimitive.Group.displayName;\n\nconst CommandSeparator = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Separator className={cn('fk-mx-1 fk-h-px bg-border', className)} ref={ref} {...props} />\n));\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName;\n\nconst CommandItem = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Item\n className={cn(\n 'fk-relative fk-flex fk-cursor-default fk-select-none fk-items-center fk-rounded-sm fk-px-2 fk-py-1.5 fk-text-sm fk-outline-none aria-selected:fk-bg-accent aria-selected:fk-text-accent-foreground data-[disabled=true]:fk-pointer-events-none data-[disabled=true]:fk-opacity-50',\n className\n )}\n ref={ref}\n {...props}\n />\n));\n\nCommandItem.displayName = CommandPrimitive.Item.displayName;\n\nfunction CommandShortcut({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>): JSX.Element {\n return (\n <span className={cn('fk-ml-auto fk-text-xs fk-tracking-widest fk-text-muted-foreground', className)} {...props} />\n );\n}\nCommandShortcut.displayName = 'CommandShortcut';\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n};\n","'use client';\n\nimport * as React from 'react';\nimport * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';\nimport { cn } from '../lib/utils';\n\nconst ScrollArea = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <ScrollAreaPrimitive.Root className={cn('fk-relative fk-overflow-hidden', className)} ref={ref} {...props}>\n <ScrollAreaPrimitive.Viewport className=\"fk-h-full fk-w-full fk-rounded-[inherit]\">\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n));\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;\n\nconst ScrollBar = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>(({ className, orientation = 'vertical', ...props }, ref) => (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n className={cn(\n 'fk-flex fk-touch-none fk-select-none fk-transition-colors',\n orientation === 'vertical' && 'fk-h-full fk-w-2.5 fk-border-l fk-border-l-transparent fk-p-[1px]',\n orientation === 'horizontal' && 'fk-h-2.5 fk-flex-col fk-border-t fk-border-t-transparent fk-p-[1px]',\n className\n )}\n orientation={orientation}\n ref={ref}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className=\"fk-relative fk-flex-1 fk-rounded-full fk-bg-border\" />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n));\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;\n\nexport { ScrollArea, ScrollBar };\n"]}
@@ -0,0 +1,17 @@
1
+ interface FlexkitHandlerContext {
2
+ request: Request;
3
+ pathname: string;
4
+ search: string;
5
+ sessionToken: string;
6
+ contentType: string | null;
7
+ }
8
+ interface FlexkitHandlerResult {
9
+ type: 'json' | 'redirect' | 'text';
10
+ status: number;
11
+ body?: unknown;
12
+ headers?: Record<string, string>;
13
+ setCookie?: string;
14
+ }
15
+ declare function handleFlexkitRequest(ctx: FlexkitHandlerContext): Promise<FlexkitHandlerResult>;
16
+
17
+ export { type FlexkitHandlerContext as F, type FlexkitHandlerResult as a, handleFlexkitRequest as h };
@@ -0,0 +1,2 @@
1
+ import'./index.css';export{a as DateTime}from'./chunk-5ES3TTSY.js';//# sourceMappingURL=datetime-XX4YBITU.js.map
2
+ //# sourceMappingURL=datetime-XX4YBITU.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"datetime-GOUY7ZJZ.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"datetime-XX4YBITU.js"}
@@ -0,0 +1,2 @@
1
+ import'./index.css';export{b as Editor}from'./chunk-HZZZBJEZ.js';//# sourceMappingURL=editor-VSCVCAL4.js.map
2
+ //# sourceMappingURL=editor-VSCVCAL4.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"editor-IK2CNBJV.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"editor-VSCVCAL4.js"}