@flexkit/studio 0.0.25 → 0.0.27

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-REAMGMQL.js +2 -0
  2. package/dist/{asset-HOJ43RVO.js.map → asset-REAMGMQL.js.map} +1 -1
  3. package/dist/astro.js +1 -1
  4. package/dist/{chunk-OXTER7HO.js → chunk-27Y2SQ67.js} +2 -2
  5. package/dist/{chunk-OXTER7HO.js.map → chunk-27Y2SQ67.js.map} +1 -1
  6. package/dist/{chunk-SW6NNU5D.js → chunk-2FFSI7IK.js} +2 -2
  7. package/dist/chunk-2FFSI7IK.js.map +1 -0
  8. package/dist/chunk-2PEDKE5Z.js +2 -0
  9. package/dist/chunk-2PEDKE5Z.js.map +1 -0
  10. package/dist/chunk-553TQFSU.js +2 -0
  11. package/dist/chunk-553TQFSU.js.map +1 -0
  12. package/dist/{chunk-FPK7J4BP.js → chunk-7GBAYC7G.js} +2 -2
  13. package/dist/chunk-7GBAYC7G.js.map +1 -0
  14. package/dist/{chunk-53TUQIKJ.js → chunk-AALMEPYG.js} +2 -2
  15. package/dist/chunk-AALMEPYG.js.map +1 -0
  16. package/dist/{chunk-V2UTZEJQ.js → chunk-CWHDJ7Q4.js} +2 -2
  17. package/dist/{chunk-V2UTZEJQ.js.map → chunk-CWHDJ7Q4.js.map} +1 -1
  18. package/dist/{chunk-6MOUYNN4.js → chunk-KGYH74NA.js} +2 -2
  19. package/dist/chunk-KGYH74NA.js.map +1 -0
  20. package/dist/chunk-KR7CLPY2.js +2 -0
  21. package/dist/chunk-KR7CLPY2.js.map +1 -0
  22. package/dist/{chunk-ND3OZVR5.js → chunk-NNRD7YZU.js} +2 -2
  23. package/dist/chunk-NNRD7YZU.js.map +1 -0
  24. package/dist/{chunk-PEYW7XOU.js → chunk-OEWYLKO7.js} +2 -2
  25. package/dist/chunk-OEWYLKO7.js.map +1 -0
  26. package/dist/{chunk-Z5CZVKD4.js → chunk-QXCD5JR4.js} +2 -2
  27. package/dist/chunk-QXCD5JR4.js.map +1 -0
  28. package/dist/{chunk-YXRNHQPG.js → chunk-TBCSVE5L.js} +2 -2
  29. package/dist/{chunk-YXRNHQPG.js.map → chunk-TBCSVE5L.js.map} +1 -1
  30. package/dist/{chunk-PCZI6VXG.js → chunk-UKLE7J3K.js} +2 -2
  31. package/dist/chunk-UUGIVWK4.js +2 -0
  32. package/dist/chunk-UUGIVWK4.js.map +1 -0
  33. package/dist/chunk-WDRCARCP.js +3 -0
  34. package/dist/{chunk-ZBV4BY36.js.map → chunk-WDRCARCP.js.map} +1 -1
  35. package/dist/{chunk-V7UK6RMM.js → chunk-X3S7TRCM.js} +2 -2
  36. package/dist/{chunk-V7UK6RMM.js.map → chunk-X3S7TRCM.js.map} +1 -1
  37. package/dist/chunk-XU2JGXYC.js +2 -0
  38. package/dist/chunk-XU2JGXYC.js.map +1 -0
  39. package/dist/{chunk-5CKMFBWH.js → chunk-YW2EEXMV.js} +2 -2
  40. package/dist/chunk-YW2EEXMV.js.map +1 -0
  41. package/dist/{chunk-RVGMKQPC.js → chunk-ZSJAPCIZ.js} +2 -2
  42. package/dist/chunk-ZSJAPCIZ.js.map +1 -0
  43. package/dist/{chunk-7XBIC5RC.js → chunk-ZSSNAIMU.js} +2 -2
  44. package/dist/{chunk-7XBIC5RC.js.map → chunk-ZSSNAIMU.js.map} +1 -1
  45. package/dist/datetime-TWONUNXS.js +2 -0
  46. package/dist/{datetime-VZJ7XF33.js.map → datetime-TWONUNXS.js.map} +1 -1
  47. package/dist/index.css +45 -13
  48. package/dist/index.d.ts +38 -14
  49. package/dist/index.js +270 -231
  50. package/dist/index.js.map +1 -1
  51. package/dist/nextjs.js +1 -1
  52. package/dist/{project-selector-UDFHGEZI.js → project-selector-X6YVZYKL.js} +2 -2
  53. package/dist/{project-selector-UDFHGEZI.js.map → project-selector-X6YVZYKL.js.map} +1 -1
  54. package/dist/{search-MG2W4GGN.js → search-6ASIDGYA.js} +2 -2
  55. package/dist/{search-MG2W4GGN.js.map → search-6ASIDGYA.js.map} +1 -1
  56. package/dist/switch-KVO3JRNX.js +2 -0
  57. package/dist/{switch-FBS75HI4.js.map → switch-KVO3JRNX.js.map} +1 -1
  58. package/dist/tanstack-start.js +1 -1
  59. package/dist/text-ODG7ABSW.js +2 -0
  60. package/dist/{text-RZOXKHWE.js.map → text-ODG7ABSW.js.map} +1 -1
  61. package/dist/textarea-M4YPSJEC.js +2 -0
  62. package/dist/{textarea-OUJM7E6O.js.map → textarea-M4YPSJEC.js.map} +1 -1
  63. package/dist/{types.d-B-SE1ihC.d.ts → types.d-DiA0h3ut.d.ts} +37 -7
  64. package/dist/ui.d.ts +3 -2
  65. package/dist/ui.js +1 -1
  66. package/dist/ui.js.map +1 -1
  67. package/dist/{user-nav-E7MLJ36Y.js → user-nav-O5G4M2VA.js} +2 -2
  68. package/dist/{user-nav-E7MLJ36Y.js.map → user-nav-O5G4M2VA.js.map} +1 -1
  69. package/package.json +1 -1
  70. package/dist/asset-HOJ43RVO.js +0 -2
  71. package/dist/chunk-53TUQIKJ.js.map +0 -1
  72. package/dist/chunk-5CKMFBWH.js.map +0 -1
  73. package/dist/chunk-6MOUYNN4.js.map +0 -1
  74. package/dist/chunk-6YHHL4XI.js +0 -2
  75. package/dist/chunk-6YHHL4XI.js.map +0 -1
  76. package/dist/chunk-7WR64NTK.js +0 -2
  77. package/dist/chunk-7WR64NTK.js.map +0 -1
  78. package/dist/chunk-FPK7J4BP.js.map +0 -1
  79. package/dist/chunk-I4C65MUI.js +0 -2
  80. package/dist/chunk-I4C65MUI.js.map +0 -1
  81. package/dist/chunk-JHDZP6RC.js +0 -2
  82. package/dist/chunk-JHDZP6RC.js.map +0 -1
  83. package/dist/chunk-ND3OZVR5.js.map +0 -1
  84. package/dist/chunk-PEYW7XOU.js.map +0 -1
  85. package/dist/chunk-RVGMKQPC.js.map +0 -1
  86. package/dist/chunk-SW6NNU5D.js.map +0 -1
  87. package/dist/chunk-SXZZFHMJ.js +0 -2
  88. package/dist/chunk-SXZZFHMJ.js.map +0 -1
  89. package/dist/chunk-Z5CZVKD4.js.map +0 -1
  90. package/dist/chunk-ZBV4BY36.js +0 -3
  91. package/dist/datetime-VZJ7XF33.js +0 -2
  92. package/dist/switch-FBS75HI4.js +0 -2
  93. package/dist/text-RZOXKHWE.js +0 -2
  94. package/dist/textarea-OUJM7E6O.js +0 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ui/theme-context.tsx","../src/ui/primitives/dropdown-menu.tsx","../src/ui/primitives/skeleton.tsx"],"names":["DEFAULT_THEMES","MEDIA_QUERY","ThemeContext","createContext","ThemeProvider","attribute","children","defaultTheme","disableTransitionOnChange","enableColorScheme","enableSystem","forcedTheme","storageKey","themes","value","theme","setThemeState","useState","getInitialTheme","systemTheme","setSystemTheme","getSystemTheme","resolvedTheme","resolveTheme","setTheme","useCallback","nextTheme","isBrowser","useEffect","mediaQuery","handleChange","event","root","nextResolvedTheme","cleanupTransitions","disableTransitions","themeValues","attributeValue","context","useMemo","jsx","useTheme","useContext","style","storedTheme","DropdownMenu","props","DropdownMenuPrimitive","DropdownMenuPortal","DropdownMenuTrigger","DropdownMenuContent","className","sideOffset","cn","DropdownMenuGroup","DropdownMenuItem","inset","variant","DropdownMenuCheckboxItem","checked","jsxs","CheckIcon","DropdownMenuRadioGroup","DropdownMenuRadioItem","CircleIcon","DropdownMenuLabel","DropdownMenuSeparator","DropdownMenuShortcut","DropdownMenuSub","DropdownMenuSubTrigger","ChevronRightIcon","DropdownMenuSubContent","Skeleton"],"mappings":"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","file":"chunk-YXRNHQPG.js","sourcesContent":["'use client';\n\nimport { createContext, useCallback, useContext, useEffect, useMemo, useState } from 'react';\nimport type { JSX } from 'react';\n\ntype SystemTheme = 'dark' | 'light';\n\ninterface ThemeValue {\n [themeName: string]: string;\n}\n\nexport interface UseThemeProps {\n themes: string[];\n forcedTheme?: string;\n setTheme: (theme: string) => void;\n theme?: string;\n resolvedTheme?: string;\n systemTheme?: SystemTheme;\n}\n\nexport interface ThemeProviderProps {\n themes?: string[];\n forcedTheme?: string;\n enableSystem?: boolean;\n disableTransitionOnChange?: boolean;\n enableColorScheme?: boolean;\n storageKey?: string;\n defaultTheme?: string;\n attribute?: string | 'class';\n value?: ThemeValue;\n children?: React.ReactNode;\n}\n\nconst DEFAULT_THEMES = ['light', 'dark'];\nconst MEDIA_QUERY = '(prefers-color-scheme: dark)';\nconst ThemeContext = createContext<UseThemeProps | undefined>(undefined);\n\nexport function ThemeProvider({\n attribute = 'data-theme',\n children,\n defaultTheme,\n disableTransitionOnChange = false,\n enableColorScheme = true,\n enableSystem = true,\n forcedTheme,\n storageKey = 'theme',\n themes = DEFAULT_THEMES,\n value,\n}: ThemeProviderProps): JSX.Element {\n const [theme, setThemeState] = useState<string | undefined>(() =>\n getInitialTheme(storageKey, defaultTheme, enableSystem)\n );\n const [systemTheme, setSystemTheme] = useState<SystemTheme | undefined>(() => getSystemTheme());\n const resolvedTheme = resolveTheme(forcedTheme ?? theme, enableSystem, systemTheme);\n\n const setTheme = useCallback(\n (nextTheme: string) => {\n if (forcedTheme) {\n return;\n }\n\n setThemeState(nextTheme);\n\n if (!isBrowser()) {\n return;\n }\n\n try {\n window.localStorage.setItem(storageKey, nextTheme);\n } catch {\n //\n }\n },\n [forcedTheme, storageKey]\n );\n\n useEffect(() => {\n if (!isBrowser() || !enableSystem) {\n return;\n }\n\n const mediaQuery = window.matchMedia(MEDIA_QUERY);\n\n function handleChange(event: MediaQueryListEvent): void {\n setSystemTheme(event.matches ? 'dark' : 'light');\n }\n\n setSystemTheme(mediaQuery.matches ? 'dark' : 'light');\n mediaQuery.addEventListener('change', handleChange);\n\n return () => {\n mediaQuery.removeEventListener('change', handleChange);\n };\n }, [enableSystem]);\n\n useEffect(() => {\n if (!isBrowser()) {\n return;\n }\n\n const root = window.document.documentElement;\n const selectedTheme = forcedTheme ?? theme ?? defaultTheme;\n const nextResolvedTheme = resolveTheme(selectedTheme, enableSystem, systemTheme);\n\n if (!nextResolvedTheme) {\n return;\n }\n\n const cleanupTransitions = disableTransitionOnChange ? disableTransitions() : undefined;\n const themeValues = value ? Object.values(value) : themes;\n const attributeValue = value?.[nextResolvedTheme] ?? nextResolvedTheme;\n\n if (attribute === 'class') {\n root.classList.remove(...themeValues);\n root.classList.add(attributeValue);\n }\n\n if (attribute !== 'class') {\n root.setAttribute(attribute, attributeValue);\n }\n\n if (enableColorScheme && (nextResolvedTheme === 'dark' || nextResolvedTheme === 'light')) {\n root.style.colorScheme = nextResolvedTheme;\n }\n\n cleanupTransitions?.();\n }, [\n attribute,\n defaultTheme,\n disableTransitionOnChange,\n enableColorScheme,\n enableSystem,\n forcedTheme,\n systemTheme,\n theme,\n themes,\n value,\n ]);\n\n const context = useMemo<UseThemeProps>(() => {\n return {\n forcedTheme,\n resolvedTheme,\n setTheme,\n systemTheme,\n theme: forcedTheme ?? theme,\n themes: enableSystem ? [...themes, 'system'] : themes,\n };\n }, [enableSystem, forcedTheme, resolvedTheme, setTheme, systemTheme, theme, themes]);\n\n return <ThemeContext.Provider value={context}>{children}</ThemeContext.Provider>;\n}\n\nexport function useTheme(): UseThemeProps {\n const context = useContext(ThemeContext);\n\n if (!context) {\n throw new Error('useTheme must be used within ThemeProvider');\n }\n\n return context;\n}\n\nfunction disableTransitions(): () => void {\n const style = window.document.createElement('style');\n style.appendChild(\n window.document.createTextNode(\n '*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}'\n )\n );\n window.document.head.appendChild(style);\n\n return () => {\n window.getComputedStyle(window.document.body);\n\n window.setTimeout(() => {\n style.remove();\n }, 0);\n };\n}\n\nfunction getInitialTheme(storageKey: string, defaultTheme: string | undefined, enableSystem: boolean): string {\n if (!isBrowser()) {\n return defaultTheme ?? (enableSystem ? 'system' : 'light');\n }\n\n try {\n const storedTheme = window.localStorage.getItem(storageKey);\n\n if (storedTheme) {\n return storedTheme;\n }\n } catch {\n //\n }\n\n return defaultTheme ?? (enableSystem ? 'system' : 'light');\n}\n\nfunction getSystemTheme(): SystemTheme | undefined {\n if (!isBrowser()) {\n return undefined;\n }\n\n return window.matchMedia(MEDIA_QUERY).matches ? 'dark' : 'light';\n}\n\nfunction isBrowser(): boolean {\n return typeof window !== 'undefined';\n}\n\nfunction resolveTheme(\n theme: string | undefined,\n enableSystem: boolean,\n systemTheme: SystemTheme | undefined\n): string | undefined {\n if (!theme) {\n return undefined;\n }\n\n if (theme !== 'system') {\n return theme;\n }\n\n if (!enableSystem) {\n return 'light';\n }\n\n return systemTheme ?? 'light';\n}\n","'use client';\n\nimport * as React from 'react';\nimport { DropdownMenu as DropdownMenuPrimitive } from 'radix-ui';\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from 'lucide-react';\nimport { cn } from 'src/ui/lib/utils';\n\nfunction DropdownMenu({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\nfunction DropdownMenuPortal({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />;\n}\n\nfunction DropdownMenuTrigger({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return <DropdownMenuPrimitive.Trigger data-slot=\"dropdown-menu-trigger\" {...props} />;\n}\n\nfunction DropdownMenuContent({\n className,\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n className={cn(\n 'fk:z-50 fk:max-h-(--radix-dropdown-menu-content-available-height) fk:min-w-32 fk:origin-(--radix-dropdown-menu-content-transform-origin) fk:overflow-x-hidden fk:overflow-y-auto fk:rounded-md fk:border fk:bg-popover fk:p-1 fk:text-popover-foreground fk:shadow-md fk:data-[side=bottom]:slide-in-from-top-2 fk:data-[side=left]:slide-in-from-right-2 fk:data-[side=right]:slide-in-from-left-2 fk:data-[side=top]:slide-in-from-bottom-2 fk:data-[state=closed]:animate-out fk:data-[state=closed]:fade-out-0 fk:data-[state=closed]:zoom-out-95 fk:data-[state=open]:animate-in fk:data-[state=open]:fade-in-0 fk:data-[state=open]:zoom-in-95',\n className\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\nfunction DropdownMenuGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />;\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = 'default',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: 'default' | 'destructive';\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"fk:relative fk:flex fk:cursor-default fk:items-center fk:gap-2 fk:rounded-sm fk:px-2 fk:py-1.5 fk:text-sm fk:outline-hidden fk:select-none fk:focus:bg-accent fk:focus:text-accent-foreground fk:data-[disabled]:pointer-events-none fk:data-[disabled]:opacity-50 fk:data-[inset]:pl-8 fk:data-[variant=destructive]:text-destructive fk:data-[variant=destructive]:focus:bg-destructive/10 fk:data-[variant=destructive]:focus:text-destructive fk:dark:data-[variant=destructive]:focus:bg-destructive/20 fk:[&_svg]:pointer-events-none fk:[&_svg]:shrink-0 fk:[&_svg:not([class*='size-'])]:size-4 fk:[&_svg:not([class*='text-'])]:text-muted-foreground fk:data-[variant=destructive]:*:[svg]:text-destructive!\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(\n \"fk:relative fk:flex fk:cursor-default fk:items-center fk:gap-2 fk:rounded-sm fk:py-1.5 fk:pr-2 fk:pl-8 fk:text-sm fk:outline-hidden fk:select-none fk:focus:bg-accent fk:focus:text-accent-foreground fk:data-[disabled]:pointer-events-none fk:data-[disabled]:opacity-50 fk:[&_svg]:pointer-events-none fk:[&_svg]:shrink-0 fk:[&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"fk:pointer-events-none fk:absolute fk:left-2 fk:flex fk:size-3.5 fk:items-center fk:justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction DropdownMenuRadioGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return <DropdownMenuPrimitive.RadioGroup data-slot=\"dropdown-menu-radio-group\" {...props} />;\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(\n \"fk:relative fk:flex fk:cursor-default fk:items-center fk:gap-2 fk:rounded-sm fk:py-1.5 fk:pr-2 fk:pl-8 fk:text-sm fk:outline-hidden fk:select-none fk:focus:bg-accent fk:focus:text-accent-foreground fk:data-[disabled]:pointer-events-none fk:data-[disabled]:opacity-50 fk:[&_svg]:pointer-events-none fk:[&_svg]:shrink-0 fk:[&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <span className=\"fk:pointer-events-none fk:absolute fk:left-2 fk:flex fk:size-3.5 fk:items-center fk:justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn('fk:px-2 fk:py-1.5 fk:text-sm fk:font-medium fk:data-[inset]:pl-8', className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSeparator({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return (\n <DropdownMenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn('fk:-mx-1 fk:my-1 fk:h-px fk:bg-border', className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuShortcut({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn('fk:ml-auto fk:text-xs fk:tracking-widest fk:text-muted-foreground', className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"fk:flex fk:cursor-default fk:items-center fk:gap-2 fk:rounded-sm fk:px-2 fk:py-1.5 fk:text-sm fk:outline-hidden fk:select-none fk:focus:bg-accent fk:focus:text-accent-foreground fk:data-[inset]:pl-8 fk:data-[state=open]:bg-accent fk:data-[state=open]:text-accent-foreground fk:[&_svg]:pointer-events-none fk:[&_svg]:shrink-0 fk:[&_svg:not([class*='size-'])]:size-4 fk:[&_svg:not([class*='text-'])]:text-muted-foreground\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"fk:ml-auto fk:size-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n );\n}\n\nfunction DropdownMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n 'fk:z-50 fk:min-w-32 fk:origin-(--radix-dropdown-menu-content-transform-origin) fk:overflow-hidden fk:rounded-md fk:border fk:bg-popover fk:p-1 fk:text-popover-foreground fk:shadow-lg fk:data-[side=bottom]:slide-in-from-top-2 fk:data-[side=left]:slide-in-from-right-2 fk:data-[side=right]:slide-in-from-left-2 fk:data-[side=top]:slide-in-from-bottom-2 fk:data-[state=closed]:animate-out fk:data-[state=closed]:fade-out-0 fk:data-[state=closed]:zoom-out-95 fk:data-[state=open]:animate-in fk:data-[state=open]:fade-in-0 fk:data-[state=open]:zoom-in-95',\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuPortal,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n};\n","import { cn } from 'src/ui/lib/utils';\n\nfunction Skeleton({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div data-slot=\"skeleton\" className={cn('fk:animate-pulse fk:rounded-md fk:bg-accent', className)} {...props} />\n );\n}\n\nexport { Skeleton };\n"]}
1
+ {"version":3,"sources":["../src/ui/theme-context.tsx","../src/ui/primitives/dropdown-menu.tsx","../src/ui/primitives/skeleton.tsx"],"names":["DEFAULT_THEMES","MEDIA_QUERY","ThemeContext","createContext","ThemeProvider","attribute","children","defaultTheme","disableTransitionOnChange","enableColorScheme","enableSystem","forcedTheme","storageKey","themes","value","theme","setThemeState","useState","getInitialTheme","systemTheme","setSystemTheme","getSystemTheme","resolvedTheme","resolveTheme","setTheme","useCallback","nextTheme","isBrowser","useEffect","mediaQuery","handleChange","event","root","nextResolvedTheme","cleanupTransitions","disableTransitions","themeValues","attributeValue","context","useMemo","jsx","useTheme","useContext","style","storedTheme","DropdownMenu","props","DropdownMenuPrimitive","DropdownMenuPortal","DropdownMenuTrigger","DropdownMenuContent","className","sideOffset","cn","DropdownMenuGroup","DropdownMenuItem","inset","variant","DropdownMenuCheckboxItem","checked","jsxs","CheckIcon","DropdownMenuRadioGroup","DropdownMenuRadioItem","CircleIcon","DropdownMenuLabel","DropdownMenuSeparator","DropdownMenuShortcut","DropdownMenuSub","DropdownMenuSubTrigger","ChevronRightIcon","DropdownMenuSubContent","Skeleton"],"mappings":"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","file":"chunk-TBCSVE5L.js","sourcesContent":["'use client';\n\nimport { createContext, useCallback, useContext, useEffect, useMemo, useState } from 'react';\nimport type { JSX } from 'react';\n\ntype SystemTheme = 'dark' | 'light';\n\ninterface ThemeValue {\n [themeName: string]: string;\n}\n\nexport interface UseThemeProps {\n themes: string[];\n forcedTheme?: string;\n setTheme: (theme: string) => void;\n theme?: string;\n resolvedTheme?: string;\n systemTheme?: SystemTheme;\n}\n\nexport interface ThemeProviderProps {\n themes?: string[];\n forcedTheme?: string;\n enableSystem?: boolean;\n disableTransitionOnChange?: boolean;\n enableColorScheme?: boolean;\n storageKey?: string;\n defaultTheme?: string;\n attribute?: string | 'class';\n value?: ThemeValue;\n children?: React.ReactNode;\n}\n\nconst DEFAULT_THEMES = ['light', 'dark'];\nconst MEDIA_QUERY = '(prefers-color-scheme: dark)';\nconst ThemeContext = createContext<UseThemeProps | undefined>(undefined);\n\nexport function ThemeProvider({\n attribute = 'data-theme',\n children,\n defaultTheme,\n disableTransitionOnChange = false,\n enableColorScheme = true,\n enableSystem = true,\n forcedTheme,\n storageKey = 'theme',\n themes = DEFAULT_THEMES,\n value,\n}: ThemeProviderProps): JSX.Element {\n const [theme, setThemeState] = useState<string | undefined>(() =>\n getInitialTheme(storageKey, defaultTheme, enableSystem)\n );\n const [systemTheme, setSystemTheme] = useState<SystemTheme | undefined>(() => getSystemTheme());\n const resolvedTheme = resolveTheme(forcedTheme ?? theme, enableSystem, systemTheme);\n\n const setTheme = useCallback(\n (nextTheme: string) => {\n if (forcedTheme) {\n return;\n }\n\n setThemeState(nextTheme);\n\n if (!isBrowser()) {\n return;\n }\n\n try {\n window.localStorage.setItem(storageKey, nextTheme);\n } catch {\n //\n }\n },\n [forcedTheme, storageKey]\n );\n\n useEffect(() => {\n if (!isBrowser() || !enableSystem) {\n return;\n }\n\n const mediaQuery = window.matchMedia(MEDIA_QUERY);\n\n function handleChange(event: MediaQueryListEvent): void {\n setSystemTheme(event.matches ? 'dark' : 'light');\n }\n\n setSystemTheme(mediaQuery.matches ? 'dark' : 'light');\n mediaQuery.addEventListener('change', handleChange);\n\n return () => {\n mediaQuery.removeEventListener('change', handleChange);\n };\n }, [enableSystem]);\n\n useEffect(() => {\n if (!isBrowser()) {\n return;\n }\n\n const root = window.document.documentElement;\n const selectedTheme = forcedTheme ?? theme ?? defaultTheme;\n const nextResolvedTheme = resolveTheme(selectedTheme, enableSystem, systemTheme);\n\n if (!nextResolvedTheme) {\n return;\n }\n\n const cleanupTransitions = disableTransitionOnChange ? disableTransitions() : undefined;\n const themeValues = value ? Object.values(value) : themes;\n const attributeValue = value?.[nextResolvedTheme] ?? nextResolvedTheme;\n\n if (attribute === 'class') {\n root.classList.remove(...themeValues);\n root.classList.add(attributeValue);\n }\n\n if (attribute !== 'class') {\n root.setAttribute(attribute, attributeValue);\n }\n\n if (enableColorScheme && (nextResolvedTheme === 'dark' || nextResolvedTheme === 'light')) {\n root.style.colorScheme = nextResolvedTheme;\n }\n\n cleanupTransitions?.();\n }, [\n attribute,\n defaultTheme,\n disableTransitionOnChange,\n enableColorScheme,\n enableSystem,\n forcedTheme,\n systemTheme,\n theme,\n themes,\n value,\n ]);\n\n const context = useMemo<UseThemeProps>(() => {\n return {\n forcedTheme,\n resolvedTheme,\n setTheme,\n systemTheme,\n theme: forcedTheme ?? theme,\n themes: enableSystem ? [...themes, 'system'] : themes,\n };\n }, [enableSystem, forcedTheme, resolvedTheme, setTheme, systemTheme, theme, themes]);\n\n return <ThemeContext.Provider value={context}>{children}</ThemeContext.Provider>;\n}\n\nexport function useTheme(): UseThemeProps {\n const context = useContext(ThemeContext);\n\n if (!context) {\n throw new Error('useTheme must be used within ThemeProvider');\n }\n\n return context;\n}\n\nfunction disableTransitions(): () => void {\n const style = window.document.createElement('style');\n style.appendChild(\n window.document.createTextNode(\n '*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}'\n )\n );\n window.document.head.appendChild(style);\n\n return () => {\n window.getComputedStyle(window.document.body);\n\n window.setTimeout(() => {\n style.remove();\n }, 0);\n };\n}\n\nfunction getInitialTheme(storageKey: string, defaultTheme: string | undefined, enableSystem: boolean): string {\n if (!isBrowser()) {\n return defaultTheme ?? (enableSystem ? 'system' : 'light');\n }\n\n try {\n const storedTheme = window.localStorage.getItem(storageKey);\n\n if (storedTheme) {\n return storedTheme;\n }\n } catch {\n //\n }\n\n return defaultTheme ?? (enableSystem ? 'system' : 'light');\n}\n\nfunction getSystemTheme(): SystemTheme | undefined {\n if (!isBrowser()) {\n return undefined;\n }\n\n return window.matchMedia(MEDIA_QUERY).matches ? 'dark' : 'light';\n}\n\nfunction isBrowser(): boolean {\n return typeof window !== 'undefined';\n}\n\nfunction resolveTheme(\n theme: string | undefined,\n enableSystem: boolean,\n systemTheme: SystemTheme | undefined\n): string | undefined {\n if (!theme) {\n return undefined;\n }\n\n if (theme !== 'system') {\n return theme;\n }\n\n if (!enableSystem) {\n return 'light';\n }\n\n return systemTheme ?? 'light';\n}\n","'use client';\n\nimport * as React from 'react';\nimport { DropdownMenu as DropdownMenuPrimitive } from 'radix-ui';\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from 'lucide-react';\nimport { cn } from '../lib/utils';\n\nfunction DropdownMenu({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\nfunction DropdownMenuPortal({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />;\n}\n\nfunction DropdownMenuTrigger({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return <DropdownMenuPrimitive.Trigger data-slot=\"dropdown-menu-trigger\" {...props} />;\n}\n\nfunction DropdownMenuContent({\n className,\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n className={cn(\n 'fk:z-50 fk:max-h-(--radix-dropdown-menu-content-available-height) fk:min-w-32 fk:origin-(--radix-dropdown-menu-content-transform-origin) fk:overflow-x-hidden fk:overflow-y-auto fk:rounded-md fk:border fk:bg-popover fk:p-1 fk:text-popover-foreground fk:shadow-md fk:data-[side=bottom]:slide-in-from-top-2 fk:data-[side=left]:slide-in-from-right-2 fk:data-[side=right]:slide-in-from-left-2 fk:data-[side=top]:slide-in-from-bottom-2 fk:data-[state=closed]:animate-out fk:data-[state=closed]:fade-out-0 fk:data-[state=closed]:zoom-out-95 fk:data-[state=open]:animate-in fk:data-[state=open]:fade-in-0 fk:data-[state=open]:zoom-in-95',\n className\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\nfunction DropdownMenuGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />;\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = 'default',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: 'default' | 'destructive';\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"fk:relative fk:flex fk:cursor-default fk:items-center fk:gap-2 fk:rounded-sm fk:px-2 fk:py-1.5 fk:text-sm fk:outline-hidden fk:select-none fk:focus:bg-accent fk:focus:text-accent-foreground fk:data-[disabled]:pointer-events-none fk:data-[disabled]:opacity-50 fk:data-[inset]:pl-8 fk:data-[variant=destructive]:text-destructive fk:data-[variant=destructive]:focus:bg-destructive/10 fk:data-[variant=destructive]:focus:text-destructive fk:dark:data-[variant=destructive]:focus:bg-destructive/20 fk:[&_svg]:pointer-events-none fk:[&_svg]:shrink-0 fk:[&_svg:not([class*='size-'])]:size-4 fk:[&_svg:not([class*='text-'])]:text-muted-foreground fk:data-[variant=destructive]:*:[svg]:text-destructive!\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(\n \"fk:relative fk:flex fk:cursor-default fk:items-center fk:gap-2 fk:rounded-sm fk:py-1.5 fk:pr-2 fk:pl-8 fk:text-sm fk:outline-hidden fk:select-none fk:focus:bg-accent fk:focus:text-accent-foreground fk:data-[disabled]:pointer-events-none fk:data-[disabled]:opacity-50 fk:[&_svg]:pointer-events-none fk:[&_svg]:shrink-0 fk:[&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"fk:pointer-events-none fk:absolute fk:left-2 fk:flex fk:size-3.5 fk:items-center fk:justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction DropdownMenuRadioGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return <DropdownMenuPrimitive.RadioGroup data-slot=\"dropdown-menu-radio-group\" {...props} />;\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(\n \"fk:relative fk:flex fk:cursor-default fk:items-center fk:gap-2 fk:rounded-sm fk:py-1.5 fk:pr-2 fk:pl-8 fk:text-sm fk:outline-hidden fk:select-none fk:focus:bg-accent fk:focus:text-accent-foreground fk:data-[disabled]:pointer-events-none fk:data-[disabled]:opacity-50 fk:[&_svg]:pointer-events-none fk:[&_svg]:shrink-0 fk:[&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <span className=\"fk:pointer-events-none fk:absolute fk:left-2 fk:flex fk:size-3.5 fk:items-center fk:justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn('fk:px-2 fk:py-1.5 fk:text-sm fk:font-medium fk:data-[inset]:pl-8', className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSeparator({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return (\n <DropdownMenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn('fk:-mx-1 fk:my-1 fk:h-px fk:bg-border', className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuShortcut({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn('fk:ml-auto fk:text-xs fk:tracking-widest fk:text-muted-foreground', className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"fk:flex fk:cursor-default fk:items-center fk:gap-2 fk:rounded-sm fk:px-2 fk:py-1.5 fk:text-sm fk:outline-hidden fk:select-none fk:focus:bg-accent fk:focus:text-accent-foreground fk:data-[inset]:pl-8 fk:data-[state=open]:bg-accent fk:data-[state=open]:text-accent-foreground fk:[&_svg]:pointer-events-none fk:[&_svg]:shrink-0 fk:[&_svg:not([class*='size-'])]:size-4 fk:[&_svg:not([class*='text-'])]:text-muted-foreground\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"fk:ml-auto fk:size-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n );\n}\n\nfunction DropdownMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n 'fk:z-50 fk:min-w-32 fk:origin-(--radix-dropdown-menu-content-transform-origin) fk:overflow-hidden fk:rounded-md fk:border fk:bg-popover fk:p-1 fk:text-popover-foreground fk:shadow-lg fk:data-[side=bottom]:slide-in-from-top-2 fk:data-[side=left]:slide-in-from-right-2 fk:data-[side=right]:slide-in-from-left-2 fk:data-[side=top]:slide-in-from-bottom-2 fk:data-[state=closed]:animate-out fk:data-[state=closed]:fade-out-0 fk:data-[state=closed]:zoom-out-95 fk:data-[state=open]:animate-in fk:data-[state=open]:fade-in-0 fk:data-[state=open]:zoom-in-95',\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuPortal,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n};\n","import { cn } from '../lib/utils';\n\nfunction Skeleton({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div data-slot=\"skeleton\" className={cn('fk:animate-pulse fk:rounded-md fk:bg-accent', className)} {...props} />\n );\n}\n\nexport { Skeleton };\n"]}
@@ -44,6 +44,7 @@ var baseProjectApiUrl = (projectId) => projectId ? `https://${projectId}.api.${d
44
44
  var IMAGES_BASE_URL = `${baseApiUrl}/images/`;
45
45
  function apiPaths(projectId = "") {
46
46
  return {
47
+ assets: `/api/flexkit/${projectId}/assets`,
47
48
  authProviders: `/api/flexkit/${projectId}/auth/providers`,
48
49
  completion: `/api/flexkit/${projectId}/completion`,
49
50
  currentUser: `/api/flexkit/${projectId}/users/me`,
@@ -56,8 +57,7 @@ function apiPaths(projectId = "") {
56
57
  return `/api/flexkit/${projectId}/auth/logout?${params.toString()}`;
57
58
  },
58
59
  search: `/api/flexkit/${projectId}/search`,
59
- sessionId: `${baseProjectApiUrl(projectId)}/api/auth/login/session`,
60
- upload: `/api/flexkit/${projectId}/upload`
60
+ sessionId: `${baseProjectApiUrl(projectId)}/api/auth/login/session`
61
61
  };
62
62
  }
63
63
 
@@ -0,0 +1,2 @@
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
@@ -0,0 +1 @@
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"]}
@@ -0,0 +1,3 @@
1
+ import'./index.css';import {b}from'./chunk-WIUPQHZ5.js';var e="flexkit.io",g={"flexkit.io":true,"flexkit.test":true};function p(){let t=globalThis.process?.env?.FLEXKIT_DOMAIN?.trim();return t&&g[t]?t:e}var i=p();var o=i,r=`https://${o}`,s=t=>t?`https://${t}.api.${o}`:r,c=`${r}/images/`;function x(t=""){return {assets:`/api/flexkit/${t}/assets`,authProviders:`/api/flexkit/${t}/auth/providers`,completion:`/api/flexkit/${t}/completion`,currentUser:`/api/flexkit/${t}/users/me`,loginOtpConfirm:`${s(t)}/auth/otp/confirm`,loginOtpSend:`${s(t)}/auth/otp/send`,logout:a=>{let l=new URLSearchParams({redirect:b(a,t)});return `/api/flexkit/${t}/auth/logout?${l.toString()}`},search:`/api/flexkit/${t}/search`,sessionId:`${s(t)}/api/auth/login/session`}}
2
+ export{r as a,c as b,x as c};//# sourceMappingURL=chunk-WDRCARCP.js.map
3
+ //# sourceMappingURL=chunk-WDRCARCP.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/core/domains.ts","../src/core/api-paths.ts"],"names":["defaultFlexkitDomain","allowedFlexkitDomains","getConfiguredFlexkitDomain","configuredDomain","flexkitDomain","domain","baseApiUrl","baseProjectApiUrl","projectId","IMAGES_BASE_URL","apiPaths","basePath","params","joinBasePath"],"mappings":"wDAAA,IAAMA,CAAAA,CAAuB,YAAA,CAEvBC,CAAAA,CAAoD,CACxD,YAAA,CAAc,IAAA,CACd,cAAA,CAAgB,IAClB,CAAA,CAUA,SAASC,CAAAA,EAAqC,CAC5C,IAAMC,CAAAA,CAAoB,UAAA,CAAoC,OAAA,EAAS,GAAA,EAAK,cAAA,EAAgB,IAAA,EAAK,CAEjG,OAAKA,CAAAA,EAIDF,CAAAA,CAAsBE,CAAgB,CAAA,CACjCA,CAAAA,CAJAH,CAQX,CAEO,IAAMI,CAAAA,CAAgBF,CAAAA,EAA2B,CC1BxD,IAAMG,CAAAA,CAASD,CAAAA,CACFE,CAAAA,CAAa,CAAA,QAAA,EAAWD,CAAM,CAAA,CAAA,CACrCE,CAAAA,CAAqBC,CAAAA,EACzBA,CAAAA,CAAY,CAAA,QAAA,EAAWA,CAAS,CAAA,KAAA,EAAQH,CAAM,CAAA,CAAA,CAAKC,CAAAA,CAcxCG,CAAAA,CAAkB,CAAA,EAAGH,CAAU,CAAA,QAAA,EAErC,SAASI,CAAAA,CAASF,CAAAA,CAAY,EAAA,CAAc,CACjD,OAAO,CACL,aAAA,CAAe,CAAA,aAAA,EAAgBA,CAAS,CAAA,eAAA,CAAA,CACxC,UAAA,CAAY,CAAA,aAAA,EAAgBA,CAAS,CAAA,WAAA,CAAA,CACrC,WAAA,CAAa,CAAA,aAAA,EAAgBA,CAAS,CAAA,SAAA,CAAA,CACtC,eAAA,CAAiB,CAAA,EAAGD,CAAAA,CAAkBC,CAAS,CAAC,CAAA,iBAAA,CAAA,CAChD,YAAA,CAAc,CAAA,EAAGD,CAAAA,CAAkBC,CAAS,CAAC,CAAA,cAAA,CAAA,CAC7C,MAAA,CAASG,CAAAA,EAAqB,CAC5B,IAAMC,CAAAA,CAAS,IAAI,eAAA,CAAgB,CACjC,QAAA,CAAUC,CAAAA,CAAaF,CAAAA,CAAUH,CAAS,CAC5C,CAAC,CAAA,CAED,OAAO,CAAA,aAAA,EAAgBA,CAAS,CAAA,aAAA,EAAgBI,CAAAA,CAAO,QAAA,EAAU,CAAA,CACnE,CAAA,CACA,MAAA,CAAQ,CAAA,aAAA,EAAgBJ,CAAS,CAAA,OAAA,CAAA,CACjC,SAAA,CAAW,CAAA,EAAGD,CAAAA,CAAkBC,CAAS,CAAC,CAAA,uBAAA,CAAA,CAC1C,MAAA,CAAQ,CAAA,aAAA,EAAgBA,CAAS,SACnC,CACF","file":"chunk-ZBV4BY36.js","sourcesContent":["const defaultFlexkitDomain = 'flexkit.io';\n\nconst allowedFlexkitDomains: { [domain: string]: true } = {\n 'flexkit.io': true,\n 'flexkit.test': true,\n};\n\ntype GlobalWithProcessEnv = typeof globalThis & {\n process?: {\n env?: {\n [key: string]: string | undefined;\n };\n };\n};\n\nfunction getConfiguredFlexkitDomain(): string {\n const configuredDomain = (globalThis as GlobalWithProcessEnv).process?.env?.FLEXKIT_DOMAIN?.trim();\n\n if (!configuredDomain) {\n return defaultFlexkitDomain;\n }\n\n if (allowedFlexkitDomains[configuredDomain]) {\n return configuredDomain;\n }\n\n return defaultFlexkitDomain;\n}\n\nexport const flexkitDomain = getConfiguredFlexkitDomain();\nexport const flexkitApiDomain = `api.${flexkitDomain}`;\n","import { joinBasePath } from './base-path';\nimport { flexkitDomain } from './domains';\n\nconst domain = flexkitDomain;\nexport const baseApiUrl = `https://${domain}`;\nconst baseProjectApiUrl = (projectId?: string): string =>\n projectId ? `https://${projectId}.api.${domain}` : baseApiUrl;\n\ninterface ApiPaths {\n authProviders: string;\n completion: string;\n currentUser: string;\n loginOtpConfirm: string;\n loginOtpSend: string;\n logout: (basePath: string) => string;\n search: string;\n sessionId: string;\n upload: string;\n}\n\nexport const IMAGES_BASE_URL = `${baseApiUrl}/images/`;\n\nexport function apiPaths(projectId = ''): ApiPaths {\n return {\n authProviders: `/api/flexkit/${projectId}/auth/providers`,\n completion: `/api/flexkit/${projectId}/completion`,\n currentUser: `/api/flexkit/${projectId}/users/me`,\n loginOtpConfirm: `${baseProjectApiUrl(projectId)}/auth/otp/confirm`,\n loginOtpSend: `${baseProjectApiUrl(projectId)}/auth/otp/send`,\n logout: (basePath: string) => {\n const params = new URLSearchParams({\n redirect: joinBasePath(basePath, projectId),\n });\n\n return `/api/flexkit/${projectId}/auth/logout?${params.toString()}`;\n },\n search: `/api/flexkit/${projectId}/search`,\n sessionId: `${baseProjectApiUrl(projectId)}/api/auth/login/session`,\n upload: `/api/flexkit/${projectId}/upload`,\n };\n}\n"]}
1
+ {"version":3,"sources":["../src/core/domains.ts","../src/core/api-paths.ts"],"names":["defaultFlexkitDomain","allowedFlexkitDomains","getConfiguredFlexkitDomain","configuredDomain","flexkitDomain","domain","baseApiUrl","baseProjectApiUrl","projectId","IMAGES_BASE_URL","apiPaths","basePath","params","joinBasePath"],"mappings":"wDAAA,IAAMA,CAAAA,CAAuB,YAAA,CAEvBC,CAAAA,CAAoD,CACxD,YAAA,CAAc,IAAA,CACd,cAAA,CAAgB,IAClB,CAAA,CAUA,SAASC,CAAAA,EAAqC,CAC5C,IAAMC,CAAAA,CAAoB,UAAA,CAAoC,OAAA,EAAS,GAAA,EAAK,cAAA,EAAgB,IAAA,EAAK,CAEjG,OAAKA,CAAAA,EAIDF,CAAAA,CAAsBE,CAAgB,CAAA,CACjCA,CAAAA,CAJAH,CAQX,CAEO,IAAMI,CAAAA,CAAgBF,CAAAA,EAA2B,CC1BxD,IAAMG,CAAAA,CAASD,CAAAA,CACFE,CAAAA,CAAa,CAAA,QAAA,EAAWD,CAAM,CAAA,CAAA,CACrCE,CAAAA,CAAqBC,CAAAA,EACzBA,CAAAA,CAAY,CAAA,QAAA,EAAWA,CAAS,CAAA,KAAA,EAAQH,CAAM,CAAA,CAAA,CAAKC,CAAAA,CAcxCG,CAAAA,CAAkB,CAAA,EAAGH,CAAU,CAAA,QAAA,EAErC,SAASI,CAAAA,CAASF,CAAAA,CAAY,EAAA,CAAc,CACjD,OAAO,CACL,MAAA,CAAQ,CAAA,aAAA,EAAgBA,CAAS,CAAA,OAAA,CAAA,CACjC,aAAA,CAAe,CAAA,aAAA,EAAgBA,CAAS,CAAA,eAAA,CAAA,CACxC,UAAA,CAAY,CAAA,aAAA,EAAgBA,CAAS,CAAA,WAAA,CAAA,CACrC,WAAA,CAAa,CAAA,aAAA,EAAgBA,CAAS,CAAA,SAAA,CAAA,CACtC,eAAA,CAAiB,CAAA,EAAGD,CAAAA,CAAkBC,CAAS,CAAC,CAAA,iBAAA,CAAA,CAChD,YAAA,CAAc,CAAA,EAAGD,CAAAA,CAAkBC,CAAS,CAAC,CAAA,cAAA,CAAA,CAC7C,MAAA,CAASG,CAAAA,EAAqB,CAC5B,IAAMC,CAAAA,CAAS,IAAI,eAAA,CAAgB,CACjC,QAAA,CAAUC,CAAAA,CAAaF,CAAAA,CAAUH,CAAS,CAC5C,CAAC,CAAA,CAED,OAAO,CAAA,aAAA,EAAgBA,CAAS,CAAA,aAAA,EAAgBI,CAAAA,CAAO,QAAA,EAAU,CAAA,CACnE,CAAA,CACA,MAAA,CAAQ,CAAA,aAAA,EAAgBJ,CAAS,CAAA,OAAA,CAAA,CACjC,SAAA,CAAW,CAAA,EAAGD,CAAAA,CAAkBC,CAAS,CAAC,yBAC5C,CACF","file":"chunk-WDRCARCP.js","sourcesContent":["const defaultFlexkitDomain = 'flexkit.io';\n\nconst allowedFlexkitDomains: { [domain: string]: true } = {\n 'flexkit.io': true,\n 'flexkit.test': true,\n};\n\ntype GlobalWithProcessEnv = typeof globalThis & {\n process?: {\n env?: {\n [key: string]: string | undefined;\n };\n };\n};\n\nfunction getConfiguredFlexkitDomain(): string {\n const configuredDomain = (globalThis as GlobalWithProcessEnv).process?.env?.FLEXKIT_DOMAIN?.trim();\n\n if (!configuredDomain) {\n return defaultFlexkitDomain;\n }\n\n if (allowedFlexkitDomains[configuredDomain]) {\n return configuredDomain;\n }\n\n return defaultFlexkitDomain;\n}\n\nexport const flexkitDomain = getConfiguredFlexkitDomain();\nexport const flexkitApiDomain = `api.${flexkitDomain}`;\n","import { joinBasePath } from './base-path';\nimport { flexkitDomain } from './domains';\n\nconst domain = flexkitDomain;\nexport const baseApiUrl = `https://${domain}`;\nconst baseProjectApiUrl = (projectId?: string): string =>\n projectId ? `https://${projectId}.api.${domain}` : baseApiUrl;\n\ninterface ApiPaths {\n assets: string;\n authProviders: string;\n completion: string;\n currentUser: string;\n loginOtpConfirm: string;\n loginOtpSend: string;\n logout: (basePath: string) => string;\n search: string;\n sessionId: string;\n}\n\nexport const IMAGES_BASE_URL = `${baseApiUrl}/images/`;\n\nexport function apiPaths(projectId = ''): ApiPaths {\n return {\n assets: `/api/flexkit/${projectId}/assets`,\n authProviders: `/api/flexkit/${projectId}/auth/providers`,\n completion: `/api/flexkit/${projectId}/completion`,\n currentUser: `/api/flexkit/${projectId}/users/me`,\n loginOtpConfirm: `${baseProjectApiUrl(projectId)}/auth/otp/confirm`,\n loginOtpSend: `${baseProjectApiUrl(projectId)}/auth/otp/send`,\n logout: (basePath: string) => {\n const params = new URLSearchParams({\n redirect: joinBasePath(basePath, projectId),\n });\n\n return `/api/flexkit/${projectId}/auth/logout?${params.toString()}`;\n },\n search: `/api/flexkit/${projectId}/search`,\n sessionId: `${baseProjectApiUrl(projectId)}/api/auth/login/session`,\n };\n}\n"]}
@@ -1,2 +1,2 @@
1
- import'./index.css';import {b}from'./chunk-Z5CZVKD4.js';import {a}from'./chunk-6MOUYNN4.js';import {c,e,f,h,g,i}from'./chunk-53TUQIKJ.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-V7UK6RMM.js.map
2
- //# sourceMappingURL=chunk-V7UK6RMM.js.map
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 +1 @@
1
- {"version":3,"sources":["../src/form/fields/switch.tsx"],"names":["Switch","control","fieldSchema","setValue","name","label","isEditable","options","handleInput","checked","previousValue","handleCheckbox","value","jsx","FormField","field","jsxs","FormItem","FormLabel","FormDescription","FormControl","DefaultValueSwitch","FormMessage"],"mappings":"mLAMO,SAASA,CAAAA,CAAO,CAAE,OAAA,CAAAC,CAAAA,CAAS,YAAAC,CAAAA,CAAa,QAAA,CAAAC,GAAS,CAAA,CAA2C,CACjG,GAAM,CAAE,IAAA,CAAAC,CAAAA,CAAM,KAAA,CAAAC,IAAO,UAAA,CAAAC,CAAAA,CAAY,OAAA,CAAAC,CAAQ,EAAIL,CAAAA,CAE7C,SAASM,GAAAA,CAAYC,CAAAA,CAAkBC,EAAiD,CACtFP,GAAAA,CAASC,EAAM,CACb,GAAGM,EACH,KAAA,CAAOD,CACT,CAAC,EACH,CAEA,SAASE,CAAAA,CAAeF,CAAAA,CAAkBG,CAAAA,CAAyC,CACjFT,GAAAA,CAASC,CAAAA,CAAM,CACb,GAAGQ,EACH,QAAA,CAAUH,CACZ,CAAC,EACH,CAEA,OACEI,GAAAA,CAACC,CAAAA,CAAA,CACC,OAAA,CAASb,EACT,IAAA,CAAMG,CAAAA,CACN,MAAA,CAAQ,CAAC,CAAE,KAAA,CAAAW,GAAM,CAAA,GACfC,IAAAA,CAACC,EAAA,CACC,QAAA,CAAA,CAAAD,KAAC,KAAA,CAAA,CAAI,SAAA,CAAU,sSACb,QAAA,CAAA,CAAAA,IAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,iBACb,QAAA,CAAA,CAAAH,GAAAA,CAACK,CAAAA,CAAA,CAAW,SAAAb,GAAAA,CAAM,CAAA,CACjBE,CAAAA,EAAS,OAAA,CAAUM,IAACM,CAAAA,CAAA,CAAiB,SAAAZ,CAAAA,CAAQ,OAAA,CAAQ,EAAqB,IAAA,CAAA,CAC7E,CAAA,CACAM,GAAAA,CAACO,CAAAA,CAAA,CACC,QAAA,CAAAP,GAAAA,CAACb,CAAAA,CAAA,CACC,QAASe,GAAAA,CAAM,KAAA,EAAO,KAAA,CAAQ,CAAA,CAAQA,IAAM,KAAA,CAAM,KAAA,CAAS,MAC3D,QAAA,CAAUT,CAAAA,GAAe,OAASS,GAAAA,CAAM,KAAA,EAAO,QAAA,CAC/C,eAAA,CAAkBN,GAAY,CAC5BD,GAAAA,CAAYC,CAAAA,CAASM,GAAAA,CAAM,KAAK,EAClC,CAAA,CACF,CAAA,CACF,CAAA,CAAA,CACF,EACAF,GAAAA,CAACQ,CAAAA,CAAA,CACC,OAAA,CAASN,GAAAA,CAAM,OAAO,QAAA,EAAY,KAAA,CAClC,QAAA,CAAWN,CAAAA,EAAY,CACrBE,CAAAA,CAAeF,CAAAA,CAASM,GAAAA,CAAM,KAAK,EACrC,CAAA,CACA,KAAA,CAAOA,GAAAA,CAAM,KAAA,EAAO,MACtB,CAAA,CACAF,GAAAA,CAACS,EAAA,EAAY,CAAA,CAAA,CACf,EAEJ,CAEJ","file":"chunk-V7UK6RMM.js","sourcesContent":["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 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\">\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/form/fields/switch.tsx"],"names":["Switch","control","fieldSchema","setValue","name","label","isEditable","options","handleInput","checked","previousValue","handleCheckbox","value","jsx","FormField","field","jsxs","FormItem","FormLabel","FormDescription","FormControl","DefaultValueSwitch","FormMessage"],"mappings":"mLAMO,SAASA,CAAAA,CAAO,CAAE,OAAA,CAAAC,CAAAA,CAAS,YAAAC,CAAAA,CAAa,QAAA,CAAAC,GAAS,CAAA,CAA2C,CACjG,GAAM,CAAE,IAAA,CAAAC,CAAAA,CAAM,KAAA,CAAAC,IAAO,UAAA,CAAAC,CAAAA,CAAY,OAAA,CAAAC,CAAQ,EAAIL,CAAAA,CAE7C,SAASM,GAAAA,CAAYC,CAAAA,CAAkBC,EAAiD,CACtFP,GAAAA,CAASC,EAAM,CACb,GAAGM,EACH,KAAA,CAAOD,CACT,CAAC,EACH,CAEA,SAASE,CAAAA,CAAeF,CAAAA,CAAkBG,CAAAA,CAAyC,CACjFT,GAAAA,CAASC,CAAAA,CAAM,CACb,GAAGQ,EACH,QAAA,CAAUH,CACZ,CAAC,EACH,CAEA,OACEI,GAAAA,CAACC,CAAAA,CAAA,CACC,OAAA,CAASb,EACT,IAAA,CAAMG,CAAAA,CACN,MAAA,CAAQ,CAAC,CAAE,KAAA,CAAAW,GAAM,CAAA,GACfC,IAAAA,CAACC,EAAA,CACC,QAAA,CAAA,CAAAD,KAAC,KAAA,CAAA,CAAI,SAAA,CAAU,sSACb,QAAA,CAAA,CAAAA,IAAAA,CAAC,KAAA,CAAA,CAAI,SAAA,CAAU,iBACb,QAAA,CAAA,CAAAH,GAAAA,CAACK,CAAAA,CAAA,CAAW,SAAAb,GAAAA,CAAM,CAAA,CACjBE,CAAAA,EAAS,OAAA,CAAUM,IAACM,CAAAA,CAAA,CAAiB,SAAAZ,CAAAA,CAAQ,OAAA,CAAQ,EAAqB,IAAA,CAAA,CAC7E,CAAA,CACAM,GAAAA,CAACO,CAAAA,CAAA,CACC,QAAA,CAAAP,GAAAA,CAACb,CAAAA,CAAA,CACC,QAASe,GAAAA,CAAM,KAAA,EAAO,KAAA,CAAQ,CAAA,CAAQA,IAAM,KAAA,CAAM,KAAA,CAAS,MAC3D,QAAA,CAAUT,CAAAA,GAAe,OAASS,GAAAA,CAAM,KAAA,EAAO,QAAA,CAC/C,eAAA,CAAkBN,GAAY,CAC5BD,GAAAA,CAAYC,CAAAA,CAASM,GAAAA,CAAM,KAAK,EAClC,CAAA,CACF,CAAA,CACF,CAAA,CAAA,CACF,EACAF,GAAAA,CAACQ,CAAAA,CAAA,CACC,OAAA,CAASN,GAAAA,CAAM,OAAO,QAAA,EAAY,KAAA,CAClC,QAAA,CAAWN,CAAAA,EAAY,CACrBE,CAAAA,CAAeF,CAAAA,CAASM,GAAAA,CAAM,KAAK,EACrC,CAAA,CACA,KAAA,CAAOA,GAAAA,CAAM,KAAA,EAAO,MACtB,CAAA,CACAF,GAAAA,CAACS,EAAA,EAAY,CAAA,CAAA,CACf,EAEJ,CAEJ","file":"chunk-X3S7TRCM.js","sourcesContent":["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 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\">\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-O2QMYUPS.js';import {Select}from'radix-ui';import {ChevronDownIcon,CheckIcon,ChevronUpIcon}from'lucide-react';import {jsx,jsxs}from'react/jsx-runtime';function g({...e}){return jsx(Select.Root,{"data-slot":"select",...e})}function S({...e}){return jsx(Select.Group,{"data-slot":"select-group",...e})}function x({...e}){return jsx(Select.Value,{"data-slot":"select-value",...e})}function P({className:e,size:a$1="default",children:r,...s}){return jsxs(Select.Trigger,{"data-slot":"select-trigger","data-size":a$1,className:a("fk:flex fk:w-full fk:items-center fk:justify-between fk:gap-2 fk:rounded-md fk:border fk:border-input fk:bg-background fk:px-3 fk:py-2 fk:text-sm fk:whitespace-nowrap fk:shadow-xs fk:transition-[color,box-shadow] fk:outline-none fk:focus-visible:border-ring fk:focus-visible:ring-[3px] fk:focus-visible:ring-ring/50 fk:disabled:cursor-not-allowed fk:disabled:opacity-50 fk:aria-invalid:border-destructive fk:aria-invalid:ring-destructive/20 fk:data-placeholder:text-muted-foreground fk:data-[size=default]:h-9 fk:data-[size=sm]:h-8 fk:*:data-[slot=select-value]:line-clamp-1 fk:*:data-[slot=select-value]:flex fk:*:data-[slot=select-value]:items-center fk:*:data-[slot=select-value]:gap-2 fk:hover:bg-accent fk:dark:aria-invalid:ring-destructive/40 fk:*[_svg]:pointer-events-none fk:*[_svg]:shrink-0 fk:*[_svg:not([class*='size-'])]:size-4 fk:*[_svg:not([class*='text-'])]:text-muted-foreground",e),...s,children:[r,jsx(Select.Icon,{asChild:true,children:jsx(ChevronDownIcon,{className:"fk:size-4 fk:opacity-50"})})]})}function b({className:e,children:a$1,position:r="item-aligned",align:s="center",...f}){return jsx(Select.Portal,{children:jsxs(Select.Content,{"data-slot":"select-content",className:a("fk:relative fk:z-50 fk:max-h-(--radix-select-content-available-height) fk:min-w-[8rem] fk:origin-(--radix-select-content-transform-origin) fk:overflow-x-hidden fk:overflow-y-auto fk:rounded-md fk:border fk:bg-popover fk:text-popover-foreground fk:shadow-md fk:data-[side=bottom]:slide-in-from-top-2 fk:data-[side=left]:slide-in-from-right-2 fk:data-[side=right]:slide-in-from-left-2 fk:data-[side=top]:slide-in-from-bottom-2 fk:data-[state=closed]:animate-out fk:data-[state=closed]:fade-out-0 fk:data-[state=closed]:zoom-out-95 fk:data-[state=open]:animate-in fk:data-[state=open]:fade-in-0 fk:data-[state=open]:zoom-in-95",r==="popper"&&"fk:data-[side=bottom]:translate-y-1 fk:data-[side=left]:-translate-x-1 fk:data-[side=right]:translate-x-1 fk:data-[side=top]:-translate-y-1",e),position:r,align:s,...f,children:[jsx(d,{}),jsx(Select.Viewport,{className:a("fk:p-1",r==="popper"&&"fk:h-(--radix-select-trigger-height) fk:w-full fk:min-w-(--radix-select-trigger-width) fk:scroll-my-1"),children:a$1}),jsx(m,{})]})})}function h({className:e,...a$1}){return jsx(Select.Label,{"data-slot":"select-label",className:a("fk:px-2 fk:py-1.5 fk:text-xs fk:text-muted-foreground",e),...a$1})}function y({className:e,children:a$1,...r}){return jsxs(Select.Item,{"data-slot":"select-item",className:a("fk:relative fk:flex fk:w-full fk:cursor-default fk:items-center fk:gap-2 fk:rounded-sm fk:py-1.5 fk:pr-8 fk:pl-2 fk:text-sm fk:outline-hidden fk:select-none fk:focus:bg-accent fk:focus:text-accent-foreground fk:data-[disabled]:pointer-events-none fk:data-[disabled]:opacity-50 fk:*[_svg]:pointer-events-none fk:*[_svg]:shrink-0 fk:*[_svg:not([class*='size-'])]:size-4 fk:*[_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",e),...r,children:[jsx("span",{"data-slot":"select-item-indicator",className:"fk:absolute fk:right-2 fk:flex fk:size-3.5 fk:items-center fk:justify-center",children:jsx(Select.ItemIndicator,{children:jsx(CheckIcon,{className:"fk:size-4"})})}),jsx(Select.ItemText,{children:a$1})]})}function w({className:e,...a$1}){return jsx(Select.Separator,{"data-slot":"select-separator",className:a("fk:pointer-events-none fk:-mx-1 fk:my-1 fk:h-px fk:bg-border",e),...a$1})}function d({className:e,...a$1}){return jsx(Select.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:a("fk:flex fk:cursor-default fk:items-center fk:justify-center fk:py-1",e),...a$1,children:jsx(ChevronUpIcon,{className:"size-4"})})}function m({className:e,...a$1}){return jsx(Select.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:a("fk:flex fk:cursor-default fk:items-center fk:justify-center fk:py-1",e),...a$1,children:jsx(ChevronDownIcon,{className:"size-4"})})}export{g as a,S as b,x as c,P as d,b as e,h as f,y as g,w as h,d as i,m as j};//# sourceMappingURL=chunk-XU2JGXYC.js.map
2
+ //# sourceMappingURL=chunk-XU2JGXYC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/primitives/select.tsx"],"names":["Select","props","jsx","SelectPrimitive","SelectGroup","SelectValue","SelectTrigger","className","size","children","jsxs","cn","ChevronDownIcon","SelectContent","position","align","SelectScrollUpButton","SelectScrollDownButton","SelectLabel","SelectItem","CheckIcon","SelectSeparator","ChevronUpIcon"],"mappings":"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","file":"chunk-XU2JGXYC.js","sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Select as SelectPrimitive } from 'radix-ui';\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from 'lucide-react';\nimport { cn } from '../lib/utils';\n\nfunction Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />;\n}\n\nfunction SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />;\n}\n\nfunction SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />;\n}\n\nfunction SelectTrigger({\n className,\n size = 'default',\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: 'sm' | 'default';\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n \"fk:flex fk:w-full fk:items-center fk:justify-between fk:gap-2 fk:rounded-md fk:border fk:border-input fk:bg-background fk:px-3 fk:py-2 fk:text-sm fk:whitespace-nowrap fk:shadow-xs fk:transition-[color,box-shadow] fk:outline-none fk:focus-visible:border-ring fk:focus-visible:ring-[3px] fk:focus-visible:ring-ring/50 fk:disabled:cursor-not-allowed fk:disabled:opacity-50 fk:aria-invalid:border-destructive fk:aria-invalid:ring-destructive/20 fk:data-placeholder:text-muted-foreground fk:data-[size=default]:h-9 fk:data-[size=sm]:h-8 fk:*:data-[slot=select-value]:line-clamp-1 fk:*:data-[slot=select-value]:flex fk:*:data-[slot=select-value]:items-center fk:*:data-[slot=select-value]:gap-2 fk:hover:bg-accent fk:dark:aria-invalid:ring-destructive/40 fk:*[_svg]:pointer-events-none fk:*[_svg]:shrink-0 fk:*[_svg:not([class*='size-'])]:size-4 fk:*[_svg:not([class*='text-'])]:text-muted-foreground\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className=\"fk:size-4 fk:opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n );\n}\n\nfunction SelectContent({\n className,\n children,\n position = 'item-aligned',\n align = 'center',\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className={cn(\n 'fk:relative fk:z-50 fk:max-h-(--radix-select-content-available-height) fk:min-w-[8rem] fk:origin-(--radix-select-content-transform-origin) fk:overflow-x-hidden fk:overflow-y-auto fk:rounded-md fk:border fk:bg-popover fk:text-popover-foreground fk:shadow-md fk:data-[side=bottom]:slide-in-from-top-2 fk:data-[side=left]:slide-in-from-right-2 fk:data-[side=right]:slide-in-from-left-2 fk:data-[side=top]:slide-in-from-bottom-2 fk:data-[state=closed]:animate-out fk:data-[state=closed]:fade-out-0 fk:data-[state=closed]:zoom-out-95 fk:data-[state=open]:animate-in fk:data-[state=open]:fade-in-0 fk:data-[state=open]:zoom-in-95',\n position === 'popper' &&\n 'fk:data-[side=bottom]:translate-y-1 fk:data-[side=left]:-translate-x-1 fk:data-[side=right]:translate-x-1 fk:data-[side=top]:-translate-y-1',\n className\n )}\n position={position}\n align={align}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n 'fk:p-1',\n position === 'popper' &&\n 'fk:h-(--radix-select-trigger-height) fk:w-full fk:min-w-(--radix-select-trigger-width) fk:scroll-my-1'\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n}\n\nfunction SelectLabel({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn('fk:px-2 fk:py-1.5 fk:text-xs fk:text-muted-foreground', className)}\n {...props}\n />\n );\n}\n\nfunction SelectItem({ className, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"fk:relative fk:flex fk:w-full fk:cursor-default fk:items-center fk:gap-2 fk:rounded-sm fk:py-1.5 fk:pr-8 fk:pl-2 fk:text-sm fk:outline-hidden fk:select-none fk:focus:bg-accent fk:focus:text-accent-foreground fk:data-[disabled]:pointer-events-none fk:data-[disabled]:opacity-50 fk:*[_svg]:pointer-events-none fk:*[_svg]:shrink-0 fk:*[_svg:not([class*='size-'])]:size-4 fk:*[_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className\n )}\n {...props}\n >\n <span\n data-slot=\"select-item-indicator\"\n className=\"fk:absolute fk:right-2 fk:flex fk:size-3.5 fk:items-center fk:justify-center\"\n >\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"fk:size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n );\n}\n\nfunction SelectSeparator({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn('fk:pointer-events-none fk:-mx-1 fk:my-1 fk:h-px fk:bg-border', className)}\n {...props}\n />\n );\n}\n\nfunction SelectScrollUpButton({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn('fk:flex fk:cursor-default fk:items-center fk:justify-center fk:py-1', className)}\n {...props}\n >\n <ChevronUpIcon className=\"size-4\" />\n </SelectPrimitive.ScrollUpButton>\n );\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn('fk:flex fk:cursor-default fk:items-center fk:justify-center fk:py-1', className)}\n {...props}\n >\n <ChevronDownIcon className=\"size-4\" />\n </SelectPrimitive.ScrollDownButton>\n );\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n};\n"]}
@@ -1,2 +1,2 @@
1
- import'./index.css';import {a}from'./chunk-O2QMYUPS.js';import {Tooltip}from'radix-ui';import {jsx,jsxs}from'react/jsx-runtime';function d({delayDuration:t=0,...e}){return jsx(Tooltip.Provider,{"data-slot":"tooltip-provider",delayDuration:t,...e})}function s({...t}){return jsx(Tooltip.Root,{"data-slot":"tooltip",...t})}function m({...t}){return jsx(Tooltip.Trigger,{"data-slot":"tooltip-trigger",...t})}function k({...t}){return jsx(Tooltip.Portal,{...t})}function c({className:t,sideOffset:e=0,children:n,...a$1}){return jsx(Tooltip.Portal,{children:jsxs(Tooltip.Content,{"data-slot":"tooltip-content",sideOffset:e,className:a("fk:z-50 fk:w-fit fk:origin-(--radix-tooltip-content-transform-origin) fk:animate-in fk:rounded-md fk:bg-foreground fk:px-3 fk:py-1.5 fk:text-xs fk:text-balance fk:text-background fk:fade-in-0 fk:zoom-in-95 fk:data-[side=bottom]:slide-in-from-top-2 fk:data-[side=left]:slide-in-from-right-2 fk:data-[side=right]:slide-in-from-left-2 fk:data-[side=top]:slide-in-from-bottom-2 fk:data-[state=closed]:animate-out fk:data-[state=closed]:fade-out-0 fk:data-[state=closed]:zoom-out-95",t),...a$1,children:[n,jsx(Tooltip.Arrow,{className:"fk:z-50 fk:size-2.5 fk:translate-y-[calc(-50%-2px)] fk:rotate-45 fk:rounded-[2px] fk:bg-foreground fk:fill-foreground"})]})})}export{d as a,s as b,m as c,k as d,c as e};//# sourceMappingURL=chunk-5CKMFBWH.js.map
2
- //# sourceMappingURL=chunk-5CKMFBWH.js.map
1
+ import'./index.css';import {a}from'./chunk-O2QMYUPS.js';import {Tooltip}from'radix-ui';import {jsx,jsxs}from'react/jsx-runtime';function d({delayDuration:t=0,...e}){return jsx(Tooltip.Provider,{"data-slot":"tooltip-provider",delayDuration:t,...e})}function s({...t}){return jsx(Tooltip.Root,{"data-slot":"tooltip",...t})}function m({...t}){return jsx(Tooltip.Trigger,{"data-slot":"tooltip-trigger",...t})}function k({...t}){return jsx(Tooltip.Portal,{...t})}function c({className:t,sideOffset:e=0,children:n,...a$1}){return jsx(Tooltip.Portal,{children:jsxs(Tooltip.Content,{"data-slot":"tooltip-content",sideOffset:e,className:a("fk:z-50 fk:w-fit fk:origin-(--radix-tooltip-content-transform-origin) fk:animate-in fk:rounded-md fk:bg-foreground fk:px-3 fk:py-1.5 fk:text-xs fk:text-balance fk:text-background fk:fade-in-0 fk:zoom-in-95 fk:data-[side=bottom]:slide-in-from-top-2 fk:data-[side=left]:slide-in-from-right-2 fk:data-[side=right]:slide-in-from-left-2 fk:data-[side=top]:slide-in-from-bottom-2 fk:data-[state=closed]:animate-out fk:data-[state=closed]:fade-out-0 fk:data-[state=closed]:zoom-out-95",t),...a$1,children:[n,jsx(Tooltip.Arrow,{className:"fk:z-50 fk:size-2.5 fk:translate-y-[calc(-50%-2px)] fk:rotate-45 fk:rounded-[2px] fk:bg-foreground fk:fill-foreground"})]})})}export{d as a,s as b,m as c,k as d,c as e};//# sourceMappingURL=chunk-YW2EEXMV.js.map
2
+ //# sourceMappingURL=chunk-YW2EEXMV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ui/primitives/tooltip.tsx"],"names":["TooltipProvider","delayDuration","props","jsx","TooltipPrimitive","Tooltip","TooltipTrigger","TooltipPortal","TooltipContent","className","sideOffset","children","jsxs","cn"],"mappings":"gIAMA,SAASA,CAAAA,CAAgB,CAAE,aAAA,CAAAC,CAAAA,CAAgB,CAAA,CAAG,GAAGC,CAAM,CAAA,CAA2D,CAChH,OAAOC,GAAAA,CAACC,OAAAA,CAAiB,QAAA,CAAjB,CAA0B,WAAA,CAAU,kBAAA,CAAmB,aAAA,CAAeH,CAAAA,CAAgB,GAAGC,EAAO,CAC1G,CAEA,SAASG,CAAAA,CAAQ,CAAE,GAAGH,CAAM,CAAA,CAAuD,CACjF,OAAOC,GAAAA,CAACC,OAAAA,CAAiB,IAAA,CAAjB,CAAsB,WAAA,CAAU,SAAA,CAAW,GAAGF,CAAAA,CAAO,CAC/D,CAEA,SAASI,CAAAA,CAAe,CAAE,GAAGJ,CAAM,CAAA,CAA0D,CAC3F,OAAOC,GAAAA,CAACC,OAAAA,CAAiB,OAAA,CAAjB,CAAyB,YAAU,iBAAA,CAAmB,GAAGF,CAAAA,CAAO,CAC1E,CAEA,SAASK,CAAAA,CAAc,CAAE,GAAGL,CAAM,CAAA,CAAyD,CACzF,OAAOC,GAAAA,CAACC,OAAAA,CAAiB,MAAA,CAAjB,CAAyB,GAAGF,CAAAA,CAAO,CAC7C,CAEA,SAASM,CAAAA,CAAe,CACtB,SAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CAAa,CAAA,CACb,QAAA,CAAAC,CAAAA,CACA,GAAGT,GACL,CAAA,CAA0D,CACxD,OACEC,GAAAA,CAACC,OAAAA,CAAiB,MAAA,CAAjB,CACC,QAAA,CAAAQ,IAAAA,CAACR,OAAAA,CAAiB,OAAA,CAAjB,CACC,WAAA,CAAU,iBAAA,CACV,UAAA,CAAYM,CAAAA,CACZ,SAAA,CAAWG,CAAAA,CACT,+dAAA,CACAJ,CACF,CAAA,CACC,GAAGP,GAAAA,CAEH,QAAA,CAAA,CAAAS,CAAAA,CACDR,GAAAA,CAACC,OAAAA,CAAiB,KAAA,CAAjB,CAAuB,SAAA,CAAU,uHAAA,CAAwH,CAAA,CAAA,CAC5J,EACF,CAEJ","file":"chunk-YW2EEXMV.js","sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Tooltip as TooltipPrimitive } from 'radix-ui';\nimport { cn } from '../lib/utils';\n\nfunction TooltipProvider({ delayDuration = 0, ...props }: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return <TooltipPrimitive.Provider data-slot=\"tooltip-provider\" delayDuration={delayDuration} {...props} />;\n}\n\nfunction Tooltip({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />;\n}\n\nfunction TooltipTrigger({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />;\n}\n\nfunction TooltipPortal({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Portal>) {\n return <TooltipPrimitive.Portal {...props} />;\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n 'fk:z-50 fk:w-fit fk:origin-(--radix-tooltip-content-transform-origin) fk:animate-in fk:rounded-md fk:bg-foreground fk:px-3 fk:py-1.5 fk:text-xs fk:text-balance fk:text-background fk:fade-in-0 fk:zoom-in-95 fk:data-[side=bottom]:slide-in-from-top-2 fk:data-[side=left]:slide-in-from-right-2 fk:data-[side=right]:slide-in-from-left-2 fk:data-[side=top]:slide-in-from-bottom-2 fk:data-[state=closed]:animate-out fk:data-[state=closed]:fade-out-0 fk:data-[state=closed]:zoom-out-95',\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"fk:z-50 fk:size-2.5 fk:translate-y-[calc(-50%-2px)] fk:rotate-45 fk:rounded-[2px] fk:bg-foreground fk:fill-foreground\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n );\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider, TooltipPortal };\n"]}
@@ -1,2 +1,2 @@
1
- import'./index.css';import {b}from'./chunk-YXRNHQPG.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 f 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=f.createContext({size:"default",variant:"default",spacing:0});function L({className:e,variant:t,size:r,spacing:a$1=0,children:l,...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:l})})}function O({className:e,children:t,variant:r,size:a$1,...l}){let i=f.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),...l,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,onScroll:t,ref:r,...a$1}){return jsx("div",{ref:r,"data-slot":"table-container",className:"fk:relative fk:h-full fk:w-full fk:overflow-x-auto fk:rounded-t-md fk:border-border fk:border",onScroll:t,children:jsx("table",{"data-slot":"table",className:a("fk:w-full fk:caption-bottom fk:text-sm",e),...a$1})})}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-RVGMKQPC.js.map
2
- //# sourceMappingURL=chunk-RVGMKQPC.js.map
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
@@ -0,0 +1 @@
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 +1,2 @@
1
- import'./index.css';import {d}from'./chunk-6YHHL4XI.js';import {c}from'./chunk-ZBV4BY36.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-7XBIC5RC.js.map
2
- //# sourceMappingURL=chunk-7XBIC5RC.js.map
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 +1 @@
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-7XBIC5RC.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
+ {"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"]}
@@ -0,0 +1,2 @@
1
+ import'./index.css';export{a as DateTime}from'./chunk-553TQFSU.js';//# sourceMappingURL=datetime-TWONUNXS.js.map
2
+ //# sourceMappingURL=datetime-TWONUNXS.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"datetime-VZJ7XF33.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"datetime-TWONUNXS.js"}