asma-ui-core 3.109.0 → 3.111.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 (59) hide show
  1. package/dist/asma-ui-core.css +1 -1
  2. package/dist/components/feedback/minimizable-dialog/MinimizableDialog.js +41 -39
  3. package/dist/components/feedback/minimizable-dialog/v2/MinimizableDialogV2.js +62 -60
  4. package/dist/components/inputs/dynamic-select/components/DynamicInteractiveChipGroup.js +61 -58
  5. package/dist/components/inputs/dynamic-select/components/DynamicSelectAutocomplete.js +74 -71
  6. package/dist/components/inputs/dynamic-select/components/DynamicSelectReadOnlyValue.js +13 -10
  7. package/dist/components/inputs/field-styles.js +16 -6
  8. package/dist/components/inputs/form-layout/StyledFieldPair.js +22 -0
  9. package/dist/components/inputs/form-layout/StyledFieldPair.module.js +8 -0
  10. package/dist/components/inputs/form-layout/StyledFormColumn.js +13 -0
  11. package/dist/components/inputs/input-field/StyledInputField.js +235 -198
  12. package/dist/components/inputs/phone-field/StyledPhoneField.js +41 -39
  13. package/dist/components/inputs/search-field/StyledSearchField.js +22 -20
  14. package/dist/components/inputs/select/StyledSelect.js +110 -108
  15. package/dist/components/inputs/select-autocomplete/StyledSelectAutocomplete.js +111 -108
  16. package/dist/components/inputs/slider/StyledSlider.js +2 -2
  17. package/dist/components/inputs/textarea/StyledTextarea.js +50 -52
  18. package/dist/components/inputs/textarea/StyledTextarea.module.js +3 -3
  19. package/dist/components/miscellaneous/StyledFormControl.js +29 -25
  20. package/dist/components/miscellaneous/StyledInputLabel.js +28 -18
  21. package/dist/datetime/components/date-picker/components/BaseDatePickerInput.js +137 -122
  22. package/dist/datetime/components/date-picker/components/DatePickerInputRangeCompact.js +17 -15
  23. package/dist/datetime/components/date-picker/components/DatePickerInputRangeCompact.module.js +2 -2
  24. package/dist/datetime/components/date-picker/components/DatePickerInputSingle.js +9 -8
  25. package/dist/datetime/components/date-picker/components/StyledCalendarPickerSelectMonth.js +17 -14
  26. package/dist/datetime/components/date-picker/components/StyledCalendarPickerSelectYear.js +14 -9
  27. package/dist/datetime/components/time-picker/StyledTimePicker.js +78 -74
  28. package/dist/datetime/components/time-picker/TimePickerInput.js +43 -41
  29. package/dist/datetime/components/time-picker/helpers/timePickerWidth.js +12 -0
  30. package/dist/helpers/CharacterCounter.js +21 -0
  31. package/dist/hooks/useBackCloses.hook.js +67 -38
  32. package/dist/hooks/useTopLayer.hook.js +30 -26
  33. package/dist/index.js +284 -273
  34. package/dist/src/components/inputs/dynamic-select/components/DynamicSelectReadOnlyValue.d.ts +2 -2
  35. package/dist/src/components/inputs/dynamic-select/types.d.ts +3 -0
  36. package/dist/src/components/inputs/field-styles.d.ts +22 -0
  37. package/dist/src/components/inputs/form-layout/StyledFieldPair.d.ts +18 -0
  38. package/dist/src/components/inputs/form-layout/StyledFormColumn.d.ts +12 -0
  39. package/dist/src/components/inputs/form-layout/index.d.ts +4 -0
  40. package/dist/src/components/inputs/input-field/StyledInputField.d.ts +19 -4
  41. package/dist/src/components/inputs/select/StyledSelect.d.ts +7 -2
  42. package/dist/src/components/inputs/select-autocomplete/StyledSelectAutocomplete.d.ts +5 -1
  43. package/dist/src/components/inputs/textarea/StyledTextarea.d.ts +6 -0
  44. package/dist/src/components/miscellaneous/StyledFormControl.d.ts +5 -2
  45. package/dist/src/components/miscellaneous/StyledInputLabel.d.ts +7 -5
  46. package/dist/src/datetime/components/date-picker/components/BaseDatePickerInput.d.ts +2 -0
  47. package/dist/src/datetime/components/date-picker/types.d.ts +3 -0
  48. package/dist/src/datetime/components/time-picker/helpers/timePickerWidth.d.ts +7 -0
  49. package/dist/src/datetime/components/time-picker/types.d.ts +3 -1
  50. package/dist/src/helpers/CharacterCounter.d.ts +16 -0
  51. package/dist/src/helpers/CharacterCounter.test.d.ts +1 -0
  52. package/dist/src/hooks/useBackCloses.hook.d.ts +47 -2
  53. package/dist/src/hooks/useTopLayer.hook.d.ts +6 -0
  54. package/dist/src/index.d.ts +2 -0
  55. package/dist/tailwind.config.d.ts +14 -0
  56. package/package.json +1 -1
  57. package/src/styles/fieldWidthTokens.css +8 -0
  58. package/src/styles/index.css +1 -0
  59. package/tw-configs/twConfigs.json +14 -0
@@ -1,34 +1,35 @@
1
- import { cn as f } from "../../../helpers/cn.js";
1
+ import { cn as h } from "../../../helpers/cn.js";
2
2
  import { firstTabbable as me } from "../../../helpers/focusable.js";
