@tedi-design-system/react 18.1.0-rc.24 → 18.1.0-rc.26

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("react/jsx-runtime"),l=require("../../../../../external/classnames/index.cjs.js"),c=require("react"),T=require("../feedback-text/feedback-text.cjs.js"),$=require("../form-label/form-label.cjs.js"),e=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:u,value:n,className:k,disabled:s,onChange:i,hideLabel:q,helper:t,checked:o,defaultChecked:C,hover:N,name:g,tooltip:f,size:h="default",invalid:R,required:y,...w}=j,[_,L]=c.useState(C||!1),b=c.useRef(null),M=c.useMemo(()=>i&&typeof o<"u"?o:_,[i,_,o]),v=d=>{typeof o>"u"&&L(d==null?void 0:d.target.checked),i==null||i(n,d==null?void 0:d.target.checked)},m=t?t.id??`${r}-helper`:void 0,I=f?`${r}-tooltip`:void 0,S=l.default(e.default["tedi-radio__label"],{[e.default["tedi-radio--disabled"]]:s});return a.jsxs("div",{className:l.default(e.default["tedi-radio"],{[e.default["tedi-radio--disabled"]]:s}),"data-name":"radio",...w,children:[a.jsxs(z.Row,{gutter:0,children:[a.jsx(p.Col,{width:"auto",children:a.jsxs("div",{className:e.default["tedi-radio__outer-indicator-wrapper"],children:[a.jsx("input",{id:r,value:n,name:g,type:"radio",disabled:s,checked:M,onChange:v,className:e.default["tedi-radio__input"],"aria-describedby":[m,I].filter(Boolean).join(" ")}),a.jsx("div",{"aria-hidden":"true",onClick:()=>{var d;return(d=b.current)==null?void 0:d.click()},className:l.default(e.default["tedi-radio__indicator"],{[e.default["tedi-radio__indicator--hover"]]:N},{[e.default[`tedi-radio__indicator--size-${h}`]]:h},{[e.default["tedi-radio__indicator--invalid"]]:R},k),"data-testid":"radio-indicator"})]})}),u&&a.jsx(p.Col,{children:a.jsx($.FormLabel,{ref:b,className:S,id:r,"data-testid":"radio-label",hideLabel:q,label:u,tooltip:f,required:y})})]}),t&&a.jsx(T.FeedbackText,{id:m,...t,className:l.default(e.default["tedi-radio__helper"],t.className)})]})};exports.Radio=x;exports.default=x;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("react/jsx-runtime"),l=require("../../../../../external/classnames/index.cjs.js"),c=require("react"),T=require("../feedback-text/feedback-text.cjs.js"),$=require("../form-label/form-label.cjs.js"),e=require("./radio.module.scss.cjs.js"),z=require("../../layout/grid/row.cjs.js"),x=require("../../layout/grid/col.cjs.js"),j=k=>{const{id:r,label:u,value:n,className:q,disabled:s,onChange:i,hideLabel:C,helper:t,checked:o,defaultChecked:N,hover:g,name:R,tooltip:f,size:h="default",invalid:y,required:_,...w}=k,[b,L]=c.useState(N||!1),m=c.useRef(null),M=c.useMemo(()=>i&&typeof o<"u"?o:b,[i,b,o]),v=d=>{typeof o>"u"&&L(d==null?void 0:d.target.checked),i==null||i(n,d==null?void 0:d.target.checked)},p=t?t.id??`${r}-helper`:void 0,I=f?`${r}-tooltip`:void 0,S=l.default(e.default["tedi-radio__label"],{[e.default["tedi-radio--disabled"]]:s});return a.jsxs("div",{className:l.default(e.default["tedi-radio"],{[e.default["tedi-radio--disabled"]]:s}),"data-name":"radio",...w,children:[a.jsxs(z.Row,{gutter:0,children:[a.jsx(x.Col,{width:"auto",children:a.jsxs("div",{className:e.default["tedi-radio__outer-indicator-wrapper"],children:[a.jsx("input",{id:r,value:n,name:R,type:"radio",disabled:s,checked:M,onChange:v,className:e.default["tedi-radio__input"],"aria-describedby":[p,I].filter(Boolean).join(" "),required:_}),a.jsx("div",{"aria-hidden":"true",onClick:()=>{var d;return(d=m.current)==null?void 0:d.click()},className:l.default(e.default["tedi-radio__indicator"],{[e.default["tedi-radio__indicator--hover"]]:g},{[e.default[`tedi-radio__indicator--size-${h}`]]:h},{[e.default["tedi-radio__indicator--invalid"]]:y},q),"data-testid":"radio-indicator"})]})}),u&&a.jsx(x.Col,{children:a.jsx($.FormLabel,{ref:m,className:S,id:r,"data-testid":"radio-label",hideLabel:C,label:u,tooltip:f,required:_})})]}),t&&a.jsx(T.FeedbackText,{id:p,...t,className:l.default(e.default["tedi-radio__helper"],t.className)})]})};exports.Radio=j;exports.default=j;
@@ -5,29 +5,29 @@ import { FeedbackText as M } from "../feedback-text/feedback-text.es.js";
5
5
  import { FormLabel as q } from "../form-label/form-label.es.js";
