@oliasoft-open-source/react-ui-library 4.4.8-beta-1 → 4.5.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 (160) hide show
  1. package/README.md +14 -13
  2. package/dist/assets/{index-dpmmAegk.css → index-AkeNwthw.css} +50 -52
  3. package/dist/assets/{index-EbNBJwhT.js → index-neKlYvgy.js} +20 -20
  4. package/dist/global.css +3 -2
  5. package/dist/index.d.ts +57 -1
  6. package/dist/index.html +1 -1
  7. package/dist/index.js +211 -3
  8. package/dist/index.js.map +1 -1
  9. package/dist/storybook/assets/{Color-6VNJS4EI-NAlBPlsa.js → Color-6VNJS4EI-OKUPsN5g.js} +1 -1
  10. package/dist/storybook/assets/{DocsRenderer-NNNQARDV-xJYBHbL6.js → DocsRenderer-NNNQARDV-GtO0h5cy.js} +1 -1
  11. package/dist/storybook/assets/{WithTooltip-4HIR6TLV-Bj6QDDTZ.js → WithTooltip-4HIR6TLV-oJGDwI7F.js} +1 -1
  12. package/dist/storybook/assets/accordion-with-default-toggle-8PUIm8jP.js +1 -0
  13. package/dist/storybook/assets/accordion.stories-xUgAzm87.js +170 -0
  14. package/dist/storybook/assets/{actions-SGexXf58.js → actions-Z9jDWreP.js} +1 -1
  15. package/dist/storybook/assets/{actions.stories-dDCC23QK.js → actions.stories-Qrio9EMy.js} +1 -1
  16. package/dist/storybook/assets/{afe.stories-2kxJM6m_.js → afe.stories-fh4-T0m2.js} +1 -1
  17. package/dist/storybook/assets/{badge.stories-nzXJ1qip.js → badge.stories-C0MXS15j.js} +1 -1
  18. package/dist/storybook/assets/{blowout.stories-NhkEdF1Y.js → blowout.stories-BXWf5R9h.js} +1 -1
  19. package/dist/storybook/assets/breadcrumb-WFZ7OoC2.js +1 -0
  20. package/dist/storybook/assets/breadcrumb.stories-mou0ppaX.js +1 -0
  21. package/dist/storybook/assets/{button-IoNblLER.js → button-7V8oA22w.js} +1 -1
  22. package/dist/storybook/assets/{button-group-KeeGgC4K.js → button-group-q8QKkLVU.js} +1 -1
  23. package/dist/storybook/assets/{button-group.stories-DG3i2d7K.js → button-group.stories-tLZpLTfD.js} +1 -1
  24. package/dist/storybook/assets/{button.stories-vebimSi_.js → button.stories-PhWmZXOu.js} +1 -1
  25. package/dist/storybook/assets/{buttons-and-links-zLTAplee.js → buttons-and-links-mIhXkKfh.js} +2 -2
  26. package/dist/storybook/assets/{card.stories-cVRrCem4.js → card.stories-HzHJW6ek.js} +1 -1
  27. package/dist/storybook/assets/{casing-loads.stories-aOwdZqIq.js → casing-loads.stories-i9Kyuvs1.js} +1 -1
  28. package/dist/storybook/assets/{cell.stories-GPhEBVr5.js → cell.stories-QHDggPeA.js} +1 -1
  29. package/dist/storybook/assets/{check-box-BX5dfQFk.js → check-box-LZdXXKhv.js} +1 -1
  30. package/dist/storybook/assets/{check-box.stories-FNs72smP.js → check-box.stories-0XCykxnz.js} +1 -1
  31. package/dist/storybook/assets/{chunk-HLWAVYOI-94SAaHY3.js → chunk-HLWAVYOI-YpA4-WPj.js} +1 -1
  32. package/dist/storybook/assets/{color-HmttcjcP.js → color-0ogqq8EH.js} +1 -1
  33. package/dist/storybook/assets/{column.stories-IH7Juaoz.js → column.stories-6OLsjlcP.js} +1 -1
  34. package/dist/storybook/assets/{drawer-TM-jK3WR.js → drawer-WuErQ5Z8.js} +1 -1
  35. package/dist/storybook/assets/{drawer.stories-Ruf_m4gQ.js → drawer.stories-BLdyJ3NA.js} +1 -1
  36. package/dist/storybook/assets/empty-PU0JdhZM.js +1 -0
  37. package/dist/storybook/assets/empty.stories-FYO6syUx.js +1 -0
  38. package/dist/storybook/assets/{field-kOZPBHf6.js → field-eknsj_Ll.js} +1 -1
  39. package/dist/storybook/assets/{field.stories-aEccauPi.js → field.stories-RmhJ16HT.js} +1 -1
  40. package/dist/storybook/assets/file-input-7-7kYhsS.js +1 -0
  41. package/dist/storybook/assets/file-input.stories-lW0gLK14.js +66 -0
  42. package/dist/storybook/assets/{flex-KzhjL9yc.js → flex-RYZsoWEN.js} +1 -1
  43. package/dist/storybook/assets/{flex.stories-rDfMJbP6.js → flex.stories-lLz0Xrt_.js} +1 -1
  44. package/dist/storybook/assets/{footer.stories-h1LJygsC.js → footer.stories-guoNYzr9.js} +1 -1
  45. package/dist/storybook/assets/{form.stories-lq_NioKW.js → form.stories-tzZoKyyL.js} +1 -1
  46. package/dist/storybook/assets/{formation.stories-Hu7OIapl.js → formation.stories-KUe50fTQ.js} +1 -1
  47. package/dist/storybook/assets/{formatter-SWP5E3XI-HqDAa-EX.js → formatter-SWP5E3XI-Z60pYM_f.js} +1 -1
  48. package/dist/storybook/assets/{preview-988rO8Ei.css → global-M-3dCKk3.css} +1 -1
  49. package/dist/storybook/assets/{heading-_mLE2vw4.js → heading-Bk0bpNfe.js} +1 -1
  50. package/dist/storybook/assets/heading-zGDwg1Yz.css +1 -0
  51. package/dist/storybook/assets/{heading.stories-ujMODNDT.js → heading.stories-HLMPkIPo.js} +1 -1
  52. package/dist/storybook/assets/{help-icon-nI9A506M.js → help-icon--rUDxLUD.js} +1 -1
  53. package/dist/storybook/assets/{help-icon.stories-Qz7MKCnQ.js → help-icon.stories-vifwJgNA.js} +1 -1
  54. package/dist/storybook/assets/{icon.stories-D_XEmSGG.js → icon.stories-W-UgTWyK.js} +1 -1
  55. package/dist/storybook/assets/iframe-ybuSzuG4.js +7 -0
  56. package/dist/storybook/assets/{index-Rge2MI9C.js → index-isA0pQQP.js} +5 -5
  57. package/dist/storybook/assets/{input-group.stories-2ZKNq0iW.js → input-group.stories-WljyIQ0a.js} +1 -1
  58. package/dist/storybook/assets/{input-iDZqV-2m.js → input-u1He-wWs.js} +1 -1
  59. package/dist/storybook/assets/{input-validation-CegYDgV-.js → input-validation-lBeNJX0o.js} +1 -1
  60. package/dist/storybook/assets/{input.stories-iopguZKB.js → input.stories-rLdDRxtU.js} +1 -1
  61. package/dist/storybook/assets/{inputs--hXmDNGV.js → inputs-bYS5qR_g.js} +14 -14
  62. package/dist/storybook/assets/{label-RpB4JmHX.js → label-0_Qf6I8t.js} +1 -1
  63. package/dist/storybook/assets/{label.stories-HcdQ1bEB.js → label.stories-aXdU5_Ql.js} +1 -1
  64. package/dist/storybook/assets/{layout-forms-bnZFBvfg.js → layout-forms-S1UZag29.js} +1 -1
  65. package/dist/storybook/assets/{layout-general-B7NVXgAb.js → layout-general-U3YRmnqR.js} +1 -1
  66. package/dist/storybook/assets/{list-hXelfpic.js → list-dAlCO11z.js} +1 -1
  67. package/dist/storybook/assets/{list.stories-H39fcUCX.js → list.stories-bt_cumRX.js} +1 -1
  68. package/dist/storybook/assets/{list.stories-data-8eswVWst.js → list.stories-data-IcFu6vvd.js} +1 -1
  69. package/dist/storybook/assets/{loader.stories-G8Q_Fm8u.js → loader.stories-0OwmnNML.js} +1 -1
  70. package/dist/storybook/assets/{menu.stories-GFJs09Wk.js → menu.stories-VwRF_Pbx.js} +1 -1
  71. package/dist/storybook/assets/{menu.stories-data-c8X93fYM.js → menu.stories-data-hEz8P1yK.js} +1 -1
  72. package/dist/storybook/assets/{message-uMHaTEXV.js → message-yii7x6Na.js} +1 -1
  73. package/dist/storybook/assets/{message.stories-BqM_-mrZ.js → message.stories-9RWD3-p1.js} +1 -1
  74. package/dist/storybook/assets/meta-content-2S9BpSoX.js +1 -0
  75. package/dist/storybook/assets/modal-BJKGBCkS.css +1 -0
  76. package/dist/storybook/assets/modal-Dr5HffrG.js +1 -0
  77. package/dist/storybook/assets/{modal.stories-vDujyCw4.js → modal.stories-rVfow_s3.js} +1 -1
  78. package/dist/storybook/assets/{number-input-d7hXQldd.js → number-input-SvjJIGsW.js} +1 -1
  79. package/dist/storybook/assets/{number-input.stories-jG3nUVho.js → number-input.stories-BURENIFo.js} +1 -1
  80. package/dist/storybook/assets/option-dropdown-6QvoS02o.js +1 -0
  81. package/dist/storybook/assets/option-dropdown.stories-5qw-N2Q9.js +21 -0
  82. package/dist/storybook/assets/{padding-and-spacing-VzZi0NVQ.js → padding-and-spacing-Ej5fu8GG.js} +1 -1
  83. package/dist/storybook/assets/page.stories-4zM8wrxN.js +57 -0
  84. package/dist/storybook/assets/{pagination-CoPeOO1l.js → pagination-5n5spTRo.js} +1 -1
  85. package/dist/storybook/assets/{pagination.stories-wK5OyQxj.js → pagination.stories-g4a-aSxq.js} +1 -1
  86. package/dist/storybook/assets/pop-confirm-nfz5S-f-.js +1 -0
  87. package/dist/storybook/assets/pop-confirm.stories-1vIAhdl-.js +9 -0
  88. package/dist/storybook/assets/{popover-uAo1e4-D.js → popover-Y3FpGdUS.js} +1 -1
  89. package/dist/storybook/assets/{popover.stories-eP8tGzuL.js → popover.stories-b7Tt4S0j.js} +1 -1
  90. package/dist/storybook/assets/{preview-xbymYUOu.js → preview-8d3sl769.js} +2 -2
  91. package/dist/storybook/assets/{preview-MSejDyF7.js → preview-UZXZGus9.js} +3 -3
  92. package/dist/storybook/assets/preview-agc3Xxfb.css +1 -0
  93. package/dist/storybook/assets/print-header-mVYWFles.js +1 -0
  94. package/dist/storybook/assets/{projects.stories-eN8JLNTn.js → projects.stories-bo3cPOP-.js} +1 -1
  95. package/dist/storybook/assets/{radio-button-QcS9mLYi.js → radio-button-jHcwHUA4.js} +1 -1
  96. package/dist/storybook/assets/{radio-button.stories-KCS981-F.js → radio-button.stories-LkCJsp5P.js} +1 -1
  97. package/dist/storybook/assets/{reservoirs.stories-cOhgwqMZ.js → reservoirs.stories-RUFcw2h6.js} +1 -1
  98. package/dist/storybook/assets/{rich-text-input.stories-BLeIb6m1.js → rich-text-input-W-kYpvgO.js} +52 -127
  99. package/dist/storybook/assets/rich-text-input.stories-6-587T_0.js +76 -0
  100. package/dist/storybook/assets/{row.stories-yjgqtwUz.js → row.stories-TurDc49t.js} +1 -1
  101. package/dist/storybook/assets/select-JjEPivho.js +1 -0
  102. package/dist/storybook/assets/{select.stories-AfmTWbON.js → select.stories-qFDyxRFm.js} +1 -1
  103. package/dist/storybook/assets/{side-bar-GJ2tcZYY.js → side-bar-Fjr2t9MT.js} +1 -1
  104. package/dist/storybook/assets/{side-bar.stories-Ld0zOToQ.js → side-bar.stories-sxBJCVnV.js} +1 -1
  105. package/dist/storybook/assets/{site.stories-2oUdm9C2.js → site.stories-Hnwa5Rxk.js} +1 -1
  106. package/dist/storybook/assets/{slider-_5NQKbM-.js → slider-nl2rJ9LF.js} +1 -1
  107. package/dist/storybook/assets/{slider.stories-QyyBB_rz.js → slider.stories--aZa8kf-.js} +1 -1
  108. package/dist/storybook/assets/{spacer.stories--ynGgvN4.js → spacer.stories-eCrKj4b3.js} +1 -1
  109. package/dist/storybook/assets/{syntaxhighlighter-NMPM6SWI-DutXFxok.js → syntaxhighlighter-NMPM6SWI-LVCFR00p.js} +1 -1
  110. package/dist/storybook/assets/table-PWodWi0p.css +1 -0
  111. package/dist/storybook/assets/{table-5eHHj2mn.js → table-lfeSnryj.js} +1 -1
  112. package/dist/storybook/assets/{table.stories-b4KTQ5i1.js → table.stories-TGOwb9FU.js} +1 -1
  113. package/dist/storybook/assets/{table.stories-data-Fq0v85aT.js → table.stories-data-txTr9mYv.js} +1 -1
  114. package/dist/storybook/assets/text-link-1uKYQqn_.js +1 -0
  115. package/dist/storybook/assets/text-link.stories-ZcuOY5VK.js +1 -0
  116. package/dist/storybook/assets/{textarea-mYEkEnUR.js → textarea-8bcldTyf.js} +1 -1
  117. package/dist/storybook/assets/{textarea.stories-ARS3RM31.js → textarea.stories-D9SctTMD.js} +1 -1
  118. package/dist/storybook/assets/{title.stories-hgdOzwt_.js → title.stories-InoCrXr8.js} +1 -1
  119. package/dist/storybook/assets/{toaster-eOozfa7U.js → toaster-2HasMRmP.js} +1 -1
  120. package/dist/storybook/assets/{toaster.stories-XhUo3pbR.js → toaster.stories-NBYloz0_.js} +1 -1
  121. package/dist/storybook/assets/{toggle-wk0GbVB8.js → toggle-BPI2y-lU.js} +1 -1
  122. package/dist/storybook/assets/{toggle.stories-ItCMhW4M.js → toggle.stories-aVmjpons.js} +1 -1
  123. package/dist/storybook/assets/{tooltip-ZHdi6rl-.js → tooltip-HEHiU__l.js} +1 -1
  124. package/dist/storybook/assets/{tooltip.stories-gTfOeEzv.js → tooltip.stories-tiOgoWHH.js} +1 -1
  125. package/dist/storybook/assets/{tooltip.test-case.stories-L2bW8Ijz.js → tooltip.test-case.stories-kIeZayHw.js} +1 -1
  126. package/dist/storybook/assets/{top-bar-TamVNsq4.js → top-bar-3dxv0sp9.js} +1 -1
  127. package/dist/storybook/assets/top-bar-cBtxm6yr.css +1 -0
  128. package/dist/storybook/assets/{top-bar.stories-8B4MVU1g.js → top-bar.stories-sMvXnmhR.js} +1 -1
  129. package/dist/storybook/assets/{top-bar.testcase.stories-q_2TdtQA.js → top-bar.testcase.stories-Nb8fdPBS.js} +1 -1
  130. package/dist/storybook/assets/tree-Rhl5ea49.js +6 -0
  131. package/dist/storybook/assets/tree.stories-dFH-G6se.js +123 -0
  132. package/dist/storybook/assets/unit-input-fxjK7nON.js +1 -0
  133. package/dist/storybook/assets/unit-input.stories--UApgPT-.js +273 -0
  134. package/dist/storybook/assets/unit-table.stories-Vd1Nqk2h.js +434 -0
  135. package/dist/storybook/iframe.html +1 -1
  136. package/dist/storybook/index.json +1 -1
  137. package/dist/storybook/project.json +1 -1
  138. package/dist/storybook/stories.json +1 -1
  139. package/package.json +1 -1
  140. package/dist/storybook/assets/accordion.stories-oscgC_1l.js +0 -170
  141. package/dist/storybook/assets/breadcrumb.stories-V7ozYBO-.js +0 -1
  142. package/dist/storybook/assets/dialog-gTGZ42G6.css +0 -1
  143. package/dist/storybook/assets/dialog-z4rRDc5A.js +0 -1
  144. package/dist/storybook/assets/empty.stories-KIByp315.js +0 -1
  145. package/dist/storybook/assets/file-input.stories-I6IPu7wX.js +0 -66
  146. package/dist/storybook/assets/heading-1lj-zknr.css +0 -1
  147. package/dist/storybook/assets/iframe-Qhi3Tcja.js +0 -7
  148. package/dist/storybook/assets/list-heading-tOKOQciG.js +0 -1
  149. package/dist/storybook/assets/option-dropdown.stories-1Y5JDaBF.js +0 -21
  150. package/dist/storybook/assets/page.stories-hKioKxwg.js +0 -57
  151. package/dist/storybook/assets/pop-confirm.stories-SWGIXExE.js +0 -7
  152. package/dist/storybook/assets/select-WETrLdeQ.js +0 -1
  153. package/dist/storybook/assets/table-TQYHcsfB.css +0 -1
  154. package/dist/storybook/assets/text-link.stories-kjfUeFtk.js +0 -1
  155. package/dist/storybook/assets/top-bar-wY_OBj5N.css +0 -1
  156. package/dist/storybook/assets/tree.stories-hsCS6H3g.js +0 -128
  157. package/dist/storybook/assets/unit-input.stories-ZdrR9JWT.js +0 -273
  158. /package/dist/storybook/assets/{accordion-tw1O4Ru6.css → accordion-with-default-toggle-tw1O4Ru6.css} +0 -0
  159. /package/dist/storybook/assets/{list-heading-Y8BAUuV6.css → meta-content-Y8BAUuV6.css} +0 -0
  160. /package/dist/storybook/assets/{page-6iak35D6.css → print-header-6iak35D6.css} +0 -0
