[{"data":1,"prerenderedAt":356},["ShallowReactive",2],{"doc-page:adr":3},{"data":4,"body":7,"toc":350},{"title":5,"description":6},"Architectural Decision Records","Small, dated records of decisions that shaped tti-ux. The pattern is lifted\nfrom Michael Nygard's ADR template:\ncontext, decision, consequences.",{"type":8,"children":9},"root",[10,18,35,49,56,273,279,284,316],{"type":11,"tag":12,"props":13,"children":15},"element","h1",{"id":14},"architectural-decision-records",[16],{"type":17,"value":5},"text",{"type":11,"tag":19,"props":20,"children":21},"p",{},[22,24,33],{"type":17,"value":23},"Small, dated records of decisions that shaped tti-ux. The pattern is lifted\nfrom ",{"type":11,"tag":25,"props":26,"children":30},"a",{"href":27,"rel":28},"https:\u002F\u002Fcognitect.com\u002Fblog\u002F2011\u002F11\u002F15\u002Fdocumenting-architecture-decisions.html",[29],"nofollow",[31],{"type":17,"value":32},"Michael Nygard's ADR template",{"type":17,"value":34},":\ncontext, decision, consequences.",{"type":11,"tag":19,"props":36,"children":37},{},[38,40,47],{"type":17,"value":39},"ADRs are append-only history. When a decision changes, we don't edit the old\nADR — we write a new one and update the status of the old one to ",{"type":11,"tag":41,"props":42,"children":44},"code",{"className":43},[],[45],{"type":17,"value":46},"Superseded by ADR-NNNN",{"type":17,"value":48},". That way the reasoning behind obsolete decisions stays\nrecoverable.",{"type":11,"tag":50,"props":51,"children":53},"h2",{"id":52},"index",[54],{"type":17,"value":55},"Index",{"type":11,"tag":57,"props":58,"children":59},"ul",{},[60,71,89,99,109,121,131,141,151,161,187,205,217,229,241,253],{"type":11,"tag":61,"props":62,"children":63},"li",{},[64],{"type":11,"tag":25,"props":65,"children":68},{"href":66,"rel":67},"https:\u002F\u002Fgithub.com\u002Fttitamu\u002Ftti-ux\u002Fblob\u002Fmain\u002Fdocs\u002F0001-nuxt-4-and-nuxt-ui.md",[29],[69],{"type":17,"value":70},"0001 — Nuxt 4 + Nuxt UI as the foundation",{"type":11,"tag":61,"props":72,"children":73},{},[74],{"type":11,"tag":25,"props":75,"children":78},{"href":76,"rel":77},"https:\u002F\u002Fgithub.com\u002Fttitamu\u002Ftti-ux\u002Fblob\u002Fmain\u002Fdocs\u002F0002-tux-prefix-naming.md",[29],[79,81,87],{"type":17,"value":80},"0002 — ",{"type":11,"tag":41,"props":82,"children":84},{"className":83},[],[85],{"type":17,"value":86},"Tux*",{"type":17,"value":88}," as the component prefix",{"type":11,"tag":61,"props":90,"children":91},{},[92],{"type":11,"tag":25,"props":93,"children":96},{"href":94,"rel":95},"https:\u002F\u002Fgithub.com\u002Fttitamu\u002Ftti-ux\u002Fblob\u002Fmain\u002Fdocs\u002F0003-standalone-repo-until-npm-team.md",[29],[97],{"type":17,"value":98},"0003 — Standalone repo until an npm team is provisioned",{"type":11,"tag":61,"props":100,"children":101},{},[102],{"type":11,"tag":25,"props":103,"children":106},{"href":104,"rel":105},"https:\u002F\u002Fgithub.com\u002Fttitamu\u002Ftti-ux\u002Fblob\u002Fmain\u002Fdocs\u002F0004-tux-tokens-separate-from-nuxt-ui-theme.md",[29],[107],{"type":17,"value":108},"0004 — tux tokens live alongside the Nuxt UI theme, not inside it",{"type":11,"tag":61,"props":110,"children":111},{},[112,119],{"type":11,"tag":25,"props":113,"children":116},{"href":114,"rel":115},"https:\u002F\u002Fgithub.com\u002Fttitamu\u002Ftti-ux\u002Fblob\u002Fmain\u002Fdocs\u002F0005-three-theme-palette.md",[29],[117],{"type":17,"value":118},"0005 — Three-theme palette (tti \u002F tti-dark \u002F tti-hc)",{"type":17,"value":120}," (toggle cycle superseded by 0006)",{"type":11,"tag":61,"props":122,"children":123},{},[124],{"type":11,"tag":25,"props":125,"children":128},{"href":126,"rel":127},"https:\u002F\u002Fgithub.com\u002Fttitamu\u002Ftti-ux\u002Fblob\u002Fmain\u002Fdocs\u002F0006-separate-hc-from-casual-theme-toggle.md",[29],[129],{"type":17,"value":130},"0006 — Separate high-contrast mode from the casual theme toggle",{"type":11,"tag":61,"props":132,"children":133},{},[134],{"type":11,"tag":25,"props":135,"children":138},{"href":136,"rel":137},"https:\u002F\u002Fgithub.com\u002Fttitamu\u002Ftti-ux\u002Fblob\u002Fmain\u002Fdocs\u002F0007-container-queries-over-viewport-media-queries.md",[29],[139],{"type":17,"value":140},"0007 — Container queries over viewport media queries",{"type":11,"tag":61,"props":142,"children":143},{},[144],{"type":11,"tag":25,"props":145,"children":148},{"href":146,"rel":147},"https:\u002F\u002Fgithub.com\u002Fttitamu\u002Ftti-ux\u002Fblob\u002Fmain\u002Fdocs\u002F0008-data-display-and-reports-section.md",[29],[149],{"type":17,"value":150},"0008 — Data-display + reports section",{"type":11,"tag":61,"props":152,"children":153},{},[154],{"type":11,"tag":25,"props":155,"children":158},{"href":156,"rel":157},"https:\u002F\u002Fgithub.com\u002Fttitamu\u002Ftti-ux\u002Fblob\u002Fmain\u002Fdocs\u002F0009-bi-design-system-source-of-truth.md",[29],[159],{"type":17,"value":160},"0009 — tti-ux is the source of truth for TTI's BI design system",{"type":11,"tag":61,"props":162,"children":163},{},[164,185],{"type":11,"tag":25,"props":165,"children":168},{"href":166,"rel":167},"https:\u002F\u002Fgithub.com\u002Fttitamu\u002Ftti-ux\u002Fblob\u002Fmain\u002Fdocs\u002F0010-no-ts-only-syntax-in-page-script-setup.md",[29],[169,171,177,179],{"type":17,"value":170},"0010 — No TypeScript-only syntax in ",{"type":11,"tag":41,"props":172,"children":174},{"className":173},[],[175],{"type":17,"value":176},"pages\u002F**\u002F*.vue",{"type":17,"value":178}," ",{"type":11,"tag":41,"props":180,"children":182},{"className":181},[],[183],{"type":17,"value":184},"\u003Cscript setup>",{"type":17,"value":186}," (supplemented by 0011)",{"type":11,"tag":61,"props":188,"children":189},{},[190],{"type":11,"tag":25,"props":191,"children":194},{"href":192,"rel":193},"https:\u002F\u002Fgithub.com\u002Fttitamu\u002Ftti-ux\u002Fblob\u002Fmain\u002Fdocs\u002F0011-sibling-demo-data-ts-modules-for-pages.md",[29],[195,197,203],{"type":17,"value":196},"0011 — Sibling ",{"type":11,"tag":41,"props":198,"children":200},{"className":199},[],[201],{"type":17,"value":202},"*.demo-data.ts",{"type":17,"value":204}," modules for typed page data",{"type":11,"tag":61,"props":206,"children":207},{},[208,215],{"type":11,"tag":25,"props":209,"children":212},{"href":210,"rel":211},"https:\u002F\u002Fgithub.com\u002Fttitamu\u002Ftti-ux\u002Fblob\u002Fmain\u002Fdocs\u002F0012-cross-framework-distribution-via-web-components.md",[29],[213],{"type":17,"value":214},"0012 — Cross-framework distribution via single-source Web Components",{"type":17,"value":216}," (supplements 0003)",{"type":11,"tag":61,"props":218,"children":219},{},[220,227],{"type":11,"tag":25,"props":221,"children":224},{"href":222,"rel":223},"https:\u002F\u002Fgithub.com\u002Fttitamu\u002Ftti-ux\u002Fblob\u002Fmain\u002Fdocs\u002F0013-operational-status-ramp.md",[29],[225],{"type":17,"value":226},"0013 — An operational status ramp, separate from the semantic palette",{"type":17,"value":228}," (extends 0005)",{"type":11,"tag":61,"props":230,"children":231},{},[232,239],{"type":11,"tag":25,"props":233,"children":236},{"href":234,"rel":235},"https:\u002F\u002Fgithub.com\u002Fttitamu\u002Ftti-ux\u002Fblob\u002Fmain\u002Fdocs\u002F0014-operational-surfaces.md",[29],[237],{"type":17,"value":238},"0014 — Operational surfaces are a kit target, not a host fork",{"type":17,"value":240}," (extends 0013)",{"type":11,"tag":61,"props":242,"children":243},{},[244,251],{"type":11,"tag":25,"props":245,"children":248},{"href":246,"rel":247},"https:\u002F\u002Fgithub.com\u002Fttitamu\u002Ftti-ux\u002Fblob\u002Fmain\u002Fdocs\u002F0015-comm-brand-alignment-and-token-playground.md",[29],[249],{"type":17,"value":250},"0015 — Brand alignment with TTI Communications & interactive design token playground",{"type":17,"value":252}," (extends 0004)",{"type":11,"tag":61,"props":254,"children":255},{},[256,271],{"type":11,"tag":25,"props":257,"children":260},{"href":258,"rel":259},"https:\u002F\u002Fgithub.com\u002Fttitamu\u002Ftti-ux\u002Fblob\u002Fmain\u002Fdocs\u002F0016-legacy-bridge-and-wcag-aaa.md",[29],[261,263,269],{"type":17,"value":262},"0016 — Legacy modernization bridge (",{"type":11,"tag":41,"props":264,"children":266},{"className":265},[],[267],{"type":17,"value":268},"tux-bridge.css",{"type":17,"value":270},") & WCAG 2.2 AAA architecture",{"type":17,"value":272}," (extends 0004, 0012, 0014, 0015)",{"type":11,"tag":50,"props":274,"children":276},{"id":275},"contributing",[277],{"type":17,"value":278},"Contributing",{"type":11,"tag":19,"props":280,"children":281},{},[282],{"type":17,"value":283},"When you make a non-trivial call (swap a dependency, change the naming\nconvention, reshape the public API), write an ADR:",{"type":11,"tag":285,"props":286,"children":287},"ol",{},[288,293,298,303],{"type":11,"tag":61,"props":289,"children":290},{},[291],{"type":17,"value":292},"Copy the format from an existing file.",{"type":11,"tag":61,"props":294,"children":295},{},[296],{"type":17,"value":297},"Number it sequentially — next ADR is the highest existing number + 1.",{"type":11,"tag":61,"props":299,"children":300},{},[301],{"type":17,"value":302},"Date it in ISO format.",{"type":11,"tag":61,"props":304,"children":305},{},[306,308,314],{"type":17,"value":307},"Keep it under ~1 page. ADRs that grow into full design docs belong in\n",{"type":11,"tag":41,"props":309,"children":311},{"className":310},[],[312],{"type":17,"value":313},"docs\u002F",{"type":17,"value":315}," proper, not here.",{"type":11,"tag":19,"props":317,"children":318},{},[319,321,327,329,335,336,341,342,348],{"type":17,"value":320},"Status values: ",{"type":11,"tag":41,"props":322,"children":324},{"className":323},[],[325],{"type":17,"value":326},"Proposed",{"type":17,"value":328},", ",{"type":11,"tag":41,"props":330,"children":332},{"className":331},[],[333],{"type":17,"value":334},"Accepted",{"type":17,"value":328},{"type":11,"tag":41,"props":337,"children":339},{"className":338},[],[340],{"type":17,"value":46},{"type":17,"value":328},{"type":11,"tag":41,"props":343,"children":345},{"className":344},[],[346],{"type":17,"value":347},"Deprecated",{"type":17,"value":349},".",{"title":351,"searchDepth":352,"depth":352,"links":353},"",2,[354,355],{"id":52,"depth":352,"text":55},{"id":275,"depth":352,"text":278},1792775664434]