3
3
  import { StyledTooltip as u } from "../../data-display/tooltip/StyledTooltip.js";
4
- import { DotsVerticalIcon as he } from "../../icons/dots-vertical-icon/DotsVerticalIcon.js";
4
+ import { DotsVerticalIcon as fe } from "../../icons/dots-vertical-icon/DotsVerticalIcon.js";
5
5
  import { CloseIcon as K } from "../../icons/close-icon/CloseIcon.js";
6
- import { MinimizeIcon as fe } from "../../icons/minimize-icon/MinimizeIcon.js";
6
+ import { MinimizeIcon as he } from "../../icons/minimize-icon/MinimizeIcon.js";
7
7
  import { KeyboardCapslockIcon as ue } from "../../icons/keyboard-capslock-icon/KeyboardCapslockIcon.js";
8
8
  import { ArrowExpandIcon as ve } from "../../icons/arrow-expand-icon/ArrowExpandIcon.js";
9
9
  import { ArrowShrinkIcon as be } from "../../icons/arrow-shrink-icon/ArrowShrinkIcon.js";
10
10
  import { StyledButton as r } from "../../inputs/button/StyledButton.js";
11
- import { OverlayBackOwnerContext as pe, useBackCloses as ge } from "../../../hooks/useBackCloses.hook.js";
12
- import { useFocusTrap as xe } from "../../../hooks/useFocusTrap.hook.js";
11
+ import { OverlayBackOwnerContext as pe, isOverlayBackNavigationPending as ge, useBackCloses as xe } from "../../../hooks/useBackCloses.hook.js";
12
+ import { useFocusTrap as ke } from "../../../hooks/useFocusTrap.hook.js";
13
13
  import { StyledMenu as ye } from "../../navigation/menu/StyledMenu.js";
14
- import { StyledMenuItem as ke } from "../../navigation/menu/StyledMenuItem.js";
14
+ import { StyledMenuItem as we } from "../../navigation/menu/StyledMenuItem.js";
15
+ import { fullScreenFieldWidthVars as ze } from "../../inputs/field-styles.js";
15
16
  import T from "./MinimizableDialog.module.js";
16
- import { useToggleMenuVisibility as we } from "../../../hooks/useToggleMenuVisibility.hook.js";
17
+ import { useToggleMenuVisibility as Ne } from "../../../hooks/useToggleMenuVisibility.hook.js";
17
18
  import H from "clsx";
18
- import { useLayoutEffect as ze, useRef as J, useState as Q } from "react";
19
+ import { useLayoutEffect as Ce, useRef as J, useState as Q } from "react";
19
20
  import { Fragment as p, jsx as e, jsxs as l } from "react/jsx-runtime";
