@floegence/floe-webapp-core 0.86.60 → 0.86.62
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/components/chat/blocks/BlockRenderer.js +1 -1
- package/dist/components/chat/blocks/CodeDiffBlock.js +56 -56
- package/dist/components/chat/blocks/ImageBlock.js +1 -1
- package/dist/components/chat/blocks/ToolCallBlock.js +57 -57
- package/dist/components/chat/status/ConnectionStatus.js +10 -10
- package/dist/components/deck/DeckCell.js +25 -25
- package/dist/components/deck/DeckContextMenu.js +20 -20
- package/dist/components/deck/DeckGrid.js +1 -1
- package/dist/components/deck/DeckTopBar.js +42 -42
- package/dist/components/deck/DropZonePreview.js +6 -6
- package/dist/components/deck/LayoutSelector.js +53 -53
- package/dist/components/deck/WidgetFrame.js +28 -28
- package/dist/components/deck/WidgetPalette.js +31 -31
- package/dist/components/deck/WidgetTypeSwitcher.js +31 -31
- package/dist/components/file-browser/Breadcrumb.js +27 -27
- package/dist/components/file-browser/DirectoryTree.js +15 -15
- package/dist/components/file-browser/DragPreview.js +58 -58
- package/dist/components/file-browser/FileBrowser.js +17 -17
- package/dist/components/file-browser/FileBrowserStatusBar.js +18 -18
- package/dist/components/file-browser/FileBrowserToolbar.js +27 -27
- package/dist/components/file-browser/FileContextMenu.js +47 -47
- package/dist/components/file-browser/FileGridView.js +53 -51
- package/dist/components/file-browser/FileItemDecorations.js +30 -27
- package/dist/components/file-browser/FileListView.js +114 -114
- package/dist/components/icons/index.js +1357 -1357
- package/dist/components/launchpad/Launchpad.js +14 -14
- package/dist/components/launchpad/LaunchpadGrid.js +7 -7
- package/dist/components/launchpad/LaunchpadItem.js +11 -11
- package/dist/components/launchpad/LaunchpadPagination.js +16 -16
- package/dist/components/launchpad/LaunchpadSearch.js +9 -9
- package/dist/components/layout/ActivityBar.js +52 -55
- package/dist/components/layout/BottomBar.js +17 -17
- package/dist/components/layout/MobileNavigationPanel.js +36 -36
- package/dist/components/layout/MobileTabBar.js +39 -39
- package/dist/components/layout/Panel.js +16 -16
- package/dist/components/layout/ResizeHandle.js +19 -19
- package/dist/components/layout/Shell.js +50 -50
- package/dist/components/layout/Sidebar.js +37 -36
- package/dist/components/layout/SidebarPane.js +19 -19
- package/dist/components/layout/TopBar.js +16 -16
- package/dist/components/layout/TopBarIconButton.js +15 -15
- package/dist/components/loading/LoadingOverlay.js +9 -9
- package/dist/components/loading/Skeleton.js +11 -11
- package/dist/components/ui/Button.js +36 -36
- package/dist/components/ui/Card.d.ts +11 -62
- package/dist/components/ui/Card.js +64 -237
- package/dist/components/ui/Checkbox.js +79 -79
- package/dist/components/ui/CommandPalette.js +56 -55
- package/dist/components/ui/Dialog.js +91 -93
- package/dist/components/ui/DirectoryInput.js +22 -22
- package/dist/components/ui/DirectoryPicker.js +8 -8
- package/dist/components/ui/Dropdown.js +89 -87
- package/dist/components/ui/FeedbackIndicator.js +57 -57
- package/dist/components/ui/FileOpenPicker.js +37 -37
- package/dist/components/ui/FileSavePicker.js +41 -41
- package/dist/components/ui/FloatingWindow.js +213 -205
- package/dist/components/ui/Form.js +76 -76
- package/dist/components/ui/HighlightBlock.js +14 -14
- package/dist/components/ui/Input.js +106 -109
- package/dist/components/ui/Pagination.js +86 -86
- package/dist/components/ui/Popover.d.ts +33 -0
- package/dist/components/ui/Popover.js +133 -0
- package/dist/components/ui/ProcessingIndicator.js +344 -345
- package/dist/components/ui/Progress.js +94 -97
- package/dist/components/ui/QuoteBlock.js +25 -25
- package/dist/components/ui/Radio.js +91 -91
- package/dist/components/ui/SegmentedControl.js +24 -24
- package/dist/components/ui/Stepper.js +68 -60
- package/dist/components/ui/Switch.js +25 -25
- package/dist/components/ui/Tabs.js +99 -87
- package/dist/components/ui/Tag.js +12 -9
- package/dist/components/ui/Tooltip.js +30 -30
- package/dist/components/ui/floatingPresence.d.ts +7 -0
- package/dist/components/ui/floatingPresence.js +80 -39
- package/dist/components/ui/index.d.ts +2 -1
- package/dist/components/ui/picker/DirectoryFavorites.js +27 -27
- package/dist/components/ui/picker/PickerBase.js +107 -107
- package/dist/context/NotificationContext.js +4 -4
- package/dist/context/ThemeContext.js +71 -70
- package/dist/floe.css +205 -43
- package/dist/full.js +650 -652
- package/dist/language.css +320 -0
- package/dist/primitives.css +23 -17
- package/dist/standalone.css +1 -0
- package/dist/styles/themes/classicSemanticTokens.d.ts +122 -122
- package/dist/styles/themes/classicSemanticTokens.js +140 -138
- package/dist/styles/themes/index.d.ts +3 -1
- package/dist/styles/themes/index.js +10 -10
- package/dist/styles/themes/presets.d.ts +2 -2
- package/dist/styles/themes/presets.js +34 -34
- package/dist/styles/tokens.d.ts +152 -68
- package/dist/styles/tokens.js +87 -49
- package/dist/styles.css +1 -1
- package/dist/surface.css +161 -116
- package/dist/themes/dark.css +64 -64
- package/dist/themes/light.css +64 -64
- package/dist/ui.css +171 -255
- package/dist/ui.js +176 -178
- package/dist/utils/hotInteraction.d.ts +7 -0
- package/dist/utils/hotInteraction.js +12 -12
- package/dist/widgets/TerminalWidget.js +28 -28
- package/dist/workbench-composition.css +15 -15
- package/package.json +1 -1
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
import { insert as
|
|
2
|
-
import { createSignal as E, createEffect as T, on as ae, untrack as ue, createMemo as V, createUniqueId as
|
|
1
|
+
import { insert as s, createComponent as l, use as H, setAttribute as v, effect as P, className as ce, memo as C, spread as te, mergeProps as re, template as f, delegateEvents as de } from "solid-js/web";
|
|
2
|
+
import { createSignal as E, createEffect as T, on as ae, untrack as ue, createMemo as V, createUniqueId as ve, Show as h, For as N } from "solid-js";
|
|
3
3
|
import { cn as L } from "../../../utils/cn.js";
|
|
4
|
-
import { FileItemIcon as
|
|
5
|
-
import { FolderOpen as le, ChevronRight as
|
|
4
|
+
import { FileItemIcon as ge } from "../../file-browser/FileIcons.js";
|
|
5
|
+
import { FolderOpen as le, ChevronRight as q } from "../../icons/index.js";
|
|
6
6
|
import { Button as z } from "../Button.js";
|
|
7
|
-
import { Input as
|
|
7
|
+
import { Input as U } from "../Input.js";
|
|
8
8
|
import { PickerDirectoryRow as ie, DirectoryFavoriteButton as fe } from "./DirectoryFavorites.js";
|
|
9
9
|
import { resolveTabNavigationTargetId as he } from "../Tabs.js";
|
|
10
|
-
import { createFilesystemPickerDataSource as be, parsePickerPath as
|
|
10
|
+
import { createFilesystemPickerDataSource as be, parsePickerPath as j, defaultPickerCopy as me, PickerNavigationError as we } from "./PickerNavigation.js";
|
|
11
11
|
import { pickerParentPath as Xe } from "./PickerNavigation.js";
|
|
12
|
-
var xe = /* @__PURE__ */ f('<div role=tablist class="mb-1 flex min-w-0 items-center gap-4 border-b border-
|
|
12
|
+
var xe = /* @__PURE__ */ f('<div role=tablist class="mb-1 flex min-w-0 items-center gap-4 border-b border-[var(--floe-line)]">'), ye = /* @__PURE__ */ f('<div class="flex min-w-0 items-start gap-1.5"><div class="min-w-0 flex-1">'), ke = /* @__PURE__ */ f('<div role=alert class="flex items-center gap-2 text-xs text-error"><span class="min-w-0 flex-1 break-words">'), $e = /* @__PURE__ */ f('<div class="flex items-start gap-2 rounded-xs border border-error/30 bg-error/5 px-2 py-1.5 text-xs"role=alert><span class="min-w-0 flex-1 break-words">'), O = /* @__PURE__ */ f("<div>"), pe = /* @__PURE__ */ f('<div class="flex min-w-0 flex-col gap-2"data-filesystem-picker><div class="flex min-w-0 flex-col gap-2">'), Pe = /* @__PURE__ */ f('<div class="flex flex-wrap items-center gap-1">'), _e = /* @__PURE__ */ f("<button type=button role=tab>"), Fe = /* @__PURE__ */ f('<nav class="flex min-w-0 flex-wrap items-center gap-0.5 text-xs">'), Ce = /* @__PURE__ */ f("<span role=status>"), Ie = /* @__PURE__ */ f('<div class="flex flex-wrap items-center justify-between gap-2 text-xs text-[var(--floe-ink-soft)]"><label class="flex cursor-pointer items-center gap-1.5"><input type=checkbox class=cursor-pointer>'), Ee = /* @__PURE__ */ f('<button type=button class="max-w-full cursor-pointer truncate rounded-xs px-1 py-0.5 hover:bg-[var(--floe-state-hover)] focus-visible:ring-1 focus-visible:ring-ring">'), ne = /* @__PURE__ */ f('<p class="px-3 py-6 text-center text-xs text-[var(--floe-ink-soft)]"role=status>'), ze = /* @__PURE__ */ f('<p class="px-3 py-6 text-center text-xs text-[var(--floe-ink-soft)]">'), Ae = /* @__PURE__ */ f('<button type=button class="flex min-h-8 min-w-0 flex-1 cursor-pointer items-center gap-2 px-2 py-1.5 text-left text-xs hover:bg-[var(--floe-state-selected)] focus:outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50"><span class="min-w-0 flex-1 truncate">'), Ve = /* @__PURE__ */ f('<button type=button class="flex min-h-14 min-w-0 flex-1 cursor-pointer items-center gap-3 rounded-sm px-2 py-2.5 text-left hover:bg-[var(--floe-state-selected)] focus:outline-none focus-visible:ring-1 focus-visible:ring-inset focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50"><span class="flex min-w-0 flex-1 flex-col gap-0.5"><span class="truncate text-xs font-medium"></span><span class="truncate text-caption text-[var(--floe-ink-soft)]">'), De = /* @__PURE__ */ f('<div class="flex items-center gap-1.5">'), Re = /* @__PURE__ */ f('<p role=alert class="text-xs text-error">');
|
|
13
13
|
function W(e) {
|
|
14
14
|
return {
|
|
15
15
|
...me,
|
|
16
16
|
...e.copy
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
|
-
function
|
|
19
|
+
function se(e, o) {
|
|
20
20
|
const n = W(e);
|
|
21
|
-
return
|
|
21
|
+
return o instanceof we ? n[o.kind] : e.formatError?.(o) || (o instanceof Error ? o.message : "") || n.loadFailed;
|
|
22
22
|
}
|
|
23
|
-
function Oe(e,
|
|
23
|
+
function Oe(e, o, n, y, _ = () => "browse") {
|
|
24
24
|
const [m, F] = E("browse"), k = be(() => e, n);
|
|
25
|
-
return T(ae(() => [
|
|
25
|
+
return T(ae(() => [o(), e.scopeKey], ([I]) => {
|
|
26
26
|
k.close(), I && (F(_()), e.directoryFavorites?.onRefresh?.(), y?.(), k.open(e.initialPath));
|
|
27
27
|
})), T(() => e.onValidityChange?.(k.valid() && m() === "browse")), {
|
|
28
28
|
...k,
|
|
@@ -31,7 +31,7 @@ function Oe(e, s, n, y, _ = () => "browse") {
|
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
33
|
function We(e) {
|
|
34
|
-
const
|
|
34
|
+
const o = () => W(e), n = ue(() => e.source), y = V(() => n.entries().filter((c) => c.type === "folder")), _ = V(() => n.context()?.roots.filter((c) => !c.hidden) ?? []), m = ve(), [F, k] = E(""), [I, $] = E(""), A = () => n.view() !== "browse", w = () => !!(e.suggestions?.paths.length || e.directoryFavorites), x = V(() => [...new Set((e.directoryFavorites?.paths ?? []).map((c) => j(c)).filter(Boolean))]), D = V(() => n.view() === "suggestions" ? e.suggestions?.paths ?? [] : x().filter((c) => c.toLocaleLowerCase().includes(F().trim().toLocaleLowerCase())));
|
|
35
35
|
T(ae(() => e.scopeKey, () => {
|
|
36
36
|
k(""), $("");
|
|
37
37
|
}));
|
|
@@ -42,46 +42,46 @@ function We(e) {
|
|
|
42
42
|
disabled: e.disabled
|
|
43
43
|
}] : [], ...e.directoryFavorites ? [{
|
|
44
44
|
id: "favorites",
|
|
45
|
-
label:
|
|
45
|
+
label: o().favorites,
|
|
46
46
|
disabled: e.disabled
|
|
47
|
-
}] : [], ..._().map((
|
|
48
|
-
id: `root:${
|
|
49
|
-
label:
|
|
50
|
-
path:
|
|
51
|
-
disabled: e.disabled ||
|
|
47
|
+
}] : [], ..._().map((c) => ({
|
|
48
|
+
id: `root:${c.id}`,
|
|
49
|
+
label: c.label,
|
|
50
|
+
path: c.pathAbs,
|
|
51
|
+
disabled: e.disabled || c.permissions?.read === !1
|
|
52
52
|
}))]), B = () => {
|
|
53
53
|
if (A()) return n.view();
|
|
54
|
-
const
|
|
55
|
-
return `root:${_().filter((i) =>
|
|
56
|
-
}, J = /* @__PURE__ */ new Map(), Q = [], X = (
|
|
54
|
+
const c = j(n.pathInput(), n.context()?.homePathAbs);
|
|
55
|
+
return `root:${_().filter((i) => c === i.pathAbs || c.startsWith(i.pathAbs.replace(/\/$/, "") + "/")).sort((i, t) => t.pathAbs.length - i.pathAbs.length)[0]?.id ?? n.context()?.defaultRootId ?? _()[0]?.id}`;
|
|
56
|
+
}, J = /* @__PURE__ */ new Map(), Q = [], X = (c, b, i, t) => {
|
|
57
57
|
let a;
|
|
58
|
-
|
|
58
|
+
c.key === "ArrowDown" && (a = Math.min(b + 1, t - 1)), c.key === "ArrowUp" && (a = Math.max(0, b - 1)), c.key === "Home" && (a = 0), c.key === "End" && (a = t - 1), a !== void 0 && (c.preventDefault(), c.stopPropagation(), i[a]?.focus(), i[a]?.scrollIntoView?.({
|
|
59
59
|
block: "nearest"
|
|
60
60
|
}));
|
|
61
|
-
},
|
|
62
|
-
const
|
|
63
|
-
if (!
|
|
61
|
+
}, oe = V(() => {
|
|
62
|
+
const c = n.currentPath();
|
|
63
|
+
if (!c) return [];
|
|
64
64
|
let b = "";
|
|
65
65
|
return [{
|
|
66
66
|
path: "/",
|
|
67
|
-
name:
|
|
68
|
-
}, ...
|
|
67
|
+
name: o().root
|
|
68
|
+
}, ...c.split("/").filter(Boolean).map((i) => (b += `/${i}`, {
|
|
69
69
|
path: b,
|
|
70
70
|
name: i
|
|
71
71
|
}))];
|
|
72
|
-
}), Y = [], S = (
|
|
73
|
-
n.setView("browse"), n.navigate(
|
|
72
|
+
}), Y = [], S = (c) => {
|
|
73
|
+
n.setView("browse"), n.navigate(c), K?.focus();
|
|
74
74
|
}, Z = () => S(n.pathInput());
|
|
75
75
|
return (() => {
|
|
76
|
-
var
|
|
77
|
-
return
|
|
76
|
+
var c = pe(), b = c.firstChild;
|
|
77
|
+
return s(c, l(h, {
|
|
78
78
|
get when() {
|
|
79
79
|
return w();
|
|
80
80
|
},
|
|
81
81
|
get fallback() {
|
|
82
82
|
return (() => {
|
|
83
83
|
var i = Pe();
|
|
84
|
-
return
|
|
84
|
+
return s(i, l(N, {
|
|
85
85
|
get each() {
|
|
86
86
|
return _();
|
|
87
87
|
},
|
|
@@ -104,12 +104,12 @@ function We(e) {
|
|
|
104
104
|
return t.label;
|
|
105
105
|
}
|
|
106
106
|
})
|
|
107
|
-
})), P(() =>
|
|
107
|
+
})), P(() => v(i, "aria-label", o().roots)), i;
|
|
108
108
|
})();
|
|
109
109
|
},
|
|
110
110
|
get children() {
|
|
111
111
|
var i = xe();
|
|
112
|
-
return
|
|
112
|
+
return s(i, l(N, {
|
|
113
113
|
get each() {
|
|
114
114
|
return G();
|
|
115
115
|
},
|
|
@@ -120,9 +120,9 @@ function We(e) {
|
|
|
120
120
|
u && (r.preventDefault(), r.stopPropagation(), J.get(u)?.focus());
|
|
121
121
|
}, a.$$click = () => {
|
|
122
122
|
"path" in t ? S(t.path) : (n.setView(t.id), t.id === "favorites" && e.directoryFavorites?.onRefresh?.());
|
|
123
|
-
}, H((r) => J.set(t.id, r), a),
|
|
124
|
-
var u = `${m}-${t.id}`,
|
|
125
|
-
return u !== r.e &&
|
|
123
|
+
}, H((r) => J.set(t.id, r), a), v(a, "aria-controls", m), s(a, () => t.label), P((r) => {
|
|
124
|
+
var u = `${m}-${t.id}`, g = B() === t.id, p = B() === t.id ? 0 : -1, d = t.disabled, R = "path" in t ? t.path : t.label, M = L("min-w-0 cursor-pointer truncate border-b-2 px-0.5 py-2 text-xs font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50", B() === t.id ? "border-primary text-[var(--floe-accent-ink)]" : "border-transparent text-[var(--floe-ink-soft)] hover:text-foreground");
|
|
125
|
+
return u !== r.e && v(a, "id", r.e = u), g !== r.t && v(a, "aria-selected", r.t = g), p !== r.a && v(a, "tabindex", r.a = p), d !== r.o && (a.disabled = r.o = d), R !== r.i && v(a, "title", r.i = R), M !== r.n && ce(a, r.n = M), r;
|
|
126
126
|
}, {
|
|
127
127
|
e: void 0,
|
|
128
128
|
t: void 0,
|
|
@@ -132,22 +132,22 @@ function We(e) {
|
|
|
132
132
|
n: void 0
|
|
133
133
|
}), a;
|
|
134
134
|
})()
|
|
135
|
-
})), P(() =>
|
|
135
|
+
})), P(() => v(i, "aria-label", o().roots)), i;
|
|
136
136
|
}
|
|
137
|
-
}), b),
|
|
137
|
+
}), b), v(b, "id", m), s(b, l(h, {
|
|
138
138
|
get when() {
|
|
139
139
|
return !A();
|
|
140
140
|
},
|
|
141
141
|
get children() {
|
|
142
142
|
var i = ye(), t = i.firstChild;
|
|
143
|
-
return
|
|
143
|
+
return s(t, l(U, {
|
|
144
144
|
ref(a) {
|
|
145
145
|
var r = K;
|
|
146
146
|
typeof r == "function" ? r(a) : K = a;
|
|
147
147
|
},
|
|
148
148
|
size: "sm",
|
|
149
149
|
get "aria-label"() {
|
|
150
|
-
return
|
|
150
|
+
return o().path;
|
|
151
151
|
},
|
|
152
152
|
placeholder: "/",
|
|
153
153
|
get value() {
|
|
@@ -160,7 +160,7 @@ function We(e) {
|
|
|
160
160
|
onKeyDown: (a) => {
|
|
161
161
|
a.key === "Enter" && (a.preventDefault(), a.stopPropagation(), Z());
|
|
162
162
|
}
|
|
163
|
-
})),
|
|
163
|
+
})), s(i, l(z, {
|
|
164
164
|
size: "sm",
|
|
165
165
|
variant: "outline",
|
|
166
166
|
onClick: Z,
|
|
@@ -168,17 +168,17 @@ function We(e) {
|
|
|
168
168
|
return e.disabled || !n.context() || !n.pathInput();
|
|
169
169
|
},
|
|
170
170
|
get children() {
|
|
171
|
-
return
|
|
171
|
+
return o().go;
|
|
172
172
|
}
|
|
173
173
|
}), null), i;
|
|
174
174
|
}
|
|
175
|
-
}), null),
|
|
175
|
+
}), null), s(b, l(h, {
|
|
176
176
|
get when() {
|
|
177
177
|
return I() || e.directoryFavorites?.error;
|
|
178
178
|
},
|
|
179
179
|
get children() {
|
|
180
180
|
var i = ke(), t = i.firstChild;
|
|
181
|
-
return
|
|
181
|
+
return s(t, () => I() || e.directoryFavorites?.error), s(i, l(z, {
|
|
182
182
|
size: "sm",
|
|
183
183
|
variant: "ghost",
|
|
184
184
|
get disabled() {
|
|
@@ -188,17 +188,17 @@ function We(e) {
|
|
|
188
188
|
$(""), e.directoryFavorites?.onRefresh?.();
|
|
189
189
|
},
|
|
190
190
|
get children() {
|
|
191
|
-
return
|
|
191
|
+
return o().retry;
|
|
192
192
|
}
|
|
193
193
|
}), null), i;
|
|
194
194
|
}
|
|
195
|
-
}), null),
|
|
195
|
+
}), null), s(b, l(h, {
|
|
196
196
|
get when() {
|
|
197
197
|
return C(() => !!n.error())() && !A();
|
|
198
198
|
},
|
|
199
199
|
get children() {
|
|
200
200
|
var i = $e(), t = i.firstChild;
|
|
201
|
-
return
|
|
201
|
+
return s(t, () => se(e, n.error())), s(i, l(z, {
|
|
202
202
|
size: "sm",
|
|
203
203
|
variant: "ghost",
|
|
204
204
|
onClick: () => {
|
|
@@ -208,44 +208,44 @@ function We(e) {
|
|
|
208
208
|
return e.disabled || n.pending();
|
|
209
209
|
},
|
|
210
210
|
get children() {
|
|
211
|
-
return
|
|
211
|
+
return o().retry;
|
|
212
212
|
}
|
|
213
213
|
}), null), i;
|
|
214
214
|
}
|
|
215
|
-
}), null),
|
|
215
|
+
}), null), s(b, l(h, {
|
|
216
216
|
get when() {
|
|
217
217
|
return A();
|
|
218
218
|
},
|
|
219
219
|
get fallback() {
|
|
220
220
|
return [(() => {
|
|
221
221
|
var i = Fe();
|
|
222
|
-
return
|
|
222
|
+
return s(i, l(N, {
|
|
223
223
|
get each() {
|
|
224
|
-
return
|
|
224
|
+
return oe();
|
|
225
225
|
},
|
|
226
226
|
children: (t, a) => [l(h, {
|
|
227
227
|
get when() {
|
|
228
228
|
return a() > 0;
|
|
229
229
|
},
|
|
230
230
|
get children() {
|
|
231
|
-
return l(
|
|
232
|
-
class: "h-3 w-3 shrink-0 text-
|
|
231
|
+
return l(q, {
|
|
232
|
+
class: "h-3 w-3 shrink-0 text-[var(--floe-ink-soft)]"
|
|
233
233
|
});
|
|
234
234
|
}
|
|
235
235
|
}), (() => {
|
|
236
236
|
var r = Ee();
|
|
237
237
|
return r.$$click = () => {
|
|
238
238
|
n.navigate(t.path);
|
|
239
|
-
},
|
|
240
|
-
var
|
|
241
|
-
return
|
|
239
|
+
}, s(r, () => t.name), P((u) => {
|
|
240
|
+
var g = t.path, p = e.disabled, d = t.path === n.currentPath() ? "location" : void 0;
|
|
241
|
+
return g !== u.e && v(r, "title", u.e = g), p !== u.t && (r.disabled = u.t = p), d !== u.a && v(r, "aria-current", u.a = d), u;
|
|
242
242
|
}, {
|
|
243
243
|
e: void 0,
|
|
244
244
|
t: void 0,
|
|
245
245
|
a: void 0
|
|
246
246
|
}), r;
|
|
247
247
|
})()]
|
|
248
|
-
}), null),
|
|
248
|
+
}), null), s(i, l(h, {
|
|
249
249
|
get when() {
|
|
250
250
|
return e.directoryFavorites;
|
|
251
251
|
},
|
|
@@ -258,7 +258,7 @@ function We(e) {
|
|
|
258
258
|
return e.directoryFavorites;
|
|
259
259
|
},
|
|
260
260
|
get copy() {
|
|
261
|
-
return
|
|
261
|
+
return o();
|
|
262
262
|
},
|
|
263
263
|
get disabled() {
|
|
264
264
|
return e.disabled || !n.valid();
|
|
@@ -266,26 +266,26 @@ function We(e) {
|
|
|
266
266
|
onError: $
|
|
267
267
|
});
|
|
268
268
|
}
|
|
269
|
-
}), null), P(() =>
|
|
269
|
+
}), null), P(() => v(i, "aria-label", o().currentDirectory)), i;
|
|
270
270
|
})(), (() => {
|
|
271
271
|
var i = O();
|
|
272
272
|
return te(i, re(() => e.scrollViewportProps, {
|
|
273
273
|
get class() {
|
|
274
|
-
return L("min-h-[120px] overflow-y-auto rounded border border-
|
|
274
|
+
return L("min-h-[120px] overflow-y-auto rounded-xs border border-[var(--floe-line)]", e.scrollViewportProps?.class);
|
|
275
275
|
},
|
|
276
276
|
get style() {
|
|
277
277
|
return {
|
|
278
278
|
"max-height": e.treeMaxHeight ?? "240px"
|
|
279
279
|
};
|
|
280
280
|
}
|
|
281
|
-
}), !1, !0),
|
|
281
|
+
}), !1, !0), s(i, l(h, {
|
|
282
282
|
get when() {
|
|
283
283
|
return !n.pending() || n.currentPath();
|
|
284
284
|
},
|
|
285
285
|
get fallback() {
|
|
286
286
|
return (() => {
|
|
287
287
|
var t = ne();
|
|
288
|
-
return
|
|
288
|
+
return s(t, () => o().loading), t;
|
|
289
289
|
})();
|
|
290
290
|
},
|
|
291
291
|
get children() {
|
|
@@ -300,7 +300,7 @@ function We(e) {
|
|
|
300
300
|
},
|
|
301
301
|
get children() {
|
|
302
302
|
var t = ze();
|
|
303
|
-
return
|
|
303
|
+
return s(t, () => o().empty), t;
|
|
304
304
|
}
|
|
305
305
|
});
|
|
306
306
|
},
|
|
@@ -317,7 +317,7 @@ function We(e) {
|
|
|
317
317
|
return e.directoryFavorites;
|
|
318
318
|
},
|
|
319
319
|
get copy() {
|
|
320
|
-
return
|
|
320
|
+
return o();
|
|
321
321
|
},
|
|
322
322
|
get scopeKey() {
|
|
323
323
|
return e.scopeKey;
|
|
@@ -328,21 +328,21 @@ function We(e) {
|
|
|
328
328
|
onError: $,
|
|
329
329
|
get children() {
|
|
330
330
|
var r = Ae(), u = r.firstChild;
|
|
331
|
-
return r.$$keydown = (
|
|
331
|
+
return r.$$keydown = (g) => X(g, a(), Y, y().length), r.$$click = () => {
|
|
332
332
|
n.navigate(t.path);
|
|
333
|
-
}, H((
|
|
333
|
+
}, H((g) => {
|
|
334
334
|
T(() => {
|
|
335
|
-
Y[a()] =
|
|
335
|
+
Y[a()] = g;
|
|
336
336
|
});
|
|
337
|
-
}, r),
|
|
337
|
+
}, r), s(r, l(ge, {
|
|
338
338
|
item: t,
|
|
339
339
|
size: 16,
|
|
340
340
|
class: "h-4 w-4 shrink-0"
|
|
341
|
-
}), u),
|
|
342
|
-
class: "h-3 w-3 shrink-0 text-
|
|
343
|
-
}), null), P((
|
|
344
|
-
var p = t.path,
|
|
345
|
-
return p !==
|
|
341
|
+
}), u), s(u, () => t.name), s(r, l(q, {
|
|
342
|
+
class: "h-3 w-3 shrink-0 text-[var(--floe-ink-soft)]"
|
|
343
|
+
}), null), P((g) => {
|
|
344
|
+
var p = t.path, d = e.disabled || e.filter?.(t) === !1;
|
|
345
|
+
return p !== g.e && v(r, "data-picker-row-path", g.e = p), d !== g.t && (r.disabled = g.t = d), g;
|
|
346
346
|
}, {
|
|
347
347
|
e: void 0,
|
|
348
348
|
t: void 0
|
|
@@ -358,13 +358,13 @@ function We(e) {
|
|
|
358
358
|
var i = Ie(), t = i.firstChild, a = t.firstChild;
|
|
359
359
|
return a.addEventListener("change", (r) => {
|
|
360
360
|
n.setShowHidden(r.currentTarget.checked);
|
|
361
|
-
}),
|
|
361
|
+
}), s(t, () => o().showHidden, null), s(i, l(h, {
|
|
362
362
|
get when() {
|
|
363
363
|
return C(() => !!n.pending())() && n.currentPath();
|
|
364
364
|
},
|
|
365
365
|
get children() {
|
|
366
366
|
var r = Ce();
|
|
367
|
-
return
|
|
367
|
+
return s(r, () => o().loading), r;
|
|
368
368
|
}
|
|
369
369
|
}), null), P(() => a.disabled = e.disabled || !n.context()), P(() => a.checked = n.showHidden()), i;
|
|
370
370
|
})(), l(h, {
|
|
@@ -382,13 +382,13 @@ function We(e) {
|
|
|
382
382
|
return n.view() === "favorites";
|
|
383
383
|
},
|
|
384
384
|
get children() {
|
|
385
|
-
return l(
|
|
385
|
+
return l(U, {
|
|
386
386
|
size: "sm",
|
|
387
387
|
get "aria-label"() {
|
|
388
|
-
return
|
|
388
|
+
return o().favoritesFilter;
|
|
389
389
|
},
|
|
390
390
|
get placeholder() {
|
|
391
|
-
return
|
|
391
|
+
return o().favoritesFilter;
|
|
392
392
|
},
|
|
393
393
|
get value() {
|
|
394
394
|
return F();
|
|
@@ -406,7 +406,7 @@ function We(e) {
|
|
|
406
406
|
return n.view() === "favorites" ? "" : void 0;
|
|
407
407
|
},
|
|
408
408
|
get "aria-label"() {
|
|
409
|
-
return C(() => n.view() === "favorites")() ?
|
|
409
|
+
return C(() => n.view() === "favorites")() ? o().favorites : e.suggestions?.label;
|
|
410
410
|
},
|
|
411
411
|
get "aria-busy"() {
|
|
412
412
|
return C(() => n.view() === "favorites")() && e.directoryFavorites?.loading;
|
|
@@ -419,16 +419,16 @@ function We(e) {
|
|
|
419
419
|
"max-height": e.treeMaxHeight ?? "240px"
|
|
420
420
|
};
|
|
421
421
|
}
|
|
422
|
-
}), !1, !0),
|
|
422
|
+
}), !1, !0), s(i, l(h, {
|
|
423
423
|
get when() {
|
|
424
424
|
return D().length;
|
|
425
425
|
},
|
|
426
426
|
get fallback() {
|
|
427
427
|
return (() => {
|
|
428
428
|
var t = ne();
|
|
429
|
-
return
|
|
429
|
+
return s(t, (() => {
|
|
430
430
|
var a = C(() => !!e.directoryFavorites?.loading);
|
|
431
|
-
return () => a() ?
|
|
431
|
+
return () => a() ? o().loading : C(() => !!e.directoryFavorites?.error)() ? o().favoritesLoadFailed : C(() => !!F().trim())() ? o().favoritesNoMatches : o().favoritesEmpty;
|
|
432
432
|
})()), t;
|
|
433
433
|
})();
|
|
434
434
|
},
|
|
@@ -443,7 +443,7 @@ function We(e) {
|
|
|
443
443
|
return e.directoryFavorites;
|
|
444
444
|
},
|
|
445
445
|
get copy() {
|
|
446
|
-
return
|
|
446
|
+
return o();
|
|
447
447
|
},
|
|
448
448
|
get scopeKey() {
|
|
449
449
|
return e.scopeKey;
|
|
@@ -453,20 +453,20 @@ function We(e) {
|
|
|
453
453
|
},
|
|
454
454
|
onError: $,
|
|
455
455
|
get children() {
|
|
456
|
-
var r = Ve(), u = r.firstChild,
|
|
457
|
-
return r.$$keydown = (
|
|
456
|
+
var r = Ve(), u = r.firstChild, g = u.firstChild, p = g.nextSibling;
|
|
457
|
+
return r.$$keydown = (d) => X(d, a(), Q, D().length), r.$$click = () => {
|
|
458
458
|
S(t);
|
|
459
|
-
}, H((
|
|
459
|
+
}, H((d) => {
|
|
460
460
|
T(() => {
|
|
461
|
-
Q[a()] =
|
|
461
|
+
Q[a()] = d;
|
|
462
462
|
});
|
|
463
|
-
}, r),
|
|
464
|
-
class: "h-4 w-4 shrink-0 text-
|
|
465
|
-
}), u),
|
|
466
|
-
class: "h-3 w-3 shrink-0 text-
|
|
467
|
-
}), null), P((
|
|
463
|
+
}, r), v(r, "title", t), v(r, "aria-label", t), s(r, l(le, {
|
|
464
|
+
class: "h-4 w-4 shrink-0 text-[var(--floe-ink-soft)]"
|
|
465
|
+
}), u), s(g, () => t.split("/").filter(Boolean).at(-1) ?? o().root), s(p, t), s(r, l(q, {
|
|
466
|
+
class: "h-3 w-3 shrink-0 text-[var(--floe-ink-quiet)]"
|
|
467
|
+
}), null), P((d) => {
|
|
468
468
|
var R = n.view() === "suggestions" ? t : void 0, M = n.view() === "favorites" ? t : void 0, ee = e.disabled || !n.context();
|
|
469
|
-
return R !==
|
|
469
|
+
return R !== d.e && v(r, "data-picker-suggested-path", d.e = R), M !== d.t && v(r, "data-picker-favorite-path", d.t = M), ee !== d.a && (r.disabled = d.a = ee), d;
|
|
470
470
|
}, {
|
|
471
471
|
e: void 0,
|
|
472
472
|
t: void 0,
|
|
@@ -481,16 +481,16 @@ function We(e) {
|
|
|
481
481
|
}
|
|
482
482
|
}), null), P((i) => {
|
|
483
483
|
var t = n.pending(), a = w() ? "tabpanel" : void 0, r = w() ? `${m}-${B()}` : void 0;
|
|
484
|
-
return t !== i.e &&
|
|
484
|
+
return t !== i.e && v(c, "aria-busy", i.e = t), a !== i.t && v(b, "role", i.t = a), r !== i.a && v(b, "aria-labelledby", i.a = r), i;
|
|
485
485
|
}, {
|
|
486
486
|
e: void 0,
|
|
487
487
|
t: void 0,
|
|
488
488
|
a: void 0
|
|
489
|
-
}),
|
|
489
|
+
}), c;
|
|
490
490
|
})();
|
|
491
491
|
}
|
|
492
492
|
function Me(e) {
|
|
493
|
-
const [
|
|
493
|
+
const [o, n] = E(!1), [y, _] = E(""), [m, F] = E(!1), [k, I] = E(null), $ = () => W(e), A = async () => {
|
|
494
494
|
if (!y().trim() || !e.source.valid() || !e.onCreateFolder || m()) return;
|
|
495
495
|
const w = e.source.currentPath();
|
|
496
496
|
F(!0), I(null);
|
|
@@ -504,9 +504,9 @@ function Me(e) {
|
|
|
504
504
|
};
|
|
505
505
|
return (() => {
|
|
506
506
|
var w = O();
|
|
507
|
-
return
|
|
507
|
+
return s(w, l(h, {
|
|
508
508
|
get when() {
|
|
509
|
-
return
|
|
509
|
+
return o();
|
|
510
510
|
},
|
|
511
511
|
get fallback() {
|
|
512
512
|
return l(z, {
|
|
@@ -525,7 +525,7 @@ function Me(e) {
|
|
|
525
525
|
},
|
|
526
526
|
get children() {
|
|
527
527
|
var x = De();
|
|
528
|
-
return
|
|
528
|
+
return s(x, l(U, {
|
|
529
529
|
size: "sm",
|
|
530
530
|
get "aria-label"() {
|
|
531
531
|
return $().folderName;
|
|
@@ -537,7 +537,7 @@ function Me(e) {
|
|
|
537
537
|
get disabled() {
|
|
538
538
|
return e.disabled || m();
|
|
539
539
|
}
|
|
540
|
-
}), null),
|
|
540
|
+
}), null), s(x, l(z, {
|
|
541
541
|
size: "sm",
|
|
542
542
|
get disabled() {
|
|
543
543
|
return e.disabled || m() || !y().trim() || !e.source.valid();
|
|
@@ -548,7 +548,7 @@ function Me(e) {
|
|
|
548
548
|
get children() {
|
|
549
549
|
return $().create;
|
|
550
550
|
}
|
|
551
|
-
}), null),
|
|
551
|
+
}), null), s(x, l(z, {
|
|
552
552
|
size: "sm",
|
|
553
553
|
variant: "ghost-destructive",
|
|
554
554
|
get disabled() {
|
|
@@ -560,24 +560,24 @@ function Me(e) {
|
|
|
560
560
|
}
|
|
561
561
|
}), null), x;
|
|
562
562
|
}
|
|
563
|
-
}), null),
|
|
563
|
+
}), null), s(w, l(h, {
|
|
564
564
|
get when() {
|
|
565
565
|
return k();
|
|
566
566
|
},
|
|
567
567
|
get children() {
|
|
568
568
|
var x = Re();
|
|
569
|
-
return
|
|
569
|
+
return s(x, () => se(e, k())), x;
|
|
570
570
|
}
|
|
571
571
|
}), null), w;
|
|
572
572
|
})();
|
|
573
573
|
}
|
|
574
|
-
const Ge =
|
|
575
|
-
|
|
574
|
+
const Ge = j;
|
|
575
|
+
de(["click", "keydown"]);
|
|
576
576
|
export {
|
|
577
577
|
We as PickerPanel,
|
|
578
578
|
Xe as getParentPath,
|
|
579
579
|
Ge as normalizePath,
|
|
580
580
|
W as pickerCopy,
|
|
581
|
-
|
|
581
|
+
se as pickerErrorMessage,
|
|
582
582
|
Oe as usePickerNavigation
|
|
583
583
|
};
|
|
@@ -97,8 +97,8 @@ function R(i) {
|
|
|
97
97
|
error: () => A()
|
|
98
98
|
}, s = () => i.notification.type === "error" || i.notification.type === "warning" ? "alert" : "status", f = () => s() === "alert" ? "assertive" : "polite";
|
|
99
99
|
return (() => {
|
|
100
|
-
var t = z(), e = t.firstChild, l = e.firstChild, r = l.nextSibling,
|
|
101
|
-
return u(l, () => n[i.notification.type]()), u(
|
|
100
|
+
var t = z(), e = t.firstChild, l = e.firstChild, r = l.nextSibling, b = r.firstChild, p = r.nextSibling;
|
|
101
|
+
return u(l, () => n[i.notification.type]()), u(b, () => i.notification.title), u(r, d(x, {
|
|
102
102
|
get when() {
|
|
103
103
|
return i.notification.message;
|
|
104
104
|
},
|
|
@@ -114,8 +114,8 @@ function R(i) {
|
|
|
114
114
|
var o = j();
|
|
115
115
|
return o.$$click = () => i.notification.action?.onClick(), u(o, () => i.notification.action.label), o;
|
|
116
116
|
}
|
|
117
|
-
}), null),
|
|
118
|
-
var m = N("animate-in slide-in-from-right fade-in duration-
|
|
117
|
+
}), null), p.$$click = () => i.onDismiss(), k((o) => {
|
|
118
|
+
var m = N("animate-in slide-in-from-right fade-in duration-[var(--floe-duration-base)]", "rounded-control border border-border border-l-[3px] p-3.5", "shadow-md", "bg-card text-card-foreground", a[i.notification.type]), v = s(), g = f();
|
|
119
119
|
return m !== o.e && $(t, o.e = m), v !== o.t && h(t, "role", o.t = v), g !== o.a && h(t, "aria-live", o.a = g), o;
|
|
120
120
|
}, {
|
|
121
121
|
e: void 0,
|