@powerhousedao/powerhouse-vetra-packages 6.2.2-dev.61 → 6.2.2-dev.63
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.
- package/dist/browser/assets/{entry-D-JZwwGk.js → entry-ETEKn6Sc.js} +2 -2
- package/dist/browser/assets/{projection-entry-64-WZZjU.js → projection-entry-CUkz9JP4.js} +2 -2
- package/dist/browser/{button-CuO8Gh3v.js → button-BRfN_ySr.js} +4 -4
- package/dist/browser/{button-CuO8Gh3v.js.map → button-BRfN_ySr.js.map} +1 -1
- package/dist/browser/{connect-D1KIMa_5.js → connect-eyZmAtfZ.js} +4 -4
- package/dist/browser/{connect-D1KIMa_5.js.map → connect-eyZmAtfZ.js.map} +1 -1
- package/dist/browser/{dist-dmLcxsWV.js → dist-Ce3UTI0a.js} +40 -11
- package/dist/browser/dist-Ce3UTI0a.js.map +1 -0
- package/dist/browser/{document-drive-cxHraTVQ.js → document-drive-wNtf1eGn.js} +2 -2
- package/dist/browser/document-drive-wNtf1eGn.js.map +1 -0
- package/dist/browser/document-models/index.js +1 -1
- package/dist/browser/{documents-J_l59mSV.js → documents-j_qy61X1.js} +19 -19
- package/dist/browser/{documents-J_l59mSV.js.map → documents-j_qy61X1.js.map} +1 -1
- package/dist/browser/{editor-BAUTcFP2.js → editor-DGsUKlFB.js} +8 -8
- package/dist/browser/{editor-BAUTcFP2.js.map → editor-DGsUKlFB.js.map} +1 -1
- package/dist/browser/{editor-PmQcB82h.js → editor-Dgqm4M7d.js} +5 -5
- package/dist/browser/{editor-PmQcB82h.js.map → editor-Dgqm4M7d.js.map} +1 -1
- package/dist/browser/editors/document-model-editor/module.js +1 -1
- package/dist/browser/editors/generic-drive-explorer/index.js +10 -10
- package/dist/browser/editors/generic-drive-explorer/index.js.map +1 -1
- package/dist/browser/editors/generic-drive-explorer/module.js +1 -1
- package/dist/browser/{folder-view-CWnDdLMC.js → folder-view-C8wlYBSB.js} +3 -3
- package/dist/browser/{folder-view-CWnDdLMC.js.map → folder-view-C8wlYBSB.js.map} +1 -1
- package/dist/browser/{graphql-editor-Cq_L5IUQ.js → graphql-editor-C4xUjml3.js} +6 -6
- package/dist/browser/{graphql-editor-Cq_L5IUQ.js.map → graphql-editor-C4xUjml3.js.map} +1 -1
- package/dist/{node/hooks-D0DcS3MV.mjs → browser/hooks-BgIeO-WG.js} +2 -2
- package/dist/browser/{hooks-KKcNp2X0.js.map → hooks-BgIeO-WG.js.map} +1 -1
- package/dist/browser/index.js +2 -2
- package/dist/browser/{json-editor-D8lysNHE.js → json-editor-BqEi3G6J.js} +4 -4
- package/dist/browser/{json-editor-D8lysNHE.js.map → json-editor-BqEi3G6J.js.map} +1 -1
- package/dist/browser/{lib-DKvC6Hnv.js → lib-jWr2apcg.js} +2 -2
- package/dist/browser/lib-jWr2apcg.js.map +1 -0
- package/dist/browser/{schema-context-ZyeclQwy.js → schema-context-ClCYFYSx.js} +2 -2
- package/dist/browser/{schema-context-ZyeclQwy.js.map → schema-context-ClCYFYSx.js.map} +1 -1
- package/dist/browser/{state-schemas-NyThZN-C.js → state-schemas-B2qdaBbw.js} +6 -6
- package/dist/browser/{state-schemas-NyThZN-C.js.map → state-schemas-B2qdaBbw.js.map} +1 -1
- package/dist/node/{button-Da7CxMn7.mjs → button-CLUmz7-t.mjs} +4 -4
- package/dist/node/{button-Da7CxMn7.mjs.map → button-CLUmz7-t.mjs.map} +1 -1
- package/dist/node/{connect-BixjoUPL.mjs → connect-Ob89Cep9.mjs} +4 -4
- package/dist/node/{connect-BixjoUPL.mjs.map → connect-Ob89Cep9.mjs.map} +1 -1
- package/dist/node/{dist-BtnA_6jV.mjs → dist-BS1H0mzz.mjs} +40 -11
- package/dist/node/dist-BS1H0mzz.mjs.map +1 -0
- package/dist/node/{document-drive-ChLoGFvU.mjs → document-drive-DJ5gDA3q.mjs} +2 -2
- package/dist/node/document-drive-DJ5gDA3q.mjs.map +1 -0
- package/dist/node/document-models/index.mjs +1 -1
- package/dist/node/{documents-DCf53bzO.mjs → documents-Bh_lxLTV.mjs} +19 -19
- package/dist/node/{documents-DCf53bzO.mjs.map → documents-Bh_lxLTV.mjs.map} +1 -1
- package/dist/node/{editor-C8Drq-be.mjs → editor-D6aXyxw_.mjs} +5 -5
- package/dist/node/{editor-C8Drq-be.mjs.map → editor-D6aXyxw_.mjs.map} +1 -1
- package/dist/node/{editor-cfoi-9LF.mjs → editor-DzZC_vMr.mjs} +8 -8
- package/dist/node/{editor-cfoi-9LF.mjs.map → editor-DzZC_vMr.mjs.map} +1 -1
- package/dist/node/editors/document-model-editor/module.mjs +1 -1
- package/dist/node/editors/generic-drive-explorer/index.mjs +10 -10
- package/dist/node/editors/generic-drive-explorer/index.mjs.map +1 -1
- package/dist/node/editors/generic-drive-explorer/module.mjs +1 -1
- package/dist/node/{folder-view--I9GOsir.mjs → folder-view-DusttXOQ.mjs} +3 -3
- package/dist/node/{folder-view--I9GOsir.mjs.map → folder-view-DusttXOQ.mjs.map} +1 -1
- package/dist/node/{graphql-editor-BKGQ8ojN.mjs → graphql-editor-DVE99K1z.mjs} +5 -5
- package/dist/node/{graphql-editor-BKGQ8ojN.mjs.map → graphql-editor-DVE99K1z.mjs.map} +1 -1
- package/dist/{browser/hooks-KKcNp2X0.js → node/hooks-B7KF2A2g.mjs} +2 -2
- package/dist/node/{hooks-D0DcS3MV.mjs.map → hooks-B7KF2A2g.mjs.map} +1 -1
- package/dist/node/index.mjs +2 -2
- package/dist/node/{json-editor-32paCJkU.mjs → json-editor-BZAbIrXT.mjs} +4 -4
- package/dist/node/{json-editor-32paCJkU.mjs.map → json-editor-BZAbIrXT.mjs.map} +1 -1
- package/dist/node/{main-DRfab-vL.mjs → main-B4ewNIkA.mjs} +2 -2
- package/dist/node/main-B4ewNIkA.mjs.map +1 -0
- package/dist/node/{schema-context-DL8jhi_d.mjs → schema-context-pefmG2VW.mjs} +2 -2
- package/dist/node/{schema-context-DL8jhi_d.mjs.map → schema-context-pefmG2VW.mjs.map} +1 -1
- package/dist/node/{state-schemas-ClrkM0Fn.mjs → state-schemas-quhcC1FE.mjs} +6 -6
- package/dist/node/{state-schemas-ClrkM0Fn.mjs.map → state-schemas-quhcC1FE.mjs.map} +1 -1
- package/package.json +7 -7
- package/dist/browser/dist-dmLcxsWV.js.map +0 -1
- package/dist/browser/document-drive-cxHraTVQ.js.map +0 -1
- package/dist/browser/lib-DKvC6Hnv.js.map +0 -1
- package/dist/node/dist-BtnA_6jV.mjs.map +0 -1
- package/dist/node/document-drive-ChLoGFvU.mjs.map +0 -1
- package/dist/node/main-DRfab-vL.mjs.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import "./document-drive-
|
|
2
|
-
import { t as Breadcrumbs } from "./connect-
|
|
3
|
-
import { v as useSetPHAppConfig } from "./dist-
|
|
4
|
-
import { n as DriveLayout, t as FolderView } from "./folder-view-
|
|
1
|
+
import "./document-drive-wNtf1eGn.js";
|
|
2
|
+
import { t as Breadcrumbs } from "./connect-eyZmAtfZ.js";
|
|
3
|
+
import { v as useSetPHAppConfig } from "./dist-Ce3UTI0a.js";
|
|
4
|
+
import { n as DriveLayout, t as FolderView } from "./folder-view-C8wlYBSB.js";
|
|
5
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
//#region editors/generic-drive-explorer/config.ts
|
|
7
7
|
const editorConfig = {
|
|
@@ -22,4 +22,4 @@ function Editor(props) {
|
|
|
22
22
|
//#endregion
|
|
23
23
|
export { Editor as default };
|
|
24
24
|
|
|
25
|
-
//# sourceMappingURL=editor-
|
|
25
|
+
//# sourceMappingURL=editor-Dgqm4M7d.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor-
|
|
1
|
+
{"version":3,"file":"editor-Dgqm4M7d.js","names":[],"sources":["../../editors/generic-drive-explorer/config.ts","../../editors/generic-drive-explorer/editor.tsx"],"sourcesContent":["import type { PHAppConfig } from \"@powerhousedao/reactor-browser\";\n\nexport const editorConfig: PHAppConfig = {\n allowedDocumentTypes: [],\n isDragAndDropEnabled: true,\n};\n","import { Breadcrumbs } from \"@powerhousedao/design-system/connect\";\nimport { useSetPHAppConfig } from \"@powerhousedao/reactor-browser\";\nimport type { EditorProps } from \"@powerhousedao/shared/document-model\";\nimport FolderView from \"./components/folder-view.js\";\nimport { DriveLayout } from \"./components/layout.js\";\nimport { editorConfig } from \"./config.js\";\n\nexport default function Editor(props: EditorProps) {\n useSetPHAppConfig(editorConfig);\n const { className, children } = props;\n const showDocumentEditor = !!children;\n\n return (\n <DriveLayout className={className}>\n {!showDocumentEditor && (\n <DriveLayout.Header>\n <Breadcrumbs />\n </DriveLayout.Header>\n )}\n {showDocumentEditor ? (\n children\n ) : (\n <DriveLayout.Content>\n <FolderView />\n </DriveLayout.Content>\n )}\n </DriveLayout>\n );\n}\n"],"mappings":";;;;;;AAEA,MAAa,eAA4B;CACvC,sBAAsB,EAAE;CACxB,sBAAsB;CACvB;;;ACED,SAAwB,OAAO,OAAoB;AACjD,mBAAkB,aAAa;CAC/B,MAAM,EAAE,WAAW,aAAa;CAChC,MAAM,qBAAqB,CAAC,CAAC;AAE7B,QACE,qBAAC,aAAD;EAAwB;YAAxB,CACG,CAAC,sBACA,oBAAC,YAAY,QAAb,EAAA,UACE,oBAAC,aAAD,EAAe,CAAA,EACI,CAAA,EAEtB,qBACC,WAEA,oBAAC,YAAY,SAAb,EAAA,UACE,oBAAC,YAAD,EAAc,CAAA,EACM,CAAA,CAEZ"}
|
|
@@ -6,7 +6,7 @@ const DocumentModelEditor = {
|
|
|
6
6
|
name: "Document Model Editor"
|
|
7
7
|
},
|
|
8
8
|
documentTypes: ["powerhouse/document-model"],
|
|
9
|
-
Component: lazy(() => import("../../editor-
|
|
9
|
+
Component: lazy(() => import("../../editor-DGsUKlFB.js"))
|
|
10
10
|
};
|
|
11
11
|
//#endregion
|
|
12
12
|
export { DocumentModelEditor };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { D as __commonJSMin, k as __require } from "../../dist-B4FWbuEM.js";
|
|
2
|
-
import "../../document-drive-
|
|
2
|
+
import "../../document-drive-wNtf1eGn.js";
|
|
3
3
|
import { GenericDriveExplorer } from "./module.js";
|
|
4
|
-
import { S as Icon, n as ConnectSearchBar } from "../../connect-
|
|
5
|
-
import "../../dist-
|
|
6
|
-
import { i as CreateDocument, n as DriveLayout, r as FileContentView, t as FolderView } from "../../folder-view-
|
|
4
|
+
import { S as Icon, n as ConnectSearchBar } from "../../connect-eyZmAtfZ.js";
|
|
5
|
+
import "../../dist-Ce3UTI0a.js";
|
|
6
|
+
import { i as CreateDocument, n as DriveLayout, r as FileContentView, t as FolderView } from "../../folder-view-C8wlYBSB.js";
|
|
7
7
|
import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
|
|
8
8
|
import { jsx } from "react/jsx-runtime";
|
|
9
|
-
//#region ../../node_modules/.pnpm/react-i18next@16.5.4_i18next@25.8.13_typescript@
|
|
9
|
+
//#region ../../node_modules/.pnpm/react-i18next@16.5.4_i18next@25.8.13_typescript@6.0.3__react-dom@19.2.6_react@19.2.6__react@19.2.6_typescript@6.0.3/node_modules/react-i18next/dist/es/utils.js
|
|
10
10
|
const warn = (i18n, code, msg, rest) => {
|
|
11
11
|
const args = [msg, {
|
|
12
12
|
code,
|
|
@@ -61,7 +61,7 @@ const hasLoadedNamespace = (ns, i18n, options = {}) => {
|
|
|
61
61
|
const isString = (obj) => typeof obj === "string";
|
|
62
62
|
const isObject = (obj) => typeof obj === "object" && obj !== null;
|
|
63
63
|
//#endregion
|
|
64
|
-
//#region ../../node_modules/.pnpm/react-i18next@16.5.4_i18next@25.8.13_typescript@
|
|
64
|
+
//#region ../../node_modules/.pnpm/react-i18next@16.5.4_i18next@25.8.13_typescript@6.0.3__react-dom@19.2.6_react@19.2.6__react@19.2.6_typescript@6.0.3/node_modules/react-i18next/dist/es/unescape.js
|
|
65
65
|
const matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;
|
|
66
66
|
const htmlEntities = {
|
|
67
67
|
"&": "&",
|
|
@@ -88,7 +88,7 @@ const htmlEntities = {
|
|
|
88
88
|
const unescapeHtmlEntity = (m) => htmlEntities[m];
|
|
89
89
|
const unescape = (text) => text.replace(matchHtmlEntity, unescapeHtmlEntity);
|
|
90
90
|
//#endregion
|
|
91
|
-
//#region ../../node_modules/.pnpm/react-i18next@16.5.4_i18next@25.8.13_typescript@
|
|
91
|
+
//#region ../../node_modules/.pnpm/react-i18next@16.5.4_i18next@25.8.13_typescript@6.0.3__react-dom@19.2.6_react@19.2.6__react@19.2.6_typescript@6.0.3/node_modules/react-i18next/dist/es/defaults.js
|
|
92
92
|
let defaultOptions = {
|
|
93
93
|
bindI18n: "languageChanged",
|
|
94
94
|
bindI18nStore: "",
|
|
@@ -107,11 +107,11 @@ let defaultOptions = {
|
|
|
107
107
|
};
|
|
108
108
|
const getDefaults = () => defaultOptions;
|
|
109
109
|
//#endregion
|
|
110
|
-
//#region ../../node_modules/.pnpm/react-i18next@16.5.4_i18next@25.8.13_typescript@
|
|
110
|
+
//#region ../../node_modules/.pnpm/react-i18next@16.5.4_i18next@25.8.13_typescript@6.0.3__react-dom@19.2.6_react@19.2.6__react@19.2.6_typescript@6.0.3/node_modules/react-i18next/dist/es/i18nInstance.js
|
|
111
111
|
let i18nInstance;
|
|
112
112
|
const getI18n = () => i18nInstance;
|
|
113
113
|
//#endregion
|
|
114
|
-
//#region ../../node_modules/.pnpm/react-i18next@16.5.4_i18next@25.8.13_typescript@
|
|
114
|
+
//#region ../../node_modules/.pnpm/react-i18next@16.5.4_i18next@25.8.13_typescript@6.0.3__react-dom@19.2.6_react@19.2.6__react@19.2.6_typescript@6.0.3/node_modules/react-i18next/dist/es/context.js
|
|
115
115
|
const I18nContext = createContext();
|
|
116
116
|
var ReportNamespaces = class {
|
|
117
117
|
constructor() {
|
|
@@ -183,7 +183,7 @@ var require_use_sync_external_store_shim_production = /* @__PURE__ */ __commonJS
|
|
|
183
183
|
exports.useSyncExternalStore = void 0 !== React$1.useSyncExternalStore ? React$1.useSyncExternalStore : shim;
|
|
184
184
|
}));
|
|
185
185
|
//#endregion
|
|
186
|
-
//#region ../../node_modules/.pnpm/react-i18next@16.5.4_i18next@25.8.13_typescript@
|
|
186
|
+
//#region ../../node_modules/.pnpm/react-i18next@16.5.4_i18next@25.8.13_typescript@6.0.3__react-dom@19.2.6_react@19.2.6__react@19.2.6_typescript@6.0.3/node_modules/react-i18next/dist/es/useTranslation.js
|
|
187
187
|
var import_shim = (/* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
188
188
|
module.exports = require_use_sync_external_store_shim_production();
|
|
189
189
|
})))();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["React"],"sources":["../../../../../../node_modules/.pnpm/react-i18next@16.5.4_i18next@25.8.13_typescript@5.9.3__react-dom@19.2.6_react@19.2.6__react@19.2.6_typescript@5.9.3/node_modules/react-i18next/dist/es/utils.js","../../../../../../node_modules/.pnpm/react-i18next@16.5.4_i18next@25.8.13_typescript@5.9.3__react-dom@19.2.6_react@19.2.6__react@19.2.6_typescript@5.9.3/node_modules/react-i18next/dist/es/unescape.js","../../../../../../node_modules/.pnpm/react-i18next@16.5.4_i18next@25.8.13_typescript@5.9.3__react-dom@19.2.6_react@19.2.6__react@19.2.6_typescript@5.9.3/node_modules/react-i18next/dist/es/defaults.js","../../../../../../node_modules/.pnpm/react-i18next@16.5.4_i18next@25.8.13_typescript@5.9.3__react-dom@19.2.6_react@19.2.6__react@19.2.6_typescript@5.9.3/node_modules/react-i18next/dist/es/i18nInstance.js","../../../../../../node_modules/.pnpm/react-i18next@16.5.4_i18next@25.8.13_typescript@5.9.3__react-dom@19.2.6_react@19.2.6__react@19.2.6_typescript@5.9.3/node_modules/react-i18next/dist/es/context.js","../../../../../../node_modules/.pnpm/use-sync-external-store@1.6.0_react@19.2.6/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","../../../../../../node_modules/.pnpm/use-sync-external-store@1.6.0_react@19.2.6/node_modules/use-sync-external-store/shim/index.js","../../../../../../node_modules/.pnpm/react-i18next@16.5.4_i18next@25.8.13_typescript@5.9.3__react-dom@19.2.6_react@19.2.6__react@19.2.6_typescript@5.9.3/node_modules/react-i18next/dist/es/useTranslation.js","../../../../editors/generic-drive-explorer/components/search-bar.tsx"],"sourcesContent":["export const warn = (i18n, code, msg, rest) => {\n const args = [msg, {\n code,\n ...(rest || {})\n }];\n if (i18n?.services?.logger?.forward) {\n return i18n.services.logger.forward(args, 'warn', 'react-i18next::', true);\n }\n if (isString(args[0])) args[0] = `react-i18next:: ${args[0]}`;\n if (i18n?.services?.logger?.warn) {\n i18n.services.logger.warn(...args);\n } else if (console?.warn) {\n console.warn(...args);\n }\n};\nconst alreadyWarned = {};\nexport const warnOnce = (i18n, code, msg, rest) => {\n if (isString(msg) && alreadyWarned[msg]) return;\n if (isString(msg)) alreadyWarned[msg] = new Date();\n warn(i18n, code, msg, rest);\n};\nconst loadedClb = (i18n, cb) => () => {\n if (i18n.isInitialized) {\n cb();\n } else {\n const initialized = () => {\n setTimeout(() => {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n i18n.on('initialized', initialized);\n }\n};\nexport const loadNamespaces = (i18n, ns, cb) => {\n i18n.loadNamespaces(ns, loadedClb(i18n, cb));\n};\nexport const loadLanguages = (i18n, lng, ns, cb) => {\n if (isString(ns)) ns = [ns];\n if (i18n.options.preload && i18n.options.preload.indexOf(lng) > -1) return loadNamespaces(i18n, ns, cb);\n ns.forEach(n => {\n if (i18n.options.ns.indexOf(n) < 0) i18n.options.ns.push(n);\n });\n i18n.loadLanguages(lng, loadedClb(i18n, cb));\n};\nexport const hasLoadedNamespace = (ns, i18n, options = {}) => {\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce(i18n, 'NO_LANGUAGES', 'i18n.languages were undefined or empty', {\n languages: i18n.languages\n });\n return true;\n }\n return i18n.hasLoadedNamespace(ns, {\n lng: options.lng,\n precheck: (i18nInstance, loadNotPending) => {\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;\n }\n });\n};\nexport const getDisplayName = Component => Component.displayName || Component.name || (isString(Component) && Component.length > 0 ? Component : 'Unknown');\nexport const isString = obj => typeof obj === 'string';\nexport const isObject = obj => typeof obj === 'object' && obj !== null;","const matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;\nconst htmlEntities = {\n '&': '&',\n '&': '&',\n '<': '<',\n '<': '<',\n '>': '>',\n '>': '>',\n ''': \"'\",\n ''': \"'\",\n '"': '\"',\n '"': '\"',\n ' ': ' ',\n ' ': ' ',\n '©': '©',\n '©': '©',\n '®': '®',\n '®': '®',\n '…': '…',\n '…': '…',\n '/': '/',\n '/': '/'\n};\nconst unescapeHtmlEntity = m => htmlEntities[m];\nexport const unescape = text => text.replace(matchHtmlEntity, unescapeHtmlEntity);","import { unescape } from './unescape.js';\nlet defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true,\n unescape,\n transDefaultProps: undefined\n};\nexport const setDefaults = (options = {}) => {\n defaultOptions = {\n ...defaultOptions,\n ...options\n };\n};\nexport const getDefaults = () => defaultOptions;","let i18nInstance;\nexport const setI18n = instance => {\n i18nInstance = instance;\n};\nexport const getI18n = () => i18nInstance;","import { createContext } from 'react';\nimport { getDefaults, setDefaults } from './defaults.js';\nimport { getI18n, setI18n } from './i18nInstance.js';\nimport { initReactI18next } from './initReactI18next.js';\nexport { getDefaults, setDefaults, getI18n, setI18n, initReactI18next };\nexport const I18nContext = createContext();\nexport class ReportNamespaces {\n constructor() {\n this.usedNamespaces = {};\n }\n addUsedNamespaces(namespaces) {\n namespaces.forEach(ns => {\n if (!this.usedNamespaces[ns]) this.usedNamespaces[ns] = true;\n });\n }\n getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n}\nexport const composeInitialProps = ForComponent => async ctx => {\n const componentsInitialProps = (await ForComponent.getInitialProps?.(ctx)) ?? {};\n const i18nInitialProps = getInitialProps();\n return {\n ...componentsInitialProps,\n ...i18nInitialProps\n };\n};\nexport const getInitialProps = () => {\n const i18n = getI18n();\n const namespaces = i18n.reportNamespaces?.getUsedNamespaces() ?? [];\n const ret = {};\n const initialI18nStore = {};\n i18n.languages.forEach(l => {\n initialI18nStore[l] = {};\n namespaces.forEach(ns => {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n};","/**\n * @license React\n * use-sync-external-store-shim.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nfunction useSyncExternalStore$2(subscribe, getSnapshot) {\n var value = getSnapshot(),\n _useState = useState({ inst: { value: value, getSnapshot: getSnapshot } }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n}\nvar shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\nexports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","import { useContext, useCallback, useMemo, useEffect, useRef, useState } from 'react';\nimport { useSyncExternalStore } from 'use-sync-external-store/shim';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context.js';\nimport { warnOnce, loadNamespaces, loadLanguages, hasLoadedNamespace, isString, isObject } from './utils.js';\nconst notReadyT = (k, optsOrDefaultValue) => {\n if (isString(optsOrDefaultValue)) return optsOrDefaultValue;\n if (isObject(optsOrDefaultValue) && isString(optsOrDefaultValue.defaultValue)) return optsOrDefaultValue.defaultValue;\n return Array.isArray(k) ? k[k.length - 1] : k;\n};\nconst notReadySnapshot = {\n t: notReadyT,\n ready: false\n};\nconst dummySubscribe = () => () => {};\nexport const useTranslation = (ns, props = {}) => {\n const {\n i18n: i18nFromProps\n } = props;\n const {\n i18n: i18nFromContext,\n defaultNS: defaultNSFromContext\n } = useContext(I18nContext) || {};\n const i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n if (!i18n) {\n warnOnce(i18n, 'NO_I18NEXT_INSTANCE', 'useTranslation: You will need to pass in an i18next instance by using initReactI18next');\n }\n const i18nOptions = useMemo(() => ({\n ...getDefaults(),\n ...i18n?.options?.react,\n ...props\n }), [i18n, props]);\n const {\n useSuspense,\n keyPrefix\n } = i18nOptions;\n const nsOrContext = ns || defaultNSFromContext || i18n?.options?.defaultNS;\n const unstableNamespaces = isString(nsOrContext) ? [nsOrContext] : nsOrContext || ['translation'];\n const namespaces = useMemo(() => unstableNamespaces, unstableNamespaces);\n i18n?.reportNamespaces?.addUsedNamespaces?.(namespaces);\n const revisionRef = useRef(0);\n const subscribe = useCallback(callback => {\n if (!i18n) return dummySubscribe;\n const {\n bindI18n,\n bindI18nStore\n } = i18nOptions;\n const wrappedCallback = () => {\n revisionRef.current += 1;\n callback();\n };\n if (bindI18n) i18n.on(bindI18n, wrappedCallback);\n if (bindI18nStore) i18n.store.on(bindI18nStore, wrappedCallback);\n return () => {\n if (bindI18n) bindI18n.split(' ').forEach(e => i18n.off(e, wrappedCallback));\n if (bindI18nStore) bindI18nStore.split(' ').forEach(e => i18n.store.off(e, wrappedCallback));\n };\n }, [i18n, i18nOptions]);\n const snapshotRef = useRef();\n const getSnapshot = useCallback(() => {\n if (!i18n) {\n return notReadySnapshot;\n }\n const calculatedReady = !!(i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(n => hasLoadedNamespace(n, i18n, i18nOptions));\n const currentLng = props.lng || i18n.language;\n const currentRevision = revisionRef.current;\n const lastSnapshot = snapshotRef.current;\n if (lastSnapshot && lastSnapshot.ready === calculatedReady && lastSnapshot.lng === currentLng && lastSnapshot.keyPrefix === keyPrefix && lastSnapshot.revision === currentRevision) {\n return lastSnapshot;\n }\n const calculatedT = i18n.getFixedT(currentLng, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n const newSnapshot = {\n t: calculatedT,\n ready: calculatedReady,\n lng: currentLng,\n keyPrefix,\n revision: currentRevision\n };\n snapshotRef.current = newSnapshot;\n return newSnapshot;\n }, [i18n, namespaces, keyPrefix, i18nOptions, props.lng]);\n const [loadCount, setLoadCount] = useState(0);\n const {\n t,\n ready\n } = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);\n useEffect(() => {\n if (i18n && !ready && !useSuspense) {\n const onLoaded = () => setLoadCount(c => c + 1);\n if (props.lng) {\n loadLanguages(i18n, props.lng, namespaces, onLoaded);\n } else {\n loadNamespaces(i18n, namespaces, onLoaded);\n }\n }\n }, [i18n, props.lng, namespaces, ready, useSuspense, loadCount]);\n const finalI18n = i18n || {};\n const wrapperRef = useRef(null);\n const wrapperLangRef = useRef();\n const createI18nWrapper = original => {\n const descriptors = Object.getOwnPropertyDescriptors(original);\n if (descriptors.__original) delete descriptors.__original;\n const wrapper = Object.create(Object.getPrototypeOf(original), descriptors);\n if (!Object.prototype.hasOwnProperty.call(wrapper, '__original')) {\n try {\n Object.defineProperty(wrapper, '__original', {\n value: original,\n writable: false,\n enumerable: false,\n configurable: false\n });\n } catch (_) {}\n }\n return wrapper;\n };\n const ret = useMemo(() => {\n const original = finalI18n;\n const lang = original?.language;\n let i18nWrapper = original;\n if (original) {\n if (wrapperRef.current && wrapperRef.current.__original === original) {\n if (wrapperLangRef.current !== lang) {\n i18nWrapper = createI18nWrapper(original);\n wrapperRef.current = i18nWrapper;\n wrapperLangRef.current = lang;\n } else {\n i18nWrapper = wrapperRef.current;\n }\n } else {\n i18nWrapper = createI18nWrapper(original);\n wrapperRef.current = i18nWrapper;\n wrapperLangRef.current = lang;\n }\n }\n const arr = [t, i18nWrapper, ready];\n arr.t = t;\n arr.i18n = i18nWrapper;\n arr.ready = ready;\n return arr;\n }, [t, finalI18n, ready, finalI18n.resolvedLanguage, finalI18n.language, finalI18n.languages]);\n if (i18n && useSuspense && !ready) {\n throw new Promise(resolve => {\n const onLoaded = () => resolve();\n if (props.lng) {\n loadLanguages(i18n, props.lng, namespaces, onLoaded);\n } else {\n loadNamespaces(i18n, namespaces, onLoaded);\n }\n });\n }\n return ret;\n};","import { Icon } from \"@powerhousedao/design-system\";\nimport type { ConnectSearchBarProps } from \"@powerhousedao/design-system/connect\";\nimport { ConnectSearchBar } from \"@powerhousedao/design-system/connect\";\nimport { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst defaultFilterItems: ConnectSearchBarProps[\"filterItems\"] = [\n {\n id: \"project\",\n label: \".project\",\n icon: <Icon name=\"Project\" color=\"#FF6A55\" size={16} />,\n },\n {\n id: \"budget\",\n label: \".budget\",\n icon: <Icon name=\"BarChart\" color=\"#8E55EA\" size={16} />,\n },\n {\n id: \"profile\",\n label: \".profile\",\n icon: <Icon name=\"Person\" color=\"#3E90F0\" size={16} />,\n },\n {\n id: \"legal\",\n label: \".legal\",\n icon: <Icon name=\"Briefcase\" color=\"#4BAB71\" size={16} />,\n },\n {\n id: \"atlas\",\n label: \".Atlas\",\n icon: <Icon name=\"Globe\" color=\"#FF8A00\" size={16} />,\n },\n];\n\nexport const SearchBar = () => {\n const { t } = useTranslation();\n const [value, setValue] = useState(\"\"); // TODO\n\n return (\n <ConnectSearchBar\n className=\"m-4 shrink-0 bg-muted\"\n placeholder={t(\"searchbar.placeholder\")}\n filterLabel={t(\"searchbar.filterLabel\")}\n filterItems={defaultFilterItems}\n value={value}\n onChange={setValue}\n />\n );\n};\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7],"mappings":";;;;;;;;;AAAA,MAAa,QAAQ,MAAM,MAAM,KAAK,SAAS;CAC7C,MAAM,OAAO,CAAC,KAAK;EACjB;EACA,GAAI,QAAQ,EAAE;EACf,CAAC;AACF,KAAI,MAAM,UAAU,QAAQ,QAC1B,QAAO,KAAK,SAAS,OAAO,QAAQ,MAAM,QAAQ,mBAAmB,KAAK;AAE5E,KAAI,SAAS,KAAK,GAAG,CAAE,MAAK,KAAK,mBAAmB,KAAK;AACzD,KAAI,MAAM,UAAU,QAAQ,KAC1B,MAAK,SAAS,OAAO,KAAK,GAAG,KAAK;UACzB,SAAS,KAClB,SAAQ,KAAK,GAAG,KAAK;;AAGzB,MAAM,gBAAgB,EAAE;AACxB,MAAa,YAAY,MAAM,MAAM,KAAK,SAAS;AACjD,KAAI,SAAS,IAAI,IAAI,cAAc,KAAM;AACzC,KAAI,SAAS,IAAI,CAAE,eAAc,uBAAO,IAAI,MAAM;AAClD,MAAK,MAAM,MAAM,KAAK,KAAK;;AAE7B,MAAM,aAAa,MAAM,aAAa;AACpC,KAAI,KAAK,cACP,KAAI;MACC;EACL,MAAM,oBAAoB;AACxB,oBAAiB;AACf,SAAK,IAAI,eAAe,YAAY;MACnC,EAAE;AACL,OAAI;;AAEN,OAAK,GAAG,eAAe,YAAY;;;AAGvC,MAAa,kBAAkB,MAAM,IAAI,OAAO;AAC9C,MAAK,eAAe,IAAI,UAAU,MAAM,GAAG,CAAC;;AAE9C,MAAa,iBAAiB,MAAM,KAAK,IAAI,OAAO;AAClD,KAAI,SAAS,GAAG,CAAE,MAAK,CAAC,GAAG;AAC3B,KAAI,KAAK,QAAQ,WAAW,KAAK,QAAQ,QAAQ,QAAQ,IAAI,GAAG,GAAI,QAAO,eAAe,MAAM,IAAI,GAAG;AACvG,IAAG,SAAQ,MAAK;AACd,MAAI,KAAK,QAAQ,GAAG,QAAQ,EAAE,GAAG,EAAG,MAAK,QAAQ,GAAG,KAAK,EAAE;GAC3D;AACF,MAAK,cAAc,KAAK,UAAU,MAAM,GAAG,CAAC;;AAE9C,MAAa,sBAAsB,IAAI,MAAM,UAAU,EAAE,KAAK;AAC5D,KAAI,CAAC,KAAK,aAAa,CAAC,KAAK,UAAU,QAAQ;AAC7C,WAAS,MAAM,gBAAgB,0CAA0C,EACvE,WAAW,KAAK,WACjB,CAAC;AACF,SAAO;;AAET,QAAO,KAAK,mBAAmB,IAAI;EACjC,KAAK,QAAQ;EACb,WAAW,cAAc,mBAAmB;AAC1C,OAAI,QAAQ,YAAY,QAAQ,SAAS,QAAQ,mBAAmB,GAAG,MAAM,aAAa,SAAS,iBAAiB,WAAW,aAAa,wBAAwB,CAAC,eAAe,aAAa,sBAAsB,GAAG,CAAE,QAAO;;EAEtO,CAAC;;AAGJ,MAAa,YAAW,QAAO,OAAO,QAAQ;AAC9C,MAAa,YAAW,QAAO,OAAO,QAAQ,YAAY,QAAQ;;;AC7DlE,MAAM,kBAAkB;AACxB,MAAM,eAAe;CACnB,SAAS;CACT,SAAS;CACT,QAAQ;CACR,SAAS;CACT,QAAQ;CACR,SAAS;CACT,UAAU;CACV,SAAS;CACT,UAAU;CACV,SAAS;CACT,UAAU;CACV,UAAU;CACV,UAAU;CACV,UAAU;CACV,SAAS;CACT,UAAU;CACV,YAAY;CACZ,WAAW;CACX,UAAU;CACV,SAAS;CACV;AACD,MAAM,sBAAqB,MAAK,aAAa;AAC7C,MAAa,YAAW,SAAQ,KAAK,QAAQ,iBAAiB,mBAAmB;;;ACvBjF,IAAI,iBAAiB;CACnB,UAAU;CACV,eAAe;CACf,qBAAqB;CACrB,4BAA4B;CAC5B,oBAAoB;CACpB,4BAA4B;EAAC;EAAM;EAAU;EAAK;EAAI;CACtD,aAAa;CACb;CACA,mBAAmB,KAAA;CACpB;AAOD,MAAa,oBAAoB;;;AClBjC,IAAI;AAIJ,MAAa,gBAAgB;;;ACC7B,MAAa,cAAc,eAAe;AAC1C,IAAa,mBAAb,MAA8B;CAC5B,cAAc;AACZ,OAAK,iBAAiB,EAAE;;CAE1B,kBAAkB,YAAY;AAC5B,aAAW,SAAQ,OAAM;AACvB,OAAI,CAAC,KAAK,eAAe,IAAK,MAAK,eAAe,MAAM;IACxD;;CAEJ,oBAAoB;AAClB,SAAO,OAAO,KAAK,KAAK,eAAe;;;;;;;;;;;;;;;CCL3C,IAAIA,UAAAA,UAAgB,QAAQ;CAC5B,SAAS,GAAG,GAAG,GAAG;AAChB,SAAQ,MAAM,MAAM,MAAM,KAAK,IAAI,MAAM,IAAI,MAAQ,MAAM,KAAK,MAAM;;CAExE,IAAI,WAAW,eAAe,OAAO,OAAO,KAAK,OAAO,KAAK,IAC3D,WAAWA,QAAM,UACjB,YAAYA,QAAM,WAClB,kBAAkBA,QAAM,iBACxB,gBAAgBA,QAAM;CACxB,SAAS,uBAAuB,WAAW,aAAa;EACtD,IAAI,QAAQ,aAAa,EACvB,YAAY,SAAS,EAAE,MAAM;GAAS;GAAoB;GAAa,EAAE,CAAC,EAC1E,OAAO,UAAU,GAAG,MACpB,cAAc,UAAU;AAC1B,kBACE,WAAY;AACV,QAAK,QAAQ;AACb,QAAK,cAAc;AACnB,0BAAuB,KAAK,IAAI,YAAY,EAAQ,MAAM,CAAC;KAE7D;GAAC;GAAW;GAAO;GAAY,CAChC;AACD,YACE,WAAY;AACV,0BAAuB,KAAK,IAAI,YAAY,EAAQ,MAAM,CAAC;AAC3D,UAAO,UAAU,WAAY;AAC3B,2BAAuB,KAAK,IAAI,YAAY,EAAQ,MAAM,CAAC;KAC3D;KAEJ,CAAC,UAAU,CACZ;AACD,gBAAc,MAAM;AACpB,SAAO;;CAET,SAAS,uBAAuB,MAAM;EACpC,IAAI,oBAAoB,KAAK;AAC7B,SAAO,KAAK;AACZ,MAAI;GACF,IAAI,YAAY,mBAAmB;AACnC,UAAO,CAAC,SAAS,MAAM,UAAU;WAC1B,OAAO;AACd,UAAO,CAAC;;;CAGZ,SAAS,uBAAuB,WAAW,aAAa;AACtD,SAAO,aAAa;;CAEtB,IAAI,OACF,gBAAgB,OAAO,UACvB,gBAAgB,OAAO,OAAO,YAC9B,gBAAgB,OAAO,OAAO,SAAS,gBACnC,yBACA;AACN,SAAQ,uBACN,KAAK,MAAMA,QAAM,uBAAuBA,QAAM,uBAAuB;;;;;AC9DrE,QAAO,UAAA,iDAAA;;ACCT,MAAM,aAAa,GAAG,uBAAuB;AAC3C,KAAI,SAAS,mBAAmB,CAAE,QAAO;AACzC,KAAI,SAAS,mBAAmB,IAAI,SAAS,mBAAmB,aAAa,CAAE,QAAO,mBAAmB;AACzG,QAAO,MAAM,QAAQ,EAAE,GAAG,EAAE,EAAE,SAAS,KAAK;;AAE9C,MAAM,mBAAmB;CACvB,GAAG;CACH,OAAO;CACR;AACD,MAAM,6BAA6B;AACnC,MAAa,kBAAkB,IAAI,QAAQ,EAAE,KAAK;CAChD,MAAM,EACJ,MAAM,kBACJ;CACJ,MAAM,EACJ,MAAM,iBACN,WAAW,yBACT,WAAW,YAAY,IAAI,EAAE;CACjC,MAAM,OAAO,iBAAiB,mBAAmB,SAAS;AAC1D,KAAI,QAAQ,CAAC,KAAK,iBAAkB,MAAK,mBAAmB,IAAI,kBAAkB;AAClF,KAAI,CAAC,KACH,UAAS,MAAM,uBAAuB,yFAAyF;CAEjI,MAAM,cAAc,eAAe;EACjC,GAAG,aAAa;EAChB,GAAG,MAAM,SAAS;EAClB,GAAG;EACJ,GAAG,CAAC,MAAM,MAAM,CAAC;CAClB,MAAM,EACJ,aACA,cACE;CACJ,MAAM,cAAc,MAAM,wBAAwB,MAAM,SAAS;CACjE,MAAM,qBAAqB,SAAS,YAAY,GAAG,CAAC,YAAY,GAAG,eAAe,CAAC,cAAc;CACjG,MAAM,aAAa,cAAc,oBAAoB,mBAAmB;AACxE,OAAM,kBAAkB,oBAAoB,WAAW;CACvD,MAAM,cAAc,OAAO,EAAE;CAC7B,MAAM,YAAY,aAAY,aAAY;AACxC,MAAI,CAAC,KAAM,QAAO;EAClB,MAAM,EACJ,UACA,kBACE;EACJ,MAAM,wBAAwB;AAC5B,eAAY,WAAW;AACvB,aAAU;;AAEZ,MAAI,SAAU,MAAK,GAAG,UAAU,gBAAgB;AAChD,MAAI,cAAe,MAAK,MAAM,GAAG,eAAe,gBAAgB;AAChE,eAAa;AACX,OAAI,SAAU,UAAS,MAAM,IAAI,CAAC,SAAQ,MAAK,KAAK,IAAI,GAAG,gBAAgB,CAAC;AAC5E,OAAI,cAAe,eAAc,MAAM,IAAI,CAAC,SAAQ,MAAK,KAAK,MAAM,IAAI,GAAG,gBAAgB,CAAC;;IAE7F,CAAC,MAAM,YAAY,CAAC;CACvB,MAAM,cAAc,QAAQ;CAC5B,MAAM,cAAc,kBAAkB;AACpC,MAAI,CAAC,KACH,QAAO;EAET,MAAM,kBAAkB,CAAC,EAAE,KAAK,iBAAiB,KAAK,yBAAyB,WAAW,OAAM,MAAK,mBAAmB,GAAG,MAAM,YAAY,CAAC;EAC9I,MAAM,aAAa,MAAM,OAAO,KAAK;EACrC,MAAM,kBAAkB,YAAY;EACpC,MAAM,eAAe,YAAY;AACjC,MAAI,gBAAgB,aAAa,UAAU,mBAAmB,aAAa,QAAQ,cAAc,aAAa,cAAc,aAAa,aAAa,aAAa,gBACjK,QAAO;EAGT,MAAM,cAAc;GAClB,GAFkB,KAAK,UAAU,YAAY,YAAY,WAAW,aAAa,aAAa,WAAW,IAAI,UAAU;GAGvH,OAAO;GACP,KAAK;GACL;GACA,UAAU;GACX;AACD,cAAY,UAAU;AACtB,SAAO;IACN;EAAC;EAAM;EAAY;EAAW;EAAa,MAAM;EAAI,CAAC;CACzD,MAAM,CAAC,WAAW,gBAAgB,SAAS,EAAE;CAC7C,MAAM,EACJ,GACA,WAAA,GAAA,YAAA,sBACuB,WAAW,aAAa,YAAY;AAC7D,iBAAgB;AACd,MAAI,QAAQ,CAAC,SAAS,CAAC,aAAa;GAClC,MAAM,iBAAiB,cAAa,MAAK,IAAI,EAAE;AAC/C,OAAI,MAAM,IACR,eAAc,MAAM,MAAM,KAAK,YAAY,SAAS;OAEpD,gBAAe,MAAM,YAAY,SAAS;;IAG7C;EAAC;EAAM,MAAM;EAAK;EAAY;EAAO;EAAa;EAAU,CAAC;CAChE,MAAM,YAAY,QAAQ,EAAE;CAC5B,MAAM,aAAa,OAAO,KAAK;CAC/B,MAAM,iBAAiB,QAAQ;CAC/B,MAAM,qBAAoB,aAAY;EACpC,MAAM,cAAc,OAAO,0BAA0B,SAAS;AAC9D,MAAI,YAAY,WAAY,QAAO,YAAY;EAC/C,MAAM,UAAU,OAAO,OAAO,OAAO,eAAe,SAAS,EAAE,YAAY;AAC3E,MAAI,CAAC,OAAO,UAAU,eAAe,KAAK,SAAS,aAAa,CAC9D,KAAI;AACF,UAAO,eAAe,SAAS,cAAc;IAC3C,OAAO;IACP,UAAU;IACV,YAAY;IACZ,cAAc;IACf,CAAC;WACK,GAAG;AAEd,SAAO;;CAET,MAAM,MAAM,cAAc;EACxB,MAAM,WAAW;EACjB,MAAM,OAAO,UAAU;EACvB,IAAI,cAAc;AAClB,MAAI,SACF,KAAI,WAAW,WAAW,WAAW,QAAQ,eAAe,SAC1D,KAAI,eAAe,YAAY,MAAM;AACnC,iBAAc,kBAAkB,SAAS;AACzC,cAAW,UAAU;AACrB,kBAAe,UAAU;QAEzB,eAAc,WAAW;OAEtB;AACL,iBAAc,kBAAkB,SAAS;AACzC,cAAW,UAAU;AACrB,kBAAe,UAAU;;EAG7B,MAAM,MAAM;GAAC;GAAG;GAAa;GAAM;AACnC,MAAI,IAAI;AACR,MAAI,OAAO;AACX,MAAI,QAAQ;AACZ,SAAO;IACN;EAAC;EAAG;EAAW;EAAO,UAAU;EAAkB,UAAU;EAAU,UAAU;EAAU,CAAC;AAC9F,KAAI,QAAQ,eAAe,CAAC,MAC1B,OAAM,IAAI,SAAQ,YAAW;EAC3B,MAAM,iBAAiB,SAAS;AAChC,MAAI,MAAM,IACR,eAAc,MAAM,MAAM,KAAK,YAAY,SAAS;MAEpD,gBAAe,MAAM,YAAY,SAAS;GAE5C;AAEJ,QAAO;;;;AChJT,MAAM,qBAA2D;CAC/D;EACE,IAAI;EACJ,OAAO;EACP,MAAM,oBAAC,MAAD;GAAM,MAAK;GAAU,OAAM;GAAU,MAAM;GAAM,CAAA;EACxD;CACD;EACE,IAAI;EACJ,OAAO;EACP,MAAM,oBAAC,MAAD;GAAM,MAAK;GAAW,OAAM;GAAU,MAAM;GAAM,CAAA;EACzD;CACD;EACE,IAAI;EACJ,OAAO;EACP,MAAM,oBAAC,MAAD;GAAM,MAAK;GAAS,OAAM;GAAU,MAAM;GAAM,CAAA;EACvD;CACD;EACE,IAAI;EACJ,OAAO;EACP,MAAM,oBAAC,MAAD;GAAM,MAAK;GAAY,OAAM;GAAU,MAAM;GAAM,CAAA;EAC1D;CACD;EACE,IAAI;EACJ,OAAO;EACP,MAAM,oBAAC,MAAD;GAAM,MAAK;GAAQ,OAAM;GAAU,MAAM;GAAM,CAAA;EACtD;CACF;AAED,MAAa,kBAAkB;CAC7B,MAAM,EAAE,MAAM,gBAAgB;CAC9B,MAAM,CAAC,OAAO,YAAY,SAAS,GAAG;AAEtC,QACE,oBAAC,kBAAD;EACE,WAAU;EACV,aAAa,EAAE,wBAAwB;EACvC,aAAa,EAAE,wBAAwB;EACvC,aAAa;EACN;EACP,UAAU;EACV,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["React"],"sources":["../../../../../../node_modules/.pnpm/react-i18next@16.5.4_i18next@25.8.13_typescript@6.0.3__react-dom@19.2.6_react@19.2.6__react@19.2.6_typescript@6.0.3/node_modules/react-i18next/dist/es/utils.js","../../../../../../node_modules/.pnpm/react-i18next@16.5.4_i18next@25.8.13_typescript@6.0.3__react-dom@19.2.6_react@19.2.6__react@19.2.6_typescript@6.0.3/node_modules/react-i18next/dist/es/unescape.js","../../../../../../node_modules/.pnpm/react-i18next@16.5.4_i18next@25.8.13_typescript@6.0.3__react-dom@19.2.6_react@19.2.6__react@19.2.6_typescript@6.0.3/node_modules/react-i18next/dist/es/defaults.js","../../../../../../node_modules/.pnpm/react-i18next@16.5.4_i18next@25.8.13_typescript@6.0.3__react-dom@19.2.6_react@19.2.6__react@19.2.6_typescript@6.0.3/node_modules/react-i18next/dist/es/i18nInstance.js","../../../../../../node_modules/.pnpm/react-i18next@16.5.4_i18next@25.8.13_typescript@6.0.3__react-dom@19.2.6_react@19.2.6__react@19.2.6_typescript@6.0.3/node_modules/react-i18next/dist/es/context.js","../../../../../../node_modules/.pnpm/use-sync-external-store@1.6.0_react@19.2.6/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","../../../../../../node_modules/.pnpm/use-sync-external-store@1.6.0_react@19.2.6/node_modules/use-sync-external-store/shim/index.js","../../../../../../node_modules/.pnpm/react-i18next@16.5.4_i18next@25.8.13_typescript@6.0.3__react-dom@19.2.6_react@19.2.6__react@19.2.6_typescript@6.0.3/node_modules/react-i18next/dist/es/useTranslation.js","../../../../editors/generic-drive-explorer/components/search-bar.tsx"],"sourcesContent":["export const warn = (i18n, code, msg, rest) => {\n const args = [msg, {\n code,\n ...(rest || {})\n }];\n if (i18n?.services?.logger?.forward) {\n return i18n.services.logger.forward(args, 'warn', 'react-i18next::', true);\n }\n if (isString(args[0])) args[0] = `react-i18next:: ${args[0]}`;\n if (i18n?.services?.logger?.warn) {\n i18n.services.logger.warn(...args);\n } else if (console?.warn) {\n console.warn(...args);\n }\n};\nconst alreadyWarned = {};\nexport const warnOnce = (i18n, code, msg, rest) => {\n if (isString(msg) && alreadyWarned[msg]) return;\n if (isString(msg)) alreadyWarned[msg] = new Date();\n warn(i18n, code, msg, rest);\n};\nconst loadedClb = (i18n, cb) => () => {\n if (i18n.isInitialized) {\n cb();\n } else {\n const initialized = () => {\n setTimeout(() => {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n i18n.on('initialized', initialized);\n }\n};\nexport const loadNamespaces = (i18n, ns, cb) => {\n i18n.loadNamespaces(ns, loadedClb(i18n, cb));\n};\nexport const loadLanguages = (i18n, lng, ns, cb) => {\n if (isString(ns)) ns = [ns];\n if (i18n.options.preload && i18n.options.preload.indexOf(lng) > -1) return loadNamespaces(i18n, ns, cb);\n ns.forEach(n => {\n if (i18n.options.ns.indexOf(n) < 0) i18n.options.ns.push(n);\n });\n i18n.loadLanguages(lng, loadedClb(i18n, cb));\n};\nexport const hasLoadedNamespace = (ns, i18n, options = {}) => {\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce(i18n, 'NO_LANGUAGES', 'i18n.languages were undefined or empty', {\n languages: i18n.languages\n });\n return true;\n }\n return i18n.hasLoadedNamespace(ns, {\n lng: options.lng,\n precheck: (i18nInstance, loadNotPending) => {\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;\n }\n });\n};\nexport const getDisplayName = Component => Component.displayName || Component.name || (isString(Component) && Component.length > 0 ? Component : 'Unknown');\nexport const isString = obj => typeof obj === 'string';\nexport const isObject = obj => typeof obj === 'object' && obj !== null;","const matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;\nconst htmlEntities = {\n '&': '&',\n '&': '&',\n '<': '<',\n '<': '<',\n '>': '>',\n '>': '>',\n ''': \"'\",\n ''': \"'\",\n '"': '\"',\n '"': '\"',\n ' ': ' ',\n ' ': ' ',\n '©': '©',\n '©': '©',\n '®': '®',\n '®': '®',\n '…': '…',\n '…': '…',\n '/': '/',\n '/': '/'\n};\nconst unescapeHtmlEntity = m => htmlEntities[m];\nexport const unescape = text => text.replace(matchHtmlEntity, unescapeHtmlEntity);","import { unescape } from './unescape.js';\nlet defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true,\n unescape,\n transDefaultProps: undefined\n};\nexport const setDefaults = (options = {}) => {\n defaultOptions = {\n ...defaultOptions,\n ...options\n };\n};\nexport const getDefaults = () => defaultOptions;","let i18nInstance;\nexport const setI18n = instance => {\n i18nInstance = instance;\n};\nexport const getI18n = () => i18nInstance;","import { createContext } from 'react';\nimport { getDefaults, setDefaults } from './defaults.js';\nimport { getI18n, setI18n } from './i18nInstance.js';\nimport { initReactI18next } from './initReactI18next.js';\nexport { getDefaults, setDefaults, getI18n, setI18n, initReactI18next };\nexport const I18nContext = createContext();\nexport class ReportNamespaces {\n constructor() {\n this.usedNamespaces = {};\n }\n addUsedNamespaces(namespaces) {\n namespaces.forEach(ns => {\n if (!this.usedNamespaces[ns]) this.usedNamespaces[ns] = true;\n });\n }\n getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n}\nexport const composeInitialProps = ForComponent => async ctx => {\n const componentsInitialProps = (await ForComponent.getInitialProps?.(ctx)) ?? {};\n const i18nInitialProps = getInitialProps();\n return {\n ...componentsInitialProps,\n ...i18nInitialProps\n };\n};\nexport const getInitialProps = () => {\n const i18n = getI18n();\n const namespaces = i18n.reportNamespaces?.getUsedNamespaces() ?? [];\n const ret = {};\n const initialI18nStore = {};\n i18n.languages.forEach(l => {\n initialI18nStore[l] = {};\n namespaces.forEach(ns => {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n};","/**\n * @license React\n * use-sync-external-store-shim.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nfunction useSyncExternalStore$2(subscribe, getSnapshot) {\n var value = getSnapshot(),\n _useState = useState({ inst: { value: value, getSnapshot: getSnapshot } }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n}\nvar shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\nexports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","import { useContext, useCallback, useMemo, useEffect, useRef, useState } from 'react';\nimport { useSyncExternalStore } from 'use-sync-external-store/shim';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context.js';\nimport { warnOnce, loadNamespaces, loadLanguages, hasLoadedNamespace, isString, isObject } from './utils.js';\nconst notReadyT = (k, optsOrDefaultValue) => {\n if (isString(optsOrDefaultValue)) return optsOrDefaultValue;\n if (isObject(optsOrDefaultValue) && isString(optsOrDefaultValue.defaultValue)) return optsOrDefaultValue.defaultValue;\n return Array.isArray(k) ? k[k.length - 1] : k;\n};\nconst notReadySnapshot = {\n t: notReadyT,\n ready: false\n};\nconst dummySubscribe = () => () => {};\nexport const useTranslation = (ns, props = {}) => {\n const {\n i18n: i18nFromProps\n } = props;\n const {\n i18n: i18nFromContext,\n defaultNS: defaultNSFromContext\n } = useContext(I18nContext) || {};\n const i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n if (!i18n) {\n warnOnce(i18n, 'NO_I18NEXT_INSTANCE', 'useTranslation: You will need to pass in an i18next instance by using initReactI18next');\n }\n const i18nOptions = useMemo(() => ({\n ...getDefaults(),\n ...i18n?.options?.react,\n ...props\n }), [i18n, props]);\n const {\n useSuspense,\n keyPrefix\n } = i18nOptions;\n const nsOrContext = ns || defaultNSFromContext || i18n?.options?.defaultNS;\n const unstableNamespaces = isString(nsOrContext) ? [nsOrContext] : nsOrContext || ['translation'];\n const namespaces = useMemo(() => unstableNamespaces, unstableNamespaces);\n i18n?.reportNamespaces?.addUsedNamespaces?.(namespaces);\n const revisionRef = useRef(0);\n const subscribe = useCallback(callback => {\n if (!i18n) return dummySubscribe;\n const {\n bindI18n,\n bindI18nStore\n } = i18nOptions;\n const wrappedCallback = () => {\n revisionRef.current += 1;\n callback();\n };\n if (bindI18n) i18n.on(bindI18n, wrappedCallback);\n if (bindI18nStore) i18n.store.on(bindI18nStore, wrappedCallback);\n return () => {\n if (bindI18n) bindI18n.split(' ').forEach(e => i18n.off(e, wrappedCallback));\n if (bindI18nStore) bindI18nStore.split(' ').forEach(e => i18n.store.off(e, wrappedCallback));\n };\n }, [i18n, i18nOptions]);\n const snapshotRef = useRef();\n const getSnapshot = useCallback(() => {\n if (!i18n) {\n return notReadySnapshot;\n }\n const calculatedReady = !!(i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(n => hasLoadedNamespace(n, i18n, i18nOptions));\n const currentLng = props.lng || i18n.language;\n const currentRevision = revisionRef.current;\n const lastSnapshot = snapshotRef.current;\n if (lastSnapshot && lastSnapshot.ready === calculatedReady && lastSnapshot.lng === currentLng && lastSnapshot.keyPrefix === keyPrefix && lastSnapshot.revision === currentRevision) {\n return lastSnapshot;\n }\n const calculatedT = i18n.getFixedT(currentLng, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n const newSnapshot = {\n t: calculatedT,\n ready: calculatedReady,\n lng: currentLng,\n keyPrefix,\n revision: currentRevision\n };\n snapshotRef.current = newSnapshot;\n return newSnapshot;\n }, [i18n, namespaces, keyPrefix, i18nOptions, props.lng]);\n const [loadCount, setLoadCount] = useState(0);\n const {\n t,\n ready\n } = useSyncExternalStore(subscribe, getSnapshot, getSnapshot);\n useEffect(() => {\n if (i18n && !ready && !useSuspense) {\n const onLoaded = () => setLoadCount(c => c + 1);\n if (props.lng) {\n loadLanguages(i18n, props.lng, namespaces, onLoaded);\n } else {\n loadNamespaces(i18n, namespaces, onLoaded);\n }\n }\n }, [i18n, props.lng, namespaces, ready, useSuspense, loadCount]);\n const finalI18n = i18n || {};\n const wrapperRef = useRef(null);\n const wrapperLangRef = useRef();\n const createI18nWrapper = original => {\n const descriptors = Object.getOwnPropertyDescriptors(original);\n if (descriptors.__original) delete descriptors.__original;\n const wrapper = Object.create(Object.getPrototypeOf(original), descriptors);\n if (!Object.prototype.hasOwnProperty.call(wrapper, '__original')) {\n try {\n Object.defineProperty(wrapper, '__original', {\n value: original,\n writable: false,\n enumerable: false,\n configurable: false\n });\n } catch (_) {}\n }\n return wrapper;\n };\n const ret = useMemo(() => {\n const original = finalI18n;\n const lang = original?.language;\n let i18nWrapper = original;\n if (original) {\n if (wrapperRef.current && wrapperRef.current.__original === original) {\n if (wrapperLangRef.current !== lang) {\n i18nWrapper = createI18nWrapper(original);\n wrapperRef.current = i18nWrapper;\n wrapperLangRef.current = lang;\n } else {\n i18nWrapper = wrapperRef.current;\n }\n } else {\n i18nWrapper = createI18nWrapper(original);\n wrapperRef.current = i18nWrapper;\n wrapperLangRef.current = lang;\n }\n }\n const arr = [t, i18nWrapper, ready];\n arr.t = t;\n arr.i18n = i18nWrapper;\n arr.ready = ready;\n return arr;\n }, [t, finalI18n, ready, finalI18n.resolvedLanguage, finalI18n.language, finalI18n.languages]);\n if (i18n && useSuspense && !ready) {\n throw new Promise(resolve => {\n const onLoaded = () => resolve();\n if (props.lng) {\n loadLanguages(i18n, props.lng, namespaces, onLoaded);\n } else {\n loadNamespaces(i18n, namespaces, onLoaded);\n }\n });\n }\n return ret;\n};","import { Icon } from \"@powerhousedao/design-system\";\nimport type { ConnectSearchBarProps } from \"@powerhousedao/design-system/connect\";\nimport { ConnectSearchBar } from \"@powerhousedao/design-system/connect\";\nimport { useState } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nconst defaultFilterItems: ConnectSearchBarProps[\"filterItems\"] = [\n {\n id: \"project\",\n label: \".project\",\n icon: <Icon name=\"Project\" color=\"#FF6A55\" size={16} />,\n },\n {\n id: \"budget\",\n label: \".budget\",\n icon: <Icon name=\"BarChart\" color=\"#8E55EA\" size={16} />,\n },\n {\n id: \"profile\",\n label: \".profile\",\n icon: <Icon name=\"Person\" color=\"#3E90F0\" size={16} />,\n },\n {\n id: \"legal\",\n label: \".legal\",\n icon: <Icon name=\"Briefcase\" color=\"#4BAB71\" size={16} />,\n },\n {\n id: \"atlas\",\n label: \".Atlas\",\n icon: <Icon name=\"Globe\" color=\"#FF8A00\" size={16} />,\n },\n];\n\nexport const SearchBar = () => {\n const { t } = useTranslation();\n const [value, setValue] = useState(\"\"); // TODO\n\n return (\n <ConnectSearchBar\n className=\"m-4 shrink-0 bg-muted\"\n placeholder={t(\"searchbar.placeholder\")}\n filterLabel={t(\"searchbar.filterLabel\")}\n filterItems={defaultFilterItems}\n value={value}\n onChange={setValue}\n />\n );\n};\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { lazy } from "react";
|
|
2
2
|
//#region editors/generic-drive-explorer/module.ts
|
|
3
3
|
const GenericDriveExplorer = {
|
|
4
|
-
Component: lazy(() => import("../../editor-
|
|
4
|
+
Component: lazy(() => import("../../editor-Dgqm4M7d.js")),
|
|
5
5
|
config: {
|
|
6
6
|
id: "GenericDriveExplorer",
|
|
7
7
|
name: "Drive Explorer App"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { S as Icon, i as CreateDocumentWithTypeModal, l as useVirtualizer, o as FileItem, s as FolderItem, v as PowerhouseButton, y as useWindowSize } from "./connect-
|
|
1
|
+
import { S as Icon, i as CreateDocumentWithTypeModal, l as useVirtualizer, o as FileItem, s as FolderItem, v as PowerhouseButton, y as useWindowSize } from "./connect-eyZmAtfZ.js";
|
|
2
2
|
import { w as twMerge } from "./dist-BAJ5nRDl.js";
|
|
3
|
-
import { D as setSelectedNode, I as useSelectedDriveSafe, L as useStudioMode, S as addDocument, T as isFolderNodeKind, f as useNodesInSelectedDriveOrFolder, g as useSelectedFolder, j as useDisabledEditors, n as preloadEditorModule, o as useEditorModules, p as useParentFolderForSelectedNode, r as useAllowedDocumentModelModules, w as isFileNodeKind, x as useUserPermissions } from "./dist-
|
|
3
|
+
import { D as setSelectedNode, I as useSelectedDriveSafe, L as useStudioMode, S as addDocument, T as isFolderNodeKind, f as useNodesInSelectedDriveOrFolder, g as useSelectedFolder, j as useDisabledEditors, n as preloadEditorModule, o as useEditorModules, p as useParentFolderForSelectedNode, r as useAllowedDocumentModelModules, w as isFileNodeKind, x as useUserPermissions } from "./dist-Ce3UTI0a.js";
|
|
4
4
|
import React, { useRef, useState } from "react";
|
|
5
5
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
//#region editors/generic-drive-explorer/utils/select-creatable-modules.ts
|
|
@@ -229,4 +229,4 @@ function FolderView(props) {
|
|
|
229
229
|
//#endregion
|
|
230
230
|
export { CreateDocument as i, DriveLayout as n, FileContentView as r, FolderView as t };
|
|
231
231
|
|
|
232
|
-
//# sourceMappingURL=folder-view-
|
|
232
|
+
//# sourceMappingURL=folder-view-C8wlYBSB.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"folder-view-CWnDdLMC.js","names":[],"sources":["../../editors/generic-drive-explorer/utils/select-creatable-modules.ts","../../editors/generic-drive-explorer/components/create-document.tsx","../../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","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"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"folder-view-C8wlYBSB.js","names":[],"sources":["../../editors/generic-drive-explorer/utils/select-creatable-modules.ts","../../editors/generic-drive-explorer/components/create-document.tsx","../../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","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"],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { D as __commonJSMin } from "./dist-B4FWbuEM.js";
|
|
2
|
-
import "./document-drive-
|
|
2
|
+
import "./document-drive-wNtf1eGn.js";
|
|
3
3
|
import { c as Kind, l as DirectiveLocation, m as invariant$1, p as GraphQLError, r as inspect, t as parse } from "./parser-CkF6Qt8V.js";
|
|
4
|
-
import { $ as getNamedType, A as validateSchema, B as GraphQLInt, C as NoUnusedFragmentsRule, D as KnownDirectivesRule, E as KnownFragmentNamesRule, F as GraphQLDirective, G as GraphQLInputObjectType, H as isSpecifiedScalarType, I as isSpecifiedDirective, J as GraphQLNonNull, K as GraphQLInterfaceType, L as GraphQLBoolean, M as SchemaMetaFieldDef, N as TypeMetaFieldDef, O as FragmentsOnCompositeTypesRule, P as TypeNameMetaFieldDef, Q as assertAbstractType, R as GraphQLFloat, S as PossibleTypeExtensionsRule, T as KnownTypeNamesRule, U as doTypesOverlap, V as GraphQLString, W as GraphQLEnumType, X as GraphQLScalarType, Y as GraphQLObjectType, Z as GraphQLUnionType, _ as UniqueDirectivesPerLocationRule, at as isInputType, c as buildSchema, ct as isListType, d as UniqueVariableNamesRule, dt as isObjectType, et as getNullableType, f as UniqueTypeNamesRule, ft as isOutputType, g as UniqueEnumValueNamesRule, h as UniqueFieldDefinitionNamesRule, it as isInputObjectType, j as GraphQLSchema, k as ExecutableDefinitionsRule, l as validate, lt as isNamedType, m as UniqueInputFieldNamesRule, mt as isUnionType, nt as isCompositeType, ot as isInterfaceType, p as UniqueOperationTypesRule, pt as isScalarType, q as GraphQLList, rt as isEnumType, st as isLeafType, tt as isAbstractType, u as specifiedRules, ut as isNonNullType, v as UniqueDirectiveNamesRule, w as LoneSchemaDefinitionRule, x as ProvidedRequiredArgumentsRule, y as UniqueArgumentNamesRule, z as GraphQLID } from "./documents-
|
|
4
|
+
import { $ as getNamedType, A as validateSchema, B as GraphQLInt, C as NoUnusedFragmentsRule, D as KnownDirectivesRule, E as KnownFragmentNamesRule, F as GraphQLDirective, G as GraphQLInputObjectType, H as isSpecifiedScalarType, I as isSpecifiedDirective, J as GraphQLNonNull, K as GraphQLInterfaceType, L as GraphQLBoolean, M as SchemaMetaFieldDef, N as TypeMetaFieldDef, O as FragmentsOnCompositeTypesRule, P as TypeNameMetaFieldDef, Q as assertAbstractType, R as GraphQLFloat, S as PossibleTypeExtensionsRule, T as KnownTypeNamesRule, U as doTypesOverlap, V as GraphQLString, W as GraphQLEnumType, X as GraphQLScalarType, Y as GraphQLObjectType, Z as GraphQLUnionType, _ as UniqueDirectivesPerLocationRule, at as isInputType, c as buildSchema, ct as isListType, d as UniqueVariableNamesRule, dt as isObjectType, et as getNullableType, f as UniqueTypeNamesRule, ft as isOutputType, g as UniqueEnumValueNamesRule, h as UniqueFieldDefinitionNamesRule, it as isInputObjectType, j as GraphQLSchema, k as ExecutableDefinitionsRule, l as validate, lt as isNamedType, m as UniqueInputFieldNamesRule, mt as isUnionType, nt as isCompositeType, ot as isInterfaceType, p as UniqueOperationTypesRule, pt as isScalarType, q as GraphQLList, rt as isEnumType, st as isLeafType, tt as isAbstractType, u as specifiedRules, ut as isNonNullType, v as UniqueDirectiveNamesRule, w as LoneSchemaDefinitionRule, x as ProvidedRequiredArgumentsRule, y as UniqueArgumentNamesRule, z as GraphQLID } from "./documents-j_qy61X1.js";
|
|
5
5
|
import { i as visit, n as BREAK, t as print } from "./printer-CEYr4JOg.js";
|
|
6
|
-
import { b as useTheme } from "./dist-
|
|
7
|
-
import { C as linter, D as EditorState, E as Compartment, O as StateEffect, S as forceLinting, T as keymap, _ as foldNodeProp, a as makeFocusHandler, b as tags, c as baseEditorExtensions, d as ayuLight, f as LRLanguage, g as foldInside, h as delimitedIndent, i as useHandlerReconfiguration, k as StateField, l as baseKeymap, n as useEditorCleanup, o as makePasteHandler, p as LanguageSupport, r as useEditorRefs, s as makeUpdateHandler, t as useDocumentSync, u as dracula, v as indentNodeProp, w as EditorView, x as LRParser, y as styleTags } from "./hooks-
|
|
8
|
-
import { n as safeParseSdl, r as useSchemaContext } from "./schema-context-
|
|
6
|
+
import { b as useTheme } from "./dist-Ce3UTI0a.js";
|
|
7
|
+
import { C as linter, D as EditorState, E as Compartment, O as StateEffect, S as forceLinting, T as keymap, _ as foldNodeProp, a as makeFocusHandler, b as tags, c as baseEditorExtensions, d as ayuLight, f as LRLanguage, g as foldInside, h as delimitedIndent, i as useHandlerReconfiguration, k as StateField, l as baseKeymap, n as useEditorCleanup, o as makePasteHandler, p as LanguageSupport, r as useEditorRefs, s as makeUpdateHandler, t as useDocumentSync, u as dracula, v as indentNodeProp, w as EditorView, x as LRParser, y as styleTags } from "./hooks-BgIeO-WG.js";
|
|
8
|
+
import { n as safeParseSdl, r as useSchemaContext } from "./schema-context-ClCYFYSx.js";
|
|
9
9
|
import { memo, useEffect, useRef } from "react";
|
|
10
10
|
import { jsx } from "react/jsx-runtime";
|
|
11
11
|
//#region ../../node_modules/.pnpm/graphql@16.12.0/node_modules/graphql/jsutils/toError.mjs
|
|
@@ -11695,4 +11695,4 @@ const GraphqlEditor = memo(function GraphqlEditor(props) {
|
|
|
11695
11695
|
//#endregion
|
|
11696
11696
|
export { GraphqlEditor as default };
|
|
11697
11697
|
|
|
11698
|
-
//# sourceMappingURL=graphql-editor-
|
|
11698
|
+
//# sourceMappingURL=graphql-editor-C4xUjml3.js.map
|