@tedi-design-system/react 17.2.0-rc.1 → 18.0.0-rc.1

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 (35) 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 +4 -2
  14. package/_virtual/index.es14.js +2 -2
  15. package/_virtual/index.es5.js +2 -4
  16. package/_virtual/index.es6.js +1 -1
  17. package/_virtual/index.es7.js +1 -1
  18. package/_virtual/index.es8.js +1 -1
  19. package/_virtual/index.es9.js +1 -1
  20. package/bundle-stats.html +1 -1
  21. package/external/@mui/system/colorManipulator.cjs.js +1 -1
  22. package/external/@mui/system/colorManipulator.es.js +2 -2
  23. package/external/@mui/system/createStyled.cjs.js +1 -1
  24. package/external/@mui/system/createStyled.es.js +6 -6
  25. package/external/@mui/system/useThemeWithoutDefault.cjs.js +1 -1
  26. package/external/@mui/system/useThemeWithoutDefault.es.js +1 -1
  27. package/external/react-is/index.cjs.js +1 -1
  28. package/external/react-is/index.es.js +1 -1
  29. package/external/toposort/index.cjs.js +1 -1
  30. package/external/toposort/index.es.js +1 -1
  31. package/package.json +1 -1
  32. package/src/tedi/components/form/number-field/number-field.cjs.js +1 -1
  33. package/src/tedi/components/form/number-field/number-field.d.ts +16 -3
  34. package/src/tedi/components/form/number-field/number-field.es.js +121 -97
  35. package/src/tedi/providers/label-provider/label-provider.d.ts +5 -0
