@vizejs/fresco 0.409.0 → 0.413.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/{app-BFoESJ4g.mjs → app-Co-WmMaC.mjs} +42 -10
- package/dist/app-Co-WmMaC.mjs.map +1 -0
- package/dist/components/index.d.mts +1 -1
- package/dist/components/index.mjs +1 -1
- package/dist/{components-DlVmYitp.mjs → components-CjMXMFLs.mjs} +2 -2
- package/dist/{components-DlVmYitp.mjs.map → components-CjMXMFLs.mjs.map} +1 -1
- package/dist/composables/index.d.mts +1 -1
- package/dist/composables/index.mjs +3 -3
- package/dist/{composables-B8W4GFdO.mjs → composables-BE-Je0lz.mjs} +3 -3
- package/dist/{composables-B8W4GFdO.mjs.map → composables-BE-Je0lz.mjs.map} +1 -1
- package/dist/{index-CnYocD-O.d.mts → index-DHKv3K2I.d.mts} +12 -12
- package/dist/{index-CnYocD-O.d.mts.map → index-DHKv3K2I.d.mts.map} +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +4 -4
- package/dist/testing/index.d.mts +1 -1
- package/dist/testing/index.mjs +1 -1
- package/dist/{useApp-CNjer3hJ.d.mts → useApp--shEYh0l.d.mts} +10 -1
- package/dist/useApp--shEYh0l.d.mts.map +1 -0
- package/dist/{useInput-DLlmSFXF.mjs → useInput-C0ULAMKa.mjs} +2 -2
- package/dist/{useInput-DLlmSFXF.mjs.map → useInput-C0ULAMKa.mjs.map} +1 -1
- package/package.json +2 -2
- package/dist/app-BFoESJ4g.mjs.map +0 -1
- package/dist/useApp-CNjer3hJ.d.mts.map +0 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { A as useInput, C as UsePasteOptions, D as KeyHandler, E as Key, O as UseInputOptions, S as useIme, T as InputHandler, _ as useStderr, 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, 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";
|
|
2
|
-
import { a as useFocus, i as UseFocusOptions, n as useApp, o as useFocusManager, r as FocusManager, t as UseAppReturn } from "../useApp
|
|
2
|
+
import { a as useFocus, i as UseFocusOptions, n as useApp, o as useFocusManager, r as FocusManager, t as UseAppReturn } from "../useApp--shEYh0l.mjs";
|
|
3
3
|
export { type AnimationResult, type BoxMetrics, type CursorPosition, type FocusManager, type ImeManager, type InputHandler, type Key, type KeyHandler, type UseAnimationOptions, type UseAppReturn, type UseBoxMetricsResult, type UseFocusOptions, type UseImeOptions, type UseInputOptions, type UseInputReturn, type UsePasteOptions, type UseStderrReturn, type UseStdinReturn, type UseStdoutReturn, type WindowSize, useAnimation, useApp, useBoxMetrics, useCursor, useFocus, useFocusManager, useIme, useInput, useIsScreenReaderEnabled, useKeyPress, usePaste, useStderr, useStdin, useStdout, useWindowSize };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { A as useApp, D as useFocusManager, E as useFocus, S as useStdout, _ as useCursor, b as useStderr, x as useStdin } from "../app-
|
|
2
|
-
import { i as useIsScreenReaderEnabled, n as useKeyPress, r as usePaste, t as useInput } from "../useInput-
|
|
3
|
-
import { i as useIme, n as useAnimation, r as useWindowSize, t as useBoxMetrics } from "../composables-
|
|
1
|
+
import { A as useApp, D as useFocusManager, E as useFocus, S as useStdout, _ as useCursor, b as useStderr, x as useStdin } from "../app-Co-WmMaC.mjs";
|
|
2
|
+
import { i as useIsScreenReaderEnabled, n as useKeyPress, r as usePaste, t as useInput } from "../useInput-C0ULAMKa.mjs";
|
|
3
|
+
import { i as useIme, n as useAnimation, r as useWindowSize, t as useBoxMetrics } from "../composables-BE-Je0lz.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 { A as useApp, f as getLastRenderLayout, m as updateLastRenderLayouts } from "./app-
|
|
2
|
-
import "./useInput-
|
|
1
|
+
import { A as useApp, f as getLastRenderLayout, m as updateLastRenderLayouts } from "./app-Co-WmMaC.mjs";
|
|
2
|
+
import "./useInput-C0ULAMKa.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-
|
|
319
|
+
//# sourceMappingURL=composables-BE-Je0lz.mjs.map
|
|
@@ -1 +1 @@
|
|
|
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
|
+
{"version":3,"file":"composables-BE-Je0lz.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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"}
|
|
@@ -530,12 +530,12 @@ declare const Text: import("@vue/runtime-core").DefineComponent<import("@vue/run
|
|
|
530
530
|
hidden: boolean;
|
|
531
531
|
ariaHidden: boolean;
|
|
532
532
|
dim: boolean;
|
|
533
|
-
underline: boolean;
|
|
534
|
-
blink: boolean;
|
|
535
533
|
dimColor: boolean;
|
|
536
534
|
italic: boolean;
|
|
535
|
+
underline: boolean;
|
|
537
536
|
strikethrough: boolean;
|
|
538
537
|
inverse: boolean;
|
|
538
|
+
blink: boolean;
|
|
539
539
|
}, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, true, {}, any>;
|
|
540
540
|
//#endregion
|
|
541
541
|
//#region src/components/Newline.d.ts
|
|
@@ -707,9 +707,9 @@ declare const Code: import("@vue/runtime-core").DefineComponent<import("@vue/run
|
|
|
707
707
|
fg: string;
|
|
708
708
|
border: "none" | "single" | "double" | "rounded" | undefined;
|
|
709
709
|
lineNumbers: boolean;
|
|
710
|
+
lineNumberFg: string;
|
|
710
711
|
startLine: number;
|
|
711
712
|
highlightLines: number[];
|
|
712
|
-
lineNumberFg: string;
|
|
713
713
|
highlightBg: string;
|
|
714
714
|
}, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, true, {}, any>;
|
|
715
715
|
//#endregion
|
|
@@ -838,7 +838,7 @@ declare const TextInput: import("@vue/runtime-core").DefineComponent<import("@vu
|
|
|
838
838
|
bg: StringConstructor;
|
|
839
839
|
}>, () => import("@vue/runtime-core").VNode<import("@vue/runtime-core").RendererNode, import("@vue/runtime-core").RendererElement, {
|
|
840
840
|
[key: string]: any;
|
|
841
|
-
}>, {}, {}, {}, import("@vue/runtime-core").ComponentOptionsMixin, import("@vue/runtime-core").ComponentOptionsMixin, ("update:modelValue" | "
|
|
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<{
|
|
842
842
|
modelValue: {
|
|
843
843
|
type: StringConstructor;
|
|
844
844
|
default: string;
|
|
@@ -868,8 +868,8 @@ declare const TextInput: import("@vue/runtime-core").DefineComponent<import("@vu
|
|
|
868
868
|
bg: StringConstructor;
|
|
869
869
|
}>> & Readonly<{
|
|
870
870
|
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
871
|
-
onSubmit?: ((...args: any[]) => any) | undefined;
|
|
872
871
|
onCancel?: ((...args: any[]) => any) | undefined;
|
|
872
|
+
onSubmit?: ((...args: any[]) => any) | undefined;
|
|
873
873
|
onCompositionstart?: ((...args: any[]) => any) | undefined;
|
|
874
874
|
onCompositionupdate?: ((...args: any[]) => any) | undefined;
|
|
875
875
|
onCompositionend?: ((...args: any[]) => any) | undefined;
|
|
@@ -1004,10 +1004,10 @@ declare const TextArea: import("@vue/runtime-core").DefineComponent<import("@vue
|
|
|
1004
1004
|
disabled: boolean;
|
|
1005
1005
|
modelValue: string;
|
|
1006
1006
|
focused: boolean;
|
|
1007
|
-
lineNumbers: boolean;
|
|
1008
|
-
lineNumberFg: string;
|
|
1009
1007
|
rows: number;
|
|
1008
|
+
lineNumbers: boolean;
|
|
1010
1009
|
placeholderFg: string;
|
|
1010
|
+
lineNumberFg: string;
|
|
1011
1011
|
cursorLine: number;
|
|
1012
1012
|
cursorColumn: number;
|
|
1013
1013
|
}, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, true, {}, any>;
|
|
@@ -1336,7 +1336,7 @@ declare const Confirm: import("@vue/runtime-core").DefineComponent<import("@vue/
|
|
|
1336
1336
|
};
|
|
1337
1337
|
}>, () => import("@vue/runtime-core").VNode<import("@vue/runtime-core").RendererNode, import("@vue/runtime-core").RendererElement, {
|
|
1338
1338
|
[key: string]: any;
|
|
1339
|
-
}>, {}, {}, {}, import("@vue/runtime-core").ComponentOptionsMixin, import("@vue/runtime-core").ComponentOptionsMixin, ("select" | "
|
|
1339
|
+
}>, {}, {}, {}, import("@vue/runtime-core").ComponentOptionsMixin, import("@vue/runtime-core").ComponentOptionsMixin, ("select" | "confirm" | "cancel")[], "select" | "confirm" | "cancel", import("@vue/runtime-core").PublicProps, Readonly<import("@vue/runtime-core").ExtractPropTypes<{
|
|
1340
1340
|
message: {
|
|
1341
1341
|
type: StringConstructor;
|
|
1342
1342
|
required: true;
|
|
@@ -1367,8 +1367,8 @@ declare const Confirm: import("@vue/runtime-core").DefineComponent<import("@vue/
|
|
|
1367
1367
|
};
|
|
1368
1368
|
}>> & Readonly<{
|
|
1369
1369
|
onSelect?: ((...args: any[]) => any) | undefined;
|
|
1370
|
-
onCancel?: ((...args: any[]) => any) | undefined;
|
|
1371
1370
|
onConfirm?: ((...args: any[]) => any) | undefined;
|
|
1371
|
+
onCancel?: ((...args: any[]) => any) | undefined;
|
|
1372
1372
|
}>, {
|
|
1373
1373
|
selectedFg: string;
|
|
1374
1374
|
confirmText: string;
|
|
@@ -1457,9 +1457,9 @@ declare const Form: import("@vue/runtime-core").DefineComponent<import("@vue/run
|
|
|
1457
1457
|
};
|
|
1458
1458
|
}>> & Readonly<{}>, {
|
|
1459
1459
|
gap: number;
|
|
1460
|
-
labelPosition: "top" | "left";
|
|
1461
1460
|
fields: FormField[];
|
|
1462
1461
|
labelWidth: number;
|
|
1462
|
+
labelPosition: "top" | "left";
|
|
1463
1463
|
requiredIndicator: string;
|
|
1464
1464
|
hintFg: string;
|
|
1465
1465
|
}, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, true, {}, any>;
|
|
@@ -1636,8 +1636,8 @@ declare const ProgressBar: import("@vue/runtime-core").DefineComponent<import("@
|
|
|
1636
1636
|
};
|
|
1637
1637
|
}>> & Readonly<{}>, {
|
|
1638
1638
|
width: number;
|
|
1639
|
-
showLabel: boolean;
|
|
1640
1639
|
labelPosition: "right" | "left" | "inside";
|
|
1640
|
+
showLabel: boolean;
|
|
1641
1641
|
filledChar: string;
|
|
1642
1642
|
emptyChar: string;
|
|
1643
1643
|
leftBorder: string;
|
|
@@ -2964,4 +2964,4 @@ declare const Avatar: import("@vue/runtime-core").DefineComponent<import("@vue/r
|
|
|
2964
2964
|
}, {}, {}, {}, string, import("@vue/runtime-core").ComponentProvideOptions, true, {}, any>;
|
|
2965
2965
|
//#endregion
|
|
2966
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 };
|
|
2967
|
-
//# sourceMappingURL=index-
|
|
2967
|
+
//# sourceMappingURL=index-DHKv3K2I.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-CnYocD-O.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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"}
|
|
1
|
+
{"version":3,"file":"index-DHKv3K2I.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
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-
|
|
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-DHKv3K2I.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
|
-
import { a as useFocus, i as UseFocusOptions, n as useApp, o as useFocusManager, r as FocusManager, t as UseAppReturn } from "./useApp
|
|
4
|
+
import { a as useFocus, i as UseFocusOptions, n as useApp, o as useFocusManager, r as FocusManager, t as UseAppReturn } from "./useApp--shEYh0l.mjs";
|
|
5
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 { 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-
|
|
2
|
-
import { i as useIsScreenReaderEnabled, n as useKeyPress, r as usePaste, t as useInput } from "./useInput-
|
|
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-
|
|
4
|
-
import { i as useIme, n as useAnimation, r as useWindowSize, t as useBoxMetrics } from "./composables-
|
|
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-Co-WmMaC.mjs";
|
|
2
|
+
import { i as useIsScreenReaderEnabled, n as useKeyPress, r as usePaste, t as useInput } from "./useInput-C0ULAMKa.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-CjMXMFLs.mjs";
|
|
4
|
+
import { i as useIme, n as useAnimation, r as useWindowSize, t as useBoxMetrics } from "./composables-BE-Je0lz.mjs";
|
|
5
5
|
//#region src/kittyKeyboard.ts
|
|
6
6
|
/**
|
|
7
7
|
* Kitty keyboard protocol constants compatible with Ink.
|
package/dist/testing/index.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
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
|
-
import { r as FocusManager, t as UseAppReturn } from "../useApp
|
|
2
|
+
import { r as FocusManager, t as UseAppReturn } from "../useApp--shEYh0l.mjs";
|
|
3
3
|
import { App, Component, Ref, VNodeChild } from "@vue/runtime-core";
|
|
4
4
|
|
|
5
5
|
//#region src/testing/mount.d.ts
|
package/dist/testing/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { O as APP_KEY, T as createFocusManager, a as lastMouseEvent, d as treeToRenderNodes, g as createCursorContext, h as CURSOR_KEY, i as lastKeyEvent, j as SCREEN_READER_KEY, k as createAppContext, n as lastCompositionEvent, o as lastPasteEvent, r as lastFocusEvent, s as lastResizeEvent, u as createRenderer$1, v as STREAMS_KEY, w as FOCUS_KEY, y as createStreamsContext } from "../app-
|
|
1
|
+
import { O as APP_KEY, T as createFocusManager, a as lastMouseEvent, d as treeToRenderNodes, g as createCursorContext, h as CURSOR_KEY, i as lastKeyEvent, j as SCREEN_READER_KEY, k as createAppContext, n as lastCompositionEvent, o as lastPasteEvent, r as lastFocusEvent, s as lastResizeEvent, u as createRenderer$1, v as STREAMS_KEY, w as FOCUS_KEY, y as createStreamsContext } from "../app-Co-WmMaC.mjs";
|
|
2
2
|
import { h, nextTick, ref } from "@vue/runtime-core";
|
|
3
3
|
//#region src/testing/mount.ts
|
|
4
4
|
/**
|
|
@@ -8,6 +8,8 @@ interface UseFocusOptions {
|
|
|
8
8
|
autoFocus?: boolean;
|
|
9
9
|
/** Focus ID for this element */
|
|
10
10
|
id?: string;
|
|
11
|
+
/** Parent focus ID used to derive descendant-focus state */
|
|
12
|
+
parentId?: string | null | Ref<string | null | undefined>;
|
|
11
13
|
}
|
|
12
14
|
interface FocusManager {
|
|
13
15
|
/** Currently focused element ID */
|
|
@@ -32,11 +34,16 @@ interface FocusManager {
|
|
|
32
34
|
register: (id: string, options?: {
|
|
33
35
|
isActive?: boolean;
|
|
34
36
|
autoFocus?: boolean;
|
|
37
|
+
parentId?: string | null | undefined;
|
|
35
38
|
}) => void;
|
|
36
39
|
/** Unregister a focusable element */
|
|
37
40
|
unregister: (id: string) => void;
|
|
38
41
|
/** Activate or deactivate a focusable element while keeping its order */
|
|
39
42
|
setActive: (id: string, isActive: boolean) => void;
|
|
43
|
+
/** Reparent a focusable element while keeping its registration order */
|
|
44
|
+
setParent: (id: string, parentId: string | null | undefined) => void;
|
|
45
|
+
/** Whether a registered descendant of the target currently owns focus */
|
|
46
|
+
hasFocusedDescendant: (id: string) => boolean;
|
|
40
47
|
}
|
|
41
48
|
/**
|
|
42
49
|
* Use focus management
|
|
@@ -44,6 +51,7 @@ interface FocusManager {
|
|
|
44
51
|
declare function useFocus(options?: UseFocusOptions): {
|
|
45
52
|
id: string;
|
|
46
53
|
isFocused: import("@vue/reactivity").ComputedRef<boolean>;
|
|
54
|
+
hasFocusedDescendant: import("@vue/reactivity").ComputedRef<boolean>;
|
|
47
55
|
focus: (targetId?: string) => void;
|
|
48
56
|
blur: () => void;
|
|
49
57
|
};
|
|
@@ -56,6 +64,7 @@ declare function useFocusManager(): {
|
|
|
56
64
|
focusNext: () => void;
|
|
57
65
|
focusPrevious: () => void;
|
|
58
66
|
focus: (id: string) => void;
|
|
67
|
+
hasFocusedDescendant: (id: string) => boolean;
|
|
59
68
|
activeId: Readonly<Ref<string | undefined, string | undefined>>;
|
|
60
69
|
focusableIds: Readonly<Ref<string[], string[]>>;
|
|
61
70
|
};
|
|
@@ -83,4 +92,4 @@ interface UseAppReturn {
|
|
|
83
92
|
declare function useApp(): UseAppReturn;
|
|
84
93
|
//#endregion
|
|
85
94
|
export { useFocus as a, UseFocusOptions as i, useApp as n, useFocusManager as o, FocusManager as r, UseAppReturn as t };
|
|
86
|
-
//# sourceMappingURL=useApp
|
|
95
|
+
//# sourceMappingURL=useApp--shEYh0l.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useApp--shEYh0l.d.mts","names":[],"sources":["../src/composables/useFocus.ts","../src/composables/useApp.ts"],"mappings":";;;UAkBiB,eAAA;EAQe;EAN9B,QAAA,aAAqB,GAAA;EAAA;EAErB,SAAA;EAEA;EAAA,EAAA;EAE2B;EAA3B,QAAA,mBAA2B,GAAG;AAAA;AAAA,UAGf,YAAA;EAAY;EAE3B,SAAA,EAAW,GAAA;EAAA;EAEX,QAAA,EAAU,QAAA,CAAS,GAAA;EAAT;EAEV,YAAA,EAAc,QAAA,CAAS,GAAA;EAAT;EAEd,SAAA,EAAW,GAAA;EAAG;EAEd,WAAA;EARA;EAUA,YAAA;EARA;EAUA,KAAA,GAAQ,EAAA;EAVW;EAYnB,SAAA;EAVc;EAYd,aAAA;EAVA;EAYA,QAAA,GACE,EAAA,UACA,OAAA;IAAY,QAAA;IAAoB,SAAA;IAAqB,QAAA;EAAA;EANvD;EASA,UAAA,GAAa,EAAA;EALb;EAOA,SAAA,GAAY,EAAA,UAAY,QAAA;EALV;EAOd,SAAA,GAAY,EAAA,UAAY,QAAA;EAP+B;EASvD,oBAAA,GAAuB,EAAA;AAAA;;;AAAU;iBA6JnB,QAAA,CAAS,OAAA,GAAS,eAAoB;;;;;;;;;;iBA2EtC,eAAA;;;;;;;;;;;;UC5RC,YAAA;EDkBe;EChB9B,KAAA,EAAO,GAAA;EDUc;ECRrB,MAAA,EAAQ,GAAA;EDYR;ECVA,SAAA,EAAW,GAAA;EDYgB;ECV3B,IAAA,GAAO,aAAA;EDUuB;ECR9B,MAAA;EDW2B;ECT3B,KAAA;EDWW;ECTX,oBAAA,QAA4B,OAAA;AAAA;;;;iBAwEd,MAAA,IAAU,YAAY"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as useStreamsContext, M as isScreenReaderEnabledByDefault, i as lastKeyEvent, j as SCREEN_READER_KEY, n as lastCompositionEvent, o as lastPasteEvent } from "./app-
|
|
1
|
+
import { C as useStreamsContext, M as isScreenReaderEnabledByDefault, i as lastKeyEvent, j as SCREEN_READER_KEY, n as lastCompositionEvent, o as lastPasteEvent } from "./app-Co-WmMaC.mjs";
|
|
2
2
|
import { inject, isRef, onUnmounted, ref, watch } from "@vue/runtime-core";
|
|
3
3
|
//#region src/composables/useIsScreenReaderEnabled.ts
|
|
4
4
|
/**
|
|
@@ -216,4 +216,4 @@ function useKeyPress(key, handler, options = {}) {
|
|
|
216
216
|
//#endregion
|
|
217
217
|
export { useIsScreenReaderEnabled as i, useKeyPress as n, usePaste as r, useInput as t };
|
|
218
218
|
|
|
219
|
-
//# sourceMappingURL=useInput-
|
|
219
|
+
//# sourceMappingURL=useInput-C0ULAMKa.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInput-DLlmSFXF.mjs","names":["toRef"],"sources":["../src/composables/useIsScreenReaderEnabled.ts","../src/composables/usePaste.ts","../src/composables/useInput.ts"],"sourcesContent":["/**\n * useIsScreenReaderEnabled - screen reader mode flag.\n */\n\nimport { inject } from \"@vue/runtime-core\";\nimport { SCREEN_READER_KEY, isScreenReaderEnabledByDefault } from \"../accessibility.js\";\n\nexport function useIsScreenReaderEnabled(): boolean {\n const enabled = inject(SCREEN_READER_KEY, null);\n return enabled?.value ?? isScreenReaderEnabledByDefault();\n}\n","/**\n * usePaste - bracketed paste handling.\n */\n\nimport { isRef, onUnmounted, ref, watch, type Ref } from \"@vue/runtime-core\";\nimport { lastPasteEvent } from \"../app.js\";\nimport { useStreamsContext } from \"./useStreams.js\";\n\nlet activePasteHandlerCount = 0;\n\nexport interface UsePasteOptions {\n /** Whether the paste handler is active */\n isActive?: boolean | Ref<boolean>;\n}\n\nexport function hasActivePasteHandlers(): boolean {\n return activePasteHandlerCount > 0;\n}\n\nfunction toRef(value: boolean | Ref<boolean>): Ref<boolean> {\n return isRef(value) ? value : ref(value);\n}\n\nexport function usePaste(handler: (text: string) => void, options: UsePasteOptions = {}) {\n const isActive = toRef(options.isActive ?? true);\n const streams = useStreamsContext();\n let rawModeEnabled = false;\n let bracketedPasteEnabled = false;\n let pasteHandlerRegistered = false;\n\n const syncRawMode = (isEnabled: boolean) => {\n if (rawModeEnabled === isEnabled) return;\n streams.setRawMode(isEnabled);\n rawModeEnabled = isEnabled;\n };\n\n const syncBracketedPasteMode = (isEnabled: boolean) => {\n if (bracketedPasteEnabled === isEnabled) return;\n streams.setBracketedPasteMode(isEnabled);\n bracketedPasteEnabled = isEnabled;\n };\n\n const syncPasteRegistration = (isEnabled: boolean) => {\n if (pasteHandlerRegistered === isEnabled) return;\n activePasteHandlerCount += isEnabled ? 1 : -1;\n pasteHandlerRegistered = isEnabled;\n };\n\n const syncActiveState = (isEnabled: boolean) => {\n syncRawMode(isEnabled);\n syncBracketedPasteMode(isEnabled);\n syncPasteRegistration(isEnabled);\n };\n\n watch(lastPasteEvent, (event) => {\n if (!event || !isActive.value) return;\n handler(event.text);\n });\n\n watch(isActive, syncActiveState, { immediate: true });\n onUnmounted(() => syncActiveState(false));\n\n return {\n isActive,\n enable: () => {\n isActive.value = true;\n },\n disable: () => {\n isActive.value = false;\n },\n };\n}\n","/**\n * useInput - Input handling composable\n */\n\nimport { isRef, onUnmounted, ref, watch, type Ref } from \"@vue/runtime-core\";\nimport { lastCompositionEvent, lastKeyEvent, lastPasteEvent, type KeyEvent } from \"../app.js\";\nimport { hasActivePasteHandlers } from \"./usePaste.js\";\nimport { useStreamsContext } from \"./useStreams.js\";\n\nexport interface Key {\n upArrow: boolean;\n downArrow: boolean;\n leftArrow: boolean;\n rightArrow: boolean;\n pageDown: boolean;\n pageUp: boolean;\n home: boolean;\n end: boolean;\n return: boolean;\n escape: boolean;\n ctrl: boolean;\n shift: boolean;\n tab: boolean;\n backspace: boolean;\n delete: boolean;\n meta: boolean;\n super: boolean;\n hyper: boolean;\n capsLock: boolean;\n numLock: boolean;\n eventType?: \"press\" | \"repeat\" | \"release\";\n}\n\nexport interface KeyHandler {\n (key: string, modifiers: { ctrl: boolean; alt: boolean; shift: boolean; meta: boolean }): void;\n}\n\nexport interface UseInputOptions {\n /** Whether to capture input (boolean or Ref<boolean>) */\n active?: boolean | Ref<boolean>;\n /** Whether to capture input (alias for active, boolean or Ref<boolean>) */\n isActive?: boolean | Ref<boolean>;\n /** Ink-compatible input callback */\n handler?: (input: string, key: Key) => void;\n /** Called on key press */\n onKey?: KeyHandler;\n /** Called on character input */\n onChar?: (char: string) => void;\n /** Called on Enter */\n onSubmit?: () => void;\n /** Called on Escape */\n onEscape?: () => void;\n /** Called on arrow keys */\n onArrow?: (direction: \"up\" | \"down\" | \"left\" | \"right\") => void;\n /** Called when an IME composition starts */\n onCompositionStart?: () => void;\n /** Called when IME preedit text changes */\n onCompositionUpdate?: (text: string, cursor: number) => void;\n /** Called when IME commits text */\n onCompositionEnd?: (text: string) => void;\n}\n\nexport interface UseInputReturn {\n isActive: Ref<boolean>;\n lastKey: Ref<string | null>;\n enable: () => void;\n disable: () => void;\n}\n\nexport type InputHandler = (input: string, key: Key) => void;\n\nexport interface UseInputHandlerOptions {\n isActive?: boolean | Ref<boolean>;\n}\n\nfunction toRef(value: boolean | Ref<boolean>): Ref<boolean> {\n return isRef(value) ? value : ref(value);\n}\n\nfunction keyName(event: KeyEvent): string {\n return event.char ?? event.key ?? \"\";\n}\n\nfunction toInkKey(event: KeyEvent): Key {\n const key = event.key;\n\n return {\n upArrow: key === \"up\",\n downArrow: key === \"down\",\n leftArrow: key === \"left\",\n rightArrow: key === \"right\",\n pageDown: key === \"pagedown\" || key === \"pageDown\",\n pageUp: key === \"pageup\" || key === \"pageUp\",\n home: key === \"home\",\n end: key === \"end\",\n return: key === \"enter\" || key === \"return\",\n escape: key === \"escape\" || key === \"esc\",\n ctrl: event.ctrl,\n shift: event.shift,\n tab: key === \"tab\" || key === \"backtab\",\n backspace: key === \"backspace\",\n delete: key === \"delete\",\n meta: event.meta,\n super: event.super,\n hyper: event.hyper,\n capsLock: event.capsLock,\n numLock: event.numLock,\n eventType: event.eventType,\n };\n}\n\nfunction emptyKey(): Key {\n return {\n upArrow: false,\n downArrow: false,\n leftArrow: false,\n rightArrow: false,\n pageDown: false,\n pageUp: false,\n home: false,\n end: false,\n return: false,\n escape: false,\n ctrl: false,\n shift: false,\n tab: false,\n backspace: false,\n delete: false,\n meta: false,\n super: false,\n hyper: false,\n capsLock: false,\n numLock: false,\n };\n}\n\nfunction inputValue(event: KeyEvent, key: Key): string {\n if (event.char) return event.char;\n if (key.return) return \"\\r\";\n return \"\";\n}\n\nfunction handleStructuredOptions(\n event: KeyEvent,\n options: UseInputOptions,\n lastKey: Ref<string | null>,\n) {\n const modifiers = {\n ctrl: event.ctrl,\n alt: event.alt,\n shift: event.shift,\n meta: event.meta,\n };\n const pressedKey = keyName(event);\n const inkKey = toInkKey(event);\n\n if (event.char) {\n lastKey.value = event.char;\n options.onChar?.(event.char);\n options.onKey?.(event.char, modifiers);\n return;\n }\n\n if (pressedKey) {\n lastKey.value = pressedKey;\n options.onKey?.(pressedKey, modifiers);\n }\n\n if (inkKey.return) options.onSubmit?.();\n if (inkKey.escape) options.onEscape?.();\n if (inkKey.upArrow) options.onArrow?.(\"up\");\n if (inkKey.downArrow) options.onArrow?.(\"down\");\n if (inkKey.leftArrow) options.onArrow?.(\"left\");\n if (inkKey.rightArrow) options.onArrow?.(\"right\");\n}\n\nexport function useInput(handler: InputHandler, options?: UseInputHandlerOptions): UseInputReturn;\nexport function useInput(options?: UseInputOptions): UseInputReturn;\nexport function useInput(\n handlerOrOptions: InputHandler | UseInputOptions = {},\n handlerOptions: UseInputHandlerOptions = {},\n): UseInputReturn {\n const options =\n typeof handlerOrOptions === \"function\"\n ? { handler: handlerOrOptions, isActive: handlerOptions.isActive }\n : handlerOrOptions;\n\n const activeSource = options.isActive ?? options.active ?? true;\n const isActive = toRef(activeSource);\n const lastKey = ref<string | null>(null);\n const streams = useStreamsContext();\n let rawModeEnabled = false;\n\n const syncRawMode = (isEnabled: boolean) => {\n if (rawModeEnabled === isEnabled) return;\n streams.setRawMode(isEnabled);\n rawModeEnabled = isEnabled;\n };\n\n watch(lastKeyEvent, (event) => {\n if (!event || !isActive.value) return;\n\n const inkKey = toInkKey(event);\n const input = inputValue(event, inkKey);\n const pressedKey = keyName(event);\n\n if (input === \"c\" && inkKey.ctrl && streams.internal_exitOnCtrlC) return;\n\n lastKey.value = pressedKey || null;\n options.handler?.(input, inkKey);\n handleStructuredOptions(event, options, lastKey);\n });\n\n watch(lastPasteEvent, (event) => {\n if (!event || !isActive.value || hasActivePasteHandlers()) return;\n\n lastKey.value = event.text;\n options.handler?.(event.text, emptyKey());\n options.onChar?.(event.text);\n });\n\n watch(lastCompositionEvent, (event) => {\n if (!event || !isActive.value) return;\n\n if (event.type === \"compositionstart\") {\n options.onCompositionStart?.();\n } else if (event.type === \"compositionupdate\") {\n options.onCompositionUpdate?.(event.text, event.cursor);\n } else {\n options.onCompositionEnd?.(event.text);\n }\n });\n\n watch(isActive, syncRawMode, { immediate: true });\n onUnmounted(() => syncRawMode(false));\n\n const enable = () => {\n isActive.value = true;\n };\n\n const disable = () => {\n isActive.value = false;\n };\n\n return {\n isActive,\n lastKey,\n enable,\n disable,\n };\n}\n\n/**\n * Shorthand for handling specific key combinations\n */\nexport function useKeyPress(\n key: string,\n handler: () => void,\n options: { ctrl?: boolean; alt?: boolean; shift?: boolean; meta?: boolean } = {},\n) {\n const { ctrl = false, alt = false, shift = false, meta = false } = options;\n\n useInput({\n onKey: (pressedKey, modifiers) => {\n const matches =\n pressedKey.toLowerCase() === key.toLowerCase() &&\n modifiers.ctrl === ctrl &&\n modifiers.alt === alt &&\n modifiers.shift === shift &&\n modifiers.meta === meta;\n\n if (matches) {\n handler();\n }\n },\n });\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useInput-C0ULAMKa.mjs","names":["toRef"],"sources":["../src/composables/useIsScreenReaderEnabled.ts","../src/composables/usePaste.ts","../src/composables/useInput.ts"],"sourcesContent":["/**\n * useIsScreenReaderEnabled - screen reader mode flag.\n */\n\nimport { inject } from \"@vue/runtime-core\";\nimport { SCREEN_READER_KEY, isScreenReaderEnabledByDefault } from \"../accessibility.js\";\n\nexport function useIsScreenReaderEnabled(): boolean {\n const enabled = inject(SCREEN_READER_KEY, null);\n return enabled?.value ?? isScreenReaderEnabledByDefault();\n}\n","/**\n * usePaste - bracketed paste handling.\n */\n\nimport { isRef, onUnmounted, ref, watch, type Ref } from \"@vue/runtime-core\";\nimport { lastPasteEvent } from \"../app.js\";\nimport { useStreamsContext } from \"./useStreams.js\";\n\nlet activePasteHandlerCount = 0;\n\nexport interface UsePasteOptions {\n /** Whether the paste handler is active */\n isActive?: boolean | Ref<boolean>;\n}\n\nexport function hasActivePasteHandlers(): boolean {\n return activePasteHandlerCount > 0;\n}\n\nfunction toRef(value: boolean | Ref<boolean>): Ref<boolean> {\n return isRef(value) ? value : ref(value);\n}\n\nexport function usePaste(handler: (text: string) => void, options: UsePasteOptions = {}) {\n const isActive = toRef(options.isActive ?? true);\n const streams = useStreamsContext();\n let rawModeEnabled = false;\n let bracketedPasteEnabled = false;\n let pasteHandlerRegistered = false;\n\n const syncRawMode = (isEnabled: boolean) => {\n if (rawModeEnabled === isEnabled) return;\n streams.setRawMode(isEnabled);\n rawModeEnabled = isEnabled;\n };\n\n const syncBracketedPasteMode = (isEnabled: boolean) => {\n if (bracketedPasteEnabled === isEnabled) return;\n streams.setBracketedPasteMode(isEnabled);\n bracketedPasteEnabled = isEnabled;\n };\n\n const syncPasteRegistration = (isEnabled: boolean) => {\n if (pasteHandlerRegistered === isEnabled) return;\n activePasteHandlerCount += isEnabled ? 1 : -1;\n pasteHandlerRegistered = isEnabled;\n };\n\n const syncActiveState = (isEnabled: boolean) => {\n syncRawMode(isEnabled);\n syncBracketedPasteMode(isEnabled);\n syncPasteRegistration(isEnabled);\n };\n\n watch(lastPasteEvent, (event) => {\n if (!event || !isActive.value) return;\n handler(event.text);\n });\n\n watch(isActive, syncActiveState, { immediate: true });\n onUnmounted(() => syncActiveState(false));\n\n return {\n isActive,\n enable: () => {\n isActive.value = true;\n },\n disable: () => {\n isActive.value = false;\n },\n };\n}\n","/**\n * useInput - Input handling composable\n */\n\nimport { isRef, onUnmounted, ref, watch, type Ref } from \"@vue/runtime-core\";\nimport { lastCompositionEvent, lastKeyEvent, lastPasteEvent, type KeyEvent } from \"../app.js\";\nimport { hasActivePasteHandlers } from \"./usePaste.js\";\nimport { useStreamsContext } from \"./useStreams.js\";\n\nexport interface Key {\n upArrow: boolean;\n downArrow: boolean;\n leftArrow: boolean;\n rightArrow: boolean;\n pageDown: boolean;\n pageUp: boolean;\n home: boolean;\n end: boolean;\n return: boolean;\n escape: boolean;\n ctrl: boolean;\n shift: boolean;\n tab: boolean;\n backspace: boolean;\n delete: boolean;\n meta: boolean;\n super: boolean;\n hyper: boolean;\n capsLock: boolean;\n numLock: boolean;\n eventType?: \"press\" | \"repeat\" | \"release\";\n}\n\nexport interface KeyHandler {\n (key: string, modifiers: { ctrl: boolean; alt: boolean; shift: boolean; meta: boolean }): void;\n}\n\nexport interface UseInputOptions {\n /** Whether to capture input (boolean or Ref<boolean>) */\n active?: boolean | Ref<boolean>;\n /** Whether to capture input (alias for active, boolean or Ref<boolean>) */\n isActive?: boolean | Ref<boolean>;\n /** Ink-compatible input callback */\n handler?: (input: string, key: Key) => void;\n /** Called on key press */\n onKey?: KeyHandler;\n /** Called on character input */\n onChar?: (char: string) => void;\n /** Called on Enter */\n onSubmit?: () => void;\n /** Called on Escape */\n onEscape?: () => void;\n /** Called on arrow keys */\n onArrow?: (direction: \"up\" | \"down\" | \"left\" | \"right\") => void;\n /** Called when an IME composition starts */\n onCompositionStart?: () => void;\n /** Called when IME preedit text changes */\n onCompositionUpdate?: (text: string, cursor: number) => void;\n /** Called when IME commits text */\n onCompositionEnd?: (text: string) => void;\n}\n\nexport interface UseInputReturn {\n isActive: Ref<boolean>;\n lastKey: Ref<string | null>;\n enable: () => void;\n disable: () => void;\n}\n\nexport type InputHandler = (input: string, key: Key) => void;\n\nexport interface UseInputHandlerOptions {\n isActive?: boolean | Ref<boolean>;\n}\n\nfunction toRef(value: boolean | Ref<boolean>): Ref<boolean> {\n return isRef(value) ? value : ref(value);\n}\n\nfunction keyName(event: KeyEvent): string {\n return event.char ?? event.key ?? \"\";\n}\n\nfunction toInkKey(event: KeyEvent): Key {\n const key = event.key;\n\n return {\n upArrow: key === \"up\",\n downArrow: key === \"down\",\n leftArrow: key === \"left\",\n rightArrow: key === \"right\",\n pageDown: key === \"pagedown\" || key === \"pageDown\",\n pageUp: key === \"pageup\" || key === \"pageUp\",\n home: key === \"home\",\n end: key === \"end\",\n return: key === \"enter\" || key === \"return\",\n escape: key === \"escape\" || key === \"esc\",\n ctrl: event.ctrl,\n shift: event.shift,\n tab: key === \"tab\" || key === \"backtab\",\n backspace: key === \"backspace\",\n delete: key === \"delete\",\n meta: event.meta,\n super: event.super,\n hyper: event.hyper,\n capsLock: event.capsLock,\n numLock: event.numLock,\n eventType: event.eventType,\n };\n}\n\nfunction emptyKey(): Key {\n return {\n upArrow: false,\n downArrow: false,\n leftArrow: false,\n rightArrow: false,\n pageDown: false,\n pageUp: false,\n home: false,\n end: false,\n return: false,\n escape: false,\n ctrl: false,\n shift: false,\n tab: false,\n backspace: false,\n delete: false,\n meta: false,\n super: false,\n hyper: false,\n capsLock: false,\n numLock: false,\n };\n}\n\nfunction inputValue(event: KeyEvent, key: Key): string {\n if (event.char) return event.char;\n if (key.return) return \"\\r\";\n return \"\";\n}\n\nfunction handleStructuredOptions(\n event: KeyEvent,\n options: UseInputOptions,\n lastKey: Ref<string | null>,\n) {\n const modifiers = {\n ctrl: event.ctrl,\n alt: event.alt,\n shift: event.shift,\n meta: event.meta,\n };\n const pressedKey = keyName(event);\n const inkKey = toInkKey(event);\n\n if (event.char) {\n lastKey.value = event.char;\n options.onChar?.(event.char);\n options.onKey?.(event.char, modifiers);\n return;\n }\n\n if (pressedKey) {\n lastKey.value = pressedKey;\n options.onKey?.(pressedKey, modifiers);\n }\n\n if (inkKey.return) options.onSubmit?.();\n if (inkKey.escape) options.onEscape?.();\n if (inkKey.upArrow) options.onArrow?.(\"up\");\n if (inkKey.downArrow) options.onArrow?.(\"down\");\n if (inkKey.leftArrow) options.onArrow?.(\"left\");\n if (inkKey.rightArrow) options.onArrow?.(\"right\");\n}\n\nexport function useInput(handler: InputHandler, options?: UseInputHandlerOptions): UseInputReturn;\nexport function useInput(options?: UseInputOptions): UseInputReturn;\nexport function useInput(\n handlerOrOptions: InputHandler | UseInputOptions = {},\n handlerOptions: UseInputHandlerOptions = {},\n): UseInputReturn {\n const options =\n typeof handlerOrOptions === \"function\"\n ? { handler: handlerOrOptions, isActive: handlerOptions.isActive }\n : handlerOrOptions;\n\n const activeSource = options.isActive ?? options.active ?? true;\n const isActive = toRef(activeSource);\n const lastKey = ref<string | null>(null);\n const streams = useStreamsContext();\n let rawModeEnabled = false;\n\n const syncRawMode = (isEnabled: boolean) => {\n if (rawModeEnabled === isEnabled) return;\n streams.setRawMode(isEnabled);\n rawModeEnabled = isEnabled;\n };\n\n watch(lastKeyEvent, (event) => {\n if (!event || !isActive.value) return;\n\n const inkKey = toInkKey(event);\n const input = inputValue(event, inkKey);\n const pressedKey = keyName(event);\n\n if (input === \"c\" && inkKey.ctrl && streams.internal_exitOnCtrlC) return;\n\n lastKey.value = pressedKey || null;\n options.handler?.(input, inkKey);\n handleStructuredOptions(event, options, lastKey);\n });\n\n watch(lastPasteEvent, (event) => {\n if (!event || !isActive.value || hasActivePasteHandlers()) return;\n\n lastKey.value = event.text;\n options.handler?.(event.text, emptyKey());\n options.onChar?.(event.text);\n });\n\n watch(lastCompositionEvent, (event) => {\n if (!event || !isActive.value) return;\n\n if (event.type === \"compositionstart\") {\n options.onCompositionStart?.();\n } else if (event.type === \"compositionupdate\") {\n options.onCompositionUpdate?.(event.text, event.cursor);\n } else {\n options.onCompositionEnd?.(event.text);\n }\n });\n\n watch(isActive, syncRawMode, { immediate: true });\n onUnmounted(() => syncRawMode(false));\n\n const enable = () => {\n isActive.value = true;\n };\n\n const disable = () => {\n isActive.value = false;\n };\n\n return {\n isActive,\n lastKey,\n enable,\n disable,\n };\n}\n\n/**\n * Shorthand for handling specific key combinations\n */\nexport function useKeyPress(\n key: string,\n handler: () => void,\n options: { ctrl?: boolean; alt?: boolean; shift?: boolean; meta?: boolean } = {},\n) {\n const { ctrl = false, alt = false, shift = false, meta = false } = options;\n\n useInput({\n onKey: (pressedKey, modifiers) => {\n const matches =\n pressedKey.toLowerCase() === key.toLowerCase() &&\n modifiers.ctrl === ctrl &&\n modifiers.alt === alt &&\n modifiers.shift === shift &&\n modifiers.meta === meta;\n\n if (matches) {\n handler();\n }\n },\n });\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vizejs/fresco",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.413.0",
|
|
4
4
|
"description": "Vue TUI framework - Build terminal UIs with Vue.js",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cli",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"access": "public"
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
|
-
"@vizejs/fresco-native": "0.
|
|
52
|
+
"@vizejs/fresco-native": "0.413.0"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
55
|
"@types/node": "25.9.2",
|