@kakadu/components 5.0.5 → 5.0.6

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.
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const N=require("../jsx-runtime-BB_1_6y_.js"),i=require("react"),_=require("@kuma-ui/core"),D=["rgb(46, 75, 164)","rgb(58, 125, 159)","rgb(42, 81, 142)","rgb(48, 132, 168)","rgb(45, 64, 157)"];function L(S){return S.map(C=>{var n;const[m,b,X]=((n=C.match(/\d+/g))==null?void 0:n.map(Number))??[];return[m,b,X]})}function O({className:S,colors:C=D,maximumGradientsCount:m=10,speed:b=1,opacity:X=.2}){const n=i.useRef(null),[h,z]=i.useState(),[g,H]=i.useState(0),[p,W]=i.useState(0),q=i.useMemo(()=>L(C),[C]),$=i.useMemo(()=>q.length,[q]),Y=i.useCallback(()=>{const f=Math.random(),y=q[Math.floor($*f)],r=g*1.25,M=g*.25,v=p*1.25,e=p*.25,t=r*Math.random()-M,s=v*Math.random()-e,o=Math.max(r,v);return{color:y,size:o*f+o/2,opacity:0,speed:Math.max(.1,f/2*b),startPosition:[t,s],currentPosition:[t,s],targetPosition:[r*Math.random()-M,v*Math.random()-e]}},[q,$,g,p,b]);return i.useEffect(()=>{const a=Array.from({length:m}).map(()=>Y());let f=m,y=!1,r;function M(){if(!y){if(!h){r=requestAnimationFrame(M);return}h.clearRect(0,0,g,p);for(let e=a.length;e;e-=1){const t=a[e-1],[s,o]=t.startPosition,[c,l]=t.currentPosition,[u,d]=t.targetPosition;let x=!0;if(s>u?c>u&&(x=!1):c<u&&(x=!1),o>d?l>d&&(x=!1):l<d&&(x=!1),x){a.splice(e-1,1),f-=1;continue}const k=(s+u)/2-s,w=c-s,G=(o+d)/2-o,I=l-o,j=(w/k+I/G)/2;t.opacity=j>1?2-j:j;const R=t.size/2,A=h.createRadialGradient(c,l,R,c,l,0);if(A.addColorStop(0,`rgba(${t.color.join(",")},0)`),A.addColorStop(1,`rgba(${t.color.join(",")},${t.opacity})`),h.fillStyle=A,h.fillRect(c-R,l-R,t.size,t.size),c!==u){const E=Math.abs(s-u),F=Math.abs(o-d),P=Math.min(1,E/F);c<u?t.currentPosition[0]+=t.speed*P:t.currentPosition[0]-=t.speed*P}if(l!==d){const E=Math.abs(s-u),F=Math.abs(o-d),P=Math.min(1,F/E);l<d?t.currentPosition[1]+=t.speed*P:t.currentPosition[1]-=t.speed*P}}r=requestAnimationFrame(M)}}r=requestAnimationFrame(M);const v=setInterval(()=>{let e=m-f;if(e>0)for(;e;)a.push(Y()),e-=1,f+=1},1500);return()=>{y=!0,r&&cancelAnimationFrame(r),clearInterval(v)}},[m,Y,h,g,p,b]),i.useEffect(()=>{if(n.current){const a=n.current.getContext("2d");a&&z(a),H(n.current.offsetWidth),W(n.current.offsetHeight)}},[n]),N.jsxRuntimeExports.jsx("canvas",{ref:n,"aria-hidden":!0,role:"presentation",width:g,height:p,style:{"--opacity":X},className:_.cx("kakadu-components-4131181690",S)})}exports.default=O;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const V=require("../jsx-runtime-BB_1_6y_.js"),s=require("react"),L=require("@kuma-ui/core"),O=require("../hooks/use-is-in-view.js"),T=require("../hooks/use-is-document-focused.js"),B=["rgb(46, 75, 164)","rgb(58, 125, 159)","rgb(42, 81, 142)","rgb(48, 132, 168)","rgb(45, 64, 157)"];function J(S){return S.map(C=>{var n;const[m,b,X]=((n=C.match(/\d+/g))==null?void 0:n.map(Number))??[];return[m,b,X]})}function K({className:S,colors:C=B,maximumGradientsCount:m=10,speed:b=1,opacity:X=.2}){const n=s.useRef(null),[h,E]=s.useState(),[g,$]=s.useState(0),[p,z]=s.useState(0),q=s.useMemo(()=>J(C),[C]),A=s.useMemo(()=>q.length,[q]),Y=s.useCallback(()=>{const f=Math.random(),y=q[Math.floor(A*f)],r=g*1.25,M=g*.25,v=p*1.25,e=p*.25,t=r*Math.random()-M,o=v*Math.random()-e,i=Math.max(r,v);return{color:y,size:i*f+i/2,opacity:0,speed:Math.max(.1,f/2*b),startPosition:[t,o],currentPosition:[t,o],targetPosition:[r*Math.random()-M,v*Math.random()-e]}},[q,A,g,p,b]),H=O.default(n),W=T.default(),F=s.useRef(!1);return F.current=!H||!W,s.useEffect(()=>{const a=Array.from({length:m}).map(()=>Y());let f=m,y=!1,r;function M(){if(!y){if(!h||F.current){r=requestAnimationFrame(M);return}h.clearRect(0,0,g,p);for(let e=a.length;e;e-=1){const t=a[e-1],[o,i]=t.startPosition,[c,u]=t.currentPosition,[l,d]=t.targetPosition;let x=!0;if(o>l?c>l&&(x=!1):c<l&&(x=!1),i>d?u>d&&(x=!1):u<d&&(x=!1),x){a.splice(e-1,1),f-=1;continue}const _=(o+l)/2-o,D=c-o,G=(i+d)/2-i,N=u-i,R=(D/_+N/G)/2;t.opacity=R>1?2-R:R;const j=t.size/2,I=h.createRadialGradient(c,u,j,c,u,0);if(I.addColorStop(0,`rgba(${t.color.join(",")},0)`),I.addColorStop(1,`rgba(${t.color.join(",")},${t.opacity})`),h.fillStyle=I,h.fillRect(c-j,u-j,t.size,t.size),c!==l){const k=Math.abs(o-l),w=Math.abs(i-d),P=Math.min(1,k/w);c<l?t.currentPosition[0]+=t.speed*P:t.currentPosition[0]-=t.speed*P}if(u!==d){const k=Math.abs(o-l),w=Math.abs(i-d),P=Math.min(1,w/k);u<d?t.currentPosition[1]+=t.speed*P:t.currentPosition[1]-=t.speed*P}}r=requestAnimationFrame(M)}}r=requestAnimationFrame(M);const v=setInterval(()=>{if(F.current)return;let e=m-f;if(e>0)for(;e;)a.push(Y()),e-=1,f+=1},1500);return()=>{y=!0,r&&cancelAnimationFrame(r),clearInterval(v)}},[m,Y,h,g,p,b]),s.useEffect(()=>{if(n.current){const a=n.current.getContext("2d");a&&E(a),$(n.current.offsetWidth),z(n.current.offsetHeight)}},[n]),V.jsxRuntimeExports.jsx("canvas",{ref:n,"aria-hidden":!0,role:"presentation",width:g,height:p,style:{"--opacity":X},className:L.cx("kakadu-components-4131181690",S)})}exports.default=K;
@@ -1,62 +1,64 @@
1
- import { j as L } from "../jsx-runtime-B4hRZ52C.mjs";
2
- import { useRef as B, useState as E, useMemo as S, useCallback as J, useEffect as W } from "react";
3
- import { cx as K } from "@kuma-ui/core";
4
- const O = ["rgb(46, 75, 164)", "rgb(58, 125, 159)", "rgb(42, 81, 142)", "rgb(48, 132, 168)", "rgb(45, 64, 157)"];
5
- function Q(X) {
6
- return X.map((C) => {
1
+ import { j as K } from "../jsx-runtime-B4hRZ52C.mjs";
2
+ import { useRef as H, useState as z, useMemo as S, useCallback as O, useEffect as W } from "react";
3
+ import { cx as Q } from "@kuma-ui/core";
4
+ import T from "../hooks/use-is-in-view.mjs";
5
+ import U from "../hooks/use-is-document-focused.mjs";
6
+ const Z = ["rgb(46, 75, 164)", "rgb(58, 125, 159)", "rgb(42, 81, 142)", "rgb(48, 132, 168)", "rgb(45, 64, 157)"];
7
+ function _(X) {
8
+ return X.map((P) => {
7
9
  var n;
8
- const [f, M, Y] = ((n = C.match(/\d+/g)) == null ? void 0 : n.map(Number)) ?? [];
10
+ const [f, M, Y] = ((n = P.match(/\d+/g)) == null ? void 0 : n.map(Number)) ?? [];
9
11
  return [f, M, Y];
10
12
  });
11
13
  }
12
- function Z({
14
+ function st({
13
15
  className: X,
14
- colors: C = O,
16
+ colors: P = Z,
15
17
  maximumGradientsCount: f = 10,
16
18
  speed: M = 1,
17
19
  opacity: Y = 0.2
18
20
  }) {
19
- const n = B(null), [m, k] = E(), [h, w] = E(0), [p, $] = E(0), P = S(() => Q(C), [C]), H = S(() => P.length, [P]), j = J(() => {
20
- const u = Math.random(), y = P[Math.floor(H * u)], o = h * 1.25, g = h * 0.25, b = p * 1.25, e = p * 0.25, t = o * Math.random() - g, r = b * Math.random() - e, s = Math.max(o, b);
21
+ const n = H(null), [m, k] = z(), [h, D] = z(0), [p, $] = z(0), C = S(() => _(P), [P]), E = S(() => C.length, [C]), F = O(() => {
22
+ const d = Math.random(), y = C[Math.floor(E * d)], o = h * 1.25, g = h * 0.25, b = p * 1.25, e = p * 0.25, t = o * Math.random() - g, r = b * Math.random() - e, s = Math.max(o, b);
21
23
  return {
22
24
  color: y,
23
- size: s * u + s / 2,
25
+ size: s * d + s / 2,
24
26
  opacity: 0,
25
- speed: Math.max(0.1, u / 2 * M),
27
+ speed: Math.max(0.1, d / 2 * M),
26
28
  startPosition: [t, r],
27
29
  currentPosition: [t, r],
28
30
  targetPosition: [o * Math.random() - g, b * Math.random() - e]
29
31
  };
30
- }, [P, H, h, p, M]);
31
- return W(() => {
32
+ }, [C, E, h, p, M]), G = T(n), N = U(), I = H(!1);
33
+ return I.current = !G || !N, W(() => {
32
34
  const i = Array.from({
33
35
  length: f
34
- }).map(() => j());
35
- let u = f, y = !1, o;
36
+ }).map(() => F());
37
+ let d = f, y = !1, o;
36
38
  function g() {
37
39
  if (!y) {
38
- if (!m) {
40
+ if (!m || I.current) {
39
41
  o = requestAnimationFrame(g);
40
42
  return;
41
43
  }
42
44
  m.clearRect(0, 0, h, p);
43
45
  for (let e = i.length; e; e -= 1) {
44
- const t = i[e - 1], [r, s] = t.startPosition, [a, c] = t.currentPosition, [l, d] = t.targetPosition;
46
+ const t = i[e - 1], [r, s] = t.startPosition, [a, c] = t.currentPosition, [l, u] = t.targetPosition;
45
47
  let v = !0;
46
- if (r > l ? a > l && (v = !1) : a < l && (v = !1), s > d ? c > d && (v = !1) : c < d && (v = !1), v) {
47
- i.splice(e - 1, 1), u -= 1;
48
+ if (r > l ? a > l && (v = !1) : a < l && (v = !1), s > u ? c > u && (v = !1) : c < u && (v = !1), v) {
49
+ i.splice(e - 1, 1), d -= 1;
48
50
  continue;
49
51
  }
50
- const G = (r + l) / 2 - r, I = a - r, N = (s + d) / 2 - s, D = c - s, q = (I / G + D / N) / 2;
51
- t.opacity = q > 1 ? 2 - q : q;
52
- const A = t.size / 2, F = m.createRadialGradient(a, c, A, a, c, 0);
53
- if (F.addColorStop(0, `rgba(${t.color.join(",")},0)`), F.addColorStop(1, `rgba(${t.color.join(",")},${t.opacity})`), m.fillStyle = F, m.fillRect(a - A, c - A, t.size, t.size), a !== l) {
54
- const R = Math.abs(r - l), z = Math.abs(s - d), x = Math.min(1, R / z);
52
+ const V = (r + l) / 2 - r, L = a - r, B = (s + u) / 2 - s, J = c - s, j = (L / V + J / B) / 2;
53
+ t.opacity = j > 1 ? 2 - j : j;
54
+ const q = t.size / 2, w = m.createRadialGradient(a, c, q, a, c, 0);
55
+ if (w.addColorStop(0, `rgba(${t.color.join(",")},0)`), w.addColorStop(1, `rgba(${t.color.join(",")},${t.opacity})`), m.fillStyle = w, m.fillRect(a - q, c - q, t.size, t.size), a !== l) {
56
+ const A = Math.abs(r - l), R = Math.abs(s - u), x = Math.min(1, A / R);
55
57
  a < l ? t.currentPosition[0] += t.speed * x : t.currentPosition[0] -= t.speed * x;
56
58
  }
57
- if (c !== d) {
58
- const R = Math.abs(r - l), z = Math.abs(s - d), x = Math.min(1, z / R);
59
- c < d ? t.currentPosition[1] += t.speed * x : t.currentPosition[1] -= t.speed * x;
59
+ if (c !== u) {
60
+ const A = Math.abs(r - l), R = Math.abs(s - u), x = Math.min(1, R / A);
61
+ c < u ? t.currentPosition[1] += t.speed * x : t.currentPosition[1] -= t.speed * x;
60
62
  }
61
63
  }
62
64
  o = requestAnimationFrame(g);
@@ -64,23 +66,25 @@ function Z({
64
66
  }
65
67
  o = requestAnimationFrame(g);
66
68
  const b = setInterval(() => {
67
- let e = f - u;
69
+ if (I.current)
70
+ return;
71
+ let e = f - d;
68
72
  if (e > 0)
69
73
  for (; e; )
70
- i.push(j()), e -= 1, u += 1;
74
+ i.push(F()), e -= 1, d += 1;
71
75
  }, 1500);
72
76
  return () => {
73
77
  y = !0, o && cancelAnimationFrame(o), clearInterval(b);
74
78
  };
75
- }, [f, j, m, h, p, M]), W(() => {
79
+ }, [f, F, m, h, p, M]), W(() => {
76
80
  if (n.current) {
77
81
  const i = n.current.getContext("2d");
78
- i && k(i), w(n.current.offsetWidth), $(n.current.offsetHeight);
82
+ i && k(i), D(n.current.offsetWidth), $(n.current.offsetHeight);
79
83
  }
80
- }, [n]), /* @__PURE__ */ L.jsx("canvas", { ref: n, "aria-hidden": !0, role: "presentation", width: h, height: p, style: {
84
+ }, [n]), /* @__PURE__ */ K.jsx("canvas", { ref: n, "aria-hidden": !0, role: "presentation", width: h, height: p, style: {
81
85
  "--opacity": Y
82
- }, className: K("kakadu-components-4131181690", X) });
86
+ }, className: Q("kakadu-components-4131181690", X) });
83
87
  }
84
88
  export {
85
- Z as default
89
+ st as default
86
90
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const N=require("../jsx-runtime-BB_1_6y_.js"),u=require("react"),T=require("@kuma-ui/core");function B({color:y,opacity:R,className:W,minimumSize:A=1,maximumSize:S=5,maximumStarsCount:x=50,speed:C=1,hasMask:j=!1}){const e=u.useRef(null),[r,z]=u.useState(),[f,F]=u.useState(0),[d,H]=u.useState(0),q=u.useCallback(()=>{const n=f*1.5,s=f*.25,a=d*1.5,o=d*.25,M=n*Math.random()-s,h=a*Math.random()-o;return{size:Math.max(A,S*Math.random()),opacity:0,speed:Math.max(.1,Math.random()/2*C),startPosition:[M,h],currentPosition:[M,h],targetPosition:[n*Math.random()-s,a*Math.random()-o]}},[f,d,A,S,C]),w=u.useCallback(()=>y??(e.current?getComputedStyle(e.current).color:"#000"),[y,e]);return u.useEffect(()=>{const n=Array.from({length:x}).map(()=>q());let s=x,a=!1,o,M=w();function h(){if(!a){if(!r){o=requestAnimationFrame(h);return}r.clearRect(0,0,f,d);for(let i=n.length;i;i-=1){const t=n[i-1],[v,p]=t.startPosition,[g,m]=t.currentPosition,[c,l]=t.targetPosition;let P=!0;if(v>c?g>c&&(P=!1):g<c&&(P=!1),p>l?m>l&&(P=!1):m<l&&(P=!1),P){n.splice(i-1,1),s-=1;continue}const L=(v+c)/2-v,O=g-v,_=(p+l)/2-p,$=m-p,X=(O/L+$/_)/2;t.opacity=X>1?2-X:X;const Y=t.size/2;if(r.beginPath(),r.arc(g-Y,m-Y,Y,0,2*Math.PI,!1),r.globalAlpha=t.opacity,r.fillStyle=M,r.fill(),g!==c){const E=Math.abs(v-c),k=Math.abs(p-l),b=Math.min(1,E/k);g<c?t.currentPosition[0]+=t.speed*b:t.currentPosition[0]-=t.speed*b}if(m!==l){const E=Math.abs(v-c),k=Math.abs(p-l),b=Math.min(1,k/E);m<l?t.currentPosition[1]+=t.speed*b:t.currentPosition[1]-=t.speed*b}}o=requestAnimationFrame(h)}}o=requestAnimationFrame(h);const I=setInterval(()=>{M=w();let i=x-s;if(i>0)for(;i;)n.push(q()),i-=1,s+=1},500);return()=>{a=!0,o&&cancelAnimationFrame(o),clearInterval(I)}},[x,q,w,r,f,d,C]),u.useEffect(()=>{if(e.current){const n=e.current.getContext("2d");n&&z(n),F(e.current.offsetWidth),H(e.current.offsetHeight);const s=()=>{e.current&&(F(e.current.offsetWidth),H(e.current.offsetHeight))},a=new ResizeObserver(s);return a.observe(e.current),window.addEventListener("resize",s,{passive:!0}),()=>{a.disconnect(),window.removeEventListener("resize",s)}}},[e]),N.jsxRuntimeExports.jsx("canvas",{ref:e,"aria-hidden":!0,role:"presentation",style:{"--color":y,"--opacity":R},className:T.cx("kakadu-components-3366903902",j&&"kakadu-components-4049648322",W),width:f,height:d})}exports.default=B;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const T=require("../jsx-runtime-BB_1_6y_.js"),r=require("react"),B=require("@kuma-ui/core"),G=require("../hooks/use-is-in-view.js"),J=require("../hooks/use-is-document-focused.js");function K({color:q,opacity:H,className:W,minimumSize:I=1,maximumSize:A=5,maximumStarsCount:x=50,speed:w=1,hasMask:j=!1}){const e=r.useRef(null),[o,_]=r.useState(),[f,R]=r.useState(0),[d,S]=r.useState(0),y=r.useCallback(()=>{const n=f*1.5,s=f*.25,a=d*1.5,i=d*.25,M=n*Math.random()-s,h=a*Math.random()-i;return{size:Math.max(I,A*Math.random()),opacity:0,speed:Math.max(.1,Math.random()/2*w),startPosition:[M,h],currentPosition:[M,h],targetPosition:[n*Math.random()-s,a*Math.random()-i]}},[f,d,I,A,w]),C=r.useCallback(()=>q??(e.current?getComputedStyle(e.current).color:"#000"),[q,e]),z=G.default(e),D=J.default(),k=r.useRef(!1);return k.current=!z||!D,r.useEffect(()=>{const n=Array.from({length:x}).map(()=>y());let s=x,a=!1,i,M=C();function h(){if(!a){if(!o||k.current){i=requestAnimationFrame(h);return}o.clearRect(0,0,f,d);for(let c=n.length;c;c-=1){const t=n[c-1],[v,p]=t.startPosition,[g,m]=t.currentPosition,[u,l]=t.targetPosition;let P=!0;if(v>u?g>u&&(P=!1):g<u&&(P=!1),p>l?m>l&&(P=!1):m<l&&(P=!1),P){n.splice(c-1,1),s-=1;continue}const O=(v+u)/2-v,V=g-v,$=(p+l)/2-p,N=m-p,X=(V/O+N/$)/2;t.opacity=X>1?2-X:X;const Y=t.size/2;if(o.beginPath(),o.arc(g-Y,m-Y,Y,0,2*Math.PI,!1),o.globalAlpha=t.opacity,o.fillStyle=M,o.fill(),g!==u){const E=Math.abs(v-u),F=Math.abs(p-l),b=Math.min(1,E/F);g<u?t.currentPosition[0]+=t.speed*b:t.currentPosition[0]-=t.speed*b}if(m!==l){const E=Math.abs(v-u),F=Math.abs(p-l),b=Math.min(1,F/E);m<l?t.currentPosition[1]+=t.speed*b:t.currentPosition[1]-=t.speed*b}}i=requestAnimationFrame(h)}}i=requestAnimationFrame(h);const L=setInterval(()=>{if(k.current)return;M=C();let c=x-s;if(c>0)for(;c;)n.push(y()),c-=1,s+=1},500);return()=>{a=!0,i&&cancelAnimationFrame(i),clearInterval(L)}},[x,y,C,o,f,d,w]),r.useEffect(()=>{if(e.current){const n=e.current.getContext("2d");n&&_(n),R(e.current.offsetWidth),S(e.current.offsetHeight);const s=()=>{e.current&&(R(e.current.offsetWidth),S(e.current.offsetHeight))},a=new ResizeObserver(s);return a.observe(e.current),window.addEventListener("resize",s,{passive:!0}),()=>{a.disconnect(),window.removeEventListener("resize",s)}}},[e]),T.jsxRuntimeExports.jsx("canvas",{ref:e,"aria-hidden":!0,role:"presentation",style:{"--color":q,"--opacity":H},className:B.cx("kakadu-components-3366903902",j&&"kakadu-components-4049648322",W),width:f,height:d})}exports.default=K;
@@ -1,90 +1,94 @@
1
- import { j as J } from "../jsx-runtime-B4hRZ52C.mjs";
2
- import { useRef as K, useState as k, useCallback as R, useEffect as j } from "react";
3
- import { cx as Q } from "@kuma-ui/core";
4
- function Z({
1
+ import { j as T } from "../jsx-runtime-B4hRZ52C.mjs";
2
+ import { useRef as R, useState as E, useCallback as j, useEffect as z } from "react";
3
+ import { cx as U } from "@kuma-ui/core";
4
+ import Z from "../hooks/use-is-in-view.mjs";
5
+ import _ from "../hooks/use-is-document-focused.mjs";
6
+ function st({
5
7
  color: b,
6
- opacity: z,
7
- className: I,
8
- minimumSize: q = 1,
9
- maximumSize: F = 5,
8
+ opacity: D,
9
+ className: L,
10
+ minimumSize: k = 1,
11
+ maximumSize: q = 5,
10
12
  maximumStarsCount: x = 50,
11
- speed: y = 1,
12
- hasMask: L = !1
13
+ speed: w = 1,
14
+ hasMask: S = !1
13
15
  }) {
14
- const e = K(null), [s, S] = k(), [f, H] = k(0), [u, W] = k(0), C = R(() => {
15
- const n = f * 1.5, r = f * 0.25, o = u * 1.5, a = u * 0.25, g = n * Math.random() - r, d = o * Math.random() - a;
16
+ const t = R(null), [s, V] = E(), [u, H] = E(0), [f, W] = E(0), y = j(() => {
17
+ const n = u * 1.5, r = u * 0.25, o = f * 1.5, i = f * 0.25, g = n * Math.random() - r, d = o * Math.random() - i;
16
18
  return {
17
- size: Math.max(q, F * Math.random()),
19
+ size: Math.max(k, q * Math.random()),
18
20
  opacity: 0,
19
- speed: Math.max(0.1, Math.random() / 2 * y),
21
+ speed: Math.max(0.1, Math.random() / 2 * w),
20
22
  startPosition: [g, d],
21
23
  currentPosition: [g, d],
22
- targetPosition: [n * Math.random() - r, o * Math.random() - a]
24
+ targetPosition: [n * Math.random() - r, o * Math.random() - i]
23
25
  };
24
- }, [f, u, q, F, y]), w = R(() => b ?? (e.current ? getComputedStyle(e.current).color : "#000"), [b, e]);
25
- return j(() => {
26
+ }, [u, f, k, q, w]), C = j(() => b ?? (t.current ? getComputedStyle(t.current).color : "#000"), [b, t]), N = Z(t), O = _(), X = R(!1);
27
+ return X.current = !N || !O, z(() => {
26
28
  const n = Array.from({
27
29
  length: x
28
- }).map(() => C());
29
- let r = x, o = !1, a, g = w();
30
+ }).map(() => y());
31
+ let r = x, o = !1, i, g = C();
30
32
  function d() {
31
33
  if (!o) {
32
- if (!s) {
33
- a = requestAnimationFrame(d);
34
+ if (!s || X.current) {
35
+ i = requestAnimationFrame(d);
34
36
  return;
35
37
  }
36
- s.clearRect(0, 0, f, u);
37
- for (let i = n.length; i; i -= 1) {
38
- const t = n[i - 1], [h, p] = t.startPosition, [m, v] = t.currentPosition, [c, l] = t.targetPosition;
38
+ s.clearRect(0, 0, u, f);
39
+ for (let a = n.length; a; a -= 1) {
40
+ const e = n[a - 1], [h, m] = e.startPosition, [p, v] = e.currentPosition, [c, l] = e.targetPosition;
39
41
  let M = !0;
40
- if (h > c ? m > c && (M = !1) : m < c && (M = !1), p > l ? v > l && (M = !1) : v < l && (M = !1), M) {
41
- n.splice(i - 1, 1), r -= 1;
42
+ if (h > c ? p > c && (M = !1) : p < c && (M = !1), m > l ? v > l && (M = !1) : v < l && (M = !1), M) {
43
+ n.splice(a - 1, 1), r -= 1;
42
44
  continue;
43
45
  }
44
- const O = (h + c) / 2 - h, B = m - h, D = (p + l) / 2 - p, G = v - p, X = (B / O + G / D) / 2;
45
- t.opacity = X > 1 ? 2 - X : X;
46
- const Y = t.size / 2;
47
- if (s.beginPath(), s.arc(m - Y, v - Y, Y, 0, 2 * Math.PI, !1), s.globalAlpha = t.opacity, s.fillStyle = g, s.fill(), m !== c) {
48
- const A = Math.abs(h - c), E = Math.abs(p - l), P = Math.min(1, A / E);
49
- m < c ? t.currentPosition[0] += t.speed * P : t.currentPosition[0] -= t.speed * P;
46
+ const G = (h + c) / 2 - h, J = p - h, K = (m + l) / 2 - m, Q = v - m, Y = (J / G + Q / K) / 2;
47
+ e.opacity = Y > 1 ? 2 - Y : Y;
48
+ const F = e.size / 2;
49
+ if (s.beginPath(), s.arc(p - F, v - F, F, 0, 2 * Math.PI, !1), s.globalAlpha = e.opacity, s.fillStyle = g, s.fill(), p !== c) {
50
+ const I = Math.abs(h - c), A = Math.abs(m - l), P = Math.min(1, I / A);
51
+ p < c ? e.currentPosition[0] += e.speed * P : e.currentPosition[0] -= e.speed * P;
50
52
  }
51
53
  if (v !== l) {
52
- const A = Math.abs(h - c), E = Math.abs(p - l), P = Math.min(1, E / A);
53
- v < l ? t.currentPosition[1] += t.speed * P : t.currentPosition[1] -= t.speed * P;
54
+ const I = Math.abs(h - c), A = Math.abs(m - l), P = Math.min(1, A / I);
55
+ v < l ? e.currentPosition[1] += e.speed * P : e.currentPosition[1] -= e.speed * P;
54
56
  }
55
57
  }
56
- a = requestAnimationFrame(d);
58
+ i = requestAnimationFrame(d);
57
59
  }
58
60
  }
59
- a = requestAnimationFrame(d);
60
- const N = setInterval(() => {
61
- g = w();
62
- let i = x - r;
63
- if (i > 0)
64
- for (; i; )
65
- n.push(C()), i -= 1, r += 1;
61
+ i = requestAnimationFrame(d);
62
+ const B = setInterval(() => {
63
+ if (X.current)
64
+ return;
65
+ g = C();
66
+ let a = x - r;
67
+ if (a > 0)
68
+ for (; a; )
69
+ n.push(y()), a -= 1, r += 1;
66
70
  }, 500);
67
71
  return () => {
68
- o = !0, a && cancelAnimationFrame(a), clearInterval(N);
72
+ o = !0, i && cancelAnimationFrame(i), clearInterval(B);
69
73
  };
70
- }, [x, C, w, s, f, u, y]), j(() => {
71
- if (e.current) {
72
- const n = e.current.getContext("2d");
73
- n && S(n), H(e.current.offsetWidth), W(e.current.offsetHeight);
74
+ }, [x, y, C, s, u, f, w]), z(() => {
75
+ if (t.current) {
76
+ const n = t.current.getContext("2d");
77
+ n && V(n), H(t.current.offsetWidth), W(t.current.offsetHeight);
74
78
  const r = () => {
75
- e.current && (H(e.current.offsetWidth), W(e.current.offsetHeight));
79
+ t.current && (H(t.current.offsetWidth), W(t.current.offsetHeight));
76
80
  }, o = new ResizeObserver(r);
77
- return o.observe(e.current), window.addEventListener("resize", r, {
81
+ return o.observe(t.current), window.addEventListener("resize", r, {
78
82
  passive: !0
79
83
  }), () => {
80
84
  o.disconnect(), window.removeEventListener("resize", r);
81
85
  };
82
86
  }
83
- }, [e]), /* @__PURE__ */ J.jsx("canvas", { ref: e, "aria-hidden": !0, role: "presentation", style: {
87
+ }, [t]), /* @__PURE__ */ T.jsx("canvas", { ref: t, "aria-hidden": !0, role: "presentation", style: {
84
88
  "--color": b,
85
- "--opacity": z
86
- }, className: Q("kakadu-components-3366903902", L && "kakadu-components-4049648322", I), width: f, height: u });
89
+ "--opacity": D
90
+ }, className: U("kakadu-components-3366903902", S && "kakadu-components-4049648322", L), width: u, height: f });
87
91
  }
88
92
  export {
89
- Z as default
93
+ st as default
90
94
  };
@@ -0,0 +1,6 @@
1
+ import { type RefObject } from 'react';
2
+ export default function useIsInView(reference: RefObject<HTMLElement | null>): boolean;
3
+ export declare function useHasBeenInView(reference: RefObject<HTMLElement | null>): {
4
+ isInView: boolean;
5
+ hasBeenInView: boolean;
6
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("react");function o(n){const[t,i]=s.useState(!1);return s.useEffect(()=>{const e=n.current;if(e){const c=a=>{const[u]=a;u&&i(u.isIntersecting)},r=new IntersectionObserver(c);return r.observe(e),()=>{r.disconnect()}}},[n]),t}function f(n){const[t,i]=s.useState(!1),e=o(n);return s.useEffect(()=>{e&&i(!0)},[e]),s.useMemo(()=>({isInView:e,hasBeenInView:t}),[e,t])}exports.default=o;exports.useHasBeenInView=f;
@@ -0,0 +1,26 @@
1
+ import { useState as o, useEffect as c, useMemo as f } from "react";
2
+ function a(n) {
3
+ const [s, t] = o(!1);
4
+ return c(() => {
5
+ const e = n.current;
6
+ if (e) {
7
+ const u = (I) => {
8
+ const [r] = I;
9
+ r && t(r.isIntersecting);
10
+ }, i = new IntersectionObserver(u);
11
+ return i.observe(e), () => {
12
+ i.disconnect();
13
+ };
14
+ }
15
+ }, [n]), s;
16
+ }
17
+ function V(n) {
18
+ const [s, t] = o(!1), e = a(n);
19
+ return c(() => {
20
+ e && t(!0);
21
+ }, [e]), f(() => ({ isInView: e, hasBeenInView: s }), [e, s]);
22
+ }
23
+ export {
24
+ a as default,
25
+ V as useHasBeenInView
26
+ };
package/build/index.d.ts CHANGED
@@ -180,6 +180,8 @@ export * from './hooks/use-fetch';
180
180
  export { default as useFetch } from './hooks/use-fetch';
181
181
  export * from './hooks/use-is-document-focused';
182
182
  export { default as useIsDocumentFocused } from './hooks/use-is-document-focused';
183
+ export * from './hooks/use-is-in-view';
184
+ export { default as useIsInView } from './hooks/use-is-in-view';
183
185
  export * from './hooks/use-media-query';
184
186
  export { default as useMediaQuery } from './hooks/use-media-query';
185
187
  export * from './hooks/use-synchronized-value';
package/build/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./theme.js"),q=require("./components/aria-text.js"),_=require("./components/atom.js"),x=require("./components/bankid-logo.js"),P=require("./components/box.js"),t=require("./components/button.js"),v=require("./components/button-tooltip.js"),w=require("./components/card.js"),I=require("./components/click-ripples.js"),M=require("./components/collapsible.js"),h=require("./components/combobox.js"),B=require("./components/copy-icon-button.js"),D=require("./components/datum.js"),G=require("./components/decorators.js"),F=require("./components/dnb-logo.js"),R=require("./components/dot.js"),c=require("./components/flex.js"),l=require("./components/footer.js"),A=require("./components/gauge.js"),H=require("./components/gjensidige-logo.js"),E=require("./components/header.js"),y=require("./components/hover-gradient.js"),k=require("./components/icon-button.js"),s=require("./components/input.js"),V=require("./components/kakadu-guide-icon.js"),d=require("./components/kakadu-guide-logo.js"),U=require("./components/kakadu-index-logo.js"),K=require("./components/kakadu-academy-logo.js"),W=require("./components/kakadu-logo.js"),r=require("./components/modal.js"),N=require("./components/moving-gradients.js"),J=require("./components/moving-stars.js"),f=require("./components/notice.js"),p=require("./components/notification.js"),g=require("./components/popover-menu.js"),a=require("./components/popover.js"),L=require("./components/revealer.js"),j=require("./components/select.js"),u=require("./components/separator.js"),S=require("./components/skeleton.js"),O=require("./components/sparebank1-logo.js"),b=require("./components/spinner.js"),z=require("./components/sto-logo.js"),Q=require("./components/storebrand-logo.js"),e=require("./components/text.js"),T=require("./components/text-button.js"),n=require("./components/theme-setter.js"),X=require("./components/veil.js"),C=require("./components/wrapper.js"),m=require("./icons/icon.js"),Y=require("./icons/anchor-down.js"),Z=require("./icons/anchor-up.js"),$=require("./icons/arrow-down.js"),ee=require("./icons/arrow-left.js"),oe=require("./icons/arrow-right.js"),te=require("./icons/arrow-up.js"),ne=require("./icons/caret-down.js"),re=require("./icons/caret-left.js"),se=require("./icons/caret-right.js"),ae=require("./icons/caret-up.js"),ue=require("./icons/check.js"),ie=require("./icons/chevron-down.js"),ce=require("./icons/chevron-left.js"),le=require("./icons/chevron-right.js"),de=require("./icons/chevron-up.js"),fe=require("./icons/cog.js"),pe=require("./icons/copy.js"),ge=require("./icons/document.js"),Se=require("./icons/dots.js"),me=require("./icons/drag.js"),qe=require("./icons/edit.js"),_e=require("./icons/external.js"),ve=require("./icons/exclamation-triangle.js"),he=require("./icons/eye.js"),ye=require("./icons/information.js"),ke=require("./icons/kakadu-guide-glyph.js"),Le=require("./icons/kakadu-guide-icon.js"),be=require("./icons/menu.js"),Te=require("./icons/package.js"),Ce=require("./icons/plus.js"),xe=require("./icons/select.js"),Pe=require("./icons/share.js"),we=require("./icons/sparkle.js"),Ie=require("./icons/test.js"),Me=require("./icons/times.js"),Be=require("./icons/trash.js"),De=require("./icons/trend-up.js"),Ge=require("./icons/chrome-browser-logo.js"),Fe=require("./icons/edge-browser-logo.js"),i=require("./hooks/use-fetch.js"),Re=require("./hooks/use-is-document-focused.js"),Ae=require("./hooks/use-media-query.js"),He=require("./hooks/use-synchronized-value.js"),Ee=require("./hooks/use-throttled.js"),Ve=require("./utilities/clamp.js"),Ue=require("./utilities/copy-to-clipboard.js"),Ke=require("./utilities/generate-random-id.js"),We=require("./utilities/scale.js"),Ne=require("./utilities/search.js");exports.FontFamilyHead=o.FontFamilyHead;exports.buttonResetStyles=o.buttonResetStyles;exports.darkBackgroundColor=o.darkBackgroundColor;exports.effectStyles=o.effectStyles;exports.font=o.font;exports.lightBackgroundColor=o.lightBackgroundColor;exports.nonInteractiveEffectStyles=o.nonInteractiveEffectStyles;exports.overflowProtectionStyles=o.overflowProtectionStyles;exports.overlayEffectStyles=o.overlayEffectStyles;exports.theme=o.default;exports.AriaText=q.default;exports.ariaTextStyles=q.ariaTextStyles;exports.Atom=_.default;exports.defaultAtomElementType=_.defaultAtomElementType;exports.BankidLogo=x.default;exports.Box=P.default;exports.Button=t.default;exports.ButtonLoader=t.ButtonLoader;exports.buttonDangerStyles=t.buttonDangerStyles;exports.buttonSecondaryStyles=t.buttonSecondaryStyles;exports.buttonSuccessStyles=t.buttonSuccessStyles;exports.buttonVariants=t.buttonVariants;exports.buttonWarningStyles=t.buttonWarningStyles;exports.ButtonTooltip=v.default;exports.buttonTooltipPositions=v.buttonTooltipPositions;exports.Card=w.default;exports.ClickRipples=I.default;exports.Collapsible=M.default;exports.Combobox=h.default;exports.getComboboxOptionString=h.getComboboxOptionString;exports.CopyIconButton=B.default;exports.Datum=D.default;exports.Decorators=G.default;exports.DnbLogo=F.default;exports.Dot=R.default;exports.Flex=c.default;exports.flexDirections=c.flexDirections;exports.flexPresets=c.flexPresets;exports.Footer=l.default;exports.footerSectionLinks=l.footerSectionLinks;exports.footerSections=l.footerSections;exports.Gauge=A.default;exports.GjensidigeLogo=H.default;exports.Header=E.default;exports.HoverGradient=y.default;exports.normalBlendStyles=y.normalBlendStyles;exports.IconButton=k.default;exports.iconButtonVariants=k.iconButtonVariants;exports.Input=s.default;exports.InputLabel=s.InputLabel;exports.errorParagraph=s.errorParagraph;exports.inputStyles=s.inputStyles;exports.KakaduGuideIcon=V.default;exports.KakaduGuideLogo=d.default;exports.KakaduGuideLogoSvg=d.KakaduGuideLogoSvg;exports.kakaduGuideLogoVariants=d.kakaduGuideLogoVariants;exports.KakaduIndexLogo=U.default;exports.KakaduAcademyLogo=K.default;exports.KakaduLogo=W.default;exports.Modal=r.default;exports.ModalActions=r.ModalActions;exports.ModalContent=r.ModalContent;exports.ModalHeading=r.ModalHeading;exports.useModal=r.useModal;exports.useModalContext=r.useModalContext;exports.MovingGradients=N.default;exports.MovingStars=J.default;exports.Notice=f.default;exports.noticeTypes=f.noticeTypes;exports.notificationTypes=f.noticeTypes;exports.Notification=p.default;exports.NotificationProvider=p.NotificationProvider;exports.useCreateNotification=p.useCreateNotification;exports.PopoverMenu=g.default;exports.dangerPopoverMenuItemStyles=g.dangerPopoverMenuItemStyles;exports.usePopoverMenu=g.usePopoverMenu;exports.Popover=a.default;exports.PopoverContainer=a.PopoverContainer;exports.usePopover=a.usePopover;exports.usePopoverContext=a.usePopoverContext;exports.Revealer=L.default;exports.useRevealer=L.useRevealer;exports.Select=j.default;exports.Separator=u.default;exports.SeparatorLabel=u.SeparatorLabel;exports.SmallSeparator=u.SmallSeparator;exports.VerticalSeparator=u.VerticalSeparator;exports.Skeleton=S.default;exports.SkeletonInstance=S.SkeletonInstance;exports.getDeterministicSkeletonWidth=S.getDeterministicSkeletonWidth;exports.Sparebank1Logo=O.default;exports.RevealSpinner=b.RevealSpinner;exports.Spinner=b.default;exports.StoLogo=z.default;exports.StorebrandLogo=Q.default;exports.AnchorHeading=e.AnchorHeading;exports.Footnote=e.Footnote;exports.Heading=e.Heading;exports.Hero=e.Hero;exports.Label=e.Label;exports.Paragraph=e.Paragraph;exports.Span=e.Span;exports.Text=e.default;exports.defaultHeadingElementType=e.defaultHeadingElementType;exports.spanStyles=e.spanStyles;exports.textShadowStyles=e.textShadowStyles;exports.TextButton=T.default;exports.textButtonVariants=T.textButtonVariants;exports.ThemeSetter=n.default;exports.getThemePreference=n.getThemePreference;exports.setThemePreference=n.setThemePreference;exports.themePreferences=n.themePreferences;exports.useIsDarkMode=n.useIsDarkMode;exports.useIsLightMode=n.useIsLightMode;exports.useTheme=n.useTheme;exports.Veil=X.default;exports.Wrapper=C.default;exports.wrapperWidths=C.wrapperWidths;exports.Icon=m.default;exports.iconShadowStyles=m.iconShadowStyles;exports.iconTypes=m.iconTypes;exports.AnchorDownSvg=Y.default;exports.AnchorUpSvg=Z.default;exports.ArrowDownSvg=$.default;exports.ArrowLeftSvg=ee.default;exports.ArrowRightSvg=oe.default;exports.ArrowUpSvg=te.default;exports.CaretDownSvg=ne.default;exports.CaretLeftSvg=re.default;exports.CaretRightSvg=se.default;exports.CaretUpSvg=ae.default;exports.CheckSvg=ue.default;exports.ChevronDownSvg=ie.default;exports.ChevronLeftSvg=ce.default;exports.ChevronRightSvg=le.default;exports.ChevronUpSvg=de.default;exports.CogSvg=fe.default;exports.CopySvg=pe.default;exports.DocumentSvg=ge.default;exports.DotsSvg=Se.default;exports.DragSvg=me.default;exports.EditSvg=qe.default;exports.ExternalSvg=_e.default;exports.ExclamationTriangleSvg=ve.default;exports.EyeSvg=he.default;exports.InformationSvg=ye.default;exports.KakaduGuideGlyphSvg=ke.default;exports.KakaduGuideIconSvg=Le.default;exports.MenuSvg=be.default;exports.PackageSvg=Te.default;exports.PlusSvg=Ce.default;exports.SelectSvg=xe.default;exports.ShareSvg=Pe.default;exports.SparkleSvg=we.default;exports.TestSvg=Ie.default;exports.TimesSvg=Me.default;exports.TrashSvg=Be.default;exports.TrendUpSvg=De.default;exports.ChromeBrowserLogoSvg=Ge.default;exports.EdgeBrowserLogoSvg=Fe.default;exports.useFetch=i.default;exports.useFetcher=i.useFetcher;exports.useJsonFetch=i.useJsonFetch;exports.useJsonFetcher=i.useJsonFetcher;exports.useIsDocumentFocused=Re.default;exports.useMediaQuery=Ae.default;exports.useSynchronizedValue=He.default;exports.useThrottled=Ee.default;exports.clamp=Ve.default;exports.copyToClipboard=Ue.default;exports.generateRandomId=Ke.default;exports.scale=We.default;exports.search=Ne.default;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("./theme.js"),q=require("./components/aria-text.js"),_=require("./components/atom.js"),I=require("./components/bankid-logo.js"),w=require("./components/box.js"),t=require("./components/button.js"),v=require("./components/button-tooltip.js"),P=require("./components/card.js"),B=require("./components/click-ripples.js"),M=require("./components/collapsible.js"),h=require("./components/combobox.js"),D=require("./components/copy-icon-button.js"),G=require("./components/datum.js"),F=require("./components/decorators.js"),R=require("./components/dnb-logo.js"),V=require("./components/dot.js"),c=require("./components/flex.js"),l=require("./components/footer.js"),A=require("./components/gauge.js"),H=require("./components/gjensidige-logo.js"),E=require("./components/header.js"),y=require("./components/hover-gradient.js"),k=require("./components/icon-button.js"),s=require("./components/input.js"),U=require("./components/kakadu-guide-icon.js"),d=require("./components/kakadu-guide-logo.js"),K=require("./components/kakadu-index-logo.js"),W=require("./components/kakadu-academy-logo.js"),N=require("./components/kakadu-logo.js"),r=require("./components/modal.js"),J=require("./components/moving-gradients.js"),j=require("./components/moving-stars.js"),f=require("./components/notice.js"),p=require("./components/notification.js"),g=require("./components/popover-menu.js"),a=require("./components/popover.js"),L=require("./components/revealer.js"),O=require("./components/select.js"),u=require("./components/separator.js"),S=require("./components/skeleton.js"),z=require("./components/sparebank1-logo.js"),b=require("./components/spinner.js"),Q=require("./components/sto-logo.js"),X=require("./components/storebrand-logo.js"),e=require("./components/text.js"),T=require("./components/text-button.js"),n=require("./components/theme-setter.js"),Y=require("./components/veil.js"),C=require("./components/wrapper.js"),m=require("./icons/icon.js"),Z=require("./icons/anchor-down.js"),$=require("./icons/anchor-up.js"),ee=require("./icons/arrow-down.js"),oe=require("./icons/arrow-left.js"),te=require("./icons/arrow-right.js"),ne=require("./icons/arrow-up.js"),re=require("./icons/caret-down.js"),se=require("./icons/caret-left.js"),ae=require("./icons/caret-right.js"),ue=require("./icons/caret-up.js"),ie=require("./icons/check.js"),ce=require("./icons/chevron-down.js"),le=require("./icons/chevron-left.js"),de=require("./icons/chevron-right.js"),fe=require("./icons/chevron-up.js"),pe=require("./icons/cog.js"),ge=require("./icons/copy.js"),Se=require("./icons/document.js"),me=require("./icons/dots.js"),qe=require("./icons/drag.js"),_e=require("./icons/edit.js"),ve=require("./icons/external.js"),he=require("./icons/exclamation-triangle.js"),ye=require("./icons/eye.js"),ke=require("./icons/information.js"),Le=require("./icons/kakadu-guide-glyph.js"),be=require("./icons/kakadu-guide-icon.js"),Te=require("./icons/menu.js"),Ce=require("./icons/package.js"),xe=require("./icons/plus.js"),Ie=require("./icons/select.js"),we=require("./icons/share.js"),Pe=require("./icons/sparkle.js"),Be=require("./icons/test.js"),Me=require("./icons/times.js"),De=require("./icons/trash.js"),Ge=require("./icons/trend-up.js"),Fe=require("./icons/chrome-browser-logo.js"),Re=require("./icons/edge-browser-logo.js"),i=require("./hooks/use-fetch.js"),Ve=require("./hooks/use-is-document-focused.js"),x=require("./hooks/use-is-in-view.js"),Ae=require("./hooks/use-media-query.js"),He=require("./hooks/use-synchronized-value.js"),Ee=require("./hooks/use-throttled.js"),Ue=require("./utilities/clamp.js"),Ke=require("./utilities/copy-to-clipboard.js"),We=require("./utilities/generate-random-id.js"),Ne=require("./utilities/scale.js"),Je=require("./utilities/search.js");exports.FontFamilyHead=o.FontFamilyHead;exports.buttonResetStyles=o.buttonResetStyles;exports.darkBackgroundColor=o.darkBackgroundColor;exports.effectStyles=o.effectStyles;exports.font=o.font;exports.lightBackgroundColor=o.lightBackgroundColor;exports.nonInteractiveEffectStyles=o.nonInteractiveEffectStyles;exports.overflowProtectionStyles=o.overflowProtectionStyles;exports.overlayEffectStyles=o.overlayEffectStyles;exports.theme=o.default;exports.AriaText=q.default;exports.ariaTextStyles=q.ariaTextStyles;exports.Atom=_.default;exports.defaultAtomElementType=_.defaultAtomElementType;exports.BankidLogo=I.default;exports.Box=w.default;exports.Button=t.default;exports.ButtonLoader=t.ButtonLoader;exports.buttonDangerStyles=t.buttonDangerStyles;exports.buttonSecondaryStyles=t.buttonSecondaryStyles;exports.buttonSuccessStyles=t.buttonSuccessStyles;exports.buttonVariants=t.buttonVariants;exports.buttonWarningStyles=t.buttonWarningStyles;exports.ButtonTooltip=v.default;exports.buttonTooltipPositions=v.buttonTooltipPositions;exports.Card=P.default;exports.ClickRipples=B.default;exports.Collapsible=M.default;exports.Combobox=h.default;exports.getComboboxOptionString=h.getComboboxOptionString;exports.CopyIconButton=D.default;exports.Datum=G.default;exports.Decorators=F.default;exports.DnbLogo=R.default;exports.Dot=V.default;exports.Flex=c.default;exports.flexDirections=c.flexDirections;exports.flexPresets=c.flexPresets;exports.Footer=l.default;exports.footerSectionLinks=l.footerSectionLinks;exports.footerSections=l.footerSections;exports.Gauge=A.default;exports.GjensidigeLogo=H.default;exports.Header=E.default;exports.HoverGradient=y.default;exports.normalBlendStyles=y.normalBlendStyles;exports.IconButton=k.default;exports.iconButtonVariants=k.iconButtonVariants;exports.Input=s.default;exports.InputLabel=s.InputLabel;exports.errorParagraph=s.errorParagraph;exports.inputStyles=s.inputStyles;exports.KakaduGuideIcon=U.default;exports.KakaduGuideLogo=d.default;exports.KakaduGuideLogoSvg=d.KakaduGuideLogoSvg;exports.kakaduGuideLogoVariants=d.kakaduGuideLogoVariants;exports.KakaduIndexLogo=K.default;exports.KakaduAcademyLogo=W.default;exports.KakaduLogo=N.default;exports.Modal=r.default;exports.ModalActions=r.ModalActions;exports.ModalContent=r.ModalContent;exports.ModalHeading=r.ModalHeading;exports.useModal=r.useModal;exports.useModalContext=r.useModalContext;exports.MovingGradients=J.default;exports.MovingStars=j.default;exports.Notice=f.default;exports.noticeTypes=f.noticeTypes;exports.notificationTypes=f.noticeTypes;exports.Notification=p.default;exports.NotificationProvider=p.NotificationProvider;exports.useCreateNotification=p.useCreateNotification;exports.PopoverMenu=g.default;exports.dangerPopoverMenuItemStyles=g.dangerPopoverMenuItemStyles;exports.usePopoverMenu=g.usePopoverMenu;exports.Popover=a.default;exports.PopoverContainer=a.PopoverContainer;exports.usePopover=a.usePopover;exports.usePopoverContext=a.usePopoverContext;exports.Revealer=L.default;exports.useRevealer=L.useRevealer;exports.Select=O.default;exports.Separator=u.default;exports.SeparatorLabel=u.SeparatorLabel;exports.SmallSeparator=u.SmallSeparator;exports.VerticalSeparator=u.VerticalSeparator;exports.Skeleton=S.default;exports.SkeletonInstance=S.SkeletonInstance;exports.getDeterministicSkeletonWidth=S.getDeterministicSkeletonWidth;exports.Sparebank1Logo=z.default;exports.RevealSpinner=b.RevealSpinner;exports.Spinner=b.default;exports.StoLogo=Q.default;exports.StorebrandLogo=X.default;exports.AnchorHeading=e.AnchorHeading;exports.Footnote=e.Footnote;exports.Heading=e.Heading;exports.Hero=e.Hero;exports.Label=e.Label;exports.Paragraph=e.Paragraph;exports.Span=e.Span;exports.Text=e.default;exports.defaultHeadingElementType=e.defaultHeadingElementType;exports.spanStyles=e.spanStyles;exports.textShadowStyles=e.textShadowStyles;exports.TextButton=T.default;exports.textButtonVariants=T.textButtonVariants;exports.ThemeSetter=n.default;exports.getThemePreference=n.getThemePreference;exports.setThemePreference=n.setThemePreference;exports.themePreferences=n.themePreferences;exports.useIsDarkMode=n.useIsDarkMode;exports.useIsLightMode=n.useIsLightMode;exports.useTheme=n.useTheme;exports.Veil=Y.default;exports.Wrapper=C.default;exports.wrapperWidths=C.wrapperWidths;exports.Icon=m.default;exports.iconShadowStyles=m.iconShadowStyles;exports.iconTypes=m.iconTypes;exports.AnchorDownSvg=Z.default;exports.AnchorUpSvg=$.default;exports.ArrowDownSvg=ee.default;exports.ArrowLeftSvg=oe.default;exports.ArrowRightSvg=te.default;exports.ArrowUpSvg=ne.default;exports.CaretDownSvg=re.default;exports.CaretLeftSvg=se.default;exports.CaretRightSvg=ae.default;exports.CaretUpSvg=ue.default;exports.CheckSvg=ie.default;exports.ChevronDownSvg=ce.default;exports.ChevronLeftSvg=le.default;exports.ChevronRightSvg=de.default;exports.ChevronUpSvg=fe.default;exports.CogSvg=pe.default;exports.CopySvg=ge.default;exports.DocumentSvg=Se.default;exports.DotsSvg=me.default;exports.DragSvg=qe.default;exports.EditSvg=_e.default;exports.ExternalSvg=ve.default;exports.ExclamationTriangleSvg=he.default;exports.EyeSvg=ye.default;exports.InformationSvg=ke.default;exports.KakaduGuideGlyphSvg=Le.default;exports.KakaduGuideIconSvg=be.default;exports.MenuSvg=Te.default;exports.PackageSvg=Ce.default;exports.PlusSvg=xe.default;exports.SelectSvg=Ie.default;exports.ShareSvg=we.default;exports.SparkleSvg=Pe.default;exports.TestSvg=Be.default;exports.TimesSvg=Me.default;exports.TrashSvg=De.default;exports.TrendUpSvg=Ge.default;exports.ChromeBrowserLogoSvg=Fe.default;exports.EdgeBrowserLogoSvg=Re.default;exports.useFetch=i.default;exports.useFetcher=i.useFetcher;exports.useJsonFetch=i.useJsonFetch;exports.useJsonFetcher=i.useJsonFetcher;exports.useIsDocumentFocused=Ve.default;exports.useHasBeenInView=x.useHasBeenInView;exports.useIsInView=x.default;exports.useMediaQuery=Ae.default;exports.useSynchronizedValue=He.default;exports.useThrottled=Ee.default;exports.clamp=Ue.default;exports.copyToClipboard=Ke.default;exports.generateRandomId=We.default;exports.scale=Ne.default;exports.search=Je.default;
package/build/index.mjs CHANGED
@@ -3,11 +3,11 @@ import { default as x, ariaTextStyles as i } from "./components/aria-text.mjs";
3
3
  import { default as S, defaultAtomElementType as v } from "./components/atom.mjs";
4
4
  import { default as h } from "./components/bankid-logo.mjs";
5
5
  import { default as C } from "./components/box.mjs";
6
- import { default as L, ButtonLoader as T, buttonDangerStyles as b, buttonSecondaryStyles as P, buttonSuccessStyles as D, buttonVariants as I, buttonWarningStyles as B } from "./components/button.mjs";
7
- import { default as w, buttonTooltipPositions as A } from "./components/button-tooltip.mjs";
6
+ import { default as L, ButtonLoader as T, buttonDangerStyles as b, buttonSecondaryStyles as I, buttonSuccessStyles as P, buttonVariants as w, buttonWarningStyles as B } from "./components/button.mjs";
7
+ import { default as M, buttonTooltipPositions as A } from "./components/button-tooltip.mjs";
8
8
  import { default as F } from "./components/card.mjs";
9
- import { default as R } from "./components/click-ripples.mjs";
10
- import { default as K } from "./components/collapsible.mjs";
9
+ import { default as H } from "./components/click-ripples.mjs";
10
+ import { default as V } from "./components/collapsible.mjs";
11
11
  import { default as U, getComboboxOptionString as N } from "./components/combobox.mjs";
12
12
  import { default as J } from "./components/copy-icon-button.mjs";
13
13
  import { default as z } from "./components/datum.mjs";
@@ -23,11 +23,11 @@ import { default as xe, normalBlendStyles as ie } from "./components/hover-gradi
23
23
  import { default as Se, iconButtonVariants as ve } from "./components/icon-button.mjs";
24
24
  import { default as he, InputLabel as ye, errorParagraph as Ce, inputStyles as ke } from "./components/input.mjs";
25
25
  import { default as Te } from "./components/kakadu-guide-icon.mjs";
26
- import { default as Pe, KakaduGuideLogoSvg as De, kakaduGuideLogoVariants as Ie } from "./components/kakadu-guide-logo.mjs";
27
- import { default as Me } from "./components/kakadu-index-logo.mjs";
26
+ import { default as Ie, KakaduGuideLogoSvg as Pe, kakaduGuideLogoVariants as we } from "./components/kakadu-guide-logo.mjs";
27
+ import { default as De } from "./components/kakadu-index-logo.mjs";
28
28
  import { default as Ae } from "./components/kakadu-academy-logo.mjs";
29
29
  import { default as Fe } from "./components/kakadu-logo.mjs";
30
- import { default as Re, ModalActions as He, ModalContent as Ke, ModalHeading as Ve, useModal as Ue, useModalContext as Ne } from "./components/modal.mjs";
30
+ import { default as He, ModalActions as Re, ModalContent as Ve, ModalHeading as Ke, useModal as Ue, useModalContext as Ne } from "./components/modal.mjs";
31
31
  import { default as Je } from "./components/moving-gradients.mjs";
32
32
  import { default as ze } from "./components/moving-stars.mjs";
33
33
  import { default as Qe, noticeTypes as qe, noticeTypes as Xe } from "./components/notice.mjs";
@@ -39,10 +39,10 @@ import { default as io } from "./components/select.mjs";
39
39
  import { default as So, SeparatorLabel as vo, SmallSeparator as co, VerticalSeparator as ho } from "./components/separator.mjs";
40
40
  import { default as Co, SkeletonInstance as ko, getDeterministicSkeletonWidth as Lo } from "./components/skeleton.mjs";
41
41
  import { default as bo } from "./components/sparebank1-logo.mjs";
42
- import { RevealSpinner as Do, default as Io } from "./components/spinner.mjs";
43
- import { default as Mo } from "./components/sto-logo.mjs";
42
+ import { RevealSpinner as Po, default as wo } from "./components/spinner.mjs";
43
+ import { default as Do } from "./components/sto-logo.mjs";
44
44
  import { default as Ao } from "./components/storebrand-logo.mjs";
45
- import { AnchorHeading as Fo, Footnote as Eo, Heading as Ro, Hero as Ho, Label as Ko, Paragraph as Vo, Span as Uo, default as No, defaultHeadingElementType as Wo, spanStyles as Jo, textShadowStyles as jo } from "./components/text.mjs";
45
+ import { AnchorHeading as Fo, Footnote as Eo, Heading as Ho, Hero as Ro, Label as Vo, Paragraph as Ko, Span as Uo, default as No, defaultHeadingElementType as Wo, spanStyles as Jo, textShadowStyles as jo } from "./components/text.mjs";
46
46
  import { default as Oo, textButtonVariants as Qo } from "./components/text-button.mjs";
47
47
  import { default as Xo, getThemePreference as Yo, setThemePreference as Zo, themePreferences as _o, useIsDarkMode as $o, useIsLightMode as et, useTheme as ot } from "./components/theme-setter.mjs";
48
48
  import { default as at } from "./components/veil.mjs";
@@ -55,13 +55,13 @@ import { default as ct } from "./icons/arrow-left.mjs";
55
55
  import { default as yt } from "./icons/arrow-right.mjs";
56
56
  import { default as kt } from "./icons/arrow-up.mjs";
57
57
  import { default as Tt } from "./icons/caret-down.mjs";
58
- import { default as Pt } from "./icons/caret-left.mjs";
59
- import { default as It } from "./icons/caret-right.mjs";
60
- import { default as Mt } from "./icons/caret-up.mjs";
58
+ import { default as It } from "./icons/caret-left.mjs";
59
+ import { default as wt } from "./icons/caret-right.mjs";
60
+ import { default as Dt } from "./icons/caret-up.mjs";
61
61
  import { default as At } from "./icons/check.mjs";
62
62
  import { default as Ft } from "./icons/chevron-down.mjs";
63
- import { default as Rt } from "./icons/chevron-left.mjs";
64
- import { default as Kt } from "./icons/chevron-right.mjs";
63
+ import { default as Ht } from "./icons/chevron-left.mjs";
64
+ import { default as Vt } from "./icons/chevron-right.mjs";
65
65
  import { default as Ut } from "./icons/chevron-up.mjs";
66
66
  import { default as Wt } from "./icons/cog.mjs";
67
67
  import { default as jt } from "./icons/copy.mjs";
@@ -82,21 +82,22 @@ import { default as ca } from "./icons/select.mjs";
82
82
  import { default as ya } from "./icons/share.mjs";
83
83
  import { default as ka } from "./icons/sparkle.mjs";
84
84
  import { default as Ta } from "./icons/test.mjs";
85
- import { default as Pa } from "./icons/times.mjs";
86
- import { default as Ia } from "./icons/trash.mjs";
87
- import { default as Ma } from "./icons/trend-up.mjs";
85
+ import { default as Ia } from "./icons/times.mjs";
86
+ import { default as wa } from "./icons/trash.mjs";
87
+ import { default as Da } from "./icons/trend-up.mjs";
88
88
  import { default as Aa } from "./icons/chrome-browser-logo.mjs";
89
89
  import { default as Fa } from "./icons/edge-browser-logo.mjs";
90
- import { default as Ra, useFetcher as Ha, useJsonFetch as Ka, useJsonFetcher as Va } from "./hooks/use-fetch.mjs";
90
+ import { default as Ha, useFetcher as Ra, useJsonFetch as Va, useJsonFetcher as Ka } from "./hooks/use-fetch.mjs";
91
91
  import { default as Na } from "./hooks/use-is-document-focused.mjs";
92
- import { default as Ja } from "./hooks/use-media-query.mjs";
93
- import { default as za } from "./hooks/use-synchronized-value.mjs";
94
- import { default as Qa } from "./hooks/use-throttled.mjs";
95
- import { default as Xa } from "./utilities/clamp.mjs";
96
- import { default as Za } from "./utilities/copy-to-clipboard.mjs";
97
- import { default as $a } from "./utilities/generate-random-id.mjs";
98
- import { default as or } from "./utilities/scale.mjs";
99
- import { default as ar } from "./utilities/search.mjs";
92
+ import { useHasBeenInView as Ja, default as ja } from "./hooks/use-is-in-view.mjs";
93
+ import { default as Oa } from "./hooks/use-media-query.mjs";
94
+ import { default as qa } from "./hooks/use-synchronized-value.mjs";
95
+ import { default as Ya } from "./hooks/use-throttled.mjs";
96
+ import { default as _a } from "./utilities/clamp.mjs";
97
+ import { default as er } from "./utilities/copy-to-clipboard.mjs";
98
+ import { default as tr } from "./utilities/generate-random-id.mjs";
99
+ import { default as rr } from "./utilities/scale.mjs";
100
+ import { default as sr } from "./utilities/search.mjs";
100
101
  export {
101
102
  mt as AnchorDownSvg,
102
103
  Fo as AnchorHeading,
@@ -111,21 +112,21 @@ export {
111
112
  C as Box,
112
113
  L as Button,
113
114
  T as ButtonLoader,
114
- w as ButtonTooltip,
115
+ M as ButtonTooltip,
115
116
  F as Card,
116
117
  Tt as CaretDownSvg,
117
- Pt as CaretLeftSvg,
118
- It as CaretRightSvg,
119
- Mt as CaretUpSvg,
118
+ It as CaretLeftSvg,
119
+ wt as CaretRightSvg,
120
+ Dt as CaretUpSvg,
120
121
  At as CheckSvg,
121
122
  Ft as ChevronDownSvg,
122
- Rt as ChevronLeftSvg,
123
- Kt as ChevronRightSvg,
123
+ Ht as ChevronLeftSvg,
124
+ Vt as ChevronRightSvg,
124
125
  Ut as ChevronUpSvg,
125
126
  Aa as ChromeBrowserLogoSvg,
126
- R as ClickRipples,
127
+ H as ClickRipples,
127
128
  Wt as CogSvg,
128
- K as Collapsible,
129
+ V as Collapsible,
129
130
  U as Combobox,
130
131
  J as CopyIconButton,
131
132
  jt as CopySvg,
@@ -148,8 +149,8 @@ export {
148
149
  le as Gauge,
149
150
  de as GjensidigeLogo,
150
151
  ne as Header,
151
- Ro as Heading,
152
- Ho as Hero,
152
+ Ho as Heading,
153
+ Ro as Hero,
153
154
  xe as HoverGradient,
154
155
  ut as Icon,
155
156
  Se as IconButton,
@@ -160,28 +161,28 @@ export {
160
161
  ua as KakaduGuideGlyphSvg,
161
162
  Te as KakaduGuideIcon,
162
163
  pa as KakaduGuideIconSvg,
163
- Pe as KakaduGuideLogo,
164
- De as KakaduGuideLogoSvg,
165
- Me as KakaduIndexLogo,
164
+ Ie as KakaduGuideLogo,
165
+ Pe as KakaduGuideLogoSvg,
166
+ De as KakaduIndexLogo,
166
167
  Fe as KakaduLogo,
167
- Ko as Label,
168
+ Vo as Label,
168
169
  ma as MenuSvg,
169
- Re as Modal,
170
- He as ModalActions,
171
- Ke as ModalContent,
172
- Ve as ModalHeading,
170
+ He as Modal,
171
+ Re as ModalActions,
172
+ Ve as ModalContent,
173
+ Ke as ModalHeading,
173
174
  Je as MovingGradients,
174
175
  ze as MovingStars,
175
176
  Qe as Notice,
176
177
  Ze as Notification,
177
178
  _e as NotificationProvider,
178
179
  ia as PackageSvg,
179
- Vo as Paragraph,
180
+ Ko as Paragraph,
180
181
  Sa as PlusSvg,
181
182
  fo as Popover,
182
183
  so as PopoverContainer,
183
184
  oo as PopoverMenu,
184
- Do as RevealSpinner,
185
+ Po as RevealSpinner,
185
186
  no as Revealer,
186
187
  io as Select,
187
188
  ca as SelectSvg,
@@ -194,29 +195,29 @@ export {
194
195
  Uo as Span,
195
196
  bo as Sparebank1Logo,
196
197
  ka as SparkleSvg,
197
- Io as Spinner,
198
- Mo as StoLogo,
198
+ wo as Spinner,
199
+ Do as StoLogo,
199
200
  Ao as StorebrandLogo,
200
201
  Ta as TestSvg,
201
202
  No as Text,
202
203
  Oo as TextButton,
203
204
  Xo as ThemeSetter,
204
- Pa as TimesSvg,
205
- Ia as TrashSvg,
206
- Ma as TrendUpSvg,
205
+ Ia as TimesSvg,
206
+ wa as TrashSvg,
207
+ Da as TrendUpSvg,
207
208
  at as Veil,
208
209
  ho as VerticalSeparator,
209
210
  ft as Wrapper,
210
211
  i as ariaTextStyles,
211
212
  b as buttonDangerStyles,
212
213
  a as buttonResetStyles,
213
- P as buttonSecondaryStyles,
214
- D as buttonSuccessStyles,
214
+ I as buttonSecondaryStyles,
215
+ P as buttonSuccessStyles,
215
216
  A as buttonTooltipPositions,
216
- I as buttonVariants,
217
+ w as buttonVariants,
217
218
  B as buttonWarningStyles,
218
- Xa as clamp,
219
- Za as copyToClipboard,
219
+ _a as clamp,
220
+ er as copyToClipboard,
220
221
  to as dangerPopoverMenuItemStyles,
221
222
  r as darkBackgroundColor,
222
223
  v as defaultAtomElementType,
@@ -228,7 +229,7 @@ export {
228
229
  s as font,
229
230
  re as footerSectionLinks,
230
231
  fe as footerSections,
231
- $a as generateRandomId,
232
+ tr as generateRandomId,
232
233
  N as getComboboxOptionString,
233
234
  Lo as getDeterministicSkeletonWidth,
234
235
  Yo as getThemePreference,
@@ -236,7 +237,7 @@ export {
236
237
  dt as iconShadowStyles,
237
238
  pt as iconTypes,
238
239
  ke as inputStyles,
239
- Ie as kakaduGuideLogoVariants,
240
+ we as kakaduGuideLogoVariants,
240
241
  l as lightBackgroundColor,
241
242
  u as nonInteractiveEffectStyles,
242
243
  ie as normalBlendStyles,
@@ -244,8 +245,8 @@ export {
244
245
  Xe as notificationTypes,
245
246
  d as overflowProtectionStyles,
246
247
  p as overlayEffectStyles,
247
- or as scale,
248
- ar as search,
248
+ rr as scale,
249
+ sr as search,
249
250
  Zo as setThemePreference,
250
251
  Jo as spanStyles,
251
252
  Qo as textButtonVariants,
@@ -253,22 +254,24 @@ export {
253
254
  n as theme,
254
255
  _o as themePreferences,
255
256
  $e as useCreateNotification,
256
- Ra as useFetch,
257
- Ha as useFetcher,
257
+ Ha as useFetch,
258
+ Ra as useFetcher,
259
+ Ja as useHasBeenInView,
258
260
  $o as useIsDarkMode,
259
261
  Na as useIsDocumentFocused,
262
+ ja as useIsInView,
260
263
  et as useIsLightMode,
261
- Ka as useJsonFetch,
262
- Va as useJsonFetcher,
263
- Ja as useMediaQuery,
264
+ Va as useJsonFetch,
265
+ Ka as useJsonFetcher,
266
+ Oa as useMediaQuery,
264
267
  Ue as useModal,
265
268
  Ne as useModalContext,
266
269
  lo as usePopover,
267
270
  uo as usePopoverContext,
268
271
  ao as usePopoverMenu,
269
272
  mo as useRevealer,
270
- za as useSynchronizedValue,
273
+ qa as useSynchronizedValue,
271
274
  ot as useTheme,
272
- Qa as useThrottled,
275
+ Ya as useThrottled,
273
276
  st as wrapperWidths
274
277
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kakadu/components",
3
- "version": "5.0.5",
3
+ "version": "5.0.6",
4
4
  "description": "Kakadu components library",
5
5
  "license": "MIT",
6
6
  "main": "./build/index.js",