@floegence/floe-webapp-core 0.4.0 → 0.6.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 (87) hide show
  1. package/dist/components/ui/Dialog.d.ts +3 -0
  2. package/dist/components/ui/DirectoryPicker.d.ts +31 -0
  3. package/dist/components/ui/index.d.ts +1 -0
  4. package/dist/index.js +193 -191
  5. package/dist/index10.js +2 -2
  6. package/dist/index11.js +4 -4
  7. package/dist/index12.js +5 -5
  8. package/dist/index13.js +3 -3
  9. package/dist/index14.js +4 -4
  10. package/dist/index15.js +5 -5
  11. package/dist/index16.js +5 -5
  12. package/dist/index17.js +4 -4
  13. package/dist/index18.js +6 -6
  14. package/dist/index19.js +2 -2
  15. package/dist/index2.js +6 -6
  16. package/dist/index20.js +2 -2
  17. package/dist/index21.js +1 -1
  18. package/dist/index22.js +8 -5
  19. package/dist/index23.js +3 -3
  20. package/dist/index24.js +3 -3
  21. package/dist/index25.js +1 -1
  22. package/dist/index26.js +5 -5
  23. package/dist/index27.js +1 -1
  24. package/dist/index28.js +3 -3
  25. package/dist/index29.js +362 -81
  26. package/dist/index3.js +2 -2
  27. package/dist/index30.js +87 -37
  28. package/dist/index31.js +37 -66
  29. package/dist/index32.js +69 -278
  30. package/dist/index33.js +278 -152
  31. package/dist/index34.js +147 -24
  32. package/dist/index35.js +26 -45
  33. package/dist/index36.js +45 -10
  34. package/dist/index37.js +10 -27
  35. package/dist/index38.js +27 -159
  36. package/dist/index39.js +156 -228
  37. package/dist/index4.js +1 -1
  38. package/dist/index40.js +228 -125
  39. package/dist/index41.js +110 -176
  40. package/dist/index42.js +149 -122
  41. package/dist/index43.js +161 -183
  42. package/dist/index44.js +185 -145
  43. package/dist/index45.js +143 -114
  44. package/dist/index46.js +119 -47
  45. package/dist/index47.js +50 -48
  46. package/dist/index48.js +40 -30
  47. package/dist/index49.js +33 -44
  48. package/dist/index5.js +4 -4
  49. package/dist/index50.js +49 -25
  50. package/dist/index51.js +21 -169
  51. package/dist/index52.js +169 -36
  52. package/dist/index53.js +38 -64
  53. package/dist/index54.js +63 -93
  54. package/dist/index55.js +86 -111
  55. package/dist/index56.js +114 -131
  56. package/dist/index57.js +131 -32
  57. package/dist/index58.js +29 -425
  58. package/dist/index59.js +433 -36
  59. package/dist/index6.js +2 -2
  60. package/dist/index60.js +31 -12
  61. package/dist/index61.js +19 -13
  62. package/dist/index62.js +13 -10
  63. package/dist/index63.js +10 -16
  64. package/dist/index64.js +16 -10
  65. package/dist/index65.js +10 -8
  66. package/dist/index66.js +8 -61
  67. package/dist/index67.js +61 -5
  68. package/dist/index68.js +5 -11
  69. package/dist/index69.js +10 -25
  70. package/dist/index7.js +2 -2
  71. package/dist/index70.js +24 -30
  72. package/dist/index71.js +31 -90
  73. package/dist/index72.js +90 -26
  74. package/dist/index73.js +24 -43
  75. package/dist/index74.js +45 -13
  76. package/dist/index75.js +14 -35
  77. package/dist/index76.js +33 -62
  78. package/dist/index77.js +61 -81
  79. package/dist/index78.js +84 -14
  80. package/dist/index79.js +12 -2261
  81. package/dist/index8.js +2 -2
  82. package/dist/index80.js +2262 -6
  83. package/dist/index81.js +7 -39
  84. package/dist/index82.js +42 -0
  85. package/dist/index9.js +1 -1
  86. package/dist/styles.css +1 -1
  87. package/package.json +1 -1
