@vizejs/fresco 0.380.0 → 0.384.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.
@@ -1,4 +1,4 @@
1
- import { E as useFocusManager, T as useFocus, b as useStdin, g as useCursor, k as useApp, x as useStdout, y as useStderr } from "../app-D_Ke7C8w.mjs";
2
- import { i as useIsScreenReaderEnabled, n as useKeyPress, r as usePaste, t as useInput } from "../useInput-BpH-JIU3.mjs";
3
- import { i as useIme, n as useAnimation, r as useWindowSize, t as useBoxMetrics } from "../composables-Da3c5pxz.mjs";
1
+ import { A as useApp, D as useFocusManager, E as useFocus, S as useStdout, _ as useCursor, b as useStderr, x as useStdin } from "../app-BFoESJ4g.mjs";
2
+ import { i as useIsScreenReaderEnabled, n as useKeyPress, r as usePaste, t as useInput } from "../useInput-DLlmSFXF.mjs";
3
+ import { i as useIme, n as useAnimation, r as useWindowSize, t as useBoxMetrics } from "../composables-B8W4GFdO.mjs";
4
4
  export { useAnimation, useApp, useBoxMetrics, useCursor, useFocus, useFocusManager, useIme, useInput, useIsScreenReaderEnabled, useKeyPress, usePaste, useStderr, useStdin, useStdout, useWindowSize };
@@ -1,5 +1,5 @@
1
- import { d as getLastRenderLayout, k as useApp, p as updateLastRenderLayouts } from "./app-D_Ke7C8w.mjs";
2
- import "./useInput-BpH-JIU3.mjs";
1
+ import { A as useApp, f as getLastRenderLayout, m as updateLastRenderLayouts } from "./app-BFoESJ4g.mjs";
2
+ import "./useInput-DLlmSFXF.mjs";
3
3
  import { computed, onMounted, onUnmounted, reactive, ref, watch } from "@vue/runtime-core";
4
4
  //#region src/composables/useIme.ts
