@flexkit/studio 0.2.20 → 0.2.22

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 (116) hide show
  1. package/dist/activity-nav-button-7RLCHOFV.js +2 -0
  2. package/dist/{activity-nav-button-V5DFHADL.js.map → activity-nav-button-7RLCHOFV.js.map} +1 -1
  3. package/dist/astro.js +1 -1
  4. package/dist/chat-page-WLKJ3QNZ.js +4 -0
  5. package/dist/chat-page-WLKJ3QNZ.js.map +1 -0
  6. package/dist/{chunk-D5WYD5M4.js → chunk-4LVMCUHR.js} +2 -2
  7. package/dist/{chunk-D5WYD5M4.js.map → chunk-4LVMCUHR.js.map} +1 -1
  8. package/dist/{chunk-ME55YNBF.js → chunk-4PUMSUJL.js} +2 -2
  9. package/dist/{chunk-ME55YNBF.js.map → chunk-4PUMSUJL.js.map} +1 -1
  10. package/dist/{chunk-B7QMGBK5.js → chunk-6AI7322C.js} +3 -3
  11. package/dist/{chunk-B7QMGBK5.js.map → chunk-6AI7322C.js.map} +1 -1
  12. package/dist/{chunk-BMX4URYN.js → chunk-7ERLYAPR.js} +2 -2
  13. package/dist/{chunk-BMX4URYN.js.map → chunk-7ERLYAPR.js.map} +1 -1
  14. package/dist/chunk-7KLXWCDS.js +3 -0
  15. package/dist/chunk-7KLXWCDS.js.map +1 -0
  16. package/dist/chunk-BM7INZL3.js +3 -0
  17. package/dist/chunk-BM7INZL3.js.map +1 -0
  18. package/dist/chunk-ELOJGLAR.js +2 -0
  19. package/dist/chunk-ELOJGLAR.js.map +1 -0
  20. package/dist/{chunk-GFAOY74A.js → chunk-GGC75EMC.js} +2 -0
  21. package/dist/{chunk-HLHLBMLJ.js → chunk-HBTMGDOM.js} +2 -2
  22. package/dist/{chunk-HLHLBMLJ.js.map → chunk-HBTMGDOM.js.map} +1 -1
  23. package/dist/{chunk-MKK65RQB.js → chunk-HGXYSP47.js} +5 -5
  24. package/dist/{chunk-MKK65RQB.js.map → chunk-HGXYSP47.js.map} +1 -1
  25. package/dist/chunk-HKN6BX5U.js +2 -0
  26. package/dist/chunk-HKN6BX5U.js.map +1 -0
  27. package/dist/chunk-JIB4PRLH.js +3 -0
  28. package/dist/chunk-JIB4PRLH.js.map +1 -0
  29. package/dist/{chunk-2P2QV3K6.js → chunk-K2KW6UYG.js} +2 -2
  30. package/dist/{chunk-2P2QV3K6.js.map → chunk-K2KW6UYG.js.map} +1 -1
  31. package/dist/{chunk-ZZRA4567.js → chunk-LIMXKPEK.js} +2 -2
  32. package/dist/{chunk-ZZRA4567.js.map → chunk-LIMXKPEK.js.map} +1 -1
  33. package/dist/chunk-MHVZXDVL.js +2 -0
  34. package/dist/{chunk-BXN72PW2.js.map → chunk-MHVZXDVL.js.map} +1 -1
  35. package/dist/chunk-MLHXPTBT.js +2 -0
  36. package/dist/chunk-MLHXPTBT.js.map +1 -0
  37. package/dist/{chunk-UOR437J2.js → chunk-QCVQJN5O.js} +2 -2
  38. package/dist/{chunk-UOR437J2.js.map → chunk-QCVQJN5O.js.map} +1 -1
  39. package/dist/{chunk-F2DT6NRK.js → chunk-QTFFVG7C.js} +2 -2
  40. package/dist/{chunk-F2DT6NRK.js.map → chunk-QTFFVG7C.js.map} +1 -1
  41. package/dist/chunk-RPLKJVDQ.js +7 -0
  42. package/dist/{chunk-NYSQU73M.js.map → chunk-RPLKJVDQ.js.map} +1 -1
  43. package/dist/{chunk-RY6PECIT.js → chunk-SE4HJCGA.js} +2 -2
  44. package/dist/{chunk-RY6PECIT.js.map → chunk-SE4HJCGA.js.map} +1 -1
  45. package/dist/{chunk-DHVKE36X.js → chunk-SY67F62K.js} +3 -3
  46. package/dist/{chunk-DHVKE36X.js.map → chunk-SY67F62K.js.map} +1 -1
  47. package/dist/chunk-UCHWUGRT.js +378 -0
  48. package/dist/chunk-UCHWUGRT.js.map +1 -0
  49. package/dist/{chunk-JWBER5NX.js → chunk-UJEDL3IZ.js} +2 -2
  50. package/dist/{chunk-JWBER5NX.js.map → chunk-UJEDL3IZ.js.map} +1 -1
  51. package/dist/chunk-YXUEPR7K.js +4 -0
  52. package/dist/{chunk-LK67JOQA.js.map → chunk-YXUEPR7K.js.map} +1 -1
  53. package/dist/electron.js +1 -1
  54. package/dist/{entry-XVLXKEQV.js → entry-GWZ7DELK.js} +2 -2
  55. package/dist/{entry-XVLXKEQV.js.map → entry-GWZ7DELK.js.map} +1 -1
  56. package/dist/index.css +21 -0
  57. package/dist/index.js +10 -8
  58. package/dist/index.js.map +1 -1
  59. package/dist/list-FQZII7QD.js +3 -0
  60. package/dist/{list-4OJMI4CB.js.map → list-FQZII7QD.js.map} +1 -1
  61. package/dist/list-LMIKCT2W.js +2 -0
  62. package/dist/{list-RABV2F3H.js.map → list-LMIKCT2W.js.map} +1 -1
  63. package/dist/nextjs.js +1 -1
  64. package/dist/{pages-7LWBCW2X.js → pages-NKE7FV34.js} +3 -3
  65. package/dist/{pages-7LWBCW2X.js.map → pages-NKE7FV34.js.map} +1 -1
  66. package/dist/plugin-pages-4HTADSK3.js +2 -0
  67. package/dist/{plugin-pages-PQWTH7P5.js.map → plugin-pages-4HTADSK3.js.map} +1 -1
  68. package/dist/record-links-FDWV4X5W.js +2 -0
  69. package/dist/{record-links-BFHPBOAL.js.map → record-links-FDWV4X5W.js.map} +1 -1
  70. package/dist/{root-COI626G2.js → root-GYJGAS22.js} +2 -2
  71. package/dist/{root-COI626G2.js.map → root-GYJGAS22.js.map} +1 -1
  72. package/dist/root-OSXC52GL.js +2 -0
  73. package/dist/{root-PDSTTPHO.js.map → root-OSXC52GL.js.map} +1 -1
  74. package/dist/root-VL4EM2IS.js +23 -0
  75. package/dist/{root-FTT4XDCE.js.map → root-VL4EM2IS.js.map} +1 -1
  76. package/dist/{root-RXMRNU4M.js → root-X3V4NC2D.js} +2 -2
  77. package/dist/{root-RXMRNU4M.js.map → root-X3V4NC2D.js.map} +1 -1
  78. package/dist/root-YDHREGTF.js +14 -0
  79. package/dist/root-YDHREGTF.js.map +1 -0
  80. package/dist/{root-BS6QCYLO.js → root-ZYUSZZWR.js} +3 -3
  81. package/dist/{root-BS6QCYLO.js.map → root-ZYUSZZWR.js.map} +1 -1
  82. package/dist/{search-VPS2UHPQ.js → search-UW7WE2CS.js} +2 -2
  83. package/dist/{search-VPS2UHPQ.js.map → search-UW7WE2CS.js.map} +1 -1
  84. package/dist/skills-pages-Q4YSUQVZ.js +2 -0
  85. package/dist/skills-pages-Q4YSUQVZ.js.map +1 -0
  86. package/dist/source-PGSWL4DQ.js +2 -0
  87. package/dist/{source-MNHZQD4T.js.map → source-PGSWL4DQ.js.map} +1 -1
  88. package/dist/tanstack-start.js +1 -1
  89. package/dist/{user-nav-36ACWXOW.js → user-nav-B37OEVQN.js} +2 -2
  90. package/dist/{user-nav-36ACWXOW.js.map → user-nav-B37OEVQN.js.map} +1 -1
  91. package/package.json +9 -6
  92. package/dist/activity-nav-button-V5DFHADL.js +0 -2
  93. package/dist/chat-page-4G4XQ26P.js +0 -4
  94. package/dist/chat-page-4G4XQ26P.js.map +0 -1
  95. package/dist/chunk-2HYQVMP3.js +0 -3
  96. package/dist/chunk-2HYQVMP3.js.map +0 -1
  97. package/dist/chunk-445XKMAG.js +0 -379
  98. package/dist/chunk-445XKMAG.js.map +0 -1
  99. package/dist/chunk-A7XHA2P6.js +0 -3
  100. package/dist/chunk-A7XHA2P6.js.map +0 -1
  101. package/dist/chunk-BMO7JFAX.js +0 -2
  102. package/dist/chunk-BMO7JFAX.js.map +0 -1
  103. package/dist/chunk-BXN72PW2.js +0 -2
  104. package/dist/chunk-LK67JOQA.js +0 -4
  105. package/dist/chunk-NYSQU73M.js +0 -7
  106. package/dist/list-4OJMI4CB.js +0 -3
  107. package/dist/list-RABV2F3H.js +0 -2
  108. package/dist/plugin-pages-PQWTH7P5.js +0 -2
  109. package/dist/record-links-BFHPBOAL.js +0 -2
  110. package/dist/root-FTT4XDCE.js +0 -23
  111. package/dist/root-PDSTTPHO.js +0 -2
  112. package/dist/root-TZYOIXVG.js +0 -2
  113. package/dist/root-TZYOIXVG.js.map +0 -1
  114. package/dist/skills-pages-G6JK7KKQ.js +0 -2
  115. package/dist/skills-pages-G6JK7KKQ.js.map +0 -1
  116. package/dist/source-MNHZQD4T.js +0 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/data-grid/data-table-row-actions.tsx","../src/data-grid/data-table-view-options.tsx","../src/data-grid/data-table-toolbar.tsx"],"names":["DataTableRowActions","entityName","entityNamePlural","row","options","actionDispatch","useDispatch","canMutate","useCanMutate","entityId","canDelete","canEdit","handleEdit","handleDelete","jsxs","Button","jsx","PencilIcon","Trash2Icon","DropdownMenu","DropdownMenuTrigger","Ellipsis","DropdownMenuContent","DropdownMenuItem","DropdownMenuSeparator","DataTableViewOptions","table","Settings2","DropdownMenuLabel","column","DropdownMenuCheckboxItem","value","EntityKnowledgeButton","lazy","m","EntityGraphButton","DataTableToolbar","isReloading","onReload","appDispatch","useAppDispatch","appContext","useAppContext","apolloClient","useApolloClient","currentProject","currentProjectId","useConfig","schema","scopes","runMutation","setMutation","setOptions","useEntityMutation","isDeleting","setIsDeleting","useState","selectedIds","handleCreate","handleScopeChange","deleteSelected","ids","mutation","getEntityDeleteMutation","resolve","reject","gql","getEntityDeleteWhere","cache","id","error","handleBatchDelete","itemLabel","idsToDelete","scheduleEntityListRemoval","getEntityListQueryName","toast","Select","SelectTrigger","SelectValue","find","propEq","SelectContent","scopeItem","SelectItem","RefreshCw","DataTableSortedBy","PermissionTooltip","Loader2","Trash2","isKnowledgeLinkableEntity","Suspense"],"mappings":"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","file":"chunk-LK67JOQA.js","sourcesContent":["'use client';\n\nimport type { JSX } from 'react';\nimport { Ellipsis, PencilIcon, Trash2Icon } from 'lucide-react';\nimport type { Row } from '@tanstack/react-table';\nimport { Button } from '../ui/primitives/button';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from '../ui/primitives/dropdown-menu';\nimport { useDispatch } from '../entities/actions-context';\nimport { useCanMutate } from '../core/permissions';\n\ninterface DataTableRowActionsProps<TData> {\n entityName: string;\n entityNamePlural: string;\n row: Row<TData>;\n options?: {\n canDelete?: boolean;\n canEdit?: boolean;\n };\n}\n\nexport function DataTableRowActions<TData>({\n entityName,\n entityNamePlural,\n row,\n options = { canDelete: true, canEdit: true },\n}: DataTableRowActionsProps<TData>): JSX.Element {\n const actionDispatch = useDispatch();\n const canMutate = useCanMutate();\n // @ts-expect-error -- the DataGrid's original type doesn't know about the _id property\n const entityId = row.original._id;\n // Read-only roles keep the pencil (the drawer doubles as their read view)\n // but lose the delete affordance entirely.\n const canDelete = (options.canDelete ?? true) && canMutate;\n const canEdit = options.canEdit ?? true;\n\n function handleEdit(): void {\n actionDispatch({ type: 'EditEntity', payload: { entityId, entityNamePlural } });\n }\n\n function handleDelete(): void {\n actionDispatch({ type: 'DeleteEntity', payload: { entityId, entityName } });\n }\n\n return (\n <div className=\"fk:flex\">\n {canEdit && (\n <Button className=\"fk:flex fk:h-7 fk:w-7 fk:p-0 fk:mr-1\" onClick={handleEdit} variant=\"ghost\">\n <PencilIcon className=\"fk:h-4 fk:w-4\" />\n <span className=\"fk:sr-only\">Edit</span>\n </Button>\n )}\n {canDelete && !canEdit && (\n <Button className=\"fk:flex fk:h-7 fk:w-7 fk:p-0 fk:mr-1\" onClick={handleDelete} variant=\"ghost\">\n <Trash2Icon className=\"fk:h-4 fk:w-4\" />\n <span className=\"fk:sr-only\">Delete</span>\n </Button>\n )}\n {canEdit && canDelete && (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button className=\"fk:flex fk:h-7 fk:w-7 fk:p-0\" variant=\"ghost\">\n <Ellipsis className=\"fk:h-4 fk:w-4\" />\n <span className=\"fk:sr-only\">Additional actions</span>\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className=\"w-[160px]\">\n <DropdownMenuItem onClick={handleEdit}>\n <PencilIcon className=\"fk:mr-2 fk:h-4 fk:w-4\" />\n Edit\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem className=\"fk:text-destructive\" onClick={handleDelete}>\n <Trash2Icon className=\"fk:mr-2 fk:h-4 fk:w-4\" />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n )}\n </div>\n );\n}\n","'use client';\n\nimport type { JSX } from 'react';\nimport { Settings2 } from 'lucide-react';\nimport type { Table } from '@tanstack/react-table';\nimport { Button } from '../ui/primitives/button';\nimport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from '../ui/primitives/dropdown-menu';\n\ninterface DataTableViewOptionsProps<TData> {\n table: Table<TData>;\n}\n\nexport function DataTableViewOptions<TData>({ table }: DataTableViewOptionsProps<TData>): JSX.Element {\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button className=\"fk:hidden fk:h-8 fk:lg:flex\" size=\"sm\" variant=\"outline\">\n <Settings2 className=\"fk:mr-2 fk:h-4 fk:w-4\" />\n View\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className=\"fk:w-[150px]\">\n <DropdownMenuLabel>Toggle columns</DropdownMenuLabel>\n <DropdownMenuSeparator />\n {table\n .getAllColumns()\n .filter((column) => typeof column.accessorFn !== 'undefined' && column.getCanHide())\n .map((column) => {\n return (\n <DropdownMenuCheckboxItem\n checked={column.getIsVisible()}\n className=\"capitalize\"\n key={column.id}\n onCheckedChange={(value) => {\n column.toggleVisibility(Boolean(value));\n }}\n >\n {column.id}\n </DropdownMenuCheckboxItem>\n );\n })}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n","'use client';\n\nimport { lazy, Suspense, useState } from 'react';\nimport type { JSX } from 'react';\nimport { find, propEq } from 'ramda';\nimport type { Table } from '@tanstack/react-table';\nimport { Loader2, RefreshCw, Trash2 } from 'lucide-react';\nimport { gql } from '@apollo/client';\nimport { useApolloClient } from '@apollo/client/react';\nimport { toast } from 'sonner';\nimport { Button } from '../ui/primitives/button';\nimport { PermissionTooltip } from '../ui/components/permission-tooltip';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../ui/primitives/select';\nimport { useDispatch } from '../entities/actions-context';\nimport { useAppContext, useAppDispatch } from '../core/app-context';\nimport { useCanMutate } from '../core/permissions';\nimport { useConfig } from '../core/config/config-context';\nimport { DataTableViewOptions } from './data-table-view-options';\nimport { DataTableSortedBy } from './data-table-sorted-by';\nimport { useEntityMutation } from '../graphql-client/use-entity-mutation';\nimport { getEntityDeleteMutation, getEntityDeleteWhere } from '../graphql-client/queries';\nimport { getEntityListQueryName, scheduleEntityListRemoval } from '../graphql-client/refetch-entity-lists';\nimport { isKnowledgeLinkableEntity } from '../apps/knowledge/knowledge';\n\n// Loaded on demand: the Knowledge module should only download when a list of\n// a linkable entity is in view, the way the record drawer loads its panel.\nconst EntityKnowledgeButton = lazy(() =>\n import('../apps/knowledge/record-links').then((m) => ({ default: m.EntityKnowledgeButton }))\n);\nconst EntityGraphButton = lazy(() => import('../apps/graph/entry').then((m) => ({ default: m.EntityGraphButton })));\n\ninterface DataTableToolbarProps<TData> {\n entityName: string;\n isReloading?: boolean;\n onReload?: () => void;\n table: Table<TData>;\n}\n\nexport function DataTableToolbar<TData>({\n entityName,\n isReloading = false,\n onReload,\n table,\n}: DataTableToolbarProps<TData>): JSX.Element {\n const actionDispatch = useDispatch();\n const appDispatch = useAppDispatch();\n const appContext = useAppContext();\n const apolloClient = useApolloClient();\n const { currentProject, currentProjectId } = useConfig();\n const schema = currentProject?.schema ?? [];\n const scopes = currentProject?.scopes;\n const [runMutation, setMutation, setOptions] = useEntityMutation();\n const [isDeleting, setIsDeleting] = useState(false);\n const canMutate = useCanMutate();\n\n // Collect selected entity ids from the table\n // @ts-expect-error -- the DataGrid's original type doesn't know about the _id property\n const selectedIds: string[] = table.getSelectedRowModel().rows.map((row) => row.original._id as string);\n\n function handleCreate(): void {\n actionDispatch({ type: 'AddEntity', payload: { entityName } });\n }\n\n function handleScopeChange(value: string): void {\n appDispatch({ type: 'setScope', payload: { projectId: currentProjectId, scope: value } });\n }\n\n async function deleteSelected(ids: string[]): Promise<void> {\n if (ids.length === 0) {\n return;\n }\n\n const mutation = getEntityDeleteMutation(entityName, schema, ids);\n\n await new Promise<void>((resolve, reject) => {\n setMutation(gql`\n ${mutation}\n `);\n\n setOptions({\n variables: { where: getEntityDeleteWhere(ids) },\n update(cache: { evict: (arg0: { id: string }) => void }) {\n for (const id of ids) {\n cache.evict({ id });\n }\n },\n onCompleted: () => {\n resolve();\n },\n onError: (error: Error) => {\n reject(error);\n },\n });\n\n runMutation(true);\n });\n }\n\n function handleBatchDelete(): void {\n const itemLabel = entityName === '_asset' ? 'asset' : entityName.toLowerCase();\n\n actionDispatch({\n type: 'AlertDialog',\n payload: {\n options: {\n dialogTitle: `Delete ${selectedIds.length} ${itemLabel}${selectedIds.length > 1 ? 's' : ''}`,\n dialogMessage:\n selectedIds.length > 1\n ? `Are you sure you want to delete the selected ${itemLabel}s? They will be deleted permanently.`\n : `Are you sure you want to delete the selected ${itemLabel}? The item will be deleted permanently.`,\n dialogCancelTitle: 'Cancel',\n dialogActionLabel: 'Delete',\n isDestructive: true,\n dialogActionSubmit: async () => {\n setIsDeleting(true);\n\n try {\n const idsToDelete = [...selectedIds];\n\n await deleteSelected(idsToDelete);\n\n table.resetRowSelection();\n // Drop rows immediately, then soft-refetch counts/pages.\n await scheduleEntityListRemoval(apolloClient, getEntityListQueryName(entityName, schema), idsToDelete);\n toast.success(idsToDelete.length > 1 ? 'Items successfully deleted.' : 'Item successfully deleted.');\n } catch {\n toast.error('Failed to delete selected items.');\n } finally {\n setIsDeleting(false);\n }\n },\n dialogActionCancel: () => {\n // no-op\n },\n },\n },\n });\n }\n\n return (\n <div className=\"fk:flex fk:items-center fk:justify-between\">\n <div className=\"fk:flex fk:flex-1 fk:items-center fk:space-x-2\">\n {scopes && scopes.length > 0 ? (\n <Select\n defaultValue={appContext.scope}\n onValueChange={(value) => {\n handleScopeChange(value);\n }}\n value={appContext.scope}\n >\n <SelectTrigger className=\"fk:w-48!\" id=\"project\" size=\"sm\">\n <span className=\"fk:text-muted-foreground\">Scope:</span>\n <SelectValue>\n {\n ((find(propEq(appContext.scope ?? '', 'name'))(scopes) as { name: string; label: string }) || null)\n ?.label\n }\n </SelectValue>\n </SelectTrigger>\n <SelectContent>\n {scopes.map((scopeItem) => (\n <SelectItem key={scopeItem.name} value={scopeItem.name}>\n {scopeItem.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n ) : null}\n <DataTableViewOptions table={table} />\n {onReload ? (\n <Button\n aria-label=\"Reload\"\n className=\"fk:h-8\"\n disabled={isDeleting || isReloading}\n onClick={onReload}\n size=\"icon-sm\"\n variant=\"outline\"\n >\n <RefreshCw className={isReloading ? 'fk:animate-spin' : undefined} />\n </Button>\n ) : null}\n <DataTableSortedBy table={table} />\n </div>\n {selectedIds.length > 0 ? (\n <PermissionTooltip disabled={!canMutate}>\n <Button\n className=\"fk:h-8 fk:mr-2 fk:lg:flex\"\n disabled={isDeleting || !canMutate}\n onClick={handleBatchDelete}\n size=\"sm\"\n variant=\"destructive\"\n >\n {isDeleting ? (\n <Loader2 className=\"fk:mr-2 fk:h-4 fk:w-4 fk:animate-spin\" />\n ) : (\n <Trash2 className=\"fk:mr-2 fk:h-4 fk:w-4\" />\n )}\n Delete ({selectedIds.length})\n </Button>\n </PermissionTooltip>\n ) : null}\n {entityName && isKnowledgeLinkableEntity(entityName) ? (\n <Suspense fallback={null}>\n <EntityKnowledgeButton entityName={entityName} />\n </Suspense>\n ) : null}\n {entityName ? (\n <Suspense fallback={null}>\n <EntityGraphButton entityName={entityName} selectedIds={selectedIds} />\n </Suspense>\n ) : null}\n <PermissionTooltip disabled={!canMutate}>\n <Button\n className=\"fk:h-8 fk:lg:flex\"\n disabled={isDeleting || !canMutate}\n onClick={handleCreate}\n size=\"sm\"\n variant=\"default\"\n >\n Create\n </Button>\n </PermissionTooltip>\n </div>\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/data-grid/data-table-row-actions.tsx","../src/data-grid/data-table-view-options.tsx","../src/data-grid/data-table-toolbar.tsx"],"names":["DataTableRowActions","entityName","entityNamePlural","row","options","actionDispatch","useDispatch","canMutate","useCanMutate","entityId","canDelete","canEdit","handleEdit","handleDelete","jsxs","Button","jsx","PencilIcon","Trash2Icon","DropdownMenu","DropdownMenuTrigger","Ellipsis","DropdownMenuContent","DropdownMenuItem","DropdownMenuSeparator","DataTableViewOptions","table","Settings2","DropdownMenuLabel","column","DropdownMenuCheckboxItem","value","EntityKnowledgeButton","lazy","m","EntityGraphButton","DataTableToolbar","isReloading","onReload","appDispatch","useAppDispatch","appContext","useAppContext","apolloClient","useApolloClient","currentProject","currentProjectId","useConfig","schema","scopes","runMutation","setMutation","setOptions","useEntityMutation","isDeleting","setIsDeleting","useState","selectedIds","handleCreate","handleScopeChange","deleteSelected","ids","mutation","getEntityDeleteMutation","resolve","reject","gql","getEntityDeleteWhere","cache","id","error","handleBatchDelete","itemLabel","idsToDelete","scheduleEntityListRemoval","getEntityListQueryName","toast","Select","SelectTrigger","SelectValue","find","propEq","SelectContent","scopeItem","SelectItem","RefreshCw","DataTableSortedBy","PermissionTooltip","Loader2","Trash2","isKnowledgeLinkableEntity","Suspense"],"mappings":"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","file":"chunk-YXUEPR7K.js","sourcesContent":["'use client';\n\nimport type { JSX } from 'react';\nimport { Ellipsis, PencilIcon, Trash2Icon } from 'lucide-react';\nimport type { Row } from '@tanstack/react-table';\nimport { Button } from '../ui/primitives/button';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from '../ui/primitives/dropdown-menu';\nimport { useDispatch } from '../entities/actions-context';\nimport { useCanMutate } from '../core/permissions';\n\ninterface DataTableRowActionsProps<TData> {\n entityName: string;\n entityNamePlural: string;\n row: Row<TData>;\n options?: {\n canDelete?: boolean;\n canEdit?: boolean;\n };\n}\n\nexport function DataTableRowActions<TData>({\n entityName,\n entityNamePlural,\n row,\n options = { canDelete: true, canEdit: true },\n}: DataTableRowActionsProps<TData>): JSX.Element {\n const actionDispatch = useDispatch();\n const canMutate = useCanMutate();\n // @ts-expect-error -- the DataGrid's original type doesn't know about the _id property\n const entityId = row.original._id;\n // Read-only roles keep the pencil (the drawer doubles as their read view)\n // but lose the delete affordance entirely.\n const canDelete = (options.canDelete ?? true) && canMutate;\n const canEdit = options.canEdit ?? true;\n\n function handleEdit(): void {\n actionDispatch({ type: 'EditEntity', payload: { entityId, entityNamePlural } });\n }\n\n function handleDelete(): void {\n actionDispatch({ type: 'DeleteEntity', payload: { entityId, entityName } });\n }\n\n return (\n <div className=\"fk:flex\">\n {canEdit && (\n <Button className=\"fk:flex fk:h-7 fk:w-7 fk:p-0 fk:mr-1\" onClick={handleEdit} variant=\"ghost\">\n <PencilIcon className=\"fk:h-4 fk:w-4\" />\n <span className=\"fk:sr-only\">Edit</span>\n </Button>\n )}\n {canDelete && !canEdit && (\n <Button className=\"fk:flex fk:h-7 fk:w-7 fk:p-0 fk:mr-1\" onClick={handleDelete} variant=\"ghost\">\n <Trash2Icon className=\"fk:h-4 fk:w-4\" />\n <span className=\"fk:sr-only\">Delete</span>\n </Button>\n )}\n {canEdit && canDelete && (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button className=\"fk:flex fk:h-7 fk:w-7 fk:p-0\" variant=\"ghost\">\n <Ellipsis className=\"fk:h-4 fk:w-4\" />\n <span className=\"fk:sr-only\">Additional actions</span>\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className=\"w-[160px]\">\n <DropdownMenuItem onClick={handleEdit}>\n <PencilIcon className=\"fk:mr-2 fk:h-4 fk:w-4\" />\n Edit\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem className=\"fk:text-destructive\" onClick={handleDelete}>\n <Trash2Icon className=\"fk:mr-2 fk:h-4 fk:w-4\" />\n Delete\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n )}\n </div>\n );\n}\n","'use client';\n\nimport type { JSX } from 'react';\nimport { Settings2 } from 'lucide-react';\nimport type { Table } from '@tanstack/react-table';\nimport { Button } from '../ui/primitives/button';\nimport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from '../ui/primitives/dropdown-menu';\n\ninterface DataTableViewOptionsProps<TData> {\n table: Table<TData>;\n}\n\nexport function DataTableViewOptions<TData>({ table }: DataTableViewOptionsProps<TData>): JSX.Element {\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button className=\"fk:hidden fk:h-8 fk:lg:flex\" size=\"sm\" variant=\"outline\">\n <Settings2 className=\"fk:mr-2 fk:h-4 fk:w-4\" />\n View\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className=\"fk:w-[150px]\">\n <DropdownMenuLabel>Toggle columns</DropdownMenuLabel>\n <DropdownMenuSeparator />\n {table\n .getAllColumns()\n .filter((column) => typeof column.accessorFn !== 'undefined' && column.getCanHide())\n .map((column) => {\n return (\n <DropdownMenuCheckboxItem\n checked={column.getIsVisible()}\n className=\"capitalize\"\n key={column.id}\n onCheckedChange={(value) => {\n column.toggleVisibility(Boolean(value));\n }}\n >\n {column.id}\n </DropdownMenuCheckboxItem>\n );\n })}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n","'use client';\n\nimport { lazy, Suspense, useState } from 'react';\nimport type { JSX } from 'react';\nimport { find, propEq } from 'ramda';\nimport type { Table } from '@tanstack/react-table';\nimport { Loader2, RefreshCw, Trash2 } from 'lucide-react';\nimport { gql } from '@apollo/client';\nimport { useApolloClient } from '@apollo/client/react';\nimport { toast } from 'sonner';\nimport { Button } from '../ui/primitives/button';\nimport { PermissionTooltip } from '../ui/components/permission-tooltip';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../ui/primitives/select';\nimport { useDispatch } from '../entities/actions-context';\nimport { useAppContext, useAppDispatch } from '../core/app-context';\nimport { useCanMutate } from '../core/permissions';\nimport { useConfig } from '../core/config/config-context';\nimport { DataTableViewOptions } from './data-table-view-options';\nimport { DataTableSortedBy } from './data-table-sorted-by';\nimport { useEntityMutation } from '../graphql-client/use-entity-mutation';\nimport { getEntityDeleteMutation, getEntityDeleteWhere } from '../graphql-client/queries';\nimport { getEntityListQueryName, scheduleEntityListRemoval } from '../graphql-client/refetch-entity-lists';\nimport { isKnowledgeLinkableEntity } from '../apps/knowledge/knowledge';\n\n// Loaded on demand: the Knowledge module should only download when a list of\n// a linkable entity is in view, the way the record drawer loads its panel.\nconst EntityKnowledgeButton = lazy(() =>\n import('../apps/knowledge/record-links').then((m) => ({ default: m.EntityKnowledgeButton }))\n);\nconst EntityGraphButton = lazy(() => import('../apps/graph/entry').then((m) => ({ default: m.EntityGraphButton })));\n\ninterface DataTableToolbarProps<TData> {\n entityName: string;\n isReloading?: boolean;\n onReload?: () => void;\n table: Table<TData>;\n}\n\nexport function DataTableToolbar<TData>({\n entityName,\n isReloading = false,\n onReload,\n table,\n}: DataTableToolbarProps<TData>): JSX.Element {\n const actionDispatch = useDispatch();\n const appDispatch = useAppDispatch();\n const appContext = useAppContext();\n const apolloClient = useApolloClient();\n const { currentProject, currentProjectId } = useConfig();\n const schema = currentProject?.schema ?? [];\n const scopes = currentProject?.scopes;\n const [runMutation, setMutation, setOptions] = useEntityMutation();\n const [isDeleting, setIsDeleting] = useState(false);\n const canMutate = useCanMutate();\n\n // Collect selected entity ids from the table\n // @ts-expect-error -- the DataGrid's original type doesn't know about the _id property\n const selectedIds: string[] = table.getSelectedRowModel().rows.map((row) => row.original._id as string);\n\n function handleCreate(): void {\n actionDispatch({ type: 'AddEntity', payload: { entityName } });\n }\n\n function handleScopeChange(value: string): void {\n appDispatch({ type: 'setScope', payload: { projectId: currentProjectId, scope: value } });\n }\n\n async function deleteSelected(ids: string[]): Promise<void> {\n if (ids.length === 0) {\n return;\n }\n\n const mutation = getEntityDeleteMutation(entityName, schema, ids);\n\n await new Promise<void>((resolve, reject) => {\n setMutation(gql`\n ${mutation}\n `);\n\n setOptions({\n variables: { where: getEntityDeleteWhere(ids) },\n update(cache: { evict: (arg0: { id: string }) => void }) {\n for (const id of ids) {\n cache.evict({ id });\n }\n },\n onCompleted: () => {\n resolve();\n },\n onError: (error: Error) => {\n reject(error);\n },\n });\n\n runMutation(true);\n });\n }\n\n function handleBatchDelete(): void {\n const itemLabel = entityName === '_asset' ? 'asset' : entityName.toLowerCase();\n\n actionDispatch({\n type: 'AlertDialog',\n payload: {\n options: {\n dialogTitle: `Delete ${selectedIds.length} ${itemLabel}${selectedIds.length > 1 ? 's' : ''}`,\n dialogMessage:\n selectedIds.length > 1\n ? `Are you sure you want to delete the selected ${itemLabel}s? They will be deleted permanently.`\n : `Are you sure you want to delete the selected ${itemLabel}? The item will be deleted permanently.`,\n dialogCancelTitle: 'Cancel',\n dialogActionLabel: 'Delete',\n isDestructive: true,\n dialogActionSubmit: async () => {\n setIsDeleting(true);\n\n try {\n const idsToDelete = [...selectedIds];\n\n await deleteSelected(idsToDelete);\n\n table.resetRowSelection();\n // Drop rows immediately, then soft-refetch counts/pages.\n await scheduleEntityListRemoval(apolloClient, getEntityListQueryName(entityName, schema), idsToDelete);\n toast.success(idsToDelete.length > 1 ? 'Items successfully deleted.' : 'Item successfully deleted.');\n } catch {\n toast.error('Failed to delete selected items.');\n } finally {\n setIsDeleting(false);\n }\n },\n dialogActionCancel: () => {\n // no-op\n },\n },\n },\n });\n }\n\n return (\n <div className=\"fk:flex fk:items-center fk:justify-between\">\n <div className=\"fk:flex fk:flex-1 fk:items-center fk:space-x-2\">\n {scopes && scopes.length > 0 ? (\n <Select\n defaultValue={appContext.scope}\n onValueChange={(value) => {\n handleScopeChange(value);\n }}\n value={appContext.scope}\n >\n <SelectTrigger className=\"fk:w-48!\" id=\"project\" size=\"sm\">\n <span className=\"fk:text-muted-foreground\">Scope:</span>\n <SelectValue>\n {\n ((find(propEq(appContext.scope ?? '', 'name'))(scopes) as { name: string; label: string }) || null)\n ?.label\n }\n </SelectValue>\n </SelectTrigger>\n <SelectContent>\n {scopes.map((scopeItem) => (\n <SelectItem key={scopeItem.name} value={scopeItem.name}>\n {scopeItem.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n ) : null}\n <DataTableViewOptions table={table} />\n {onReload ? (\n <Button\n aria-label=\"Reload\"\n className=\"fk:h-8\"\n disabled={isDeleting || isReloading}\n onClick={onReload}\n size=\"icon-sm\"\n variant=\"outline\"\n >\n <RefreshCw className={isReloading ? 'fk:animate-spin' : undefined} />\n </Button>\n ) : null}\n <DataTableSortedBy table={table} />\n </div>\n {selectedIds.length > 0 ? (\n <PermissionTooltip disabled={!canMutate}>\n <Button\n className=\"fk:h-8 fk:mr-2 fk:lg:flex\"\n disabled={isDeleting || !canMutate}\n onClick={handleBatchDelete}\n size=\"sm\"\n variant=\"destructive\"\n >\n {isDeleting ? (\n <Loader2 className=\"fk:mr-2 fk:h-4 fk:w-4 fk:animate-spin\" />\n ) : (\n <Trash2 className=\"fk:mr-2 fk:h-4 fk:w-4\" />\n )}\n Delete ({selectedIds.length})\n </Button>\n </PermissionTooltip>\n ) : null}\n {entityName && isKnowledgeLinkableEntity(entityName) ? (\n <Suspense fallback={null}>\n <EntityKnowledgeButton entityName={entityName} />\n </Suspense>\n ) : null}\n {entityName ? (\n <Suspense fallback={null}>\n <EntityGraphButton entityName={entityName} selectedIds={selectedIds} />\n </Suspense>\n ) : null}\n <PermissionTooltip disabled={!canMutate}>\n <Button\n className=\"fk:h-8 fk:lg:flex\"\n disabled={isDeleting || !canMutate}\n onClick={handleCreate}\n size=\"sm\"\n variant=\"default\"\n >\n Create\n </Button>\n </PermissionTooltip>\n </div>\n );\n}\n"]}
package/dist/electron.js CHANGED
@@ -2,7 +2,7 @@ import {
2
2
  flexkitDomain,
3
3
  getToken,
4
4
  handleFlexkitRequest
5
- } from "./chunk-GFAOY74A.js";
5
+ } from "./chunk-GGC75EMC.js";
6
6
 
