@midas-ds/components 16.7.0 → 16.8.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,466 +0,0 @@
1
- import { jsx as e, jsxs as r, Fragment as H } from "react/jsx-runtime";
2
- import { G as S } from "./GridItem-z7zclNdT.js";
3
- import * as N from "react";
4
- import { useState as G, useEffect as W } from "react";
5
- import { c as u } from "./clsx-AexbMWKp.js";
6
- import { Link as L, RouterProvider as O } from "react-aria-components";
7
- import { B as M } from "./Button-CaLOUTDO.js";
8
- import { a as j, T as D } from "./Tooltip-rDmOkGmX.js";
9
- import { a as y, B as I } from "./BadgeContainer-CKVsfTlF.js";
10
- import { c as E } from "./createLucideIcon-CP-mMPfa.js";
11
- import { u as C } from "./useLocalizedStringFormatter-BHvsRxDk.js";
12
- import { variables as q } from "@midas-ds/theme";
13
- import { L as g } from "./Logo-CCxPAmgw.js";
14
- import { X as A } from "./x-B9bYxG31.js";
15
- import '../assets/Layout.css';const R = [
16
- ["path", { d: "M4 5h16", key: "1tepv9" }],
17
- ["path", { d: "M4 12h16", key: "1lakjw" }],
18
- ["path", { d: "M4 19h16", key: "1djgab" }]
19
- ], $ = E("menu", R);
20
- const F = [
21
- ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
22
- ["path", { d: "M9 3v18", key: "fh3hqa" }],
23
- ["path", { d: "m16 15-3-3 3-3", key: "14y99z" }]
24
- ], X = E("panel-left-close", F);
25
- const J = [
26
- ["rect", { width: "18", height: "18", x: "3", y: "3", rx: "2", key: "afitv7" }],
27
- ["path", { d: "M9 3v18", key: "fh3hqa" }],
28
- ["path", { d: "m14 9 3 3-3 3", key: "8010ee" }]
29
- ], K = E("panel-left-open", J), Q = "_baseLayout_1n71v_1", U = "_mainContent_1n71v_10", V = "_header_1n71v_15", Y = "_headerExternal_1n71v_26", Z = "_headerContent_1n71v_41", ee = "_logo_1n71v_60", ae = "_headerItems_1n71v_69", ne = "_toggleButton_1n71v_75", te = "_sidebar_1n71v_83", se = "_main_1n71v_10", ie = "_app_1n71v_116", re = "_sidebarOpened_1n71v_124", oe = "_sidebarHeader_1n71v_128", le = "_appName_1n71v_140", de = "_collapseButton_1n71v_147", ce = "_sidebarCollapsed_1n71v_156", me = "_userName_1n71v_166", pe = "_userTitle_1n71v_184", _e = "_title_1n71v_196", ve = "_sidebarNav_1n71v_207", ue = "_list_1n71v_213", he = "_listGroupTitle_1n71v_219", be = "_listItem_1n71v_226", Ne = "_listItemCollapsed_1n71v_231", fe = "_listLink_1n71v_235", ke = "_listLinkCollapsed_1n71v_298", Ce = "_active_1n71v_303", xe = "_backdrop_1n71v_321", ge = "_backdropOpened_1n71v_331", Le = "_skipToContent_1n71v_349", ye = "_navbar_1n71v_363", Ie = "_navbarList_1n71v_375", Me = "_navbarItem_1n71v_397", Ee = "_headerContentExternal_1n71v_448", Te = "_logoExternalContainer_1n71v_456", Se = "_logoExternal_1n71v_456", ze = "_logoExternalDesktop_1n71v_468", Be = "_navbarWrapper_1n71v_477", a = {
30
- baseLayout: Q,
31
- mainContent: U,
32
- header: V,
33
- headerExternal: Y,
34
- headerContent: Z,
35
- logo: ee,
36
- headerItems: ae,
37
- toggleButton: ne,
38
- sidebar: te,
39
- main: se,
40
- app: ie,
41
- sidebarOpened: re,
42
- sidebarHeader: oe,
43
- appName: le,
44
- collapseButton: de,
45
- sidebarCollapsed: ce,
46
- userName: me,
47
- userTitle: pe,
48
- title: _e,
49
- sidebarNav: ve,
50
- list: ue,
51
- listGroupTitle: he,
52
- listItem: be,
53
- listItemCollapsed: Ne,
54
- listLink: fe,
55
- listLinkCollapsed: ke,
56
- active: Ce,
57
- backdrop: xe,
58
- backdropOpened: ge,
59
- skipToContent: Le,
60
- navbar: ye,
61
- navbarList: Ie,
62
- navbarItem: Me,
63
- headerContentExternal: Ee,
64
- logoExternalContainer: Te,
65
- logoExternal: Se,
66
- logoExternalDesktop: ze,
67
- navbarWrapper: Be
68
- }, w = N.createContext(
69
- void 0
70
- ), Oe = ({
71
- items: t,
72
- title: s,
73
- user: i,
74
- app: n,
75
- children: o,
76
- clientSideRouter: m,
77
- clientSideHref: d,
78
- headerChildren: v,
79
- isCollapsed: _,
80
- setIsCollapsed: p,
81
- isOpened: h,
82
- setIsOpened: l,
83
- variant: b,
84
- id: f
85
- }) => /* @__PURE__ */ e(
86
- w.Provider,
87
- {
88
- value: {
89
- items: t,
90
- title: s,
91
- user: i,
92
- app: n,
93
- headerChildren: v,
94
- isCollapsed: _,
95
- setIsCollapsed: p,
96
- isOpened: h,
97
- setIsOpened: l,
98
- clientSideRouter: m,
99
- clientSideHref: d,
100
- variant: b,
101
- id: f
102
- },
103
- children: o
104
- }
105
- ), k = () => {
106
- const t = N.useContext(w);
107
- if (!t)
108
- throw new Error("useLayoutContext must be used within a LayoutProvider");
109
- return t;
110
- }, P = ({
111
- title: t,
112
- href: s,
113
- icon: i,
114
- active: n,
115
- hasBadge: o
116
- }) => {
117
- const { isCollapsed: m, setIsOpened: d, clientSideHref: v } = k(), _ = v ? v(s) : s, [p, h] = G(!1);
118
- return W(() => {
119
- if (typeof window < "u") {
120
- const l = window.location.pathname === _ || window.location.pathname.startsWith(_ + "/");
121
- h(n ?? l);
122
- }
123
- }, [n, _]), m ? /* @__PURE__ */ r(j, { children: [
124
- /* @__PURE__ */ e(
125
- L,
126
- {
127
- href: s,
128
- "aria-label": t,
129
- className: u(
130
- a.listLink,
131
- a.listLinkCollapsed,
132
- p && a.active
133
- ),
134
- onPress: () => d?.(!1),
135
- children: /* @__PURE__ */ r(y, { children: [
136
- /* @__PURE__ */ e(
137
- i,
138
- {
139
- size: 20,
140
- "aria-label": t
141
- }
142
- ),
143
- o && /* @__PURE__ */ e(I, {})
144
- ] })
145
- }
146
- ),
147
- /* @__PURE__ */ e(D, { placement: "right", children: t })
148
- ] }) : /* @__PURE__ */ r(
149
- L,
150
- {
151
- href: s,
152
- "aria-label": t,
153
- className: u(a.listLink, p && a.active),
154
- onPress: () => d?.(!1),
155
- children: [
156
- /* @__PURE__ */ r(y, { children: [
157
- /* @__PURE__ */ e(i, { size: 20 }),
158
- o && /* @__PURE__ */ e(I, {})
159
- ] }),
160
- t
161
- ]
162
- }
163
- );
164
- }, we = { closeMenu: "Close menu", openMenu: "Open menu", maximizeMenu: "Maximize menu", minimizeMenu: "Minimize menu", sidebarMenu: "Sidebar menu", bottomMenu: "Bottom menu", skipToContent: "Skip to main content" }, Pe = { closeMenu: "Stäng meny", openMenu: "Öppna meny", maximizeMenu: "Maximera meny", minimizeMenu: "Minimera meny", sidebarMenu: "Sidomeny", bottomMenu: "Bottenmeny", skipToContent: "Hoppa till huvudinnehåll" }, x = {
165
- en: we,
166
- sv: Pe
167
- }, He = () => {
168
- const {
169
- items: t,
170
- app: s,
171
- isOpened: i,
172
- isCollapsed: n,
173
- setIsCollapsed: o,
174
- setIsOpened: m,
175
- clientSideRouter: d,
176
- clientSideHref: v,
177
- id: _
178
- } = k(), p = C(x), h = ({ group: l }) => /* @__PURE__ */ e("ul", { className: a.list, children: l.items.map((b, f) => /* @__PURE__ */ e(
179
- "li",
180
- {
181
- className: u(
182
- a.listItem,
183
- n && a.listItemCollapsed
184
- ),
185
- children: /* @__PURE__ */ e(P, { ...b })
186
- },
187
- "link_" + f
188
- )) });
189
- return N.useEffect(() => {
190
- const l = (b) => {
191
- b.key === "Escape" && m !== void 0 && m(!1);
192
- };
193
- return window.addEventListener("keydown", l), () => {
194
- window.removeEventListener("keydown", l);
195
- };
196
- }, [m]), /* @__PURE__ */ r(
197
- "aside",
198
- {
199
- id: _,
200
- className: u(
201
- a.sidebar,
202
- n && a.sidebarCollapsed,
203
- i && a.sidebarOpened
204
- ),
205
- children: [
206
- /* @__PURE__ */ r("div", { className: a.sidebarHeader, children: [
207
- !n && /* @__PURE__ */ e("p", { className: a.appName, children: s.name }),
208
- /* @__PURE__ */ e(
209
- M,
210
- {
211
- variant: "icon",
212
- "aria-label": n ? p.format("maximizeMenu") : p.format("minimizeMenu"),
213
- onPress: () => o(!n),
214
- className: a.collapseButton,
215
- children: n ? /* @__PURE__ */ e(K, { size: 20 }) : /* @__PURE__ */ e(X, { size: 20 })
216
- }
217
- )
218
- ] }),
219
- /* @__PURE__ */ e(
220
- "nav",
221
- {
222
- className: a.sidebarNav,
223
- "aria-label": p.format("sidebarMenu"),
224
- children: /* @__PURE__ */ e("ul", { className: a.list, children: t.map((l, b) => /* @__PURE__ */ r("li", { children: [
225
- l.title && !n && /* @__PURE__ */ e("p", { className: a.listGroupTitle, children: l.title }),
226
- d ? /* @__PURE__ */ e(
227
- O,
228
- {
229
- navigate: d,
230
- useHref: v,
231
- children: /* @__PURE__ */ e(h, { group: l })
232
- }
233
- ) : /* @__PURE__ */ e(h, { group: l })
234
- ] }, "list_" + b)) })
235
- }
236
- )
237
- ]
238
- }
239
- );
240
- }, Ge = () => {
241
- const {
242
- title: t,
243
- user: s,
244
- app: i,
245
- isOpened: n,
246
- setIsOpened: o,
247
- setIsCollapsed: m,
248
- headerChildren: d,
249
- variant: v,
250
- id: _
251
- } = k(), p = C(x);
252
- return v === "external" ? /* @__PURE__ */ e("header", { className: u(a.header, a.headerExternal), children: /* @__PURE__ */ r("div", { className: a.headerContentExternal, children: [
253
- /* @__PURE__ */ r("div", { className: a.logoExternalContainer, children: [
254
- /* @__PURE__ */ e(
255
- g,
256
- {
257
- size: "x-small",
258
- padding: !1,
259
- className: a.logoExternal
260
- }
261
- ),
262
- /* @__PURE__ */ e(
263
- g,
264
- {
265
- size: "small",
266
- padding: !1,
267
- className: a.logoExternalDesktop
268
- }
269
- ),
270
- /* @__PURE__ */ r("div", { children: [
271
- /* @__PURE__ */ e("p", { className: a.userName, children: s.name }),
272
- /* @__PURE__ */ e("p", { className: a.userTitle, children: s.title })
273
- ] })
274
- ] }),
275
- /* @__PURE__ */ e("div", { className: a.headerItems, children: d })
276
- ] }) }) : /* @__PURE__ */ r(
277
- "header",
278
- {
279
- className: a.header,
280
- style: {
281
- borderTop: `solid 4px ${i.color ? i.color : q.brandPrimary}`
282
- },
283
- children: [
284
- /* @__PURE__ */ r("div", { className: a.headerContent, children: [
285
- /* @__PURE__ */ e("div", { className: a.logo, children: /* @__PURE__ */ e(
286
- g,
287
- {
288
- size: "small",
289
- padding: !1
290
- }
291
- ) }),
292
- n !== void 0 && /* @__PURE__ */ e(
293
- M,
294
- {
295
- variant: "icon",
296
- className: a.toggleButton,
297
- "aria-label": n ? p.format("closeMenu") : p.format("openMenu"),
298
- "aria-controls": _,
299
- onPressStart: () => {
300
- m(!1), o?.(!0);
301
- },
302
- children: n ? /* @__PURE__ */ e(
303
- A,
304
- {
305
- size: 20,
306
- "aria-hidden": "true"
307
- }
308
- ) : /* @__PURE__ */ e(
309
- $,
310
- {
311
- size: 20,
312
- "aria-hidden": "true"
313
- }
314
- )
315
- }
316
- ),
317
- /* @__PURE__ */ r("div", { children: [
318
- /* @__PURE__ */ e("p", { className: a.userName, children: s.name }),
319
- /* @__PURE__ */ e("p", { className: a.userTitle, children: s.title }),
320
- /* @__PURE__ */ e("p", { className: a.title, children: t })
321
- ] })
322
- ] }),
323
- /* @__PURE__ */ e("div", { className: a.headerItems, children: d })
324
- ]
325
- }
326
- );
327
- }, z = ({
328
- id: t = "main:first-of-type"
329
- }) => {
330
- const s = () => {
331
- const n = document.querySelector(t);
332
- n && (n.tabIndex = -1, n.focus(), setTimeout(() => n.removeAttribute("tabindex"), 1e3));
333
- }, i = C(x);
334
- return /* @__PURE__ */ e(
335
- M,
336
- {
337
- onPress: s,
338
- className: a.skipToContent,
339
- children: i.format("skipToContent")
340
- }
341
- );
342
- }, We = () => {
343
- const { isOpened: t, setIsOpened: s } = k();
344
- return t ? /* @__PURE__ */ e(
345
- "div",
346
- {
347
- className: u(a.backdrop, a.backdropOpened),
348
- onClick: () => {
349
- s?.(!1);
350
- },
351
- "aria-hidden": !0
352
- }
353
- ) : null;
354
- }, je = () => {
355
- const { items: t, clientSideRouter: s, clientSideHref: i } = k(), n = C(x), o = t.at(0)?.items;
356
- return /* @__PURE__ */ e(
357
- "nav",
358
- {
359
- className: a.navbar,
360
- "aria-label": n.format("bottomMenu"),
361
- children: o && /* @__PURE__ */ e("ul", { className: u(a.navbarList), children: s ? /* @__PURE__ */ e(
362
- O,
363
- {
364
- navigate: s,
365
- useHref: i,
366
- children: /* @__PURE__ */ e(B, { items: o })
367
- }
368
- ) : /* @__PURE__ */ e(B, { items: o }) })
369
- }
370
- );
371
- }, B = ({
372
- items: t
373
- }) => /* @__PURE__ */ e(H, { children: t.map(({ href: s, active: i, icon: n, title: o, hasBadge: m }, d) => /* @__PURE__ */ e("li", { children: /* @__PURE__ */ r(
374
- L,
375
- {
376
- href: s,
377
- className: u(a.navbarItem),
378
- "data-active": i,
379
- "aria-current": i && "page",
380
- children: [
381
- /* @__PURE__ */ r(y, { children: [
382
- /* @__PURE__ */ e(n, { size: 20 }),
383
- m && /* @__PURE__ */ e(I, {})
384
- ] }),
385
- o
386
- ]
387
- }
388
- ) }, d)) }), c = ({
389
- items: t,
390
- title: s,
391
- user: i,
392
- app: n,
393
- children: o,
394
- headerChildren: m,
395
- clientSideRouter: d,
396
- clientSideHref: v,
397
- variant: _,
398
- className: p
399
- }) => {
400
- const [h, l] = N.useState(!1), [b, f] = N.useState(!1), T = N.useId();
401
- return _ === "external" ? /* @__PURE__ */ e(
402
- c.Provider,
403
- {
404
- items: t,
405
- title: s,
406
- user: i,
407
- app: n,
408
- clientSideRouter: d,
409
- clientSideHref: v,
410
- headerChildren: m,
411
- isCollapsed: h,
412
- setIsCollapsed: l,
413
- variant: _,
414
- id: T,
415
- children: /* @__PURE__ */ r("div", { className: u(a.baseLayout, p), children: [
416
- /* @__PURE__ */ e(z, {}),
417
- /* @__PURE__ */ e(c.Header, {}),
418
- /* @__PURE__ */ r("div", { className: a.mainContent, children: [
419
- /* @__PURE__ */ e(c.Sidebar, {}),
420
- /* @__PURE__ */ e(S, { children: /* @__PURE__ */ e("main", { className: a.main, children: /* @__PURE__ */ e("div", { className: a.app, children: o }) }) }),
421
- /* @__PURE__ */ e(c.Backdrop, {})
422
- ] }),
423
- /* @__PURE__ */ e("div", { className: a.navbarWrapper, children: /* @__PURE__ */ e(c.Navbar, {}) })
424
- ] })
425
- }
426
- ) : /* @__PURE__ */ e(
427
- c.Provider,
428
- {
429
- items: t,
430
- title: s,
431
- user: i,
432
- app: n,
433
- clientSideRouter: d,
434
- clientSideHref: v,
435
- headerChildren: m,
436
- isCollapsed: h,
437
- setIsCollapsed: l,
438
- isOpened: b,
439
- setIsOpened: f,
440
- variant: _,
441
- id: T,
442
- children: /* @__PURE__ */ r("div", { className: u(a.baseLayout, p), children: [
443
- /* @__PURE__ */ e(z, {}),
444
- /* @__PURE__ */ e(c.Header, {}),
445
- /* @__PURE__ */ r("div", { className: a.mainContent, children: [
446
- /* @__PURE__ */ e(c.Sidebar, {}),
447
- /* @__PURE__ */ e(S, { children: /* @__PURE__ */ e("main", { className: a.main, children: /* @__PURE__ */ e("div", { className: a.app, children: o }) }) }),
448
- /* @__PURE__ */ e(c.Backdrop, {})
449
- ] })
450
- ] })
451
- }
452
- );
453
- };
454
- c.Provider = Oe;
455
- c.Header = Ge;
456
- c.Sidebar = He;
457
- c.SidebarLink = P;
458
- c.Navbar = je;
459
- c.Backdrop = We;
460
- export {
461
- Ge as H,
462
- c as L,
463
- je as N,
464
- He as S,
465
- P as a
466
- };