@flexkit/studio 0.0.27 → 0.0.29

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 (94) hide show
  1. package/dist/asset-TS7J5GA5.js +2 -0
  2. package/dist/{asset-REAMGMQL.js.map → asset-TS7J5GA5.js.map} +1 -1
  3. package/dist/chunk-73RMWG53.js +2 -0
  4. package/dist/{chunk-X3S7TRCM.js.map → chunk-73RMWG53.js.map} +1 -1
  5. package/dist/chunk-7MSX5T2Z.js +2 -0
  6. package/dist/chunk-7MSX5T2Z.js.map +1 -0
  7. package/dist/chunk-CPUC4QXH.js +2 -0
  8. package/dist/chunk-CPUC4QXH.js.map +1 -0
  9. package/dist/chunk-DWK4NNLB.js +2 -0
  10. package/dist/chunk-DWK4NNLB.js.map +1 -0
  11. package/dist/chunk-EOCJR5EY.js +2 -0
  12. package/dist/chunk-EOCJR5EY.js.map +1 -0
  13. package/dist/chunk-FVFRTCEB.js +2 -0
  14. package/dist/chunk-FVFRTCEB.js.map +1 -0
  15. package/dist/chunk-HAQICAOQ.js +2 -0
  16. package/dist/chunk-HAQICAOQ.js.map +1 -0
  17. package/dist/chunk-IXO2LU47.js +2 -0
  18. package/dist/{chunk-TBCSVE5L.js.map → chunk-IXO2LU47.js.map} +1 -1
  19. package/dist/{chunk-NNRD7YZU.js → chunk-LL2Z4TD3.js} +2 -2
  20. package/dist/{chunk-NNRD7YZU.js.map → chunk-LL2Z4TD3.js.map} +1 -1
  21. package/dist/chunk-N52AF6GE.js +2 -0
  22. package/dist/chunk-N52AF6GE.js.map +1 -0
  23. package/dist/chunk-R7N3MDOP.js +2 -0
  24. package/dist/chunk-R7N3MDOP.js.map +1 -0
  25. package/dist/chunk-V6R4AWQS.js +2 -0
  26. package/dist/chunk-V6R4AWQS.js.map +1 -0
  27. package/dist/chunk-W3TUEJJL.js +2 -0
  28. package/dist/chunk-W3TUEJJL.js.map +1 -0
  29. package/dist/chunk-WXMCINGZ.js +2 -0
  30. package/dist/{chunk-27Y2SQ67.js.map → chunk-WXMCINGZ.js.map} +1 -1
  31. package/dist/{chunk-2PEDKE5Z.js → chunk-WZ533Y4O.js} +2 -2
  32. package/dist/{chunk-2PEDKE5Z.js.map → chunk-WZ533Y4O.js.map} +1 -1
  33. package/dist/chunk-YA4ACPM5.js +2 -0
  34. package/dist/{chunk-KR7CLPY2.js.map → chunk-YA4ACPM5.js.map} +1 -1
  35. package/dist/chunk-ZEZ6TRCO.js +2 -0
  36. package/dist/chunk-ZEZ6TRCO.js.map +1 -0
  37. package/dist/datetime-NQTYGZIC.js +2 -0
  38. package/dist/{datetime-TWONUNXS.js.map → datetime-NQTYGZIC.js.map} +1 -1
  39. package/dist/editor-YIRZQR3D.js +2 -0
  40. package/dist/{editor-NFRMIYVJ.js.map → editor-YIRZQR3D.js.map} +1 -1
  41. package/dist/index.css +222 -44
  42. package/dist/index.d.ts +75 -9
  43. package/dist/index.js +221 -209
  44. package/dist/index.js.map +1 -1
  45. package/dist/{search-6ASIDGYA.js → search-UFFZBRQV.js} +2 -2
  46. package/dist/{search-6ASIDGYA.js.map → search-UFFZBRQV.js.map} +1 -1
  47. package/dist/select-A6I27JQU.js +2 -0
  48. package/dist/select-A6I27JQU.js.map +1 -0
  49. package/dist/switch-AFZGXSR3.js +2 -0
  50. package/dist/{switch-KVO3JRNX.js.map → switch-AFZGXSR3.js.map} +1 -1
  51. package/dist/text-2RL2L5FT.js +2 -0
  52. package/dist/{text-FIBUDNGR.js.map → text-2RL2L5FT.js.map} +1 -1
  53. package/dist/text-6F4QTCNT.js +2 -0
  54. package/dist/{text-ODG7ABSW.js.map → text-6F4QTCNT.js.map} +1 -1
  55. package/dist/textarea-2A4TLWZS.js +2 -0
  56. package/dist/{textarea-M4YPSJEC.js.map → textarea-2A4TLWZS.js.map} +1 -1
  57. package/dist/{types.d-DiA0h3ut.d.ts → types.d-6y0oZ2Hh.d.ts} +36 -4
  58. package/dist/ui.d.ts +16 -4
  59. package/dist/ui.js +1 -1
  60. package/dist/ui.js.map +1 -1
  61. package/dist/user-nav-4JKIFZLB.js +2 -0
  62. package/dist/user-nav-4JKIFZLB.js.map +1 -0
  63. package/package.json +5 -3
  64. package/dist/asset-REAMGMQL.js +0 -2
  65. package/dist/chunk-27Y2SQ67.js +0 -2
  66. package/dist/chunk-4KGH7PU7.js +0 -2
  67. package/dist/chunk-4KGH7PU7.js.map +0 -1
  68. package/dist/chunk-553TQFSU.js +0 -2
  69. package/dist/chunk-553TQFSU.js.map +0 -1
  70. package/dist/chunk-7NQ6QCJD.js +0 -2
  71. package/dist/chunk-7NQ6QCJD.js.map +0 -1
  72. package/dist/chunk-AALMEPYG.js +0 -2
  73. package/dist/chunk-AALMEPYG.js.map +0 -1
  74. package/dist/chunk-CWHDJ7Q4.js +0 -2
  75. package/dist/chunk-CWHDJ7Q4.js.map +0 -1
  76. package/dist/chunk-KR7CLPY2.js +0 -2
  77. package/dist/chunk-QXCD5JR4.js +0 -2
  78. package/dist/chunk-QXCD5JR4.js.map +0 -1
  79. package/dist/chunk-TBCSVE5L.js +0 -2
  80. package/dist/chunk-UUGIVWK4.js +0 -2
  81. package/dist/chunk-UUGIVWK4.js.map +0 -1
  82. package/dist/chunk-X3S7TRCM.js +0 -2
  83. package/dist/chunk-ZSJAPCIZ.js +0 -2
  84. package/dist/chunk-ZSJAPCIZ.js.map +0 -1
  85. package/dist/chunk-ZSSNAIMU.js +0 -2
  86. package/dist/chunk-ZSSNAIMU.js.map +0 -1
  87. package/dist/datetime-TWONUNXS.js +0 -2
  88. package/dist/editor-NFRMIYVJ.js +0 -2
  89. package/dist/switch-KVO3JRNX.js +0 -2
  90. package/dist/text-FIBUDNGR.js +0 -2
  91. package/dist/text-ODG7ABSW.js +0 -2
  92. package/dist/textarea-M4YPSJEC.js +0 -2
  93. package/dist/user-nav-O5G4M2VA.js +0 -2
  94. package/dist/user-nav-O5G4M2VA.js.map +0 -1