5
5
  /**
@@ -316,4 +316,4 @@ function useBoxMetrics(ref) {
316
316
  //#endregion
317
317
  export { useIme as i, useAnimation as n, useWindowSize as r, useBoxMetrics as t };
318
318
 
319
- //# sourceMappingURL=composables-Da3c5pxz.mjs.map
319
+ //# sourceMappingURL=composables-B8W4GFdO.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"composables-Da3c5pxz.mjs","names":[],"sources":["../src/composables/useIme.ts","../src/composables/useWindowSize.ts","../src/composables/useAnimation.ts","../src/composables/useBoxMetrics.ts"],"sourcesContent":["/**\n * useIme - IME (Input Method Editor) composable\n */\n\nimport { ref, computed, type Ref } from \"@vue/runtime-core\";\n\nexport interface UseImeOptions {\n /** Initial IME mode */\n mode?: ImeMode;\n /** Called when IME mode changes */\n onModeChange?: (mode: ImeMode) => void;\n /** Called when composition updates */\n onCompositionUpdate?: (text: string, cursor: number) => void;\n /** Called when text is committed */\n onCommit?: (text: string) => void;\n}\n\nexport type ImeMode =\n | \"direct\"\n | \"hiragana\"\n | \"katakana\"\n | \"half-katakana\"\n | \"full-alpha\"\n | \"pinyin\"\n | \"hangul\";\n\nexport interface ImeManager {\n /** Whether IME is active */\n isActive: Ref<boolean>;\n /** Current input mode */\n mode: Ref<ImeMode>;\n /** Whether currently composing */\n isComposing: Ref<boolean>;\n /** Preedit text */\n preedit: Ref<string>;\n /** Cursor position in preedit */\n preeditCursor: Ref<number>;\n /** Candidate list */\n candidates: Ref<string[]>;\n /** Selected candidate index */\n selectedCandidate: Ref<number>;\n /** Mode display name */\n modeDisplay: Ref<string>;\n /** Enable IME */\n enable: () => void;\n /** Disable IME */\n disable: () => void;\n /** Set input mode */\n setMode: (mode: ImeMode) => void;\n /** Handle key event for IME */\n handleKey: (key: string, modifiers: { ctrl: boolean; alt: boolean }) => boolean;\n /** Commit current composition */\n commit: () => void;\n /** Cancel current composition */\n cancel: () => void;\n /** Select next candidate */\n nextCandidate: () => void;\n /** Select previous candidate */\n prevCandidate: () => void;\n /** Select candidate by number (1-9) */\n selectCandidate: (num: number) => void;\n}\n\nconst MODE_DISPLAY: Record<ImeMode, string> = {\n direct: \"A\",\n hiragana: \"あ\",\n katakana: \"ア\",\n \"half-katakana\": \"ア\",\n \"full-alpha\": \"A\",\n pinyin: \"拼\",\n hangul: \"한\",\n};\n\nexport function useIme(options: UseImeOptions = {}): ImeManager {\n const { mode: initialMode = \"direct\", onModeChange, onCompositionUpdate, onCommit } = options;\n\n const isActive = ref(false);\n const mode = ref<ImeMode>(initialMode);\n const isComposing = ref(false);\n const preedit = ref(\"\");\n const preeditCursor = ref(0);\n const candidates = ref<string[]>([]);\n const selectedCandidate = ref(0);\n\n const modeDisplay = computed(() => MODE_DISPLAY[mode.value] ?? \"A\");\n\n const enable = () => {\n isActive.value = true;\n };\n\n const disable = () => {\n isActive.value = false;\n cancel();\n };\n\n const setMode = (newMode: ImeMode) => {\n if (mode.value !== newMode) {\n cancel();\n mode.value = newMode;\n onModeChange?.(newMode);\n }\n };\n\n const handleKey = (key: string, modifiers: { ctrl: boolean; alt: boolean }): boolean => {\n if (!isActive.value || mode.value === \"direct\") {\n return false;\n }\n\n // IME mode toggle (usually Ctrl+Space or similar)\n // If we're here, mode is not 'direct' (filtered above), so toggle to 'direct'\n if (modifiers.ctrl && key === \" \") {\n setMode(\"direct\");\n return true;\n }\n\n // Handle composition\n if (isComposing.value) {\n switch (key) {\n case \"enter\":\n commit();\n return true;\n case \"escape\":\n cancel();\n return true;\n case \"backspace\":\n if (preedit.value.length > 0) {\n preedit.value = preedit.value.slice(0, -1);\n preeditCursor.value = Math.min(preeditCursor.value, preedit.value.length);\n onCompositionUpdate?.(preedit.value, preeditCursor.value);\n return true;\n }\n break;\n case \"space\":\n // Convert / select candidate\n if (candidates.value.length > 0) {\n nextCandidate();\n return true;\n }\n break;\n }\n\n // Number for candidate selection\n if (/^[1-9]$/.test(key)) {\n selectCandidate(parseInt(key, 10));\n return true;\n }\n }\n\n // Start/continue composition for printable characters\n if (key.length === 1 && !modifiers.ctrl && !modifiers.alt) {\n if (!isComposing.value) {\n isComposing.value = true;\n }\n preedit.value += key;\n preeditCursor.value = preedit.value.length;\n onCompositionUpdate?.(preedit.value, preeditCursor.value);\n return true;\n }\n\n return false;\n };\n\n const commit = () => {\n if (preedit.value) {\n const text = candidates.value[selectedCandidate.value] ?? preedit.value;\n onCommit?.(text);\n }\n preedit.value = \"\";\n preeditCursor.value = 0;\n candidates.value = [];\n selectedCandidate.value = 0;\n isComposing.value = false;\n };\n\n const cancel = () => {\n preedit.value = \"\";\n preeditCursor.value = 0;\n candidates.value = [];\n selectedCandidate.value = 0;\n isComposing.value = false;\n };\n\n const nextCandidate = () => {\n if (candidates.value.length > 0) {\n selectedCandidate.value = (selectedCandidate.value + 1) % candidates.value.length;\n }\n };\n\n const prevCandidate = () => {\n if (candidates.value.length > 0) {\n selectedCandidate.value =\n (selectedCandidate.value - 1 + candidates.value.length) % candidates.value.length;\n }\n };\n\n const selectCandidate = (num: number) => {\n if (num >= 1 && num <= candidates.value.length) {\n selectedCandidate.value = num - 1;\n commit();\n }\n };\n\n return {\n isActive,\n mode,\n isComposing,\n preedit,\n preeditCursor,\n candidates,\n selectedCandidate,\n modeDisplay,\n enable,\n disable,\n setMode,\n handleKey,\n commit,\n cancel,\n nextCandidate,\n prevCandidate,\n selectCandidate,\n };\n}\n","/**\n * useWindowSize - terminal dimensions.\n */\n\nimport { reactive } from \"@vue/runtime-core\";\nimport { useApp } from \"./useApp.js\";\n\nexport interface WindowSize {\n columns: number;\n rows: number;\n}\n\nexport function useWindowSize() {\n const { width, height } = useApp();\n\n return reactive({\n get columns() {\n return width.value;\n },\n get rows() {\n return height.value;\n },\n }) as WindowSize;\n}\n","/**\n * useAnimation - Ink-compatible shared animation state.\n */\n\nimport { computed, onMounted, onUnmounted, reactive, watch } from \"@vue/runtime-core\";\n\nexport interface UseAnimationOptions {\n /** Time between ticks in milliseconds */\n interval?: number;\n /** Whether the animation is running */\n isActive?: boolean;\n}\n\nexport interface AnimationResult {\n frame: number;\n time: number;\n delta: number;\n reset: () => void;\n}\n\nconst defaultAnimationInterval = 100;\nconst maximumTimerInterval = 2_147_483_647;\n\ntype AnimationCallback = (currentTime: number) => void;\n\ninterface AnimationSubscriber {\n callback: AnimationCallback;\n interval: number;\n startTime: number;\n nextDueTime: number;\n}\n\nconst animationSubscribers = new Map<AnimationCallback, AnimationSubscriber>();\nlet animationTimer: ReturnType<typeof setTimeout> | null = null;\n\nfunction currentTime(): number {\n return performance.now();\n}\n\nfunction normalizeAnimationInterval(interval: number): number {\n if (!Number.isFinite(interval)) {\n return defaultAnimationInterval;\n }\n\n return Math.min(maximumTimerInterval, Math.max(1, interval));\n}\n\nfunction clearAnimationTimer() {\n if (!animationTimer) return;\n clearTimeout(animationTimer);\n animationTimer = null;\n}\n\nfunction scheduleAnimationTick() {\n clearAnimationTimer();\n if (animationSubscribers.size === 0) return;\n\n let nextDueTime = Number.POSITIVE_INFINITY;\n for (const subscriber of animationSubscribers.values()) {\n nextDueTime = Math.min(nextDueTime, subscriber.nextDueTime);\n }\n\n animationTimer = setTimeout(\n () => {\n animationTimer = null;\n const now = currentTime();\n\n for (const subscriber of animationSubscribers.values()) {\n if (now < subscriber.nextDueTime) continue;\n\n subscriber.callback(now);\n\n const elapsedTime = now - subscriber.startTime;\n const elapsedFrames = Math.floor(elapsedTime / subscriber.interval) + 1;\n subscriber.nextDueTime = subscriber.startTime + elapsedFrames * subscriber.interval;\n }\n\n scheduleAnimationTick();\n },\n Math.max(0, nextDueTime - currentTime()),\n );\n}\n\nfunction subscribeToAnimation(callback: AnimationCallback, interval: number) {\n const startTime = currentTime();\n animationSubscribers.set(callback, {\n callback,\n interval,\n startTime,\n nextDueTime: startTime + interval,\n });\n scheduleAnimationTick();\n\n return {\n startTime,\n unsubscribe() {\n animationSubscribers.delete(callback);\n scheduleAnimationTick();\n },\n };\n}\n\nexport function useAnimation(options: UseAnimationOptions = {}): AnimationResult {\n const safeInterval = computed(() =>\n normalizeAnimationInterval(options.interval ?? defaultAnimationInterval),\n );\n const active = computed(() => options.isActive ?? true);\n let unsubscribe: (() => void) | null = null;\n let startedAt = currentTime();\n let previousTick = startedAt;\n\n const state = reactive<AnimationResult>({\n frame: 0,\n time: 0,\n delta: 0,\n reset: () => {\n if (active.value) {\n start();\n } else {\n resetState(currentTime());\n }\n },\n });\n\n const resetState = (now: number) => {\n startedAt = now;\n previousTick = now;\n state.frame = 0;\n state.time = 0;\n state.delta = 0;\n };\n\n const tick = (now: number) => {\n const elapsed = now - startedAt;\n state.frame = Math.floor(elapsed / safeInterval.value);\n state.time = elapsed;\n state.delta = now - previousTick;\n previousTick = now;\n };\n\n const stop = () => {\n unsubscribe?.();\n unsubscribe = null;\n };\n\n const start = () => {\n stop();\n resetState(currentTime());\n const subscription = subscribeToAnimation(tick, safeInterval.value);\n startedAt = subscription.startTime;\n previousTick = subscription.startTime;\n unsubscribe = () => subscription.unsubscribe();\n };\n\n onMounted(() => {\n if (active.value) {\n start();\n }\n });\n\n watch([active, safeInterval], ([isActive]) => {\n if (isActive) {\n start();\n } else {\n stop();\n }\n });\n\n onUnmounted(stop);\n\n return state;\n}\n","/**\n * useBoxMetrics - best-effort layout metrics for a rendered Fresco node.\n */\n\nimport { onMounted, onUnmounted, reactive, type Ref } from \"@vue/runtime-core\";\nimport { getLastRenderLayout, updateLastRenderLayouts, type DOMElement } from \"../layoutMetrics.js\";\n\nexport interface BoxMetrics {\n width: number;\n height: number;\n left: number;\n top: number;\n}\n\nexport interface UseBoxMetricsResult extends BoxMetrics {\n hasMeasured: boolean;\n}\n\nexport type MetricTarget = DOMElement;\n\nasync function loadNative() {\n return import(\"@vizejs/fresco-native\");\n}\n\nfunction targetId(target: MetricTarget | null | undefined): number | undefined {\n return target?.id ?? target?.$el?.id;\n}\n\nexport function useBoxMetrics(ref: Ref<MetricTarget | null>): UseBoxMetricsResult {\n const metrics = reactive<UseBoxMetricsResult>({\n width: 0,\n height: 0,\n left: 0,\n top: 0,\n hasMeasured: false,\n });\n\n let timer: ReturnType<typeof setInterval> | null = null;\n\n const refresh = () => {\n const id = targetId(ref.value);\n if (id === undefined) {\n metrics.width = 0;\n metrics.height = 0;\n metrics.left = 0;\n metrics.top = 0;\n metrics.hasMeasured = false;\n return;\n }\n\n void loadNative()\n .then((native) => {\n const layouts = \"getLastRenderLayouts\" in native ? native.getLastRenderLayouts() : [];\n updateLastRenderLayouts(layouts);\n const layout = layouts.find((item: { id: number }) => item.id === id);\n if (!layout) return;\n\n metrics.width = layout.width;\n metrics.height = layout.height;\n metrics.left = layout.x;\n metrics.top = layout.y;\n metrics.hasMeasured = true;\n })\n .catch(() => {});\n };\n\n onMounted(() => {\n const layout = getLastRenderLayout(ref.value);\n if (layout) {\n metrics.width = layout.width;\n metrics.height = layout.height;\n metrics.left = layout.x;\n metrics.top = layout.y;\n metrics.hasMeasured = true;\n }\n\n refresh();\n timer = setInterval(refresh, 100);\n });\n\n onUnmounted(() => {\n if (timer) clearInterval(timer);\n });\n\n return metrics;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"composables-B8W4GFdO.mjs","names":[],"sources":["../src/composables/useIme.ts","../src/composables/useWindowSize.ts","../src/composables/useAnimation.ts","../src/composables/useBoxMetrics.ts"],"sourcesContent":["/**\n * useIme - IME (Input Method Editor) composable\n */\n\nimport { ref, computed, type Ref } from \"@vue/runtime-core\";\n\nexport interface UseImeOptions {\n /** Initial IME mode */\n mode?: ImeMode;\n /** Called when IME mode changes */\n onModeChange?: (mode: ImeMode) => void;\n /** Called when composition updates */\n onCompositionUpdate?: (text: string, cursor: number) => void;\n /** Called when text is committed */\n onCommit?: (text: string) => void;\n}\n\nexport type ImeMode =\n | \"direct\"\n | \"hiragana\"\n | \"katakana\"\n | \"half-katakana\"\n | \"full-alpha\"\n | \"pinyin\"\n | \"hangul\";\n\nexport interface ImeManager {\n /** Whether IME is active */\n isActive: Ref<boolean>;\n /** Current input mode */\n mode: Ref<ImeMode>;\n /** Whether currently composing */\n isComposing: Ref<boolean>;\n /** Preedit text */\n preedit: Ref<string>;\n /** Cursor position in preedit */\n preeditCursor: Ref<number>;\n /** Candidate list */\n candidates: Ref<string[]>;\n /** Selected candidate index */\n selectedCandidate: Ref<number>;\n /** Mode display name */\n modeDisplay: Ref<string>;\n /** Enable IME */\n enable: () => void;\n /** Disable IME */\n disable: () => void;\n /** Set input mode */\n setMode: (mode: ImeMode) => void;\n /** Handle key event for IME */\n handleKey: (key: string, modifiers: { ctrl: boolean; alt: boolean }) => boolean;\n /** Commit current composition */\n commit: () => void;\n /** Cancel current composition */\n cancel: () => void;\n /** Select next candidate */\n nextCandidate: () => void;\n /** Select previous candidate */\n prevCandidate: () => void;\n /** Select candidate by number (1-9) */\n selectCandidate: (num: number) => void;\n}\n\nconst MODE_DISPLAY: Record<ImeMode, string> = {\n direct: \"A\",\n hiragana: \"あ\",\n katakana: \"ア\",\n \"half-katakana\": \"ア\",\n \"full-alpha\": \"A\",\n pinyin: \"拼\",\n hangul: \"한\",\n};\n\nexport function useIme(options: UseImeOptions = {}): ImeManager {\n const { mode: initialMode = \"direct\", onModeChange, onCompositionUpdate, onCommit } = options;\n\n const isActive = ref(false);\n const mode = ref<ImeMode>(initialMode);\n const isComposing = ref(false);\n const preedit = ref(\"\");\n const preeditCursor = ref(0);\n const candidates = ref<string[]>([]);\n const selectedCandidate = ref(0);\n\n const modeDisplay = computed(() => MODE_DISPLAY[mode.value] ?? \"A\");\n\n const enable = () => {\n isActive.value = true;\n };\n\n const disable = () => {\n isActive.value = false;\n cancel();\n };\n\n const setMode = (newMode: ImeMode) => {\n if (mode.value !== newMode) {\n cancel();\n mode.value = newMode;\n onModeChange?.(newMode);\n }\n };\n\n const handleKey = (key: string, modifiers: { ctrl: boolean; alt: boolean }): boolean => {\n if (!isActive.value || mode.value === \"direct\") {\n return false;\n }\n\n // IME mode toggle (usually Ctrl+Space or similar)\n // If we're here, mode is not 'direct' (filtered above), so toggle to 'direct'\n if (modifiers.ctrl && key === \" \") {\n setMode(\"direct\");\n return true;\n }\n\n // Handle composition\n if (isComposing.value) {\n switch (key) {\n case \"enter\":\n commit();\n return true;\n case \"escape\":\n cancel();\n return true;\n case \"backspace\":\n if (preedit.value.length > 0) {\n preedit.value = preedit.value.slice(0, -1);\n preeditCursor.value = Math.min(preeditCursor.value, preedit.value.length);\n onCompositionUpdate?.(preedit.value, preeditCursor.value);\n return true;\n }\n break;\n case \"space\":\n // Convert / select candidate\n if (candidates.value.length > 0) {\n nextCandidate();\n return true;\n }\n break;\n }\n\n // Number for candidate selection\n if (/^[1-9]$/.test(key)) {\n selectCandidate(parseInt(key, 10));\n return true;\n }\n }\n\n // Start/continue composition for printable characters\n if (key.length === 1 && !modifiers.ctrl && !modifiers.alt) {\n if (!isComposing.value) {\n isComposing.value = true;\n }\n preedit.value += key;\n preeditCursor.value = preedit.value.length;\n onCompositionUpdate?.(preedit.value, preeditCursor.value);\n return true;\n }\n\n return false;\n };\n\n const commit = () => {\n if (preedit.value) {\n const text = candidates.value[selectedCandidate.value] ?? preedit.value;\n onCommit?.(text);\n }\n preedit.value = \"\";\n preeditCursor.value = 0;\n candidates.value = [];\n selectedCandidate.value = 0;\n isComposing.value = false;\n };\n\n const cancel = () => {\n preedit.value = \"\";\n preeditCursor.value = 0;\n candidates.value = [];\n selectedCandidate.value = 0;\n isComposing.value = false;\n };\n\n const nextCandidate = () => {\n if (candidates.value.length > 0) {\n selectedCandidate.value = (selectedCandidate.value + 1) % candidates.value.length;\n }\n };\n\n const prevCandidate = () => {\n if (candidates.value.length > 0) {\n selectedCandidate.value =\n (selectedCandidate.value - 1 + candidates.value.length) % candidates.value.length;\n }\n };\n\n const selectCandidate = (num: number) => {\n if (num >= 1 && num <= candidates.value.length) {\n selectedCandidate.value = num - 1;\n commit();\n }\n };\n\n return {\n isActive,\n mode,\n isComposing,\n preedit,\n preeditCursor,\n candidates,\n selectedCandidate,\n modeDisplay,\n enable,\n disable,\n setMode,\n handleKey,\n commit,\n cancel,\n nextCandidate,\n prevCandidate,\n selectCandidate,\n };\n}\n","/**\n * useWindowSize - terminal dimensions.\n */\n\nimport { reactive } from \"@vue/runtime-core\";\nimport { useApp } from \"./useApp.js\";\n\nexport interface WindowSize {\n columns: number;\n rows: number;\n}\n\nexport function useWindowSize() {\n const { width, height } = useApp();\n\n return reactive({\n get columns() {\n return width.value;\n },\n get rows() {\n return height.value;\n },\n }) as WindowSize;\n}\n","/**\n * useAnimation - Ink-compatible shared animation state.\n */\n\nimport { computed, onMounted, onUnmounted, reactive, watch } from \"@vue/runtime-core\";\n\nexport interface UseAnimationOptions {\n /** Time between ticks in milliseconds */\n interval?: number;\n /** Whether the animation is running */\n isActive?: boolean;\n}\n\nexport interface AnimationResult {\n frame: number;\n time: number;\n delta: number;\n reset: () => void;\n}\n\nconst defaultAnimationInterval = 100;\nconst maximumTimerInterval = 2_147_483_647;\n\ntype AnimationCallback = (currentTime: number) => void;\n\ninterface AnimationSubscriber {\n callback: AnimationCallback;\n interval: number;\n startTime: number;\n nextDueTime: number;\n}\n\nconst animationSubscribers = new Map<AnimationCallback, AnimationSubscriber>();\nlet animationTimer: ReturnType<typeof setTimeout> | null = null;\n\nfunction currentTime(): number {\n return performance.now();\n}\n\nfunction normalizeAnimationInterval(interval: number): number {\n if (!Number.isFinite(interval)) {\n return defaultAnimationInterval;\n }\n\n return Math.min(maximumTimerInterval, Math.max(1, interval));\n}\n\nfunction clearAnimationTimer() {\n if (!animationTimer) return;\n clearTimeout(animationTimer);\n animationTimer = null;\n}\n\nfunction scheduleAnimationTick() {\n clearAnimationTimer();\n if (animationSubscribers.size === 0) return;\n\n let nextDueTime = Number.POSITIVE_INFINITY;\n for (const subscriber of animationSubscribers.values()) {\n nextDueTime = Math.min(nextDueTime, subscriber.nextDueTime);\n }\n\n animationTimer = setTimeout(\n () => {\n animationTimer = null;\n const now = currentTime();\n\n for (const subscriber of animationSubscribers.values()) {\n if (now < subscriber.nextDueTime) continue;\n\n subscriber.callback(now);\n\n const elapsedTime = now - subscriber.startTime;\n const elapsedFrames = Math.floor(elapsedTime / subscriber.interval) + 1;\n subscriber.nextDueTime = subscriber.startTime + elapsedFrames * subscriber.interval;\n }\n\n scheduleAnimationTick();\n },\n Math.max(0, nextDueTime - currentTime()),\n );\n}\n\nfunction subscribeToAnimation(callback: AnimationCallback, interval: number) {\n const startTime = currentTime();\n animationSubscribers.set(callback, {\n callback,\n interval,\n startTime,\n nextDueTime: startTime + interval,\n });\n scheduleAnimationTick();\n\n return {\n startTime,\n unsubscribe() {\n animationSubscribers.delete(callback);\n scheduleAnimationTick();\n },\n };\n}\n\nexport function useAnimation(options: UseAnimationOptions = {}): AnimationResult {\n const safeInterval = computed(() =>\n normalizeAnimationInterval(options.interval ?? defaultAnimationInterval),\n );\n const active = computed(() => options.isActive ?? true);\n let unsubscribe: (() => void) | null = null;\n let startedAt = currentTime();\n let previousTick = startedAt;\n\n const state = reactive<AnimationResult>({\n frame: 0,\n time: 0,\n delta: 0,\n reset: () => {\n if (active.value) {\n start();\n } else {\n resetState(currentTime());\n }\n },\n });\n\n const resetState = (now: number) => {\n startedAt = now;\n previousTick = now;\n state.frame = 0;\n state.time = 0;\n state.delta = 0;\n };\n\n const tick = (now: number) => {\n const elapsed = now - startedAt;\n state.frame = Math.floor(elapsed / safeInterval.value);\n state.time = elapsed;\n state.delta = now - previousTick;\n previousTick = now;\n };\n\n const stop = () => {\n unsubscribe?.();\n unsubscribe = null;\n };\n\n const start = () => {\n stop();\n resetState(currentTime());\n const subscription = subscribeToAnimation(tick, safeInterval.value);\n startedAt = subscription.startTime;\n previousTick = subscription.startTime;\n unsubscribe = () => subscription.unsubscribe();\n };\n\n onMounted(() => {\n if (active.value) {\n start();\n }\n });\n\n watch([active, safeInterval], ([isActive]) => {\n if (isActive) {\n start();\n } else {\n stop();\n }\n });\n\n onUnmounted(stop);\n\n return state;\n}\n","/**\n * useBoxMetrics - best-effort layout metrics for a rendered Fresco node.\n */\n\nimport { onMounted, onUnmounted, reactive, type Ref } from \"@vue/runtime-core\";\nimport { getLastRenderLayout, updateLastRenderLayouts, type DOMElement } from \"../layoutMetrics.js\";\n\nexport interface BoxMetrics {\n width: number;\n height: number;\n left: number;\n top: number;\n}\n\nexport interface UseBoxMetricsResult extends BoxMetrics {\n hasMeasured: boolean;\n}\n\nexport type MetricTarget = DOMElement;\n\nasync function loadNative() {\n return import(\"@vizejs/fresco-native\");\n}\n\nfunction targetId(target: MetricTarget | null | undefined): number | undefined {\n return target?.id ?? target?.$el?.id;\n}\n\nexport function useBoxMetrics(ref: Ref<MetricTarget | null>): UseBoxMetricsResult {\n const metrics = reactive<UseBoxMetricsResult>({\n width: 0,\n height: 0,\n left: 0,\n top: 0,\n hasMeasured: false,\n });\n\n let timer: ReturnType<typeof setInterval> | null = null;\n\n const refresh = () => {\n const id = targetId(ref.value);\n if (id === undefined) {\n metrics.width = 0;\n metrics.height = 0;\n metrics.left = 0;\n metrics.top = 0;\n metrics.hasMeasured = false;\n return;\n }\n\n void loadNative()\n .then((native) => {\n const layouts = \"getLastRenderLayouts\" in native ? native.getLastRenderLayouts() : [];\n updateLastRenderLayouts(layouts);\n const layout = layouts.find((item: { id: number }) => item.id === id);\n if (!layout) return;\n\n metrics.width = layout.width;\n metrics.height = layout.height;\n metrics.left = layout.x;\n metrics.top = layout.y;\n metrics.hasMeasured = true;\n })\n .catch(() => {});\n };\n\n onMounted(() => {\n const layout = getLastRenderLayout(ref.value);\n if (layout) {\n metrics.width = layout.width;\n metrics.height = layout.height;\n metrics.left = layout.x;\n metrics.top = layout.y;\n metrics.hasMeasured = true;\n }\n\n refresh();\n timer = setInterval(refresh, 100);\n });\n\n onUnmounted(() => {\n if (timer) clearInterval(timer);\n });\n\n return metrics;\n}\n"],"mappings":"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"}
@@ -1,10 +1,6 @@
1
- import { O as FrescoStyle, f as FrescoCanonicalStyle, l as FrescoAppearance, p as FrescoDimension, u as FrescoBorderStyle } from "./renderer-DWG0G3g8.mjs";
2
- import { PropType, Ref, VNode } from "@vue/runtime-core";
1
+ import { A as FrescoStyle, d as FrescoAppearance, f as FrescoBorderStyle, h as FrescoDimension, m as FrescoCanonicalStyle, n as AriaState, t as AriaRole } from "./accessibility-Ca6moS43.mjs";
2
+ import { PropType, VNode } from "@vue/runtime-core";
3
3
 
