@floegence/floe-webapp-core 0.1.0
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/app/FloeApp.d.ts +37 -0
- package/dist/app/FloeProvider.d.ts +17 -0
- package/dist/app/index.d.ts +2 -0
- package/dist/components/deck/DeckCell.d.ts +17 -0
- package/dist/components/deck/DeckGrid.d.ts +14 -0
- package/dist/components/deck/DeckTopBar.d.ts +9 -0
- package/dist/components/deck/DropZonePreview.d.ts +10 -0
- package/dist/components/deck/LayoutSelector.d.ts +7 -0
- package/dist/components/deck/WidgetFrame.d.ts +14 -0
- package/dist/components/deck/WidgetPalette.d.ts +7 -0
- package/dist/components/deck/WidgetResizeHandle.d.ts +9 -0
- package/dist/components/deck/WidgetTypeSwitcher.d.ts +9 -0
- package/dist/components/deck/index.d.ts +9 -0
- package/dist/components/icons/index.d.ts +29 -0
- package/dist/components/index.d.ts +5 -0
- package/dist/components/launchpad/Launchpad.d.ts +15 -0
- package/dist/components/launchpad/LaunchpadGrid.d.ts +8 -0
- package/dist/components/launchpad/LaunchpadItem.d.ts +18 -0
- package/dist/components/launchpad/LaunchpadPagination.d.ts +6 -0
- package/dist/components/launchpad/LaunchpadSearch.d.ts +6 -0
- package/dist/components/launchpad/index.d.ts +10 -0
- package/dist/components/layout/ActivityBar.d.ts +24 -0
- package/dist/components/layout/BottomBar.d.ts +27 -0
- package/dist/components/layout/MobileTabBar.d.ts +19 -0
- package/dist/components/layout/Panel.d.ts +27 -0
- package/dist/components/layout/ResizeHandle.d.ts +9 -0
- package/dist/components/layout/Shell.d.ts +23 -0
- package/dist/components/layout/Sidebar.d.ts +33 -0
- package/dist/components/layout/TopBar.d.ts +11 -0
- package/dist/components/layout/index.d.ts +9 -0
- package/dist/components/loading/LoadingOverlay.d.ts +10 -0
- package/dist/components/loading/Skeleton.d.ts +21 -0
- package/dist/components/loading/SnakeLoader.d.ts +9 -0
- package/dist/components/loading/index.d.ts +3 -0
- package/dist/components/ui/Button.d.ts +12 -0
- package/dist/components/ui/Card.d.ts +79 -0
- package/dist/components/ui/CommandPalette.d.ts +4 -0
- package/dist/components/ui/Dialog.d.ts +29 -0
- package/dist/components/ui/Dropdown.d.ts +35 -0
- package/dist/components/ui/FloatingWindow.d.ts +45 -0
- package/dist/components/ui/Input.d.ts +16 -0
- package/dist/components/ui/Tooltip.d.ts +12 -0
- package/dist/components/ui/index.d.ts +8 -0
- package/dist/context/CommandContext.d.ts +30 -0
- package/dist/context/ComponentRegistry.d.ts +90 -0
- package/dist/context/DeckContext.d.ts +88 -0
- package/dist/context/FloeConfigContext.d.ts +133 -0
- package/dist/context/LayoutContext.d.ts +20 -0
- package/dist/context/NotificationContext.d.ts +32 -0
- package/dist/context/ThemeContext.d.ts +12 -0
- package/dist/context/WidgetRegistry.d.ts +37 -0
- package/dist/context/createSimpleContext.d.ts +15 -0
- package/dist/context/index.d.ts +9 -0
- package/dist/hooks/index.d.ts +6 -0
- package/dist/hooks/useDebounce.d.ts +5 -0
- package/dist/hooks/useDeckDrag.d.ts +6 -0
- package/dist/hooks/useKeybind.d.ts +4 -0
- package/dist/hooks/useMediaQuery.d.ts +5 -0
- package/dist/hooks/usePersisted.d.ts +5 -0
- package/dist/hooks/useResizeObserver.d.ts +9 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +226 -0
- package/dist/index10.js +92 -0
- package/dist/index11.js +101 -0
- package/dist/index12.js +113 -0
- package/dist/index13.js +82 -0
- package/dist/index14.js +123 -0
- package/dist/index15.js +106 -0
- package/dist/index16.js +131 -0
- package/dist/index17.js +152 -0
- package/dist/index18.js +41 -0
- package/dist/index19.js +61 -0
- package/dist/index2.js +215 -0
- package/dist/index20.js +79 -0
- package/dist/index21.js +162 -0
- package/dist/index22.js +293 -0
- package/dist/index23.js +136 -0
- package/dist/index24.js +45 -0
- package/dist/index25.js +146 -0
- package/dist/index26.js +258 -0
- package/dist/index27.js +92 -0
- package/dist/index28.js +42 -0
- package/dist/index29.js +71 -0
- package/dist/index3.js +94 -0
- package/dist/index30.js +280 -0
- package/dist/index31.js +154 -0
- package/dist/index32.js +31 -0
- package/dist/index33.js +50 -0
- package/dist/index34.js +15 -0
- package/dist/index35.js +32 -0
- package/dist/index36.js +51 -0
- package/dist/index37.js +41 -0
- package/dist/index38.js +28 -0
- package/dist/index39.js +176 -0
- package/dist/index4.js +55 -0
- package/dist/index40.js +43 -0
- package/dist/index41.js +69 -0
- package/dist/index42.js +99 -0
- package/dist/index43.js +120 -0
- package/dist/index44.js +141 -0
- package/dist/index45.js +42 -0
- package/dist/index46.js +386 -0
- package/dist/index47.js +16 -0
- package/dist/index48.js +13 -0
- package/dist/index49.js +19 -0
- package/dist/index5.js +48 -0
- package/dist/index50.js +13 -0
- package/dist/index51.js +11 -0
- package/dist/index52.js +59 -0
- package/dist/index53.js +8 -0
- package/dist/index54.js +6 -0
- package/dist/index55.js +48 -0
- package/dist/index56.js +29 -0
- package/dist/index57.js +35 -0
- package/dist/index58.js +94 -0
- package/dist/index59.js +25 -0
- package/dist/index6.js +73 -0
- package/dist/index60.js +49 -0
- package/dist/index61.js +17 -0
- package/dist/index62.js +38 -0
- package/dist/index63.js +67 -0
- package/dist/index64.js +87 -0
- package/dist/index65.js +17 -0
- package/dist/index66.js +2266 -0
- package/dist/index7.js +112 -0
- package/dist/index8.js +66 -0
- package/dist/index9.js +33 -0
- package/dist/styles/build.d.ts +1 -0
- package/dist/styles/themes/index.d.ts +9 -0
- package/dist/styles.css +1 -0
- package/dist/styles.js +1 -0
- package/dist/utils/animations.d.ts +222 -0
- package/dist/utils/bodyStyleLock.d.ts +9 -0
- package/dist/utils/cn.d.ts +5 -0
- package/dist/utils/defer.d.ts +5 -0
- package/dist/utils/gridCollision.d.ts +31 -0
- package/dist/utils/gridLayout.d.ts +38 -0
- package/dist/utils/index.d.ts +8 -0
- package/dist/utils/keybind.d.ts +22 -0
- package/dist/utils/persist.d.ts +17 -0
- package/dist/widgets/MetricsWidget.d.ts +5 -0
- package/dist/widgets/SidebarWidget.d.ts +11 -0
- package/dist/widgets/TerminalWidget.d.ts +5 -0
- package/dist/widgets/index.d.ts +3 -0
- package/package.json +40 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Grid layout utilities for workspace
|
|
3
|
+
*/
|
|
4
|
+
import type { GridPosition } from './gridCollision';
|
|
5
|
+
/**
|
|
6
|
+
* Convert grid position to CSS grid-area value
|
|
7
|
+
* Format: row-start / col-start / row-end / col-end
|
|
8
|
+
*/
|
|
9
|
+
export declare function positionToGridArea(position: GridPosition): string;
|
|
10
|
+
/**
|
|
11
|
+
* Snap a pixel position to grid coordinates
|
|
12
|
+
*/
|
|
13
|
+
export declare function snapToGrid(clientX: number, clientY: number, gridRect: DOMRect, cellWidth: number, cellHeight: number, maxCols?: number): {
|
|
14
|
+
col: number;
|
|
15
|
+
row: number;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Calculate grid cell dimensions from container
|
|
19
|
+
*/
|
|
20
|
+
export declare function getGridCellSize(gridRect: DOMRect, gap?: number, cols?: number): {
|
|
21
|
+
cellWidth: number;
|
|
22
|
+
cellHeight: number;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Calculate drag delta in grid units
|
|
26
|
+
*/
|
|
27
|
+
export declare function pixelDeltaToGridDelta(deltaX: number, deltaY: number, cellWidth: number, cellHeight: number): {
|
|
28
|
+
colDelta: number;
|
|
29
|
+
rowDelta: number;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Calculate new position from drag offset
|
|
33
|
+
*/
|
|
34
|
+
export declare function applyDragDelta(original: GridPosition, colDelta: number, rowDelta: number, maxCols?: number): GridPosition;
|
|
35
|
+
/**
|
|
36
|
+
* Calculate new size from resize delta
|
|
37
|
+
*/
|
|
38
|
+
export declare function applyResizeDelta(original: GridPosition, edge: 'n' | 's' | 'e' | 'w' | 'ne' | 'nw' | 'se' | 'sw', colDelta: number, rowDelta: number, minColSpan?: number, minRowSpan?: number, maxCols?: number): GridPosition;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Keybind utilities for parsing and matching keyboard shortcuts
|
|
3
|
+
*/
|
|
4
|
+
export interface ParsedKeybind {
|
|
5
|
+
mod: boolean;
|
|
6
|
+
ctrl: boolean;
|
|
7
|
+
alt: boolean;
|
|
8
|
+
shift: boolean;
|
|
9
|
+
key: string;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Parse a keybind string like "mod+k" or "ctrl+shift+p"
|
|
13
|
+
*/
|
|
14
|
+
export declare function parseKeybind(keybind: string): ParsedKeybind;
|
|
15
|
+
/**
|
|
16
|
+
* Check if a keyboard event matches a keybind
|
|
17
|
+
*/
|
|
18
|
+
export declare function matchKeybind(event: KeyboardEvent, keybind: string | ParsedKeybind): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Format a keybind for display
|
|
21
|
+
*/
|
|
22
|
+
export declare function formatKeybind(keybind: string): string;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare function debouncedSave<T>(key: string, value: T, delay?: number): void;
|
|
2
|
+
/**
|
|
3
|
+
* Load from localStorage
|
|
4
|
+
*/
|
|
5
|
+
export declare function load<T>(key: string, defaultValue: T): T;
|
|
6
|
+
/**
|
|
7
|
+
* Save to localStorage immediately (non-debounced)
|
|
8
|
+
*/
|
|
9
|
+
export declare function save<T>(key: string, value: T): void;
|
|
10
|
+
/**
|
|
11
|
+
* Remove from localStorage
|
|
12
|
+
*/
|
|
13
|
+
export declare function remove(key: string): void;
|
|
14
|
+
/**
|
|
15
|
+
* Clear all Floe storage
|
|
16
|
+
*/
|
|
17
|
+
export declare function clearAll(): void;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Component } from 'solid-js';
|
|
2
|
+
import type { WidgetProps } from '../context/WidgetRegistry';
|
|
3
|
+
/**
|
|
4
|
+
* Sidebar widget that wraps existing sidebar components
|
|
5
|
+
* The actual content is provided by the demo app
|
|
6
|
+
*/
|
|
7
|
+
export declare function SidebarWidget(props: WidgetProps): import("solid-js").JSX.Element;
|
|
8
|
+
export declare const FilesSidebarWidget: Component<WidgetProps>;
|
|
9
|
+
export declare const SearchSidebarWidget: Component<WidgetProps>;
|
|
10
|
+
export declare const SettingsSidebarWidget: Component<WidgetProps>;
|
|
11
|
+
export declare const ShowcaseSidebarWidget: Component<WidgetProps>;
|
package/package.json
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@floegence/floe-webapp-core",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"module": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"import": "./dist/index.js"
|
|
12
|
+
},
|
|
13
|
+
"./styles": "./dist/styles.css"
|
|
14
|
+
},
|
|
15
|
+
"files": [
|
|
16
|
+
"dist"
|
|
17
|
+
],
|
|
18
|
+
"scripts": {
|
|
19
|
+
"dev": "node ./scripts/dev.mjs",
|
|
20
|
+
"build": "pnpm clean && vite build && tsc -p tsconfig.build.json && pnpm build:styles",
|
|
21
|
+
"build:styles": "vite build -c vite.styles.config.ts",
|
|
22
|
+
"typecheck": "tsc --noEmit",
|
|
23
|
+
"clean": "rm -rf dist *.tsbuildinfo"
|
|
24
|
+
},
|
|
25
|
+
"peerDependencies": {
|
|
26
|
+
"solid-js": "^1.8.0"
|
|
27
|
+
},
|
|
28
|
+
"dependencies": {
|
|
29
|
+
"clsx": "^2.1.1",
|
|
30
|
+
"tailwind-merge": "^2.6.0"
|
|
31
|
+
},
|
|
32
|
+
"devDependencies": {
|
|
33
|
+
"@tailwindcss/vite": "^4.0.0",
|
|
34
|
+
"solid-js": "^1.9.3",
|
|
35
|
+
"tailwindcss": "^4.0.0",
|
|
36
|
+
"typescript": "^5.7.2",
|
|
37
|
+
"vite": "^6.0.7",
|
|
38
|
+
"vite-plugin-solid": "^2.11.0"
|
|
39
|
+
}
|
|
40
|
+
}
|