{"version":3,"file":"DocketTimeline.BN-SWdVT.mjs","names":["useId","useRef","useState","useMemo","__esmMin","ie","le","init_ssg_sandbox_shims","window","_e","de","pe","p","c","init_jsx_runtime","init_npm_react_18_3_1","ce","RenderTarget","addPropertyControls","init_framer_BWFVvmND","useIsStaticRenderer","ControlType","parseDate","m","s","t","d","formatDate","MONTHS","parseStationsText","text","line","normalise","out","list","t0","DAY_MS","durationText","n","v","w","days","offLine","a","offText","stations","b","durationLine","layoutX","span","width","minGap","d0","range","x","i","rowGaps","gaps","top","maxExtra","computeLayout","xs","NOMINAL_WIDTH","fits","mode","layout","breakpoint","ws","splitFigures","last","off","parseColor","re","hit","h","contrast","A","B","lum","rgb","y","docketCss","R","u","H","EASE","playTime","step","runDocket","o","opts","win","root","set","reduce","r0","vh","inView","state","timer","zone","view","above","stop","finish","ready","play","e","es","DocketTimeline","DEMO","props","isStatic","target","intro","inViewAtLoad","rootRef","setWidth","resOn","setResOn","showResult","stationsText","pbs","spacing","st","hasResult","result","showOn","accentFigures","accent","surface","el","read","ro","vars","muted","rule","rail","fam","labelFont","textFont","ariaLabel","dayColumn","demoSwitch","style","showDays","showNotes","init_DocketTimeline","f","fallback"],"sources":["https:/framerusercontent.com/modules/0zYV0TDeR0gvMIpztQ36/Qzr7RG135XmKzQMwjijD/DocketTimeline.js"],"sourcesContent":["// Docket Timeline: the signature moment of the Docket template (direction B, \"The docket\", picked 2026-10-14).\n// A matter drawn as a dated record: stations (Instructed, Claim filed ... Resolved), each with its date and day number,\n// and one result line at the end. When a firm may not publish results, the switch \"Show result\" swaps the line for\n// \"Result not published.\" plus how long the matter took.\n//\n// Layout follows the CONTAINER, not the window (ResizeObserver; a CSS container query covers the server render):\n// wide = horizontal, stations spaced by real time (with a minimum gap so labels never collide); narrow = vertical,\n// with the space between rows growing with the days between stations.\n//\n// Motion: draws station by station once, when it scrolls into view. Built on Firm's ResultLine fail-to-final rules:\n// the server render, the Framer canvas, thumbnails, a browser without IntersectionObserver, a hidden tab, a docket\n// already on screen at load and a docket the reader has already scrolled past all show the FINISHED docket. It only\n// rewinds while it is just below the screen (25% band), so it never visibly blanks. Reduced motion: no travel, one\n// 200ms fade to the finished docket. transform / opacity only, curve cubic-bezier(0.23, 1, 0.32, 1).\n// Edit in the properties panel; on a CMS page bind \"Stations (text)\", \"Result\" and \"Show result\" to Matter fields.\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget,useIsStaticRenderer}from\"framer\";import{useEffect,useId,useLayoutEffect,useMemo,useRef,useState}from\"react\";// <shared> plain JS on purpose (no type annotations): components/docket-test.html and docket-timeline.test.mjs\n// extract this block and run it, so the test page draws with exactly this logic.\nconst DAY_MS=864e5;const MONTHS=[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"];const EASE=\"cubic-bezier(0.23, 1, 0.32, 1)\";const NOMINAL_WIDTH=1e3// server render: positions are computed for this width, then refined in the browser\n;/** \"2025-03-04\" or an ISO timestamp from Framer's Date control -> UTC ms, or null. Rejects 2025-02-30. */function parseDate(s){const m=/^(\\d{4})-(\\d{2})-(\\d{2})/.exec(String(s||\"\").trim());if(!m)return null;const t=Date.UTC(+m[1],+m[2]-1,+m[3]);const d=new Date(t);return d.getUTCMonth()===+m[2]-1&&d.getUTCDate()===+m[3]?t:null;}function formatDate(t){const d=new Date(t);return String(d.getUTCDate()).padStart(2,\"0\")+\" \"+MONTHS[d.getUTCMonth()]+\" \"+d.getUTCFullYear();}/** One station per line: \"2025-03-04 | Instructed | optional note\". Blank lines are skipped. */function parseStationsText(text){return String(text||\"\").split(/\\r?\\n/).map(line=>{const p=line.split(\"|\").map(s=>s.trim());return{date:p[0]||\"\",label:p[1]||\"\",note:p.slice(2).join(\" | \")};}).filter(s=>s.date||s.label);}/** Valid stations only (a date and a label), in the order entered, each with its day number (first = Day 1). */function normalise(list){const out=[];for(const s of list||[]){const t=parseDate(s&&s.date);if(t==null||!s.label)continue;out.push({t,iso:new Date(t).toISOString().slice(0,10),date:formatDate(t),label:String(s.label),note:String(s.note||\"\")});}const t0=out.length?out[0].t:0;out.forEach(s=>{s.day=Math.round((s.t-t0)/DAY_MS)+1;});return out;}/** Elapsed days -> \"16 days\", \"11 weeks\", \"7 months\", \"2 years\". */function durationText(days){const n=(v,w)=>v+\" \"+w+(v===1?\"\":\"s\");if(days<21)return n(Math.max(1,days),\"day\");if(days<=90)return n(Math.round(days/7),\"week\");const m=Math.round(days/30.4375);return m<24?n(m,\"month\"):n(Math.round(days/365.25),\"year\");}/** The line shown when the result is not published: \"Result not published. Resolved 7 months after instruction.\" */function offLine(offText,durationLine,stations){const a=String(offText||\"\").trim();if(stations.length<2)return a;const days=stations[stations.length-1].day-stations[0].day;const b=String(durationLine||\"\").replace(\"{duration}\",durationText(days)).trim();return(a+\" \"+b).trim();}/**\n * Horizontal positions as % of the width, proportional to time, at least `minGap` px apart, the last station at\n * width - minGap (its label needs the room). null when the stations cannot fit at that width.\n */function layoutX(days,width,minGap){const n=days.length;if(n<2)return n?[0]:[];const span=width-minGap;if(!(width>0)||span<minGap*(n-1))return null;const d0=days[0],range=days[n-1]-d0;const x=days.map((d,i)=>range>0?span*Math.min(1,Math.max(0,(d-d0)/range)):span*i/(n-1));x[0]=0;for(let i=1;i<n-1;i++)x[i]=Math.max(x[i],x[i-1]+minGap);x[n-1]=span;for(let i=n-2;i>=0;i--)x[i]=Math.min(x[i],x[i+1]-minGap);return x.map(v=>Math.round(v/width*1e4)/100);}/** Vertical: extra space under each row, proportional to the days until the next station (0..maxExtra px). */function rowGaps(days,maxExtra){const gaps=days.slice(1).map((d,i)=>Math.max(0,d-days[i]));const top=Math.max(1,...gaps);return days.map((_,i)=>i<gaps.length?Math.round(maxExtra*gaps[i]/top):0);}/**\n * Mode + positions for a container width (0 = not measured yet: \"auto\", the CSS container query decides).\n * layout: \"Auto\" | \"Horizontal\" | \"Vertical\". xs/ws are % of the width (ws = room until the next station).\n */function computeLayout(days,width,layout,breakpoint,minGap){const n=days.length;let xs=layoutX(days,width>0?width:NOMINAL_WIDTH,minGap);const fits=!!xs;if(!xs)xs=days.map((_,i)=>n>1?i*(100-100/n)/(n-1):0);let mode=\"auto\";if(layout===\"Horizontal\")mode=\"h\";else if(layout===\"Vertical\")mode=\"v\";else if(width>0)mode=width>=breakpoint&&fits?\"h\":\"v\";const ws=xs.map((x,i)=>i<n-1?xs[i+1]-x:100-x);return{mode,xs,ws};}/** Money and percentages in the result line, so they can carry the accent: \"for £48,000.\" -> [..., \"£48,000\", ...] */function splitFigures(text){const s=String(text||\"\"),out=[];let last=0;s.replace(/([£$€]\\s?\\d+(?:,\\d{3})*(?:\\.\\d+)?(?:\\s?(?:k|m|bn)\\b)?|\\d+(?:,\\d{3})*(?:\\.\\d+)?\\s?%)/g,(m,_g,off)=>{if(off>last)out.push({s:s.slice(last,off),fig:false});out.push({s:m,fig:true});last=off+m.length;return m;});if(last<s.length)out.push({s:s.slice(last),fig:false});return out;}/** Last hex or rgb() colour in a string (Framer colour styles arrive as \"var(--token-x, #A32D3A)\"). */function parseColor(c){const s=String(c||\"\");const re=/#([0-9a-f]{3,8})\\b|rgba?\\(([^)]+)\\)/gi;let m,hit=null;while(m=re.exec(s))hit=m;if(!hit)return null;if(hit[1]){let h=hit[1];if(h.length===3||h.length===4)h=h.split(\"\").map(x=>x+x).join(\"\");return[0,2,4].map(i=>parseInt(h.slice(i,i+2),16));}const p=hit[2].split(/[\\s,/]+/).filter(Boolean).slice(0,3).map(parseFloat);return p.length===3&&p.every(isFinite)?p:null;}/** WCAG contrast ratio of two colours; 0 when either cannot be read (the caller then stays on the safe side). */function contrast(a,b){const A=parseColor(a),B=parseColor(b);if(!A||!B)return 0;const lum=rgb=>{const c=rgb.map(v=>{v/=255;return v<=.03928?v/12.92:Math.pow((v+.055)/1.055,2.4);});return .2126*c[0]+.7152*c[1]+.0722*c[2];};const x=lum(A),y=lum(B);return(Math.max(x,y)+.05)/(Math.min(x,y)+.05);}/** All styles, scoped to one instance class. Horizontal rules are written twice: for a measured wide container\n *  (data-mode=h) and, inside a container query, for the server render before anything is measured. */function docketCss(u,breakpoint){const R=\".\"+u;const H=p=>`\n${p} .o{display:grid}\n${p} .st{grid-area:1/1;display:block;margin-left:calc(var(--x) * 1cqw);width:calc(var(--w) * 1cqw - 20px);padding:0 0 22px}\n${p} .st.last{width:calc(var(--w) * 1cqw)}\n${p} .d{display:block;height:44px;line-height:22px;font-size:16px}\n${p} .day{display:block;font-size:14px;line-height:22px}\n${p} .st .day{position:static}\n${p} .st .t{padding-right:0}\n${p} .r{position:relative;display:block;left:auto;top:auto;bottom:auto;width:auto;height:20px;margin:6px 0 16px}\n${p} .dot{left:0;top:4px;width:13px;height:13px}\n${p} .seg{left:13px;top:10px;bottom:auto;width:calc(var(--w) * 1cqw - 13px);height:1.5px;transform-origin:0 50%}\n${p} .l{font-size:24px;line-height:1.12}\n${p} .n{max-width:16em;margin-top:8px}\n${p} .res{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;padding:22px 0 6px}\n${p} .on{font-size:clamp(28px, 3.4cqw, 44px)}\n${p} .off{font-size:26px}\n${p} .sw{margin-top:0}\n${p}[data-s=ready] .seg{transform:scaleX(0)}`;return`\n${R}{position:relative;container-type:inline-size;color:var(--tx);font:400 15px/1.45 var(--bf);-webkit-font-smoothing:antialiased}\n${R} *{box-sizing:border-box}\n${R} .o{list-style:none;margin:0;padding:0}\n${R} .st{position:relative;display:grid;grid-template-columns:104px 28px minmax(0,1fr);align-items:start;padding:12px 0 calc(14px + var(--pb, 0px))}\n${R} .d{grid-column:1;font:500 15px/24px var(--bf);font-variant-numeric:tabular-nums lining-nums;letter-spacing:.01em;white-space:nowrap}\n${R} .day{display:block;font:500 13px/18px var(--bf);font-variant-numeric:tabular-nums lining-nums;color:var(--mu)}\n${R}[data-dayc=right] .st .day{position:absolute;right:0;top:15px;font-size:14px}\n${R}[data-dayc=right] .st .t{padding-right:58px}\n${R} .r{position:absolute;left:104px;width:28px;top:12px;bottom:0}\n${R} .dot{position:absolute;left:8px;top:6px;width:12px;height:12px;border-radius:50%;border:1.5px solid var(--tx);background:var(--sf);z-index:1}\n${R} .last .dot{background:var(--ac);border-color:var(--ac);box-shadow:0 0 0 4px color-mix(in srgb, var(--ac) 26%, transparent)}\n${R} .seg{position:absolute;left:13.25px;top:18px;bottom:-18px;width:1.5px;background:var(--rl);transform-origin:50% 0}\n${R} .last .seg{display:none}\n${R} .t{grid-column:3;min-width:0}\n${R} .l{display:block;font:400 20px/24px var(--lf);letter-spacing:-0.01em;text-wrap:balance}\n${R} .n{display:block;margin-top:4px;font-size:15px;line-height:1.45;color:var(--mu)}\n${R} .res{padding:16px 0 4px;border-top:1px solid var(--ru)}\n${R} .rb{display:grid}\n${R} .rb>p{grid-area:1/1;margin:0;padding-left:14px;transition:opacity 240ms ${EASE}}\n${R} .on{font:400 24px/1.18 var(--lf);letter-spacing:-0.015em;border-left:3px solid var(--ac);text-wrap:balance}\n${R} .on em{font-style:normal;font-variant-numeric:tabular-nums lining-nums}\n${R}[data-fig=accent] .on em{color:var(--ac)}\n${R} .off{font:400 20px/1.3 var(--lf);border-left:3px solid var(--ru);opacity:0}\n${R}[data-res=off] .on{opacity:0}\n${R}[data-res=off] .off{opacity:1}\n${R}:not([data-sw]) .rb>p[aria-hidden=true]{display:none}\n${R} .sw{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}\n${R} .sw button{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--ru);border-radius:3px;font:500 14px/1 var(--bf);color:var(--mu)}\n${R} .sw button[aria-pressed=true]{background:var(--tx);border-color:var(--tx);color:var(--sf)}\n${R} .sw button:focus-visible{outline:2px solid var(--tx);outline-offset:3px}\n@media (hover:hover) and (pointer:fine){${R} .sw button[aria-pressed=false]:hover{border-color:var(--mu);color:var(--tx)}}\n${H(`${R}[data-mode=h]`)}\n@container (min-width: ${breakpoint}px){${H(`${R}[data-mode=auto]`)}}\n${R}[data-s=ready] .dot{opacity:0;transform:scale(.4)}\n${R}[data-s=ready] .d{opacity:0;transform:translateY(8px)}\n${R}[data-s=ready] .t{opacity:0;transform:translateX(-8px)}\n${R}[data-s=ready] .seg{transform:scaleY(0)}\n${R}[data-s=ready] .res{opacity:0;transform:translateY(8px)}\n${R}[data-s=play] .dot{transition:opacity 240ms ${EASE} var(--dl),transform 240ms ${EASE} var(--dl)}\n${R}[data-s=play] .d{transition:opacity 300ms ${EASE} calc(var(--dl) + 60ms),transform 300ms ${EASE} calc(var(--dl) + 60ms)}\n${R}[data-s=play] .t{transition:opacity 300ms ${EASE} calc(var(--dl) + 110ms),transform 300ms ${EASE} calc(var(--dl) + 110ms)}\n${R}[data-s=play] .seg{transition:transform calc(var(--step) * 1ms - 60ms) ${EASE} calc(var(--dl) + 120ms)}\n${R}[data-s=play] .res{transition:opacity 300ms ${EASE} var(--rd),transform 300ms ${EASE} var(--rd)}\n${R}[data-s=fade]{opacity:0}\n${R}[data-s=fade-in]{opacity:1;transition:opacity 200ms ${EASE}}\n@keyframes dkDot{from{opacity:0;transform:scale(.4)}}\n@keyframes dkUp{from{opacity:0;transform:translateY(8px)}}\n@keyframes dkIn{from{opacity:0;transform:translateX(-8px)}}\n@keyframes dkSegY{from{transform:scaleY(0)}}\n@keyframes dkSegX{from{transform:scaleX(0)}}\n@keyframes dkFade{from{opacity:0}}\n${R}[data-intro=draw] .dot{animation:dkDot 240ms ${EASE} calc(var(--dl) + var(--i0)) both}\n${R}[data-intro=draw] .d{animation:dkFade 300ms ${EASE} calc(var(--dl) + var(--i0) + 60ms) both}\n${R}[data-intro=draw] .t{animation:dkIn 300ms ${EASE} calc(var(--dl) + var(--i0) + 110ms) both}\n${R}[data-intro=draw] .seg{animation:dkSegY calc(var(--step) * 1ms - 60ms) ${EASE} calc(var(--dl) + var(--i0) + 120ms) both}\n${R}[data-intro=draw][data-mode=h] .seg{animation-name:dkSegX}\n@container (min-width: ${breakpoint}px){${R}[data-intro=draw][data-mode=auto] .seg{animation-name:dkSegX}}\n${R}[data-intro=draw] .res{animation:dkUp 300ms ${EASE} calc(var(--rd) + var(--i0)) both}\n@media (prefers-reduced-motion: reduce){${R}[data-intro=draw] .dot,${R}[data-intro=draw] .d,${R}[data-intro=draw] .t,${R}[data-intro=draw] .seg,${R}[data-intro=draw] .res{animation:none}${R}[data-intro=draw]{animation:dkFade 200ms ${EASE} var(--i0) both}}`;}/** Total play time in ms for n stations: the last station starts at (n-1) steps, the result follows it. */function playTime(n,step){return Math.max(0,n-1)*step+300+120+300;}/**\n * The motion controller (plain DOM, no React). Sets data-s on the root: none = finished (the default everywhere),\n * \"ready\" = rewound, \"play\" = drawing, \"fade\"/\"fade-in\" = the reduced-motion version. Returns a cleanup.\n * opts: { inViewAtLoad: \"Finished\" | \"Draw\", total: ms }\n */function runDocket(root,opts){const o=opts||{};const win=root&&root.ownerDocument&&root.ownerDocument.defaultView;const set=s=>s?root.setAttribute(\"data-s\",s):root.removeAttribute(\"data-s\");if(!win||!(\"IntersectionObserver\"in win))return()=>{}// no observer: stays finished\n;const reduce=!!(win.matchMedia&&win.matchMedia(\"(prefers-reduced-motion: reduce)\").matches);const r0=root.getBoundingClientRect(),vh=win.innerHeight;const inView=r0.bottom>0&&r0.top<vh;if(root.ownerDocument.hidden||r0.bottom<=0)return()=>{}// hidden tab, or already scrolled past\n;if(inView&&o.inViewAtLoad!==\"Draw\")return()=>{}// on screen at load: never blank what is painted\n;let state=\"armed\",timer=0,zone=null,view=null,above=null;const stop=()=>{for(const x of[zone,view,above])if(x)x.disconnect();zone=view=above=null;};const finish=()=>{state=\"done\";win.clearTimeout(timer);stop();set(null);};const ready=()=>{state=\"ready\";set(reduce?\"fade\":\"ready\");};const play=()=>{if(state!==\"ready\")return;state=\"play\";stop();void root.offsetWidth// commit the rewound state before the transitions start\n;set(reduce?\"fade-in\":\"play\");timer=win.setTimeout(finish,(reduce?200:o.total||2e3)+80);};if(inView){ready();win.requestAnimationFrame(()=>win.requestAnimationFrame(play));return finish;}// Below the screen: stay finished until it is in the 25% band under the screen, rewind there, draw on view.\nzone=new win.IntersectionObserver(es=>{const e=es[es.length-1];if(e.isIntersecting){if(state===\"armed\"&&e.boundingClientRect.top>=0)ready();}else if(state===\"ready\"){state=\"armed\";set(null);}// left the band below without drawing: finished again\n},{rootMargin:\"0px 0px 25% 0px\"});// Anything above the top of the screen (up to 100 screens): a docket the reader jumped or scrolled past finishes,\n// so coming back up never meets a blank one.\nabove=new win.IntersectionObserver(es=>{if(es.some(e=>e.isIntersecting)&&state!==\"play\")finish();},{rootMargin:\"10000% 0px -100% 0px\"});view=new win.IntersectionObserver(es=>{if(!es.some(e=>e.isIntersecting))return;if(state===\"armed\"){if(es[es.length-1].boundingClientRect.top<0)return finish();ready();}play();},{threshold:.2,rootMargin:\"0px 0px -8% 0px\"});zone.observe(root);view.observe(root);above.observe(root);return finish;}const DEMO=[{date:\"2025-03-04\",label:\"Instructed\",note:\"First call. Named solicitor and fixed fee agreed in writing.\"},{date:\"2025-03-19\",label:\"Claim filed\",note:\"The claim reaches the employment tribunal.\"},{date:\"2025-06-02\",label:\"Disclosure\",note:\"Documents exchanged with the other side.\"},{date:\"2025-09-15\",label:\"Hearing listed\",note:\"The tribunal sets a date for the hearing.\"},{date:\"2025-10-01\",label:\"Resolved\",note:\"Agreed between the parties before the hearing.\"}];const fam=(f,fallback)=>{const v=f&&f.fontFamily;return v&&!/Inter|Geist|Noto|system-ui|sans-serif$|^serif$/.test(v)?`${v}, ${fallback}`:fallback;};/**\n * Docket Timeline\n *\n * @framerIntrinsicWidth 1100\n * @framerIntrinsicHeight 360\n *\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function DocketTimeline(props){const{stations=DEMO,stationsText=\"\",result=\"Settled before the hearing for \\xa314,000, against a claim of \\xa338,000.\",showResult=true,offText=\"Result not published.\",durationLine=\"Resolved {duration} after instruction.\",demoSwitch=false,layout=\"Auto\",breakpoint=720,minGap=180,showDays=true,showNotes=true,inViewAtLoad=\"Finished\",step=360,dayColumn=\"Under date\",spacing=40,text=\"#0E1522\",muted=\"#5A5448\",rule=\"rgba(14, 21, 34, 0.2)\",rail=\"rgba(14, 21, 34, 0.42)\",accent=\"#A32D3A\",surface=\"#EEE6D5\",labelFont,textFont,ariaLabel=\"Matter timeline\",style}=props;const isStatic=useIsStaticRenderer();// \"Intro\": the docket draws once from the very first paint with CSS keyframes (server HTML included), so nothing is\n// ever shown finished and then blanked. Canvas, thumbnails and exports render it finished. Without CSS animation\n// support, or under reduced motion (one 200ms fade), it simply shows the finished docket.\nconst target=RenderTarget.current();const intro=inViewAtLoad===\"Intro\"&&target!==RenderTarget.canvas&&target!==RenderTarget.thumbnail&&target!==RenderTarget.export;const u=\"dk\"+useId().replace(/[^a-zA-Z0-9]/g,\"\");const rootRef=useRef(null);const[width,setWidth]=useState(0);const[resOn,setResOn]=useState(showResult);useEffect(()=>setResOn(showResult),[showResult]);const list=useMemo(()=>normalise(stationsText.trim()?parseStationsText(stationsText):stations||[]),[stations,stationsText]);const days=list.map(s=>s.day);const{mode,xs,ws}=computeLayout(days,width,layout,breakpoint,minGap);const pbs=rowGaps(days,Math.max(0,spacing));const st=Math.min(400,Math.max(240,step));const n=list.length;const hasResult=result.trim()!==\"\";const showOn=hasResult&&resOn;const off=offLine(offText,durationLine,list);const accentFigures=contrast(accent,surface)>=4.5// burgundy is text only where it passes AA (the cream sheet)\n;// Measure our own box: the layout follows the container, never the window.\nuseLayoutEffect(()=>{const el=rootRef.current;if(!el||typeof ResizeObserver===\"undefined\")return;const read=()=>{const w=Math.round(el.clientWidth);if(w>0)setWidth(p=>p===w?p:w);};read();const ro=new ResizeObserver(read);ro.observe(el);return()=>ro.disconnect();},[]);// Motion: only in the live browser. Everywhere else the docket is simply complete.\nuseLayoutEffect(()=>{if(isStatic||typeof window===\"undefined\"||!rootRef.current)return;if(inViewAtLoad===\"Intro\")return;// drawn by CSS from the first paint; nothing to rewind\nreturn runDocket(rootRef.current,{inViewAtLoad,total:playTime(n,st)});},[isStatic]);const vars={\"--tx\":text,\"--mu\":muted,\"--ru\":rule,\"--rl\":rail,\"--ac\":accent,\"--sf\":surface,\"--lf\":fam(labelFont,`\"Newsreader\", \"Iowan Old Style\", Georgia, serif`),\"--bf\":fam(textFont,`\"Public Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif`),\"--step\":st,\"--rd\":`${Math.max(0,n-1)*st+420}ms`,\"--i0\":\"350ms\"};return /*#__PURE__*/_jsxs(\"div\",{ref:rootRef,className:u,role:\"group\",\"aria-label\":ariaLabel,\"data-mode\":mode,\"data-intro\":intro?\"draw\":undefined,\"data-dayc\":dayColumn===\"Right\"?\"right\":\"under\",\"data-sw\":demoSwitch&&hasResult?\"\":undefined,\"data-res\":showOn?\"on\":\"off\",\"data-fig\":accentFigures?\"accent\":\"plain\",style:{...style,...vars,width:\"100%\"},children:[/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:docketCss(u,breakpoint)}}),/*#__PURE__*/_jsx(\"ol\",{className:\"o\",children:list.map((s,i)=>/*#__PURE__*/_jsxs(\"li\",{className:i===n-1?\"st last\":\"st\",style:{\"--x\":xs[i],\"--w\":ws[i],\"--pb\":`${pbs[i]}px`,\"--dl\":`${i*st}ms`},children:[/*#__PURE__*/_jsxs(\"time\",{className:\"d\",dateTime:s.iso,children:[s.date,showDays&&/*#__PURE__*/_jsxs(\"span\",{className:\"day\",children:[\"Day \",s.day]})]}),/*#__PURE__*/_jsxs(\"span\",{className:\"r\",\"aria-hidden\":\"true\",children:[/*#__PURE__*/_jsx(\"i\",{className:\"dot\"}),/*#__PURE__*/_jsx(\"i\",{className:\"seg\"})]}),/*#__PURE__*/_jsxs(\"span\",{className:\"t\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"l\",children:s.label}),showNotes&&s.note&&/*#__PURE__*/_jsx(\"span\",{className:\"n\",children:s.note})]})]},i))}),(hasResult||off)&&/*#__PURE__*/_jsxs(\"div\",{className:\"res\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"rb\",\"aria-live\":demoSwitch?\"polite\":undefined,children:[hasResult&&/*#__PURE__*/_jsx(\"p\",{className:\"on\",\"aria-hidden\":!showOn,children:splitFigures(result).map((p,i)=>p.fig?/*#__PURE__*/_jsx(\"em\",{children:p.s},i):/*#__PURE__*/_jsx(\"span\",{children:p.s},i))}),/*#__PURE__*/_jsx(\"p\",{className:\"off\",\"aria-hidden\":showOn,children:off})]}),demoSwitch&&hasResult&&/*#__PURE__*/_jsxs(\"div\",{className:\"sw\",role:\"group\",\"aria-label\":\"Result line\",children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-pressed\":resOn,onClick:()=>setResOn(true),children:\"Result shown\"}),/*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-pressed\":!resOn,onClick:()=>setResOn(false),children:\"Result not published\"})]})]})]});}addPropertyControls(DocketTimeline,{stations:{type:ControlType.Array,title:\"Stations\",maxCount:12,defaultValue:DEMO,control:{type:ControlType.Object,controls:{date:{type:ControlType.Date,title:\"Date\"},label:{type:ControlType.String,title:\"Label\",defaultValue:\"Instructed\"},note:{type:ControlType.String,title:\"Note\",defaultValue:\"\",displayTextArea:true}}}},stationsText:{type:ControlType.String,title:\"Stations (text)\",defaultValue:\"\",displayTextArea:true,placeholder:\"2025-03-04 | Instructed | First call.\",description:\"One station per line: date | label | note. When filled (for example bound to a CMS field) it replaces the list above.\"},result:{type:ControlType.String,title:\"Result\",defaultValue:\"Settled before the hearing for \\xa314,000, against a claim of \\xa338,000.\",displayTextArea:true},showResult:{type:ControlType.Boolean,title:\"Show result\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\",description:\"Hide: shows the line below plus how long the matter took. Check your regulator's rules before publishing results.\"},offText:{type:ControlType.String,title:\"Not published\",defaultValue:\"Result not published.\"},durationLine:{type:ControlType.String,title:\"Duration line\",defaultValue:\"Resolved {duration} after instruction.\",description:'{duration} becomes \"7 months\", \"11 weeks\" or \"16 days\".'},demoSwitch:{type:ControlType.Boolean,title:\"Demo switch\",defaultValue:false,description:\"Shows two buttons to flip the result line. For the template demo; leave off on a real site.\"},layout:{type:ControlType.Enum,title:\"Layout\",options:[\"Auto\",\"Horizontal\",\"Vertical\"],defaultValue:\"Auto\",displaySegmentedControl:true},breakpoint:{type:ControlType.Number,title:\"Wide from\",defaultValue:720,min:400,max:1400,step:10,unit:\"px\",description:\"Container width, not window width.\",hidden:p=>p.layout!==\"Auto\"},minGap:{type:ControlType.Number,title:\"Min gap\",defaultValue:180,min:100,max:260,step:5,unit:\"px\",description:\"Room for a label between two close dates (horizontal).\"},showDays:{type:ControlType.Boolean,title:\"Day numbers\",defaultValue:true},showNotes:{type:ControlType.Boolean,title:\"Notes\",defaultValue:true},inViewAtLoad:{type:ControlType.Enum,title:\"On screen at load\",options:[\"Finished\",\"Draw\",\"Intro\"],defaultValue:\"Finished\",displaySegmentedControl:true,description:\"Intro: draws once from the first paint, CSS only (use for a hero). Finished: what the page first paints is never blanked. Draw: rewinds and draws once (hero use; a short flash is possible on slow loads).\"},step:{type:ControlType.Number,title:\"Step\",defaultValue:360,min:240,max:400,step:10,unit:\"ms\"},dayColumn:{type:ControlType.Enum,title:\"Day number\",options:[\"Under date\",\"Right\"],defaultValue:\"Under date\",displaySegmentedControl:true,description:\"Vertical layout: under the date, or in a column on the right.\"},spacing:{type:ControlType.Number,title:\"Time spacing\",defaultValue:40,min:0,max:80,step:4,unit:\"px\",description:\"Vertical layout: extra space under a row, up to this much, for long waits.\"},text:{type:ControlType.Color,title:\"Text\",defaultValue:\"#0E1522\"},muted:{type:ControlType.Color,title:\"Muted\",defaultValue:\"#5A5448\"},rule:{type:ControlType.Color,title:\"Rules\",defaultValue:\"rgba(14, 21, 34, 0.2)\"},rail:{type:ControlType.Color,title:\"Rail\",defaultValue:\"rgba(14, 21, 34, 0.42)\"},accent:{type:ControlType.Color,title:\"Accent\",defaultValue:\"#A32D3A\"},surface:{type:ControlType.Color,title:\"Surface\",defaultValue:\"#EEE6D5\",description:\"The colour behind the docket. Figures in the result take the accent only if it passes 4.5:1 on this.\"},labelFont:{type:ControlType.Font,title:\"Label font\",controls:\"basic\",defaultFontType:\"serif\"},textFont:{type:ControlType.Font,title:\"Text font\",controls:\"basic\",defaultFontType:\"sans-serif\"},ariaLabel:{type:ControlType.String,title:\"Label (a11y)\",defaultValue:\"Matter timeline\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"DocketTimeline\",\"slots\":[],\"annotations\":{\"framerIntrinsicHeight\":\"360\",\"framerIntrinsicWidth\":\"1100\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./DocketTimeline.map"],"mappings":"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"}