4
- //#region src/accessibility.d.ts
5
- type AriaRole = "button" | "checkbox" | "combobox" | "list" | "listbox" | "listitem" | "menu" | "menuitem" | "option" | "progressbar" | "radio" | "radiogroup" | "tab" | "tablist" | "table" | "textbox" | "timer" | "toolbar";
6
- type AriaState = Partial<Record<"busy" | "checked" | "disabled" | "expanded" | "multiline" | "multiselectable" | "readonly" | "required" | "selected", boolean>>;
7
- //#endregion
8
4
  //#region src/components/Box.d.ts
9
5
  type BorderStyleName = FrescoBorderStyle | "round" | "bold";
10
6
  interface BoxProps extends FrescoCanonicalStyle {
@@ -203,7 +199,6 @@ declare const Box: import("@vue/runtime-core").DefineComponent<import("@vue/runt
203
199
  ariaRole: PropType<BoxProps["aria-role"]>;
204
200
  ariaState: PropType<BoxProps["aria-state"]>;
205
201
  }>> & Readonly<{}>, {
206
- ariaHidden: boolean;
207
202
  borderTop: boolean;
208
203
  borderRight: boolean;
209
204
  borderBottom: boolean;
@@ -213,6 +208,7 @@ declare const Box: import("@vue/runtime-core").DefineComponent<import("@vue/runt
213
208
  borderRightDimColor: boolean;
214
209
  borderBottomDimColor: boolean;
215
210
  borderLeftDimColor: boolean;
211
+ ariaHidden: boolean;
216
212
  }, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, true, {}, any>;
217
213
  //#endregion
218
214
  //#region src/components/Spacer.d.ts
@@ -326,10 +322,10 @@ declare const Stack: import("@vue/runtime-core").DefineComponent<import("@vue/ru
326
322
  };
327
323
  }>> & Readonly<{}>, {
328
324
  wrap: boolean;
329
- direction: "horizontal" | "vertical";
330
- align: "end" | "center" | "start" | "stretch" | undefined;
331
- justify: "end" | "center" | "start" | "between" | "around" | "evenly" | undefined;
332
325
  gap: number;
326
+ align: "start" | "end" | "center" | "stretch" | undefined;
327
+ justify: "start" | "end" | "center" | "between" | "around" | "evenly" | undefined;
328
+ direction: "horizontal" | "vertical";
333
329
  }, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, true, {}, any>;
334
330
  declare const HStack: import("@vue/runtime-core").DefineComponent<import("@vue/runtime-core").ExtractPropTypes<{
335
331
  gap: {
@@ -468,9 +464,9 @@ declare const Card: import("@vue/runtime-core").DefineComponent<import("@vue/run
468
464
  borderFg: StringConstructor;
469
465
  bg: StringConstructor;
470
466
  }>> & Readonly<{}>, {
471
- titleFg: string;
472
467
  border: "none" | "single" | "double" | "rounded" | "heavy" | undefined;
473
468
  padding: number;
469
+ titleFg: string;
474
470
  }, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, true, {}, any>;
475
471
  //#endregion
476
472
  //#region src/components/Text.d.ts
@@ -530,7 +526,9 @@ declare const Text: import("@vue/runtime-core").DefineComponent<import("@vue/run
530
526
  ariaLabel: StringConstructor;
531
527
  ariaHidden: BooleanConstructor;
532
528
  }>> & Readonly<{}>, {
529
+ hidden: boolean;
533
530
  bold: boolean;
531
+ ariaHidden: boolean;
534
532
  dim: boolean;
535
533
  dimColor: boolean;
536
534
  italic: boolean;
@@ -538,8 +536,6 @@ declare const Text: import("@vue/runtime-core").DefineComponent<import("@vue/run
538
536
  strikethrough: boolean;
539
537
  inverse: boolean;
540
538
  blink: boolean;
541
- hidden: boolean;
542
- ariaHidden: boolean;
543
539
  }, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, true, {}, any>;
544
540
  //#endregion
545
541
  //#region src/components/Newline.d.ts
@@ -708,8 +704,8 @@ declare const Code: import("@vue/runtime-core").DefineComponent<import("@vue/run
708
704
  default: string;
709
705
  };
710
706
  }>> & Readonly<{}>, {
711
- fg: string;
712
707
  border: "none" | "single" | "double" | "rounded" | undefined;
708
+ fg: string;
713
709
  lineNumbers: boolean;
714
710
  lineNumberFg: string;
715
711
  startLine: number;
@@ -842,7 +838,7 @@ declare const TextInput: import("@vue/runtime-core").DefineComponent<import("@vu
842
838
  bg: StringConstructor;
843
839
  }>, () => import("@vue/runtime-core").VNode<import("@vue/runtime-core").RendererNode, import("@vue/runtime-core").RendererElement, {
844
840
  [key: string]: any;
845
- }>, {}, {}, {}, import("@vue/runtime-core").ComponentOptionsMixin, import("@vue/runtime-core").ComponentOptionsMixin, ("update:modelValue" | "submit" | "cancel" | "compositionstart" | "compositionupdate" | "compositionend")[], "update:modelValue" | "submit" | "cancel" | "compositionstart" | "compositionupdate" | "compositionend", import("@vue/runtime-core").PublicProps, Readonly<import("@vue/runtime-core").ExtractPropTypes<{
841
+ }>, {}, {}, {}, import("@vue/runtime-core").ComponentOptionsMixin, import("@vue/runtime-core").ComponentOptionsMixin, ("update:modelValue" | "cancel" | "submit" | "compositionstart" | "compositionupdate" | "compositionend")[], "update:modelValue" | "cancel" | "submit" | "compositionstart" | "compositionupdate" | "compositionend", import("@vue/runtime-core").PublicProps, Readonly<import("@vue/runtime-core").ExtractPropTypes<{
846
842
  modelValue: {
847
843
  type: StringConstructor;
848
844
  default: string;
@@ -872,8 +868,8 @@ declare const TextInput: import("@vue/runtime-core").DefineComponent<import("@vu
872
868
  bg: StringConstructor;
873
869
  }>> & Readonly<{
874
870
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
875
- onSubmit?: ((...args: any[]) => any) | undefined;
876
871
  onCancel?: ((...args: any[]) => any) | undefined;
872
+ onSubmit?: ((...args: any[]) => any) | undefined;
877
873
  onCompositionstart?: ((...args: any[]) => any) | undefined;
878
874
  onCompositionupdate?: ((...args: any[]) => any) | undefined;
879
875
  onCompositionend?: ((...args: any[]) => any) | undefined;
@@ -1110,9 +1106,9 @@ declare const Select: import("@vue/runtime-core").DefineComponent<import("@vue/r
1110
1106
  }>, {
1111
1107
  placeholder: string;
1112
1108
  focused: boolean;
1109
+ selectedFg: string;
1113
1110
  indicator: string;
1114
1111
  indicatorEmpty: string;
1115
- selectedFg: string;
1116
1112
  }, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, true, {}, any>;
1117
1113
  //#endregion
1118
1114
  //#region src/components/Checkbox.d.ts
@@ -1283,8 +1279,8 @@ declare const RadioGroup: import("@vue/runtime-core").DefineComponent<import("@v
1283
1279
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
1284
1280
  onChange?: ((...args: any[]) => any) | undefined;
1285
1281
  }>, {
1286
- direction: "horizontal" | "vertical";
1287
1282
  selected: string;
1283
+ direction: "horizontal" | "vertical";
1288
1284
  selectedFg: string;
1289
1285
  unselected: string;
1290
1286
  }, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, true, {}, any>;
@@ -1340,7 +1336,7 @@ declare const Confirm: import("@vue/runtime-core").DefineComponent<import("@vue/
1340
1336
  };
1341
1337
  }>, () => import("@vue/runtime-core").VNode<import("@vue/runtime-core").RendererNode, import("@vue/runtime-core").RendererElement, {
1342
1338
  [key: string]: any;
1343
- }>, {}, {}, {}, import("@vue/runtime-core").ComponentOptionsMixin, import("@vue/runtime-core").ComponentOptionsMixin, ("cancel" | "select" | "confirm")[], "cancel" | "select" | "confirm", import("@vue/runtime-core").PublicProps, Readonly<import("@vue/runtime-core").ExtractPropTypes<{
1339
+ }>, {}, {}, {}, import("@vue/runtime-core").ComponentOptionsMixin, import("@vue/runtime-core").ComponentOptionsMixin, ("confirm" | "cancel" | "select")[], "confirm" | "cancel" | "select", import("@vue/runtime-core").PublicProps, Readonly<import("@vue/runtime-core").ExtractPropTypes<{
1344
1340
  message: {
1345
1341
  type: StringConstructor;
1346
1342
  required: true;
@@ -1370,16 +1366,16 @@ declare const Confirm: import("@vue/runtime-core").DefineComponent<import("@vue/
1370
1366
  default: string;
1371
1367
  };
1372
1368
  }>> & Readonly<{
1369
+ onConfirm?: ((...args: any[]) => any) | undefined;
1373
1370
  onCancel?: ((...args: any[]) => any) | undefined;
1374
1371
  onSelect?: ((...args: any[]) => any) | undefined;
1375
- onConfirm?: ((...args: any[]) => any) | undefined;
1376
1372
  }>, {
1377
- selectedFg: string;
1378
1373
  confirmText: string;
1379
1374
  cancelText: string;
1380
1375
  defaultConfirm: boolean;
1381
1376
  confirmFg: string;
1382
1377
  cancelFg: string;
1378
+ selectedFg: string;
1383
1379
  }, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, true, {}, any>;
1384
1380
  //#endregion
1385
1381
  //#region src/components/Form.d.ts
@@ -1703,8 +1699,8 @@ declare const Alert: import("@vue/runtime-core").DefineComponent<import("@vue/ru
1703
1699
  default: string;
1704
1700
  };
1705
1701
  }>> & Readonly<{}>, {
1706
- type: AlertType;
1707
1702
  border: "none" | "single" | "double" | "rounded" | undefined;
1703
+ type: AlertType;
1708
1704
  showIcon: boolean;
1709
1705
  }, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, true, {}, any>;
1710
1706
  //#endregion
@@ -1930,11 +1926,11 @@ declare const Tooltip: import("@vue/runtime-core").DefineComponent<import("@vue/
1930
1926
  default: string;
1931
1927
  };
1932
1928
  }>> & Readonly<{}>, {
1933
- fg: string;
1934
- bg: string;
1935
1929
  position: TooltipPosition;
1936
1930
  visible: boolean;
1937
1931
  border: "none" | "single" | "rounded" | undefined;
1932
+ fg: string;
1933
+ bg: string;
1938
1934
  }, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, true, {}, any>;
1939
1935
  //#endregion
1940
1936
  //#region src/components/List.d.ts
@@ -2020,9 +2016,9 @@ declare const List: import("@vue/runtime-core").DefineComponent<import("@vue/run
2020
2016
  onSelect?: ((...args: any[]) => any) | undefined;
2021
2017
  }>, {
2022
2018
  focused: boolean;
2019
+ selectedFg: string;
2023
2020
  indicator: string;
2024
2021
  indicatorEmpty: string;
2025
- selectedFg: string;
2026
2022
  }, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, true, {}, any>;
2027
2023
  //#endregion
2028
2024
  //#region src/components/Table.d.ts
@@ -2407,8 +2403,8 @@ declare const Tabs: import("@vue/runtime-core").DefineComponent<import("@vue/run
2407
2403
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
2408
2404
  onChange?: ((...args: any[]) => any) | undefined;
2409
2405
  }>, {
2410
- underline: boolean;
2411
2406
  position: "top" | "bottom";
2407
+ underline: boolean;
2412
2408
  separator: string;
2413
2409
  activeFg: string;
2414
2410
  }, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, true, {}, any>;
@@ -2683,9 +2679,9 @@ declare const Modal: import("@vue/runtime-core").DefineComponent<import("@vue/ru
2683
2679
  }>, {
2684
2680
  width: string | number;
2685
2681
  height: string | number;
2686
- titleFg: string;
2687
2682
  visible: boolean;
2688
2683
  border: "single" | "double" | "rounded" | "heavy" | undefined;
2684
+ titleFg: string;
2689
2685
  }, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, true, {}, any>;
2690
2686
  //#endregion
2691
2687
  //#region src/components/StatusBar.d.ts
@@ -2813,8 +2809,8 @@ declare const Header: import("@vue/runtime-core").DefineComponent<import("@vue/r
2813
2809
  default: boolean;
2814
2810
  };
2815
2811
  }>> & Readonly<{}>, {
2816
- titleFg: string;
2817
2812
  borderBottom: boolean;
2813
+ titleFg: string;
2818
2814
  subtitleFg: string;
2819
2815
  }, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, true, {}, any>;
2820
2816
  //#endregion
@@ -2961,11 +2957,11 @@ declare const Avatar: import("@vue/runtime-core").DefineComponent<import("@vue/r
2961
2957
  type: PropType<AvatarProps["status"]>;
2962
2958
  };
2963
2959
  }>> & Readonly<{}>, {
2960
+ border: boolean;
2964
2961
  fg: string;
2965
2962
  bg: string;
2966
2963
  size: "sm" | "md" | "lg";
2967
- border: boolean;
2968
2964
  }, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, true, {}, any>;
2969
2965
  //#endregion
2970
2966
  export { FormProps as $, TableColumn as A, HStack as At, TimerProps as B, Menu as C, NewlineProps as Ct, TreeNode as D, CardProps as Dt, Tree as E, Card as Et, Tooltip as F, DividerProps as Ft, AlertProps as G, BadgeProps as H, TooltipPosition as I, Spacer as It, ProgressBarProps as J, AlertType as K, TooltipProps as L, Box as Lt, List as M, StackProps as Mt, ListItem as N, VStack as Nt, TreeProps as O, Grid as Ot, ListProps as P, Divider as Pt, FormField as Q, Timer as R, BoxProps as Rt, TabsProps as S, Newline as St, MenuProps as T, TextProps as Tt, BadgeVariant as U, Badge as V, Alert as W, SpinnerProps as X, Spinner as Y, Form as Z, Breadcrumb as _, CodeProps as _t, KeyHintProps as a, Checkbox as at, Tab as b, Static as bt, StatusBar as c, SelectOption as ct, Modal as d, TextAreaProps as dt, Confirm as et, ModalProps as f, TextInput as ft, StepperProps as g, Code as gt, Stepper as h, LinkProps as ht, KeyHint as i, RadioOption as it, TableProps as j, Stack as jt, Table as k, GridProps as kt, StatusBarItem as l, SelectProps as lt, StepStatus as m, Link as mt, AvatarProps as n, RadioGroup as nt, Header as o, CheckboxProps as ot, Step as p, TextInputProps as pt, ProgressBar as q, KeyBinding as r, RadioGroupProps as rt, HeaderProps as s, Select as st, Avatar as t, ConfirmProps as tt, StatusBarProps as u, TextArea as ut, BreadcrumbItem as v, Transform as vt, MenuItem as w, Text as wt, Tabs as x, StaticProps as xt, BreadcrumbProps as y, TransformProps as yt, TimerMode as z };
2971
- //# sourceMappingURL=index-CFpYemVK.d.mts.map
2967
+ //# sourceMappingURL=index-Dt9oT2zt.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index-Dt9oT2zt.d.mts","names":[],"sources":["../src/components/Box.ts","../src/components/Spacer.ts","../src/components/Divider.ts","../src/components/Stack.ts","../src/components/Grid.ts","../src/components/Card.ts","../src/components/Text.ts","../src/components/Newline.ts","../src/components/Static.ts","../src/components/Transform.ts","../src/components/Code.ts","../src/components/Link.ts","../src/components/TextInput.ts","../src/components/TextArea.ts","../src/components/Select.ts","../src/components/Checkbox.ts","../src/components/RadioGroup.ts","../src/components/Confirm.ts","../src/components/Form.ts","../src/components/Spinner.ts","../src/components/ProgressBar.ts","../src/components/Alert.ts","../src/components/Badge.ts","../src/components/Timer.ts","../src/components/Tooltip.ts","../src/components/List.ts","../src/components/Table.ts","../src/components/Tree.ts","../src/components/Menu.ts","../src/components/Tabs.ts","../src/components/Breadcrumb.ts","../src/components/Stepper.ts","../src/components/Modal.ts","../src/components/StatusBar.ts","../src/components/Header.ts","../src/components/KeyHint.ts","../src/components/Avatar.ts"],"mappings":"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"}
package/dist/index.d.mts CHANGED
@@ -1,7 +1,7 @@
1
- import { A as FrescoTextWrapMode, C as FrescoRenderNode, D as FrescoSnakeStyleAliases, E as FrescoRootRenderNode, F as PasteEvent, I as ResizeEvent, M as KeyEvent, N as KeyEventType, O as FrescoStyle, P as MouseEvent, S as FrescoPosition, T as FrescoRenderStyle, _ as FrescoInputEvent, a as FocusEvent, b as FrescoModifiers, c as FrescoAlignSelf, d as FrescoBoxRenderNode, f as FrescoCanonicalStyle, g as FrescoFlexWrap, h as FrescoFlexDirection, i as CompositionEvent, j as InputEvent, k as FrescoTextRenderNode, l as FrescoAppearance, m as FrescoDisplay, o as FrescoAlignContent, p as FrescoDimension, r as createRenderer, s as FrescoAlignItems, u as FrescoBorderStyle, v as FrescoInputRenderNode, w as FrescoRenderNodeKind, x as FrescoOverflow, y as FrescoJustifyContent } from "./renderer-DWG0G3g8.mjs";
2
- import { $ as FormProps, A as TableColumn, At as HStack, B as TimerProps, C as Menu, Ct as NewlineProps, D as TreeNode, Dt as CardProps, E as Tree, Et as Card, F as Tooltip, Ft as DividerProps, G as AlertProps, H as BadgeProps, I as TooltipPosition, It as Spacer, J as ProgressBarProps, K as AlertType, L as TooltipProps, Lt as Box, M as List, Mt as StackProps, N as ListItem, Nt as VStack, O as TreeProps, Ot as Grid, P as ListProps, Pt as Divider, Q as FormField, R as Timer, Rt as BoxProps, S as TabsProps, St as Newline, T as MenuProps, Tt as TextProps, U as BadgeVariant, V as Badge, W as Alert, X as SpinnerProps, Y as Spinner, Z as Form, _ as Breadcrumb, _t as CodeProps, a as KeyHintProps, at as Checkbox, b as Tab, bt as Static, c as StatusBar, ct as SelectOption, d as Modal, dt as TextAreaProps, et as Confirm, f as ModalProps, ft as TextInput, g as StepperProps, gt as Code, h as Stepper, ht as LinkProps, i as KeyHint, it as RadioOption, j as TableProps, jt as Stack, k as Table, kt as GridProps, l as StatusBarItem, lt as SelectProps, m as StepStatus, mt as Link, n as AvatarProps, nt as RadioGroup, o as Header, ot as CheckboxProps, p as Step, pt as TextInputProps, q as ProgressBar, r as KeyBinding, rt as RadioGroupProps, s as HeaderProps, st as Select, t as Avatar, tt as ConfirmProps, u as StatusBarProps, ut as TextArea, v as BreadcrumbItem, vt as Transform, w as MenuItem, wt as Text, x as Tabs, xt as StaticProps, y as BreadcrumbProps, yt as TransformProps, z as TimerMode } from "./index-CFpYemVK.mjs";
1
+ import { A as FrescoStyle, C as FrescoOverflow, D as FrescoRenderStyle, E as FrescoRenderNodeKind, F as KeyEventType, I as MouseEvent, L as PasteEvent, M as FrescoTextWrapMode, N as InputEvent, O as FrescoRootRenderNode, P as KeyEvent, R as ResizeEvent, S as FrescoModifiers, T as FrescoRenderNode, _ as FrescoFlexDirection, a as createRenderer, b as FrescoInputRenderNode, c as FrescoAlignContent, d as FrescoAppearance, f as FrescoBorderStyle, g as FrescoDisplay, h as FrescoDimension, j as FrescoTextRenderNode, k as FrescoSnakeStyleAliases, l as FrescoAlignItems, m as FrescoCanonicalStyle, o as CompositionEvent, p as FrescoBoxRenderNode, s as FocusEvent, u as FrescoAlignSelf, v as FrescoFlexWrap, w as FrescoPosition, x as FrescoJustifyContent, y as FrescoInputEvent } from "./accessibility-Ca6moS43.mjs";
2
+ import { $ as FormProps, A as TableColumn, At as HStack, B as TimerProps, C as Menu, Ct as NewlineProps, D as TreeNode, Dt as CardProps, E as Tree, Et as Card, F as Tooltip, Ft as DividerProps, G as AlertProps, H as BadgeProps, I as TooltipPosition, It as Spacer, J as ProgressBarProps, K as AlertType, L as TooltipProps, Lt as Box, M as List, Mt as StackProps, N as ListItem, Nt as VStack, O as TreeProps, Ot as Grid, P as ListProps, Pt as Divider, Q as FormField, R as Timer, Rt as BoxProps, S as TabsProps, St as Newline, T as MenuProps, Tt as TextProps, U as BadgeVariant, V as Badge, W as Alert, X as SpinnerProps, Y as Spinner, Z as Form, _ as Breadcrumb, _t as CodeProps, a as KeyHintProps, at as Checkbox, b as Tab, bt as Static, c as StatusBar, ct as SelectOption, d as Modal, dt as TextAreaProps, et as Confirm, f as ModalProps, ft as TextInput, g as StepperProps, gt as Code, h as Stepper, ht as LinkProps, i as KeyHint, it as RadioOption, j as TableProps, jt as Stack, k as Table, kt as GridProps, l as StatusBarItem, lt as SelectProps, m as StepStatus, mt as Link, n as AvatarProps, nt as RadioGroup, o as Header, ot as CheckboxProps, p as Step, pt as TextInputProps, q as ProgressBar, r as KeyBinding, rt as RadioGroupProps, s as HeaderProps, st as Select, t as Avatar, tt as ConfirmProps, u as StatusBarProps, ut as TextArea, v as BreadcrumbItem, vt as Transform, w as MenuItem, wt as Text, x as Tabs, xt as StaticProps, y as BreadcrumbProps, yt as TransformProps, z as TimerMode } from "./index-Dt9oT2zt.mjs";
3
3
  import { A as useInput, C as UsePasteOptions, D as KeyHandler, E as Key, O as UseInputOptions, S as useIme, T as InputHandler, _ as useStderr, a as DOMElement, b as ImeManager, c as UseAnimationOptions, d as useCursor, f as WindowSize, g as UseStdoutReturn, h as UseStdinReturn, i as useBoxMetrics, j as useKeyPress, k as UseInputReturn, l as useAnimation, m as UseStderrReturn, n as BoxMetrics, o as measureElement, p as useWindowSize, r as UseBoxMetricsResult, s as AnimationResult, t as useIsScreenReaderEnabled, u as CursorPosition, v as useStdin, w as usePaste, x as UseImeOptions, y as useStdout } from "./index-DqGcW9sz.mjs";
4
4
  import { a as useFocus, i as UseFocusOptions, n as useApp, o as useFocusManager, r as FocusManager, t as UseAppReturn } from "./useApp-CNjer3hJ.mjs";
5
- import { _ 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, 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, x as resolveKittyFlags, y as kittyFlags } from "./app-DJImCkSW.mjs";
5
+ import { _ 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, 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, x as resolveKittyFlags, y as kittyFlags } from "./app-DsHJno1z.mjs";
6
6
  import { FlexStyleNapi, ImeStateNapi, InputEventNapi, LayoutResultNapi, ModifiersNapi, RenderNodeNapi, StyleNapi, TerminalInfoNapi, TerminalOptionsNapi } from "@vizejs/fresco-native";
7
7
  export { Alert, type AlertProps, type AlertType, type AnimationResult, type App, type AppOptions, Avatar, type AvatarProps, Badge, type BadgeProps, type BadgeVariant, Box, type BoxMetrics, type BoxProps, Breadcrumb, type BreadcrumbItem, type BreadcrumbProps, Card, type CardProps, Checkbox, type CheckboxProps, Code, type CodeProps, type CompositionEvent, Confirm, type ConfirmProps, type CursorPosition, type DOMElement, Divider, type DividerProps, type FlexStyleNapi, type FocusEvent, type FocusManager, Form, type FormField, type FormProps, type FrescoAlignContent, type FrescoAlignItems, type FrescoAlignSelf, type FrescoAppearance, type FrescoBorderStyle, type FrescoBoxRenderNode, type FrescoCanonicalStyle, type FrescoDimension, type FrescoDisplay, type FrescoFlexDirection, type FrescoFlexWrap, type FrescoInputEvent, type FrescoInputRenderNode, type FrescoJustifyContent, type FrescoModifiers, type FrescoOverflow, type FrescoPosition, type FrescoRenderNode, type FrescoRenderNodeKind, type FrescoRenderStyle, type FrescoRootRenderNode, type FrescoSnakeStyleAliases, type FrescoStyle, type FrescoTextRenderNode, type FrescoTextWrapMode, Grid, type GridProps, HStack, 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 KittyFlagName, type KittyKeyboardOptions, type LayoutResultNapi, Link, type LinkProps, List, type ListItem, type ListProps, Menu, type MenuItem, type MenuProps, Modal, type ModalProps, type ModifiersNapi, type MouseEvent, Newline, type NewlineProps, type PasteEvent, ProgressBar, type ProgressBarProps, RadioGroup, type RadioGroupProps, type RadioOption, type RenderInstance, type RenderMetrics, type RenderNodeNapi, type RenderOptions, type RenderToStringOptions, type ResizeEvent, Select, type SelectOption, type SelectProps, Spacer, Spinner, type SpinnerProps, Stack, type StackProps, Static, type StaticProps, StatusBar, type StatusBarItem, type StatusBarProps, type Step, type StepStatus, Stepper, type StepperProps, type StyleNapi, type Tab, Table, type TableColumn, type TableProps, Tabs, type TabsProps, type TerminalInfoNapi, type TerminalOptionsNapi, Text, TextArea, type TextAreaProps, TextInput, type TextInputProps, type TextProps, Timer, type TimerMode, type TimerProps, Tooltip, type TooltipPosition, type TooltipProps, Transform, type TransformProps, Tree, type TreeNode, type TreeProps, type UseAnimationOptions, type UseAppReturn, type UseBoxMetricsResult, type UseFocusOptions, type UseImeOptions, type UseInputOptions, type UseInputReturn, type UsePasteOptions, type UseStderrReturn, type UseStdinReturn, type UseStdoutReturn, VStack, type WindowSize, createApp, createRenderer, kittyFlags, kittyModifiers, lastCompositionEvent, lastFocusEvent, lastKeyEvent, lastMouseEvent, lastPasteEvent, lastResizeEvent, measureElement, render, renderToString, resolveKittyFlags, useAnimation, useApp, useBoxMetrics, useCursor, useFocus, useFocusManager, useIme, useInput, useIsScreenReaderEnabled, useKeyPress, usePaste, useStderr, useStdin, useStdout, useWindowSize };
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
- import { E as useFocusManager, T as useFocus, a as lastMouseEvent, b as useStdin, c as render, f as measureElement, g as useCursor, i as lastKeyEvent, k as useApp, l as renderToString, n as lastCompositionEvent, o as lastPasteEvent, r as lastFocusEvent, s as lastResizeEvent, t as createApp, u as createRenderer, x as useStdout, y as useStderr } from "./app-D_Ke7C8w.mjs";
2
- import { i as useIsScreenReaderEnabled, n as useKeyPress, r as usePaste, t as useInput } from "./useInput-BpH-JIU3.mjs";
3
- import { A as Newline, C as Select, D as Code, E as Link, F as Stack, I as VStack, L as Divider, M as Card, N as Grid, O as Transform, P as HStack, R as Spacer, S as Checkbox, T as TextInput, _ as ProgressBar, a as Modal, b as Confirm, c as Tabs, d as Table, f as List, g as Alert, h as Badge, i as StatusBar, j as Text, k as Static, l as Menu, m as Timer, n as KeyHint, o as Stepper, p as Tooltip, r as Header, s as Breadcrumb, t as Avatar, u as Tree, v as Spinner, w as TextArea, x as RadioGroup, y as Form, z as Box } from "./components-3-vKPu1z.mjs";
4
- import { i as useIme, n as useAnimation, r as useWindowSize, t as useBoxMetrics } from "./composables-Da3c5pxz.mjs";
1
+ import { A as useApp, D as useFocusManager, E as useFocus, S as useStdout, _ as useCursor, a as lastMouseEvent, b as useStderr, c as render, i as lastKeyEvent, l as renderToString, n as lastCompositionEvent, o as lastPasteEvent, p as measureElement, r as lastFocusEvent, s as lastResizeEvent, t as createApp, u as createRenderer, x as useStdin } from "./app-BFoESJ4g.mjs";
2
+ import { i as useIsScreenReaderEnabled, n as useKeyPress, r as usePaste, t as useInput } from "./useInput-DLlmSFXF.mjs";
3
+ import { A as Newline, C as Select, D as Code, E as Link, F as Stack, I as VStack, L as Divider, M as Card, N as Grid, O as Transform, P as HStack, R as Spacer, S as Checkbox, T as TextInput, _ as ProgressBar, a as Modal, b as Confirm, c as Tabs, d as Table, f as List, g as Alert, h as Badge, i as StatusBar, j as Text, k as Static, l as Menu, m as Timer, n as KeyHint, o as Stepper, p as Tooltip, r as Header, s as Breadcrumb, t as Avatar, u as Tree, v as Spinner, w as TextArea, x as RadioGroup, y as Form, z as Box } from "./components-DlVmYitp.mjs";
4
+ import { i as useIme, n as useAnimation, r as useWindowSize, t as useBoxMetrics } from "./composables-B8W4GFdO.mjs";
5
5
  //#region src/kittyKeyboard.ts
6
6
  /**
7
7
  * Kitty keyboard protocol constants compatible with Ink.
@@ -1,4 +1,4 @@
1
- import { M as KeyEvent, P as MouseEvent, n as FrescoNode, t as FrescoElement } from "../renderer-DWG0G3g8.mjs";
1
+ import { I as MouseEvent, P as KeyEvent, T as FrescoRenderNode, i as FrescoNode, n as AriaState, r as FrescoElement, t as AriaRole } from "../accessibility-Ca6moS43.mjs";
2
2
  import { r as FocusManager, t as UseAppReturn } from "../useApp-CNjer3hJ.mjs";
3
3
  import { App, Component, Ref, VNodeChild } from "@vue/runtime-core";
4
4
 
@@ -69,6 +69,22 @@ declare function firstChild(mounted: MountedFresco): FrescoNode;
69
69
  /** Convenience wrapper that renders `component` with `h` and mounts it. */
70
70
  declare function mountComponent(component: Component, props?: Record<string, unknown>, slot?: () => VNodeChild, options?: MountFrescoOptions): MountedFresco;
71
71
  //#endregion
72
+ //#region src/testing/queries.d.ts
73
+ type FrescoTextMatcher = string | RegExp;
74
+ interface FrescoRoleQueryOptions {
75
+ readonly name?: FrescoTextMatcher;
76
+ readonly description?: FrescoTextMatcher;
77
+ readonly state?: AriaState;
78
+ }
79
+ declare function queryAllByRole(root: FrescoNode, role: AriaRole, options?: FrescoRoleQueryOptions): FrescoNode[];
80
+ declare function getByRole(root: FrescoNode, role: AriaRole, options?: FrescoRoleQueryOptions): FrescoNode;
81
+ declare function queryAllByText(root: FrescoNode, text: FrescoTextMatcher): FrescoNode[];
82
+ declare function getByText(root: FrescoNode, text: FrescoTextMatcher): FrescoNode;
83
+ declare function queryAllByDescription(root: FrescoNode, description: FrescoTextMatcher): FrescoNode[];
84
+ declare function getByDescription(root: FrescoNode, description: FrescoTextMatcher): FrescoNode;
85
+ declare function queryAllByTestId(root: FrescoNode, testId: string): FrescoNode[];
86
+ declare function getByTestId(root: FrescoNode, testId: string): FrescoNode;
87
+ //#endregion
72
88
  //#region src/testing/index.d.ts
73
89
  type RenderTuiOptions = MountFrescoOptions;
74
90
  type RenderTuiRoot = Component | (() => VNodeChild);
@@ -80,6 +96,8 @@ interface FrescoFrameSnapshot {
80
96
  output: string;
81
97
  /** Serializable renderer tree for structural assertions. */
82
98
  tree: FrescoNodeSnapshot;
99
+ /** Stable native protocol payload for assertions before crossing into Rust. */
100
+ protocolNodes: readonly FrescoRenderNode[];
83
101
  }
84
102
  /** Input driver that injects events through Fresco's public event refs. */
85
103
  interface FrescoInputDriver {
@@ -120,5 +138,5 @@ interface RenderTuiResult extends MountedFresco {
120
138
  /** Mount a Fresco app for tests with frame snapshots and input injection. */
121
139
  declare function renderTui(root: RenderTuiRoot, options?: RenderTuiOptions): RenderTuiResult;
122
140
  //#endregion
123
- export { FrescoFrameSnapshot, FrescoInputDriver, type FrescoNodeSnapshot, KeyInput, type MountFrescoOptions, type MountedFresco, MouseInput, RenderTuiOptions, RenderTuiResult, RenderTuiRoot, dispatchKey, findNodes, firstChild, mountComponent, mountFresco, renderTui, toTreeSnapshot, typeChars };
141
+ export { FrescoFrameSnapshot, FrescoInputDriver, type FrescoNodeSnapshot, type FrescoRenderNode, type FrescoRoleQueryOptions, type FrescoTextMatcher, KeyInput, type MountFrescoOptions, type MountedFresco, MouseInput, RenderTuiOptions, RenderTuiResult, RenderTuiRoot, dispatchKey, findNodes, firstChild, getByDescription, getByRole, getByTestId, getByText, mountComponent, mountFresco, queryAllByDescription, queryAllByRole, queryAllByTestId, queryAllByText, renderTui, toTreeSnapshot, typeChars };
124
142
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../../src/testing/mount.ts","../../src/testing/index.ts"],"mappings":";;;;;;UA+BiB,kBAAA;EAcH;EAZZ,KAAA;EAcY;EAZZ,MAAA;EAgBqB;EAdrB,YAAA;AAAA;;UAIe,aAAA;EAIf;EAFA,IAAA,EAAM,aAAA;EAEM;EAAZ,GAAA,EAAK,GAAA,CAAO,aAAA;EAEA;EAAZ,UAAA,EAAY,YAAA;EAEE;EAAd,YAAA,EAAc,YAAA;EAEO;EAArB,mBAAA,EAAqB,GAAA;EAEd;EAAP,OAAA;AAAA;;;;;;;iBASc,WAAA,CACd,IAAA,EAAM,SAAA,UAAmB,UAAA,GACzB,OAAA,GAAS,kBAAA,GACR,aAAA;;;;;;;;iBA2Da,WAAA,CAAY,KAAA,EAAO,OAAA,CAAQ,IAAA,CAAK,QAAA,aAAqB,OAAA;AA3DrD;AAAA,iBA4EM,SAAA,CAAU,IAAA,WAAe,OAAO;;;;;;;;UAarC,kBAAA;EACf,IAAA,EAAM,UAAA;EACN,IAAA;EACA,KAAA,GAAQ,MAAA;EACR,QAAA,GAAW,kBAAA;AAAA;;AAlC+D;AAiB5E;;iBA8BgB,cAAA,CAAe,IAAA,EAAM,UAAA,GAAa,kBAAkB;;iBAYpD,SAAA,CACd,IAAA,EAAM,UAAA,EACN,SAAA,GAAY,SAAA,EAAW,UAAA,eACtB,UAAA;AAhCH;AAAA,iBA2CgB,UAAA,CAAW,OAAA,EAAS,aAAA,GAAgB,UAAU;;iBAO9C,cAAA,CACd,SAAA,EAAW,SAAA,EACX,KAAA,GAAO,MAAA,mBACP,IAAA,SAAa,UAAA,EACb,OAAA,GAAS,kBAAA,GACR,aAAA;;;KCpKS,gBAAA,GAAmB,kBAAkB;AAAA,KACrC,aAAA,GAAgB,SAAA,UAAmB,UAAU;AAAA,KAC7C,QAAA,GAAW,OAAA,CAAQ,IAAA,CAAK,QAAA;AAAA,KACxB,UAAA,GAAa,IAAI,CAAC,UAAA;ADP9B;AAAA,UCUiB,mBAAA;;EAEf,MAAA;EDRY;ECUZ,IAAA,EAAM,kBAAkB;AAAA;;UAIT,iBAAA;EDRS;ECUxB,GAAA,CAAI,KAAA,EAAO,QAAA,GAAW,OAAA,CAAQ,mBAAA;EDlB9B;ECoBA,IAAA,CAAK,IAAA,WAAe,OAAA,CAAQ,mBAAA;EDlB5B;ECoBA,KAAA,CAAM,IAAA,WAAe,OAAA,CAAQ,mBAAA;EDpBjB;ECsBZ,MAAA,CAAO,KAAA,UAAe,MAAA,WAAiB,OAAA,CAAQ,mBAAA;EDpBnC;ECsBZ,KAAA,CAAM,KAAA,EAAO,UAAA,GAAa,OAAA,CAAQ,mBAAA;EDpBpB;ECsBd,KAAA,CAAM,OAAA,YAAmB,OAAA,CAAQ,mBAAA;EDpBZ;ECsBrB,gBAAA,CAAiB,IAAA,WAAe,MAAA,YAAkB,OAAA,CAAQ,mBAAA;EDpBnD;ECsBP,iBAAA,CAAkB,IAAA,UAAc,MAAA,WAAiB,OAAA,CAAQ,mBAAA;EDb3C;ECed,cAAA,CAAe,IAAA,UAAc,MAAA,YAAkB,OAAA,CAAQ,mBAAA;AAAA;;UAIxC,eAAA,SAAwB,aAAA;EDjB9B;EAAA,SCmBA,MAAA;EDlBK;EAAA,SCoBL,cAAA,WAAyB,mBAAA;EDtB5B;EAAA,SCwBG,KAAA,EAAO,iBAAA;EDxBhB;EC0BA,YAAA,IAAgB,mBAAA;EDzBhB;EC2BA,SAAA;ED1Bc;EC4Bd,aAAA,IAAiB,mBAAA;AAAA;;iBA2HH,SAAA,CAAU,IAAA,EAAM,aAAA,EAAe,OAAA,GAAS,gBAAA,GAAwB,eAAA"}
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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"}