@@ -19,7 +19,10 @@ export interface ConfirmDialogProps {
19
19
  open: boolean;
20
20
  onOpenChange: (open: boolean) => void;
21
21
  title: string;
22
+ /** Description displayed under title (header area). Use children for content area. */
22
23
  description?: string;
24
+ /** Custom content in the dialog body. If not provided, an empty placeholder is used. */
25
+ children?: JSX.Element;
23
26
  confirmText?: string;
24
27
  cancelText?: string;
25
28
  variant?: 'default' | 'destructive';
@@ -0,0 +1,31 @@
1
+ import type { FileItem } from '../file-browser/types';
2
+ export interface DirectoryPickerProps {
3
+ /** Whether the picker dialog is open */
4
+ open: boolean;
5
+ onOpenChange: (open: boolean) => void;
6
+ /** Full file tree (same FileItem[] as FileBrowser) */
7
+ files: FileItem[];
8
+ /** Initial selected path (default: '/') */
9
+ initialPath?: string;
10
+ /** Dialog title (default: 'Select Directory') */
11
+ title?: string;
12
+ /** Confirm button text (default: 'Select') */
13
+ confirmText?: string;
14
+ /** Cancel button text (default: 'Cancel') */
15
+ cancelText?: string;
16
+ /** Called when user confirms selection */
17
+ onSelect: (path: string) => void;
18
+ /**
19
+ * Called when user creates a new folder.
20
+ * When provided, a "New Folder" button is shown.
21
+ */
22
+ onCreateFolder?: (parentPath: string, name: string) => Promise<void>;
23
+ /** Optional: filter which directories are selectable (return false to grey-out) */
24
+ filter?: (item: FileItem) => boolean;
25
+ class?: string;
26
+ }
27
+ /**
28
+ * Modal directory picker for selecting a folder path.
29
+ * Standalone component — does not depend on FileBrowserContext.
30
+ */
31
+ export declare function DirectoryPicker(props: DirectoryPickerProps): import("solid-js").JSX.Element;
@@ -7,3 +7,4 @@ export { Tooltip, type TooltipProps } from './Tooltip';
7
7
  export { CommandPalette } from './CommandPalette';
8
8
  export { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter, Interactive3DCard, AnimatedBorderCard, NeonCard, MorphCard, type CardProps, type CardVariant, type CardHeaderProps, type CardTitleProps, type CardDescriptionProps, type CardContentProps, type CardFooterProps, type Interactive3DCardProps, type AnimatedBorderCardProps, type NeonCardProps, type MorphCardProps, } from './Card';
9
9
  export { Tabs, TabPanel, type TabsProps, type TabPanelProps, type TabItem } from './Tabs';
10
+ export { DirectoryPicker, type DirectoryPickerProps } from './DirectoryPicker';
package/dist/index.js CHANGED
@@ -4,7 +4,7 @@ import { Sidebar as n, SidebarContent as m, SidebarItem as p, SidebarItemList as
4
4
  import { TopBar as x } from "./index5.js";
5
5
  import { BottomBar as c, BottomBarItem as g, StatusIndicator as C } from "./index6.js";
6
6
  import { MobileTabBar as S } from "./index7.js";
7
- import { ResizeHandle as h } from "./index8.js";
7
+ import { ResizeHandle as y } from "./index8.js";
8
8
  import { Panel as I, PanelContent as v, PanelHeader as D } from "./index9.js";
9
9
  import { KeepAliveStack as T } from "./index10.js";
10
10
  import { DECK_GRID_CONFIG as B, DeckGrid as L, getGridConfigFromElement as W } from "./index11.js";
@@ -23,66 +23,67 @@ import { FloatingWindow as oe } from "./index23.js";
23
23
  import { Dropdown as ie, Select as ae } from "./index24.js";
24
24
  import { Tooltip as me } from "./index25.js";
25
25
  import { CommandPalette as de } from "./index26.js";
26
- import { AnimatedBorderCard as le, Card as xe, CardContent as se, CardDescription as ce, CardFooter as ge, CardHeader as Ce, CardTitle as ue, Interactive3DCard as Se, MorphCard as Fe, NeonCard as he } from "./index27.js";
26
+ import { AnimatedBorderCard as le, Card as xe, CardContent as se, CardDescription as ce, CardFooter as ge, CardHeader as Ce, CardTitle as ue, Interactive3DCard as Se, MorphCard as Fe, NeonCard as ye } from "./index27.js";
27
27
  import { TabPanel as Ie, Tabs as ve } from "./index28.js";
28
- import { SnakeLoader as Pe } from "./index29.js";
29
- import { LoadingOverlay as be } from "./index30.js";
30
- import { Skeleton as Le, SkeletonCard as We, SkeletonList as ke, SkeletonText as Re } from "./index31.js";
31
- import { ArrowRightLeft as Ge, Bell as Ae, Check as Me, ChevronDown as Ne, ChevronRight as ze, Copy as Ke, Files as Oe, GitBranch as Ve, Grid as Ee, Grid3x3 as He, GripVertical as _e, LayoutDashboard as Qe, Loader2 as Ue, Maximize as Xe, Minus as Ze, Moon as je, Pencil as qe, Plus as Je, Restore as Ye, Search as $e, Settings as er, Sun as rr, Terminal as or, Trash as tr, X as ir } from "./index32.js";
32
- import { Launchpad as nr } from "./index33.js";
33
- import { LaunchpadItem as pr } from "./index34.js";
34
- import { LaunchpadGrid as fr } from "./index35.js";
35
- import { LaunchpadSearch as xr } from "./index36.js";
36
- import { LaunchpadPagination as cr } from "./index37.js";
37
- import { FileBrowser as Cr } from "./index38.js";
38
- import { FileBrowserProvider as Sr, useFileBrowser as Fr } from "./index39.js";
39
- import { DirectoryTree as yr } from "./index40.js";
40
- import { FileListView as vr } from "./index41.js";
41
- import { FileGridView as Pr } from "./index42.js";
42
- import { FileContextMenu as br } from "./index43.js";
43
- import { Breadcrumb as Lr } from "./index44.js";
44
- import { FileBrowserToolbar as kr } from "./index45.js";
45
- import { CodeFileIcon as wr, ConfigFileIcon as Gr, DocumentFileIcon as Ar, FileIcon as Mr, FolderIcon as Nr, FolderOpenIcon as zr, ImageFileIcon as Kr, StyleFileIcon as Or, getFileIcon as Vr } from "./index46.js";
46
- import { FloeProvider as Hr } from "./index47.js";
47
- import { FloeApp as Qr } from "./index48.js";
48
- import { ActivityAppsMain as Xr } from "./index49.js";
49
- import { createSimpleContext as jr } from "./index50.js";
50
- import { DEFAULT_FLOE_CONFIG as Jr, FloeConfigProvider as Yr, useFloeConfig as $r, useResolvedFloeConfig as eo } from "./index51.js";
51
- import { ThemeProvider as oo, createThemeService as to, useTheme as io } from "./index52.js";
52
- import { LayoutProvider as no, createLayoutService as mo, useLayout as po } from "./index53.js";
53
- import { CommandProvider as lo, createCommandService as xo, useCommand as so } from "./index54.js";
54
- import { NotificationContainer as go, NotificationProvider as Co, createNotificationService as uo, useNotification as So } from "./index55.js";
55
- import { ComponentRegistryProvider as ho, createComponentRegistry as yo, useComponentContextFactory as Io, useComponentRegistry as vo } from "./index56.js";
56
- import { WidgetRegistryProvider as Po, createWidgetRegistry as To, useWidgetRegistry as bo } from "./index57.js";
57
- import { DeckProvider as Lo, createDeckService as Wo, useDeck as ko } from "./index58.js";
58
- import { WidgetStateProvider as wo, useCurrentWidgetId as Go, useWidgetState as Ao, useWidgetStateContext as Mo } from "./index59.js";
59
- import { ViewActivationProvider as zo, useViewActivation as Ko } from "./index60.js";
60
- import { useMediaQuery as Vo } from "./index61.js";
61
- import { useDebounce as Ho } from "./index62.js";
62
- import { useResizeObserver as Qo } from "./index63.js";
63
- import { useKeybind as Xo } from "./index64.js";
64
- import { usePersisted as jo } from "./index65.js";
65
- import { useDeckDrag as Jo } from "./index66.js";
66
- import { cn as $o } from "./index67.js";
67
- import { deferAfterPaint as rt, deferNonBlocking as ot } from "./index68.js";
68
- import { formatKeybind as it, matchKeybind as at, parseKeybind as nt } from "./index69.js";
69
- import { lockBodyStyle as pt } from "./index70.js";
70
- import { duration as ft, easing as lt, fadeIn as xt, listContainer as st, listItem as ct, panelResize as gt, popIn as Ct, scaleIn as ut, sidebarVariants as St, slideInFromBottom as Ft, slideInFromLeft as ht, slideInFromRight as yt, slideInFromTop as It, springConfig as vt } from "./index71.js";
71
- import { checkCollision as Pt, constrainPosition as Tt, findFreePosition as bt, hasCollision as Bt } from "./index72.js";
72
- import { applyDragDelta as Wt, applyResizeDelta as kt, getGridCellSize as Rt, pixelDeltaToGridDelta as wt, positionToGridArea as Gt, snapToGrid as At } from "./index73.js";
73
- import { applyTheme as Nt, builtInThemes as zt, getSystemTheme as Kt } from "./index74.js";
74
- import { FilesSidebarWidget as Vt, SearchSidebarWidget as Et, SettingsSidebarWidget as Ht, ShowcaseSidebarWidget as _t, SidebarWidget as Qt } from "./index75.js";
75
- import { MetricsWidget as Xt } from "./index76.js";
76
- import { TerminalWidget as jt } from "./index77.js";
28
+ import { DirectoryPicker as Pe } from "./index29.js";
29
+ import { SnakeLoader as be } from "./index30.js";
30
+ import { LoadingOverlay as Le } from "./index31.js";
31
+ import { Skeleton as ke, SkeletonCard as Re, SkeletonList as we, SkeletonText as Ge } from "./index32.js";
32
+ import { ArrowRightLeft as Me, Bell as Ne, Check as ze, ChevronDown as Ke, ChevronRight as Oe, Copy as Ve, Files as Ee, GitBranch as He, Grid as _e, Grid3x3 as Qe, GripVertical as Ue, LayoutDashboard as Xe, Loader2 as Ze, Maximize as je, Minus as qe, Moon as Je, Pencil as Ye, Plus as $e, Restore as er, Search as rr, Settings as or, Sun as tr, Terminal as ir, Trash as ar, X as nr } from "./index33.js";
33
+ import { Launchpad as pr } from "./index34.js";
34
+ import { LaunchpadItem as fr } from "./index35.js";
35
+ import { LaunchpadGrid as xr } from "./index36.js";
36
+ import { LaunchpadSearch as cr } from "./index37.js";
37
+ import { LaunchpadPagination as Cr } from "./index38.js";
38
+ import { FileBrowser as Sr } from "./index39.js";
39
+ import { FileBrowserProvider as yr, useFileBrowser as hr } from "./index40.js";
40
+ import { DirectoryTree as vr } from "./index41.js";
41
+ import { FileListView as Pr } from "./index42.js";
42
+ import { FileGridView as br } from "./index43.js";
43
+ import { FileContextMenu as Lr } from "./index44.js";
44
+ import { Breadcrumb as kr } from "./index45.js";
45
+ import { FileBrowserToolbar as wr } from "./index46.js";
46
+ import { CodeFileIcon as Ar, ConfigFileIcon as Mr, DocumentFileIcon as Nr, FileIcon as zr, FolderIcon as Kr, FolderOpenIcon as Or, ImageFileIcon as Vr, StyleFileIcon as Er, getFileIcon as Hr } from "./index47.js";
47
+ import { FloeProvider as Qr } from "./index48.js";
48
+ import { FloeApp as Xr } from "./index49.js";
49
+ import { ActivityAppsMain as jr } from "./index50.js";
50
+ import { createSimpleContext as Jr } from "./index51.js";
51
+ import { DEFAULT_FLOE_CONFIG as $r, FloeConfigProvider as eo, useFloeConfig as ro, useResolvedFloeConfig as oo } from "./index52.js";
52
+ import { ThemeProvider as io, createThemeService as ao, useTheme as no } from "./index53.js";
53
+ import { LayoutProvider as po, createLayoutService as fo, useLayout as lo } from "./index54.js";
54
+ import { CommandProvider as so, createCommandService as co, useCommand as go } from "./index55.js";
55
+ import { NotificationContainer as uo, NotificationProvider as So, createNotificationService as Fo, useNotification as yo } from "./index56.js";
56
+ import { ComponentRegistryProvider as Io, createComponentRegistry as vo, useComponentContextFactory as Do, useComponentRegistry as Po } from "./index57.js";
57
+ import { WidgetRegistryProvider as bo, createWidgetRegistry as Bo, useWidgetRegistry as Lo } from "./index58.js";
58
+ import { DeckProvider as ko, createDeckService as Ro, useDeck as wo } from "./index59.js";
59
+ import { WidgetStateProvider as Ao, useCurrentWidgetId as Mo, useWidgetState as No, useWidgetStateContext as zo } from "./index60.js";
60
+ import { ViewActivationProvider as Oo, useViewActivation as Vo } from "./index61.js";
61
+ import { useMediaQuery as Ho } from "./index62.js";
62
+ import { useDebounce as Qo } from "./index63.js";
63
+ import { useResizeObserver as Xo } from "./index64.js";
64
+ import { useKeybind as jo } from "./index65.js";
65
+ import { usePersisted as Jo } from "./index66.js";
66
+ import { useDeckDrag as $o } from "./index67.js";
67
+ import { cn as rt } from "./index68.js";
68
+ import { deferAfterPaint as tt, deferNonBlocking as it } from "./index69.js";
69
+ import { formatKeybind as nt, matchKeybind as mt, parseKeybind as pt } from "./index70.js";
70
+ import { lockBodyStyle as ft } from "./index71.js";
71
+ import { duration as xt, easing as st, fadeIn as ct, listContainer as gt, listItem as Ct, panelResize as ut, popIn as St, scaleIn as Ft, sidebarVariants as yt, slideInFromBottom as ht, slideInFromLeft as It, slideInFromRight as vt, slideInFromTop as Dt, springConfig as Pt } from "./index72.js";
72
+ import { checkCollision as bt, constrainPosition as Bt, findFreePosition as Lt, hasCollision as Wt } from "./index73.js";
73
+ import { applyDragDelta as Rt, applyResizeDelta as wt, getGridCellSize as Gt, pixelDeltaToGridDelta as At, positionToGridArea as Mt, snapToGrid as Nt } from "./index74.js";
74
+ import { applyTheme as Kt, builtInThemes as Ot, getSystemTheme as Vt } from "./index75.js";
75
+ import { FilesSidebarWidget as Ht, SearchSidebarWidget as _t, SettingsSidebarWidget as Qt, ShowcaseSidebarWidget as Ut, SidebarWidget as Xt } from "./index76.js";
76
+ import { MetricsWidget as jt } from "./index77.js";
77
+ import { TerminalWidget as Jt } from "./index78.js";
77
78
  export {
78
- Xr as ActivityAppsMain,
79
+ jr as ActivityAppsMain,
79
80
  i as ActivityBar,
80
81
  le as AnimatedBorderCard,
81
- Ge as ArrowRightLeft,
82
- Ae as Bell,
82
+ Me as ArrowRightLeft,
83
+ Ne as Bell,
83
84
  c as BottomBar,
84
85
  g as BottomBarItem,
85
- Lr as Breadcrumb,
86
+ kr as Breadcrumb,
86
87
  Z as Button,
87
88
  xe as Card,
88
89
  se as CardContent,
@@ -90,177 +91,178 @@ export {
90
91
  ge as CardFooter,
91
92
  Ce as CardHeader,
92
93
  ue as CardTitle,
93
- Me as Check,
94
- Ne as ChevronDown,
95
- ze as ChevronRight,
96
- wr as CodeFileIcon,
94
+ ze as Check,
95
+ Ke as ChevronDown,
96
+ Oe as ChevronRight,
97
+ Ar as CodeFileIcon,
97
98
  de as CommandPalette,
98
- lo as CommandProvider,
99
- ho as ComponentRegistryProvider,
100
- Gr as ConfigFileIcon,
99
+ so as CommandProvider,
100
+ Io as ComponentRegistryProvider,
101
+ Mr as ConfigFileIcon,
101
102
  $ as ConfirmDialog,
102
- Ke as Copy,
103
+ Ve as Copy,
103
104
  B as DECK_GRID_CONFIG,
104
- Jr as DEFAULT_FLOE_CONFIG,
105
+ $r as DEFAULT_FLOE_CONFIG,
105
106
  R as DeckCell,
106
107
  L as DeckGrid,
107
- Lo as DeckProvider,
108
+ ko as DeckProvider,
108
109
  _ as DeckTopBar,
109
110
  ee as Dialog,
110
- yr as DirectoryTree,
111
- Ar as DocumentFileIcon,
111
+ Pe as DirectoryPicker,
112
+ vr as DirectoryTree,
113
+ Nr as DocumentFileIcon,
112
114
  U as DropZonePreview,
113
115
  ie as Dropdown,
114
- Cr as FileBrowser,
115
- Sr as FileBrowserProvider,
116
- kr as FileBrowserToolbar,
117
- br as FileContextMenu,
118
- Pr as FileGridView,
119
- Mr as FileIcon,
120
- vr as FileListView,
121
- Oe as Files,
122
- Vt as FilesSidebarWidget,
116
+ Sr as FileBrowser,
117
+ yr as FileBrowserProvider,
118
+ wr as FileBrowserToolbar,
119
+ Lr as FileContextMenu,
120
+ br as FileGridView,
121
+ zr as FileIcon,
122
+ Pr as FileListView,
123
+ Ee as Files,
124
+ Ht as FilesSidebarWidget,
123
125
  oe as FloatingWindow,
124
- Qr as FloeApp,
125
- Yr as FloeConfigProvider,
126
- Hr as FloeProvider,
127
- Nr as FolderIcon,
128
- zr as FolderOpenIcon,
129
- Ve as GitBranch,
130
- Ee as Grid,
131
- He as Grid3x3,
132
- _e as GripVertical,
133
- Kr as ImageFileIcon,
126
+ Xr as FloeApp,
127
+ eo as FloeConfigProvider,
128
+ Qr as FloeProvider,
129
+ Kr as FolderIcon,
130
+ Or as FolderOpenIcon,
131
+ He as GitBranch,
132
+ _e as Grid,
133
+ Qe as Grid3x3,
134
+ Ue as GripVertical,
135
+ Vr as ImageFileIcon,
134
136
  q as Input,
135
137
  Se as Interactive3DCard,
136
138
  T as KeepAliveStack,
137
- nr as Launchpad,
138
- fr as LaunchpadGrid,
139
- pr as LaunchpadItem,
140
- cr as LaunchpadPagination,
141
- xr as LaunchpadSearch,
142
- Qe as LayoutDashboard,
143
- no as LayoutProvider,
139
+ pr as Launchpad,
140
+ xr as LaunchpadGrid,
141
+ fr as LaunchpadItem,
142
+ Cr as LaunchpadPagination,
143
+ cr as LaunchpadSearch,
144
+ Xe as LayoutDashboard,
145
+ po as LayoutProvider,
144
146
  E as LayoutSelector,
145
- Ue as Loader2,
146
- be as LoadingOverlay,
147
- Xe as Maximize,
148
- Xt as MetricsWidget,
149
- Ze as Minus,
147
+ Ze as Loader2,
148
+ Le as LoadingOverlay,
149
+ je as Maximize,
150
+ jt as MetricsWidget,
151
+ qe as Minus,
150
152
  S as MobileTabBar,
151
- je as Moon,
153
+ Je as Moon,
152
154
  Fe as MorphCard,
153
- he as NeonCard,
154
- go as NotificationContainer,
155
- Co as NotificationProvider,
155
+ ye as NeonCard,
156
+ uo as NotificationContainer,
157
+ So as NotificationProvider,
156
158
  I as Panel,
157
159
  v as PanelContent,
158
160
  D as PanelHeader,
159
- qe as Pencil,
160
- Je as Plus,
161
- h as ResizeHandle,
162
- Ye as Restore,
163
- $e as Search,
164
- Et as SearchSidebarWidget,
161
+ Ye as Pencil,
162
+ $e as Plus,
163
+ y as ResizeHandle,
164
+ er as Restore,
165
+ rr as Search,
166
+ _t as SearchSidebarWidget,
165
167
  ae as Select,
166
- er as Settings,
167
- Ht as SettingsSidebarWidget,
168
+ or as Settings,
169
+ Qt as SettingsSidebarWidget,
168
170
  o as Shell,
169
- _t as ShowcaseSidebarWidget,
171
+ Ut as ShowcaseSidebarWidget,
170
172
  n as Sidebar,
171
173
  m as SidebarContent,
172
174
  p as SidebarItem,
173
175
  d as SidebarItemList,
174
176
  f as SidebarSection,
175
- Qt as SidebarWidget,
176
- Le as Skeleton,
177
- We as SkeletonCard,
178
- ke as SkeletonList,
179
- Re as SkeletonText,
180
- Pe as SnakeLoader,
177
+ Xt as SidebarWidget,
178
+ ke as Skeleton,
179
+ Re as SkeletonCard,
180
+ we as SkeletonList,
181
+ Ge as SkeletonText,
182
+ be as SnakeLoader,
181
183
  C as StatusIndicator,
182
- Or as StyleFileIcon,
183
- rr as Sun,
184
+ Er as StyleFileIcon,
185
+ tr as Sun,
184
186
  Ie as TabPanel,
185
187
  ve as Tabs,
186
- or as Terminal,
187
- jt as TerminalWidget,
188
+ ir as Terminal,
189
+ Jt as TerminalWidget,
188
190
  J as Textarea,
189
- oo as ThemeProvider,
191
+ io as ThemeProvider,
190
192
  me as Tooltip,
191
193
  x as TopBar,
192
- tr as Trash,
193
- zo as ViewActivationProvider,
194
+ ar as Trash,
195
+ Oo as ViewActivationProvider,
194
196
  G as WidgetFrame,
195
197
  z as WidgetPalette,
196
- Po as WidgetRegistryProvider,
198
+ bo as WidgetRegistryProvider,
197
199
  M as WidgetResizeHandle,
198
- wo as WidgetStateProvider,
200
+ Ao as WidgetStateProvider,
199
201
  O as WidgetTypeSwitcher,
200
- ir as X,
201
- Wt as applyDragDelta,
202
- kt as applyResizeDelta,
203
- Nt as applyTheme,
204
- zt as builtInThemes,
205
- Pt as checkCollision,
206
- $o as cn,
207
- Tt as constrainPosition,
208
- xo as createCommandService,
209
- yo as createComponentRegistry,
210
- Wo as createDeckService,
211
- mo as createLayoutService,
212
- uo as createNotificationService,
213
- jr as createSimpleContext,
214
- to as createThemeService,
215
- To as createWidgetRegistry,
216
- rt as deferAfterPaint,
217
- ot as deferNonBlocking,
218
- ft as duration,
219
- lt as easing,
220
- xt as fadeIn,
221
- bt as findFreePosition,
222
- it as formatKeybind,
223
- Vr as getFileIcon,
224
- Rt as getGridCellSize,
202
+ nr as X,
203
+ Rt as applyDragDelta,
204
+ wt as applyResizeDelta,
205
+ Kt as applyTheme,
206
+ Ot as builtInThemes,
207
+ bt as checkCollision,
208
+ rt as cn,
209
+ Bt as constrainPosition,
210
+ co as createCommandService,
211
+ vo as createComponentRegistry,
212
+ Ro as createDeckService,
213
+ fo as createLayoutService,
214
+ Fo as createNotificationService,
215
+ Jr as createSimpleContext,
216
+ ao as createThemeService,
217
+ Bo as createWidgetRegistry,
218
+ tt as deferAfterPaint,
219
+ it as deferNonBlocking,
220
+ xt as duration,
221
+ st as easing,
222
+ ct as fadeIn,
223
+ Lt as findFreePosition,
224
+ nt as formatKeybind,
225
+ Hr as getFileIcon,
226
+ Gt as getGridCellSize,
225
227
  W as getGridConfigFromElement,
226
- Kt as getSystemTheme,
227
- Bt as hasCollision,
228
- st as listContainer,
229
- ct as listItem,
230
- pt as lockBodyStyle,
231
- at as matchKeybind,
232
- gt as panelResize,
233
- nt as parseKeybind,
234
- wt as pixelDeltaToGridDelta,
235
- Ct as popIn,
236
- Gt as positionToGridArea,
237
- ut as scaleIn,
238
- St as sidebarVariants,
239
- Ft as slideInFromBottom,
240
- ht as slideInFromLeft,
241
- yt as slideInFromRight,
242
- It as slideInFromTop,
243
- At as snapToGrid,
244
- vt as springConfig,
245
- so as useCommand,
246
- Io as useComponentContextFactory,
247
- vo as useComponentRegistry,
248
- Go as useCurrentWidgetId,
249
- Ho as useDebounce,
250
- ko as useDeck,
251
- Jo as useDeckDrag,
252
- Fr as useFileBrowser,
253
- $r as useFloeConfig,
254
- Xo as useKeybind,
255
- po as useLayout,
256
- Vo as useMediaQuery,
257
- So as useNotification,
258
- jo as usePersisted,
259
- Qo as useResizeObserver,
260
- eo as useResolvedFloeConfig,
261
- io as useTheme,
262
- Ko as useViewActivation,
263
- bo as useWidgetRegistry,
264
- Ao as useWidgetState,
265
- Mo as useWidgetStateContext
228
+ Vt as getSystemTheme,
229
+ Wt as hasCollision,
230
+ gt as listContainer,
231
+ Ct as listItem,
232
+ ft as lockBodyStyle,
233
+ mt as matchKeybind,
234
+ ut as panelResize,
235
+ pt as parseKeybind,
236
+ At as pixelDeltaToGridDelta,
237
+ St as popIn,
238
+ Mt as positionToGridArea,
239
+ Ft as scaleIn,
240
+ yt as sidebarVariants,
241
+ ht as slideInFromBottom,
242
+ It as slideInFromLeft,
243
+ vt as slideInFromRight,
244
+ Dt as slideInFromTop,
245
+ Nt as snapToGrid,
246
+ Pt as springConfig,
247
+ go as useCommand,
248
+ Do as useComponentContextFactory,
249
+ Po as useComponentRegistry,
250
+ Mo as useCurrentWidgetId,
251
+ Qo as useDebounce,
252
+ wo as useDeck,
253
+ $o as useDeckDrag,
254
+ hr as useFileBrowser,
255
+ ro as useFloeConfig,
256
+ jo as useKeybind,
257
+ lo as useLayout,
258
+ Ho as useMediaQuery,
259
+ yo as useNotification,
260
+ Jo as usePersisted,
261
+ Xo as useResizeObserver,
262
+ oo as useResolvedFloeConfig,
263
+ no as useTheme,
264
+ Vo as useViewActivation,
265
+ Lo as useWidgetRegistry,
266
+ No as useWidgetState,
267
+ zo as useWidgetStateContext
266
268
  };
package/dist/index10.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { template as E, insert as x, createComponent as I, effect as z, className as V, setStyleProperty as q } from "solid-js/web";
2
2
  import { createMemo as w, createSignal as b, untrack as B, createEffect as S, For as F } from "solid-js";
3
- import { ViewActivationProvider as N } from "./index60.js";
4
- import { cn as A } from "./index67.js";
3
+ import { ViewActivationProvider as N } from "./index61.js";
4
+ import { cn as A } from "./index68.js";
5
5
  var C = /* @__PURE__ */ E("<div>");
6
6
  function y(n) {
7
7
  return String(n ?? "").trim();
package/dist/index11.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { template as C, insert as h, createComponent as f, effect as O, setStyleProperty as I, className as $, setAttribute as z, use as F } from "solid-js/web";
2
2
  import { createSignal as A, createEffect as L, createMemo as s, onMount as T, Show as _, For as E, onCleanup as N } from "solid-js";
3
- import { cn as W } from "./index67.js";
4
- import { useDeck as V } from "./index58.js";
5
- import { useLayout as Z } from "./index53.js";
6
- import { hasCollision as K } from "./index72.js";
3
+ import { cn as W } from "./index68.js";
4
+ import { useDeck as V } from "./index59.js";
5
+ import { useLayout as Z } from "./index54.js";
6
+ import { hasCollision as K } from "./index73.js";
7
7
  import { DeckCell as U } from "./index12.js";
8
8
  import { DropZonePreview as j } from "./index19.js";
9
9
  var q = /* @__PURE__ */ C('<div class="absolute inset-0 pointer-events-none z-0 rounded"style="padding:inherit;background-origin:content-box;background-clip:content-box;background-image:linear-gradient(to right, color-mix(in srgb, var(--border) 15%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in srgb, var(--border) 15%, transparent) 1px, transparent 1px) ;background-position:0 0">'), B = /* @__PURE__ */ C('<div data-grid-cols=24 data-gap=4 data-default-rows=24 style="scrollbar-gutter:stable;grid-template-columns:repeat(24, 1fr);gap:4px"><div class=pointer-events-none aria-hidden=true style=grid-column:1>');
package/dist/index12.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import { template as y, insert as o, createComponent as g, Dynamic as C, effect as f, className as w, style as z, setAttribute as R } from "solid-js/web";
2
2
  import { createMemo as a, Show as k } from "solid-js";
3
- import { cn as v } from "./index67.js";
4
- import { useDeck as $ } from "./index58.js";
5
- import { useWidgetRegistry as M } from "./index57.js";
6
- import { WidgetStateProvider as A } from "./index59.js";
7
- import { positionToGridArea as _ } from "./index73.js";
3
+ import { cn as v } from "./index68.js";
4
+ import { useDeck as $ } from "./index59.js";
5
+ import { useWidgetRegistry as M } from "./index58.js";
6
+ import { WidgetStateProvider as A } from "./index60.js";
7
+ import { positionToGridArea as _ } from "./index74.js";
8
8
  import { WidgetFrame as I } from "./index13.js";
9
9
  var h = /* @__PURE__ */ y("<div>"), O = /* @__PURE__ */ y('<div class="h-full flex items-center justify-center text-muted-foreground text-xs"><span>Widget: ');
10
10
  function H(e) {
package/dist/index13.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { delegateEvents as h, template as c, insert as i, createComponent as e, effect as v, className as x } from "solid-js/web";
2
2
  import { Show as l } from "solid-js";
3
- import { cn as $ } from "./index67.js";
4
- import { useDeck as _ } from "./index58.js";
5
- import { GripVertical as b, X as k } from "./index32.js";
3
+ import { cn as $ } from "./index68.js";
4
+ import { useDeck as _ } from "./index59.js";
5
+ import { GripVertical as b, X as k } from "./index33.js";
6
6
  import { WidgetResizeHandle as d } from "./index14.js";
7
7
  import { WidgetTypeSwitcher as C } from "./index16.js";
8
8
  var D = /* @__PURE__ */ c("<div class=text-muted-foreground/50>"), W = /* @__PURE__ */ c('<button class="p-0.5 rounded hover:bg-destructive/10 text-muted-foreground hover:text-destructive transition-colors cursor-pointer pointer-events-auto"title="Remove widget">'), y = /* @__PURE__ */ c('<div class="h-full flex flex-col"><div><span class="flex-1 text-xs font-medium text-foreground truncate"></span></div><div class="flex-1 min-h-0 overflow-auto">');
package/dist/index14.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import { delegateEvents as Y, template as X, effect as L, className as M, setAttribute as H, use as T } from "solid-js/web";
2
2
  import { createSignal as _, onCleanup as q } from "solid-js";
3
- import { cn as N } from "./index67.js";
4
- import { useDeck as O } from "./index58.js";
5
- import { applyResizeDelta as U } from "./index73.js";
3
+ import { cn as N } from "./index68.js";
4
+ import { useDeck as O } from "./index59.js";
5
+ import { applyResizeDelta as U } from "./index74.js";
6
6
  import { getGridConfigFromElement as k } from "./index11.js";
7
- import { lockBodyStyle as x } from "./index70.js";
7
+ import { lockBodyStyle as x } from "./index71.js";
8
8
  var j = /* @__PURE__ */ X("<div style=touch-action:none>");
9
9
  const J = {
10
10
  n: "top-0 left-2 right-2 h-2 cursor-ns-resize",
package/dist/index15.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import { delegateEvents as O, createComponent as e, template as l, insert as r, effect as P, className as j } from "solid-js/web";
2
2
  import { createSignal as k, Show as n, For as y } from "solid-js";
3
- import { cn as f } from "./index67.js";
4
- import { useDeck as D } from "./index58.js";
5
- import { useWidgetRegistry as F } from "./index57.js";
6
- import { Plus as T, X, ChevronRight as q } from "./index32.js";
3
+ import { cn as f } from "./index68.js";
4
+ import { useDeck as D } from "./index59.js";
5
+ import { useWidgetRegistry as F } from "./index58.js";
6
+ import { Plus as T, X, ChevronRight as q } from "./index33.js";
7
7
  import { Button as G } from "./index20.js";
8
- import { deferNonBlocking as H } from "./index68.js";
8
+ import { deferNonBlocking as H } from "./index69.js";
9
9
  var J = /* @__PURE__ */ l('<div class="text-center text-muted-foreground text-sm py-8">No widgets registered'), K = /* @__PURE__ */ l('<div><div class="flex items-center justify-between p-3 border-b border-border"><h2 class="text-sm font-semibold">Add Widget</h2><button class="p-1 rounded hover:bg-muted transition-colors cursor-pointer"></button></div><div class="p-2 overflow-y-auto h-[calc(100%-48px)]">'), L = /* @__PURE__ */ l('<div class="fixed inset-0 bg-black/20 z-40">'), Q = /* @__PURE__ */ l('<div class="ml-4 mt-1 space-y-1">'), U = /* @__PURE__ */ l('<div class=mb-2><button class="w-full flex items-center gap-2 p-2 rounded hover:bg-muted transition-colors text-left cursor-pointer"><span class="text-sm font-medium"></span><span class="ml-auto text-xs text-muted-foreground">'), V = /* @__PURE__ */ l('<button class="w-full flex items-center gap-2 p-2 rounded hover:bg-muted transition-colors text-left cursor-pointer"><span class=text-sm>'), Y = /* @__PURE__ */ l('<div class="w-4 h-4">');
10
10
  function ie(C) {
11
11
  const p = D(), b = F(), [d, s] = k(!1), [W, z] = k(null), S = [{
package/dist/index16.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import { delegateEvents as E, createComponent as o, template as s, insert as l, effect as v, className as x, Portal as R, setStyleProperty as w, use as T } from "solid-js/web";
2
2
  import { createSignal as y, createEffect as W, onCleanup as I, Show as p, For as L } from "solid-js";
3
- import { cn as m } from "./index67.js";
4
- import { useDeck as N } from "./index58.js";
5
- import { useWidgetRegistry as z } from "./index57.js";
6
- import { deferNonBlocking as A } from "./index68.js";
7
- import { ArrowRightLeft as B, ChevronDown as M } from "./index32.js";
3
+ import { cn as m } from "./index68.js";
4
+ import { useDeck as N } from "./index59.js";
5
+ import { useWidgetRegistry as z } from "./index58.js";
6
+ import { deferNonBlocking as A } from "./index69.js";
7
+ import { ArrowRightLeft as B, ChevronDown as M } from "./index33.js";
8
8
  var O = /* @__PURE__ */ s('<button title="Switch widget type">'), F = /* @__PURE__ */ s('<div class="fixed inset-0 z-[9998]">'), K = /* @__PURE__ */ s('<div class="px-2 py-3 text-xs text-muted-foreground text-center">No other widget types available'), j = /* @__PURE__ */ s('<div><div class=p-1><div class="px-2 py-1.5 text-xs text-muted-foreground font-medium">Switch to'), q = /* @__PURE__ */ s('<button class="w-full flex items-center gap-2 px-2 py-1.5 rounded hover:bg-muted transition-colors text-left cursor-pointer"><span class=text-xs>'), G = /* @__PURE__ */ s('<div class="w-4 h-4">');
9
9
  function Z(f) {
10
10
  const $ = N(), b = z(), [c, d] = y(!1), [g, k] = y({
package/dist/index17.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { delegateEvents as j, template as s, insert as o, createComponent as a, memo as q, effect as w, className as C } from "solid-js/web";
2
2
  import { createSignal as R, Show as v, For as G } from "solid-js";
3
- import { cn as b } from "./index67.js";
4
- import { useDeck as H } from "./index58.js";
5
- import { deferNonBlocking as g } from "./index68.js";
6
- import { ChevronDown as J, Check as K, Copy as M, Pencil as Q, Trash as U } from "./index32.js";
3
+ import { cn as b } from "./index68.js";
4
+ import { useDeck as H } from "./index59.js";
5
+ import { deferNonBlocking as g } from "./index69.js";
6
+ import { ChevronDown as J, Check as K, Copy as M, Pencil as Q, Trash as U } from "./index33.js";
7
7
  var W = /* @__PURE__ */ s('<div class="absolute top-full left-0 mt-1 w-64 bg-popover border border-border rounded-md shadow-lg z-50 overflow-hidden"><div class="max-h-64 overflow-y-auto py-1"></div><div class="border-t border-border px-2 py-1.5"><button class="w-full text-left text-xs text-primary hover:underline cursor-pointer">+ New Layout'), X = /* @__PURE__ */ s('<div class="fixed inset-0 z-40">'), Y = /* @__PURE__ */ s('<div><button><span class="truncate max-w-[120px]">'), Z = /* @__PURE__ */ s('<span class="flex-1 text-xs truncate">'), ee = /* @__PURE__ */ s('<button class="p-1 rounded hover:bg-background transition-colors cursor-pointer"title=Rename>'), te = /* @__PURE__ */ s('<button class="p-1 rounded hover:bg-destructive/10 transition-colors cursor-pointer"title=Delete>'), re = /* @__PURE__ */ s('<div class="flex items-center gap-0.5 opacity-0 group-hover:opacity-100 transition-opacity"><button class="p-1 rounded hover:bg-background transition-colors cursor-pointer"title=Duplicate>'), ne = /* @__PURE__ */ s('<div><div class="w-4 h-4 flex-shrink-0">'), oe = /* @__PURE__ */ s('<input type=text class="flex-1 text-xs bg-background border border-border rounded px-1.5 py-0.5"autofocus>'), le = /* @__PURE__ */ s('<span class="ml-1 text-[10px] text-muted-foreground">(preset)');
8
8
  function pe(N) {
9
9
  const u = H(), [$, d] = R(!1), [I, _] = R(null), [P, h] = R(""), L = () => u.activeLayout(), D = () => u.layouts(), T = (t) => {