1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,49954,e=>{"use strict";var t=e.i(46628),a=e.i(90994),s=e.i(55236),r=e.i(25322),n=e.i(29373),i=e.i(65308),o=e.i(19475),l=e.i(87349),d=e.i(7085),c=e.i(68351);let p="https://github.com/navbuildz/typefire-builds/releases/latest/download/TypeFire.dmg",h="https://chromewebstore.google.com/detail/typefire/ihnpfaogaobdjipdkdpmgbbhncjkbahj";function m({size:e="lg",showChrome:a=!1,showPricingLink:s=!0,variant:n="default"}){let o="lg"===e?"px-5 py-2.5 text-sm font-semibold rounded-xl":"px-4 py-1.5 text-xs font-semibold rounded-lg",l=!1===(0,c.useIsMac)(),d=(a,s)=>(0,t.jsxs)("a",{href:p,"data-cta":s,className:a,children:[(0,t.jsx)(r.Download,{className:"lg"===e?"h-[18px] w-[18px]":"h-3.5 w-3.5"}),"Download free for Mac"]}),m=(a,s)=>(0,t.jsxs)("a",{href:h,"data-cta":s,target:"_blank",rel:"noopener noreferrer",className:a,children:[(0,t.jsx)(i.Chrome,{className:"lg"===e?"h-[18px] w-[18px]":"h-3.5 w-3.5"}),"Add to Chrome, it is free"]}),u=`inline-flex items-center gap-2 bg-accent-warm text-white ${o} transition-all hover:brightness-110 active:scale-[0.98]`,x=`inline-flex items-center gap-2 border border-border bg-background text-foreground ${o} transition-all hover:border-accent hover:text-accent`;return"pair"===n?(0,t.jsxs)("div",{className:"flex flex-wrap items-center justify-center gap-3",children:[l?m(u,"chrome-install:page-kit-primary"):d(u,"mac-download:page-kit"),(0,t.jsx)("a",{href:"/pricing","data-cta":"pricing:page-kit",className:`inline-flex items-center gap-2 border border-border bg-background text-foreground ${o} transition-all hover:border-accent hover:text-accent active:scale-[0.98]`,children:"See pricing"})]}):(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-3",children:[l?m(u,"chrome-install:page-kit-primary"):d(u,"mac-download:page-kit"),l&&d(x,"mac-download:page-kit-secondary"),a&&!l&&(0,t.jsxs)("a",{href:h,"data-cta":"chrome-install:page-kit",target:"_blank",rel:"noopener noreferrer",className:`inline-flex items-center gap-2 border border-border bg-background text-foreground ${o} transition-all hover:border-accent hover:text-accent active:scale-[0.98]`,children:[(0,t.jsx)(i.Chrome,{className:"lg"===e?"h-[18px] w-[18px]":"h-3.5 w-3.5"}),"Add to Chrome"]}),s&&(0,t.jsx)("a",{href:"/pricing",className:"text-sm font-medium text-muted underline-offset-4 transition-colors hover:text-accent hover:underline",children:"See what $18 adds"}),(0,t.jsx)("span",{className:"w-full text-[12.5px] text-muted",children:"7 day Pro trial, no card required."})]})}function u({children:e}){return(0,t.jsx)("p",{className:"mt-4 text-xs text-muted",children:e??(0,t.jsx)(t.Fragment,{children:"Free text expander, clipboard manager and markdown notes. $18 once for unlimited clips, notes sync and AI prompts."})})}function x({children:e,id:a,className:s="",rhythm:r="base",bleed:n=!1}){let i=(0,t.jsx)("div",{className:`mx-auto max-w-6xl px-6 ${"tight"===r?"sec-tight":"loud"===r?"sec-loud":"sec-base"} ${s}`,children:e});return n?(0,t.jsx)("section",{id:a,className:"scroll-mt-32 border-y border-border bg-surface/40",children:i}):(0,t.jsx)("section",{id:a,className:"scroll-mt-32",children:i})}function g({eyebrow:e,title:a,lede:s,children:r}){return(0,t.jsxs)("div",{className:"max-w-2xl",children:[e&&(0,t.jsx)("span",{className:"eyebrow",children:e}),(0,t.jsx)("h2",{className:`h-section text-3xl sm:text-4xl ${e?"mt-3":""}`,children:a}),s&&(0,t.jsx)("p",{className:"lede mt-4",children:(0,d.noOrphanNode)(s)}),r]})}function y({className:e=""}){return(0,t.jsx)("div",{"aria-hidden":!0,className:`pointer-events-none absolute -top-24 left-1/2 h-72 w-[42rem] -translate-x-1/2 rounded-full bg-accent-glow blur-3xl ${e}`})}function f({eyebrow:e,h1:a,lede:s,showChrome:r=!1,showPricingLink:n=!0,micro:i,children:o,stacked:l=!1,cta:d="default"}){return(0,t.jsxs)("header",{className:"relative overflow-hidden border-b border-border",children:[(0,t.jsx)(y,{}),(0,t.jsx)("div",{className:"pointer-events-none absolute inset-x-0 top-0 h-56",style:{background:"linear-gradient(to bottom, rgba(255,120,50,0.05) 0%, transparent 100%)"}}),(0,t.jsx)("div",{className:"relative mx-auto max-w-6xl px-6 pt-36 pb-20",children:(0,t.jsxs)("div",{className:l?"flex flex-col items-center text-center":o?"grid items-center gap-10 lg:grid-cols-[1fr_1.05fr] lg:gap-14":"max-w-3xl",children:[(0,t.jsxs)("div",{className:l?"flex max-w-3xl flex-col items-center":"",children:[e&&(0,t.jsx)("span",{className:"eyebrow",children:e}),(0,t.jsx)("h1",{className:`h-display text-4xl sm:text-5xl ${e?"mt-3":""}`,children:a}),(0,t.jsx)("div",{className:"lede mt-5 text-[17px]",children:s}),(0,t.jsxs)("div",{className:l?"mt-8 flex flex-col items-center":"mt-8",children:[(0,t.jsx)(m,{showChrome:r,showPricingLink:n,variant:d}),i&&(0,t.jsx)(u,{children:i})]})]}),l?o&&(0,t.jsx)("div",{className:"mt-14 w-full max-w-5xl",children:o}):o]})})]})}function b({items:e,columns:a}){let s=3!==a&&(a||e.length%3!=0)?"sm:grid-cols-2":"sm:grid-cols-2 lg:grid-cols-3";return(0,t.jsx)("div",{className:`mt-10 grid items-stretch gap-3 ${s}`,children:e.map(e=>(0,t.jsxs)("div",{className:"rounded-2xl border border-border bg-background p-5 transition-colors hover:border-accent/40 sm:p-6",children:[(0,t.jsx)("h3",{className:"text-[16.5px] font-semibold leading-snug",children:e.title}),(0,t.jsx)("p",{className:"mt-2.5 text-[14.5px] leading-relaxed text-muted",children:"string"==typeof e.body?(0,d.noOrphan)(e.body):e.body})]},e.title))})}function w({items:e}){return(0,t.jsx)("ol",{className:"mt-10 space-y-0",children:e.map((e,a)=>(0,t.jsxs)("li",{className:`flex gap-5 py-6 ${a>0?"border-t border-border":"pt-0"}`,children:[(0,t.jsx)("span",{className:"mt-0.5 shrink-0 font-mono text-sm font-semibold tabular-nums text-accent",children:String(a+1).padStart(2,"0")}),(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-[17px] font-semibold",children:e.title}),(0,t.jsx)("p",{className:"mt-1.5 text-[15px] leading-relaxed text-muted",children:"string"==typeof e.body?(0,d.noOrphan)(e.body):e.body})]})]},e.title))})}function v({value:e}){let r=/^(no\b|none\b)/i.test(e.trim());return(0,t.jsxs)("span",{className:"flex items-start gap-2",children:[r?(0,t.jsx)(s.X,{className:"mt-[3px] h-4 w-4 shrink-0 text-red-500"}):(0,t.jsx)(a.Check,{className:"mt-[3px] h-4 w-4 shrink-0 text-emerald-600"}),(0,t.jsx)("span",{className:r?"text-muted":"text-foreground",children:e})]})}function k({competitor:e,rows:a,note:s}){return(0,t.jsxs)("div",{className:"mt-10",children:[(0,t.jsx)("div",{className:"overflow-x-auto rounded-xl border border-border",children:(0,t.jsxs)("table",{className:"w-full table-fixed border-collapse text-sm",children:[(0,t.jsxs)("colgroup",{children:[(0,t.jsx)("col",{className:"w-[30%]"}),(0,t.jsx)("col",{className:"w-[35%]"}),(0,t.jsx)("col",{className:"w-[35%]"})]}),(0,t.jsx)("thead",{className:"bg-surface",children:(0,t.jsxs)("tr",{children:[(0,t.jsx)("th",{className:"px-4 py-3 text-left font-semibold",children:"Â "}),(0,t.jsx)("th",{className:"px-4 py-3 text-left font-semibold text-accent",children:"TypeFire"}),(0,t.jsx)("th",{className:"px-4 py-3 text-left font-semibold",children:e})]})}),(0,t.jsx)("tbody",{children:a.map(e=>(0,t.jsxs)("tr",{className:"border-t border-border align-top",children:[(0,t.jsx)("th",{scope:"row",className:"px-4 py-3 text-left font-medium text-fg-soft",children:e.label}),(0,t.jsx)("td",{className:"px-4 py-3",children:(0,t.jsx)(v,{value:e.typefire})}),(0,t.jsx)("td",{className:"px-4 py-3",children:(0,t.jsx)(v,{value:e.them})})]},e.label))})]})}),s&&(0,t.jsx)("p",{className:"mt-3 text-[13px] text-muted",children:s})]})}function j({competitor:e,items:a}){return(0,t.jsxs)(x,{rhythm:"base",bleed:!0,children:[(0,t.jsx)(g,{eyebrow:"Trade-offs",title:(0,t.jsxs)(t.Fragment,{children:["Where ",e," is genuinely better"]}),lede:(0,t.jsxs)(t.Fragment,{children:["Three things ",e," does better. If any of them is your deciding factor, use ",e,"."]})}),(0,t.jsx)(b,{items:a})]})}let N=[{name:"TypeFire",price:"$18 once",detail:"Free tier, then one payment",us:!0},{name:"ClipBook",price:"$9.99",detail:"No free tier at all"},{name:"Clibo",price:"$14.99",detail:"One time"},{name:"Supaste",price:"$29",detail:"No free tier"},{name:"CopyMagic",price:"$39.99",detail:"One time"},{name:"Paste",price:"$89.99",detail:"Lifetime, or $3.99/mo"},{name:"TextExpander",price:"$60/yr",detail:"Five snippets free, then a subscription"}];function T({closer:e}){return(0,t.jsxs)(x,{rhythm:"base",children:[(0,t.jsx)(g,{eyebrow:"What it costs",title:"Eighteen dollars. Once.",lede:(0,t.jsx)(t.Fragment,{children:"TypeFire Pro is a single payment that unlocks unlimited clips, Selection Prompts, Prompt Chains, notes sync and note version history. There is no subscription and no per-seat pricing."})}),(0,t.jsx)("div",{className:"mt-10 grid gap-2.5 sm:grid-cols-2 lg:grid-cols-3",children:N.map(e=>(0,t.jsxs)("div",{className:`rounded-xl border p-4 ${e.us?"border-accent/45 bg-accent-glow/40":"border-border"}`,children:[(0,t.jsxs)("div",{className:"flex items-baseline justify-between gap-3",children:[(0,t.jsx)("span",{className:`font-semibold ${e.us?"text-accent":""}`,children:e.name}),(0,t.jsx)("span",{className:"font-mono text-sm tabular-nums",children:e.price})]}),(0,t.jsx)("p",{className:"mt-1 text-[13px] text-muted",children:e.detail})]},e.name))}
1),null!==e&&(0,t.jsx)("p",{className:"mt-6 max-w-[62ch] text-[15px] text-fg-soft",children:e??(0,t.jsx)(t.Fragment,{children:"Two months of Paste, or all of TypeFire."})})]})}function S(){return(0,t.jsx)(x,{rhythm:"base",children:(0,t.jsxs)("div",{className:"rounded-2xl border border-border bg-background p-7 sm:p-9",children:[(0,t.jsxs)("div",{className:"max-w-2xl",children:[(0,t.jsx)("span",{className:"eyebrow",children:"Clips and snippets, connected"}),(0,t.jsx)("h2",{className:"h-section mt-3 text-2xl sm:text-3xl",children:"Turn anything you copy into something you type"}),(0,t.jsx)("p",{className:"mt-4 text-[15px] leading-relaxed text-fg-soft",children:"Right-click a clip, choose Save as snippet, give it an abbreviation. The thing you copied once becomes something you type three characters to get, forever. The same conversions run across all three surfaces: a clip becomes a note, and a note you keep rewriting becomes a snippet. Snippets, clips and notes live in one app, which is what makes each of those a single click rather than an export and an import."})]}),(0,t.jsx)("ol",{className:"mt-8 grid items-stretch gap-3 sm:grid-cols-3",children:[["Copy something","It lands in Clips alongside everything else you copied today."],["Save as snippet","It leaves your rolling history and enters your permanent library."],["Give it a trigger",(0,t.jsxs)(t.Fragment,{children:["Type ",(0,t.jsx)(o.Trigger,{children:"inv"})," from then on and never look it up again."]})]].map(([e,a],s)=>(0,t.jsxs)("li",{className:"rounded-xl border border-border bg-surface/40 p-5",children:[(0,t.jsx)("span",{className:"font-mono text-sm font-semibold tabular-nums text-accent",children:String(s+1).padStart(2,"0")}),(0,t.jsx)("h3",{className:"mt-2.5 text-[15.5px] font-semibold",children:e}),(0,t.jsx)("p",{className:"mt-1.5 text-[14px] leading-relaxed text-muted",children:a})]},String(e)))})]})})}function A(){return(0,t.jsxs)(x,{rhythm:"base",bleed:!0,children:[(0,t.jsx)(g,{eyebrow:"What gets captured",title:"A clipboard manager you can tell what to ignore",lede:"A clipboard manager sees everything you copy. Until 4.0 the only control over that was a password-manager exclusion you could not see. There are three now, none of them gated, and the limits of the strongest one are stated rather than buried."}),(0,t.jsx)(b,{columns:3,items:[{title:"Turn image capture off",body:"One switch. Text keeps being captured and pictures stop. Images you have already saved are kept rather than deleted, which is not what most people expect a privacy toggle to do, so it is worth saying."},{title:"Name apps to skip",body:"Add any application and TypeFire ignores what you copy in it. Choose from the apps it has already seen, with clip counts, or browse to any app on your Mac. Each app gets one of three settings: allow it, block images only, or block everything you copy there. The middle one is what most people want for a work tool, keeping the text and losing the screenshots."},{title:"The password managers, now visible",body:"TypeFire has always ignored password managers. That list is in Settings now, twenty-three apps including 1Password, Bitwarden, KeePassXC, Dashlane and Apple Passwords, blocked by bundle ID in code rather than by a setting you have to find. It shows which of them you have installed, and any one can be overridden."},{title:"Encrypted on your Mac",body:"Clips are stored in an encrypted database on your Mac. The key is generated on your machine and kept in the macOS Keychain. Images sit beside it, readable only by your own account."},{title:"Secrets expire in minutes",body:"Card numbers and high-entropy strings are detected and deleted after five minutes by default, adjustable in Settings. Everything else follows the retention you choose."},{title:"An on-device AI option",body:"Apple Intelligence and local models through Ollama or LM Studio run entirely on your machine. If you pick Claude, OpenAI, or Gemini instead, text goes to that provider directly; TypeFire operates no server in that path."}]}),(0,t.jsxs)("div",{className:"mt-8 max-w-3xl rounded-2xl border border-border bg-background p-6",children:[(0,t.jsx)("h3",{className:"text-[15.5px] font-semibold",children:"Where blocking by app stops being a guarantee"}),(0,t.jsx)("p",{className:"mt-2.5 text-[14.5px] leading-relaxed text-muted",children:"macOS does not tell an application which other application wrote to the clipboard. TypeFire matches on the app that was in front at the time, plus any app that identifies itself using the standard convention. That covers the overwhelming majority of real cases and it is not absolute. The protection that does not depend on a guess is the concealed-content marker: password managers mark what they copy, and TypeFire never stores it whatever else is set."}),(0,t.jsxs)("p",{className:"mt-4 text-[14.5px] leading-relaxed text-muted",children:["The app list also covers what you ",(0,t.jsx)("strong",{className:"font-semibold text-fg",children:"copy"}
1),", not screenshots you save as a file. A PNG on your desktop records nothing about what was on screen, so TypeFire matches those to an app where it can and skips them when it does. It is right in the ordinary case and it is not a promise: to keep saved screenshots out entirely, turn off Save screenshots to Clips."]})]})]})}function I(){return(0,t.jsx)(x,{rhythm:"tight",children:(0,t.jsxs)("div",{className:"mx-auto max-w-3xl rounded-2xl border border-border bg-surface/40 p-6 sm:p-7",children:[(0,t.jsx)("h2",{className:"text-[1.0625rem] font-semibold leading-snug text-fg",children:"The graph is free, and it needs nothing"}),(0,t.jsxs)("div",{className:"mt-3 space-y-3 text-[0.9375rem] leading-relaxed text-fg-soft",children:[(0,t.jsxs)("p",{children:["Press ",(0,t.jsx)(o.Kbd,{keys:["`"],label:"Backtick"})," and TypeFire draws every note, snippet and clip on one canvas, using the links, tags and folders already in your files. Nothing to download and nothing to switch on. A connection you made is drawn solid, one TypeFire worked out is drawn dashed."]}),(0,t.jsxs)("p",{children:["Turn on"," ",(0,t.jsx)("strong",{className:"font-semibold text-fg",children:"Weave"})," and search starts matching what you meant rather than the exact words you typed. It runs on your Mac, with no account and nothing uploaded."]})]})]})})}function F({question:e,children:a}){return(0,t.jsx)(x,{rhythm:"tight",children:(0,t.jsxs)("div",{className:"mx-auto max-w-3xl rounded-2xl border border-border bg-surface/40 p-6 sm:p-7",children:[(0,t.jsx)("h2",{className:"text-[1.0625rem] font-semibold leading-snug text-fg",children:e}),(0,t.jsx)("div",{className:"mt-3 space-y-3 text-[0.9375rem] leading-relaxed text-fg-soft",children:a})]})})}function M({items:e,title:a="Frequently asked questions",lede:s}){return(0,t.jsx)(x,{rhythm:"base",id:"faq",children:(0,t.jsx)(l.FaqGroups,{title:a,lede:s,groups:[{label:"All",items:e}]})})}function O(e){return{"@context":"https://schema.org","@type":"FAQPage",mainEntity:e.map(e=>({"@type":"Question",name:e.q,acceptedAnswer:{"@type":"Answer",text:e.a}}))}}function P(e,t){return{"@context":"https://schema.org","@type":"BreadcrumbList",itemListElement:[{"@type":"ListItem",position:1,name:"Home",item:"https://typefire.app/"},{"@type":"ListItem",position:2,name:e,item:`https://typefire.app${t}`}]}}function C({title:e,lede:a,showChrome:s=!1,showPricingLink:r=!0}){return(0,t.jsx)("section",{className:"border-t border-border",children:(0,t.jsx)("div",{className:"gradient-mesh",children:(0,t.jsx)("div",{className:"mx-auto max-w-6xl px-6 sec-loud",children:(0,t.jsxs)("div",{className:"max-w-2xl",children:[(0,t.jsx)("h2",{className:"h-section text-3xl sm:text-4xl",children:e}),a&&(0,t.jsx)("p",{className:"lede mt-4",children:(0,d.noOrphanNode)(a)}),(0,t.jsxs)("div",{className:"mt-8",children:[(0,t.jsx)(m,{showChrome:s,showPricingLink:r}),(0,t.jsx)(u,{})]}),(0,t.jsxs)("p",{className:"mt-5 flex flex-wrap items-center gap-x-5 gap-y-2 text-sm text-muted",children:[(0,t.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,t.jsx)(o.Kbd,{hotkey:"quickPaste",label:"Command Control 2"})," your clips"]}),(0,t.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,t.jsx)(o.Kbd,{hotkey:"snippetSearch",label:"Command Control 1"})," your snippets"]})]})]})})})})}function z({links:e,title:a="Keep reading"}){return(0,t.jsxs)(x,{rhythm:"tight",children:[(0,t.jsx)("h2",{className:"text-sm font-semibold uppercase tracking-wider text-muted",children:a}),(0,t.jsx)("div",{className:"mt-5 grid gap-2.5 sm:grid-cols-2 lg:grid-cols-3",children:e.map(e=>(0,t.jsxs)("a",{href:e.href,className:"group rounded-xl border border-border p-4 transition-colors hover:border-accent",children:[(0,t.jsxs)("span",{className:"flex items-center justify-between gap-3 text-[15px] font-medium",children:[e.label,(0,t.jsx)(n.ArrowRight,{className:"h-4 w-4 shrink-0 text-muted transition-colors group-hover:text-accent"})]}),e.note&&(0,t.jsx)("p",{className:"mt-1 text-[13px] text-muted",children:e.note})]},e.href))})]})}e.s(["AnswerBlock",()=>F,"CHROME_STORE_URL",0,h,"ClipToSnippetCallout",()=>S,"CompareTable",()=>k,"CtaMicro",()=>u,"DMG_URL",0,p,"DownloadCta",()=>m,"FaqBlock",()=>M,"FinalCta",()=>C,"HeroGlow",()=>y,"LocalIndexNote",()=>I,"NumberedList",()=>w,"PageHero",()=>f,"PriceBlock",()=>T,"PrivacyScope",()=>A,"ReasonList",()=>b,"RelatedLinks",()=>z,"Section",()=>x,"SectionHead",()=>g,"WhereTheyWin",()=>j,"breadcrumbSchema",()=>P,"faqSchema",()=>O])},54875,31113,e=>{"use strict";var t=e.i(37816);let a=(0,t.default)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);e.s(["User",()=>a],54875);let s=(0,t.default)("flame",[["path",{d:"M12 3q1 4 4 6.5t3 5.5a1 1 0 0 1-14 0 5 5 0 0 1 1-3 1 1 0 0 0 5 0c0-2-1.5-3-1.5-5q0-2 2.5-4",ke
1y:"1slcih"}]]);e.s(["Flame",()=>s],31113)},12294,e=>{"use strict";let t=(0,e.i(37816).default)("import",[["path",{d:"M12 3v12",key:"1x0j5s"}],["path",{d:"m8 11 4 4 4-4",key:"1dohi6"}],["path",{d:"M8 5H4a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-4",key:"1ywtjm"}]]);e.s(["Import",()=>t],12294)},54632,e=>{"use strict";let t=(0,e.i(37816).default)("shield-check",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);e.s(["ShieldCheck",()=>t],54632)},61382,e=>{"use strict";let t=(0,e.i(37816).default)("arrow-left-right",[["path",{d:"M8 3 4 7l4 4",key:"9rb6wj"}],["path",{d:"M4 7h16",key:"6tx8e3"}],["path",{d:"m16 21 4-4-4-4",key:"siv7j2"}],["path",{d:"M20 17H4",key:"h6l3hr"}]]);e.s(["ArrowLeftRight",()=>t],61382)},39916,e=>{"use strict";let t=(0,e.i(37816).default)("heart",[["path",{d:"M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5",key:"mvr1a0"}]]);e.s(["Heart",()=>t],39916)},47708,e=>{"use strict";let t=(0,e.i(37816).default)("feather",[["path",{d:"M12.67 19a2 2 0 0 0 1.416-.588l6.154-6.172a6 6 0 0 0-8.49-8.49L5.586 9.914A2 2 0 0 0 5 11.328V18a1 1 0 0 0 1 1z",key:"18jl4k"}],["path",{d:"M16 8 2 22",key:"vp34q"}],["path",{d:"M17.5 15H9",key:"1oz8nu"}]]);e.s(["Feather",()=>t],47708)},12342,e=>{"use strict";let t=(0,e.i(37816).default)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}
1],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]);e.s(["Sparkles",()=>t],12342)},21071,46083,e=>{"use strict";var t=e.i(37816);let a=(0,t.default)("crown",[["path",{d:"M11.562 3.266a.5.5 0 0 1 .876 0L15.39 8.87a1 1 0 0 0 1.516.294L21.183 5.5a.5.5 0 0 1 .798.519l-2.834 10.246a1 1 0 0 1-.956.734H5.81a1 1 0 0 1-.957-.734L2.02 6.02a.5.5 0 0 1 .798-.519l4.276 3.664a1 1 0 0 0 1.516-.294z",key:"1vdc57"}],["path",{d:"M5 21h14",key:"11awu3"}]]);e.s(["Crown",()=>a],21071);let s=(0,t.default)("rocket",[["path",{d:"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5",key:"qeys4"}],["path",{d:"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09",key:"u4xsad"}],["path",{d:"M9 12a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.4 22.4 0 0 1-4 2z",key:"676m9"}],["path",{d:"M9 12H4s.55-3.03 2-4c1.62-1.08 5 .05 5 .05",key:"92ym6u"}]]);e.s(["Rocket",()=>s],46083)},67695,e=>{"use strict";let t=(0,e.i(37816).default)("star",[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z",key:"r04s7s"}]]);e.s(["Star",()=>t],67695)},61640,e=>{"use strict";let t=(0,e.i(37816).default)("wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]]);e.s(["Wrench",()=>t],61640)},65249,e=>{"use strict";let t=(0,e.i(37816).default)("calendar-days",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}],["path",{d:"M8 14h.01",key:"6423bh"}],["path",{d:"M12 14h.01",key:"1etili"}],["path",{d:"M16 14h.01",key:"1gbofw"}],["path",{d:"M8 18h.01",key:"lrp35t"}],["path",{d:"M12 18h.01",key:"mhygvu"}],["path",{d:"M16 18h.01",key:"kzsmim"}]]);e.s(["CalendarDays",()=>t],65249)},34643,e=>{"use strict";var t=e.i(46628),a=e.i(69695),s=e.i(54875),r=e.i(31113),n=e.i(25322),i=e.i(65308),o=e.i(12294),l=e.i(54632),d=e.i(61382),c=e.i(39916),p=e.i(47708),h=e.i(12342),m=e.i(21071),u=e.i(46083),x=e.i(67695),g=e.i(61640),y=e.i(65249);let f=[{text:"I use TypeFire every single day, all day long. I love it.",who:"Works at Apple",hue:262,icon:"flame"},{text:"It instantly imported my 502 snippets. Flawless import.",who:"Moved over from TextExpander",hue:18,icon:"import"},{text:"Exactly what macOS has been needing: blazing fast, beautifully designed, and it respects your privacy without forcing a subscription.",who:"Physician",hue:200,icon:"shield"},{text:"TypeFire is the absolute replacement for TextExpander.",who:"Works at Apple",hue:300,icon:"swap"},{text:"I love your app. Love it. The only one that does what I want it to do.",who:"Mac user",hue:340,icon:"heart"},{text:"I'm loving the date math. Amazing, love it.",who:"ICU doctor",hue:150,icon:"calendar"},{text:"Incredibly lightweight. It has quickly become a go-to tool in my daily workflow.",who:"Physician",hue:120,icon:"feather"},{text:"The way you've handled the AI integrations is very elegant. A great implementation.",who:"Mac user",hue:220,icon:"sparkles"},{text:"This app is AWESOME! And I definitely want to buy the Pro version.",who:"Free user",hue:45,icon:"crown"},{text:"Love the app, and your development pace rocks.",who:"Longtime user",hue:290,icon:"rocket"},{text:"This app has so much potential. I'm really grateful that I found it.",who:"Mac user",hue:175,icon:"star"},{text:"Fantastic. Thank you for the very fast fix.",who:"EU keyboard user",hue:205,icon:"wrench"},{text:"Like it?? I LOVE IT!",who:"Reply to support",hue:28,icon:"heart"}],b=["Apple","Red Hat","Palo Alto Networks","HubSpot","Indeed","Sentry","Freshworks","Trustpilot","Bumble","Farfetch","Saint-Gobain","foodpanda","McKinsey","Accenture","Intuit","Instacart","Rakuten","Dow Jones","Hearst","Roku","xAI","Nuro","GitGuardian","Meltwater","DevRev","Wolt","Airwallex"];var w=e.i(68351),v=e.i(41602);let k={flame:r.Flame,import:o.Import,shield:l.ShieldCheck,swap:d.ArrowLeftRight,heart:c.Heart,feather:p.Feather,sparkles:h.Sparkles,crown:m.Crown,rocket:u.Rocket,star:x.Star,wrench:g.Wrench,calendar:y.CalendarDays};function j({hue:e}){return(0,t.jsx)("span",{className:"sp-avatar",style:{"--h":e},"aria-hidden":"true",children:(0,t.jsx)(s.User,{})})}function N({q:e,className:a=""}){let s=k[e.icon];return(0,t.jsxs)("figure",{className:`sp-card ${a}`,children:[(0,t.jsx)("span",{className:"sp-q","aria-hidden":"true",children:"â"}),(0,t.jsx)("blockquote",{className:"sp-card-text",children:e.text}),(0,t.jsxs)("figcaption",{className:"sp-card-who",children:[(0,t.jsx)(j,{hue:e.hue}),(0,t.jsx)("span",{children:e.who}),(0,t.jsx)("span",{className:"sp-card-glyph","aria-hidden":"true",children:(0,t.jsx)(s,{})})]})]})}function T({lede:e,level:a="h2"}){return(0,t.jsxs)("div",{className:"sp-head",children:[(0,t.jsx)("span",{className:"eyebrow",children:"In their words"}),(0,t.jsx)(a,{id:"sp-title",className:"h-section text-3xl sm:text-4xl mt-3",children:"Loved by people who type all day."}),(0,t.jsx)("p",{className:"sp-lede",children:e})]})}function S({showChrome:e=!0}){let a=!1===(0,w.useIsMac)(),s=(e,a)=>(0,t.jsxs)("a",{href:"https://github.com/navbuildz/typefire-builds/releases/latest/download/TypeFire.dmg","data-cta":a,className:e,children:[(0,t.jsx)(n.Download,{"aria-hidden":"true"}),"Download free for Mac"]}),r=(e,a)=>(0,t.jsxs)("a",{href:"https://chromewebstore.google.com/detail/typefire/ihnpfaogaobdjipdkdpmgbbhncjkbahj","data-cta":a,target:"_blank",rel:"noopener noreferrer",className:e,children:[(0,t.jsx)(i.Chrome,{"aria-hidden":"true"}),"Add to Chrome"]});return(0,t.jsx)("div",{className:"sp-cta",children:(0,t.jsxs)("div",{className:"sp-cta-row",children:[a?r("sp-cta-btn","chrome-install:proof-primary"):s("sp-cta-btn","mac-download:proof"),a?s("sp-cta-btn is-ghost","mac-download:proof-secondary"):e&&r("sp-cta-btn is-ghost","chrome-install:proof")]})})}function A(){return(0,t.jsx)("p",{className:"sp-disclaimer",children:"Company names are places where our users work. They do not imply endorsement or affiliation."})}function I({className:e="",reverse:s=!1,speed:r=28,label:n,renderSet:i}){let o=(0,a.useRef)(null),l=(0,a.useRef)(0),d=(0,a.useRef)(!1),c=(0,a.useRef)(!1),p=(0,a.useRef)(0),h=(0,a.useRef)(0),m=(0,a.useRef)(0);(0,a.useEffect)(()=>{let e=o.current;if(!e)return;let t=window.matchMedia("(prefers-reduced-motion: reduce)").matches,a=0,n=performance.now(),i=o=>{let p=Math.min(64,o-n)/1e3;if(n=o,!d.current){let a;Math.abs(h.current)>4?(l.current+=h.current*p,h.current*=Math.pow(.02,p)):t||c.current||(l.current+=(s?-r:r)*p),(a=e.scrollWidth/2)>0&&(l.current=(l.current%a+a)%a,e.style.transform=`translateX(${-l.current}px)`)}a=requestAnimationFrame(i)};return a=requestAnimationFrame(i),()=>cancelAnimationFrame(a)},[s,r]);let u=()=>{d.current=!1};return(0,t.jsx)("div",{className:`sp-marquee sp-marquee-drag ${e}`,"aria-label":n,onPointerDown:e=>{d.current=!0,p.current=e.clientX,h.current=0,m.current=0,e.currentTarget.setPointerCapture(e.pointerId)},onPointerMove:e=>{if(!d.current||!o.current)return;let t=e.clientX-p.current;p.current=e.clientX,m.current+=Math.abs(t),l.current-=t,h.current=-(60*t);let a=o.current.scrollWidth/2;l.current=(l.current%a+a)%a,o.current.style.transform=`translateX(${-l.current}px)`},onPointerUp:u,onPointerCancel:u,onPointerEnter:()=>c.current=!0,onPointerLeave:()=>{c.current=!1,d.current=!1},onClickCapture:e=>{m.current>6&&(e.preventDefault(),e.stopPropagation())},children:(0,t.jsxs)("div",{className:"sp-track sp-track-js",ref:o,children:[(0,t.jsx)("div",{className:"sp-track-set",children:i()}),(0,t.jsx)("div",{className:"sp-track-set","aria-hidden":"true",children:i()})]})})}let F=[2,0,7,3,4,5,1,6,9,8,11,10],M=[22,16,21,17,20,16,18,21,15,20,14,16];function O({taped:e=!1,level:s="h2",cta:r}){let n=e?F.map(e=>f[e]):f.slice(0,10),i=(0,a.useRef)(null);return(0,a.useEffect)(()=>{let e=i.current;if(!e||"u"<typeof IntersectionObserver)return;let t=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&((0,v.track)("proof_view",{placement:r?"strip":"home",page_path:window.location.pathname}),t.disconnect())},{threshold:.5});return t.observe(e),()=>t.disconnect()},[r]),(0,t.jsxs)("section",{ref:i,id:"social-proof",className:`sp sp-a ${e?"sp-e":""} ${r?"sp-with-cta":""}`,"aria-labelledby":"sp-title",children:[(0,t.jsx)("div",{className:"sp-inner",children:(0,t.jsx)(T,{lede:"Unprompted reactions from users, in their own words.",level:s})}),(0,t.jsx)(I,{className:"sp-marquee-cards",label:"What people wrote to us",render
1Set:()=>n.map((a,s)=>e?(0,t.jsxs)("div",{className:"sp-e-pin",style:{"--r":`${[-2.5,1.8,-1.2,2.6,-1.8,1.2,-2.1][s%7]}deg`,"--dy":`${[0,14,4,18,2,10,6][s%7]}px`,"--w":`${M[s]}rem`},children:[(0,t.jsx)("span",{className:"sp-c-tape","aria-hidden":"true"}),(0,t.jsx)(N,{q:a})]},s):(0,t.jsx)(N,{q:a},s))}),(0,t.jsx)("div",{className:"sp-inner",children:(0,t.jsx)("p",{className:"sp-brands-label",children:"Used by people at"})}),(0,t.jsx)(I,{className:"sp-marquee-brands",reverse:!0,speed:22,renderSet:()=>b.map(e=>(0,t.jsx)("span",{className:"sp-pill",children:e},e))}),r&&(0,t.jsx)("div",{className:"sp-inner",children:(0,t.jsx)(S,{showChrome:r.showChrome})}),(0,t.jsx)("div",{className:"sp-inner"}),(0,t.jsx)(A,{})]})}function P(){return(0,t.jsx)(O,{taped:!0})}function C({showChrome:e=!0}){return(0,t.jsx)(O,{taped:!0,level:"p",cta:{showChrome:e}})}e.s(["SocialProof",()=>P,"SocialProofStrip",()=>C],34643)},64976,72710,e=>{"use strict";var t=e.i(37816);let a=(0,t.default)("maximize-2",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]]);e.s(["Maximize2",()=>a],64976);let s=(0,t.default)("clapperboard",[["path",{d:"m12.296 3.464 3.02 3.956",key:"qash78"}],["path",{d:"M20.2 6 3 11l-.9-2.4c-.3-1.1.3-2.2 1.3-2.5l13.5-4c1.1-.3 2.2.3 2.5 1.3z",key:"1h7j8b"}],["path",{d:"M3 11h18v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"4lm6w1"}],["path",{d:"m6.18 5.276 3.1 3.899",key:"zjj9t3"}]]);e.s(["Clapperboard",()=>s],72710)},71078,e=>{"use strict";let t={"/videos/tour-trailer.mp4":{youtubeId:"KnF4mVBFPzM",name:"TypeFire for macOS: a text expander, a clipboard manager and your markdown notes",description:"A full tour of TypeFire on macOS. A job application form fills itself from short triggers, then eight chapters: a blunt chat message rewritten in place, one keystroke running four AI prompts over call notes, a sign-in code pasted from clipboard history, a chart pasted by typing words that appear only inside the image, a git repo of markdown opened as notes, one search dropping text and then a picture into a half written email, and the graph filtered and reorganised into named themes.",duration:"PT82S",uploadDate:"2026-09-10T23:15:07-07:00",poster:"/images/poster-tour-trailer.jpg",width:1440,height:810,contentSize:5443816,keywords:"text expander, clipboard manager, markdown notes, macOS, Mac app, snippets",transcript:"Snippets, clips and notes. One app. Rewritten in place. No window opened. It knows what you copied. Those words were only ever pixels. No import. No conversion. One search over whatever you are in. Snippets, clips and notes, in one box. Everything you have written, connected. Take a kind out, or a whole vault. Then in, on one of them. Solid lines you drew. Dotted ones it found."},"/videos/tour-snippets.mp4":{name:"TypeFire Snippets in four chapters: text expansion, dynamic tokens, Selection Prompts and Prompt Chains",description:"The four Snippets cuts joined as one tour, each opening on its own chapter card. A payee form filled from saved snippets; one invoice snippet that asks for a value, calculates a date and remembers the clipboard; a blunt message rewritten in place with one shortcut; and four AI prompts run in sequence on one keystroke.",duration:"PT1M48S",uploadDate:"2026-09-11T17:30:00-07:00",poster:"/images/poster-tour-snippets.jpg",width:1440,height:810,contentSize:7561201,keywords:"text expander, snippets, dynamic tokens, fill-in fields, selection prompts, prompt chains, AI, macOS",transcript:"Five details Alex types into every form, saved once. Each one has a short trigger. Type the trigger in the field. Or give a snippet a keyboard shortcut. Every detail, correct, in a few keystrokes. Dynamic tokens. First, a link gets copied. One snippet, three tokens. One asks, one calculates, one remembers. Typed as zinv. Type it in the email. The fill token asks. The date token calculates: today plus thirty. The clipboard token remembers the link. Ask asks, date calculates, clipboard remembers. Selection Prompts. A Selection Prompt rewrites whatever you have selected. This one runs from a shortcut. Select the text, in any app. Press the prompt's shortcut. Rewritten in place, in the same box. Prompt Chains. A chain runs several prompts in a row, from one shortcut. Four prompts, each working on the last one's result. It runs from a shortcut, in any app. Select the notes and press the chain's shortcut. Each step feeds the next. Four jobs, one keystroke."},"/videos/tour-text-expansion.mp4":{youtubeId:"vghh8-iVHM8",name:"Text expansion on macOS: filling a whole form from saved snippets",description:"A payee form in a browser filled from five saved snippets. Three expand from a short abbreviation typed straight into the field and two are inserted from a global keyboard shortcut, with the chord shown on a keyboard overlay. Bank details, an address and a signature all land complete.",duration:"PT30S",uploadDate:"2026-09-10T23:15:07-07:00",poster:"/images/poster-tour-text-expansion.jpg",width:1440,height:810,contentSize:1735524,keywords:"text expander, text expansion, abbreviation, snippets, form filling, macOS",transcript:"Five details Alex types into every form, saved once. Each one has a short trigger. Type the trigger in the field. Or give a snippet a keyboard shortcut. Every detail, correct, in a few keystrokes."}
1,"/videos/tour-selection-prompts.mp4":{youtubeId:"q0UrAkxULd0",name:"Rewriting selected text in place on macOS with one shortcut",description:"A blunt, unsent message in a team chat. The pointer sweeps to select it, one shortcut runs a saved prompt, and a calmer professional version replaces it inside the same message box. No window opens and nothing is copied to the clipboard.",duration:"PT23S",uploadDate:"2026-09-10T23:15:07-07:00",poster:"/images/poster-tour-selection-prompts.jpg",width:1440,height:810,contentSize:1682487,keywords:"rewrite text, AI text transform, tone, selection prompt, macOS",transcript:"A Selection Prompt rewrites whatever you have selected. This one runs from a shortcut. Select the text, in any app. Press the prompt's shortcut. Rewritten in place, in the same box."},"/videos/tour-prompt-chains.mp4":{youtubeId:"IRfGWgzTDYc",name:"Running four AI prompts in sequence on one keystroke on macOS",description:"Twenty lines of messy call notes, selected, then one keystroke. Four prompts run in order, each working on the previous result: a summary, the action items pulled out, those turned into a checklist, and a Japanese translation added underneath. A stepper names each step as it runs.",duration:"PT29S",uploadDate:"2026-09-10T23:15:07-07:00",poster:"/images/poster-tour-prompt-chains.jpg",width:1440,height:810,contentSize:2324357,keywords:"prompt chain, AI workflow, summarize, translate, meeting notes, macOS",transcript:"A chain runs several prompts in a row, from one shortcut. Four prompts, each working on the last one's result. It runs from a shortcut, in any app. Select the notes and press the chain's shortcut. Each step feeds the next. Four jobs, one keystroke."},"/videos/tour-dynamic-tokens.mp4":{youtubeId:"o2qIYjA7ogQ",name:"Dynamic snippet tokens on macOS: fill-in fields, dates and the clipboard",description:"One invoice email snippet holding three live tokens. On expansion a small form asks for the client name and the amount, the due date calculates itself as today plus thirty days, and a link copied a minute earlier drops in from the clipboard. A checklist ticks each token as it resolves.",duration:"PT33S",uploadDate:"2026-09-10T23:15:07-07:00",poster:"/images/poster-tour-dynamic-tokens.jpg",width:1440,height:810,contentSize:2236928,keywords:"snippet variables, fill-in fields, date token, clipboard token, template",transcript:"First, a link gets copied. One snippet, three tokens. One asks, one calculates, one remembers. Typed as zinv. Type it in the email. The fill token asks. The date token calculates: today plus thirty. The clipboard token remembers the link. Ask asks, date calculates, clipboard remembers."},"/videos/tour-clipboard-history.mp4":{youtubeId:"SIJa1ZpVhQM",name:"Mac clipboard history: pasting an earlier copy and searching inside screenshots",description:"TypeFire's clipboard history on macOS. A chart is screenshotted and a sign-in code copied, both captured without saving anything. At a sign-in screen a shortcut brings up the clip list and the code pastes. Then in a document, typing a word that appears only inside the chart image finds that screenshot and the picture itself lands in the document.",duration:"PT45S",uploadDate:"2026-09-10T23:15:07-07:00",poster:"/images/poster-tour-clipboard-history.jpg",width:1440,height:810,contentSize:2948023,keywords:"clipboard manager, clipboard history, paste, screenshot OCR, macOS",transcript:"Everything you copy, kept, and searchable. A chart on a dashboard, worth keeping. A code arrives, and gets copied. Both are in Clips, newest first. Nothing was saved by hand. Where the code is needed, one shortcut brings the list. Pick the code. She never went back to the message. A document, and the chart belongs in it. Type what the chart said. Those words exist only as pixels in the picture. The picture itself lands in the document."},"/videos/tour-markdown-notes.mp4":{youtubeId:"97UdFs3izjU",name:"Markdown notes on macOS: opening an existing vault and editing it in place",description:"A journal of plain markdown files, then a git repo of docs added as a second vault with nothing imported or converted. One note holds a table, a checklist and nested bullets, all rendered while typing. Then version history on every save, a summary generated on the device, the connections between notes collected at the foot of the editor, and a paragraph captured from a browser that opens straight back in the editor.",duration:"PT66S",uploadDate:"2026-09-10T23:15:07-07:00",poster:"/images/poster-tour-markdown-notes.jpg",width:1440,height:810,contentSize:2719499,keywords:"markdown notes, Obsidian vault, note taking, plain text notes, macOS",transcript:"Notes are plain files in a folder. This one is a journal. Add a second folder. This one is a git repo of docs. It reads the folder where it is. No import, no conversion. One note, everything in it, rendered as you write. Type into a table cell. The pipes never show. A new bullet keeps its indent. Tick a task with a click. The outline jumps. Every save keeps a version. Summarized on the device. And it lands at the top of the note. Notes connect to each other, in the text. Every connection collects at the foot of the note. Follow one, and that note is the one you are in. From anywhere: select, and one shortcut captures it. Saved, and it is already open."},"/videos/tour-universal-search.mp4":{youtubeId:"RmmYLaykcLk",name:"Searching snippets, clips and notes from one box on macOS",description:"Mid-sentence in an email, one shortcut opens a single search box over it. The same results read as a grid or as a list. One word returns a snippet, a note and a screenshot ranked together, each previewed in turn, with the screenshot found by the words inside the image. Clicking it puts it in the email.",duration:"PT24S",uploadDate:"2026-09-10T23:15:07-07:00",poster:"/images/poster-tour-universal-search.jpg",width:1440,height:810,contentSize:1050597,keywords:"universal search, spotlight, search snippets clips notes, macOS",transcript:"Mid-sentence, one shortcut. Read it as a grid, or as a list. One word. Snippets, clips and notes, ranked together. A snippet, ready to type anywhere. A note from this week. A screenshot, found by the words inside it. Click it, and it is in the email."},"/videos/tour-the-graph.mp4":{youtubeId:"Mu4nM5wyHxA",name:"The TypeFire graph on macOS: everything you have written, organised into themes",description:"Everything in the app drawn as one graph and then worked rather than watched: the snippets taken out, the vault list opened and one vault dropped, and the whole board reorganising itself into named themes. Then into one theme, onto one note from months ago and the things it connects to, and a double click opens it in the editor.",duration:"PT25S",uploadDate:"2026-09-10T23:15:07-07:00",poster:"/images/poster-tour-the-graph.jpg",width:1440,height:810,contentSize:1450853,keywords:"knowledge graph, backlinks, wikilinks, note connections, Weave, macOS",transcript:"Everything Alex has written. Nearly seven hundred things. It is built from what you already have. Take a kind out. Or a whole vault. Then in, on one of them. Solid lines you drew. Dotted ones it found. Double click, and it is the note, ready to edit."},"/videos/tour-markdown-in-finder.mp4":{youtubeId:"le99AAUx7IQ",name:"Previewing and editing markdown files in Finder on macOS",description:"A Downloads folder where the markdown files carry TypeFire's icon, because the app becomes their editor. Space previews one rendered in Quick Look, with its heading, table and task list. A double click opens it in a real editor, and one button moves the file into a chosen folder in the vault, where it opens as a note.",duration:"PT30S",uploadDate:"2026-09-10T23:15:07-07:00",poster:"/images/poster-tour-markdown-in-finder.jpg",width:1440,height:810,contentSize:1797895,keywords:"Quick Look markdown, open md file, preview markdown, Finder, macOS",transcript:"Three of these are markdown, and they carry TypeFire's icon. Press space. Headings, a table, tasks, code. Not raw text. Double click, and it opens in a real editor. This file is not in a vault. One button keeps it. A title, and which folder it goes in. It is a note now, in the vault."},"/videos/typefire-promo.mp4":{name:"TypeFire for macOS: snippets, clips and markdown notes in one app",description:"A full walkthrough of TypeFire on macOS. Expanding a snippet in any application, pulling back something copied earlier from the clipboard history, and opening an existing markdown vault, each on its own system-wide shortcut and without switching applications.",duration:"PT74S",uploadDate:"2026-08-26T23:05:55-07:00",poster:"/images/poster-promo.jpg"},"/videos/notes.mp4":{name:"TypeFire Notes: open an existing markdown vault on macOS",description:"TypeFire Notes opening a folder of markdown that already exists, including an Obsidian vault, and editing it in place. Live formatting as you type, wikilinks and backlinks, searching the vault from inside another application, and capturing a note without opening the window.",duration:"PT45S",uploadDate:"2026-08-21T20:53:06-07:00",poster:"/images/poster-notes.jpg"},"/videos/text-expander.mp4":{name:"Text expansion in any Mac app",description:"Typing a short abbreviation in a native macOS application and having TypeFire replace it with the full text as you type.",duration:"PT29S",uploadDate:"2026-08-11T00:07:39-07:00",poster:"/images/poster-text-expander.jpg"}
1,"/videos/selection-prompts.mp4":{name:"Selection Prompts: rewrite selected text in place",description:"Selecting text in any macOS application and rewriting it in place with a Selection Prompt, without copying it into a separate AI tool first.",duration:"PT19S",uploadDate:"2026-08-11T00:07:44-07:00",poster:"/images/poster-selection-prompts.jpg"},"/videos/prompt-chains.mp4":{name:"Prompt Chains: several AI steps on one keystroke",description:"Running a multi-step Prompt Chain over selected text on macOS, where each step feeds the next and the whole sequence runs from a single shortcut.",duration:"PT39S",uploadDate:"2026-08-11T00:07:51-07:00",poster:"/images/poster-prompt-chains.jpg"},"/videos/clipboard-manager.mp4":{name:"Clipboard history on macOS, searchable including screenshots",description:"Searching TypeFire's clipboard history on macOS and pasting an earlier item back without leaving the current application, including finding a screenshot by the text recognized inside it.",duration:"PT27S",uploadDate:"2026-08-11T00:07:59-07:00",poster:"/images/poster-clipboard-manager.jpg"},"/videos/spotlight-search.mp4":{name:"Spotlight-style snippet launcher for macOS",description:"Opening TypeFire's launcher over another application, searching a whole snippet library by name, and inserting one without having memorized its abbreviation.",duration:"PT17S",uploadDate:"2026-08-11T00:08:05-07:00",poster:"/images/poster-spotlight-search.jpg"}},a="https://typefire.app";function s(e){let s=t[e];return s?{"@context":"https://schema.org","@type":"VideoObject",name:s.name,description:s.description,thumbnailUrl:[`${a}${s.poster}`],contentUrl:`${a}${e}`,...s.youtubeId?{embedUrl:`https://www.youtube.com/embed/${s.youtubeId}`}:{},uploadDate:s.uploadDate,duration:s.duration,isFamilyFriendly:!0,inLanguage:"en-US",...s.width?{width:s.width,height:s.height}:{},...s.contentSize?{contentSize:String(s.contentSize)}:{},encodingFormat:"video/mp4",...s.keywords?{keywords:s.keywords}:{},...s.transcript?{transcript:s.transcript}:{},about:{"@type":"SoftwareApplication",name:"TypeFire",applicationCategory:"ProductivityApplication",operatingSystem:"macOS",url:a},creator:{"@type":"Organization",name:"TypeFire",url:a},publisher:{"@type":"Organization",name:"TypeFire",logo:{"@type":"ImageObject",url:`${a}/images/typefire-app-icon-192.png`}}}:null}e.s(["videoSchema",()=>s])},5191,e=>{"use strict";var t=e.i(46628),a=e.i(69695),s=e.i(70251),r=e.i(64976),n=e.i(55236),i=e.i(72710),o=e.i(71078);function l({src:e,hdSrc:l,poster:d,alt:c,priority:p=!1,className:h="",comingSoon:m=!1}){let u=m?null:(0,o.videoSchema)(e),[x,g]=(0,a.useState)(p),[y,f]=(0,a.useState)(p),[b,w]=(0,a.useState)(!1),v=(0,a.useRef)(null),k=(0,a.useRef)(null),j=(0,a.useRef)(null);return((0,a.useEffect)(()=>{if(p)return;let e=v.current;if(!e)return;let t=new IntersectionObserver(([e])=>g(e.isIntersecting),{rootMargin:"200px 0px",threshold:.01}),a=new IntersectionObserver(([e])=>{e.isIntersecting&&f(!0)},{rootMargin:"1400px 0px",threshold:0});return t.observe(e),a.observe(e),()=>{t.disconnect(),a.disconnect()}},[p]),(0,a.useEffect)(()=>{let e=k.current;e&&(x?e.play().catch(()=>{}):e.pause())},[x]),(0,a.useEffect)(()=>{if(!b)return;let e=e=>{"Escape"===e.key&&w(!1)};document.addEventListener("keydown",e);let t=document.documentElement,a=t.style.overflow;return t.style.overflow="hidden",j.current?.focus(),()=>{document.removeEventListener("keydown",e),t.style.overflow=a}},[b]),m)?(0,t.jsx)("div",{className:h,children:(0,t.jsx)("div",{className:"art-wash",children:(0,t.jsx)("div",{role:"img","aria-label":`${c}. Preview coming soon.`,className:"device-frame relative grid aspect-video w-full place-items-center overflow-hidden bg-surface/60",children:(0,t.jsxs)("div",{className:"flex flex-col items-center gap-3 px-6 text-center",children:[(0,t.jsx)("span",{"aria-hidden":!0,className:"grid h-11 w-11 place-items-center rounded-2xl bg-accent-glow text-accent",children:(0,t.jsx)(i.Clapperboard,{className:"h-5 w-5",strokeWidth:1.7})}),(0,t.jsx)("p",{"aria-hidden":!0,className:"text-[15px] font-semibold",children:"Preview coming soon"})]})})})}):(0,t.jsxs)("div",{ref:v,className:h,children:[u&&(0,t.jsx)("script",{type:"application/ld+json",dangerouslySetInnerHTML:{__html:JSON.stringify(u)}}),(0,t.jsx)("div",{className:"art-wash",children:(0,t.jsxs)("button",{type:"button",onClick:()=>w(!0),"aria-label":`Play at full size: ${c}`,className:"device-frame group/v relative block aspect-video w-full cursor-zoom-in overflow-hidden",children:[(0,t.jsx)("video",{ref:k,muted:!0,loop:!0,playsInl
1ine:!0,preload:y?"auto":"none",poster:d,"aria-label":c,className:"absolute inset-0 h-full w-full object-cover",children:(0,t.jsx)("source",{src:e,type:"video/mp4"})}),(0,t.jsx)("span",{"aria-hidden":!0,className:"pointer-events-none absolute inset-0 bg-gradient-to-t from-black/25 via-transparent to-transparent opacity-0 transition-opacity duration-300 group-hover/v:opacity-100"}),(0,t.jsxs)("span",{"aria-hidden":!0,className:"pointer-events-none absolute bottom-3 right-3 flex items-center gap-1.5 rounded-full bg-black/60 px-3 py-1.5 text-[12px] font-medium text-white opacity-0 backdrop-blur-sm transition-all duration-300 group-hover/v:-translate-y-0.5 group-hover/v:opacity-100",children:[(0,t.jsx)(r.Maximize2,{className:"h-3.5 w-3.5",strokeWidth:2}),"Full size"]})]})}),b&&(0,s.createPortal)((0,t.jsxs)("div",{role:"dialog","aria-modal":"true","aria-label":c,onClick:()=>w(!1),className:"fixed inset-0 z-[100] flex flex-col items-center justify-center gap-4 bg-black/90 p-4 backdrop-blur-md sm:p-8",children:[(0,t.jsx)("button",{ref:j,type:"button",onClick:()=>w(!1),"aria-label":"Close",className:"absolute right-4 top-4 grid h-10 w-10 cursor-pointer place-items-center rounded-full bg-white/10 text-white transition-colors hover:bg-white/20 sm:right-6 sm:top-6",children:(0,t.jsx)(n.X,{className:"h-5 w-5",strokeWidth:2})}),(0,t.jsx)("video",{autoPlay:!0,muted:!0,loop:!0,playsInline:!0,controls:!0,poster:d,"aria-label":c,onClick:e=>e.stopPropagation(),className:"max-h-[86vh] w-auto max-w-full rounded-xl shadow-2xl",children:(0,t.jsx)("source",{src:l,type:"video/mp4"})}),(0,t.jsx)("p",{className:"text-[13px] text-white/50",children:"Press Esc to close"})]}),document.body)]})}e.s(["InlineVideo",()=>l])}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.