silvery 0.19.1 → 0.19.2

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/index.mjs CHANGED
@@ -1,9 +1,9 @@
1
1
  import { i as FocusManagerContext, l as TermContext, n as CapabilityRegistryContext, o as RuntimeContext, r as ChainAppContext, s as StderrContext, t as CacheBackendContext } from "./context-BU5LkkIy.mjs";
2
- import { $ as activeEditTargetRef, $i as enableMouse, $n as ToastItem, $r as createCursorStore, $t as OSC133, Aa as SearchProvider, Ai as useFocusWithin, An as SilveryErrorBoundary, Ar as toneFgToken, At as createWheelEvent, Bi as useAgNode, Bn as Skeleton, Br as CursorLine, Bt as queryMode, Ca as swapPanes, Ci as supportsScrollRegions, Cn as createFocusManager, Cr as Table, Ct as isTTY, Da as ActiveSchemeContext, Di as useInputLayer, Dn as findSpatialTarget, Dr as SearchBar, Dt as createDoubleClickState, Ea as Text, Ei as InputLayerProvider, En as findFocusableAncestor, Er as Spinner, Et as computeEnterLeave, Fa as calcEdgeBasedScrollOffset, Fi as useExit, Fn as GridCell, Fr as PickerDialog, Ft as isTerm, Gi as Link, Gn as Tabs, Gr as countVisualLines, Gt as queryTerminalVersion, Hi as Console, Hn as Tab, Hr as TextArea, Ht as queryDeviceAttributes, Ia as Box, Ii as useApp, In as useGridPosition, Ir as PickerList, It as queryCellSize, J as useTea, Ji as BEL, Jn as CommandPalette, Jr as cursorToRowCol, Jt as queryCursorPosition, Ki as useMouseCursor, Kn as Breadcrumb, Kr as cursorMoveDown, Kt as queryTertiaryDA, Li as useRuntime, Ln as PositionRegistryProvider, Lr as Backdrop, Lt as queryTextAreaPixels, Ma as useSearchOptional, Mi as useFocus, Mn as Spacer, Mr as toneIcon, Mt as hitTest, Na as useInput, Ni as useStderr, Nn as Newline, Nr as toneSubtleTokens, Nt as processMouseEvent, Oa as useTheme, Oi as useInputLayerContext, On as getExplicitFocusLink, Or as Button, Ot as createMouseEvent, Pa as useVirtualizer, Pi as useStdout, Pn as Transform, Pr as Toggle, Pt as createInputEvents, Q as activeEditContextRef, Qi as enableKittyKeyboard, Qn as ToastContainer, Qr as CursorProvider, Qt as detectKittySupport, Ri as useBoxMetrics, Rn as createPositionRegistry, Rr as ModalDialog, Rt as queryTextAreaSize, Sa as splitPane, Si as setScrollRegion, Sn as dispatchKeyEvent, Sr as Badge, St as isInspectorEnabled, Ta as HorizontalVirtualList, Ti as InputLayerContext, Tn as findEnclosingScope, Tr as ProgressBar, Tt as checkDoubleClick, Ui as useConsole, Un as TabList, Ur as clampScroll, Ut as queryPrimaryDA, Vi as Screen, Vn as Tooltip, Vr as EditContextDisplay, Vt as queryModes, Wi as ErrorBoundary, Wn as TabPanel, Wr as useTextArea, Wt as querySecondaryDA, X as collect, Xi as disableKittyKeyboard, Xn as Banner, Xr as rowColToCursor, Xt as runTermtest, Y as fx, Yi as KittyFlags, Yn as Alert, Yr as getWrappedLines, Yt as TERMTEST_SECTIONS, Z as InputBoundary, Zi as disableMouse, Zn as InlineAlert, Zr as TextInput, Zt as detectKittyFromStdio, _a as findAdjacentPane, _i as usePaste, _n as shallow, _r as P, _t as autoEnableInspector, a as ReactiveThemeProvider, aa as resetCursorStyle, ai as useColorScheme, an as injectDOMStyles, ar as Code, at as renderScreenReaderOutput, ba as removePane, bi as scrollDown, bn as createKeyEvent, br as UL, bt as inspectFrame, ca as setCursorStyle, ci as useDragState, cn as HitRegistryContext, cr as H1, ct as renderStatic, da as setWindowTitle, di as useSelection, dn as useHitRegistry, dr as HR, dt as VirtualTerminal, ea as notify, ei as getCursorState, en as copyToClipboard, er as useToast, et as useEditContext, fa as getModifierState, fi as usePasteEvents, fn as HitRegistry, fr as Kbd, ft as withDiagnostics, ga as createLeaf, gi as PasteProvider, gn as useWindowSize, gr as OL, gt as withMeasurer, ha as Fill, hi as getInternalClipboard, hn as ThemeProvider, hr as Muted, ht as createPipeline, i as useActiveScheme, ia as reportDirectory, ii as useReadline, in as createDOMAdapter, ir as Blockquote, it as createTermEditContext, ja as useSearch, ji as useFocusable, jn as Static, jr as toneFillTokens, jt as dispatchMouseEvent, ka as ListView, ki as useFocusManager, kn as getTabOrder$1, kr as TONE_ICONS, kt as createMouseEventProcessor, la as setMouseCursorShape, li as useCopyModeState, ln as useHitRegion, lr as H2, lt as renderSync, ma as useModifierKeys, mi as createPasteEvent, mn as resetHitRegionIdCounter, mr as Lead, mt as withCommands, n as useId, na as notifyKitty, ni as subscribeCursor, nn as requestClipboard, nr as FormField, nt as invertTextOp, oa as resetMouseCursorShape, oi as useListItem, on as CanvasRenderBuffer, or as CodeBlock, ot as measureElement, pa as lastModifierState, pi as createCopyProvider, pn as Z_INDEX, pr as LI, pt as withKeybindings, qi as ANSI, qn as TreeView, qr as cursorMoveUp, qt as queryCursorFromStdio, r as useTransition$1, ra as queryKittyKeyboard, ri as useCursor, rn as DOMRenderBuffer, rr as Heading, rt as mergeTextOps, sa as resetWindowTitle, si as useInteractiveState, sn as createCanvasAdapter, sr as Em, st as render$1, t as useDeferredValue, ta as notifyITerm2, ti as resetCursorState, tn as parseClipboardResponse, tr as Form, tt as applyTextOp, ua as setWindowAndIconTitle, ui as useFindState, un as useHitRegionCallback, ur as H3, ut as withRender, va as getPaneIds, vi as moveCursor, vn as useTerm, vr as Small, vt as disableInspector, wa as SplitView, wi as useTerminalFocused, wn as findByTestID, wr as SelectList, wt as resolveNonTTYMode, xa as resizeSplit, xi as scrollUp, xn as dispatchFocusEvent, xr as Divider, xt as inspectTree, ya as getTabOrder, yi as resetScrollRegion, yn as createFocusEvent, yr as Strong, yt as enableInspector, zi as useSignal, zn as usePositionRegistry, zr as formatTitleWithHotkey, zt as DecMode } from "./src-Bd7ezSgG.mjs";
2
+ import { $ as activeEditTargetRef, $i as enableMouse, $n as ToastItem, $r as createCursorStore, $t as OSC133, Aa as SearchProvider, Ai as useFocusWithin, An as SilveryErrorBoundary, Ar as toneFgToken, At as createWheelEvent, Bi as useAgNode, Bn as Skeleton, Br as CursorLine, Bt as queryMode, Ca as swapPanes, Ci as supportsScrollRegions, Cn as createFocusManager, Cr as Table, Ct as isTTY, Da as ActiveSchemeContext, Di as useInputLayer, Dn as findSpatialTarget, Dr as SearchBar, Dt as createDoubleClickState, Ea as Text, Ei as InputLayerProvider, En as findFocusableAncestor, Er as Spinner, Et as computeEnterLeave, Fa as calcEdgeBasedScrollOffset, Fi as useExit, Fn as GridCell, Fr as PickerDialog, Ft as isTerm, Gi as Link, Gn as Tabs, Gr as countVisualLines, Gt as queryTerminalVersion, Hi as Console, Hn as Tab, Hr as TextArea, Ht as queryDeviceAttributes, Ia as Box, Ii as useApp, In as useGridPosition, Ir as PickerList, It as queryCellSize, J as useTea, Ji as BEL, Jn as CommandPalette, Jr as cursorToRowCol, Jt as queryCursorPosition, Ki as useMouseCursor, Kn as Breadcrumb, Kr as cursorMoveDown, Kt as queryTertiaryDA, Li as useRuntime, Ln as PositionRegistryProvider, Lr as Backdrop, Lt as queryTextAreaPixels, Ma as useSearchOptional, Mi as useFocus, Mn as Spacer, Mr as toneIcon, Mt as hitTest, Na as useInput, Ni as useStderr, Nn as Newline, Nr as toneSubtleTokens, Nt as processMouseEvent, Oa as useTheme, Oi as useInputLayerContext, On as getExplicitFocusLink, Or as Button, Ot as createMouseEvent, Pa as useVirtualizer, Pi as useStdout, Pn as Transform, Pr as Toggle, Pt as createInputEvents, Q as activeEditContextRef, Qi as enableKittyKeyboard, Qn as ToastContainer, Qr as CursorProvider, Qt as detectKittySupport, Ri as useBoxMetrics, Rn as createPositionRegistry, Rr as ModalDialog, Rt as queryTextAreaSize, Sa as splitPane, Si as setScrollRegion, Sn as dispatchKeyEvent, Sr as Badge, St as isInspectorEnabled, Ta as HorizontalVirtualList, Ti as InputLayerContext, Tn as findEnclosingScope, Tr as ProgressBar, Tt as checkDoubleClick, Ui as useConsole, Un as TabList, Ur as clampScroll, Ut as queryPrimaryDA, Vi as Screen, Vn as Tooltip, Vr as EditContextDisplay, Vt as queryModes, Wi as ErrorBoundary, Wn as TabPanel, Wr as useTextArea, Wt as querySecondaryDA, X as collect, Xi as disableKittyKeyboard, Xn as Banner, Xr as rowColToCursor, Xt as runTermtest, Y as fx, Yi as KittyFlags, Yn as Alert, Yr as getWrappedLines, Yt as TERMTEST_SECTIONS, Z as InputBoundary, Zi as disableMouse, Zn as InlineAlert, Zr as TextInput, Zt as detectKittyFromStdio, _a as findAdjacentPane, _i as usePaste, _n as shallow, _r as P, _t as autoEnableInspector, a as ReactiveThemeProvider, aa as resetCursorStyle, ai as useColorScheme, an as injectDOMStyles, ar as Code, at as renderScreenReaderOutput, ba as removePane, bi as scrollDown, bn as createKeyEvent, br as UL, bt as inspectFrame, ca as setCursorStyle, ci as useDragState, cn as HitRegistryContext, cr as H1, ct as renderStatic, da as setWindowTitle, di as useSelection, dn as useHitRegistry, dr as HR, dt as VirtualTerminal, ea as notify, ei as getCursorState, en as copyToClipboard, er as useToast, et as useEditContext, fa as getModifierState, fi as usePasteEvents, fn as HitRegistry, fr as Kbd, ft as withDiagnostics, ga as createLeaf, gi as PasteProvider, gn as useWindowSize, gr as OL, gt as withMeasurer, ha as Fill, hi as getInternalClipboard, hn as ThemeProvider, hr as Muted, ht as createPipeline, i as useActiveScheme, ia as reportDirectory, ii as useReadline, in as createDOMAdapter, ir as Blockquote, it as createTermEditContext, ja as useSearch, ji as useFocusable, jn as Static, jr as toneFillTokens, jt as dispatchMouseEvent, ka as ListView, ki as useFocusManager, kn as getTabOrder$1, kr as TONE_ICONS, kt as createMouseEventProcessor, la as setMouseCursorShape, li as useCopyModeState, ln as useHitRegion, lr as H2, lt as renderSync, ma as useModifierKeys, mi as createPasteEvent, mn as resetHitRegionIdCounter, mr as Lead, mt as withCommands, n as useId, na as notifyKitty, ni as subscribeCursor, nn as requestClipboard, nr as FormField, nt as invertTextOp, oa as resetMouseCursorShape, oi as useListItem, on as CanvasRenderBuffer, or as CodeBlock, ot as measureElement, pa as lastModifierState, pi as createCopyProvider, pn as Z_INDEX, pr as LI, pt as withKeybindings, qi as ANSI, qn as TreeView, qr as cursorMoveUp, qt as queryCursorFromStdio, r as useTransition$1, ra as queryKittyKeyboard, ri as useCursor, rn as DOMRenderBuffer, rr as Heading, rt as mergeTextOps, sa as resetWindowTitle, si as useInteractiveState, sn as createCanvasAdapter, sr as Em, st as render$1, t as useDeferredValue, ta as notifyITerm2, ti as resetCursorState, tn as parseClipboardResponse, tr as Form, tt as applyTextOp, ua as setWindowAndIconTitle, ui as useFindState, un as useHitRegionCallback, ur as H3, ut as withRender, va as getPaneIds, vi as moveCursor, vn as useTerm, vr as Small, vt as disableInspector, wa as SplitView, wi as useTerminalFocused, wn as findByTestID, wr as SelectList, wt as resolveNonTTYMode, xa as resizeSplit, xi as scrollUp, xn as dispatchFocusEvent, xr as Divider, xt as inspectTree, ya as getTabOrder, yi as resetScrollRegion, yn as createFocusEvent, yr as Strong, yt as enableInspector, zi as useSignal, zn as usePositionRegistry, zr as formatTitleWithHotkey, zt as DecMode } from "./src-CF-6UN01.mjs";
3
3
  import { $ as isWideGrapheme, A as isMouseSequence, B as displayWidth, C as enableFocusReporting, Ct as isPrivateUseArea, D as disableBracketedPaste, E as PASTE_START, F as IncrementalRenderMismatchError, G as graphemeCount, Gt as parseHotkey, H as ensureEmojiPresentation, Ht as keyToModifiers, J as hasWideCharacters, K as graphemeWidth, Kt as parseKey, L as constrainText, M as createOutputPhase, O as enableBracketedPaste, P as setOutputCaps, Q as isTextSizingEnabled, R as createMeasurer, Rt as emptyKey, S as disableFocusReporting, T as PASTE_END, Tt as textSized, Ut as keyToName, V as displayWidthAnsi, W as getFirstCodePoint, Wt as matchHotkey, X as isCJK, Y as hasZeroWidthCharacters, Z as isLikelyEmoji, _ as term, _t as wrapText, at as parseAnsiText, b as createTerm, bt as writeTextTruncated, ct as setTextSizingEnabled, dt as sliceByWidthRange, ft as splitGraphemes, gt as truncateText, ht as truncateAnsi, it as padText, j as parseMouseSequence, k as parseBracketedPaste, lt as sliceByWidth, mt as stripAnsi, nt as measureText, ot as runWithMeasurer, q as hasAnsi, qt as parseKeypress, rt as normalizeText, st as setTextEmojiWide, tt as isZeroWidthGrapheme, ut as sliceByWidthFromEnd, vt as writeLinesToBuffer, w as parseFocusEvent, wt as isTextSizingLikelySupported, xt as detectTextSizingSupport, y as patchConsole, yt as writeTextToBuffer, z as createWidthMeasurer } from "./reconciler-Cwgm8hRR.mjs";
