@powerhousedao/powerhouse-vetra-packages 6.2.3-dev.10 → 6.2.3-dev.12

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 (114) hide show
  1. package/dist/browser/assets/{entry-DvpdFGdw.js → entry-4ObkElbc.js} +2 -2
  2. package/dist/browser/assets/{projection-entry-QU4xTPM_.js → projection-entry-DRGRQCSu.js} +8 -8
  3. package/dist/browser/{button-CuO8Gh3v.js → button-sZQCXeCo.js} +131 -24
  4. package/dist/browser/button-sZQCXeCo.js.map +1 -0
  5. package/dist/browser/chunk-BVTlhY3a.js +24 -0
  6. package/dist/browser/{dist-BAJ5nRDl.js → dist-D3_ER0Dn.js} +2 -399
  7. package/dist/browser/dist-D3_ER0Dn.js.map +1 -0
  8. package/dist/browser/document-models/index.js +2 -1
  9. package/dist/browser/{documents-J_l59mSV.js → documents-C-lAnv6o.js} +604 -735
  10. package/dist/browser/documents-C-lAnv6o.js.map +1 -0
  11. package/dist/browser/editor-CQ4wUFK5.js +3679 -0
  12. package/dist/browser/editor-CQ4wUFK5.js.map +1 -0
  13. package/dist/browser/{editor-D_gIraSB.js → editor-DNV-46lY.js} +5 -5
  14. package/dist/browser/{editor-D_gIraSB.js.map → editor-DNV-46lY.js.map} +1 -1
  15. package/dist/browser/editors/document-model-editor/module.js +1 -1
  16. package/dist/browser/editors/generic-drive-explorer/index.js +13 -8
  17. package/dist/browser/editors/generic-drive-explorer/index.js.map +1 -1
  18. package/dist/browser/editors/generic-drive-explorer/module.js +1 -1
  19. package/dist/browser/folder-view-CzItU0hn.js +957 -0
  20. package/dist/browser/folder-view-CzItU0hn.js.map +1 -0
  21. package/dist/browser/{graphql-editor-C9wxFf0b.js → graphql-editor-DoXZvdNr.js} +7 -9
  22. package/dist/browser/{graphql-editor-C9wxFf0b.js.map → graphql-editor-DoXZvdNr.js.map} +1 -1
  23. package/dist/{node/hooks-D0DcS3MV.mjs → browser/hooks-Bh1JCohS.js} +2 -2
  24. package/dist/browser/{hooks-KKcNp2X0.js.map → hooks-Bh1JCohS.js.map} +1 -1
  25. package/dist/browser/index.js +120 -20
  26. package/dist/browser/index.js.map +1 -1
  27. package/dist/browser/{json-editor-BIGVi54h.js → json-editor-DBhkG5TF.js} +3 -4
  28. package/dist/browser/{json-editor-BIGVi54h.js.map → json-editor-DBhkG5TF.js.map} +1 -1
  29. package/dist/browser/{parser-CkF6Qt8V.js → parser-BBzK7bLd.js} +1 -1
  30. package/dist/browser/{parser-CkF6Qt8V.js.map → parser-BBzK7bLd.js.map} +1 -1
  31. package/dist/browser/{schema-context-ZyeclQwy.js → schema-context-p2bhyog_.js} +3 -3
  32. package/dist/browser/{schema-context-ZyeclQwy.js.map → schema-context-p2bhyog_.js.map} +1 -1
  33. package/dist/browser/src-CVV6HzQZ-D-OQvEkh.js +5151 -0
  34. package/dist/browser/src-CVV6HzQZ-D-OQvEkh.js.map +1 -0
  35. package/dist/browser/state-schemas-B47wHvDV.js +694 -0
  36. package/dist/browser/state-schemas-B47wHvDV.js.map +1 -0
  37. package/dist/browser/tslib.es6-CeIASJ2O.js +32 -0
  38. package/dist/browser/tslib.es6-CeIASJ2O.js.map +1 -0
  39. package/dist/node/{button-Da7CxMn7.mjs → button-5bnYEAVq.mjs} +130 -23
  40. package/dist/node/button-5bnYEAVq.mjs.map +1 -0
  41. package/dist/node/chunk-17FXJ3dL.mjs +31 -0
  42. package/dist/node/{dist-CzYOpeXN.mjs → dist-Bf_PIbO7.mjs} +2 -399
  43. package/dist/node/dist-Bf_PIbO7.mjs.map +1 -0
  44. package/dist/node/document-models/index.mjs +2 -1
  45. package/dist/node/documents-XAQfHX5Q.mjs +17 -0
  46. package/dist/node/documents-XAQfHX5Q.mjs.map +1 -0
  47. package/dist/node/editor-BiiLqEe9.mjs +3679 -0
  48. package/dist/node/editor-BiiLqEe9.mjs.map +1 -0
  49. package/dist/node/{editor-CJSAZpIG.mjs → editor-Cp2TC5MJ.mjs} +5 -5
  50. package/dist/node/{editor-CJSAZpIG.mjs.map → editor-Cp2TC5MJ.mjs.map} +1 -1
  51. package/dist/node/editors/document-model-editor/module.mjs +1 -1
  52. package/dist/node/editors/generic-drive-explorer/index.mjs +4 -5
  53. package/dist/node/editors/generic-drive-explorer/index.mjs.map +1 -1
  54. package/dist/node/editors/generic-drive-explorer/module.mjs +1 -1
  55. package/dist/node/folder-view-m_rH84Nz.mjs +962 -0
  56. package/dist/node/folder-view-m_rH84Nz.mjs.map +1 -0
  57. package/dist/node/{graphql-BfAoPeWM.mjs → graphql-BvV3tC1U.mjs} +2 -2
  58. package/dist/node/{graphql-BfAoPeWM.mjs.map → graphql-BvV3tC1U.mjs.map} +1 -1
  59. package/dist/node/{graphql-editor-CnK5kIk9.mjs → graphql-editor-BhF6KN6y.mjs} +6 -7
  60. package/dist/node/{graphql-editor-CnK5kIk9.mjs.map → graphql-editor-BhF6KN6y.mjs.map} +1 -1
  61. package/dist/{browser/hooks-KKcNp2X0.js → node/hooks-Di3FASx-.mjs} +2 -2
  62. package/dist/node/{hooks-D0DcS3MV.mjs.map → hooks-Di3FASx-.mjs.map} +1 -1
  63. package/dist/node/index.mjs +142 -21
  64. package/dist/node/index.mjs.map +1 -1
  65. package/dist/node/{json-editor-j8_JGfcP.mjs → json-editor-Cqc0zuz0.mjs} +3 -4
  66. package/dist/node/{json-editor-j8_JGfcP.mjs.map → json-editor-Cqc0zuz0.mjs.map} +1 -1
  67. package/dist/node/{schema-context-DL8jhi_d.mjs → schema-context-mHmP3Cl6.mjs} +3 -3
  68. package/dist/node/{schema-context-DL8jhi_d.mjs.map → schema-context-mHmP3Cl6.mjs.map} +1 -1
  69. package/dist/node/{connect-D3-HufsW.mjs → src-CVV6HzQZ-CvqjXbXk.mjs} +1829 -11022
  70. package/dist/node/src-CVV6HzQZ-CvqjXbXk.mjs.map +1 -0
  71. package/dist/node/state-schemas-DXG02fMh.mjs +695 -0
  72. package/dist/node/state-schemas-DXG02fMh.mjs.map +1 -0
  73. package/dist/node/{main-7sul-YJl.mjs → tslib.es6-DdiHgz9e.mjs} +3 -203
  74. package/dist/node/tslib.es6-DdiHgz9e.mjs.map +1 -0
  75. package/package.json +7 -7
  76. package/dist/browser/button-CuO8Gh3v.js.map +0 -1
  77. package/dist/browser/connect-kwnl2v6o.js +0 -14328
  78. package/dist/browser/connect-kwnl2v6o.js.map +0 -1
  79. package/dist/browser/dist-B4FWbuEM.js +0 -4148
  80. package/dist/browser/dist-B4FWbuEM.js.map +0 -1
  81. package/dist/browser/dist-BAJ5nRDl.js.map +0 -1
  82. package/dist/browser/dist-D0tSbK8B.js +0 -4721
  83. package/dist/browser/dist-D0tSbK8B.js.map +0 -1
  84. package/dist/browser/document-drive-fcQ4o8i3.js +0 -8320
  85. package/dist/browser/document-drive-fcQ4o8i3.js.map +0 -1
  86. package/dist/browser/documents-J_l59mSV.js.map +0 -1
  87. package/dist/browser/editor-CbJkIqg_.js +0 -1809
  88. package/dist/browser/editor-CbJkIqg_.js.map +0 -1
  89. package/dist/browser/folder-view-CGcqEbak.js +0 -232
  90. package/dist/browser/folder-view-CGcqEbak.js.map +0 -1
  91. package/dist/browser/lib-BWPfFpyy.js +0 -209
  92. package/dist/browser/lib-BWPfFpyy.js.map +0 -1
  93. package/dist/browser/printer-CEYr4JOg.js +0 -604
  94. package/dist/browser/printer-CEYr4JOg.js.map +0 -1
  95. package/dist/browser/state-schemas-C9Nb7S5z.js +0 -298
  96. package/dist/browser/state-schemas-C9Nb7S5z.js.map +0 -1
  97. package/dist/node/button-Da7CxMn7.mjs.map +0 -1
  98. package/dist/node/connect-D3-HufsW.mjs.map +0 -1
  99. package/dist/node/dist-CzYOpeXN.mjs.map +0 -1
  100. package/dist/node/dist-D5Xp9PwJ.mjs +0 -4729
  101. package/dist/node/dist-D5Xp9PwJ.mjs.map +0 -1
  102. package/dist/node/dist-DT7jI9ol.mjs +0 -4148
  103. package/dist/node/dist-DT7jI9ol.mjs.map +0 -1
  104. package/dist/node/document-drive-DuGBBYw5.mjs +0 -8337
  105. package/dist/node/document-drive-DuGBBYw5.mjs.map +0 -1
  106. package/dist/node/documents-DCf53bzO.mjs +0 -747
  107. package/dist/node/documents-DCf53bzO.mjs.map +0 -1
  108. package/dist/node/editor-D8SL0ydm.mjs +0 -1809
  109. package/dist/node/editor-D8SL0ydm.mjs.map +0 -1
  110. package/dist/node/folder-view-ChtWc33j.mjs +0 -232
  111. package/dist/node/folder-view-ChtWc33j.mjs.map +0 -1
  112. package/dist/node/main-7sul-YJl.mjs.map +0 -1
  113. package/dist/node/state-schemas-DURvYjxG.mjs +0 -299
  114. package/dist/node/state-schemas-DURvYjxG.mjs.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"folder-view-m_rH84Nz.mjs","names":["memo","memo","React"],"sources":["../../editors/generic-drive-explorer/utils/select-creatable-modules.ts","../../editors/generic-drive-explorer/components/create-document.tsx","../../../../node_modules/.pnpm/@tanstack+virtual-core@3.13.19/node_modules/@tanstack/virtual-core/dist/esm/utils.js","../../../../node_modules/.pnpm/@tanstack+virtual-core@3.13.19/node_modules/@tanstack/virtual-core/dist/esm/index.js","../../../../node_modules/.pnpm/@tanstack+react-virtual@3.13.19_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/@tanstack/react-virtual/dist/esm/index.js","../../editors/generic-drive-explorer/components/file-content-view.tsx","../../editors/generic-drive-explorer/components/layout.tsx","../../editors/generic-drive-explorer/components/folder-view.tsx"],"sourcesContent":["import type { DocumentModelModule } from \"@powerhousedao/shared/document-model\";\n\n/**\n * The modules a user may pick from when creating a new document. Outside\n * studio mode only the latest version of each document type is offered: new\n * documents should never start on an outdated schema. Builders testing\n * migrations run in studio mode and still get every version.\n */\nexport function selectCreatableModules(\n modules: readonly DocumentModelModule[],\n studioMode: boolean,\n): DocumentModelModule[] {\n if (studioMode) return [...modules];\n const latestByType = new Map<string, DocumentModelModule>();\n for (const module of modules) {\n const id = module.documentModel.global.id;\n const current = latestByType.get(id);\n if (!current || (module.version ?? 1) > (current.version ?? 1)) {\n latestByType.set(id, module);\n }\n }\n return [...latestByType.values()];\n}\n","import { Icon, PowerhouseButton } from \"@powerhousedao/design-system\";\nimport type { DocumentTypeOption } from \"@powerhousedao/design-system/connect\";\nimport { CreateDocumentWithTypeModal } from \"@powerhousedao/design-system/connect\";\nimport {\n addDocument,\n preloadEditorModule,\n setSelectedNode,\n useAllowedDocumentModelModules,\n useDisabledEditors,\n useEditorModules,\n useParentFolderForSelectedNode,\n useSelectedDriveSafe,\n useSelectedFolder,\n useStudioMode,\n useUserPermissions,\n} from \"@powerhousedao/reactor-browser\";\nimport type { DocumentModelModule } from \"@powerhousedao/shared/document-model\";\nimport { useState } from \"react\";\nimport { selectCreatableModules } from \"../utils/select-creatable-modules.js\";\n\nfunction toDocumentTypeOption(\n doc: DocumentModelModule,\n studioMode: boolean,\n): DocumentTypeOption {\n const spec = doc.documentModel.global;\n return {\n documentType: spec.id,\n name: spec.name,\n // Outside studio mode only the latest version is offered, so the version\n // suffix is dropped from the label and creation resolves latest-wins.\n version: studioMode ? doc.version : undefined,\n description: spec.description,\n };\n}\n\nexport function CreateDocument() {\n const [showModal, setShowModal] = useState(false);\n const { isAllowedToCreateDocuments } = useUserPermissions();\n // Respect Connect config: allowedDocumentTypes (allowlist) via the hook,\n // disabledEditors (denylist) subtracted below.\n const allowedDocumentModelModules = useAllowedDocumentModelModules();\n const editorModules = useEditorModules();\n const disabledEditors = useDisabledEditors() ?? [];\n const [selectedDrive] = useSelectedDriveSafe();\n const selectedFolder = useSelectedFolder();\n const parentFolder = useParentFolderForSelectedNode();\n // Drive containers are never documents-in-a-drive; hide them structurally so\n // this shared editor can't fail open when disabledEditors is unset.\n const DRIVE_CONTAINER_TYPES = [\n \"powerhouse/document-drive\",\n \"powerhouse/reactor-drive\",\n ];\n const studioMode = useStudioMode() ?? false;\n const visibleDocumentModelModules = selectCreatableModules(\n allowedDocumentModelModules ?? [],\n studioMode,\n ).filter((module) => {\n const id = module.documentModel.global.id;\n return !DRIVE_CONTAINER_TYPES.includes(id) && !disabledEditors.includes(id);\n });\n const preloadEditorsForType = (documentType: string) =>\n editorModules\n ?.filter((editorModule) =>\n editorModule.documentTypes.includes(documentType),\n )\n .forEach((editorModule) => {\n void preloadEditorModule(editorModule);\n });\n const handleCreate = async ({\n name,\n documentType,\n version,\n }: {\n name: string;\n documentType: string;\n version?: number;\n }) => {\n setShowModal(false);\n if (!selectedDrive) return;\n try {\n const node = await addDocument(\n selectedDrive.header.id,\n name,\n documentType,\n selectedFolder?.id ?? parentFolder?.id,\n undefined,\n undefined,\n undefined,\n version,\n );\n setSelectedNode(node);\n } catch (error) {\n console.error(\"Failed to create document:\", error);\n }\n };\n if (!isAllowedToCreateDocuments) return null;\n if (!visibleDocumentModelModules.length) return null;\n // Rendered in the \"Documents and files\" heading row (see folder-view.tsx),\n // so the button is compact and brings no layout wrapper of its own.\n return (\n <>\n <PowerhouseButton\n className=\"py-2\"\n color=\"blue\"\n icon={<Icon name=\"Plus\" size={14} />}\n onClick={() => setShowModal(true)}\n size=\"small\"\n >\n Create New Document\n </PowerhouseButton>\n <CreateDocumentWithTypeModal\n documentTypes={visibleDocumentModelModules.map((module) =>\n toDocumentTypeOption(module, studioMode),\n )}\n onCreate={(input) => void handleCreate(input)}\n onOpenChange={setShowModal}\n onTypeSelected={preloadEditorsForType}\n open={showModal}\n />\n </>\n );\n}\n","function memo(getDeps, fn, opts) {\n let deps = opts.initialDeps ?? [];\n let result;\n let isInitial = true;\n function memoizedFunction() {\n var _a, _b, _c;\n let depTime;\n if (opts.key && ((_a = opts.debug) == null ? void 0 : _a.call(opts))) depTime = Date.now();\n const newDeps = getDeps();\n const depsChanged = newDeps.length !== deps.length || newDeps.some((dep, index) => deps[index] !== dep);\n if (!depsChanged) {\n return result;\n }\n deps = newDeps;\n let resultTime;\n if (opts.key && ((_b = opts.debug) == null ? void 0 : _b.call(opts))) resultTime = Date.now();\n result = fn(...newDeps);\n if (opts.key && ((_c = opts.debug) == null ? void 0 : _c.call(opts))) {\n const depEndTime = Math.round((Date.now() - depTime) * 100) / 100;\n const resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;\n const resultFpsPercentage = resultEndTime / 16;\n const pad = (str, num) => {\n str = String(str);\n while (str.length < num) {\n str = \" \" + str;\n }\n return str;\n };\n console.info(\n `%c⏱ ${pad(resultEndTime, 5)} /${pad(depEndTime, 5)} ms`,\n `\n font-size: .6rem;\n font-weight: bold;\n color: hsl(${Math.max(\n 0,\n Math.min(120 - 120 * resultFpsPercentage, 120)\n )}deg 100% 31%);`,\n opts == null ? void 0 : opts.key\n );\n }\n if ((opts == null ? void 0 : opts.onChange) && !(isInitial && opts.skipInitialOnChange)) {\n opts.onChange(result);\n }\n isInitial = false;\n return result;\n }\n memoizedFunction.updateDeps = (newDeps) => {\n deps = newDeps;\n };\n return memoizedFunction;\n}\nfunction notUndefined(value, msg) {\n if (value === void 0) {\n throw new Error(`Unexpected undefined${msg ? `: ${msg}` : \"\"}`);\n } else {\n return value;\n }\n}\nconst approxEqual = (a, b) => Math.abs(a - b) < 1.01;\nconst debounce = (targetWindow, fn, ms) => {\n let timeoutId;\n return function(...args) {\n targetWindow.clearTimeout(timeoutId);\n timeoutId = targetWindow.setTimeout(() => fn.apply(this, args), ms);\n };\n};\nexport {\n approxEqual,\n debounce,\n memo,\n notUndefined\n};\n//# sourceMappingURL=utils.js.map\n","import { debounce, memo, notUndefined, approxEqual } from \"./utils.js\";\nconst getRect = (element) => {\n const { offsetWidth, offsetHeight } = element;\n return { width: offsetWidth, height: offsetHeight };\n};\nconst defaultKeyExtractor = (index) => index;\nconst defaultRangeExtractor = (range) => {\n const start = Math.max(range.startIndex - range.overscan, 0);\n const end = Math.min(range.endIndex + range.overscan, range.count - 1);\n const arr = [];\n for (let i = start; i <= end; i++) {\n arr.push(i);\n }\n return arr;\n};\nconst observeElementRect = (instance, cb) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n const targetWindow = instance.targetWindow;\n if (!targetWindow) {\n return;\n }\n const handler = (rect) => {\n const { width, height } = rect;\n cb({ width: Math.round(width), height: Math.round(height) });\n };\n handler(getRect(element));\n if (!targetWindow.ResizeObserver) {\n return () => {\n };\n }\n const observer = new targetWindow.ResizeObserver((entries) => {\n const run = () => {\n const entry = entries[0];\n if (entry == null ? void 0 : entry.borderBoxSize) {\n const box = entry.borderBoxSize[0];\n if (box) {\n handler({ width: box.inlineSize, height: box.blockSize });\n return;\n }\n }\n handler(getRect(element));\n };\n instance.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(run) : run();\n });\n observer.observe(element, { box: \"border-box\" });\n return () => {\n observer.unobserve(element);\n };\n};\nconst addEventListenerOptions = {\n passive: true\n};\nconst observeWindowRect = (instance, cb) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n const handler = () => {\n cb({ width: element.innerWidth, height: element.innerHeight });\n };\n handler();\n element.addEventListener(\"resize\", handler, addEventListenerOptions);\n return () => {\n element.removeEventListener(\"resize\", handler);\n };\n};\nconst supportsScrollend = typeof window == \"undefined\" ? true : \"onscrollend\" in window;\nconst observeElementOffset = (instance, cb) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n const targetWindow = instance.targetWindow;\n if (!targetWindow) {\n return;\n }\n let offset = 0;\n const fallback = instance.options.useScrollendEvent && supportsScrollend ? () => void 0 : debounce(\n targetWindow,\n () => {\n cb(offset, false);\n },\n instance.options.isScrollingResetDelay\n );\n const createHandler = (isScrolling) => () => {\n const { horizontal, isRtl } = instance.options;\n offset = horizontal ? element[\"scrollLeft\"] * (isRtl && -1 || 1) : element[\"scrollTop\"];\n fallback();\n cb(offset, isScrolling);\n };\n const handler = createHandler(true);\n const endHandler = createHandler(false);\n element.addEventListener(\"scroll\", handler, addEventListenerOptions);\n const registerScrollendEvent = instance.options.useScrollendEvent && supportsScrollend;\n if (registerScrollendEvent) {\n element.addEventListener(\"scrollend\", endHandler, addEventListenerOptions);\n }\n return () => {\n element.removeEventListener(\"scroll\", handler);\n if (registerScrollendEvent) {\n element.removeEventListener(\"scrollend\", endHandler);\n }\n };\n};\nconst observeWindowOffset = (instance, cb) => {\n const element = instance.scrollElement;\n if (!element) {\n return;\n }\n const targetWindow = instance.targetWindow;\n if (!targetWindow) {\n return;\n }\n let offset = 0;\n const fallback = instance.options.useScrollendEvent && supportsScrollend ? () => void 0 : debounce(\n targetWindow,\n () => {\n cb(offset, false);\n },\n instance.options.isScrollingResetDelay\n );\n const createHandler = (isScrolling) => () => {\n offset = element[instance.options.horizontal ? \"scrollX\" : \"scrollY\"];\n fallback();\n cb(offset, isScrolling);\n };\n const handler = createHandler(true);\n const endHandler = createHandler(false);\n element.addEventListener(\"scroll\", handler, addEventListenerOptions);\n const registerScrollendEvent = instance.options.useScrollendEvent && supportsScrollend;\n if (registerScrollendEvent) {\n element.addEventListener(\"scrollend\", endHandler, addEventListenerOptions);\n }\n return () => {\n element.removeEventListener(\"scroll\", handler);\n if (registerScrollendEvent) {\n element.removeEventListener(\"scrollend\", endHandler);\n }\n };\n};\nconst measureElement = (element, entry, instance) => {\n if (entry == null ? void 0 : entry.borderBoxSize) {\n const box = entry.borderBoxSize[0];\n if (box) {\n const size = Math.round(\n box[instance.options.horizontal ? \"inlineSize\" : \"blockSize\"]\n );\n return size;\n }\n }\n return element[instance.options.horizontal ? \"offsetWidth\" : \"offsetHeight\"];\n};\nconst windowScroll = (offset, {\n adjustments = 0,\n behavior\n}, instance) => {\n var _a, _b;\n const toOffset = offset + adjustments;\n (_b = (_a = instance.scrollElement) == null ? void 0 : _a.scrollTo) == null ? void 0 : _b.call(_a, {\n [instance.options.horizontal ? \"left\" : \"top\"]: toOffset,\n behavior\n });\n};\nconst elementScroll = (offset, {\n adjustments = 0,\n behavior\n}, instance) => {\n var _a, _b;\n const toOffset = offset + adjustments;\n (_b = (_a = instance.scrollElement) == null ? void 0 : _a.scrollTo) == null ? void 0 : _b.call(_a, {\n [instance.options.horizontal ? \"left\" : \"top\"]: toOffset,\n behavior\n });\n};\nclass Virtualizer {\n constructor(opts) {\n this.unsubs = [];\n this.scrollElement = null;\n this.targetWindow = null;\n this.isScrolling = false;\n this.currentScrollToIndex = null;\n this.measurementsCache = [];\n this.itemSizeCache = /* @__PURE__ */ new Map();\n this.laneAssignments = /* @__PURE__ */ new Map();\n this.pendingMeasuredCacheIndexes = [];\n this.prevLanes = void 0;\n this.lanesChangedFlag = false;\n this.lanesSettling = false;\n this.scrollRect = null;\n this.scrollOffset = null;\n this.scrollDirection = null;\n this.scrollAdjustments = 0;\n this.elementsCache = /* @__PURE__ */ new Map();\n this.observer = /* @__PURE__ */ (() => {\n let _ro = null;\n const get = () => {\n if (_ro) {\n return _ro;\n }\n if (!this.targetWindow || !this.targetWindow.ResizeObserver) {\n return null;\n }\n return _ro = new this.targetWindow.ResizeObserver((entries) => {\n entries.forEach((entry) => {\n const run = () => {\n this._measureElement(entry.target, entry);\n };\n this.options.useAnimationFrameWithResizeObserver ? requestAnimationFrame(run) : run();\n });\n });\n };\n return {\n disconnect: () => {\n var _a;\n (_a = get()) == null ? void 0 : _a.disconnect();\n _ro = null;\n },\n observe: (target) => {\n var _a;\n return (_a = get()) == null ? void 0 : _a.observe(target, { box: \"border-box\" });\n },\n unobserve: (target) => {\n var _a;\n return (_a = get()) == null ? void 0 : _a.unobserve(target);\n }\n };\n })();\n this.range = null;\n this.setOptions = (opts2) => {\n Object.entries(opts2).forEach(([key, value]) => {\n if (typeof value === \"undefined\") delete opts2[key];\n });\n this.options = {\n debug: false,\n initialOffset: 0,\n overscan: 1,\n paddingStart: 0,\n paddingEnd: 0,\n scrollPaddingStart: 0,\n scrollPaddingEnd: 0,\n horizontal: false,\n getItemKey: defaultKeyExtractor,\n rangeExtractor: defaultRangeExtractor,\n onChange: () => {\n },\n measureElement,\n initialRect: { width: 0, height: 0 },\n scrollMargin: 0,\n gap: 0,\n indexAttribute: \"data-index\",\n initialMeasurementsCache: [],\n lanes: 1,\n isScrollingResetDelay: 150,\n enabled: true,\n isRtl: false,\n useScrollendEvent: false,\n useAnimationFrameWithResizeObserver: false,\n ...opts2\n };\n };\n this.notify = (sync) => {\n var _a, _b;\n (_b = (_a = this.options).onChange) == null ? void 0 : _b.call(_a, this, sync);\n };\n this.maybeNotify = memo(\n () => {\n this.calculateRange();\n return [\n this.isScrolling,\n this.range ? this.range.startIndex : null,\n this.range ? this.range.endIndex : null\n ];\n },\n (isScrolling) => {\n this.notify(isScrolling);\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"maybeNotify\",\n debug: () => this.options.debug,\n initialDeps: [\n this.isScrolling,\n this.range ? this.range.startIndex : null,\n this.range ? this.range.endIndex : null\n ]\n }\n );\n this.cleanup = () => {\n this.unsubs.filter(Boolean).forEach((d) => d());\n this.unsubs = [];\n this.observer.disconnect();\n this.scrollElement = null;\n this.targetWindow = null;\n };\n this._didMount = () => {\n return () => {\n this.cleanup();\n };\n };\n this._willUpdate = () => {\n var _a;\n const scrollElement = this.options.enabled ? this.options.getScrollElement() : null;\n if (this.scrollElement !== scrollElement) {\n this.cleanup();\n if (!scrollElement) {\n this.maybeNotify();\n return;\n }\n this.scrollElement = scrollElement;\n if (this.scrollElement && \"ownerDocument\" in this.scrollElement) {\n this.targetWindow = this.scrollElement.ownerDocument.defaultView;\n } else {\n this.targetWindow = ((_a = this.scrollElement) == null ? void 0 : _a.window) ?? null;\n }\n this.elementsCache.forEach((cached) => {\n this.observer.observe(cached);\n });\n this.unsubs.push(\n this.options.observeElementRect(this, (rect) => {\n this.scrollRect = rect;\n this.maybeNotify();\n })\n );\n this.unsubs.push(\n this.options.observeElementOffset(this, (offset, isScrolling) => {\n this.scrollAdjustments = 0;\n this.scrollDirection = isScrolling ? this.getScrollOffset() < offset ? \"forward\" : \"backward\" : null;\n this.scrollOffset = offset;\n this.isScrolling = isScrolling;\n this.maybeNotify();\n })\n );\n this._scrollToOffset(this.getScrollOffset(), {\n adjustments: void 0,\n behavior: void 0\n });\n }\n };\n this.getSize = () => {\n if (!this.options.enabled) {\n this.scrollRect = null;\n return 0;\n }\n this.scrollRect = this.scrollRect ?? this.options.initialRect;\n return this.scrollRect[this.options.horizontal ? \"width\" : \"height\"];\n };\n this.getScrollOffset = () => {\n if (!this.options.enabled) {\n this.scrollOffset = null;\n return 0;\n }\n this.scrollOffset = this.scrollOffset ?? (typeof this.options.initialOffset === \"function\" ? this.options.initialOffset() : this.options.initialOffset);\n return this.scrollOffset;\n };\n this.getFurthestMeasurement = (measurements, index) => {\n const furthestMeasurementsFound = /* @__PURE__ */ new Map();\n const furthestMeasurements = /* @__PURE__ */ new Map();\n for (let m = index - 1; m >= 0; m--) {\n const measurement = measurements[m];\n if (furthestMeasurementsFound.has(measurement.lane)) {\n continue;\n }\n const previousFurthestMeasurement = furthestMeasurements.get(\n measurement.lane\n );\n if (previousFurthestMeasurement == null || measurement.end > previousFurthestMeasurement.end) {\n furthestMeasurements.set(measurement.lane, measurement);\n } else if (measurement.end < previousFurthestMeasurement.end) {\n furthestMeasurementsFound.set(measurement.lane, true);\n }\n if (furthestMeasurementsFound.size === this.options.lanes) {\n break;\n }\n }\n return furthestMeasurements.size === this.options.lanes ? Array.from(furthestMeasurements.values()).sort((a, b) => {\n if (a.end === b.end) {\n return a.index - b.index;\n }\n return a.end - b.end;\n })[0] : void 0;\n };\n this.getMeasurementOptions = memo(\n () => [\n this.options.count,\n this.options.paddingStart,\n this.options.scrollMargin,\n this.options.getItemKey,\n this.options.enabled,\n this.options.lanes\n ],\n (count, paddingStart, scrollMargin, getItemKey, enabled, lanes) => {\n const lanesChanged = this.prevLanes !== void 0 && this.prevLanes !== lanes;\n if (lanesChanged) {\n this.lanesChangedFlag = true;\n }\n this.prevLanes = lanes;\n this.pendingMeasuredCacheIndexes = [];\n return {\n count,\n paddingStart,\n scrollMargin,\n getItemKey,\n enabled,\n lanes\n };\n },\n {\n key: false\n }\n );\n this.getMeasurements = memo(\n () => [this.getMeasurementOptions(), this.itemSizeCache],\n ({ count, paddingStart, scrollMargin, getItemKey, enabled, lanes }, itemSizeCache) => {\n if (!enabled) {\n this.measurementsCache = [];\n this.itemSizeCache.clear();\n this.laneAssignments.clear();\n return [];\n }\n if (this.laneAssignments.size > count) {\n for (const index of this.laneAssignments.keys()) {\n if (index >= count) {\n this.laneAssignments.delete(index);\n }\n }\n }\n if (this.lanesChangedFlag) {\n this.lanesChangedFlag = false;\n this.lanesSettling = true;\n this.measurementsCache = [];\n this.itemSizeCache.clear();\n this.laneAssignments.clear();\n this.pendingMeasuredCacheIndexes = [];\n }\n if (this.measurementsCache.length === 0 && !this.lanesSettling) {\n this.measurementsCache = this.options.initialMeasurementsCache;\n this.measurementsCache.forEach((item) => {\n this.itemSizeCache.set(item.key, item.size);\n });\n }\n const min = this.lanesSettling ? 0 : this.pendingMeasuredCacheIndexes.length > 0 ? Math.min(...this.pendingMeasuredCacheIndexes) : 0;\n this.pendingMeasuredCacheIndexes = [];\n if (this.lanesSettling && this.measurementsCache.length === count) {\n this.lanesSettling = false;\n }\n const measurements = this.measurementsCache.slice(0, min);\n const laneLastIndex = new Array(lanes).fill(\n void 0\n );\n for (let m = 0; m < min; m++) {\n const item = measurements[m];\n if (item) {\n laneLastIndex[item.lane] = m;\n }\n }\n for (let i = min; i < count; i++) {\n const key = getItemKey(i);\n const cachedLane = this.laneAssignments.get(i);\n let lane;\n let start;\n if (cachedLane !== void 0 && this.options.lanes > 1) {\n lane = cachedLane;\n const prevIndex = laneLastIndex[lane];\n const prevInLane = prevIndex !== void 0 ? measurements[prevIndex] : void 0;\n start = prevInLane ? prevInLane.end + this.options.gap : paddingStart + scrollMargin;\n } else {\n const furthestMeasurement = this.options.lanes === 1 ? measurements[i - 1] : this.getFurthestMeasurement(measurements, i);\n start = furthestMeasurement ? furthestMeasurement.end + this.options.gap : paddingStart + scrollMargin;\n lane = furthestMeasurement ? furthestMeasurement.lane : i % this.options.lanes;\n if (this.options.lanes > 1) {\n this.laneAssignments.set(i, lane);\n }\n }\n const measuredSize = itemSizeCache.get(key);\n const size = typeof measuredSize === \"number\" ? measuredSize : this.options.estimateSize(i);\n const end = start + size;\n measurements[i] = {\n index: i,\n start,\n size,\n end,\n key,\n lane\n };\n laneLastIndex[lane] = i;\n }\n this.measurementsCache = measurements;\n return measurements;\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"getMeasurements\",\n debug: () => this.options.debug\n }\n );\n this.calculateRange = memo(\n () => [\n this.getMeasurements(),\n this.getSize(),\n this.getScrollOffset(),\n this.options.lanes\n ],\n (measurements, outerSize, scrollOffset, lanes) => {\n return this.range = measurements.length > 0 && outerSize > 0 ? calculateRange({\n measurements,\n outerSize,\n scrollOffset,\n lanes\n }) : null;\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"calculateRange\",\n debug: () => this.options.debug\n }\n );\n this.getVirtualIndexes = memo(\n () => {\n let startIndex = null;\n let endIndex = null;\n const range = this.calculateRange();\n if (range) {\n startIndex = range.startIndex;\n endIndex = range.endIndex;\n }\n this.maybeNotify.updateDeps([this.isScrolling, startIndex, endIndex]);\n return [\n this.options.rangeExtractor,\n this.options.overscan,\n this.options.count,\n startIndex,\n endIndex\n ];\n },\n (rangeExtractor, overscan, count, startIndex, endIndex) => {\n return startIndex === null || endIndex === null ? [] : rangeExtractor({\n startIndex,\n endIndex,\n overscan,\n count\n });\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"getVirtualIndexes\",\n debug: () => this.options.debug\n }\n );\n this.indexFromElement = (node) => {\n const attributeName = this.options.indexAttribute;\n const indexStr = node.getAttribute(attributeName);\n if (!indexStr) {\n console.warn(\n `Missing attribute name '${attributeName}={index}' on measured element.`\n );\n return -1;\n }\n return parseInt(indexStr, 10);\n };\n this._measureElement = (node, entry) => {\n const index = this.indexFromElement(node);\n const item = this.measurementsCache[index];\n if (!item) {\n return;\n }\n const key = item.key;\n const prevNode = this.elementsCache.get(key);\n if (prevNode !== node) {\n if (prevNode) {\n this.observer.unobserve(prevNode);\n }\n this.observer.observe(node);\n this.elementsCache.set(key, node);\n }\n if (node.isConnected) {\n this.resizeItem(index, this.options.measureElement(node, entry, this));\n }\n };\n this.resizeItem = (index, size) => {\n const item = this.measurementsCache[index];\n if (!item) {\n return;\n }\n const itemSize = this.itemSizeCache.get(item.key) ?? item.size;\n const delta = size - itemSize;\n if (delta !== 0) {\n if (this.shouldAdjustScrollPositionOnItemSizeChange !== void 0 ? this.shouldAdjustScrollPositionOnItemSizeChange(item, delta, this) : item.start < this.getScrollOffset() + this.scrollAdjustments) {\n if (process.env.NODE_ENV !== \"production\" && this.options.debug) {\n console.info(\"correction\", delta);\n }\n this._scrollToOffset(this.getScrollOffset(), {\n adjustments: this.scrollAdjustments += delta,\n behavior: void 0\n });\n }\n this.pendingMeasuredCacheIndexes.push(item.index);\n this.itemSizeCache = new Map(this.itemSizeCache.set(item.key, size));\n this.notify(false);\n }\n };\n this.measureElement = (node) => {\n if (!node) {\n this.elementsCache.forEach((cached, key) => {\n if (!cached.isConnected) {\n this.observer.unobserve(cached);\n this.elementsCache.delete(key);\n }\n });\n return;\n }\n this._measureElement(node, void 0);\n };\n this.getVirtualItems = memo(\n () => [this.getVirtualIndexes(), this.getMeasurements()],\n (indexes, measurements) => {\n const virtualItems = [];\n for (let k = 0, len = indexes.length; k < len; k++) {\n const i = indexes[k];\n const measurement = measurements[i];\n virtualItems.push(measurement);\n }\n return virtualItems;\n },\n {\n key: process.env.NODE_ENV !== \"production\" && \"getVirtualItems\",\n debug: () => this.options.debug\n }\n );\n this.getVirtualItemForOffset = (offset) => {\n const measurements = this.getMeasurements();\n if (measurements.length === 0) {\n return void 0;\n }\n return notUndefined(\n measurements[findNearestBinarySearch(\n 0,\n measurements.length - 1,\n (index) => notUndefined(measurements[index]).start,\n offset\n )]\n );\n };\n this.getMaxScrollOffset = () => {\n if (!this.scrollElement) return 0;\n if (\"scrollHeight\" in this.scrollElement) {\n return this.options.horizontal ? this.scrollElement.scrollWidth - this.scrollElement.clientWidth : this.scrollElement.scrollHeight - this.scrollElement.clientHeight;\n } else {\n const doc = this.scrollElement.document.documentElement;\n return this.options.horizontal ? doc.scrollWidth - this.scrollElement.innerWidth : doc.scrollHeight - this.scrollElement.innerHeight;\n }\n };\n this.getOffsetForAlignment = (toOffset, align, itemSize = 0) => {\n if (!this.scrollElement) return 0;\n const size = this.getSize();\n const scrollOffset = this.getScrollOffset();\n if (align === \"auto\") {\n align = toOffset >= scrollOffset + size ? \"end\" : \"start\";\n }\n if (align === \"center\") {\n toOffset += (itemSize - size) / 2;\n } else if (align === \"end\") {\n toOffset -= size;\n }\n const maxOffset = this.getMaxScrollOffset();\n return Math.max(Math.min(maxOffset, toOffset), 0);\n };\n this.getOffsetForIndex = (index, align = \"auto\") => {\n index = Math.max(0, Math.min(index, this.options.count - 1));\n const item = this.measurementsCache[index];\n if (!item) {\n return void 0;\n }\n const size = this.getSize();\n const scrollOffset = this.getScrollOffset();\n if (align === \"auto\") {\n if (item.end >= scrollOffset + size - this.options.scrollPaddingEnd) {\n align = \"end\";\n } else if (item.start <= scrollOffset + this.options.scrollPaddingStart) {\n align = \"start\";\n } else {\n return [scrollOffset, align];\n }\n }\n if (align === \"end\" && index === this.options.count - 1) {\n return [this.getMaxScrollOffset(), align];\n }\n const toOffset = align === \"end\" ? item.end + this.options.scrollPaddingEnd : item.start - this.options.scrollPaddingStart;\n return [\n this.getOffsetForAlignment(toOffset, align, item.size),\n align\n ];\n };\n this.isDynamicMode = () => this.elementsCache.size > 0;\n this.scrollToOffset = (toOffset, { align = \"start\", behavior } = {}) => {\n if (behavior === \"smooth\" && this.isDynamicMode()) {\n console.warn(\n \"The `smooth` scroll behavior is not fully supported with dynamic size.\"\n );\n }\n this._scrollToOffset(this.getOffsetForAlignment(toOffset, align), {\n adjustments: void 0,\n behavior\n });\n };\n this.scrollToIndex = (index, { align: initialAlign = \"auto\", behavior } = {}) => {\n if (behavior === \"smooth\" && this.isDynamicMode()) {\n console.warn(\n \"The `smooth` scroll behavior is not fully supported with dynamic size.\"\n );\n }\n index = Math.max(0, Math.min(index, this.options.count - 1));\n this.currentScrollToIndex = index;\n let attempts = 0;\n const maxAttempts = 10;\n const tryScroll = (currentAlign) => {\n if (!this.targetWindow) return;\n const offsetInfo = this.getOffsetForIndex(index, currentAlign);\n if (!offsetInfo) {\n console.warn(\"Failed to get offset for index:\", index);\n return;\n }\n const [offset, align] = offsetInfo;\n this._scrollToOffset(offset, { adjustments: void 0, behavior });\n this.targetWindow.requestAnimationFrame(() => {\n if (!this.targetWindow) return;\n const verify = () => {\n if (this.currentScrollToIndex !== index) return;\n const currentOffset = this.getScrollOffset();\n const afterInfo = this.getOffsetForIndex(index, align);\n if (!afterInfo) {\n console.warn(\"Failed to get offset for index:\", index);\n return;\n }\n if (!approxEqual(afterInfo[0], currentOffset)) {\n scheduleRetry(align);\n }\n };\n if (this.isDynamicMode()) {\n this.targetWindow.requestAnimationFrame(verify);\n } else {\n verify();\n }\n });\n };\n const scheduleRetry = (align) => {\n if (!this.targetWindow) return;\n if (this.currentScrollToIndex !== index) return;\n attempts++;\n if (attempts < maxAttempts) {\n if (process.env.NODE_ENV !== \"production\" && this.options.debug) {\n console.info(\"Schedule retry\", attempts, maxAttempts);\n }\n this.targetWindow.requestAnimationFrame(() => tryScroll(align));\n } else {\n console.warn(\n `Failed to scroll to index ${index} after ${maxAttempts} attempts.`\n );\n }\n };\n tryScroll(initialAlign);\n };\n this.scrollBy = (delta, { behavior } = {}) => {\n if (behavior === \"smooth\" && this.isDynamicMode()) {\n console.warn(\n \"The `smooth` scroll behavior is not fully supported with dynamic size.\"\n );\n }\n this._scrollToOffset(this.getScrollOffset() + delta, {\n adjustments: void 0,\n behavior\n });\n };\n this.getTotalSize = () => {\n var _a;\n const measurements = this.getMeasurements();\n let end;\n if (measurements.length === 0) {\n end = this.options.paddingStart;\n } else if (this.options.lanes === 1) {\n end = ((_a = measurements[measurements.length - 1]) == null ? void 0 : _a.end) ?? 0;\n } else {\n const endByLane = Array(this.options.lanes).fill(null);\n let endIndex = measurements.length - 1;\n while (endIndex >= 0 && endByLane.some((val) => val === null)) {\n const item = measurements[endIndex];\n if (endByLane[item.lane] === null) {\n endByLane[item.lane] = item.end;\n }\n endIndex--;\n }\n end = Math.max(...endByLane.filter((val) => val !== null));\n }\n return Math.max(\n end - this.options.scrollMargin + this.options.paddingEnd,\n 0\n );\n };\n this._scrollToOffset = (offset, {\n adjustments,\n behavior\n }) => {\n this.options.scrollToFn(offset, { behavior, adjustments }, this);\n };\n this.measure = () => {\n this.itemSizeCache = /* @__PURE__ */ new Map();\n this.laneAssignments = /* @__PURE__ */ new Map();\n this.notify(false);\n };\n this.setOptions(opts);\n }\n}\nconst findNearestBinarySearch = (low, high, getCurrentValue, value) => {\n while (low <= high) {\n const middle = (low + high) / 2 | 0;\n const currentValue = getCurrentValue(middle);\n if (currentValue < value) {\n low = middle + 1;\n } else if (currentValue > value) {\n high = middle - 1;\n } else {\n return middle;\n }\n }\n if (low > 0) {\n return low - 1;\n } else {\n return 0;\n }\n};\nfunction calculateRange({\n measurements,\n outerSize,\n scrollOffset,\n lanes\n}) {\n const lastIndex = measurements.length - 1;\n const getOffset = (index) => measurements[index].start;\n if (measurements.length <= lanes) {\n return {\n startIndex: 0,\n endIndex: lastIndex\n };\n }\n let startIndex = findNearestBinarySearch(\n 0,\n lastIndex,\n getOffset,\n scrollOffset\n );\n let endIndex = startIndex;\n if (lanes === 1) {\n while (endIndex < lastIndex && measurements[endIndex].end < scrollOffset + outerSize) {\n endIndex++;\n }\n } else if (lanes > 1) {\n const endPerLane = Array(lanes).fill(0);\n while (endIndex < lastIndex && endPerLane.some((pos) => pos < scrollOffset + outerSize)) {\n const item = measurements[endIndex];\n endPerLane[item.lane] = item.end;\n endIndex++;\n }\n const startPerLane = Array(lanes).fill(scrollOffset + outerSize);\n while (startIndex >= 0 && startPerLane.some((pos) => pos >= scrollOffset)) {\n const item = measurements[startIndex];\n startPerLane[item.lane] = item.start;\n startIndex--;\n }\n startIndex = Math.max(0, startIndex - startIndex % lanes);\n endIndex = Math.min(lastIndex, endIndex + (lanes - 1 - endIndex % lanes));\n }\n return { startIndex, endIndex };\n}\nexport {\n Virtualizer,\n approxEqual,\n debounce,\n defaultKeyExtractor,\n defaultRangeExtractor,\n elementScroll,\n measureElement,\n memo,\n notUndefined,\n observeElementOffset,\n observeElementRect,\n observeWindowOffset,\n observeWindowRect,\n windowScroll\n};\n//# sourceMappingURL=index.js.map\n","import * as React from \"react\";\nimport { flushSync } from \"react-dom\";\nimport { Virtualizer, elementScroll, observeElementOffset, observeElementRect, windowScroll, observeWindowOffset, observeWindowRect } from \"@tanstack/virtual-core\";\nexport * from \"@tanstack/virtual-core\";\nconst useIsomorphicLayoutEffect = typeof document !== \"undefined\" ? React.useLayoutEffect : React.useEffect;\nfunction useVirtualizerBase({\n useFlushSync = true,\n ...options\n}) {\n const rerender = React.useReducer(() => ({}), {})[1];\n const resolvedOptions = {\n ...options,\n onChange: (instance2, sync) => {\n var _a;\n if (useFlushSync && sync) {\n flushSync(rerender);\n } else {\n rerender();\n }\n (_a = options.onChange) == null ? void 0 : _a.call(options, instance2, sync);\n }\n };\n const [instance] = React.useState(\n () => new Virtualizer(resolvedOptions)\n );\n instance.setOptions(resolvedOptions);\n useIsomorphicLayoutEffect(() => {\n return instance._didMount();\n }, []);\n useIsomorphicLayoutEffect(() => {\n return instance._willUpdate();\n });\n return instance;\n}\nfunction useVirtualizer(options) {\n return useVirtualizerBase({\n observeElementRect,\n observeElementOffset,\n scrollToFn: elementScroll,\n ...options\n });\n}\nfunction useWindowVirtualizer(options) {\n return useVirtualizerBase({\n getScrollElement: () => typeof document !== \"undefined\" ? window : null,\n observeElementRect: observeWindowRect,\n observeElementOffset: observeWindowOffset,\n scrollToFn: windowScroll,\n initialOffset: () => typeof document !== \"undefined\" ? window.scrollY : 0,\n ...options\n });\n}\nexport {\n useVirtualizer,\n useWindowVirtualizer\n};\n//# sourceMappingURL=index.js.map\n","import { useWindowSize } from \"@powerhousedao/design-system\";\nimport { FileItem } from \"@powerhousedao/design-system/connect\";\nimport {\n isFileNodeKind,\n useNodesInSelectedDriveOrFolder,\n} from \"@powerhousedao/reactor-browser\";\nimport { useVirtualizer } from \"@tanstack/react-virtual\";\nimport type { FileNode } from \"@powerhousedao/shared/document-drive\";\nimport React, { useRef } from \"react\";\n\nconst GAP = 8;\nconst ITEM_WIDTH = 256;\nconst ITEM_HEIGHT = 48;\n\nconst USED_SPACE = 420;\n\nexport function FileContentView() {\n const parentRef = useRef(null);\n const windowSize = useWindowSize();\n const availableWidth = windowSize.innerWidth - USED_SPACE;\n const nodes = useNodesInSelectedDriveOrFolder();\n const fileNodes = nodes.filter((n) => isFileNodeKind(n));\n const columnCount = Math.floor(availableWidth / (ITEM_WIDTH + GAP)) || 1;\n const rowCount = Math.ceil(fileNodes.length / columnCount);\n\n const rowVirtualizer = useVirtualizer({\n count: rowCount,\n getScrollElement: () => parentRef.current,\n estimateSize: (index) => {\n if (index > 0) {\n return ITEM_HEIGHT + GAP;\n }\n return ITEM_HEIGHT;\n },\n overscan: 5,\n });\n\n const columnVirtualizer = useVirtualizer({\n horizontal: true,\n count: columnCount,\n getScrollElement: () => parentRef.current,\n estimateSize: (index) => {\n if (index > 0) {\n return ITEM_WIDTH + GAP;\n }\n return ITEM_WIDTH;\n },\n overscan: 5,\n });\n\n const getItemIndex = (rowIndex: number, columnIndex: number) =>\n rowIndex * columnCount + columnIndex;\n\n const getItem = (rowIndex: number, columnIndex: number): FileNode | null => {\n const index = getItemIndex(rowIndex, columnIndex);\n return fileNodes[index] || null;\n };\n\n if (fileNodes.length === 0) {\n return (\n <div className=\"mb-8 text-sm text-muted-foreground\">\n No documents or files 📄\n </div>\n );\n }\n\n const renderItem = (rowIndex: number, columnIndex: number) => {\n const fileNode = getItem(rowIndex, columnIndex);\n\n if (!fileNode) {\n return null;\n }\n\n return (\n <div\n style={{\n marginLeft: columnIndex === 0 ? 0 : GAP,\n }}\n >\n <FileItem key={fileNode.id} fileNode={fileNode} />\n </div>\n );\n };\n\n return (\n <div\n ref={parentRef}\n style={{\n width: `100%`,\n overflow: \"auto\",\n }}\n >\n <div\n style={{\n height: `${rowVirtualizer.getTotalSize()}px`,\n width: `${columnVirtualizer.getTotalSize()}px`,\n position: \"relative\",\n }}\n >\n {rowVirtualizer.getVirtualItems().map((virtualRow) => (\n <React.Fragment key={virtualRow.key}>\n {columnVirtualizer.getVirtualItems().map((virtualColumn) => (\n <div\n key={virtualColumn.key}\n style={{\n position: \"absolute\",\n top: 0,\n left: 0,\n marginTop: virtualRow.index === 0 ? 0 : GAP,\n width: `${virtualColumn.size}px`,\n height: `${ITEM_HEIGHT}px`,\n overflow: \"hidden\",\n transform: `translateX(${virtualColumn.start}px) translateY(${virtualRow.start}px)`,\n }}\n >\n {renderItem(virtualRow.index, virtualColumn.index)}\n </div>\n ))}\n </React.Fragment>\n ))}\n </div>\n </div>\n );\n}\n","import { twMerge } from \"tailwind-merge\";\nimport type { BaseProps } from \"../utils/types.js\";\n\nexport function DriveLayout({ children, className, ...props }: BaseProps) {\n return (\n <DriveLayout.Container className={className} {...props}>\n {children}\n </DriveLayout.Container>\n );\n}\n\nDriveLayout.Container = function DriveLayoutContainer({\n children,\n className,\n containerProps,\n ...props\n}: BaseProps) {\n return (\n <div\n className={twMerge(\"flex grow flex-col overflow-auto\", className)}\n {...containerProps}\n {...props}\n >\n {children}\n </div>\n );\n};\n\nDriveLayout.Header = function DriveLayoutHeader({\n children,\n className,\n containerProps,\n ...props\n}: BaseProps) {\n return (\n <div\n className={twMerge(\"flex-0\", className)}\n {...containerProps}\n {...props}\n >\n {children}\n </div>\n );\n};\n\nDriveLayout.Content = function DriveLayoutContent({\n children,\n className,\n containerProps,\n ...props\n}: BaseProps) {\n return (\n <div\n className={twMerge(\"mb-5 flex-1 px-4\", className)}\n {...containerProps}\n {...props}\n >\n {children}\n </div>\n );\n};\n\nDriveLayout.ContentSection = function DriveLayoutContentSection({\n title,\n actions,\n children,\n className,\n containerProps,\n ...props\n}: BaseProps & { title?: string; actions?: React.ReactNode }) {\n return (\n <div className={twMerge(className)} {...containerProps} {...props}>\n {(title || actions) && (\n <div className=\"mb-4 flex items-center justify-between gap-3\">\n {title && (\n <div className=\"text-base font-semibold text-foreground\">\n {title}\n </div>\n )}\n {actions}\n </div>\n )}\n <div className=\"flex flex-wrap gap-2\">{children}</div>\n </div>\n );\n};\n","import { FolderItem } from \"@powerhousedao/design-system/connect\";\nimport {\n isFolderNodeKind,\n useNodesInSelectedDriveOrFolder,\n} from \"@powerhousedao/reactor-browser\";\nimport { twMerge } from \"tailwind-merge\";\nimport { CreateDocument } from \"./create-document.js\";\nimport { FileContentView } from \"./file-content-view.js\";\nimport { DriveLayout } from \"./layout.js\";\n\nexport function FolderView(props: { className?: string }) {\n const { className } = props;\n const nodes = useNodesInSelectedDriveOrFolder();\n const folderNodes = nodes.filter((n) => isFolderNodeKind(n));\n return (\n <div\n className={twMerge(\n \"rounded-md border-2 border-transparent p-2\",\n className,\n )}\n >\n <DriveLayout.ContentSection title=\"Folders\" className=\"mb-4\">\n {folderNodes.length > 0 ? (\n folderNodes.map((folderNode) => (\n <FolderItem key={folderNode.id} folderNode={folderNode} />\n ))\n ) : (\n <div className=\"mb-8 text-sm text-muted-foreground\">\n No documents or files 📄\n </div>\n )}\n </DriveLayout.ContentSection>\n <DriveLayout.ContentSection\n title=\"Documents and files\"\n actions={<CreateDocument />}\n >\n <div className=\"w-full\">\n <FileContentView />\n </div>\n </DriveLayout.ContentSection>\n </div>\n );\n}\n\nexport default FolderView;\n"],"x_google_ignoreList":[2,3,4],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { D as __commonJSMin } from "./dist-DT7jI9ol.mjs";
1
+ import { t as __commonJSMin } from "./chunk-17FXJ3dL.mjs";
2
2
  //#region ../../node_modules/.pnpm/graphql@16.12.0/node_modules/graphql/version.js
3
3
  var require_version = /* @__PURE__ */ __commonJSMin(((exports) => {
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -14549,4 +14549,4 @@ var require_graphql = /* @__PURE__ */ __commonJSMin(((exports) => {
14549
14549
  //#endregion
14550
14550
  export { require_validate as n, require_graphql as t };
14551
14551
 
14552
- //# sourceMappingURL=graphql-BfAoPeWM.mjs.map
14552
+ //# sourceMappingURL=graphql-BvV3tC1U.mjs.map