@altinn/altinn-components 0.55.0 → 0.55.2

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
- ._container_1fveu_1{position:relative;display:inline-flex;width:100%}._icon_1fveu_7{position:absolute;top:0;bottom:0;left:0;width:2.5em;height:100%;color:var(--ds-color-text-subtle);display:flex;justify-content:center;align-items:center;pointer-events:none}._icon_1fveu_7>svg{font-size:1.25em;width:1.25em;height:1.25em}._input_1fveu_27{padding-left:2.25em;padding-right:2.25em}._input_1fveu_27[type=search]::-webkit-search-decoration,._input_1fveu_27[type=search]::-webkit-search-cancel-button{appearance:none}@media(max-width:1023px){._field_1fveu_39[data-size=xs] input[type=search]{font-size:1rem;padding-left:2em;padding-right:2em}}._clear_1fveu_46{position:absolute;top:0;right:0;bottom:0;width:2.5em;height:100%;display:flex;justify-content:center;align-items:center}._clearButton_1fveu_58[data-size=xs]{--dsc-button-size: 2.5em;--dsc-button-padding: 0;font-size:.75em;border:none}._clearButton_1fveu_58:focus-visible{outline-offset:0;outline-width:2px}._input_1fveu_27[data-collapsible=true]{transition:width .5s ease-in-out}._input_1fveu_27[data-collapsible=true]:placeholder-shown{background-color:transparent;width:8rem}._input_1fveu_27[data-collapsible=true]:focus,._input_1fveu_27[data-collapsible=true]:not(:placeholder-shown){width:auto;background-color:var(--ds-color-background-default)}
1
+ ._container_nkg1g_1{position:relative;display:inline-flex;width:100%}._icon_nkg1g_7{position:absolute;top:0;bottom:0;left:0;width:2.5em;height:100%;color:var(--ds-color-text-subtle);display:flex;justify-content:center;align-items:center;pointer-events:none}._icon_nkg1g_7>*{pointer-events:none}._icon_nkg1g_7>svg{font-size:1.25em;width:1.25em;height:1.25em}._input_nkg1g_31{padding-left:2.25em;padding-right:2.25em}._input_nkg1g_31[type=search]::-webkit-search-decoration,._input_nkg1g_31[type=search]::-webkit-search-cancel-button{appearance:none}@media(max-width:1023px){._field_nkg1g_43[data-size=xs] input[type=search]{font-size:1rem;padding-left:2em;padding-right:2em}}._clear_nkg1g_50{position:absolute;top:0;right:0;bottom:0;width:2.5em;height:100%;display:flex;justify-content:center;align-items:center}._clearButton_nkg1g_62[data-size=xs]{--dsc-button-size: 2.5em;--dsc-button-padding: 0;font-size:.75em;border:none}._clearButton_nkg1g_62:focus-visible{outline-offset:0;outline-width:2px}._input_nkg1g_31[data-collapsible=true]{transition:width .5s ease-in-out}._input_nkg1g_31[data-collapsible=true]:placeholder-shown{background-color:transparent;width:8rem}._input_nkg1g_31[data-collapsible=true]:focus,._input_nkg1g_31[data-collapsible=true]:not(:placeholder-shown){width:auto;background-color:var(--ds-color-background-default)}
@@ -1,56 +1,56 @@
1
- import { jsx as e, jsxs as f } from "react/jsx-runtime";
2
- import { c as p } from "../../index-p1eeF8LQ.js";
3
- import { Icon as u } from "../Icon/Icon.js";
1
+ import { jsx as t, jsxs as p } from "react/jsx-runtime";
2
+ import { c as _ } from "../../index-p1eeF8LQ.js";
3
+ import { Icon as f } from "../Icon/Icon.js";
4
4
  import "react";
5
- import { Button as _ } from "../Button/Button.js";
5
+ import { Button as g } from "../Button/Button.js";
6
6
  import "../RootProvider/RootProvider.js";