4
4
  import { T as deriveTheme, U as pickColorLevel, W as quantizeHex, Z as detectTerminalCaps, _ as parsePaletteResponse, b as setPaletteColor, c as queryBackgroundColor, d as resetBackgroundColor, f as resetCursorColor, g as setForegroundColor, h as setCursorColor, k as resolveThemeColor, l as queryCursorColor, m as setBackgroundColor, n as generateTheme, p as resetForegroundColor, q as defaultCaps, s as detectColorScheme, u as queryForegroundColor, v as queryMultiplePaletteColors, y as queryPaletteColor } from "./src-NCKb8kE5.mjs";
5
5
  import { a as setLayoutEngine, i as isLayoutEngineInitialized } from "./layout-engine-ClUgv6jB.mjs";
6
- import { n as renderStringSync, t as renderString } from "./render-string-X-CxpTdZ.mjs";
6
+ import { n as renderStringSync, t as renderString } from "./render-string-Darrg7ku.mjs";
7
7
  import { E as defaultLightTheme, O as getThemeByName, S as ansi16LightTheme, T as defaultDarkTheme, i as detectTheme, w as builtinThemes, x as ansi16DarkTheme } from "./src-B5GjfG7g.mjs";
8
8
  import { a as encodeKittyImage, c as useScreenRect, i as deleteKittyImage, l as useScrollRect, n as encodeSixel, o as isKittyGraphicsSupported, r as isSixelSupported, s as useBoxRect, t as Image } from "./image-CTII5QWI.mjs";
