@oliasoft-open-source/react-ui-library 4.2.1 → 4.3.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 (91) hide show
  1. package/dist/storybook/assets/{Color-6VNJS4EI-11a1508d.js → Color-6VNJS4EI-caa8bffa.js} +1 -1
  2. package/dist/storybook/assets/{DocsRenderer-NNNQARDV-8f214a0a.js → DocsRenderer-NNNQARDV-e463e8a5.js} +1 -1
  3. package/dist/storybook/assets/{WithTooltip-4HIR6TLV-bcdb019a.js → WithTooltip-4HIR6TLV-9514f93a.js} +1 -1
  4. package/dist/storybook/assets/accordion-with-default-toggle-0b4845c8.js +1 -0
  5. package/dist/storybook/assets/accordion.stories-ad491954.js +170 -0
  6. package/dist/storybook/assets/{afe.stories-afb9be07.js → afe.stories-49904fdb.js} +1 -1
  7. package/dist/storybook/assets/breadcrumb-f8742fbd.js +1 -0
  8. package/dist/storybook/assets/breadcrumb.stories-b5582cfb.js +1 -0
  9. package/dist/storybook/assets/buttons-and-links-6c701fa6.js +14 -0
  10. package/dist/storybook/assets/{casing-loads.stories-cfbab702.js → casing-loads.stories-dff0b8fc.js} +1 -1
  11. package/dist/storybook/assets/{chunk-HLWAVYOI-6a96cff0.js → chunk-HLWAVYOI-d8be29f3.js} +1 -1
  12. package/dist/storybook/assets/{color-9bdf643a.js → color-9e78f280.js} +1 -1
  13. package/dist/storybook/assets/{drawer.stories-39625e91.js → drawer.stories-59cd794a.js} +1 -1
  14. package/dist/storybook/assets/empty-2d83d50b.js +1 -0
  15. package/dist/storybook/assets/empty.stories-c98807b8.js +1 -0
  16. package/dist/storybook/assets/file-input-a3594635.js +1 -0
  17. package/dist/storybook/assets/file-input.stories-3d2e95e7.js +55 -0
  18. package/dist/storybook/assets/{formatter-SWP5E3XI-06c7911e.js → formatter-SWP5E3XI-c42be4d9.js} +1 -1
  19. package/dist/storybook/assets/{preview-d47a2f40.css → global-aa71ac9c.css} +1 -1
  20. package/dist/storybook/assets/iframe-8d80f428.js +1 -0
  21. package/dist/storybook/assets/{index-97b8789c.js → index-56f304c1.js} +4 -4
  22. package/dist/storybook/assets/{input-validation-64e7abcc.js → input-validation-1b895773.js} +1 -1
  23. package/dist/storybook/assets/{inputs-e48e1acb.js → inputs-e51c1c31.js} +2 -2
  24. package/dist/storybook/assets/{layout-forms-289235b9.js → layout-forms-29ceb520.js} +1 -1
  25. package/dist/storybook/assets/{layout-general-545e69b0.js → layout-general-245ef20f.js} +1 -1
  26. package/dist/storybook/assets/{list-0dc3df85.js → list-e6e7e5ed.js} +1 -1
  27. package/dist/storybook/assets/{list.stories-5715452e.js → list.stories-e2d00aea.js} +1 -1
  28. package/dist/storybook/assets/{message-7e627e60.js → message-dabd76a8.js} +1 -1
  29. package/dist/storybook/assets/{message.stories-f41a0c22.js → message.stories-6f612f7c.js} +1 -1
  30. package/dist/storybook/assets/meta-content-6f132e03.js +1 -0
  31. package/dist/storybook/assets/modal-ad69eee9.js +1 -0
  32. package/dist/storybook/assets/modal-f1e8e468.css +1 -0
  33. package/dist/storybook/assets/{modal.stories-0e068cc1.js → modal.stories-448cc75d.js} +1 -1
  34. package/dist/storybook/assets/option-dropdown-fbe54c09.js +1 -0
  35. package/dist/storybook/assets/option-dropdown.stories-8b7ee529.js +21 -0
  36. package/dist/storybook/assets/{padding-and-spacing-7aefd342.js → padding-and-spacing-27e63c65.js} +1 -1
  37. package/dist/storybook/assets/page.stories-4ad3bea8.js +57 -0
  38. package/dist/storybook/assets/pop-confirm-e6b7cc0c.js +1 -0
  39. package/dist/storybook/assets/pop-confirm.stories-27da1975.js +7 -0
  40. package/dist/storybook/assets/preview-608a4ee9.js +1 -0
  41. package/dist/storybook/assets/{preview-88cc5d68.js → preview-72d84988.js} +3 -3
  42. package/dist/storybook/assets/preview-a5b25924.css +1 -0
  43. package/dist/storybook/assets/print-header-bd013690.js +1 -0
  44. package/dist/storybook/assets/{projects.stories-3884a80c.js → projects.stories-c383cdce.js} +1 -1
  45. package/dist/storybook/assets/{reservoirs.stories-6b14a37f.js → reservoirs.stories-b4549b91.js} +1 -1
  46. package/dist/storybook/assets/{rich-text-input.stories-661f34f1.js → rich-text-input-977847ce.js} +52 -127
  47. package/dist/storybook/assets/rich-text-input.stories-b770908d.js +76 -0
  48. package/dist/storybook/assets/{site.stories-dee8ce1c.js → site.stories-80a441ea.js} +1 -1
  49. package/dist/storybook/assets/{syntaxhighlighter-NMPM6SWI-5e884b35.js → syntaxhighlighter-NMPM6SWI-73149e16.js} +1 -1
  50. package/dist/storybook/assets/text-link-f4589768.js +1 -0
  51. package/dist/storybook/assets/text-link.stories-6b7c8329.js +1 -0
  52. package/dist/storybook/assets/{toaster-541ce85b.js → toaster-3fba1dd3.js} +1 -1
  53. package/dist/storybook/assets/{toaster.stories-5e4d95b1.js → toaster.stories-4cdefe35.js} +1 -1
  54. package/dist/storybook/assets/tree-a5de7d3a.js +6 -0
  55. package/dist/storybook/assets/tree.stories-b16724d6.js +123 -0
  56. package/dist/storybook/assets/unit-input-9bf08434.js +1 -0
  57. package/dist/storybook/assets/unit-input.stories-65646cf3.js +273 -0
  58. package/dist/storybook/assets/unit-table.stories-4706910f.js +229 -0
  59. package/dist/storybook/iframe.html +1 -1
  60. package/dist/storybook/index.json +1 -1
  61. package/dist/storybook/project.json +1 -1
  62. package/dist/storybook/stories.json +1 -1
  63. package/package.json +1 -1
  64. package/dist/404.html +0 -1
  65. package/dist/storybook/assets/accordion.stories-0f8af16e.js +0 -170
  66. package/dist/storybook/assets/breadcrumb.stories-e4334a75.js +0 -1
  67. package/dist/storybook/assets/buttons-and-links-72daa9ae.js +0 -14
  68. package/dist/storybook/assets/dialog-8e840c50.css +0 -1
  69. package/dist/storybook/assets/dialog-cd58dd09.js +0 -1
  70. package/dist/storybook/assets/empty.stories-e0e3ac78.js +0 -1
  71. package/dist/storybook/assets/file-input.stories-1c6ce0ea.js +0 -55
  72. package/dist/storybook/assets/iframe-c1fab5c5.js +0 -1
  73. package/dist/storybook/assets/list-heading-88cc8a9b.js +0 -1
  74. package/dist/storybook/assets/option-dropdown.stories-5030bdb8.js +0 -21
  75. package/dist/storybook/assets/page.stories-7cb68fed.js +0 -57
  76. package/dist/storybook/assets/pop-confirm.stories-81b30901.js +0 -7
  77. package/dist/storybook/assets/preview-5405e1e8.js +0 -1
  78. package/dist/storybook/assets/text-link.stories-c1227c6f.js +0 -1
  79. package/dist/storybook/assets/tree.stories-590bdd69.js +0 -128
  80. package/dist/storybook/assets/unit-input.stories-50ac8b0f.js +0 -257
  81. /package/dist/storybook/assets/{accordion.stories-e92bccf3.css → accordion-with-default-toggle-e92bccf3.css} +0 -0
  82. /package/dist/storybook/assets/{breadcrumb.stories-a644544e.css → breadcrumb-a644544e.css} +0 -0
  83. /package/dist/storybook/assets/{empty.stories-9914c767.css → empty-9914c767.css} +0 -0
  84. /package/dist/storybook/assets/{file-input.stories-f40408e6.css → file-input-f40408e6.css} +0 -0
  85. /package/dist/storybook/assets/{list-heading-d7e578fa.css → meta-content-d7e578fa.css} +0 -0
  86. /package/dist/storybook/assets/{option-dropdown.stories-ddc96b15.css → option-dropdown-ddc96b15.css} +0 -0
  87. /package/dist/storybook/assets/{pop-confirm.stories-c9faec6b.css → pop-confirm-c9faec6b.css} +0 -0
  88. /package/dist/storybook/assets/{page.stories-dd8c1b35.css → print-header-dd8c1b35.css} +0 -0
  89. /package/dist/storybook/assets/{rich-text-input.stories-023a1c99.css → rich-text-input-023a1c99.css} +0 -0
  90. /package/dist/storybook/assets/{tree.stories-3406c5f6.css → tree-3406c5f6.css} +0 -0
  91. /package/dist/storybook/assets/{unit-input.stories-c251e2c8.css → unit-input-c251e2c8.css} +0 -0
