@dotdirfm/ui 0.1.1
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/dotdir.css +2 -0
- package/dist/dotdir.js +130 -0
- package/dist/dotdir.mjs +9538 -0
- package/dist/lib/DotDir.d.ts +8 -0
- package/dist/lib/actionQueue.d.ts +7 -0
- package/dist/lib/app.d.ts +3 -0
- package/dist/lib/atoms.d.ts +84 -0
- package/dist/lib/components/ActionBar.d.ts +1 -0
- package/dist/lib/components/CommandLine.d.ts +1 -0
- package/dist/lib/components/CommandPalette.d.ts +10 -0
- package/dist/lib/components/ErrorBoundary.d.ts +18 -0
- package/dist/lib/components/ExtensionContainer.d.ts +48 -0
- package/dist/lib/components/ExtensionsPanel.d.ts +1 -0
- package/dist/lib/components/FileList/Breadcrumbs.d.ts +6 -0
- package/dist/lib/components/FileList/ColumnsScroller.d.ts +16 -0
- package/dist/lib/components/FileList/FileList.d.ts +15 -0
- package/dist/lib/components/FileList/PanelTabs.d.ts +24 -0
- package/dist/lib/components/FileList/ScrollableContainer.d.ts +13 -0
- package/dist/lib/components/FileList/index.d.ts +1 -0
- package/dist/lib/components/FileList/useElementSize.d.ts +7 -0
- package/dist/lib/components/PanelGroup.d.ts +23 -0
- package/dist/lib/components/Terminal.d.ts +2 -0
- package/dist/lib/dialogs/ConflictDialog.d.ts +11 -0
- package/dist/lib/dialogs/CopyConfigDialog.d.ts +8 -0
- package/dist/lib/dialogs/CopyProgressDialog.d.ts +9 -0
- package/dist/lib/dialogs/DeleteProgressDialog.d.ts +6 -0
- package/dist/lib/dialogs/HelpDialog.d.ts +6 -0
- package/dist/lib/dialogs/MakeFolderDialog.d.ts +13 -0
- package/dist/lib/dialogs/ModalDialog.d.ts +14 -0
- package/dist/lib/dialogs/MoveConfigDialog.d.ts +8 -0
- package/dist/lib/dialogs/OpenCreateFileDialog.d.ts +11 -0
- package/dist/lib/dialogs/RenameDialog.d.ts +6 -0
- package/dist/lib/dialogs/dialogContext.d.ts +115 -0
- package/dist/lib/dialogs/dialogHotkeys.d.ts +18 -0
- package/dist/lib/entities/panel/model/panelSide.d.ts +9 -0
- package/dist/lib/entities/panel/model/types.d.ts +1 -0
- package/dist/lib/entities/tab/model/tabsAtoms.d.ts +25 -0
- package/dist/lib/features/bridge/index.d.ts +209 -0
- package/dist/lib/features/bridge/useBridge.d.ts +9 -0
- package/dist/lib/features/commands/builtInCommandContributions.d.ts +2 -0
- package/dist/lib/features/commands/commands.d.ts +90 -0
- package/dist/lib/features/extensions/browserExtensionHost.d.ts +36 -0
- package/dist/lib/features/extensions/browserFsProvider.d.ts +5 -0
- package/dist/lib/features/extensions/extensionApi.d.ts +196 -0
- package/dist/lib/features/extensions/extensionHost.worker.d.ts +174 -0
- package/dist/lib/features/extensions/extensionHostClient.d.ts +29 -0
- package/dist/lib/features/extensions/extensionLoader.d.ts +8 -0
- package/dist/lib/features/extensions/extensions.d.ts +251 -0
- package/dist/lib/features/extensions/useExtensionHost.d.ts +6 -0
- package/dist/lib/features/file-icons/iconCache.d.ts +3 -0
- package/dist/lib/features/file-icons/iconResolver.d.ts +34 -0
- package/dist/lib/features/file-icons/vscodeIconTheme.d.ts +62 -0
- package/dist/lib/features/file-ops/model/fileOperationHandlers.d.ts +10 -0
- package/dist/lib/features/file-ops/model/useFileOperations.d.ts +15 -0
- package/dist/lib/features/marketplace/vscodeMarketplace.d.ts +33 -0
- package/dist/lib/features/navigation/lib/commandLineCd.d.ts +20 -0
- package/dist/lib/features/settings/types.d.ts +12 -0
- package/dist/lib/features/settings/useUserSettings.d.ts +6 -0
- package/dist/lib/features/settings/userSettings.d.ts +8 -0
- package/dist/lib/features/ui-state/types.d.ts +22 -0
- package/dist/lib/features/ui-state/uiState.d.ts +5 -0
- package/dist/lib/fileListHandlers.d.ts +31 -0
- package/dist/lib/focusContext.d.ts +21 -0
- package/dist/lib/fs.d.ts +36 -0
- package/dist/lib/fss.d.ts +9 -0
- package/dist/lib/hooks/useBuiltInCommands.d.ts +24 -0
- package/dist/lib/hooks/useDialogButtonNav.d.ts +10 -0
- package/dist/lib/hooks/useMediaQuery.d.ts +1 -0
- package/dist/lib/hooks/usePanel.d.ts +23 -0
- package/dist/lib/hooks/useTerminal.d.ts +12 -0
- package/dist/lib/jsoncFileWatcher.d.ts +15 -0
- package/dist/lib/languageRegistry.d.ts +43 -0
- package/dist/lib/panelGroupHandlers.d.ts +6 -0
- package/dist/lib/processes/workspace-session/model/useWorkspaceSessionProcess.d.ts +59 -0
- package/dist/lib/registerKeybindings.d.ts +11 -0
- package/dist/lib/styleHost.d.ts +2 -0
- package/dist/lib/terminal/TerminalSession.d.ts +59 -0
- package/dist/lib/terminal/TerminalView.d.ts +8 -0
- package/dist/lib/terminal/path.d.ts +7 -0
- package/dist/lib/terminal/shellProfiles.d.ts +15 -0
- package/dist/lib/terminal/terminalAtoms.d.ts +7 -0
- package/dist/lib/terminal/types.d.ts +53 -0
- package/dist/lib/terminal/useTerminalState.d.ts +20 -0
- package/dist/lib/types.d.ts +12 -0
- package/dist/lib/userKeybindings.d.ts +3 -0
- package/dist/lib/utils/containerPath.d.ts +45 -0
- package/dist/lib/utils/cssModules.d.ts +1 -0
- package/dist/lib/utils/inputNoAssist.d.ts +9 -0
- package/dist/lib/utils/langDetect.d.ts +1 -0
- package/dist/lib/utils/mediaFiles.d.ts +7 -0
- package/dist/lib/utils/path.d.ts +26 -0
- package/dist/lib/utils/vfs.d.ts +2 -0
- package/dist/lib/viewerEditorRegistry.d.ts +53 -0
- package/dist/lib/vscodeColorTheme.d.ts +27 -0
- package/package.json +66 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { ExtensionEditorContribution, ExtensionFsProviderContribution, ExtensionViewerContribution, LoadedExtension } from '../features/extensions/extensions';
|
|
2
|
+
export interface ResolvedViewer {
|
|
3
|
+
contribution: ExtensionViewerContribution;
|
|
4
|
+
extensionDirPath: string;
|
|
5
|
+
}
|
|
6
|
+
export interface ResolvedEditor {
|
|
7
|
+
contribution: ExtensionEditorContribution;
|
|
8
|
+
extensionDirPath: string;
|
|
9
|
+
}
|
|
10
|
+
export interface ResolvedFsProvider {
|
|
11
|
+
contribution: ExtensionFsProviderContribution;
|
|
12
|
+
extensionDirPath: string;
|
|
13
|
+
}
|
|
14
|
+
interface RegistryEntry<T> {
|
|
15
|
+
contribution: T;
|
|
16
|
+
extensionDirPath: string;
|
|
17
|
+
}
|
|
18
|
+
type RegistryListener = () => void;
|
|
19
|
+
declare class ViewerRegistry {
|
|
20
|
+
private entries;
|
|
21
|
+
private listeners;
|
|
22
|
+
clear(): void;
|
|
23
|
+
register(contribution: ExtensionViewerContribution, extensionDirPath: string): void;
|
|
24
|
+
resolve(fileName: string): ResolvedViewer | null;
|
|
25
|
+
getAll(): readonly RegistryEntry<ExtensionViewerContribution>[];
|
|
26
|
+
onChange(listener: RegistryListener): () => void;
|
|
27
|
+
notifyListeners(): void;
|
|
28
|
+
}
|
|
29
|
+
declare class EditorRegistry {
|
|
30
|
+
private entries;
|
|
31
|
+
private listeners;
|
|
32
|
+
clear(): void;
|
|
33
|
+
register(contribution: ExtensionEditorContribution, extensionDirPath: string): void;
|
|
34
|
+
resolve(fileName: string): ResolvedEditor | null;
|
|
35
|
+
getAll(): readonly RegistryEntry<ExtensionEditorContribution>[];
|
|
36
|
+
onChange(listener: RegistryListener): () => void;
|
|
37
|
+
notifyListeners(): void;
|
|
38
|
+
}
|
|
39
|
+
declare class FsProviderRegistry {
|
|
40
|
+
private entries;
|
|
41
|
+
private listeners;
|
|
42
|
+
clear(): void;
|
|
43
|
+
register(contribution: ExtensionFsProviderContribution, extensionDirPath: string): void;
|
|
44
|
+
resolve(fileName: string): ResolvedFsProvider | null;
|
|
45
|
+
onChange(listener: RegistryListener): () => void;
|
|
46
|
+
notifyListeners(): void;
|
|
47
|
+
}
|
|
48
|
+
export declare const viewerRegistry: ViewerRegistry;
|
|
49
|
+
export declare const editorRegistry: EditorRegistry;
|
|
50
|
+
export declare const fsProviderRegistry: FsProviderRegistry;
|
|
51
|
+
/** Populate registries from loaded extensions. Called when extensions finish loading. */
|
|
52
|
+
export declare function populateRegistries(extensions: LoadedExtension[]): void;
|
|
53
|
+
export {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Bridge } from '../features/bridge';
|
|
2
|
+
export interface VSCodeColorThemeJson {
|
|
3
|
+
name?: string;
|
|
4
|
+
type?: "dark" | "light" | "hc";
|
|
5
|
+
colors?: Record<string, string>;
|
|
6
|
+
tokenColors?: unknown[];
|
|
7
|
+
include?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface ActiveColorThemeData {
|
|
10
|
+
kind: "dark" | "light";
|
|
11
|
+
colors?: Record<string, string>;
|
|
12
|
+
tokenColors?: unknown[];
|
|
13
|
+
}
|
|
14
|
+
export declare function getActiveColorThemeData(): ActiveColorThemeData | null;
|
|
15
|
+
export declare function onColorThemeChange(listener: (data: ActiveColorThemeData) => void): () => void;
|
|
16
|
+
export declare function applyColorTheme(colors: Record<string, string>): void;
|
|
17
|
+
export declare function clearColorTheme(): void;
|
|
18
|
+
/**
|
|
19
|
+
* Determine whether a uiTheme string means light or dark mode.
|
|
20
|
+
*/
|
|
21
|
+
export declare function uiThemeToKind(uiTheme: string): "dark" | "light";
|
|
22
|
+
/**
|
|
23
|
+
* Load a VS Code color theme JSON and apply its colors as CSS custom properties.
|
|
24
|
+
* Returns the parsed theme for further use (e.g. tokenColors).
|
|
25
|
+
* Uses a generation counter to prevent stale async loads from overwriting newer themes.
|
|
26
|
+
*/
|
|
27
|
+
export declare function loadAndApplyColorTheme(bridge: Bridge, jsonPath: string, uiTheme?: string): Promise<VSCodeColorThemeJson>;
|
package/package.json
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@dotdirfm/ui",
|
|
3
|
+
"version": "0.1.1",
|
|
4
|
+
"description": "Reusable DotDir file manager UI component for React apps.",
|
|
5
|
+
"main": "./dist/dotdir.js",
|
|
6
|
+
"module": "./dist/dotdir.mjs",
|
|
7
|
+
"types": "./dist/lib/DotDir.d.ts",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist"
|
|
10
|
+
],
|
|
11
|
+
"sideEffects": [
|
|
12
|
+
"**/*.css"
|
|
13
|
+
],
|
|
14
|
+
"exports": {
|
|
15
|
+
".": {
|
|
16
|
+
"import": "./dist/dotdir.mjs",
|
|
17
|
+
"require": "./dist/dotdir.js",
|
|
18
|
+
"types": "./dist/lib/DotDir.d.ts"
|
|
19
|
+
},
|
|
20
|
+
"./dotdir.css": {
|
|
21
|
+
"import": "./dist/dotdir.css"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"keywords": [
|
|
25
|
+
"dotdir",
|
|
26
|
+
"file-manager",
|
|
27
|
+
"react",
|
|
28
|
+
"ui",
|
|
29
|
+
"terminal"
|
|
30
|
+
],
|
|
31
|
+
"author": "Mikhail Isupov",
|
|
32
|
+
"license": "ISC",
|
|
33
|
+
"repository": {
|
|
34
|
+
"type": "git",
|
|
35
|
+
"url": "git+https://github.com/dotdirfm/dotdir.git"
|
|
36
|
+
},
|
|
37
|
+
"homepage": "https://github.com/dotdirfm/dotdir#readme",
|
|
38
|
+
"bugs": {
|
|
39
|
+
"url": "https://github.com/dotdirfm/dotdir/issues"
|
|
40
|
+
},
|
|
41
|
+
"publishConfig": {
|
|
42
|
+
"access": "public"
|
|
43
|
+
},
|
|
44
|
+
"peerDependencies": {
|
|
45
|
+
"react": "^19.0.0"
|
|
46
|
+
},
|
|
47
|
+
"dependencies": {
|
|
48
|
+
"@xterm/addon-fit": "^0.11.0",
|
|
49
|
+
"@xterm/xterm": "^6.0.0",
|
|
50
|
+
"cmdk": "^1.1.1",
|
|
51
|
+
"fss-lang": "^0.0.5",
|
|
52
|
+
"jotai": "^2.19.0",
|
|
53
|
+
"jsonc-parser": "^3.3.1",
|
|
54
|
+
"marked": "^17.0.5"
|
|
55
|
+
},
|
|
56
|
+
"devDependencies": {
|
|
57
|
+
"vite": "^8.0.0",
|
|
58
|
+
"vite-plugin-dts": "^4.5.4"
|
|
59
|
+
},
|
|
60
|
+
"scripts": {
|
|
61
|
+
"dev": "vite",
|
|
62
|
+
"watch": "vite build --watch",
|
|
63
|
+
"build": "tsc && vite build",
|
|
64
|
+
"test": "echo \"Error: no test specified\" && exit 1"
|
|
65
|
+
}
|
|
66
|
+
}
|