PageSourceSearch

https://www.helse-bergen.no/static/js/TableOfContentComponent.C4WxKqDL.js

js helse-bergen.no collected 2026-10-02 03:16:27 UTC 7,400 bytes, 16 lines download raw bytes

1import{c as e,i as t,o as n,r}from"./loadReactComponent.klM2aHgP.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.UyoyPTsa.chunk.js";import{t as d}from"./classnames.aycg6a_G.chunk.js";import{t as f}from"./useWindowSize.DvlY_gTY.chunk.js";import{t as p}from"./helpers.BM6FsvKj.chunk.js";var m=e(n(),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(t=>{switch(t){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 y(e);default:return``}}).filter(e=>e).join(`, `);return document.querySelectorAll(n)},y=e=>e.map(e=>{switch(e){case`h2`:return`
2                  .content .text-container h2:not(.content .text-container > h2),
3                  .block-content h2
4              `;case`h3`:return`
5                  .content .text-container h3:not(.content .text-container > h3):not(.content .text-container .expander__content h3):not(.content .text-container .expander--toc h3):not(.content .text-container .dialog-container h3),
6                  .block-content h3
7              `;case`h4`:return`
8                  .content .text-container h4:not(.content .text-container > h4):not(.content .text-container .expander__content h4):not(.content .text-container .expander--toc h4):not(.content .text-container .dialog-container h4),
9                  .block-content h4
10              `;case`h5`:return`
11                  .content .text-container h5:not(.content .text-container > h5),
12                  .block-content h5
13              `;case`custom`:return`
14                  .content .text-container a[id].custom-anchor,
15                  .block-content a[id].custom-anchor
16              `;default:return``}}).filter(e=>e).join(`, `),b=e(d(),1),x=t(),S=64,C=8,w=100,T=48,E=10,D=544,O=({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),[y,O]=(0,m.useState)(),[k,A]=(0,m.useState)(!0),[j,M]=(0,m.useState)(),[N,P]=(0,m.useState)(S),[F,I]=(0,m.useState)(),{width:L}=f(w),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=()=>
16{if(!B.current?.parentElement)return;(B.current?.parentElement.getBoundingClientRect()).bottom-T<=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+S+E});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<=D;if(v(e),!e){let e=B.current?.parentElement?.getBoundingClientRect()?.width;O(e)}let t=V.current?.clientHeight??S;M(t)},[L]),(0,m.useEffect)(()=>{let e=V.current?.clientHeight??S;M(e),!d&&(N<e||k)&&P(e)},[a]),!H||!t||t.length===0)return(0,x.jsx)(x.Fragment,{});let q=l(`AnchorNavigationMenuTitle`,`Innhold på denne siden`),J={marginBottom:`${T}px`};return J=_?d?{...J,width:`100%`,marginLeft:`-16px`}:{...J,width:`100%`}:{...J,width:y},V.current&&j>0&&!a&&(document.documentElement.style.scrollPaddingTop=`${j+C}px`),(0,x.jsx)(`div`,{className:`toc-wrapper d-print-none`,style:{height:`${N+T}px`},children:(0,x.jsx)(`nav`,{className:(0,b.default)(`toc`,d&&`toc--sticky`),ref:B,style:J,children:(0,x.jsxs)(`div`,{className:`expander expander--practical expander--toc`,"data-id":i(p(q)),ref:V,children:[(0,x.jsx)(`h3`,{className:`expander__title`,children:(0,x.jsx)(`button`,{"aria-expanded":a,className:`expander__button`,onClick:G,"aria-controls":`toc-list`,children:q})}),(0,x.jsx)(`div`,{id:`toc-list`,className:(0,b.default)(`expander__content-wrapper toc__content`,a&&`show`),children:(0,x.jsx)(`div`,{className:`expander__content`,children:(0,x.jsx)(`ol`,{className:`toc__list`,children:t.map(e=>(0,x.jsx)(`li`,{children:(0,x.jsx)(`a`,{href:`#${e.anchor}`,className:(0,b.default)(`toc__link`,F===e&&`toc__link--current`),onClick:K,children:e.text})},`#${e.anchor}`))})})})]})})})},k=({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,x.jsx)(x.Fragment,{});let d=l(`AnchorNavigationMenuTitle`,`Innhold på denne siden`);return(0,x.jsx)(`div`,{className:`toc-wrapper d-print-none`,children:(0,x.jsx)(`nav`,{className:`toc`,ref:s,children:(0,x.jsxs)(`div`,{className:`expander expander--practical expander--toc`,"data-id":i(p(d)),children:[(0,x.jsx)(`h3`,{className:`expander__title`,children:(0,x.jsx)(`button`,{"aria-expanded":a,className:`expander__button`,onClick:u,"aria-controls":`toc-list`,children:d})}),(0,x.jsx)(`div`,{id:`toc-list`,className:(0,b.default)(`expander__content-wrapper toc__content`,a&&`show`),children:(0,x.jsx)(`div`,{className:`expander__content`,children:(0,x.jsx)(`ol`,{className:`toc__list`,children:t.map(e=>(0,x.jsx)(`li`,{children:(0,x.jsx)(`a`,{href:`#${e.anchor}`,className:`toc__link`,children:e.text})},`#${e.anchor}`))})})})]})})})},A=100;r(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(),A));return(0,m.useEffect)(()=>
16{l();let e=new MutationObserver(d.current);return e.observe(document.body,{childList:!0,subtree:!0}),()=>e.disconnect()},[l]),o.length>0?r?(0,x.jsx)(O,{model:e,tocElements:o}):(0,x.jsx)(k,{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.