@floegence/floe-webapp-core 0.54.1 → 0.55.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  import { createComponent as r, use as L, setAttribute as s, style as ee, Portal as te, spread as B, mergeProps as F, memo as C, insert as i, effect as A, className as N, template as c } from "solid-js/web";
2
2
  import { createUniqueId as ne, createSignal as I, createEffect as G, onCleanup as j, createMemo as q, Show as f, untrack as re } from "solid-js";
3
- import { cn as v } from "../../utils/cn.js";
3
+ import { cn as w } from "../../utils/cn.js";
4
4
  import { Button as E } from "./Button.js";
5
5
  import { X as oe } from "../icons/index.js";
6
6
  import { useResolvedFloeConfig as ie } from "../../context/FloeConfigContext.js";
@@ -9,7 +9,7 @@ import { resolveSurfacePortalHost as ae, DIALOG_SURFACE_BOUNDARY_ATTR as O, SURF
9
9
  import { LOCAL_INTERACTION_SURFACE_ATTR as ge } from "./localInteractionSurface.js";
10
10
  import { createFloatingPresence as me } from "./floatingPresence.js";
11
11
  import { useDialogPlacement as he } from "./DialogPlacementContext.js";
12
- var be = /* @__PURE__ */ c("<span aria-hidden=true>"), ve = /* @__PURE__ */ c('<h2 class="text-sm font-semibold">'), we = /* @__PURE__ */ c('<p class="mt-0.5 text-xs text-muted-foreground">'), ye = /* @__PURE__ */ c('<div class="flex items-start justify-between p-3 border-b border-border"><div>'), xe = /* @__PURE__ */ c('<div class="flex items-center justify-end gap-2 p-3 border-t border-border">'), $e = /* @__PURE__ */ c("<div><div></div><div><div data-floe-surface=floating><div>"), _e = /* @__PURE__ */ c("<h2 class=sr-only>"), Ce = /* @__PURE__ */ c("<p class=sr-only>"), Ae = /* @__PURE__ */ c("<div>");
12
+ var be = /* @__PURE__ */ c("<span aria-hidden=true>"), we = /* @__PURE__ */ c('<h2 class="text-sm font-semibold">'), ve = /* @__PURE__ */ c('<p class="mt-0.5 text-xs text-muted-foreground">'), ye = /* @__PURE__ */ c('<div class="flex items-start justify-between p-3 border-b border-border"><div>'), xe = /* @__PURE__ */ c('<div class="flex items-center justify-end gap-2 p-3 border-t border-border">'), $e = /* @__PURE__ */ c("<div><div></div><div><div data-floe-surface=floating><div>"), _e = /* @__PURE__ */ c("<h2 class=sr-only>"), Ce = /* @__PURE__ */ c("<p class=sr-only>"), Ae = /* @__PURE__ */ c("<div>");
13
13
  const Oe = {
14
14
  display: "none"
15
15
  };
@@ -34,7 +34,7 @@ function Pe(e) {
34
34
  window.clearTimeout(e);
35
35
  }
36
36
  function pe(e) {
37
- const w = he(), g = ne(), p = () => `dialog-${g}-title`, S = () => `dialog-${g}-description`;
37
+ const v = he(), g = ne(), p = () => `dialog-${g}-title`, S = () => `dialog-${g}-description`;
38
38
  let T;
39
39
  const [R, z] = I(null), [M, Z] = I(0), [V, W] = I(0), m = () => e.presentation === "bottom-drawer", u = me({
40
40
  open: () => e.open && !!R() && M() > 0,
@@ -54,7 +54,7 @@ function pe(e) {
54
54
  boundaryHost: null,
55
55
  mountHost: null,
56
56
  mode: "global"
57
- }), x = () => `dialog-boundary-${g}`, o = () => w.mode() === "auto" && K(k()), X = () => o() ? fe(k()) : void 0, H = () => e.globalZIndex ?? w.globalZIndex(), D = (n) => ue(se(n), n), J = () => D(k()), P = q(() => (V(), J())), Q = (n) => typeof Element < "u" && n instanceof Element ? !!n.closest(`[${O}="${x()}"]`) : typeof Node < "u" && n instanceof Node ? !!n.parentElement?.closest(`[${O}="${x()}"]`) : !1;
57
+ }), x = () => `dialog-boundary-${g}`, o = () => v.mode() === "auto" && K(k()), X = () => o() ? fe(k()) : void 0, H = () => e.globalZIndex ?? v.globalZIndex(), D = (n) => ue(se(n), n), J = () => D(k()), P = q(() => (V(), J())), Q = (n) => typeof Element < "u" && n instanceof Element ? !!n.closest(`[${O}="${x()}"]`) : typeof Node < "u" && n instanceof Node ? !!n.parentElement?.closest(`[${O}="${x()}"]`) : !1;
58
58
  return G(() => {
59
59
  const n = k();
60
60
  if (!y() || !o() || typeof window > "u")
@@ -114,14 +114,14 @@ function pe(e) {
114
114
  get "aria-hidden"() {
115
115
  return u.exiting() ? "true" : void 0;
116
116
  }
117
+ }, {
118
+ [ge]: "true"
117
119
  }, () => ({
118
- [ge]: o() ? "true" : void 0
119
- }), () => ({
120
120
  [de]: "true",
121
121
  [O]: x()
122
122
  }), {
123
123
  get class() {
124
- return v(o() ? "absolute z-20 box-border p-3" : v("fixed inset-0 box-border p-4", H() === void 0 && "z-50"), m() && "floe-bottom-drawer-overlay", u.exiting() && !m() && "pointer-events-none");
124
+ return w(o() ? "absolute z-20 box-border p-3" : w("fixed inset-0 box-border p-4", H() === void 0 && "z-50"), m() && "floe-bottom-drawer-overlay", u.exiting() && !m() && "pointer-events-none");
125
125
  },
126
126
  get style() {
127
127
  return C(() => !!o())() ? {
@@ -140,7 +140,7 @@ function pe(e) {
140
140
  return u.state();
141
141
  },
142
142
  get class() {
143
- return v("absolute inset-0 floe-floating-presence floe-floating-backdrop", e.closeOnBackdropClick === !1 ? "cursor-default" : "cursor-pointer", m() ? "floe-bottom-drawer-backdrop" : o() ? "bg-background/72 backdrop-blur-[2px]" : "bg-background/80 backdrop-blur-sm");
143
+ return w("absolute inset-0 floe-floating-presence floe-floating-backdrop", e.closeOnBackdropClick === !1 ? "cursor-default" : "cursor-pointer", m() ? "floe-bottom-drawer-backdrop" : o() ? "bg-background/72 backdrop-blur-[2px]" : "bg-background/80 backdrop-blur-sm");
144
144
  },
145
145
  onClick: () => {
146
146
  !u.exiting() && e.closeOnBackdropClick !== !1 && e.onOpenChange(!1);
@@ -152,7 +152,7 @@ function pe(e) {
152
152
  [ce]: "true"
153
153
  }), {
154
154
  get class() {
155
- return v(o() ? "flex max-h-[calc(100%-1rem)] w-[min(32rem,calc(100%-1rem))] max-w-[calc(100%-1rem)] flex-col" : "w-full max-w-md max-h-[85vh]", "bg-card text-card-foreground rounded-md shadow-lg", "border border-border", "floe-floating-presence", m() ? "floe-bottom-drawer-panel" : "floe-floating-dialog-panel", "pointer-events-auto flex flex-col", e.class);
155
+ return w(o() ? "flex max-h-[calc(100%-1rem)] w-[min(32rem,calc(100%-1rem))] max-w-[calc(100%-1rem)] flex-col" : "w-full max-w-md max-h-[85vh]", "bg-card text-card-foreground rounded-md shadow-lg", "border border-border", "floe-floating-presence", m() ? "floe-bottom-drawer-panel" : "floe-floating-dialog-panel", "pointer-events-auto flex flex-col", e.class);
156
156
  },
157
157
  get "data-floating-presence"() {
158
158
  return u.state();
@@ -207,7 +207,7 @@ function pe(e) {
207
207
  return e.title;
208
208
  },
209
209
  get children() {
210
- var a = ve();
210
+ var a = we();
211
211
  return i(a, () => e.title), A(() => s(a, "id", p())), a;
212
212
  }
213
213
  }), null), i(h, r(f, {
@@ -215,7 +215,7 @@ function pe(e) {
215
215
  return e.description;
216
216
  },
217
217
  get children() {
218
- var a = we();
218
+ var a = ve();
219
219
  return i(a, () => e.description), A(() => s(a, "id", S())), a;
220
220
  }
221
221
  }), null), i(t, r(E, {
@@ -244,7 +244,7 @@ function pe(e) {
244
244
  return i(t, () => e.footer), t;
245
245
  }
246
246
  }), null), A((t) => {
247
- var h = v("pointer-events-none relative z-[1] flex h-full w-full justify-center", m() ? "items-end" : "items-center"), a = v("min-h-0 flex-1 overflow-auto overscroll-contain p-3", e.contentClass);
247
+ var h = w("pointer-events-none relative z-[1] flex h-full w-full justify-center", m() ? "items-end" : "items-center"), a = w("min-h-0 flex-1 overflow-auto overscroll-contain p-3", e.contentClass);
248
248
  return h !== t.e && N(b, t.e = h), a !== t.t && N($, t.t = a), t;
249
249
  }, {
250
250
  e: void 0,
@@ -256,7 +256,7 @@ function pe(e) {
256
256
  })];
257
257
  }
258
258
  function je(e) {
259
- const w = ie();
259
+ const v = ie();
260
260
  return r(pe, {
261
261
  get open() {
262
262
  return e.open;
@@ -281,7 +281,7 @@ function je(e) {
281
281
  return e.loading;
282
282
  },
283
283
  get children() {
284
- return e.cancelText ?? w.config.strings.confirmDialog.cancel;
284
+ return e.cancelText ?? v.config.strings.confirmDialog.cancel;
285
285
  }
286
286
  }), r(E, {
287
287
  get variant() {
@@ -294,7 +294,7 @@ function je(e) {
294
294
  return e.loading;
295
295
  },
296
296
  get children() {
297
- return e.confirmText ?? w.config.strings.confirmDialog.confirm;
297
+ return e.confirmText ?? v.config.strings.confirmDialog.confirm;
298
298
  }
299
299
  })];
300
300
  },
package/dist/full.js CHANGED
@@ -142,38 +142,39 @@ import { WidgetTypeSwitcher as Df } from "./components/deck/WidgetTypeSwitcher.j
142
142
  import { WorkingIndicator as yf } from "./components/chat/status/WorkingIndicator.js";
143
143
  import { applyDragDelta as Bf, applyResizeDelta as Mf, getGridCellSize as Of, pixelDeltaToGridDelta as Wf, positionToGridArea as Nf, snapToGrid as bf } from "./utils/gridLayout.js";
144
144
  import { buildAssistantNoticeEvents as Uf, createStreamEventBuilder as Hf, isStreamEvent as Gf } from "./components/chat/streamEvents.js";
145
- import { checkCollision as Kf, constrainPosition as zf, findFreePosition as Xf, hasCollision as Zf, sameGridPosition as Qf } from "./utils/gridCollision.js";
146
- import { classifyArchiveFileName as qf } from "./components/file-browser/archiveFiles.js";
147
- import { clientToCanvasLocal as Jf, clientToCanvasWorld as $f, createViewportFromZoomAnchor as ed, isPointInsideCanvasRect as od, localToCanvasWorld as rd } from "./components/ui/canvasGeometry.js";
148
- import { cn as id } from "./utils/cn.js";
149
- import { computeCodeDiff as ad, computeCodeDiffSync as cd, configureDiffWorker as ld, createDiffWorker as md, hasDiffWorker as sd, terminateDiffWorker as pd, waitForDiffWorker as fd } from "./components/chat/hooks/useCodeDiff.js";
150
- import { configureMarkdownWorker as Td, createMarkdownWorker as Sd, hasMarkdownWorker as Id, renderMarkdown as xd, renderMarkdownSync as Cd, terminateMarkdownWorker as ud, waitForMarkdownWorker as gd } from "./components/chat/hooks/useMarkdown.js";
151
- import { configureMermaidWorker as kd, configureSyncMermaid as Fd, renderMermaid as Ed, terminateMermaidWorker as Pd, useMermaid as Ad } from "./components/chat/hooks/useMermaid.js";
152
- import { configureShikiWorker as _d, configureSyncHighlighter as Dd, highlightCode as Rd, terminateShikiWorker as yd, useCodeHighlight as vd } from "./components/chat/hooks/useCodeHighlight.js";
153
- import { createFloatingPresence as Md } from "./components/ui/floatingPresence.js";
154
- import { createLongPressContextMenuHandlers as Wd } from "./components/file-browser/longPressContextMenu.js";
155
- import { createSimpleContext as bd } from "./context/createSimpleContext.js";
156
- import { createUIFirstSelection as Ud } from "./utils/uiFirstSelection.js";
157
- import { deferAfterPaint as Gd, deferNonBlocking as Vd } from "./utils/defer.js";
158
- import { duration as zd, easing as Xd, fadeIn as Zd, listContainer as Qd, listItem as Yd, panelResize as qd, popIn as jd, scaleIn as Jd, sidebarVariants as $d, slideInFromBottom as eT, slideInFromLeft as oT, slideInFromRight as rT, slideInFromTop as tT, springConfig as iT } from "./utils/animations.js";
159
- import { formatKeybind as aT, isMacLikePlatform as cT, isPrimaryModKeyPressed as lT, matchKeybind as mT, parseKeybind as sT } from "./utils/keybind.js";
160
- import { intersectSurfaceRects as fT } from "./components/ui/surfaceFloatingBoundary.js";
161
- import { isTypingElement as TT, shouldIgnoreHotkeys as ST } from "./utils/dom.js";
162
- import { lockBodyStyle as xT } from "./utils/bodyStyleLock.js";
163
- import { registerCommandContributions as uT, useCommandContributions as gT } from "./hooks/useCommandContributions.js";
164
- import { resolveFloatingWindowViewport as kT } from "./components/ui/floatingWindowGeometry.js";
165
- import { secureRandomUUID as ET } from "./utils/secureRandom.js";
166
- import { startPointerSession as AT } from "./components/ui/pointerSession.js";
167
- import { useAttachments as _T } from "./components/chat/hooks/useAttachments.js";
168
- import { useAutoScroll as RT } from "./components/chat/hooks/useAutoScroll.js";
169
- import { useDebounce as vT } from "./hooks/useDebounce.js";
170
- import { useDeckDrag as MT } from "./hooks/useDeckDrag.js";
171
- import { useFileBrowserDropTarget as WT, useFileBrowserItemDrag as NT } from "./hooks/useFileBrowserDrag.js";
172
- import { useKeybind as wT } from "./hooks/useKeybind.js";
173
- import { useMediaQuery as HT } from "./hooks/useMediaQuery.js";
174
- import { usePersisted as VT } from "./hooks/usePersisted.js";
175
- import { useResizeObserver as zT } from "./hooks/useResizeObserver.js";
176
- import { useVirtualList as ZT } from "./components/chat/hooks/useVirtualList.js";
145
+ import { calculateFitScale as Kf } from "./utils/fitScale.js";
146
+ import { checkCollision as Xf, constrainPosition as Zf, findFreePosition as Qf, hasCollision as Yf, sameGridPosition as qf } from "./utils/gridCollision.js";
147
+ import { classifyArchiveFileName as Jf } from "./components/file-browser/archiveFiles.js";
148
+ import { clientToCanvasLocal as ed, clientToCanvasWorld as od, createViewportFromZoomAnchor as rd, isPointInsideCanvasRect as td, localToCanvasWorld as id } from "./components/ui/canvasGeometry.js";
149
+ import { cn as ad } from "./utils/cn.js";
150
+ import { computeCodeDiff as ld, computeCodeDiffSync as md, configureDiffWorker as sd, createDiffWorker as pd, hasDiffWorker as fd, terminateDiffWorker as dd, waitForDiffWorker as Td } from "./components/chat/hooks/useCodeDiff.js";
151
+ import { configureMarkdownWorker as Id, createMarkdownWorker as xd, hasMarkdownWorker as Cd, renderMarkdown as ud, renderMarkdownSync as gd, terminateMarkdownWorker as hd, waitForMarkdownWorker as kd } from "./components/chat/hooks/useMarkdown.js";
152
+ import { configureMermaidWorker as Ed, configureSyncMermaid as Pd, renderMermaid as Ad, terminateMermaidWorker as Ld, useMermaid as _d } from "./components/chat/hooks/useMermaid.js";
153
+ import { configureShikiWorker as Rd, configureSyncHighlighter as yd, highlightCode as vd, terminateShikiWorker as Bd, useCodeHighlight as Md } from "./components/chat/hooks/useCodeHighlight.js";
154
+ import { createFloatingPresence as Wd } from "./components/ui/floatingPresence.js";
155
+ import { createLongPressContextMenuHandlers as bd } from "./components/file-browser/longPressContextMenu.js";
156
+ import { createSimpleContext as Ud } from "./context/createSimpleContext.js";
157
+ import { createUIFirstSelection as Gd } from "./utils/uiFirstSelection.js";
158
+ import { deferAfterPaint as Kd, deferNonBlocking as zd } from "./utils/defer.js";
159
+ import { duration as Zd, easing as Qd, fadeIn as Yd, listContainer as qd, listItem as jd, panelResize as Jd, popIn as $d, scaleIn as eT, sidebarVariants as oT, slideInFromBottom as rT, slideInFromLeft as tT, slideInFromRight as iT, slideInFromTop as nT, springConfig as aT } from "./utils/animations.js";
160
+ import { formatKeybind as lT, isMacLikePlatform as mT, isPrimaryModKeyPressed as sT, matchKeybind as pT, parseKeybind as fT } from "./utils/keybind.js";
161
+ import { intersectSurfaceRects as TT } from "./components/ui/surfaceFloatingBoundary.js";
162
+ import { isTypingElement as IT, shouldIgnoreHotkeys as xT } from "./utils/dom.js";
163
+ import { lockBodyStyle as uT } from "./utils/bodyStyleLock.js";
164
+ import { registerCommandContributions as hT, useCommandContributions as kT } from "./hooks/useCommandContributions.js";
165
+ import { resolveFloatingWindowViewport as ET } from "./components/ui/floatingWindowGeometry.js";
166
+ import { secureRandomUUID as AT } from "./utils/secureRandom.js";
167
+ import { startPointerSession as _T } from "./components/ui/pointerSession.js";
168
+ import { useAttachments as RT } from "./components/chat/hooks/useAttachments.js";
169
+ import { useAutoScroll as vT } from "./components/chat/hooks/useAutoScroll.js";
170
+ import { useDebounce as MT } from "./hooks/useDebounce.js";
171
+ import { useDeckDrag as WT } from "./hooks/useDeckDrag.js";
172
+ import { useFileBrowserDropTarget as bT, useFileBrowserItemDrag as wT } from "./hooks/useFileBrowserDrag.js";
173
+ import { useKeybind as HT } from "./hooks/useKeybind.js";
174
+ import { useMediaQuery as VT } from "./hooks/useMediaQuery.js";
175
+ import { usePersisted as zT } from "./hooks/usePersisted.js";
176
+ import { useResizeObserver as ZT } from "./hooks/useResizeObserver.js";
177
+ import { useVirtualList as YT } from "./components/chat/hooks/useVirtualList.js";
177
178
  export {
178
179
  _ as Activity,
179
180
  Zt as ActivityAppsMain,
@@ -639,37 +640,38 @@ export {
639
640
  Uf as buildAssistantNoticeEvents,
640
641
  Xi as builtInShellThemePresets,
641
642
  c as builtInThemes,
643
+ Kf as calculateFitScale,
642
644
  es as centerViewportOnWorldPoint,
643
- Kf as checkCollision,
645
+ Xf as checkCollision,
644
646
  os as clampScale,
645
647
  It as clampTerminalCursor,
646
- qf as classifyArchiveFileName,
647
- Jf as clientToCanvasLocal,
648
- $f as clientToCanvasWorld,
649
- id as cn,
648
+ Jf as classifyArchiveFileName,
649
+ ed as clientToCanvasLocal,
650
+ od as clientToCanvasWorld,
651
+ ad as cn,
650
652
  rs as computeBoardBounds,
651
- ad as computeCodeDiff,
652
- cd as computeCodeDiffSync,
653
- ld as configureDiffWorker,
654
- Td as configureMarkdownWorker,
655
- kd as configureMermaidWorker,
656
- _d as configureShikiWorker,
657
- Dd as configureSyncHighlighter,
658
- Fd as configureSyncMermaid,
659
- zf as constrainPosition,
653
+ ld as computeCodeDiff,
654
+ md as computeCodeDiffSync,
655
+ sd as configureDiffWorker,
656
+ Id as configureMarkdownWorker,
657
+ Ed as configureMermaidWorker,
658
+ Rd as configureShikiWorker,
659
+ yd as configureSyncHighlighter,
660
+ Pd as configureSyncMermaid,
661
+ Zf as constrainPosition,
660
662
  oa as createCommandService,
661
663
  na as createComponentRegistry,
662
664
  Za as createDeckService,
663
665
  ts as createDefaultNotesSnapshot,
664
- md as createDiffWorker,
666
+ pd as createDiffWorker,
665
667
  Hs as createFilesystemPickerDataSource,
666
- Md as createFloatingPresence,
668
+ Wd as createFloatingPresence,
667
669
  sm as createLayoutService,
668
- Wd as createLongPressContextMenuHandlers,
669
- Sd as createMarkdownWorker,
670
+ bd as createLongPressContextMenuHandlers,
671
+ xd as createMarkdownWorker,
670
672
  ys as createNotificationService,
671
673
  Zi as createShellThemePreset,
672
- bd as createSimpleContext,
674
+ Ud as createSimpleContext,
673
675
  Hf as createStreamEventBuilder,
674
676
  xt as createTerminalEditorState,
675
677
  Wt as createTerminalFullLineSuggestion,
@@ -677,19 +679,19 @@ export {
677
679
  Nt as createTerminalTokenSuggestion,
678
680
  Kp as createTerminalWidget,
679
681
  Yp as createThemeService,
680
- Ud as createUIFirstSelection,
681
- ed as createViewportFromZoomAnchor,
682
+ Gd as createUIFirstSelection,
683
+ rd as createViewportFromZoomAnchor,
682
684
  uf as createWidgetRegistry,
683
- Gd as deferAfterPaint,
684
- Vd as deferNonBlocking,
685
+ Kd as deferAfterPaint,
686
+ zd as deferNonBlocking,
685
687
  Ct as deleteTerminalTextBackward,
686
688
  Pt as dispatchTerminalSessionKey,
687
- zd as duration,
688
- Xd as easing,
689
+ Zd as duration,
690
+ Qd as easing,
689
691
  ya as ensureSurfacePortalInteractionTracking,
690
692
  zm as estimateNotesContextMenuHeight,
691
- Zd as fadeIn,
692
- Xf as findFreePosition,
693
+ Yd as fadeIn,
694
+ Qf as findFreePosition,
693
695
  I as floeColorTokenCategories,
694
696
  x as floeDesignTokens,
695
697
  C as floeFontFamilyTokens,
@@ -701,7 +703,7 @@ export {
701
703
  E as floeThemeColorVariables,
702
704
  P as floeTypographyTokens,
703
705
  Cm as focusMenuItem,
704
- aT as formatKeybind,
706
+ lT as formatKeybind,
705
707
  Gs as formatPickerPath,
706
708
  vi as getFileIcon,
707
709
  A as getFloeColorTokenValue,
@@ -715,28 +717,28 @@ export {
715
717
  bt as getTerminalSuggestions,
716
718
  is as groupTrashItems,
717
719
  gm as handleMenuKeyboardNavigation,
718
- Zf as hasCollision,
720
+ Yf as hasCollision,
719
721
  aa as hasComponentRegistryContext,
720
- sd as hasDiffWorker,
722
+ fd as hasDiffWorker,
721
723
  jc as hasFileBrowserDragContext,
722
- Id as hasMarkdownWorker,
723
- Rd as highlightCode,
724
+ Cd as hasMarkdownWorker,
725
+ vd as highlightCode,
724
726
  ut as insertTerminalText,
725
- fT as intersectSurfaceRects,
727
+ TT as intersectSurfaceRects,
726
728
  m as isFloeSurfaceStyle,
727
729
  kn as isLocalInteractionSurfaceTarget,
728
- cT as isMacLikePlatform,
729
- od as isPointInsideCanvasRect,
730
- lT as isPrimaryModKeyPressed,
730
+ mT as isMacLikePlatform,
731
+ td as isPointInsideCanvasRect,
732
+ sT as isPrimaryModKeyPressed,
731
733
  Gf as isStreamEvent,
732
734
  va as isSurfacePortalMode,
733
735
  s as isThemeType,
734
- TT as isTypingElement,
735
- Qd as listContainer,
736
- Yd as listItem,
737
- rd as localToCanvasWorld,
738
- xT as lockBodyStyle,
739
- mT as matchKeybind,
736
+ IT as isTypingElement,
737
+ qd as listContainer,
738
+ jd as listItem,
739
+ id as localToCanvasWorld,
740
+ uT as lockBodyStyle,
741
+ pT as matchKeybind,
740
742
  wt as matchesTerminalSuggestionPrefix,
741
743
  ns as mergeBoardBounds,
742
744
  p as mergeThemeTokenMaps,
@@ -749,29 +751,29 @@ export {
749
751
  Yi as normalizeShellThemeSelection,
750
752
  Tt as normalizeTerminalWorkspaceProfile,
751
753
  ls as noteBucketMetrics,
752
- qd as panelResize,
753
- sT as parseKeybind,
754
+ Jd as panelResize,
755
+ fT as parseKeybind,
754
756
  Vs as parsePickerPath,
755
757
  Ut as parseTerminalSuggestionContext,
756
758
  Wf as pixelDeltaToGridDelta,
757
- jd as popIn,
759
+ $d as popIn,
758
760
  Nf as positionToGridArea,
759
761
  qi as presetSupportsMode,
760
762
  Ba as projectSurfacePortalPosition,
761
763
  Ma as projectSurfacePortalRect,
762
764
  ms as promoteLocalItem,
763
- uT as registerCommandContributions,
765
+ hT as registerCommandContributions,
764
766
  ss as removeSnapshotItem,
765
767
  ps as removeSnapshotTopic,
766
768
  fs as removeSnapshotTrashItem,
767
- xd as renderMarkdown,
768
- Cd as renderMarkdownSync,
769
- Ed as renderMermaid,
769
+ ud as renderMarkdown,
770
+ gd as renderMarkdownSync,
771
+ Ad as renderMermaid,
770
772
  ds as replaceSnapshotItem,
771
773
  Ts as replaceSnapshotTopic,
772
774
  Ss as replaceSnapshotTrashItem,
773
775
  Bi as resolveFileItemIcon,
774
- kT as resolveFloatingWindowViewport,
776
+ ET as resolveFloatingWindowViewport,
775
777
  ji as resolveShellThemePresetName,
776
778
  Fn as resolveSurfaceInteractionTargetRole,
777
779
  Oa as resolveSurfacePortalBoundaryRect,
@@ -785,23 +787,23 @@ export {
785
787
  An as resolveWorkbenchWidgetLocalTypingTarget,
786
788
  Ln as resolveWorkbenchWidgetTextSelectionTarget,
787
789
  yt as runTerminalMockCommand,
788
- Qf as sameGridPosition,
790
+ qf as sameGridPosition,
789
791
  mc as sanitizeDisplayMode,
790
- Jd as scaleIn,
792
+ eT as scaleIn,
791
793
  Is as screenToWorld,
792
- ET as secureRandomUUID,
794
+ AT as secureRandomUUID,
793
795
  _t as setTerminalSessionInputValue,
794
796
  _n as shouldActivateWorkbenchWidgetLocalTarget,
795
- ST as shouldIgnoreHotkeys,
796
- $d as sidebarVariants,
797
- eT as slideInFromBottom,
798
- oT as slideInFromLeft,
799
- rT as slideInFromRight,
800
- tT as slideInFromTop,
797
+ xT as shouldIgnoreHotkeys,
798
+ oT as sidebarVariants,
799
+ rT as slideInFromBottom,
800
+ tT as slideInFromLeft,
801
+ iT as slideInFromRight,
802
+ nT as slideInFromTop,
801
803
  bf as snapToGrid,
802
- iT as springConfig,
804
+ aT as springConfig,
803
805
  Gc as startHotInteraction,
804
- AT as startPointerSession,
806
+ _T as startPointerSession,
805
807
  Dt as submitTerminalSession,
806
808
  T as syncThemeTokenOverrides,
807
809
  Ht as terminalCommandTokenSuggestionProvider,
@@ -809,48 +811,48 @@ export {
809
811
  Vt as terminalPathSuggestionProvider,
810
812
  Kt as terminalRootSuggestionProvider,
811
813
  zt as terminalSnippetSuggestionProvider,
812
- pd as terminateDiffWorker,
813
- ud as terminateMarkdownWorker,
814
- Pd as terminateMermaidWorker,
815
- yd as terminateShikiWorker,
814
+ dd as terminateDiffWorker,
815
+ hd as terminateMarkdownWorker,
816
+ Ld as terminateMermaidWorker,
817
+ Bd as terminateShikiWorker,
816
818
  Sl as updateFileOpenSelection,
817
- _T as useAttachments,
818
- RT as useAutoScroll,
819
+ RT as useAttachments,
820
+ vT as useAutoScroll,
819
821
  On as useChatContext,
820
- vd as useCodeHighlight,
822
+ Md as useCodeHighlight,
821
823
  ra as useCommand,
822
- gT as useCommandContributions,
824
+ kT as useCommandContributions,
823
825
  ca as useComponentContextFactory,
824
826
  la as useComponentRegistry,
825
827
  Pf as useCurrentWidgetId,
826
- vT as useDebounce,
828
+ MT as useDebounce,
827
829
  Qa as useDeck,
828
- MT as useDeckDrag,
830
+ WT as useDeckDrag,
829
831
  ol as useFileBrowser,
830
832
  Jc as useFileBrowserDrag,
831
- WT as useFileBrowserDropTarget,
832
- NT as useFileBrowserItemDrag,
833
+ bT as useFileBrowserDropTarget,
834
+ wT as useFileBrowserItemDrag,
833
835
  ha as useFloeConfig,
834
836
  Vl as useFormSubmitting,
835
- wT as useKeybind,
837
+ HT as useKeybind,
836
838
  pm as useLayout,
837
- HT as useMediaQuery,
838
- Ad as useMermaid,
839
+ VT as useMediaQuery,
840
+ _d as useMermaid,
839
841
  vs as useNotification,
840
842
  ma as useOptionalComponentRegistry,
841
- VT as usePersisted,
842
- zT as useResizeObserver,
843
+ zT as usePersisted,
844
+ ZT as useResizeObserver,
843
845
  ka as useResolvedFloeConfig,
844
846
  qp as useTheme,
845
847
  sf as useViewActivation,
846
- ZT as useVirtualList,
848
+ YT as useVirtualList,
847
849
  gf as useWidgetRegistry,
848
850
  Af as useWidgetState,
849
851
  Lf as useWidgetStateContext,
850
852
  Ep as useWizard,
851
853
  xs as visibleWorldRect,
852
- fd as waitForDiffWorker,
853
- gd as waitForMarkdownWorker,
854
+ Td as waitForDiffWorker,
855
+ kd as waitForMarkdownWorker,
854
856
  Cs as worldToScreen,
855
857
  us as zoomViewportAtPoint
856
858
  };
@@ -4,6 +4,7 @@ export interface Size {
4
4
  height: number;
5
5
  }
6
6
  /**
7
- * Track element dimensions
7
+ * Track the usable content box in local CSS pixels, excluding padding and
8
+ * scrollbars. CSS transforms on the element or its ancestors do not affect it.
8
9
  */
9
10
  export declare function useResizeObserver(element: Accessor<HTMLElement | null | undefined>): Accessor<Size | null>;
@@ -1,25 +1,29 @@
1
- import { createSignal as h, createEffect as g, onCleanup as s } from "solid-js";
2
- function w(c) {
3
- const [d, n] = h(null);
4
- return g(() => {
5
- const e = c();
6
- if (!e) return;
7
- const r = e.getBoundingClientRect();
8
- if (n({ width: r.width, height: r.height }), typeof ResizeObserver > "u") {
9
- const t = () => n({ width: e.getBoundingClientRect().width, height: e.getBoundingClientRect().height });
10
- typeof window < "u" && (window.addEventListener("resize", t), s(() => window.removeEventListener("resize", t)));
1
+ import { createSignal as u, createEffect as h, onCleanup as s } from "solid-js";
2
+ function f(d) {
3
+ const [a, r] = u(null, {
4
+ equals: (e, t) => e?.width === t?.width && e?.height === t?.height
5
+ });
6
+ return h(() => {
7
+ const e = d();
8
+ if (!e) {
9
+ r(null);
11
10
  return;
12
11
  }
13
- const o = new ResizeObserver((t) => {
14
- const i = t[0];
15
- i && n({
16
- width: i.contentRect.width,
17
- height: i.contentRect.height
12
+ const t = () => {
13
+ const n = e.ownerDocument.defaultView.getComputedStyle(e), i = (c) => Number.parseFloat(c) || 0;
14
+ r({
15
+ width: Math.max(0, e.clientWidth - i(n.paddingLeft) - i(n.paddingRight)),
16
+ height: Math.max(0, e.clientHeight - i(n.paddingTop) - i(n.paddingBottom))
18
17
  });
19
- });
18
+ };
19
+ if (t(), typeof ResizeObserver > "u") {
20
+ typeof window < "u" && (window.addEventListener("resize", t), s(() => window.removeEventListener("resize", t)));
21
+ return;
22
+ }
23
+ const o = new ResizeObserver(t);
20
24
  o.observe(e), s(() => o.disconnect());
21
- }), d;
25
+ }), a;
22
26
  }
23
27
  export {
24
- w as useResizeObserver
28
+ f as useResizeObserver
25
29
  };