@altinn/altinn-components 0.61.3 → 0.63.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.
Files changed (28) hide show
  1. package/dist/LayoutBase-CAdjuw9Q.js +18 -0
  2. package/dist/assets/Banner.css +1 -1
  3. package/dist/assets/HeaderDrawer.css +1 -1
  4. package/dist/assets/HeaderDropdown.css +1 -1
  5. package/dist/assets/LayoutBase.css +1 -1
  6. package/dist/assets/SettingsListVirtual.css +1 -0
  7. package/dist/components/Banner/Banner.js +34 -34
  8. package/dist/components/GlobalHeader/HeaderDrawer.js +13 -13
  9. package/dist/components/GlobalHeader/HeaderDropdown.js +8 -8
  10. package/dist/components/Layout/Layout.js +63 -40
  11. package/dist/components/Layout/LayoutBase.js +3 -5
  12. package/dist/components/Layout/index.js +9 -9
  13. package/dist/components/Settings/SettingsItemBase.js +31 -30
  14. package/dist/components/Settings/SettingsList.js +34 -25
  15. package/dist/components/Settings/SettingsListVirtual.js +115 -0
  16. package/dist/components/Settings/index.js +10 -8
  17. package/dist/components/index.js +72 -70
  18. package/dist/index.js +86 -84
  19. package/dist/types/lib/components/Banner/Banner.stories.d.ts +1 -0
  20. package/dist/types/lib/components/Layout/Layout.d.ts +14 -1
  21. package/dist/types/lib/components/Layout/Layout.stories.d.ts +3 -1
  22. package/dist/types/lib/components/Layout/LayoutBase.d.ts +2 -1
  23. package/dist/types/lib/components/Settings/SettingsItem.stories.d.ts +1 -0
  24. package/dist/types/lib/components/Settings/SettingsItemBase.d.ts +2 -1
  25. package/dist/types/lib/components/Settings/SettingsList.d.ts +2 -1
  26. package/dist/types/lib/components/Settings/SettingsListVirtual.d.ts +9 -0
  27. package/dist/types/lib/components/Settings/index.d.ts +1 -0
  28. package/package.json +1 -1
@@ -1,42 +1,51 @@
1
- import { jsx as t, jsxs as a } from "react/jsx-runtime";
2
- import { Fragment as c, createElement as d } from "react";
1
+ import { jsx as t, jsxs as u } from "react/jsx-runtime";
2
+ import { Fragment as f, createElement as g } from "react";
3
3
  import "../../index-p1eeF8LQ.js";
4
- import { useMenu as N } from "../../hooks/useMenu.js";
5
- import { H as u } from "../../ToolbarSearch-56Sm2j7P.js";
4
+ import { useMenu as x } from "../../hooks/useMenu.js";
5
+ import { H as h } from "../../ToolbarSearch-56Sm2j7P.js";
6
6
  import "../Typography/Link.js";
7
7
  import "../Button/Button.js";
8
8
  import { s } from "../../settlingsList.module-So3_AYgj.js";
9
9
  import "react-dom";
10
10
  import "../Snackbar/useSnackbar.js";
