@tedi-design-system/react 16.0.0-rc.1 → 16.0.0-rc.11

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 (71) hide show
  1. package/_virtual/index.cjs10.js +1 -1
  2. package/_virtual/index.cjs11.js +1 -1
  3. package/_virtual/index.cjs12.js +1 -1
  4. package/_virtual/index.cjs13.js +1 -1
  5. package/_virtual/index.cjs5.js +1 -1
  6. package/_virtual/index.cjs6.js +1 -1
  7. package/_virtual/index.cjs7.js +1 -1
  8. package/_virtual/index.cjs8.js +1 -1
  9. package/_virtual/index.cjs9.js +1 -1
  10. package/_virtual/index.es10.js +1 -1
  11. package/_virtual/index.es11.js +1 -1
  12. package/_virtual/index.es12.js +1 -1
  13. package/_virtual/index.es13.js +2 -4
  14. package/_virtual/index.es5.js +4 -2
  15. package/_virtual/index.es6.js +1 -1
  16. package/_virtual/index.es7.js +1 -1
  17. package/_virtual/index.es8.js +1 -1
  18. package/_virtual/index.es9.js +1 -1
  19. package/bundle-stats.html +1 -1
  20. package/external/@mui/system/colorManipulator.cjs.js +1 -1
  21. package/external/@mui/system/colorManipulator.es.js +2 -2
  22. package/external/@mui/system/createStyled.cjs.js +1 -1
  23. package/external/@mui/system/createStyled.es.js +6 -6
  24. package/external/@mui/system/useThemeWithoutDefault.cjs.js +1 -1
  25. package/external/@mui/system/useThemeWithoutDefault.es.js +1 -1
  26. package/external/toposort/index.cjs.js +1 -1
  27. package/external/toposort/index.es.js +1 -1
  28. package/index.css +1 -1
  29. package/package.json +2 -2
  30. package/src/tedi/components/buttons/button-content/button-content.cjs.js +1 -1
  31. package/src/tedi/components/buttons/button-content/button-content.es.js +54 -54
  32. package/src/tedi/components/buttons/button-content/button-content.module.scss.cjs.js +1 -1
  33. package/src/tedi/components/buttons/button-content/button-content.module.scss.es.js +2 -1
  34. package/src/tedi/components/buttons/button-group/button-group.cjs.js +1 -1
  35. package/src/tedi/components/buttons/button-group/button-group.d.ts +4 -0
  36. package/src/tedi/components/buttons/button-group/button-group.es.js +31 -22
  37. package/src/tedi/components/buttons/button-group/button-group.module.scss.cjs.js +1 -1
  38. package/src/tedi/components/buttons/button-group/button-group.module.scss.es.js +2 -0
  39. package/src/tedi/components/buttons/floating-button/floating-button.module.scss.cjs.js +1 -1
  40. package/src/tedi/components/buttons/floating-button/floating-button.module.scss.es.js +2 -1
  41. package/src/tedi/components/buttons/info-button/info-button.cjs.js +1 -1
  42. package/src/tedi/components/buttons/info-button/info-button.d.ts +4 -3
  43. package/src/tedi/components/buttons/info-button/info-button.es.js +17 -16
  44. package/src/tedi/components/form/checkbox/checkbox.cjs.js +1 -1
  45. package/src/tedi/components/form/checkbox/checkbox.es.js +61 -59
  46. package/src/tedi/components/form/choice-group/components/choice-group-item/choice-group-item.cjs.js +1 -1
  47. package/src/tedi/components/form/choice-group/components/choice-group-item/choice-group-item.es.js +61 -58
  48. package/src/tedi/components/form/choice-input.types.d.ts +5 -1
  49. package/src/tedi/components/form/form-label/form-label.d.ts +1 -1
  50. package/src/tedi/components/form/radio/radio.cjs.js +1 -1
  51. package/src/tedi/components/form/radio/radio.es.js +55 -53
  52. package/src/tedi/components/layout/sidenav/components/sidenav-dropdown/sidenav-dropdown.cjs.js +1 -1
  53. package/src/tedi/components/layout/sidenav/components/sidenav-dropdown/sidenav-dropdown.d.ts +2 -1
  54. package/src/tedi/components/layout/sidenav/components/sidenav-dropdown/sidenav-dropdown.es.js +37 -35
  55. package/src/tedi/components/layout/sidenav/components/sidenav-item/sidenav-item.cjs.js +1 -1
  56. package/src/tedi/components/layout/sidenav/components/sidenav-item/sidenav-item.es.js +20 -19
  57. package/src/tedi/components/layout/sidenav/sidenav.d.ts +2 -1
  58. package/src/tedi/components/notifications/alert/alert.cjs.js +1 -1
  59. package/src/tedi/components/notifications/alert/alert.d.ts +8 -1
  60. package/src/tedi/components/notifications/alert/alert.es.js +17 -15
  61. package/src/tedi/components/notifications/alert/alert.module.scss.cjs.js +1 -1
  62. package/src/tedi/components/notifications/alert/alert.module.scss.es.js +2 -0
  63. package/src/tedi/components/overlays/overlay/overlay-content.cjs.js +1 -1
  64. package/src/tedi/components/overlays/overlay/overlay-content.es.js +13 -11
  65. package/src/tedi/components/overlays/overlay/overlay-trigger.cjs.js +1 -1
  66. package/src/tedi/components/overlays/overlay/overlay-trigger.es.js +21 -17
  67. package/src/tedi/components/overlays/overlay/overlay.cjs.js +1 -1
  68. package/src/tedi/components/overlays/overlay/overlay.d.ts +2 -0
  69. package/src/tedi/components/overlays/overlay/overlay.es.js +114 -88
  70. package/src/tedi/components/overlays/tooltip/tooltip.cjs.js +1 -1
  71. package/src/tedi/components/overlays/tooltip/tooltip.es.js +21 -14
@@ -1,84 +1,85 @@
1
- import { jsxs as n, jsx as i } from "react/jsx-runtime";
1
+ import { jsxs as s, jsx as i } from "react/jsx-runtime";
2
2
  import d from "../../../../../external/classnames/index.es.js";
