@lifesg/react-design-system 2.0.0-canary.3 → 2.0.0-canary.4

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 (60) hide show
  1. package/README.md +6 -0
  2. package/accordion/accordion.d.ts +1 -1
  3. package/accordion/index.js +1 -1
  4. package/accordion/index.js.map +1 -1
  5. package/accordion/types.d.ts +1 -0
  6. package/cjs/index.js +304 -113
  7. package/cjs/index.js.map +1 -1
  8. package/feedback-rating/index.js +6 -6
  9. package/feedback-rating/index.js.map +1 -1
  10. package/filter/index.js +1 -1
  11. package/filter/index.js.map +1 -1
  12. package/form/index.js +95 -95
  13. package/form/index.js.map +1 -1
  14. package/index.d.ts +1 -0
  15. package/index.js +289 -98
  16. package/index.js.map +1 -1
  17. package/input/index.js +1 -1
  18. package/input/index.js.map +1 -1
  19. package/input-group/index.js +3 -3
  20. package/input-group/index.js.map +1 -1
  21. package/input-multi-select/index.js +2 -2
  22. package/input-multi-select/index.js.map +1 -1
  23. package/input-range-select/index.js +2 -2
  24. package/input-range-select/index.js.map +1 -1
  25. package/input-select/index.js +2 -2
  26. package/input-select/index.js.map +1 -1
  27. package/navbar/index.js +1 -1
  28. package/navbar/index.js.map +1 -1
  29. package/otp-input/index.js +2 -2
  30. package/otp-input/index.js.map +1 -1
  31. package/package.json +1 -1
  32. package/pagination/index.js +3 -3
  33. package/pagination/index.js.map +1 -1
  34. package/phone-number-input/index.js +3 -3
  35. package/phone-number-input/index.js.map +1 -1
  36. package/sidenav/index.d.ts +2 -0
  37. package/sidenav/index.js +456 -0
  38. package/sidenav/index.js.map +1 -0
  39. package/sidenav/package.json +7 -0
  40. package/sidenav/sidenav-context.d.ts +15 -0
  41. package/sidenav/sidenav-drawer-item.d.ts +3 -0
  42. package/sidenav/sidenav-drawer-item.styles.d.ts +19 -0
  43. package/sidenav/sidenav-drawer-subitem.d.ts +3 -0
  44. package/sidenav/sidenav-drawer-subitem.styles.d.ts +3 -0
  45. package/sidenav/sidenav-group.d.ts +3 -0
  46. package/sidenav/sidenav-group.styles.d.ts +2 -0
  47. package/sidenav/sidenav-item.d.ts +3 -0
  48. package/sidenav/sidenav-item.styles.d.ts +9 -0
  49. package/sidenav/sidenav.d.ts +8 -0
  50. package/sidenav/sidenav.styles.d.ts +11 -0
  51. package/sidenav/types.d.ts +58 -0
  52. package/smart-app-banner/index.js +1 -1
  53. package/smart-app-banner/index.js.map +1 -1
  54. package/time-range-picker/index.js +2 -2
  55. package/time-range-picker/index.js.map +1 -1
  56. package/timepicker/index.js +6 -6
  57. package/timepicker/index.js.map +1 -1
  58. package/unit-number/index.js +1 -1
  59. package/unit-number/index.js.map +1 -1
  60. package/util/use-event-listener.d.ts +2 -2
