@vizejs/fresco 0.719.0 → 0.721.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.
- package/dist/{accessibility-DwzT925M.d.mts → accessibility-D7iuITvU.d.mts} +4 -3
- package/dist/{accessibility-DwzT925M.d.mts.map → accessibility-D7iuITvU.d.mts.map} +1 -1
- package/dist/{app-_QmZ-PoH.d.mts → app-CJh9qfJI.d.mts} +3 -3
- package/dist/{app-_QmZ-PoH.d.mts.map → app-CJh9qfJI.d.mts.map} +1 -1
- package/dist/{app-C_wFlWSV.mjs → app-CjfLCWic.mjs} +110 -16
- package/dist/app-CjfLCWic.mjs.map +1 -0
- package/dist/components/index.d.mts +2 -2
- package/dist/components/index.mjs +2 -2
- package/dist/{components-DzkL-yHj.mjs → components-B-HgL5id.mjs} +1032 -139
- package/dist/components-B-HgL5id.mjs.map +1 -0
- package/dist/composables/index.d.mts +1 -1
- package/dist/composables/index.mjs +3 -3
- package/dist/{composables-BJeirPSH.mjs → composables-BxxLIBdJ.mjs} +3 -3
- package/dist/{composables-BJeirPSH.mjs.map → composables-BxxLIBdJ.mjs.map} +1 -1
- package/dist/{index-Ddp2Txtm.d.mts → index-BOV-0YqV.d.mts} +2 -2
- package/dist/{index-Ddp2Txtm.d.mts.map → index-BOV-0YqV.d.mts.map} +1 -1
- package/dist/{index-BCxB_ZLV.d.mts → index-C0U_GDW-.d.mts} +324 -498
- package/dist/index-C0U_GDW-.d.mts.map +1 -0
- package/dist/index.d.mts +6 -6
- package/dist/index.mjs +5 -5
- package/dist/{protocol-DavoeNLn.d.mts → protocol-C1DHP36Z.d.mts} +5 -2
- package/dist/protocol-C1DHP36Z.d.mts.map +1 -0
- package/dist/testing/index.d.mts +4 -2
- package/dist/testing/index.d.mts.map +1 -1
- package/dist/testing/index.mjs +2 -1
- package/dist/testing/index.mjs.map +1 -1
- package/dist/{useBoxMetrics-lF5Myjc7.mjs → useBoxMetrics-BMD1acRU.mjs} +2 -2
- package/dist/{useBoxMetrics-lF5Myjc7.mjs.map → useBoxMetrics-BMD1acRU.mjs.map} +1 -1
- package/package.json +2 -2
- package/dist/app-C_wFlWSV.mjs.map +0 -1
- package/dist/components-DzkL-yHj.mjs.map +0 -1
- package/dist/index-BCxB_ZLV.d.mts.map +0 -1
- package/dist/protocol-DavoeNLn.d.mts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-C0U_GDW-.d.mts","names":[],"sources":["../src/components/Box.ts","../src/components/FrescoSpacer.vue","../src/components/layout-primitive-types.ts","../src/components/FrescoDivider.vue","../src/components/FrescoStack.vue","../src/components/FrescoHStack.vue","../src/components/FrescoVStack.vue","../src/components/Grid.ts","../src/components/presentational-primitive-types.ts","../src/components/FrescoCard.vue","../src/components/scroll-types.ts","../src/components/ScrollBox.vue","../src/components/ScrollBar.vue","../src/components/Text.ts","../src/components/text-utility-types.ts","../src/components/FrescoNewline.vue","../src/components/FrescoStatic.vue","../src/components/display-primitive-types.ts","../src/components/FrescoTransform.vue","../src/components/code-types.ts","../src/components/code-buffer.ts","../src/components/Code.ts","../src/components/markdown-types.ts","../src/components/FrescoMarkdown.vue","../src/components/markdown.ts","../src/components/frame-buffer-types.ts","../src/components/FrescoFrameBuffer.vue","../src/components/Diff.ts","../src/components/LineNumber.ts","../src/components/FrescoLink.vue","../src/components/TextInput.ts","../src/components/TextArea.ts","../src/components/collection-values.ts","../src/components/Select.ts","../src/components/FrescoSelect.vue","../src/components/Checkbox.ts","../src/components/RadioGroup.ts","../src/components/Confirm.ts","../src/components/slider-types.ts","../src/components/FrescoSlider.vue","../src/components/Form.ts","../src/components/FrescoSpinner.vue","../src/components/ProgressBar.ts","../src/components/FrescoAlert.vue","../src/components/FrescoBadge.vue","../src/components/Timer.ts","../src/components/FrescoTooltip.vue","../src/components/List.ts","../src/components/FrescoList.vue","../src/components/table-types.ts","../src/components/Table.ts","../src/components/Tree.ts","../src/components/FrescoTree.vue","../src/components/Menu.ts","../src/components/FrescoMenu.vue","../src/components/Tabs.ts","../src/components/FrescoTabs.vue","../src/components/FrescoBreadcrumb.vue","../src/components/Stepper.ts","../src/components/modal-types.ts","../src/components/FrescoModal.vue","../src/components/popover-types.ts","../src/components/FrescoPopover.vue","../src/components/StatusBar.ts","../src/components/FrescoHeader.vue","../src/components/KeyHint.ts","../src/components/FrescoAvatar.vue"],"mappings":"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"}
|
package/dist/index.d.mts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { A as InputEvent, C as FrescoRenderNodeKind, D as FrescoStyle, E as FrescoSnakeStyleAliases, F as ResizeEvent, M as KeyEventType, N as MouseEvent, O as FrescoTextRenderNode, P as PasteEvent, S as FrescoRenderNode, T as FrescoRootRenderNode, _ as FrescoModifiers, a as FrescoAlignSelf, b as FrescoPosition, c as FrescoBoxRenderNode, d as FrescoDisplay, f as FrescoFlexDirection, g as FrescoJustifyContent, h as FrescoInputRenderNode, i as FrescoAlignItems, j as KeyEvent, k as FrescoTextWrapMode, l as FrescoCanonicalStyle, m as FrescoInputEvent, n as FocusEvent, o as FrescoAppearance, p as FrescoFlexWrap, r as FrescoAlignContent, s as FrescoBorderStyle, t as CompositionEvent, u as FrescoDimension, v as FrescoMouseEventKind, w as FrescoRenderStyle, x as FrescoRawRenderNode, y as FrescoOverflow } from "./protocol-
|
|
2
|
-
import { a as FrescoHostNode, c as FrescoInputEventPhase, d as FrescoNodeUpdateKind, f as FrescoRendererOptions, m as createRenderer, o as FrescoInputDispatchResult, p as FrescoRoutedInputEvent, r as FrescoDeclaredSize, s as FrescoInputEventHandler, u as FrescoNodeLifecycleHooks } from "./accessibility-
|
|
3
|
-
import { $ as
|
|
1
|
+
import { A as InputEvent, C as FrescoRenderNodeKind, D as FrescoStyle, E as FrescoSnakeStyleAliases, F as ResizeEvent, M as KeyEventType, N as MouseEvent, O as FrescoTextRenderNode, P as PasteEvent, S as FrescoRenderNode, T as FrescoRootRenderNode, _ as FrescoModifiers, a as FrescoAlignSelf, b as FrescoPosition, c as FrescoBoxRenderNode, d as FrescoDisplay, f as FrescoFlexDirection, g as FrescoJustifyContent, h as FrescoInputRenderNode, i as FrescoAlignItems, j as KeyEvent, k as FrescoTextWrapMode, l as FrescoCanonicalStyle, m as FrescoInputEvent, n as FocusEvent, o as FrescoAppearance, p as FrescoFlexWrap, r as FrescoAlignContent, s as FrescoBorderStyle, t as CompositionEvent, u as FrescoDimension, v as FrescoMouseEventKind, w as FrescoRenderStyle, x as FrescoRawRenderNode, y as FrescoOverflow } from "./protocol-C1DHP36Z.mjs";
|
|
2
|
+
import { a as FrescoHostNode, c as FrescoInputEventPhase, d as FrescoNodeUpdateKind, f as FrescoRendererOptions, m as createRenderer, o as FrescoInputDispatchResult, p as FrescoRoutedInputEvent, r as FrescoDeclaredSize, s as FrescoInputEventHandler, u as FrescoNodeLifecycleHooks } from "./accessibility-D7iuITvU.mjs";
|
|
3
|
+
import { $ as _default$21, $t as createCodeBuffer, A as TreeProps, An as AlertType, At as DiffProps, B as _default$10, Bn as _default$28, Bt as MarkdownCodeBlock, C as TabsValueKey, Cn as ScrollBarOrientation, Ct as TextAreaProps, D as _default$27, Dn as ScrollBoxProps, Dt as LineNumber, E as MenuProps, En as ScrollBoxItemSlot, Et as _default$9, F as TableColumn, Fn as HeaderProps, Ft as parseMarkdown, G as _default$25, Gn as StackProps, Gt as MarkdownProps, H as ListItem, Hn as _default$22, Ht as MarkdownListBlock, I as TableProps, In as TooltipPosition, It as renderMarkdown, J as TimerProps, Jn as BoxProps, Jt as MarkdownRenderOptions, K as Timer, Kn as _default$20, Kt as MarkdownQuoteBlock, L as TableRow, Ln as TooltipProps, Lt as _default$11, M as Table, Mn as BreadcrumbItem, Mt as _default$6, N as TableAlignment, Nn as BreadcrumbProps, Nt as FrameBufferProps, O as TreeBy, On as _default$4, Ot as LineNumberProps, P as TableCellSlotProps, Pn as CardProps, Pt as defaultMarkdownRenderer, Q as ProgressBarProps, Qt as Code, R as TableSortDirection, Rn as Grid, Rt as MarkdownBlock, S as TabsProps, Sn as _default$17, St as TextArea, T as MenuItem, Tn as ScrollBoxExposed, Tt as TextInputProps, U as ListProps, Un as _default$5, Ut as MarkdownListItem, V as ListBy, Vn as _default$7, Vt as MarkdownHeadingBlock, W as ListValueKey, Wn as DividerProps, Wt as MarkdownParagraphBlock, X as _default, Xt as MarkdownSpan, Y as _default$2, Yt as MarkdownRenderer, Z as ProgressBar, Zt as MarkdownThematicBreakBlock, _ as StepperProps, _n as NewlineProps, _t as _default$18, a as _default$8, an as CodeSelection, at as FormValues, b as Tab, bn as TextProps, bt as SelectProps, c as StatusBarProps, cn as CodeSyntaxToken, ct as SliderProps, d as PopoverProps, dn as BadgeVariant, dt as ConfirmProps, en as CodeBuffer, et as Form, f as _default$13, fn as LinkProps, ft as RadioGroup, g as Stepper, gn as _default$14, gt as CheckboxProps, h as StepStatus, hn as _default$23, ht as Checkbox, i as KeyHintProps, in as CodeProps, it as FormSlotProps, j as TreeValueKey, jn as AvatarProps, jt as DiffView, k as TreeNode, kn as AlertProps, kt as Diff, l as _default$15, ln as _default$26, lt as SliderRange, m as Step, mn as StaticProps, mt as RadioOption, n as KeyBinding, nn as CodeDiagnosticSeverity, nt as FormField, o as StatusBar, on as CodeSyntaxContext, ot as _default$19, p as ModalProps, pn as SpinnerProps, pt as RadioGroupProps, q as TimerMode, qn as Box, qt as MarkdownRenderLine, r as KeyHint, rn as CodePosition, rt as FormProps, s as StatusBarItem, sn as CodeSyntaxProvider, st as SliderOrientation, t as _default$1, tn as CodeDiagnostic, tt as FormErrors, u as PopoverPlacement, un as BadgeProps, ut as Confirm, v as _default$3, vn as TransformProps, vt as SelectBy, w as _default$12, wn as ScrollBarProps, wt as TextInput, x as TabsBy, xn as _default$16, xt as SelectValueKey, y as _default$24, yn as Text, yt as SelectOption, z as TableViewportRange, zn as GridProps, zt as MarkdownBlockProvider } from "./index-C0U_GDW-.mjs";
|
|
4
4
|
import { a as createVirtualViewport, i as VirtualViewportRange, n as VirtualViewport, o as useVirtualViewport, r as VirtualViewportOptions, t as VirtualScrollAlignment } from "./useVirtualViewport-TxTapifg.mjs";
|
|
5
|
-
import { A as ImeManager, B as KeyHandler, C as useWindowSize, D as useStderr, E as UseStdoutReturn, F as useMouse, H as UseInputReturn, I as UsePasteOptions, L as usePaste, M as useIme, N as UseMouseOptions, O as useStdin, P as UseMouseReturn, R as InputHandler, S as WindowSize, T as UseStdinReturn, U as useInput, V as UseInputOptions, W as useKeyPress, _ as AnimationResult, a as KeymapStroke, b as CursorPosition, c as createKeymapResolver, d as useIsScreenReaderEnabled, f as BoxMetrics, g as measureElement, h as DOMElement, i as KeymapResolver, j as UseImeOptions, k as useStdout, l as defineKeymap, m as useBoxMetrics, n as KeymapBinding, o as UseKeymapOptions, p as UseBoxMetricsResult, r as KeymapMatch, s as UseKeymapReturn, t as Keymap, u as useKeymap, v as UseAnimationOptions, w as UseStderrReturn, x as useCursor, y as useAnimation, z as Key } from "./index-
|
|
5
|
+
import { A as ImeManager, B as KeyHandler, C as useWindowSize, D as useStderr, E as UseStdoutReturn, F as useMouse, H as UseInputReturn, I as UsePasteOptions, L as usePaste, M as useIme, N as UseMouseOptions, O as useStdin, P as UseMouseReturn, R as InputHandler, S as WindowSize, T as UseStdinReturn, U as useInput, V as UseInputOptions, W as useKeyPress, _ as AnimationResult, a as KeymapStroke, b as CursorPosition, c as createKeymapResolver, d as useIsScreenReaderEnabled, f as BoxMetrics, g as measureElement, h as DOMElement, i as KeymapResolver, j as UseImeOptions, k as useStdout, l as defineKeymap, m as useBoxMetrics, n as KeymapBinding, o as UseKeymapOptions, p as UseBoxMetricsResult, r as KeymapMatch, s as UseKeymapReturn, t as Keymap, u as useKeymap, v as UseAnimationOptions, w as UseStderrReturn, x as useCursor, y as useAnimation, z as Key } from "./index-BOV-0YqV.mjs";
|
|
6
6
|
import { a as provideFocusScope, i as UseFocusOptions, n as useApp, o as useFocus, r as FocusManager, s as useFocusManager, t as UseAppReturn } from "./useApp-vIRJ5Th3.mjs";
|
|
7
|
-
import { A as FrescoTreeInspection, C as FrescoDevtools, D as FrescoDevtoolsSnapshot, E as FrescoDevtoolsRenderMetrics, M as formatFrescoDebugOverlay, N as inspectFrescoTree, O as FrescoLayoutInspection, S as FrescoDebugOverlayOptions, T as FrescoDevtoolsOptions, _ as KittyFlagName, a as RenderMetrics, b as kittyModifiers, c as createApp, d as lastKeyEvent, f as lastMouseEvent, g as renderToString, h as render, i as RenderInstance, j as createFrescoDevtools, k as FrescoNodeInspection, l as lastCompositionEvent, m as lastResizeEvent, n as AppOptions, o as RenderOptions, p as lastPasteEvent, r as Instance, s as RenderToStringOptions, t as App, u as lastFocusEvent, v as KittyKeyboardOptions, w as FrescoDevtoolsEvent, x as resolveKittyFlags, y as kittyFlags } from "./app-
|
|
7
|
+
import { A as FrescoTreeInspection, C as FrescoDevtools, D as FrescoDevtoolsSnapshot, E as FrescoDevtoolsRenderMetrics, M as formatFrescoDebugOverlay, N as inspectFrescoTree, O as FrescoLayoutInspection, S as FrescoDebugOverlayOptions, T as FrescoDevtoolsOptions, _ as KittyFlagName, a as RenderMetrics, b as kittyModifiers, c as createApp, d as lastKeyEvent, f as lastMouseEvent, g as renderToString, h as render, i as RenderInstance, j as createFrescoDevtools, k as FrescoNodeInspection, l as lastCompositionEvent, m as lastResizeEvent, n as AppOptions, o as RenderOptions, p as lastPasteEvent, r as Instance, s as RenderToStringOptions, t as App, u as lastFocusEvent, v as KittyKeyboardOptions, w as FrescoDevtoolsEvent, x as resolveKittyFlags, y as kittyFlags } from "./app-CJh9qfJI.mjs";
|
|
8
8
|
import { App as App$1, Component, InjectionKey, MaybeRefOrGetter, Plugin, Ref } from "vue";
|
|
9
9
|
import { FlexStyleNapi, ImeStateNapi, InputEventNapi, LayoutResultNapi, ModifiersNapi, RenderNodeNapi, StyleNapi, TerminalInfoNapi, TerminalOptionsNapi } from "@vizejs/fresco-native";
|
|
10
10
|
|
|
@@ -96,5 +96,5 @@ declare function provideFrescoTheme(override?: MaybeRefOrGetter<FrescoThemeOverr
|
|
|
96
96
|
/** Read the nearest resolved theme, falling back to the static defaults. */
|
|
97
97
|
declare function useFrescoTheme(): Readonly<Ref<FrescoTheme>>;
|
|
98
98
|
//#endregion
|
|
99
|
-
export { _default as Alert, type AlertProps, type AlertType, type AnimationResult, type App, type AppOptions, _default$1 as Avatar, type AvatarProps, _default$2 as Badge, type BadgeProps, type BadgeVariant, Box, type BoxMetrics, type BoxProps, _default$3 as Breadcrumb, type BreadcrumbItem, type BreadcrumbProps, _default$4 as Card, type CardProps, Checkbox, type CheckboxProps, Code, type CodeBuffer, type CodeDiagnostic, type CodeDiagnosticSeverity, type CodePosition, type CodeProps, type CodeSelection, type CodeSyntaxContext, type CodeSyntaxProvider, type CodeSyntaxToken, type CompositionEvent, Confirm, type ConfirmProps, type CursorPosition, type DOMElement, Diff, type DiffProps, type DiffView, _default$5 as Divider, type DividerProps, FRESCO_THEME_KEY, type FlexStyleNapi, type FocusEvent, type FocusManager, Form, type FormErrors, type FormField, type FormProps, type FormSlotProps, type FormValues, _default$6 as FrameBuffer, type FrameBufferProps, type FrescoAlignContent, type FrescoAlignItems, type FrescoAlignSelf, type FrescoAppearance, type FrescoBorderStyle, type FrescoBoxRenderNode, type FrescoCanonicalStyle, type FrescoDebugOverlayOptions, type FrescoDeclaredSize, type FrescoDevtools, type FrescoDevtoolsEvent, type FrescoDevtoolsOptions, type FrescoDevtoolsRenderMetrics, type FrescoDevtoolsSnapshot, type FrescoDimension, type FrescoDisplay, type FrescoFlexDirection, type FrescoFlexWrap, type FrescoHostNode, type FrescoInputDispatchResult, type FrescoInputEvent, type FrescoInputEventHandler, type FrescoInputEventPhase, type FrescoInputRenderNode, type FrescoJustifyContent, type FrescoLayoutInspection, type FrescoModifiers, type FrescoMouseEventKind, type FrescoNodeInspection, type FrescoNodeLifecycleHooks, type FrescoNodeUpdateKind, type FrescoOverflow, type FrescoPluginDefinition, type FrescoPosition, type FrescoProvider, type FrescoRawRenderNode, type FrescoRenderNode, type FrescoRenderNodeKind, type FrescoRenderStyle, type FrescoRendererOptions, type FrescoRootRenderNode, type FrescoRoutedInputEvent, type FrescoSnakeStyleAliases, type FrescoStyle, type FrescoTextRenderNode, type FrescoTextWrapMode, type FrescoTheme, type FrescoThemeBorders, type FrescoThemeColors, type FrescoThemeMotion, type FrescoThemeOverride, type FrescoThemeSpacing, type FrescoTreeInspection, Grid, type GridProps, _default$7 as HStack, _default$8 as Header, type HeaderProps, type ImeManager, type ImeStateNapi, type InputEvent, type InputEventNapi, type InputHandler, type Instance, type Key, type KeyBinding, type KeyEvent, type KeyEventType, type KeyHandler, KeyHint, type KeyHintProps, type Keymap, type KeymapBinding, type KeymapMatch, type KeymapResolver, type KeymapStroke, type KittyFlagName, type KittyKeyboardOptions, type LayoutResultNapi, LineNumber, type LineNumberProps, _default$9 as Link, type LinkProps, List, type ListItem, type ListProps, _default$
|
|
99
|
+
export { _default as Alert, type AlertProps, type AlertType, type AnimationResult, type App, type AppOptions, _default$1 as Avatar, type AvatarProps, _default$2 as Badge, type BadgeProps, type BadgeVariant, Box, type BoxMetrics, type BoxProps, _default$3 as Breadcrumb, type BreadcrumbItem, type BreadcrumbProps, _default$4 as Card, type CardProps, Checkbox, type CheckboxProps, Code, type CodeBuffer, type CodeDiagnostic, type CodeDiagnosticSeverity, type CodePosition, type CodeProps, type CodeSelection, type CodeSyntaxContext, type CodeSyntaxProvider, type CodeSyntaxToken, type CompositionEvent, Confirm, type ConfirmProps, type CursorPosition, type DOMElement, Diff, type DiffProps, type DiffView, _default$5 as Divider, type DividerProps, FRESCO_THEME_KEY, type FlexStyleNapi, type FocusEvent, type FocusManager, Form, type FormErrors, type FormField, type FormProps, type FormSlotProps, type FormValues, _default$6 as FrameBuffer, type FrameBufferProps, type FrescoAlignContent, type FrescoAlignItems, type FrescoAlignSelf, type FrescoAppearance, type FrescoBorderStyle, type FrescoBoxRenderNode, type FrescoCanonicalStyle, type FrescoDebugOverlayOptions, type FrescoDeclaredSize, type FrescoDevtools, type FrescoDevtoolsEvent, type FrescoDevtoolsOptions, type FrescoDevtoolsRenderMetrics, type FrescoDevtoolsSnapshot, type FrescoDimension, type FrescoDisplay, type FrescoFlexDirection, type FrescoFlexWrap, type FrescoHostNode, type FrescoInputDispatchResult, type FrescoInputEvent, type FrescoInputEventHandler, type FrescoInputEventPhase, type FrescoInputRenderNode, type FrescoJustifyContent, type FrescoLayoutInspection, type FrescoModifiers, type FrescoMouseEventKind, type FrescoNodeInspection, type FrescoNodeLifecycleHooks, type FrescoNodeUpdateKind, type FrescoOverflow, type FrescoPluginDefinition, type FrescoPosition, type FrescoProvider, type FrescoRawRenderNode, type FrescoRenderNode, type FrescoRenderNodeKind, type FrescoRenderStyle, type FrescoRendererOptions, type FrescoRootRenderNode, type FrescoRoutedInputEvent, type FrescoSnakeStyleAliases, type FrescoStyle, type FrescoTextRenderNode, type FrescoTextWrapMode, type FrescoTheme, type FrescoThemeBorders, type FrescoThemeColors, type FrescoThemeMotion, type FrescoThemeOverride, type FrescoThemeSpacing, type FrescoTreeInspection, Grid, type GridProps, _default$7 as HStack, _default$8 as Header, type HeaderProps, type ImeManager, type ImeStateNapi, type InputEvent, type InputEventNapi, type InputHandler, type Instance, type Key, type KeyBinding, type KeyEvent, type KeyEventType, type KeyHandler, KeyHint, type KeyHintProps, type Keymap, type KeymapBinding, type KeymapMatch, type KeymapResolver, type KeymapStroke, type KittyFlagName, type KittyKeyboardOptions, type LayoutResultNapi, LineNumber, type LineNumberProps, _default$9 as Link, type LinkProps, _default$10 as List, type ListBy, type ListItem, type ListProps, type ListValueKey, _default$11 as Markdown, type MarkdownBlock, type MarkdownBlockProvider, type MarkdownCodeBlock, type MarkdownHeadingBlock, type MarkdownListBlock, type MarkdownListItem, type MarkdownParagraphBlock, type MarkdownProps, type MarkdownQuoteBlock, type MarkdownRenderLine, type MarkdownRenderOptions, type MarkdownRenderer, type MarkdownSpan, type MarkdownThematicBreakBlock, _default$12 as Menu, type MenuItem, type MenuProps, _default$13 as Modal, type ModalProps, type ModifiersNapi, type MouseEvent, _default$14 as Newline, type NewlineProps, type PasteEvent, _default$15 as Popover, type PopoverPlacement, type PopoverProps, ProgressBar, type ProgressBarProps, RadioGroup, type RadioGroupProps, type RadioOption, type RenderInstance, type RenderMetrics, type RenderNodeNapi, type RenderOptions, type RenderToStringOptions, type ResizeEvent, _default$16 as ScrollBar, type ScrollBarOrientation, type ScrollBarProps, _default$17 as ScrollBox, type ScrollBoxExposed, type ScrollBoxItemSlot, type ScrollBoxProps, _default$18 as Select, type SelectBy, type SelectOption, type SelectProps, type SelectValueKey, _default$19 as Slider, type SliderOrientation, type SliderProps, type SliderRange, _default$20 as Spacer, _default$21 as Spinner, type SpinnerProps, _default$22 as Stack, type StackProps, _default$23 as Static, type StaticProps, StatusBar, type StatusBarItem, type StatusBarProps, type Step, type StepStatus, Stepper, type StepperProps, type StyleNapi, type Tab, Table, type TableAlignment, type TableCellSlotProps, type TableColumn, type TableProps, type TableRow, type TableSortDirection, type TableViewportRange, _default$24 as Tabs, type TabsBy, type TabsProps, type TabsValueKey, type TerminalInfoNapi, type TerminalOptionsNapi, Text, TextArea, type TextAreaProps, TextInput, type TextInputProps, type TextProps, Timer, type TimerMode, type TimerProps, _default$25 as Tooltip, type TooltipPosition, type TooltipProps, _default$26 as Transform, type TransformProps, _default$27 as Tree, type TreeBy, type TreeNode, type TreeProps, type TreeValueKey, type UseAnimationOptions, type UseAppReturn, type UseBoxMetricsResult, type UseFocusOptions, type UseImeOptions, type UseInputOptions, type UseInputReturn, type UseKeymapOptions, type UseKeymapReturn, type UseMouseOptions, type UseMouseReturn, type UsePasteOptions, type UseStderrReturn, type UseStdinReturn, type UseStdoutReturn, _default$28 as VStack, type VirtualScrollAlignment, type VirtualViewport, type VirtualViewportOptions, type VirtualViewportRange, type WindowSize, createApp, createCodeBuffer, createFrescoDevtools, createKeymapResolver, createRenderer, createVirtualViewport, defaultFrescoTheme, defaultMarkdownRenderer, defineFrescoPlugin, defineFrescoProvider, defineKeymap, formatFrescoDebugOverlay, inspectFrescoTree, kittyFlags, kittyModifiers, lastCompositionEvent, lastFocusEvent, lastKeyEvent, lastMouseEvent, lastPasteEvent, lastResizeEvent, measureElement, parseMarkdown, provideFocusScope, provideFrescoTheme, render, renderMarkdown, renderToString, resolveFrescoTheme, resolveKittyFlags, useAnimation, useApp, useBoxMetrics, useCursor, useFocus, useFocusManager, useFrescoTheme, useIme, useInput, useIsScreenReaderEnabled, useKeyPress, useKeymap, useMouse, usePaste, useStderr, useStdin, useStdout, useVirtualViewport, useWindowSize };
|
|
100
100
|
//# sourceMappingURL=index.d.mts.map
|
package/dist/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { A as useFocusManager, C as useStdin, N as useApp, O as provideFocusScope, S as useStderr, a as lastMouseEvent, c as render, f as createRenderer, h as measureElement, i as lastKeyEvent, k as useFocus, l as renderToString, n as lastCompositionEvent, o as lastPasteEvent, r as lastFocusEvent, s as lastResizeEvent, t as createApp, w as useStdout, y as useCursor } from "./app-
|
|
2
|
-
import { a as useInput, c as useIsScreenReaderEnabled, i as useMouse, n as createVirtualViewport, o as useKeyPress, r as useVirtualViewport, s as usePaste, t as useBoxMetrics } from "./useBoxMetrics-
|
|
3
|
-
import { A as
|
|
4
|
-
import { a as useWindowSize, i as useAnimation, n as defineKeymap, o as useIme, r as useKeymap, t as createKeymapResolver } from "./composables-
|
|
1
|
+
import { A as useFocusManager, C as useStdin, N as useApp, O as provideFocusScope, S as useStderr, a as lastMouseEvent, c as render, f as createRenderer, h as measureElement, i as lastKeyEvent, k as useFocus, l as renderToString, n as lastCompositionEvent, o as lastPasteEvent, r as lastFocusEvent, s as lastResizeEvent, t as createApp, w as useStdout, y as useCursor } from "./app-CjfLCWic.mjs";
|
|
2
|
+
import { a as useInput, c as useIsScreenReaderEnabled, i as useMouse, n as createVirtualViewport, o as useKeyPress, r as useVirtualViewport, s as usePaste, t as useBoxMetrics } from "./useBoxMetrics-BMD1acRU.mjs";
|
|
3
|
+
import { A as FrescoFrameBuffer_default, B as FrescoNewline_default, C as RadioGroup, D as TextInput, E as TextArea, F as Code, G as Grid, H as ScrollBar_default, I as createCodeBuffer, J as FrescoStack_default, K as FrescoVStack_default, L as LineNumber, M as defaultMarkdownRenderer, N as parseMarkdown, O as FrescoLink_default, P as renderMarkdown, R as FrescoTransform_default, S as Confirm, T as FrescoSelect_default, U as Text, V as ScrollBox_default, W as FrescoCard_default, X as FrescoSpacer_default, Y as FrescoDivider_default, Z as Box, _ as FrescoAlert_default, a as FrescoPopover_default, b as Form, c as FrescoBreadcrumb_default, d as FrescoTree_default, f as Table, g as FrescoBadge_default, h as Timer, i as StatusBar, j as FrescoMarkdown_default, k as Diff, l as FrescoTabs_default, m as FrescoTooltip_default, n as KeyHint, o as FrescoModal_default, p as FrescoList_default, q as FrescoHStack_default, r as FrescoHeader_default, s as Stepper, t as FrescoAvatar_default, u as FrescoMenu_default, v as ProgressBar, w as Checkbox, x as FrescoSlider_default, y as FrescoSpinner_default, z as FrescoStatic_default } from "./components-B-HgL5id.mjs";
|
|
4
|
+
import { a as useWindowSize, i as useAnimation, n as defineKeymap, o as useIme, r as useKeymap, t as createKeymapResolver } from "./composables-BxxLIBdJ.mjs";
|
|
5
5
|
import { computed, inject, provide, toValue } from "vue";
|
|
6
6
|
//#region src/kittyKeyboard.ts
|
|
7
7
|
/**
|
|
@@ -287,6 +287,6 @@ function useFrescoTheme() {
|
|
|
287
287
|
return inject(FRESCO_THEME_KEY, void 0) ?? computed(() => defaultFrescoTheme);
|
|
288
288
|
}
|
|
289
289
|
//#endregion
|
|
290
|
-
export { FrescoAlert_default as Alert, FrescoAvatar_default as Avatar, FrescoBadge_default as Badge, Box, FrescoBreadcrumb_default as Breadcrumb, FrescoCard_default as Card, Checkbox, Code, Confirm, Diff, FrescoDivider_default as Divider, FRESCO_THEME_KEY, Form, FrescoFrameBuffer_default as FrameBuffer, Grid, FrescoHStack_default as HStack, FrescoHeader_default as Header, KeyHint, LineNumber, FrescoLink_default as Link, List, FrescoMarkdown_default as Markdown, Menu, FrescoModal_default as Modal, FrescoNewline_default as Newline, ProgressBar, RadioGroup, ScrollBar_default as ScrollBar, ScrollBox_default as ScrollBox, Select, FrescoSlider_default as Slider, FrescoSpacer_default as Spacer, FrescoSpinner_default as Spinner, FrescoStack_default as Stack, FrescoStatic_default as Static, StatusBar, Stepper, Table, Tabs, Text, TextArea, TextInput, Timer, FrescoTooltip_default as Tooltip, FrescoTransform_default as Transform, Tree, FrescoVStack_default as VStack, createApp, createCodeBuffer, createFrescoDevtools, createKeymapResolver, createRenderer, createVirtualViewport, defaultFrescoTheme, defaultMarkdownRenderer, defineFrescoPlugin, defineFrescoProvider, defineKeymap, formatFrescoDebugOverlay, inspectFrescoTree, kittyFlags, kittyModifiers, lastCompositionEvent, lastFocusEvent, lastKeyEvent, lastMouseEvent, lastPasteEvent, lastResizeEvent, measureElement, parseMarkdown, provideFocusScope, provideFrescoTheme, render, renderMarkdown, renderToString, resolveFrescoTheme, resolveKittyFlags, useAnimation, useApp, useBoxMetrics, useCursor, useFocus, useFocusManager, useFrescoTheme, useIme, useInput, useIsScreenReaderEnabled, useKeyPress, useKeymap, useMouse, usePaste, useStderr, useStdin, useStdout, useVirtualViewport, useWindowSize };
|
|
290
|
+
export { FrescoAlert_default as Alert, FrescoAvatar_default as Avatar, FrescoBadge_default as Badge, Box, FrescoBreadcrumb_default as Breadcrumb, FrescoCard_default as Card, Checkbox, Code, Confirm, Diff, FrescoDivider_default as Divider, FRESCO_THEME_KEY, Form, FrescoFrameBuffer_default as FrameBuffer, Grid, FrescoHStack_default as HStack, FrescoHeader_default as Header, KeyHint, LineNumber, FrescoLink_default as Link, FrescoList_default as List, FrescoMarkdown_default as Markdown, FrescoMenu_default as Menu, FrescoModal_default as Modal, FrescoNewline_default as Newline, FrescoPopover_default as Popover, ProgressBar, RadioGroup, ScrollBar_default as ScrollBar, ScrollBox_default as ScrollBox, FrescoSelect_default as Select, FrescoSlider_default as Slider, FrescoSpacer_default as Spacer, FrescoSpinner_default as Spinner, FrescoStack_default as Stack, FrescoStatic_default as Static, StatusBar, Stepper, Table, FrescoTabs_default as Tabs, Text, TextArea, TextInput, Timer, FrescoTooltip_default as Tooltip, FrescoTransform_default as Transform, FrescoTree_default as Tree, FrescoVStack_default as VStack, createApp, createCodeBuffer, createFrescoDevtools, createKeymapResolver, createRenderer, createVirtualViewport, defaultFrescoTheme, defaultMarkdownRenderer, defineFrescoPlugin, defineFrescoProvider, defineKeymap, formatFrescoDebugOverlay, inspectFrescoTree, kittyFlags, kittyModifiers, lastCompositionEvent, lastFocusEvent, lastKeyEvent, lastMouseEvent, lastPasteEvent, lastResizeEvent, measureElement, parseMarkdown, provideFocusScope, provideFrescoTheme, render, renderMarkdown, renderToString, resolveFrescoTheme, resolveKittyFlags, useAnimation, useApp, useBoxMetrics, useCursor, useFocus, useFocusManager, useFrescoTheme, useIme, useInput, useIsScreenReaderEnabled, useKeyPress, useKeymap, useMouse, usePaste, useStderr, useStdin, useStdout, useVirtualViewport, useWindowSize };
|
|
291
291
|
|
|
292
292
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -26,6 +26,8 @@ type FrescoAlignContent = "flex-start" | "flex-end" | "start" | "end" | "center"
|
|
|
26
26
|
interface FrescoCanonicalStyle<Dimension extends FrescoDimension = FrescoDimension> {
|
|
27
27
|
display?: FrescoDisplay;
|
|
28
28
|
position?: FrescoPosition;
|
|
29
|
+
/** Signed 32-bit paint and pointer-target order among siblings. Higher values are topmost. @default 0 */
|
|
30
|
+
zIndex?: number;
|
|
29
31
|
top?: Dimension;
|
|
30
32
|
right?: Dimension;
|
|
31
33
|
bottom?: Dimension;
|
|
@@ -65,6 +67,7 @@ interface FrescoCanonicalStyle<Dimension extends FrescoDimension = FrescoDimensi
|
|
|
65
67
|
}
|
|
66
68
|
/** Compatibility aliases accepted by intrinsic host-node style bags. */
|
|
67
69
|
interface FrescoSnakeStyleAliases<Dimension extends FrescoDimension = FrescoDimension> {
|
|
70
|
+
z_index?: number;
|
|
68
71
|
overflow_x?: FrescoOverflow;
|
|
69
72
|
overflow_y?: FrescoOverflow;
|
|
70
73
|
flex_direction?: FrescoFlexDirection;
|
|
@@ -192,7 +195,7 @@ interface ResizeEvent {
|
|
|
192
195
|
height: number;
|
|
193
196
|
}
|
|
194
197
|
/** Mouse transition or scroll direction reported by the terminal. */
|
|
195
|
-
type FrescoMouseEventKind = "down" | "up" | "drag" | "moved" | "scroll-up" | "scroll-down" | "scroll-left" | "scroll-right";
|
|
198
|
+
type FrescoMouseEventKind = "down" | "up" | "drag" | "moved" | "enter" | "leave" | "scroll-up" | "scroll-down" | "scroll-left" | "scroll-right";
|
|
196
199
|
/** Normalized mouse event exposed to components and composables. */
|
|
197
200
|
interface MouseEvent {
|
|
198
201
|
type: "mouse";
|
|
@@ -219,4 +222,4 @@ type FrescoInputEvent = StrictUnion<KeyEvent | PasteEvent | ResizeEvent | MouseE
|
|
|
219
222
|
type InputEvent = FrescoInputEvent;
|
|
220
223
|
//#endregion
|
|
221
224
|
export { InputEvent as A, FrescoRenderNodeKind as C, FrescoStyle as D, FrescoSnakeStyleAliases as E, ResizeEvent as F, KeyEventType as M, MouseEvent as N, FrescoTextRenderNode as O, PasteEvent as P, FrescoRenderNode as S, FrescoRootRenderNode as T, FrescoModifiers as _, FrescoAlignSelf as a, FrescoPosition as b, FrescoBoxRenderNode as c, FrescoDisplay as d, FrescoFlexDirection as f, FrescoJustifyContent as g, FrescoInputRenderNode as h, FrescoAlignItems as i, KeyEvent as j, FrescoTextWrapMode as k, FrescoCanonicalStyle as l, FrescoInputEvent as m, FocusEvent as n, FrescoAppearance as o, FrescoFlexWrap as p, FrescoAlignContent as r, FrescoBorderStyle as s, CompositionEvent as t, FrescoDimension as u, FrescoMouseEventKind as v, FrescoRenderStyle as w, FrescoRawRenderNode as x, FrescoOverflow as y };
|
|
222
|
-
//# sourceMappingURL=protocol-
|
|
225
|
+
//# sourceMappingURL=protocol-C1DHP36Z.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protocol-C1DHP36Z.d.mts","names":[],"sources":["../src/protocol.ts"],"mappings":"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"}
|
package/dist/testing/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { N as MouseEvent, S as FrescoRenderNode, j as KeyEvent } from "../protocol-
|
|
2
|
-
import { i as FrescoElement, l as FrescoNode, m as createRenderer$1, n as AriaState, t as AriaRole, u as FrescoNodeLifecycleHooks } from "../accessibility-
|
|
1
|
+
import { N as MouseEvent, S as FrescoRenderNode, j as KeyEvent } from "../protocol-C1DHP36Z.mjs";
|
|
2
|
+
import { i as FrescoElement, l as FrescoNode, m as createRenderer$1, n as AriaState, t as AriaRole, u as FrescoNodeLifecycleHooks } from "../accessibility-D7iuITvU.mjs";
|
|
3
3
|
import { r as FocusManager, t as UseAppReturn } from "../useApp-vIRJ5Th3.mjs";
|
|
4
4
|
import { App, Component, Ref, VNodeChild } from "vue";
|
|
5
5
|
|
|
@@ -101,6 +101,8 @@ type MouseInput = Omit<MouseEvent, "type">;
|
|
|
101
101
|
interface FrescoFrameSnapshot {
|
|
102
102
|
/** Plain terminal output projected from the current mounted tree. */
|
|
103
103
|
output: string;
|
|
104
|
+
/** Deterministic semantic text exposed to assistive technology. */
|
|
105
|
+
screenReaderOutput: string;
|
|
104
106
|
/** Serializable renderer tree for structural assertions. */
|
|
105
107
|
tree: FrescoNodeSnapshot;
|
|
106
108
|
/** Stable native protocol payload for assertions before crossing into Rust. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../../src/testing/mount.ts","../../src/testing/queries.ts","../../src/testing/index.ts"],"mappings":";;;;;;;UAoCiB,kBAAA;EAcA;EAZf,KAAA;;EAEA,MAAA;EAcY;EAZZ,YAAA;EAcY;EAZZ,UAAA;EAgBqB;EAdrB,SAAA,GAAY,wBAAwB;AAAA;;UAIrB,aAAA;EAEf;EAAA,IAAA,EAAM,aAAA;EAEN;EAAA,GAAA,EAAK,GAAA,CAAO,aAAA;EAAA;EAEZ,UAAA,EAAY,YAAA;EAAA;EAEZ,YAAA,EAAc,YAAA;EAAA;EAEd,mBAAA,EAAqB,GAAA;EAAA;EAErB,QAAA,EAAU,UAAA,QAAkB,gBAAA;EAAlB;EAEV,OAAA;AAAA;;AAAO;AAST;;;;iBAAgB,WAAA,CACd,IAAA,EAAM,SAAA,UAAmB,UAAA,GACzB,OAAA,GAAS,kBAAA,GACR,aAAA;;;;;;;;iBAgEa,WAAA,CAAY,KAAA,EAAO,OAAA,CAAQ,IAAA,CAAK,QAAA,aAAqB,OAAA;;iBAiB/C,SAAA,CAAU,IAAA,WAAe,OAAO;;AAjFtC;AAgEhB;;;;;UA8BiB,kBAAA;EACf,IAAA,EAAM,UAAA;EACN,IAAA;EACA,KAAA,GAAQ,MAAA;EACR,QAAA,GAAW,kBAAA;AAAA;;;;;iBAaG,cAAA,CAAe,IAAA,EAAM,UAAA,GAAa,kBAAkB;AA9BpE;AAAA,iBA0CgB,SAAA,CACd,IAAA,EAAM,UAAA,EACN,SAAA,GAAY,SAAA,EAAW,UAAA,eACtB,UAAA;;iBAWa,UAAA,CAAW,OAAA,EAAS,aAAA,GAAgB,UAAU;AAxDR;AAAA,iBA+DtC,cAAA,CACd,SAAA,EAAW,SAAA,EACX,KAAA,GAAO,MAAA,mBACP,IAAA,SAAa,UAAA,EACb,OAAA,GAAS,kBAAA,GACR,aAAA;;;KC7NS,iBAAA,YAA6B,MAAM;AAAA,UAE9B,sBAAA;EAAA,SACN,IAAA,GAAO,iBAAA;EAAA,SACP,WAAA,GAAc,iBAAA;EAAA,SACd,KAAA,GAAQ,SAAA;AAAA;AAAA,iBAkFH,cAAA,CACd,IAAA,EAAM,UAAA,EACN,IAAA,EAAM,QAAA,EACN,OAAA,GAAS,sBAAA,GACR,UAAA;AAAA,iBAca,SAAA,CACd,IAAA,EAAM,UAAA,EACN,IAAA,EAAM,QAAA,EACN,OAAA,GAAS,sBAAA,GACR,UAAA;AAAA,iBAIa,cAAA,CAAe,IAAA,EAAM,UAAA,EAAY,IAAA,EAAM,iBAAA,GAAoB,UAAA;AAAA,iBAO3D,SAAA,CAAU,IAAA,EAAM,UAAA,EAAY,IAAA,EAAM,iBAAA,GAAoB,UAAA;AAAA,iBAItD,qBAAA,CACd,IAAA,EAAM,UAAA,EACN,WAAA,EAAa,iBAAA,GACZ,UAAA;AAAA,iBAOa,gBAAA,CAAiB,IAAA,EAAM,UAAA,EAAY,WAAA,EAAa,iBAAA,GAAoB,UAAA;AAAA,iBAIpE,gBAAA,CAAiB,IAAA,EAAM,UAAA,EAAY,MAAA,WAAiB,UAAU;AAAA,iBAI9D,WAAA,CAAY,IAAA,EAAM,UAAA,EAAY,MAAA,WAAiB,UAAU;;;
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../../src/testing/mount.ts","../../src/testing/queries.ts","../../src/testing/index.ts"],"mappings":"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"}
|
package/dist/testing/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { D as createFocusManager, E as FOCUS_KEY, M as createAppContext, P as SCREEN_READER_KEY, _ as CURSOR_KEY, a as lastMouseEvent, b as STREAMS_KEY, d as isStaticNode, f as createRenderer$1, i as lastKeyEvent, j as APP_KEY, n as lastCompositionEvent, o as lastPasteEvent, p as treeToRenderNodes, r as lastFocusEvent, s as lastResizeEvent, u as isStaticItemNode, v as createCursorContext, x as createStreamsContext } from "../app-
|
|
1
|
+
import { D as createFocusManager, E as FOCUS_KEY, I as treeToScreenReaderString, M as createAppContext, P as SCREEN_READER_KEY, _ as CURSOR_KEY, a as lastMouseEvent, b as STREAMS_KEY, d as isStaticNode, f as createRenderer$1, i as lastKeyEvent, j as APP_KEY, n as lastCompositionEvent, o as lastPasteEvent, p as treeToRenderNodes, r as lastFocusEvent, s as lastResizeEvent, u as isStaticItemNode, v as createCursorContext, x as createStreamsContext } from "../app-CjfLCWic.mjs";
|
|
2
2
|
import { h, nextTick, ref } from "vue";
|
|
3
3
|
//#region src/testing/mount.ts
|
|
4
4
|
/**
|
|
@@ -353,6 +353,7 @@ function renderTui(root, options = {}) {
|
|
|
353
353
|
staticOutput = appendOutput(staticOutput, captureStaticOutput(mounted.root, renderedStaticItems));
|
|
354
354
|
const snapshot = {
|
|
355
355
|
output: renderFrame(mounted.root, staticOutput),
|
|
356
|
+
screenReaderOutput: treeToScreenReaderString(mounted.root),
|
|
356
357
|
tree: toTreeSnapshot(mounted.root),
|
|
357
358
|
protocolNodes: protocolSnapshot(mounted.root)
|
|
358
359
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["createRenderer"],"sources":["../../src/testing/mount.ts","../../src/testing/queries.ts","../../src/testing/index.ts"],"sourcesContent":["/**\n * Test-only mount harness for the Fresco JS layer.\n *\n * Fresco's renderer is pure JS up to the byte boundary that crosses into the\n * native module: `renderer.ts` imports only types from `@vizejs/fresco-native`,\n * and `app.ts` loads the native binding lazily and only in interactive mode.\n * This harness mounts components through the real custom renderer with the\n * same provide set `createApp`/`renderToString` install, so tests assert the\n * mounted `FrescoNode` output tree without a native build and without mocks.\n *\n * Not exported from the package entry points; `vp pack` does not ship it.\n */\n\nimport {\n h,\n ref,\n nextTick,\n type App as VueApp,\n type Component,\n type Ref,\n type VNodeChild,\n} from \"vue\";\nimport { SCREEN_READER_KEY } from \"../accessibility.js\";\nimport { lastKeyEvent, type KeyEvent } from \"../app.js\";\nimport { APP_KEY, createAppContext, type UseAppReturn } from \"../composables/useApp.js\";\nimport { createCursorContext, CURSOR_KEY } from \"../composables/useCursor.js\";\nimport { createFocusManager, FOCUS_KEY, type FocusManager } from \"../composables/useFocus.js\";\nimport { createStreamsContext, STREAMS_KEY } from \"../composables/useStreams.js\";\nimport {\n createRenderer,\n type FrescoElement,\n type FrescoNode,\n type FrescoNodeLifecycleHooks,\n} from \"../renderer.js\";\n\n/** Options for {@link mountFresco}. */\nexport interface MountFrescoOptions {\n /** Terminal width provided through the app context. Defaults to 80. */\n width?: number;\n /** Terminal height provided through the app context. Defaults to 24. */\n height?: number;\n /** Initial screen reader mode. Defaults to false. */\n screenReader?: boolean;\n /** Observe host-tree mutations that require a native frame. */\n onMutation?: () => void;\n /** Observe host-node lifecycle transitions. */\n lifecycle?: FrescoNodeLifecycleHooks;\n}\n\n/** A mounted Fresco component tree under test. */\nexport interface MountedFresco {\n /** Root element the Vue app mounted into; children form the output tree. */\n root: FrescoElement;\n /** The Vue app instance (for `provide`-level introspection if needed). */\n app: VueApp<FrescoElement>;\n /** App context provided to composables such as `useApp` and `useWindowSize`. */\n appContext: UseAppReturn;\n /** Focus manager provided to the tree, as the real app would. */\n focusManager: FocusManager;\n /** Screen reader flag provided to the tree; writable to flip modes. */\n screenReaderEnabled: Ref<boolean>;\n /** Renderer controls for stable lookup and recursive disposal. */\n renderer: ReturnType<typeof createRenderer>;\n /** Unmount the tree and dispose all component watchers. */\n unmount(): void;\n}\n\n/**\n * Mount a component (or a plain render function) through the Fresco renderer.\n *\n * The returned {@link MountedFresco.root} is live: re-read it after reactive\n * updates plus `await nextTick()` to observe the patched output tree.\n */\nexport function mountFresco(\n root: Component | (() => VNodeChild),\n options: MountFrescoOptions = {},\n): MountedFresco {\n const renderer = createRenderer({\n onMutation: options.onMutation,\n lifecycle: options.lifecycle,\n });\n const { createApp } = renderer;\n const component: Component = typeof root === \"function\" ? { setup: () => root } : root;\n const app = createApp(component);\n\n const focusManager = createFocusManager();\n const screenReaderEnabled = ref(options.screenReader ?? false);\n const noopWrite = () => {};\n const width = options.width ?? 80;\n const height = options.height ?? 24;\n // A detached stdout stand-in keeps createAppContext from attaching resize\n // listeners to the real process.stdout on every mounted test tree.\n const stdout = {\n isTTY: false,\n columns: width,\n rows: height,\n write: () => true,\n } as unknown as NodeJS.WriteStream;\n\n const appContext = createAppContext({ width, height, stdout });\n app.provide(APP_KEY, appContext);\n app.provide(FOCUS_KEY, focusManager);\n app.provide(SCREEN_READER_KEY, screenReaderEnabled);\n app.provide(CURSOR_KEY, createCursorContext(noopWrite));\n app.provide(\n STREAMS_KEY,\n createStreamsContext({\n interactive: false,\n writeToStdout: noopWrite,\n writeToStderr: noopWrite,\n }),\n );\n\n const rootElement: FrescoElement = {\n id: -1,\n type: \"root\",\n props: {},\n children: [],\n parent: null,\n };\n app.mount(rootElement);\n\n return {\n root: rootElement,\n app,\n appContext,\n focusManager,\n screenReaderEnabled,\n renderer,\n unmount: () => app.unmount(),\n };\n}\n\n/**\n * Dispatch a key event through the same `lastKeyEvent` ref the interactive\n * event loop writes, then wait for watchers to flush.\n *\n * Pass `char` for printable input or `key` for named keys (\"left\", \"enter\",\n * \"backspace\", ...). Modifiers default to false.\n */\nexport function dispatchKey(event: Partial<Omit<KeyEvent, \"type\">>): Promise<void> {\n lastKeyEvent.value = {\n type: \"key\",\n ctrl: false,\n alt: false,\n shift: false,\n meta: false,\n super: false,\n hyper: false,\n capsLock: false,\n numLock: false,\n ...event,\n };\n return nextTick();\n}\n\n/** Dispatch a sequence of printable characters via {@link dispatchKey}. */\nexport async function typeChars(text: string): Promise<void> {\n for (const char of text) {\n await dispatchKey({ char });\n }\n}\n\n/**\n * Serializable snapshot of a mounted output tree.\n *\n * Node ids come from a module-global counter and depend on mount order, and\n * `parent` back-references make trees cyclic, so both are omitted. Props are\n * kept only when defined, so snapshots stay inline-sized and deterministic.\n */\nexport interface FrescoNodeSnapshot {\n type: FrescoNode[\"type\"];\n text?: string;\n props?: Record<string, unknown>;\n children?: FrescoNodeSnapshot[];\n}\n\nfunction definedProps(props: Record<string, unknown>): Record<string, unknown> | undefined {\n const entries = Object.entries(props).filter(([, value]) => value !== undefined);\n if (entries.length === 0) return undefined;\n return Object.fromEntries(entries);\n}\n\n/**\n * Convert a mounted node (or the harness root) into a plain snapshot object\n * suitable for `assert.deepEqual` against an inline expected structure.\n */\nexport function toTreeSnapshot(node: FrescoNode): FrescoNodeSnapshot {\n const snapshot: FrescoNodeSnapshot = { type: node.type };\n if (node.text !== undefined) snapshot.text = node.text;\n const props = definedProps(node.props);\n if (props) snapshot.props = props;\n if (node.children.length > 0) {\n snapshot.children = node.children.map((child) => toTreeSnapshot(child));\n }\n return snapshot;\n}\n\n/** Depth-first list of nodes matching a predicate, starting at `node`. */\nexport function findNodes(\n node: FrescoNode,\n predicate: (candidate: FrescoNode) => boolean,\n): FrescoNode[] {\n const matches: FrescoNode[] = [];\n const visit = (current: FrescoNode) => {\n if (predicate(current)) matches.push(current);\n for (const child of current.children) visit(child);\n };\n visit(node);\n return matches;\n}\n\n/** First mounted child under the harness root, asserting it exists. */\nexport function firstChild(mounted: MountedFresco): FrescoNode {\n const child = mounted.root.children[0];\n if (!child) throw new Error(\"expected the mounted tree to have a root child\");\n return child;\n}\n\n/** Convenience wrapper that renders `component` with `h` and mounts it. */\nexport function mountComponent(\n component: Component,\n props: Record<string, unknown> = {},\n slot?: () => VNodeChild,\n options: MountFrescoOptions = {},\n): MountedFresco {\n return mountFresco(() => h(component, props, slot), options);\n}\n","import type { AriaRole, AriaState } from \"../accessibility.js\";\nimport type { FrescoNode } from \"../renderer.js\";\nimport { findNodes } from \"./mount.js\";\n\nexport type FrescoTextMatcher = string | RegExp;\n\nexport interface FrescoRoleQueryOptions {\n readonly name?: FrescoTextMatcher;\n readonly description?: FrescoTextMatcher;\n readonly state?: AriaState;\n}\n\nfunction stringValue(value: unknown): string | undefined {\n if (typeof value === \"string\" || typeof value === \"number\") return String(value);\n return undefined;\n}\n\nfunction ownText(node: FrescoNode): string | undefined {\n if (node.text !== undefined) return node.text;\n const propText = node.props.text ?? node.props.content;\n if (typeof propText === \"string\" || typeof propText === \"number\") return String(propText);\n\n if (node.type === \"input\") {\n const value = node.props.value;\n const placeholder = node.props.placeholder;\n if (typeof value === \"string\" || typeof value === \"number\") return String(value);\n if (typeof placeholder === \"string\" || typeof placeholder === \"number\")\n return String(placeholder);\n }\n\n return undefined;\n}\n\nfunction accessibleName(node: FrescoNode): string {\n const ariaLabel = stringValue(node.props[\"aria-label\"]);\n if (ariaLabel !== undefined) return ariaLabel;\n\n const text = ownText(node);\n if (text !== undefined) return text;\n\n return node.children\n .map((child) => accessibleName(child))\n .filter(Boolean)\n .join(\" \");\n}\n\nfunction accessibleDescription(node: FrescoNode): string | undefined {\n return stringValue(\n node.props[\"aria-description\"] ?? node.props.ariaDescription ?? node.props.description,\n );\n}\n\nfunction matchesText(text: string, matcher: FrescoTextMatcher): boolean {\n if (typeof matcher === \"string\") return text === matcher;\n matcher.lastIndex = 0;\n return matcher.test(text);\n}\n\nfunction roleOf(node: FrescoNode): AriaRole | undefined {\n return stringValue(node.props[\"aria-role\"]) as AriaRole | undefined;\n}\n\nfunction testIdOf(node: FrescoNode): string | undefined {\n return stringValue(node.props[\"test-id\"] ?? node.props[\"data-testid\"]);\n}\n\nfunction stateOf(node: FrescoNode): AriaState {\n const state = node.props[\"aria-state\"];\n return state && typeof state === \"object\" ? (state as AriaState) : {};\n}\n\nfunction matchesState(node: FrescoNode, expected: AriaState | undefined): boolean {\n if (expected === undefined) return true;\n const actual = stateOf(node);\n return Object.entries(expected).every(([key, value]) => actual[key as keyof AriaState] === value);\n}\n\nfunction describeRole(role: AriaRole, options: FrescoRoleQueryOptions): string {\n const parts = [`role ${JSON.stringify(role)}`];\n if (options.name !== undefined) parts.push(`name ${String(options.name)}`);\n if (options.description !== undefined) parts.push(`description ${String(options.description)}`);\n if (options.state !== undefined) parts.push(`state ${JSON.stringify(options.state)}`);\n return parts.join(\", \");\n}\n\nfunction uniqueNode(nodes: readonly FrescoNode[], description: string): FrescoNode {\n if (nodes.length === 0) throw new Error(`Unable to find Fresco node with ${description}`);\n if (nodes.length > 1) throw new Error(`Found ${nodes.length} Fresco nodes with ${description}`);\n return nodes[0]!;\n}\n\nexport function queryAllByRole(\n root: FrescoNode,\n role: AriaRole,\n options: FrescoRoleQueryOptions = {},\n): FrescoNode[] {\n return findNodes(root, (node) => {\n if (roleOf(node) !== role) return false;\n if (options.name !== undefined && !matchesText(accessibleName(node), options.name))\n return false;\n if (\n options.description !== undefined &&\n !matchesText(accessibleDescription(node) ?? \"\", options.description)\n )\n return false;\n return matchesState(node, options.state);\n });\n}\n\nexport function getByRole(\n root: FrescoNode,\n role: AriaRole,\n options: FrescoRoleQueryOptions = {},\n): FrescoNode {\n return uniqueNode(queryAllByRole(root, role, options), describeRole(role, options));\n}\n\nexport function queryAllByText(root: FrescoNode, text: FrescoTextMatcher): FrescoNode[] {\n return findNodes(root, (node) => {\n const value = ownText(node);\n return value !== undefined && matchesText(value, text);\n });\n}\n\nexport function getByText(root: FrescoNode, text: FrescoTextMatcher): FrescoNode {\n return uniqueNode(queryAllByText(root, text), `text ${String(text)}`);\n}\n\nexport function queryAllByDescription(\n root: FrescoNode,\n description: FrescoTextMatcher,\n): FrescoNode[] {\n return findNodes(root, (node) => {\n const value = accessibleDescription(node);\n return value !== undefined && matchesText(value, description);\n });\n}\n\nexport function getByDescription(root: FrescoNode, description: FrescoTextMatcher): FrescoNode {\n return uniqueNode(queryAllByDescription(root, description), `description ${String(description)}`);\n}\n\nexport function queryAllByTestId(root: FrescoNode, testId: string): FrescoNode[] {\n return findNodes(root, (node) => testIdOf(node) === testId);\n}\n\nexport function getByTestId(root: FrescoNode, testId: string): FrescoNode {\n return uniqueNode(queryAllByTestId(root, testId), `test id ${JSON.stringify(testId)}`);\n}\n","/**\n * Test utilities for Fresco component and app behavior.\n *\n * The harness mounts through the real Vue custom renderer and records frames\n * without loading the native terminal binding, so it is safe in plain Node,\n * Vitest, and `node:test` suites.\n */\n\nimport { nextTick, type Component, type VNodeChild } from \"vue\";\nimport {\n lastCompositionEvent,\n lastFocusEvent,\n lastMouseEvent,\n lastPasteEvent,\n lastResizeEvent,\n type CompositionEvent,\n type FocusEvent,\n type KeyEvent,\n type MouseEvent,\n type PasteEvent,\n type ResizeEvent,\n} from \"../app.js\";\nimport type { FrescoNode } from \"../renderer.js\";\nimport {\n dispatchKey,\n mountFresco,\n toTreeSnapshot,\n type FrescoNodeSnapshot,\n type MountedFresco,\n type MountFrescoOptions,\n} from \"./mount.js\";\nimport { treeToRenderNodes } from \"../renderer.js\";\nimport { isStaticItemNode, isStaticNode } from \"../staticNodes.js\";\nimport type { FrescoRenderNode } from \"../protocol.js\";\n\nexport {\n dispatchKey,\n findNodes,\n firstChild,\n mountComponent,\n mountFresco,\n toTreeSnapshot,\n typeChars,\n type FrescoNodeSnapshot,\n type MountedFresco,\n type MountFrescoOptions,\n} from \"./mount.js\";\nexport {\n getByDescription,\n getByRole,\n getByTestId,\n getByText,\n queryAllByDescription,\n queryAllByRole,\n queryAllByTestId,\n queryAllByText,\n type FrescoRoleQueryOptions,\n type FrescoTextMatcher,\n} from \"./queries.js\";\nexport type { FrescoRenderNode } from \"../protocol.js\";\n\nexport type RenderTuiOptions = MountFrescoOptions;\nexport type RenderTuiRoot = Component | (() => VNodeChild);\nexport type KeyInput = Partial<Omit<KeyEvent, \"type\">>;\nexport type MouseInput = Omit<MouseEvent, \"type\">;\n\n/** A single recorded harness frame. */\nexport interface FrescoFrameSnapshot {\n /** Plain terminal output projected from the current mounted tree. */\n output: string;\n /** Serializable renderer tree for structural assertions. */\n tree: FrescoNodeSnapshot;\n /** Stable native protocol payload for assertions before crossing into Rust. */\n protocolNodes: readonly FrescoRenderNode[];\n}\n\n/** Input driver that injects events through Fresco's public event refs. */\nexport interface FrescoInputDriver {\n /** Dispatch a key event and record the resulting frame. */\n key(event: KeyInput): Promise<FrescoFrameSnapshot>;\n /** Dispatch each printable character and record one frame after the text. */\n text(text: string): Promise<FrescoFrameSnapshot>;\n /** Dispatch a bracketed paste payload and record the resulting frame. */\n paste(text: string): Promise<FrescoFrameSnapshot>;\n /** Update the provided app size, dispatch a resize event, and record a frame. */\n resize(width: number, height: number): Promise<FrescoFrameSnapshot>;\n /** Dispatch a mouse event and record the resulting frame. */\n mouse(event: MouseInput): Promise<FrescoFrameSnapshot>;\n /** Dispatch terminal focus state and record the resulting frame. */\n focus(focused: boolean): Promise<FrescoFrameSnapshot>;\n /** Dispatch a composition start event and record the resulting frame. */\n compositionStart(text?: string, cursor?: number): Promise<FrescoFrameSnapshot>;\n /** Dispatch a composition update event and record the resulting frame. */\n compositionUpdate(text: string, cursor: number): Promise<FrescoFrameSnapshot>;\n /** Dispatch a composition end event and record the resulting frame. */\n compositionEnd(text: string, cursor?: number): Promise<FrescoFrameSnapshot>;\n}\n\n/** Mounted TUI harness with frame history and input helpers. */\nexport interface RenderTuiResult extends MountedFresco {\n /** Recorded plain frames, including the initial mount frame. */\n readonly frames: readonly string[];\n /** Recorded frame snapshots, including the initial mount frame. */\n readonly frameSnapshots: readonly FrescoFrameSnapshot[];\n /** Event injection helpers. */\n readonly input: FrescoInputDriver;\n /** Record and return a fresh snapshot of the current mounted tree. */\n captureFrame(): FrescoFrameSnapshot;\n /** Return the latest recorded plain frame. */\n lastFrame(): string;\n /** Return the latest recorded frame snapshot. */\n frameSnapshot(): FrescoFrameSnapshot;\n}\n\nfunction nodeText(node: FrescoNode): string {\n if (node.text !== undefined) return node.text;\n const propText = node.props.text ?? node.props.content;\n if (typeof propText === \"string\" || typeof propText === \"number\") return String(propText);\n if (node.type !== \"input\") return \"\";\n\n const value = node.props.value;\n const placeholder = node.props.placeholder;\n if (typeof value === \"string\" || typeof value === \"number\") return String(value);\n if (typeof placeholder === \"string\" || typeof placeholder === \"number\")\n return String(placeholder);\n return \"\";\n}\n\nfunction joinOutput(parts: readonly string[], separator = \"\\n\"): string {\n return parts.filter(Boolean).join(separator);\n}\n\nfunction normalizeOutput(output: string): string {\n return output.endsWith(\"\\n\") ? output.slice(0, -1) : output;\n}\n\nfunction appendOutput(previous: string, next: string): string {\n const normalized = normalizeOutput(next);\n if (!normalized) return previous;\n return previous ? `${previous}\\n${normalized}` : normalized;\n}\n\nfunction treeToFrameOutput(node: FrescoNode, options: { skipStatic?: boolean } = {}): string {\n if (options.skipStatic && isStaticNode(node)) return \"\";\n\n const ownText = nodeText(node);\n const childOutput = node.children.map((child) => treeToFrameOutput(child, options));\n\n if (node.type === \"text\" || node.type === \"input\") {\n return `${ownText}${childOutput.join(\"\")}`;\n }\n\n const style = (node.props.style ?? {}) as Record<string, unknown>;\n const flexDirection = style.flexDirection ?? style.flex_direction;\n const separator = flexDirection === \"column\" ? \"\\n\" : \"\";\n return joinOutput(childOutput, separator);\n}\n\nfunction captureStaticOutput(node: FrescoNode, renderedStaticItems: Map<number, number>): string {\n const output: string[] = [];\n\n const visit = (current: FrescoNode) => {\n if (isStaticNode(current)) {\n const renderedItems = renderedStaticItems.get(current.id) ?? 0;\n const staticItems = current.children.filter(isStaticItemNode);\n const nextItems = staticItems.slice(renderedItems);\n const nextOutput = joinOutput(\n nextItems.map((child) => treeToFrameOutput(child)),\n \"\\n\",\n );\n if (nextOutput) output.push(nextOutput);\n renderedStaticItems.set(current.id, staticItems.length);\n return;\n }\n\n for (const child of current.children) visit(child);\n };\n\n visit(node);\n return joinOutput(output, \"\\n\");\n}\n\nfunction renderFrame(root: FrescoNode, staticOutput: string): string {\n return joinOutput([staticOutput, treeToFrameOutput(root, { skipStatic: true })], \"\\n\");\n}\n\nfunction latestSnapshot(snapshots: readonly FrescoFrameSnapshot[]): FrescoFrameSnapshot {\n const snapshot = snapshots[snapshots.length - 1];\n if (!snapshot) throw new Error(\"expected renderTui to record an initial frame\");\n return snapshot;\n}\n\nfunction protocolSnapshot(root: FrescoNode): FrescoRenderNode[] {\n const nodes = treeToRenderNodes(root);\n const ids = new Map(nodes.map((node, index) => [node.id, index - 1]));\n return nodes.map((node) => {\n const id = ids.get(node.id) ?? node.id;\n const children = node.children?.map((child) => ids.get(child) ?? child);\n return (\n children === undefined ? { ...node, id } : { ...node, id, children }\n ) as FrescoRenderNode;\n });\n}\n\nasync function dispatchPaste(text: string): Promise<void> {\n const event: PasteEvent = { type: \"paste\", text };\n lastPasteEvent.value = event;\n await nextTick();\n}\n\nasync function dispatchMouse(event: MouseInput): Promise<void> {\n lastMouseEvent.value = { type: \"mouse\", ...event };\n await nextTick();\n}\n\nasync function dispatchFocus(focused: boolean): Promise<void> {\n const event: FocusEvent = { type: \"focus\", focused };\n lastFocusEvent.value = event;\n await nextTick();\n}\n\nasync function dispatchComposition(\n type: CompositionEvent[\"type\"],\n text: string,\n cursor: number,\n): Promise<void> {\n lastCompositionEvent.value = { type, text, cursor };\n await nextTick();\n}\n\nasync function dispatchResize(\n mounted: MountedFresco,\n width: number,\n height: number,\n): Promise<void> {\n const event: ResizeEvent = { type: \"resize\", width, height };\n lastResizeEvent.value = event;\n mounted.appContext.width.value = width;\n mounted.appContext.height.value = height;\n await nextTick();\n}\n\n/** Mount a Fresco app for tests with frame snapshots and input injection. */\nexport function renderTui(root: RenderTuiRoot, options: RenderTuiOptions = {}): RenderTuiResult {\n const mounted = mountFresco(root, options);\n const frames: string[] = [];\n const frameSnapshots: FrescoFrameSnapshot[] = [];\n const renderedStaticItems = new Map<number, number>();\n let staticOutput = \"\";\n\n const captureFrame = () => {\n staticOutput = appendOutput(\n staticOutput,\n captureStaticOutput(mounted.root, renderedStaticItems),\n );\n const snapshot: FrescoFrameSnapshot = {\n output: renderFrame(mounted.root, staticOutput),\n tree: toTreeSnapshot(mounted.root),\n protocolNodes: protocolSnapshot(mounted.root),\n };\n frames.push(snapshot.output);\n frameSnapshots.push(snapshot);\n return snapshot;\n };\n\n const recordAfter = async (dispatch: Promise<void>) => {\n await dispatch;\n return captureFrame();\n };\n\n const input: FrescoInputDriver = {\n key: (event) => recordAfter(dispatchKey(event)),\n async text(text) {\n for (const char of text) {\n await dispatchKey({ char });\n }\n return captureFrame();\n },\n paste: (text) => recordAfter(dispatchPaste(text)),\n resize: (width, height) => recordAfter(dispatchResize(mounted, width, height)),\n mouse: (event) => recordAfter(dispatchMouse(event)),\n focus: (focused) => recordAfter(dispatchFocus(focused)),\n compositionStart: (text = \"\", cursor = 0) =>\n recordAfter(dispatchComposition(\"compositionstart\", text, cursor)),\n compositionUpdate: (text, cursor) =>\n recordAfter(dispatchComposition(\"compositionupdate\", text, cursor)),\n compositionEnd: (text, cursor = text.length) =>\n recordAfter(dispatchComposition(\"compositionend\", text, cursor)),\n };\n\n captureFrame();\n\n return {\n ...mounted,\n frames,\n frameSnapshots,\n input,\n captureFrame,\n lastFrame: () => latestSnapshot(frameSnapshots).output,\n frameSnapshot: () => latestSnapshot(frameSnapshots),\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["createRenderer"],"sources":["../../src/testing/mount.ts","../../src/testing/queries.ts","../../src/testing/index.ts"],"sourcesContent":["/**\n * Test-only mount harness for the Fresco JS layer.\n *\n * Fresco's renderer is pure JS up to the byte boundary that crosses into the\n * native module: `renderer.ts` imports only types from `@vizejs/fresco-native`,\n * and `app.ts` loads the native binding lazily and only in interactive mode.\n * This harness mounts components through the real custom renderer with the\n * same provide set `createApp`/`renderToString` install, so tests assert the\n * mounted `FrescoNode` output tree without a native build and without mocks.\n *\n * Not exported from the package entry points; `vp pack` does not ship it.\n */\n\nimport {\n h,\n ref,\n nextTick,\n type App as VueApp,\n type Component,\n type Ref,\n type VNodeChild,\n} from \"vue\";\nimport { SCREEN_READER_KEY } from \"../accessibility.js\";\nimport { lastKeyEvent, type KeyEvent } from \"../app.js\";\nimport { APP_KEY, createAppContext, type UseAppReturn } from \"../composables/useApp.js\";\nimport { createCursorContext, CURSOR_KEY } from \"../composables/useCursor.js\";\nimport { createFocusManager, FOCUS_KEY, type FocusManager } from \"../composables/useFocus.js\";\nimport { createStreamsContext, STREAMS_KEY } from \"../composables/useStreams.js\";\nimport {\n createRenderer,\n type FrescoElement,\n type FrescoNode,\n type FrescoNodeLifecycleHooks,\n} from \"../renderer.js\";\n\n/** Options for {@link mountFresco}. */\nexport interface MountFrescoOptions {\n /** Terminal width provided through the app context. Defaults to 80. */\n width?: number;\n /** Terminal height provided through the app context. Defaults to 24. */\n height?: number;\n /** Initial screen reader mode. Defaults to false. */\n screenReader?: boolean;\n /** Observe host-tree mutations that require a native frame. */\n onMutation?: () => void;\n /** Observe host-node lifecycle transitions. */\n lifecycle?: FrescoNodeLifecycleHooks;\n}\n\n/** A mounted Fresco component tree under test. */\nexport interface MountedFresco {\n /** Root element the Vue app mounted into; children form the output tree. */\n root: FrescoElement;\n /** The Vue app instance (for `provide`-level introspection if needed). */\n app: VueApp<FrescoElement>;\n /** App context provided to composables such as `useApp` and `useWindowSize`. */\n appContext: UseAppReturn;\n /** Focus manager provided to the tree, as the real app would. */\n focusManager: FocusManager;\n /** Screen reader flag provided to the tree; writable to flip modes. */\n screenReaderEnabled: Ref<boolean>;\n /** Renderer controls for stable lookup and recursive disposal. */\n renderer: ReturnType<typeof createRenderer>;\n /** Unmount the tree and dispose all component watchers. */\n unmount(): void;\n}\n\n/**\n * Mount a component (or a plain render function) through the Fresco renderer.\n *\n * The returned {@link MountedFresco.root} is live: re-read it after reactive\n * updates plus `await nextTick()` to observe the patched output tree.\n */\nexport function mountFresco(\n root: Component | (() => VNodeChild),\n options: MountFrescoOptions = {},\n): MountedFresco {\n const renderer = createRenderer({\n onMutation: options.onMutation,\n lifecycle: options.lifecycle,\n });\n const { createApp } = renderer;\n const component: Component = typeof root === \"function\" ? { setup: () => root } : root;\n const app = createApp(component);\n\n const focusManager = createFocusManager();\n const screenReaderEnabled = ref(options.screenReader ?? false);\n const noopWrite = () => {};\n const width = options.width ?? 80;\n const height = options.height ?? 24;\n // A detached stdout stand-in keeps createAppContext from attaching resize\n // listeners to the real process.stdout on every mounted test tree.\n const stdout = {\n isTTY: false,\n columns: width,\n rows: height,\n write: () => true,\n } as unknown as NodeJS.WriteStream;\n\n const appContext = createAppContext({ width, height, stdout });\n app.provide(APP_KEY, appContext);\n app.provide(FOCUS_KEY, focusManager);\n app.provide(SCREEN_READER_KEY, screenReaderEnabled);\n app.provide(CURSOR_KEY, createCursorContext(noopWrite));\n app.provide(\n STREAMS_KEY,\n createStreamsContext({\n interactive: false,\n writeToStdout: noopWrite,\n writeToStderr: noopWrite,\n }),\n );\n\n const rootElement: FrescoElement = {\n id: -1,\n type: \"root\",\n props: {},\n children: [],\n parent: null,\n };\n app.mount(rootElement);\n\n return {\n root: rootElement,\n app,\n appContext,\n focusManager,\n screenReaderEnabled,\n renderer,\n unmount: () => app.unmount(),\n };\n}\n\n/**\n * Dispatch a key event through the same `lastKeyEvent` ref the interactive\n * event loop writes, then wait for watchers to flush.\n *\n * Pass `char` for printable input or `key` for named keys (\"left\", \"enter\",\n * \"backspace\", ...). Modifiers default to false.\n */\nexport function dispatchKey(event: Partial<Omit<KeyEvent, \"type\">>): Promise<void> {\n lastKeyEvent.value = {\n type: \"key\",\n ctrl: false,\n alt: false,\n shift: false,\n meta: false,\n super: false,\n hyper: false,\n capsLock: false,\n numLock: false,\n ...event,\n };\n return nextTick();\n}\n\n/** Dispatch a sequence of printable characters via {@link dispatchKey}. */\nexport async function typeChars(text: string): Promise<void> {\n for (const char of text) {\n await dispatchKey({ char });\n }\n}\n\n/**\n * Serializable snapshot of a mounted output tree.\n *\n * Node ids come from a module-global counter and depend on mount order, and\n * `parent` back-references make trees cyclic, so both are omitted. Props are\n * kept only when defined, so snapshots stay inline-sized and deterministic.\n */\nexport interface FrescoNodeSnapshot {\n type: FrescoNode[\"type\"];\n text?: string;\n props?: Record<string, unknown>;\n children?: FrescoNodeSnapshot[];\n}\n\nfunction definedProps(props: Record<string, unknown>): Record<string, unknown> | undefined {\n const entries = Object.entries(props).filter(([, value]) => value !== undefined);\n if (entries.length === 0) return undefined;\n return Object.fromEntries(entries);\n}\n\n/**\n * Convert a mounted node (or the harness root) into a plain snapshot object\n * suitable for `assert.deepEqual` against an inline expected structure.\n */\nexport function toTreeSnapshot(node: FrescoNode): FrescoNodeSnapshot {\n const snapshot: FrescoNodeSnapshot = { type: node.type };\n if (node.text !== undefined) snapshot.text = node.text;\n const props = definedProps(node.props);\n if (props) snapshot.props = props;\n if (node.children.length > 0) {\n snapshot.children = node.children.map((child) => toTreeSnapshot(child));\n }\n return snapshot;\n}\n\n/** Depth-first list of nodes matching a predicate, starting at `node`. */\nexport function findNodes(\n node: FrescoNode,\n predicate: (candidate: FrescoNode) => boolean,\n): FrescoNode[] {\n const matches: FrescoNode[] = [];\n const visit = (current: FrescoNode) => {\n if (predicate(current)) matches.push(current);\n for (const child of current.children) visit(child);\n };\n visit(node);\n return matches;\n}\n\n/** First mounted child under the harness root, asserting it exists. */\nexport function firstChild(mounted: MountedFresco): FrescoNode {\n const child = mounted.root.children[0];\n if (!child) throw new Error(\"expected the mounted tree to have a root child\");\n return child;\n}\n\n/** Convenience wrapper that renders `component` with `h` and mounts it. */\nexport function mountComponent(\n component: Component,\n props: Record<string, unknown> = {},\n slot?: () => VNodeChild,\n options: MountFrescoOptions = {},\n): MountedFresco {\n return mountFresco(() => h(component, props, slot), options);\n}\n","import type { AriaRole, AriaState } from \"../accessibility.js\";\nimport type { FrescoNode } from \"../renderer.js\";\nimport { findNodes } from \"./mount.js\";\n\nexport type FrescoTextMatcher = string | RegExp;\n\nexport interface FrescoRoleQueryOptions {\n readonly name?: FrescoTextMatcher;\n readonly description?: FrescoTextMatcher;\n readonly state?: AriaState;\n}\n\nfunction stringValue(value: unknown): string | undefined {\n if (typeof value === \"string\" || typeof value === \"number\") return String(value);\n return undefined;\n}\n\nfunction ownText(node: FrescoNode): string | undefined {\n if (node.text !== undefined) return node.text;\n const propText = node.props.text ?? node.props.content;\n if (typeof propText === \"string\" || typeof propText === \"number\") return String(propText);\n\n if (node.type === \"input\") {\n const value = node.props.value;\n const placeholder = node.props.placeholder;\n if (typeof value === \"string\" || typeof value === \"number\") return String(value);\n if (typeof placeholder === \"string\" || typeof placeholder === \"number\")\n return String(placeholder);\n }\n\n return undefined;\n}\n\nfunction accessibleName(node: FrescoNode): string {\n const ariaLabel = stringValue(node.props[\"aria-label\"]);\n if (ariaLabel !== undefined) return ariaLabel;\n\n const text = ownText(node);\n if (text !== undefined) return text;\n\n return node.children\n .map((child) => accessibleName(child))\n .filter(Boolean)\n .join(\" \");\n}\n\nfunction accessibleDescription(node: FrescoNode): string | undefined {\n return stringValue(\n node.props[\"aria-description\"] ?? node.props.ariaDescription ?? node.props.description,\n );\n}\n\nfunction matchesText(text: string, matcher: FrescoTextMatcher): boolean {\n if (typeof matcher === \"string\") return text === matcher;\n matcher.lastIndex = 0;\n return matcher.test(text);\n}\n\nfunction roleOf(node: FrescoNode): AriaRole | undefined {\n return stringValue(node.props[\"aria-role\"]) as AriaRole | undefined;\n}\n\nfunction testIdOf(node: FrescoNode): string | undefined {\n return stringValue(node.props[\"test-id\"] ?? node.props[\"data-testid\"]);\n}\n\nfunction stateOf(node: FrescoNode): AriaState {\n const state = node.props[\"aria-state\"];\n return state && typeof state === \"object\" ? (state as AriaState) : {};\n}\n\nfunction matchesState(node: FrescoNode, expected: AriaState | undefined): boolean {\n if (expected === undefined) return true;\n const actual = stateOf(node);\n return Object.entries(expected).every(([key, value]) => actual[key as keyof AriaState] === value);\n}\n\nfunction describeRole(role: AriaRole, options: FrescoRoleQueryOptions): string {\n const parts = [`role ${JSON.stringify(role)}`];\n if (options.name !== undefined) parts.push(`name ${String(options.name)}`);\n if (options.description !== undefined) parts.push(`description ${String(options.description)}`);\n if (options.state !== undefined) parts.push(`state ${JSON.stringify(options.state)}`);\n return parts.join(\", \");\n}\n\nfunction uniqueNode(nodes: readonly FrescoNode[], description: string): FrescoNode {\n if (nodes.length === 0) throw new Error(`Unable to find Fresco node with ${description}`);\n if (nodes.length > 1) throw new Error(`Found ${nodes.length} Fresco nodes with ${description}`);\n return nodes[0]!;\n}\n\nexport function queryAllByRole(\n root: FrescoNode,\n role: AriaRole,\n options: FrescoRoleQueryOptions = {},\n): FrescoNode[] {\n return findNodes(root, (node) => {\n if (roleOf(node) !== role) return false;\n if (options.name !== undefined && !matchesText(accessibleName(node), options.name))\n return false;\n if (\n options.description !== undefined &&\n !matchesText(accessibleDescription(node) ?? \"\", options.description)\n )\n return false;\n return matchesState(node, options.state);\n });\n}\n\nexport function getByRole(\n root: FrescoNode,\n role: AriaRole,\n options: FrescoRoleQueryOptions = {},\n): FrescoNode {\n return uniqueNode(queryAllByRole(root, role, options), describeRole(role, options));\n}\n\nexport function queryAllByText(root: FrescoNode, text: FrescoTextMatcher): FrescoNode[] {\n return findNodes(root, (node) => {\n const value = ownText(node);\n return value !== undefined && matchesText(value, text);\n });\n}\n\nexport function getByText(root: FrescoNode, text: FrescoTextMatcher): FrescoNode {\n return uniqueNode(queryAllByText(root, text), `text ${String(text)}`);\n}\n\nexport function queryAllByDescription(\n root: FrescoNode,\n description: FrescoTextMatcher,\n): FrescoNode[] {\n return findNodes(root, (node) => {\n const value = accessibleDescription(node);\n return value !== undefined && matchesText(value, description);\n });\n}\n\nexport function getByDescription(root: FrescoNode, description: FrescoTextMatcher): FrescoNode {\n return uniqueNode(queryAllByDescription(root, description), `description ${String(description)}`);\n}\n\nexport function queryAllByTestId(root: FrescoNode, testId: string): FrescoNode[] {\n return findNodes(root, (node) => testIdOf(node) === testId);\n}\n\nexport function getByTestId(root: FrescoNode, testId: string): FrescoNode {\n return uniqueNode(queryAllByTestId(root, testId), `test id ${JSON.stringify(testId)}`);\n}\n","/**\n * Test utilities for Fresco component and app behavior.\n *\n * The harness mounts through the real Vue custom renderer and records frames\n * without loading the native terminal binding, so it is safe in plain Node,\n * Vitest, and `node:test` suites.\n */\n\nimport { nextTick, type Component, type VNodeChild } from \"vue\";\nimport {\n lastCompositionEvent,\n lastFocusEvent,\n lastMouseEvent,\n lastPasteEvent,\n lastResizeEvent,\n type CompositionEvent,\n type FocusEvent,\n type KeyEvent,\n type MouseEvent,\n type PasteEvent,\n type ResizeEvent,\n} from \"../app.js\";\nimport { treeToScreenReaderString } from \"../accessibility.js\";\nimport type { FrescoNode } from \"../renderer.js\";\nimport {\n dispatchKey,\n mountFresco,\n toTreeSnapshot,\n type FrescoNodeSnapshot,\n type MountedFresco,\n type MountFrescoOptions,\n} from \"./mount.js\";\nimport { treeToRenderNodes } from \"../renderer.js\";\nimport { isStaticItemNode, isStaticNode } from \"../staticNodes.js\";\nimport type { FrescoRenderNode } from \"../protocol.js\";\n\nexport {\n dispatchKey,\n findNodes,\n firstChild,\n mountComponent,\n mountFresco,\n toTreeSnapshot,\n typeChars,\n type FrescoNodeSnapshot,\n type MountedFresco,\n type MountFrescoOptions,\n} from \"./mount.js\";\nexport {\n getByDescription,\n getByRole,\n getByTestId,\n getByText,\n queryAllByDescription,\n queryAllByRole,\n queryAllByTestId,\n queryAllByText,\n type FrescoRoleQueryOptions,\n type FrescoTextMatcher,\n} from \"./queries.js\";\nexport type { FrescoRenderNode } from \"../protocol.js\";\n\nexport type RenderTuiOptions = MountFrescoOptions;\nexport type RenderTuiRoot = Component | (() => VNodeChild);\nexport type KeyInput = Partial<Omit<KeyEvent, \"type\">>;\nexport type MouseInput = Omit<MouseEvent, \"type\">;\n\n/** A single recorded harness frame. */\nexport interface FrescoFrameSnapshot {\n /** Plain terminal output projected from the current mounted tree. */\n output: string;\n /** Deterministic semantic text exposed to assistive technology. */\n screenReaderOutput: string;\n /** Serializable renderer tree for structural assertions. */\n tree: FrescoNodeSnapshot;\n /** Stable native protocol payload for assertions before crossing into Rust. */\n protocolNodes: readonly FrescoRenderNode[];\n}\n\n/** Input driver that injects events through Fresco's public event refs. */\nexport interface FrescoInputDriver {\n /** Dispatch a key event and record the resulting frame. */\n key(event: KeyInput): Promise<FrescoFrameSnapshot>;\n /** Dispatch each printable character and record one frame after the text. */\n text(text: string): Promise<FrescoFrameSnapshot>;\n /** Dispatch a bracketed paste payload and record the resulting frame. */\n paste(text: string): Promise<FrescoFrameSnapshot>;\n /** Update the provided app size, dispatch a resize event, and record a frame. */\n resize(width: number, height: number): Promise<FrescoFrameSnapshot>;\n /** Dispatch a mouse event and record the resulting frame. */\n mouse(event: MouseInput): Promise<FrescoFrameSnapshot>;\n /** Dispatch terminal focus state and record the resulting frame. */\n focus(focused: boolean): Promise<FrescoFrameSnapshot>;\n /** Dispatch a composition start event and record the resulting frame. */\n compositionStart(text?: string, cursor?: number): Promise<FrescoFrameSnapshot>;\n /** Dispatch a composition update event and record the resulting frame. */\n compositionUpdate(text: string, cursor: number): Promise<FrescoFrameSnapshot>;\n /** Dispatch a composition end event and record the resulting frame. */\n compositionEnd(text: string, cursor?: number): Promise<FrescoFrameSnapshot>;\n}\n\n/** Mounted TUI harness with frame history and input helpers. */\nexport interface RenderTuiResult extends MountedFresco {\n /** Recorded plain frames, including the initial mount frame. */\n readonly frames: readonly string[];\n /** Recorded frame snapshots, including the initial mount frame. */\n readonly frameSnapshots: readonly FrescoFrameSnapshot[];\n /** Event injection helpers. */\n readonly input: FrescoInputDriver;\n /** Record and return a fresh snapshot of the current mounted tree. */\n captureFrame(): FrescoFrameSnapshot;\n /** Return the latest recorded plain frame. */\n lastFrame(): string;\n /** Return the latest recorded frame snapshot. */\n frameSnapshot(): FrescoFrameSnapshot;\n}\n\nfunction nodeText(node: FrescoNode): string {\n if (node.text !== undefined) return node.text;\n const propText = node.props.text ?? node.props.content;\n if (typeof propText === \"string\" || typeof propText === \"number\") return String(propText);\n if (node.type !== \"input\") return \"\";\n\n const value = node.props.value;\n const placeholder = node.props.placeholder;\n if (typeof value === \"string\" || typeof value === \"number\") return String(value);\n if (typeof placeholder === \"string\" || typeof placeholder === \"number\")\n return String(placeholder);\n return \"\";\n}\n\nfunction joinOutput(parts: readonly string[], separator = \"\\n\"): string {\n return parts.filter(Boolean).join(separator);\n}\n\nfunction normalizeOutput(output: string): string {\n return output.endsWith(\"\\n\") ? output.slice(0, -1) : output;\n}\n\nfunction appendOutput(previous: string, next: string): string {\n const normalized = normalizeOutput(next);\n if (!normalized) return previous;\n return previous ? `${previous}\\n${normalized}` : normalized;\n}\n\nfunction treeToFrameOutput(node: FrescoNode, options: { skipStatic?: boolean } = {}): string {\n if (options.skipStatic && isStaticNode(node)) return \"\";\n\n const ownText = nodeText(node);\n const childOutput = node.children.map((child) => treeToFrameOutput(child, options));\n\n if (node.type === \"text\" || node.type === \"input\") {\n return `${ownText}${childOutput.join(\"\")}`;\n }\n\n const style = (node.props.style ?? {}) as Record<string, unknown>;\n const flexDirection = style.flexDirection ?? style.flex_direction;\n const separator = flexDirection === \"column\" ? \"\\n\" : \"\";\n return joinOutput(childOutput, separator);\n}\n\nfunction captureStaticOutput(node: FrescoNode, renderedStaticItems: Map<number, number>): string {\n const output: string[] = [];\n\n const visit = (current: FrescoNode) => {\n if (isStaticNode(current)) {\n const renderedItems = renderedStaticItems.get(current.id) ?? 0;\n const staticItems = current.children.filter(isStaticItemNode);\n const nextItems = staticItems.slice(renderedItems);\n const nextOutput = joinOutput(\n nextItems.map((child) => treeToFrameOutput(child)),\n \"\\n\",\n );\n if (nextOutput) output.push(nextOutput);\n renderedStaticItems.set(current.id, staticItems.length);\n return;\n }\n\n for (const child of current.children) visit(child);\n };\n\n visit(node);\n return joinOutput(output, \"\\n\");\n}\n\nfunction renderFrame(root: FrescoNode, staticOutput: string): string {\n return joinOutput([staticOutput, treeToFrameOutput(root, { skipStatic: true })], \"\\n\");\n}\n\nfunction latestSnapshot(snapshots: readonly FrescoFrameSnapshot[]): FrescoFrameSnapshot {\n const snapshot = snapshots[snapshots.length - 1];\n if (!snapshot) throw new Error(\"expected renderTui to record an initial frame\");\n return snapshot;\n}\n\nfunction protocolSnapshot(root: FrescoNode): FrescoRenderNode[] {\n const nodes = treeToRenderNodes(root);\n const ids = new Map(nodes.map((node, index) => [node.id, index - 1]));\n return nodes.map((node) => {\n const id = ids.get(node.id) ?? node.id;\n const children = node.children?.map((child) => ids.get(child) ?? child);\n return (\n children === undefined ? { ...node, id } : { ...node, id, children }\n ) as FrescoRenderNode;\n });\n}\n\nasync function dispatchPaste(text: string): Promise<void> {\n const event: PasteEvent = { type: \"paste\", text };\n lastPasteEvent.value = event;\n await nextTick();\n}\n\nasync function dispatchMouse(event: MouseInput): Promise<void> {\n lastMouseEvent.value = { type: \"mouse\", ...event };\n await nextTick();\n}\n\nasync function dispatchFocus(focused: boolean): Promise<void> {\n const event: FocusEvent = { type: \"focus\", focused };\n lastFocusEvent.value = event;\n await nextTick();\n}\n\nasync function dispatchComposition(\n type: CompositionEvent[\"type\"],\n text: string,\n cursor: number,\n): Promise<void> {\n lastCompositionEvent.value = { type, text, cursor };\n await nextTick();\n}\n\nasync function dispatchResize(\n mounted: MountedFresco,\n width: number,\n height: number,\n): Promise<void> {\n const event: ResizeEvent = { type: \"resize\", width, height };\n lastResizeEvent.value = event;\n mounted.appContext.width.value = width;\n mounted.appContext.height.value = height;\n await nextTick();\n}\n\n/** Mount a Fresco app for tests with frame snapshots and input injection. */\nexport function renderTui(root: RenderTuiRoot, options: RenderTuiOptions = {}): RenderTuiResult {\n const mounted = mountFresco(root, options);\n const frames: string[] = [];\n const frameSnapshots: FrescoFrameSnapshot[] = [];\n const renderedStaticItems = new Map<number, number>();\n let staticOutput = \"\";\n\n const captureFrame = () => {\n staticOutput = appendOutput(\n staticOutput,\n captureStaticOutput(mounted.root, renderedStaticItems),\n );\n const snapshot: FrescoFrameSnapshot = {\n output: renderFrame(mounted.root, staticOutput),\n screenReaderOutput: treeToScreenReaderString(mounted.root),\n tree: toTreeSnapshot(mounted.root),\n protocolNodes: protocolSnapshot(mounted.root),\n };\n frames.push(snapshot.output);\n frameSnapshots.push(snapshot);\n return snapshot;\n };\n\n const recordAfter = async (dispatch: Promise<void>) => {\n await dispatch;\n return captureFrame();\n };\n\n const input: FrescoInputDriver = {\n key: (event) => recordAfter(dispatchKey(event)),\n async text(text) {\n for (const char of text) {\n await dispatchKey({ char });\n }\n return captureFrame();\n },\n paste: (text) => recordAfter(dispatchPaste(text)),\n resize: (width, height) => recordAfter(dispatchResize(mounted, width, height)),\n mouse: (event) => recordAfter(dispatchMouse(event)),\n focus: (focused) => recordAfter(dispatchFocus(focused)),\n compositionStart: (text = \"\", cursor = 0) =>\n recordAfter(dispatchComposition(\"compositionstart\", text, cursor)),\n compositionUpdate: (text, cursor) =>\n recordAfter(dispatchComposition(\"compositionupdate\", text, cursor)),\n compositionEnd: (text, cursor = text.length) =>\n recordAfter(dispatchComposition(\"compositionend\", text, cursor)),\n };\n\n captureFrame();\n\n return {\n ...mounted,\n frames,\n frameSnapshots,\n input,\n captureFrame,\n lastFrame: () => latestSnapshot(frameSnapshots).output,\n frameSnapshot: () => latestSnapshot(frameSnapshots),\n };\n}\n"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { F as isScreenReaderEnabledByDefault, P as SCREEN_READER_KEY, T as useStreamsContext, a as lastMouseEvent, g as updateLastRenderLayouts, i as lastKeyEvent, m as getLastRenderLayout, n as lastCompositionEvent, o as lastPasteEvent } from "./app-
|
|
1
|
+
import { F as isScreenReaderEnabledByDefault, P as SCREEN_READER_KEY, T as useStreamsContext, a as lastMouseEvent, g as updateLastRenderLayouts, i as lastKeyEvent, m as getLastRenderLayout, n as lastCompositionEvent, o as lastPasteEvent } from "./app-CjfLCWic.mjs";
|
|
2
2
|
import { computed, inject, isRef, onMounted, onUnmounted, reactive, ref, watch } from "vue";
|
|
3
3
|
//#region src/composables/useIsScreenReaderEnabled.ts
|
|
4
4
|
/**
|
|
@@ -385,4 +385,4 @@ function useBoxMetrics(ref) {
|
|
|
385
385
|
//#endregion
|
|
386
386
|
export { useInput as a, useIsScreenReaderEnabled as c, useMouse as i, createVirtualViewport as n, useKeyPress as o, useVirtualViewport as r, usePaste as s, useBoxMetrics as t };
|
|
387
387
|
|
|
388
|
-
//# sourceMappingURL=useBoxMetrics-
|
|
388
|
+
//# sourceMappingURL=useBoxMetrics-BMD1acRU.mjs.map
|