@oliasoft-open-source/react-ui-library 4.6.0-beta-1 → 4.7.0-beta-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 (117) hide show
  1. package/dist/index.d.ts +9 -2
  2. package/dist/index.js +136 -63
  3. package/dist/index.js.map +1 -1
  4. package/dist/storybook/assets/{Color-6VNJS4EI-GxhKC8e4.js → Color-6VNJS4EI-NPUHt_3q.js} +1 -1
  5. package/dist/storybook/assets/{DocsRenderer-NNNQARDV-qNtI0g6x.js → DocsRenderer-NNNQARDV-HIEKjKKN.js} +1 -1
  6. package/dist/storybook/assets/{WithTooltip-4HIR6TLV-Oz_GUhfl.js → WithTooltip-4HIR6TLV-XVy3Qn7b.js} +1 -1
  7. package/dist/storybook/assets/{accordion.stories-DAmwlTmm.js → accordion.stories-Uipdifbl.js} +1 -1
  8. package/dist/storybook/assets/{actions-SGexXf58.js → actions-Z9jDWreP.js} +1 -1
  9. package/dist/storybook/assets/{actions.stories-dDCC23QK.js → actions.stories-Qrio9EMy.js} +1 -1
  10. package/dist/storybook/assets/{afe.stories-1YkAm2l2.js → afe.stories-mangk6LB.js} +1 -1
  11. package/dist/storybook/assets/{badge.stories-nzXJ1qip.js → badge.stories-C0MXS15j.js} +1 -1
  12. package/dist/storybook/assets/{blowout.stories-ro9WCHli.js → blowout.stories-i7Ii3760.js} +1 -1
  13. package/dist/storybook/assets/{button-IoNblLER.js → button-7V8oA22w.js} +1 -1
  14. package/dist/storybook/assets/{button-group-KeeGgC4K.js → button-group-q8QKkLVU.js} +1 -1
  15. package/dist/storybook/assets/{button-group.stories-DG3i2d7K.js → button-group.stories-tLZpLTfD.js} +1 -1
  16. package/dist/storybook/assets/{button.stories-vebimSi_.js → button.stories-PhWmZXOu.js} +1 -1
  17. package/dist/storybook/assets/{buttons-and-links-e5muuefU.js → buttons-and-links-gkg6hOs-.js} +1 -1
  18. package/dist/storybook/assets/{card.stories-OtRekExg.js → card.stories-HzHJW6ek.js} +1 -1
  19. package/dist/storybook/assets/{casing-loads.stories--oHbAVn4.js → casing-loads.stories-4eIPrrhL.js} +1 -1
  20. package/dist/storybook/assets/{cell.stories-nm3Q_0D8.js → cell.stories-X4sboJCw.js} +1 -1
  21. package/dist/storybook/assets/{check-box-BX5dfQFk.js → check-box-LZdXXKhv.js} +1 -1
  22. package/dist/storybook/assets/{check-box.stories-FNs72smP.js → check-box.stories-0XCykxnz.js} +1 -1
  23. package/dist/storybook/assets/{chunk-HLWAVYOI-IpxCdjQR.js → chunk-HLWAVYOI-YF156CNQ.js} +1 -1
  24. package/dist/storybook/assets/{color-HUGaUBn2.js → color-PIYd2VAw.js} +1 -1
  25. package/dist/storybook/assets/{column.stories-5pd3N4bE.js → column.stories-6OLsjlcP.js} +1 -1
  26. package/dist/storybook/assets/{dialog-dekS0lUR.js → dialog-WKHRZcjc.js} +1 -1
  27. package/dist/storybook/assets/{drawer-TM-jK3WR.js → drawer-WuErQ5Z8.js} +1 -1
  28. package/dist/storybook/assets/{drawer.stories-OE24f2Y4.js → drawer.stories-RFRPs_pQ.js} +1 -1
  29. package/dist/storybook/assets/{empty.stories-KIByp315.js → empty.stories-lva3DbfI.js} +1 -1
  30. package/dist/storybook/assets/{field-kOZPBHf6.js → field-eknsj_Ll.js} +1 -1
  31. package/dist/storybook/assets/{field.stories-aEccauPi.js → field.stories-RmhJ16HT.js} +1 -1
  32. package/dist/storybook/assets/{file-input.stories-rkAlSDHE.js → file-input.stories-SF8BeFpu.js} +1 -1
  33. package/dist/storybook/assets/{flex-KzhjL9yc.js → flex-RYZsoWEN.js} +1 -1
  34. package/dist/storybook/assets/{flex.stories-rDfMJbP6.js → flex.stories-lLz0Xrt_.js} +1 -1
  35. package/dist/storybook/assets/{footer.stories-FmE2JKok.js → footer.stories-L0qQuABW.js} +1 -1
  36. package/dist/storybook/assets/{form.stories-LRkCBjZR.js → form.stories-qQsjBbOk.js} +1 -1
  37. package/dist/storybook/assets/{formation.stories-ZGzBQKt1.js → formation.stories-E8DV_cIY.js} +1 -1
  38. package/dist/storybook/assets/{formatter-SWP5E3XI-8JJuES-v.js → formatter-SWP5E3XI-uJi-Y6Jy.js} +1 -1
  39. package/dist/storybook/assets/{heading-cUVItwKq.js → heading-Bk0bpNfe.js} +1 -1
  40. package/dist/storybook/assets/{heading.stories-UJlMVVI-.js → heading.stories-HLMPkIPo.js} +1 -1
  41. package/dist/storybook/assets/{help-icon-nI9A506M.js → help-icon--rUDxLUD.js} +1 -1
  42. package/dist/storybook/assets/{help-icon.stories-Qz7MKCnQ.js → help-icon.stories-vifwJgNA.js} +1 -1
  43. package/dist/storybook/assets/{icon.stories-D_XEmSGG.js → icon.stories-W-UgTWyK.js} +1 -1
  44. package/dist/storybook/assets/iframe-NU_z28D3.js +7 -0
  45. package/dist/storybook/assets/{index-txtTsAry.js → index-_waogfzH.js} +5 -5
  46. package/dist/storybook/assets/{input-group.stories-EouZEW-v.js → input-group.stories-WljyIQ0a.js} +1 -1
  47. package/dist/storybook/assets/{input-iDZqV-2m.js → input-u1He-wWs.js} +1 -1
  48. package/dist/storybook/assets/{input-validation-YadXYe7E.js → input-validation-XFS-LWhH.js} +1 -1
  49. package/dist/storybook/assets/{input.stories-iopguZKB.js → input.stories-rLdDRxtU.js} +1 -1
  50. package/dist/storybook/assets/{inputs-YvlPtTke.js → inputs-vo_nTpyh.js} +1 -1
  51. package/dist/storybook/assets/{label-RpB4JmHX.js → label-0_Qf6I8t.js} +1 -1
  52. package/dist/storybook/assets/{label.stories-HcdQ1bEB.js → label.stories-aXdU5_Ql.js} +1 -1
  53. package/dist/storybook/assets/{layout-forms-2UsPyZyz.js → layout-forms-w8JJQQqh.js} +1 -1
  54. package/dist/storybook/assets/{layout-general-ma7VihYF.js → layout-general-QgIJDQ4H.js} +1 -1
  55. package/dist/storybook/assets/{list-ciYNlkVM.js → list-8l-RGDgw.js} +1 -1
  56. package/dist/storybook/assets/{list-heading-XbqCJOHh.js → list-heading-Vd3hu5Pf.js} +1 -1
  57. package/dist/storybook/assets/{list.stories-G1n5uCjl.js → list.stories-Vp0Dm7UU.js} +1 -1
  58. package/dist/storybook/assets/{list.stories-data-8eswVWst.js → list.stories-data-IcFu6vvd.js} +1 -1
  59. package/dist/storybook/assets/{loader.stories-G8Q_Fm8u.js → loader.stories-0OwmnNML.js} +1 -1
  60. package/dist/storybook/assets/{menu.stories-GFJs09Wk.js → menu.stories-VwRF_Pbx.js} +1 -1
  61. package/dist/storybook/assets/{menu.stories-data-c8X93fYM.js → menu.stories-data-hEz8P1yK.js} +1 -1
  62. package/dist/storybook/assets/{message.stories-BqM_-mrZ.js → message.stories-CDgUaLZP.js} +1 -1
  63. package/dist/storybook/assets/{modal.stories-K4XxeWTp.js → modal.stories-15sY1c5H.js} +1 -1
  64. package/dist/storybook/assets/{number-input-d7hXQldd.js → number-input-SvjJIGsW.js} +1 -1
  65. package/dist/storybook/assets/{number-input.stories-SOsG2FLJ.js → number-input.stories-BURENIFo.js} +1 -1
  66. package/dist/storybook/assets/{option-dropdown.stories-1Y5JDaBF.js → option-dropdown.stories-Q2zd2AcS.js} +1 -1
  67. package/dist/storybook/assets/{padding-and-spacing-KtiMa5GK.js → padding-and-spacing-J_Zb8SJm.js} +1 -1
  68. package/dist/storybook/assets/{page.stories-B5gzoAi8.js → page.stories-pa-9WU0e.js} +1 -1
  69. package/dist/storybook/assets/{pagination-Eaj_UOBW.js → pagination-5n5spTRo.js} +1 -1
  70. package/dist/storybook/assets/{pagination.stories-sl2a8BMq.js → pagination.stories-g4a-aSxq.js} +1 -1
  71. package/dist/storybook/assets/{pop-confirm.stories-94l3Xg8w.js → pop-confirm.stories-_agvSFJd.js} +1 -1
  72. package/dist/storybook/assets/{popover-uAo1e4-D.js → popover-Y3FpGdUS.js} +1 -1
  73. package/dist/storybook/assets/{popover.stories-JVzzF0Jm.js → popover.stories-b7Tt4S0j.js} +1 -1
  74. package/dist/storybook/assets/{preview-lDu82Bod.js → preview-D7BEK6_6.js} +2 -2
  75. package/dist/storybook/assets/{preview-f1_nby1-.js → preview-WIFbPoA-.js} +1 -1
  76. package/dist/storybook/assets/{projects.stories-ojOsn6HU.js → projects.stories-YPlCLdRE.js} +1 -1
  77. package/dist/storybook/assets/{radio-button-QcS9mLYi.js → radio-button-jHcwHUA4.js} +1 -1
  78. package/dist/storybook/assets/{radio-button.stories-KCS981-F.js → radio-button.stories-LkCJsp5P.js} +1 -1
  79. package/dist/storybook/assets/{reservoirs.stories-Dg5QFAXV.js → reservoirs.stories-hhPblhmv.js} +1 -1
  80. package/dist/storybook/assets/{rich-text-input.stories-D55Op5Gf.js → rich-text-input.stories-7UzvJ-A1.js} +1 -1
  81. package/dist/storybook/assets/{row.stories-2iigGv-u.js → row.stories-juQv80h3.js} +1 -1
  82. package/dist/storybook/assets/{select-Z1HqJ5aU.js → select-JjEPivho.js} +1 -1
  83. package/dist/storybook/assets/{select.stories-oUxeDUts.js → select.stories-qFDyxRFm.js} +1 -1
  84. package/dist/storybook/assets/{side-bar-GJ2tcZYY.js → side-bar-Fjr2t9MT.js} +1 -1
  85. package/dist/storybook/assets/{side-bar.stories-Ld0zOToQ.js → side-bar.stories-sxBJCVnV.js} +1 -1
  86. package/dist/storybook/assets/{site.stories-OEW6o2C_.js → site.stories-QHCzFOnt.js} +1 -1
  87. package/dist/storybook/assets/{slider-_5NQKbM-.js → slider-nl2rJ9LF.js} +1 -1
  88. package/dist/storybook/assets/{slider.stories-QyyBB_rz.js → slider.stories--aZa8kf-.js} +1 -1
  89. package/dist/storybook/assets/{spacer.stories--ynGgvN4.js → spacer.stories-eCrKj4b3.js} +1 -1
  90. package/dist/storybook/assets/{syntaxhighlighter-NMPM6SWI-q0TZrkav.js → syntaxhighlighter-NMPM6SWI--OA96ou_.js} +1 -1
  91. package/dist/storybook/assets/{table-_jWgMFOi.js → table-i8WT9qpj.js} +1 -1
  92. package/dist/storybook/assets/{table.stories-data-w897tYMJ.js → table.stories-data-4h6h0P0V.js} +1 -1
  93. package/dist/storybook/assets/{table.stories-QupkMmra.js → table.stories-tEvulp9K.js} +1 -1
  94. package/dist/storybook/assets/{textarea-2SpO5fge.js → textarea-gxvxVBdC.js} +1 -1
  95. package/dist/storybook/assets/{textarea.stories-IgfK-23t.js → textarea.stories-MZHVAwSx.js} +1 -1
  96. package/dist/storybook/assets/{title.stories-14d2lIxy.js → title.stories-cmteB9lx.js} +1 -1
  97. package/dist/storybook/assets/{toaster.stories-XhUo3pbR.js → toaster.stories-S25S4g_F.js} +1 -1
  98. package/dist/storybook/assets/{toggle-wk0GbVB8.js → toggle-BPI2y-lU.js} +1 -1
  99. package/dist/storybook/assets/{toggle.stories-ItCMhW4M.js → toggle.stories-aVmjpons.js} +1 -1
  100. package/dist/storybook/assets/{tooltip-ZHdi6rl-.js → tooltip-HEHiU__l.js} +1 -1
  101. package/dist/storybook/assets/{tooltip.stories-gTfOeEzv.js → tooltip.stories-tiOgoWHH.js} +1 -1
  102. package/dist/storybook/assets/{tooltip.test-case.stories-L2bW8Ijz.js → tooltip.test-case.stories-kIeZayHw.js} +1 -1
  103. package/dist/storybook/assets/{top-bar-0fDAFWyC.js → top-bar-9iOkm7Gq.js} +1 -1
  104. package/dist/storybook/assets/{top-bar.stories-YKtteM_h.js → top-bar.stories-5jcHi3Q_.js} +1 -1
  105. package/dist/storybook/assets/{top-bar.testcase.stories-Z-6C5D2R.js → top-bar.testcase.stories-7acJvLc_.js} +1 -1
  106. package/dist/storybook/assets/tree.stories-_5t-Rrls.js +128 -0
  107. package/dist/storybook/assets/unit-input.stories-j3Ykteob.js +273 -0
  108. package/dist/storybook/assets/unit-table.stories-4XYwgJwY.js +100 -0
  109. package/dist/storybook/assets/use-previous-VKMmnaK7.js +1 -0
  110. package/dist/storybook/iframe.html +1 -1
  111. package/dist/storybook/index.json +1 -1
  112. package/dist/storybook/project.json +1 -1
  113. package/dist/storybook/stories.json +1 -1
  114. package/package.json +1 -1
  115. package/dist/storybook/assets/iframe-yZ0ImE73.js +0 -7
  116. package/dist/storybook/assets/tree.stories-5fjCVN1S.js +0 -180
  117. package/dist/storybook/assets/unit-input.stories-ZdrR9JWT.js +0 -273
