@midas-ds/layout 0.0.1-beta.1 → 0.0.3

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.
Files changed (80) hide show
  1. package/CHANGELOG.md +34 -2
  2. package/README.md +7 -0
  3. package/assets/Layout.css +1 -0
  4. package/assets/Main.css +1 -0
  5. package/assets/MobileMenu.css +1 -0
  6. package/assets/Navbar.css +1 -0
  7. package/assets/Navigation.css +1 -0
  8. package/assets/Panel.css +1 -0
  9. package/assets/PanelContext.css +1 -0
  10. package/assets/useIsMobileDevice.css +1 -0
  11. package/chunks/Layout-16EqvEZN.js +23 -0
  12. package/chunks/Main-QnNDtP6N.js +13 -0
  13. package/chunks/MobileMenu-DcQpdykm.js +86 -0
  14. package/chunks/MobileMenuContext-Coj0sJ0N.js +6 -0
  15. package/chunks/Navbar-wOOCcsru.js +13 -0
  16. package/chunks/Navigation-Cq0h2Nt9.js +212 -0
  17. package/chunks/Panel-C1MEWSWX.js +147 -0
  18. package/chunks/PanelContext-D2ADxgo6.js +44 -0
  19. package/chunks/clsx-AexbMWKp.js +24 -0
  20. package/chunks/useIsMobileDevice-DhQB0ae2.js +213 -0
  21. package/header/Header.d.ts +3 -0
  22. package/header/header-actions/HeaderActions.d.ts +10 -0
  23. package/header/header-actions/HeaderActions.stories.d.ts +24 -0
  24. package/header/header-actions/index.d.ts +1 -0
  25. package/header/index.d.ts +3 -0
  26. package/header/index.js +8 -0
  27. package/header/mobile-menu/MobileMenu.d.ts +8 -0
  28. package/header/mobile-menu/MobileMenuContext.d.ts +1 -0
  29. package/header/mobile-menu/index.d.ts +2 -0
  30. package/index.d.ts +6 -1
  31. package/index.js +27 -77
  32. package/layout/Layout.d.ts +7 -0
  33. package/layout/Layout.stories.d.ts +17 -0
  34. package/layout/index.d.ts +1 -0
  35. package/layout/index.js +5 -0
  36. package/main/Main.d.ts +3 -0
  37. package/main/index.d.ts +1 -0
  38. package/main/index.js +4 -0
  39. package/navbar/Navbar.d.ts +3 -0
  40. package/navbar/index.d.ts +1 -0
  41. package/navbar/index.js +4 -0
  42. package/navigation/Navigation.d.ts +9 -0
  43. package/navigation/Navigation.stories.d.ts +13 -0
  44. package/navigation/components/header/NavigationHeader.d.ts +3 -0
  45. package/navigation/components/header/index.d.ts +1 -0
  46. package/navigation/components/index.d.ts +5 -0
  47. package/navigation/components/item/NavigationItem.d.ts +3 -0
  48. package/navigation/components/item/index.d.ts +1 -0
  49. package/navigation/components/link/NavigationLink.d.ts +13 -0
  50. package/navigation/components/link/NavigationLink.stories.d.ts +21 -0
  51. package/navigation/components/link/index.d.ts +1 -0
  52. package/navigation/components/section/NavigationSection.d.ts +6 -0
  53. package/navigation/components/section/index.d.ts +1 -0
  54. package/navigation/components/sub-menu/NavigationSubMenu.d.ts +4 -0
  55. package/navigation/components/sub-menu/index.d.ts +1 -0
  56. package/navigation/index.d.ts +2 -0
  57. package/navigation/index.js +9 -0
  58. package/package.json +33 -12
  59. package/panel/Panel.d.ts +7 -0
  60. package/panel/Panel.stories.d.ts +16 -0
  61. package/panel/PanelContext.d.ts +5 -0
  62. package/panel/components/collapse-panel/CollapsePanel.d.ts +7 -0
  63. package/panel/components/collapse-panel/index.d.ts +1 -0
  64. package/panel/components/dismiss-panel/DismissPanel.d.ts +7 -0
  65. package/panel/components/dismiss-panel/index.d.ts +1 -0
  66. package/panel/components/index.d.ts +5 -0
  67. package/panel/components/panel-body/PanelBody.d.ts +3 -0
  68. package/panel/components/panel-body/index.d.ts +1 -0
  69. package/panel/components/panel-header/PanelHeader.d.ts +3 -0
  70. package/panel/components/panel-header/index.d.ts +1 -0
  71. package/panel/components/panel-title/PanelTitle.d.ts +5 -0
  72. package/panel/components/panel-title/index.d.ts +1 -0
  73. package/panel/index.d.ts +2 -0
  74. package/panel/index.js +7 -0
  75. package/panel/intl/translations.json.d.ts +15 -0
  76. package/utils/useIsMobileDevice.d.ts +1 -0
  77. package/index.css +0 -1
  78. package/index.mjs +0 -6621
  79. package/lib/Layout.d.ts +0 -51
  80. package/lib/Layout.stories.d.ts +0 -7
package/CHANGELOG.md CHANGED
@@ -1,3 +1,35 @@
1
- ## 0.0.1-beta.1 (2025-01-14)
1
+ ## 0.0.3 (2026-03-10)
2
2
 
