@oslokommune/punkt-react 11.6.0 → 11.7.0
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.
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,30 @@ og skriver commits ca etter [Conventional Commits](https://conventionalcommits.o
|
|
|
5
5
|
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
+
## [11.7.0](https://github.com/oslokommune/punkt/compare/11.6.0...11.7.0) (2024-02-19)
|
|
9
|
+
|
|
10
|
+
### ⚠ BREAKING CHANGES
|
|
11
|
+
Ingen
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
* add spinner option to button (#1528). * feat(react): add loading to button:active
|
|
15
|
+
|
|
16
|
+
* feat(vue): add loading to button
|
|
17
|
+
|
|
18
|
+
* fix(css): update button example with loading
|
|
19
|
+
|
|
20
|
+
* chore(docs): update button docs with loading prop
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
### Bug Fixes
|
|
24
|
+
Ingen
|
|
25
|
+
|
|
26
|
+
### Chores
|
|
27
|
+
Ingen
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
|
|
8
32
|
## [11.6.0](https://github.com/oslokommune/punkt/compare/11.5.4...11.6.0) (2024-02-16)
|
|
9
33
|
|
|
10
34
|
### ⚠ BREAKING CHANGES
|
|
@@ -9,6 +9,7 @@ export interface IPktButton extends React.ButtonHTMLAttributes<HTMLButtonElement
|
|
|
9
9
|
variant?: 'label-only' | 'icon-left' | 'icon-right' | 'icon-only' | 'icons-right-and-left';
|
|
10
10
|
state?: 'normal' | 'focus' | 'hover' | 'active';
|
|
11
11
|
type?: 'button' | 'submit' | 'reset';
|
|
12
|
+
isLoading?: boolean;
|
|
12
13
|
onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;
|
|
13
14
|
}
|
|
14
15
|
export declare const PktButton: React.ForwardRefExoticComponent<IPktButton & React.RefAttributes<HTMLButtonElement>>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { IconFetcher } from "./IconContext";
|
|
2
|
-
export declare const defaultSvgPath = "https://punkt-cdn.oslo.kommune.no/11.
|
|
2
|
+
export declare const defaultSvgPath = "https://punkt-cdn.oslo.kommune.no/11.7/icons/";
|
|
3
3
|
declare const defaultIconFetcher: IconFetcher;
|
|
4
4
|
export default defaultIconFetcher;
|
package/dist/punkt-react.es.js
CHANGED
|
@@ -631,7 +631,7 @@ Check the top-level render call using <` + m + ">.");
|
|
|
631
631
|
}
|
|
632
632
|
process.env.NODE_ENV === "production" ? Ve.exports = mn() : Ve.exports = hn();
|
|
633
633
|
var Je = Ve.exports;
|
|
634
|
-
const X = Je.Fragment, l = Je.jsx, h = Je.jsxs, Fe = {}, kn = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"></svg>', vn = "https://punkt-cdn.oslo.kommune.no/11.
|
|
634
|
+
const X = Je.Fragment, l = Je.jsx, h = Je.jsxs, Fe = {}, kn = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"></svg>', vn = "https://punkt-cdn.oslo.kommune.no/11.7/icons/", _n = (e, n) => (!Fe[e] && typeof window.fetch == "function" && (Fe[e] = window.fetch(n + e + ".svg").then((a) => a.ok ? a.text() : (console.error("Missing icon: " + n + e + ".svg"), kn)).then((a) => a)), Promise.resolve(Fe[e])), bn = {
|
|
635
635
|
fetchIcon: async (e, n) => _n(e, n || vn)
|
|
636
636
|
}, gn = un(bn), E = ({ name: e, path: n, className: a = "", ...i }) => {
|
|
637
637
|
const [r, o] = le(null), s = pn(gn);
|
|
@@ -1487,9 +1487,10 @@ const _r = B(
|
|
|
1487
1487
|
type: s = "button",
|
|
1488
1488
|
variant: c = "label-only",
|
|
1489
1489
|
color: p,
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1490
|
+
isLoading: u = !1,
|
|
1491
|
+
...d
|
|
1492
|
+
}, k) => {
|
|
1493
|
+
const v = [
|
|
1493
1494
|
n,
|
|
1494
1495
|
"pkt-btn",
|
|
1495
1496
|
r && `pkt-btn--${r}`,
|
|
@@ -1497,7 +1498,15 @@ const _r = B(
|
|
|
1497
1498
|
c && `pkt-btn--${c}`,
|
|
1498
1499
|
p && `pkt-btn--${p}`
|
|
1499
1500
|
].filter(Boolean).join(" ");
|
|
1500
|
-
return /* @__PURE__ */ h("button", { ...
|
|
1501
|
+
return /* @__PURE__ */ h("button", { ...d, className: v, type: s, ref: k, children: [
|
|
1502
|
+
u && /* @__PURE__ */ l(
|
|
1503
|
+
E,
|
|
1504
|
+
{
|
|
1505
|
+
className: "pkt-btn__icon",
|
|
1506
|
+
name: "spinner-blue",
|
|
1507
|
+
path: "https://punkt-cdn.oslo.kommune.no/11.7/animations/"
|
|
1508
|
+
}
|
|
1509
|
+
),
|
|
1501
1510
|
c !== "label-only" && /* @__PURE__ */ l(E, { className: "pkt-btn__icon", name: a }),
|
|
1502
1511
|
/* @__PURE__ */ l("span", { className: "pkt-btn__text", children: e }),
|
|
1503
1512
|
c === "icons-right-and-left" && /* @__PURE__ */ l(E, { className: "pkt-btn__icon", name: i })
|
|
@@ -1801,7 +1810,7 @@ const Ft = /* @__PURE__ */ dn(ur), Nr = B(
|
|
|
1801
1810
|
name: "oslologo",
|
|
1802
1811
|
className: "pkt-header__logo-svg",
|
|
1803
1812
|
"aria-hidden": "true",
|
|
1804
|
-
path: "https://punkt-cdn.oslo.kommune.no/11.
|
|
1813
|
+
path: "https://punkt-cdn.oslo.kommune.no/11.7/logos/"
|
|
1805
1814
|
}
|
|
1806
1815
|
) }) : /* @__PURE__ */ l(
|
|
1807
1816
|
"button",
|
|
@@ -1815,7 +1824,7 @@ const Ft = /* @__PURE__ */ dn(ur), Nr = B(
|
|
|
1815
1824
|
name: "oslologo",
|
|
1816
1825
|
className: "pkt-header__logo-svg",
|
|
1817
1826
|
"aria-hidden": "true",
|
|
1818
|
-
path: "https://punkt-cdn.oslo.kommune.no/11.
|
|
1827
|
+
path: "https://punkt-cdn.oslo.kommune.no/11.7/logos/"
|
|
1819
1828
|
}
|
|
1820
1829
|
)
|
|
1821
1830
|
}
|
|
@@ -2106,7 +2115,7 @@ const yr = B(
|
|
|
2106
2115
|
{
|
|
2107
2116
|
name: R(o),
|
|
2108
2117
|
"aria-label": "loading",
|
|
2109
|
-
path: "https://punkt-cdn.oslo.kommune.no/11.
|
|
2118
|
+
path: "https://punkt-cdn.oslo.kommune.no/11.7/animations/",
|
|
2110
2119
|
className: `pkt-loader__svg pkt-loader__${o}`
|
|
2111
2120
|
}
|
|
2112
2121
|
),
|
package/dist/punkt-react.umd.js
CHANGED
|
@@ -24,7 +24,7 @@ Check the render method of \``+t+"`."}return""}}function vr(t){{if(t!==void 0){v
|
|
|
24
24
|
|
|
25
25
|
Check your code at `+p+":"+m+"."}return""}}var It={};function _r(t){{var p=Lt();if(!p){var m=typeof t=="string"?t:t.displayName||t.name;m&&(p=`
|
|
26
26
|
|
|
27
|
-
Check the top-level render call using <`+m+">.")}return p}}function Ft(t,p){{if(!t._store||t._store.validated||t.key!=null)return;t._store.validated=!0;var m=_r(p);if(It[m])return;It[m]=!0;var g="";t&&t._owner&&t._owner!==ze.current&&(g=" It was passed a child from "+I(t._owner.type)+"."),ie(t),C('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',m,g),ie(null)}}function Ut(t,p){{if(typeof t!="object")return;if(Ke(t))for(var m=0;m<t.length;m++){var g=t[m];Ge(g)&&Ft(g,p)}else if(Ge(t))t._store&&(t._store.validated=!0);else if(t){var O=L(t);if(typeof O=="function"&&O!==t.entries)for(var D=O.call(t),R;!(R=D.next()).done;)Ge(R.value)&&Ft(R.value,p)}}}function br(t){{var p=t.type;if(p==null||typeof p=="string")return;var m;if(typeof p=="function")m=p.propTypes;else if(typeof p=="object"&&(p.$$typeof===f||p.$$typeof===k))m=p.propTypes;else return;if(m){var g=I(p);lr(m,t.props,"prop",g,t)}else if(p.PropTypes!==void 0&&!qe){qe=!0;var O=I(p);C("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",O||"Unknown")}typeof p.getDefaultProps=="function"&&!p.getDefaultProps.isReactClassApproved&&C("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function gr(t){{for(var p=Object.keys(t.props),m=0;m<p.length;m++){var g=p[m];if(g!=="children"&&g!=="key"){ie(t),C("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",g),ie(null);break}}t.ref!==null&&(ie(t),C("Invalid attribute `ref` supplied to `React.Fragment`."),ie(null))}}function At(t,p,m,g,O,D){{var R=G(t);if(!R){var P="";(t===void 0||typeof t=="object"&&t!==null&&Object.keys(t).length===0)&&(P+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var Y=vr(O);Y?P+=Y:P+=Lt();var U;t===null?U="null":Ke(t)?U="array":t!==void 0&&t.$$typeof===n?(U="<"+(I(t.type)||"Unknown")+" />",P=" Did you accidentally export a JSX literal instead of a component?"):U=typeof t,C("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",U,P)}var A=kr(t,p,m,O,D);if(A==null)return A;if(R){var H=p.children;if(H!==void 0)if(g)if(Ke(H)){for(var oe=0;oe<H.length;oe++)Ut(H[oe],t);Object.freeze&&Object.freeze(H)}else C("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else Ut(H,t)}return t===l?gr(A):br(A),A}}function Nr(t,p,m){return At(t,p,m,!0)}function yr(t,p,m){return At(t,p,m,!1)}var wr=yr,Er=Nr;ce.Fragment=l,ce.jsx=wr,ce.jsxs=Er}()),ce}process.env.NODE_ENV==="production"?Re.exports=Mt():Re.exports=Yt();var Te=Re.exports;const X=Te.Fragment,i=Te.jsx,h=Te.jsxs,Oe={},Kt='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"></svg>',Jt="https://punkt-cdn.oslo.kommune.no/11.
|
|
27
|
+
Check the top-level render call using <`+m+">.")}return p}}function Ft(t,p){{if(!t._store||t._store.validated||t.key!=null)return;t._store.validated=!0;var m=_r(p);if(It[m])return;It[m]=!0;var g="";t&&t._owner&&t._owner!==ze.current&&(g=" It was passed a child from "+I(t._owner.type)+"."),ie(t),C('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',m,g),ie(null)}}function Ut(t,p){{if(typeof t!="object")return;if(Ke(t))for(var m=0;m<t.length;m++){var g=t[m];Ge(g)&&Ft(g,p)}else if(Ge(t))t._store&&(t._store.validated=!0);else if(t){var O=L(t);if(typeof O=="function"&&O!==t.entries)for(var D=O.call(t),R;!(R=D.next()).done;)Ge(R.value)&&Ft(R.value,p)}}}function br(t){{var p=t.type;if(p==null||typeof p=="string")return;var m;if(typeof p=="function")m=p.propTypes;else if(typeof p=="object"&&(p.$$typeof===f||p.$$typeof===k))m=p.propTypes;else return;if(m){var g=I(p);lr(m,t.props,"prop",g,t)}else if(p.PropTypes!==void 0&&!qe){qe=!0;var O=I(p);C("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",O||"Unknown")}typeof p.getDefaultProps=="function"&&!p.getDefaultProps.isReactClassApproved&&C("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function gr(t){{for(var p=Object.keys(t.props),m=0;m<p.length;m++){var g=p[m];if(g!=="children"&&g!=="key"){ie(t),C("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",g),ie(null);break}}t.ref!==null&&(ie(t),C("Invalid attribute `ref` supplied to `React.Fragment`."),ie(null))}}function At(t,p,m,g,O,D){{var R=G(t);if(!R){var P="";(t===void 0||typeof t=="object"&&t!==null&&Object.keys(t).length===0)&&(P+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var Y=vr(O);Y?P+=Y:P+=Lt();var U;t===null?U="null":Ke(t)?U="array":t!==void 0&&t.$$typeof===n?(U="<"+(I(t.type)||"Unknown")+" />",P=" Did you accidentally export a JSX literal instead of a component?"):U=typeof t,C("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",U,P)}var A=kr(t,p,m,O,D);if(A==null)return A;if(R){var H=p.children;if(H!==void 0)if(g)if(Ke(H)){for(var oe=0;oe<H.length;oe++)Ut(H[oe],t);Object.freeze&&Object.freeze(H)}else C("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else Ut(H,t)}return t===l?gr(A):br(A),A}}function Nr(t,p,m){return At(t,p,m,!0)}function yr(t,p,m){return At(t,p,m,!1)}var wr=yr,Er=Nr;ce.Fragment=l,ce.jsx=wr,ce.jsxs=Er}()),ce}process.env.NODE_ENV==="production"?Re.exports=Mt():Re.exports=Yt();var Te=Re.exports;const X=Te.Fragment,i=Te.jsx,h=Te.jsxs,Oe={},Kt='<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"></svg>',Jt="https://punkt-cdn.oslo.kommune.no/11.7/icons/",zt=(e,n)=>(!Oe[e]&&typeof window.fetch=="function"&&(Oe[e]=window.fetch(n+e+".svg").then(a=>a.ok?a.text():(console.error("Missing icon: "+n+e+".svg"),Kt)).then(a=>a)),Promise.resolve(Oe[e])),qt={fetchIcon:async(e,n)=>zt(e,n||Jt)},Ze=b.createContext(qt),w=({name:e,path:n,className:a="",...l})=>{const[r,o]=b.useState(null),s=b.useContext(Ze);return b.useEffect(()=>{e?s.fetchIcon(e,n).then(o):o(null)},[e,n]),r?i("span",{className:`pkt-icon ${a}`,dangerouslySetInnerHTML:{__html:r},...l}):null},Qe=b.forwardRef(({children:e,className:n,skin:a="info",closeAlert:l=!1,onClose:r,title:o,date:s,ariaLive:c="polite",compact:f=!1,...u},d)=>{const k=[n,"pkt-alert",a&&`pkt-alert--${a}`,f&&"pkt-alert--compact"].filter(Boolean).join(" "),[v,S]=b.useState(!0),x=()=>{S(!1),r&&r()};return v?h("div",{...u,className:k,"aria-live":c,ref:d,children:[i(w,{className:"pkt-alert__icon",name:a==="info"?"alert-information":`alert-${a}`}),l&&i("div",{className:"pkt-alert__close",children:i("button",{type:"button",className:"pkt-btn pkt-btn--tertiary pkt-btn--small pkt-btn--icon-only",tabIndex:0,"aria-label":"close",onClick:x,children:i(w,{name:"close",className:"pkt-btn__icon","aria-hidden":"true"})})}),o&&i("div",{className:"pkt-alert__title",children:o}),i("div",{className:"pkt-alert__text",children:e}),s&&h("div",{className:"pkt-alert__date",children:["Sist oppdatert: ",s]})]}):null}),Gt=b.forwardRef(({href:e,text:n,onClick:a,className:l,...r},o)=>{const s=[l,"pkt-back-link"].filter(Boolean).join(" ");return i("nav",{ref:o,className:s,"aria-label":"Gå tilbake et steg",children:h("a",{href:e||"/",className:"pkt-link pkt-link--icon-left",onClick:f=>{a&&a(f)},...r,children:[i(w,{className:"pkt-back-link__icon pkt-icon pkt-link__icon",name:"chevron-thin-left","aria-hidden":"true"}),i("span",{className:"pkt-back-link__text",children:n||"Forsiden"})]})})});/**
|
|
28
28
|
* @remix-run/router v1.14.0
|
|
29
29
|
*
|
|
30
30
|
* Copyright (c) Remix Software Inc.
|
|
@@ -51,8 +51,8 @@ Check the top-level render call using <`+m+">.")}return p}}function Ft(t,p){{if(
|
|
|
51
51
|
* LICENSE.md file in the root directory of this source tree.
|
|
52
52
|
*
|
|
53
53
|
* @license MIT
|
|
54
|
-
*/function ae(){return ae=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var a=arguments[n];for(var l in a)Object.prototype.hasOwnProperty.call(a,l)&&(e[l]=a[l])}return e},ae.apply(this,arguments)}function Ve(e,n){if(e==null)return{};var a={},l=Object.keys(e),r,o;for(o=0;o<l.length;o++)r=l[o],!(n.indexOf(r)>=0)&&(a[r]=e[r]);return a}const ve="get",_e="application/x-www-form-urlencoded";function be(e){return e!=null&&typeof e.tagName=="string"}function mn(e){return be(e)&&e.tagName.toLowerCase()==="button"}function hn(e){return be(e)&&e.tagName.toLowerCase()==="form"}function kn(e){return be(e)&&e.tagName.toLowerCase()==="input"}function vn(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function _n(e,n){return e.button===0&&(!n||n==="_self")&&!vn(e)}let ge=null;function bn(){if(ge===null)try{new FormData(document.createElement("form"),0),ge=!1}catch{ge=!0}return ge}const gn=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function We(e){return e!=null&&!gn.has(e)?(process.env.NODE_ENV!=="production"&&ne(!1,'"'+e+'" is not a valid `encType` for `<Form>`/`<fetcher.Form>` '+('and will default to "'+_e+'"')),null):e}function Nn(e,n){let a,l,r,o,s;if(hn(e)){let c=e.getAttribute("action");l=c?ue(c,n):null,a=e.getAttribute("method")||ve,r=We(e.getAttribute("enctype"))||_e,o=new FormData(e)}else if(mn(e)||kn(e)&&(e.type==="submit"||e.type==="image")){let c=e.form;if(c==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let f=e.getAttribute("formaction")||c.getAttribute("action");if(l=f?ue(f,n):null,a=e.getAttribute("formmethod")||c.getAttribute("method")||ve,r=We(e.getAttribute("formenctype"))||We(c.getAttribute("enctype"))||_e,o=new FormData(c,e),!bn()){let{name:u,type:d,value:k}=e;if(d==="image"){let v=u?u+".":"";o.append(v+"x","0"),o.append(v+"y","0")}else u&&o.append(u,k)}}else{if(be(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');a=ve,l=null,r=_e,s=e}return o&&r==="text/plain"&&(s=o,o=void 0),{action:l,method:a.toLowerCase(),encType:r,formData:o,body:s}}const yn=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","unstable_viewTransition"],wn=["aria-current","caseSensitive","className","end","style","to","unstable_viewTransition","children"],En=["fetcherKey","navigate","reloadDocument","replace","state","method","action","onSubmit","relative","preventScrollReset","unstable_viewTransition"],dt=y.createContext({isTransitioning:!1});process.env.NODE_ENV!=="production"&&(dt.displayName="ViewTransition");const Cn=y.createContext(new Map);process.env.NODE_ENV!=="production"&&(Cn.displayName="Fetchers"),process.env.NODE_ENV;const xn=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",Pn=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Ne=y.forwardRef(function(n,a){let{onClick:l,relative:r,reloadDocument:o,replace:s,state:c,target:f,to:u,preventScrollReset:d,unstable_viewTransition:k}=n,v=Ve(n,yn),{basename:S}=y.useContext(Z),x,$=!1;if(typeof u=="string"&&Pn.test(u)&&(x=u,xn))try{let _=new URL(window.location.href),j=u.startsWith("//")?new URL(_.protocol+u):new URL(u),V=ue(j.pathname,S);j.origin===_.origin&&V!=null?u=V+j.search+j.hash:$=!0}catch{process.env.NODE_ENV!=="production"&&ne(!1,'<Link to="'+u+'"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.')}let L=on(u,{relative:r}),E=On(u,{replace:s,state:c,target:f,preventScrollReset:d,relative:r,unstable_viewTransition:k});function C(_){l&&l(_),_.defaultPrevented||E(_)}return y.createElement("a",ae({},v,{href:x||L,onClick:$||o?l:C,ref:a,target:f}))});process.env.NODE_ENV!=="production"&&(Ne.displayName="Link");const Sn=y.forwardRef(function(n,a){let{"aria-current":l="page",caseSensitive:r=!1,className:o="",end:s=!1,style:c,to:f,unstable_viewTransition:u,children:d}=n,k=Ve(n,wn),v=pe(f,{relative:k.relative}),S=fe(),x=y.useContext(ot),{navigator:$}=y.useContext(Z),L=x!=null&&Fn(v)&&u===!0,E=$.encodeLocation?$.encodeLocation(v).pathname:v.pathname,C=S.pathname,_=x&&x.navigation&&x.navigation.location?x.navigation.location.pathname:null;r||(C=C.toLowerCase(),_=_?_.toLowerCase():null,E=E.toLowerCase());const j=E!=="/"&&E.endsWith("/")?E.length-1:E.length;let V=C===E||!s&&C.startsWith(E)&&C.charAt(j)==="/",W=_!=null&&(_===E||!s&&_.startsWith(E)&&_.charAt(E.length)==="/"),B={isActive:V,isPending:W,isTransitioning:L},J=V?l:void 0,M;typeof o=="function"?M=o(B):M=[o,V?"active":null,W?"pending":null,L?"transitioning":null].filter(Boolean).join(" ");let G=typeof c=="function"?c(B):c;return y.createElement(Ne,ae({},k,{"aria-current":J,className:M,ref:a,style:G,to:f,unstable_viewTransition:u}),typeof d=="function"?d(B):d)});process.env.NODE_ENV!=="production"&&(Sn.displayName="NavLink");const Rn=y.forwardRef((e,n)=>{let{fetcherKey:a,navigate:l,reloadDocument:r,replace:o,state:s,method:c=ve,action:f,onSubmit:u,relative:d,preventScrollReset:k,unstable_viewTransition:v}=e,S=Ve(e,En),x=Ln(),$=In(f,{relative:d}),L=c.toLowerCase()==="get"?"get":"post",E=C=>{if(u&&u(C),C.defaultPrevented)return;C.preventDefault();let _=C.nativeEvent.submitter,j=(_==null?void 0:_.getAttribute("formmethod"))||c;x(_||C.currentTarget,{fetcherKey:a,method:j,navigate:l,replace:o,state:s,relative:d,preventScrollReset:k,unstable_viewTransition:v})};return y.createElement("form",ae({ref:n,method:L,action:$,onSubmit:r?u:E},S))});process.env.NODE_ENV!=="production"&&(Rn.displayName="Form"),process.env.NODE_ENV;var ye;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(ye||(ye={}));var mt;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(mt||(mt={}));function Tn(e){return e+" must be used within a data router. See https://reactrouter.com/routers/picking-a-router."}function ht(e){let n=y.useContext(ke);return n||(process.env.NODE_ENV!=="production"?F(!1,Tn(e)):F(!1)),n}function On(e,n){let{target:a,replace:l,state:r,preventScrollReset:o,relative:s,unstable_viewTransition:c}=n===void 0?{}:n,f=sn(),u=fe(),d=pe(e,{relative:s});return y.useCallback(k=>{if(_n(k,a)){k.preventDefault();let v=l!==void 0?l:je(u)===je(d);f(e,{replace:v,state:r,preventScrollReset:o,relative:s,unstable_viewTransition:c})}},[u,f,d,l,r,a,e,o,s,c])}function $n(){if(typeof document>"u")throw new Error("You are calling submit during the server render. Try calling submit within a `useEffect` or callback instead.")}let jn=0,Dn=()=>"__"+String(++jn)+"__";function Ln(){let{router:e}=ht(ye.UseSubmit),{basename:n}=y.useContext(Z),a=pn();return y.useCallback(function(l,r){r===void 0&&(r={}),$n();let{action:o,method:s,encType:c,formData:f,body:u}=Nn(l,n);if(r.navigate===!1){let d=r.fetcherKey||Dn();e.fetch(d,a,r.action||o,{preventScrollReset:r.preventScrollReset,formData:f,body:u,formMethod:r.method||s,formEncType:r.encType||c,unstable_flushSync:r.unstable_flushSync})}else e.navigate(r.action||o,{preventScrollReset:r.preventScrollReset,formData:f,body:u,formMethod:r.method||s,formEncType:r.encType||c,replace:r.replace,state:r.state,fromRouteId:a,unstable_flushSync:r.unstable_flushSync,unstable_viewTransition:r.unstable_viewTransition})},[e,n,a])}function In(e,n){let{relative:a}=n===void 0?{}:n,{basename:l}=y.useContext(Z),r=y.useContext(re);r||(process.env.NODE_ENV!=="production"?F(!1,"useFormAction must be used inside a RouteContext"):F(!1));let[o]=r.matches.slice(-1),s=ae({},pe(e||".",{relative:a})),c=fe();if(e==null){s.search=c.search;let f=new URLSearchParams(s.search);f.has("index")&&f.get("index")===""&&(f.delete("index"),s.search=f.toString()?"?"+f.toString():"")}return(!e||e===".")&&o.route.index&&(s.search=s.search?s.search.replace(/^\?/,"?index&"):"?index"),l!=="/"&&(s.pathname=s.pathname==="/"?l:Le([l,s.pathname])),je(s)}function Fn(e,n){n===void 0&&(n={});let a=y.useContext(dt);a==null&&(process.env.NODE_ENV!=="production"?F(!1,"`unstable_useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?"):F(!1));let{basename:l}=ht(ye.useViewTransitionState),r=pe(e,{relative:n.relative});if(!a.isTransitioning)return!1;let o=ue(a.currentLocation.pathname,l)||a.currentLocation.pathname,s=ue(a.nextLocation.pathname,l)||a.nextLocation.pathname;return rt(r.pathname,s)!=null||rt(r.pathname,o)!=null}const Un=b.forwardRef(({breadcrumbs:e,navigationType:n,className:a,...l},r)=>{const o=e.slice(0,4),s=o[o.length-2],c=[a,"pkt-breadcrumbs"].filter(Boolean).join(" ");return h("nav",{ref:r,"aria-label":"brødsmulemeny",className:c,children:[i("ol",{className:"pkt-breadcrumbs__list pkt-breadcrumbs--desktop",children:o.map((f,u)=>i("li",{className:"pkt-breadcrumbs__item",children:u===o.length-1?i("span",{className:"pkt-breadcrumbs__label","aria-current":"true",children:i("span",{className:"pkt-breadcrumbs__text",children:f.text})}):n==="router"?h(Ne,{to:f.href,className:"pkt-link pkt-link--icon-right pkt-breadcrumbs__label pkt-breadcrumbs__link",...l,children:[i(w,{className:"pkt-icon pkt-breadcrumbs__icon pkt-link__icon",name:"chevron-thin-right"}),i("span",{className:"pkt-breadcrumbs__text",children:f.text})]}):h("a",{href:f.href,className:"pkt-link pkt-link--icon-right pkt-breadcrumbs__label pkt-breadcrumbs__link",...l,children:[i(w,{className:"pkt-icon pkt-breadcrumbs__icon pkt-link__icon",name:"chevron-thin-right"}),i("span",{className:"pkt-breadcrumbs__text",children:f.text})]})},`breadcrumb-${u}`))}),n==="router"?h(Ne,{to:s.href,className:"pkt-link pkt-link--icon-left pkt-breadcrumbs--mobile",...l,children:[i(w,{className:"pkt-back-link__icon pkt-icon pkt-link__icon",name:"chevron-thin-left"}),i("span",{className:"pkt-breadcrumbs__text",children:s.text})]}):h("a",{href:s.href,className:"pkt-link pkt-link--icon-left pkt-breadcrumbs--mobile",...l,children:[i(w,{className:"pkt-back-link__icon pkt-icon pkt-link__icon",name:"chevron-thin-left"}),i("span",{className:"pkt-breadcrumbs__text",children:s.text})]})]})}),le=b.forwardRef(({children:e,className:n,iconName:a="user",secondIconName:l="user",size:r="medium",skin:o="primary",type:s="button",variant:c="label-only",color:f,...u},d)=>{const k=[n,"pkt-btn",r&&`pkt-btn--${r}`,o&&`pkt-btn--${o}`,c&&`pkt-btn--${c}`,f&&`pkt-btn--${f}`].filter(Boolean).join(" ");return h("button",{...u,className:k,type:s,ref:d,children:[c!=="label-only"&&i(w,{className:"pkt-btn__icon",name:a}),i("span",{className:"pkt-btn__text",children:e}),c==="icons-right-and-left"&&i(w,{className:"pkt-btn__icon",name:l})]})});le.displayName="PktButton";const kt=b.forwardRef(({id:e,hasTile:n=!1,disabled:a=!1,label:l,labelPosition:r="right",hideLabel:o=!1,checkHelptext:s,hasError:c=!1,isSwitch:f=!1,className:u,...d},k)=>{const v=[u,"pkt-input-check"].filter(Boolean).join(" ");return i("div",{className:v,children:h("div",{className:`pkt-input-check__input ${n?"pkt-input-check__input--tile":""} ${a&&n?"pkt-input-check__input--tile-disabled":""}`,children:[l&&r==="left"&&h("label",{className:`pkt-input-check__input-label ${o?"pkt-sr-only":""}`,htmlFor:e,children:[l,s&&i("div",{className:"pkt-input-check__input-helptext",children:s})]}),i("input",{ref:k,className:`pkt-input-check__input-checkbox ${c?"pkt-input-check__input-checkbox--error":""}`,type:"checkbox",role:f?"switch":"checkbox",id:e,disabled:a,...d}),l&&r==="right"&&h("label",{className:`pkt-input-check__input-label ${o?"pkt-sr-only":""}`,htmlFor:e,children:[l,s&&i("div",{className:"pkt-input-check__input-helptext",children:s})]})]})})});kt.displayName="PktCheckbox";const An=({columnOne:e,columnTwo:n,socialLinks:a,className:l,personvernOgInfoLink:r="https://www.oslo.kommune.no/personvern-og-informasjonskapsler/",tilgjengelighetLink:o="https://www.oslo.kommune.no/tilgjengelighet/"})=>{var c,f;const s=[l,"pkt-footer"].filter(Boolean).join(" ");return i("footer",{className:s,"data-mode":"dark",children:h("div",{className:"pkt-footer__container",children:[h("div",{className:"pkt-grid pkt-grid--rowgap-size-32 pkt-grid--gap-size-16",children:[h("div",{className:"pkt-footer__column pkt-cell pkt-cell--span12 pkt-cell--span4-laptop-up",children:[i("h2",{className:"pkt-footer__title",children:e.title}),h("ul",{className:"pkt-footer__list",children:[e.text&&i("li",{className:"pkt-footer__text",children:e.text}),(c=e.links)==null?void 0:c.map((u,d)=>i("li",{className:"pkt-footer__list-item",children:h("a",{className:`pkt-footer__link ${u.external?"pkt-link--external":""}`,href:u.href,target:u.openInNewTab?"_blank":"_self",rel:u.openInNewTab?"noopener noreferrer":void 0,children:[i(w,{className:"pkt-footer__link-icon",name:"chevron-right"}),u.text]})},`links-${d}`))]})]}),h("div",{className:"pkt-footer__column pkt-cell pkt-cell--span12 pkt-cell--span4-laptop-up",children:[i("h2",{className:"pkt-footer__title",children:n.title}),h("ul",{className:"pkt-footer__list",children:[n.text&&i("li",{className:"pkt-footer__text",children:n.text}),(f=n.links)==null?void 0:f.map((u,d)=>i("li",{className:"pkt-footer__list-item",children:h("a",{className:`pkt-footer__link ${u.external?"pkt-link--external":""}`,href:u.href,target:u.openInNewTab?"_blank":"_self",rel:u.openInNewTab?"noopener noreferrer":void 0,children:[i(w,{className:"pkt-footer__link-icon",name:"chevron-right"}),u.text]})},`links-${d}`))]})]}),h("div",{className:"pkt-footer__column pkt-cell pkt-cell--span12 pkt-cell--span4-laptop-up",children:[i("h2",{className:"pkt-footer__title",children:"Om nettstedet"}),h("ul",{className:"pkt-footer__list",children:[i("li",{className:"pkt-footer__list-item",children:h("a",{className:"pkt-footer__link",href:r,children:[i(w,{className:"pkt-footer__link-icon",name:"chevron-right"}),"Personvern og informasjonskapsler"]})}),i("li",{className:"pkt-footer__list-item",children:h("a",{className:"pkt-footer__link",href:o,children:[i(w,{className:"pkt-footer__link-icon",name:"chevron-right"}),"Tilgjengelighet"]})})]})]})]}),a&&h("div",{className:"pkt-footer__social","aria-label":"standard lenker",children:[i("div",{className:"pkt-footer__social-languages",children:a.filter(u=>u.language).map((u,d)=>i("div",{className:"pkt-footer__social-language",children:i("a",{href:u.href,"aria-label":`til ${u.language} versjon av nettsiden`,target:u.openInNewTab?"_blank":"_self",rel:u.openInNewTab?"noopener noreferrer":void 0,children:u.language})},`sociallinks-language-${d}`))}),i("div",{className:"pkt-footer__social-icons",children:a.filter(u=>u.iconName).map((u,d)=>i(b.Fragment,{children:i("a",{href:u.href,"aria-label":`til ${u.iconName}`,className:"pkt-footer__social-icon-link",target:u.openInNewTab?"_blank":"_self",rel:u.openInNewTab?"noopener noreferrer":void 0,children:i(w,{className:"pkt-footer__social-icon",name:u.iconName})})},`sociallinks-${d}`))})]})]})})},Vn=({links:e=[],personvernOgInfoLink:n="https://www.oslo.kommune.no/personvern-og-informasjonskapsler/",tilgjengelighetLink:a="https://www.oslo.kommune.no/tilgjengelighet/",className:l})=>{const r=[l,"pkt-footer-simple"].filter(Boolean).join(" ");return i("footer",{className:r,"data-mode":"dark",children:i("div",{className:"pkt-footer-simple__container",children:h("ul",{className:"pkt-footer-simple__list",children:[e.map((o,s)=>i("li",{className:"pkt-footer-simple__list-item",children:h("a",{className:`pkt-footer-simple__link ${o.external?" pkt-link--external":""}`,href:o.href,target:o.openInNewTab?"_blank":"_self",rel:o.openInNewTab?"noopener noreferrer":void 0,children:[i(w,{className:"pkt-footer-simple__link-icon",name:"chevron-right"}),o.text]})},s)),i("li",{className:"pkt-footer-simple__list-item",children:h("a",{className:"pkt-footer-simple__link",href:n,children:[i(w,{className:"pkt-footer-simple__link-icon",name:"chevron-right"}),"Personvern og informasjonskapsler"]})}),i("li",{className:"pkt-footer-simple__list-item",children:h("a",{className:"pkt-footer-simple__link",href:a,children:[i(w,{className:"pkt-footer-simple__link-icon",name:"chevron-right"}),"Tilgjengelighet"]})})]})})})};var vt={exports:{}};/*!
|
|
54
|
+
*/function ae(){return ae=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var a=arguments[n];for(var l in a)Object.prototype.hasOwnProperty.call(a,l)&&(e[l]=a[l])}return e},ae.apply(this,arguments)}function Ve(e,n){if(e==null)return{};var a={},l=Object.keys(e),r,o;for(o=0;o<l.length;o++)r=l[o],!(n.indexOf(r)>=0)&&(a[r]=e[r]);return a}const ve="get",_e="application/x-www-form-urlencoded";function be(e){return e!=null&&typeof e.tagName=="string"}function mn(e){return be(e)&&e.tagName.toLowerCase()==="button"}function hn(e){return be(e)&&e.tagName.toLowerCase()==="form"}function kn(e){return be(e)&&e.tagName.toLowerCase()==="input"}function vn(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function _n(e,n){return e.button===0&&(!n||n==="_self")&&!vn(e)}let ge=null;function bn(){if(ge===null)try{new FormData(document.createElement("form"),0),ge=!1}catch{ge=!0}return ge}const gn=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function We(e){return e!=null&&!gn.has(e)?(process.env.NODE_ENV!=="production"&&ne(!1,'"'+e+'" is not a valid `encType` for `<Form>`/`<fetcher.Form>` '+('and will default to "'+_e+'"')),null):e}function Nn(e,n){let a,l,r,o,s;if(hn(e)){let c=e.getAttribute("action");l=c?ue(c,n):null,a=e.getAttribute("method")||ve,r=We(e.getAttribute("enctype"))||_e,o=new FormData(e)}else if(mn(e)||kn(e)&&(e.type==="submit"||e.type==="image")){let c=e.form;if(c==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let f=e.getAttribute("formaction")||c.getAttribute("action");if(l=f?ue(f,n):null,a=e.getAttribute("formmethod")||c.getAttribute("method")||ve,r=We(e.getAttribute("formenctype"))||We(c.getAttribute("enctype"))||_e,o=new FormData(c,e),!bn()){let{name:u,type:d,value:k}=e;if(d==="image"){let v=u?u+".":"";o.append(v+"x","0"),o.append(v+"y","0")}else u&&o.append(u,k)}}else{if(be(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');a=ve,l=null,r=_e,s=e}return o&&r==="text/plain"&&(s=o,o=void 0),{action:l,method:a.toLowerCase(),encType:r,formData:o,body:s}}const yn=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset","unstable_viewTransition"],wn=["aria-current","caseSensitive","className","end","style","to","unstable_viewTransition","children"],En=["fetcherKey","navigate","reloadDocument","replace","state","method","action","onSubmit","relative","preventScrollReset","unstable_viewTransition"],dt=y.createContext({isTransitioning:!1});process.env.NODE_ENV!=="production"&&(dt.displayName="ViewTransition");const Cn=y.createContext(new Map);process.env.NODE_ENV!=="production"&&(Cn.displayName="Fetchers"),process.env.NODE_ENV;const xn=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",Pn=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Ne=y.forwardRef(function(n,a){let{onClick:l,relative:r,reloadDocument:o,replace:s,state:c,target:f,to:u,preventScrollReset:d,unstable_viewTransition:k}=n,v=Ve(n,yn),{basename:S}=y.useContext(Z),x,$=!1;if(typeof u=="string"&&Pn.test(u)&&(x=u,xn))try{let _=new URL(window.location.href),j=u.startsWith("//")?new URL(_.protocol+u):new URL(u),V=ue(j.pathname,S);j.origin===_.origin&&V!=null?u=V+j.search+j.hash:$=!0}catch{process.env.NODE_ENV!=="production"&&ne(!1,'<Link to="'+u+'"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.')}let L=on(u,{relative:r}),E=On(u,{replace:s,state:c,target:f,preventScrollReset:d,relative:r,unstable_viewTransition:k});function C(_){l&&l(_),_.defaultPrevented||E(_)}return y.createElement("a",ae({},v,{href:x||L,onClick:$||o?l:C,ref:a,target:f}))});process.env.NODE_ENV!=="production"&&(Ne.displayName="Link");const Sn=y.forwardRef(function(n,a){let{"aria-current":l="page",caseSensitive:r=!1,className:o="",end:s=!1,style:c,to:f,unstable_viewTransition:u,children:d}=n,k=Ve(n,wn),v=pe(f,{relative:k.relative}),S=fe(),x=y.useContext(ot),{navigator:$}=y.useContext(Z),L=x!=null&&Fn(v)&&u===!0,E=$.encodeLocation?$.encodeLocation(v).pathname:v.pathname,C=S.pathname,_=x&&x.navigation&&x.navigation.location?x.navigation.location.pathname:null;r||(C=C.toLowerCase(),_=_?_.toLowerCase():null,E=E.toLowerCase());const j=E!=="/"&&E.endsWith("/")?E.length-1:E.length;let V=C===E||!s&&C.startsWith(E)&&C.charAt(j)==="/",W=_!=null&&(_===E||!s&&_.startsWith(E)&&_.charAt(E.length)==="/"),B={isActive:V,isPending:W,isTransitioning:L},J=V?l:void 0,M;typeof o=="function"?M=o(B):M=[o,V?"active":null,W?"pending":null,L?"transitioning":null].filter(Boolean).join(" ");let G=typeof c=="function"?c(B):c;return y.createElement(Ne,ae({},k,{"aria-current":J,className:M,ref:a,style:G,to:f,unstable_viewTransition:u}),typeof d=="function"?d(B):d)});process.env.NODE_ENV!=="production"&&(Sn.displayName="NavLink");const Rn=y.forwardRef((e,n)=>{let{fetcherKey:a,navigate:l,reloadDocument:r,replace:o,state:s,method:c=ve,action:f,onSubmit:u,relative:d,preventScrollReset:k,unstable_viewTransition:v}=e,S=Ve(e,En),x=Ln(),$=In(f,{relative:d}),L=c.toLowerCase()==="get"?"get":"post",E=C=>{if(u&&u(C),C.defaultPrevented)return;C.preventDefault();let _=C.nativeEvent.submitter,j=(_==null?void 0:_.getAttribute("formmethod"))||c;x(_||C.currentTarget,{fetcherKey:a,method:j,navigate:l,replace:o,state:s,relative:d,preventScrollReset:k,unstable_viewTransition:v})};return y.createElement("form",ae({ref:n,method:L,action:$,onSubmit:r?u:E},S))});process.env.NODE_ENV!=="production"&&(Rn.displayName="Form"),process.env.NODE_ENV;var ye;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher",e.useViewTransitionState="useViewTransitionState"})(ye||(ye={}));var mt;(function(e){e.UseFetcher="useFetcher",e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(mt||(mt={}));function Tn(e){return e+" must be used within a data router. See https://reactrouter.com/routers/picking-a-router."}function ht(e){let n=y.useContext(ke);return n||(process.env.NODE_ENV!=="production"?F(!1,Tn(e)):F(!1)),n}function On(e,n){let{target:a,replace:l,state:r,preventScrollReset:o,relative:s,unstable_viewTransition:c}=n===void 0?{}:n,f=sn(),u=fe(),d=pe(e,{relative:s});return y.useCallback(k=>{if(_n(k,a)){k.preventDefault();let v=l!==void 0?l:je(u)===je(d);f(e,{replace:v,state:r,preventScrollReset:o,relative:s,unstable_viewTransition:c})}},[u,f,d,l,r,a,e,o,s,c])}function $n(){if(typeof document>"u")throw new Error("You are calling submit during the server render. Try calling submit within a `useEffect` or callback instead.")}let jn=0,Dn=()=>"__"+String(++jn)+"__";function Ln(){let{router:e}=ht(ye.UseSubmit),{basename:n}=y.useContext(Z),a=pn();return y.useCallback(function(l,r){r===void 0&&(r={}),$n();let{action:o,method:s,encType:c,formData:f,body:u}=Nn(l,n);if(r.navigate===!1){let d=r.fetcherKey||Dn();e.fetch(d,a,r.action||o,{preventScrollReset:r.preventScrollReset,formData:f,body:u,formMethod:r.method||s,formEncType:r.encType||c,unstable_flushSync:r.unstable_flushSync})}else e.navigate(r.action||o,{preventScrollReset:r.preventScrollReset,formData:f,body:u,formMethod:r.method||s,formEncType:r.encType||c,replace:r.replace,state:r.state,fromRouteId:a,unstable_flushSync:r.unstable_flushSync,unstable_viewTransition:r.unstable_viewTransition})},[e,n,a])}function In(e,n){let{relative:a}=n===void 0?{}:n,{basename:l}=y.useContext(Z),r=y.useContext(re);r||(process.env.NODE_ENV!=="production"?F(!1,"useFormAction must be used inside a RouteContext"):F(!1));let[o]=r.matches.slice(-1),s=ae({},pe(e||".",{relative:a})),c=fe();if(e==null){s.search=c.search;let f=new URLSearchParams(s.search);f.has("index")&&f.get("index")===""&&(f.delete("index"),s.search=f.toString()?"?"+f.toString():"")}return(!e||e===".")&&o.route.index&&(s.search=s.search?s.search.replace(/^\?/,"?index&"):"?index"),l!=="/"&&(s.pathname=s.pathname==="/"?l:Le([l,s.pathname])),je(s)}function Fn(e,n){n===void 0&&(n={});let a=y.useContext(dt);a==null&&(process.env.NODE_ENV!=="production"?F(!1,"`unstable_useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?"):F(!1));let{basename:l}=ht(ye.useViewTransitionState),r=pe(e,{relative:n.relative});if(!a.isTransitioning)return!1;let o=ue(a.currentLocation.pathname,l)||a.currentLocation.pathname,s=ue(a.nextLocation.pathname,l)||a.nextLocation.pathname;return rt(r.pathname,s)!=null||rt(r.pathname,o)!=null}const Un=b.forwardRef(({breadcrumbs:e,navigationType:n,className:a,...l},r)=>{const o=e.slice(0,4),s=o[o.length-2],c=[a,"pkt-breadcrumbs"].filter(Boolean).join(" ");return h("nav",{ref:r,"aria-label":"brødsmulemeny",className:c,children:[i("ol",{className:"pkt-breadcrumbs__list pkt-breadcrumbs--desktop",children:o.map((f,u)=>i("li",{className:"pkt-breadcrumbs__item",children:u===o.length-1?i("span",{className:"pkt-breadcrumbs__label","aria-current":"true",children:i("span",{className:"pkt-breadcrumbs__text",children:f.text})}):n==="router"?h(Ne,{to:f.href,className:"pkt-link pkt-link--icon-right pkt-breadcrumbs__label pkt-breadcrumbs__link",...l,children:[i(w,{className:"pkt-icon pkt-breadcrumbs__icon pkt-link__icon",name:"chevron-thin-right"}),i("span",{className:"pkt-breadcrumbs__text",children:f.text})]}):h("a",{href:f.href,className:"pkt-link pkt-link--icon-right pkt-breadcrumbs__label pkt-breadcrumbs__link",...l,children:[i(w,{className:"pkt-icon pkt-breadcrumbs__icon pkt-link__icon",name:"chevron-thin-right"}),i("span",{className:"pkt-breadcrumbs__text",children:f.text})]})},`breadcrumb-${u}`))}),n==="router"?h(Ne,{to:s.href,className:"pkt-link pkt-link--icon-left pkt-breadcrumbs--mobile",...l,children:[i(w,{className:"pkt-back-link__icon pkt-icon pkt-link__icon",name:"chevron-thin-left"}),i("span",{className:"pkt-breadcrumbs__text",children:s.text})]}):h("a",{href:s.href,className:"pkt-link pkt-link--icon-left pkt-breadcrumbs--mobile",...l,children:[i(w,{className:"pkt-back-link__icon pkt-icon pkt-link__icon",name:"chevron-thin-left"}),i("span",{className:"pkt-breadcrumbs__text",children:s.text})]})]})}),le=b.forwardRef(({children:e,className:n,iconName:a="user",secondIconName:l="user",size:r="medium",skin:o="primary",type:s="button",variant:c="label-only",color:f,isLoading:u=!1,...d},k)=>{const v=[n,"pkt-btn",r&&`pkt-btn--${r}`,o&&`pkt-btn--${o}`,c&&`pkt-btn--${c}`,f&&`pkt-btn--${f}`].filter(Boolean).join(" ");return h("button",{...d,className:v,type:s,ref:k,children:[u&&i(w,{className:"pkt-btn__icon",name:"spinner-blue",path:"https://punkt-cdn.oslo.kommune.no/11.7/animations/"}),c!=="label-only"&&i(w,{className:"pkt-btn__icon",name:a}),i("span",{className:"pkt-btn__text",children:e}),c==="icons-right-and-left"&&i(w,{className:"pkt-btn__icon",name:l})]})});le.displayName="PktButton";const kt=b.forwardRef(({id:e,hasTile:n=!1,disabled:a=!1,label:l,labelPosition:r="right",hideLabel:o=!1,checkHelptext:s,hasError:c=!1,isSwitch:f=!1,className:u,...d},k)=>{const v=[u,"pkt-input-check"].filter(Boolean).join(" ");return i("div",{className:v,children:h("div",{className:`pkt-input-check__input ${n?"pkt-input-check__input--tile":""} ${a&&n?"pkt-input-check__input--tile-disabled":""}`,children:[l&&r==="left"&&h("label",{className:`pkt-input-check__input-label ${o?"pkt-sr-only":""}`,htmlFor:e,children:[l,s&&i("div",{className:"pkt-input-check__input-helptext",children:s})]}),i("input",{ref:k,className:`pkt-input-check__input-checkbox ${c?"pkt-input-check__input-checkbox--error":""}`,type:"checkbox",role:f?"switch":"checkbox",id:e,disabled:a,...d}),l&&r==="right"&&h("label",{className:`pkt-input-check__input-label ${o?"pkt-sr-only":""}`,htmlFor:e,children:[l,s&&i("div",{className:"pkt-input-check__input-helptext",children:s})]})]})})});kt.displayName="PktCheckbox";const An=({columnOne:e,columnTwo:n,socialLinks:a,className:l,personvernOgInfoLink:r="https://www.oslo.kommune.no/personvern-og-informasjonskapsler/",tilgjengelighetLink:o="https://www.oslo.kommune.no/tilgjengelighet/"})=>{var c,f;const s=[l,"pkt-footer"].filter(Boolean).join(" ");return i("footer",{className:s,"data-mode":"dark",children:h("div",{className:"pkt-footer__container",children:[h("div",{className:"pkt-grid pkt-grid--rowgap-size-32 pkt-grid--gap-size-16",children:[h("div",{className:"pkt-footer__column pkt-cell pkt-cell--span12 pkt-cell--span4-laptop-up",children:[i("h2",{className:"pkt-footer__title",children:e.title}),h("ul",{className:"pkt-footer__list",children:[e.text&&i("li",{className:"pkt-footer__text",children:e.text}),(c=e.links)==null?void 0:c.map((u,d)=>i("li",{className:"pkt-footer__list-item",children:h("a",{className:`pkt-footer__link ${u.external?"pkt-link--external":""}`,href:u.href,target:u.openInNewTab?"_blank":"_self",rel:u.openInNewTab?"noopener noreferrer":void 0,children:[i(w,{className:"pkt-footer__link-icon",name:"chevron-right"}),u.text]})},`links-${d}`))]})]}),h("div",{className:"pkt-footer__column pkt-cell pkt-cell--span12 pkt-cell--span4-laptop-up",children:[i("h2",{className:"pkt-footer__title",children:n.title}),h("ul",{className:"pkt-footer__list",children:[n.text&&i("li",{className:"pkt-footer__text",children:n.text}),(f=n.links)==null?void 0:f.map((u,d)=>i("li",{className:"pkt-footer__list-item",children:h("a",{className:`pkt-footer__link ${u.external?"pkt-link--external":""}`,href:u.href,target:u.openInNewTab?"_blank":"_self",rel:u.openInNewTab?"noopener noreferrer":void 0,children:[i(w,{className:"pkt-footer__link-icon",name:"chevron-right"}),u.text]})},`links-${d}`))]})]}),h("div",{className:"pkt-footer__column pkt-cell pkt-cell--span12 pkt-cell--span4-laptop-up",children:[i("h2",{className:"pkt-footer__title",children:"Om nettstedet"}),h("ul",{className:"pkt-footer__list",children:[i("li",{className:"pkt-footer__list-item",children:h("a",{className:"pkt-footer__link",href:r,children:[i(w,{className:"pkt-footer__link-icon",name:"chevron-right"}),"Personvern og informasjonskapsler"]})}),i("li",{className:"pkt-footer__list-item",children:h("a",{className:"pkt-footer__link",href:o,children:[i(w,{className:"pkt-footer__link-icon",name:"chevron-right"}),"Tilgjengelighet"]})})]})]})]}),a&&h("div",{className:"pkt-footer__social","aria-label":"standard lenker",children:[i("div",{className:"pkt-footer__social-languages",children:a.filter(u=>u.language).map((u,d)=>i("div",{className:"pkt-footer__social-language",children:i("a",{href:u.href,"aria-label":`til ${u.language} versjon av nettsiden`,target:u.openInNewTab?"_blank":"_self",rel:u.openInNewTab?"noopener noreferrer":void 0,children:u.language})},`sociallinks-language-${d}`))}),i("div",{className:"pkt-footer__social-icons",children:a.filter(u=>u.iconName).map((u,d)=>i(b.Fragment,{children:i("a",{href:u.href,"aria-label":`til ${u.iconName}`,className:"pkt-footer__social-icon-link",target:u.openInNewTab?"_blank":"_self",rel:u.openInNewTab?"noopener noreferrer":void 0,children:i(w,{className:"pkt-footer__social-icon",name:u.iconName})})},`sociallinks-${d}`))})]})]})})},Vn=({links:e=[],personvernOgInfoLink:n="https://www.oslo.kommune.no/personvern-og-informasjonskapsler/",tilgjengelighetLink:a="https://www.oslo.kommune.no/tilgjengelighet/",className:l})=>{const r=[l,"pkt-footer-simple"].filter(Boolean).join(" ");return i("footer",{className:r,"data-mode":"dark",children:i("div",{className:"pkt-footer-simple__container",children:h("ul",{className:"pkt-footer-simple__list",children:[e.map((o,s)=>i("li",{className:"pkt-footer-simple__list-item",children:h("a",{className:`pkt-footer-simple__link ${o.external?" pkt-link--external":""}`,href:o.href,target:o.openInNewTab?"_blank":"_self",rel:o.openInNewTab?"noopener noreferrer":void 0,children:[i(w,{className:"pkt-footer-simple__link-icon",name:"chevron-right"}),o.text]})},s)),i("li",{className:"pkt-footer-simple__list-item",children:h("a",{className:"pkt-footer-simple__link",href:n,children:[i(w,{className:"pkt-footer-simple__link-icon",name:"chevron-right"}),"Personvern og informasjonskapsler"]})}),i("li",{className:"pkt-footer-simple__list-item",children:h("a",{className:"pkt-footer-simple__link",href:a,children:[i(w,{className:"pkt-footer-simple__link-icon",name:"chevron-right"}),"Tilgjengelighet"]})})]})})})};var vt={exports:{}};/*!
|
|
55
55
|
Copyright (c) 2018 Jed Watson.
|
|
56
56
|
Licensed under the MIT License (MIT), see
|
|
57
57
|
http://jedwatson.github.io/classnames
|
|
58
|
-
*/(function(e){(function(){var n={}.hasOwnProperty;function a(){for(var l=[],r=0;r<arguments.length;r++){var o=arguments[r];if(o){var s=typeof o;if(s==="string"||s==="number")l.push(o);else if(Array.isArray(o)){if(o.length){var c=a.apply(null,o);c&&l.push(c)}}else if(s==="object"){if(o.toString!==Object.prototype.toString&&!o.toString.toString().includes("[native code]")){l.push(o.toString());continue}for(var f in o)n.call(o,f)&&o[f]&&l.push(f)}}}return l.join(" ")}e.exports?(a.default=a,e.exports=a):window.classNames=a})()})(vt);var Wn=vt.exports;const _t=Bt(Wn),Bn=b.forwardRef(({logoLink:e="https://www.oslo.kommune.no/",serviceName:n,fixed:a=!0,scrollToHide:l=!0,user:r,userMenu:o,representing:s,userOptions:c,userMenuFooter:f,canChangeRepresentation:u=!0,showMenuButton:d=!1,showLogOutButton:k=!1,openMenu:v,logOut:S,changeRepresentation:x,...$},L)=>{const E=b.useMemo(()=>typeof(r==null?void 0:r.lastLoggedIn)=="string"?r.lastLoggedIn:r!=null&&r.lastLoggedIn?new Date(r.lastLoggedIn).toLocaleString("nb-NO",{year:"numeric",month:"long",day:"numeric"}):"",[r]),[C,_]=b.useState(!1),[j,V]=b.useState(0),[W,B]=b.useState(!1),J=b.useRef(null);b.useEffect(()=>(document.addEventListener("mouseup",G),window.addEventListener("scroll",z),()=>{document.removeEventListener("mouseup",G),window.removeEventListener("scroll",z)}));const M=()=>{B(!W)},G=N=>{J.current&&!J.current.contains(N.target)&&B(!1)},z=()=>{if(l){const N=window.pageYOffset||document.documentElement.scrollTop;if(N<0||Math.abs(N-j)<60)return;_(N>j),V(N)}};return h("header",{...$,id:"pkt-header","data-testid":"pkt-header","aria-label":"Topp",className:_t("pkt-header",{"pkt-header--fixed":a,"pkt-header--scroll-to-hide":l,"pkt-header--hidden":C}),ref:L,children:[h("div",{className:"pkt-header__logo",children:[typeof e=="string"?i("a",{"aria-label":"Tilbake til forside",className:"pkt-header__logo-link",href:e,children:i(w,{name:"oslologo",className:"pkt-header__logo-svg","aria-hidden":"true",path:"https://punkt-cdn.oslo.kommune.no/11.6/logos/"})}):i("button",{"aria-label":"Tilbake til forside",className:"pkt-link-button pkt-link pkt-header__logo-link",onClick:e,children:i(w,{name:"oslologo",className:"pkt-header__logo-svg","aria-hidden":"true",path:"https://punkt-cdn.oslo.kommune.no/11.6/logos/"})}),i("span",{className:"pkt-header__logo-service",children:n})]}),i("nav",{className:"pkt-header__actions",children:h("ul",{className:"pkt-header__actions-row",children:[d&&i("li",{children:i(le,{className:"pkt-header__menu-btn",skin:"secondary",variant:"icon-right",iconName:"menu",onClick:v,children:"Meny"})}),(r||s)&&h("li",{"data-testid":"usermenu",className:`pkt-header--has-dropdown ${W&&!C?"pkt-header--open-dropdown":""}`,ref:J,children:[h("button",{className:"pkt-header__user-btn pkt-btn pkt-btn--secondary pkt-btn--icons-right-and-left",type:"button",role:"button","aria-controls":"pktUserDropdown","aria-expanded":W,onClick:M,children:[i(w,{name:"user",className:"pkt-btn__icon"}),i("span",{className:"pkt-header__user-fullname",children:(s==null?void 0:s.name)||(r==null?void 0:r.name)}),i("span",{className:"pkt-header__user-shortname",children:(s==null?void 0:s.shortname)||(r==null?void 0:r.shortname)}),i(w,{name:"chevron-thin-down",className:"pkt-btn--closed"}),i(w,{name:"chevron-thin-up",className:"pkt-btn--open"})]}),h("ul",{id:"pktUserDropdown",className:"pkt-header__dropdown pkt-user-menu",children:[r&&h("li",{children:[i("div",{className:"pkt-user-menu__label",children:"Pålogget som"}),i("div",{className:"pkt-user-menu__name",children:r.name}),r.lastLoggedIn&&h("div",{className:"pkt-user-menu__last-logged-in",children:["Sist pålogget: ",i("time",{children:E})]})]}),o&&i("li",{children:i("ul",{className:"pkt-list",children:o.map((N,I)=>i("li",{children:typeof N.target=="string"?h("a",{href:N.target,className:"pkt-link",children:[N.iconName&&i(w,{name:N.iconName,className:"pkt-link__icon"}),N.title]}):h("button",{className:"pkt-link-button pkt-link",onClick:N.target,children:[N.iconName&&i(w,{name:N.iconName,className:"pkt-link__icon"}),N.title]})},`userMenu-${I}`))})}),(s||u)&&h("li",{children:[s&&h(X,{children:[i("div",{className:"pkt-user-menu__label",children:"Representerer"}),i("div",{className:"pkt-user-menu__name",children:s.name}),s.orgNumber&&h("div",{className:"pkt-user-menu__org-number",children:["Org.nr. ",s.orgNumber]})]}),i("ul",{className:"pkt-list mt-size-16",children:u&&i("li",{children:h("button",{className:"pkt-link-button pkt-link",onClick:x,children:[i(w,{name:"cogwheel",className:"pkt-link__icon"}),"Endre organisasjon"]})})})]}),i("li",{children:i("ul",{className:"pkt-list",children:(c||!k)&&h(X,{children:[c==null?void 0:c.map((N,I)=>i("li",{children:typeof N.target=="string"?h("a",{href:N.target,className:"pkt-link",children:[N.iconName&&i(w,{name:N.iconName,className:"pkt-link__icon"}),N.title]}):h("button",{className:"pkt-link-button pkt-link",onClick:N.target,children:[N.iconName&&i(w,{name:N.iconName,className:"pkt-link__icon"}),N.title]})},`userOptions-${I}`)),!k&&i("li",{children:h("button",{className:"pkt-link-button pkt-link",onClick:S,children:[i(w,{name:"exit",className:"pkt-link__icon"}),"Logg ut"]})})]})})}),f&&i("li",{className:"footer",children:i("ul",{className:"pkt-list-horizontal bordered",children:f.map((N,I)=>i("li",{children:typeof N.target=="string"?i("a",{href:N.target,className:"pkt-link",children:N.title}):i("button",{className:"pkt-link-button pkt-link",onClick:N.target,children:N.title})},`userMenuFooter-${I}`))})})]})]}),k&&i("li",{children:i(le,{className:"pkt-header__user-btn pkt-header__user-btn-logout",iconName:"exit",role:"button",onClick:S,skin:"secondary",variant:"icon-right",children:"Logg ut"})})]})})]})}),bt=b.forwardRef(({label:e,id:n,children:a,...l},r)=>h("div",{className:"pkt-form-group",children:[i("label",{htmlFor:n,className:"pkt-form-label",children:e}),i("input",{className:"pkt-form-input",id:n,...l,ref:r}),a]}));bt.displayName="PktInput";const de=b.forwardRef(({forId:e,label:n,helptext:a,helptextDropdown:l,helptextDropdownButton:r,optionalTag:o=!1,optionalText:s="Valgfritt",requiredTag:c=!1,requiredText:f="Må fylles ut",hasError:u,errorMessage:d,disabled:k,inline:v,ariaDescribedby:S,useWrapper:x=!0,children:$,className:L,hasFieldset:E=!1},C)=>{const[_,j]=b.useState(!1),V=()=>{j(!_)},W=()=>o?"pkt-tag pkt-tag--small pkt-tag--thin-text pkt-tag--blue-light":c?"pkt-tag pkt-tag--small pkt-tag--thin-text pkt-tag--beige":"",B=o?s:c?f:"",J=k?"pkt-inputwrapper--disabled":"",M=v?"pkt-inputwrapper--inline":"",G=u?"pkt-inputwrapper--error":"",z=!!l&&l!=="",N=r||'Les mer <span class="pkt-sr-only">om inputfeltet</span>',I=E?"fieldset":z?"div":"label",K=E?"legend":z?"h2":"span",q=S||(a?`${e}-helptext`:void 0);return h("div",{className:["pkt-inputwrapper",L,J,M,G].join(" "),ref:C,children:[x?i(X,{children:h(I,{htmlFor:E?void 0:e,"aria-describedby":z?void 0:S,className:`pkt-inputwrapper__label${E?" pkt-inputwrapper__fieldset":""}`,children:[h(K,{id:`${e}-label`,className:`${E?" pkt-inputwrapper__legend":""}`,children:[n,B!==""&&i("span",{className:W(),children:B})]}),a&&i("div",{className:"pkt-inputwrapper__helptext",id:`${e}-helptext`,dangerouslySetInnerHTML:{__html:a}}),z&&l!==""&&h("div",{children:[i(le,{skin:"tertiary",size:"small",variant:"icon-right",iconName:_?"chevron-thin-up":"chevron-thin-down",className:"pkt-inputwrapper__helptext-expandable pkt-link pkt-link--icon-right",onClick:V,children:i("span",{dangerouslySetInnerHTML:{__html:N}})}),i("div",{className:`pkt-inputwrapper__helptext ${_?"pkt-inputwrapper__helptext-expandable-open":"pkt-inputwrapper__helptext-expandable-closed"}`,children:i("span",{dangerouslySetInnerHTML:{__html:l}})}),!E&&i("label",{htmlFor:e,className:"pkt-sr-only","aria-describedby":q,children:n})]}),i(X,{children:$})]})}):h(X,{children:[!E&&i("label",{htmlFor:e,className:"pkt-sr-only","aria-describedby":q,id:`${e}-label`,children:n}),$]}),u&&d&&i("div",{children:i(Qe,{skin:"error","aria-live":"assertive",id:`${e}-error`,compact:!0,children:d})})]})});de.displayName="PktInputWrapper";const gt=b.forwardRef(({children:e,className:n,iconName:a="user",openInNewTab:l=!1,skin:r="normal",href:o="#",external:s=!1,title:c,...f},u)=>{const d=[n,"pkt-linkcard",r&&`pkt-linkcard--${r}`].filter(Boolean).join(" ");return h("a",{...f,href:o,className:`pkt-linkcard pkt-link ${d}`,target:l?"_blank":"_self",rel:l?"noopener noreferrer":void 0,ref:u,children:[i(w,{className:"pkt-link__icon",name:a}),h("div",{className:"pkt-linkcard__content",children:[i("div",{className:`pkt-linkcard__title ${s?"pkt-link pkt-link--external":""}`,children:c}),i("div",{className:"pkt-linkcard__text",children:e})]})]})});gt.displayName="PktLinkCard";const Mn=b.forwardRef(({className:e,message:n,size:a="medium",inline:l=!1,isLoading:r=!0,variant:o="rainbow",delay:s=0,children:c,...f},u)=>{const d=`pkt-loader pkt-loader--${a}`,[k,v]=b.useState(!(s>0));s>0&&setTimeout(()=>{v(!0)},s);const S=x=>x==="shapes"?"loader":x==="blue"?"spinner-blue":"spinner";return i("div",{role:"status","aria-live":"polite","aria-busy":r,className:`pkt-loader--${l?"inline":"box"} ${e}`,children:r?i(X,{children:k?h("div",{className:d,"data-testid":"pkt-loader",ref:u,...f,children:[i(w,{name:S(o),"aria-label":"loading",path:"https://punkt-cdn.oslo.kommune.no/11.6/animations/",className:`pkt-loader__svg pkt-loader__${o}`}),n&&i("p",{children:n})]}):null}):c})}),Yn=({children:e,className:n,compact:a=!1,skin:l="beige",title:r,...o})=>{const s=[n,"pkt-messagebox",l&&`pkt-messagebox--${l}`,a&&"pkt-messagebox--compact"].filter(Boolean).join(" ");return h("div",{...o,className:s,children:[r&&i("div",{className:"pkt-messagebox__title",children:r}),i("div",{className:"pkt-messagebox__text",children:e})]})},Nt=b.forwardRef(({id:e,name:n,label:a,className:l,hasTile:r=!1,disabled:o=!1,checkHelptext:s,hasError:c=!1,...f},u)=>{const d=[l,"pkt-input-check"].filter(Boolean).join(" ");return i("div",{className:d,children:h("div",{className:`pkt-input-check__input ${r?"pkt-input-check__input--tile":""} ${o&&r?"pkt-input-check__input--tile-disabled":""}`,children:[i("input",{ref:u,className:`pkt-input-check__input-checkbox ${c?"pkt-input-check__input-checkbox--error":""}`,type:"radio",id:e,disabled:o,name:n,...f}),h("label",{className:"pkt-input-check__input-label",htmlFor:e,children:[a,s&&i("div",{className:"pkt-input-check__input-helptext",children:s})]})]})})});Nt.displayName="PktRadioButton";const Kn=b.forwardRef(({action:e,appearance:n="local",disabled:a=!1,fullwidth:l=!1,id:r,label:o,method:s="get",name:c,placeholder:f="Søk…",suggestions:u,value:d="",onSearch:k,onSuggestionClick:v,...S},x)=>{const $=(_,j)=>{_?_():v&&v(j)},L=`pkt-searchinput pkt-searchinput--${n} ${l?"pkt-searchinput--fullwidth":""}`;return h(e?"form":"div",{className:L,onSubmit:k&&(()=>k(d)),action:e||void 0,method:e?s:void 0,role:"search",ref:x,...S,children:[h(o?"label":"div",{htmlFor:o?r:void 0,className:o?"pkt-inputwrapper__label":"",children:[o&&i(X,{children:o}),h("div",{className:n==="local"?"pkt-input__container":"pkt-searchinput__field",children:[i("input",{className:`pkt-input ${l?"pkt-input--fullwidth":""}`,type:"search",name:c||r,id:r,placeholder:f,value:d,disabled:a,onInput:k&&(_=>k(_.currentTarget.value)),autoComplete:"off","aria-autocomplete":"list","aria-controls":`${r}-suggestions`}),i(le,{className:`pkt-searchinput__button ${n==="local"?"pkt-input-icon":""}`,variant:"icon-only",iconName:"magnifying-glass-big",skin:n==="local"?"tertiary":"primary",color:n==="global"?"yellow":void 0,type:"submit",disabled:a,onClick:k&&(()=>k(d)),onKeyUp:k&&(_=>_.key==="Enter"&&k(d)),children:o||f})]})]}),u&&i("ul",{id:`${r}-suggestions`,className:"pkt-searchinput__suggestions","aria-live":"assertive",children:u.map((_,j)=>i("li",{children:b.createElement(_.href?"a":_.onClick?"button":"div",{href:_.href,className:`pkt-searchinput__suggestion ${_.onClick?"pkt-link-button":""} ${_.href||_.onClick?"pkt-searchinput__suggestion--has-hover":""}`,type:_.onClick?"button":void 0,onClick:()=>$(_.onClick,j),onKeyUp:()=>$(_.onClick,j)},h(X,{children:[_.title&&i("h3",{className:"pkt-searchinput__suggestion-title",children:_.title}),_.text&&i("p",{className:"pkt-searchinput__suggestion-text",children:_.text})]}))},`search-suggestion-${j}`))})]})}),Jn=b.forwardRef(({ariaDescribedby:e,ariaLabelledby:n,children:a,className:l,disabled:r=!1,errorMessage:o,hasError:s,helptext:c,helptextDropdown:f,helptextDropdownButton:u,id:d,inline:k=!1,fullwidth:v=!1,label:S,name:x,optionalTag:$=!1,optionalText:L,requiredTag:E=!1,requiredText:C,..._},j)=>{const V=[l,"pkt-select"].join(" ");return i(de,{className:V,forId:d,label:S,helptext:c,helptextDropdown:f,helptextDropdownButton:u,optionalTag:$,optionalText:L,requiredTag:E,requiredText:C,hasError:s,errorMessage:o,disabled:r,inline:k,ariaDescribedby:e,children:i("select",{ref:j,className:`pkt-input ${v?"pkt-input--fullwidth":""}`,"aria-invalid":s,"aria-errormessage":`${d}-error`,"aria-labelledby":n||`${d}-label`,disabled:r,id:d,name:x||d,..._,children:a})})}),zn=({isResponsive:e,children:n})=>e?i("div",{className:"pkt-table-container",children:n}):i(X,{children:n}),qn=({isResponsive:e,modifiers:{info:n=!1,success:a=!1,strong:l=!1,shadow:r=!1}={},children:o})=>i(zn,{isResponsive:e,children:i("table",{className:_t("pkt-table",{"pkt-table--info":n,"pkt-table--success":a,"pkt-table--strong":l,"pkt-table--shadow":r}),children:o})}),Gn=({children:e})=>i("td",{className:"pkt-table__th",children:e}),Hn=({children:e})=>i("th",{className:"pkt-table__th",children:e}),we=b.forwardRef(({children:e,className:n,skin:a="blue",textStyle:l="normal-text",size:r="medium",closeTag:o=!1,iconName:s="",type:c="button",ariaLabel:f="close",onClick:u=()=>{}},d)=>{const[k,v]=b.useState(!1),S=E=>{v(!0),u(E)},x=["pkt-tag",r&&`pkt-tag--${r}`,a&&`pkt-tag--${a}`,l&&`pkt-tag--${l}`,n].filter(Boolean).join(" "),$=["pkt-tag","pkt-btn","pkt-btn--tertiary",r&&`pkt-tag--${r}`,a&&`pkt-tag--${a}`,l&&`pkt-tag--${l}`,s&&o?"pkt-btn--icons-right-and-left":null,o&&!s?"pkt-btn--icon-right":null,n].filter(Boolean).join(" "),L=!k;return o&&s?i(X,{children:L&&h("button",{className:$,type:c,"aria-label":f,onClick:S,ref:d,children:[i(w,{className:"pkt-tag__icon",name:s}),e,i(w,{className:"pkt-tag__close-btn",name:"close"})]})}):o?i(X,{children:L&&h("button",{className:$,type:c,"aria-label":f,onClick:S,ref:d,children:[i(w,{className:"pkt-tag__close-btn",name:"close"}),e]})}):s?h("span",{className:x,children:[i(w,{className:"pkt-tag__icon",name:s}),e]}):i("span",{className:x,children:e})});we.displayName="PktTag";const Xn=b.forwardRef(({arrowNav:e=!0,tabs:n,onTabSelected:a},l)=>{const r=b.useRef([]);b.useEffect(()=>{r.current=r.current.slice(0,n.length)},[n]);const o=(c,f)=>{f.action&&f.action(c),a&&a(c)},s=(c,f)=>{var u,d;e&&(f.code==="ArrowLeft"&&c!==0&&((u=r.current[c-1])==null||u.focus()),f.code==="ArrowRight"&&c<n.length-1&&((d=r.current[c+1])==null||d.focus()),(f.code==="ArrowDown"||f.code==="Space")&&o(c,n[c]))};return i("div",{className:"pkt-tabs",ref:l,children:i("div",{className:"pkt-tabs__list",role:e?"tablist":"navigation",children:n.map((c,f)=>i(b.Fragment,{children:c.href?h("a",{"aria-selected":!!c.active,role:e?"tab":void 0,href:c.href,"aria-controls":c.controls,className:`pkt-tabs__link ${c.active?"active":""}`,onKeyUp:u=>s(f,u),onClick:()=>o(f,c),tabIndex:c.active||!e?void 0:-1,ref:u=>{r.current[f]=u},children:[c.icon&&i(w,{name:c.icon,className:"pkt-icon--small"}),c.text,c.tag&&i(we,{skin:c.tag.skin,size:"small",children:c.tag.text})]}):h("button",{"aria-selected":!!c.active,role:e?"tab":void 0,type:"button","aria-controls":c.controls,className:`pkt-tabs__button pkt-link-button ${c.active?"active":""}`,onKeyUp:u=>s(f,u),onClick:()=>o(f,c),tabIndex:c.active||!e?void 0:-1,ref:u=>{r.current[f]=u},children:[c.icon&&i(w,{name:c.icon,className:"pkt-icon--small"}),c.text,c.tag&&i(we,{skin:c.tag.skin,size:"small",children:c.tag.text})]},"b-"+f)},f))})})}),Zn=b.forwardRef(({id:e,ariaDescribedby:n,ariaLabelledby:a,counter:l,counterMaxLength:r,className:o,disabled:s,errorMessage:c,hasError:f,helptext:u,helptextDropdown:d,helptextDropdownButton:k,inline:v,fullwidth:S=!1,label:x,name:$,optionalTag:L=!1,optionalText:E,requiredTag:C=!1,requiredText:_,placeholder:j,rows:V,useWrapper:W=!0,onChange:B,...J},M)=>{const G=[o,"pkt-textinput","pkt-textarea"].join(" "),z=a||`${e}-label`,N=b.useRef(null),[I,K]=b.useState(0),q=ee=>{var te,me;if(l&&K(((me=(te=ee.currentTarget)==null?void 0:te.value)==null?void 0:me.length)||0),B)return B(ee)};return b.useEffect(()=>{var ee,te;typeof M=="function"&&M(N.current),l&&K(((te=(ee=N==null?void 0:N.current)==null?void 0:ee.value)==null?void 0:te.length)||0)},[M]),h(de,{ariaDescribedby:n,className:G,disabled:s,errorMessage:c,forId:e,hasError:f,helptext:u,helptextDropdown:d,helptextDropdownButton:k,inline:v,label:x,optionalTag:L,optionalText:E,requiredTag:C,requiredText:_,useWrapper:W,children:[i("textarea",{ref:N,className:`pkt-input ${S?"pkt-input--fullwidth":""} ${r&&I>r?"pkt-input--counter-error":""}`,name:$||e,id:e,placeholder:j,disabled:s,rows:V,"aria-labelledby":z,"aria-invalid":f,"aria-errormessage":`${e}-error`,...J,onChange:q}),l&&h("div",{className:"pkt-input__counter","aria-live":"polite","aria-atomic":!0,children:[I||0,r&&`/${r}`]})]})}),Qn=b.forwardRef(({id:e,ariaDescribedby:n,ariaLabelledby:a,autocomplete:l="off",className:r,disabled:o=!1,errorMessage:s,hasError:c=!1,helptext:f,helptextDropdown:u,helptextDropdownButton:d,iconNameRight:k,inline:v=!1,fullwidth:S=!1,label:x,name:$,optionalTag:L=!1,optionalText:E,requiredTag:C=!1,requiredText:_,placeholder:j,prefix:V,suffix:W,type:B="text",useWrapper:J=!0,omitSearchIcon:M=!1,value:G,...z},N)=>{const I=[r,"pkt-textinput"].join(" "),K=a||`${e}-label`,q=B==="search"&&!k&&!M;return i(de,{ariaDescribedby:n,className:I,disabled:o,errorMessage:s,forId:e,hasError:c,helptext:f,helptextDropdown:u,helptextDropdownButton:d,inline:v,label:x,optionalTag:L,optionalText:E,requiredTag:C,requiredText:_,useWrapper:J,children:h("div",{className:"pkt-input__container",children:[V&&i("div",{className:"pkt-input-prefix",children:V}),i("input",{ref:N,className:`pkt-input ${S?"pkt-input--fullwidth":""}`,type:B,name:$||e,id:e,placeholder:j,autoComplete:l,value:G,disabled:o,"aria-invalid":c,"aria-errormessage":`${e}-error`,"aria-labelledby":K,...z}),W&&h("p",{className:"pkt-input-suffix",children:[W,k&&i(w,{className:"pkt-input-suffix-icon",name:k}),q&&i(w,{className:"pkt-input-suffix-icon",name:"magnifying-glass-big"})]}),!W&&k&&i(w,{className:"pkt-input-icon",name:k}),!W&&q&&i(w,{className:"pkt-input-icon",name:"magnifying-glass-big"})]})})});T.PktAlert=Qe,T.PktBackLink=Gt,T.PktBreadcrumbs=Un,T.PktButton=le,T.PktCheckbox=kt,T.PktFooter=An,T.PktFooterSimple=Vn,T.PktHeader=Bn,T.PktIcon=w,T.PktIconContext=Ze,T.PktInput=bt,T.PktInputWrapper=de,T.PktLinkCard=gt,T.PktLoader=Mn,T.PktMessagebox=Yn,T.PktRadioButton=Nt,T.PktSearchInput=Kn,T.PktSelect=Jn,T.PktTable=qn,T.PktTableData=Gn,T.PktTableHeader=Hn,T.PktTabs=Xn,T.PktTag=we,T.PktTextarea=Zn,T.PktTextinput=Qn,Object.defineProperty(T,Symbol.toStringTag,{value:"Module"})});
|
|
58
|
+
*/(function(e){(function(){var n={}.hasOwnProperty;function a(){for(var l=[],r=0;r<arguments.length;r++){var o=arguments[r];if(o){var s=typeof o;if(s==="string"||s==="number")l.push(o);else if(Array.isArray(o)){if(o.length){var c=a.apply(null,o);c&&l.push(c)}}else if(s==="object"){if(o.toString!==Object.prototype.toString&&!o.toString.toString().includes("[native code]")){l.push(o.toString());continue}for(var f in o)n.call(o,f)&&o[f]&&l.push(f)}}}return l.join(" ")}e.exports?(a.default=a,e.exports=a):window.classNames=a})()})(vt);var Wn=vt.exports;const _t=Bt(Wn),Bn=b.forwardRef(({logoLink:e="https://www.oslo.kommune.no/",serviceName:n,fixed:a=!0,scrollToHide:l=!0,user:r,userMenu:o,representing:s,userOptions:c,userMenuFooter:f,canChangeRepresentation:u=!0,showMenuButton:d=!1,showLogOutButton:k=!1,openMenu:v,logOut:S,changeRepresentation:x,...$},L)=>{const E=b.useMemo(()=>typeof(r==null?void 0:r.lastLoggedIn)=="string"?r.lastLoggedIn:r!=null&&r.lastLoggedIn?new Date(r.lastLoggedIn).toLocaleString("nb-NO",{year:"numeric",month:"long",day:"numeric"}):"",[r]),[C,_]=b.useState(!1),[j,V]=b.useState(0),[W,B]=b.useState(!1),J=b.useRef(null);b.useEffect(()=>(document.addEventListener("mouseup",G),window.addEventListener("scroll",z),()=>{document.removeEventListener("mouseup",G),window.removeEventListener("scroll",z)}));const M=()=>{B(!W)},G=N=>{J.current&&!J.current.contains(N.target)&&B(!1)},z=()=>{if(l){const N=window.pageYOffset||document.documentElement.scrollTop;if(N<0||Math.abs(N-j)<60)return;_(N>j),V(N)}};return h("header",{...$,id:"pkt-header","data-testid":"pkt-header","aria-label":"Topp",className:_t("pkt-header",{"pkt-header--fixed":a,"pkt-header--scroll-to-hide":l,"pkt-header--hidden":C}),ref:L,children:[h("div",{className:"pkt-header__logo",children:[typeof e=="string"?i("a",{"aria-label":"Tilbake til forside",className:"pkt-header__logo-link",href:e,children:i(w,{name:"oslologo",className:"pkt-header__logo-svg","aria-hidden":"true",path:"https://punkt-cdn.oslo.kommune.no/11.7/logos/"})}):i("button",{"aria-label":"Tilbake til forside",className:"pkt-link-button pkt-link pkt-header__logo-link",onClick:e,children:i(w,{name:"oslologo",className:"pkt-header__logo-svg","aria-hidden":"true",path:"https://punkt-cdn.oslo.kommune.no/11.7/logos/"})}),i("span",{className:"pkt-header__logo-service",children:n})]}),i("nav",{className:"pkt-header__actions",children:h("ul",{className:"pkt-header__actions-row",children:[d&&i("li",{children:i(le,{className:"pkt-header__menu-btn",skin:"secondary",variant:"icon-right",iconName:"menu",onClick:v,children:"Meny"})}),(r||s)&&h("li",{"data-testid":"usermenu",className:`pkt-header--has-dropdown ${W&&!C?"pkt-header--open-dropdown":""}`,ref:J,children:[h("button",{className:"pkt-header__user-btn pkt-btn pkt-btn--secondary pkt-btn--icons-right-and-left",type:"button",role:"button","aria-controls":"pktUserDropdown","aria-expanded":W,onClick:M,children:[i(w,{name:"user",className:"pkt-btn__icon"}),i("span",{className:"pkt-header__user-fullname",children:(s==null?void 0:s.name)||(r==null?void 0:r.name)}),i("span",{className:"pkt-header__user-shortname",children:(s==null?void 0:s.shortname)||(r==null?void 0:r.shortname)}),i(w,{name:"chevron-thin-down",className:"pkt-btn--closed"}),i(w,{name:"chevron-thin-up",className:"pkt-btn--open"})]}),h("ul",{id:"pktUserDropdown",className:"pkt-header__dropdown pkt-user-menu",children:[r&&h("li",{children:[i("div",{className:"pkt-user-menu__label",children:"Pålogget som"}),i("div",{className:"pkt-user-menu__name",children:r.name}),r.lastLoggedIn&&h("div",{className:"pkt-user-menu__last-logged-in",children:["Sist pålogget: ",i("time",{children:E})]})]}),o&&i("li",{children:i("ul",{className:"pkt-list",children:o.map((N,I)=>i("li",{children:typeof N.target=="string"?h("a",{href:N.target,className:"pkt-link",children:[N.iconName&&i(w,{name:N.iconName,className:"pkt-link__icon"}),N.title]}):h("button",{className:"pkt-link-button pkt-link",onClick:N.target,children:[N.iconName&&i(w,{name:N.iconName,className:"pkt-link__icon"}),N.title]})},`userMenu-${I}`))})}),(s||u)&&h("li",{children:[s&&h(X,{children:[i("div",{className:"pkt-user-menu__label",children:"Representerer"}),i("div",{className:"pkt-user-menu__name",children:s.name}),s.orgNumber&&h("div",{className:"pkt-user-menu__org-number",children:["Org.nr. ",s.orgNumber]})]}),i("ul",{className:"pkt-list mt-size-16",children:u&&i("li",{children:h("button",{className:"pkt-link-button pkt-link",onClick:x,children:[i(w,{name:"cogwheel",className:"pkt-link__icon"}),"Endre organisasjon"]})})})]}),i("li",{children:i("ul",{className:"pkt-list",children:(c||!k)&&h(X,{children:[c==null?void 0:c.map((N,I)=>i("li",{children:typeof N.target=="string"?h("a",{href:N.target,className:"pkt-link",children:[N.iconName&&i(w,{name:N.iconName,className:"pkt-link__icon"}),N.title]}):h("button",{className:"pkt-link-button pkt-link",onClick:N.target,children:[N.iconName&&i(w,{name:N.iconName,className:"pkt-link__icon"}),N.title]})},`userOptions-${I}`)),!k&&i("li",{children:h("button",{className:"pkt-link-button pkt-link",onClick:S,children:[i(w,{name:"exit",className:"pkt-link__icon"}),"Logg ut"]})})]})})}),f&&i("li",{className:"footer",children:i("ul",{className:"pkt-list-horizontal bordered",children:f.map((N,I)=>i("li",{children:typeof N.target=="string"?i("a",{href:N.target,className:"pkt-link",children:N.title}):i("button",{className:"pkt-link-button pkt-link",onClick:N.target,children:N.title})},`userMenuFooter-${I}`))})})]})]}),k&&i("li",{children:i(le,{className:"pkt-header__user-btn pkt-header__user-btn-logout",iconName:"exit",role:"button",onClick:S,skin:"secondary",variant:"icon-right",children:"Logg ut"})})]})})]})}),bt=b.forwardRef(({label:e,id:n,children:a,...l},r)=>h("div",{className:"pkt-form-group",children:[i("label",{htmlFor:n,className:"pkt-form-label",children:e}),i("input",{className:"pkt-form-input",id:n,...l,ref:r}),a]}));bt.displayName="PktInput";const de=b.forwardRef(({forId:e,label:n,helptext:a,helptextDropdown:l,helptextDropdownButton:r,optionalTag:o=!1,optionalText:s="Valgfritt",requiredTag:c=!1,requiredText:f="Må fylles ut",hasError:u,errorMessage:d,disabled:k,inline:v,ariaDescribedby:S,useWrapper:x=!0,children:$,className:L,hasFieldset:E=!1},C)=>{const[_,j]=b.useState(!1),V=()=>{j(!_)},W=()=>o?"pkt-tag pkt-tag--small pkt-tag--thin-text pkt-tag--blue-light":c?"pkt-tag pkt-tag--small pkt-tag--thin-text pkt-tag--beige":"",B=o?s:c?f:"",J=k?"pkt-inputwrapper--disabled":"",M=v?"pkt-inputwrapper--inline":"",G=u?"pkt-inputwrapper--error":"",z=!!l&&l!=="",N=r||'Les mer <span class="pkt-sr-only">om inputfeltet</span>',I=E?"fieldset":z?"div":"label",K=E?"legend":z?"h2":"span",q=S||(a?`${e}-helptext`:void 0);return h("div",{className:["pkt-inputwrapper",L,J,M,G].join(" "),ref:C,children:[x?i(X,{children:h(I,{htmlFor:E?void 0:e,"aria-describedby":z?void 0:S,className:`pkt-inputwrapper__label${E?" pkt-inputwrapper__fieldset":""}`,children:[h(K,{id:`${e}-label`,className:`${E?" pkt-inputwrapper__legend":""}`,children:[n,B!==""&&i("span",{className:W(),children:B})]}),a&&i("div",{className:"pkt-inputwrapper__helptext",id:`${e}-helptext`,dangerouslySetInnerHTML:{__html:a}}),z&&l!==""&&h("div",{children:[i(le,{skin:"tertiary",size:"small",variant:"icon-right",iconName:_?"chevron-thin-up":"chevron-thin-down",className:"pkt-inputwrapper__helptext-expandable pkt-link pkt-link--icon-right",onClick:V,children:i("span",{dangerouslySetInnerHTML:{__html:N}})}),i("div",{className:`pkt-inputwrapper__helptext ${_?"pkt-inputwrapper__helptext-expandable-open":"pkt-inputwrapper__helptext-expandable-closed"}`,children:i("span",{dangerouslySetInnerHTML:{__html:l}})}),!E&&i("label",{htmlFor:e,className:"pkt-sr-only","aria-describedby":q,children:n})]}),i(X,{children:$})]})}):h(X,{children:[!E&&i("label",{htmlFor:e,className:"pkt-sr-only","aria-describedby":q,id:`${e}-label`,children:n}),$]}),u&&d&&i("div",{children:i(Qe,{skin:"error","aria-live":"assertive",id:`${e}-error`,compact:!0,children:d})})]})});de.displayName="PktInputWrapper";const gt=b.forwardRef(({children:e,className:n,iconName:a="user",openInNewTab:l=!1,skin:r="normal",href:o="#",external:s=!1,title:c,...f},u)=>{const d=[n,"pkt-linkcard",r&&`pkt-linkcard--${r}`].filter(Boolean).join(" ");return h("a",{...f,href:o,className:`pkt-linkcard pkt-link ${d}`,target:l?"_blank":"_self",rel:l?"noopener noreferrer":void 0,ref:u,children:[i(w,{className:"pkt-link__icon",name:a}),h("div",{className:"pkt-linkcard__content",children:[i("div",{className:`pkt-linkcard__title ${s?"pkt-link pkt-link--external":""}`,children:c}),i("div",{className:"pkt-linkcard__text",children:e})]})]})});gt.displayName="PktLinkCard";const Mn=b.forwardRef(({className:e,message:n,size:a="medium",inline:l=!1,isLoading:r=!0,variant:o="rainbow",delay:s=0,children:c,...f},u)=>{const d=`pkt-loader pkt-loader--${a}`,[k,v]=b.useState(!(s>0));s>0&&setTimeout(()=>{v(!0)},s);const S=x=>x==="shapes"?"loader":x==="blue"?"spinner-blue":"spinner";return i("div",{role:"status","aria-live":"polite","aria-busy":r,className:`pkt-loader--${l?"inline":"box"} ${e}`,children:r?i(X,{children:k?h("div",{className:d,"data-testid":"pkt-loader",ref:u,...f,children:[i(w,{name:S(o),"aria-label":"loading",path:"https://punkt-cdn.oslo.kommune.no/11.7/animations/",className:`pkt-loader__svg pkt-loader__${o}`}),n&&i("p",{children:n})]}):null}):c})}),Yn=({children:e,className:n,compact:a=!1,skin:l="beige",title:r,...o})=>{const s=[n,"pkt-messagebox",l&&`pkt-messagebox--${l}`,a&&"pkt-messagebox--compact"].filter(Boolean).join(" ");return h("div",{...o,className:s,children:[r&&i("div",{className:"pkt-messagebox__title",children:r}),i("div",{className:"pkt-messagebox__text",children:e})]})},Nt=b.forwardRef(({id:e,name:n,label:a,className:l,hasTile:r=!1,disabled:o=!1,checkHelptext:s,hasError:c=!1,...f},u)=>{const d=[l,"pkt-input-check"].filter(Boolean).join(" ");return i("div",{className:d,children:h("div",{className:`pkt-input-check__input ${r?"pkt-input-check__input--tile":""} ${o&&r?"pkt-input-check__input--tile-disabled":""}`,children:[i("input",{ref:u,className:`pkt-input-check__input-checkbox ${c?"pkt-input-check__input-checkbox--error":""}`,type:"radio",id:e,disabled:o,name:n,...f}),h("label",{className:"pkt-input-check__input-label",htmlFor:e,children:[a,s&&i("div",{className:"pkt-input-check__input-helptext",children:s})]})]})})});Nt.displayName="PktRadioButton";const Kn=b.forwardRef(({action:e,appearance:n="local",disabled:a=!1,fullwidth:l=!1,id:r,label:o,method:s="get",name:c,placeholder:f="Søk…",suggestions:u,value:d="",onSearch:k,onSuggestionClick:v,...S},x)=>{const $=(_,j)=>{_?_():v&&v(j)},L=`pkt-searchinput pkt-searchinput--${n} ${l?"pkt-searchinput--fullwidth":""}`;return h(e?"form":"div",{className:L,onSubmit:k&&(()=>k(d)),action:e||void 0,method:e?s:void 0,role:"search",ref:x,...S,children:[h(o?"label":"div",{htmlFor:o?r:void 0,className:o?"pkt-inputwrapper__label":"",children:[o&&i(X,{children:o}),h("div",{className:n==="local"?"pkt-input__container":"pkt-searchinput__field",children:[i("input",{className:`pkt-input ${l?"pkt-input--fullwidth":""}`,type:"search",name:c||r,id:r,placeholder:f,value:d,disabled:a,onInput:k&&(_=>k(_.currentTarget.value)),autoComplete:"off","aria-autocomplete":"list","aria-controls":`${r}-suggestions`}),i(le,{className:`pkt-searchinput__button ${n==="local"?"pkt-input-icon":""}`,variant:"icon-only",iconName:"magnifying-glass-big",skin:n==="local"?"tertiary":"primary",color:n==="global"?"yellow":void 0,type:"submit",disabled:a,onClick:k&&(()=>k(d)),onKeyUp:k&&(_=>_.key==="Enter"&&k(d)),children:o||f})]})]}),u&&i("ul",{id:`${r}-suggestions`,className:"pkt-searchinput__suggestions","aria-live":"assertive",children:u.map((_,j)=>i("li",{children:b.createElement(_.href?"a":_.onClick?"button":"div",{href:_.href,className:`pkt-searchinput__suggestion ${_.onClick?"pkt-link-button":""} ${_.href||_.onClick?"pkt-searchinput__suggestion--has-hover":""}`,type:_.onClick?"button":void 0,onClick:()=>$(_.onClick,j),onKeyUp:()=>$(_.onClick,j)},h(X,{children:[_.title&&i("h3",{className:"pkt-searchinput__suggestion-title",children:_.title}),_.text&&i("p",{className:"pkt-searchinput__suggestion-text",children:_.text})]}))},`search-suggestion-${j}`))})]})}),Jn=b.forwardRef(({ariaDescribedby:e,ariaLabelledby:n,children:a,className:l,disabled:r=!1,errorMessage:o,hasError:s,helptext:c,helptextDropdown:f,helptextDropdownButton:u,id:d,inline:k=!1,fullwidth:v=!1,label:S,name:x,optionalTag:$=!1,optionalText:L,requiredTag:E=!1,requiredText:C,..._},j)=>{const V=[l,"pkt-select"].join(" ");return i(de,{className:V,forId:d,label:S,helptext:c,helptextDropdown:f,helptextDropdownButton:u,optionalTag:$,optionalText:L,requiredTag:E,requiredText:C,hasError:s,errorMessage:o,disabled:r,inline:k,ariaDescribedby:e,children:i("select",{ref:j,className:`pkt-input ${v?"pkt-input--fullwidth":""}`,"aria-invalid":s,"aria-errormessage":`${d}-error`,"aria-labelledby":n||`${d}-label`,disabled:r,id:d,name:x||d,..._,children:a})})}),zn=({isResponsive:e,children:n})=>e?i("div",{className:"pkt-table-container",children:n}):i(X,{children:n}),qn=({isResponsive:e,modifiers:{info:n=!1,success:a=!1,strong:l=!1,shadow:r=!1}={},children:o})=>i(zn,{isResponsive:e,children:i("table",{className:_t("pkt-table",{"pkt-table--info":n,"pkt-table--success":a,"pkt-table--strong":l,"pkt-table--shadow":r}),children:o})}),Gn=({children:e})=>i("td",{className:"pkt-table__th",children:e}),Hn=({children:e})=>i("th",{className:"pkt-table__th",children:e}),we=b.forwardRef(({children:e,className:n,skin:a="blue",textStyle:l="normal-text",size:r="medium",closeTag:o=!1,iconName:s="",type:c="button",ariaLabel:f="close",onClick:u=()=>{}},d)=>{const[k,v]=b.useState(!1),S=E=>{v(!0),u(E)},x=["pkt-tag",r&&`pkt-tag--${r}`,a&&`pkt-tag--${a}`,l&&`pkt-tag--${l}`,n].filter(Boolean).join(" "),$=["pkt-tag","pkt-btn","pkt-btn--tertiary",r&&`pkt-tag--${r}`,a&&`pkt-tag--${a}`,l&&`pkt-tag--${l}`,s&&o?"pkt-btn--icons-right-and-left":null,o&&!s?"pkt-btn--icon-right":null,n].filter(Boolean).join(" "),L=!k;return o&&s?i(X,{children:L&&h("button",{className:$,type:c,"aria-label":f,onClick:S,ref:d,children:[i(w,{className:"pkt-tag__icon",name:s}),e,i(w,{className:"pkt-tag__close-btn",name:"close"})]})}):o?i(X,{children:L&&h("button",{className:$,type:c,"aria-label":f,onClick:S,ref:d,children:[i(w,{className:"pkt-tag__close-btn",name:"close"}),e]})}):s?h("span",{className:x,children:[i(w,{className:"pkt-tag__icon",name:s}),e]}):i("span",{className:x,children:e})});we.displayName="PktTag";const Xn=b.forwardRef(({arrowNav:e=!0,tabs:n,onTabSelected:a},l)=>{const r=b.useRef([]);b.useEffect(()=>{r.current=r.current.slice(0,n.length)},[n]);const o=(c,f)=>{f.action&&f.action(c),a&&a(c)},s=(c,f)=>{var u,d;e&&(f.code==="ArrowLeft"&&c!==0&&((u=r.current[c-1])==null||u.focus()),f.code==="ArrowRight"&&c<n.length-1&&((d=r.current[c+1])==null||d.focus()),(f.code==="ArrowDown"||f.code==="Space")&&o(c,n[c]))};return i("div",{className:"pkt-tabs",ref:l,children:i("div",{className:"pkt-tabs__list",role:e?"tablist":"navigation",children:n.map((c,f)=>i(b.Fragment,{children:c.href?h("a",{"aria-selected":!!c.active,role:e?"tab":void 0,href:c.href,"aria-controls":c.controls,className:`pkt-tabs__link ${c.active?"active":""}`,onKeyUp:u=>s(f,u),onClick:()=>o(f,c),tabIndex:c.active||!e?void 0:-1,ref:u=>{r.current[f]=u},children:[c.icon&&i(w,{name:c.icon,className:"pkt-icon--small"}),c.text,c.tag&&i(we,{skin:c.tag.skin,size:"small",children:c.tag.text})]}):h("button",{"aria-selected":!!c.active,role:e?"tab":void 0,type:"button","aria-controls":c.controls,className:`pkt-tabs__button pkt-link-button ${c.active?"active":""}`,onKeyUp:u=>s(f,u),onClick:()=>o(f,c),tabIndex:c.active||!e?void 0:-1,ref:u=>{r.current[f]=u},children:[c.icon&&i(w,{name:c.icon,className:"pkt-icon--small"}),c.text,c.tag&&i(we,{skin:c.tag.skin,size:"small",children:c.tag.text})]},"b-"+f)},f))})})}),Zn=b.forwardRef(({id:e,ariaDescribedby:n,ariaLabelledby:a,counter:l,counterMaxLength:r,className:o,disabled:s,errorMessage:c,hasError:f,helptext:u,helptextDropdown:d,helptextDropdownButton:k,inline:v,fullwidth:S=!1,label:x,name:$,optionalTag:L=!1,optionalText:E,requiredTag:C=!1,requiredText:_,placeholder:j,rows:V,useWrapper:W=!0,onChange:B,...J},M)=>{const G=[o,"pkt-textinput","pkt-textarea"].join(" "),z=a||`${e}-label`,N=b.useRef(null),[I,K]=b.useState(0),q=ee=>{var te,me;if(l&&K(((me=(te=ee.currentTarget)==null?void 0:te.value)==null?void 0:me.length)||0),B)return B(ee)};return b.useEffect(()=>{var ee,te;typeof M=="function"&&M(N.current),l&&K(((te=(ee=N==null?void 0:N.current)==null?void 0:ee.value)==null?void 0:te.length)||0)},[M]),h(de,{ariaDescribedby:n,className:G,disabled:s,errorMessage:c,forId:e,hasError:f,helptext:u,helptextDropdown:d,helptextDropdownButton:k,inline:v,label:x,optionalTag:L,optionalText:E,requiredTag:C,requiredText:_,useWrapper:W,children:[i("textarea",{ref:N,className:`pkt-input ${S?"pkt-input--fullwidth":""} ${r&&I>r?"pkt-input--counter-error":""}`,name:$||e,id:e,placeholder:j,disabled:s,rows:V,"aria-labelledby":z,"aria-invalid":f,"aria-errormessage":`${e}-error`,...J,onChange:q}),l&&h("div",{className:"pkt-input__counter","aria-live":"polite","aria-atomic":!0,children:[I||0,r&&`/${r}`]})]})}),Qn=b.forwardRef(({id:e,ariaDescribedby:n,ariaLabelledby:a,autocomplete:l="off",className:r,disabled:o=!1,errorMessage:s,hasError:c=!1,helptext:f,helptextDropdown:u,helptextDropdownButton:d,iconNameRight:k,inline:v=!1,fullwidth:S=!1,label:x,name:$,optionalTag:L=!1,optionalText:E,requiredTag:C=!1,requiredText:_,placeholder:j,prefix:V,suffix:W,type:B="text",useWrapper:J=!0,omitSearchIcon:M=!1,value:G,...z},N)=>{const I=[r,"pkt-textinput"].join(" "),K=a||`${e}-label`,q=B==="search"&&!k&&!M;return i(de,{ariaDescribedby:n,className:I,disabled:o,errorMessage:s,forId:e,hasError:c,helptext:f,helptextDropdown:u,helptextDropdownButton:d,inline:v,label:x,optionalTag:L,optionalText:E,requiredTag:C,requiredText:_,useWrapper:J,children:h("div",{className:"pkt-input__container",children:[V&&i("div",{className:"pkt-input-prefix",children:V}),i("input",{ref:N,className:`pkt-input ${S?"pkt-input--fullwidth":""}`,type:B,name:$||e,id:e,placeholder:j,autoComplete:l,value:G,disabled:o,"aria-invalid":c,"aria-errormessage":`${e}-error`,"aria-labelledby":K,...z}),W&&h("p",{className:"pkt-input-suffix",children:[W,k&&i(w,{className:"pkt-input-suffix-icon",name:k}),q&&i(w,{className:"pkt-input-suffix-icon",name:"magnifying-glass-big"})]}),!W&&k&&i(w,{className:"pkt-input-icon",name:k}),!W&&q&&i(w,{className:"pkt-input-icon",name:"magnifying-glass-big"})]})})});T.PktAlert=Qe,T.PktBackLink=Gt,T.PktBreadcrumbs=Un,T.PktButton=le,T.PktCheckbox=kt,T.PktFooter=An,T.PktFooterSimple=Vn,T.PktHeader=Bn,T.PktIcon=w,T.PktIconContext=Ze,T.PktInput=bt,T.PktInputWrapper=de,T.PktLinkCard=gt,T.PktLoader=Mn,T.PktMessagebox=Yn,T.PktRadioButton=Nt,T.PktSearchInput=Kn,T.PktSelect=Jn,T.PktTable=qn,T.PktTableData=Gn,T.PktTableHeader=Hn,T.PktTabs=Xn,T.PktTag=we,T.PktTextarea=Zn,T.PktTextinput=Qn,Object.defineProperty(T,Symbol.toStringTag,{value:"Module"})});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oslokommune/punkt-react",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.7.0",
|
|
4
4
|
"description": "React komponentbibliotek til Punkt, et designsystem laget av Oslo Origo",
|
|
5
5
|
"homepage": "https://punkt.oslo.kommune.no",
|
|
6
6
|
"author": "Team Designsystem, Oslo Origo",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
35
|
"@oslokommune/punkt-assets": "^11.5.0",
|
|
36
|
-
"@oslokommune/punkt-css": "^11.
|
|
36
|
+
"@oslokommune/punkt-css": "^11.7.0",
|
|
37
37
|
"@testing-library/jest-dom": "^5.16.5",
|
|
38
38
|
"@testing-library/react": "^14.0.0",
|
|
39
39
|
"@testing-library/user-event": "^14.4.3",
|
|
@@ -91,5 +91,5 @@
|
|
|
91
91
|
"url": "https://github.com/oslokommune/punkt/issues"
|
|
92
92
|
},
|
|
93
93
|
"license": "MIT",
|
|
94
|
-
"gitHead": "
|
|
94
|
+
"gitHead": "7879f13bffc381ad3ac5da9f18f03f5ec9ab10ed"
|
|
95
95
|
}
|
|
@@ -7,11 +7,24 @@ export interface IPktButton extends React.ButtonHTMLAttributes<HTMLButtonElement
|
|
|
7
7
|
secondIconName?: string
|
|
8
8
|
mode?: 'light' | 'dark'
|
|
9
9
|
size?: 'small' | 'medium' | 'large'
|
|
10
|
-
color?:
|
|
10
|
+
color?:
|
|
11
|
+
| 'blue'
|
|
12
|
+
| 'blue-outline'
|
|
13
|
+
| 'green'
|
|
14
|
+
| 'green-outline'
|
|
15
|
+
| 'green-dark'
|
|
16
|
+
| 'green-dark-outline'
|
|
17
|
+
| 'beige-light'
|
|
18
|
+
| 'beige-dark-outline'
|
|
19
|
+
| 'yellow'
|
|
20
|
+
| 'yellow-outline'
|
|
21
|
+
| 'red'
|
|
22
|
+
| 'red-outline'
|
|
11
23
|
skin?: 'primary' | 'secondary' | 'tertiary'
|
|
12
24
|
variant?: 'label-only' | 'icon-left' | 'icon-right' | 'icon-only' | 'icons-right-and-left'
|
|
13
25
|
state?: 'normal' | 'focus' | 'hover' | 'active'
|
|
14
26
|
type?: 'button' | 'submit' | 'reset'
|
|
27
|
+
isLoading?: boolean
|
|
15
28
|
onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void
|
|
16
29
|
}
|
|
17
30
|
|
|
@@ -27,6 +40,7 @@ export const PktButton = forwardRef(
|
|
|
27
40
|
type = 'button',
|
|
28
41
|
variant = 'label-only',
|
|
29
42
|
color,
|
|
43
|
+
isLoading = false,
|
|
30
44
|
...props
|
|
31
45
|
}: IPktButton,
|
|
32
46
|
ref: ForwardedRef<HTMLButtonElement>,
|
|
@@ -44,6 +58,13 @@ export const PktButton = forwardRef(
|
|
|
44
58
|
|
|
45
59
|
return (
|
|
46
60
|
<button {...props} className={classes} type={type} ref={ref}>
|
|
61
|
+
{isLoading && (
|
|
62
|
+
<PktIcon
|
|
63
|
+
className="pkt-btn__icon"
|
|
64
|
+
name="spinner-blue"
|
|
65
|
+
path="https://punkt-cdn.oslo.kommune.no/latest/animations/"
|
|
66
|
+
/>
|
|
67
|
+
)}
|
|
47
68
|
{variant !== 'label-only' && <PktIcon className="pkt-btn__icon" name={iconName}></PktIcon>}
|
|
48
69
|
<span className="pkt-btn__text">{children}</span>
|
|
49
70
|
{variant === 'icons-right-and-left' && (
|