@midas-ds/components 17.3.1 → 17.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,28 @@
1
+ ## 17.5.0 (2026-02-25)
2
+
3
+ ### 🚀 Features
4
+
5
+ - **components, info-banner:** change HTML element to aside ([e2df5f3877](https://github.com/migrationsverket/midas/commit/e2df5f3877))
6
+ - **components, info-banner:** add styling for unordered lists ([f048a5e9cb](https://github.com/migrationsverket/midas/commit/f048a5e9cb))
7
+
8
+ ### 🏭 Refactoring
9
+
10
+ - **components, info-banner:** use react-stately controlled state hook ([d813124151](https://github.com/migrationsverket/midas/commit/d813124151))
11
+
12
+ ### 🧪 Tests updated
13
+
14
+ - **components, info-banner:** add tests ([ddee571e0c](https://github.com/migrationsverket/midas/commit/ddee571e0c))
15
+
16
+ ## 17.4.0 (2026-02-25)
17
+
18
+ ### 🚀 Features
19
+
20
+ - **components,tabs:** add size prop with large/medium variants ([9a6c169311](https://github.com/migrationsverket/midas/commit/9a6c169311))
21
+
22
+ ### 🧪 Tests updated
23
+
24
+ - **components, menu:** remove flaky keyboard interactions ([e7fc6cfb6d](https://github.com/migrationsverket/midas/commit/e7fc6cfb6d))
25
+
1
26
  ## 17.3.1 (2026-02-25)
2
27
 
3
28
  ### 🩹 Fixes
@@ -1 +1 @@
1
- ._infoBanner_1oj11_1{font-family:var(--midas-typography-font-family);color:var(--midas-text-primary);display:flex;font-size:1rem;flex-direction:row;gap:1rem;padding:1rem;line-height:1.3;border-left:3px solid var(--border);background-color:var(--bg)}._infoBanner_1oj11_1._success_1oj11_11{--border: var(--midas-support-border-success);--bg: var(--midas-support-background-success)}._infoBanner_1oj11_1._info_1oj11_1{--border: var(--midas-support-border-info);--bg: var(--midas-support-background-info)}._infoBanner_1oj11_1._important_1oj11_21{--border: var(--midas-support-border-important);--bg: var(--midas-support-background-important)}._infoBanner_1oj11_1._warning_1oj11_26{--border: var(--midas-support-border-warning);--bg: var(--midas-support-background-warning)}@media(forced-colors:active){._infoBanner_1oj11_1{border:1px solid;border-left:3px solid var(--border)}}._content_1oj11_40{display:flex;flex-direction:column;flex:1 0 0%}._heading_1oj11_46{font-weight:500;margin-bottom:.25rem}._text_1oj11_51{line-height:var(--midas-typography-line-height-40);white-space:pre-line;margin:0}._icon_1oj11_57{color:var(--midas-icon-primary);min-width:20px}@media(forced-colors:active){._icon_1oj11_57{color:currentColor}}._dismissable_1oj11_66{margin-top:-1rem;margin-right:-1rem;justify-self:flex-end}
1
+ ._infoBanner_8niki_1{font-family:var(--midas-typography-font-family);color:var(--midas-text-primary);display:flex;font-size:1rem;flex-direction:row;gap:1rem;padding:1rem;line-height:1.3;border-left:3px solid var(--border);background-color:var(--bg)}._infoBanner_8niki_1._success_8niki_11{--border: var(--midas-support-border-success);--bg: var(--midas-support-background-success)}._infoBanner_8niki_1._info_8niki_1{--border: var(--midas-support-border-info);--bg: var(--midas-support-background-info)}._infoBanner_8niki_1._important_8niki_21{--border: var(--midas-support-border-important);--bg: var(--midas-support-background-important)}._infoBanner_8niki_1._warning_8niki_26{--border: var(--midas-support-border-warning);--bg: var(--midas-support-background-warning)}@media(forced-colors:active){._infoBanner_8niki_1{border:1px solid;border-left:3px solid var(--border)}}._content_8niki_40{display:flex;flex-direction:column;flex:1 0 0%}._heading_8niki_46{font-weight:500;margin-bottom:.25rem}._text_8niki_51{line-height:var(--midas-typography-line-height-40);white-space:pre-line;margin:0}._text_8niki_51 ul{margin:var(--midas-space-xsmall) 0 0 var(--midas-space-medium);padding:0}._text_8niki_51 ul li{margin-bottom:var(--midas-space-60)}._icon_8niki_66{color:var(--midas-icon-primary);min-width:20px}@media(forced-colors:active){._icon_8niki_66{color:currentColor}}._dismissable_8niki_75{margin-top:-1rem;margin-right:-1rem;justify-self:flex-end}
@@ -1 +1 @@
1
- ._tabs_1nli1_1{display:flex;font-weight:var(--midas-typography-weight-regular);line-height:var(--midas-typography-line-height-30);font-family:var(--midas-typography-font-family)}._tabs_1nli1_1[data-orientation=horizontal]{flex-direction:column}._tabList_1nli1_12{display:flex}._tabList_1nli1_12[data-orientation=vertical]{flex-direction:column}._tab_1nli1_1{padding:var(--midas-space-small) var(--midas-space-medium);cursor:default;outline:none;position:relative;transition-duration:var(--midas-transition-duration-normal);transition-property:color,border-color;forced-color-adjust:none;color:var(--midas-text-primary)}._tab_1nli1_1[data-disabled]{border-color:var(--midas-border-color-disabled);color:var(--midas-text-disabled)}._tab_1nli1_1[data-selected]{color:var(--midas-text-primary);font-weight:var(--midas-typography-weight-medium);forced-color-adjust:none}._tab_1nli1_1[data-hovered]{cursor:pointer}._tab_1nli1_1[data-focus-visible]{outline:none;box-shadow:var(--midas-state-focus)}@media(forced-colors:active){._tab_1nli1_1[data-focus-visible]{outline:var(--midas-state-focus-contrast-mode-outline) solid;outline-offset:var(--midas-state-focus-contrast-mode-offset)}}._tab_1nli1_1._contained_1nli1_55{background-color:var(--midas-layer-accent-01-base)}._tab_1nli1_1._contained_1nli1_55[data-selected]{background-color:var(--midas-layer-01-base)}._tab_1nli1_1._contained_1nli1_55[data-hovered]{background-color:var(--midas-layer-accent-01-hover)}._tab_1nli1_1._contained_1nli1_55[data-hovered][data-selected]{background-color:var(--midas-layer-01-hover)}._tab_1nli1_1._contained_1nli1_55:not([data-selected])+._tab_1nli1_1._contained_1nli1_55._contained_1nli1_55:not([data-selected]){border-color:var(--midas-border-color-subtle)}[data-orientation=horizontal] ._tab_1nli1_1._contained_1nli1_55{border-inline-start:1px solid transparent}[data-orientation=vertical] ._tab_1nli1_1._contained_1nli1_55{border-top:1px solid transparent}[data-orientation=horizontal] ._tab_1nli1_1:not(._contained_1nli1_55){border-bottom:1px solid var(--midas-border-color-subtle);margin-bottom:-1px}[data-orientation=vertical] ._tab_1nli1_1:not(._contained_1nli1_55){border-inline-end:1px solid var(--midas-border-color-subtle);margin-right:-1px}._selectionIndicator_1nli1_94{position:absolute;transition-duration:var(--midas-transition-duration-normal);transition-property:translate,width,height}[data-orientation=horizontal] ._tab_1nli1_1 ._selectionIndicator_1nli1_94{border-bottom:3px solid var(--midas-border-color-tertiary);left:0;bottom:0;width:100%}[data-orientation=vertical] ._tab_1nli1_1 ._selectionIndicator_1nli1_94{border-inline-end:3px solid var(--midas-border-color-tertiary);height:100%;right:0;top:0}._tab_1nli1_1 ._selectionIndicator_1nli1_94._contained_1nli1_55{border-width:2px;z-index:var(--midas-z-index-base)}[data-orientation=horizontal] ._tab_1nli1_1 ._selectionIndicator_1nli1_94._contained_1nli1_55{bottom:unset;top:0}[data-orientation=vertical] ._tab_1nli1_1 ._selectionIndicator_1nli1_94._contained_1nli1_55{left:0;right:unset}._tabPanel_1nli1_129{padding:var(--midas-space-medium);color:var(--midas-text-primary)}._tabPanel_1nli1_129[data-focus-visible]{outline:none;box-shadow:var(--midas-state-focus)}._tabPanel_1nli1_129._contained_1nli1_55{background-color:var(--midas-layer-01-base)}
1
+ ._tabs_1jqj8_1{display:flex;font-weight:var(--midas-typography-weight-regular);line-height:var(--midas-typography-line-height-30);font-family:var(--midas-typography-font-family)}._tabs_1jqj8_1[data-orientation=horizontal]{flex-direction:column}._tabList_1jqj8_12{display:flex}._tabList_1jqj8_12[data-orientation=vertical]{flex-direction:column}._tab_1jqj8_1{padding:var(--midas-space-70) var(--midas-space-medium);cursor:default;outline:none;position:relative;transition-duration:var(--midas-transition-duration-normal);transition-property:color,border-color;forced-color-adjust:none;color:var(--midas-text-primary)}._tab_1jqj8_1[data-disabled]{border-color:var(--midas-border-color-disabled);color:var(--midas-text-disabled)}._tab_1jqj8_1[data-selected]{color:var(--midas-text-primary);font-weight:var(--midas-typography-weight-medium);forced-color-adjust:none}._tab_1jqj8_1[data-hovered]{cursor:pointer}._tab_1jqj8_1[data-focus-visible]{outline:none;box-shadow:var(--midas-state-focus)}@media(forced-colors:active){._tab_1jqj8_1[data-focus-visible]{outline:var(--midas-state-focus-contrast-mode-outline) solid;outline-offset:var(--midas-state-focus-contrast-mode-offset)}}._tab_1jqj8_1._contained_1jqj8_55{background-color:var(--midas-layer-accent-01-base)}._tab_1jqj8_1._contained_1jqj8_55[data-selected]{background-color:var(--midas-layer-01-base)}._tab_1jqj8_1._contained_1jqj8_55[data-hovered]{background-color:var(--midas-layer-accent-01-hover)}._tab_1jqj8_1._contained_1jqj8_55[data-hovered][data-selected]{background-color:var(--midas-layer-01-hover)}._tab_1jqj8_1._contained_1jqj8_55:not([data-selected])+._tab_1jqj8_1._contained_1jqj8_55._contained_1jqj8_55:not([data-selected]){border-color:var(--midas-border-color-subtle)}._tab_1jqj8_1._medium_1jqj8_75{padding:var(--midas-space-50) var(--midas-space-small)}[data-orientation=horizontal] ._tab_1jqj8_1._contained_1jqj8_55{border-inline-start:1px solid transparent}[data-orientation=vertical] ._tab_1jqj8_1._contained_1jqj8_55{border-top:1px solid transparent}[data-orientation=horizontal] ._tab_1jqj8_1:not(._contained_1jqj8_55){border-bottom:1px solid var(--midas-border-color-subtle);margin-bottom:-1px}[data-orientation=vertical] ._tab_1jqj8_1:not(._contained_1jqj8_55){border-inline-end:1px solid var(--midas-border-color-subtle);margin-right:-1px}._selectionIndicator_1jqj8_98{position:absolute;transition-duration:var(--midas-transition-duration-normal);transition-property:translate,width,height}[data-orientation=horizontal] ._tab_1jqj8_1 ._selectionIndicator_1jqj8_98{border-bottom:3px solid var(--midas-border-color-tertiary);left:0;bottom:0;width:100%}[data-orientation=vertical] ._tab_1jqj8_1 ._selectionIndicator_1jqj8_98{border-inline-end:3px solid var(--midas-border-color-tertiary);height:100%;right:0;top:0}._tab_1jqj8_1 ._selectionIndicator_1jqj8_98._contained_1jqj8_55{border-width:2px;z-index:var(--midas-z-index-base)}[data-orientation=horizontal] ._tab_1jqj8_1 ._selectionIndicator_1jqj8_98._contained_1jqj8_55{bottom:unset;top:0}[data-orientation=vertical] ._tab_1jqj8_1 ._selectionIndicator_1jqj8_98._contained_1jqj8_55{left:0;right:unset}._tabPanel_1jqj8_133{padding:var(--midas-space-medium);color:var(--midas-text-primary)}._tabPanel_1jqj8_133[data-focus-visible]{outline:none;box-shadow:var(--midas-state-focus)}._tabPanel_1jqj8_133._contained_1jqj8_55{background-color:var(--midas-layer-01-base)}._tabPanel_1jqj8_133._medium_1jqj8_75{padding:var(--midas-space-small)}
@@ -0,0 +1,76 @@
1
+ import { jsxs as i, jsx as s } from "react/jsx-runtime";
2
+ import { c as g } from "./clsx-AexbMWKp.js";
3
+ import { B as h } from "./Button-BhIvfqOc.js";
4
+ import { F as k } from "./FeedbackStatusIcon-X9Bjgeta.js";
5
+ import { useControlledState as x } from "@react-stately/utils";
6
+ import { X as B } from "./x-B9bYxG31.js";
7
+ import { u as N } from "./useLocalizedStringFormatter-BHvsRxDk.js";
8
+ import '../assets/InfoBanner.css';const b = "_infoBanner_8niki_1", v = "_success_8niki_11", I = "_info_8niki_1", S = "_important_8niki_21", w = "_warning_8niki_26", C = "_content_8niki_40", F = "_heading_8niki_46", O = "_text_8niki_51", j = "_icon_8niki_66", z = "_dismissable_8niki_75", n = {
9
+ infoBanner: b,
10
+ success: v,
11
+ info: I,
12
+ important: S,
13
+ warning: w,
14
+ content: C,
15
+ heading: F,
16
+ text: O,
17
+ icon: j,
18
+ dismissable: z
19
+ }, L = { close: "Close" }, P = { close: "Stäng" }, X = {
20
+ en: L,
21
+ sv: P
22
+ }, J = ({
23
+ title: e,
24
+ message: a,
25
+ type: o,
26
+ children: c,
27
+ isDismissable: r = !1,
28
+ defaultOpen: l = !0,
29
+ isOpen: m,
30
+ onOpenChange: _,
31
+ ...t
32
+ }) => {
33
+ const [d, f] = x(
34
+ m,
35
+ l,
36
+ _
37
+ ), u = N(X), p = () => {
38
+ f(!1);
39
+ };
40
+ return d ? /* @__PURE__ */ i(
41
+ "aside",
42
+ {
43
+ ...t,
44
+ className: g(n.infoBanner, n[o], t.className),
45
+ children: [
46
+ /* @__PURE__ */ s(
47
+ k,
48
+ {
49
+ "aria-hidden": !0,
50
+ className: n.icon,
51
+ status: o
52
+ }
53
+ ),
54
+ /* @__PURE__ */ i("div", { className: n.content, children: [
55
+ e && /* @__PURE__ */ s("strong", { className: n.heading, children: e }),
56
+ /* @__PURE__ */ i("div", { className: n.text, children: [
57
+ a,
58
+ c
59
+ ] })
60
+ ] }),
61
+ r && /* @__PURE__ */ s("div", { className: n.dismissable, children: /* @__PURE__ */ s(
62
+ h,
63
+ {
64
+ variant: "icon",
65
+ "aria-label": u.format("close"),
66
+ onPress: p,
67
+ children: /* @__PURE__ */ s(B, { size: 20 })
68
+ }
69
+ ) })
70
+ ]
71
+ }
72
+ ) : null;
73
+ };
74
+ export {
75
+ J as I
76
+ };
@@ -0,0 +1,87 @@
1
+ 'use client';
2
+ import { jsx as s, jsxs as b, Fragment as d } from "react/jsx-runtime";
3
+ import { Tabs as l, Tab as _, composeRenderProps as j, SelectionIndicator as u, TabPanel as T, TabList as P } from "react-aria-components";
4
+ import { c } from "./clsx-AexbMWKp.js";
5
+ import * as r from "react";
6
+ import { createContext as x } from "react";
7
+ import '../assets/TabList.css';const i = x({
8
+ variant: "uncontained",
9
+ size: "large"
10
+ }), q = "_tabs_1jqj8_1", L = "_tabList_1jqj8_12", p = "_tab_1jqj8_1", f = "_contained_1jqj8_55", v = "_medium_1jqj8_75", I = "_selectionIndicator_1jqj8_98", N = "_tabPanel_1jqj8_133", a = {
11
+ tabs: q,
12
+ tabList: L,
13
+ tab: p,
14
+ contained: f,
15
+ medium: v,
16
+ selectionIndicator: I,
17
+ tabPanel: N
18
+ }, z = ({
19
+ className: n,
20
+ variant: t = "uncontained",
21
+ size: e = "large",
22
+ ...o
23
+ }) => /* @__PURE__ */ s(i.Provider, { value: { variant: t, size: e }, children: /* @__PURE__ */ s(
24
+ l,
25
+ {
26
+ className: c(a.tabs, n),
27
+ ...o
28
+ }
29
+ ) }), R = ({ className: n, ...t }) => {
30
+ const { variant: e, size: o } = r.useContext(i);
31
+ return /* @__PURE__ */ s(
32
+ _,
33
+ {
34
+ ...t,
35
+ className: c(
36
+ a.tab,
37
+ {
38
+ [a.contained]: e === "contained",
39
+ [a.medium]: o === "medium"
40
+ },
41
+ n
42
+ ),
43
+ children: j(t.children, (m) => /* @__PURE__ */ b(d, { children: [
44
+ m,
45
+ /* @__PURE__ */ s(
46
+ u,
47
+ {
48
+ className: c(a.selectionIndicator, {
49
+ [a.contained]: e === "contained"
50
+ })
51
+ }
52
+ )
53
+ ] }))
54
+ }
55
+ );
56
+ }, y = ({ className: n, ...t }) => {
57
+ const { variant: e, size: o } = r.useContext(i);
58
+ return /* @__PURE__ */ s(
59
+ T,
60
+ {
61
+ className: c(
62
+ a.tabPanel,
63
+ {
64
+ [a.contained]: e === "contained",
65
+ [a.medium]: o === "medium"
66
+ },
67
+ n
68
+ ),
69
+ ...t
70
+ }
71
+ );
72
+ }, F = ({
73
+ className: n,
74
+ ...t
75
+ }) => /* @__PURE__ */ s(
76
+ P,
77
+ {
78
+ className: c(a.tabList, n),
79
+ ...t
80
+ }
81
+ );
82
+ export {
83
+ R as T,
84
+ F as a,
85
+ y as b,
86
+ z as c
87
+ };
package/index.js CHANGED
@@ -19,7 +19,7 @@ import { D as X, F as Y } from "./chunks/FileUpload-Cu8DCSjX.js";
19
19
  import { G as $ } from "./chunks/Grid-CettmpaZ.js";
20
20
  import { G as ao } from "./chunks/GridItem-z7zclNdT.js";
21
21
  import { H as eo } from "./chunks/Heading-nfcRc2QF.js";
22
- import { I as so } from "./chunks/InfoBanner-otmuemqy.js";
22
+ import { I as so } from "./chunks/InfoBanner-D_pwTOHH.js";
23
23
  import { L as xo } from "./chunks/Label-s4J9sYdy.js";
24
24
  import { H as io, L as fo, N as no, S as To, a as co } from "./chunks/Layout-hXzqx4cY.js";
25
25
  import { L as uo } from "./chunks/Link-rqGQvFQq.js";
@@ -34,7 +34,7 @@ import { S as ho } from "./chunks/Select-CV0H13h-.js";
34
34
  import { S as yo } from "./chunks/Skeleton-D6mxKxuu.js";
35
35
  import { S as No } from "./chunks/Spinner-CfKMn18u.js";
36
36
  import { C as zo, a as Oo, R as Qo, T as Vo, b as Zo, c as jo } from "./chunks/Table-Bg-AKi7d.js";
37
- import { T as Jo, a as Ko, b as Uo, c as Wo } from "./chunks/TabList-BHX-cuhB.js";
37
+ import { T as Jo, a as Ko, b as Uo, c as Wo } from "./chunks/TabList-CJSnr6O0.js";
38
38
  import { T as Yo, a as _o, b as $o } from "./chunks/TagGroup-BscTXQ_E.js";
39
39
  import { T as aa } from "./chunks/Text-D0r_W4lH.js";
40
40
  import { I as ea, T as ta, a as sa, b as pa } from "./chunks/TextArea-CBRE_gsN.js";
@@ -49,7 +49,7 @@ import { c as Na } from "./chunks/clsx-AexbMWKp.js";
49
49
  import { DialogTrigger as za, MenuTrigger as Oa, RouterProvider as Qa } from "react-aria-components";
50
50
  import { u as Za } from "./chunks/useLocalizedStringFormatter-BHvsRxDk.js";
51
51
  import { useToastState as qa } from "react-stately";
52
- const o = "17.3.1", a = {
52
+ const o = "17.5.0", a = {
53
53
  version: o
54
54
  }, r = a.version;
55
55
  export {
@@ -1,4 +1,4 @@
1
- import { I as r } from "../chunks/InfoBanner-otmuemqy.js";
1
+ import { I as r } from "../chunks/InfoBanner-D_pwTOHH.js";
2
2
  export {
3
3
  r as InfoBanner
4
4
  };
package/package.json CHANGED
@@ -14,7 +14,7 @@
14
14
  "description": "Midas Components",
15
15
  "homepage": "https://designsystem.migrationsverket.se/",
16
16
  "license": "CC0-1.0",
17
- "version": "17.3.1",
17
+ "version": "17.5.0",
18
18
  "module": "./index.js",
19
19
  "type": "module",
20
20
  "main": "./index.js",
package/tabs/Tabs.d.ts CHANGED
@@ -1,6 +1,9 @@
1
1
  import { TabsProps as AriaTabsProps } from 'react-aria-components';
2
+ import { Size } from '../common/types';
2
3
  import * as React from 'react';
3
4
  export interface TabsProps extends AriaTabsProps {
4
5
  variant?: 'uncontained' | 'contained';
6
+ /** @default 'large' */
7
+ size?: Size;
5
8
  }
6
9
  export declare const Tabs: React.FC<TabsProps>;
@@ -6,14 +6,22 @@ declare const _default: {
6
6
  component: React.FC<import('./Tabs').TabsProps>;
7
7
  title: string;
8
8
  tags: string[];
9
+ argTypes: {
10
+ size: {
11
+ control: "radio";
12
+ options: string[];
13
+ };
14
+ };
9
15
  args: {
10
16
  orientation: "horizontal";
11
17
  variant: "uncontained";
18
+ size: "large";
12
19
  };
13
20
  render: (args: import('./Tabs').TabsProps) => import("react/jsx-runtime").JSX.Element;
14
21
  };
15
22
  export default _default;
16
23
  export declare const Primary: Story;
24
+ export declare const Medium: Story;
17
25
  export declare const Contained: Story;
18
26
  export declare const Vertical: Story;
19
27
  export declare const DisabledTabs: Story;
@@ -1,3 +1,3 @@
1
1
  import { TabsProps } from './Tabs';
2
- export type TabsContextValue = Pick<TabsProps, 'variant'>;
2
+ export type TabsContextValue = Pick<TabsProps, 'variant' | 'size'>;
3
3
  export declare const TabsContext: import('react').Context<TabsContextValue>;
package/tabs/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { T as b, a as T, b as e, c as o } from "../chunks/TabList-BHX-cuhB.js";
1
+ import { T as b, a as T, b as e, c as o } from "../chunks/TabList-CJSnr6O0.js";
2
2
  export {
3
3
  b as Tab,
4
4
  T as TabList,
@@ -1,72 +0,0 @@
1
- import { jsxs as e, jsx as n } from "react/jsx-runtime";
2
- import * as h from "react";
3
- import { c as j } from "./clsx-AexbMWKp.js";
4
- import { B as x } from "./Button-BhIvfqOc.js";
5
- import { F as B } from "./FeedbackStatusIcon-X9Bjgeta.js";
6
- import { X as N } from "./x-B9bYxG31.js";
7
- import { u as b } from "./useLocalizedStringFormatter-BHvsRxDk.js";
8
- import '../assets/InfoBanner.css';const v = "_infoBanner_1oj11_1", S = "_success_1oj11_11", w = "_info_1oj11_1", C = "_important_1oj11_21", F = "_warning_1oj11_26", I = "_content_1oj11_40", z = "_heading_1oj11_46", O = "_text_1oj11_51", k = "_icon_1oj11_57", y = "_dismissable_1oj11_66", s = {
9
- infoBanner: v,
10
- success: S,
11
- info: w,
12
- important: C,
13
- warning: F,
14
- content: I,
15
- heading: z,
16
- text: O,
17
- icon: k,
18
- dismissable: y
19
- }, L = { close: "Close" }, P = { close: "Stäng" }, R = {
20
- en: L,
21
- sv: P
22
- }, H = ({
23
- title: t,
24
- message: r,
25
- type: i,
26
- children: l,
27
- isDismissable: m = !1,
28
- defaultOpen: _ = !0,
29
- isOpen: a,
30
- onOpenChange: d,
31
- ...c
32
- }) => {
33
- const o = typeof a < "u", [f, u] = h.useState(_), p = b(R), g = () => {
34
- d?.(!1), o || u(!1);
35
- };
36
- return o && a || !o && f ? /* @__PURE__ */ e(
37
- "div",
38
- {
39
- ...c,
40
- className: j(s.infoBanner, s[i], c.className),
41
- children: [
42
- /* @__PURE__ */ n(
43
- B,
44
- {
45
- "aria-hidden": !0,
46
- className: s.icon,
47
- status: i
48
- }
49
- ),
50
- /* @__PURE__ */ e("div", { className: s.content, children: [
51
- t && /* @__PURE__ */ n("strong", { className: s.heading, children: t }),
52
- /* @__PURE__ */ e("div", { className: s.text, children: [
53
- r,
54
- l
55
- ] })
56
- ] }),
57
- m && /* @__PURE__ */ n("div", { className: s.dismissable, children: /* @__PURE__ */ n(
58
- x,
59
- {
60
- variant: "icon",
61
- "aria-label": p.format("close"),
62
- onPress: g,
63
- children: /* @__PURE__ */ n(N, { size: 20 })
64
- }
65
- ) })
66
- ]
67
- }
68
- ) : null;
69
- };
70
- export {
71
- H as I
72
- };
@@ -1,82 +0,0 @@
1
- 'use client';
2
- import { jsx as e, jsxs as b, Fragment as l } from "react/jsx-runtime";
3
- import { Tabs as d, Tab as _, composeRenderProps as m, SelectionIndicator as T, TabPanel as u, TabList as P } from "react-aria-components";
4
- import { c as o } from "./clsx-AexbMWKp.js";
5
- import * as i from "react";
6
- import { createContext as x } from "react";
7
- import '../assets/TabList.css';const c = x({
8
- variant: "uncontained"
9
- }), L = "_tabs_1nli1_1", p = "_tabList_1nli1_12", f = "_tab_1nli1_1", v = "_contained_1nli1_55", I = "_selectionIndicator_1nli1_94", N = "_tabPanel_1nli1_129", t = {
10
- tabs: L,
11
- tabList: p,
12
- tab: f,
13
- contained: v,
14
- selectionIndicator: I,
15
- tabPanel: N
16
- }, R = ({
17
- className: n,
18
- variant: a = "uncontained",
19
- ...s
20
- }) => /* @__PURE__ */ e(c.Provider, { value: { variant: a }, children: /* @__PURE__ */ e(
21
- d,
22
- {
23
- className: o(t.tabs, n),
24
- ...s
25
- }
26
- ) }), g = ({ className: n, ...a }) => {
27
- const { variant: s } = i.useContext(c);
28
- return /* @__PURE__ */ e(
29
- _,
30
- {
31
- ...a,
32
- className: o(
33
- t.tab,
34
- {
35
- [t.contained]: s === "contained"
36
- },
37
- n
38
- ),
39
- children: m(a.children, (r) => /* @__PURE__ */ b(l, { children: [
40
- r,
41
- /* @__PURE__ */ e(
42
- T,
43
- {
44
- className: o(t.selectionIndicator, {
45
- [t.contained]: s === "contained"
46
- })
47
- }
48
- )
49
- ] }))
50
- }
51
- );
52
- }, y = ({ className: n, ...a }) => {
53
- const { variant: s } = i.useContext(c);
54
- return /* @__PURE__ */ e(
55
- u,
56
- {
57
- className: o(
58
- t.tabPanel,
59
- {
60
- [t.contained]: s === "contained"
61
- },
62
- n
63
- ),
64
- ...a
65
- }
66
- );
67
- }, F = ({
68
- className: n,
69
- ...a
70
- }) => /* @__PURE__ */ e(
71
- P,
72
- {
73
- className: o(t.tabList, n),
74
- ...a
75
- }
76
- );
77
- export {
78
- g as T,
79
- F as a,
80
- y as b,
81
- R as c
82
- };