@kakadu/components 4.6.3 → 5.0.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.
@@ -1,9 +1,38 @@
1
+ import { type HTMLAttributeAnchorTarget, type ReactNode } from 'react';
1
2
  import { type WrapperWidth } from './wrapper';
2
- export declare const footerLinkItems: readonly ["privacyPolicy", "ethicalGuidelines", "security"];
3
- export type FooterLinkItem = (typeof footerLinkItems)[number];
3
+ export declare const footerSections: readonly ["products", "results", "about", "compliance"];
4
+ export declare const footerSectionLinks: {
5
+ readonly products: readonly ["kakaduGuide", "kakaduKolibri"];
6
+ readonly results: readonly ["caseStudies", "impactMeasurement"];
7
+ readonly about: readonly ["ourStory", "contact"];
8
+ readonly compliance: readonly ["privacyPolicy", "ethicalGuidelines", "status"];
9
+ };
10
+ export type FooterSection = (typeof footerSections)[number];
11
+ export type FooterSectionLinks = keyof typeof footerSectionLinks;
12
+ type BaseFooterLink = {
13
+ text: string;
14
+ href: string;
15
+ rel?: string;
16
+ target?: HTMLAttributeAnchorTarget;
17
+ };
18
+ export type FooterLink = false | (Partial<BaseFooterLink> & {
19
+ index?: number;
20
+ });
21
+ type KnownFooterSection<KnownLinks extends string = never> = false | {
22
+ index?: number;
23
+ text?: ReactNode;
24
+ links?: Partial<Record<KnownLinks, FooterLink>> & Record<string, FooterLink>;
25
+ };
26
+ type KnownFooterSections = {
27
+ [K in FooterSection]?: K extends FooterSectionLinks ? KnownFooterSection<(typeof footerSectionLinks)[K][number]> : KnownFooterSection;
28
+ };
29
+ export type FooterSections = KnownFooterSections & Record<string, KnownFooterSection>;
4
30
  export type FooterProperties = {
5
31
  readonly width?: WrapperWidth;
6
- readonly links?: Partial<Record<FooterLinkItem, string>>;
32
+ readonly attribution?: ReactNode;
33
+ readonly sections?: FooterSections;
34
+ readonly hasMovingStars?: boolean;
7
35
  readonly className?: string;
8
36
  };