20
- var Ke = ({ onCloseText: v = "", onMinimizeText: C = "", onExpandText: I = "", onFullScreenText: M = "", showCloseIcon: R = !0, showMinimizeIcon: X = !0, showExpandIcon: Y = !0, showFullScreenIcon: Z = !0, title: m, label: g, children: x, open: y, onClose: L, className: j = "", primaryButtonText: S, primaryButtonLoading: n = !1, primaryButtonDisabled: B, primaryButtonDisabledReason: ee, secondaryButtonText: k, onPrimaryButtonClick: F, onSecondaryButtonClick: _, dataTest: E, actionNode: te, extraActions: d, extraActionsText: h, btnContainerClassName: G, footerClassName: ie, footerInfo: D, locale: t = "en", enableFullscreen: le = !0, fullScreenState: O, handleFullScreenState: q }) => {
21
- const [i, re] = Q(!1), [V, ne] = Q(!1), { open: de, anchorEl: ae, handleOpen: oe, handleClose: se } = we(), s = J(null), w = J(null), z = t === "en" ? "Wait until saved" : "Vent til lagringen er ferdig", b = () => {
21
+ var Qe = ({ onCloseText: v = "", onMinimizeText: C = "", onExpandText: I = "", onFullScreenText: M = "", showCloseIcon: R = !0, showMinimizeIcon: X = !0, showExpandIcon: Y = !0, showFullScreenIcon: Z = !0, title: m, label: g, children: x, open: k, onClose: L, className: j = "", primaryButtonText: S, primaryButtonLoading: n = !1, primaryButtonDisabled: B, primaryButtonDisabledReason: ee, secondaryButtonText: y, onPrimaryButtonClick: F, onSecondaryButtonClick: _, dataTest: q, actionNode: te, extraActions: d, extraActionsText: f, btnContainerClassName: E, footerClassName: ie, footerInfo: G, locale: t = "en", enableFullscreen: le = !0, fullScreenState: O, handleFullScreenState: D }) => {
22
+ const [i, re] = Q(!1), [V, ne] = Q(!1), { open: de, anchorEl: ae, handleOpen: oe, handleClose: se } = Ne(), s = J(null), w = J(null), z = t === "en" ? "Wait until saved" : "Vent til lagringen er ferdig", b = () => {
22
23
  if (n) return !1;
23
24
  L();
24
25
  }, o = O ?? V, a = o && !i;
25
- if (xe(y && a, s, b), ge({
26
- active: y && a,
27
- requestClose: b,
26
+ if (ke(k && a, s, b), xe({
27
+ active: k && !i,
28
+ requestClose: () => !a && ge() ? !1 : b(),
28
29
  ownerRef: s
29
- }), ze(() => {
30
+ }), Ce(() => {
30
31
  s.current?.toggleAttribute("inert", i), w.current?.toggleAttribute("inert", !i);
31
- }, [i]), !y) return null;
32
+ }, [i]), !k) return null;
32
33
  const ce = a ? {
33
34
  right: "auto",
34
35
  bottom: "auto",
@@ -36,15 +37,16 @@ var Ke = ({ onCloseText: v = "", onMinimizeText: C = "", onExpandText: I = "", o
36
37
  top: "50%",
37
38
  transform: "translate(-50%, -50%)",
38
39
  width: "min(1000px, calc(100vw - 32px))",
39
- height: "95dvh"
40
- } : void 0, P = o ? t === "en" ? "Exit full screen" : "Avslutt fullskjerm" : t === "en" ? "Full screen" : "Fullskjerm", U = S ?? n, W = U || k, $ = /* @__PURE__ */ l(p, { children: [k && _ && /* @__PURE__ */ e(r, {
40
+ height: "95dvh",
41
+ ...ze
42
+ } : void 0, P = o ? t === "en" ? "Exit full screen" : "Avslutt fullskjerm" : t === "en" ? "Full screen" : "Fullskjerm", W = S ?? n, U = W || y, $ = /* @__PURE__ */ l(p, { children: [y && _ && /* @__PURE__ */ e(r, {
41
43
  dataTest: "cancel-button",
42
44
  variant: "outlined",
43
45
  disabled: n,
44
46
  disabledReason: z,
45
47
  onClick: _,
46
- children: k
47
- }), U && F && /* @__PURE__ */ e(r, {
48
+ children: y
49
+ }), W && F && /* @__PURE__ */ e(r, {
48
50
  dataTest: "save-button",
49
51
  loading: n,
50
52
  locale: t,
@@ -64,10 +66,10 @@ var Ke = ({ onCloseText: v = "", onMinimizeText: C = "", onExpandText: I = "", o
64
66
  /* @__PURE__ */ e("div", {
65
67
  ref: w,
66
68
  style: { zIndex: 51 },
67
- className: f(T.dialog, !i && T.hidden),
69
+ className: h(T.dialog, !i && T.hidden),
68
70
  children: /* @__PURE__ */ l("div", {
69
71
  className: H("flex items-center justify-between", !i && "hidden"),
70
- "data-testid": E,
72
+ "data-testid": q,
71
73
  children: [/* @__PURE__ */ e("div", {
72
74
  className: "truncate text-lg font-semibold text-delta-800",
73
75
  children: m
@@ -116,8 +118,8 @@ var Ke = ({ onCloseText: v = "", onMinimizeText: C = "", onExpandText: I = "", o
116
118
  role: a ? "dialog" : void 0,
117
119
  "aria-modal": a ? !0 : void 0,
118
120
  "aria-label": a && typeof m == "string" ? m : void 0,
119
- className: f("fixed bottom-4 right-4 z-[51] rounded-lg bg-white shadow-[0_4px_40px_0px_rgba(34,33,51,0.4)] transition-all duration-300", j && !i && !o ? j : "", i && "!h-0 !w-0 opacity-0 duration-0", a && "fixed duration-0"),
120
- "data-testid": E,
121
+ className: h("fixed bottom-4 right-4 z-[51] rounded-lg bg-white shadow-[0_4px_40px_0px_rgba(34,33,51,0.4)] transition-all duration-300", j && !i && !o ? j : "", i && "!h-0 !w-0 opacity-0 duration-0", a && "fixed duration-0"),
122
+ "data-testid": q,
121
123
  children: /* @__PURE__ */ l(pe.Provider, {
122
124
  value: s,
123
125
  children: [/* @__PURE__ */ l("div", {
@@ -142,7 +144,7 @@ var Ke = ({ onCloseText: v = "", onMinimizeText: C = "", onExpandText: I = "", o
142
144
  variant: "textGray",
143
145
  size: "small",
144
146
  onClick: A,
145
- endIcon: /* @__PURE__ */ e(fe, {
147
+ endIcon: /* @__PURE__ */ e(he, {
146
148
  height: 20,
147
149
  width: 20,
148
150
  color: "text-delta-700"
@@ -158,7 +160,7 @@ var Ke = ({ onCloseText: v = "", onMinimizeText: C = "", onExpandText: I = "", o
158
160
  variant: "textGray",
159
161
  size: "small",
160
162
  onClick: () => {
161
- O !== void 0 && q ? q() : ne(!V);
163
+ O !== void 0 && D ? D() : ne(!V);
162
164
  },
163
165
  endIcon: o ? /* @__PURE__ */ e(be, {
164
166
  width: 20,
@@ -202,42 +204,42 @@ var Ke = ({ onCloseText: v = "", onMinimizeText: C = "", onExpandText: I = "", o
202
204
  children: [/* @__PURE__ */ e("div", {
203
205
  className: "flex-grow overflow-y-auto overscroll-contain",
204
206
  children: typeof x == "function" ? x({ fullScreen: o }) : x
205
- }), (Array.isArray(d) && d.length || typeof d == "function") && h || D ? /* @__PURE__ */ l("div", {
206
- className: f("flex items-center justify-between border-0 border-t-[1px] border-solid border-delta-200 bg-white p-4", ie),
207
+ }), (Array.isArray(d) && d.length || typeof d == "function") && f || G ? /* @__PURE__ */ l("div", {
208
+ className: h("flex items-center justify-between border-0 border-t-[1px] border-solid border-delta-200 bg-white p-4", ie),
207
209
  children: [
208
- Array.isArray(d) && d.length && h ? /* @__PURE__ */ l(p, { children: [/* @__PURE__ */ e(r, {
210
+ Array.isArray(d) && d.length && f ? /* @__PURE__ */ l(p, { children: [/* @__PURE__ */ e(r, {
209
211
  dataTest: "extra-actions-button",
210
212
  variant: "textGray",
211
- startIcon: /* @__PURE__ */ e(he, {
213
+ startIcon: /* @__PURE__ */ e(fe, {
212
214
  width: 24,
213
215
  height: 24
214
216
  }),
215
217
  onClick: oe,
216
- children: h
218
+ children: f
217
219
  }), /* @__PURE__ */ e(ye, {
218
220
  open: de,
219
221
  anchorEl: ae,
220
222
  onClose: se,
221
- children: d.map((c) => /* @__PURE__ */ e(ke, {
223
+ children: d.map((c) => /* @__PURE__ */ e(we, {
222
224
  className: c.className,
223
225
  onClick: c.onClick,
224
226
  children: c.label
225
227
  }, c.label))
226
- })] }) : h && typeof d == "function" && /* @__PURE__ */ e(r, {
228
+ })] }) : f && typeof d == "function" && /* @__PURE__ */ e(r, {
227
229
  dataTest: "extra-action-button",
228
230
  variant: "text",
229
231
  onClick: d,
230
- children: h
232
+ children: f
231
233
  }),
232
234
  " ",
233
- D,
234
- W ? /* @__PURE__ */ e("div", {
235
- className: f("flex justify-end gap-x-2", G),
235
+ G,
236
+ U ? /* @__PURE__ */ e("div", {
237
+ className: h("flex justify-end gap-x-2", E),
236
238
  children: $
237
239
  }) : null
238
240
  ]
239
- }) : /* @__PURE__ */ e(p, { children: W ? /* @__PURE__ */ e("div", {
240
- className: f("flex justify-end gap-x-2 border-t-[1px] border-delta-200 p-4", G),
241
+ }) : /* @__PURE__ */ e(p, { children: U ? /* @__PURE__ */ e("div", {
242
+ className: h("flex justify-end gap-x-2 border-t-[1px] border-delta-200 p-4", E),
241
243
  children: $
242
244
  }) : null })]
243
245
  })]
@@ -246,5 +248,5 @@ var Ke = ({ onCloseText: v = "", onMinimizeText: C = "", onExpandText: I = "", o
246
248
  ] });
247
249
  };
248
250
  export {
249
- Ke as MinimizableDialog
251
+ Qe as MinimizableDialog
250
252
  };
@@ -1,56 +1,57 @@
1
1
  import { cn as a } from "../../../../helpers/cn.js";
2
- import { firstTabbable as O } from "../../../../helpers/focusable.js";
2
+ import { firstTabbable as q } from "../../../../helpers/focusable.js";
3
3
  import { StyledTooltip as te } from "../../../data-display/tooltip/StyledTooltip.js";
4
- import { DialogBusyContext as A, useDialogBusyBoundary as ie } from "../../dialog/DialogBusyContext.js";
4
+ import { DialogBusyContext as D, useDialogBusyBoundary as ie } from "../../dialog/DialogBusyContext.js";
5
5
  import { useMobileMediaQuery as le } from "../../../../hooks/useMediaQuery.hook.js";
6
- import { OverlayBackOwnerContext as ne, useBackCloses as oe } from "../../../../hooks/useBackCloses.hook.js";
7
- import { useFocusTrap as re } from "../../../../hooks/useFocusTrap.hook.js";
8
- import { CloseBtn as $ } from "../components/CloseBtn.js";
9
- import { MinimizeBtn as q } from "../components/MinimizeBtn.js";
10
- import { FullScreenBtn as se } from "../components/FullscreenBtn.js";
6
+ import { OverlayBackOwnerContext as ne, isOverlayBackNavigationPending as oe, useBackCloses as re } from "../../../../hooks/useBackCloses.hook.js";
7
+ import { useFocusTrap as se } from "../../../../hooks/useFocusTrap.hook.js";
8
+ import { fullScreenFieldWidthVars as ce } from "../../../inputs/field-styles.js";
9
+ import { CloseBtn as A } from "../components/CloseBtn.js";
10
+ import { MinimizeBtn as V } from "../components/MinimizeBtn.js";
11
+ import { FullScreenBtn as ae } from "../components/FullscreenBtn.js";
11
12
  import h from "./MinimizableDialogV2.module.js";
12
- import { useTranslations as ce } from "./useTranslations.js";
13
- import { useControlledProps as ae } from "./useControlledProps.js";
14
- import de from "clsx";
15
- import { useId as V, useLayoutEffect as H, useRef as d } from "react";
16
- import { Fragment as me, jsx as e, jsxs as r } from "react/jsx-runtime";
17
- var Te = (C) => {
18
- const { showCloseIcon: R = !0, showMinimizeIcon: L = !0, showExpandIcon: W = !0, enableFullscreen: _ = !0, title: u, label: f, children: Q, open: i, onClose: U, classNameOverrides: b = {
13
+ import { useTranslations as de } from "./useTranslations.js";
14
+ import { useControlledProps as me } from "./useControlledProps.js";
15
+ import ue from "clsx";
16
+ import { useId as $, useLayoutEffect as W, useRef as d } from "react";
17
+ import { Fragment as fe, jsx as e, jsxs as r } from "react/jsx-runtime";
18
+ var Ee = (w) => {
19
+ const { showCloseIcon: N = !0, showMinimizeIcon: H = !0, showExpandIcon: L = !0, enableFullscreen: _ = !0, title: u, label: f, children: Q, open: i, onClose: U, classNameOverrides: b = {
19
20
  maximized: "",
20
21
  minimized: "",
21
22
  fullscreen: ""
22
- }, dataTest: G, actionNode: J, locale: K = "en", busyReason: X, style: N, initialFocusRef: S } = C, s = le(), l = ce(K), n = d(null), p = d(null), F = d(null), B = d(null), g = d(!1), y = d(null), x = V(), T = V(), { minimized: t, setMinimized: I, fullScreen: o, setFullScreen: M } = ae(C), c = o && !t, { busy: z, busyReason: k, contextValue: E } = ie(X ?? l.waitUntilSaved), v = () => {
23
+ }, dataTest: G, actionNode: J, locale: K = "en", busyReason: X, style: R, initialFocusRef: B } = w, s = le(), l = de(K), n = d(null), p = d(null), S = d(null), F = d(null), g = d(!1), y = d(null), x = $(), k = $(), { minimized: t, setMinimized: T, fullScreen: o, setFullScreen: I } = me(w), c = o && !t, { busy: z, busyReason: M, contextValue: E } = ie(X ?? l.waitUntilSaved), v = () => {
23
24
  if (z) return !1;
24
- I(!1), U();
25
+ T(!1), U();
25
26
  };
26
- H(() => {
27
+ W(() => {
27
28
  n.current?.toggleAttribute("inert", t), p.current?.toggleAttribute("inert", !t);
28
- }, [t]), H(() => {
29
- const w = i && !g.current, m = !i && g.current;
29
+ }, [t]), W(() => {
30
+ const C = i && !g.current, m = !i && g.current;
30
31
  if (g.current = i, m) {
31
- const D = y.current;
32
- y.current = null, (!document.activeElement || document.activeElement === document.body) && D?.isConnected && D.focus({ preventScroll: !0 });
32
+ const O = y.current;
33
+ y.current = null, (!document.activeElement || document.activeElement === document.body) && O?.isConnected && O.focus({ preventScroll: !0 });
33
34
  return;
34
35
  }
35
- if (!w) return;
36
+ if (!C) return;
36
37
  y.current = document.activeElement instanceof HTMLElement ? document.activeElement : null;
37
- const P = t ? p.current : n.current, ee = t ? B.current : F.current;
38
- (S?.current ?? ee ?? (P ? O(P) : void 0))?.focus({ preventScroll: !0 });
38
+ const j = t ? p.current : n.current, ee = t ? F.current : S.current;
39
+ (B?.current ?? ee ?? (j ? q(j) : void 0))?.focus({ preventScroll: !0 });
39
40
  }, [
40
- S,
41
+ B,
41
42
  t,
42
43
  i
43
44
  ]);
44
- const j = () => {
45
- const w = t ? n : p;
46
- I(!t), requestAnimationFrame(() => {
47
- const m = w.current;
48
- m && (m.querySelector('[data-testid="toggle-minimize-btn"]') ?? O(m))?.focus({ preventScroll: !0 });
45
+ const P = () => {
46
+ const C = t ? n : p;
47
+ T(!t), requestAnimationFrame(() => {
48
+ const m = C.current;
49
+ m && (m.querySelector('[data-testid="toggle-minimize-btn"]') ?? q(m))?.focus({ preventScroll: !0 });
49
50
  });
50
51
  };
51
- re(i && c, n, v), oe({
52
- active: i && c,
53
- requestClose: v,
52
+ se(i && c, n, v), re({
53
+ active: i && !t,
54
+ requestClose: () => !c && oe() ? !1 : v(),
54
55
  ownerRef: n
55
56
  });
56
57
  const Y = c ? s ? {
@@ -68,20 +69,21 @@ var Te = (C) => {
68
69
  transform: "translate(-50%, -50%)",
69
70
  width: "min(1000px, calc(100vw - 32px))",
70
71
  maxWidth: "min(1000px, calc(100vw - 32px))",
71
- height: "95dvh"
72
+ height: "95dvh",
73
+ ...ce
72
74
  } : void 0;
73
75
  if (!i) return null;
74
- const Z = f ? `${T} ${x}` : x;
75
- return /* @__PURE__ */ r(me, { children: [
76
+ const Z = f ? `${k} ${x}` : x;
77
+ return /* @__PURE__ */ r(fe, { children: [
76
78
  /* @__PURE__ */ e("div", {
77
79
  ref: p,
78
80
  style: {
79
81
  zIndex: 51,
80
- ...N
82
+ ...R
81
83
  },
82
84
  className: a(h["minimized-dialog"], !t && h.hidden, b.minimized),
83
85
  children: /* @__PURE__ */ r("div", {
84
- className: de("flex items-center justify-between", !t && "hidden"),
86
+ className: ue("flex items-center justify-between", !t && "hidden"),
85
87
  "data-testid": G,
86
88
  children: [/* @__PURE__ */ e("div", {
87
89
  className: "max-w-[303px] truncate pr-1 text-lg font-semibold text-delta-800",
@@ -95,16 +97,16 @@ var Te = (C) => {
95
97
  })
96
98
  }), /* @__PURE__ */ r("div", {
97
99
  className: "flex items-center gap-x-1",
98
- children: [/* @__PURE__ */ e(q, {
100
+ children: [/* @__PURE__ */ e(V, {
99
101
  type: "expand",
100
- visibility: W,
101
- onClick: j,
102
+ visibility: L,
103
+ onClick: P,
102
104
  tooltipTitle: l.expand
103
- }), /* @__PURE__ */ e($, {
104
- buttonRef: B,
105
- showCloseIcon: R,
105
+ }), /* @__PURE__ */ e(A, {
106
+ buttonRef: F,
107
+ showCloseIcon: N,
106
108
  onClick: v,
107
- disabledReason: z ? k : void 0,
109
+ disabledReason: z ? M : void 0,
108
110
  tooltipTitle: l.close
109
111
  })]
110
112
  })]
@@ -113,13 +115,13 @@ var Te = (C) => {
113
115
  c && /* @__PURE__ */ e("div", {
114
116
  className: "fixed inset-0 z-[52] bg-[rgb(98,110,126)] bg-opacity-70",
115
117
  onClick: () => {
116
- M(!1);
118
+ I(!1);
117
119
  }
118
120
  }),
119
121
  /* @__PURE__ */ e("div", {
120
122
  style: {
121
123
  zIndex: 51,
122
- ...N,
124
+ ...R,
123
125
  ...Y
124
126
  },
125
127
  ref: n,
@@ -134,7 +136,7 @@ var Te = (C) => {
134
136
  children: [/* @__PURE__ */ r("div", {
135
137
  className: "flex items-center justify-between",
136
138
  children: [f ? /* @__PURE__ */ e("div", {
137
- id: T,
139
+ id: k,
138
140
  className: "text-sm text-delta-700",
139
141
  children: f
140
142
  }) : /* @__PURE__ */ e("div", {
@@ -144,29 +146,29 @@ var Te = (C) => {
144
146
  }), /* @__PURE__ */ r("div", {
145
147
  className: "flex items-center gap-x-1",
146
148
  children: [
147
- /* @__PURE__ */ e(A.Provider, {
149
+ /* @__PURE__ */ e(D.Provider, {
148
150
  value: E,
149
151
  children: J
150
152
  }),
151
- /* @__PURE__ */ e(q, {
152
- visibility: L && !s && !o,
153
+ /* @__PURE__ */ e(V, {
154
+ visibility: H && !s && !o,
153
155
  type: "minimize",
154
- onClick: j,
156
+ onClick: P,
155
157
  tooltipTitle: l.minimize
156
158
  }),
157
- /* @__PURE__ */ e(se, {
159
+ /* @__PURE__ */ e(ae, {
158
160
  showFullScreenIcon: _ && !s,
159
161
  fullScreen: o,
160
162
  onClick: () => {
161
- M(!o);
163
+ I(!o);
162
164
  },
163
165
  tooltipTitle: o ? l.exitFullscreen : l.fullscreen
164
166
  }),
165
- /* @__PURE__ */ e($, {
166
- buttonRef: F,
167
- showCloseIcon: R,
167
+ /* @__PURE__ */ e(A, {
168
+ buttonRef: S,
169
+ showCloseIcon: N,
168
170
  onClick: v,
169
- disabledReason: z ? k : void 0,
171
+ disabledReason: z ? M : void 0,
170
172
  tooltipTitle: l.close
171
173
  })
172
174
  ]
@@ -178,7 +180,7 @@ var Te = (C) => {
178
180
  })]
179
181
  }), /* @__PURE__ */ e("div", {
180
182
  className: a(t && "hidden", "flex flex-grow flex-col overflow-y-auto overscroll-contain"),
181
- children: /* @__PURE__ */ e(A.Provider, {
183
+ children: /* @__PURE__ */ e(D.Provider, {
182
184
  value: E,
183
185
  children: Q
184
186
  })
@@ -188,5 +190,5 @@ var Te = (C) => {
188
190
  ] });
189
191
  };
190
192
  export {
191
- Te as MinimizableDialogV2
193
+ Ee as MinimizableDialogV2
192
194
  };
@@ -1,61 +1,64 @@
1
1
  import { cn as v } from "../../../../helpers/cn.js";
2
- import { StyledTooltip as P } from "../../../data-display/tooltip/StyledTooltip.js";
3
- import { CloseIcon as k } from "../../../icons/close-icon/CloseIcon.js";
4
- import { ErrorOutlineIcon as Q } from "../../../icons/error-outline-icon/ErrorOutlineIcon.js";
5
- import { StyledChip as U } from "../../../data-display/chip/StyledChip.js";
6
- import { StyledInteractiveChip as j } from "../../../data-display/interactive-chip/StyledInteractiveChip.js";
7
- import { StyledButton as X } from "../../button/StyledButton.js";
8
- import { useHelperAlertRole as Y } from "../../../../helpers/useHelperAlertRole.js";
9
- import { warnMissingErrorMessage as Z } from "../../../../helpers/warnMissingErrorMessage.js";
10
- import { useWrap as _ } from "../helpers/useWrap.js";
11
- import { DynamicSelectTitle as ee } from "./DynamicSelectTitle.js";
2
+ import { StyledTooltip as Q } from "../../../data-display/tooltip/StyledTooltip.js";
3
+ import { CloseIcon as j } from "../../../icons/close-icon/CloseIcon.js";
4
+ import { ErrorOutlineIcon as U } from "../../../icons/error-outline-icon/ErrorOutlineIcon.js";
5
+ import { StyledChip as X } from "../../../data-display/chip/StyledChip.js";
6
+ import { StyledInteractiveChip as O } from "../../../data-display/interactive-chip/StyledInteractiveChip.js";
7
+ import { StyledButton as Y } from "../../button/StyledButton.js";
8
+ import { useHelperAlertRole as Z } from "../../../../helpers/useHelperAlertRole.js";
9
+ import { warnMissingErrorMessage as _ } from "../../../../helpers/warnMissingErrorMessage.js";
10
+ import { fieldWidthStyle as ee } from "../../field-styles.js";
11
+ import { useWrap as te } from "../helpers/useWrap.js";
12
+ import { DynamicSelectTitle as le } from "./DynamicSelectTitle.js";
12
13
  import { Skeleton as N } from "../../../mui-compat/Skeleton.js";
13
- import { forwardRef as te, useEffect as le, useId as re } from "react";
14
- import { jsx as t, jsxs as T } from "react/jsx-runtime";
15
- var ge = te((O, V) => {
16
- const { options: d, dataTest: A, value: r, readOnly: i, multiple: n, title: D, titleSize: R, disabled: b, onChange: p, required: z, error: f, helperText: S, valueKey: E = "value", labelKey: L = "label", renderLabel: o, getOptionTooltip: C, loading: $, size: g, locale: B = "en", clearSelectionLabel: q } = O, G = re();
17
- Z("DynamicInteractiveChipGroup", f, S);
18
- const K = Y(f), { containerRef: m, wrapDisabled: y } = _({ dependencyList: [d, d.length] });
19
- le(() => {
14
+ import { forwardRef as re, useEffect as ie, useId as ae } from "react";
15
+ import { jsx as t, jsxs as S } from "react/jsx-runtime";
16
+ var ve = re((V, A) => {
17
+ const { options: d, dataTest: D, value: r, readOnly: a, multiple: n, title: R, titleSize: z, width: T = "full", disabled: b, onChange: p, required: E, error: f, helperText: C, valueKey: L = "value", labelKey: $ = "label", renderLabel: o, getOptionTooltip: I, loading: B, size: y, locale: q = "en", clearSelectionLabel: G } = V, K = ae();
18
+ _("DynamicInteractiveChipGroup", f, C);
19
+ const M = Z(f), { containerRef: m, wrapDisabled: w } = te({ dependencyList: [d, d.length] });
20
+ ie(() => {
20
21
  m.current && (m.current.inert = !0);
21
22
  }, [m]);
22
- const u = (e) => typeof e == "object" ? e?.[L]?.toString() ?? "" : e?.toString() ?? "", w = (e) => typeof e == "object" ? e?.[E] : e, c = (e) => {
23
- const l = w(e);
23
+ const u = (e) => typeof e == "object" ? e?.[$]?.toString() ?? "" : e?.toString() ?? "", g = (e) => typeof e == "object" ? e?.[L] : e, c = (e) => {
24
+ const l = g(e);
24
25
  return l == null ? "" : typeof l == "string" || typeof l == "number" || typeof l == "boolean" ? String(l) : e == null ? "" : u(e);
25
- }, s = (e, l) => w(e) === w(l), M = n ? Array.isArray(r) && r.length > 0 : r != null, F = (e) => {
26
+ }, s = (e, l) => g(e) === g(l), W = n ? Array.isArray(r) && r.length > 0 : r != null, F = (e) => {
26
27
  if (!n) {
27
- const a = s(e, r) ? null : e;
28
- if (a === null) return;
29
- p(a);
28
+ const i = s(e, r) ? null : e;
29
+ if (i === null) return;
30
+ p(i);
30
31
  return;
31
32
  }
32
33
  const l = r ?? [];
33
- p(l.find((a) => s(a, e)) ? l.filter((a) => !s(a, e)) : [...l, e]);
34
- }, h = i ? d.filter((e) => !!(n ? r?.find((l) => s(l, e)) : s(r, e))) : d, H = h.findIndex((e) => !(typeof e == "object" && e?.disabled) && !i);
35
- return /* @__PURE__ */ T("div", {
36
- "data-testid": `${A}-dynamic-radio-group`,
34
+ p(l.find((i) => s(i, e)) ? l.filter((i) => !s(i, e)) : [...l, e]);
35
+ }, h = a ? d.filter((e) => !!(n ? r?.find((l) => s(l, e)) : s(r, e))) : d, H = h.findIndex((e) => !(typeof e == "object" && e?.disabled) && !a);
36
+ return /* @__PURE__ */ S("div", {
37
+ "data-testid": `${D}-dynamic-radio-group`,
37
38
  className: "relative flex flex-col gap-y-1",
39
+ "data-field-width": T,
40
+ style: ee(T),
38
41
  children: [
39
- /* @__PURE__ */ t(ee, {
40
- title: D,
41
- titleSize: R
42
+ /* @__PURE__ */ t(le, {
43
+ title: R,
44
+ titleSize: z
42
45
  }),
43
46
  /* @__PURE__ */ t("div", {
44
47
  "aria-hidden": !0,
45
48
  ref: m,
46
49
  className: "pointer-events-none absolute left-0 top-0 flex flex-wrap gap-2 opacity-0",
47
50
  style: { width: "100%" },
48
- children: h.map((e) => /* @__PURE__ */ t(j, {
51
+ children: h.map((e) => /* @__PURE__ */ t(O, {
49
52
  className: "w-fit",
50
- readOnly: i,
53
+ readOnly: a,
51
54
  type: n ? "checkbox" : "radio",
52
55
  dataTest: `ic-${c(e)}-hidden`,
53
56
  label: o ? o(e) : u(e)
54
57
  }, c(e)))
55
58
  }),
56
59
  /* @__PURE__ */ t("div", {
57
- className: v("flex flex-wrap gap-2", y && "flex-col gap-1"),
58
- children: $ ? /* @__PURE__ */ T("div", {
60
+ className: v("flex flex-wrap gap-2", w && "flex-col gap-1"),
61
+ children: B ? /* @__PURE__ */ S("div", {
59
62
  className: "flex flex-wrap gap-2",
60
63
  children: [
61
64
  /* @__PURE__ */ t(N, { className: "h-[32px] w-[60px]" }),
@@ -63,34 +66,34 @@ var ge = te((O, V) => {
63
66
  /* @__PURE__ */ t(N, { className: "h-[32px] w-[60px]" })
64
67
  ]
65
68
  }) : h?.length ? h.map((e, l) => {
66
- const a = !!(n ? r?.find((J) => s(J, e)) : s(r, e)), W = C ? C(e) : null;
67
- if (i && !a) return null;
68
- const x = typeof e == "object" ? !!e?.disabled : !1, I = !x && !i && l === H ? V : void 0;
69
- return /* @__PURE__ */ t(P, {
70
- title: W,
69
+ const i = !!(n ? r?.find((P) => s(P, e)) : s(r, e)), J = I ? I(e) : null;
70
+ if (a && !i) return null;
71
+ const x = typeof e == "object" ? !!e?.disabled : !1, k = !x && !a && l === H ? A : void 0;
72
+ return /* @__PURE__ */ t(Q, {
73
+ title: J,
71
74
  arrow: !0,
72
75
  children: /* @__PURE__ */ t("span", {
73
76
  className: v(x && "cursor-not-allowed"),
74
- children: i && !y ? /* @__PURE__ */ t(U, {
75
- ref: I,
77
+ children: a && !w ? /* @__PURE__ */ t(X, {
78
+ ref: k,
76
79
  disabled: !!b || x,
77
80
  classes: { root: "min-h-[32px] h-full" },
78
81
  className: "w-fit",
79
82
  dataTest: `ic-${c(e)}`,
80
83
  label: o ? o(e) : u(e)
81
- }) : /* @__PURE__ */ t(j, {
82
- ref: I,
84
+ }) : /* @__PURE__ */ t(O, {
85
+ ref: k,
83
86
  disabled: !!b || x,
84
- classes: y ? {
87
+ classes: w ? {
85
88
  root: "border-none outline-none bg-transparent w-full flex justify-start h-full min-h-[40px] shadow-none",
86
89
  label: "block whitespace-normal break-words overflow-visible"
87
90
  } : { root: "min-h-[32px] h-full" },
88
91
  className: "w-fit",
89
- readOnly: i,
92
+ readOnly: a,
90
93
  type: n ? "checkbox" : "radio",
91
94
  dataTest: `ic-${c(e)}`,
92
- checked: a,
93
- size: g,
95
+ checked: i,
96
+ size: y,
94
97
  onClick: () => F(e),
95
98
  label: o ? o(e) : u(e)
96
99
  })
@@ -98,39 +101,39 @@ var ge = te((O, V) => {
98
101
  }, c(e));
99
102
  }) : /* @__PURE__ */ t("span", { children: "-" })
100
103
  }),
101
- !z && M && !i && !b && /* @__PURE__ */ t(X, {
104
+ !E && W && !a && !b && /* @__PURE__ */ t(Y, {
102
105
  dataTest: "clear-selection-btn",
103
106
  variant: "text",
104
- startIcon: g === "medium" ? /* @__PURE__ */ t(k, {
107
+ startIcon: y === "medium" ? /* @__PURE__ */ t(j, {
105
108
  height: 24,
106
109
  width: 24,
107
110
  className: "size-6"
108
- }) : /* @__PURE__ */ t(k, {
111
+ }) : /* @__PURE__ */ t(j, {
109
112
  height: 20,
110
113
  width: 20,
111
114
  className: "size-5"
112
115
  }),
113
116
  className: "w-fit",
114
- size: g,
117
+ size: y,
115
118
  onClick: () => p(n ? [] : null),
116
- children: q ?? (B === "en" ? "Clear selection" : "Fjern valget")
119
+ children: G ?? (q === "en" ? "Clear selection" : "Fjern valget")
117
120
  }),
118
- /* @__PURE__ */ T("div", {
119
- id: G,
120
- role: K,
121
+ /* @__PURE__ */ S("div", {
122
+ id: K,
123
+ role: M,
121
124
  className: v("flex min-h-[24px] items-center gap-1 pt-1 text-sm/5 text-delta-600", f && "text-error-500"),
122
- children: [f && /* @__PURE__ */ t(Q, {
125
+ children: [f && /* @__PURE__ */ t(U, {
123
126
  width: 20,
124
127
  height: 20,
125
128
  className: "min-w-5"
126
129
  }), /* @__PURE__ */ t("span", {
127
130
  className: "line-clamp-1",
128
- children: S
131
+ children: C
129
132
  })]
130
133
  })
131
134
  ]
132
135
  });
133
136
  });
134
137
  export {
135
- ge as DynamicInteractiveChipGroup
138
+ ve as DynamicInteractiveChipGroup
136
139
  };