@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.
- package/_virtual/index.cjs10.js +1 -1
- package/_virtual/index.cjs11.js +1 -1
- package/_virtual/index.cjs12.js +1 -1
- package/_virtual/index.cjs13.js +1 -1
- package/_virtual/index.cjs5.js +1 -1
- package/_virtual/index.cjs6.js +1 -1
- package/_virtual/index.cjs7.js +1 -1
- package/_virtual/index.cjs8.js +1 -1
- package/_virtual/index.cjs9.js +1 -1
- package/_virtual/index.es10.js +1 -1
- package/_virtual/index.es11.js +1 -1
- package/_virtual/index.es12.js +1 -1
- package/_virtual/index.es13.js +4 -2
- package/_virtual/index.es14.js +2 -2
- package/_virtual/index.es5.js +2 -4
- package/_virtual/index.es6.js +1 -1
- package/_virtual/index.es7.js +1 -1
- package/_virtual/index.es8.js +1 -1
- package/_virtual/index.es9.js +1 -1
- package/bundle-stats.html +1 -1
- package/external/@mui/system/colorManipulator.cjs.js +1 -1
- package/external/@mui/system/colorManipulator.es.js +2 -2
- package/external/@mui/system/createStyled.cjs.js +1 -1
- package/external/@mui/system/createStyled.es.js +6 -6
- package/external/@mui/system/useThemeWithoutDefault.cjs.js +1 -1
- package/external/@mui/system/useThemeWithoutDefault.es.js +1 -1
- package/external/react-is/index.cjs.js +1 -1
- package/external/react-is/index.es.js +1 -1
- package/external/toposort/index.cjs.js +1 -1
- package/external/toposort/index.es.js +1 -1
- package/package.json +1 -1
- package/src/tedi/components/form/number-field/number-field.cjs.js +1 -1
- package/src/tedi/components/form/number-field/number-field.d.ts +16 -3
- package/src/tedi/components/form/number-field/number-field.es.js +121 -97
- 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.
|
|
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.
|
|
4
|
-
import N from "../../../_virtual/index.
|
|
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.
|
|
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.
|
|
6
|
-
import U from "../../../_virtual/index.
|
|
7
|
-
import X from "../../../_virtual/index.
|
|
8
|
-
import Y from "../../../_virtual/index.
|
|
9
|
-
import Z from "../../../_virtual/index.
|
|
10
|
-
import z from "../../../_virtual/index.
|
|
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.
|
|
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 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../_virtual/index.
|
|
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.
|
|
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.
|
|
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;
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const
|
|
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
|
-
*
|
|
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
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import { Text as
|
|
5
|
-
import { Button as
|
|
6
|
-
import { FeedbackText as
|
|
7
|
-
import { FormLabel as
|
|
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
|
|
10
|
-
import { useLabels as
|
|
11
|
-
const
|
|
12
|
-
const { getCurrentBreakpointProps:
|
|
13
|
-
id:
|
|
14
|
-
label:
|
|
15
|
-
hideLabel:
|
|
16
|
-
required:
|
|
17
|
-
className:
|
|
18
|
-
size:
|
|
19
|
-
inputMode:
|
|
20
|
-
decimalPlaces:
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
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:
|
|
28
|
-
fullWidth:
|
|
29
|
-
disabled:
|
|
30
|
-
invalid:
|
|
31
|
-
helper:
|
|
32
|
-
input:
|
|
33
|
-
} =
|
|
34
|
-
() =>
|
|
35
|
-
[
|
|
36
|
-
),
|
|
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
|
-
|
|
39
|
-
|
|
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
|
-
[
|
|
42
|
-
),
|
|
43
|
-
const t =
|
|
44
|
-
|
|
45
|
-
|
|
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
|
-
},
|
|
48
|
-
let t =
|
|
49
|
-
e === "increment" && (t = t +
|
|
50
|
-
},
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
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":
|
|
60
|
-
onClick: () =>
|
|
61
|
-
disabled: t ||
|
|
80
|
+
"aria-label": u,
|
|
81
|
+
onClick: () => te(e),
|
|
82
|
+
disabled: t || p,
|
|
62
83
|
visualType: "secondary",
|
|
63
|
-
className:
|
|
84
|
+
className: d,
|
|
64
85
|
icon: { name: e === "increment" ? "add" : "remove" },
|
|
65
|
-
size:
|
|
86
|
+
size: B === "small" ? "small" : void 0,
|
|
66
87
|
children: e === "increment" ? "+" : "-"
|
|
67
88
|
}
|
|
68
89
|
);
|
|
69
|
-
},
|
|
70
|
-
const e =
|
|
71
|
-
[n["tedi-number-field__input-wrapper--with-suffix"]]:
|
|
72
|
-
[n["tedi-number-field__input-wrapper--full-width"]]:
|
|
73
|
-
}), t =
|
|
74
|
-
return /* @__PURE__ */
|
|
75
|
-
var
|
|
76
|
-
return (
|
|
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__ */
|
|
99
|
+
/* @__PURE__ */ c(
|
|
79
100
|
"input",
|
|
80
101
|
{
|
|
81
|
-
ref:
|
|
82
|
-
id:
|
|
83
|
-
"
|
|
84
|
-
"aria-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
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
|
-
...
|
|
119
|
+
...b
|
|
96
120
|
}
|
|
97
121
|
),
|
|
98
|
-
|
|
122
|
+
h && /* @__PURE__ */ c(de, { element: "span", modifiers: "small", color: "tertiary", className: n["tedi-number-field__suffix"], children: h })
|
|
99
123
|
] });
|
|
100
|
-
},
|
|
124
|
+
}, le = _(
|
|
101
125
|
n["tedi-number-field"],
|
|
102
|
-
{ [n["tedi-number-field--invalid"]]:
|
|
103
|
-
{ [n["tedi-number-field--disabled"]]:
|
|
104
|
-
{ [n["tedi-number-field--small"]]:
|
|
105
|
-
|
|
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__ */
|
|
108
|
-
/* @__PURE__ */
|
|
109
|
-
/* @__PURE__ */
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
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
|
-
|
|
115
|
-
|
|
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
|
-
|
|
142
|
+
pe.displayName = "NumberField";
|
|
119
143
|
export {
|
|
120
|
-
|
|
121
|
-
|
|
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>;
|