@@ -1,2 +0,0 @@
1
- import'./index.css';import {createContext,useMemo,useContext}from'react';import {path,has}from'ramda';import {useParams}from'react-router-dom';import {jsx}from'react/jsx-runtime';var c={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:"Updated At",scope:"global",options:{size:220},isEditable:false,isHidden:true,dataType:"datetime",inputType:"datetime",previewType:"datetime",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 d={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:"Updated At",scope:"global",options:{size:220},isEditable:false,isHidden:true,dataType:"datetime",inputType:"datetime",previewType:"datetime",defaultValue:""},{name:"assets",label:"Assets",scope:"relationship",dataType:"string",inputType:"relationship",defaultValue:"",relationship:{mode:"multiple",field:"originalFilename",entity:"_asset"}}]};var T=createContext({contributions:{apps:[]},currentProjectId:void 0,currentProjectSchema:[],getContributionPointConfig:()=>[],plugins:[],projects:[]}),l=i=>Object.prototype.hasOwnProperty.call(i,"projectId"),g=i=>Object.prototype.hasOwnProperty.call(i,"contributes");function F({config:i,children:o}){let{projectId:n}=useParams(),t=useMemo(()=>{let e=p=>[...p.filter(b=>b.name!==c.name&&b.name!==d.name),c,d];return i.map(p=>({...p,schema:e(p.schema)}))},[i]),s=useMemo(()=>r(["plugins"],t),[t]),y=useMemo(()=>r(["plugins"],t.filter(e=>e.projectId===n)),[t,n]),f=useMemo(()=>s.filter(e=>!l(e)&&g(e)),[s]),u=useMemo(()=>y.filter(e=>!l(e)&&g(e)),[y]),O=useMemo(()=>({contributions:{apps:m("apps",[],u)},currentProjectId:n,currentProjectSchema:t.find(e=>e.projectId===n)?.schema??[],getContributionPointConfig:(e,p=[])=>m(e,p,u),plugins:f,projects:s.filter(e=>l(e))}),[f,n,u,t,s]);return jsx(T.Provider,{value:O,children:o})}function R(){return useContext(T)}function r(i,o){return Array.isArray(o)?o.reduce((n,t)=>path(i,t)?[...n,t,...r(i,path(i,t)??[])]:[...n,t],[]):[o]}function m(i,o=[],n){let t=["contributes",i,...o];return r(t.flat(),n).filter(s=>has("component",s))}function H(i){let n=r(["plugins"],i).filter(t=>!l(t)&&g(t));return m("apps",[],n)}export{c as a,d as b,F as c,R as d,H as e};//# sourceMappingURL=chunk-UUGIVWK4.js.map
2
- //# sourceMappingURL=chunk-UUGIVWK4.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/entities/assets-schema.ts","../src/entities/tags-schema.ts","../src/core/config/config-context.tsx"],"names":["assetSchema","tagSchema","ConfigContext","createContext","hasProjectIdProperty","configItem","hasContributesProperty","ConfigProvider","config","children","currentProjectId","useParams","enhancedConfig","useMemo","upsertReservedEntities","schema","entity","project","globalFlattenedConfig","flattenConfigByProperty","currentProjectFlattenedConfig","item","allPlugins","currentProjectPlugins","globalConfig","_getContributionPointConfig","contributionPoint","subPath","jsx","useConfig","useContext","property","acc","curr","path","pathArray","has","getApps","plugins"],"mappings":"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","file":"chunk-UUGIVWK4.js","sourcesContent":["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: 'Updated At',\n scope: 'global',\n options: {\n size: 220,\n },\n isEditable: false,\n isHidden: true,\n dataType: 'datetime',\n inputType: 'datetime',\n previewType: 'datetime',\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: 'Updated At',\n scope: 'global',\n options: {\n size: 220,\n },\n isEditable: false,\n isHidden: true,\n dataType: 'datetime',\n inputType: 'datetime',\n previewType: 'datetime',\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 type { JSX } 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 = useMemo(\n () =>\n globalFlattenedConfig.filter(\n (item: ProjectOptions | PluginOptions) => !hasProjectIdProperty(item) && hasContributesProperty(item)\n ) as PluginOptions[],\n [globalFlattenedConfig]\n );\n const currentProjectPlugins = useMemo(\n () =>\n currentProjectFlattenedConfig.filter(\n (item: ProjectOptions | PluginOptions) => !hasProjectIdProperty(item) && hasContributesProperty(item)\n ) as PluginOptions[],\n [currentProjectFlattenedConfig]\n );\n\n const globalConfig = useMemo(\n () => ({\n contributions: {\n apps: _getContributionPointConfig('apps', [], currentProjectPlugins) as AppOptions[] | [],\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, enhancedConfig, globalFlattenedConfig]\n );\n\n return <ConfigContext.Provider value={globalConfig}>{children}</ConfigContext.Provider>;\n}\n\nexport function useConfig(): ConfigContext {\n return useContext(ConfigContext);\n}\n\nfunction flattenConfigByProperty(\n property: string[],\n config: (ProjectOptions | PluginOptions)[]\n): (ProjectOptions | PluginOptions)[] | [] {\n if (!Array.isArray(config)) {\n return [config];\n }\n\n return config.reduce<(ProjectOptions | PluginOptions)[]>((acc, curr) => {\n if (path(property, curr)) {\n return [...acc, curr, ...flattenConfigByProperty(property, path(property, curr) ?? [])];\n }\n\n return [...acc, curr];\n }, []);\n}\n\nfunction _getContributionPointConfig<T extends keyof Contributes>(\n contributionPoint: T,\n subPath: string[] = [],\n config: PluginOptions[]\n): Contributes[T] {\n const pathArray = ['contributes', contributionPoint, ...subPath];\n\n return flattenConfigByProperty(pathArray.flat(), config).filter((item) => has('component', item)) as Contributes[T];\n}\n\nexport function getApps(config: ProjectOptions[]): AppOptions[] | [] {\n const flattenedConfig = flattenConfigByProperty(['plugins'], config);\n const plugins = flattenedConfig.filter(\n (item: ProjectOptions | PluginOptions) => !hasProjectIdProperty(item) && hasContributesProperty(item)\n ) as PluginOptions[];\n return _getContributionPointConfig('apps', [], plugins) as AppOptions[] | [];\n}\n"]}
@@ -1,2 +0,0 @@
1
- import'./index.css';import {b}from'./chunk-QXCD5JR4.js';import {a}from'./chunk-KGYH74NA.js';import {c,e,f,h,g,i}from'./chunk-AALMEPYG.js';import {jsx,jsxs}from'react/jsx-runtime';function S({control:k,fieldSchema:p,setValue:a$1}){let{name:l,label:h$1,isEditable:v,options:n}=p;function b$1(e,o){a$1(l,{...o,value:e});}function w(e,o){a$1(l,{...o,disabled:e});}return jsx(c,{control:k,name:l,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 fk:focus-within:outline-hidden fk:focus-within:ring-2 fk:focus-within:ring-ring fk:focus-within:ring-offset-2 fk:disabled:cursor-not-allowed fk:disabled:opacity-50",children:[jsxs("div",{className:"fk:space-y-0.5",children:[jsx(f,{children:h$1}),n?.comment?jsx(h,{children:n.comment}):null]}),jsx(g,{children:jsx(a,{checked:e$1.value?.value?!!e$1.value.value:false,disabled:v===false||e$1.value?.disabled,onCheckedChange:o=>{b$1(o,e$1.value);}})})]}),jsx(b,{checked:e$1.value?.disabled??false,onChange:o=>{w(o,e$1.value);},scope:e$1.value?.scope}),jsx(i,{})]})})}export{S as a};//# sourceMappingURL=chunk-X3S7TRCM.js.map
2
- //# sourceMappingURL=chunk-X3S7TRCM.js.map
@@ -1,2 +0,0 @@
1
- import'./index.css';import {b}from'./chunk-TBCSVE5L.js';import {a}from'./chunk-O2QMYUPS.js';import {Toggle,ToggleGroup,Separator}from'radix-ui';import {cva}from'class-variance-authority';import {jsx}from'react/jsx-runtime';import*as l from'react';import {Loader2Icon,OctagonXIcon,TriangleAlertIcon,InfoIcon,CircleCheckIcon}from'lucide-react';import {Toaster}from'sonner';export{toast as e}from'sonner';var p=cva("fk:inline-flex fk:items-center fk:justify-center fk:gap-2 fk:rounded-md fk:text-sm fk:font-medium fk:whitespace-nowrap fk:transition-[color,box-shadow] fk:outline-none fk:hover:bg-muted fk:hover:text-muted-foreground fk:focus-visible:border-ring fk:focus-visible:ring-[3px] fk:focus-visible:ring-ring/50 fk:disabled:pointer-events-none fk:disabled:opacity-50 fk:aria-invalid:border-destructive fk:aria-invalid:ring-destructive/20 fk:data-[state=on]:bg-accent fk:data-[state=on]:text-accent-foreground fk:dark:aria-invalid:ring-destructive/40 fk:[&_svg]:pointer-events-none fk:[&_svg]:shrink-0 fk:[&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"fk:bg-transparent",outline:"fk:border fk:border-input fk:bg-transparent fk:shadow-xs fk:hover:bg-accent fk:hover:text-accent-foreground"},size:{default:"fk:h-9 fk:min-w-9 fk:px-2",sm:"fk:h-8 fk:min-w-8 fk:px-1.5",lg:"fk:h-10 fk:min-w-10 fk:px-2.5"}},defaultVariants:{variant:"default",size:"default"}});function V({className:e,variant:t,size:r,...a$1}){return jsx(Toggle.Root,{"data-slot":"toggle",className:a(p({variant:t,size:r,className:e})),...a$1})}var m=l.createContext({size:"default",variant:"default",spacing:0});function L({className:e,variant:t,size:r,spacing:a$1=0,children:f,...i}){return jsx(ToggleGroup.Root,{"data-slot":"toggle-group","data-variant":t,"data-size":r,"data-spacing":a$1,style:{"--gap":a$1},className:a("fk:group/toggle-group fk:flex fk:w-fit fk:items-center fk:gap-[--spacing(var(--gap))] fk:rounded-md fk:data-[spacing=default]:data-[variant=outline]:shadow-xs",e),...i,children:jsx(m.Provider,{value:{variant:t,size:r,spacing:a$1},children:f})})}function O({className:e,children:t,variant:r,size:a$1,...f}){let i=l.useContext(m);return jsx(ToggleGroup.Item,{"data-slot":"toggle-group-item","data-variant":i.variant||r,"data-size":i.size||a$1,"data-spacing":i.spacing,className:a(p({variant:i.variant||r,size:i.size||a$1}),"fk:w-auto fk:min-w-0 fk:shrink-0 fk:px-3 fk:focus:z-10 fk:focus-visible:z-10","fk:data-[spacing=0]:rounded-none fk:data-[spacing=0]:shadow-none fk:data-[spacing=0]:first:rounded-l-md fk:data-[spacing=0]:last:rounded-r-md fk:data-[spacing=0]:data-[variant=outline]:border-l-0 fk:data-[spacing=0]:data-[variant=outline]:first:border-l",e),...f,children:t})}var X=({richColors:e=true,style:t,...r})=>{let{theme:a="system"}=b();return jsx(Toaster,{theme:a,richColors:e,className:"toaster group",icons:{success:jsx(CircleCheckIcon,{className:"fk:size-4"}),info:jsx(InfoIcon,{className:"fk:size-4"}),warning:jsx(TriangleAlertIcon,{className:"fk:size-4"}),error:jsx(OctagonXIcon,{className:"fk:size-4"}),loading:jsx(Loader2Icon,{className:"fk:size-4 fk:animate-spin"})},style:{"--normal-bg":"hsl(var(--popover))","--normal-text":"hsl(var(--popover-foreground))","--normal-border":"hsl(var(--border))","--border-radius":"var(--radius)",...t},...r})};function U({className:e,orientation:t="horizontal",decorative:r=true,...a$1}){return jsx(Separator.Root,{"data-slot":"separator",decorative:r,orientation:t,className:a("fk:shrink-0 fk:bg-border fk:data-[orientation=horizontal]:h-px fk:data-[orientation=horizontal]:w-full fk:data-[orientation=vertical]:h-full fk:data-[orientation=vertical]:w-px",e),...a$1})}function $({className:e,containerClassName:t,onScroll:r,ref:a$1,...f}){return jsx("div",{ref:a$1,"data-slot":"table-container",className:a("fk:relative fk:h-full fk:w-full fk:min-w-0 fk:overflow-auto fk:rounded-t-md fk:border-border fk:border",t),onScroll:r,children:jsx("table",{"data-slot":"table",className:a("fk:w-full fk:caption-bottom fk:text-sm",e),...f})})}function j({className:e,...t}){return jsx("thead",{"data-slot":"table-header",className:a("fk:[&_tr]:border-b fk:bg-muted fk:dark:bg-muted",e),...t})}function tt({className:e,...t}){return jsx("tbody",{"data-slot":"table-body",className:a("fk:[&_tr:last-child]:border-0",e),...t})}function et({className:e,...t}){return jsx("tfoot",{"data-slot":"table-footer",className:a("fk:border-t fk:bg-muted/50 fk:font-medium fk:[&>tr]:last:border-b-0",e),...t})}function ot({className:e,...t}){return jsx("tr",{"data-slot":"table-row",className:a("fk:border-b fk:transition-colors fk:hover:bg-muted/50 fk:has-aria-expanded:bg-muted/50 fk:data-[state=selected]:bg-muted",e),...t})}function at({className:e,...t}){return jsx("th",{"data-slot":"table-head",className:a("fk:h-10 fk:px-4 fk:text-left fk:align-middle fk:font-medium fk:whitespace-nowrap fk:text-foreground fk:[&:has([role=checkbox])]:pr-0 fk:*:[[role=checkbox]]:translate-y-[2px]",e),...t})}function rt({className:e,...t}){return jsx("td",{"data-slot":"table-cell",className:a("fk:px-4 fk:py-1 fk:align-middle fk:whitespace-nowrap fk:[&:has([role=checkbox])]:pr-0 fk:*:[[role=checkbox]]:translate-y-[2px]",e),...t})}function nt({className:e,...t}){return jsx("caption",{"data-slot":"table-caption",className:a("fk:mt-4 fk:text-sm fk:text-muted-foreground",e),...t})}export{p as a,V as b,L as c,O as d,X as f,U as g,$ as h,j as i,tt as j,et as k,ot as l,at as m,rt as n,nt as o};//# sourceMappingURL=chunk-ZSJAPCIZ.js.map
2
- //# sourceMappingURL=chunk-ZSJAPCIZ.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ui/primitives/toggle.tsx","../src/ui/primitives/toggle-group.tsx","../src/ui/primitives/sonner.tsx","../src/ui/primitives/separator.tsx","../src/ui/primitives/table.tsx"],"names":["toggleVariants","cva","Toggle","className","variant","size","props","jsx","TogglePrimitive","cn","ToggleGroupContext","ToggleGroup","spacing","children","ToggleGroupPrimitive","ToggleGroupItem","context","Toaster","richColors","style","theme","useTheme","Sonner","CircleCheckIcon","InfoIcon","TriangleAlertIcon","OctagonXIcon","Loader2Icon","Separator","orientation","decorative","SeparatorPrimitive","Table","containerClassName","onScroll","ref","TableHeader","TableBody","TableFooter","TableRow","TableHead","TableCell","TableCaption"],"mappings":"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","file":"chunk-ZSJAPCIZ.js","sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Toggle as TogglePrimitive } from 'radix-ui';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../lib/utils';\n\nconst toggleVariants = cva(\n \"fk:inline-flex fk:items-center fk:justify-center fk:gap-2 fk:rounded-md fk:text-sm fk:font-medium fk:whitespace-nowrap fk:transition-[color,box-shadow] fk:outline-none fk:hover:bg-muted fk:hover:text-muted-foreground fk:focus-visible:border-ring fk:focus-visible:ring-[3px] fk:focus-visible:ring-ring/50 fk:disabled:pointer-events-none fk:disabled:opacity-50 fk:aria-invalid:border-destructive fk:aria-invalid:ring-destructive/20 fk:data-[state=on]:bg-accent fk:data-[state=on]:text-accent-foreground fk:dark:aria-invalid:ring-destructive/40 fk:[&_svg]:pointer-events-none fk:[&_svg]:shrink-0 fk:[&_svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n default: 'fk:bg-transparent',\n outline:\n 'fk:border fk:border-input fk:bg-transparent fk:shadow-xs fk:hover:bg-accent fk:hover:text-accent-foreground',\n },\n size: {\n default: 'fk:h-9 fk:min-w-9 fk:px-2',\n sm: 'fk:h-8 fk:min-w-8 fk:px-1.5',\n lg: 'fk:h-10 fk:min-w-10 fk:px-2.5',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n);\n\nfunction Toggle({\n className,\n variant,\n size,\n ...props\n}: React.ComponentProps<typeof TogglePrimitive.Root> & VariantProps<typeof toggleVariants>) {\n return (\n <TogglePrimitive.Root data-slot=\"toggle\" className={cn(toggleVariants({ variant, size, className }))} {...props} />\n );\n}\n\nexport { Toggle, toggleVariants };\n","'use client';\n\nimport * as React from 'react';\nimport { ToggleGroup as ToggleGroupPrimitive } from 'radix-ui';\nimport type { VariantProps } from 'class-variance-authority';\nimport { cn } from '../lib/utils';\nimport { toggleVariants } from './toggle';\n\nconst ToggleGroupContext = React.createContext<\n VariantProps<typeof toggleVariants> & {\n spacing?: number;\n }\n>({\n size: 'default',\n variant: 'default',\n spacing: 0,\n});\n\nfunction ToggleGroup({\n className,\n variant,\n size,\n spacing = 0,\n children,\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Root> &\n VariantProps<typeof toggleVariants> & {\n spacing?: number;\n }) {\n return (\n <ToggleGroupPrimitive.Root\n data-slot=\"toggle-group\"\n data-variant={variant}\n data-size={size}\n data-spacing={spacing}\n style={{ '--gap': spacing } as React.CSSProperties}\n className={cn(\n 'fk:group/toggle-group fk:flex fk:w-fit fk:items-center fk:gap-[--spacing(var(--gap))] fk:rounded-md fk:data-[spacing=default]:data-[variant=outline]:shadow-xs',\n className\n )}\n {...props}\n >\n <ToggleGroupContext.Provider value={{ variant, size, spacing }}>{children}</ToggleGroupContext.Provider>\n </ToggleGroupPrimitive.Root>\n );\n}\n\nfunction ToggleGroupItem({\n className,\n children,\n variant,\n size,\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Item> & VariantProps<typeof toggleVariants>) {\n const context = React.useContext(ToggleGroupContext);\n\n return (\n <ToggleGroupPrimitive.Item\n data-slot=\"toggle-group-item\"\n data-variant={context.variant || variant}\n data-size={context.size || size}\n data-spacing={context.spacing}\n className={cn(\n toggleVariants({\n variant: context.variant || variant,\n size: context.size || size,\n }),\n 'fk:w-auto fk:min-w-0 fk:shrink-0 fk:px-3 fk:focus:z-10 fk:focus-visible:z-10',\n 'fk:data-[spacing=0]:rounded-none fk:data-[spacing=0]:shadow-none fk:data-[spacing=0]:first:rounded-l-md fk:data-[spacing=0]:last:rounded-r-md fk:data-[spacing=0]:data-[variant=outline]:border-l-0 fk:data-[spacing=0]:data-[variant=outline]:first:border-l',\n className\n )}\n {...props}\n >\n {children}\n </ToggleGroupPrimitive.Item>\n );\n}\n\nexport { ToggleGroup, ToggleGroupItem };\n","'use client';\n\nimport { CircleCheckIcon, InfoIcon, Loader2Icon, OctagonXIcon, TriangleAlertIcon } from 'lucide-react';\nimport { useTheme } from '../theme-context';\nimport { toast, Toaster as Sonner, type ToasterProps } from 'sonner';\n\nconst Toaster = ({ richColors = true, style, ...props }: ToasterProps) => {\n const { theme = 'system' } = useTheme();\n\n return (\n <Sonner\n theme={theme as ToasterProps['theme']}\n richColors={richColors}\n className=\"toaster group\"\n icons={{\n success: <CircleCheckIcon className=\"fk:size-4\" />,\n info: <InfoIcon className=\"fk:size-4\" />,\n warning: <TriangleAlertIcon className=\"fk:size-4\" />,\n error: <OctagonXIcon className=\"fk:size-4\" />,\n loading: <Loader2Icon className=\"fk:size-4 fk:animate-spin\" />,\n }}\n style={\n {\n '--normal-bg': 'hsl(var(--popover))',\n '--normal-text': 'hsl(var(--popover-foreground))',\n '--normal-border': 'hsl(var(--border))',\n '--border-radius': 'var(--radius)',\n ...style,\n } as React.CSSProperties\n }\n {...props}\n />\n );\n};\n\nexport { toast, Toaster };\n","'use client';\n\nimport * as React from 'react';\nimport { Separator as SeparatorPrimitive } from 'radix-ui';\nimport { cn } from '../lib/utils';\n\nfunction Separator({\n className,\n orientation = 'horizontal',\n decorative = true,\n ...props\n}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n return (\n <SeparatorPrimitive.Root\n data-slot=\"separator\"\n decorative={decorative}\n orientation={orientation}\n className={cn(\n 'fk:shrink-0 fk:bg-border fk:data-[orientation=horizontal]:h-px fk:data-[orientation=horizontal]:w-full fk:data-[orientation=vertical]:h-full fk:data-[orientation=vertical]:w-px',\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Separator };\n","import * as React from 'react';\nimport { cn } from '../lib/utils';\n\ntype TableProps = Omit<React.ComponentProps<'table'>, 'ref'> & {\n containerClassName?: string;\n ref?: React.Ref<HTMLDivElement>;\n};\n\nfunction Table({ className, containerClassName, onScroll, ref, ...props }: TableProps) {\n return (\n <div\n ref={ref}\n data-slot=\"table-container\"\n className={cn(\n 'fk:relative fk:h-full fk:w-full fk:min-w-0 fk:overflow-auto fk:rounded-t-md fk:border-border fk:border',\n containerClassName\n )}\n onScroll={onScroll}\n >\n <table data-slot=\"table\" className={cn('fk:w-full fk:caption-bottom fk:text-sm', className)} {...props} />\n </div>\n );\n}\n\nfunction TableHeader({ className, ...props }: React.ComponentProps<'thead'>) {\n return <thead data-slot=\"table-header\" className={cn('fk:[&_tr]:border-b fk:bg-muted fk:dark:bg-muted', className)} {...props} />;\n}\n\nfunction TableBody({ className, ...props }: React.ComponentProps<'tbody'>) {\n return <tbody data-slot=\"table-body\" className={cn('fk:[&_tr:last-child]:border-0', className)} {...props} />;\n}\n\nfunction TableFooter({ className, ...props }: React.ComponentProps<'tfoot'>) {\n return (\n <tfoot\n data-slot=\"table-footer\"\n className={cn('fk:border-t fk:bg-muted/50 fk:font-medium fk:[&>tr]:last:border-b-0', className)}\n {...props}\n />\n );\n}\n\nfunction TableRow({ className, ...props }: React.ComponentProps<'tr'>) {\n return (\n <tr\n data-slot=\"table-row\"\n className={cn(\n 'fk:border-b fk:transition-colors fk:hover:bg-muted/50 fk:has-aria-expanded:bg-muted/50 fk:data-[state=selected]:bg-muted',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction TableHead({ className, ...props }: React.ComponentProps<'th'>) {\n return (\n <th\n data-slot=\"table-head\"\n className={cn(\n 'fk:h-10 fk:px-4 fk:text-left fk:align-middle fk:font-medium fk:whitespace-nowrap fk:text-foreground fk:[&:has([role=checkbox])]:pr-0 fk:*:[[role=checkbox]]:translate-y-[2px]',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction TableCell({ className, ...props }: React.ComponentProps<'td'>) {\n return (\n <td\n data-slot=\"table-cell\"\n className={cn(\n 'fk:px-4 fk:py-1 fk:align-middle fk:whitespace-nowrap fk:[&:has([role=checkbox])]:pr-0 fk:*:[[role=checkbox]]:translate-y-[2px]',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction TableCaption({ className, ...props }: React.ComponentProps<'caption'>) {\n return (\n <caption\n data-slot=\"table-caption\"\n className={cn('fk:mt-4 fk:text-sm fk:text-muted-foreground', className)}\n {...props}\n />\n );\n}\n\nexport { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption };\n"]}
@@ -1,2 +0,0 @@
1
- import'./index.css';import {d}from'./chunk-UUGIVWK4.js';import {c}from'./chunk-WDRCARCP.js';import {createContext,useContext}from'react';import l from'swr';import {useParams}from'react-router-dom';import {jsx}from'react/jsx-runtime';function s(){let{projectId:e}=useParams(),{projects:t}=d(),o=t.find(r=>r.projectId===e)??t[0],{data:c$1,isLoading:a}=l(c(e??"").currentUser,r=>fetch(r,{mode:"cors",credentials:"include"}).then(d=>d.json()));return [a,{user:c$1,logout:async()=>{await fetch(c(e??"").logout(o?.basePath??"/"),{method:"POST",mode:"cors",credentials:"include"}),await fetch("/api/flexkit/logout",{method:"GET",credentials:"include"}),window.location.reload();}}]}var u=createContext([true,{user:null,logout:()=>Promise.resolve()}]);function L({children:e}){let[t,o]=s();return jsx(u.Provider,{value:[t,o],children:e})}function j(){return useContext(u)}export{L as a,j as b};//# sourceMappingURL=chunk-ZSSNAIMU.js.map
2
- //# sourceMappingURL=chunk-ZSSNAIMU.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/auth/use-auth-service.ts","../src/auth/auth-context.tsx"],"names":["useAuthService","projectId","useParams","projects","useConfig","currentProject","project","user","isLoadingUser","useSWR","apiPaths","url","res","AuthContext","createContext","AuthProvider","children","isLoading","auth","jsx","useAuth","useContext"],"mappings":"yOAQe,SAARA,GAA+C,CACpD,GAAM,CAAE,SAAA,CAAAC,CAAU,CAAA,CAAIC,SAAAA,GAChB,CAAE,QAAA,CAAAC,CAAS,CAAA,CAAIC,CAAAA,GACfC,CAAAA,CAAiBF,CAAAA,CAAS,IAAA,CAAMG,CAAAA,EAAYA,EAAQ,SAAA,GAAcL,CAAS,GAAKE,CAAAA,CAAS,CAAC,EAC1F,CAAE,IAAA,CAAMI,GAAAA,CAAM,SAAA,CAAWC,CAAc,CAAA,CAAIC,CAAAA,CAAOC,CAAAA,CAAST,CAAAA,EAAa,EAAE,CAAA,CAAE,WAAA,CAAcU,CAAAA,EAC9F,KAAA,CAAMA,EAAK,CAAE,IAAA,CAAM,OAAQ,WAAA,CAAa,SAAU,CAAC,CAAA,CAAE,IAAA,CAAMC,CAAAA,EAAQA,CAAAA,CAAI,MAAuB,CAChG,EAGA,OAAO,CAFWJ,EAIhB,CACE,IAAA,CAAAD,GAAAA,CACA,MAAA,CAAQ,SAAY,CAElB,MAAM,MAAMG,CAAAA,CAAST,CAAAA,EAAa,EAAE,CAAA,CAAE,MAAA,CAAOI,CAAAA,EAAgB,QAAA,EAAY,GAAG,CAAA,CAAG,CAC7E,MAAA,CAAQ,MAAA,CACR,KAAM,MAAA,CACN,WAAA,CAAa,SACf,CAAC,EAGD,MAAM,KAAA,CAAM,sBAAuB,CAAE,MAAA,CAAQ,MAAO,WAAA,CAAa,SAAU,CAAC,CAAA,CAE5E,OAAO,QAAA,CAAS,MAAA,GAClB,CACF,CACF,CACF,CC9BA,IAAMQ,CAAAA,CAAcC,aAAAA,CAAc,CAChC,IAAA,CACA,CACE,KAAM,IAAA,CACN,MAAA,CAAQ,IAAM,OAAA,CAAQ,SACxB,CACF,CAAC,CAAA,CAEM,SAASC,CAAAA,CAAa,CAAE,QAAA,CAAAC,CAAS,EAA+C,CACrF,GAAM,CAACC,CAAAA,CAAWC,CAAI,EAAIlB,CAAAA,EAAe,CAEzC,OAAOmB,GAAAA,CAACN,EAAY,QAAA,CAAZ,CAAqB,MAAO,CAACI,CAAAA,CAAWC,CAAI,CAAA,CAAI,QAAA,CAAAF,CAAAA,CAAS,CACnE,CAEO,SAASI,CAAAA,EAAuB,CACrC,OAAOC,UAAAA,CAAWR,CAAW,CAC/B","file":"chunk-ZSSNAIMU.js","sourcesContent":["'use client';\n\nimport useSWR from 'swr';\nimport { useParams } from 'react-router-dom';\nimport { apiPaths } from '../core/api-paths';\nimport { useConfig } from '../core/config/config-context';\nimport type { AuthService, User } from './types';\n\nexport default function useAuthService(): AuthService {\n const { projectId } = useParams();\n const { projects } = useConfig();\n const currentProject = projects.find((project) => project.projectId === projectId) ?? projects[0];\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(currentProject?.basePath ?? '/'), {\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, JSX, 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,2 +0,0 @@
1
- import'./index.css';export{a as DateTime}from'./chunk-553TQFSU.js';//# sourceMappingURL=datetime-TWONUNXS.js.map
2
- //# sourceMappingURL=datetime-TWONUNXS.js.map
@@ -1,2 +0,0 @@
1
- import'./index.css';export{b as Editor}from'./chunk-7NQ6QCJD.js';//# sourceMappingURL=editor-NFRMIYVJ.js.map
2
- //# sourceMappingURL=editor-NFRMIYVJ.js.map
@@ -1,2 +0,0 @@
1
- import'./index.css';export{a as Switch}from'./chunk-X3S7TRCM.js';import'./chunk-QXCD5JR4.js';import'./chunk-KGYH74NA.js';import'./chunk-AALMEPYG.js';import'./chunk-O2QMYUPS.js';//# sourceMappingURL=switch-KVO3JRNX.js.map
2
- //# sourceMappingURL=switch-KVO3JRNX.js.map
@@ -1,2 +0,0 @@
1
- import'./index.css';export{a as Text}from'./chunk-4KGH7PU7.js';//# sourceMappingURL=text-FIBUDNGR.js.map
2
- //# sourceMappingURL=text-FIBUDNGR.js.map
@@ -1,2 +0,0 @@
1
- import'./index.css';export{a as Text}from'./chunk-27Y2SQ67.js';import'./chunk-7GBAYC7G.js';import'./chunk-QXCD5JR4.js';import'./chunk-AALMEPYG.js';import'./chunk-O2QMYUPS.js';//# sourceMappingURL=text-ODG7ABSW.js.map
2
- //# sourceMappingURL=text-ODG7ABSW.js.map
@@ -1,2 +0,0 @@
1
- import'./index.css';export{a as Textarea}from'./chunk-KR7CLPY2.js';import'./chunk-OEWYLKO7.js';import'./chunk-QXCD5JR4.js';import'./chunk-AALMEPYG.js';import'./chunk-O2QMYUPS.js';//# sourceMappingURL=textarea-M4YPSJEC.js.map
2
- //# sourceMappingURL=textarea-M4YPSJEC.js.map
@@ -1,2 +0,0 @@
1
- import'./index.css';import {b as b$1}from'./chunk-ZSSNAIMU.js';import {a,b as b$3,c as c$1}from'./chunk-2FFSI7IK.js';import {b,r,c,e,f,l,m,i,h,n}from'./chunk-TBCSVE5L.js';import'./chunk-UUGIVWK4.js';import'./chunk-WDRCARCP.js';import {b as b$2}from'./chunk-EYGOJ2ZN.js';import'./chunk-WIUPQHZ5.js';import'./chunk-O2QMYUPS.js';import {Monitor,Moon,Sun}from'lucide-react';import {jsx,jsxs}from'react/jsx-runtime';function _({projectId:D}){let{theme:a$1,setTheme:t}=b(),[C,n$1]=b$1();return C?jsx(r,{className:"fk:h-8 fk:w-8 fk:rounded-full"}):jsxs(c,{children:[jsx(e,{asChild:true,children:jsx(b$2,{className:"fk:relative fk:h-8 fk:w-8 fk:rounded-full",variant:"ghost",children:jsxs(a,{className:"fk:h-8 fk:w-8",children:[jsx(b$3,{alt:"@shadcn",src:n$1.user?.avatar_url}),jsx(c$1,{children:n$1.user?.display_name.charAt(0).toUpperCase()??""})]})})}),jsxs(f,{align:"end",className:"fk:w-56",forceMount:true,children:[jsx(l,{className:"font-normal",children:jsxs("div",{className:"fk:flex fk:flex-col fk:space-y-1",children:[jsx("p",{className:"fk:text-sm fk:font-medium fk:leading-none",children:n$1.user?.display_name}),jsx("p",{className:"fk:text-xs fk:leading-none fk:text-muted-foreground",children:n$1.user?.email})]})}),jsx(m,{}),jsx(l,{children:"Theme"}),jsxs(i,{checked:a$1==="system",onCheckedChange:()=>{t("system");},children:[jsx(Monitor,{className:"fk:mr-2 fk:h-4 fk:w-4"}),jsx("span",{children:"System"})]}),jsxs(i,{checked:a$1==="dark",onCheckedChange:()=>{t("dark");},children:[jsx(Moon,{className:"fk:mr-2 fk:h-4 fk:w-4"}),jsx("span",{children:"Dark"})]}),jsxs(i,{checked:a$1==="light",onCheckedChange:()=>{t("light");},children:[jsx(Sun,{className:"fk:mr-2 fk:h-4 fk:w-4"}),jsx("span",{children:"Light"})]}),jsx(m,{}),jsxs(h,{onClick:()=>{n$1.logout(D).then(()=>{}).catch(()=>{});},children:["Log out",jsx(n,{children:"\u21E7\u2318Q"})]})]})]})}export{_ as UserNav};//# sourceMappingURL=user-nav-O5G4M2VA.js.map
2
- //# sourceMappingURL=user-nav-O5G4M2VA.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/ui/components/user-nav.tsx"],"names":["UserNav","projectId","theme","setTheme","useTheme","isLoading","auth","useAuth","jsx","Skeleton","jsxs","DropdownMenu","DropdownMenuTrigger","Button","Avatar","AvatarImage","AvatarFallback","DropdownMenuContent","DropdownMenuLabel","DropdownMenuSeparator","DropdownMenuCheckboxItem","Monitor","Moon","Sun","DropdownMenuItem","DropdownMenuShortcut"],"mappings":"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","file":"user-nav-O5G4M2VA.js","sourcesContent":["import type { JSX } from 'react';\nimport { useTheme } from '../theme-context';\nimport { Monitor, Moon, Sun } from 'lucide-react';\nimport { Avatar, AvatarFallback, AvatarImage } from '../primitives/avatar';\nimport { Button } from '../primitives/button';\nimport { Skeleton } from '../primitives/skeleton';\nimport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuTrigger,\n} from '../primitives/dropdown-menu';\nimport { useAuth } from '../../auth/auth-context';\n\ntype Props = {\n projectId: string;\n};\n\nexport function UserNav({ projectId }: Props): JSX.Element {\n const { theme, setTheme } = useTheme();\n const [isLoading, auth] = useAuth();\n\n if (isLoading) {\n return <Skeleton className=\"fk:h-8 fk:w-8 fk:rounded-full\" />;\n }\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button className=\"fk:relative fk:h-8 fk:w-8 fk:rounded-full\" variant=\"ghost\">\n <Avatar className=\"fk:h-8 fk:w-8\">\n <AvatarImage alt=\"@shadcn\" src={auth.user?.avatar_url} />\n <AvatarFallback>{auth.user?.display_name.charAt(0).toUpperCase() ?? ''}</AvatarFallback>\n </Avatar>\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className=\"fk:w-56\" forceMount>\n <DropdownMenuLabel className=\"font-normal\">\n <div className=\"fk:flex fk:flex-col fk:space-y-1\">\n <p className=\"fk:text-sm fk:font-medium fk:leading-none\">{auth.user?.display_name}</p>\n <p className=\"fk:text-xs fk:leading-none fk:text-muted-foreground\">{auth.user?.email}</p>\n </div>\n </DropdownMenuLabel>\n <DropdownMenuSeparator />\n <DropdownMenuLabel>Theme</DropdownMenuLabel>\n <DropdownMenuCheckboxItem\n checked={theme === 'system'}\n onCheckedChange={() => {\n setTheme('system');\n }}\n >\n <Monitor className=\"fk:mr-2 fk:h-4 fk:w-4\" />\n <span>System</span>\n </DropdownMenuCheckboxItem>\n <DropdownMenuCheckboxItem\n checked={theme === 'dark'}\n onCheckedChange={() => {\n setTheme('dark');\n }}\n >\n <Moon className=\"fk:mr-2 fk:h-4 fk:w-4\" />\n <span>Dark</span>\n </DropdownMenuCheckboxItem>\n <DropdownMenuCheckboxItem\n checked={theme === 'light'}\n onCheckedChange={() => {\n setTheme('light');\n }}\n >\n <Sun className=\"fk:mr-2 fk:h-4 fk:w-4\" />\n <span>Light</span>\n </DropdownMenuCheckboxItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem\n onClick={() => {\n auth\n .logout(projectId)\n .then(() => {\n //\n })\n .catch(() => {\n //\n });\n }}\n >\n Log out\n <DropdownMenuShortcut>⇧⌘Q</DropdownMenuShortcut>\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n"]}