7
7
  // src/auth/electron-api.ts
8
8
  var DESKTOP_LOGIN_CALLBACK = "flexkit://auth/callback";
@@ -1,2 +1,2 @@
1
- import'./index.css';import {g,e,u}from'./chunk-ME55YNBF.js';import'./chunk-YDVO6XWD.js';import'./chunk-ERDARDGB.js';import {f}from'./chunk-B7QMGBK5.js';import'./chunk-2HYQVMP3.js';import'./chunk-5CVDMZUI.js';import'./chunk-DGIY4SKN.js';import'./chunk-SZEGGBOC.js';import'./chunk-32ZU4MLE.js';import'./chunk-U45E5X3H.js';import'./chunk-HDOIOXMP.js';import {b,c,e as e$1,a}from'./chunk-USNXQOMJ.js';import {b as b$1}from'./chunk-6NRQMG26.js';import'./chunk-O2QMYUPS.js';import {Waypoints}from'lucide-react';import {useNavigate}from'react-router-dom';import {jsxs,jsx}from'react/jsx-runtime';function S({entityName:n,selectedIds:t}){let{currentProjectId:i,currentProjectSchema:r}=f(),l=useNavigate(),e$2=g(r,n);if(!i||!e$2||e(e$2).length===0)return null;let a=t.length>0?`Open ${t.length} in Graph`:"Open in Graph";return jsxs(b,{children:[jsx(c,{asChild:true,children:jsxs(b$1,{"aria-label":a,className:"fk:mr-2 fk:h-8",onClick:()=>l(u(i,{entity:n,ids:t})),size:"sm",variant:"outline",children:[jsx(Waypoints,{className:"fk:size-4",strokeWidth:1.5}),t.length>0?`Graph (${t.length})`:"Graph"]})}),jsx(e$1,{children:t.length>0?"Show the selected records and their relationships":"Explore these records as a graph"})]})}function B({entityName:n,recordId:t,onNavigate:i}){let{currentProjectId:r,currentProjectSchema:l}=f(),e$2=useNavigate(),a$1=g(l,n);return !r||!a$1||!t||e(a$1).length===0?null:jsx(a,{children:jsxs(b,{children:[jsx(c,{asChild:true,children:jsx(b$1,{"aria-label":"View in Graph",className:"fk:h-9 fk:w-9",onClick:()=>{e$2(u(r,{entity:n,ids:[t]})),i?.();},size:"icon",variant:"outline",children:jsx(Waypoints,{className:"fk:size-4",strokeWidth:1.5})})}),jsx(e$1,{children:"View in Graph"})]})})}export{S as EntityGraphButton,B as RecordGraphButton};//# sourceMappingURL=entry-XVLXKEQV.js.map
2
- //# sourceMappingURL=entry-XVLXKEQV.js.map
1
+ import'./index.css';import {g,e,x}from'./chunk-4PUMSUJL.js';import'./chunk-YDVO6XWD.js';import'./chunk-ERDARDGB.js';import {f}from'./chunk-6AI7322C.js';import'./chunk-JIB4PRLH.js';import'./chunk-5CVDMZUI.js';import'./chunk-DGIY4SKN.js';import'./chunk-SZEGGBOC.js';import'./chunk-32ZU4MLE.js';import'./chunk-U45E5X3H.js';import'./chunk-HDOIOXMP.js';import {b,c,e as e$1,a}from'./chunk-USNXQOMJ.js';import {b as b$1}from'./chunk-6NRQMG26.js';import'./chunk-O2QMYUPS.js';import {Waypoints}from'lucide-react';import {useNavigate}from'react-router-dom';import {jsxs,jsx}from'react/jsx-runtime';function S({entityName:n,selectedIds:t}){let{currentProjectId:i,currentProjectSchema:r}=f(),l=useNavigate(),e$2=g(r,n);if(!i||!e$2||e(e$2).length===0)return null;let a=t.length>0?`Open ${t.length} in Graph`:"Open in Graph";return jsxs(b,{children:[jsx(c,{asChild:true,children:jsxs(b$1,{"aria-label":a,className:"fk:mr-2 fk:h-8",onClick:()=>l(x(i,{entity:n,ids:t})),size:"sm",variant:"outline",children:[jsx(Waypoints,{className:"fk:size-4",strokeWidth:1.5}),t.length>0?`Graph (${t.length})`:"Graph"]})}),jsx(e$1,{children:t.length>0?"Show the selected records and their relationships":"Explore these records as a graph"})]})}function B({entityName:n,recordId:t,onNavigate:i}){let{currentProjectId:r,currentProjectSchema:l}=f(),e$2=useNavigate(),a$1=g(l,n);return !r||!a$1||!t||e(a$1).length===0?null:jsx(a,{children:jsxs(b,{children:[jsx(c,{asChild:true,children:jsx(b$1,{"aria-label":"View in Graph",className:"fk:h-9 fk:w-9",onClick:()=>{e$2(x(r,{entity:n,ids:[t]})),i?.();},size:"icon",variant:"outline",children:jsx(Waypoints,{className:"fk:size-4",strokeWidth:1.5})})}),jsx(e$1,{children:"View in Graph"})]})})}export{S as EntityGraphButton,B as RecordGraphButton};//# sourceMappingURL=entry-GWZ7DELK.js.map
2
+ //# sourceMappingURL=entry-GWZ7DELK.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/apps/graph/entry.tsx"],"names":["EntityGraphButton","entityName","selectedIds","currentProjectId","currentProjectSchema","useConfig","navigate","useNavigate","entity","getEntity","getRelationshipAttributes","label","jsxs","Tooltip","jsx","TooltipTrigger","Button","graphPath","WaypointsIcon","TooltipContent","RecordGraphButton","recordId","onNavigate","TooltipProvider"],"mappings":"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","file":"entry-XVLXKEQV.js","sourcesContent":["'use client';\n\nimport type { JSX } from 'react';\nimport { Waypoints as WaypointsIcon } from 'lucide-react';\nimport { useNavigate } from 'react-router-dom';\nimport { useConfig } from '../../core/config/config-context';\nimport { Button, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../../ui';\nimport { getEntity, getRelationshipAttributes, graphPath } from './graph';\n\n/**\n * \"Open in Graph\" for a Desk list: the selected records, or a sample of the\n * entity when nothing is selected. Hidden for entities without relationships.\n */\nexport function EntityGraphButton({ entityName, selectedIds }: { entityName: string; selectedIds: string[] }): JSX.Element | null {\n const { currentProjectId, currentProjectSchema } = useConfig();\n const navigate = useNavigate();\n const entity = getEntity(currentProjectSchema, entityName);\n\n if (!currentProjectId || !entity || getRelationshipAttributes(entity).length === 0) {\n return null;\n }\n\n const label = selectedIds.length > 0 ? `Open ${selectedIds.length} in Graph` : 'Open in Graph';\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>\n <Button\n aria-label={label}\n className=\"fk:mr-2 fk:h-8\"\n onClick={() => navigate(graphPath(currentProjectId, { entity: entityName, ids: selectedIds }))}\n size=\"sm\"\n variant=\"outline\"\n >\n <WaypointsIcon className=\"fk:size-4\" strokeWidth={1.5} />\n {selectedIds.length > 0 ? `Graph (${selectedIds.length})` : 'Graph'}\n </Button>\n </TooltipTrigger>\n <TooltipContent>\n {selectedIds.length > 0 ? 'Show the selected records and their relationships' : 'Explore these records as a graph'}\n </TooltipContent>\n </Tooltip>\n );\n}\n\n/**\n * \"View in Graph\" in a record drawer: the record expanded one hop. The drawer\n * is mounted outside any app, so the tooltip brings its own provider.\n */\nexport function RecordGraphButton({\n entityName,\n recordId,\n onNavigate,\n}: {\n entityName: string;\n recordId: string;\n onNavigate?: () => void;\n}): JSX.Element | null {\n const { currentProjectId, currentProjectSchema } = useConfig();\n const navigate = useNavigate();\n const entity = getEntity(currentProjectSchema, entityName);\n\n if (!currentProjectId || !entity || !recordId || getRelationshipAttributes(entity).length === 0) {\n return null;\n }\n\n return (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <Button\n aria-label=\"View in Graph\"\n className=\"fk:h-9 fk:w-9\"\n onClick={() => {\n navigate(graphPath(currentProjectId, { entity: entityName, ids: [recordId] }));\n onNavigate?.();\n }}\n size=\"icon\"\n variant=\"outline\"\n >\n <WaypointsIcon className=\"fk:size-4\" strokeWidth={1.5} />\n </Button>\n </TooltipTrigger>\n <TooltipContent>View in Graph</TooltipContent>\n </Tooltip>\n </TooltipProvider>\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/apps/graph/entry.tsx"],"names":["EntityGraphButton","entityName","selectedIds","currentProjectId","currentProjectSchema","useConfig","navigate","useNavigate","entity","getEntity","getRelationshipAttributes","label","jsxs","Tooltip","jsx","TooltipTrigger","Button","graphPath","WaypointsIcon","TooltipContent","RecordGraphButton","recordId","onNavigate","TooltipProvider"],"mappings":"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","file":"entry-GWZ7DELK.js","sourcesContent":["'use client';\n\nimport type { JSX } from 'react';\nimport { Waypoints as WaypointsIcon } from 'lucide-react';\nimport { useNavigate } from 'react-router-dom';\nimport { useConfig } from '../../core/config/config-context';\nimport { Button, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '../../ui';\nimport { getEntity, getRelationshipAttributes, graphPath } from './graph';\n\n/**\n * \"Open in Graph\" for a Desk list: the selected records, or a sample of the\n * entity when nothing is selected. Hidden for entities without relationships.\n */\nexport function EntityGraphButton({ entityName, selectedIds }: { entityName: string; selectedIds: string[] }): JSX.Element | null {\n const { currentProjectId, currentProjectSchema } = useConfig();\n const navigate = useNavigate();\n const entity = getEntity(currentProjectSchema, entityName);\n\n if (!currentProjectId || !entity || getRelationshipAttributes(entity).length === 0) {\n return null;\n }\n\n const label = selectedIds.length > 0 ? `Open ${selectedIds.length} in Graph` : 'Open in Graph';\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>\n <Button\n aria-label={label}\n className=\"fk:mr-2 fk:h-8\"\n onClick={() => navigate(graphPath(currentProjectId, { entity: entityName, ids: selectedIds }))}\n size=\"sm\"\n variant=\"outline\"\n >\n <WaypointsIcon className=\"fk:size-4\" strokeWidth={1.5} />\n {selectedIds.length > 0 ? `Graph (${selectedIds.length})` : 'Graph'}\n </Button>\n </TooltipTrigger>\n <TooltipContent>\n {selectedIds.length > 0 ? 'Show the selected records and their relationships' : 'Explore these records as a graph'}\n </TooltipContent>\n </Tooltip>\n );\n}\n\n/**\n * \"View in Graph\" in a record drawer: the record expanded one hop. The drawer\n * is mounted outside any app, so the tooltip brings its own provider.\n */\nexport function RecordGraphButton({\n entityName,\n recordId,\n onNavigate,\n}: {\n entityName: string;\n recordId: string;\n onNavigate?: () => void;\n}): JSX.Element | null {\n const { currentProjectId, currentProjectSchema } = useConfig();\n const navigate = useNavigate();\n const entity = getEntity(currentProjectSchema, entityName);\n\n if (!currentProjectId || !entity || !recordId || getRelationshipAttributes(entity).length === 0) {\n return null;\n }\n\n return (\n <TooltipProvider>\n <Tooltip>\n <TooltipTrigger asChild>\n <Button\n aria-label=\"View in Graph\"\n className=\"fk:h-9 fk:w-9\"\n onClick={() => {\n navigate(graphPath(currentProjectId, { entity: entityName, ids: [recordId] }));\n onNavigate?.();\n }}\n size=\"icon\"\n variant=\"outline\"\n >\n <WaypointsIcon className=\"fk:size-4\" strokeWidth={1.5} />\n </Button>\n </TooltipTrigger>\n <TooltipContent>View in Graph</TooltipContent>\n </Tooltip>\n </TooltipProvider>\n );\n}\n"]}
package/dist/index.css CHANGED
@@ -462,6 +462,9 @@
462
462
  .fk\:m-1\.5 {
463
463
  margin: calc(var(--fk-spacing) * 1.5);
464
464
  }