6
6
  import e from "./radio.module.scss.es.js";
7
7
  import { Row as v } from "../../layout/grid/row.es.js";
8
- import { Col as k } from "../../layout/grid/col.es.js";
9
- const K = (N) => {
8
+ import { Col as N } from "../../layout/grid/col.es.js";
9
+ const K = (C) => {
10
10
  const {
11
11
  id: o,
12
12
  label: m,
13
13
  value: h,
14
- className: C,
14
+ className: g,
15
15
  disabled: c,
16
16
  onChange: a,
17
- hideLabel: g,
17
+ hideLabel: y,
18
18
  helper: r,
19
19
  checked: t,
20
- defaultChecked: y,
21
- hover: R,
22
- name: x,
20
+ defaultChecked: R,
21
+ hover: x,
22
+ name: j,
23
23
  tooltip: p,
24
24
  size: f = "default",
25
- invalid: j,
26
- required: w,
25
+ invalid: w,
26
+ required: u,
27
27
  ...I
28
- } = N, [u, L] = n.useState(y || !1), _ = n.useRef(null), $ = n.useMemo(() => a && typeof t < "u" ? t : u, [a, u, t]), z = (i) => {
28
+ } = C, [_, L] = n.useState(R || !1), b = n.useRef(null), $ = n.useMemo(() => a && typeof t < "u" ? t : _, [a, _, t]), z = (i) => {
29
29
  typeof t > "u" && L(i == null ? void 0 : i.target.checked), a == null || a(h, i == null ? void 0 : i.target.checked);
30
- }, b = r ? r.id ?? `${o}-helper` : void 0, B = p ? `${o}-tooltip` : void 0, F = l(e["tedi-radio__label"], { [e["tedi-radio--disabled"]]: c });
30
+ }, k = r ? r.id ?? `${o}-helper` : void 0, B = p ? `${o}-tooltip` : void 0, F = l(e["tedi-radio__label"], { [e["tedi-radio--disabled"]]: c });
31
31
  return /* @__PURE__ */ s(
32
32
  "div",
33
33
  {
@@ -36,19 +36,20 @@ const K = (N) => {
36
36
  ...I,
37
37
  children: [
38
38
  /* @__PURE__ */ s(v, { gutter: 0, children: [
39
- /* @__PURE__ */ d(k, { width: "auto", children: /* @__PURE__ */ s("div", { className: e["tedi-radio__outer-indicator-wrapper"], children: [
39
+ /* @__PURE__ */ d(N, { width: "auto", children: /* @__PURE__ */ s("div", { className: e["tedi-radio__outer-indicator-wrapper"], children: [
40
40
  /* @__PURE__ */ d(
41
41
  "input",
42
42
  {
43
43
  id: o,
44
44
  value: h,
45
- name: x,
45
+ name: j,
46
46
  type: "radio",
47
47
  disabled: c,
48
48
  checked: $,
49
49
  onChange: z,
50
50
  className: e["tedi-radio__input"],
51
- "aria-describedby": [b, B].filter(Boolean).join(" ")
51
+ "aria-describedby": [k, B].filter(Boolean).join(" "),
52
+ required: u
52
53
  }
53
54
  ),
54
55
  /* @__PURE__ */ d(
@@ -57,34 +58,34 @@ const K = (N) => {
57
58
  "aria-hidden": "true",
58
59
  onClick: () => {
59
60
  var i;
60
- return (i = _.current) == null ? void 0 : i.click();
61
+ return (i = b.current) == null ? void 0 : i.click();
61
62
  },
62
63
  className: l(
63
64
  e["tedi-radio__indicator"],
64
- { [e["tedi-radio__indicator--hover"]]: R },
65
+ { [e["tedi-radio__indicator--hover"]]: x },
65
66
  { [e[`tedi-radio__indicator--size-${f}`]]: f },
66
- { [e["tedi-radio__indicator--invalid"]]: j },
67
- C
67
+ { [e["tedi-radio__indicator--invalid"]]: w },
68
+ g
68
69
  ),
69
70
  "data-testid": "radio-indicator"
70
71
  }
71
72
  )
72
73
  ] }) }),
73
- m && /* @__PURE__ */ d(k, { children: /* @__PURE__ */ d(
74
+ m && /* @__PURE__ */ d(N, { children: /* @__PURE__ */ d(
74
75
  q,
75
76
  {
76
- ref: _,
77
+ ref: b,
77
78
  className: F,
78
79
  id: o,
79
80
  "data-testid": "radio-label",
80
- hideLabel: g,
81
+ hideLabel: y,
81
82
  label: m,
82
83
  tooltip: p,
83
- required: w
84
+ required: u
84
85
  }
85
86
  ) })
86
87
  ] }),
87
- r && /* @__PURE__ */ d(M, { id: b, ...r, className: l(e["tedi-radio__helper"], r.className) })
88
+ r && /* @__PURE__ */ d(M, { id: k, ...r, className: l(e["tedi-radio__helper"], r.className) })
88
89
  ]
89
90
  }
90
91
  );
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("../../../../../../external/@floating-ui/react/dist/floating-ui.react.cjs.js"),c=require("react"),f=require("../dropdown-context.cjs.js"),g=({children:e})=>{const{refs:r,getReferenceProps:o}=f.useDropdownContext(),t=e.ref??null,n=s.useMergeRefs([r.setReference,t]);return c.cloneElement(e,o({...e.props,ref:n}))};exports.DropdownTrigger=g;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("../../../../../../external/@floating-ui/react/dist/floating-ui.react.cjs.js"),c=require("react"),g=require("../../../../helpers/get-element-ref.cjs.js"),f=require("../dropdown-context.cjs.js"),i=({children:e})=>{const{refs:r,getReferenceProps:t}=f.useDropdownContext(),o=g.getElementRef(e),n=s.useMergeRefs([r.setReference,o]);return c.cloneElement(e,t({...e.props,ref:n}))};exports.DropdownTrigger=i;
@@ -1,16 +1,17 @@
1
- import { useMergeRefs as n } from "../../../../../../external/@floating-ui/react/dist/floating-ui.react.es.js";
2
- import { cloneElement as s } from "react";
1
+ import { useMergeRefs as m } from "../../../../../../external/@floating-ui/react/dist/floating-ui.react.es.js";
2
+ import { cloneElement as n } from "react";
3
+ import { getElementRef as s } from "../../../../helpers/get-element-ref.es.js";
3
4
  import { useDropdownContext as p } from "../dropdown-context.es.js";
4
- const R = ({ children: e }) => {
5
- const { refs: r, getReferenceProps: o } = p(), t = e.ref ?? null, f = n([r.setReference, t]);
6
- return s(
5
+ const u = ({ children: e }) => {
6
+ const { refs: o, getReferenceProps: r } = p(), t = s(e), f = m([o.setReference, t]);
7
+ return n(
7
8
  e,
8
- o({
9
+ r({
9
10
  ...e.props,
10
11
  ref: f
11
12
  })
12
13
  );
13
14
  };
14
15
  export {
15
- R as DropdownTrigger
16
+ u as DropdownTrigger
16
17
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const f=require("react"),c=require("../modal-context.cjs.js"),g=(...e)=>o=>{for(const r of e)r&&(typeof r=="function"?r(o):r.current=o)},t=({children:e})=>{const{getReferenceProps:o,reference:r}=c.useModalContext(),n=e.ref??e.props.ref,s=g(r,n);return f.cloneElement(e,o({ref:s,...e.props}))};t.displayName="Modal.Trigger";exports.ModalTrigger=t;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react"),f=require("../../../../helpers/get-element-ref.cjs.js"),g=require("../modal-context.cjs.js"),i=(...t)=>r=>{for(const e of t)e&&(typeof e=="function"?e(r):e.current=r)},o=({children:t})=>{const{getReferenceProps:r,reference:e}=g.useModalContext(),n=f.getElementRef(t),s=i(e,n);return c.cloneElement(t,r({...t.props,ref:s}))};o.displayName="Modal.Trigger";exports.ModalTrigger=o;
@@ -1,13 +1,14 @@
1
1
  import { cloneElement as n } from "react";
2
- import { useModalContext as s } from "../modal-context.es.js";
3
- const p = (...e) => (r) => {
4
- for (const o of e)
5
- o && (typeof o == "function" ? o(r) : o.current = r);
6
- }, c = ({ children: e }) => {
7
- const { getReferenceProps: r, reference: o } = s(), t = e.ref ?? e.props.ref, f = p(o, t);
8
- return n(e, r({ ref: f, ...e.props }));
2
+ import { getElementRef as s } from "../../../../helpers/get-element-ref.es.js";
3
+ import { useModalContext as m } from "../modal-context.es.js";
4
+ const c = (...o) => (r) => {
5
+ for (const e of o)
6
+ e && (typeof e == "function" ? e(r) : e.current = r);
7
+ }, i = ({ children: o }) => {
8
+ const { getReferenceProps: r, reference: e } = m(), t = s(o), f = c(e, t);
9
+ return n(o, r({ ...o.props, ref: f }));
9
10
  };
10
- c.displayName = "Modal.Trigger";
11
+ i.displayName = "Modal.Trigger";
11
12
  export {
12
- c as ModalTrigger
13
+ i as ModalTrigger
13
14
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("react/jsx-runtime"),b=require("../../../../../external/@floating-ui/react/dist/floating-ui.react.cjs.js"),p=require("../../../../../external/classnames/index.cjs.js"),r=require("react"),x=require("../../base/icon/icon.cjs.js"),q=require("./overlay.cjs.js"),t=require("./overlay.module.scss.cjs.js"),_=require("../../../providers/label-provider/use-labels.cjs.js"),m=s=>{const{children:e,className:l}=s,{getLabel:a}=_.useLabels(),{getReferenceProps:o,reference:c,openWith:d,open:u,role:g,ariaHidden:f,contentId:v}=r.useContext(q.OverlayContext),i=b.useMergeRefs([c,e.ref]),n=g==="tooltip"&&!f?{"aria-describedby":u?v:void 0}:{};return r.isValidElement(e)?r.cloneElement(e,o({ref:i,tabIndex:0,...n,label:e.type===x.Icon?a("tooltip.icon-trigger"):void 0,...e.props})):y.jsx("div",{...o({ref:i,tabIndex:0,className:p.default(t.default["tedi-overlay__trigger"],t.default["tedi-overlay__trigger--text"],{[t.default["tedi-overlay__trigger--click"]]:d==="click"},l),...n}),children:e})};exports.OverlayTrigger=m;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("react/jsx-runtime"),m=require("../../../../../external/@floating-ui/react/dist/floating-ui.react.cjs.js"),p=require("../../../../../external/classnames/index.cjs.js"),t=require("react"),q=require("../../../helpers/get-element-ref.cjs.js"),x=require("../../base/icon/icon.cjs.js"),_=require("./overlay.cjs.js"),r=require("./overlay.module.scss.cjs.js"),R=require("../../../providers/label-provider/use-labels.cjs.js"),E=l=>{const{children:e,className:s}=l,{getLabel:c}=R.useLabels(),{getReferenceProps:i,reference:a,openWith:d,open:u,role:g,ariaHidden:f,contentId:v}=t.useContext(_.OverlayContext),y=t.isValidElement(e)?q.getElementRef(e):void 0,o=m.useMergeRefs([a,y]),n=g==="tooltip"&&!f?{"aria-describedby":u?v:void 0}:{};return t.isValidElement(e)?t.cloneElement(e,i({tabIndex:0,...n,label:e.type===x.Icon?c("tooltip.icon-trigger"):void 0,...e.props,ref:o})):b.jsx("div",{...i({ref:o,tabIndex:0,className:p.default(r.default["tedi-overlay__trigger"],r.default["tedi-overlay__trigger--text"],{[r.default["tedi-overlay__trigger--click"]]:d==="click"},s),...n}),children:e})};exports.OverlayTrigger=E;
@@ -1,37 +1,38 @@
1
- import { jsx as g } from "react/jsx-runtime";
2
- import { useMergeRefs as v } from "../../../../../external/@floating-ui/react/dist/floating-ui.react.es.js";
3
- import x from "../../../../../external/classnames/index.es.js";
4
- import { useContext as y, isValidElement as b, cloneElement as _ } from "react";
5
- import { Icon as u } from "../../base/icon/icon.es.js";
6
- import { OverlayContext as I } from "./overlay.es.js";
1
+ import { jsx as x } from "react/jsx-runtime";
2
+ import { useMergeRefs as y } from "../../../../../external/@floating-ui/react/dist/floating-ui.react.es.js";
3
+ import b from "../../../../../external/classnames/index.es.js";
4
+ import { useContext as _, isValidElement as s, cloneElement as u } from "react";
5
+ import { getElementRef as I } from "../../../helpers/get-element-ref.es.js";
6
+ import { Icon as R } from "../../base/icon/icon.es.js";
7
+ import { OverlayContext as h } from "./overlay.es.js";
7
8
  import r from "./overlay.module.scss.es.js";
8
- import { useLabels as N } from "../../../providers/label-provider/use-labels.es.js";
9
- const j = (s) => {
10
- const { children: e, className: n } = s, { getLabel: l } = N(), { getReferenceProps: t, reference: a, openWith: c, open: m, role: p, ariaHidden: f, contentId: d } = y(I), o = v([a, e.ref]), i = p === "tooltip" && !f ? {
11
- "aria-describedby": m ? d : void 0
9
+ import { useLabels as E } from "../../../providers/label-provider/use-labels.es.js";
10
+ const T = (n) => {
11
+ const { children: e, className: l } = n, { getLabel: m } = E(), { getReferenceProps: t, reference: c, openWith: a, open: p, role: f, ariaHidden: d, contentId: g } = _(h), v = s(e) ? I(e) : void 0, o = y([c, v]), i = f === "tooltip" && !d ? {
12
+ "aria-describedby": p ? g : void 0
12
13
  } : {};
13
- return b(e) ? _(
14
+ return s(e) ? u(
14
15
  e,
15
16
  t({
16
- ref: o,
17
17
  tabIndex: 0,
18
18
  ...i,
19
- label: e.type === u ? l("tooltip.icon-trigger") : void 0,
20
- ...e.props
19
+ label: e.type === R ? m("tooltip.icon-trigger") : void 0,
20
+ ...e.props,
21
+ ref: o
21
22
  })
22
- ) : /* @__PURE__ */ g(
23
+ ) : /* @__PURE__ */ x(
23
24
  "div",
24
25
  {
25
26
  ...t({
26
27
  ref: o,
27
28
  tabIndex: 0,
28
- className: x(
29
+ className: b(
29
30
  r["tedi-overlay__trigger"],
30
31
  r["tedi-overlay__trigger--text"],
31
32
  {
32
- [r["tedi-overlay__trigger--click"]]: c === "click"
33
+ [r["tedi-overlay__trigger--click"]]: a === "click"
33
34
  },
34
- n
35
+ l
35
36
  ),
36
37
  ...i
37
38
  }),
@@ -40,5 +41,5 @@ const j = (s) => {
40
41
  );
41
42
  };
42
43
  export {
43
- j as OverlayTrigger
44
+ T as OverlayTrigger
44
45
  };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("react"),n=t=>{const e=t;return Number.parseInt(r.version,10)>=19?e.props.ref:e.ref};exports.getElementRef=n;
@@ -0,0 +1,11 @@
1
+ import { ReactElement, Ref } from 'react';
2
+ /**
3
+ * Reads a React element's ref in a version-safe way.
4
+ *
5
+ * React 19 moved `ref` onto `props` (an enumerable prop) and warns whenever the
6
+ * legacy `element.ref` getter is accessed. React 18 keeps the ref on the element
7
+ * itself. So read from `props.ref` on React 19+ and only fall back to
8
+ * `element.ref` on React 18 — avoiding both the deprecation warning and the
9
+ * lost ref.
10
+ */
11
+ export declare const getElementRef: <T = unknown>(element: ReactElement) => Ref<T> | undefined;
@@ -0,0 +1,8 @@
1
+ import { version as t } from "react";
2
+ const n = (r) => {
3
+ const e = r;
4
+ return Number.parseInt(t, 10) >= 19 ? e.props.ref : e.ref;
5
+ };
6
+ export {
7
+ n as getElementRef
8
+ };