// Metro module 4056 (f4057). import { createZustandStore } from "../../../lib/ZustandStore"; import { PortalKeyboardState } from "./PortalKeyboard"; import { v4 } from "../../../_bundle/Module514"; const zustandStore = (0, createZustandStore)(() => ({ keyboard: null, state: PortalKeyboardState.EMPTY, renderers: [] })); const r18 = { getField: zustandStore.getField, useField: zustandStore.useField }; export { r18 as PortalKeyboardUIStore }; export function isPortalKeyboardOpenForChannel(a0) { const state = zustandStore.getState(); const state2 = state.state; return state.keyboard?.channelId === a0 && (state2 === PortalKeyboardState.REQUEST_OPEN || state2 === PortalKeyboardState.OPENING || state2 === PortalKeyboardState.OPEN); } export function openPortalKeyboard(a0, a1, a2) { const state = zustandStore.getState(); const { state: state2, keyboard } = state; let r17 = keyboard?.type === a0 && keyboard?.channelId === a1; const r26 = state2 === PortalKeyboardState.REQUEST_OPEN || state2 === PortalKeyboardState.OPENING || state2 === PortalKeyboardState.OPEN; if (r17) { r17 = r26; } if (!r17) { zustandStore.setState({ keyboard: { id: v4(), type: a0, channelId: a1, chatInputRef: a2 }, state: PortalKeyboardState.REQUEST_OPEN }); } } export function registerPortalKeyboardRenderer(c13814_0) { zustandStore.setState((state) => { const renderers = state.renderers; return renderers.includes(c13814_0) ? state : { renderers: [...state.renderers, c13814_0] }; }); return () => { zustandStore.setState((state) => ({ renderers: state.renderers.filter((renderer) => renderer !== c13814_0) })); }; } export function handlePortalKeyboardOpen(handlerId) { zustandStore.setState((a0) => a0.keyboard != null ? a0.keyboard.handlerId !== handlerId ? { keyboard: { ...a0.keyboard, handlerId }, state: PortalKeyboardState.OPEN } : a0 : a0); } export function closePortalKeyboard() { zustandStore.setState({ state: PortalKeyboardState.CLOSED, keyboard: null }); } export function closePortalKeyboardIfUnhandled() { const state2 = zustandStore.getState(); const { keyboard, state } = state2; if (!(keyboard == null && state === PortalKeyboardState.CLOSED) && keyboard?.handlerId == null) { zustandStore.setState({ state: PortalKeyboardState.CLOSED, keyboard: null }); } } export function closePortalKeyboardRequest() { const field = zustandStore.getField("state"); if (field !== PortalKeyboardState.CLOSED && field !== PortalKeyboardState.REQUEST_CLOSE) { zustandStore.setState({ state: PortalKeyboardState.REQUEST_CLOSE }); } }