@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.
Files changed (145) hide show
  1. package/dist/app/FloeApp.d.ts +37 -0
  2. package/dist/app/FloeProvider.d.ts +17 -0
  3. package/dist/app/index.d.ts +2 -0
  4. package/dist/components/deck/DeckCell.d.ts +17 -0
  5. package/dist/components/deck/DeckGrid.d.ts +14 -0
  6. package/dist/components/deck/DeckTopBar.d.ts +9 -0
  7. package/dist/components/deck/DropZonePreview.d.ts +10 -0
  8. package/dist/components/deck/LayoutSelector.d.ts +7 -0
  9. package/dist/components/deck/WidgetFrame.d.ts +14 -0
  10. package/dist/components/deck/WidgetPalette.d.ts +7 -0
  11. package/dist/components/deck/WidgetResizeHandle.d.ts +9 -0
  12. package/dist/components/deck/WidgetTypeSwitcher.d.ts +9 -0
  13. package/dist/components/deck/index.d.ts +9 -0
  14. package/dist/components/icons/index.d.ts +29 -0
  15. package/dist/components/index.d.ts +5 -0
  16. package/dist/components/launchpad/Launchpad.d.ts +15 -0
  17. package/dist/components/launchpad/LaunchpadGrid.d.ts +8 -0
  18. package/dist/components/launchpad/LaunchpadItem.d.ts +18 -0
  19. package/dist/components/launchpad/LaunchpadPagination.d.ts +6 -0
  20. package/dist/components/launchpad/LaunchpadSearch.d.ts +6 -0
  21. package/dist/components/launchpad/index.d.ts +10 -0
  22. package/dist/components/layout/ActivityBar.d.ts +24 -0
  23. package/dist/components/layout/BottomBar.d.ts +27 -0
  24. package/dist/components/layout/MobileTabBar.d.ts +19 -0
  25. package/dist/components/layout/Panel.d.ts +27 -0
  26. package/dist/components/layout/ResizeHandle.d.ts +9 -0
  27. package/dist/components/layout/Shell.d.ts +23 -0
  28. package/dist/components/layout/Sidebar.d.ts +33 -0
  29. package/dist/components/layout/TopBar.d.ts +11 -0
  30. package/dist/components/layout/index.d.ts +9 -0
  31. package/dist/components/loading/LoadingOverlay.d.ts +10 -0
  32. package/dist/components/loading/Skeleton.d.ts +21 -0
  33. package/dist/components/loading/SnakeLoader.d.ts +9 -0
  34. package/dist/components/loading/index.d.ts +3 -0
  35. package/dist/components/ui/Button.d.ts +12 -0
  36. package/dist/components/ui/Card.d.ts +79 -0
  37. package/dist/components/ui/CommandPalette.d.ts +4 -0
  38. package/dist/components/ui/Dialog.d.ts +29 -0
  39. package/dist/components/ui/Dropdown.d.ts +35 -0
  40. package/dist/components/ui/FloatingWindow.d.ts +45 -0
  41. package/dist/components/ui/Input.d.ts +16 -0
  42. package/dist/components/ui/Tooltip.d.ts +12 -0
  43. package/dist/components/ui/index.d.ts +8 -0
  44. package/dist/context/CommandContext.d.ts +30 -0
  45. package/dist/context/ComponentRegistry.d.ts +90 -0
  46. package/dist/context/DeckContext.d.ts +88 -0
  47. package/dist/context/FloeConfigContext.d.ts +133 -0
  48. package/dist/context/LayoutContext.d.ts +20 -0
  49. package/dist/context/NotificationContext.d.ts +32 -0
  50. package/dist/context/ThemeContext.d.ts +12 -0
  51. package/dist/context/WidgetRegistry.d.ts +37 -0
  52. package/dist/context/createSimpleContext.d.ts +15 -0
  53. package/dist/context/index.d.ts +9 -0
  54. package/dist/hooks/index.d.ts +6 -0
  55. package/dist/hooks/useDebounce.d.ts +5 -0
  56. package/dist/hooks/useDeckDrag.d.ts +6 -0
  57. package/dist/hooks/useKeybind.d.ts +4 -0
  58. package/dist/hooks/useMediaQuery.d.ts +5 -0
  59. package/dist/hooks/usePersisted.d.ts +5 -0
  60. package/dist/hooks/useResizeObserver.d.ts +9 -0
  61. package/dist/index.d.ts +7 -0
  62. package/dist/index.js +226 -0
  63. package/dist/index10.js +92 -0
  64. package/dist/index11.js +101 -0
  65. package/dist/index12.js +113 -0
  66. package/dist/index13.js +82 -0
  67. package/dist/index14.js +123 -0
  68. package/dist/index15.js +106 -0
  69. package/dist/index16.js +131 -0
  70. package/dist/index17.js +152 -0
  71. package/dist/index18.js +41 -0
  72. package/dist/index19.js +61 -0
  73. package/dist/index2.js +215 -0
  74. package/dist/index20.js +79 -0
  75. package/dist/index21.js +162 -0
  76. package/dist/index22.js +293 -0
  77. package/dist/index23.js +136 -0
  78. package/dist/index24.js +45 -0
  79. package/dist/index25.js +146 -0
  80. package/dist/index26.js +258 -0
  81. package/dist/index27.js +92 -0
  82. package/dist/index28.js +42 -0
  83. package/dist/index29.js +71 -0
  84. package/dist/index3.js +94 -0
  85. package/dist/index30.js +280 -0
  86. package/dist/index31.js +154 -0
  87. package/dist/index32.js +31 -0
  88. package/dist/index33.js +50 -0
  89. package/dist/index34.js +15 -0
  90. package/dist/index35.js +32 -0
  91. package/dist/index36.js +51 -0
  92. package/dist/index37.js +41 -0
  93. package/dist/index38.js +28 -0
  94. package/dist/index39.js +176 -0
  95. package/dist/index4.js +55 -0
  96. package/dist/index40.js +43 -0
  97. package/dist/index41.js +69 -0
  98. package/dist/index42.js +99 -0
  99. package/dist/index43.js +120 -0
  100. package/dist/index44.js +141 -0
  101. package/dist/index45.js +42 -0
  102. package/dist/index46.js +386 -0
  103. package/dist/index47.js +16 -0
  104. package/dist/index48.js +13 -0
  105. package/dist/index49.js +19 -0
  106. package/dist/index5.js +48 -0
  107. package/dist/index50.js +13 -0
  108. package/dist/index51.js +11 -0
  109. package/dist/index52.js +59 -0
  110. package/dist/index53.js +8 -0
  111. package/dist/index54.js +6 -0
  112. package/dist/index55.js +48 -0
  113. package/dist/index56.js +29 -0
  114. package/dist/index57.js +35 -0
  115. package/dist/index58.js +94 -0
  116. package/dist/index59.js +25 -0
  117. package/dist/index6.js +73 -0
  118. package/dist/index60.js +49 -0
  119. package/dist/index61.js +17 -0
  120. package/dist/index62.js +38 -0
  121. package/dist/index63.js +67 -0
  122. package/dist/index64.js +87 -0
  123. package/dist/index65.js +17 -0
  124. package/dist/index66.js +2266 -0
  125. package/dist/index7.js +112 -0
  126. package/dist/index8.js +66 -0
  127. package/dist/index9.js +33 -0
  128. package/dist/styles/build.d.ts +1 -0
  129. package/dist/styles/themes/index.d.ts +9 -0
  130. package/dist/styles.css +1 -0
  131. package/dist/styles.js +1 -0
  132. package/dist/utils/animations.d.ts +222 -0
  133. package/dist/utils/bodyStyleLock.d.ts +9 -0
  134. package/dist/utils/cn.d.ts +5 -0
  135. package/dist/utils/defer.d.ts +5 -0
  136. package/dist/utils/gridCollision.d.ts +31 -0
  137. package/dist/utils/gridLayout.d.ts +38 -0
  138. package/dist/utils/index.d.ts +8 -0
  139. package/dist/utils/keybind.d.ts +22 -0
  140. package/dist/utils/persist.d.ts +17 -0
  141. package/dist/widgets/MetricsWidget.d.ts +5 -0
  142. package/dist/widgets/SidebarWidget.d.ts +11 -0
  143. package/dist/widgets/TerminalWidget.d.ts +5 -0
  144. package/dist/widgets/index.d.ts +3 -0
  145. 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,8 @@
1
+ export { cn } from './cn';
2
+ export * from './defer';
3
+ export * from './persist';
4
+ export * from './keybind';
5
+ export * from './bodyStyleLock';
6
+ export * from './animations';
7
+ export * from './gridCollision';
8
+ export * from './gridLayout';
@@ -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,5 @@
1
+ import type { WidgetProps } from '../context/WidgetRegistry';
2
+ /**
3
+ * Sample metrics display widget
4
+ */
5
+ export declare function MetricsWidget(props: WidgetProps): import("solid-js").JSX.Element;
@@ -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>;
@@ -0,0 +1,5 @@
1
+ import type { WidgetProps } from '../context/WidgetRegistry';
2
+ /**
3
+ * Terminal widget
4
+ */
5
+ export declare function TerminalWidget(props: WidgetProps): import("solid-js").JSX.Element;
@@ -0,0 +1,3 @@
1
+ export { SidebarWidget, FilesSidebarWidget, SearchSidebarWidget, SettingsSidebarWidget, ShowcaseSidebarWidget, } from './SidebarWidget';
2
+ export { MetricsWidget } from './MetricsWidget';
3
+ export { TerminalWidget } from './TerminalWidget';
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
+ }