PageSourceSearch

https://vukuil.no/assets/nettside-skall-pGrsgIxc.js

js vukuil.no collected 2026-10-02 18:55:27 UTC 4,858 bytes, 1 lines download raw bytes

1import{r as e,t}from"./jsx-runtime-DGeXAQPT.js";import{t as n}from"./react-BhjfaixL.js";import{t as r}from"./link-DXYHuBD2.js";import{J as i,b as a}from"./index-C3FPPzxK.js";import{t as o}from"./chevron-down-D8n-swSx.js";import{n as s}from"./forside-seksjoner-jErYByZ9.js";var c=e(n(),1),l=t(),u=`/dokumenter/vuku-il-logo.png`;function d({tittel:e,stikkord:t,children:n,forside:r=!1,egenHero:i=!1}){return(0,l.jsxs)(`div`,{className:`min-h-screen bg-background`,children:[(0,l.jsx)(f,{}),!r&&!i&&e&&(0,l.jsxs)(`div`,{className:`relative isolate overflow-hidden bg-primary`,children:[(0,l.jsx)(`div`,{"aria-hidden":!0,className:`absolute inset-0`,style:{background:`var(--gradient-hero)`}}),(0,l.jsxs)(`div`,{className:`relative mx-auto max-w-6xl px-5 py-16 sm:py-24`,children:[t&&(0,l.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-[0.3em] text-primary-foreground/80`,children:t}),(0,l.jsx)(`h1`,{className:`mt-3 font-display text-4xl leading-none tracking-tight text-primary-foreground sm:text-6xl`,children:e})]})]}),(0,l.jsx)(`main`,{children:n}),(0,l.jsx)(s,{visRedigerLenke:!1})]})}function f(){let[e,t]=(0,c.useState)(!1),[n,s]=(0,c.useState)(null),d=i({select:e=>e.location.pathname});return(0,l.jsxs)(`header`,{className:`sticky top-0 z-50 border-b border-border bg-card/95 backdrop-blur`,children:[(0,l.jsxs)(`div`,{className:`mx-auto flex max-w-7xl items-center justify-between gap-3 px-4 py-3`,children:[(0,l.jsxs)(r,{to:`/`,className:`flex items-center gap-3`,children:[(0,l.jsx)(`img`,{src:u,alt:`Vuku IL`,className:`h-11 w-11 shrink-0 object-contain`}),(0,l.jsx)(`span`,{className:`font-display text-xl tracking-wide text-primary whitespace-nowrap`,children:`VUKU IL`})]}),(0,l.jsx)(`nav`,{className:`hidden items-center gap-1 xl:flex`,children:a.map(e=>{let t=e.href===`/`?d===`/`:d.startsWith(e.href);return(0,l.jsxs)(`div`,{className:`group relative`,children:[(0,l.jsxs)(r,{to:e.href,className:`relative flex items-center gap-1.5 whitespace-nowrap px-3 py-2 font-display text-[15px] font-medium tracking-[0.01em] transition-colors duration-200 `+(t?`text-primary`:`text-foreground/65 group-hover:text-primary`),children:[(0,l.jsxs)(`span`,{className:`relative`,children:[e.tittel,(0,l.jsx)(`span`,{"aria-hidden":!0,className:`absolute -bottom-1 left-0 h-[1.5px] w-full origin-left rounded-full bg-primary/80 transition-transform duration-300 `+(t?`scale-x-100`:`scale-x-0 group-hover:scale-x-100`)})]}),e.under&&(0,l.jsx)(o,{"aria-hidden":!0,className:`h-3.5 w-3.5 shrink-0 opacity-60 transition-transform duration-300 group-hover:rotate-180`})]}),e.under&&(0,l.jsx)(`div`,{className:`invisible absolute left-0 top-full z-50 w-64 translate-y-1 rounded-2xl border border-border bg-card p-2 opacity-0 shadow-[var(--shadow-elevated)] transition-all duration-200 group-hover:visible group-hover:translate-y-0 group-hover:opacity-100 group-focus-within:visible group-focus-within:translate-y-0 group-focus-within:opacity-100`,children:e.under.map(e=>e.href.startsWith(`http`)?(0,l.jsx)(`a`,{href:e.href,target:`_blank`,rel:`noopener noreferrer`,className:`block rounded-lg px-3 py-2 font-display text-[14px] font-normal tracking-[0.01em] text-foreground/75 transition-colors hover:bg-primary/10 hover:text-primary`,children:e.tittel},e.href):(0,l.jsx)(r,{to:e.href,className:`block rounded-lg px-3 py-2 font-display text-[14px] font-normal tracking-[0.01em] text-foreground/75 transition-colors hover:bg-primary/10 hover:text-primary`,children:e.tittel},e.href))})]},e.href)})}),(0,l.jsx)(`button`,{type:`button`,onClick:()=>t(e=>!e),"aria-label":`Meny`,"aria-expanded":e,className:`rounded-md border border-border px-3 py-2 text-sm font-semibold text-primary xl:hidden`,children:e?`Lukk`:`Meny`})]}),e&&(0,l.jsx)(`nav`,{className:`border-t border-border bg-card px-5 py-3 xl:hidden`,children:a.map(e=>(0,l.jsxs)(`div`,{className:`border-b border-border/60 last:border-0`,children:[(0,l.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,l.jsx)(r,{to:e.href,onClick:()=>t(!1),className:`block py-3 text-sm font-semibold text-foreground`,children:e.tittel}),e.under&&(0,l.jsx)(`button`,{type:`button`,onClick:()=>s(t=>t===e.href?null:e.href),"aria-label":`Vis undersider for ${e.tittel}`,className:`px-3 py-2 text-primary`,children:(0,l.jsx)(o,{"aria-hidden":!0,
1className:`h-5 w-5 transition-transform `+(n===e.href?`rotate-180`:``)})})]}),e.under&&n===e.href&&(0,l.jsx)(`div`,{className:`pb-3 pl-3`,children:e.under.map(e=>e.href.startsWith(`http`)?(0,l.jsx)(`a`,{href:e.href,target:`_blank`,rel:`noopener noreferrer`,onClick:()=>t(!1),className:`block py-2 text-sm text-muted-foreground hover:text-primary`,children:e.tittel},e.href):(0,l.jsx)(r,{to:e.href,onClick:()=>t(!1),className:`block py-2 text-sm text-muted-foreground hover:text-primary`,children:e.tittel},e.href))})]},e.href))})]})}export{d as t};

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.