11
- import { SettingsItem as g } from "./SettingsItem.js";
12
- const w = ({ items: h, variant: i = "default", groups: f = {}, sortGroupBy: y }) => {
13
- const { menu: p } = N({
14
- items: h,
15
- groups: f,
11
+ import { SettingsItem as y } from "./SettingsItem.js";
12
+ import { SettingsListVirtual as P } from "./SettingsListVirtual.js";
13
+ const K = ({
14
+ items: p,
15
+ variant: i = "default",
16
+ groups: a = {},
17
+ sortGroupBy: c,
18
+ virtualized: N
19
+ }) => {
20
+ if (N)
21
+ return /* @__PURE__ */ t(P, { items: p, variant: i, groups: a, sortGroupBy: c });
22
+ const { menu: d } = x({
23
+ items: p,
24
+ groups: a,
16
25
  groupByKey: "groupId",
17
26
  keyboardEvents: !1,
18
- sortGroupBy: y
27
+ sortGroupBy: c
19
28
  });
20
- return i === "menu" ? /* @__PURE__ */ t("div", { className: s.section, "data-variant": i, children: p?.map((e, o) => {
29
+ return i === "menu" ? /* @__PURE__ */ t("div", { className: s.section, "data-variant": i, children: d?.map((e, m) => {
21
30
  const r = e.props || {};
22
- return /* @__PURE__ */ a(c, { children: [
23
- r?.title && /* @__PURE__ */ t(u, { size: "xs", weight: "normal", variant: "subtle", children: r.title }),
24
- /* @__PURE__ */ t("ul", { className: s.list, children: e?.items.map((m, n) => {
25
- const l = m.props || {};
26
- return /* @__PURE__ */ d(g, { ...l, key: "settings-list-item" + n });
31
+ return /* @__PURE__ */ u(f, { children: [
32
+ r?.title && /* @__PURE__ */ t(h, { size: "xs", weight: "normal", variant: "subtle", children: r.title }),
33
+ /* @__PURE__ */ t("ul", { className: s.list, children: e?.items.map((o, n) => {
34
+ const l = o.props || {};
35
+ return /* @__PURE__ */ g(y, { ...l, key: "settings-list-item" + n });
27
36
  }) })
28
- ] }, o);
29
- }) }) : /* @__PURE__ */ t("div", { className: s.section, "data-variant": i, children: p?.map((e, o) => {
37
+ ] }, m);
38
+ }) }) : /* @__PURE__ */ t("div", { className: s.section, "data-variant": i, children: d?.map((e, m) => {
30
39
  const r = e.props || {};
31
- return /* @__PURE__ */ a(c, { children: [
32
- r?.title && /* @__PURE__ */ t(u, { size: "lg", children: r.title }),
33
- /* @__PURE__ */ t("section", { className: s.group, children: /* @__PURE__ */ t("ul", { className: s.list, children: e?.items.map((m, n) => {
34
- const l = m.props || {};
35
- return /* @__PURE__ */ d(g, { ...l, key: "settings-list-item" + n });
40
+ return /* @__PURE__ */ u(f, { children: [
41
+ r?.title && /* @__PURE__ */ t(h, { size: "lg", children: r.title }),
42
+ /* @__PURE__ */ t("section", { className: s.group, children: /* @__PURE__ */ t("ul", { className: s.list, children: e?.items.map((o, n) => {
43
+ const l = o.props || {};
44
+ return /* @__PURE__ */ g(y, { ...l, key: "settings-list-item" + n });
36
45
  }) }) })
37
- ] }, o);
46
+ ] }, m);
38
47
  }) });
39
48
  };
40
49
  export {
41
- w as SettingsList
50
+ K as SettingsList
42
51
  };
@@ -0,0 +1,115 @@
1
+ "use client";
2
+ import { jsx as i } from "react/jsx-runtime";
3
+ import { u as C } from "../../useMenuVirtualization-Cs426RCN.js";
4
+ import { useRef as h, useEffect as y } from "react";
5
+ import "../../index-p1eeF8LQ.js";
6
+ import { useMenu as L } from "../../hooks/useMenu.js";
7
+ import { H as f } from "../../ToolbarSearch-56Sm2j7P.js";
8
+ import "../Typography/Link.js";
9
+ import "../Button/Button.js";
10
+ import "react-dom";
11
+ import "../Snackbar/useSnackbar.js";
12
+ import { SettingsItem as G } from "./SettingsItem.js";
13
+ import '../../assets/SettingsListVirtual.css';const S = "_virtualScrollRefWrapper_5p35f_1", x = "_virtualScrollRef_5p35f_1", F = "_virtualList_5p35f_12", N = "_virtualListItem_5p35f_19", z = "_virtualTitleItem_5p35f_35", M = "_groupCard_5p35f_43", $ = "_groupCardFirst_5p35f_49", E = "_groupCardLast_5p35f_55", R = "_groupCardNotFirst_5p35f_61", T = "_groupGapDefault_5p35f_65", W = "_groupGapMenu_5p35f_69", e = {
14
+ virtualScrollRefWrapper: S,
15
+ virtualScrollRef: x,
16
+ virtualList: F,
17
+ virtualListItem: N,
18
+ virtualTitleItem: z,
19
+ groupCard: M,
20
+ groupCardFirst: $,
21
+ groupCardLast: E,
22
+ groupCardNotFirst: R,
23
+ groupGapDefault: T,
24
+ groupGapMenu: W
25
+ }, K = ({
26
+ items: d,
27
+ variant: o = "default",
28
+ groups: g = {},
29
+ sortGroupBy: _
30
+ }) => {
31
+ const a = h(null), { menu: I } = L({
32
+ items: d,
33
+ groups: g,
34
+ groupByKey: "groupId",
35
+ keyboardEvents: !1,
36
+ sortGroupBy: _
37
+ }), u = I.flatMap((r) => {
38
+ const t = r?.props || {}, { title: s } = t, n = r?.items || [], l = [];
39
+ return s && l.push({ type: "title", title: s }), n.forEach((v, m) => {
40
+ l.push({
41
+ type: "item",
42
+ itemProps: v.props || {},
43
+ isFirstInGroup: m === 0,
44
+ isLastInGroup: m === n.length - 1
45
+ });
46
+ }), l;
47
+ }), p = C({
48
+ count: u.length,
49
+ useAnimationFrameWithResizeObserver: !0,
50
+ gap: 0,
51
+ estimateSize: (r) => {
52
+ const t = u[r];
53
+ if (!t) return 56;
54
+ if (t.type === "title") return r === 0 ? 48 : 72;
55
+ const s = o === "menu" ? 8 : 24;
56
+ return t.isLastInGroup ? 56 + s : 56;
57
+ },
58
+ getScrollElement: () => a.current
59
+ }), c = p.getVirtualItems();
60
+ return y(() => {
61
+ for (const r of c) {
62
+ const t = a.current?.querySelector(`[data-index="${r.index}"]`) ?? a.current?.querySelector(`[dataindex="${r.index}"]`) ?? a.current?.querySelector(`[dataIndex="${r.index}"]`);
63
+ t && p.measureElement(t);
64
+ }
65
+ }, [c]), /* @__PURE__ */ i("div", { className: e.virtualScrollRefWrapper, children: /* @__PURE__ */ i("div", { ref: a, className: e.virtualScrollRef, children: /* @__PURE__ */ i(
66
+ "ul",
67
+ {
68
+ className: e.virtualList,
69
+ style: {
70
+ position: "relative",
71
+ height: `${p.getTotalSize()}px`
72
+ },
73
+ children: c.map((r) => {
74
+ const t = u[r.index];
75
+ if (!t) return null;
76
+ if (t.type === "title")
77
+ return /* @__PURE__ */ i(
78
+ "li",
79
+ {
80
+ "data-index": r.index,
81
+ className: e.virtualTitleItem,
82
+ style: {
83
+ transform: `translateY(${r.start}px)`,
84
+ paddingBottom: o === "menu" ? "0.5rem" : "1.5rem"
85
+ },
86
+ children: o === "menu" ? /* @__PURE__ */ i(f, { size: "xs", weight: "normal", variant: "subtle", children: t.title }) : /* @__PURE__ */ i(f, { size: "lg", children: t.title })
87
+ },
88
+ r.key
89
+ );
90
+ const s = o === "default", n = [
91
+ e.virtualListItem,
92
+ t.isLastInGroup ? o === "menu" ? e.groupGapMenu : e.groupGapDefault : ""
93
+ ].filter(Boolean).join(" "), l = [
94
+ s ? e.groupCard : "",
95
+ s && t.isFirstInGroup ? e.groupCardFirst : "",
96
+ s && t.isLastInGroup ? e.groupCardLast : "",
97
+ s && !t.isFirstInGroup ? e.groupCardNotFirst : ""
98
+ ].filter(Boolean).join(" ");
99
+ return /* @__PURE__ */ i(
100
+ "li",
101
+ {
102
+ "data-index": r.index,
103
+ className: n,
104
+ style: { transform: `translateY(${r.start}px)` },
105
+ children: /* @__PURE__ */ i("div", { className: l, children: /* @__PURE__ */ i(G, { ...t.itemProps, containerAs: "div" }) })
106
+ },
107
+ r.key
108
+ );
109
+ })
110
+ }
111
+ ) }) });
112
+ };
113
+ export {
114
+ K as SettingsListVirtual
115
+ };
@@ -1,16 +1,18 @@
1
1
  import { SettingsItem as o } from "./SettingsItem.js";
2
2
  import { SettingsItemBase as m } from "./SettingsItemBase.js";
3
- import { SettingsList as f } from "./SettingsList.js";
4
- import { SettingsSection as i } from "./SettingsSection.js";
5
- import { SettingsModal as x } from "./SettingsModal.js";
6
- import { UsedByLog as S } from "./UsedByLog.js";
3
+ import { SettingsList as i } from "./SettingsList.js";
4
+ import { SettingsListVirtual as g } from "./SettingsListVirtual.js";
5
+ import { SettingsSection as x } from "./SettingsSection.js";
6
+ import { SettingsModal as S } from "./SettingsModal.js";
7
+ import { UsedByLog as a } from "./UsedByLog.js";
7
8
  import { UsedByLogItem as B } from "./UsedByLogItem.js";
8
9
  export {
9
10
  o as SettingsItem,
10
11
  m as SettingsItemBase,
11
- f as SettingsList,
12
- x as SettingsModal,
13
- i as SettingsSection,
14
- S as UsedByLog,
12
+ i as SettingsList,
13
+ g as SettingsListVirtual,
14
+ S as SettingsModal,
15
+ x as SettingsSection,
16
+ a as UsedByLog,
15
17
  B as UsedByLogItem
16
18
  };
@@ -69,7 +69,7 @@ import { ItemControls as ae } from "./Item/ItemControls.js";
69
69
  import { ItemSelect as xe } from "./Item/ItemSelect.js";
70
70
  import { ItemBase as ie } from "./Item/ItemBase.js";
71
71
  import { ItemLink as ne } from "./Item/ItemLink.js";
72
- import { LayoutBase as ce } from "./Layout/LayoutBase.js";
72
+ import { L as ce } from "../LayoutBase-CAdjuw9Q.js";
73
73
  import { LayoutGrid as de } from "./Layout/LayoutGrid.js";
74
74
  import { LayoutBody as De } from "./Layout/LayoutBody.js";
75
75
  import { LayoutContent as Be } from "./Layout/LayoutContent.js";
@@ -170,33 +170,34 @@ import { CheckboxOptions as Ya } from "./Forms/CheckboxOptions.js";
170
170
  import { SettingsItem as _a } from "./Settings/SettingsItem.js";
171
171
  import { SettingsItemBase as op } from "./Settings/SettingsItemBase.js";
172
172
  import { SettingsList as ep } from "./Settings/SettingsList.js";
173
- import { SettingsSection as mp } from "./Settings/SettingsSection.js";
174
- import { SettingsModal as pp } from "./Settings/SettingsModal.js";
175
- import { UsedByLog as fp } from "./Settings/UsedByLog.js";
176
- import { UsedByLogItem as sp } from "./Settings/UsedByLogItem.js";
177
- import { DashboardHeader as lp } from "./Dashboard/DashboardHeader.js";
178
- import { DashboardCard as up } from "./Dashboard/DashboardCard.js";
179
- import { ActivityLog as gp } from "./ActivityLog/ActivityLog.js";
180
- import { ActivityLogSegment as Lp } from "./ActivityLog/ActivityLogSegment.js";
181
- import { ActivityLogItem as Ip } from "./ActivityLog/ActivityLogItem.js";
182
- import { ArticleHeader as bp } from "./Article/ArticleHeader.js";
183
- import { ArticleContact as Mp } from "./Article/ArticleContact.js";
184
- import { Article as Tp } from "./Article/Article.js";
185
- import { ModalBase as hp } from "./Modal/ModalBase.js";
186
- import { ModalHeader as Cp } from "./Modal/ModalHeader.js";
187
- import { ModalFooter as Hp } from "./Modal/ModalFooter.js";
188
- import { ModalIcon as wp } from "./Modal/ModalIcon.js";
189
- import { ModalBody as Rp } from "./Modal/ModalBody.js";
190
- import { Modal as Np } from "./Modal/Modal.js";
191
- import { Tooltip as Vp } from "./Tooltip/Tooltip.js";
192
- import { A as zp } from "../alert-BzifOfXl.js";
193
- import { B as jp, C as qp, a as Jp, b as Kp, D as Wp, L as Xp, c as Yp, P as Zp, d as _p, e as $p, f as ox, S as rx, g as ex, T as tx, u as mx } from "../textfield-f4Za2qt6.js";
194
- import { B as px, S as xx } from "../button-BB5sYVKY.js";
195
- import { D as ix } from "../index-Q0EA2XB0.js";
196
- import { H as nx } from "../heading-C_XYsUfi.js";
197
- import { L as cx } from "../link-D1SA3LCe.js";
198
- import { P as dx } from "../paragraph-BRiIBpbY.js";
199
- import { V as Dx } from "../index-z82sbSVU.js";
173
+ import { SettingsListVirtual as mp } from "./Settings/SettingsListVirtual.js";
174
+ import { SettingsSection as pp } from "./Settings/SettingsSection.js";
175
+ import { SettingsModal as fp } from "./Settings/SettingsModal.js";
176
+ import { UsedByLog as sp } from "./Settings/UsedByLog.js";
177
+ import { UsedByLogItem as lp } from "./Settings/UsedByLogItem.js";
178
+ import { DashboardHeader as up } from "./Dashboard/DashboardHeader.js";
179
+ import { DashboardCard as gp } from "./Dashboard/DashboardCard.js";
180
+ import { ActivityLog as Lp } from "./ActivityLog/ActivityLog.js";
181
+ import { ActivityLogSegment as Ip } from "./ActivityLog/ActivityLogSegment.js";
182
+ import { ActivityLogItem as bp } from "./ActivityLog/ActivityLogItem.js";
183
+ import { ArticleHeader as Mp } from "./Article/ArticleHeader.js";
184
+ import { ArticleContact as Tp } from "./Article/ArticleContact.js";
185
+ import { Article as hp } from "./Article/Article.js";
186
+ import { ModalBase as Cp } from "./Modal/ModalBase.js";
187
+ import { ModalHeader as Hp } from "./Modal/ModalHeader.js";
188
+ import { ModalFooter as wp } from "./Modal/ModalFooter.js";
189
+ import { ModalIcon as Rp } from "./Modal/ModalIcon.js";
190
+ import { ModalBody as Np } from "./Modal/ModalBody.js";
191
+ import { Modal as Vp } from "./Modal/Modal.js";
192
+ import { Tooltip as zp } from "./Tooltip/Tooltip.js";
193
+ import { A as jp } from "../alert-BzifOfXl.js";
194
+ import { B as Jp, C as Kp, a as Wp, b as Xp, D as Yp, L as Zp, c as _p, P as $p, d as ox, e as rx, f as ex, S as tx, g as mx, T as ax, u as px } from "../textfield-f4Za2qt6.js";
195
+ import { B as fx, S as ix } from "../button-BB5sYVKY.js";
196
+ import { D as nx } from "../index-Q0EA2XB0.js";
197
+ import { H as cx } from "../heading-C_XYsUfi.js";
198
+ import { L as dx } from "../link-D1SA3LCe.js";
199
+ import { P as Dx } from "../paragraph-BRiIBpbY.js";
200
+ import { V as Bx } from "../index-z82sbSVU.js";
200
201
  export {
201
202
  fa as AccessAreaListItem,
202
203
  sa as AccessPackageListItem,
@@ -208,13 +209,13 @@ export {
208
209
  b as AccountNotificationSettings,
209
210
  M as AccountOrganization,
210
211
  T as AccountSelector,
211
- gp as ActivityLog,
212
- Ip as ActivityLogItem,
213
- Lp as ActivityLogSegment,
212
+ Lp as ActivityLog,
213
+ bp as ActivityLogItem,
214
+ Ip as ActivityLogSegment,
214
215
  h as Alert,
215
- Tp as Article,
216
- Mp as ArticleContact,
217
- bp as ArticleHeader,
216
+ hp as Article,
217
+ Tp as ArticleContact,
218
+ Mp as ArticleHeader,
218
219
  m as AttachmentLink,
219
220
  p as AttachmentList,
220
221
  Rt as Autocomplete,
@@ -249,8 +250,8 @@ export {
249
250
  qm as ContactButtons,
250
251
  Qm as ContactSection,
251
252
  Go as ContextMenu,
252
- up as DashboardCard,
253
- lp as DashboardHeader,
253
+ gp as DashboardCard,
254
+ up as DashboardHeader,
254
255
  Oo as Dialog,
255
256
  ar as DialogActions,
256
257
  xr as DialogActivityLog,
@@ -281,28 +282,28 @@ export {
281
282
  Fr as DrawerHeader,
282
283
  N as Dropdown,
283
284
  Ar as DropdownBase,
284
- zp as DsAlert,
285
- jp as DsBadge,
286
- px as DsButton,
287
- qp as DsCheckbox,
288
- Jp as DsChip,
289
- Kp as DsCombobox,
290
- ix as DsDetails,
291
- Wp as DsDialog,
292
- nx as DsHeading,
293
- cx as DsLink,
294
- Xp as DsListItem,
295
- Yp as DsListUnordered,
296
- Zp as DsPagination,
297
- dx as DsParagraph,
298
- _p as DsPopover,
299
- $p as DsSearch,
300
- ox as DsSkeleton,
301
- xx as DsSpinner,
302
- rx as DsSwitch,
303
- ex as DsTabs,
304
- tx as DsTextfield,
305
- Dx as DsValidationMessage,
285
+ jp as DsAlert,
286
+ Jp as DsBadge,
287
+ fx as DsButton,
288
+ Kp as DsCheckbox,
289
+ Wp as DsChip,
290
+ Xp as DsCombobox,
291
+ nx as DsDetails,
292
+ Yp as DsDialog,
293
+ cx as DsHeading,
294
+ dx as DsLink,
295
+ Zp as DsListItem,
296
+ _p as DsListUnordered,
297
+ $p as DsPagination,
298
+ Dx as DsParagraph,
299
+ ox as DsPopover,
300
+ rx as DsSearch,
301
+ ex as DsSkeleton,
302
+ ix as DsSpinner,
303
+ tx as DsSwitch,
304
+ mx as DsTabs,
305
+ ax as DsTextfield,
306
+ Bx as DsValidationMessage,
306
307
  ua as Field,
307
308
  O as FieldBase,
308
309
  ga as Fieldset,
@@ -360,12 +361,12 @@ export {
360
361
  X as MetaItemIcon,
361
362
  st as MetaTimestamp,
362
363
  lt as Metadata,
363
- Np as Modal,
364
- hp as ModalBase,
365
- Rp as ModalBody,
366
- Hp as ModalFooter,
367
- Cp as ModalHeader,
368
- wp as ModalIcon,
364
+ Vp as Modal,
365
+ Cp as ModalBase,
366
+ Np as ModalBody,
367
+ wp as ModalFooter,
368
+ Hp as ModalHeader,
369
+ Rp as ModalIcon,
369
370
  ut as NotificationItem,
370
371
  gt as NotificationItemBase,
371
372
  Lt as NotificationItemControls,
@@ -400,8 +401,9 @@ export {
400
401
  _a as SettingsItem,
401
402
  op as SettingsItemBase,
402
403
  ep as SettingsList,
403
- pp as SettingsModal,
404
- mp as SettingsSection,
404
+ mp as SettingsListVirtual,
405
+ fp as SettingsModal,
406
+ pp as SettingsSection,
405
407
  e as SizeEnum,
406
408
  Xt as Skeleton,
407
409
  Vt as Snackbar,
@@ -429,21 +431,21 @@ export {
429
431
  Dm as ToolbarFilterMenu,
430
432
  _ as ToolbarMenu,
431
433
  $ as ToolbarSearch,
432
- Vp as Tooltip,
434
+ zp as Tooltip,
433
435
  Xm as Transmission,
434
436
  oa as TransmissionList,
435
437
  Zm as TransmissionType,
436
438
  _m as TransmissionTypeEnum,
437
439
  ea as Typography,
438
- fp as UsedByLog,
439
- sp as UsedByLogItem,
440
+ sp as UsedByLog,
441
+ lp as UsedByLogItem,
440
442
  la as UserListItem,
441
443
  oo as VirtualizedMenuItems,
442
444
  l as isAvatarGroupProps,
443
445
  i as isAvatarProps,
444
446
  Ne as isHeadingProps,
445
447
  ro as isIconProps,
446
- mx as useDsPagination,
448
+ px as useDsPagination,
447
449
  Bm as useFilter,
448
450
  eo as useRootContext,
449
451
  Kt as useSnackbar