package/dist/index.js CHANGED
@@ -10,8 +10,8 @@ import React__default, { useContext, isValidElement, useState, useRef, useEffect
10
10
  import * as PropTypes from "prop-types";
11
11
  import PropTypes__default from "prop-types";
12
12
  import ReactDOM, { createPortal, unstable_batchedUpdates, render } from "react-dom";
13
- import _$1, { set, get as get$2, isString as isString$3, isNumber as isNumber$1, isBoolean as isBoolean$2, isFunction as isFunction$3, isEmpty, isArray as isArray$1, toNumber, debounce as debounce$2, isObject as isObject$5, isObjectLike, has as has$1 } from "lodash";
14
- import { validateNumber, cleanNumStr, unitFromQuantity, isValueWithUnit, withUnit, convertSamePrecision, getValue as getValue$1, getUnit, KNOWN_UNITS, split as split$1, checkAndCleanDecimalComma, label as label$b, altUnitsList } from "@oliasoft-open-source/units";
13
+ import _$1, { set, get as get$2, isString as isString$3, isNumber as isNumber$1, isBoolean as isBoolean$2, isFunction as isFunction$3, isEmpty, isArray as isArray$1, toNumber, debounce as debounce$2, isObject as isObject$5, isObjectLike, has as has$1, cloneDeep } from "lodash";
14
+ import { validateNumber, cleanNumStr, unitFromQuantity, isValueWithUnit, withUnit, convertSamePrecision, getValue as getValue$1, getUnit, KNOWN_UNITS, split as split$1, checkAndCleanDecimalComma, label as label$b, altUnitsList, convertAndGetValue, isNumeric, getAltUnitsListByQuantity } from "@oliasoft-open-source/units";
15
15
  import { isValueWithUnit as isValueWithUnit$1 } from "@oliasoft-open-source/units/dist/units";
16
16
  var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
17
17
  function getDefaultExportFromCjs(x2) {
@@ -55457,7 +55457,7 @@ const styles$b = {
55457
55457
  table,
55458
55458
  striped
55459
55459
  };
55460
- const title$1 = "_title_11pbp_1";
55460
+ const title$1 = "_title_zn5s7_1";
55461
55461
  const styles$a = {
55462
55462
  title: title$1
55463
55463
  };
@@ -58212,6 +58212,7 @@ const Content = ({
58212
58212
  title: title2,
58213
58213
  okText,
58214
58214
  onClickOk,
58215
+ disableConfirmButton,
58215
58216
  cancelText,
58216
58217
  onClickCancel,
58217
58218
  close: close2,
@@ -58226,6 +58227,7 @@ const Content = ({
58226
58227
  colored: true,
58227
58228
  label: okText,
58228
58229
  onClick: () => onClickOk(close2),
58230
+ disabled: disableConfirmButton,
58229
58231
  testId: `${testId}-ok-button`
58230
58232
  }
58231
58233
  ),
@@ -58251,6 +58253,7 @@ const PopConfirm = ({
58251
58253
  okText = "Ok",
58252
58254
  onClickOk = () => {
58253
58255
  },
58256
+ disableConfirmButton = false,
58254
58257
  overflowContainer = false,
58255
58258
  testId = void 0
58256
58259
  }) => {
@@ -58260,6 +58263,7 @@ const PopConfirm = ({
58260
58263
  title: title2,
58261
58264
  okText,
58262
58265
  onClickOk,
58266
+ disableConfirmButton,
58263
58267
  cancelText,
58264
58268
  onClickCancel,
58265
58269
  testId
@@ -70537,6 +70541,209 @@ const UnitInput = ({
70537
70541
  }
70538
70542
  );
70539
70543
  };
70544
+ const STRUCTURE_TYPE = Object.freeze({
70545
+ ARRAY: "array",
70546
+ OBJECT: "object"
70547
+ });
70548
+ const getUnitCells = ({
70549
+ tableDef,
70550
+ displayedUnits,
70551
+ handleUnitChange,
70552
+ oldStructureType
70553
+ }) => {
70554
+ return tableDef.map(({ convertible, unitKey, key: key2 }, ix) => {
70555
+ var _a;
70556
+ if (!convertible) {
70557
+ return { value: "" };
70558
+ }
70559
+ const oldUnit = oldStructureType === STRUCTURE_TYPE.ARRAY ? displayedUnits[ix] : displayedUnits[key2];
70560
+ const options = (_a = getAltUnitsListByQuantity(unitKey)) == null ? void 0 : _a.map(
70561
+ ({ unit: unit2, label: label2 }) => ({
70562
+ label: label2,
70563
+ value: unit2
70564
+ })
70565
+ );
70566
+ const onChange = ({
70567
+ target: { value: newUnit }
70568
+ }) => {
70569
+ if (newUnit === oldUnit) {
70570
+ return;
70571
+ }
70572
+ handleUnitChange(key2, newUnit, ix);
70573
+ };
70574
+ return {
70575
+ value: oldUnit,
70576
+ options,
70577
+ type: "Select",
70578
+ onChange
70579
+ };
70580
+ });
70581
+ };
70582
+ const getHeaders = ({ tableDef }) => tableDef.map(({ header: header2 }) => ({
70583
+ value: header2
70584
+ }));
70585
+ const onConvertData = (data, displayedUnits, tableDef, oldStructureType) => {
70586
+ if (!(data == null ? void 0 : data.length))
70587
+ return [];
70588
+ let storedUnits;
70589
+ const tableData = cloneDeep(data);
70590
+ if (oldStructureType) {
70591
+ [storedUnits] = tableData.splice(0, 1);
70592
+ }
70593
+ const convertedTable = tableData.map((row2) => {
70594
+ const convertedRow = tableDef.reduce((prev2, colDef, columnIx) => {
70595
+ const { key: key2, defaultValue } = colDef;
70596
+ const unitTo = oldStructureType === STRUCTURE_TYPE.ARRAY ? (
70597
+ // @ts-ignore TODO Peter B
70598
+ displayedUnits[columnIx]
70599
+ ) : (
70600
+ // @ts-ignore TODO Peter B
70601
+ displayedUnits[key2]
70602
+ );
70603
+ const unitFrom = oldStructureType === STRUCTURE_TYPE.ARRAY ? (
70604
+ // @ts-ignore TODO Peter B
70605
+ storedUnits[columnIx]
70606
+ ) : (
70607
+ // @ts-ignore TODO Peter B
70608
+ storedUnits == null ? void 0 : storedUnits[key2]
70609
+ );
70610
+ const value = oldStructureType === STRUCTURE_TYPE.ARRAY ? row2[columnIx] : row2[key2];
70611
+ let displayedValue = value ?? defaultValue;
70612
+ if (unitFrom && unitTo) {
70613
+ displayedValue = convertAndGetValue(displayedValue, unitTo, unitFrom);
70614
+ }
70615
+ if (oldStructureType) {
70616
+ if (oldStructureType === STRUCTURE_TYPE.ARRAY) {
70617
+ row2[columnIx] = displayedValue;
70618
+ return row2;
70619
+ }
70620
+ } else {
70621
+ if (isValueWithUnit(value) && unitTo) {
70622
+ const convertedValue = convertAndGetValue(displayedValue, unitTo);
70623
+ displayedValue = isNumeric(convertedValue) ? withUnit(convertedValue, unitTo) : displayedValue;
70624
+ }
70625
+ }
70626
+ return {
70627
+ ...prev2,
70628
+ [key2]: displayedValue
70629
+ };
70630
+ }, {});
70631
+ return convertedRow;
70632
+ });
70633
+ return oldStructureType ? [displayedUnits, ...convertedTable] : convertedTable;
70634
+ };
70635
+ const addRowHeader = (addRow, data, displayedUnits) => ({
70636
+ label: "Add",
70637
+ icon: "plus",
70638
+ primary: true,
70639
+ onClick: () => addRow(data, displayedUnits),
70640
+ testId: "lithology-table-add-new-row"
70641
+ });
70642
+ const getDisplayedUnits = (tableDef, unitTemplate, oldStructureType) => {
70643
+ if (oldStructureType === STRUCTURE_TYPE.ARRAY) {
70644
+ return tableDef.reduce((prev2, curr, ix) => {
70645
+ const { unitKey } = curr;
70646
+ prev2[ix] = unitTemplate[unitKey];
70647
+ return prev2;
70648
+ }, []);
70649
+ }
70650
+ return tableDef.reduce((prev2, curr) => {
70651
+ const { key: key2, unitKey } = curr;
70652
+ return {
70653
+ ...prev2,
70654
+ [key2]: unitTemplate[unitKey]
70655
+ };
70656
+ }, {});
70657
+ };
70658
+ const buildTable = ({
70659
+ rows,
70660
+ tableDef,
70661
+ displayedUnits,
70662
+ handleUnitChange,
70663
+ tableActions,
70664
+ oldStructureType = STRUCTURE_TYPE.OBJECT
70665
+ }) => {
70666
+ if (!rows) {
70667
+ return {
70668
+ rows: [],
70669
+ headers: []
70670
+ };
70671
+ }
70672
+ const { addRow } = tableActions;
70673
+ const headers = [
70674
+ {
70675
+ cells: getHeaders({ tableDef }),
70676
+ actions: addRow ? [addRowHeader(addRow, rows, displayedUnits)] : []
70677
+ },
70678
+ {
70679
+ cells: getUnitCells({
70680
+ tableDef,
70681
+ displayedUnits,
70682
+ handleUnitChange,
70683
+ oldStructureType
70684
+ })
70685
+ }
70686
+ ];
70687
+ return {
70688
+ headers,
70689
+ rows
70690
+ };
70691
+ };
70692
+ const UnitTable = ({
70693
+ data,
70694
+ unitTemplate,
70695
+ tableDef,
70696
+ convertToCells,
70697
+ tableActions,
70698
+ testId,
70699
+ oldStructureType = STRUCTURE_TYPE.OBJECT
70700
+ }) => {
70701
+ const [displayedUnits, setDisplayedUnits] = useState(getDisplayedUnits(tableDef, unitTemplate, oldStructureType));
70702
+ useEffect(() => {
70703
+ setDisplayedUnits(
70704
+ getDisplayedUnits(tableDef, unitTemplate, oldStructureType)
70705
+ );
70706
+ }, [unitTemplate]);
70707
+ const handleUnitChange = (key2, unit2, ix) => {
70708
+ if (oldStructureType === STRUCTURE_TYPE.ARRAY) {
70709
+ setDisplayedUnits((prev2) => {
70710
+ const newUnits = [...prev2];
70711
+ newUnits[ix] = unit2;
70712
+ return newUnits;
70713
+ });
70714
+ } else {
70715
+ setDisplayedUnits((prev2) => ({ ...prev2, [key2]: unit2 }));
70716
+ }
70717
+ };
70718
+ const { headers, rows } = useMemo$1(
70719
+ () => buildTable({
70720
+ rows: convertToCells(
70721
+ onConvertData(data, displayedUnits, tableDef, oldStructureType),
70722
+ displayedUnits
70723
+ ),
70724
+ tableDef,
70725
+ displayedUnits,
70726
+ handleUnitChange,
70727
+ tableActions,
70728
+ oldStructureType
70729
+ }),
70730
+ [displayedUnits, data]
70731
+ );
70732
+ return /* @__PURE__ */ jsx(
70733
+ Table,
70734
+ {
70735
+ table: {
70736
+ testId,
70737
+ headers,
70738
+ rows,
70739
+ columnAlignment: tableDef.map((def) => def.columnAlignment),
70740
+ columnWidths: tableDef.map((def) => def.columnWidth),
70741
+ fixedWidth: "auto"
70742
+ },
70743
+ onListReorder: (tableActions == null ? void 0 : tableActions.reorderComponents) || void 0
70744
+ }
70745
+ );
70746
+ };
70540
70747
  export {
70541
70748
  Accordion,
70542
70749
  AccordionWithDefaultToggle,
@@ -70616,6 +70823,7 @@ export {
70616
70823
  Tree,
70617
70824
  TriggerType,
70618
70825
  UnitInput,
70826
+ UnitTable,
70619
70827
  dismissToast,
70620
70828
  readFile,
70621
70829
  toast,