7
- import { Input as d } from "./Input.js";
8
- import { FieldBase as v } from "./FieldBase.js";
7
+ import { Input as u } from "./Input.js";
8
+ import { FieldBase as d } from "./FieldBase.js";
9
9
  import "../Snackbar/useSnackbar.js";
10
- import { S as h } from "../../MagnifyingGlass-bwVhw07z.js";
11
- import { S as B } from "../../XMark-tKk6aExO.js";
12
- import '../../assets/SearchField.css';const N = "_container_1fveu_1", g = "_icon_1fveu_7", x = "_input_1fveu_27", S = "_field_1fveu_39", y = "_clear_1fveu_46", C = "_clearButton_1fveu_58", t = {
13
- container: N,
14
- icon: g,
10
+ import { S as k } from "../../MagnifyingGlass-bwVhw07z.js";
11
+ import { S as h } from "../../XMark-tKk6aExO.js";
12
+ import '../../assets/SearchField.css';const B = "_container_nkg1g_1", N = "_icon_nkg1g_7", x = "_input_nkg1g_31", S = "_field_nkg1g_43", v = "_clear_nkg1g_50", y = "_clearButton_nkg1g_62", n = {
13
+ container: B,
14
+ icon: N,
15
15
  input: x,
16
16
  field: S,
17
- clear: y,
18
- clearButton: C
17
+ clear: v,
18
+ clearButton: y
19
19
  }, w = ({
20
- className: a,
21
- collapsible: i,
22
- size: n,
20
+ className: r,
21
+ collapsible: a,
22
+ size: i,
23
23
  color: c = "neutral",
24
24
  label: s,
25
25
  value: o,
26
- onClear: r,
26
+ onClear: e,
27
27
  clearButtonAltText: l = "Clear search",
28
28
  ...m
29
- }) => /* @__PURE__ */ e(v, { size: n, color: c, label: s, className: p(t.field, a), children: /* @__PURE__ */ f("div", { className: t.container, children: [
30
- /* @__PURE__ */ e(
31
- d,
29
+ }) => /* @__PURE__ */ t(d, { size: i, color: c, label: s, className: _(n.field, r), children: /* @__PURE__ */ p("div", { className: n.container, children: [
30
+ /* @__PURE__ */ t(
31
+ u,
32
32
  {
33
33
  ...m,
34
34
  type: "search",
35
35
  value: o,
36
- className: t.input,
37
- "data-collapsible": i,
36
+ className: n.input,
37
+ "data-collapsible": a,
38
38
  autoCapitalize: "off",
39
39
  autoComplete: "off"
40
40
  }
41
41
  ),
42
- /* @__PURE__ */ e(u, { svgElement: h, className: t.icon }),
43
- r && !!o && /* @__PURE__ */ e("span", { className: t.clear, children: /* @__PURE__ */ e(
44
- _,
42
+ /* @__PURE__ */ t(f, { svgElement: k, className: n.icon }),
43
+ e && !!o && /* @__PURE__ */ t("span", { className: n.clear, children: /* @__PURE__ */ t(
44
+ g,
45
45
  {
46
46
  size: "xs",
47
47
  rounded: !0,
48
48
  icon: !0,
49
49
  variant: "tinted",
50
- className: t.clearButton,
51
- onClick: r,
50
+ className: n.clearButton,
51
+ onClick: e,
52
52
  "aria-label": l,
53
- children: /* @__PURE__ */ e(B, {})
53
+ children: /* @__PURE__ */ t(h, {})
54
54
  }
55
55
  ) })
56
56
  ] }) });
@@ -1,65 +1,61 @@
1
1
  "use client";
2
- import { jsxs as s, jsx as o } from "react/jsx-runtime";
3
- import { useState as d, useCallback as C, useEffect as G, useMemo as L } from "react";
4
- import { Menu as B } from "../Menu/Menu.js";
2
+ import { jsxs as p, jsx as e } from "react/jsx-runtime";
3
+ import { useState as d, useCallback as G, useEffect as L, useMemo as C } from "react";
4
+ import { Menu as S } from "../Menu/Menu.js";
5
5
  import "../../index-p1eeF8LQ.js";
6
6
  import "../Button/Button.js";
7
7
  import "../RootProvider/RootProvider.js";
8
- import { LocaleSwitcher as S } from "./LocaleSwitcher.js";
8
+ import { LocaleSwitcher as h } from "./LocaleSwitcher.js";
9
9
  import "../Snackbar/useSnackbar.js";
10
- import { MenuListItem as h } from "../Menu/MenuListItem.js";
11
- import { BackButton as v } from "./BackButton.js";
12
- import { GlobalMenuBase as u, GlobalMenuHeader as x, GlobalMenuFooter as j } from "./GlobalMenuBase.js";
13
- import { LogoutButton as y } from "./LogoutButton.js";
14
- import { S as A } from "../../Globe-BcPkcH4E.js";
15
- const Q = ({
16
- menu: e,
17
- backLabel: k = "Back",
10
+ import { MenuListItem as v } from "../Menu/MenuListItem.js";
11
+ import { GlobalMenuBase as u, GlobalMenuHeader as x, GlobalMenuFooter as T } from "./GlobalMenuBase.js";
12
+ import { LogoutButton as j } from "./LogoutButton.js";
13
+ import { S as y } from "../../Globe-BcPkcH4E.js";
14
+ const N = ({
15
+ menu: o,
16
+ backLabel: g = "Back",
18
17
  onClose: l,
19
- logoutButton: n,
20
- ariaLabel: m = "Menu",
18
+ logoutButton: a,
19
+ ariaLabel: n = "Menu",
21
20
  localeSwitcher: r,
22
- isOpen: c = !1
21
+ isOpen: m = !1
23
22
  }) => {
24
- const [g, f] = d(!1), a = C(() => {
25
- f((t) => !t);
23
+ const [k, c] = d(!1), s = G(() => {
24
+ c((t) => !t);
26
25
  }, []);
27
- G(() => {
28
- c || f(!1);
29
- }, [c]);
30
- const b = L(() => {
31
- const t = (e?.items ?? []).map((i) => ({
26
+ L(() => {
27
+ m || c(!1);
28
+ }, [m]);
29
+ const M = C(() => {
30
+ const t = (o?.items ?? []).map((i) => ({
32
31
  ...i,
33
32
  onClick: () => {
34
33
  i.onClick?.(), l?.();
35
34
  },
36
- items: Array.isArray(i.items) ? i.items.map((p) => ({
37
- ...p,
35
+ items: Array.isArray(i.items) ? i.items.map((f) => ({
36
+ ...f,
38
37
  onClick: () => {
39
- p.onClick?.(), l?.();
38
+ f.onClick?.(), l?.();
40
39
  }
41
40
  })) : void 0
42
41
  }));
43
42
  if (!r) return t;
44
- const M = {
43
+ const b = {
45
44
  title: "Språk/language",
46
- icon: A,
45
+ icon: y,
47
46
  size: "sm",
48
- onClick: a
47
+ onClick: s
49
48
  };
50
- return [...t, M];
51
- }, [e, l, r, a]);
52
- return g ? /* @__PURE__ */ s(u, { "aria-label": m, children: [
53
- /* @__PURE__ */ s(x, { children: [
54
- /* @__PURE__ */ o(v, { onClick: a, label: k }),
55
- r && /* @__PURE__ */ o(S, { ...r })
56
- ] }),
57
- /* @__PURE__ */ o(h, { as: "div", role: "separator" })
58
- ] }) : /* @__PURE__ */ s(u, { "aria-label": m, children: [
59
- e && /* @__PURE__ */ o(B, { ...e, items: b }),
60
- n && /* @__PURE__ */ o(j, { children: /* @__PURE__ */ o(y, { ...n }) })
49
+ return [...t, b];
50
+ }, [o, l, r, s]);
51
+ return k ? /* @__PURE__ */ p(u, { "aria-label": n, children: [
52
+ /* @__PURE__ */ e(x, { children: r && /* @__PURE__ */ e(h, { ...r, backLabel: g, onToggle: s }) }),
53
+ /* @__PURE__ */ e(v, { as: "div", role: "separator" })
54
+ ] }) : /* @__PURE__ */ p(u, { "aria-label": n, children: [
55
+ o && /* @__PURE__ */ e(S, { ...o, items: M }),
56
+ a && /* @__PURE__ */ e(T, { children: /* @__PURE__ */ e(j, { ...a }) })
61
57
  ] });
62
58
  };
63
59
  export {
64
- Q as GlobalMenu
60
+ N as GlobalMenu
65
61
  };
@@ -1,16 +1,23 @@
1
1
  "use client";
2
- import { jsx as o } from "react/jsx-runtime";
3
- import { useRef as f, useMemo as i } from "react";
4
- import { useEnterKey as g } from "../../hooks/useEnterKey.js";
2
+ import { jsx as c } from "react/jsx-runtime";
3
+ import { useRef as g, useMemo as l } from "react";
4
+ import { useEnterKey as v } from "../../hooks/useEnterKey.js";
5
5
  import { MenuItems as h } from "../Menu/MenuItems.js";
6
6
  import "../../index-p1eeF8LQ.js";
7
7
  import "../Button/Button.js";
8
- import { useRootContext as k } from "../RootProvider/RootProvider.js";
8
+ import { useRootContext as b } from "../RootProvider/RootProvider.js";
9
9
  import "../Snackbar/useSnackbar.js";
10
- import { S as v } from "../../Checkmark-Byz_C9x4.js";
11
- const M = ({ title: s = "Select language", options: r, onSelect: a }) => {
12
- const l = f(null), { currentId: u, closeAll: c } = k(), d = u === "locale", n = i(() => r.find((e) => e.checked)?.value ?? r[0]?.value, [r]), m = i(() => r.map((t) => {
13
- const e = t.value === n;
10
+ import { S } from "../../Checkmark-Byz_C9x4.js";
11
+ import { S as x } from "../../ArrowUndo-hge1gMu8.js";
12
+ const q = ({
13
+ title: s = "Select language",
14
+ options: r,
15
+ onSelect: a,
16
+ onToggle: u,
17
+ backLabel: d
18
+ }) => {
19
+ const n = g(null), { currentId: m, closeAll: o } = b(), p = m === "locale", i = l(() => r.find((e) => e.checked)?.value ?? r[0]?.value, [r]), f = l(() => r.map((t) => {
20
+ const e = t.value === i;
14
21
  return {
15
22
  ...t,
16
23
  id: String(t.value),
@@ -19,22 +26,33 @@ const M = ({ title: s = "Select language", options: r, onSelect: a }) => {
19
26
  role: "radio",
20
27
  name: "locale",
21
28
  checked: e,
22
- icon: e ? v : /* @__PURE__ */ o("span", { "aria-hidden": "true" }),
29
+ icon: e ? S : /* @__PURE__ */ c("span", { "aria-hidden": "true" }),
23
30
  onClick: () => {
24
- a?.(String(t.value)), c();
31
+ a?.(String(t.value)), o();
25
32
  }
26
33
  };
27
- }), [r, a, c, n]), p = {
34
+ }), [r, a, o, i]), k = {
28
35
  locales: { title: s || "Språk/language" }
29
36
  };
30
- return g((t) => {
31
- if (d) {
37
+ return v((t) => {
38
+ if (p) {
32
39
  t.preventDefault();
33
- const e = l.current?.querySelector('[data-active="true"]');
34
- e && (e.tagName === "A" && e.hasAttribute("href") ? e.click() : e.dispatchEvent(new MouseEvent("click", { bubbles: !0 }))), c();
40
+ const e = n.current?.querySelector('[data-active="true"]');
41
+ e && (e.tagName === "A" && e.hasAttribute("href") ? e.click() : e.dispatchEvent(new MouseEvent("click", { bubbles: !0 }))), o();
35
42
  }
36
- }), /* @__PURE__ */ o("div", { ref: l, "data-testid": "locale-switcher", role: "radiogroup", children: /* @__PURE__ */ o(h, { groups: p, items: m, keyboardEvents: !1 }) });
43
+ }), /* @__PURE__ */ c("div", { ref: n, "data-testid": "locale-switcher", role: "radiogroup", children: /* @__PURE__ */ c(
44
+ h,
45
+ {
46
+ variant: "default",
47
+ groups: k,
48
+ items: [
49
+ { onClick: u, label: d, as: "button", icon: x, id: "back" },
50
+ ...f
51
+ ],
52
+ keyboardEvents: !1
53
+ }
54
+ ) });
37
55
  };
38
56
  export {
39
- M as LocaleSwitcher
57
+ q as LocaleSwitcher
40
58
  };
@@ -112,7 +112,7 @@ const Ae = (W) => {
112
112
  const X = {
113
113
  position: "relative",
114
114
  maxHeight: h?.maxHeight || Q,
115
- margin: "0 -0.5rem",
115
+ margin: "-0.5rem",
116
116
  padding: "0.5rem",
117
117
  minWidth: h?.minWidth ?? "20rem",
118
118
  overflowY: "auto",
@@ -6,16 +6,7 @@ declare const meta: {
6
6
  parameters: {
7
7
  layout: string;
8
8
  };
9
- args: {
10
- address: string;
11
- address2: string;
12
- menu: {
13
- items: {
14
- id: string;
15
- title: string;
16
- }[];
17
- };
18
- };
9
+ args: import('./Footer').FooterProps;
19
10
  };
20
11
  export default meta;
21
12
  type Story = StoryObj<typeof meta>;
@@ -3,5 +3,7 @@ export interface LocaleSwitcherProps {
3
3
  title?: string;
4
4
  options: MenuOptionProps[];
5
5
  onSelect?: (value: string) => void;
6
+ backLabel?: string;
7
+ onToggle?: () => void;
6
8
  }
7
- export declare const LocaleSwitcher: ({ title, options, onSelect }: LocaleSwitcherProps) => import("react/jsx-runtime").JSX.Element;
9
+ export declare const LocaleSwitcher: ({ title, options, onSelect, onToggle, backLabel, }: LocaleSwitcherProps) => import("react/jsx-runtime").JSX.Element;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@altinn/altinn-components",
3
- "version": "0.55.0",
3
+ "version": "0.55.2",
4
4
  "main": "dist/index.js",
5
5
  "files": [
6
6
  "dist/",
@@ -1,12 +0,0 @@
1
- import { jsx as m } from "react/jsx-runtime";
2
- import "react";
3
- import "../../index-p1eeF8LQ.js";
4
- import "../Button/Button.js";
5
- import "../RootProvider/RootProvider.js";
6
- import "../Snackbar/useSnackbar.js";
7
- import { MenuItem as i } from "../Menu/MenuItem.js";
8
- import { S as p } from "../../ArrowUndo-hge1gMu8.js";
9
- const k = ({ label: o, onClick: r, as: t }) => /* @__PURE__ */ m(i, { size: "sm", id: "back", icon: p, title: o, onClick: r, as: t });
10
- export {
11
- k as BackButton
12
- };
@@ -1,7 +0,0 @@
1
- import { ElementType } from 'react';
2
- export interface BackButtonProps {
3
- label: string;
4
- onClick?: () => void;
5
- as?: ElementType;
6
- }
7
- export declare const BackButton: ({ label, onClick, as }: BackButtonProps) => import("react/jsx-runtime").JSX.Element;