PageSourceSearch

https://www.oslo-universitetssykehus.no/static/js/TableOfContentComponent.BHbgo_9H.js

js oslo-universitetssykehus.no collected 2026-09-24 15:31:55 UTC 7,008 bytes, 10 lines download raw bytes

1import{a as e,i as t,r as n,s as r}from"./loadReactComponent.CRGJNnQn.chunk.js";import{r as i,t as a}from"./ensureUniqueId.DvCqoeBy.chunk.js";import{a as o,l as s,n as c}from"./utils.Dmtx4S2V.chunk.js";import{C as l,l as u}from"./api.generated._yGp5TCT.chunk.js";import{t as d}from"./classnames.Bais1xbC.chunk.js";import{t as f}from"./useWindowSize.C3VsfONB.chunk.js";import{t as p}from"./helpers.BM6FsvKj.chunk.js";var m=r(e(),1),h=(e,t)=>{if(o(e))return e;let n=t[e];return n?(t[e]+=1,`${e}-${n}`):(t[e]=1,e)},g=e=>{let t=e.parentElement?.nextElementSibling;t&&(t.style.marginTop=`0`)},_=(e,t)=>{let n=e.hasAttribute(`id`)&&e.hasAttribute(`data-title`)&&e.classList.contains(`custom-anchor`),r=e.getAttribute(`id`),i=r&&!t[r],s=n||i?e.id:p(e.innerText),c=h(n||i?s:a(s),t);return o(c)?null:{anchor:c,text:n?e.getAttribute(`data-title`):e.innerText.trim(),headingElement:e}},v=(e,t=!1)=>{if(t)return document.querySelectorAll(e.join(`, `));let n=e.map(e=>{switch(e){case`h2`:return`.content .text-container > h2:not([class])`;case`h3`:return`.content .text-container > h3:not([class]), .content .text-container .expander:not(.expander .expander, .expander--toc) > h3.expander__title`;case`h4`:return`.content .text-container > h4:not([class]), .content .text-container .expander:not(.expander .expander, .expander--toc) > h4.expander__title`;case`h5`:return`.content .text-container >
1 h5:not([class])`;case`custom`:return`.content .text-container a[id].custom-anchor`;case`allblocks`:return`
2                      .content .text-container h2:not(.content .text-container > h2), 
3                      .content .text-container h3:not(.content .text-container > h3):not(.content .text-container .expander__content h3):not(.content .text-container .dialog-container h3), 
4                      .content .text-container h4:not(.content .text-container > h4):not(.content .text-container .expander__content h4):not(.content .text-container .dialog-container h4), 
5                      .content .text-container h5:not(.content .text-container > h5),
6                      .block-content h2,
7                      .block-content h3,
8                      .block-content h4,
9                      .block-content h5
10                  `;default:return``}}).filter(e=>e).join(`, `);return document.querySelectorAll(n)},y=r(d(),1),b=t(),x=64,S=8,C=100,w=48,T=10,E=544,D=({model:e,tocElements:t})=>{let{shouldRenderTableOfContents:n,tableOfContentsMenuSelection:r}=e,[a,o]=(0,m.useState)(!1),[c,u]=(0,m.useState)(a),[d,h]=(0,m.useState)(!1),[_,v]=(0,m.useState)(!1),[D,O]=(0,m.useState)(),[k,A]=(0,m.useState)(!0),[j,M]=(0,m.useState)(),[N,P]=(0,m.useState)(x),[F,I]=(0,m.useState)(),{width:L}=f(C),R=(0,m.useRef)(void 0),z=(0,m.useRef)(null),B=(0,m.useRef)(null),V=(0,m.useRef)(null),H=n&&r.length>0,U=()=>
10{if(!B.current?.parentElement)return;(B.current?.parentElement.getBoundingClientRect()).bottom-w<=0?h(!0):h(!1);let e=t.slice().reverse().find(e=>{let{bottom:t=0,height:n=0}=e.headingElement?.getBoundingClientRect()??{};return t<n+x+T});I(e)},W=e=>{e.key===`Tab`&&document.activeElement===z.current&&o(!1)},G=()=>{A(!0),o(!a)},K=()=>{A(!0),o(!1)};if((0,m.useEffect)(()=>{if(t?.length>0){if(t.forEach(e=>e.headingElement.setAttribute(`id`,e.anchor)),B.current){window.addEventListener(`scroll`,s(U,100));let e=B.current.querySelectorAll(`.toc__list li a`);z.current=e[e.length-1],window.addEventListener(`scroll`,s(U,100)),B.current.addEventListener(`keydown`,W)}g(B.current?.parentElement)}return()=>{window.removeEventListener(`scroll`,s(U,100)),B.current?.removeEventListener(`keydown`,W)}},[]),(0,m.useEffect)(()=>{u(a===!0),!R.current&&d===!0?o(!1):R.current&&d===!1&&o(c),R.current=d},[d]),(0,m.useEffect)(()=>{let e=L<=E;if(v(e),!e){let e=B.current?.parentElement?.getBoundingClientRect()?.width;O(e)}let t=V.current?.clientHeight??x;M(t)},[L]),(0,m.useEffect)(()=>{let e=V.current?.clientHeight??x;M(e),!d&&(N<e||k)&&P(e)},[a]),!H||!t||t.length===0)return(0,b.jsx)(b.Fragment,{});let q=l(`AnchorNavigationMenuTitle`,`Innhold på denne siden`),J={marginBottom:`${w}px`};return J=_?d?{...J,width:`100%`,marginLeft:`-16px`}:{...J,width:`100%`}:{...J,width:D},V.current&&j>0&&!a&&(document.documentElement.style.scrollPaddingTop=`${j+S}px`),(0,b.jsx)(`div`,{className:`toc-wrapper d-print-none`,style:{height:`${N+w}px`},children:(0,b.jsx)(`nav`,{className:(0,y.default)(`toc`,d&&`toc--sticky`),ref:B,style:J,children:(0,b.jsxs)(`div`,{className:`expander expander--practical expander--toc`,"data-id":i(p(q)),ref:V,children:[(0,b.jsx)(`h3`,{className:`expander__title`,children:(0,b.jsx)(`button`,{"aria-expanded":a,className:`expander__button`,onClick:G,"aria-controls":`toc-list`,children:q})}),(0,b.jsx)(`div`,{id:`toc-list`,className:(0,y.default)(`expander__content-wrapper toc__content`,a&&`show`),children:(0,b.jsx)(`div`,{className:`expander__content`,children:(0,b.jsx)(`ol`,{className:`toc__list`,children:t.map(e=>(0,b.jsx)(`li`,{children:(0,b.jsx)(`a`,{href:`#${e.anchor}`,className:(0,y.default)(`toc__link`,F===e&&`toc__link--current`),onClick:K,children:e.text})},`#${e.anchor}`))})})})]})})})},O=({model:e,tocElements:t})=>{let{shouldRenderTableOfContents:n,tableOfContentsMenuSelection:r}=e,[a,o]=(0,m.useState)(!1),s=(0,m.useRef)(null),c=n&&r.length>0,u=()=>{o(!a)};if((0,m.useEffect)(()=>{t?.length>0&&(t.forEach(e=>e.headingElement.setAttribute(`id`,e.anchor)),g(s.current?.parentElement))},[t]),!c||!t||t.length===0)return(0,b.jsx)(b.Fragment,{});let d=l(`AnchorNavigationMenuTitle`,`Innhold på denne siden`);return(0,b.jsx)(`div`,{className:`toc-wrapper d-print-none`,children:(0,b.jsx)(`nav`,{className:`toc`,ref:s,children:(0,b.jsxs)(`div`,{className:`expander expander--practical expander--toc`,"data-id":i(p(d)),children:[(0,b.jsx)(`h3`,{className:`expander__title`,children:(0,b.jsx)(`button`,{"aria-expanded":a,className:`expander__button`,onClick:u,"aria-controls":`toc-list`,children:d})}),(0,b.jsx)(`div`,{id:`toc-list`,className:(0,y.default)(`expander__content-wrapper toc__content`,a&&`show`),children:(0,b.jsx)(`div`,{className:`expander__content`,children:(0,b.jsx)(`ol`,{className:`toc__list`,children:t.map(e=>(0,b.jsx)(`li`,{children:(0,b.jsx)(`a`,{href:`#${e.anchor}`,className:`toc__link`,children:e.text})},`#${e.anchor}`))})})})]})})})},k=100;n(u.TableOfContentComponent,({model:e})=>{let{shouldRenderTableOfContents:t,tableOfContentsMenuSelection:n,stickyToc:r,useCustomSelector:i}=e,a=t&&n.length>0,[o,s]=(0,m.useState)([]),l=(0,m.useCallback)(()=>{if(!a)return;let e=v(n,i);if(!e?.length)return;let t={},r=Array.from(e).map(e=>_(e,t)).filter(e=>!!e);s(e=>e.length===r.length&&e.every((e,t)=>e.headingElement===r[t].headingElement)?e:r)},[a,n,i]),u=(0,m.useRef)(l);u.current=l;let d=(0,m.useRef)(c(()=>u.current(),k));return(0,m.useEffect)(()=>
10{l();let e=new MutationObserver(d.current);return e.observe(document.body,{childList:!0,subtree:!0}),()=>e.disconnect()},[l]),o.length>0?r?(0,b.jsx)(D,{model:e,tocElements:o}):(0,b.jsx)(O,{model:e,tocElements:o}):null});

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.