9
9
  import { n as createYogaEngine, r as initYogaEngine, t as YogaLayoutEngine } from "./yoga-adapter-8oRGRw8V.mjs";
@@ -1,2 +1,2 @@
1
- import { n as renderStringSync, t as renderString } from "./render-string-X-CxpTdZ.mjs";
1
+ import { n as renderStringSync, t as renderString } from "./render-string-Darrg7ku.mjs";
2
2
  export { renderString, renderStringSync };
@@ -4751,6 +4751,19 @@ function fadeCell(buffer, x, y, plan) {
4751
4751
  if (fgHex && bgHex) {
4752
4752
  const mixedRgb = hexToRgb$1(mixSrgb(fgHex, bgHex, amount));
4753
4753
  if (!mixedRgb) return false;
4754
+ if (isEmojiGlyph) {
4755
+ const newAttrs = cell.attrs.dim ? cell.attrs : {
4756
+ ...cell.attrs,
4757
+ dim: true
4758
+ };
4759
+ buffer.setCell(x, y, {
4760
+ ...cell,
4761
+ fg: mixedRgb,
4762
+ attrs: newAttrs
4763
+ });
4764
+ propagateToContinuation(buffer, cell, x, y, { dim: true });
4765
+ return true;
4766
+ }
4754
4767
  buffer.setCell(x, y, {
4755
4768
  ...cell,
4756
4769
  fg: mixedRgb
@@ -4818,17 +4831,19 @@ init_src();
4818
4831
  * Stage 2b — emit the Kitty graphics overlay for the plan.
4819
4832
  *
4820
4833
  * The output always begins with `CURSOR_SAVE + kittyDeleteAllScrimPlacements()
4821
- * + CURSOR_RESTORE` when `plan.active` is true — even when zero emoji cells
4834
+ * + CURSOR_RESTORE` when the plan is realized — even when zero emoji cells
4822
4835
  * fall inside the faded region this frame. The unconditional clear is what
4823
4836
  * erases stale placements from a previous frame.
4824
4837
  *
4825
- * Returns `""` when `plan.active` is false. Callers that also need to
4826
- * suppress the overlay because Kitty graphics are not available should NOT
4827
- * call this function at all the orchestrator (`./index.ts`) guards the
4828
- * call site with `plan.kittyEnabled`.
4838
+ * Returns `""` when the plan can't be realized as a Kitty overlay. Public
4839
+ * API safety callers (tests, future consumers) should be able to invoke
4840
+ * this directly without re-deriving the `kittyEnabled` / `scrim` /
4841
+ * `amount > 0` gate. The orchestrator (`./index.ts`) also gates with
4842
+ * `plan.kittyEnabled` for clarity, but the early-out below is the
4843
+ * authoritative contract.
4829
4844
  */
4830
4845
  function realizeToKitty(plan, buffer) {
4831
- if (!plan.active) return "";
4846
+ if (!plan.active || !plan.kittyEnabled || plan.amount <= 0 || plan.scrim === null) return "";
4832
4847
  const cells = collectEmojiCellsInFadeRegion(buffer, plan);
4833
4848
  const tint = hexToRgb$1(plan.scrim ?? plan.defaultBg ?? "#000000") ?? {
4834
4849
  r: 0,
@@ -5511,4 +5526,4 @@ function withActEnvironment(fn) {
5511
5526
  //#endregion
5512
5527
  export { setActiveColorLevel as a, _usingCtx as i, renderStringSync as n, createAg as r, renderString as t };
5513
5528
 
5514
- //# sourceMappingURL=render-string-X-CxpTdZ.mjs.map
5529
+ //# sourceMappingURL=render-string-Darrg7ku.mjs.map