// iOS 26 device frame — status bar, nav bar, glass pill, keyboard function IOSStatusBar({ dark=false, time='9:41' }) { const c = dark ? '#fff' : '#000'; return (
{time}
); } function IOSGlassPill({ children, dark=false, style={} }) { return (
{children}
); } function IOSNavBar({ title='Title', dark=false, trailingIcon=true }) { const muted = dark ? 'rgba(255,255,255,0.6)' : '#404040'; const text = dark ? '#fff' : '#000'; const pillIcon = (content) => (
{content}
); return (
{pillIcon()} {trailingIcon && pillIcon()}
{title}
); } function IOSListRow({ title, detail, icon, chevron=true, isLast=false, dark=false }) { const text = dark ? '#fff' : '#000'; const sec = dark ? 'rgba(235,235,245,0.6)' : 'rgba(60,60,67,0.6)'; const ter = dark ? 'rgba(235,235,245,0.3)' : 'rgba(60,60,67,0.3)'; const sep = dark ? 'rgba(84,84,88,0.65)' : 'rgba(60,60,67,0.12)'; return (
{icon &&
}
{title}
{detail && {detail}} {chevron && } {!isLast &&
}
); } function IOSList({ header, children, dark=false }) { const hc = dark ? 'rgba(235,235,245,0.6)' : 'rgba(60,60,67,0.6)'; const bg = dark ? '#1C1C1E' : '#fff'; return (
{header &&
{header}
}
{children}
); } function IOSDevice({ children, width=402, height=874, dark=false, title, keyboard=false }) { return (
{title!==undefined && }
{children}
{keyboard && }
); } function IOSKeyboard({ dark=false }) { const glyph = dark ? 'rgba(255,255,255,0.7)' : '#595959'; const sugg = dark ? 'rgba(255,255,255,0.6)' : '#333'; const keyBg = dark ? 'rgba(255,255,255,0.22)' : 'rgba(255,255,255,0.85)'; const key = (content, { w, flex, ret, fs=25, k }={}) => (
{content}
); const row = (keys, pad=0) =>
{keys.map(l=>key(l,{flex:true,k:l}))}
; return (
{['"The"','the','to'].map((w,i) => ( {i>0 &&
}
{w}
))}
{row(['q','w','e','r','t','y','u','i','o','p'])} {row(['a','s','d','f','g','h','j','k','l'],20)}
{key(,{w:45,k:'shift'})}
{['z','x','c','v','b','n','m'].map(l=>key(l,{flex:true,k:l}))}
{key(,{w:45,k:'del'})}
{key('ABC',{w:92.25,fs:18,k:'abc'})} {key('',{flex:true,k:'space'})} {key(,{w:92.25,ret:true,k:'ret'})}
); } Object.assign(window, { IOSDevice, IOSStatusBar, IOSNavBar, IOSGlassPill, IOSList, IOSListRow, IOSKeyboard });