3
- This was a version bump only for layout to align it with other projects, there were no code changes.
3
+ ### 🧱 Updated Dependencies
4
+
5
+ - Updated components to 17.7.2
6
+
7
+ ## 0.0.2 (2026-03-10)
8
+
9
+ ### 🚀 Features
10
+
11
+ - **layout:** create navigation-link variant ([82073afc04](https://github.com/migrationsverket/midas/commit/82073afc04))
12
+ - **layout:** add navigation link examples ([60e01b5c84](https://github.com/migrationsverket/midas/commit/60e01b5c84))
13
+ - **layout:** create nav component outline ([884bbd4a8d](https://github.com/migrationsverket/midas/commit/884bbd4a8d))
14
+ - **layout:** add boilerplate components ([ab85d70f46](https://github.com/migrationsverket/midas/commit/ab85d70f46))
15
+ - **layout:** add boilerplate for new package ([9949261248](https://github.com/migrationsverket/midas/commit/9949261248))
16
+
17
+ ### 🏭 Refactoring
18
+
19
+ - remove old packages and references ([e21d6786f2](https://github.com/migrationsverket/midas/commit/e21d6786f2))
20
+
21
+ ### 📖 Documentation changes
22
+
23
+ - new header + remove info API ([2b6eb5ac9a](https://github.com/migrationsverket/midas/commit/2b6eb5ac9a))
24
+
25
+ ### 🔧 Maintenance
26
+
27
+ - **layout:** release version 0.0.1-beta.1 [skip-ci] ([139f60d717](https://github.com/migrationsverket/midas/commit/139f60d717))
28
+ - **layout:** release version 0.0.1-beta.0 [skip-ci] ([3fb064b67c](https://github.com/migrationsverket/midas/commit/3fb064b67c))
29
+ - **layout:** release version 0.0.1-beta.2 [skip-ci] ([b42e8143fb](https://github.com/migrationsverket/midas/commit/b42e8143fb))
30
+ - rename to layout ([b2652fb261](https://github.com/migrationsverket/midas/commit/b2652fb261))
31
+
32
+ ### 🧪 Tests updated
33
+
34
+ - **layout:** update failing test ([0bb48471f4](https://github.com/migrationsverket/midas/commit/0bb48471f4))
35
+ - **layout:** update failing test ([77603c44c2](https://github.com/migrationsverket/midas/commit/77603c44c2))
package/README.md ADDED
@@ -0,0 +1,7 @@
1
+ # layout
2
+
3
+ This library was generated with [Nx](https://nx.dev).
4
+
5
+ ## Running unit tests
6
+
7
+ Run `nx test layout` to execute the unit tests via [Vitest](https://vitest.dev/).
@@ -0,0 +1 @@
1
+ ._layout_1v9xd_1{display:flex;flex-direction:column;font-family:var(--midas-typography-font-family);width:100%;height:100dvh}._content_1v9xd_9{display:flex;position:relative;height:100%}
@@ -0,0 +1 @@
1
+ ._main_4xsf9_1{box-sizing:border-box;flex:1 1 auto;min-width:0;height:100%;overflow-y:auto;padding:1rem}
@@ -0,0 +1 @@
1
+ ._header_105ne_1{background-color:var(--midas-background-base);display:flex;flex:1 0 auto;padding:1rem}._headerActions_oafen_1{display:flex;gap:.25rem;align-items:center;margin-inline-start:auto}@media(max-width:640px){._label_oafen_8{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}}._overlay_dmbs8_1{position:absolute;top:0;left:0;width:100%;height:var(--page-height);background:#0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100}._overlay_dmbs8_1[data-entering]{animation:_drawer-blur_dmbs8_1 var(--midas-transition-duration-fast)}._overlay_dmbs8_1[data-exiting]{animation:_drawer-blur_dmbs8_1 var(--midas-transition-duration-fast) reverse ease-in}._drawer_dmbs8_20{position:sticky;left:0;width:300px;top:-100px;height:calc(100dvh + 200px);padding:100px 0;margin-right:auto;background:var(--overlay-background);outline:none;border-right:1px solid var(--midas-border-color-secondary);box-shadow:-8px 0 20px #0000001a;font-family:system-ui;font-size:.875rem}._drawer_dmbs8_20[data-entering]{animation:_drawer-slide_dmbs8_1 var(--midas-transition-duration-fast)}._drawer_dmbs8_20[data-exiting]{animation:_drawer-slide_dmbs8_1 var(--midas-transition-duration-fast) reverse ease-in}@keyframes _drawer-blur_dmbs8_1{0%{background:#0000;-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}to{background:#0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}}@keyframes _drawer-slide_dmbs8_1{0%{transform:translate(-100%)}to{transform:translate(0)}}
@@ -0,0 +1 @@
1
+ ._navbar_18aqo_1{background-color:var(--midas-layer-01-base)}._navbar_18aqo_1 ul{display:flex;justify-content:center;margin:0;padding:0}._navbar_18aqo_1 ul li{align-items:center;display:flex;list-style:none}
@@ -0,0 +1 @@
1
+ ._tooltip_2gvxu_1{font-family:var(--midas-typography-font-family);font-size:var(--midas-typography-font-size-20);padding:var(--midas-space-xsmall) var(--midas-space-small);color:var(--midas-text-inverse);background-color:var(--midas-background-inverse);max-width:150px;outline:none;transform:translateZ(0);transition:transform var(--midas-transition-duration-fast),opacity var(--midas-transition-duration-fast)}@media(forced-colors:active){._tooltip_2gvxu_1{border:1px solid}}._tooltip_2gvxu_1 ._arrow_2gvxu_18 svg{display:block;fill:var(--midas-background-inverse)}@media(forced-colors:active){._tooltip_2gvxu_1 ._arrow_2gvxu_18 svg{fill:currentColor}}._tooltip_2gvxu_1[data-entering],._tooltip_2gvxu_1[data-exiting]{transform:var(--origin);opacity:0}._tooltip_2gvxu_1[data-placement=top]{margin-bottom:8px;--origin: translateY(4px)}._tooltip_2gvxu_1[data-placement=bottom]{margin-top:8px;--origin: translateY(-4px)}._tooltip_2gvxu_1[data-placement=bottom] ._arrow_2gvxu_18 svg{transform:rotate(180deg)}._tooltip_2gvxu_1[data-placement=right]{margin-left:8px;--origin: translateX(-4px)}._tooltip_2gvxu_1[data-placement=right] ._arrow_2gvxu_18 svg{transform:rotate(90deg)}._tooltip_2gvxu_1[data-placement=left]{margin-right:8px;--origin: translateX(4px)}._tooltip_2gvxu_1[data-placement=left] ._arrow_2gvxu_18 svg{transform:rotate(-90deg)}@media(prefers-reduced-motion){._tooltip_2gvxu_1{transition:none}}._navigationHeader_j94pq_1{color:var(--midas-text-secondary);font-size:var(--midas-typography-font-size-20);padding:var(--midas-spacing-30)}._navigationHeader_j94pq_1._collapsed_j94pq_6{display:none}._navigationLink_tfdcf_1{align-items:center;align-self:stretch;border-left:var(--midas-size-10) solid transparent;color:var(--midas-text-primary);display:flex;flex-direction:column;flex:1 0 0%;font-family:var(--midas-typography-font-family);gap:var(--midas-spacing-30);justify-content:flex-end;padding:var(--midas-spacing-50);text-decoration:none}._navigationLink_tfdcf_1[data-hovered],._navigationLink_tfdcf_1:hover,._navigationLink_tfdcf_1[data-active]{background-color:var(--midas-menu-item-background-hover)}._navigationLink_tfdcf_1._collapse_tfdcf_21{flex-direction:row;justify-content:flex-start;padding:.625rem var(--midas-spacing-30)}._navigationLink_tfdcf_1._collapse_tfdcf_21[data-active]{border-color:var(--midas-border-color-tertiary);font-weight:var(--midas-typography-weight-bold)}._navigationLink_tfdcf_1 svg{height:var(--midas-size-90);width:var(--midas-size-90)}._navigationLink_tfdcf_1._collapsed_tfdcf_37{justify-content:center}._navigationLink_tfdcf_1._collapsed_tfdcf_37 ._title_tfdcf_40{display:none}._navigationItem_1jt2l_1{list-style:none}._navigationSubMenu_vfyl6_1{padding:0;margin:0 0 1rem 1rem}._navigationSubMenu_vfyl6_1._collapsed_vfyl6_5{margin-left:0}._navigationSection_1ae77_1{padding:0;margin:0 0 1rem}._navigationSection_1ae77_1._collapsed_1ae77_5{margin-bottom:0}._navigation_3axp3_1{background-color:var(--midas-layer-01-base)}._rootList_3axp3_5{margin:0;padding:0}
@@ -0,0 +1 @@
1
+ ._panelBody_13l7o_1{background-color:var(--midas-layer-01-base);box-sizing:border-box;padding:1rem;transition:width var(--midas-transition-duration-fast) ease-out;width:100%}._panelHeader_11qv1_1{align-items:center;display:flex;justify-content:space-between}._panelTitle_w7y4m_1{display:block}._collapsePanel_1uy7t_1{width:15rem}._collapsePanel_1uy7t_1._collapsed_1uy7t_4{width:80px}@media(max-width:640px){._collapsePanel_1uy7t_1{display:none}}._panelHeader_1uy7t_13{gap:0}._panelTitle_1uy7t_17{font-size:var(--midas-typography-font-size-20);display:block}._dismissPanel_dpjsv_1{position:absolute!important;top:0;right:0;width:320px;height:100%}@media not (min-width:800px){._dismissPanel_dpjsv_1{bottom:0;width:100%;height:25%;left:0;top:unset}}._panelTitle_dpjsv_18{font-size:var(--midas-typography-font-size-20);display:block}
@@ -0,0 +1 @@
1
+ ._body_g096r_1,._body-small_g096r_2,._description_g096r_3,._description-small_g096r_4{color:var(--midas-text-primary)}._body_g096r_1{font:var(--midas-typography-body)}._body_g096r_1[data-expressive]{line-height:var(--midas-typography-line-height-50)}._body-small_g096r_2{font:var(--midas-typography-body-small)}._description-small_g096r_4{font:var(--midas-typography-description-small)}._bold_g096r_24{font-weight:700}._italic_g096r_28{font-style:italic}._description_g096r_3{font:var(--midas-typography-description);margin-bottom:var(--midas-space-small)}._description_g096r_3>[data-disabled],[data-disabled] ._description_g096r_3{color:var(--midas-text-disabled)}@media(forced-colors:active){._description_g096r_3>[data-disabled],[data-disabled] ._description_g096r_3{color:GrayText}}._description_g096r_3>[data-readonly],[data-readonly] ._description_g096r_3{color:var(--midas-text-read-only)}
@@ -0,0 +1 @@
1
+ ._button_7n7qm_1{--border-width: 1px;font-family:var(--midas-typography-font-family);font-size:var(--midas-typography-font-size-30);font-weight:500;padding:calc(var(--midas-space-70) - var(--border-width)) calc(var(--midas-space-large) - var(--border-width));line-height:var(--midas-typography-line-height-30);background-color:var(--midas-button-background-primary-base);border:solid var(--border-width) transparent;color:var(--midas-text-on-color);cursor:pointer;opacity:1;outline:none;display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:.5rem}._button_7n7qm_1[data-focus-visible],._button_7n7qm_1:focus-visible{box-shadow:var(--midas-state-focus)}@media(forced-colors:active){._button_7n7qm_1[data-focus-visible],._button_7n7qm_1:focus-visible{outline:3px solid highlight;outline-offset:2px}}._button_7n7qm_1[data-hovered]{background-color:var(--midas-button-background-primary-hover)}._button_7n7qm_1[data-pressed]:not([aria-expanded=true],[aria-haspopup=true]){background-color:var(--midas-button-background-primary-active);outline:none}._button_7n7qm_1[data-disabled]{color:var(--midas-text-disabled);cursor:not-allowed;background-color:var(--midas-button-background-disabled)}._secondary_7n7qm_48{color:var(--midas-text-tertiary);background-color:var(--midas-button-background-secondary-base);border-color:var(--midas-button-border-secondary);opacity:1}._secondary_7n7qm_48[data-hovered]{background-color:var(--midas-button-background-secondary-hover)}._secondary_7n7qm_48[data-disabled]{color:var(--midas-text-disabled);cursor:not-allowed;background-color:var(--midas-button-background-disabled);border-color:var(--midas-border-color-disabled)}._secondary_7n7qm_48[data-pressed]:not([aria-expanded=true],[aria-haspopup=true]){background-color:var(--midas-button-background-secondary-active);border-color:var(--midas-text-tertiary)}._tertiary_7n7qm_71{color:var(--midas-text-tertiary);background-color:transparent;opacity:1}._tertiary_7n7qm_71[data-hovered]{background-color:var(--midas-button-background-tertiary-hover)}._tertiary_7n7qm_71[data-disabled]{color:var(--midas-text-disabled);cursor:not-allowed;background-color:#fff}._tertiary_7n7qm_71[data-pressed]:not([aria-expanded=true],[aria-haspopup=true]){background-color:var(--midas-button-background-tertiary-active)}._iconBtn_7n7qm_91{background-color:transparent;padding:calc(var(--midas-space-70) - var(--border-width));color:var(--midas-icon-primary);display:flex;align-items:center}._iconBtn_7n7qm_91[data-hovered]{background-color:var(--midas-button-icon-hover)}._iconBtn_7n7qm_91[data-disabled]{color:var(--midas-text-disabled);cursor:not-allowed}._iconBtn_7n7qm_91[data-pressed]:not([aria-expanded=true],[aria-haspopup=true]){background-color:var(--midas-button-icon-active)}._iconBtn_7n7qm_91._medium_7n7qm_111{padding:calc(var(--midas-space-50) - var(--border-width))}._danger_7n7qm_116{color:var(--midas-color-white-base);background-color:var(--midas-button-background-danger-base);opacity:1}._danger_7n7qm_116[data-hovered]{color:var(--midas-color-white-base);background-color:var(--midas-button-background-danger-hover)}._danger_7n7qm_116[data-disabled]{color:var(--midas-text-disabled);cursor:not-allowed;background-color:var(--midas-button-background-disabled)}._danger_7n7qm_116[data-pressed]:not([aria-expanded=true],[aria-haspopup=true]){background-color:var(--midas-button-background-danger-active);outline:none}._iconRight_7n7qm_138{flex-direction:row-reverse}._fullwidth_7n7qm_142{width:100%}._medium_7n7qm_111{padding:calc(var(--midas-space-50) - var(--border-width)) calc(var(--midas-space-medium) - var(--border-width))}@media(forced-colors:active){._primary_7n7qm_152{border-width:2px}}._container_1qexx_1{display:inline-flex}._spinner_1qexx_5{animation:_rotating_1qexx_1 1s linear infinite;stroke-linecap:square}@media(prefers-reduced-motion){._spinner_1qexx_5{animation-duration:2s}}@media(forced-colors:active){._spinner_1qexx_5{color:CanvasText}}._large_1qexx_18{color:var(--midas-icon-tertiary)}@keyframes _rotating_1qexx_1{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
@@ -0,0 +1,23 @@
1
+ import { jsx as s } from "react/jsx-runtime";
2
+ import '../assets/Layout.css';const c = "_layout_1v9xd_1", e = "_content_1v9xd_9", a = {
3
+ layout: c,
4
+ content: e
5
+ }, y = ({ className: t, children: o, ...n }) => /* @__PURE__ */ s(
6
+ "div",
7
+ {
8
+ className: `${t ?? ""} ${a.content}`,
9
+ ...n,
10
+ children: o
11
+ }
12
+ ), u = ({ className: t, children: o, ...n }) => /* @__PURE__ */ s(
13
+ "div",
14
+ {
15
+ className: `${t ?? ""} ${a.layout}`,
16
+ ...n,
17
+ children: o
18
+ }
19
+ );
20
+ export {
21
+ u as L,
22
+ y as a
23
+ };
@@ -0,0 +1,13 @@
1
+ import { jsx as n } from "react/jsx-runtime";
2
+ import '../assets/Main.css';const m = "_main_4xsf9_1", i = {
3
+ main: m
4
+ }, t = ({ className: s, ...a }) => /* @__PURE__ */ n(
5
+ "main",
6
+ {
7
+ className: `${s} ${i.main}`,
8
+ ...a
9
+ }
10
+ );
11
+ export {
12
+ t as M
13
+ };
@@ -0,0 +1,86 @@
1
+ 'use client';
2
+ import { jsx as e, jsxs as c } from "react/jsx-runtime";
3
+ import { c as v } from "./clsx-AexbMWKp.js";
4
+ import { c as M, u as l, B as d } from "./useIsMobileDevice-DhQB0ae2.js";
5
+ import { createContext as b, forwardRef as f } from "react";
6
+ import { DialogTrigger as y, ModalOverlay as g, composeRenderProps as w, Modal as x, Dialog as A } from "react-aria-components";
7
+ import { useControlledState as D } from "@react-stately/utils";
8
+ import { M as N } from "./MobileMenuContext-Coj0sJ0N.js";
9
+ import '../assets/MobileMenu.css';const O = [
10
+ ["path", { d: "M4 5h16", key: "1tepv9" }],
11
+ ["path", { d: "M4 12h16", key: "1lakjw" }],
12
+ ["path", { d: "M4 19h16", key: "1djgab" }]
13
+ ], H = M("menu", O), j = b({
14
+ size: void 0
15
+ }), B = "_header_105ne_1", C = {
16
+ header: B
17
+ }, G = ({ className: s, ...o }) => {
18
+ const r = l();
19
+ return /* @__PURE__ */ e(j.Provider, { value: { size: r ? "x-small" : "large" }, children: /* @__PURE__ */ e(
20
+ "header",
21
+ {
22
+ className: v(s, C.header),
23
+ ...o
24
+ }
25
+ ) });
26
+ }, P = "_headerActions_oafen_1", k = "_label_oafen_8", m = {
27
+ headerActions: P,
28
+ label: k
29
+ }, h = f(
30
+ ({ children: s, icon: o, ...r }, a) => /* @__PURE__ */ c(
31
+ d,
32
+ {
33
+ ref: a,
34
+ size: "medium",
35
+ variant: "tertiary",
36
+ ...r,
37
+ children: [
38
+ o,
39
+ s && /* @__PURE__ */ e("span", { className: m.label, children: s })
40
+ ]
41
+ }
42
+ )
43
+ );
44
+ h.displayName = "HeaderActionsButton";
45
+ const z = ({ children: s }) => /* @__PURE__ */ e("div", { className: m.headerActions, children: s }), J = Object.assign(z, {
46
+ Button: h
47
+ }), I = "_overlay_dmbs8_1", R = "_drawer_dmbs8_20", i = {
48
+ overlay: I,
49
+ drawer: R
50
+ }, K = ({
51
+ children: s,
52
+ isDrawerOpen: o,
53
+ defaultDrawerOpen: r = !1,
54
+ onDrawerOpenChange: a
55
+ }) => {
56
+ const p = l(), [u, n] = D(
57
+ o,
58
+ r,
59
+ a
60
+ ), _ = () => n((t) => !t);
61
+ return p ? /* @__PURE__ */ e(N.Provider, { value: {}, children: /* @__PURE__ */ c(y, { children: [
62
+ /* @__PURE__ */ e(
63
+ d,
64
+ {
65
+ icon: H,
66
+ variant: "icon",
67
+ onPress: _
68
+ }
69
+ ),
70
+ /* @__PURE__ */ e(
71
+ g,
72
+ {
73
+ className: i.overlay,
74
+ isDismissable: !0,
75
+ isOpen: u,
76
+ onOpenChange: n,
77
+ children: w(s, (t) => /* @__PURE__ */ e(x, { className: i.drawer, children: /* @__PURE__ */ e(A, { children: t }) }))
78
+ }
79
+ )
80
+ ] }) }) : null;
81
+ };
82
+ export {
83
+ G as H,
84
+ K as M,
85
+ J as a
86
+ };
@@ -0,0 +1,6 @@
1
+ 'use client';
2
+ import { createContext as o } from "react";
3
+ const e = o(void 0);
4
+ export {
5
+ e as M
6
+ };
@@ -0,0 +1,13 @@
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import '../assets/Navbar.css';const s = "_navbar_18aqo_1", n = {
3
+ navbar: s
4
+ }, b = ({ className: a, ...o }) => /* @__PURE__ */ r(
5
+ "footer",
6
+ {
7
+ className: `${a ?? ""} ${n.navbar}`,
8
+ ...o
9
+ }
10
+ );
11
+ export {
12
+ b as N
13
+ };
@@ -0,0 +1,212 @@
1
+ 'use client';
2
+ import { jsx as n, jsxs as d, Fragment as $ } from "react/jsx-runtime";
3
+ import { useContext as e } from "react";
4
+ import { Collection as L } from "@react-aria/collections";
5
+ import { c as l } from "./clsx-AexbMWKp.js";
6
+ import { C as g, T as M, P as k } from "./PanelContext-D2ADxgo6.js";
7
+ import { TooltipTrigger as w, Tooltip as j, OverlayArrow as H, OverlayTriggerStateContext as I, Focusable as O, Link as P, Collection as D } from "react-aria-components";
8
+ import { M as q } from "./MobileMenuContext-Coj0sJ0N.js";
9
+ import '../assets/Navigation.css';const F = "_tooltip_2gvxu_1", A = "_arrow_2gvxu_18", C = {
10
+ tooltip: F,
11
+ arrow: A
12
+ };
13
+ function B({ children: o, className: t, ...a }) {
14
+ return /* @__PURE__ */ n(
15
+ j,
16
+ {
17
+ className: l(C.tooltip, t),
18
+ ...a,
19
+ children: (i) => /* @__PURE__ */ d($, { children: [
20
+ /* @__PURE__ */ n(H, { className: C.arrow, children: /* @__PURE__ */ n(
21
+ "svg",
22
+ {
23
+ width: 8,
24
+ height: 8,
25
+ viewBox: "0 0 8 8",
26
+ children: /* @__PURE__ */ n("path", { d: "M0 0 L4 4 L8 0" })
27
+ }
28
+ ) }),
29
+ typeof o == "function" ? o(i) : o
30
+ ] })
31
+ }
32
+ );
33
+ }
34
+ function R({
35
+ delay: o = 0,
36
+ ...t
37
+ }) {
38
+ return /* @__PURE__ */ n(
39
+ w,
40
+ {
41
+ delay: o,
42
+ ...t
43
+ }
44
+ );
45
+ }
46
+ const z = "_navigationHeader_j94pq_1", E = "_collapsed_j94pq_6", h = {
47
+ navigationHeader: z,
48
+ collapsed: E
49
+ }, G = ({
50
+ className: o,
51
+ ...t
52
+ }) => {
53
+ const { isCollapsed: a } = e(g);
54
+ return /* @__PURE__ */ n(
55
+ M,
56
+ {
57
+ className: l(o, h.navigationHeader, {
58
+ [h.collapsed]: a
59
+ }),
60
+ ...t
61
+ }
62
+ );
63
+ }, J = "_navigationLink_tfdcf_1", K = "_collapse_tfdcf_21", Q = "_collapsed_tfdcf_37", U = "_title_tfdcf_40", p = {
64
+ navigationLink: J,
65
+ collapse: K,
66
+ collapsed: Q,
67
+ title: U
68
+ }, V = ({
69
+ as: o,
70
+ children: t,
71
+ className: a,
72
+ isActive: i,
73
+ title: s,
74
+ "aria-label": r,
75
+ ...c
76
+ }) => {
77
+ const { variant: m } = e(k), S = e(q), { isCollapsed: _ } = e(g), u = e(I), T = o || P, f = () => {
78
+ u?.isOpen && u?.setOpen(!1);
79
+ };
80
+ return /* @__PURE__ */ d(R, { isDisabled: !_, children: [
81
+ /* @__PURE__ */ n(O, { children: /* @__PURE__ */ d(
82
+ T,
83
+ {
84
+ "aria-current": i && "page",
85
+ "aria-label": r || (_ ? s : void 0),
86
+ className: l(
87
+ a,
88
+ p.navigationLink,
89
+ m && p[m],
90
+ S && p.collapse,
91
+ {
92
+ [p.collapsed]: _
93
+ }
94
+ ),
95
+ "data-active": i || void 0,
96
+ ...o ? {
97
+ onClick: (v) => {
98
+ f(), c.onClick?.(v);
99
+ }
100
+ } : {
101
+ onPress: (v) => {
102
+ f(), c.onPress?.(v);
103
+ }
104
+ },
105
+ ...c,
106
+ children: [
107
+ t,
108
+ /* @__PURE__ */ n("span", { className: p.title, children: s })
109
+ ]
110
+ }
111
+ ) }),
112
+ /* @__PURE__ */ n(B, { placement: "right", children: s })
113
+ ] });
114
+ }, W = "_navigationItem_1jt2l_1", N = {
115
+ navigationItem: W
116
+ }, X = ({ className: o, ...t }) => {
117
+ const { isCollapsed: a } = e(g);
118
+ return /* @__PURE__ */ n(
119
+ "li",
120
+ {
121
+ className: l(o, N.navigationItem, {
122
+ [N.collapsed]: a
123
+ }),
124
+ ...t
125
+ }
126
+ );
127
+ }, Y = "_navigationSubMenu_vfyl6_1", Z = "_collapsed_vfyl6_5", x = {
128
+ navigationSubMenu: Y,
129
+ collapsed: Z
130
+ }, oo = ({
131
+ className: o,
132
+ children: t,
133
+ items: a,
134
+ ...i
135
+ }) => {
136
+ const { isCollapsed: s } = e(g), { length: r } = Array.from(a || []);
137
+ return typeof t == "function" && r === 0 ? null : /* @__PURE__ */ n(
138
+ "ul",
139
+ {
140
+ className: l(o, x.navigationSubMenu, {
141
+ [x.collapsed]: s
142
+ }),
143
+ children: /* @__PURE__ */ n(
144
+ L,
145
+ {
146
+ items: a,
147
+ ...i,
148
+ children: t
149
+ }
150
+ )
151
+ }
152
+ );
153
+ }, no = "_navigationSection_1ae77_1", to = "_collapsed_1ae77_5", y = {
154
+ navigationSection: no,
155
+ collapsed: to
156
+ }, vo = ({
157
+ className: o,
158
+ title: t,
159
+ ...a
160
+ }) => {
161
+ const { isCollapsed: i } = e(g);
162
+ return /* @__PURE__ */ n(X, { children: /* @__PURE__ */ d(
163
+ "ul",
164
+ {
165
+ className: l(o, y.navigationSection, {
166
+ [y.collapsed]: i
167
+ }),
168
+ children: [
169
+ t && /* @__PURE__ */ n(G, { children: t }),
170
+ /* @__PURE__ */ n(L, { ...a })
171
+ ]
172
+ }
173
+ ) });
174
+ }, ao = "_navigation_3axp3_1", io = "_rootList_3axp3_5", b = {
175
+ navigation: ao,
176
+ rootList: io
177
+ }, eo = ({
178
+ className: o,
179
+ items: t,
180
+ children: a,
181
+ dependencies: i,
182
+ idScope: s,
183
+ addIdAndValue: r,
184
+ ...c
185
+ }) => /* @__PURE__ */ n(
186
+ "nav",
187
+ {
188
+ className: l(o, b.navigation),
189
+ ...c,
190
+ children: /* @__PURE__ */ n("ul", { className: b.rootList, children: /* @__PURE__ */ n(
191
+ D,
192
+ {
193
+ items: t,
194
+ children: a,
195
+ dependencies: i,
196
+ idScope: s,
197
+ addIdAndValue: r
198
+ }
199
+ ) })
200
+ }
201
+ ), mo = Object.assign(eo, {
202
+ Link: V,
203
+ SubMenu: oo
204
+ });
205
+ export {
206
+ mo as N,
207
+ G as a,
208
+ X as b,
209
+ V as c,
210
+ vo as d,
211
+ oo as e
212
+ };
@@ -0,0 +1,147 @@
1
+ 'use client';
2
+ import { jsx as e, jsxs as i } from "react/jsx-runtime";
3
+ import { T as g, C as B, P as f } from "./PanelContext-D2ADxgo6.js";
4
+ import { c as _, a as v } from "./clsx-AexbMWKp.js";
5
+ import { useControlledState as x } from "@react-stately/utils";
6
+ import { c as y, a as T, u as M, B as b } from "./useIsMobileDevice-DhQB0ae2.js";
7
+ import '../assets/Panel.css';const z = [
8
+ ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
9
+ ["path", { d: "M9 3v18", key: "fh3hqa" }],
10
+ ["path", { d: "m16 15-3-3 3-3", key: "14y99z" }]
11
+ ], H = y("panel-left-close", z);
12
+ const j = [
13
+ ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
14
+ ["path", { d: "M9 3v18", key: "fh3hqa" }],
15
+ ["path", { d: "m14 9 3 3-3 3", key: "8010ee" }]
16
+ ], I = y("panel-left-open", j);
17
+ const L = [
18
+ ["path", { d: "M18 6 6 18", key: "1bl5f8" }],
19
+ ["path", { d: "m6 6 12 12", key: "d8bk6v" }]
20
+ ], O = y("x", L), q = "_panelBody_13l7o_1", w = {
21
+ panelBody: q
22
+ }, C = ({ className: s, ...l }) => /* @__PURE__ */ e(
23
+ "aside",
24
+ {
25
+ className: _(s, w.panelBody),
26
+ ...l
27
+ }
28
+ ), D = "_panelHeader_11qv1_1", E = {
29
+ panelHeader: D
30
+ }, N = ({ className: s, ...l }) => /* @__PURE__ */ e(
31
+ "div",
32
+ {
33
+ className: _(s, E.panelHeader),
34
+ ...l
35
+ }
36
+ ), F = "_panelTitle_w7y4m_1", X = {
37
+ panelTitle: F
38
+ }, k = ({ className: s, title: l, ...n }) => /* @__PURE__ */ e(
39
+ g,
40
+ {
41
+ className: _(s, X.panelTitle),
42
+ ...n,
43
+ children: l
44
+ }
45
+ ), A = { expandSidebar: "Expand sidebar", collapseSidebar: "Collapse sidebar", closePanel: "Close panel" }, G = { expandSidebar: "Expandera sidopanel", collapseSidebar: "Minimera sidopanel", closePanel: "Stäng panel" }, S = {
46
+ en: A,
47
+ sv: G
48
+ }, J = "_collapsePanel_1uy7t_1", K = "_collapsed_1uy7t_4", Q = "_panelTitle_1uy7t_17", P = {
49
+ collapsePanel: J,
50
+ collapsed: K,
51
+ panelTitle: Q
52
+ }, R = ({
53
+ children: s,
54
+ className: l,
55
+ isCollapsed: n,
56
+ defaultCollapsed: c = !1,
57
+ onCollapseChange: d,
58
+ title: o,
59
+ ...r
60
+ }) => {
61
+ const t = T(S), p = M(), [a, m] = x(
62
+ n,
63
+ c,
64
+ d
65
+ ), h = () => m(($) => !$);
66
+ return p ? null : /* @__PURE__ */ e(B.Provider, { value: { isCollapsed: a }, children: /* @__PURE__ */ i(
67
+ C,
68
+ {
69
+ className: v(l, P.collapsePanel, {
70
+ [P.collapsed]: a
71
+ }),
72
+ ...r,
73
+ children: [
74
+ /* @__PURE__ */ i(N, { children: [
75
+ /* @__PURE__ */ e("div", { children: !a && o && /* @__PURE__ */ e(
76
+ k,
77
+ {
78
+ className: P.panelTitle,
79
+ title: o
80
+ }
81
+ ) }),
82
+ /* @__PURE__ */ e(
83
+ b,
84
+ {
85
+ variant: "icon",
86
+ "aria-label": a ? t.format("expandSidebar") : t.format("collapseSidebar"),
87
+ onPress: h,
88
+ children: a ? /* @__PURE__ */ e(I, { size: 20 }) : /* @__PURE__ */ e(H, { size: 20 })
89
+ }
90
+ )
91
+ ] }),
92
+ s
93
+ ]
94
+ }
95
+ ) });
96
+ }, U = "_dismissPanel_dpjsv_1", V = "_panelTitle_dpjsv_18", u = {
97
+ dismissPanel: U,
98
+ panelTitle: V
99
+ }, W = ({
100
+ children: s,
101
+ className: l,
102
+ isOpen: n,
103
+ defaultOpen: c = !1,
104
+ onOpenChange: d,
105
+ title: o,
106
+ ...r
107
+ }) => {
108
+ const t = T(S), [p, a] = x(
109
+ n,
110
+ c,
111
+ d
112
+ ), m = () => a((h) => !h);
113
+ return p ? /* @__PURE__ */ i(
114
+ C,
115
+ {
116
+ className: v(l, u.dismissPanel),
117
+ ...r,
118
+ children: [
119
+ /* @__PURE__ */ i(N, { children: [
120
+ /* @__PURE__ */ e("div", { children: o && /* @__PURE__ */ e(
121
+ k,
122
+ {
123
+ className: u.panelTitle,
124
+ title: o
125
+ }
126
+ ) }),
127
+ /* @__PURE__ */ e(
128
+ b,
129
+ {
130
+ variant: "icon",
131
+ "aria-label": t.format("closePanel"),
132
+ onPress: m,
133
+ children: /* @__PURE__ */ e(O, { size: 20 })
134
+ }
135
+ )
136
+ ] }),
137
+ s
138
+ ]
139
+ }
140
+ ) : null;
141
+ }, ae = ({
142
+ variant: s = "collapse",
143
+ ...l
144
+ }) => s === "collapse" ? /* @__PURE__ */ e(f.Provider, { value: { variant: s }, children: /* @__PURE__ */ e(R, { ...l }) }) : s === "dismiss" ? /* @__PURE__ */ e(f.Provider, { value: { variant: s }, children: /* @__PURE__ */ e(W, { ...l }) }) : null;
145
+ export {
146
+ ae as P
147
+ };
@@ -0,0 +1,44 @@
1
+ 'use client';
2
+ import { jsx as d } from "react/jsx-runtime";
3
+ import { c as m } from "./clsx-AexbMWKp.js";
4
+ import { Text as p } from "react-aria-components";
5
+ import { createContext as e } from "react";
6
+ import '../assets/PanelContext.css';const _ = "_body_g096r_1", b = "_description_g096r_3", x = "_bold_g096r_24", g = "_italic_g096r_28", s = {
7
+ body: _,
8
+ "body-small": "_body-small_g096r_2",
9
+ description: b,
10
+ "description-small": "_description-small_g096r_4",
11
+ bold: x,
12
+ italic: g
13
+ }, l = "span", N = ({
14
+ children: r,
15
+ className: a,
16
+ size: o,
17
+ isExpressive: n = !1,
18
+ elementType: t = l,
19
+ ...i
20
+ }) => {
21
+ const c = {
22
+ className: m(
23
+ i.slot === "description" ? o === "small" ? s["description-small"] : s.description : o === "small" ? s["body-small"] : s.body,
24
+ {
25
+ [s.bold]: ["b", "strong"].includes(t),
26
+ [s.italic]: ["i", "em"].includes(t)
27
+ },
28
+ a
29
+ ),
30
+ elementType: t || l,
31
+ ...n && { "data-expressive": !0 },
32
+ ...i
33
+ };
34
+ return /* @__PURE__ */ d(p, { ...c, children: r });
35
+ }, P = e({
36
+ variant: void 0
37
+ }), v = e({
38
+ isCollapsed: !1
39
+ });
40
+ export {
41
+ v as C,
42
+ P,
43
+ N as T
44
+ };
@@ -0,0 +1,24 @@
1
+ function u(r) {
2
+ var f, t, n = "";
3
+ if (typeof r == "string" || typeof r == "number") n += r;
4
+ else if (typeof r == "object") if (Array.isArray(r)) {
5
+ var o = r.length;
6
+ for (f = 0; f < o; f++) r[f] && (t = u(r[f])) && (n && (n += " "), n += t);
7
+ } else for (t in r) r[t] && (n && (n += " "), n += t);
8
+ return n;
9
+ }
10
+ function i() {
11
+ for (var r, f, t = 0, n = "", o = arguments.length; t < o; t++) (r = arguments[t]) && (f = u(r)) && (n && (n += " "), n += f);
12
+ return n;
13
+ }
14
+ function e(...r) {
15
+ return r.some((f) => typeof f == "function") ? (f) => i(
16
+ r.map(
17
+ (t) => typeof t == "function" ? t(f) : t
18
+ )
19
+ ) : i(r);
20
+ }
21
+ export {
22
+ i as a,
23
+ e as c
24
+ };