@@ -399,7 +399,7 @@ import e,{jsxs as t,jsx as r}from"react/jsx-runtime";import n,{useRef as o,useIm
399
399
  `,gr=d(dr)`
400
400
  height: 1.25rem;
401
401
  width: 1.25rem;
402
- `,fr=n.forwardRef((({value:e,spacing:n,type:a,error:l,disabled:d,readOnly:c,onChange:s,onClear:u,allowClear:h=!1,className:p,...g},f)=>{const m=o();i(f,(()=>m.current),[]);const b=()=>"tel"===a&&n,y=e=>{const t=e.target,r=t.value,n=t.value.replace(/\s/g,"");t.value=n,s(e),t.value=r},F=e?(e=>e?b()?lr.transformWithSpaces(e,n):e:"")(e):e;return t(ar,{$disabled:d,$error:l,$readOnly:c,className:p,children:[r(hr,{"data-testid":"input",ref:m,disabled:d,value:F,onChange:e=>{s&&(b()?y(e):s(e))},type:a,readOnly:c,...g}),h&&!d&&!c&&!!e&&r(pr,{onClick:()=>{u&&u(),m&&m.current&&m.current.focus()},type:"button",children:r(gr,{})})]})})),mr=d.div`
402
+ `,fr=n.forwardRef((({value:e,spacing:n,type:a,error:l,disabled:d,readOnly:c,onChange:s,onClear:u,allowClear:h=!1,className:p,...g},f)=>{const m=o();i(f,(()=>m.current),[]);const b=()=>"tel"===a&&n,y=e=>{const t=e.target,r=t.value,n=t.value.replace(/\s/g,"");t.value=n,s(e),t.value=r},F=e?(e=>e?b()?lr.transformWithSpaces(e,n):e:"")(e):e;return t(ar,{$disabled:d,$error:l,$readOnly:c,className:p,children:[r(hr,{"data-testid":"input",ref:m,disabled:d,value:F,onChange:e=>{s&&(b()?y(e):s(e))},type:a,readOnly:c,...g}),h&&!d&&!c&&!!e&&r(pr,{onClick:()=>{u&&u(),m&&m.current&&m.current.focus()},type:"button",children:r(gr,{"aria-hidden":!0})})]})})),mr=d.div`
403
403
  display: flex;
404
404
  flex-direction: column;
405
405
  `,br=d.div`
@@ -642,5 +642,5 @@ import e,{jsxs as t,jsx as r}from"react/jsx-runtime";import n,{useRef as o,useIm
642
642
  outline: none;
643
643
  `;d(Ut.BodySmall)`
644
644
  color: ${e=>e.disabled?xt.Neutral[4](e):xt.Neutral[3](e)};
645
- `;const Er=e=>r(kr,{weight:"semibold",...e}),zr=({id:e,value:n=[],"data-testid":i,className:d,cooldownDuration:c,actionButtonProps:s,errorMessage:u,numOfInput:h,onChange:p,onCooldownStart:g,onCooldownEnd:f,...m})=>{const{disabled:b,onClick:y,styleType:F="secondary",...$}=s??{},v=o([]),S=o(p),[B,w]=a(new Array(h).fill("")),[x,C]=a(c),[H,D]=a(new Date);l((()=>(v?.current[0]?.focus(),document.addEventListener("paste",z),()=>document.removeEventListener("paste",z))),[]),l((()=>{if(0!==c){g&&g();const e=A();return()=>e()}}),[H]),l((()=>{S.current=p}),[p]),l((()=>{n.length===h&&w(n)}),[n]);const k=e=>t=>{const r=t.target.value.replace(/[^0-9]/g,"");if(_(r)){const t=[...B];t[e]=r.substring(r.length-1),v.current[e+1]?.focus(),w(t),p&&p(t)}},E=e=>t=>{const{key:r,code:n}=t;if("Backspace"===r||"Backspace"===n){const t=[...B];""!==t[e]?t[e]="":0!==e&&(t[e-1]="",v.current[e-1]?.focus()),w(t),p&&p(t)}},z=e=>{const t=e.clipboardData.getData("text"),r=t.split("");t&&_(t,h)?(w(r),S.current&&S.current(r)):e.preventDefault()},_=(e,t=1)=>!!e&&RegExp(`^[0-9]{${t}}$`).test(e),N=()=>{const e=Date.now(),t=1e3*c;return e<H.valueOf()+t},A=()=>{const e=setInterval((()=>{const t=Date.now(),r=1e3*c,n=Math.ceil((H.valueOf()+r-t)/1e3);C(n),n<=0&&(f&&f(),clearInterval(e))}),1e3);return()=>{clearInterval(e)}},T=(e,t,r)=>r?`${r}-${t}-${e+1}`:`${t}-${e+1}`;return t(mr,{id:e,"data-testid":i,className:d,children:[r(br,{children:B.map(((t,n)=>r(yr,{id:T(n,"otp-input",e),"data-testid":T(n,"otp-input",i),ref:e=>v.current[n]=e,type:"text",inputMode:"numeric",value:t,error:!!u,onChange:k(n),onKeyDown:E(n),...m},n)))}),u&&r(Er,{children:u}),r(Fr,{styleType:F,...$,onClick:e=>{w(new Array(h).fill("")),N()||(D(new Date),C(c)),y&&y(e)},disabled:b||N(),children:$.children?$.children:"Resend OTP"+(x?` in ${x} second${x>1?"s":""}`:"")})]})};export{zr as OtpInput};
645
+ `;const Er=e=>r(kr,{weight:"semibold",...e}),zr=({id:e,value:n=[],"data-testid":i,className:d,cooldownDuration:c,actionButtonProps:s,errorMessage:u,numOfInput:h,onChange:p,onCooldownStart:g,onCooldownEnd:f,...m})=>{const{disabled:b,onClick:y,styleType:F="secondary",...$}=s??{},v=o([]),S=o(p),[B,w]=a(new Array(h).fill("")),[x,C]=a(c),[H,D]=a(new Date);l((()=>(v?.current[0]?.focus(),document.addEventListener("paste",z),()=>document.removeEventListener("paste",z))),[]),l((()=>{if(0!==c){g&&g();const e=A();return()=>e()}}),[H]),l((()=>{S.current=p}),[p]),l((()=>{n.length===h&&w(n)}),[n]);const k=e=>t=>{const r=t.target.value.replace(/[^0-9]/g,"");if(_(r)){const t=[...B];t[e]=r.substring(r.length-1),v.current[e+1]?.focus(),w(t),p&&p(t)}},E=e=>t=>{const{key:r,code:n}=t;if("Backspace"===r||"Backspace"===n){const t=[...B];""!==t[e]?t[e]="":0!==e&&(t[e-1]="",v.current[e-1]?.focus()),w(t),p&&p(t)}},z=e=>{const t=e.clipboardData.getData("text"),r=t.split("");t&&_(t,h)?(w(r),S.current&&S.current(r)):e.preventDefault()},_=(e,t=1)=>!!e&&RegExp(`^[0-9]{${t}}$`).test(e),N=()=>{const e=Date.now(),t=1e3*c;return e<H.valueOf()+t},A=()=>{const e=setInterval((()=>{const t=Date.now(),r=1e3*c,n=Math.ceil((H.valueOf()+r-t)/1e3);C(n),n<=0&&(f&&f(),clearInterval(e))}),1e3);return()=>{clearInterval(e)}},T=(e,t,r)=>r?`${r}-${t}-${e+1}`:`${t}-${e+1}`;return t(mr,{id:e,"data-testid":i,className:d,children:[r(br,{children:B.map(((t,n)=>r(yr,{id:T(n,"otp-input",e),"data-testid":T(n,"otp-input",i),ref:e=>v.current[n]=e,type:"text",inputMode:"numeric",value:t,error:!!u,onChange:k(n),onKeyDown:E(n),...m},n)))}),u&&r(Er,{children:u}),r(Fr,{styleType:F,type:"button",...$,onClick:e=>{w(new Array(h).fill("")),N()||(D(new Date),C(c)),y&&y(e)},disabled:b||N(),children:$.children?$.children:"Resend OTP"+(x?` in ${x} second${x>1?"s":""}`:"")})]})};export{zr as OtpInput};
646
646
  //# sourceMappingURL=index.js.map