3
- import b from "react";
4
- import { Icon as C } from "../../base/icon/icon.es.js";
5
- import { FeedbackText as M } from "../feedback-text/feedback-text.es.js";
3
+ import m from "react";
4
+ import { Icon as N } from "../../base/icon/icon.es.js";
5
+ import { FeedbackText as q } from "../feedback-text/feedback-text.es.js";
6
6
  import { FormLabel as E } from "../form-label/form-label.es.js";
7
7
  import e from "./checkbox.module.scss.es.js";
8
8
  import { Row as H } from "../../layout/grid/row.es.js";
9
- import { Col as g } from "../../layout/grid/col.es.js";
10
- const P = (y) => {
9
+ import { Col as C } from "../../layout/grid/col.es.js";
10
+ const Q = (g) => {
11
11
  const {
12
- id: t,
13
- label: r,
14
- value: f,
15
- className: z,
16
- disabled: _ = !1,
17
- onChange: o,
18
- hideLabel: I = !1,
19
- helper: a,
20
- checked: l,
21
- defaultChecked: R,
22
- indeterminate: h,
23
- hover: j,
24
- name: w,
25
- tooltip: p,
26
- invalid: F,
27
- size: s = "default",
28
- ...L
29
- } = y, [x, $] = b.useState(R || !1), m = b.useRef(null), k = b.useMemo(() => h ? "mixed" : o && typeof l < "u" ? l : x, [h, o, l, x]), v = (c) => {
30
- typeof l > "u" && $(c == null ? void 0 : c.target.checked), o == null || o(f, c == null ? void 0 : c.target.checked);
31
- }, u = a ? a.id ?? `${t}-helper` : void 0, B = p ? `${t}-tooltip` : void 0, N = d(e["tedi-checkbox"], { [e["tedi-checkbox--disabled"]]: _ });
32
- return /* @__PURE__ */ n("div", { "data-name": "check", ...L, children: [
33
- /* @__PURE__ */ n(H, { gutter: 0, children: [
34
- /* @__PURE__ */ i(g, { width: "auto", children: /* @__PURE__ */ n("div", { className: e["tedi-checkbox__outer-indicator-wrapper"], children: [
12
+ id: a,
13
+ label: k,
14
+ value: b,
15
+ className: y,
16
+ disabled: f = !1,
17
+ onChange: t,
18
+ hideLabel: z = !1,
19
+ helper: o,
20
+ checked: r,
21
+ defaultChecked: I,
22
+ indeterminate: n,
23
+ hover: R,
24
+ name: j,
25
+ tooltip: _,
26
+ invalid: w,
27
+ size: l = "default",
28
+ required: L,
29
+ ...$
30
+ } = g, [p, v] = m.useState(I || !1), x = m.useRef(null), h = m.useMemo(() => n ? "mixed" : t && typeof r < "u" ? r : p, [n, t, r, p]), B = (c) => {
31
+ typeof r > "u" && v(c == null ? void 0 : c.target.checked), t == null || t(b, c == null ? void 0 : c.target.checked);
32
+ }, u = o ? o.id ?? `${a}-helper` : void 0, F = _ ? `${a}-tooltip` : void 0, M = d(e["tedi-checkbox__label"], { [e["tedi-checkbox--disabled"]]: f });
33
+ return /* @__PURE__ */ s("div", { "data-name": "check", ...$, children: [
34
+ /* @__PURE__ */ s(H, { gutter: 0, children: [
35
+ /* @__PURE__ */ i(C, { width: "auto", children: /* @__PURE__ */ s("div", { className: e["tedi-checkbox__outer-indicator-wrapper"], children: [
35
36
  /* @__PURE__ */ i(
36
37
  "input",
37
38
  {
38
- id: t,
39
- value: f,
40
- name: w,
39
+ id: a,
40
+ value: b,
41
+ name: j,
41
42
  type: "checkbox",
42
- disabled: _,
43
- checked: k !== "mixed" ? k : !1,
44
- "aria-checked": k,
45
- onChange: v,
43
+ disabled: f,
44
+ checked: h !== "mixed" ? h : !1,
45
+ "aria-checked": h,
46
+ onChange: B,
46
47
  className: e["tedi-checkbox__input"],
47
- "aria-describedby": [u, B].filter(Boolean).join(" ")
48
+ "aria-describedby": [u, F].filter(Boolean).join(" ")
48
49
  }
49
50
  ),
50
- /* @__PURE__ */ n(
51
+ /* @__PURE__ */ s(
51
52
  "div",
52
53
  {
53
54
  "aria-hidden": "true",
54
55
  onClick: () => {
55
56
  var c;
56
- return (c = m.current) == null ? void 0 : c.click();
57
+ return (c = x.current) == null ? void 0 : c.click();
57
58
  },
58
59
  className: d(
59
60
  e["tedi-checkbox__indicator"],
60
61
  {
61
- [e["tedi-checkbox__indicator--hover"]]: j,
62
- [e["tedi-checkbox__indicator--indeterminate"]]: h,
63
- [e[`tedi-checkbox__indicator--size-${s}`]]: s,
64
- [e["tedi-checkbox__indicator--invalid"]]: F
62
+ [e["tedi-checkbox__indicator--hover"]]: R,
63
+ [e["tedi-checkbox__indicator--indeterminate"]]: n,
64
+ [e[`tedi-checkbox__indicator--size-${l}`]]: l,
65
+ [e["tedi-checkbox__indicator--invalid"]]: w
65
66
  },
66
- z
67
+ y
67
68
  ),
68
69
  "data-testid": "checkbox-indicator",
69
70
  children: [
70
71
  /* @__PURE__ */ i(
71
- C,
72
+ N,
72
73
  {
73
- size: s === "default" ? 16 : 18,
74
+ size: l === "default" ? 16 : 18,
74
75
  name: "remove",
75
76
  className: d(e["tedi-checkbox__icon"], e["tedi-checkbox__icon--indeterminate"])
76
77
  }
77
78
  ),
78
79
  /* @__PURE__ */ i(
79
- C,
80
+ N,
80
81
  {
81
- size: s === "default" ? 16 : 18,
82
+ size: l === "default" ? 16 : 18,
82
83
  name: "check",
83
84
  className: d(e["tedi-checkbox__icon"], e["tedi-checkbox__icon--check"])
84
85
  }
@@ -87,23 +88,24 @@ const P = (y) => {
87
88
  }
88
89
  )
89
90
  ] }) }),
90
- /* @__PURE__ */ i(g, { children: r && typeof r == "string" ? /* @__PURE__ */ i(
91
+ k && /* @__PURE__ */ i(C, { children: /* @__PURE__ */ i(
91
92
  E,
92
93
  {
93
- ref: m,
94
- className: N,
95
- id: t,
94
+ ref: x,
95
+ className: M,
96
+ id: a,
96
97
  "data-testid": "checkbox-label",
97
- hideLabel: I,
98
- label: r,
99
- tooltip: p
98
+ hideLabel: z,
99
+ label: k,
100
+ tooltip: _,
101
+ required: L
100
102
  }
101
- ) : /* @__PURE__ */ i("label", { ref: m, htmlFor: t, className: N, "data-testid": "checkbox-label", children: r }) })
103
+ ) })
102
104
  ] }),
103
- a && /* @__PURE__ */ i(M, { id: u, ...a, className: d(e["tedi-checkbox__helper"], a.className) })
105
+ o && /* @__PURE__ */ i(q, { id: u, ...o, className: d(e["tedi-checkbox__helper"], o.className) })
104
106
  ] });
105
107
  };
106
108
  export {
107
- P as Checkbox,
108
- P as default
109
+ Q as Checkbox,
110
+ Q as default
109
111
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("react/jsx-runtime"),h=require("../../../../../../../external/classnames/index.cjs.js"),E=require("react"),F=require("../../../checkbox/checkbox.cjs.js"),L=require("../../../feedback-text/feedback-text.cjs.js"),R=require("../../../radio/radio.cjs.js"),S=require("../../choice-group-context.cjs.js"),e=require("./choice-group-item.module.scss.cjs.js"),H=require("../../../../../helpers/hooks/use-breakpoint-props.cjs.js"),O=require("../../../../layout/grid/col.cjs.js"),j=r=>{const{getCurrentBreakpointProps:q}=H.useBreakpointProps(r.defaultServerBreakpoint),{id:u,label:k,value:o,className:v,direction:m,disabled:l,colProps:y=m==="column"?{width:12}:{width:"auto"},onChange:p,hideLabel:N,helper:a,tooltip:B,type:s="radio",variant:n="default",color:$="primary",layout:G,showIndicator:C,justifyContent:x="start"}=q(r),{currentValue:d,name:b,onChange:f,inputType:I}=E.useContext(S.ChoiceGroupContext),i=Array.isArray(d)?d.includes(o):o===d,P=d===void 0?r.defaultChecked:i,g=(c,_)=>{f==null||f(c,_),p==null||p(c,_)},M=h.default(e.default[`tedi-choice-group-item--${G==="separated"?"separated":"segmented"}`],m&&e.default[`tedi-choice-group-item--${m}`]),T=h.default(e.default["tedi-choice-group-item"],e.default[`tedi-choice-group-item--${n}`],e.default[`tedi-choice-group-item--${n}-${$}`],C&&e.default["tedi-choice-group-item--indicator"],s&&e.default[`tedi-choice-group-item--${s}`],{[e.default["tedi-choice-group-item--disabled"]]:l},{[e.default["tedi-choice-group-item--checked"]]:i},{[`justify-content-${x}`]:x}),w=s==="radio"?R.Radio:F.Checkbox,A=c=>{c.target.tagName!=="LABEL"&&!l&&n==="card"&&g(o,!i)};return t.jsx(O.Col,{...y,className:M,children:t.jsx("div",{className:T,onClick:A,children:n==="default"||C?t.jsx(w,{id:u,label:k,value:o,name:b,className:h.default(e.default["tedi-choice-group-item__indicator"],v),disabled:l,checked:i,defaultChecked:P,onChange:g,hideLabel:N,helper:a?{...a,className:h.default(e.default["tedi-choice-group-item__feedback-text"],a.className)}:void 0,tooltip:B,"data-testid":"choice-group-item-indicator","aria-checked":i}):t.jsxs(t.Fragment,{children:[t.jsx("input",{id:u,value:o,name:b,type:I,disabled:l,checked:i,defaultChecked:d===void 0?r.defaultChecked:void 0,onChange:c=>g(o,c.target.checked),className:e.default["tedi-choice-group-item__input"],role:s==="radio"?"radio":void 0,"aria-checked":i}),t.jsxs("label",{htmlFor:u,className:e.default["tedi-choice-group-item__label"],children:[k,a&&t.jsx(L.FeedbackText,{...a,id:u,className:e.default["tedi-choice-group-item__feedback-text"]})]})]})})})};exports.ChoiceGroupItem=j;exports.default=j;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const t=require("react/jsx-runtime"),h=require("../../../../../../../external/classnames/index.cjs.js"),R=require("react"),S=require("../../../checkbox/checkbox.cjs.js"),A=require("../../../feedback-text/feedback-text.cjs.js"),H=require("../../../radio/radio.cjs.js"),L=require("../../choice-group-context.cjs.js"),e=require("./choice-group-item.module.scss.cjs.js"),O=require("../../../../../helpers/hooks/use-breakpoint-props.cjs.js"),V=require("../../../../layout/grid/col.cjs.js"),y=l=>{const{getCurrentBreakpointProps:q}=O.useBreakpointProps(l.defaultServerBreakpoint),{id:c,label:k,value:a,className:v,direction:m,disabled:n,colProps:N=m==="column"?{width:12}:{width:"auto"},onChange:p,hideLabel:B,helper:r,tooltip:$,type:d="radio",variant:s="default",color:G="primary",layout:I,showIndicator:C,justifyContent:x="start"}=q(l),{currentValue:u,name:b,onChange:f,inputType:P}=R.useContext(L.ChoiceGroupContext),i=Array.isArray(u)?u.includes(a):a===u,M=u===void 0?l.defaultChecked:i,_=(o,g)=>{f==null||f(o,g),p==null||p(o,g)},T=h.default(e.default[`tedi-choice-group-item--${I==="separated"?"separated":"segmented"}`],m&&e.default[`tedi-choice-group-item--${m}`]),w=h.default(e.default["tedi-choice-group-item"],e.default[`tedi-choice-group-item--${s}`],e.default[`tedi-choice-group-item--${s}-${G}`],C&&e.default["tedi-choice-group-item--indicator"],d&&e.default[`tedi-choice-group-item--${d}`],{[e.default["tedi-choice-group-item--disabled"]]:n},{[e.default["tedi-choice-group-item--checked"]]:i},{[`justify-content-${x}`]:x}),E=d==="radio"?H.Radio:S.Checkbox,F=o=>{var j;n||s!=="card"||o.target.closest("input, label")||(j=document.getElementById(c))==null||j.click()};return t.jsx(V.Col,{...N,className:T,children:t.jsx("div",{className:w,onClick:F,role:d,"aria-checked":i,children:s==="default"||C?t.jsx(E,{id:c,label:k,value:a,name:b,className:h.default(e.default["tedi-choice-group-item__indicator"],v),disabled:n,checked:i,defaultChecked:M,onChange:_,hideLabel:B,helper:r?{...r,className:h.default(e.default["tedi-choice-group-item__feedback-text"],r.className)}:void 0,tooltip:$,"data-testid":"choice-group-item-indicator","aria-checked":i}):t.jsxs(t.Fragment,{children:[t.jsx("input",{id:c,value:a,name:b,type:P,disabled:n,checked:i,defaultChecked:u===void 0?l.defaultChecked:void 0,onChange:o=>{_(a,o.target.checked)},className:e.default["tedi-choice-group-item__input"],role:d==="radio"?"radio":void 0,"aria-checked":i}),t.jsxs("label",{htmlFor:c,className:e.default["tedi-choice-group-item__label"],children:[k,r&&t.jsx(A.FeedbackText,{...r,id:c,className:e.default["tedi-choice-group-item__feedback-text"]})]})]})})})};exports.ChoiceGroupItem=y;exports.default=y;
@@ -1,91 +1,94 @@
1
- import { jsx as a, jsxs as y, Fragment as L } from "react/jsx-runtime";
1
+ import { jsx as n, jsxs as x, Fragment as M } from "react/jsx-runtime";
2
2
  import u from "../../../../../../../external/classnames/index.es.js";
3
- import P from "react";
4
- import { Checkbox as M } from "../../../checkbox/checkbox.es.js";
5
- import { FeedbackText as R } from "../../../feedback-text/feedback-text.es.js";
6
- import { Radio as T } from "../../../radio/radio.es.js";
7
- import { ChoiceGroupContext as H } from "../../choice-group-context.es.js";
3
+ import R from "react";
4
+ import { Checkbox as T } from "../../../checkbox/checkbox.es.js";
5
+ import { FeedbackText as H } from "../../../feedback-text/feedback-text.es.js";
6
+ import { Radio as L } from "../../../radio/radio.es.js";
7
+ import { ChoiceGroupContext as S } from "../../choice-group-context.es.js";
8
8
  import e from "./choice-group-item.module.scss.es.js";
9
- import { useBreakpointProps as S } from "../../../../../helpers/hooks/use-breakpoint-props.es.js";
10
- import { Col as V } from "../../../../layout/grid/col.es.js";
11
- const ee = (d) => {
12
- const { getCurrentBreakpointProps: x } = S(d.defaultServerBreakpoint), {
13
- id: n,
14
- label: C,
15
- value: o,
16
- className: v,
9
+ import { useBreakpointProps as V } from "../../../../../helpers/hooks/use-breakpoint-props.es.js";
10
+ import { Col as q } from "../../../../layout/grid/col.es.js";
11
+ const te = (l) => {
12
+ const { getCurrentBreakpointProps: v } = V(l.defaultServerBreakpoint), {
13
+ id: i,
14
+ label: k,
15
+ value: c,
16
+ className: $,
17
17
  direction: p,
18
18
  disabled: m,
19
- colProps: $ = p === "column" ? { width: 12 } : { width: "auto" },
19
+ colProps: B = p === "column" ? { width: 12 } : { width: "auto" },
20
20
  onChange: h,
21
- hideLabel: B,
22
- helper: c,
21
+ hideLabel: I,
22
+ helper: r,
23
23
  tooltip: j,
24
- type: s = "radio",
25
- variant: l = "default",
26
- color: I = "primary",
27
- layout: w,
28
- showIndicator: k,
24
+ type: a = "radio",
25
+ variant: s = "default",
26
+ color: w = "primary",
27
+ layout: E,
28
+ showIndicator: C,
29
29
  justifyContent: _ = "start"
30
- } = x(d), { currentValue: r, name: N, onChange: f, inputType: A } = P.useContext(H), t = Array.isArray(r) ? r.includes(o) : o === r, E = r === void 0 ? d.defaultChecked : t, g = (i, b) => {
31
- f == null || f(i, b), h == null || h(i, b);
32
- }, F = u(
33
- e[`tedi-choice-group-item--${w === "separated" ? "separated" : "segmented"}`],
30
+ } = v(l), { currentValue: d, name: b, onChange: f, inputType: F } = R.useContext(S), t = Array.isArray(d) ? d.includes(c) : c === d, G = d === void 0 ? l.defaultChecked : t, y = (o, g) => {
31
+ f == null || f(o, g), h == null || h(o, g);
32
+ }, P = u(
33
+ e[`tedi-choice-group-item--${E === "separated" ? "separated" : "segmented"}`],
34
34
  p && e[`tedi-choice-group-item--${p}`]
35
- ), G = u(
35
+ ), A = u(
36
36
  e["tedi-choice-group-item"],
37
- e[`tedi-choice-group-item--${l}`],
38
- e[`tedi-choice-group-item--${l}-${I}`],
39
- k && e["tedi-choice-group-item--indicator"],
40
- s && e[`tedi-choice-group-item--${s}`],
37
+ e[`tedi-choice-group-item--${s}`],
38
+ e[`tedi-choice-group-item--${s}-${w}`],
39
+ C && e["tedi-choice-group-item--indicator"],
40
+ a && e[`tedi-choice-group-item--${a}`],
41
41
  { [e["tedi-choice-group-item--disabled"]]: m },
42
42
  { [e["tedi-choice-group-item--checked"]]: t },
43
43
  { [`justify-content-${_}`]: _ }
44
44
  );
45
- return /* @__PURE__ */ a(V, { ...$, className: F, children: /* @__PURE__ */ a("div", { className: G, onClick: (i) => {
46
- i.target.tagName !== "LABEL" && !m && l === "card" && g(o, !t);
47
- }, children: l === "default" || k ? /* @__PURE__ */ a(
48
- s === "radio" ? T : M,
45
+ return /* @__PURE__ */ n(q, { ...B, className: P, children: /* @__PURE__ */ n("div", { className: A, onClick: (o) => {
46
+ var N;
47
+ m || s !== "card" || o.target.closest("input, label") || (N = document.getElementById(i)) == null || N.click();
48
+ }, role: a, "aria-checked": t, children: s === "default" || C ? /* @__PURE__ */ n(
49
+ a === "radio" ? L : T,
49
50
  {
50
- id: n,
51
- label: C,
52
- value: o,
53
- name: N,
54
- className: u(e["tedi-choice-group-item__indicator"], v),
51
+ id: i,
52
+ label: k,
53
+ value: c,
54
+ name: b,
55
+ className: u(e["tedi-choice-group-item__indicator"], $),
55
56
  disabled: m,
56
57
  checked: t,
57
- defaultChecked: E,
58
- onChange: g,
59
- hideLabel: B,
60
- helper: c ? { ...c, className: u(e["tedi-choice-group-item__feedback-text"], c.className) } : void 0,
58
+ defaultChecked: G,
59
+ onChange: y,
60
+ hideLabel: I,
61
+ helper: r ? { ...r, className: u(e["tedi-choice-group-item__feedback-text"], r.className) } : void 0,
61
62
  tooltip: j,
62
63
  "data-testid": "choice-group-item-indicator",
63
64
  "aria-checked": t
64
65
  }
65
- ) : /* @__PURE__ */ y(L, { children: [
66
- /* @__PURE__ */ a(
66
+ ) : /* @__PURE__ */ x(M, { children: [
67
+ /* @__PURE__ */ n(
67
68
  "input",
68
69
  {
69
- id: n,
70
- value: o,
71
- name: N,
72
- type: A,
70
+ id: i,
71
+ value: c,
72
+ name: b,
73
+ type: F,
73
74
  disabled: m,
74
75
  checked: t,
75
- defaultChecked: r === void 0 ? d.defaultChecked : void 0,
76
- onChange: (i) => g(o, i.target.checked),
76
+ defaultChecked: d === void 0 ? l.defaultChecked : void 0,
77
+ onChange: (o) => {
78
+ y(c, o.target.checked);
79
+ },
77
80
  className: e["tedi-choice-group-item__input"],
78
- role: s === "radio" ? "radio" : void 0,
81
+ role: a === "radio" ? "radio" : void 0,
79
82
  "aria-checked": t
80
83
  }
81
84
  ),
82
- /* @__PURE__ */ y("label", { htmlFor: n, className: e["tedi-choice-group-item__label"], children: [
83
- C,
84
- c && /* @__PURE__ */ a(R, { ...c, id: n, className: e["tedi-choice-group-item__feedback-text"] })
85
+ /* @__PURE__ */ x("label", { htmlFor: i, className: e["tedi-choice-group-item__label"], children: [
86
+ k,
87
+ r && /* @__PURE__ */ n(H, { ...r, id: i, className: e["tedi-choice-group-item__feedback-text"] })
85
88
  ] })
86
89
  ] }) }) });
87
90
  };
88
91
  export {
89
- ee as ChoiceGroupItem,
90
- ee as default
92
+ te as ChoiceGroupItem,
93
+ te as default
91
94
  };
@@ -7,7 +7,7 @@ export interface ChoiceInputProps {
7
7
  /**
8
8
  * Label text
9
9
  */
10
- label: string | React.ReactNode;
10
+ label: React.ReactNode;
11
11
  /**
12
12
  * Additional classes.
13
13
  */
@@ -60,4 +60,8 @@ export interface ChoiceInputProps {
60
60
  * Whether the input is marked as invalid.
61
61
  */
62
62
  invalid?: boolean;
63
+ /**
64
+ * Whether the input is marked as required.
65
+ */
66
+ required?: boolean;
63
67
  }
@@ -7,7 +7,7 @@ export interface FormLabelProps {
7
7
  /**
8
8
  * The text content of the label that describes the input field.
9
9
  */
10
- label: string;
10
+ label: React.ReactNode;
11
11
  /**
12
12
  * Controls the visibility of the label.
13
13
  * Use `true` to hide the label visually while maintaining its space in the layout,
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("react/jsx-runtime"),c=require("../../../../../external/classnames/index.cjs.js"),n=require("react"),I=require("../feedback-text/feedback-text.cjs.js"),S=require("../form-label/form-label.cjs.js"),a=require("./radio.module.scss.cjs.js"),T=require("../../layout/grid/row.cjs.js"),x=require("../../layout/grid/col.cjs.js"),j=k=>{const{id:i,label:o,value:u,className:g,disabled:f,onChange:t,hideLabel:q,helper:r,checked:l,defaultChecked:C,hover:N,name:R,tooltip:h,size:b="default",invalid:y,...w}=k,[m,L]=n.useState(C||!1),s=n.useRef(null),M=n.useMemo(()=>t&&typeof l<"u"?l:m,[t,m,l]),v=d=>{typeof l>"u"&&L(d==null?void 0:d.target.checked),t==null||t(u,d==null?void 0:d.target.checked)},_=r?r.id??`${i}-helper`:void 0,F=h?`${i}-tooltip`:void 0,p=c.default(a.default["tedi-radio"],{[a.default["tedi-radio--disabled"]]:f});return e.jsxs("div",{"data-name":"radio",...w,children:[e.jsxs(T.Row,{gutter:0,children:[e.jsx(x.Col,{width:"auto",children:e.jsxs("div",{className:a.default["tedi-radio__outer-indicator-wrapper"],children:[e.jsx("input",{id:i,value:u,name:R,type:"radio",disabled:f,checked:M,onChange:v,className:a.default["tedi-radio__input"],"aria-describedby":[_,F].filter(Boolean).join(" ")}),e.jsx("div",{"aria-hidden":"true",onClick:()=>{var d;return(d=s.current)==null?void 0:d.click()},className:c.default(a.default["tedi-radio__indicator"],{[a.default["tedi-radio__indicator--hover"]]:N},{[a.default[`tedi-radio__indicator--size-${b}`]]:b},{[a.default["tedi-radio__indicator--invalid"]]:y},g),"data-testid":"radio-indicator"})]})}),e.jsx(x.Col,{children:o&&typeof o=="string"?e.jsx(S.FormLabel,{ref:s,className:p,id:i,"data-testid":"radio-label",hideLabel:q,label:o,tooltip:h}):e.jsx("label",{ref:s,htmlFor:i,className:p,"data-testid":"radio-label",children:o})})]}),r&&e.jsx(I.FeedbackText,{id:_,...r,className:c.default(a.default["tedi-radio__helper"],r.className)})]})};exports.Radio=j;exports.default=j;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const d=require("react/jsx-runtime"),l=require("../../../../../external/classnames/index.cjs.js"),s=require("react"),T=require("../feedback-text/feedback-text.cjs.js"),$=require("../form-label/form-label.cjs.js"),i=require("./radio.module.scss.cjs.js"),z=require("../../layout/grid/row.cjs.js"),p=require("../../layout/grid/col.cjs.js"),x=j=>{const{id:r,label:c,value:n,className:k,disabled:u,onChange:a,hideLabel:q,helper:t,checked:o,defaultChecked:C,hover:g,name:N,tooltip:f,size:h="default",invalid:R,required:y,...w}=j,[_,L]=s.useState(C||!1),b=s.useRef(null),M=s.useMemo(()=>a&&typeof o<"u"?o:_,[a,_,o]),v=e=>{typeof o>"u"&&L(e==null?void 0:e.target.checked),a==null||a(n,e==null?void 0:e.target.checked)},m=t?t.id??`${r}-helper`:void 0,I=f?`${r}-tooltip`:void 0,S=l.default(i.default["tedi-radio__label"],{[i.default["tedi-radio--disabled"]]:u});return d.jsxs("div",{"data-name":"radio",...w,children:[d.jsxs(z.Row,{gutter:0,children:[d.jsx(p.Col,{width:"auto",children:d.jsxs("div",{className:i.default["tedi-radio__outer-indicator-wrapper"],children:[d.jsx("input",{id:r,value:n,name:N,type:"radio",disabled:u,checked:M,onChange:v,className:i.default["tedi-radio__input"],"aria-describedby":[m,I].filter(Boolean).join(" ")}),d.jsx("div",{"aria-hidden":"true",onClick:()=>{var e;return(e=b.current)==null?void 0:e.click()},className:l.default(i.default["tedi-radio__indicator"],{[i.default["tedi-radio__indicator--hover"]]:g},{[i.default[`tedi-radio__indicator--size-${h}`]]:h},{[i.default["tedi-radio__indicator--invalid"]]:R},k),"data-testid":"radio-indicator"})]})}),c&&d.jsx(p.Col,{children:d.jsx($.FormLabel,{ref:b,className:S,id:r,"data-testid":"radio-label",hideLabel:q,label:c,tooltip:f,required:y})})]}),t&&d.jsx(T.FeedbackText,{id:m,...t,className:l.default(i.default["tedi-radio__helper"],t.className)})]})};exports.Radio=x;exports.default=x;
@@ -1,47 +1,48 @@
1
- import { jsxs as s, jsx as d } from "react/jsx-runtime";
2
- import n from "../../../../../external/classnames/index.es.js";
3
- import m from "react";
4
- import { FeedbackText as B } from "../feedback-text/feedback-text.es.js";
5
- import { FormLabel as M } from "../form-label/form-label.es.js";
1
+ import { jsxs as l, jsx as d } from "react/jsx-runtime";
2
+ import c from "../../../../../external/classnames/index.es.js";
3
+ import s from "react";
4
+ import { FeedbackText as M } from "../feedback-text/feedback-text.es.js";
5
+ import { FormLabel as q } from "../form-label/form-label.es.js";
6
6
  import i from "./radio.module.scss.es.js";
7
7
  import { Row as v } from "../../layout/grid/row.es.js";
8
- import { Col as N } from "../../layout/grid/col.es.js";
9
- const J = (C) => {
8
+ import { Col as k } from "../../layout/grid/col.es.js";
9
+ const K = (N) => {
10
10
  const {
11
- id: a,
12
- label: o,
13
- value: h,
14
- className: g,
15
- disabled: f,
16
- onChange: r,
17
- hideLabel: y,
18
- helper: t,
19
- checked: l,
20
- defaultChecked: R,
21
- hover: x,
22
- name: j,
11
+ id: o,
12
+ label: n,
13
+ value: m,
14
+ className: C,
15
+ disabled: h,
16
+ onChange: a,
17
+ hideLabel: g,
18
+ helper: r,
19
+ checked: t,
20
+ defaultChecked: y,
21
+ hover: R,
22
+ name: x,
23
23
  tooltip: p,
24
- size: u = "default",
25
- invalid: w,
26
- ...F
27
- } = C, [_, I] = m.useState(R || !1), c = m.useRef(null), L = m.useMemo(() => r && typeof l < "u" ? l : _, [r, _, l]), $ = (e) => {
28
- typeof l > "u" && I(e == null ? void 0 : e.target.checked), r == null || r(h, e == null ? void 0 : e.target.checked);
29
- }, b = t ? t.id ?? `${a}-helper` : void 0, z = p ? `${a}-tooltip` : void 0, k = n(i["tedi-radio"], { [i["tedi-radio--disabled"]]: f });
30
- return /* @__PURE__ */ s("div", { "data-name": "radio", ...F, children: [
31
- /* @__PURE__ */ s(v, { gutter: 0, children: [
32
- /* @__PURE__ */ d(N, { width: "auto", children: /* @__PURE__ */ s("div", { className: i["tedi-radio__outer-indicator-wrapper"], children: [
24
+ size: f = "default",
25
+ invalid: j,
26
+ required: w,
27
+ ...I
28
+ } = N, [u, L] = s.useState(y || !1), _ = s.useRef(null), $ = s.useMemo(() => a && typeof t < "u" ? t : u, [a, u, t]), z = (e) => {
29
+ typeof t > "u" && L(e == null ? void 0 : e.target.checked), a == null || a(m, e == null ? void 0 : e.target.checked);
30
+ }, b = r ? r.id ?? `${o}-helper` : void 0, B = p ? `${o}-tooltip` : void 0, F = c(i["tedi-radio__label"], { [i["tedi-radio--disabled"]]: h });
31
+ return /* @__PURE__ */ l("div", { "data-name": "radio", ...I, children: [
32
+ /* @__PURE__ */ l(v, { gutter: 0, children: [
33
+ /* @__PURE__ */ d(k, { width: "auto", children: /* @__PURE__ */ l("div", { className: i["tedi-radio__outer-indicator-wrapper"], children: [
33
34
  /* @__PURE__ */ d(
34
35
  "input",
35
36
  {
36
- id: a,
37
- value: h,
38
- name: j,
37
+ id: o,
38
+ value: m,
39
+ name: x,
39
40
  type: "radio",
40
- disabled: f,
41
- checked: L,
42
- onChange: $,
41
+ disabled: h,
42
+ checked: $,
43
+ onChange: z,
43
44
  className: i["tedi-radio__input"],
44
- "aria-describedby": [b, z].filter(Boolean).join(" ")
45
+ "aria-describedby": [b, B].filter(Boolean).join(" ")
45
46
  }
46
47
  ),
47
48
  /* @__PURE__ */ d(
@@ -50,36 +51,37 @@ const J = (C) => {
50
51
  "aria-hidden": "true",
51
52
  onClick: () => {
52
53
  var e;
53
- return (e = c.current) == null ? void 0 : e.click();
54
+ return (e = _.current) == null ? void 0 : e.click();
54
55
  },
55
- className: n(
56
+ className: c(
56
57
  i["tedi-radio__indicator"],
57
- { [i["tedi-radio__indicator--hover"]]: x },
58
- { [i[`tedi-radio__indicator--size-${u}`]]: u },
59
- { [i["tedi-radio__indicator--invalid"]]: w },
60
- g
58
+ { [i["tedi-radio__indicator--hover"]]: R },
59
+ { [i[`tedi-radio__indicator--size-${f}`]]: f },
60
+ { [i["tedi-radio__indicator--invalid"]]: j },
61
+ C
61
62
  ),
62
63
  "data-testid": "radio-indicator"
63
64
  }
64
65
  )
65
66
  ] }) }),
66
- /* @__PURE__ */ d(N, { children: o && typeof o == "string" ? /* @__PURE__ */ d(
67
- M,
67
+ n && /* @__PURE__ */ d(k, { children: /* @__PURE__ */ d(
68
+ q,
68
69
  {
69
- ref: c,
70
- className: k,
71
- id: a,
70
+ ref: _,
71
+ className: F,
72
+ id: o,
72
73
  "data-testid": "radio-label",
73
- hideLabel: y,
74
- label: o,
75
- tooltip: p
74
+ hideLabel: g,
75
+ label: n,
76
+ tooltip: p,
77
+ required: w
76
78
  }
77
- ) : /* @__PURE__ */ d("label", { ref: c, htmlFor: a, className: k, "data-testid": "radio-label", children: o }) })
79
+ ) })
78
80
  ] }),
79
- t && /* @__PURE__ */ d(B, { id: b, ...t, className: n(i["tedi-radio__helper"], t.className) })
81
+ r && /* @__PURE__ */ d(M, { id: b, ...r, className: c(i["tedi-radio__helper"], r.className) })
80
82
  ] });
81
83
  };
82
84
  export {
83
- J as Radio,
84
- J as default
85
+ K as Radio,
86
+ K as default
85
87
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),d=require("../../../../../../../external/@floating-ui/react/dist/floating-ui.react.cjs.js"),N=require("../../../../../../../external/classnames/index.cjs.js"),v=require("react"),k=require("../../../../navigation/link/link.cjs.js"),a=require("./sidenav-dropdown.module.scss.cjs.js"),D=require("../../../../../../../external/@floating-ui/dom/dist/floating-ui.dom.cjs.js"),h=require("../../../../../../../external/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs.js"),q=require("../../../../../providers/label-provider/use-labels.cjs.js"),F=({trigger:b,groups:g,onOpenChange:o})=>{const{getLabel:x}=q.useLabels(),[u,r]=v.useState(!1),{refs:c,floatingStyles:_,context:f}=d.useFloating({open:u,middleware:[h.offset({mainAxis:8}),h.flip()],whileElementsMounted:D.autoUpdate,placement:"right-start",onOpenChange:e=>{r(e),o==null||o(e)},strategy:"fixed"}),{getReferenceProps:j,getFloatingProps:w}=d.useInteractions([d.useClick(f),d.useDismiss(f)]),p=e=>{var m;const n=e.subItemGroups||e.subItems,t=e.key||e.href||((m=e.children)==null?void 0:m.toString());return s.jsxs("li",{role:"none",className:N.default(a.default["tedi-sidenav-dropdown__item"],n&&a.default["tedi-sidenav-dropdown__item--has-children"]),children:[s.jsxs(k.Link,{...e,role:"menuitem","aria-haspopup":n?"true":void 0,"aria-expanded":n?!1:void 0,"aria-controls":n?`${t}-submenu`:void 0,className:a.default["tedi-sidenav-dropdown__link"],"data-active":e.isActive,"aria-current":e.isActive?"page":void 0,noStyle:!0,onClick:i=>{var l;(l=e.onClick)==null||l.call(e,i),r(!1)},children:[e.children,n&&s.jsx("span",{className:a.default["tedi-sidenav__bullet"]})]}),n&&s.jsx("ul",{id:`${t}-submenu`,className:a.default["tedi-sidenav-dropdown__list"],role:"menu","aria-label":x("sidenav.submenu"),children:(e.subItemGroups??(e.subItems?[{subItems:e.subItems}]:[])).map((i,l)=>s.jsxs(v.Fragment,{children:[i.subHeading&&s.jsx("div",{className:a.default["tedi-sidenav-dropdown__heading"],role:"presentation",children:i.subHeading}),i.subItems.map(I=>p(I))]},l))})]},t)},y=e=>{(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),r(n=>!n)),e.key==="Escape"&&(e.preventDefault(),r(!1),c.setReference(null))};return s.jsxs(s.Fragment,{children:[s.jsx("div",{ref:c.setReference,...j(),role:"button",tabIndex:-1,"aria-haspopup":"menu","aria-expanded":u,onKeyDown:y,children:b}),u&&s.jsx(d.FloatingOverlay,{children:s.jsx(d.FloatingPortal,{children:s.jsx(d.FloatingFocusManager,{context:f,modal:!1,children:s.jsx("div",{ref:c.setFloating,style:_,className:a.default["tedi-sidenav-dropdown"],role:"menu",...w(),children:g.map((e,n)=>s.jsxs("div",{className:a.default["tedi-sidenav-dropdown__group"],children:[e.subHeading&&s.jsx("div",{className:a.default["tedi-sidenav-dropdown__heading"],role:"presentation",children:e.subHeading}),s.jsx("ul",{className:a.default["tedi-sidenav-dropdown__list"],role:"menu",children:e.subItems.map(t=>p(t))})]},n))})})})})]})};exports.SideNavDropdown=F;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),d=require("../../../../../../../external/@floating-ui/react/dist/floating-ui.react.cjs.js"),k=require("../../../../../../../external/classnames/index.cjs.js"),m=require("react"),D=require("../../../../navigation/link/link.cjs.js"),a=require("./sidenav-dropdown.module.scss.cjs.js"),q=require("../../../../../../../external/@floating-ui/dom/dist/floating-ui.dom.cjs.js"),h=require("../../../../../../../external/@floating-ui/react-dom/dist/floating-ui.react-dom.cjs.js"),F=require("../../../../../providers/label-provider/use-labels.cjs.js"),S=({trigger:b,groups:g,onOpenChange:u,as:x})=>{const{getLabel:_}=F.useLabels(),[r,l]=m.useState(!1),{refs:c,floatingStyles:j,context:f}=d.useFloating({open:r,middleware:[h.offset({mainAxis:8}),h.flip()],whileElementsMounted:q.autoUpdate,placement:"right-start",onOpenChange:e=>{l(e),u==null||u(e)},strategy:"fixed"}),{getReferenceProps:w,getFloatingProps:y}=d.useInteractions([d.useClick(f),d.useDismiss(f)]),p=e=>{var v;const n=e.subItemGroups||e.subItems,t=e.key||e.href||((v=e.children)==null?void 0:v.toString());return s.jsxs("li",{role:"none",className:k.default(a.default["tedi-sidenav-dropdown__item"],n&&a.default["tedi-sidenav-dropdown__item--has-children"]),children:[s.jsxs(D.Link,{...e,role:"menuitem","aria-haspopup":n?"true":void 0,"aria-expanded":n?r:void 0,"aria-controls":n?`${t}-submenu`:void 0,className:a.default["tedi-sidenav-dropdown__link"],"data-active":e.isActive,"aria-current":e.isActive?"page":void 0,noStyle:!0,onClick:i=>{var o;(o=e.onClick)==null||o.call(e,i),l(!1)},as:e.as??x,children:[e.children,n&&s.jsx("span",{className:a.default["tedi-sidenav__bullet"]})]}),n&&s.jsx("ul",{id:`${t}-submenu`,className:a.default["tedi-sidenav-dropdown__list"],role:"menu","aria-label":_("sidenav.submenu"),children:(e.subItemGroups??(e.subItems?[{subItems:e.subItems}]:[])).map((i,o)=>s.jsxs(m.Fragment,{children:[i.subHeading&&s.jsx("div",{className:a.default["tedi-sidenav-dropdown__heading"],role:"presentation",children:i.subHeading}),i.subItems.map(N=>p(N))]},o))})]},t)},I=e=>{(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),l(n=>!n)),e.key==="Escape"&&(e.preventDefault(),l(!1),c.setReference(null))};return s.jsxs(s.Fragment,{children:[s.jsx("div",{ref:c.setReference,...w(),role:"button",tabIndex:-1,"aria-haspopup":"menu","aria-expanded":r,onKeyDown:I,children:b}),r&&s.jsx(d.FloatingOverlay,{children:s.jsx(d.FloatingPortal,{children:s.jsx(d.FloatingFocusManager,{context:f,modal:!1,children:s.jsx("div",{ref:c.setFloating,style:j,className:a.default["tedi-sidenav-dropdown"],role:"menu",...y(),children:g.map((e,n)=>s.jsxs("div",{className:a.default["tedi-sidenav-dropdown__group"],children:[e.subHeading&&s.jsx("div",{className:a.default["tedi-sidenav-dropdown__heading"],role:"presentation",children:e.subHeading}),s.jsx("ul",{className:a.default["tedi-sidenav-dropdown__list"],role:"menu",children:e.subItems.map(t=>p(t))})]},n))})})})})]})};exports.SideNavDropdown=S;
@@ -4,10 +4,11 @@ type SideNavDropdownProps<C extends React.ElementType = 'a'> = {
4
4
  trigger: React.ReactNode;
5
5
  groups: Group<C>[];
6
6
  onOpenChange?: (isOpen: boolean) => void;
7
+ as?: C;
7
8
  };
8
9
  type Group<C extends React.ElementType> = {
9
10
  subHeading?: string;
10
11
  subItems: SideNavItemProps<C>[];
11
12
  };
12
- export declare const SideNavDropdown: <C extends React.ElementType = "a">({ trigger, groups, onOpenChange, }: SideNavDropdownProps<C>) => import("react/jsx-runtime").JSX.Element;
13
+ export declare const SideNavDropdown: <C extends React.ElementType = "a">({ trigger, groups, onOpenChange, as, }: SideNavDropdownProps<C>) => import("react/jsx-runtime").JSX.Element;
13
14
  export {};