@@ -1,3 +1,3 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("../../../_virtual/colorManipulator.cjs.js"),M=require("../../@babel/runtime/helpers/interopRequireDefault.cjs.js"),$=require("../../../_virtual/index.cjs11.js"),N=require("../../../_virtual/index.cjs12.js");var b=M.interopRequireDefaultExports;Object.defineProperty(s.__exports,"__esModule",{value:!0});var D=s.__exports.alpha=E;s.__exports.blend=U;s.__exports.colorChannel=void 0;var R=s.__exports.darken=g;s.__exports.decomposeColor=p;s.__exports.emphasize=C;var T=s.__exports.getContrastRatio=I;s.__exports.getLuminance=h;s.__exports.hexToRgb=y;s.__exports.hslToRgb=O;var V=s.__exports.lighten=v;s.__exports.private_safeAlpha=A;s.__exports.private_safeColorChannel=void 0;s.__exports.private_safeDarken=S;s.__exports.private_safeEmphasize=L;s.__exports.private_safeLighten=z;s.__exports.recomposeColor=i;s.__exports.rgbToHex=w;var c=b($.default),j=b(N.default);function d(e,t=0,r=1){return process.env.NODE_ENV!=="production"&&(e<t||e>r)&&console.error(`MUI: The value provided ${e} is out of range [${t}, ${r}].`),(0,j.default)(e,t,r)}function y(e){e=e.slice(1);const t=new RegExp(`.{1,${e.length>=6?2:1}}`,"g");let r=e.match(t);return r&&r[0].length===1&&(r=r.map(n=>n+n)),r?`rgb${r.length===4?"a":""}(${r.map((n,a)=>a<3?parseInt(n,16):Math.round(parseInt(n,16)/255*1e3)/1e3).join(", ")})`:""}function k(e){const t=e.toString(16);return t.length===1?`0${t}`:t}function p(e){if(e.type)return e;if(e.charAt(0)==="#")return p(y(e));const t=e.indexOf("("),r=e.substring(0,t);if(["rgb","rgba","hsl","hsla","color"].indexOf(r)===-1)throw new Error(process.env.NODE_ENV!=="production"?`MUI: Unsupported \`${e}\` color.
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("../../../_virtual/colorManipulator.cjs.js"),M=require("../../@babel/runtime/helpers/interopRequireDefault.cjs.js"),$=require("../../../_virtual/index.cjs12.js"),N=require("../../../_virtual/index.cjs13.js");var b=M.interopRequireDefaultExports;Object.defineProperty(s.__exports,"__esModule",{value:!0});var D=s.__exports.alpha=E;s.__exports.blend=U;s.__exports.colorChannel=void 0;var R=s.__exports.darken=g;s.__exports.decomposeColor=p;s.__exports.emphasize=C;var T=s.__exports.getContrastRatio=I;s.__exports.getLuminance=h;s.__exports.hexToRgb=y;s.__exports.hslToRgb=O;var V=s.__exports.lighten=v;s.__exports.private_safeAlpha=A;s.__exports.private_safeColorChannel=void 0;s.__exports.private_safeDarken=S;s.__exports.private_safeEmphasize=L;s.__exports.private_safeLighten=z;s.__exports.recomposeColor=i;s.__exports.rgbToHex=w;var c=b($.default),j=b(N.default);function d(e,t=0,r=1){return process.env.NODE_ENV!=="production"&&(e<t||e>r)&&console.error(`MUI: The value provided ${e} is out of range [${t}, ${r}].`),(0,j.default)(e,t,r)}function y(e){e=e.slice(1);const t=new RegExp(`.{1,${e.length>=6?2:1}}`,"g");let r=e.match(t);return r&&r[0].length===1&&(r=r.map(n=>n+n)),r?`rgb${r.length===4?"a":""}(${r.map((n,a)=>a<3?parseInt(n,16):Math.round(parseInt(n,16)/255*1e3)/1e3).join(", ")})`:""}function k(e){const t=e.toString(16);return t.length===1?`0${t}`:t}function p(e){if(e.type)return e;if(e.charAt(0)==="#")return p(y(e));const t=e.indexOf("("),r=e.substring(0,t);if(["rgb","rgba","hsl","hsla","color"].indexOf(r)===-1)throw new Error(process.env.NODE_ENV!=="production"?`MUI: Unsupported \`${e}\` color.
2
2
  The following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().`:(0,c.default)(9,e));let n=e.substring(t+1,e.length-1),a;if(r==="color"){if(n=n.split(" "),a=n.shift(),n.length===4&&n[3].charAt(0)==="/"&&(n[3]=n[3].slice(1)),["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].indexOf(a)===-1)throw new Error(process.env.NODE_ENV!=="production"?`MUI: unsupported \`${a}\` color space.
3
3
  The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.`:(0,c.default)(10,a))}else n=n.split(",");return n=n.map(u=>parseFloat(u)),{type:r,values:n,colorSpace:a}}const m=e=>{const t=p(e);return t.values.slice(0,3).map((r,n)=>t.type.indexOf("hsl")!==-1&&n!==0?`${r}%`:r).join(" ")};s.__exports.colorChannel=m;const q=(e,t)=>{try{return m(e)}catch{return t&&process.env.NODE_ENV!=="production"&&console.warn(t),e}};s.__exports.private_safeColorChannel=q;function i(e){const{type:t,colorSpace:r}=e;let{values:n}=e;return t.indexOf("rgb")!==-1?n=n.map((a,u)=>u<3?parseInt(a,10):a):t.indexOf("hsl")!==-1&&(n[1]=`${n[1]}%`,n[2]=`${n[2]}%`),t.indexOf("color")!==-1?n=`${r} ${n.join(" ")}`:n=`${n.join(", ")}`,`${t}(${n})`}function w(e){if(e.indexOf("#")===0)return e;const{values:t}=p(e);return`#${t.map((r,n)=>k(n===3?Math.round(255*r):r)).join("")}`}function O(e){e=p(e);const{values:t}=e,r=t[0],n=t[1]/100,a=t[2]/100,u=n*Math.min(a,1-a),o=(_,x=(_+r/30)%12)=>a-u*Math.max(Math.min(x-3,9-x,1),-1);let l="rgb";const f=[Math.round(o(0)*255),Math.round(o(8)*255),Math.round(o(4)*255)];return e.type==="hsla"&&(l+="a",f.push(t[3])),i({type:l,values:f})}function h(e){e=p(e);let t=e.type==="hsl"||e.type==="hsla"?p(O(e)).values:e.values;return t=t.map(r=>(e.type!=="color"&&(r/=255),r<=.03928?r/12.92:((r+.055)/1.055)**2.4)),Number((.2126*t[0]+.7152*t[1]+.0722*t[2]).toFixed(3))}function I(e,t){const r=h(e),n=h(t);return(Math.max(r,n)+.05)/(Math.min(r,n)+.05)}function E(e,t){return e=p(e),t=d(t),(e.type==="rgb"||e.type==="hsl")&&(e.type+="a"),e.type==="color"?e.values[3]=`/${t}`:e.values[3]=t,i(e)}function A(e,t,r){try{return E(e,t)}catch{return r&&process.env.NODE_ENV!=="production"&&console.warn(r),e}}function g(e,t){if(e=p(e),t=d(t),e.type.indexOf("hsl")!==-1)e.values[2]*=1-t;else if(e.type.indexOf("rgb")!==-1||e.type.indexOf("color")!==-1)for(let r=0;r<3;r+=1)e.values[r]*=1-t;return i(e)}function S(e,t,r){try{return g(e,t)}catch{return r&&process.env.NODE_ENV!=="production"&&console.warn(r),e}}function v(e,t){if(e=p(e),t=d(t),e.type.indexOf("hsl")!==-1)e.values[2]+=(100-e.values[2])*t;else if(e.type.indexOf("rgb")!==-1)for(let r=0;r<3;r+=1)e.values[r]+=(255-e.values[r])*t;else if(e.type.indexOf("color")!==-1)for(let r=0;r<3;r+=1)e.values[r]+=(1-e.values[r])*t;return i(e)}function z(e,t,r){try{return v(e,t)}catch{return r&&process.env.NODE_ENV!=="production"&&console.warn(r),e}}function C(e,t=.15){return h(e)>.5?g(e,t):v(e,t)}function L(e,t,r){try{return C(e,t)}catch{return r&&process.env.NODE_ENV!=="production"&&console.warn(r),e}}function U(e,t,r,n=1){const a=(f,_)=>Math.round((f**(1/n)*(1-r)+_**(1/n)*r)**n),u=p(e),o=p(t),l=[a(u.values[0],o.values[0]),a(u.values[1],o.values[1]),a(u.values[2],o.values[2])];return i({type:"rgb",values:l})}exports.default=s.__exports;exports.alpha=D;exports.darken=R;exports.getContrastRatio=T;exports.lighten=V;
@@ -1,7 +1,7 @@
1
1
  import { __exports as s } from "../../../_virtual/colorManipulator.es.js";
2
2
  import { i as C } from "../../@babel/runtime/helpers/interopRequireDefault.es.js";
3
- import M from "../../../_virtual/index.es11.js";
4
- import N from "../../../_virtual/index.es12.js";
3
+ import M from "../../../_virtual/index.es12.js";
4
+ import N from "../../../_virtual/index.es13.js";
5
5
  var _ = C;
6
6
  Object.defineProperty(s, "__esModule", {
7
7
  value: !0
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const x=require("../../../_virtual/createStyled.cjs.js"),H=require("../../@babel/runtime/helpers/interopRequireDefault.cjs.js"),J=require("../../../_virtual/extends.cjs.js"),K=require("../../@babel/runtime/helpers/objectWithoutPropertiesLoose.cjs.js"),Q=require("../../../_virtual/index.cjs5.js"),U=require("../../../_virtual/index.cjs6.js"),X=require("../../../_virtual/index.cjs7.js"),Y=require("../../../_virtual/index.cjs8.js"),Z=require("../../../_virtual/index.cjs9.js"),z=require("../../../_virtual/index.cjs10.js");var v=H.interopRequireDefaultExports;Object.defineProperty(x.__exports,"__esModule",{value:!0});var ee=x.__exports.default=me;x.__exports.shouldForwardProp=b;x.__exports.systemDefaultTheme=void 0;var f=v(J.default),C=v(K.__require()),q=ae(Q.default),te=U.default,re=v(X.default),oe=v(Y.default),ne=v(Z.default),se=v(z.default);const ue=["ownerState"],ie=["variants"],le=["name","slot","skipVariantsResolver","skipSx","overridesResolver"];function L(e){if(typeof WeakMap!="function")return null;var r=new WeakMap,t=new WeakMap;return(L=function(s){return s?t:r})(e)}function ae(e,r){if(e&&e.__esModule)return e;if(e===null||typeof e!="object"&&typeof e!="function")return{default:e};var t=L(r);if(t&&t.has(e))return t.get(e);var s={__proto__:null},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(o!=="default"&&Object.prototype.hasOwnProperty.call(e,o)){var u=c?Object.getOwnPropertyDescriptor(e,o):null;u&&(u.get||u.set)?Object.defineProperty(s,o,u):s[o]=e[o]}return s.default=e,t&&t.set(e,s),s}function fe(e){return Object.keys(e).length===0}function de(e){return typeof e=="string"&&e.charCodeAt(0)>96}function b(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}function T(e,r){return r&&e&&typeof e=="object"&&e.styles&&!e.styles.startsWith("@layer")&&(e.styles=`@layer ${r}{${String(e.styles)}}`),e}const ce=x.__exports.systemDefaultTheme=(0,ne.default)(),A=e=>e&&e.charAt(0).toLowerCase()+e.slice(1);function R({defaultTheme:e,theme:r,themeId:t}){return fe(r)?e:r[t]||r}function pe(e){return e?(r,t)=>t[e]:null}function j(e,r,t){let{ownerState:s}=r,c=(0,C.default)(r,ue);const o=typeof e=="function"?e((0,f.default)({ownerState:s},c)):e;if(Array.isArray(o))return o.flatMap(u=>j(u,(0,f.default)({ownerState:s},c),t));if(o&&typeof o=="object"&&Array.isArray(o.variants)){const{variants:u=[]}=o;let i=(0,C.default)(o,ie);return u.forEach(n=>{let y=!0;if(typeof n.props=="function"?y=n.props((0,f.default)({ownerState:s},c,s)):Object.keys(n.props).forEach(p=>{(s==null?void 0:s[p])!==n.props[p]&&c[p]!==n.props[p]&&(y=!1)}),y){Array.isArray(i)||(i=[i]);const p=typeof n.style=="function"?n.style((0,f.default)({ownerState:s},c,s)):n.style;i.push(t?T((0,q.internal_serializeStyles)(p),t):p)}}),i}return t?T((0,q.internal_serializeStyles)(o),t):o}function me(e={}){const{themeId:r,defaultTheme:t=ce,rootShouldForwardProp:s=b,slotShouldForwardProp:c=b}=e,o=u=>(0,se.default)((0,f.default)({},u,{theme:R((0,f.default)({},u,{defaultTheme:t,themeId:r}))}));return o.__mui_systemSx=!0,(u,P={})=>{(0,q.internal_processStyles)(u,a=>a.filter(m=>!(m!=null&&m.__mui_systemSx)));const{name:i,slot:n,skipVariantsResolver:y,skipSx:p,overridesResolver:k=pe(A(n))}=P,g=(0,C.default)(P,le),N=i&&i.startsWith("Mui")||n?"components":"custom",V=y!==void 0?y:n&&n!=="Root"&&n!=="root"||!1,I=p||!1;let E;process.env.NODE_ENV!=="production"&&i&&(E=`${i}-${A(n||"Root")}`);let w=b;n==="Root"||n==="root"?w=s:n?w=c:de(u)&&(w=void 0);const $=(0,q.default)(u,(0,f.default)({shouldForwardProp:w,label:E},g)),M=a=>typeof a=="function"&&a.__emotion_real!==a||(0,te.isPlainObject)(a)?m=>{const _=R({theme:m.theme,defaultTheme:t,themeId:r});return j(a,(0,f.default)({},m,{theme:_}),_.modularCssLayers?N:void 0)}:a,W=(a,...m)=>{let _=M(a);const S=m?m.map(M):[];i&&k&&S.push(l=>{const d=R((0,f.default)({},l,{defaultTheme:t,themeId:r}));if(!d.components||!d.components[i]||!d.components[i].styleOverrides)return null;const h=d.components[i].styleOverrides,O={};return Object.entries(h).forEach(([B,G])=>{O[B]=j(G,(0,f.default)({},l,{theme:d}),d.modularCssLayers?"theme":void 0)}),k(l,O)}),i&&!V&&S.push(l=>{var d;const h=R((0,f.default)({},l,{defaultTheme:t,themeId:r})),O=h==null||(d=h.components)==null||(d=d[i])==null?void 0:d.variants;return j({variants:O},(0,f.default)({},l,{theme:h}),h.modularCssLayers?"theme":void 0)}),I||S.push(o);const F=S.length-m.length;if(Array.isArray(a)&&F>0){const l=new Array(F).fill("");_=[...a,...l],_.raw=[...a.raw,...l]}const D=$(_,...S);if(process.env.NODE_ENV!=="production"){let l;i&&(l=`${i}${(0,re.default)(n||"")}`),l===void 0&&(l=`Styled(${(0,oe.default)(u)})`),D.displayName=l}return u.muiName&&(D.muiName=u.muiName),D};return $.withConfig&&(W.withConfig=$.withConfig),W}}exports.default=ee;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const x=require("../../../_virtual/createStyled.cjs.js"),H=require("../../@babel/runtime/helpers/interopRequireDefault.cjs.js"),J=require("../../../_virtual/extends.cjs.js"),K=require("../../@babel/runtime/helpers/objectWithoutPropertiesLoose.cjs.js"),Q=require("../../../_virtual/index.cjs6.js"),U=require("../../../_virtual/index.cjs7.js"),X=require("../../../_virtual/index.cjs8.js"),Y=require("../../../_virtual/index.cjs9.js"),Z=require("../../../_virtual/index.cjs10.js"),z=require("../../../_virtual/index.cjs11.js");var v=H.interopRequireDefaultExports;Object.defineProperty(x.__exports,"__esModule",{value:!0});var ee=x.__exports.default=me;x.__exports.shouldForwardProp=b;x.__exports.systemDefaultTheme=void 0;var f=v(J.default),C=v(K.__require()),q=ae(Q.default),te=U.default,re=v(X.default),oe=v(Y.default),ne=v(Z.default),se=v(z.default);const ue=["ownerState"],ie=["variants"],le=["name","slot","skipVariantsResolver","skipSx","overridesResolver"];function L(e){if(typeof WeakMap!="function")return null;var r=new WeakMap,t=new WeakMap;return(L=function(s){return s?t:r})(e)}function ae(e,r){if(e&&e.__esModule)return e;if(e===null||typeof e!="object"&&typeof e!="function")return{default:e};var t=L(r);if(t&&t.has(e))return t.get(e);var s={__proto__:null},c=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(o!=="default"&&Object.prototype.hasOwnProperty.call(e,o)){var u=c?Object.getOwnPropertyDescriptor(e,o):null;u&&(u.get||u.set)?Object.defineProperty(s,o,u):s[o]=e[o]}return s.default=e,t&&t.set(e,s),s}function fe(e){return Object.keys(e).length===0}function de(e){return typeof e=="string"&&e.charCodeAt(0)>96}function b(e){return e!=="ownerState"&&e!=="theme"&&e!=="sx"&&e!=="as"}function T(e,r){return r&&e&&typeof e=="object"&&e.styles&&!e.styles.startsWith("@layer")&&(e.styles=`@layer ${r}{${String(e.styles)}}`),e}const ce=x.__exports.systemDefaultTheme=(0,ne.default)(),A=e=>e&&e.charAt(0).toLowerCase()+e.slice(1);function R({defaultTheme:e,theme:r,themeId:t}){return fe(r)?e:r[t]||r}function pe(e){return e?(r,t)=>t[e]:null}function j(e,r,t){let{ownerState:s}=r,c=(0,C.default)(r,ue);const o=typeof e=="function"?e((0,f.default)({ownerState:s},c)):e;if(Array.isArray(o))return o.flatMap(u=>j(u,(0,f.default)({ownerState:s},c),t));if(o&&typeof o=="object"&&Array.isArray(o.variants)){const{variants:u=[]}=o;let i=(0,C.default)(o,ie);return u.forEach(n=>{let y=!0;if(typeof n.props=="function"?y=n.props((0,f.default)({ownerState:s},c,s)):Object.keys(n.props).forEach(p=>{(s==null?void 0:s[p])!==n.props[p]&&c[p]!==n.props[p]&&(y=!1)}),y){Array.isArray(i)||(i=[i]);const p=typeof n.style=="function"?n.style((0,f.default)({ownerState:s},c,s)):n.style;i.push(t?T((0,q.internal_serializeStyles)(p),t):p)}}),i}return t?T((0,q.internal_serializeStyles)(o),t):o}function me(e={}){const{themeId:r,defaultTheme:t=ce,rootShouldForwardProp:s=b,slotShouldForwardProp:c=b}=e,o=u=>(0,se.default)((0,f.default)({},u,{theme:R((0,f.default)({},u,{defaultTheme:t,themeId:r}))}));return o.__mui_systemSx=!0,(u,P={})=>{(0,q.internal_processStyles)(u,a=>a.filter(m=>!(m!=null&&m.__mui_systemSx)));const{name:i,slot:n,skipVariantsResolver:y,skipSx:p,overridesResolver:k=pe(A(n))}=P,g=(0,C.default)(P,le),N=i&&i.startsWith("Mui")||n?"components":"custom",V=y!==void 0?y:n&&n!=="Root"&&n!=="root"||!1,I=p||!1;let E;process.env.NODE_ENV!=="production"&&i&&(E=`${i}-${A(n||"Root")}`);let w=b;n==="Root"||n==="root"?w=s:n?w=c:de(u)&&(w=void 0);const $=(0,q.default)(u,(0,f.default)({shouldForwardProp:w,label:E},g)),M=a=>typeof a=="function"&&a.__emotion_real!==a||(0,te.isPlainObject)(a)?m=>{const _=R({theme:m.theme,defaultTheme:t,themeId:r});return j(a,(0,f.default)({},m,{theme:_}),_.modularCssLayers?N:void 0)}:a,W=(a,...m)=>{let _=M(a);const S=m?m.map(M):[];i&&k&&S.push(l=>{const d=R((0,f.default)({},l,{defaultTheme:t,themeId:r}));if(!d.components||!d.components[i]||!d.components[i].styleOverrides)return null;const h=d.components[i].styleOverrides,O={};return Object.entries(h).forEach(([B,G])=>{O[B]=j(G,(0,f.default)({},l,{theme:d}),d.modularCssLayers?"theme":void 0)}),k(l,O)}),i&&!V&&S.push(l=>{var d;const h=R((0,f.default)({},l,{defaultTheme:t,themeId:r})),O=h==null||(d=h.components)==null||(d=d[i])==null?void 0:d.variants;return j({variants:O},(0,f.default)({},l,{theme:h}),h.modularCssLayers?"theme":void 0)}),I||S.push(o);const F=S.length-m.length;if(Array.isArray(a)&&F>0){const l=new Array(F).fill("");_=[...a,...l],_.raw=[...a.raw,...l]}const D=$(_,...S);if(process.env.NODE_ENV!=="production"){let l;i&&(l=`${i}${(0,re.default)(n||"")}`),l===void 0&&(l=`Styled(${(0,oe.default)(u)})`),D.displayName=l}return u.muiName&&(D.muiName=u.muiName),D};return $.withConfig&&(W.withConfig=$.withConfig),W}}exports.default=ee;
@@ -2,12 +2,12 @@ import { __exports as $ } from "../../../_virtual/createStyled.es.js";
2
2
  import { i as H } from "../../@babel/runtime/helpers/interopRequireDefault.es.js";
3
3
  import J from "../../../_virtual/extends.es.js";
4
4
  import { __require as K } from "../../@babel/runtime/helpers/objectWithoutPropertiesLoose.es.js";
5
- import Q from "../../../_virtual/index.es5.js";
6
- import U from "../../../_virtual/index.es6.js";
7
- import X from "../../../_virtual/index.es7.js";
8
- import Y from "../../../_virtual/index.es8.js";
9
- import Z from "../../../_virtual/index.es9.js";
10
- import z from "../../../_virtual/index.es10.js";
5
+ import Q from "../../../_virtual/index.es6.js";
6
+ import U from "../../../_virtual/index.es7.js";
7
+ import X from "../../../_virtual/index.es8.js";
8
+ import Y from "../../../_virtual/index.es9.js";
9
+ import Z from "../../../_virtual/index.es10.js";
10
+ import z from "../../../_virtual/index.es11.js";
11
11
  var v = H;
12
12
  Object.defineProperty($, "__esModule", {
13
13
  value: !0
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("../../../_virtual/useThemeWithoutDefault.cjs.js"),c=require("react"),f=require("../../../_virtual/index.cjs5.js");Object.defineProperty(a.__exports,"__esModule",{value:!0});exports.default=a.__exports.default=void 0;var s=p(c),d=f.default;function l(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,r=new WeakMap;return(l=function(n){return n?r:t})(e)}function p(e,t){if(e&&e.__esModule)return e;if(e===null||typeof e!="object"&&typeof e!="function")return{default:e};var r=l(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(o!=="default"&&Object.prototype.hasOwnProperty.call(e,o)){var u=i?Object.getOwnPropertyDescriptor(e,o):null;u&&(u.get||u.set)?Object.defineProperty(n,o,u):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}function _(e){return Object.keys(e).length===0}function y(e=null){const t=s.useContext(d.ThemeContext);return!t||_(t)?e:t}exports.default=a.__exports.default=y;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const a=require("../../../_virtual/useThemeWithoutDefault.cjs.js"),c=require("react"),f=require("../../../_virtual/index.cjs6.js");Object.defineProperty(a.__exports,"__esModule",{value:!0});exports.default=a.__exports.default=void 0;var s=p(c),d=f.default;function l(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,r=new WeakMap;return(l=function(n){return n?r:t})(e)}function p(e,t){if(e&&e.__esModule)return e;if(e===null||typeof e!="object"&&typeof e!="function")return{default:e};var r=l(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if(o!=="default"&&Object.prototype.hasOwnProperty.call(e,o)){var u=i?Object.getOwnPropertyDescriptor(e,o):null;u&&(u.get||u.set)?Object.defineProperty(n,o,u):n[o]=e[o]}return n.default=e,r&&r.set(e,n),n}function _(e){return Object.keys(e).length===0}function y(e=null){const t=s.useContext(d.ThemeContext);return!t||_(t)?e:t}exports.default=a.__exports.default=y;
@@ -1,6 +1,6 @@
1
1
  import { __exports as a } from "../../../_virtual/useThemeWithoutDefault.es.js";
2
2
  import l from "react";
3
- import c from "../../../_virtual/index.es5.js";
3
+ import c from "../../../_virtual/index.es6.js";
4
4
  Object.defineProperty(a, "__esModule", {
5
5
  value: !0
6
6
  });
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../_virtual/index.cjs13.js"),r=require("./cjs/react-is.production.cjs.js"),o=require("./cjs/react-is.development.cjs.js");process.env.NODE_ENV==="production"?e.__module.exports=r.__require():e.__module.exports=o.__require();var t=e.__module.exports;exports.reactIsExports=t;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../_virtual/index.cjs14.js"),r=require("./cjs/react-is.production.cjs.js"),o=require("./cjs/react-is.development.cjs.js");process.env.NODE_ENV==="production"?e.__module.exports=r.__require():e.__module.exports=o.__require();var t=e.__module.exports;exports.reactIsExports=t;
@@ -1,4 +1,4 @@
1
- import { __module as r } from "../../_virtual/index.es13.js";
1
+ import { __module as r } from "../../_virtual/index.es14.js";
2
2
  import { __require as e } from "./cjs/react-is.production.es.js";
3
3
  import { __require as o } from "./cjs/react-is.development.es.js";
4
4
  process.env.NODE_ENV === "production" ? r.exports = e() : r.exports = o();
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const m=require("../../_virtual/_commonjsHelpers.cjs.js"),w=require("../../_virtual/index.cjs14.js");w.__module.exports=function(n){return d(p(n),n)};w.__module.exports.array=d;function d(n,r){var t=n.length,a=new Array(t),e={},s=t,g=y(r),i=S(n);for(r.forEach(function(o){if(!i.has(o[0])||!i.has(o[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")});s--;)e[s]||v(n[s],s,new Set);return a;function v(o,u,f){if(f.has(o)){var h;try{h=", node was:"+JSON.stringify(o)}catch{h=""}throw new Error("Cyclic dependency"+h)}if(!i.has(o))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(o));if(!e[u]){e[u]=!0;var l=g.get(o)||new Set;if(l=Array.from(l),u=l.length){f.add(o);do{var c=l[--u];v(c,i.get(c),f)}while(u);f.delete(o)}a[--t]=o}}}function p(n){for(var r=new Set,t=0,a=n.length;t<a;t++){var e=n[t];r.add(e[0]),r.add(e[1])}return Array.from(r)}function y(n){for(var r=new Map,t=0,a=n.length;t<a;t++){var e=n[t];r.has(e[0])||r.set(e[0],new Set),r.has(e[1])||r.set(e[1],new Set),r.get(e[0]).add(e[1])}return r}function S(n){for(var r=new Map,t=0,a=n.length;t<a;t++)r.set(n[t],t);return r}var _=w.__module.exports;const E=m.getDefaultExportFromCjs(_);exports.default=E;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const m=require("../../_virtual/_commonjsHelpers.cjs.js"),w=require("../../_virtual/index.cjs5.js");w.__module.exports=function(n){return d(p(n),n)};w.__module.exports.array=d;function d(n,r){var t=n.length,a=new Array(t),e={},s=t,g=y(r),i=S(n);for(r.forEach(function(o){if(!i.has(o[0])||!i.has(o[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")});s--;)e[s]||v(n[s],s,new Set);return a;function v(o,u,f){if(f.has(o)){var h;try{h=", node was:"+JSON.stringify(o)}catch{h=""}throw new Error("Cyclic dependency"+h)}if(!i.has(o))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(o));if(!e[u]){e[u]=!0;var l=g.get(o)||new Set;if(l=Array.from(l),u=l.length){f.add(o);do{var c=l[--u];v(c,i.get(c),f)}while(u);f.delete(o)}a[--t]=o}}}function p(n){for(var r=new Set,t=0,a=n.length;t<a;t++){var e=n[t];r.add(e[0]),r.add(e[1])}return Array.from(r)}function y(n){for(var r=new Map,t=0,a=n.length;t<a;t++){var e=n[t];r.has(e[0])||r.set(e[0],new Set),r.has(e[1])||r.set(e[1],new Set),r.get(e[0]).add(e[1])}return r}function S(n){for(var r=new Map,t=0,a=n.length;t<a;t++)r.set(n[t],t);return r}var _=w.__module.exports;const E=m.getDefaultExportFromCjs(_);exports.default=E;
@@ -1,5 +1,5 @@
1
1
  import { getDefaultExportFromCjs as d } from "../../_virtual/_commonjsHelpers.es.js";
2
- import { __module as v } from "../../_virtual/index.es14.js";
2
+ import { __module as v } from "../../_virtual/index.es5.js";
3
3
  v.exports = function(n) {
4
4
  return g(m(n), n);
5
5
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tedi-design-system/react",
3
- "version": "17.2.0-rc.1",
3
+ "version": "18.0.0-rc.1",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "exports": {
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("react/jsx-runtime"),v=require("../../../../../external/classnames/index.cjs.js"),o=require("react"),J=require("../../base/typography/text/text.cjs.js"),K=require("../../buttons/button/button.cjs.js"),Q=require("../feedback-text/feedback-text.cjs.js"),X=require("../form-label/form-label.cjs.js"),n=require("./number-field.module.scss.cjs.js"),Y=require("../../../helpers/hooks/use-breakpoint-props.cjs.js"),Z=require("../../../providers/label-provider/use-labels.cjs.js"),y=I=>{const{getCurrentBreakpointProps:P}=Y.useBreakpointProps(I.defaultServerBreakpoint),{id:x,label:S,hideLabel:U,required:q,className:j,size:_,inputMode:E="numeric",decimalPlaces:k,min:i,max:u,step:c=1,defaultValue:$,value:B,onChange:a,suffix:h,fullWidth:z=!1,disabled:m=!1,invalid:F=!1,helper:d,input:f}=P(I),{getLabel:M}=Z.useLabels(),b=o.useRef(null),[L,T]=o.useState(""),[V,g]=o.useState($??0),s=o.useMemo(()=>a&&typeof B<"u"?B:V,[a,B,V]),w=d?`${x}-helper`:void 0,C=o.useCallback(e=>{const t=i!==void 0&&e<i,r=u!==void 0&&e>u;return F||t||r||(d==null?void 0:d.type)==="error"},[F,d,u,i]),N=e=>Math.min(u??1/0,Math.max(i??-1/0,e)),R=e=>{const t=M("numberField.quantityUpdated",e);T(t),setTimeout(()=>{T("")},5e3)},W=e=>k!==void 0?parseFloat(e.toFixed(k)):e,A=e=>{let t=s;e==="increment"&&(t=t+c),e==="decrement"&&(t=t-c),t=N(t),t=W(t),R(t),a==null||a(t),g(t)},D=({currentTarget:{value:e}})=>{a==null||a(N(+e)),g(N(+e))},O=e=>{const t=e==="increment"?u!==void 0&&s>=u:i!==void 0&&s<=i,r=v.default(n.default["tedi-number-field__button"],n.default[`tedi-number-field__button--${e}`],{[n.default["tedi-number-field__button--disabled"]]:t||m}),p=M(`numberField.${e}`,c);return l.jsx(K.Button,{"aria-label":p,onClick:()=>A(e),disabled:t||m,visualType:"secondary",className:r,icon:{name:e==="increment"?"add":"remove"},size:_==="small"?"small":void 0,children:e==="increment"?"+":"-"})},G=()=>{const e=v.default(n.default["tedi-number-field__input-wrapper"],{[n.default["tedi-number-field__input-wrapper--with-suffix"]]:h,[n.default["tedi-number-field__input-wrapper--full-width"]]:z}),t=v.default(n.default["tedi-number-field__input"],f==null?void 0:f.className),r=()=>{var p;return(p=b==null?void 0:b.current)==null?void 0:p.focus()};return l.jsxs("div",{className:e,onClick:r,children:[l.jsx("input",{ref:b,id:x,"aria-describedby":w,"aria-invalid":C(s)?"true":"false",type:"number",inputMode:E,value:s,min:i,max:u,required:q,step:c,disabled:m,onChange:D,className:t,...f}),h&&l.jsx(J.Text,{element:"span",modifiers:"small",color:"tertiary",className:n.default["tedi-number-field__suffix"],children:h})]})},H=v.default(n.default["tedi-number-field"],{[n.default["tedi-number-field--invalid"]]:C(s)},{[n.default["tedi-number-field--disabled"]]:m},{[n.default["tedi-number-field--small"]]:_==="small"},j);return l.jsxs("div",{"data-name":"number-field",className:j,children:[l.jsx(X.FormLabel,{id:x,label:S,required:q,hideLabel:U,size:_}),l.jsxs("div",{className:H,children:[O("decrement"),G(),O("increment")]}),d&&l.jsx(Q.FeedbackText,{className:n.default["tedi-number-field__feedback"],...d,id:w}),L&&l.jsx("div",{"aria-live":"polite",className:"sr-only",children:L})]})};y.displayName="NumberField";exports.NumberField=y;exports.default=y;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const r=require("react/jsx-runtime"),B=require("../../../../../external/classnames/index.cjs.js"),u=require("react"),le=require("../../base/typography/text/text.cjs.js"),re=require("../../buttons/button/button.cjs.js"),se=require("../feedback-text/feedback-text.cjs.js"),ue=require("../form-label/form-label.cjs.js"),n=require("./number-field.module.scss.cjs.js"),de=require("../../../helpers/hooks/use-breakpoint-props.cjs.js"),oe=require("../../../providers/label-provider/use-labels.cjs.js"),S=L=>{const{getCurrentBreakpointProps:C}=de.useBreakpointProps(L.defaultServerBreakpoint),{getLabel:T,locale:D}=oe.useLabels(),W=D==="en"?".":",",{id:N,label:A,hideLabel:G,required:V,className:g,size:y,inputMode:H,decimalPlaces:p,decimalSeparator:F=W,min:d,max:o,step:I=1,defaultValue:w,value:c,onChange:a,suffix:h,fullWidth:J=!1,disabled:b=!1,invalid:k=!1,helper:i,input:v}=C(L),K=H??(p&&p>0||F===","?"decimal":"numeric"),m=u.useCallback(e=>e===void 0?"":F===","?String(e).replace(".",","):String(e),[F]),x=u.useRef(null),q=u.useRef(!1),[E,O]=u.useState(""),[Q,M]=u.useState(w),[X,_]=u.useState(()=>m(c??w)),l=a&&typeof c<"u"?c:Q;u.useEffect(()=>{!q.current&&typeof c<"u"&&_(m(c))},[c,m]);const P=i?`${N}-helper`:void 0,U=u.useCallback(e=>{if(e===void 0)return k||(i==null?void 0:i.type)==="error";const t=d!==void 0&&e<d,s=o!==void 0&&e>o;return k||t||s||(i==null?void 0:i.type)==="error"},[k,i,o,d]),R=e=>Math.min(o??1/0,Math.max(d??-1/0,e)),Y=e=>{const t=T("numberField.quantityUpdated",e);O(t),setTimeout(()=>{O("")},5e3)},$=e=>p!==void 0?parseFloat(e.toFixed(p)):e,Z=e=>{let t=l??0;e==="increment"&&(t=t+I),e==="decrement"&&(t=t-I),t=R(t),t=$(t),Y(t),a==null||a(t),M(t),_(m(t))},ee=({currentTarget:{value:e}})=>{if(_(e),e===""){l!==void 0&&(a==null||a(void 0),M(void 0));return}const t=e.replace(",",".");if(!/^-?(\d+(\.\d*)?|\.\d+)$/.test(t))return;const s=parseFloat(t);if(Number.isNaN(s))return;const f=R(s),j=$(f);j!==l&&(a==null||a(j),M(j))},te=()=>{q.current=!0},ne=()=>{q.current=!1,_(m(l))},z=e=>{const t=l!==void 0&&(e==="increment"?o!==void 0&&l>=o:d!==void 0&&l<=d),s=B.default(n.default["tedi-number-field__button"],n.default[`tedi-number-field__button--${e}`],{[n.default["tedi-number-field__button--disabled"]]:t||b}),f=T(`numberField.${e}`,I);return r.jsx(re.Button,{"aria-label":f,onClick:()=>Z(e),disabled:t||b,visualType:"secondary",className:s,icon:{name:e==="increment"?"add":"remove"},size:y==="small"?"small":void 0,children:e==="increment"?"+":"-"})},ae=()=>{const e=B.default(n.default["tedi-number-field__input-wrapper"],{[n.default["tedi-number-field__input-wrapper--with-suffix"]]:h,[n.default["tedi-number-field__input-wrapper--full-width"]]:J}),t=B.default(n.default["tedi-number-field__input"],v==null?void 0:v.className),s=()=>{var f;return(f=x==null?void 0:x.current)==null?void 0:f.focus()};return r.jsxs("div",{className:e,onClick:s,children:[r.jsx("input",{ref:x,id:N,role:"spinbutton","aria-valuemin":d,"aria-valuemax":o,"aria-valuenow":l,"aria-describedby":P,"aria-invalid":U(l)?"true":"false",type:"text",inputMode:K,value:X,required:V,disabled:b,onChange:ee,onFocus:te,onBlur:ne,className:t,...v}),h&&r.jsx(le.Text,{element:"span",modifiers:"small",color:"tertiary",className:n.default["tedi-number-field__suffix"],children:h})]})},ie=B.default(n.default["tedi-number-field"],{[n.default["tedi-number-field--invalid"]]:U(l)},{[n.default["tedi-number-field--disabled"]]:b},{[n.default["tedi-number-field--small"]]:y==="small"},g);return r.jsxs("div",{"data-name":"number-field",className:g,children:[r.jsx(ue.FormLabel,{id:N,label:A,required:V,hideLabel:G,size:y}),r.jsxs("div",{className:ie,children:[z("decrement"),ae(),z("increment")]}),i&&r.jsx(se.FeedbackText,{className:n.default["tedi-number-field__feedback"],...i,id:P}),E&&r.jsx("div",{"aria-live":"polite",className:"sr-only",children:E})]})};S.displayName="NumberField";exports.NumberField=S;exports.default=S;
@@ -36,18 +36,31 @@ export interface NumberFieldProps extends BreakpointSupport<NumberFieldBreakpoin
36
36
  */
37
37
  value?: number;
38
38
  /**
39
- * Callback fired when the input value changes.
39
+ * Callback fired when the input value changes. Emits `undefined` when the
40
+ * field is cleared so consumers can distinguish *"user explicitly entered
41
+ * zero"* from *"field is empty"* — important for required-field validation
42
+ * and for fields where `0` is a meaningful selection.
40
43
  */
41
- onChange?: (value: number) => void;
44
+ onChange?: (value: number | undefined) => void;
42
45
  /**
43
46
  * Specifies the input mode for the field (e.g., numeric or decimal).
44
- * @default numeric
47
+ * Defaults to `'decimal'` when `decimalPlaces > 0` or `decimalSeparator === ','`,
48
+ * otherwise numeric.
45
49
  */
46
50
  inputMode?: 'numeric' | 'decimal';
47
51
  /**
48
52
  * Number of decimal places for rounding calculations.
49
53
  */
50
54
  decimalPlaces?: number;
55
+ /**
56
+ * Character used as the decimal separator when displaying the value.
57
+ * Both `.` and `,` are always accepted as input regardless of this setting.
58
+ *
59
+ * Defaults are derived from `<LabelProvider locale>`: `en` → `.`, `et` / `ru`
60
+ * → `,`. Pass the prop explicitly to override the locale-derived default for
61
+ * a single field.
62
+ */
63
+ decimalSeparator?: '.' | ',';
51
64
  /**
52
65
  * Minimum allowed value. Disables decrementing below this value and restricts manual input.
53
66
  */
@@ -1,122 +1,146 @@
1
- import { jsxs as N, jsx as d } from "react/jsx-runtime";
2
- import b from "../../../../../external/classnames/index.es.js";
3
- import { useRef as K, useState as O, useMemo as Q, useCallback as R } from "react";
4
- import { Text as X } from "../../base/typography/text/text.es.js";
5
- import { Button as Y } from "../../buttons/button/button.es.js";
6
- import { FeedbackText as Z } from "../feedback-text/feedback-text.es.js";
7
- import { FormLabel as ee } from "../form-label/form-label.es.js";
1
+ import { jsxs as L, jsx as c } from "react/jsx-runtime";
2
+ import _ from "../../../../../external/classnames/index.es.js";
3
+ import { useCallback as D, useRef as W, useState as S, useEffect as se } from "react";
4
+ import { Text as de } from "../../base/typography/text/text.es.js";
5
+ import { Button as oe } from "../../buttons/button/button.es.js";
6
+ import { FeedbackText as ue } from "../feedback-text/feedback-text.es.js";
7
+ import { FormLabel as ce } from "../form-label/form-label.es.js";
8
8
  import n from "./number-field.module.scss.es.js";
9
- import { useBreakpointProps as te } from "../../../helpers/hooks/use-breakpoint-props.es.js";
10
- import { useLabels as ne } from "../../../providers/label-provider/use-labels.es.js";
11
- const ie = (y) => {
12
- const { getCurrentBreakpointProps: P } = te(y.defaultServerBreakpoint), {
13
- id: v,
14
- label: $,
15
- hideLabel: j,
16
- required: x,
17
- className: k,
18
- size: _,
19
- inputMode: q = "numeric",
20
- decimalPlaces: F,
21
- min: r,
22
- max: a,
23
- step: u = 1,
24
- defaultValue: z,
25
- value: h,
9
+ import { useBreakpointProps as me } from "../../../helpers/hooks/use-breakpoint-props.es.js";
10
+ import { useLabels as fe } from "../../../providers/label-provider/use-labels.es.js";
11
+ const pe = (T) => {
12
+ const { getCurrentBreakpointProps: A } = me(T.defaultServerBreakpoint), { getLabel: w, locale: R } = fe(), G = R === "en" ? "." : ",", {
13
+ id: y,
14
+ label: H,
15
+ hideLabel: J,
16
+ required: E,
17
+ className: U,
18
+ size: B,
19
+ inputMode: K,
20
+ decimalPlaces: f,
21
+ decimalSeparator: I = G,
22
+ min: l,
23
+ max: s,
24
+ step: x = 1,
25
+ defaultValue: O,
26
+ value: o,
26
27
  onChange: i,
27
- suffix: B,
28
- fullWidth: S = !1,
29
- disabled: o = !1,
30
- invalid: M = !1,
31
- helper: l,
32
- input: m
33
- } = P(y), { getLabel: V } = ne(), c = K(null), [w, L] = O(""), [T, C] = O(z ?? 0), s = Q(
34
- () => i && typeof h < "u" ? h : T,
35
- [i, h, T]
36
- ), U = l ? `${v}-helper` : void 0, g = R(
28
+ suffix: h,
29
+ fullWidth: Q = !1,
30
+ disabled: p = !1,
31
+ invalid: F = !1,
32
+ helper: r,
33
+ input: b
34
+ } = A(T), X = K ?? (f && f > 0 || I === "," ? "decimal" : "numeric"), m = D(
35
+ (e) => e === void 0 ? "" : I === "," ? String(e).replace(".", ",") : String(e),
36
+ [I]
37
+ ), v = W(null), M = W(!1), [$, g] = S(""), [Y, k] = S(O), [Z, N] = S(() => m(o ?? O)), a = i && typeof o < "u" ? o : Y;
38
+ se(() => {
39
+ !M.current && typeof o < "u" && N(m(o));
40
+ }, [o, m]);
41
+ const z = r ? `${y}-helper` : void 0, P = D(
37
42
  (e) => {
38
- const t = r !== void 0 && e < r, f = a !== void 0 && e > a;
39
- return M || t || f || (l == null ? void 0 : l.type) === "error";
43
+ if (e === void 0)
44
+ return F || (r == null ? void 0 : r.type) === "error";
45
+ const t = l !== void 0 && e < l, d = s !== void 0 && e > s;
46
+ return F || t || d || (r == null ? void 0 : r.type) === "error";
40
47
  },
41
- [M, l, a, r]
42
- ), I = (e) => Math.min(a ?? 1 / 0, Math.max(r ?? -1 / 0, e)), W = (e) => {
43
- const t = V("numberField.quantityUpdated", e);
44
- L(t), setTimeout(() => {
45
- L("");
48
+ [F, r, s, l]
49
+ ), j = (e) => Math.min(s ?? 1 / 0, Math.max(l ?? -1 / 0, e)), ee = (e) => {
50
+ const t = w("numberField.quantityUpdated", e);
51
+ g(t), setTimeout(() => {
52
+ g("");
46
53
  }, 5e3);
47
- }, A = (e) => F !== void 0 ? parseFloat(e.toFixed(F)) : e, D = (e) => {
48
- let t = s;
49
- e === "increment" && (t = t + u), e === "decrement" && (t = t - u), t = I(t), t = A(t), W(t), i == null || i(t), C(t);
50
- }, G = ({ currentTarget: { value: e } }) => {
51
- i == null || i(I(+e)), C(I(+e));
52
- }, E = (e) => {
53
- const t = e === "increment" ? a !== void 0 && s >= a : r !== void 0 && s <= r, f = b(n["tedi-number-field__button"], n[`tedi-number-field__button--${e}`], {
54
- [n["tedi-number-field__button--disabled"]]: t || o
55
- }), p = V(`numberField.${e}`, u);
56
- return /* @__PURE__ */ d(
57
- Y,
54
+ }, q = (e) => f !== void 0 ? parseFloat(e.toFixed(f)) : e, te = (e) => {
55
+ let t = a ?? 0;
56
+ e === "increment" && (t = t + x), e === "decrement" && (t = t - x), t = j(t), t = q(t), ee(t), i == null || i(t), k(t), N(m(t));
57
+ }, ne = ({ currentTarget: { value: e } }) => {
58
+ if (N(e), e === "") {
59
+ a !== void 0 && (i == null || i(void 0), k(void 0));
60
+ return;
61
+ }
62
+ const t = e.replace(",", ".");
63
+ if (!/^-?(\d+(\.\d*)?|\.\d+)$/.test(t))
64
+ return;
65
+ const d = parseFloat(t);
66
+ if (Number.isNaN(d)) return;
67
+ const u = j(d), V = q(u);
68
+ V !== a && (i == null || i(V), k(V));
69
+ }, ie = () => {
70
+ M.current = !0;
71
+ }, re = () => {
72
+ M.current = !1, N(m(a));
73
+ }, C = (e) => {
74
+ const t = a !== void 0 && (e === "increment" ? s !== void 0 && a >= s : l !== void 0 && a <= l), d = _(n["tedi-number-field__button"], n[`tedi-number-field__button--${e}`], {
75
+ [n["tedi-number-field__button--disabled"]]: t || p
76
+ }), u = w(`numberField.${e}`, x);
77
+ return /* @__PURE__ */ c(
78
+ oe,
58
79
  {
59
- "aria-label": p,
60
- onClick: () => D(e),
61
- disabled: t || o,
80
+ "aria-label": u,
81
+ onClick: () => te(e),
82
+ disabled: t || p,
62
83
  visualType: "secondary",
63
- className: f,
84
+ className: d,
64
85
  icon: { name: e === "increment" ? "add" : "remove" },
65
- size: _ === "small" ? "small" : void 0,
86
+ size: B === "small" ? "small" : void 0,
66
87
  children: e === "increment" ? "+" : "-"
67
88
  }
68
89
  );
69
- }, H = () => {
70
- const e = b(n["tedi-number-field__input-wrapper"], {
71
- [n["tedi-number-field__input-wrapper--with-suffix"]]: B,
72
- [n["tedi-number-field__input-wrapper--full-width"]]: S
73
- }), t = b(n["tedi-number-field__input"], m == null ? void 0 : m.className);
74
- return /* @__PURE__ */ N("div", { className: e, onClick: () => {
75
- var p;
76
- return (p = c == null ? void 0 : c.current) == null ? void 0 : p.focus();
90
+ }, ae = () => {
91
+ const e = _(n["tedi-number-field__input-wrapper"], {
92
+ [n["tedi-number-field__input-wrapper--with-suffix"]]: h,
93
+ [n["tedi-number-field__input-wrapper--full-width"]]: Q
94
+ }), t = _(n["tedi-number-field__input"], b == null ? void 0 : b.className);
95
+ return /* @__PURE__ */ L("div", { className: e, onClick: () => {
96
+ var u;
97
+ return (u = v == null ? void 0 : v.current) == null ? void 0 : u.focus();
77
98
  }, children: [
78
- /* @__PURE__ */ d(
99
+ /* @__PURE__ */ c(
79
100
  "input",
80
101
  {
81
- ref: c,
82
- id: v,
83
- "aria-describedby": U,
84
- "aria-invalid": g(s) ? "true" : "false",
85
- type: "number",
86
- inputMode: q,
87
- value: s,
88
- min: r,
89
- max: a,
90
- required: x,
91
- step: u,
92
- disabled: o,
93
- onChange: G,
102
+ ref: v,
103
+ id: y,
104
+ role: "spinbutton",
105
+ "aria-valuemin": l,
106
+ "aria-valuemax": s,
107
+ "aria-valuenow": a,
108
+ "aria-describedby": z,
109
+ "aria-invalid": P(a) ? "true" : "false",
110
+ type: "text",
111
+ inputMode: X,
112
+ value: Z,
113
+ required: E,
114
+ disabled: p,
115
+ onChange: ne,
116
+ onFocus: ie,
117
+ onBlur: re,
94
118
  className: t,
95
- ...m
119
+ ...b
96
120
  }
97
121
  ),
98
- B && /* @__PURE__ */ d(X, { element: "span", modifiers: "small", color: "tertiary", className: n["tedi-number-field__suffix"], children: B })
122
+ h && /* @__PURE__ */ c(de, { element: "span", modifiers: "small", color: "tertiary", className: n["tedi-number-field__suffix"], children: h })
99
123
  ] });
100
- }, J = b(
124
+ }, le = _(
101
125
  n["tedi-number-field"],
102
- { [n["tedi-number-field--invalid"]]: g(s) },
103
- { [n["tedi-number-field--disabled"]]: o },
104
- { [n["tedi-number-field--small"]]: _ === "small" },
105
- k
126
+ { [n["tedi-number-field--invalid"]]: P(a) },
127
+ { [n["tedi-number-field--disabled"]]: p },
128
+ { [n["tedi-number-field--small"]]: B === "small" },
129
+ U
106
130
  );
107
- return /* @__PURE__ */ N("div", { "data-name": "number-field", className: k, children: [
108
- /* @__PURE__ */ d(ee, { id: v, label: $, required: x, hideLabel: j, size: _ }),
109
- /* @__PURE__ */ N("div", { className: J, children: [
110
- E("decrement"),
111
- H(),
112
- E("increment")
131
+ return /* @__PURE__ */ L("div", { "data-name": "number-field", className: U, children: [
132
+ /* @__PURE__ */ c(ce, { id: y, label: H, required: E, hideLabel: J, size: B }),
133
+ /* @__PURE__ */ L("div", { className: le, children: [
134
+ C("decrement"),
135
+ ae(),
136
+ C("increment")
113
137
  ] }),
114
- l && /* @__PURE__ */ d(Z, { className: n["tedi-number-field__feedback"], ...l, id: U }),
115
- w && /* @__PURE__ */ d("div", { "aria-live": "polite", className: "sr-only", children: w })
138
+ r && /* @__PURE__ */ c(ue, { className: n["tedi-number-field__feedback"], ...r, id: z }),
139
+ $ && /* @__PURE__ */ c("div", { "aria-live": "polite", className: "sr-only", children: $ })
116
140
  ] });
117
141
  };
118
- ie.displayName = "NumberField";
142
+ pe.displayName = "NumberField";
119
143
  export {
120
- ie as NumberField,
121
- ie as default
144
+ pe as NumberField,
145
+ pe as default
122
146
  };
@@ -3,6 +3,11 @@ import { TediLabelEntryRecord, TediLabels, TediLabelValuesRecord, TediLanguage }
3
3
  export interface ILabelContext {
4
4
  getLabel<TKey extends keyof TediLabels, TArgs extends TediLabels[TKey] extends Record<TediLanguage, infer FuncType> ? FuncType extends (...args: infer P) => string ? P : [] : TediLabels[TKey] extends (...args: infer P) => string ? P : []>(key: TKey, ...args: TArgs): string;
5
5
  setLocale: (locale: TediLanguage) => void;
6
+ /**
7
+ * Currently active locale. Exposed so components can derive locale-sensitive
8
+ * formatting defaults (e.g. `NumberField`'s `decimalSeparator`) without
9
+ * forcing every consumer to repeat the prop on every instance.
10
+ */
6
11
  locale: TediLanguage;
7
12
  }
8
13
  export declare const LabelContext: React.Context<ILabelContext>;