9
- export default function Footer({ width, links, className, }: FooterProperties): import("react/jsx-runtime").JSX.Element;
37
+ export default function Footer({ width, sections: inputSections, attribution, hasMovingStars, className, }: FooterProperties): import("react/jsx-runtime").JSX.Element;
38
+ export {};
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("../jsx-runtime-BB_1_6y_.js"),i=require("@kuma-ui/core"),u=require("../theme.js"),r=require("./flex.js"),t=require("./text.js"),c=require("./kakadu-logo.js"),p=require("./moving-stars.js"),d=require("./aria-text.js"),l=require("./wrapper.js"),a="kakadu-components-975968984";function o(n){return!!(n&&n.trim()!=="")}const j=["privacyPolicy","ethicalGuidelines","security"];function m({width:n="page",links:s,className:x}){return e.jsxRuntimeExports.jsxs(l.default,{as:"footer",gap:2,"data-theme":"dark",width:n,className:i.cx(u.default,"kakadu-components-1574406446",x),children:[e.jsxRuntimeExports.jsxs(r.default,{wrap:!0,direction:"row",gap:4,className:"kakadu-components-783629418",children:[e.jsxRuntimeExports.jsxs(r.default,{direction:"column",preset:"start",gap:.5,children:[e.jsxRuntimeExports.jsx(t.Paragraph,{children:e.jsxRuntimeExports.jsx("strong",{children:"Products"})}),e.jsxRuntimeExports.jsxs(t.Paragraph,{as:"ul",className:a,children:[e.jsxRuntimeExports.jsx("li",{children:e.jsxRuntimeExports.jsx("a",{href:"https://guide.kakadu.no",children:"Kakadu Guide"})}),e.jsxRuntimeExports.jsx("li",{children:e.jsxRuntimeExports.jsx("a",{href:"https://utforsk.kakadu.no/kakadu-start",children:"Kakadu Kolibri"})})]})]}),e.jsxRuntimeExports.jsxs(r.default,{direction:"column",preset:"start",gap:.5,children:[e.jsxRuntimeExports.jsx(t.Paragraph,{children:e.jsxRuntimeExports.jsx("strong",{children:"Results"})}),e.jsxRuntimeExports.jsxs(t.Paragraph,{as:"ul",className:a,children:[e.jsxRuntimeExports.jsx("li",{children:e.jsxRuntimeExports.jsx("a",{href:"https://utforsk.kakadu.no",children:"Case studies"})}),e.jsxRuntimeExports.jsx("li",{children:e.jsxRuntimeExports.jsx("a",{href:"https://utforsk.kakadu.no",children:"Impact measurement"})})]})]}),e.jsxRuntimeExports.jsxs(r.default,{direction:"column",preset:"start",gap:.5,children:[e.jsxRuntimeExports.jsx(t.Paragraph,{children:e.jsxRuntimeExports.jsx("strong",{children:"About us"})}),e.jsxRuntimeExports.jsxs(t.Paragraph,{as:"ul",className:a,children:[e.jsxRuntimeExports.jsx("li",{children:e.jsxRuntimeExports.jsx("a",{href:"https://utforsk.kakadu.no",children:"Our story"})}),e.jsxRuntimeExports.jsx("li",{children:e.jsxRuntimeExports.jsx("a",{href:"https://utforsk.kakadu.no/kontakt-oss",children:"Contact"})}),e.jsxRuntimeExports.jsx("li",{children:e.jsxRuntimeExports.jsx("a",{target:"_blank",rel:"noopener noreferrer",href:"https://kakadu.instatus.com",children:"Status"})})]})]}),e.jsxRuntimeExports.jsxs(r.default,{direction:"column",preset:"start",gap:.5,children:[e.jsxRuntimeExports.jsx(t.Paragraph,{children:e.jsxRuntimeExports.jsx("strong",{children:"Compliance"})}),e.jsxRuntimeExports.jsxs(t.Paragraph,{as:"ul",className:a,children:[e.jsxRuntimeExports.jsx("li",{children:e.jsxRuntimeExports.jsx("a",{href:o(s==null?void 0:s.privacyPolicy)?s.privacyPolicy:"https://utforsk.kakadu.no/personvernerklaering",children:"Privacy policy"})}),e.jsxRuntimeExports.jsx("li",{children:e.jsxRuntimeExports.jsx("a",{href:o(s==null?void 0:s.ethicalGuidelines)?s.ethicalGuidelines:"https://utforsk.kakadu.no/etiske-retningslinjer",children:"Ethical guidelines"})}),e.jsxRuntimeExports.jsx("li",{children:e.jsxRuntimeExports.jsx("a",{href:o(s==null?void 0:s.security)?s.security:"https://utforsk.kakadu.no/personvernerklaering",children:"Security"})})]})]}),e.jsxRuntimeExports.jsx(r.default,{fill:!0,className:"kakadu-components-3520395370",children:e.jsxRuntimeExports.jsx("a",{href:"https://businessnorway.com/made-in-norway",target:"_blank",rel:"noopener noreferrer",className:"kakadu-components-3521477705",children:e.jsxRuntimeExports.jsx("img",{alt:"Made in Norway",src:"https://cdn.prod.website-files.com/65a686387a785640fecc9b9d/68f09646a6d6e62b6839c38c_made_in_norway_logo.png",width:76,className:"kakadu-components-2329568054"})})})]}),e.jsxRuntimeExports.jsxs(r.default,{direction:"row",gap:1,className:i.cx("kakadu-components-2089456404"),children:[e.jsxRuntimeExports.jsxs("a",{href:"https://kakadu.no",children:[e.jsxRuntimeExports.jsx(d.default,{children:"Kakadu.no"}),e.jsxRuntimeExports.jsx(c.default,{width:90,className:"kakadu-components-3695148669"})]}),e.jsxRuntimeExports.jsxs(t.Span,{className:"kakadu-components-1125118494",children:["© ",new Date().getFullYear()," Kakadu Ignite AS"]})]}),e.jsxRuntimeExports.jsx(p.default,{})]})}exports.default=m;exports.footerLinkItems=j;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("../jsx-runtime-BB_1_6y_.js"),R=require("react"),y=require("@kuma-ui/core"),E=require("../theme.js"),k=require("./flex.js"),x=require("./text.js"),w=require("./kakadu-logo.js"),_=require("./moving-stars.js"),q=require("./aria-text.js"),N=require("./wrapper.js"),K="kakadu-components-975968984",d=["products","results","about","compliance"],b={products:["kakaduGuide","kakaduKolibri"],results:["caseStudies","impactMeasurement"],about:["ourStory","contact"],compliance:["privacyPolicy","ethicalGuidelines","status"]},P={products:{text:"Products",links:{kakaduGuide:{text:"Kakadu Guide",href:"https://guide.kakadu.no"},kakaduKolibri:{text:"Kakadu Kolibri",href:"https://utforsk.kakadu.no/kakadu-start"}}},results:{text:"Results",links:{caseStudies:{text:"Case studies",href:"https://utforsk.kakadu.no/case-studies"},impactMeasurement:{text:"Impact measurement",href:"https://utforsk.kakadu.no/impact-measurement"}}},about:{text:"About us",links:{ourStory:{text:"Our story",href:"https://utforsk.kakadu.no/our-story"},contact:{text:"Contact",href:"https://utforsk.kakadu.no/kontakt-oss"}}},compliance:{text:"Compliance",links:{privacyPolicy:{text:"Privacy policy",href:"https://utforsk.kakadu.no/personvernerklaering"},ethicalGuidelines:{text:"Ethical guidelines",href:"https://utforsk.kakadu.no/etiske-retningslinjer"},status:{text:"Status",href:"https://kakadu.instatus.com",rel:"noopener noreferrer",target:"_blank"}}}};function p(e,o,r){if(r!==!1&&(r==null?void 0:r.index)!==void 0)return r.index;const t=o.indexOf(e);return t===-1?o.length+1:t+1}function S(e,o={},r=[]){var c,m,f,h;const t=new Set([...Object.keys(o),...Object.keys(e)]),n=[];for(const i of t){const a=e[i];if(a===!1)continue;const j=(a==null?void 0:a.text)??((c=o[i])==null?void 0:c.text),g=(a==null?void 0:a.href)??((m=o[i])==null?void 0:m.href);j===void 0||g===void 0||n.push({key:i,text:j,href:g,rel:(a==null?void 0:a.rel)??((f=o[i])==null?void 0:f.rel),target:(a==null?void 0:a.target)??((h=o[i])==null?void 0:h.target)})}const u=new Set(n.map(i=>i.key)),l=r.filter(i=>u.has(i));return n.toSorted((i,a)=>p(i.key,l,e[i.key])-p(a.key,l,e[a.key]))}function L(e){const o=d.filter(t=>(e==null?void 0:e[t])!==!1),r=[];for(const t of d){if((e==null?void 0:e[t])===!1)continue;const n=P[t],u=e==null?void 0:e[t];r.push({key:t,title:(u==null?void 0:u.text)??n.text,links:S((u==null?void 0:u.links)??{},n.links,b[t]),index:p(t,o,u)})}for(const[t,n]of Object.entries(e??{})){if(d.includes(t)||n===!1)continue;const u=S(n.links??{});u.length===0&&n.text===void 0||r.push({key:t,title:n.text??t,links:u,index:p(t,o,n)})}return r.toSorted((t,n)=>t.index-n.index)}function M({width:e="page",sections:o,attribution:r,hasMovingStars:t=!0,className:n}){const u=R.useMemo(()=>L(o),[o]);return s.jsxRuntimeExports.jsxs(N.default,{as:"footer",gap:2,"data-theme":"dark",width:e,className:y.cx(E.default,"kakadu-components-1574406446",n),children:[s.jsxRuntimeExports.jsxs(k.default,{wrap:!0,direction:"row",gap:4,className:"kakadu-components-783629418",children:[u.map(l=>l.links.length>0?s.jsxRuntimeExports.jsxs(k.default,{direction:"column",preset:"start",gap:.5,children:[s.jsxRuntimeExports.jsx(x.Paragraph,{children:s.jsxRuntimeExports.jsx("strong",{children:l.title})}),s.jsxRuntimeExports.jsx(x.Paragraph,{as:"ul",className:K,children:l.links.map(c=>s.jsxRuntimeExports.jsx("li",{children:s.jsxRuntimeExports.jsx("a",{href:c.href,rel:c.rel,target:c.target,children:c.text})},c.key))})]},l.key):null),s.jsxRuntimeExports.jsx(k.default,{fill:!0,className:"kakadu-components-3520395370",children:s.jsxRuntimeExports.jsx("a",{href:"https://businessnorway.com/made-in-norway",target:"_blank",rel:"noopener noreferrer",className:"kakadu-components-3521477705",children:s.jsxRuntimeExports.jsx("img",{alt:"Made in Norway",src:"https://cdn.prod.website-files.com/65a686387a785640fecc9b9d/68f09646a6d6e62b6839c38c_made_in_norway_logo.png",width:76,className:"kakadu-components-2329568054"})})})]}),s.jsxRuntimeExports.jsxs(k.default,{wrap:!0,direction:"row",gap:2,alignment:"flex-end",distribution:"space-between",children:[s.jsxRuntimeExports.jsxs(k.default,{fill:!0,direction:"row",gap:1,className:y.cx("kakadu-components-141628642"),children:[s.jsxRuntimeExports.jsxs("a",{href:"https://kakadu.no",children:[s.jsxRuntimeExports.jsx(q.default,{children:"Kakadu"}),s.jsxRuntimeExports.jsx(w.default,{width:90,className:"kakadu-components-3103582715"})]}),s.jsxRuntimeExports.jsxs(x.Span,{className:"kakadu-components-3713786292",children:["© ",new Date().getFullYear()," Kakadu Ignite AS"]})]}),r?s.jsxRuntimeExports.jsx(x.Span,{className:"kakadu-components-3590358670",children:r}):null]}),t?s.jsxRuntimeExports.jsx(_.default,{}):null]})}exports.default=M;exports.footerSectionLinks=b;exports.footerSections=d;
@@ -1,71 +1,164 @@
1
- import { j as e } from "../jsx-runtime-B4hRZ52C.mjs";
2
- import { cx as i } from "@kuma-ui/core";
3
- import d from "../theme.mjs";
4
- import a from "./flex.mjs";
5
- import { Paragraph as s, Span as l } from "./text.mjs";
6
- import h from "./kakadu-logo.mjs";
7
- import u from "./moving-stars.mjs";
8
- import p from "./aria-text.mjs";
9
- import m from "./wrapper.mjs";
10
- const n = "kakadu-components-975968984";
11
- function o(t) {
12
- return !!(t && t.trim() !== "");
1
+ import { j as a } from "../jsx-runtime-B4hRZ52C.mjs";
2
+ import { useMemo as w } from "react";
3
+ import { cx as y } from "@kuma-ui/core";
4
+ import N from "../theme.mjs";
5
+ import k from "./flex.mjs";
6
+ import { Paragraph as j, Span as S } from "./text.mjs";
7
+ import K from "./kakadu-logo.mjs";
8
+ import _ from "./moving-stars.mjs";
9
+ import G from "./aria-text.mjs";
10
+ import L from "./wrapper.mjs";
11
+ const M = "kakadu-components-975968984", p = ["products", "results", "about", "compliance"], O = {
12
+ products: ["kakaduGuide", "kakaduKolibri"],
13
+ results: ["caseStudies", "impactMeasurement"],
14
+ about: ["ourStory", "contact"],
15
+ compliance: ["privacyPolicy", "ethicalGuidelines", "status"]
16
+ }, P = {
17
+ products: {
18
+ text: "Products",
19
+ links: {
20
+ kakaduGuide: {
21
+ text: "Kakadu Guide",
22
+ href: "https://guide.kakadu.no"
23
+ },
24
+ kakaduKolibri: {
25
+ text: "Kakadu Kolibri",
26
+ href: "https://utforsk.kakadu.no/kakadu-start"
27
+ }
28
+ }
29
+ },
30
+ results: {
31
+ text: "Results",
32
+ links: {
33
+ caseStudies: {
34
+ text: "Case studies",
35
+ href: "https://utforsk.kakadu.no/case-studies"
36
+ },
37
+ impactMeasurement: {
38
+ text: "Impact measurement",
39
+ href: "https://utforsk.kakadu.no/impact-measurement"
40
+ }
41
+ }
42
+ },
43
+ about: {
44
+ text: "About us",
45
+ links: {
46
+ ourStory: {
47
+ text: "Our story",
48
+ href: "https://utforsk.kakadu.no/our-story"
49
+ },
50
+ contact: {
51
+ text: "Contact",
52
+ href: "https://utforsk.kakadu.no/kontakt-oss"
53
+ }
54
+ }
55
+ },
56
+ compliance: {
57
+ text: "Compliance",
58
+ links: {
59
+ privacyPolicy: {
60
+ text: "Privacy policy",
61
+ href: "https://utforsk.kakadu.no/personvernerklaering"
62
+ },
63
+ ethicalGuidelines: {
64
+ text: "Ethical guidelines",
65
+ href: "https://utforsk.kakadu.no/etiske-retningslinjer"
66
+ },
67
+ status: {
68
+ text: "Status",
69
+ href: "https://kakadu.instatus.com",
70
+ rel: "noopener noreferrer",
71
+ target: "_blank"
72
+ }
73
+ }
74
+ }
75
+ };
76
+ function d(e, o, r) {
77
+ if (r !== !1 && (r == null ? void 0 : r.index) !== void 0)
78
+ return r.index;
79
+ const t = o.indexOf(e);
80
+ return t === -1 ? o.length + 1 : t + 1;
81
+ }
82
+ function b(e, o = {}, r = []) {
83
+ var l, f, m, h;
84
+ const t = /* @__PURE__ */ new Set([...Object.keys(o), ...Object.keys(e)]), n = [];
85
+ for (const c of t) {
86
+ const s = e[c];
87
+ if (s === !1)
88
+ continue;
89
+ const x = (s == null ? void 0 : s.text) ?? ((l = o[c]) == null ? void 0 : l.text), g = (s == null ? void 0 : s.href) ?? ((f = o[c]) == null ? void 0 : f.href);
90
+ x === void 0 || g === void 0 || n.push({
91
+ key: c,
92
+ text: x,
93
+ href: g,
94
+ rel: (s == null ? void 0 : s.rel) ?? ((m = o[c]) == null ? void 0 : m.rel),
95
+ target: (s == null ? void 0 : s.target) ?? ((h = o[c]) == null ? void 0 : h.target)
96
+ });
97
+ }
98
+ const i = new Set(n.map((c) => c.key)), u = r.filter((c) => i.has(c));
99
+ return n.toSorted((c, s) => d(c.key, u, e[c.key]) - d(s.key, u, e[s.key]));
100
+ }
101
+ function I(e) {
102
+ const o = p.filter((t) => (e == null ? void 0 : e[t]) !== !1), r = [];
103
+ for (const t of p) {
104
+ if ((e == null ? void 0 : e[t]) === !1)
105
+ continue;
106
+ const n = P[t], i = e == null ? void 0 : e[t];
107
+ r.push({
108
+ key: t,
109
+ title: (i == null ? void 0 : i.text) ?? n.text,
110
+ links: b((i == null ? void 0 : i.links) ?? {}, n.links, O[t]),
111
+ index: d(t, o, i)
112
+ });
113
+ }
114
+ for (const [t, n] of Object.entries(e ?? {})) {
115
+ if (p.includes(t) || n === !1)
116
+ continue;
117
+ const i = b(n.links ?? {});
118
+ i.length === 0 && n.text === void 0 || r.push({
119
+ key: t,
120
+ title: n.text ?? t,
121
+ links: i,
122
+ index: d(t, o, n)
123
+ });
124
+ }
125
+ return r.toSorted((t, n) => t.index - n.index);
13
126
  }
14
- const S = ["privacyPolicy", "ethicalGuidelines", "security"];
15
- function v({
16
- width: t = "page",
17
- links: r,
18
- className: c
127
+ function z({
128
+ width: e = "page",
129
+ sections: o,
130
+ attribution: r,
131
+ hasMovingStars: t = !0,
132
+ className: n
19
133
  }) {
20
- return /* @__PURE__ */ e.jsxs(m, { as: "footer", gap: 2, "data-theme": "dark", width: t, className: i(d, "kakadu-components-1574406446", c), children: [
21
- /* @__PURE__ */ e.jsxs(a, { wrap: !0, direction: "row", gap: 4, className: "kakadu-components-783629418", children: [
22
- /* @__PURE__ */ e.jsxs(a, { direction: "column", preset: "start", gap: 0.5, children: [
23
- /* @__PURE__ */ e.jsx(s, { children: /* @__PURE__ */ e.jsx("strong", { children: "Products" }) }),
24
- /* @__PURE__ */ e.jsxs(s, { as: "ul", className: n, children: [
25
- /* @__PURE__ */ e.jsx("li", { children: /* @__PURE__ */ e.jsx("a", { href: "https://guide.kakadu.no", children: "Kakadu Guide" }) }),
26
- /* @__PURE__ */ e.jsx("li", { children: /* @__PURE__ */ e.jsx("a", { href: "https://utforsk.kakadu.no/kakadu-start", children: "Kakadu Kolibri" }) })
27
- ] })
28
- ] }),
29
- /* @__PURE__ */ e.jsxs(a, { direction: "column", preset: "start", gap: 0.5, children: [
30
- /* @__PURE__ */ e.jsx(s, { children: /* @__PURE__ */ e.jsx("strong", { children: "Results" }) }),
31
- /* @__PURE__ */ e.jsxs(s, { as: "ul", className: n, children: [
32
- /* @__PURE__ */ e.jsx("li", { children: /* @__PURE__ */ e.jsx("a", { href: "https://utforsk.kakadu.no", children: "Case studies" }) }),
33
- /* @__PURE__ */ e.jsx("li", { children: /* @__PURE__ */ e.jsx("a", { href: "https://utforsk.kakadu.no", children: "Impact measurement" }) })
34
- ] })
35
- ] }),
36
- /* @__PURE__ */ e.jsxs(a, { direction: "column", preset: "start", gap: 0.5, children: [
37
- /* @__PURE__ */ e.jsx(s, { children: /* @__PURE__ */ e.jsx("strong", { children: "About us" }) }),
38
- /* @__PURE__ */ e.jsxs(s, { as: "ul", className: n, children: [
39
- /* @__PURE__ */ e.jsx("li", { children: /* @__PURE__ */ e.jsx("a", { href: "https://utforsk.kakadu.no", children: "Our story" }) }),
40
- /* @__PURE__ */ e.jsx("li", { children: /* @__PURE__ */ e.jsx("a", { href: "https://utforsk.kakadu.no/kontakt-oss", children: "Contact" }) }),
41
- /* @__PURE__ */ e.jsx("li", { children: /* @__PURE__ */ e.jsx("a", { target: "_blank", rel: "noopener noreferrer", href: "https://kakadu.instatus.com", children: "Status" }) })
42
- ] })
43
- ] }),
44
- /* @__PURE__ */ e.jsxs(a, { direction: "column", preset: "start", gap: 0.5, children: [
45
- /* @__PURE__ */ e.jsx(s, { children: /* @__PURE__ */ e.jsx("strong", { children: "Compliance" }) }),
46
- /* @__PURE__ */ e.jsxs(s, { as: "ul", className: n, children: [
47
- /* @__PURE__ */ e.jsx("li", { children: /* @__PURE__ */ e.jsx("a", { href: o(r == null ? void 0 : r.privacyPolicy) ? r.privacyPolicy : "https://utforsk.kakadu.no/personvernerklaering", children: "Privacy policy" }) }),
48
- /* @__PURE__ */ e.jsx("li", { children: /* @__PURE__ */ e.jsx("a", { href: o(r == null ? void 0 : r.ethicalGuidelines) ? r.ethicalGuidelines : "https://utforsk.kakadu.no/etiske-retningslinjer", children: "Ethical guidelines" }) }),
49
- /* @__PURE__ */ e.jsx("li", { children: /* @__PURE__ */ e.jsx("a", { href: o(r == null ? void 0 : r.security) ? r.security : "https://utforsk.kakadu.no/personvernerklaering", children: "Security" }) })
50
- ] })
51
- ] }),
52
- /* @__PURE__ */ e.jsx(a, { fill: !0, className: "kakadu-components-3520395370", children: /* @__PURE__ */ e.jsx("a", { href: "https://businessnorway.com/made-in-norway", target: "_blank", rel: "noopener noreferrer", className: "kakadu-components-3521477705", children: /* @__PURE__ */ e.jsx("img", { alt: "Made in Norway", src: "https://cdn.prod.website-files.com/65a686387a785640fecc9b9d/68f09646a6d6e62b6839c38c_made_in_norway_logo.png", width: 76, className: "kakadu-components-2329568054" }) }) })
134
+ const i = w(() => I(o), [o]);
135
+ return /* @__PURE__ */ a.jsxs(L, { as: "footer", gap: 2, "data-theme": "dark", width: e, className: y(N, "kakadu-components-1574406446", n), children: [
136
+ /* @__PURE__ */ a.jsxs(k, { wrap: !0, direction: "row", gap: 4, className: "kakadu-components-783629418", children: [
137
+ i.map((u) => u.links.length > 0 ? /* @__PURE__ */ a.jsxs(k, { direction: "column", preset: "start", gap: 0.5, children: [
138
+ /* @__PURE__ */ a.jsx(j, { children: /* @__PURE__ */ a.jsx("strong", { children: u.title }) }),
139
+ /* @__PURE__ */ a.jsx(j, { as: "ul", className: M, children: u.links.map((l) => /* @__PURE__ */ a.jsx("li", { children: /* @__PURE__ */ a.jsx("a", { href: l.href, rel: l.rel, target: l.target, children: l.text }) }, l.key)) })
140
+ ] }, u.key) : null),
141
+ /* @__PURE__ */ a.jsx(k, { fill: !0, className: "kakadu-components-3520395370", children: /* @__PURE__ */ a.jsx("a", { href: "https://businessnorway.com/made-in-norway", target: "_blank", rel: "noopener noreferrer", className: "kakadu-components-3521477705", children: /* @__PURE__ */ a.jsx("img", { alt: "Made in Norway", src: "https://cdn.prod.website-files.com/65a686387a785640fecc9b9d/68f09646a6d6e62b6839c38c_made_in_norway_logo.png", width: 76, className: "kakadu-components-2329568054" }) }) })
53
142
  ] }),
54
- /* @__PURE__ */ e.jsxs(a, { direction: "row", gap: 1, className: i("kakadu-components-2089456404"), children: [
55
- /* @__PURE__ */ e.jsxs("a", { href: "https://kakadu.no", children: [
56
- /* @__PURE__ */ e.jsx(p, { children: "Kakadu.no" }),
57
- /* @__PURE__ */ e.jsx(h, { width: 90, className: "kakadu-components-3695148669" })
143
+ /* @__PURE__ */ a.jsxs(k, { wrap: !0, direction: "row", gap: 2, alignment: "flex-end", distribution: "space-between", children: [
144
+ /* @__PURE__ */ a.jsxs(k, { fill: !0, direction: "row", gap: 1, className: y("kakadu-components-141628642"), children: [
145
+ /* @__PURE__ */ a.jsxs("a", { href: "https://kakadu.no", children: [
146
+ /* @__PURE__ */ a.jsx(G, { children: "Kakadu" }),
147
+ /* @__PURE__ */ a.jsx(K, { width: 90, className: "kakadu-components-3103582715" })
148
+ ] }),
149
+ /* @__PURE__ */ a.jsxs(S, { className: "kakadu-components-3713786292", children: [
150
+ "© ",
151
+ (/* @__PURE__ */ new Date()).getFullYear(),
152
+ " Kakadu Ignite AS"
153
+ ] })
58
154
  ] }),
59
- /* @__PURE__ */ e.jsxs(l, { className: "kakadu-components-1125118494", children: [
60
- "© ",
61
- (/* @__PURE__ */ new Date()).getFullYear(),
62
- " Kakadu Ignite AS"
63
- ] })
155
+ r ? /* @__PURE__ */ a.jsx(S, { className: "kakadu-components-3590358670", children: r }) : null
64
156
  ] }),
65
- /* @__PURE__ */ e.jsx(u, {})
157
+ t ? /* @__PURE__ */ a.jsx(_, {}) : null
66
158
  ] });
67
159
  }
68
160
  export {
69
- v as default,
70
- S as footerLinkItems
161
+ z as default,
162
+ O as footerSectionLinks,
163
+ p as footerSections
71
164
  };
@@ -1,4 +1,4 @@
1
- import { type MouseEvent, type ReactNode, type Ref } from 'react';
1
+ import { type HTMLAttributeAnchorTarget, type MouseEvent, type ReactNode, type Ref } from 'react';
2
2
  import { type IconType } from '../icons/icon';
3
3
  import { type DecoratorType } from './decorators';
4
4
  export declare const dangerPopoverMenuItemStyles: string;
@@ -14,7 +14,7 @@ export type PopoverMenuItemProperties = {
14
14
  readonly reference?: Ref<PopoverMenuItemElementType>;
15
15
  readonly label: ReactNode;
16
16
  readonly href?: string;
17
- readonly target?: string;
17
+ readonly target?: HTMLAttributeAnchorTarget;
18
18
  readonly iconLeft?: IconType;
19
19
  readonly iconRight?: IconType;
20
20
  readonly submenu?: ReturnType<typeof usePopoverMenu>;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("../jsx-runtime-BB_1_6y_.js"),m=require("@kuma-ui/core"),e=require("react"),K=require("../focus-trap-react-B7f3iC5h.js"),F=require("./atom.js"),$=e.createContext({isVisible:!1,isPreparingFocus:!1,isFocused:!1}),{Provider:Q}=$;function X(){return e.useContext($)}function Y({as:i,className:s,...l}){return n.jsxRuntimeExports.jsx(F.default,{as:i??F.defaultAtomElementType,...l,className:m.cx("kakadu-components-2845019685",s)})}function Z({as:i,isVisible:s,label:l,shouldCloseOnOutsideClick:p=!0,shouldCloseOnEscapePress:r=!0,children:v,className:a,innerClassName:f,onClose:c,...h}){const x=e.useRef(null),k=e.useRef(null),[o,R]=e.useState(!1),[g,j]=e.useState(!1),[A,H]=e.useState(!1),[u,E]=e.useState(!1),[U,T]=e.useState(!1),N=e.useCallback(t=>{x.current=t,E(!1)},[]),b=e.useRef(null),L=e.useCallback(t=>{t&&(b.current=t)},[]),G=e.useMemo(()=>({initialFocus:()=>b.current??void 0,onPostActivate(){var t;j(!0),R(!1),(t=b.current)==null||t.focus()},clickOutsideDeactivates:p,escapeDeactivates:r,onPostUnpause(){j(!0)},onPause(){j(!1)},onDeactivate(){T(!1),E(!1),j(!1)}}),[p,r]),[I,O]=e.useState(s??!1),J=e.useMemo(()=>({isVisible:I,isPreparingFocus:o,isFocused:g,setInitialFocus:L,close:N}),[I,o,g,L,N]),[d,y]=e.useState("center");return e.useEffect(()=>{const t=k.current;if(t){const S=()=>{const D=t.offsetParent,M=D instanceof HTMLElement?D.getBoundingClientRect():null,V=t.getBoundingClientRect();if(!M){y("center");return}const C=16,_=window.innerWidth-C,q=M.left+M.width/2-V.width/2,z=q+V.width,B=q<C,W=z>_;let w="center";if(B&&W){const P=C-q;w=z-_>P?"right":"left"}else W?w="right":B&&(w="left");y(P=>P===w?P:w)};return S(),window.addEventListener("resize",S),()=>{window.removeEventListener("resize",S)}}},[]),e.useEffect(()=>{s&&(H(!0),O(!0))},[s]),e.useEffect(()=>{if(s){const t=setTimeout(()=>{E(!0)},100);return()=>{clearTimeout(t)}}E(!1)},[s]),e.useEffect(()=>{if(!u){T(!1),R(!1);return}R(!0);const t=window.requestAnimationFrame(()=>{T(!0)});return()=>{window.cancelAnimationFrame(t)}},[u]),e.useEffect(()=>{if(A&&!u){const t=setTimeout(()=>{O(!1),c==null||c(x.current??void 0)},370);return()=>{clearTimeout(t)}}},[A,u,c]),I?n.jsxRuntimeExports.jsx(F.default,{reference:k,as:i??F.defaultAtomElementType,role:"dialog","aria-hidden":!u,"aria-label":l??"Popover",...h,className:m.cx("kakadu-components-3920007758",d==="left"&&"kakadu-components-611400930",d==="right"&&"kakadu-components-944244368",u&&"kakadu-components-1399012551",a),children:n.jsxRuntimeExports.jsxs("div",{className:m.cx("kakadu-components-1118152266",u&&"kakadu-components-231244945"),children:[n.jsxRuntimeExports.jsx("div",{className:m.cx("kakadu-components-1951789226",d==="left"&&"kakadu-components-1495725644",d==="right"&&"kakadu-components-4235689197")}),n.jsxRuntimeExports.jsx(K.focusTrapReactExports.FocusTrap,{active:U,focusTrapOptions:G,children:n.jsxRuntimeExports.jsxs("div",{className:m.cx("kakadu-components-2488426662",f),children:[n.jsxRuntimeExports.jsx(Q,{value:J,children:v}),n.jsxRuntimeExports.jsx("div",{className:m.cx("kakadu-components-3252390100",d==="left"&&"kakadu-components-3754561431",d==="right"&&"kakadu-components-2265262600")})]})})]})}):null}function ee(i,s){const[l,p]=e.useState(!1),[r,v]=e.useState(!1),a=e.useRef(void 0),f=e.useRef(void 0),c=e.useCallback(async()=>(f.current=void 0,p(!0),v(!0),new Promise(o=>{a.current=o})),[]),h=e.useCallback(o=>{f.current=o,v(!1)},[]),x=e.useCallback(o=>{var g;const R=o??f.current;f.current=void 0,(g=a.current)==null||g.call(a,R),a.current=void 0,p(!1),v(!1)},[]),k=e.useMemo(()=>l?n.jsxRuntimeExports.jsx(i,{...s,isVisible:r,onClose:x}):null,[l,i,s,r,x]);return e.useMemo(()=>({isVisible:r,show:c,close:h,popover:k}),[r,c,h,k])}exports.PopoverContainer=Y;exports.default=Z;exports.usePopover=ee;exports.usePopoverContext=X;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const n=require("../jsx-runtime-BB_1_6y_.js"),p=require("@kuma-ui/core"),e=require("react"),K=require("../focus-trap-react-B7f3iC5h.js"),F=require("./atom.js"),$=e.createContext({isVisible:!1,isPreparingFocus:!1,isFocused:!1}),{Provider:Q}=$;function X(){return e.useContext($)}function Y({as:i,className:s,...l}){return n.jsxRuntimeExports.jsx(F.default,{as:i??F.defaultAtomElementType,...l,className:p.cx("kakadu-components-2845019685",s)})}function Z({as:i,isVisible:s,label:l,shouldCloseOnOutsideClick:v=!0,shouldCloseOnEscapePress:r=!0,children:x,className:a,innerClassName:f,onClose:c,...h}){const k=e.useRef(null),R=e.useRef(null),[o,g]=e.useState(!1),[d,j]=e.useState(!1),[A,H]=e.useState(!1),[u,E]=e.useState(!1),[U,T]=e.useState(!1),N=e.useCallback(t=>{k.current=t,E(!1)},[]),b=e.useRef(null),L=e.useCallback(t=>{t&&(b.current=t)},[]),G=e.useMemo(()=>({initialFocus:()=>b.current??void 0,onPostActivate(){var t;j(!0),g(!1),(t=b.current)==null||t.focus()},clickOutsideDeactivates:v,escapeDeactivates:r,onPostUnpause(){j(!0)},onPause(){j(!1)},onDeactivate(){T(!1),E(!1),j(!1)}}),[v,r]),[I,O]=e.useState(s??!1),J=e.useMemo(()=>({isVisible:I,isPreparingFocus:o,isFocused:d,setInitialFocus:L,close:N}),[I,o,d,L,N]),[m,y]=e.useState("center");return e.useEffect(()=>{const t=R.current;if(t){const S=()=>{const D=t.offsetParent,M=D instanceof HTMLElement?D.getBoundingClientRect():null,V=t.getBoundingClientRect();if(!M){y("center");return}const C=16,_=window.innerWidth-C,q=M.left+M.width/2-V.width/2,z=q+V.width,B=q<C,W=z>_;let w="center";if(B&&W){const P=C-q;w=z-_>P?"right":"left"}else W?w="right":B&&(w="left");y(P=>P===w?P:w)};return S(),window.addEventListener("resize",S),()=>{window.removeEventListener("resize",S)}}},[]),e.useEffect(()=>{s&&(H(!0),O(!0))},[s]),e.useEffect(()=>{if(s){const t=setTimeout(()=>{E(!0)},100);return()=>{clearTimeout(t)}}E(!1)},[s]),e.useEffect(()=>{if(!u){T(!1),g(!1);return}g(!0);const t=window.requestAnimationFrame(()=>{T(!0)});return()=>{window.cancelAnimationFrame(t)}},[u]),e.useEffect(()=>{if(A&&!u){const t=setTimeout(()=>{O(!1),c==null||c(k.current??void 0)},370);return()=>{clearTimeout(t)}}},[A,u,c]),I?n.jsxRuntimeExports.jsx(F.default,{reference:R,as:i??F.defaultAtomElementType,role:"dialog","aria-hidden":!u&&!d,"aria-label":l??"Popover",...h,className:p.cx("kakadu-components-3920007758",m==="left"&&"kakadu-components-611400930",m==="right"&&"kakadu-components-944244368",u&&"kakadu-components-1399012551",a),children:n.jsxRuntimeExports.jsxs("div",{className:p.cx("kakadu-components-1118152266",u&&"kakadu-components-231244945"),children:[n.jsxRuntimeExports.jsx("div",{className:p.cx("kakadu-components-1951789226",m==="left"&&"kakadu-components-1495725644",m==="right"&&"kakadu-components-4235689197")}),n.jsxRuntimeExports.jsx(K.focusTrapReactExports.FocusTrap,{active:U,focusTrapOptions:G,children:n.jsxRuntimeExports.jsxs("div",{className:p.cx("kakadu-components-2488426662",f),children:[n.jsxRuntimeExports.jsx(Q,{value:J,children:x}),n.jsxRuntimeExports.jsx("div",{className:p.cx("kakadu-components-3252390100",m==="left"&&"kakadu-components-3754561431",m==="right"&&"kakadu-components-2265262600")})]})})]})}):null}function ee(i,s){const[l,v]=e.useState(!1),[r,x]=e.useState(!1),a=e.useRef(void 0),f=e.useRef(void 0),c=e.useCallback(async()=>(f.current=void 0,v(!0),x(!0),new Promise(o=>{a.current=o})),[]),h=e.useCallback(o=>{f.current=o,x(!1)},[]),k=e.useCallback(o=>{var d;const g=o??f.current;f.current=void 0,(d=a.current)==null||d.call(a,g),a.current=void 0,v(!1),x(!1)},[]),R=e.useMemo(()=>l?n.jsxRuntimeExports.jsx(i,{...s,isVisible:r,onClose:k}):null,[l,i,s,r,k]);return e.useMemo(()=>({isVisible:r,show:c,close:h,popover:R}),[r,c,h,R])}exports.PopoverContainer=Y;exports.default=Z;exports.usePopover=ee;exports.usePopoverContext=X;
@@ -1,5 +1,5 @@
1
1
  import { j as s } from "../jsx-runtime-B4hRZ52C.mjs";
2
- import { cx as m } from "@kuma-ui/core";
2
+ import { cx as p } from "@kuma-ui/core";
3
3
  import { createContext as ee, useRef as P, useState as n, useCallback as R, useMemo as b, useEffect as F, useContext as te } from "react";
4
4
  import { f as se } from "../focus-trap-react-Dr3BYLw6.mjs";
5
5
  import K, { defaultAtomElementType as Q } from "./atom.mjs";
@@ -18,31 +18,31 @@ function fe({
18
18
  className: t,
19
19
  ...l
20
20
  }) {
21
- return /* @__PURE__ */ s.jsx(K, { as: u ?? Q, ...l, className: m("kakadu-components-2845019685", t) });
21
+ return /* @__PURE__ */ s.jsx(K, { as: u ?? Q, ...l, className: p("kakadu-components-2845019685", t) });
22
22
  }
23
23
  function de({
24
24
  as: u,
25
25
  isVisible: t,
26
26
  label: l,
27
- shouldCloseOnOutsideClick: p = !0,
27
+ shouldCloseOnOutsideClick: v = !0,
28
28
  shouldCloseOnEscapePress: r = !0,
29
- children: v,
29
+ children: k,
30
30
  className: a,
31
31
  innerClassName: f,
32
32
  onClose: c,
33
33
  ...j
34
34
  }) {
35
- const k = P(null), w = P(null), [o, g] = n(!1), [h, I] = n(!1), [y, Y] = n(!1), [i, T] = n(!1), [Z, E] = n(!1), z = R((e) => {
36
- k.current = e, T(!1);
35
+ const w = P(null), g = P(null), [o, h] = n(!1), [d, I] = n(!1), [y, Y] = n(!1), [i, T] = n(!1), [Z, E] = n(!1), z = R((e) => {
36
+ w.current = e, T(!1);
37
37
  }, []), N = P(null), B = R((e) => {
38
38
  e && (N.current = e);
39
39
  }, []), _ = b(() => ({
40
40
  initialFocus: () => N.current ?? void 0,
41
41
  onPostActivate() {
42
42
  var e;
43
- I(!0), g(!1), (e = N.current) == null || e.focus();
43
+ I(!0), h(!1), (e = N.current) == null || e.focus();
44
44
  },
45
- clickOutsideDeactivates: p,
45
+ clickOutsideDeactivates: v,
46
46
  escapeDeactivates: r,
47
47
  onPostUnpause() {
48
48
  I(!0);
@@ -53,15 +53,15 @@ function de({
53
53
  onDeactivate() {
54
54
  E(!1), T(!1), I(!1);
55
55
  }
56
- }), [p, r]), [L, C] = n(t ?? !1), $ = b(() => ({
56
+ }), [v, r]), [L, C] = n(t ?? !1), $ = b(() => ({
57
57
  isVisible: L,
58
58
  isPreparingFocus: o,
59
- isFocused: h,
59
+ isFocused: d,
60
60
  setInitialFocus: B,
61
61
  close: z
62
- }), [L, o, h, B, z]), [d, W] = n("center");
62
+ }), [L, o, d, B, z]), [m, W] = n("center");
63
63
  return F(() => {
64
- const e = w.current;
64
+ const e = g.current;
65
65
  if (e) {
66
66
  const D = () => {
67
67
  const q = e.offsetParent, M = q instanceof HTMLElement ? q.getBoundingClientRect() : null, H = e.getBoundingClientRect();
@@ -95,10 +95,10 @@ function de({
95
95
  T(!1);
96
96
  }, [t]), F(() => {
97
97
  if (!i) {
98
- E(!1), g(!1);
98
+ E(!1), h(!1);
99
99
  return;
100
100
  }
101
- g(!0);
101
+ h(!0);
102
102
  const e = window.requestAnimationFrame(() => {
103
103
  E(!0);
104
104
  });
@@ -108,36 +108,36 @@ function de({
108
108
  }, [i]), F(() => {
109
109
  if (y && !i) {
110
110
  const e = setTimeout(() => {
111
- C(!1), c == null || c(k.current ?? void 0);
111
+ C(!1), c == null || c(w.current ?? void 0);
112
112
  }, 370);
113
113
  return () => {
114
114
  clearTimeout(e);
115
115
  };
116
116
  }
117
- }, [y, i, c]), L ? /* @__PURE__ */ s.jsx(K, { reference: w, as: u ?? Q, role: "dialog", "aria-hidden": !i, "aria-label": l ?? "Popover", ...j, className: m("kakadu-components-3920007758", d === "left" && "kakadu-components-611400930", d === "right" && "kakadu-components-944244368", i && "kakadu-components-1399012551", a), children: /* @__PURE__ */ s.jsxs("div", { className: m("kakadu-components-1118152266", i && "kakadu-components-231244945"), children: [
118
- /* @__PURE__ */ s.jsx("div", { className: m("kakadu-components-1951789226", d === "left" && "kakadu-components-1495725644", d === "right" && "kakadu-components-4235689197") }),
119
- /* @__PURE__ */ s.jsx(se.FocusTrap, { active: Z, focusTrapOptions: _, children: /* @__PURE__ */ s.jsxs("div", { className: m("kakadu-components-2488426662", f), children: [
120
- /* @__PURE__ */ s.jsx(ne, { value: $, children: v }),
121
- /* @__PURE__ */ s.jsx("div", { className: m("kakadu-components-3252390100", d === "left" && "kakadu-components-3754561431", d === "right" && "kakadu-components-2265262600") })
117
+ }, [y, i, c]), L ? /* @__PURE__ */ s.jsx(K, { reference: g, as: u ?? Q, role: "dialog", "aria-hidden": !i && !d, "aria-label": l ?? "Popover", ...j, className: p("kakadu-components-3920007758", m === "left" && "kakadu-components-611400930", m === "right" && "kakadu-components-944244368", i && "kakadu-components-1399012551", a), children: /* @__PURE__ */ s.jsxs("div", { className: p("kakadu-components-1118152266", i && "kakadu-components-231244945"), children: [
118
+ /* @__PURE__ */ s.jsx("div", { className: p("kakadu-components-1951789226", m === "left" && "kakadu-components-1495725644", m === "right" && "kakadu-components-4235689197") }),
119
+ /* @__PURE__ */ s.jsx(se.FocusTrap, { active: Z, focusTrapOptions: _, children: /* @__PURE__ */ s.jsxs("div", { className: p("kakadu-components-2488426662", f), children: [
120
+ /* @__PURE__ */ s.jsx(ne, { value: $, children: k }),
121
+ /* @__PURE__ */ s.jsx("div", { className: p("kakadu-components-3252390100", m === "left" && "kakadu-components-3754561431", m === "right" && "kakadu-components-2265262600") })
122
122
  ] }) })
123
123
  ] }) }) : null;
124
124
  }
125
125
  function me(u, t) {
126
- const [l, p] = n(!1), [r, v] = n(!1), a = P(void 0), f = P(void 0), c = R(async () => (f.current = void 0, p(!0), v(!0), new Promise((o) => {
126
+ const [l, v] = n(!1), [r, k] = n(!1), a = P(void 0), f = P(void 0), c = R(async () => (f.current = void 0, v(!0), k(!0), new Promise((o) => {
127
127
  a.current = o;
128
128
  })), []), j = R((o) => {
129
- f.current = o, v(!1);
130
- }, []), k = R((o) => {
131
- var h;
132
- const g = o ?? f.current;
133
- f.current = void 0, (h = a.current) == null || h.call(a, g), a.current = void 0, p(!1), v(!1);
134
- }, []), w = b(() => l ? /* @__PURE__ */ s.jsx(u, { ...t, isVisible: r, onClose: k }) : null, [l, u, t, r, k]);
129
+ f.current = o, k(!1);
130
+ }, []), w = R((o) => {
131
+ var d;
132
+ const h = o ?? f.current;
133
+ f.current = void 0, (d = a.current) == null || d.call(a, h), a.current = void 0, v(!1), k(!1);
134
+ }, []), g = b(() => l ? /* @__PURE__ */ s.jsx(u, { ...t, isVisible: r, onClose: w }) : null, [l, u, t, r, w]);
135
135
  return b(() => ({
136
136
  isVisible: r,
137
137
  show: c,
138
138
  close: j,
139
- popover: w
140
- }), [r, c, j, w]);
139
+ popover: g
140
+ }), [r, c, j, g]);
141
141
  }
142
142
  export {
143
143
  fe as PopoverContainer,