@ecopages/radiant-ui 0.1.0-beta.5 → 0.1.0-beta.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -115,13 +115,20 @@ export declare class RuiSidebar extends RadiantElement<RuiSidebarBindings> {
115
115
  private dragStartCoord;
116
116
  private dragStartSize;
117
117
  private navigationCleanups;
118
+ /** @remarks Remains `false` until a projected active link has been scrolled. */
119
+ private didScrollActiveOnMount;
120
+ connectedCallback(): void;
118
121
  /**
119
- * @remarks Uncontrolled open state is initialized after JSX flushes deferred
120
- * property bindings, so `defaultOpen` is sampled once rather than becoming
121
- * live state.
122
+ * @remarks Light-DOM hydrate/update can recreate projected menu links after the
123
+ * connect microtask sync. Re-apply active classes once the render commits so
124
+ * imperative highlights survive slot projection. `requestUpdate()` commits through
125
+ * the scheduler (not `update()`), so that path must re-sync too.
122
126
  */
123
- connectedCallback(): void;
127
+ hydrate(): void;
128
+ update(): void;
129
+ requestUpdate(): void;
124
130
  disconnectedCallback(): void;
131
+ private syncActiveLinksAfterRender;
125
132
  /**
126
133
  * Keep host `data-*` in sync for `:has(> rui-sidebar[...])` and public API.
127
134
  * Visual styles target the inner `.rui-sidebar` root (host is `display: contents`).
@@ -137,7 +144,7 @@ export declare class RuiSidebar extends RadiantElement<RuiSidebarBindings> {
137
144
  onMobileBreakpointUpdated(): void;
138
145
  onMatchSettingsUpdated(): void;
139
146
  /** Re-applies active classes on descendant menu links from the current URL. */
140
- syncActiveLinks(scrollActiveIntoView?: boolean): void;
147
+ syncActiveLinks(scrollActiveIntoView?: boolean): boolean;
141
148
  private isLinkActive;
142
149
  private attachNavigationListeners;
143
150
  private detachNavigationListeners;
@@ -1,2 +1,2 @@
1
- import{jsx as j,jsxs as Yt}from"@ecopages/jsx/jsx-runtime";import{RadiantElement as Ct,bound as qt,customElement as Ut,onUpdated as Nt,prop as L,state as xt}from"@ecopages/radiant";function ot(i){return i.split(",").map(t=>t.trim()).filter(t=>t.length>0)}function st(i,t){try{return i.querySelector(t)}catch{return null}}function lt(i,t){try{return Array.from(i.querySelectorAll(t))}catch{return[]}}function jt(i){return i.trim().toLowerCase().replace(/\s+/g,"-").replace(/[^\w-]/g,"")}function at(i,t,e=n=>document.getElementById(n)!==null){if(i.id)return t.add(i.id),i.id;let n=jt(i.textContent||"")||"section",s=n,d=2;for(;t.has(s)||e(s);)s=`${n}-${d}`,d+=1;return i.id=s,t.add(s),s}function ct(i,t){return i instanceof HTMLElement?i.getBoundingClientRect().top+t:t}function ut(i,t,e,n){if(t instanceof HTMLElement){let s=t.getBoundingClientRect(),d=i.getBoundingClientRect();t.scrollTo({top:t.scrollTop+(d.top-s.top)-e,behavior:n});return}window.scrollTo({top:window.scrollY+i.getBoundingClientRect().top-e,behavior:n})}var dt,ht,ft,gt,pt,mt,vt,_t,wt,bt,yt,St,Tt,Et,It,Rt;function Dt(i,t,e,n,s,d){var y,a,V,B,C,M,E,z=Symbol.metadata||Symbol.for("Symbol.metadata"),P=Object.defineProperty,Y=Object.create,W=[Y(null),Y(null)],X=t.length;function x(r,p,f){return function(o,l){p&&(l=o,o=i);for(var m=0;m<r.length;m++)l=r[m].apply(o,f?[l]:[]);return f?l:o}}function w(r,p,f,o){if(typeof r!="function"&&(o||r!==void 0))throw new TypeError(p+" must "+(f||"be")+" a function"+(o?"":" or undefined"));return r}function G(r,p,f,o,l,m,S,g,v,_,Q){function q(u){if(!Q(u))throw new TypeError("Attempted to access private element on non-instance")}var U=[].concat(p[0]),Z=p[3],N=!S,I=l===1,F=l===3,tt=l===4,A=l===2;function k(u,T,nt){return function(O,rt){return T&&(rt=O,O=r),nt&&nt(O),c[u].call(O,rt)}}if(!N){var c={},$=[],b=F?"get":tt||I?"set":"value";if(v?(_||I?c={get:Lt(function(){return Z(this)},o,"get"),set:function(u){p[4](this,u)}}:c[b]=Z,_||Lt(c[b],o,A?"":b)):_||(c=Object.getOwnPropertyDescriptor(r,o)),!_&&!v){if((a=W[+g][o])&&(a^l)!==7)throw Error("Decorating two elements with the same name ("+c[b].name+") is not supported yet");W[+g][o]=l<3?1:l}}for(var h=r,H=U.length-1;H>=0;H-=f?2:1){var et=w(U[H],"A decorator","be",!0),it=f?U[H-1]:void 0,K={},R={kind:["field","accessor","method","getter","setter","class"][l],name:o,metadata:y,addInitializer:function(u,T){if(u.v)throw new TypeError("attempted to call addInitializer after decoration was finished");w(T,"An initializer","be",!0),m.push(T)}.bind(null,K)};if(N)a=et.call(it,h,R),K.v=1,w(a,"class decorators","return")&&(h=a);else if(R.static=g,R.private=v,a=R.access={has:v?Q.bind():function(u){return o in u}},tt||(a.get=v?A?function(u){return q(u),c.value}:k("get",0,q):function(u){return u[o]}),A||F||(a.set=v?k("set",0,q):function(u,T){u[o]=T}),h=et.call(it,I?{get:c.get,set:c.set}:c[b],R),K.v=1,I){if(typeof h=="object"&&h)(a=w(h.get,"accessor.get"))&&(c.get=a),(a=w(h.set,"accessor.set"))&&(c.set=a),(a=w(h.init,"accessor.init"))&&$.unshift(a);else if(h!==void 0)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else w(h,(_?"field":"method")+" decorators","return")&&(_?$.unshift(h):c[b]=h)}return l<2&&S.push(x($,g,1),x(m,g,0)),_||N||(v?I?S.splice(-1,0,k("get",g),k("set",g)):S.push(A?c[b]:w.call.bind(c[b])):P(r,o,c)),h}function J(r){return P(r,z,{configurable:!0,enumerable:!0,value:y})}return d!==void 0&&(y=d[z]),y=Y(y??null),C=[],M=function(r){r&&C.push(x(r))},E=function(r,p){for(var f=0;f<e.length;f++){var o=e[f],l=o[1],m=7&l;if((8&l)==r&&!m==p){var S=o[2],g=!!o[3],v=16&l;G(r?i:i.prototype,o,v,g?"#"+S:Vt(S),m,m<2?[]:r?B=B||[]:V=V||[],C,!!r,g,p,r&&g?function(_){return Mt(_)===i}:s)}}},E(8,0),E(0,0),E(8,1),E(0,1),M(V),M(B),a=C,X||J(i),{e:a,get c(){var r=[];return X&&[J(i=G(i,[t],n,i.name,5,r)),x(r,1)]}}}function Vt(i){var t=Bt(i,"string");return typeof t=="symbol"?t:t+""}function Bt(i,t){if(typeof i!="object"||!i)return i;var e=i[Symbol.toPrimitive];if(e!==void 0){var n=e.call(i,t||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(i)}function Lt(i,t,e){typeof t=="symbol"&&(t=(t=t.description)?"["+t+"]":"");try{Object.defineProperty(i,"name",{configurable:!0,value:e?e+" "+t:t})}catch{}return i}function Mt(i){if(Object(i)!==i)throw TypeError("right-hand side of 'in' should be an object, got "+(i!==null?typeof i:"null"));return i}var D,At=class extends Ct{static{({e:[ft,gt,pt,mt,vt,_t,wt,bt,yt,St,Tt,Et,It,Rt,dt],c:[D,ht]}=Dt(this,[Ut("rui-toc")],[[L({type:String,defaultValue:""}),0,"target"],[L({type:String,attribute:"heading-selector",defaultValue:"h2,h3"}),0,"headingSelector"],[L({type:String,defaultValue:"On this page"}),0,"label"],[L({type:Number,attribute:"scroll-offset",defaultValue:120}),0,"scrollOffset"],[L({type:String,attribute:"navigation-events",defaultValue:""}),0,"navigationEvents"],[xt,0,"entries"],[xt,0,"activeId"],[Nt(["target","headingSelector","scrollOffset","navigationEvents"]),2,"onScanSettingsUpdated"],[qt,2,"onLinkClick"]],0,void 0,Ct))}target=(dt(this),ft(this,""));headingSelector=(gt(this),pt(this,"h2,h3"));label=(mt(this),vt(this,"On this page"));scrollOffset=(_t(this),wt(this,120));navigationEvents=(bt(this),yt(this,""));entries=(St(this),Tt(this,[]));activeId=(Et(this),It(this,null));headings=(Rt(this),[]);scrollRoot=null;scrollCleanup=null;navigationCleanups=[];pendingScrollTargetId=null;scrollRafPending=!1;scrollOffsetTolerance=4;connectedCallback(){super.connectedCallback(),this.rebuild(),this.attachNavigationListeners()}disconnectedCallback(){this.detachScrollListener(),this.detachNavigationListeners(),super.disconnectedCallback()}onScanSettingsUpdated(){this.detachNavigationListeners(),this.attachNavigationListeners(),this.rebuild()}rebuild(){this.detachScrollListener(),this.headings=[],this.entries=[],this.activeId=null,this.pendingScrollTargetId=null,this.scrollRoot=null;let t=this.resolveTarget();if(!t)return;let e=lt(t,this.headingSelector);if(e.length===0)return;let n=new Set,s=e.map(d=>({id:at(d,n),label:(d.textContent||"").trim(),depth:this.headingDepth(d)}));this.headings=e,this.entries=s,this.scrollRoot=this.resolveScrollRoot(t),this.attachScrollListener(),this.updateActiveHeading()}resolveTarget(){let t=this.target.trim();return t?st(document,t):this.parentElement}resolveScrollRoot(t){let e=t;for(;e&&e!==document.documentElement&&e!==document.body;){let n=getComputedStyle(e).overflowY;if(n==="auto"||n==="scroll"||n==="overlay")return e;e=e.parentElement}return window}headingDepth(t){let e=Number.parseInt(t.tagName.slice(1),10);return Number.isFinite(e)?e:2}attachNavigationListeners(){let t=()=>this.rebuild();for(let e of ot(this.navigationEvents))document.addEventListener(e,t),this.navigationCleanups.push(()=>document.removeEventListener(e,t))}detachNavigationListeners(){for(let t of this.navigationCleanups)t();this.navigationCleanups=[]}attachScrollListener(){let t=()=>{this.scrollRafPending||(this.scrollRafPending=!0,requestAnimationFrame(()=>{this.updateActiveHeading(),this.scrollRafPending=!1}))},e=this.scrollRoot??window;if(e===window){window.addEventListener("scroll",t,{passive:!0}),this.scrollCleanup=()=>window.removeEventListener("scroll",t);return}e.addEventListener("scroll",t,{passive:!0}),this.scrollCleanup=()=>e.removeEventListener("scroll",t)}detachScrollListener(){this.scrollCleanup?.(),this.scrollCleanup=null}isScrollAtBottom(){let t=this.scrollRoot??window;if(!(t instanceof HTMLElement)){let e=document.documentElement.scrollHeight,n=window.innerHeight;return e<=n+1?!1:window.scrollY+n>=e-10}return t.scrollHeight<=t.clientHeight+1?!1:t.scrollTop+t.clientHeight>=t.scrollHeight-10}activeLineY(){return ct(this.scrollRoot??window,this.scrollOffset+this.scrollOffsetTolerance)}updateActiveHeading(){if(this.headings.length===0)return;if(this.isScrollAtBottom()){this.pendingScrollTargetId=null;let n=this.headings[this.headings.length-1]?.id;n&&this.setActiveId(n);return}if(this.pendingScrollTargetId){let n=this.findHeadingById(this.pendingScrollTargetId);if(!n)this.pendingScrollTargetId=null;else if(this.hasPendingScrollReachedTarget(n))this.pendingScrollTargetId=null;else{this.setActiveId(this.pendingScrollTargetId);return}}let t=this.activeLineY(),e=null;for(let n of this.headings)if(n.getBoundingClientRect().top<=t)e=n.id;else break;this.setActiveId(e??this.headings[0].id)}setActiveId(t){this.activeId!==t&&(this.activeId=t)}findHeadingById(t){return this.headings.find(e=>e.id===t)??null}hasPendingScrollReachedTarget(t){return t.getBoundingClientRect().top<=this.activeLineY()}onLinkClick(t,e){let n=t;if(n.metaKey||n.ctrlKey||n.shiftKey||n.altKey||n.button!==0)return;let s=this.findHeadingById(e);s&&(t.preventDefault(),this.pendingScrollTargetId=e,this.setActiveId(e),this.scrollToHeading(e,s))}scrollToHeading(t,e){let n=window.matchMedia("(prefers-reduced-motion: reduce)").matches?"auto":"smooth";window.history.replaceState(window.history.state,"",`${window.location.pathname}${window.location.search}#${t}`),ut(e,this.scrollRoot??window,this.scrollOffset,n)}render(){return this.entries.length===0?null:Yt("nav",{class:"rui-toc","aria-label":this.label,children:[this.label?j("p",{class:"rui-toc__label",children:this.label}):null,j("ul",{class:"rui-toc__list",children:this.entries.map(t=>j("li",{class:t.depth>=3?"rui-toc__item rui-toc__item--depth-3":"rui-toc__item",children:j("a",{href:`#${t.id}`,class:t.id===this.activeId?"rui-toc__link rui-toc__link--active":"rui-toc__link","on:click":e=>this.onLinkClick(e,t.id),children:t.label})}))})]})}static{ht()}};import{jsx as zt}from"@ecopages/jsx/jsx-runtime";var $t=Symbol.for("@ecopages/storybook-radiant.viewElement"),kt=Symbol.for("@ecopages/storybook-radiant.scriptModule"),Ht=Symbol.for("@ecopages/storybook-radiant.scriptExport");function Kt(i,t){i[$t]=t;let e=t[kt];e&&(i[kt]=e,i[Ht]=t[Ht]??t.name)}function Ot(i,t,e){let n=s=>t(s);return Kt(n,i),n}var Pt=Ot(D,({target:i,headingSelector:t,label:e,scrollOffset:n,navigationEvents:s,...d})=>zt("rui-toc",{...d,"prop:target":i,"prop:headingSelector":t,"prop:label":e,"prop:scrollOffset":n,"prop:navigationEvents":s}),{stylesheets:["./toc.css"]});export{Pt as RuiToc,D as RuiTocElement};
1
+ import{jsx as j,jsxs as qt}from"@ecopages/jsx/jsx-runtime";import{RadiantElement as Lt,bound as Ut,customElement as Nt,onUpdated as $t,prop as C,state as xt}from"@ecopages/radiant";import{isServer as At}from"@ecopages/radiant/is-server";function ot(i){return i.split(",").map(t=>t.trim()).filter(t=>t.length>0)}function st(i,t){try{return i.querySelector(t)}catch{return null}}function lt(i,t){try{return Array.from(i.querySelectorAll(t))}catch{return[]}}function Dt(i){return i.trim().toLowerCase().replace(/\s+/g,"-").replace(/[^\w-]/g,"")}function at(i,t,e=n=>document.getElementById(n)!==null){if(i.id)return t.add(i.id),i.id;let n=Dt(i.textContent||"")||"section",s=n,d=2;for(;t.has(s)||e(s);)s=`${n}-${d}`,d+=1;return i.id=s,t.add(s),s}function ct(i,t){return i instanceof HTMLElement?i.getBoundingClientRect().top+t:t}function ut(i,t,e,n){if(t instanceof HTMLElement){let s=t.getBoundingClientRect(),d=i.getBoundingClientRect();t.scrollTo({top:t.scrollTop+(d.top-s.top)-e,behavior:n});return}window.scrollTo({top:window.scrollY+i.getBoundingClientRect().top-e,behavior:n})}var dt,ht,ft,gt,pt,mt,vt,_t,wt,bt,yt,St,Tt,Et,It,Rt;function Vt(i,t,e,n,s,d){var y,a,V,B,L,M,E,z=Symbol.metadata||Symbol.for("Symbol.metadata"),P=Object.defineProperty,Y=Object.create,W=[Y(null),Y(null)],X=t.length;function x(r,p,f){return function(o,l){p&&(l=o,o=i);for(var m=0;m<r.length;m++)l=r[m].apply(o,f?[l]:[]);return f?l:o}}function w(r,p,f,o){if(typeof r!="function"&&(o||r!==void 0))throw new TypeError(p+" must "+(f||"be")+" a function"+(o?"":" or undefined"));return r}function G(r,p,f,o,l,m,S,g,v,_,Q){function q(u){if(!Q(u))throw new TypeError("Attempted to access private element on non-instance")}var U=[].concat(p[0]),Z=p[3],N=!S,I=l===1,F=l===3,tt=l===4,A=l===2;function k(u,T,nt){return function(O,rt){return T&&(rt=O,O=r),nt&&nt(O),c[u].call(O,rt)}}if(!N){var c={},$=[],b=F?"get":tt||I?"set":"value";if(v?(_||I?c={get:Ct(function(){return Z(this)},o,"get"),set:function(u){p[4](this,u)}}:c[b]=Z,_||Ct(c[b],o,A?"":b)):_||(c=Object.getOwnPropertyDescriptor(r,o)),!_&&!v){if((a=W[+g][o])&&(a^l)!==7)throw Error("Decorating two elements with the same name ("+c[b].name+") is not supported yet");W[+g][o]=l<3?1:l}}for(var h=r,H=U.length-1;H>=0;H-=f?2:1){var et=w(U[H],"A decorator","be",!0),it=f?U[H-1]:void 0,K={},R={kind:["field","accessor","method","getter","setter","class"][l],name:o,metadata:y,addInitializer:function(u,T){if(u.v)throw new TypeError("attempted to call addInitializer after decoration was finished");w(T,"An initializer","be",!0),m.push(T)}.bind(null,K)};if(N)a=et.call(it,h,R),K.v=1,w(a,"class decorators","return")&&(h=a);else if(R.static=g,R.private=v,a=R.access={has:v?Q.bind():function(u){return o in u}},tt||(a.get=v?A?function(u){return q(u),c.value}:k("get",0,q):function(u){return u[o]}),A||F||(a.set=v?k("set",0,q):function(u,T){u[o]=T}),h=et.call(it,I?{get:c.get,set:c.set}:c[b],R),K.v=1,I){if(typeof h=="object"&&h)(a=w(h.get,"accessor.get"))&&(c.get=a),(a=w(h.set,"accessor.set"))&&(c.set=a),(a=w(h.init,"accessor.init"))&&$.unshift(a);else if(h!==void 0)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else w(h,(_?"field":"method")+" decorators","return")&&(_?$.unshift(h):c[b]=h)}return l<2&&S.push(x($,g,1),x(m,g,0)),_||N||(v?I?S.splice(-1,0,k("get",g),k("set",g)):S.push(A?c[b]:w.call.bind(c[b])):P(r,o,c)),h}function J(r){return P(r,z,{configurable:!0,enumerable:!0,value:y})}return d!==void 0&&(y=d[z]),y=Y(y??null),L=[],M=function(r){r&&L.push(x(r))},E=function(r,p){for(var f=0;f<e.length;f++){var o=e[f],l=o[1],m=7&l;if((8&l)==r&&!m==p){var S=o[2],g=!!o[3],v=16&l;G(r?i:i.prototype,o,v,g?"#"+S:Bt(S),m,m<2?[]:r?B=B||[]:V=V||[],L,!!r,g,p,r&&g?function(_){return Yt(_)===i}:s)}}},E(8,0),E(0,0),E(8,1),E(0,1),M(V),M(B),a=L,X||J(i),{e:a,get c(){var r=[];return X&&[J(i=G(i,[t],n,i.name,5,r)),x(r,1)]}}}function Bt(i){var t=Mt(i,"string");return typeof t=="symbol"?t:t+""}function Mt(i,t){if(typeof i!="object"||!i)return i;var e=i[Symbol.toPrimitive];if(e!==void 0){var n=e.call(i,t||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(i)}function Ct(i,t,e){typeof t=="symbol"&&(t=(t=t.description)?"["+t+"]":"");try{Object.defineProperty(i,"name",{configurable:!0,value:e?e+" "+t:t})}catch{}return i}function Yt(i){if(Object(i)!==i)throw TypeError("right-hand side of 'in' should be an object, got "+(i!==null?typeof i:"null"));return i}var D,kt=class extends Lt{static{({e:[ft,gt,pt,mt,vt,_t,wt,bt,yt,St,Tt,Et,It,Rt,dt],c:[D,ht]}=Vt(this,[Nt("rui-toc")],[[C({type:String,defaultValue:""}),0,"target"],[C({type:String,attribute:"heading-selector",defaultValue:"h2,h3"}),0,"headingSelector"],[C({type:String,defaultValue:"On this page"}),0,"label"],[C({type:Number,attribute:"scroll-offset",defaultValue:120}),0,"scrollOffset"],[C({type:String,attribute:"navigation-events",defaultValue:""}),0,"navigationEvents"],[xt,0,"entries"],[xt,0,"activeId"],[$t(["target","headingSelector","scrollOffset","navigationEvents"]),2,"onScanSettingsUpdated"],[Ut,2,"onLinkClick"]],0,void 0,Lt))}target=(dt(this),ft(this,""));headingSelector=(gt(this),pt(this,"h2,h3"));label=(mt(this),vt(this,"On this page"));scrollOffset=(_t(this),wt(this,120));navigationEvents=(bt(this),yt(this,""));entries=(St(this),Tt(this,[]));activeId=(Et(this),It(this,null));headings=(Rt(this),[]);scrollRoot=null;scrollCleanup=null;navigationCleanups=[];pendingScrollTargetId=null;scrollRafPending=!1;scrollOffsetTolerance=4;connectedCallback(){super.connectedCallback(),this.rebuild(),this.attachNavigationListeners()}disconnectedCallback(){this.detachScrollListener(),this.detachNavigationListeners(),super.disconnectedCallback()}onScanSettingsUpdated(){this.detachNavigationListeners(),this.attachNavigationListeners(),this.rebuild()}rebuild(){this.detachScrollListener(),this.headings=[],this.entries=[],this.activeId=null,this.pendingScrollTargetId=null,this.scrollRoot=null;let t=this.resolveTarget();if(!t)return;let e=lt(t,this.headingSelector);if(e.length===0)return;let n=new Set,s=e.map(d=>({id:at(d,n),label:(d.textContent||"").trim(),depth:this.headingDepth(d)}));this.headings=e,this.entries=s,this.scrollRoot=this.resolveScrollRoot(t),this.attachScrollListener(),this.updateActiveHeading()}resolveTarget(){let t=this.target.trim();return t?st(document,t):this.parentElement}resolveScrollRoot(t){let e=t;for(;e&&e!==document.documentElement&&e!==document.body;){let n=getComputedStyle(e).overflowY;if(n==="auto"||n==="scroll"||n==="overlay")return e;e=e.parentElement}return window}headingDepth(t){let e=Number.parseInt(t.tagName.slice(1),10);return Number.isFinite(e)?e:2}attachNavigationListeners(){if(At||!this.isConnected)return;let t=()=>this.rebuild();for(let e of ot(this.navigationEvents))document.addEventListener(e,t),this.navigationCleanups.push(()=>document.removeEventListener(e,t))}detachNavigationListeners(){for(let t of this.navigationCleanups)t();this.navigationCleanups=[]}attachScrollListener(){if(At||!this.isConnected)return;let t=()=>{this.scrollRafPending||(this.scrollRafPending=!0,requestAnimationFrame(()=>{this.updateActiveHeading(),this.scrollRafPending=!1}))},e=this.scrollRoot??window;if(e===window){window.addEventListener("scroll",t,{passive:!0}),this.scrollCleanup=()=>window.removeEventListener("scroll",t);return}e.addEventListener("scroll",t,{passive:!0}),this.scrollCleanup=()=>e.removeEventListener("scroll",t)}detachScrollListener(){this.scrollCleanup?.(),this.scrollCleanup=null}isScrollAtBottom(){let t=this.scrollRoot??window;if(!(t instanceof HTMLElement)){let e=document.documentElement.scrollHeight,n=window.innerHeight;return e<=n+1?!1:window.scrollY+n>=e-10}return t.scrollHeight<=t.clientHeight+1?!1:t.scrollTop+t.clientHeight>=t.scrollHeight-10}activeLineY(){return ct(this.scrollRoot??window,this.scrollOffset+this.scrollOffsetTolerance)}updateActiveHeading(){if(this.headings.length===0)return;if(this.isScrollAtBottom()){this.pendingScrollTargetId=null;let n=this.headings[this.headings.length-1]?.id;n&&this.setActiveId(n);return}if(this.pendingScrollTargetId){let n=this.findHeadingById(this.pendingScrollTargetId);if(!n)this.pendingScrollTargetId=null;else if(this.hasPendingScrollReachedTarget(n))this.pendingScrollTargetId=null;else{this.setActiveId(this.pendingScrollTargetId);return}}let t=this.activeLineY(),e=null;for(let n of this.headings)if(n.getBoundingClientRect().top<=t)e=n.id;else break;this.setActiveId(e??this.headings[0].id)}setActiveId(t){this.activeId!==t&&(this.activeId=t)}findHeadingById(t){return this.headings.find(e=>e.id===t)??null}hasPendingScrollReachedTarget(t){return t.getBoundingClientRect().top<=this.activeLineY()}onLinkClick(t,e){let n=t;if(n.metaKey||n.ctrlKey||n.shiftKey||n.altKey||n.button!==0)return;let s=this.findHeadingById(e);s&&(t.preventDefault(),this.pendingScrollTargetId=e,this.setActiveId(e),this.scrollToHeading(e,s))}scrollToHeading(t,e){let n=window.matchMedia("(prefers-reduced-motion: reduce)").matches?"auto":"smooth";window.history.replaceState(window.history.state,"",`${window.location.pathname}${window.location.search}#${t}`),ut(e,this.scrollRoot??window,this.scrollOffset,n)}render(){return this.entries.length===0?null:qt("nav",{class:"rui-toc","aria-label":this.label,children:[this.label?j("p",{class:"rui-toc__label",children:this.label}):null,j("ul",{class:"rui-toc__list",children:this.entries.map(t=>j("li",{class:t.depth>=3?"rui-toc__item rui-toc__item--depth-3":"rui-toc__item",children:j("a",{href:`#${t.id}`,class:t.id===this.activeId?"rui-toc__link rui-toc__link--active":"rui-toc__link","on:click":e=>this.onLinkClick(e,t.id),children:t.label})}))})]})}static{ht()}};import{jsx as Pt}from"@ecopages/jsx/jsx-runtime";var Kt=Symbol.for("@ecopages/storybook-radiant.viewElement"),Ht=Symbol.for("@ecopages/storybook-radiant.scriptModule"),Ot=Symbol.for("@ecopages/storybook-radiant.scriptExport");function zt(i,t){i[Kt]=t;let e=t[Ht];e&&(i[Ht]=e,i[Ot]=t[Ot]??t.name)}function jt(i,t,e){let n=s=>t(s);return zt(n,i),n}var Wt=jt(D,({target:i,headingSelector:t,label:e,scrollOffset:n,navigationEvents:s,...d})=>Pt("rui-toc",{...d,"prop:target":i,"prop:headingSelector":t,"prop:label":e,"prop:scrollOffset":n,"prop:navigationEvents":s}),{stylesheets:["./toc.css"]});export{Wt as RuiToc,D as RuiTocElement};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/components/ui/toc/toc.script.tsx", "../../../../src/lib/comma-separated.ts", "../../../../src/components/ui/toc/toc-helpers.ts", "../../../../src/components/ui/toc/toc.tsx", "../../../../src/lib/radiant-view.ts"],
4
- "sourcesContent": ["let _initProto, _initClass, _init_target, _init_extra_target, _init_headingSelector, _init_extra_headingSelector, _init_label, _init_extra_label, _init_scrollOffset, _init_extra_scrollOffset, _init_navigationEvents, _init_extra_navigationEvents, _init_entries, _init_extra_entries, _init_activeId, _init_extra_activeId;\nfunction _applyDecs(e, t, n, r, o, i) { var a, c, u, s, f, l, p, d = Symbol.metadata || Symbol.for(\"Symbol.metadata\"), m = Object.defineProperty, h = Object.create, y = [h(null), h(null)], v = t.length; function g(t, n, r) { return function (o, i) { n && (i = o, o = e); for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []); return r ? i : o; }; } function b(e, t, n, r) { if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\")); return e; } function applyDec(e, t, n, r, o, i, u, s, f, l, p) { function d(e) { if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\"); } var h = [].concat(t[0]), v = t[3], w = !u, D = 1 === o, S = 3 === o, j = 4 === o, E = 2 === o; function I(t, n, r) { return function (o, i) { return n && (i = o, o = e), r && r(o), P[t].call(o, i); }; } if (!w) { var P = {}, k = [], F = S ? \"get\" : j || D ? \"set\" : \"value\"; if (f ? (l || D ? P = { get: _setFunctionName(function () { return v(this); }, r, \"get\"), set: function (e) { t[4](this, e); } } : P[F] = v, l || _setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) { if ((c = y[+s][r]) && 7 !== (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\"); y[+s][r] = o < 3 ? 1 : o; } } for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) { var T = b(h[O], \"A decorator\", \"be\", !0), z = n ? h[O - 1] : void 0, A = {}, H = { kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o], name: r, metadata: a, addInitializer: function (e, t) { if (e.v) throw new TypeError(\"attempted to call addInitializer after decoration was finished\"); b(t, \"An initializer\", \"be\", !0), i.push(t); }.bind(null, A) }; if (w) c = T.call(z, N, H), A.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (H.static = s, H.private = f, c = H.access = { has: f ? p.bind() : function (e) { return r in e; } }, j || (c.get = f ? E ? function (e) { return d(e), P.value; } : I(\"get\", 0, d) : function (e) { return e[r]; }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) { e[r] = t; }), N = T.call(z, D ? { get: P.get, set: P.set } : P[F], H), A.v = 1, D) { if (\"object\" == typeof N && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\"); } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N); } return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N; } function w(e) { return m(e, d, { configurable: !0, enumerable: !0, value: a }); } return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function (e) { e && f.push(g(e)); }, p = function (t, r) { for (var i = 0; i < n.length; i++) { var a = n[i], c = a[1], l = 7 & c; if ((8 & c) == t && !l == r) { var p = a[2], d = !!a[3], m = 16 & c; applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : _toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) { return _checkInRHS(t) === e; } : o); } } }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), { e: c, get c() { var n = []; return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)]; } }; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _setFunctionName(e, t, n) { \"symbol\" == typeof t && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\"); try { Object.defineProperty(e, \"name\", { configurable: !0, value: n ? n + \" \" + t : t }); } catch (e) {} return e; }\nfunction _checkInRHS(e) { if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? typeof e : \"null\")); return e; }\nimport { jsx, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nimport { RadiantElement, bound, customElement, onUpdated, prop, state } from \"@ecopages/radiant\";\nimport { parseCommaSeparated } from \"@/lib/comma-separated\";\nimport { ensureUniqueHeadingId, querySelectorAllSafe, querySelectorSafe, scrollHeadingIntoView, trackingLineY } from \"./toc-helpers\";\nlet _RuiToc;\nclass RuiToc extends RadiantElement {\n static {\n ({\n e: [_init_target, _init_extra_target, _init_headingSelector, _init_extra_headingSelector, _init_label, _init_extra_label, _init_scrollOffset, _init_extra_scrollOffset, _init_navigationEvents, _init_extra_navigationEvents, _init_entries, _init_extra_entries, _init_activeId, _init_extra_activeId, _initProto],\n c: [_RuiToc, _initClass]\n } = _applyDecs(this, [customElement(\"rui-toc\")], [[prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"target\"], [prop({\n type: String,\n attribute: \"heading-selector\",\n defaultValue: \"h2,h3\"\n }), 0, \"headingSelector\"], [prop({\n type: String,\n defaultValue: \"On this page\"\n }), 0, \"label\"], [prop({\n type: Number,\n attribute: \"scroll-offset\",\n defaultValue: 120\n }), 0, \"scrollOffset\"], [prop({\n type: String,\n attribute: \"navigation-events\",\n defaultValue: \"\"\n }), 0, \"navigationEvents\"], [state, 0, \"entries\"], [state, 0, \"activeId\"], [onUpdated([\"target\", \"headingSelector\", \"scrollOffset\", \"navigationEvents\"]), 2, \"onScanSettingsUpdated\"], [bound, 2, \"onLinkClick\"]], 0, void 0, RadiantElement));\n }\n target = (_initProto(this), _init_target(this, \"\"));\n headingSelector = (_init_extra_target(this), _init_headingSelector(this, \"h2,h3\"));\n label = (_init_extra_headingSelector(this), _init_label(this, \"On this page\"));\n scrollOffset = (_init_extra_label(this), _init_scrollOffset(this, 120));\n navigationEvents = (_init_extra_scrollOffset(this), _init_navigationEvents(this, \"\"));\n entries = (_init_extra_navigationEvents(this), _init_entries(this, []));\n activeId = (_init_extra_entries(this), _init_activeId(this, null));\n headings = (_init_extra_activeId(this), []);\n scrollRoot = null;\n scrollCleanup = null;\n navigationCleanups = [];\n pendingScrollTargetId = null;\n scrollRafPending = false;\n scrollOffsetTolerance = 4;\n connectedCallback() {\n super.connectedCallback();\n this.rebuild();\n this.attachNavigationListeners();\n }\n disconnectedCallback() {\n this.detachScrollListener();\n this.detachNavigationListeners();\n super.disconnectedCallback();\n }\n onScanSettingsUpdated() {\n this.detachNavigationListeners();\n this.attachNavigationListeners();\n this.rebuild();\n }\n rebuild() {\n this.detachScrollListener();\n this.headings = [];\n this.entries = [];\n this.activeId = null;\n this.pendingScrollTargetId = null;\n this.scrollRoot = null;\n const root = this.resolveTarget();\n if (!root) {\n return;\n }\n const headings = querySelectorAllSafe(root, this.headingSelector);\n if (headings.length === 0) {\n return;\n }\n const usedIds = /* @__PURE__ */new Set();\n const entries = headings.map(heading => {\n const id = ensureUniqueHeadingId(heading, usedIds);\n return {\n id,\n label: (heading.textContent || \"\").trim(),\n depth: this.headingDepth(heading)\n };\n });\n this.headings = headings;\n this.entries = entries;\n this.scrollRoot = this.resolveScrollRoot(root);\n this.attachScrollListener();\n this.updateActiveHeading();\n }\n resolveTarget() {\n const selector = this.target.trim();\n if (selector) {\n return querySelectorSafe(document, selector);\n }\n return this.parentElement;\n }\n /**\n * Nearest ancestor (including the target) that scrolls vertically, else `window`.\n */\n resolveScrollRoot(from) {\n let node = from;\n while (node && node !== document.documentElement && node !== document.body) {\n const overflowY = getComputedStyle(node).overflowY;\n if (overflowY === \"auto\" || overflowY === \"scroll\" || overflowY === \"overlay\") {\n return node;\n }\n node = node.parentElement;\n }\n return window;\n }\n headingDepth(heading) {\n const level = Number.parseInt(heading.tagName.slice(1), 10);\n return Number.isFinite(level) ? level : 2;\n }\n attachNavigationListeners() {\n const handler = () => this.rebuild();\n for (const eventName of parseCommaSeparated(this.navigationEvents)) {\n document.addEventListener(eventName, handler);\n this.navigationCleanups.push(() => document.removeEventListener(eventName, handler));\n }\n }\n detachNavigationListeners() {\n for (const cleanup of this.navigationCleanups) {\n cleanup();\n }\n this.navigationCleanups = [];\n }\n attachScrollListener() {\n const onScroll = () => {\n if (this.scrollRafPending) {\n return;\n }\n this.scrollRafPending = true;\n requestAnimationFrame(() => {\n this.updateActiveHeading();\n this.scrollRafPending = false;\n });\n };\n const root = this.scrollRoot ?? window;\n if (root === window) {\n window.addEventListener(\"scroll\", onScroll, {\n passive: true\n });\n this.scrollCleanup = () => window.removeEventListener(\"scroll\", onScroll);\n return;\n }\n root.addEventListener(\"scroll\", onScroll, {\n passive: true\n });\n this.scrollCleanup = () => root.removeEventListener(\"scroll\", onScroll);\n }\n detachScrollListener() {\n this.scrollCleanup?.();\n this.scrollCleanup = null;\n }\n isScrollAtBottom() {\n const root = this.scrollRoot ?? window;\n if (!(root instanceof HTMLElement)) {\n const scrollHeight = document.documentElement.scrollHeight;\n const viewport = window.innerHeight;\n if (scrollHeight <= viewport + 1) {\n return false;\n }\n return window.scrollY + viewport >= scrollHeight - 10;\n }\n if (root.scrollHeight <= root.clientHeight + 1) {\n return false;\n }\n return root.scrollTop + root.clientHeight >= root.scrollHeight - 10;\n }\n activeLineY() {\n return trackingLineY(this.scrollRoot ?? window, this.scrollOffset + this.scrollOffsetTolerance);\n }\n updateActiveHeading() {\n if (this.headings.length === 0) {\n return;\n }\n if (this.isScrollAtBottom()) {\n this.pendingScrollTargetId = null;\n const lastId = this.headings[this.headings.length - 1]?.id;\n if (lastId) {\n this.setActiveId(lastId);\n }\n return;\n }\n if (this.pendingScrollTargetId) {\n const pendingHeading = this.findHeadingById(this.pendingScrollTargetId);\n if (!pendingHeading) {\n this.pendingScrollTargetId = null;\n } else if (!this.hasPendingScrollReachedTarget(pendingHeading)) {\n this.setActiveId(this.pendingScrollTargetId);\n return;\n } else {\n this.pendingScrollTargetId = null;\n }\n }\n const lineY = this.activeLineY();\n let activeId = null;\n for (const heading of this.headings) {\n if (heading.getBoundingClientRect().top <= lineY) {\n activeId = heading.id;\n } else {\n break;\n }\n }\n this.setActiveId(activeId ?? this.headings[0].id);\n }\n setActiveId(id) {\n if (this.activeId === id) {\n return;\n }\n this.activeId = id;\n }\n findHeadingById(id) {\n return this.headings.find(heading => heading.id === id) ?? null;\n }\n hasPendingScrollReachedTarget(heading) {\n return heading.getBoundingClientRect().top <= this.activeLineY();\n }\n onLinkClick(event, id) {\n const mouseEvent = event;\n if (mouseEvent.metaKey || mouseEvent.ctrlKey || mouseEvent.shiftKey || mouseEvent.altKey || mouseEvent.button !== 0) {\n return;\n }\n const heading = this.findHeadingById(id);\n if (!heading) {\n return;\n }\n event.preventDefault();\n this.pendingScrollTargetId = id;\n this.setActiveId(id);\n this.scrollToHeading(id, heading);\n }\n scrollToHeading(id, heading) {\n const behavior = window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches ? \"auto\" : \"smooth\";\n window.history.replaceState(window.history.state, \"\", `${window.location.pathname}${window.location.search}#${id}`);\n scrollHeadingIntoView(heading, this.scrollRoot ?? window, this.scrollOffset, behavior);\n }\n render() {\n if (this.entries.length === 0) {\n return null;\n }\n return /* @__PURE__ */jsxs(\"nav\", {\n class: \"rui-toc\",\n \"aria-label\": this.label,\n children: [this.label ? /* @__PURE__ */jsx(\"p\", {\n class: \"rui-toc__label\",\n children: this.label\n }) : null, /* @__PURE__ */jsx(\"ul\", {\n class: \"rui-toc__list\",\n children: this.entries.map(entry => /* @__PURE__ */jsx(\"li\", {\n class: entry.depth >= 3 ? \"rui-toc__item rui-toc__item--depth-3\" : \"rui-toc__item\",\n children: /* @__PURE__ */jsx(\"a\", {\n href: `#${entry.id}`,\n class: entry.id === this.activeId ? \"rui-toc__link rui-toc__link--active\" : \"rui-toc__link\",\n \"on:click\": event => this.onLinkClick(event, entry.id),\n children: entry.label\n })\n }))\n })]\n });\n }\n static {\n _initClass();\n }\n}\nexport { _RuiToc as RuiToc };", "export function parseCommaSeparated(value) {\n return value.split(\",\").map(name => name.trim()).filter(name => name.length > 0);\n}", "export function querySelectorSafe(root, selector) {\n try {\n return root.querySelector(selector);\n } catch {\n return null;\n }\n}\nexport function querySelectorAllSafe(root, selector) {\n try {\n return Array.from(root.querySelectorAll(selector));\n } catch {\n return [];\n }\n}\nexport function slugifyHeadingText(text) {\n return text.trim().toLowerCase().replace(/\\s+/g, \"-\").replace(/[^\\w-]/g, \"\");\n}\nexport function ensureUniqueHeadingId(heading, usedIds, isTaken = id => document.getElementById(id) !== null) {\n if (heading.id) {\n usedIds.add(heading.id);\n return heading.id;\n }\n const base = slugifyHeadingText(heading.textContent || \"\") || \"section\";\n let id = base;\n let suffix = 2;\n while (usedIds.has(id) || isTaken(id)) {\n id = `${base}-${suffix}`;\n suffix += 1;\n }\n heading.id = id;\n usedIds.add(id);\n return id;\n}\nexport function trackingLineY(scrollRoot, scrollOffset) {\n if (scrollRoot instanceof HTMLElement) {\n return scrollRoot.getBoundingClientRect().top + scrollOffset;\n }\n return scrollOffset;\n}\nexport function scrollHeadingIntoView(heading, scrollRoot, scrollOffset, behavior) {\n if (scrollRoot instanceof HTMLElement) {\n const rootRect = scrollRoot.getBoundingClientRect();\n const headingRect = heading.getBoundingClientRect();\n scrollRoot.scrollTo({\n top: scrollRoot.scrollTop + (headingRect.top - rootRect.top) - scrollOffset,\n behavior\n });\n return;\n }\n window.scrollTo({\n top: window.scrollY + heading.getBoundingClientRect().top - scrollOffset,\n behavior\n });\n}", "import { jsx } from \"@ecopages/jsx/jsx-runtime\";\nimport { defineRadiantView } from \"@/lib/radiant-view\";\nimport { RuiToc as RuiTocElement } from \"./toc.script\";\nexport const RuiToc = defineRadiantView(RuiTocElement, ({\n target,\n headingSelector,\n label,\n scrollOffset,\n navigationEvents,\n ...props\n}) => /* @__PURE__ */jsx(\"rui-toc\", {\n ...props,\n \"prop:target\": target,\n \"prop:headingSelector\": headingSelector,\n \"prop:label\": label,\n \"prop:scrollOffset\": scrollOffset,\n \"prop:navigationEvents\": navigationEvents\n}), {\n stylesheets: [\"./toc.css\"]\n});", "const RADIANT_VIEW_ELEMENT = /* @__PURE__ */Symbol.for(\"@ecopages/storybook-radiant.viewElement\");\nconst RADIANT_SCRIPT_MODULE = /* @__PURE__ */Symbol.for(\"@ecopages/storybook-radiant.scriptModule\");\nconst RADIANT_SCRIPT_EXPORT = /* @__PURE__ */Symbol.for(\"@ecopages/storybook-radiant.scriptExport\");\nconst RADIANT_VIEW_MODULE = /* @__PURE__ */Symbol.for(\"@ecopages/storybook-radiant.viewModule\");\nfunction linkViewToElement(view, element) {\n view[RADIANT_VIEW_ELEMENT] = element;\n const ssrModule = element[RADIANT_SCRIPT_MODULE];\n if (ssrModule) {\n view[RADIANT_SCRIPT_MODULE] = ssrModule;\n view[RADIANT_SCRIPT_EXPORT] = element[RADIANT_SCRIPT_EXPORT] ?? element.name;\n }\n}\nexport function defineRadiantView(element, render, _options) {\n const view = args => render(args);\n linkViewToElement(view, element);\n return view;\n}\nexport function attachRadiantStylesheets(target, _stylesheets, moduleUrl) {\n const view = target;\n view[RADIANT_VIEW_MODULE] = moduleUrl;\n return target;\n}\nexport function syncRadiantViewMetadata(view) {\n const element = view[RADIANT_VIEW_ELEMENT];\n if (element) {\n linkViewToElement(view, element);\n }\n}"],
5
- "mappings": "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",
6
- "names": ["jsx", "jsxs", "RadiantElement", "bound", "customElement", "onUpdated", "prop", "state", "parseCommaSeparated", "value", "name", "querySelectorSafe", "root", "selector", "querySelectorAllSafe", "slugifyHeadingText", "text", "ensureUniqueHeadingId", "heading", "usedIds", "isTaken", "id", "base", "suffix", "trackingLineY", "scrollRoot", "scrollOffset", "scrollHeadingIntoView", "behavior", "rootRect", "headingRect", "_initProto", "_initClass", "_init_target", "_init_extra_target", "_init_headingSelector", "_init_extra_headingSelector", "_init_label", "_init_extra_label", "_init_scrollOffset", "_init_extra_scrollOffset", "_init_navigationEvents", "_init_extra_navigationEvents", "_init_entries", "_init_extra_entries", "_init_activeId", "_init_extra_activeId", "_applyDecs", "e", "n", "r", "o", "i", "a", "c", "u", "s", "f", "l", "p", "d", "m", "h", "y", "v", "g", "t", "b", "applyDec", "w", "D", "S", "j", "E", "I", "P", "k", "F", "_setFunctionName", "N", "O", "T", "z", "A", "H", "_toPropertyKey", "_checkInRHS", "_toPrimitive", "_RuiToc", "RuiToc", "RadiantElement", "customElement", "prop", "state", "onUpdated", "bound", "root", "headings", "querySelectorAllSafe", "usedIds", "entries", "heading", "ensureUniqueHeadingId", "selector", "querySelectorSafe", "from", "node", "overflowY", "level", "handler", "eventName", "parseCommaSeparated", "cleanup", "onScroll", "scrollHeight", "viewport", "trackingLineY", "lastId", "pendingHeading", "lineY", "activeId", "id", "event", "mouseEvent", "behavior", "scrollHeadingIntoView", "jsxs", "jsx", "entry", "jsx", "RADIANT_VIEW_ELEMENT", "RADIANT_SCRIPT_MODULE", "RADIANT_SCRIPT_EXPORT", "linkViewToElement", "view", "element", "RADIANT_VIEW_ELEMENT", "ssrModule", "RADIANT_SCRIPT_MODULE", "RADIANT_SCRIPT_EXPORT", "defineRadiantView", "render", "_options", "args", "RuiToc", "defineRadiantView", "_RuiToc", "target", "headingSelector", "label", "scrollOffset", "navigationEvents", "props", "jsx"]
4
+ "sourcesContent": ["let _initProto, _initClass, _init_target, _init_extra_target, _init_headingSelector, _init_extra_headingSelector, _init_label, _init_extra_label, _init_scrollOffset, _init_extra_scrollOffset, _init_navigationEvents, _init_extra_navigationEvents, _init_entries, _init_extra_entries, _init_activeId, _init_extra_activeId;\nfunction _applyDecs(e, t, n, r, o, i) { var a, c, u, s, f, l, p, d = Symbol.metadata || Symbol.for(\"Symbol.metadata\"), m = Object.defineProperty, h = Object.create, y = [h(null), h(null)], v = t.length; function g(t, n, r) { return function (o, i) { n && (i = o, o = e); for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []); return r ? i : o; }; } function b(e, t, n, r) { if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\")); return e; } function applyDec(e, t, n, r, o, i, u, s, f, l, p) { function d(e) { if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\"); } var h = [].concat(t[0]), v = t[3], w = !u, D = 1 === o, S = 3 === o, j = 4 === o, E = 2 === o; function I(t, n, r) { return function (o, i) { return n && (i = o, o = e), r && r(o), P[t].call(o, i); }; } if (!w) { var P = {}, k = [], F = S ? \"get\" : j || D ? \"set\" : \"value\"; if (f ? (l || D ? P = { get: _setFunctionName(function () { return v(this); }, r, \"get\"), set: function (e) { t[4](this, e); } } : P[F] = v, l || _setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) { if ((c = y[+s][r]) && 7 !== (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\"); y[+s][r] = o < 3 ? 1 : o; } } for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) { var T = b(h[O], \"A decorator\", \"be\", !0), z = n ? h[O - 1] : void 0, A = {}, H = { kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o], name: r, metadata: a, addInitializer: function (e, t) { if (e.v) throw new TypeError(\"attempted to call addInitializer after decoration was finished\"); b(t, \"An initializer\", \"be\", !0), i.push(t); }.bind(null, A) }; if (w) c = T.call(z, N, H), A.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (H.static = s, H.private = f, c = H.access = { has: f ? p.bind() : function (e) { return r in e; } }, j || (c.get = f ? E ? function (e) { return d(e), P.value; } : I(\"get\", 0, d) : function (e) { return e[r]; }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) { e[r] = t; }), N = T.call(z, D ? { get: P.get, set: P.set } : P[F], H), A.v = 1, D) { if (\"object\" == typeof N && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\"); } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N); } return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N; } function w(e) { return m(e, d, { configurable: !0, enumerable: !0, value: a }); } return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function (e) { e && f.push(g(e)); }, p = function (t, r) { for (var i = 0; i < n.length; i++) { var a = n[i], c = a[1], l = 7 & c; if ((8 & c) == t && !l == r) { var p = a[2], d = !!a[3], m = 16 & c; applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : _toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) { return _checkInRHS(t) === e; } : o); } } }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), { e: c, get c() { var n = []; return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)]; } }; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _setFunctionName(e, t, n) { \"symbol\" == typeof t && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\"); try { Object.defineProperty(e, \"name\", { configurable: !0, value: n ? n + \" \" + t : t }); } catch (e) {} return e; }\nfunction _checkInRHS(e) { if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? typeof e : \"null\")); return e; }\nimport { jsx, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nimport { RadiantElement, bound, customElement, onUpdated, prop, state } from \"@ecopages/radiant\";\nimport { isServer } from \"@ecopages/radiant/is-server\";\nimport { parseCommaSeparated } from \"@/lib/comma-separated\";\nimport { ensureUniqueHeadingId, querySelectorAllSafe, querySelectorSafe, scrollHeadingIntoView, trackingLineY } from \"./toc-helpers\";\nlet _RuiToc;\nclass RuiToc extends RadiantElement {\n static {\n ({\n e: [_init_target, _init_extra_target, _init_headingSelector, _init_extra_headingSelector, _init_label, _init_extra_label, _init_scrollOffset, _init_extra_scrollOffset, _init_navigationEvents, _init_extra_navigationEvents, _init_entries, _init_extra_entries, _init_activeId, _init_extra_activeId, _initProto],\n c: [_RuiToc, _initClass]\n } = _applyDecs(this, [customElement(\"rui-toc\")], [[prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"target\"], [prop({\n type: String,\n attribute: \"heading-selector\",\n defaultValue: \"h2,h3\"\n }), 0, \"headingSelector\"], [prop({\n type: String,\n defaultValue: \"On this page\"\n }), 0, \"label\"], [prop({\n type: Number,\n attribute: \"scroll-offset\",\n defaultValue: 120\n }), 0, \"scrollOffset\"], [prop({\n type: String,\n attribute: \"navigation-events\",\n defaultValue: \"\"\n }), 0, \"navigationEvents\"], [state, 0, \"entries\"], [state, 0, \"activeId\"], [onUpdated([\"target\", \"headingSelector\", \"scrollOffset\", \"navigationEvents\"]), 2, \"onScanSettingsUpdated\"], [bound, 2, \"onLinkClick\"]], 0, void 0, RadiantElement));\n }\n target = (_initProto(this), _init_target(this, \"\"));\n headingSelector = (_init_extra_target(this), _init_headingSelector(this, \"h2,h3\"));\n label = (_init_extra_headingSelector(this), _init_label(this, \"On this page\"));\n scrollOffset = (_init_extra_label(this), _init_scrollOffset(this, 120));\n navigationEvents = (_init_extra_scrollOffset(this), _init_navigationEvents(this, \"\"));\n entries = (_init_extra_navigationEvents(this), _init_entries(this, []));\n activeId = (_init_extra_entries(this), _init_activeId(this, null));\n headings = (_init_extra_activeId(this), []);\n scrollRoot = null;\n scrollCleanup = null;\n navigationCleanups = [];\n pendingScrollTargetId = null;\n scrollRafPending = false;\n scrollOffsetTolerance = 4;\n connectedCallback() {\n super.connectedCallback();\n this.rebuild();\n this.attachNavigationListeners();\n }\n disconnectedCallback() {\n this.detachScrollListener();\n this.detachNavigationListeners();\n super.disconnectedCallback();\n }\n onScanSettingsUpdated() {\n this.detachNavigationListeners();\n this.attachNavigationListeners();\n this.rebuild();\n }\n rebuild() {\n this.detachScrollListener();\n this.headings = [];\n this.entries = [];\n this.activeId = null;\n this.pendingScrollTargetId = null;\n this.scrollRoot = null;\n const root = this.resolveTarget();\n if (!root) {\n return;\n }\n const headings = querySelectorAllSafe(root, this.headingSelector);\n if (headings.length === 0) {\n return;\n }\n const usedIds = /* @__PURE__ */new Set();\n const entries = headings.map(heading => {\n const id = ensureUniqueHeadingId(heading, usedIds);\n return {\n id,\n label: (heading.textContent || \"\").trim(),\n depth: this.headingDepth(heading)\n };\n });\n this.headings = headings;\n this.entries = entries;\n this.scrollRoot = this.resolveScrollRoot(root);\n this.attachScrollListener();\n this.updateActiveHeading();\n }\n resolveTarget() {\n const selector = this.target.trim();\n if (selector) {\n return querySelectorSafe(document, selector);\n }\n return this.parentElement;\n }\n /**\n * Nearest ancestor (including the target) that scrolls vertically, else `window`.\n */\n resolveScrollRoot(from) {\n let node = from;\n while (node && node !== document.documentElement && node !== document.body) {\n const overflowY = getComputedStyle(node).overflowY;\n if (overflowY === \"auto\" || overflowY === \"scroll\" || overflowY === \"overlay\") {\n return node;\n }\n node = node.parentElement;\n }\n return window;\n }\n headingDepth(heading) {\n const level = Number.parseInt(heading.tagName.slice(1), 10);\n return Number.isFinite(level) ? level : 2;\n }\n attachNavigationListeners() {\n if (isServer || !this.isConnected) {\n return;\n }\n const handler = () => this.rebuild();\n for (const eventName of parseCommaSeparated(this.navigationEvents)) {\n document.addEventListener(eventName, handler);\n this.navigationCleanups.push(() => document.removeEventListener(eventName, handler));\n }\n }\n detachNavigationListeners() {\n for (const cleanup of this.navigationCleanups) {\n cleanup();\n }\n this.navigationCleanups = [];\n }\n attachScrollListener() {\n if (isServer || !this.isConnected) {\n return;\n }\n const onScroll = () => {\n if (this.scrollRafPending) {\n return;\n }\n this.scrollRafPending = true;\n requestAnimationFrame(() => {\n this.updateActiveHeading();\n this.scrollRafPending = false;\n });\n };\n const root = this.scrollRoot ?? window;\n if (root === window) {\n window.addEventListener(\"scroll\", onScroll, {\n passive: true\n });\n this.scrollCleanup = () => window.removeEventListener(\"scroll\", onScroll);\n return;\n }\n root.addEventListener(\"scroll\", onScroll, {\n passive: true\n });\n this.scrollCleanup = () => root.removeEventListener(\"scroll\", onScroll);\n }\n detachScrollListener() {\n this.scrollCleanup?.();\n this.scrollCleanup = null;\n }\n isScrollAtBottom() {\n const root = this.scrollRoot ?? window;\n if (!(root instanceof HTMLElement)) {\n const scrollHeight = document.documentElement.scrollHeight;\n const viewport = window.innerHeight;\n if (scrollHeight <= viewport + 1) {\n return false;\n }\n return window.scrollY + viewport >= scrollHeight - 10;\n }\n if (root.scrollHeight <= root.clientHeight + 1) {\n return false;\n }\n return root.scrollTop + root.clientHeight >= root.scrollHeight - 10;\n }\n activeLineY() {\n return trackingLineY(this.scrollRoot ?? window, this.scrollOffset + this.scrollOffsetTolerance);\n }\n updateActiveHeading() {\n if (this.headings.length === 0) {\n return;\n }\n if (this.isScrollAtBottom()) {\n this.pendingScrollTargetId = null;\n const lastId = this.headings[this.headings.length - 1]?.id;\n if (lastId) {\n this.setActiveId(lastId);\n }\n return;\n }\n if (this.pendingScrollTargetId) {\n const pendingHeading = this.findHeadingById(this.pendingScrollTargetId);\n if (!pendingHeading) {\n this.pendingScrollTargetId = null;\n } else if (!this.hasPendingScrollReachedTarget(pendingHeading)) {\n this.setActiveId(this.pendingScrollTargetId);\n return;\n } else {\n this.pendingScrollTargetId = null;\n }\n }\n const lineY = this.activeLineY();\n let activeId = null;\n for (const heading of this.headings) {\n if (heading.getBoundingClientRect().top <= lineY) {\n activeId = heading.id;\n } else {\n break;\n }\n }\n this.setActiveId(activeId ?? this.headings[0].id);\n }\n setActiveId(id) {\n if (this.activeId === id) {\n return;\n }\n this.activeId = id;\n }\n findHeadingById(id) {\n return this.headings.find(heading => heading.id === id) ?? null;\n }\n hasPendingScrollReachedTarget(heading) {\n return heading.getBoundingClientRect().top <= this.activeLineY();\n }\n onLinkClick(event, id) {\n const mouseEvent = event;\n if (mouseEvent.metaKey || mouseEvent.ctrlKey || mouseEvent.shiftKey || mouseEvent.altKey || mouseEvent.button !== 0) {\n return;\n }\n const heading = this.findHeadingById(id);\n if (!heading) {\n return;\n }\n event.preventDefault();\n this.pendingScrollTargetId = id;\n this.setActiveId(id);\n this.scrollToHeading(id, heading);\n }\n scrollToHeading(id, heading) {\n const behavior = window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches ? \"auto\" : \"smooth\";\n window.history.replaceState(window.history.state, \"\", `${window.location.pathname}${window.location.search}#${id}`);\n scrollHeadingIntoView(heading, this.scrollRoot ?? window, this.scrollOffset, behavior);\n }\n render() {\n if (this.entries.length === 0) {\n return null;\n }\n return /* @__PURE__ */jsxs(\"nav\", {\n class: \"rui-toc\",\n \"aria-label\": this.label,\n children: [this.label ? /* @__PURE__ */jsx(\"p\", {\n class: \"rui-toc__label\",\n children: this.label\n }) : null, /* @__PURE__ */jsx(\"ul\", {\n class: \"rui-toc__list\",\n children: this.entries.map(entry => /* @__PURE__ */jsx(\"li\", {\n class: entry.depth >= 3 ? \"rui-toc__item rui-toc__item--depth-3\" : \"rui-toc__item\",\n children: /* @__PURE__ */jsx(\"a\", {\n href: `#${entry.id}`,\n class: entry.id === this.activeId ? \"rui-toc__link rui-toc__link--active\" : \"rui-toc__link\",\n \"on:click\": event => this.onLinkClick(event, entry.id),\n children: entry.label\n })\n }))\n })]\n });\n }\n static {\n _initClass();\n }\n}\nexport { _RuiToc as RuiToc };", "export function parseCommaSeparated(value) {\n return value.split(\",\").map(name => name.trim()).filter(name => name.length > 0);\n}", "export function querySelectorSafe(root, selector) {\n try {\n return root.querySelector(selector);\n } catch {\n return null;\n }\n}\nexport function querySelectorAllSafe(root, selector) {\n try {\n return Array.from(root.querySelectorAll(selector));\n } catch {\n return [];\n }\n}\nexport function slugifyHeadingText(text) {\n return text.trim().toLowerCase().replace(/\\s+/g, \"-\").replace(/[^\\w-]/g, \"\");\n}\nexport function ensureUniqueHeadingId(heading, usedIds, isTaken = id => document.getElementById(id) !== null) {\n if (heading.id) {\n usedIds.add(heading.id);\n return heading.id;\n }\n const base = slugifyHeadingText(heading.textContent || \"\") || \"section\";\n let id = base;\n let suffix = 2;\n while (usedIds.has(id) || isTaken(id)) {\n id = `${base}-${suffix}`;\n suffix += 1;\n }\n heading.id = id;\n usedIds.add(id);\n return id;\n}\nexport function trackingLineY(scrollRoot, scrollOffset) {\n if (scrollRoot instanceof HTMLElement) {\n return scrollRoot.getBoundingClientRect().top + scrollOffset;\n }\n return scrollOffset;\n}\nexport function scrollHeadingIntoView(heading, scrollRoot, scrollOffset, behavior) {\n if (scrollRoot instanceof HTMLElement) {\n const rootRect = scrollRoot.getBoundingClientRect();\n const headingRect = heading.getBoundingClientRect();\n scrollRoot.scrollTo({\n top: scrollRoot.scrollTop + (headingRect.top - rootRect.top) - scrollOffset,\n behavior\n });\n return;\n }\n window.scrollTo({\n top: window.scrollY + heading.getBoundingClientRect().top - scrollOffset,\n behavior\n });\n}", "import { jsx } from \"@ecopages/jsx/jsx-runtime\";\nimport { defineRadiantView } from \"@/lib/radiant-view\";\nimport { RuiToc as RuiTocElement } from \"./toc.script\";\nexport const RuiToc = defineRadiantView(RuiTocElement, ({\n target,\n headingSelector,\n label,\n scrollOffset,\n navigationEvents,\n ...props\n}) => /* @__PURE__ */jsx(\"rui-toc\", {\n ...props,\n \"prop:target\": target,\n \"prop:headingSelector\": headingSelector,\n \"prop:label\": label,\n \"prop:scrollOffset\": scrollOffset,\n \"prop:navigationEvents\": navigationEvents\n}), {\n stylesheets: [\"./toc.css\"]\n});", "const RADIANT_VIEW_ELEMENT = /* @__PURE__ */Symbol.for(\"@ecopages/storybook-radiant.viewElement\");\nconst RADIANT_SCRIPT_MODULE = /* @__PURE__ */Symbol.for(\"@ecopages/storybook-radiant.scriptModule\");\nconst RADIANT_SCRIPT_EXPORT = /* @__PURE__ */Symbol.for(\"@ecopages/storybook-radiant.scriptExport\");\nconst RADIANT_VIEW_MODULE = /* @__PURE__ */Symbol.for(\"@ecopages/storybook-radiant.viewModule\");\nfunction linkViewToElement(view, element) {\n view[RADIANT_VIEW_ELEMENT] = element;\n const ssrModule = element[RADIANT_SCRIPT_MODULE];\n if (ssrModule) {\n view[RADIANT_SCRIPT_MODULE] = ssrModule;\n view[RADIANT_SCRIPT_EXPORT] = element[RADIANT_SCRIPT_EXPORT] ?? element.name;\n }\n}\nexport function defineRadiantView(element, render, _options) {\n const view = args => render(args);\n linkViewToElement(view, element);\n return view;\n}\nexport function attachRadiantStylesheets(target, _stylesheets, moduleUrl) {\n const view = target;\n view[RADIANT_VIEW_MODULE] = moduleUrl;\n return target;\n}\nexport function syncRadiantViewMetadata(view) {\n const element = view[RADIANT_VIEW_ELEMENT];\n if (element) {\n linkViewToElement(view, element);\n }\n}"],
5
+ "mappings": "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",
6
+ "names": ["jsx", "jsxs", "RadiantElement", "bound", "customElement", "onUpdated", "prop", "state", "isServer", "parseCommaSeparated", "value", "name", "querySelectorSafe", "root", "selector", "querySelectorAllSafe", "slugifyHeadingText", "text", "ensureUniqueHeadingId", "heading", "usedIds", "isTaken", "id", "base", "suffix", "trackingLineY", "scrollRoot", "scrollOffset", "scrollHeadingIntoView", "behavior", "rootRect", "headingRect", "_initProto", "_initClass", "_init_target", "_init_extra_target", "_init_headingSelector", "_init_extra_headingSelector", "_init_label", "_init_extra_label", "_init_scrollOffset", "_init_extra_scrollOffset", "_init_navigationEvents", "_init_extra_navigationEvents", "_init_entries", "_init_extra_entries", "_init_activeId", "_init_extra_activeId", "_applyDecs", "e", "n", "r", "o", "i", "a", "c", "u", "s", "f", "l", "p", "d", "m", "h", "y", "v", "g", "t", "b", "applyDec", "w", "D", "S", "j", "E", "I", "P", "k", "F", "_setFunctionName", "N", "O", "T", "z", "A", "H", "_toPropertyKey", "_checkInRHS", "_toPrimitive", "_RuiToc", "RuiToc", "RadiantElement", "customElement", "prop", "state", "onUpdated", "bound", "root", "headings", "querySelectorAllSafe", "usedIds", "entries", "heading", "ensureUniqueHeadingId", "selector", "querySelectorSafe", "from", "node", "overflowY", "level", "isServer", "handler", "eventName", "parseCommaSeparated", "cleanup", "onScroll", "scrollHeight", "viewport", "trackingLineY", "lastId", "pendingHeading", "lineY", "activeId", "id", "event", "mouseEvent", "behavior", "scrollHeadingIntoView", "jsxs", "jsx", "entry", "jsx", "RADIANT_VIEW_ELEMENT", "RADIANT_SCRIPT_MODULE", "RADIANT_SCRIPT_EXPORT", "linkViewToElement", "view", "element", "RADIANT_VIEW_ELEMENT", "ssrModule", "RADIANT_SCRIPT_MODULE", "RADIANT_SCRIPT_EXPORT", "defineRadiantView", "render", "_options", "args", "RuiToc", "defineRadiantView", "_RuiToc", "target", "headingSelector", "label", "scrollOffset", "navigationEvents", "props", "jsx"]
7
7
  }
@@ -0,0 +1 @@
1
+ import '@ecopages/radiant/server/install-ssr-runtime';
@@ -0,0 +1 @@
1
+ export {};