@@ -0,0 +1,273 @@
1
+ import{j as e}from"./jsx-runtime-FsUICBgo.js";import{r as m}from"./index-RfLt4OUa.js";import{d as r,r as rn}from"./index-IQMsp8Ab.js";import{c as sn}from"./index-VW3EWkuE.js";import{u as un}from"./use-previous-VKMmnaK7.js";import{M as we}from"./actions-Z9jDWreP.js";import{I as on}from"./input-group-addon-BHVsW9mL.js";import{B as c}from"./button-7V8oA22w.js";import{T as dn}from"./tooltip-HEHiU__l.js";import{I as cn}from"./input-group-R8LoqKRn.js";import{S}from"./spacer-Yji9g2AW.js";import{T as mn}from"./text-6KQ6ntOV.js";import{I as pn}from"./input-u1He-wWs.js";import{M as Ee}from"./types-VB5zD18b.js";import{l as E}from"./lodash-Bmg8FrMx.js";import{D as gn}from"./divider-RwW2f_N0.js";import{R as qt,C as pe}from"./row-vFUhHoz5.js";import{F as I}from"./field-eknsj_Ll.js";import{a as ge}from"./message-uMHaTEXV.js";import"./index-cCpkwrS5.js";import"./common-types-U65vzrrz.js";import"./disabled-context-urNQThQz.js";import"./icon-y1a2N5SZ.js";import"./inheritsLoose-Y9jOMJLd.js";import"./tslib.es6-OIsz3r9a.js";import"./index-4QtD-hFu.js";import"./types-5uVBABF4.js";import"./badge-23Ty_zBt.js";import"./spinner-R8Il4aRe.js";import"./index-miLrID2P.js";import"./styled-components.browser.esm-qIipjd6c.js";import"./label-0_Qf6I8t.js";import"./help-icon--rUDxLUD.js";const hn=()=>{const t=m.useRef(null);return m.useLayoutEffect(()=>{t.current&&(t.current(),t.current=null)}),n=>{t.current=n}},vn=(t,a)=>{const n=a==null?void 0:a[t];return n||(console.log(`Warning: 'unitTemplate' does not define a preferred unit for '${t}'. Defaulting to standard unit.`),r.unitFromQuantity(t)??"")};var b=(t=>(t.CUSTOM="custom",t.PREDEFINED="predefined",t))(b||{});const Wt=t=>t==="undefined"||t===void 0||t===""||t==="null"||t===null||t==="NaN"||isNaN(t),Tt=(t="",a,n="",s=!1)=>{if(s)return t;if(a&&!Wt(t))try{const u=r.isValueWithUnit(t)?t:r.withUnit(t,n),o=r.convertSamePrecision(u,a);return r.getValue(o)}catch{}return t},fn=t=>t?!!r.getUnit(t):!1,F=(t="",a,n,s)=>{if(s)return t;const u=fn(t)||r.isValueWithUnit(t),o=r.getValue(t);return Wt(o)?o:u?Tt(o,a,n,s):t},Ne=t=>E.isObject(t)&&!E.isArray(t)&&!E.isFunction(t)?E.get(t,"fieldName",""):typeof t=="string"?t:"",Cn=t=>E.isObjectLike(t)&&E.has(t,"message"),bn=t=>typeof t=="string"?t:Cn(t)?t.message:null;var Un=rn();const yn=t=>t.search(RegExp(/(^0{2}\.)|(^0+[1-9])/g))===0,Ae=(t,a)=>{var j;const{allowEmpty:n=!1,autoValue:s,placeholder:u,disabledValidation:o=!1}=a||{},i=String(t);if(o||s||u)return null;const g=Un.isValueWithUnit(i)?r.getValue(i):i;if(n&&g==="")return null;if(yn(g))return"Invalid number format due to leading zeroes";const h=r.validateNumber(g);if(!h.valid){const re=((j=h==null?void 0:h.errors)==null?void 0:j[0])??null;return bn(re)}return null},Pe=(t="")=>{var a;return(a=r.KNOWN_UNITS)==null?void 0:a.includes(t)},xn=(t,a)=>{const n=r.getUnit(t||"");return Pe(a)&&Pe(n)},Vn="_predefinedMenuActive_1yvt4_1",In={predefinedMenuActive:Vn},p=({name:t,placeholder:a="",disabled:n=!1,disabledUnit:s=!1,error:u=null,left:o=!1,small:i=!1,width:g="100%",value:h,unitkey:j="",initUnit:re,noConversion:Rt=!1,onChange:ie=()=>{},onClick:kn=()=>{},onFocus:Lt=()=>{},onSwitchUnit:he=()=>{},unitTemplate:ve,doNotConvertValue:A=!1,testId:w,warning:Kt=null,predefinedOptions:x,initialPredefinedOption:$t=!1,shouldLinkAutomaticly:fe=!0,selectedPredefinedOptionKey:Ce,validationCallback:be=()=>({name:"",error:null}),disabledValidation:Ue=!1,allowEmpty:ye=!1,autoValue:V})=>{typeof h=="number"&&(h=`${h}`);const Ht=hn(),[se="",P=""]=h!==void 0?r.split(h):[],xe=V?r.getUnit(V):"",Ve=m.useMemo(()=>vn(j,ve),[j,ve]),zt=xn(h,Ve),U=re||Ve||P,Jt=un(U),Ie=F(h,U,P,A),je=F(V,U,xe,A),Yt=Ie!==""?{value:Ie,unit:U}:je!==""?{value:je,unit:U}:{value:se,unit:P},[v,Y]=m.useState(Yt),[Zt,ue]=m.useState(null),[k,oe]=m.useState($t?b.PREDEFINED:b.CUSTOM),de=se===""&&V,D=x&&x.find(l=>{if(Ce)return Ce===l.valueKey;const d=r.isValueWithUnit(l.value)?r.getUnit(l.value):"";return r.withUnit(Tt(h,d),d)===l.value}),Gt=()=>{if(j)try{const l=de?V:h??"";let d=r.altUnitsList(l,j);return r.getValue(l)===""?d.map(f=>["",f[1]]):d}catch{return null}},Qt=l=>{const d=Ne(t),f=l.target,{value:y,selectionStart:X}=f,Se=r.cleanNumStr(y.replaceAll(" ","").replaceAll("|","")),ce=r.withUnit(Se,(v==null?void 0:v.unit)||""),nn=r.getValue(ce),me=Ae(nn,{allowEmpty:ye,autoValue:V,placeholder:a,disabledValidation:Ue});if(me===null){ie({target:{value:ce,name:d}});const[an,ln]=r.split(ce);Y({value:an,unit:ln}),ue(null),be(d,null)}else Y({value:Se,unit:v.unit}),ue(me),be(d,me);Ht(()=>{f.selectionStart=X,f.selectionEnd=X})},Xt=(l,d)=>{d===v.unit||isNaN(Number(l))||(Y({value:l,unit:d}),he&&he(d))};m.useEffect(()=>{if(U){let f,y="";Jt!==U?(f=F(h,U,P,A),y=U):r.withUnit(v.value,v.unit)!==h&&(f=F(h,v.unit,P,A),y=v.unit),f!==void 0&&Y({value:f,unit:y}),x&&oe(D&&fe?b.PREDEFINED:b.CUSTOM)}const l=r.checkAndCleanDecimalComma(se),d=Ae(l,{allowEmpty:ye,autoValue:V,placeholder:a,disabledValidation:Ue});ue(d)},[U,h,u,fe]);const Z=Gt(),G=r.label(v.unit)||v.unit||"",en=Rt||!Z||Z&&Z.length===1,ke=Ne(t);let Q;const tn=l=>{const[d,f=""]=r.isValueWithUnit(l.value)?r.split(l.value):[l.value];return{type:Ee.OPTION,inline:!0,onClick:()=>{r.validateNumber(d).valid&&!n&&(oe(b.PREDEFINED),ie({target:{value:l.value,name:typeof t=="string"?t:(t==null?void 0:t.fieldName)||"",predefinedSelected:!0,predefinedOption:l}}))},label:e.jsxs(e.Fragment,{children:[e.jsx(mn,{children:l.label}),e.jsx(S,{width:"20px",height:"0"})]}),description:r.isValueWithUnit(l.value)?`${d} ${f}`:l.value,selected:D===l&&k===b.PREDEFINED}};if(Q=[{type:Ee.OPTION,inline:!0,onClick:()=>{k!==b.CUSTOM&&!n&&ie({target:{value:r.withUnit(v.value,v.unit),name:typeof t=="string"?t:(t==null?void 0:t.fieldName)||""}})},label:"Custom",selected:k===b.CUSTOM}],x!=null&&x.length){const l=x.map(tn);Q=[...Q,...l]}return e.jsx("div",{className:k===b.PREDEFINED?sn(In.predefinedMenuActive):"",children:e.jsxs(cn,{small:i,width:g,children:[x&&e.jsx(dn,{text:k===b.PREDEFINED?D==null?void 0:D.label:"",children:e.jsx(we,{maxHeight:380,groupOrder:"first",testId:w&&`${w}-predefined-menu`,disabled:n,menu:{colored:!0,trigger:"Component",component:e.jsx(c,{groupOrder:"first",active:k===b.PREDEFINED,icon:k===b.PREDEFINED?"link":"unlink"}),small:i,sections:Q}})}),e.jsx(pn,{type:"text",name:ke,testId:w,disabled:n,placeholder:de?F(V,v.unit,xe,A):a,value:v.value,onChange:Qt,onFocus:Lt,error:u||Zt,warning:Kt,right:!o},ke),G&&(en||!zt?e.jsx(on,{groupOrder:"last",children:G}):e.jsx(we,{maxHeight:380,groupOrder:"last",disabled:s,testId:w&&`${w}-menu`,menu:{label:G,trigger:"DropDownButton",small:i,sections:Z.map(([l,d,f])=>{const y=f||d||"";return{type:"Option",label:isNaN(Number(l))?"":l,inline:!0,onClick:X=>{X.stopPropagation(),Xt(de?"":l,d)},description:y,selected:y===G,testId:`${w}-unit-${y}`}})}}))]})})};try{p.displayName="UnitInput",p.__docgenInfo={description:"",displayName:"UnitInput",props:{name:{defaultValue:null,description:"",name:"name",required:!0,type:{name:"string | { fieldName?: string | undefined; }"}},placeholder:{defaultValue:{value:""},description:"",name:"placeholder",required:!1,type:{name:"string"}},disabled:{defaultValue:{value:"false"},description:"",name:"disabled",required:!1,type:{name:"boolean"}},disabledUnit:{defaultValue:{value:"false"},description:"",name:"disabledUnit",required:!1,type:{name:"boolean"}},error:{defaultValue:{value:"null"},description:"",name:"error",required:!1,type:{name:"string | boolean | null"}},left:{defaultValue:{value:"false"},description:"",name:"left",required:!1,type:{name:"boolean"}},small:{defaultValue:{value:"false"},description:"",name:"small",required:!1,type:{name:"boolean"}},width:{defaultValue:{value:"100%"},description:"",name:"width",required:!1,type:{name:"string | number"}},value:{defaultValue:null,description:"",name:"value",required:!1,type:{name:"string"}},unitkey:{defaultValue:{value:""},description:"",name:"unitkey",required:!1,type:{name:"string"}},initUnit:{defaultValue:null,description:"",name:"initUnit",required:!1,type:{name:"string"}},noConversion:{defaultValue:{value:"false"},description:"",name:"noConversion",required:!1,type:{name:"boolean"}},doNotConvertValue:{defaultValue:{value:"false"},description:"",name:"doNotConvertValue",required:!1,type:{name:"boolean"}},testId:{defaultValue:null,description:"",name:"testId",required:!1,type:{name:"string"}},warning:{defaultValue:{value:"null"},description:"",name:"warning",required:!1,type:{name:"string | null"}},predefinedOptions:{defaultValue:null,description:"",name:"predefinedOptions",required:!1,type:{name:"IPredefinedOption[]"}},initialPredefinedOption:{defaultValue:{value:"false"},description:"",name:"initialPredefinedOption",required:!1,type:{name:"boolean"}},shouldLinkAutomaticly:{defaultValue:{value:"true"},description:"",name:"shouldLinkAutomaticly",required:!1,type:{name:"boolean"}},selectedPredefinedOptionKey:{defaultValue:null,description:"",name:"selectedPredefinedOptionKey",required:!1,type:{name:"string"}},validationCallback:{defaultValue:{value:"() => ({ name: '', error: null })"},description:"",name:"validationCallback",required:!1,type:{name:"((name: string, message: string | null) => { name: string; error: string | null; })"}},disabledValidation:{defaultValue:{value:"false"},description:"",name:"disabledValidation",required:!1,type:{name:"boolean"}},allowEmpty:{defaultValue:{value:"false"},description:"",name:"allowEmpty",required:!1,type:{name:"boolean"}},autoValue:{defaultValue:null,description:"",name:"autoValue",required:!1,type:{name:"string"}},onChange:{defaultValue:{value:"() => {}"},description:"",name:"onChange",required:!1,type:{name:"(event: ChangeEvent<HTMLInputElement> | ICustomChangeEvent) => void"}},onSwitchUnit:{defaultValue:{value:"() => {}"},description:"",name:"onSwitchUnit",required:!1,type:{name:"((unit: string) => void)"}},onClick:{defaultValue:{value:"() => {}"},description:"",name:"onClick",required:!1,type:{name:"MouseEventHandler<HTMLInputElement>"}},onFocus:{defaultValue:{value:"() => {}"},description:"",name:"onFocus",required:!1,type:{name:"FocusEventHandler<HTMLInputElement>"}},unitTemplate:{defaultValue:null,description:"",name:"unitTemplate",required:!1,type:{name:"Record<string, any>"}}}}}catch{}const{useArgs:jn}=__STORYBOOK_MODULE_ADDONS__,ia={title:"Basic/UnitInput",component:p,args:{name:"example",unitkey:"length",value:"123|m"}},C=t=>{const[a,n]=jn(),s=u=>{n({value:u.target.value})};return e.jsx(p,{...t,onChange:s})},ee=C.bind({}),M=C.bind({});M.args={initUnit:"ft",unitTemplate:{length:"ft"}};const _=C.bind({});_.args={value:'123|"',unitkey:'"'};const O=C.bind({});O.args={width:"180px"};const B=C.bind({});B.args={noConversion:!0};const q=C.bind({});q.args={small:!0};const W=C.bind({});W.args={error:"Error message goes here"};const T=C.bind({});T.args={value:"asas123asd|%"};const N=C.bind({});N.args={disabled:!0,disabledUnit:!0};N.parameters={docs:{description:{story:"Each part of UnitInput can be disabled separately. `disabled` disables only the main text input, `disabledUnit` disables only the unit menu. **Needs review (comes from Reservoir input requirements)**"}}};const R=C.bind({});R.args={disabled:!0,disabledUnit:!0,noConversion:!0};const L=C.bind({});L.args={disabledUnit:!0,unitkey:void 0};const K=C.bind({});K.args={disabledUnit:!0,unitkey:"length"};const $=C.bind({});$.args={disabledUnit:!1,disabled:!0};const H=t=>{const[a,n]=m.useState("123|m"),[s,u]=m.useState("223|m"),[o,i]=m.useState("ft");return e.jsxs(e.Fragment,{children:[e.jsx(c,{label:"Change initUnit",onClick:()=>i(o==="m"?"ft":"m")}),e.jsx(S,{}),e.jsx(c,{label:"Change value",onClick:()=>n(a==="123|m"?"456|m":"123|m")}),e.jsx(S,{}),e.jsx(p,{name:"example",onChange:g=>{n(g.target.value)},unitkey:"length",value:a,initUnit:o,onSwitchUnit:i}),e.jsx(S,{}),e.jsx(p,{name:"example2",onChange:g=>{u(g.target.value)},unitkey:"length",value:s,initUnit:o,onSwitchUnit:i}),e.jsx(gn,{}),e.jsx("h4",{children:"Without initUnit property (taken from the redux store)"}),e.jsx(p,{name:"example",onChange:g=>{n(g.target.value)},unitkey:"length",value:a,onSwitchUnit:i}),e.jsx(p,{name:"example2",onChange:g=>{u(g.target.value)},unitkey:"length",value:s,onSwitchUnit:i})]})};H.parameters={docs:{description:{story:"[OW-4380](https://oliasoft.atlassian.net/browse/OW-4380?atlOrigin=eyJpIjoiMmM1N2RkNWU3Mjk5NDYxY2E0YzhkMzk5ZTVmZTJhMjciLCJwIjoiaiJ9)"}}};const z=C.bind({});z.args={predefinedOptions:[{label:"bottom of casing",value:"12|km"},{label:"mud weight at shoe depth",value:"8|mm"}]};const J=()=>{const t="500px",[a,n]=m.useState(void 0);return e.jsxs(e.Fragment,{children:[e.jsx("h4",{children:"Different edge cases such as +/- infinity, undefined, NaN, null:"}),e.jsxs(qt,{children:[e.jsxs(pe,{width:"25%",children:[e.jsx(c,{label:"Change value infinity",onClick:()=>n(1/0)}),e.jsx("br",{}),e.jsx(c,{label:"Change value -infinity",onClick:()=>n(-1/0)}),e.jsx("br",{}),e.jsx(c,{label:"Change value null",onClick:()=>n(null)}),e.jsx("br",{}),e.jsx(c,{label:"Change value - undefined",onClick:()=>n(void 0)}),e.jsx("br",{}),e.jsx(c,{label:"Change value - NaN",onClick:()=>n(NaN)}),e.jsx("br",{}),e.jsx(c,{label:"Change value - nothing (empty)",onClick:()=>n(void 0)}),e.jsx("br",{}),e.jsx(c,{label:"Change value - empty string",onClick:()=>n("")})]}),e.jsxs(pe,{width:"25%",children:[e.jsx(c,{label:"Change value infinity|m",onClick:()=>n("Infinity|m")}),e.jsx("br",{}),e.jsx(c,{label:"Change value -infinity|m",onClick:()=>n("-Infinity|m")}),e.jsx("br",{}),e.jsx(c,{label:"Change value null|m",onClick:()=>n("null|m")}),e.jsx("br",{}),e.jsx(c,{label:"Change value - undefined|m",onClick:()=>n("undefined|m")}),e.jsx("br",{}),e.jsx(c,{label:"Change value - NaN|m",onClick:()=>n("NaN|m")}),e.jsx("br",{}),e.jsx(c,{label:"Change value - nothing (empty)|m",onClick:()=>n("|m")})]})]}),e.jsx("br",{}),e.jsx(I,{label:"Normal PUI",children:e.jsx(p,{name:"example1",onChange:s=>n(s.target.value),value:a,unitkey:"length",width:t,placeholder:"value|unit"})}),e.jsx(I,{label:"Disabled validation",children:e.jsx(p,{name:"example2",onChange:s=>n(s.target.value),value:a,unitkey:"length",disabledValidation:!0,width:t})}),e.jsx(I,{label:"Disabled validation and manual error",children:e.jsx(p,{name:"example3",onChange:s=>n(s.target.value),value:a,unitkey:"length",error:"test",disabledValidation:!0,width:t})}),e.jsx(ge,{message:{heading:"Current value inside PUI: "+a,visible:!0}})]})},te=()=>{const t="500px",[a,n]=m.useState("1|m"),[s,u]=m.useState("|m"),o="123|km";return e.jsxs(e.Fragment,{children:[e.jsx("h4",{children:"Different cases for automatic (placeholder) values:"}),e.jsx(qt,{children:e.jsxs(pe,{width:"25%",children:[e.jsx(c,{label:"Change value to ''",onClick:()=>n("")}),e.jsx("br",{}),e.jsx(c,{label:"Change value to 1",onClick:()=>n("1")}),e.jsx("br",{}),e.jsx(c,{label:"Change value to 1|m",onClick:()=>n("1|m")}),e.jsx("br",{}),e.jsx(c,{label:"Change value to |m - empty value",onClick:()=>n("|m")})]})}),e.jsx("br",{}),e.jsx(I,{label:"Normal PUI (placeholder + auto)",children:e.jsx(p,{name:"example1",onChange:i=>n(i.target.value),value:a,unitkey:"length",width:t,placeholder:"value|unit",autoValue:o})}),e.jsx(I,{label:"Normal PUI (only auto)",children:e.jsx(p,{name:"example1",onChange:i=>n(i.target.value),value:a,unitkey:"length",width:t,autoValue:o})}),e.jsx(I,{label:"Empty PUI with autoValue",children:e.jsx(p,{name:"example1",onChange:i=>u(i.target.value),value:s,unitkey:"length",width:t,autoValue:o})}),e.jsx(I,{label:"Normal PUI (only placeholder)",children:e.jsx(p,{name:"example1",onChange:i=>n(i.target.value),value:a,unitkey:"length",width:t,placeholder:"Placeholder test"})}),e.jsx(I,{label:"Normal PUI (placeholder + allowEmpty)",children:e.jsx(p,{name:"example1",onChange:i=>n(i.target.value),value:a,unitkey:"length",width:t,placeholder:"Placeholder test",allowEmpty:!0})}),e.jsx(ge,{message:{heading:"Current value inside PUI: "+a,visible:!0}})]})};J.parameters={docs:{description:{story:"[OW-8884](https://oliasoft.atlassian.net/browse/OW-8884)"}}};const ne=()=>{const[t,a]=m.useState("123|%"),[n,s]=m.useState(null),u="This should be visible when an error appears",o=(i,g)=>(s(g),{name:i,error:g});return e.jsxs(e.Fragment,{children:[e.jsx("h4",{children:"3rd party validation message when inputting invalid value:"}),e.jsx(p,{name:"example",onChange:i=>a(i.target.value),error:!n||u,validationCallback:o,value:t}),e.jsx("br",{}),e.jsx(S,{}),e.jsx("h4",{children:"Original validation message: "}),e.jsx(ge,{message:{heading:n,visible:!0}})]})},ae=()=>{const[t,a]=m.useState("123|m"),[n,s]=m.useState(""),[u,o]=m.useState("km"),i=()=>{o("ft"),s("placeholder"),a("|m")};return e.jsxs(e.Fragment,{children:[e.jsx("h4",{children:"Empty value case:"}),e.jsx(p,{name:"example",onChange:g=>a(g.target.value),value:t,allowEmpty:!0,placeholder:n,initUnit:u,unitkey:"length"}),e.jsx("br",{}),e.jsx(S,{}),e.jsx(c,{label:"Change value |m and unit ft",onClick:()=>i()})]})},le=()=>{const[t,a]=m.useState("123|m"),[n,s]=m.useState("m");return e.jsxs(e.Fragment,{children:[e.jsx(p,{name:"example",onChange:u=>a(u.target.value),value:t,initUnit:n,unitkey:"length",onSwitchUnit:s}),e.jsx(S,{}),e.jsx(p,{name:"example",onChange:u=>a(u.target.value),value:t,initUnit:n,unitkey:"length",onSwitchUnit:s})]})};var De,Fe,Me;ee.parameters={...ee.parameters,docs:{...(De=ee.parameters)==null?void 0:De.docs,source:{originalSource:`args => {
2
+ const [_, updateArgs] = useArgs();
3
+ const handleChange = (evt: any) => {
4
+ updateArgs({
5
+ value: evt.target.value
6
+ });
7
+ };
8
+ return <UnitInput {...args} onChange={handleChange} />;
9
+ }`,...(Me=(Fe=ee.parameters)==null?void 0:Fe.docs)==null?void 0:Me.source}}};var _e,Oe,Be;M.parameters={...M.parameters,docs:{...(_e=M.parameters)==null?void 0:_e.docs,source:{originalSource:`args => {
10
+ const [_, updateArgs] = useArgs();
11
+ const handleChange = (evt: any) => {
12
+ updateArgs({
13
+ value: evt.target.value
14
+ });
15
+ };
16
+ return <UnitInput {...args} onChange={handleChange} />;
17
+ }`,...(Be=(Oe=M.parameters)==null?void 0:Oe.docs)==null?void 0:Be.source}}};var qe,We,Te;_.parameters={..._.parameters,docs:{...(qe=_.parameters)==null?void 0:qe.docs,source:{originalSource:`args => {
18
+ const [_, updateArgs] = useArgs();
19
+ const handleChange = (evt: any) => {
20
+ updateArgs({
21
+ value: evt.target.value
22
+ });
23
+ };
24
+ return <UnitInput {...args} onChange={handleChange} />;
25
+ }`,...(Te=(We=_.parameters)==null?void 0:We.docs)==null?void 0:Te.source}}};var Re,Le,Ke;O.parameters={...O.parameters,docs:{...(Re=O.parameters)==null?void 0:Re.docs,source:{originalSource:`args => {
26
+ const [_, updateArgs] = useArgs();
27
+ const handleChange = (evt: any) => {
28
+ updateArgs({
29
+ value: evt.target.value
30
+ });
31
+ };
32
+ return <UnitInput {...args} onChange={handleChange} />;
33
+ }`,...(Ke=(Le=O.parameters)==null?void 0:Le.docs)==null?void 0:Ke.source}}};var $e,He,ze;B.parameters={...B.parameters,docs:{...($e=B.parameters)==null?void 0:$e.docs,source:{originalSource:`args => {
34
+ const [_, updateArgs] = useArgs();
35
+ const handleChange = (evt: any) => {
36
+ updateArgs({
37
+ value: evt.target.value
38
+ });
39
+ };
40
+ return <UnitInput {...args} onChange={handleChange} />;
41
+ }`,...(ze=(He=B.parameters)==null?void 0:He.docs)==null?void 0:ze.source}}};var Je,Ye,Ze;q.parameters={...q.parameters,docs:{...(Je=q.parameters)==null?void 0:Je.docs,source:{originalSource:`args => {
42
+ const [_, updateArgs] = useArgs();
43
+ const handleChange = (evt: any) => {
44
+ updateArgs({
45
+ value: evt.target.value
46
+ });
47
+ };
48
+ return <UnitInput {...args} onChange={handleChange} />;
49
+ }`,...(Ze=(Ye=q.parameters)==null?void 0:Ye.docs)==null?void 0:Ze.source}}};var Ge,Qe,Xe;W.parameters={...W.parameters,docs:{...(Ge=W.parameters)==null?void 0:Ge.docs,source:{originalSource:`args => {
50
+ const [_, updateArgs] = useArgs();
51
+ const handleChange = (evt: any) => {
52
+ updateArgs({
53
+ value: evt.target.value
54
+ });
55
+ };
56
+ return <UnitInput {...args} onChange={handleChange} />;
57
+ }`,...(Xe=(Qe=W.parameters)==null?void 0:Qe.docs)==null?void 0:Xe.source}}};var et,tt,nt;T.parameters={...T.parameters,docs:{...(et=T.parameters)==null?void 0:et.docs,source:{originalSource:`args => {
58
+ const [_, updateArgs] = useArgs();
59
+ const handleChange = (evt: any) => {
60
+ updateArgs({
61
+ value: evt.target.value
62
+ });
63
+ };
64
+ return <UnitInput {...args} onChange={handleChange} />;
65
+ }`,...(nt=(tt=T.parameters)==null?void 0:tt.docs)==null?void 0:nt.source}}};var at,lt,rt;N.parameters={...N.parameters,docs:{...(at=N.parameters)==null?void 0:at.docs,source:{originalSource:`args => {
66
+ const [_, updateArgs] = useArgs();
67
+ const handleChange = (evt: any) => {
68
+ updateArgs({
69
+ value: evt.target.value
70
+ });
71
+ };
72
+ return <UnitInput {...args} onChange={handleChange} />;
73
+ }`,...(rt=(lt=N.parameters)==null?void 0:lt.docs)==null?void 0:rt.source}}};var it,st,ut;R.parameters={...R.parameters,docs:{...(it=R.parameters)==null?void 0:it.docs,source:{originalSource:`args => {
74
+ const [_, updateArgs] = useArgs();
75
+ const handleChange = (evt: any) => {
76
+ updateArgs({
77
+ value: evt.target.value
78
+ });
79
+ };
80
+ return <UnitInput {...args} onChange={handleChange} />;
81
+ }`,...(ut=(st=R.parameters)==null?void 0:st.docs)==null?void 0:ut.source}}};var ot,dt,ct;L.parameters={...L.parameters,docs:{...(ot=L.parameters)==null?void 0:ot.docs,source:{originalSource:`args => {
82
+ const [_, updateArgs] = useArgs();
83
+ const handleChange = (evt: any) => {
84
+ updateArgs({
85
+ value: evt.target.value
86
+ });
87
+ };
88
+ return <UnitInput {...args} onChange={handleChange} />;
89
+ }`,...(ct=(dt=L.parameters)==null?void 0:dt.docs)==null?void 0:ct.source}}};var mt,pt,gt;K.parameters={...K.parameters,docs:{...(mt=K.parameters)==null?void 0:mt.docs,source:{originalSource:`args => {
90
+ const [_, updateArgs] = useArgs();
91
+ const handleChange = (evt: any) => {
92
+ updateArgs({
93
+ value: evt.target.value
94
+ });
95
+ };
96
+ return <UnitInput {...args} onChange={handleChange} />;
97
+ }`,...(gt=(pt=K.parameters)==null?void 0:pt.docs)==null?void 0:gt.source}}};var ht,vt,ft;$.parameters={...$.parameters,docs:{...(ht=$.parameters)==null?void 0:ht.docs,source:{originalSource:`args => {
98
+ const [_, updateArgs] = useArgs();
99
+ const handleChange = (evt: any) => {
100
+ updateArgs({
101
+ value: evt.target.value
102
+ });
103
+ };
104
+ return <UnitInput {...args} onChange={handleChange} />;
105
+ }`,...(ft=(vt=$.parameters)==null?void 0:vt.docs)==null?void 0:ft.source}}};var Ct,bt,Ut;H.parameters={...H.parameters,docs:{...(Ct=H.parameters)==null?void 0:Ct.docs,source:{originalSource:`(args: IUnitInputProps) => {
106
+ const [value, setValue] = useState('123|m');
107
+ const [value2, setValue2] = useState('223|m');
108
+ const [initUnit, setInitUnit] = useState('ft');
109
+ return <>
110
+ <Button label="Change initUnit" onClick={() => setInitUnit(initUnit === 'm' ? 'ft' : 'm')} />
111
+ <Spacer />
112
+ <Button label="Change value" onClick={() => setValue(value === '123|m' ? '456|m' : '123|m')} />
113
+ <Spacer />
114
+ <UnitInput name="example" onChange={evt => {
115
+ setValue(evt.target.value);
116
+ }} unitkey="length" value={value} initUnit={initUnit} onSwitchUnit={setInitUnit} />
117
+ <Spacer />
118
+ <UnitInput name="example2" onChange={evt => {
119
+ setValue2(evt.target.value);
120
+ }} unitkey="length" value={value2} initUnit={initUnit} onSwitchUnit={setInitUnit} />
121
+ <Divider />
122
+ <h4>Without initUnit property (taken from the redux store)</h4>
123
+ <UnitInput name="example" onChange={evt => {
124
+ setValue(evt.target.value);
125
+ }} unitkey="length" value={value} onSwitchUnit={setInitUnit} />
126
+ <UnitInput name="example2" onChange={evt => {
127
+ setValue2(evt.target.value);
128
+ }} unitkey="length" value={value2} onSwitchUnit={setInitUnit} />
129
+ </>;
130
+ }`,...(Ut=(bt=H.parameters)==null?void 0:bt.docs)==null?void 0:Ut.source}}};var yt,xt,Vt;z.parameters={...z.parameters,docs:{...(yt=z.parameters)==null?void 0:yt.docs,source:{originalSource:`args => {
131
+ const [_, updateArgs] = useArgs();
132
+ const handleChange = (evt: any) => {
133
+ updateArgs({
134
+ value: evt.target.value
135
+ });
136
+ };
137
+ return <UnitInput {...args} onChange={handleChange} />;
138
+ }`,...(Vt=(xt=z.parameters)==null?void 0:xt.docs)==null?void 0:Vt.source}}};var It,jt,kt;J.parameters={...J.parameters,docs:{...(It=J.parameters)==null?void 0:It.docs,source:{originalSource:`() => {
139
+ const width = '500px';
140
+ const [value, setValue] = useState<any>(undefined);
141
+ return <>
142
+ <h4>Different edge cases such as +/- infinity, undefined, NaN, null:</h4>
143
+ <Row>
144
+ <Column width="25%">
145
+ <Button label="Change value infinity" onClick={() => setValue(Infinity)} />
146
+ <br />
147
+ <Button label="Change value -infinity" onClick={() => setValue(-Infinity)} />
148
+ <br />
149
+ <Button label="Change value null" onClick={() => setValue(null)} />
150
+ <br />
151
+ <Button label="Change value - undefined" onClick={() => setValue(undefined)} />
152
+ <br />
153
+ <Button label="Change value - NaN" onClick={() => setValue(NaN)} />
154
+ <br />
155
+ <Button label="Change value - nothing (empty)" onClick={() => setValue(undefined)} />
156
+ <br />
157
+ <Button label="Change value - empty string" onClick={() => setValue('')} />
158
+ </Column>
159
+ <Column width="25%">
160
+ <Button label="Change value infinity|m" onClick={() => setValue(Infinity + '|m')} />
161
+ <br />
162
+ <Button label="Change value -infinity|m" onClick={() => setValue(-Infinity + '|m')} />
163
+ <br />
164
+ <Button label="Change value null|m" onClick={() => setValue(null + '|m')} />
165
+ <br />
166
+ <Button label="Change value - undefined|m" onClick={() => setValue(undefined + '|m')} />
167
+ <br />
168
+ <Button label="Change value - NaN|m" onClick={() => setValue(NaN + '|m')} />
169
+ <br />
170
+ <Button label="Change value - nothing (empty)|m" onClick={() => setValue('|m')} />
171
+ </Column>
172
+ </Row>
173
+ <br />
174
+ <Field label="Normal PUI">
175
+ <UnitInput name="example1" onChange={evt => setValue(evt.target.value)} value={value} unitkey="length" width={width} placeholder="value|unit" />
176
+ </Field>
177
+ <Field label="Disabled validation">
178
+ <UnitInput name="example2" onChange={evt => setValue(evt.target.value)} value={value} unitkey="length" disabledValidation width={width} />
179
+ </Field>
180
+ <Field label="Disabled validation and manual error">
181
+ <UnitInput name="example3" onChange={evt => setValue(evt.target.value)} value={value} unitkey="length" error="test" disabledValidation width={width} />
182
+ </Field>
183
+ <Message message={{
184
+ heading: 'Current value inside PUI: ' + value,
185
+ visible: true
186
+ }} />
187
+ </>;
188
+ }`,...(kt=(jt=J.parameters)==null?void 0:jt.docs)==null?void 0:kt.source}}};var St,wt,Et;te.parameters={...te.parameters,docs:{...(St=te.parameters)==null?void 0:St.docs,source:{originalSource:`() => {
189
+ const width = '500px';
190
+ const [value, setValue] = useState<string>('1|m');
191
+ const [valueB, setValueB] = useState('|m');
192
+ const automaticValue = '123|km';
193
+ return <>
194
+ <h4>Different cases for automatic (placeholder) values:</h4>
195
+ <Row>
196
+ <Column width="25%">
197
+ <Button label="Change value to ''" onClick={() => setValue('')} />
198
+ <br />
199
+ <Button label="Change value to 1" onClick={() => setValue('1')} />
200
+ <br />
201
+ <Button label="Change value to 1|m" onClick={() => setValue('1|m')} />
202
+ <br />
203
+ <Button label="Change value to |m - empty value" onClick={() => setValue('|m')} />
204
+ </Column>
205
+ </Row>
206
+ <br />
207
+ <Field label="Normal PUI (placeholder + auto)">
208
+ <UnitInput name="example1" onChange={evt => setValue(evt.target.value)} value={value} unitkey="length" width={width} placeholder="value|unit" autoValue={automaticValue} />
209
+ </Field>
210
+ <Field label="Normal PUI (only auto)">
211
+ <UnitInput name="example1" onChange={evt => setValue(evt.target.value)} value={value} unitkey="length" width={width} autoValue={automaticValue} />
212
+ </Field>
213
+ <Field label="Empty PUI with autoValue">
214
+ <UnitInput name="example1" onChange={evt => setValueB(evt.target.value)} value={valueB} unitkey="length" width={width} autoValue={automaticValue} />
215
+ </Field>
216
+ <Field label="Normal PUI (only placeholder)">
217
+ <UnitInput name="example1" onChange={evt => setValue(evt.target.value)} value={value} unitkey="length" width={width} placeholder="Placeholder test" />
218
+ </Field>
219
+ <Field label="Normal PUI (placeholder + allowEmpty)">
220
+ <UnitInput name="example1" onChange={evt => setValue(evt.target.value)} value={value} unitkey="length" width={width} placeholder="Placeholder test" allowEmpty />
221
+ </Field>
222
+ <Message message={{
223
+ heading: 'Current value inside PUI: ' + value,
224
+ visible: true
225
+ }} />
226
+ </>;
227
+ }`,...(Et=(wt=te.parameters)==null?void 0:wt.docs)==null?void 0:Et.source}}};var Nt,At,Pt;ne.parameters={...ne.parameters,docs:{...(Nt=ne.parameters)==null?void 0:Nt.docs,source:{originalSource:`() => {
228
+ const [value, setValue] = useState('123|%');
229
+ const [validation, setValidation] = useState<string | null>(null);
230
+ const predictedMessage = 'This should be visible when an error appears';
231
+ const handleValidation = (name: string, message: string | null) => {
232
+ setValidation(message);
233
+ return {
234
+ name,
235
+ error: message
236
+ };
237
+ };
238
+ return <>
239
+ <h4>3rd party validation message when inputting invalid value:</h4>
240
+ <UnitInput name="example" onChange={evt => setValue(evt.target.value)} error={!validation || predictedMessage} validationCallback={handleValidation} value={value} />
241
+ <br />
242
+ <Spacer />
243
+ <h4>Original validation message: </h4>
244
+ <Message message={{
245
+ heading: validation,
246
+ visible: true
247
+ }} />
248
+ </>;
249
+ }`,...(Pt=(At=ne.parameters)==null?void 0:At.docs)==null?void 0:Pt.source}}};var Dt,Ft,Mt;ae.parameters={...ae.parameters,docs:{...(Dt=ae.parameters)==null?void 0:Dt.docs,source:{originalSource:`() => {
250
+ const [value, setValue] = useState('123|m');
251
+ const [placeholder, setPlaceholder] = useState('');
252
+ const [initUnit, setInitUnit] = useState('km');
253
+ const setPlaceholderValue = () => {
254
+ setInitUnit('ft');
255
+ setPlaceholder('placeholder');
256
+ setValue('|m');
257
+ };
258
+ return <>
259
+ <h4>Empty value case:</h4>
260
+ <UnitInput name="example" onChange={evt => setValue(evt.target.value)} value={value} allowEmpty placeholder={placeholder} initUnit={initUnit} unitkey="length" />
261
+ <br />
262
+ <Spacer />
263
+ <Button label="Change value |m and unit ft" onClick={() => setPlaceholderValue()} />
264
+ </>;
265
+ }`,...(Mt=(Ft=ae.parameters)==null?void 0:Ft.docs)==null?void 0:Mt.source}}};var _t,Ot,Bt;le.parameters={...le.parameters,docs:{...(_t=le.parameters)==null?void 0:_t.docs,source:{originalSource:`() => {
266
+ const [value, setValue] = useState('123|m');
267
+ const [unit, setUnit] = useState('m');
268
+ return <>
269
+ <UnitInput name="example" onChange={evt => setValue(evt.target.value)} value={value} initUnit={unit} unitkey="length" onSwitchUnit={setUnit} />
270
+ <Spacer />
271
+ <UnitInput name="example" onChange={evt => setValue(evt.target.value)} value={value} initUnit={unit} unitkey="length" onSwitchUnit={setUnit} />
272
+ </>;
273
+ }`,...(Bt=(Ot=le.parameters)==null?void 0:Ot.docs)==null?void 0:Bt.source}}};const sa=["Default","InitUnit","notKnownUnit","Width","NoConversion","Small","Error","InternalValidationError","Disabled","DisabledNoConversion","DisabledUnitWithoutUnitKey","DisabledUnitWithUnitKey","DisabledWithEnabledUnitMenu","TestExternalStateChangeWithSynchronizedUnits","PredefinedOptionsMenu","TestEdgeCases","AutomaticValues","ValidationCallback","AllowEmptyPUI","onSwitchUnit"];export{ae as AllowEmptyPUI,te as AutomaticValues,ee as Default,N as Disabled,R as DisabledNoConversion,K as DisabledUnitWithUnitKey,L as DisabledUnitWithoutUnitKey,$ as DisabledWithEnabledUnitMenu,W as Error,M as InitUnit,T as InternalValidationError,B as NoConversion,z as PredefinedOptionsMenu,q as Small,J as TestEdgeCases,H as TestExternalStateChangeWithSynchronizedUnits,ne as ValidationCallback,O as Width,sa as __namedExportsOrder,ia as default,_ as notKnownUnit,le as onSwitchUnit};
@@ -0,0 +1,100 @@
1
+ import{j as l}from"./jsx-runtime-FsUICBgo.js";import{r as f}from"./index-RfLt4OUa.js";import{f as E}from"./immer.esm-bD7SSJ7T.js";import{d as T}from"./index-IQMsp8Ab.js";import{G}from"./grid-u1mZpaML.js";import{C as V}from"./card-0r8RRVk-.js";import{F as N}from"./field-eknsj_Ll.js";import{H as j}from"./heading-Bk0bpNfe.js";import{S as q}from"./select-JjEPivho.js";import{l as O}from"./lodash-Bmg8FrMx.js";import{u as Q}from"./use-previous-VKMmnaK7.js";import{T as J}from"./table-i8WT9qpj.js";import"./index-cCpkwrS5.js";import"./styled-components.browser.esm-qIipjd6c.js";import"./tslib.es6-OIsz3r9a.js";import"./index-VW3EWkuE.js";import"./label-0_Qf6I8t.js";import"./common-types-U65vzrrz.js";import"./help-icon--rUDxLUD.js";import"./tooltip-HEHiU__l.js";import"./index-miLrID2P.js";import"./icon-y1a2N5SZ.js";import"./inheritsLoose-Y9jOMJLd.js";import"./index-4QtD-hFu.js";import"./disabled-context-urNQThQz.js";import"./types-5uVBABF4.js";import"./extends-dGVwEr9R.js";import"./assertThisInitialized-4q6YPdh3.js";import"./memoize-one.esm-hqe5SRxC.js";import"./types-VB5zD18b.js";import"./text-6KQ6ntOV.js";import"./actions-Z9jDWreP.js";import"./button-7V8oA22w.js";import"./spinner-R8Il4aRe.js";import"./badge-23Ty_zBt.js";import"./select.input-zP5tW20f.js";import"./index.es-JXn3JM7k.js";import"./redux-F5dueAP3.js";import"./objectSpread2-93s0nBry.js";import"./pagination-5n5spTRo.js";import"./input-u1He-wWs.js";import"./input-group-R8LoqKRn.js";import"./input-group-addon-BHVsW9mL.js";import"./number-input-SvjJIGsW.js";import"./check-box-LZdXXKhv.js";import"./slider-nl2rJ9LF.js";import"./index-ugi_ZH6T.js";import"./popover-Y3FpGdUS.js";const $=a=>a.reduce(({preferredUnits:n,storageUnits:e},{unitKey:i,preferredUnit:c,storageUnit:s})=>(n[i]=c,e[i]=s,{preferredUnits:n,storageUnits:e}),{preferredUnits:{},storageUnits:{}}),z=({headers:a,rows:n,selectedUnits:e,storageUnits:i,onChangeUnit:c,convertBackToStorageUnit:s,convertBackToString:r,enableCosmeticRounding:d})=>{const p=a.map(u=>({...u,cells:u.cells.map(o=>{if(o.type==="AutoUnit"){const{unitKey:t}=o;return{value:e[t],type:"Select",options:T.getUnitsForQuantity(t),native:!0,onChange:v=>c({unitKey:t,value:v.target.value})}}return o})})),m=n.map((u,o)=>({...u,cells:u.cells.map((t,v)=>{if(t.autoUnit){const{formatDisplayValue:g}=t,b=T.convertAndGetValue(t.value,e[t.unitKey],i[t.unitKey]),y=d?T.roundToPrecision(b,14):b,x=g?g(y):y;return{...t,value:x,onChange:h=>{const{value:C}=h.target,{unitKey:R}=t,S=i[R],w=e[R],I=w!==S&&s?T.convertAndGetValue(C,S,w):C,F=r?String(I):I,P=s?S:w;t.onChange({rowIndex:o,cellIndex:v,value:F,unit:P})}}}return t})}));return{convertedHeaders:p,convertedRows:m}},D=({table:a,unitConfig:n,convertBackToStorageUnit:e=!0,convertBackToString:i=!1,enableCosmeticRounding:c=!0})=>{const{rows:s,headers:r,otherProps:d}=a,{storageUnits:p,preferredUnits:m}=$(n),u=Q(m),[o,t]=f.useState(m),v=({unitKey:h,value:C})=>t({...o,[h]:C}),g=h=>z({headers:r,rows:s,selectedUnits:h,storageUnits:p,onChangeUnit:v,convertBackToStorageUnit:e,convertBackToString:i,enableCosmeticRounding:c}),b=g(o),[y,x]=f.useState(b);return f.useEffect(()=>{!O.isEqual(m,u)&&(t(m),x(g(m)))},[n]),f.useEffect(()=>{x(g(o))},[a]),f.useEffect(()=>{x(g(o))},[o]),l.jsx(J,{table:{...d,headers:y.convertedHeaders,rows:y.convertedRows}})};try{D.displayName="UnitTable",D.__docgenInfo={description:"",displayName:"UnitTable",props:{table:{defaultValue:null,description:"",name:"table",required:!0,type:{name:"any"}},unitConfig:{defaultValue:null,description:"",name:"unitConfig",required:!0,type:{name:"any"}},convertBackToStorageUnit:{defaultValue:{value:"true"},description:"",name:"convertBackToStorageUnit",required:!1,type:{name:"boolean"}},convertBackToString:{defaultValue:{value:"false"},description:"",name:"convertBackToString",required:!1,type:{name:"boolean"}},enableCosmeticRounding:{defaultValue:{value:"true"},description:"",name:"enableCosmeticRounding",required:!1,type:{name:"boolean"}}}}}catch{}const Me={title:"Basic/UnitTable",args:{}},W=!0,L=!0,M=!1,k="m",X=3,Y=(a,n)=>{const e=[n,n,n],i=[...Array(Number(a))].map((c,s)=>{const r=s,d=s+1.25,p=d-r;return[String(r),String(d),String(p)]});return[e].concat(i)},Z=Y(X,k),ee=({reduxTable:a,value:n,rowIndex:e,cellIndex:i})=>E(a,c=>{c[e+1][i]=n}),U=()=>{const[a,n]=f.useState(k),[e,i]=f.useState(Z),c=({rowIndex:r,cellIndex:d,value:p,unit:m})=>{const u=ee({reduxTable:e,value:p,rowIndex:r,cellIndex:d});i(u)},s=e.reduce((r,d,p)=>(p===0?r.headers=[{cells:[{value:"From"},{value:"To"},{value:"Delta"}]},{cells:[{type:"AutoUnit",unitKey:"length"},{type:"AutoUnit",unitKey:"length"},{type:"AutoUnit",unitKey:"length"}]}]:r.rows=r.rows.concat({cells:d.map((m,u)=>{const o=p===1&&u===1;return{value:m,type:o?"Text":"NumberInput",unitKey:"length",onChange:c,formatDisplayValue:o?b=>`T* ${b}`:null,autoUnit:!0}})}),r),{headers:[],rows:[]});return l.jsxs(G,{columns:"1fr 1fr",gap:!0,children:[l.jsx(V,{heading:l.jsx(j,{children:"Global View Settings"}),children:l.jsx(N,{label:"Active Unit Template",children:l.jsx(q,{options:T.getUnitsForQuantity("length"),value:{value:a},onChange:r=>n(r.target.value),width:"100px"})})}),l.jsx(V,{heading:l.jsx(j,{children:"UnitTable"}),children:l.jsx(D,{table:s,unitConfig:[{unitKey:"length",storageUnit:e[0][0],preferredUnit:a}],convertBackToStorageUnit:W,convertBackToString:M,enableCosmeticRounding:L})}),l.jsx(V,{heading:l.jsx(j,{children:"Storage State (Redux)"}),children:l.jsx("pre",{children:l.jsx("code",{children:JSON.stringify(e,null,2)})})})]})};var K,A,_,B,H;U.parameters={...U.parameters,docs:{...(K=U.parameters)==null?void 0:K.docs,source:{originalSource:`() => {
2
+ const [preferredUnit, setPreferredUnit] = useState(initialUnit);
3
+ const [reduxTable, setReduxTable] = useState(initialTable);
4
+
5
+ /*********************************************************************************************************************
6
+ Cell onChange handler
7
+ *********************************************************************************************************************/
8
+ const onUpdateCell = ({
9
+ rowIndex,
10
+ cellIndex,
11
+ value,
12
+ unit
13
+ }) => {
14
+ const nextTable = convertWholeTable ? convertStorageTable({
15
+ reduxTable,
16
+ value,
17
+ unit,
18
+ rowIndex,
19
+ cellIndex
20
+ }) : updateCell({
21
+ reduxTable,
22
+ value,
23
+ rowIndex,
24
+ cellIndex
25
+ });
26
+ setReduxTable(nextTable);
27
+ };
28
+
29
+ /*********************************************************************************************************************
30
+ Construct table view data (same as old Table component, with a new props)
31
+ *********************************************************************************************************************/
32
+ const tableViewData = reduxTable.reduce((acc, row, rowIndex) => {
33
+ if (rowIndex === 0) {
34
+ acc.headers = [{
35
+ cells: [{
36
+ value: 'From'
37
+ }, {
38
+ value: 'To'
39
+ }, {
40
+ value: 'Delta'
41
+ }]
42
+ }, {
43
+ cells: [{
44
+ type: 'AutoUnit',
45
+ unitKey: 'length'
46
+ }, {
47
+ type: 'AutoUnit',
48
+ unitKey: 'length'
49
+ }, {
50
+ type: 'AutoUnit',
51
+ unitKey: 'length'
52
+ }]
53
+ }];
54
+ } else {
55
+ acc.rows = acc.rows.concat({
56
+ cells: row.map((cell, cellIndex) => {
57
+ const specialCell = rowIndex === 1 && cellIndex === 1;
58
+ const type = specialCell ? 'Text' : 'NumberInput';
59
+ const formatDisplayValue = specialCell ? value => \`T* \${value}\` : null;
60
+ const value = cell;
61
+ return {
62
+ value,
63
+ type,
64
+ unitKey: 'length',
65
+ onChange: onUpdateCell,
66
+ formatDisplayValue,
67
+ autoUnit: true
68
+ };
69
+ })
70
+ });
71
+ }
72
+ return acc;
73
+ }, {
74
+ headers: [],
75
+ rows: []
76
+ });
77
+ return <Grid columns="1fr 1fr" gap>
78
+ <Card heading={<Heading>Global View Settings</Heading>}>
79
+ <Field label="Active Unit Template">
80
+ <Select options={getUnitsForQuantity('length')} value={{
81
+ value: preferredUnit
82
+ }} onChange={evt => setPreferredUnit(evt.target.value)} width="100px" />
83
+ </Field>
84
+ </Card>
85
+ <Card heading={<Heading>UnitTable</Heading>}>
86
+ <UnitTable table={tableViewData}
87
+ //New props:
88
+ unitConfig={[{
89
+ unitKey: 'length',
90
+ storageUnit: reduxTable[0][0],
91
+ preferredUnit
92
+ }]} convertBackToStorageUnit={convertBackToStorageUnit} convertBackToString={convertBackToString} enableCosmeticRounding={enableCosmeticRounding} />
93
+ </Card>
94
+ <Card heading={<Heading>Storage State (Redux)</Heading>}>
95
+ <pre>
96
+ <code>{JSON.stringify(reduxTable, null, 2)}</code>
97
+ </pre>
98
+ </Card>
99
+ </Grid>;
100
+ }`,...(_=(A=U.parameters)==null?void 0:A.docs)==null?void 0:_.source},description:{story:"Story",...(H=(B=U.parameters)==null?void 0:B.docs)==null?void 0:H.description}}};const Xe=["UnitTablePrototype"];export{U as UnitTablePrototype,Xe as __namedExportsOrder,Me as default};
@@ -0,0 +1 @@
1
+ import{r as t}from"./index-RfLt4OUa.js";const o=r=>{const e=t.useRef();return t.useEffect(()=>{e.current=r},[r]),e.current};export{o as u};
@@ -357,7 +357,7 @@
357
357
  }
358
358
  </script>
359
359
 
360
- <script type="module" crossorigin src="./assets/iframe-yZ0ImE73.js"></script>
360
+ <script type="module" crossorigin src="./assets/iframe-NU_z28D3.js"></script>
361
361
  </head>
362
362
 
363
363
  <body>