@@ -0,0 +1,229 @@
1
+ import{j as t}from"./jsx-runtime-f961835c.js";import{r as f}from"./index-f80c8c95.js";import{d as c}from"./index-57d7693e.js";import{G as V}from"./grid-3b729f81.js";import{C as T}from"./card-3847c251.js";import{F as M}from"./field-a094cd72.js";import{H as I}from"./heading-d29eb744.js";import{S as A}from"./select-205cd538.js";/* empty css */import"./accordion-168fa7c5.js";import"./accordion-with-default-toggle-0b4845c8.js";import{M as z}from"./actions-2d4e1c8e.js";import"./badge-20e7ee0b.js";import"./breadcrumb-f8742fbd.js";import{B as Q}from"./button-74c97e4a.js";import"./button-group-fa895d0c.js";import"./check-box-e21258d5.js";import"./row-2299f0e7.js";import"./divider-182aa58c.js";import"./modal-ad69eee9.js";import"./drawer-7f450988.js";import"./empty-2d83d50b.js";import"./file-input-a3594635.js";import"./flex-1d14d86c.js";import"./form-row-19dd7f6e.js";import{I as X}from"./icon-e9cbb4d7.js";import"./input-group-20c3add3.js";import"./input-group-addon-f8f6683a.js";import"./help-icon-d4189b1b.js";import"./input-d68625a5.js";import"./label-13d490a3.js";import"./list-e6e7e5ed.js";import"./meta-content-6f132e03.js";import"./loader-87ec8334.js";import"./message-dabd76a8.js";import"./option-dropdown-fbe54c09.js";import"./page-6d07f774.js";import"./pagination-8aade846.js";import"./popover-06e375a5.js";import"./portal-03fe4689.js";import"./print-header-bd013690.js";import"./progress-bar-40b8dbf0.js";import"./radio-button-135a9615.js";import"./rich-text-input-977847ce.js";import"./side-bar-88e8cf41.js";import"./slider-160e2152.js";import"./spacer-54db0620.js";import"./spinner-a81ebe38.js";import{T as Y}from"./table-da6f6045.js";import"./tabs-cf5ccede.js";import"./text-ad1f5f1d.js";import"./text-link-f4589768.js";import"./textarea-d48efea2.js";import"./toaster-3fba1dd3.js";import"./toggle-bb34b2a2.js";import"./tooltip-23e84186.js";import"./top-bar-a84b9365.js";import"./pop-confirm-e6b7cc0c.js";import"./tree-a5de7d3a.js";import"./number-input-7d49b0b3.js";import"./unit-input-9bf08434.js";import"./lodash-75c70a11.js";import"./disabled-context-d654f6ff.js";import"./index-54f0d271.js";import"./styled-components.browser.esm-416d73e5.js";import"./tslib.es6-dfef685f.js";import"./index-a80ed1cf.js";import"./common-types-2c81813f.js";import"./types-332ceaf3.js";import"./index-c89a1915.js";import"./inheritsLoose-d4851ab8.js";import"./assertThisInitialized-081f9914.js";import"./memoize-one.esm-52518564.js";import"./types-cc224262.js";import"./select.input-88b6ebab.js";import"./index-3d476d02.js";import"./index.es-85cc7dfc.js";import"./redux-10ee6be7.js";import"./objectSpread2-fdee9b6d.js";import"./index-c7f280f6.js";const Z="#ff6600",ee=({onDeleteTableRow:e,rowid:n})=>{let l=[{type:"Option",label:"Delete",icon:t.jsx(X,{icon:"delete",color:Z}),onClick:()=>e(n)}];return t.jsx(z,{menu:{trigger:"Component",component:t.jsx(Q,{small:!0,basic:!0,round:!0,colored:"muted",icon:"menu",testId:`row-menu-${n}`}),sections:l}})};try{tablerowmenu.displayName="tablerowmenu",tablerowmenu.__docgenInfo={description:"",displayName:"tablerowmenu",props:{onDeleteTableRow:{defaultValue:null,description:"",name:"onDeleteTableRow",required:!0,type:{name:"(rowid: number) => void"}},rowid:{defaultValue:null,description:"",name:"rowid",required:!0,type:{name:"number"}}}}}catch{}const te=["Rock","Sandstone"],G=te.map(e=>({label:e,value:e})),ne=[{Cp:"1256.039|J/(kg*degC)",Ro:"2243|kg/m3",name:"Utsira Formation",Lambda:"1.591|W/(mK)",depth_to:"1200|m",rock_type:"Rock",depth_from:"385|m"},{Cp:"1300|J/(kg*degC)",Ro:"2200|kg/m3",name:"Sele Formation",Lambda:"1.591|W/(mK)",depth_to:"1600|m",rock_type:"Sandstone",depth_from:"1200|m"},{Cp:"1256.039|J/(kg*degC)",Ro:"2243|kg/m3",name:"Lista Formation",Lambda:"1.591|W/(mK)",depth_to:"1950|m",rock_type:"Rock",depth_from:"1600|m"},{Cp:"1256.039|J/(kg*degC)",Ro:"2243|kg/m3",name:"Våge Formation",Lambda:"1.591|W/(mK)",depth_to:"2200|m",rock_type:"Rock",depth_from:"1950|m"}],ae=[{key:"rock_type",header:"Rock",translationKey:"rock",defaultValue:"",type:"Select",convertible:!1,unitKey:"",columnAlignment:"left",columnWidth:"150px",options:G},{key:"name",header:"Formation name",translationKey:"name",placeholder:"Formation Name",type:"Input",disabled:!1,convertible:!1,unitKey:"",columnAlignment:"left",columnWidth:"160px"},{key:"depth_from",header:"Top Depth (TVD)",translationKey:"top_depth",type:"NumberInput",disabled:!1,convertible:!0,unitKey:"length",columnAlignment:"right",columnWidth:"150px"},{key:"depth_to",header:"Bottom Depth (TVD)",translationKey:"bottom_depth",type:"NumberInput",disabled:!1,convertible:!0,unitKey:"length",columnAlignment:"right",columnWidth:"160px"},{key:"Ro",header:"Density",translationKey:"ro",type:"NumberInput",defaultValue:0,disabled:!0,convertible:!0,unitKey:"density",columnAlignment:"right",columnWidth:"100px"},{key:"Cp",header:"Specific Heat Capacity",translationKey:"cp",type:"NumberInput",defaultValue:0,unitKey:"specificHeatCapacity",disabled:!0,convertible:!0,columnWidth:"150px",columnAlignment:"right"},{key:"Lambda",header:"Thermal Conductivity",translationKey:"cp",type:"NumberInput",unitKey:"thermalConductivity",disabled:!0,convertible:!0,defaultValue:0,columnWidth:"150px",columnAlignment:"right"}],K={acceleration:"ft/s2",angleGradient:"deg/100ft",angles:"deg",areaOther:"ft2",areaTubular:"in2",blowoutFlowRate:"STB/d",blowoutGasFlowRate:"MMSCFD",blowoutOilFlowRate:"STB/d",density:"ppg",densityGas:"Glbm/ft3",densityOil:"lbm/ft3",densityOilGas:"lbm/ft3",densitySolid:"lbm/ft3",depth:"ft",diameters:"cm",distance:"ft",doglegSeverity:"deg/100ft",duration:"min",durationLong:"d",durationShort:"h",flowrate:"bpm",fluidCompressibility:"1/psi",force:"lbf",forceGradient:"lbf/ft",frequency:"Hz",gasliftFlowRate:"STB/d",gasVolume:"MMSCF",gor:"SCF/STB",height:"ft",inflowProductivityIndex:"STB/d/psi",injectionFlowRate:"bpm",intensity:"hhp/in2",interfacialTension:"lbf/ft",inverseStandSpeed:"min/stand",kickToleranceVolume:"bbl",length:"km",linearCapacity:"bbl/ft",location:"m",massFlowRate:"lbm/s",mixingRequirements:"m3/t",moleWeight:"lbf/mol",oilVolume:"STB",percentage:"%",permeability:"mD",power:"BTU/h",pressure:"psi",pressurechange:"psi",pressureGradient:"psi/ft",pressurePerTemperature:"psi/F",productionFlowRate:"STB/d",productionFlowRateGas:"MMSCFD",productionFlowRateOil:"STB/d",pumpRate:"bpm",rop:"ft/h",rotationalSpeed:"rpm",roughness:"in",specificHeatCapacity:"BTU/(lbm*degF)",speed:"ft/s",stress:"psi",temperature:"F",tempgrad:"F/100ft",thermalConductivity:"BTU/(h*ft*degF)",thermalExpansionCoefficient:"E-06/degF",torque:"Nm",torqueGradient:"lbf",turbulentSkin:"1/MMSCFD",viscosity:"cP",volume:"bbl",wearFactor:"E-10/psi",weight:"lbf",weightGradient:"ppf",wltubulars:"ppf",youngsModulus:"psi"},le=[{length:"10|m",pressure:"5|psi"},{length:"20|m",pressure:"10|psi"}],oe=[{key:"length",header:"Length",translationKey:"length",defaultValue:0,type:"NumberInput",convertible:!0,unitKey:"length",columnAlignment:"left",columnWidth:"150px"},{key:"pressure",header:"Pressure",translationKey:"pressure",defaultValue:0,type:"NumberInput",convertible:!0,unitKey:"pressure",columnAlignment:"left",columnWidth:"150px"}],re=({tableDef:e,displayedUnits:n,handleUnitChange:l})=>e.map(({convertible:g,unitKey:p,key:m})=>{var u;if(!g)return{value:""};const o=n[m],b=(u=c.getAltUnitsListByQuantity(p))==null?void 0:u.map(({unit:s,label:d})=>({label:d,value:s}));return{value:o,options:b,type:"Select",onChange:({target:{value:s}})=>{s!==o&&l(m,s)}}}),ie=({tableDef:e})=>e.map(({header:n})=>({value:n})),se=(e,n,l)=>e!=null&&e.length?e.map(g=>l.reduce((m,o)=>{const{key:b,defaultValue:v}=o,u=n[b];let s=g[b],d=s??v;return c.isValueWithUnit(s)&&u&&(d=c.convertAndGetValue(d,u)||0),{...m,[b]:c.isNumeric(d)?c.withUnit(d,u):d}},{})):[],de=(e,n,l)=>({label:"Add",icon:"plus",primary:!0,onClick:()=>e(n,l),testId:"lithology-table-add-new-row"}),U=(e,n)=>e.reduce((l,g)=>{const{key:p,unitKey:m}=g;return{...l,[p]:n[m]}},{}),pe=({rows:e,tableDef:n,displayedUnits:l,handleUnitChange:g,tableActions:p})=>{if(!e)return{rows:[],headers:[]};const{addRow:m}=p;return{headers:[{cells:ie({tableDef:n}),actions:m?[de(m,e,l)]:[]},{cells:re({tableDef:n,displayedUnits:l,handleUnitChange:g})}],rows:e}},S=({data:e,unitTemplate:n,tableDef:l,convertToCells:g,tableActions:p,testId:m})=>{const[o,b]=f.useState(U(l,n));f.useEffect(()=>{b(U(l,n))},[n]);const v=(d,C)=>{b(r=>({...r,[d]:C}))},{headers:u,rows:s}=f.useMemo(()=>pe({rows:g(se(e,o,l),o),tableDef:l,displayedUnits:o,handleUnitChange:v,tableActions:p}),[e,o]);return t.jsx(Y,{table:{testId:m,headers:u,rows:s,columnAlignment:l.map(d=>d.columnAlignment),columnWidths:l.map(d=>d.columnWidth),fixedWidth:"auto"},onListReorder:(p==null?void 0:p.reorderComponents)||void 0})};try{S.displayName="UnitTable",S.__docgenInfo={description:"",displayName:"UnitTable",props:{data:{defaultValue:null,description:"",name:"data",required:!0,type:{name:"any[]"}},unitTemplate:{defaultValue:null,description:"",name:"unitTemplate",required:!0,type:{name:"Record<string, any>"}},tableDef:{defaultValue:null,description:"",name:"tableDef",required:!0,type:{name:"ITableDefinition[]"}},convertToCells:{defaultValue:null,description:"",name:"convertToCells",required:!0,type:{name:"(displayedData: any[], displayedUnits: Record<string, any>) => { cells: ICell[]; actions: IActionsType; }[]"}},tableActions:{defaultValue:null,description:"",name:"tableActions",required:!0,type:{name:"ITableActions"}},testId:{defaultValue:null,description:"",name:"testId",required:!0,type:{name:"string"}}}}}catch{}const ue=e=>e===0,me=(e,n)=>n===e-1,ce=(e,n)=>n?`(Test value text) ${e}`:e,At={title:"Basic/UnitTable",component:S},D=()=>{const[e,n]=f.useState(le),[l,g]=f.useState([]),[p,m]=f.useState(K),o=(u,s,d,C)=>{const{value:r}=u.target;let a;n(w=>(a=[...w],a[d][s]=c.withUnit(r,C[s]),a))},b=(u,s)=>{const d=u.map((C,r)=>{let{length:a,pressure:w}=C;return{cells:[{value:c.getValue(a),type:"NumberInput",disabled:!1,onChange:y=>o(y,"length",r,s),testId:`table-cell-${r}-0`},{value:c.getValue(w),type:"NumberInput",disabled:!1,onChange:y=>o(y,"pressure",r,s),testId:`table-cell-${r}-1`}],actions:[]}});return g(u),d},v=[{value:"m",label:"m"},{value:"ft",label:"ft"},{value:"km",label:"km"},{value:"in",label:"in"},{value:"mm",label:"mm"}];return t.jsxs(V,{columns:"1fr",gap:!0,children:[t.jsx(T,{heading:t.jsx(I,{children:"Global View Settings"}),children:t.jsx(M,{label:"Active Unit Template For Length",children:t.jsx(A,{options:v,value:{value:p.length},onChange:u=>{m(s=>({...s,length:u.target.value}))},width:"100px"})})}),t.jsx(S,{tableActions:{},data:e,tableDef:oe,convertToCells:b,unitTemplate:p,testId:"Test"}),t.jsxs(V,{columns:"1fr 1fr",gap:!0,children:[t.jsx(T,{heading:t.jsx(I,{children:"Display data"}),children:t.jsx("pre",{children:t.jsx("code",{children:JSON.stringify(l,null,2)})})}),t.jsx(T,{heading:t.jsx(I,{children:"Storage data"}),children:t.jsx("pre",{children:t.jsx("code",{children:JSON.stringify(e,null,2)})})})]})]})},k=()=>{const[e,n]=f.useState(ne),[l,g]=f.useState([]),[p,m]=f.useState(K),o=(r,a,w,y)=>{const{value:i}=r.target;let R;n(_=>(R=[..._],R[w][a]=a==="rock_type"||a==="name"?i:c.withUnit(i,y[a]),R))},b=()=>{const r={...e[e.length-1]};n(a=>[...a,r])},v=r=>n(a=>a.filter((w,y)=>r!==y)),u=r=>t.jsx(ee,{onDeleteTableRow:v,rowid:r}),s=(r,a)=>{const w=r.map((y,i)=>{let{rock_type:R,name:_,depth_from:O,depth_to:W,Ro:B,Cp:q,Lambda:J}=y;const x=ue(i),F=me(e.length,i),P=x?[]:[{childComponent:u(i)}];return{cells:[{options:G,value:R||"Rock",type:"Select",disabled:!1,onChange:h=>o(h,"rock_type",i,a),testId:`table-cell-${i}-0`},{value:_,type:"Input",placeholder:"Name",disabled:!1,onChange:h=>o(h,"name",i,a),testId:`table-cell-${i}-1`},{value:ce(c.getValue(O),x),type:x?"Static":"NumberInput",style:x?{whiteSpace:"nowrap"}:{},disabled:x,onChange:h=>o(h,"depth_from",i,a),testId:`table-cell-${i}-2`},{value:c.getValue(W),type:F?"Static":"NumberInput",style:F?{whiteSpace:"nowrap"}:{},disabled:F,onChange:h=>o(h,"depth_to",i,a),testId:`table-cell-${i}-3`},{value:c.getValue(B),type:"NumberInput",disabled:!0,onChange:h=>o(h,"Ro",i,a),testId:`table-cell-${i}-4`},{value:c.getValue(q),type:"NumberInput",disabled:!0,onChange:h=>o(h,"Cp",i,a),testId:`table-cell-${i}-5`},{value:c.getValue(J),type:"NumberInput",disabled:!0,onChange:h=>o(h,"Lambda",i,a),testId:`table-cell-${i}-6`}],actions:P}});return g(r),w},d={addRow:b,reorderComponents:()=>{}},C=[{value:"m",label:"m"},{value:"ft",label:"ft"},{value:"km",label:"km"},{value:"in",label:"in"},{value:"mm",label:"mm"}];return t.jsxs(V,{columns:"1fr",gap:!0,children:[t.jsx(T,{heading:t.jsx(I,{children:"Global View Settings"}),children:t.jsx(M,{label:"Active Unit Template For Length",children:t.jsx(A,{options:C,value:{value:p.length},onChange:r=>{m(a=>({...a,length:r.target.value}))},width:"100px"})})}),t.jsx(S,{tableActions:d,data:e,tableDef:ae,convertToCells:s,unitTemplate:p,testId:"Test"}),t.jsxs(V,{columns:"1fr 1fr",gap:!0,children:[t.jsx(T,{heading:t.jsx(I,{children:"Display data"}),children:t.jsx("pre",{children:t.jsx("code",{children:JSON.stringify(l,null,2)})})}),t.jsx(T,{heading:t.jsx(I,{children:"Storage data"}),children:t.jsx("pre",{children:t.jsx("code",{children:JSON.stringify(e,null,2)})})})]})]})};var N,L,j;D.parameters={...D.parameters,docs:{...(N=D.parameters)==null?void 0:N.docs,source:{originalSource:`() => {
2
+ const [data, setData] = useState<any[]>(simpleData);
3
+ const [displayedData, setDisplayedData] = useState<any[]>([]);
4
+ const [unitTemplate, setUnitTemplate] = useState(initalUnitTemplate);
5
+ const onChangeValue = (ev: ChangeEvent<HTMLInputElement>, columnName: keyof ISimpleData, rowIx: number, displayedUnits: Record<string, string>) => {
6
+ const {
7
+ value
8
+ } = ev.target;
9
+ let newData: ISimpleData[];
10
+ setData(prev => {
11
+ newData = [...prev];
12
+ newData[rowIx][columnName] = withUnit(value, displayedUnits[columnName]);
13
+ return newData;
14
+ });
15
+ };
16
+ const convertToCells = (displayedRows: Array<any>, displayedUnits: Record<string, any>) => {
17
+ const cells = displayedRows.map((item, rowIndex) => {
18
+ let {
19
+ length,
20
+ pressure
21
+ } = item;
22
+ return {
23
+ cells: [{
24
+ value: getValue(length),
25
+ type: 'NumberInput',
26
+ disabled: false,
27
+ onChange: (e: ChangeEvent<HTMLInputElement>) => onChangeValue(e, 'length', rowIndex, displayedUnits),
28
+ testId: \`table-cell-\${rowIndex}-\${0}\`
29
+ }, {
30
+ value: getValue(pressure),
31
+ type: 'NumberInput',
32
+ disabled: false,
33
+ onChange: (e: ChangeEvent<HTMLInputElement>) => onChangeValue(e, 'pressure', rowIndex, displayedUnits),
34
+ testId: \`table-cell-\${rowIndex}-\${1}\`
35
+ }],
36
+ actions: []
37
+ };
38
+ });
39
+ setDisplayedData(displayedRows);
40
+ return cells;
41
+ };
42
+ const unitOptions = [{
43
+ value: 'm',
44
+ label: 'm'
45
+ }, {
46
+ value: 'ft',
47
+ label: 'ft'
48
+ }, {
49
+ value: 'km',
50
+ label: 'km'
51
+ }, {
52
+ value: 'in',
53
+ label: 'in'
54
+ }, {
55
+ value: 'mm',
56
+ label: 'mm'
57
+ }];
58
+ return <Grid columns="1fr" gap>
59
+ <Card heading={<Heading>Global View Settings</Heading>}>
60
+ <Field label="Active Unit Template For Length">
61
+ <Select options={unitOptions} value={{
62
+ value: unitTemplate.length
63
+ }} onChange={evt => {
64
+ setUnitTemplate(prev => ({
65
+ ...prev,
66
+ length: evt.target.value
67
+ }));
68
+ }} width="100px" />
69
+ </Field>
70
+ </Card>
71
+ <UnitTable tableActions={{}} data={data} tableDef={simpleTableDef} convertToCells={convertToCells} unitTemplate={unitTemplate} testId="Test" />
72
+ <Grid columns="1fr 1fr" gap>
73
+ <Card heading={<Heading>Display data</Heading>}>
74
+ <pre>
75
+ <code>{JSON.stringify(displayedData, null, 2)}</code>
76
+ </pre>
77
+ </Card>
78
+ <Card heading={<Heading>Storage data</Heading>}>
79
+ <pre>
80
+ <code>{JSON.stringify(data, null, 2)}</code>
81
+ </pre>
82
+ </Card>
83
+ </Grid>
84
+ </Grid>;
85
+ }`,...(j=(L=D.parameters)==null?void 0:L.docs)==null?void 0:j.source}}};var $,H,E;k.parameters={...k.parameters,docs:{...($=k.parameters)==null?void 0:$.docs,source:{originalSource:`() => {
86
+ const [data, setData] = useState<IRock[]>(rocks);
87
+ const [displayedData, setDisplayedData] = useState<any[]>([]);
88
+ const [unitTemplate, setUnitTemplate] = useState(initalUnitTemplate);
89
+ const onChangeValue = (ev: ChangeEvent<HTMLInputElement>, columnName: keyof IRock, rowIx: number, displayedUnits: Record<string, string>) => {
90
+ const {
91
+ value
92
+ } = ev.target;
93
+ let newData: IRock[];
94
+ setData(prev => {
95
+ newData = [...prev];
96
+ newData[rowIx][columnName] = columnName === 'rock_type' || columnName === 'name' ? value : withUnit(value, displayedUnits[columnName]);
97
+ return newData;
98
+ });
99
+ };
100
+ const addRow = () => {
101
+ const newRow = {
102
+ ...data[data.length - 1]
103
+ };
104
+ setData(prev => [...prev, newRow]);
105
+ };
106
+ const onDeleteRow = (ix: number) => setData(prev => prev.filter((_, index) => ix !== index));
107
+ const rowMenu = (rowIx: number) => <TableRowMenu onDeleteTableRow={onDeleteRow} rowid={rowIx} />;
108
+ const convertToCells = (displayedRows: Array<any>, displayedUnits: Record<string, any>) => {
109
+ const cells = displayedRows.map((item, rowIndex) => {
110
+ let {
111
+ rock_type,
112
+ name,
113
+ depth_from,
114
+ depth_to,
115
+ Ro,
116
+ Cp,
117
+ Lambda
118
+ } = item;
119
+ const disabledFirstRow = isFirstRow(rowIndex);
120
+ const disabledLastRow = isLastRow(data.length, rowIndex);
121
+ const actions = disabledFirstRow ? [] : [{
122
+ childComponent: rowMenu(rowIndex)
123
+ }];
124
+ return {
125
+ cells: [{
126
+ options: rocksList,
127
+ value: rock_type || 'Rock',
128
+ type: 'Select',
129
+ disabled: false,
130
+ onChange: (e: ChangeEvent<HTMLInputElement>) => onChangeValue(e, 'rock_type', rowIndex, displayedUnits),
131
+ testId: \`table-cell-\${rowIndex}-\${0}\`
132
+ }, {
133
+ value: name,
134
+ type: 'Input',
135
+ placeholder: 'Name',
136
+ disabled: false,
137
+ onChange: (e: ChangeEvent<HTMLInputElement>) => onChangeValue(e, 'name', rowIndex, displayedUnits),
138
+ testId: \`table-cell-\${rowIndex}-\${1}\`
139
+ }, {
140
+ value: getCellLength(getValue(depth_from), disabledFirstRow),
141
+ type: disabledFirstRow ? 'Static' : 'NumberInput',
142
+ style: disabledFirstRow ? {
143
+ whiteSpace: 'nowrap'
144
+ } : {},
145
+ disabled: disabledFirstRow,
146
+ onChange: (e: ChangeEvent<HTMLInputElement>) => onChangeValue(e, 'depth_from', rowIndex, displayedUnits),
147
+ testId: \`table-cell-\${rowIndex}-\${2}\`
148
+ }, {
149
+ value: getValue(depth_to),
150
+ type: disabledLastRow ? 'Static' : 'NumberInput',
151
+ style: disabledLastRow ? {
152
+ whiteSpace: 'nowrap'
153
+ } : {},
154
+ disabled: disabledLastRow,
155
+ onChange: (e: ChangeEvent<HTMLInputElement>) => onChangeValue(e, 'depth_to', rowIndex, displayedUnits),
156
+ testId: \`table-cell-\${rowIndex}-\${3}\`
157
+ }, {
158
+ value: getValue(Ro),
159
+ type: 'NumberInput',
160
+ disabled: true,
161
+ onChange: (e: ChangeEvent<HTMLInputElement>) => onChangeValue(e, 'Ro', rowIndex, displayedUnits),
162
+ testId: \`table-cell-\${rowIndex}-\${4}\`
163
+ }, {
164
+ value: getValue(Cp),
165
+ type: 'NumberInput',
166
+ disabled: true,
167
+ onChange: (e: ChangeEvent<HTMLInputElement>) => onChangeValue(e, 'Cp', rowIndex, displayedUnits),
168
+ testId: \`table-cell-\${rowIndex}-\${5}\`
169
+ }, {
170
+ value: getValue(Lambda),
171
+ type: 'NumberInput',
172
+ disabled: true,
173
+ onChange: (e: ChangeEvent<HTMLInputElement>) => onChangeValue(e, 'Lambda', rowIndex, displayedUnits),
174
+ testId: \`table-cell-\${rowIndex}-\${6}\`
175
+ }],
176
+ actions
177
+ };
178
+ });
179
+ setDisplayedData(displayedRows);
180
+ return cells;
181
+ };
182
+ const tableActions = {
183
+ addRow,
184
+ reorderComponents: () => {}
185
+ };
186
+ const unitOptions = [{
187
+ value: 'm',
188
+ label: 'm'
189
+ }, {
190
+ value: 'ft',
191
+ label: 'ft'
192
+ }, {
193
+ value: 'km',
194
+ label: 'km'
195
+ }, {
196
+ value: 'in',
197
+ label: 'in'
198
+ }, {
199
+ value: 'mm',
200
+ label: 'mm'
201
+ }];
202
+ return <Grid columns="1fr" gap>
203
+ <Card heading={<Heading>Global View Settings</Heading>}>
204
+ <Field label="Active Unit Template For Length">
205
+ <Select options={unitOptions} value={{
206
+ value: unitTemplate.length
207
+ }} onChange={evt => {
208
+ setUnitTemplate(prev => ({
209
+ ...prev,
210
+ length: evt.target.value
211
+ }));
212
+ }} width="100px" />
213
+ </Field>
214
+ </Card>
215
+ <UnitTable tableActions={tableActions} data={data} tableDef={tableDef} convertToCells={convertToCells} unitTemplate={unitTemplate} testId="Test" />
216
+ <Grid columns="1fr 1fr" gap>
217
+ <Card heading={<Heading>Display data</Heading>}>
218
+ <pre>
219
+ <code>{JSON.stringify(displayedData, null, 2)}</code>
220
+ </pre>
221
+ </Card>
222
+ <Card heading={<Heading>Storage data</Heading>}>
223
+ <pre>
224
+ <code>{JSON.stringify(data, null, 2)}</code>
225
+ </pre>
226
+ </Card>
227
+ </Grid>
228
+ </Grid>;
229
+ }`,...(E=(H=k.parameters)==null?void 0:H.docs)==null?void 0:E.source}}};const Gt=["Default","Complex"];export{k as Complex,D as Default,Gt as __namedExportsOrder,At as default};
@@ -357,7 +357,7 @@
357
357
  }
358
358
  </script>
359
359
 
360
- <script type="module" crossorigin src="./assets/iframe-c1fab5c5.js"></script>
360
+ <script type="module" crossorigin src="./assets/iframe-8d80f428.js"></script>
361
361
  </head>
362
362
 
363
363
  <body>