465
+ .fk\:m-3 {
466
+ margin: calc(var(--fk-spacing) * 3);
467
+ }
465
468
  .fk\:m-auto {
466
469
  margin: auto;
467
470
  }
@@ -1460,6 +1463,9 @@
1460
1463
  .fk\:h-10 {
1461
1464
  height: calc(var(--fk-spacing) * 10);
1462
1465
  }
1466
+ .fk\:h-11 {
1467
+ height: calc(var(--fk-spacing) * 11);
1468
+ }
1463
1469
  .fk\:h-12 {
1464
1470
  height: calc(var(--fk-spacing) * 12);
1465
1471
  }
@@ -1538,6 +1544,9 @@
1538
1544
  .fk\:max-h-\(--radix-select-content-available-height\) {
1539
1545
  max-height: var(--radix-select-content-available-height);
1540
1546
  }
1547
+ .fk\:max-h-40 {
1548
+ max-height: calc(var(--fk-spacing) * 40);
1549
+ }
1541
1550
  .fk\:max-h-48 {
1542
1551
  max-height: calc(var(--fk-spacing) * 48);
1543
1552
  }
@@ -1556,6 +1565,9 @@
1556
1565
  .fk\:max-h-80 {
1557
1566
  max-height: calc(var(--fk-spacing) * 80);
1558
1567
  }
1568
+ .fk\:max-h-\[45\%\] {
1569
+ max-height: 45%;
1570
+ }
1559
1571
  .fk\:max-h-\[85vh\] {
1560
1572
  max-height: 85vh;
1561
1573
  }
@@ -1757,6 +1769,9 @@
1757
1769
  .fk\:w-\[20px\] {
1758
1770
  width: 20px;
1759
1771
  }
1772
+ .fk\:w-\[26rem\] {
1773
+ width: 26rem;
1774
+ }
1760
1775
  .fk\:w-\[50\%\] {
1761
1776
  width: 50%;
1762
1777
  }
@@ -2602,6 +2617,12 @@
2602
2617
  border-color: color-mix(in oklab, hsl(var(--destructive)) 30%, transparent);
2603
2618
  }
2604
2619
  }
2620
+ .fk\:border-destructive\/40 {
2621
+ border-color: hsl(var(--destructive));
2622
+ @supports (color: color-mix(in lab, red, red)) {
2623
+ border-color: color-mix(in oklab, hsl(var(--destructive)) 40%, transparent);
2624
+ }
2625
+ }
2605
2626
  .fk\:border-destructive\/50 {
2606
2627
  border-color: hsl(var(--destructive));
2607
2628
  @supports (color: color-mix(in lab, red, red)) {