@macrostrat/column-views 2.2.0 → 2.2.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 (184) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/esm/{column-views.0859feb3.js → column-views.0265cf7f.js} +5 -5
  3. package/dist/esm/{column-views.0859feb3.js.map → column-views.0265cf7f.js.map} +1 -1
  4. package/dist/esm/{column-views.d261b02d.js → column-views.0ce9b697.js} +3 -3
  5. package/dist/esm/{column-views.d261b02d.js.map → column-views.0ce9b697.js.map} +1 -1
  6. package/dist/esm/{column-views.3f528c5c.js → column-views.29a551f6.js} +22 -17
  7. package/dist/esm/column-views.29a551f6.js.map +1 -0
  8. package/dist/esm/{column-views.d406665d.js → column-views.2aef5df8.js} +4 -4
  9. package/dist/esm/{column-views.d406665d.js.map → column-views.2aef5df8.js.map} +1 -1
  10. package/dist/esm/{column-views.8d24b179.js → column-views.2e854496.js} +3 -3
  11. package/dist/esm/{column-views.8d24b179.js.map → column-views.2e854496.js.map} +1 -1
  12. package/dist/esm/{column-views.73b8ff16.js → column-views.2eceafb5.js} +2 -2
  13. package/dist/esm/{column-views.73b8ff16.js.map → column-views.2eceafb5.js.map} +1 -1
  14. package/dist/esm/{column-views.c518ef14.js → column-views.382c486d.js} +6 -6
  15. package/dist/esm/column-views.382c486d.js.map +1 -0
  16. package/dist/esm/{column-views.86a51ce7.js → column-views.413217dc.js} +2 -2
  17. package/dist/esm/column-views.413217dc.js.map +1 -0
  18. package/dist/esm/{column-views.e3bf5384.js → column-views.418f948f.js} +6 -6
  19. package/dist/esm/{column-views.e3bf5384.js.map → column-views.418f948f.js.map} +1 -1
  20. package/dist/esm/{column-views.d15d8655.js → column-views.41e5f0dc.js} +2 -2
  21. package/dist/esm/{column-views.d15d8655.js.map → column-views.41e5f0dc.js.map} +1 -1
  22. package/dist/esm/{column-views.1b644998.js → column-views.469a4952.js} +3 -3
  23. package/dist/esm/{column-views.1b644998.js.map → column-views.469a4952.js.map} +1 -1
  24. package/dist/esm/column-views.4ed90896.js +105 -0
  25. package/dist/esm/column-views.4ed90896.js.map +1 -0
  26. package/dist/esm/{column-views.d9c6b527.js → column-views.53722d0a.js} +12 -11
  27. package/dist/esm/column-views.53722d0a.js.map +1 -0
  28. package/dist/esm/{column-views.9ddbe7df.js → column-views.60365cdb.js} +2 -2
  29. package/dist/esm/{column-views.9ddbe7df.js.map → column-views.60365cdb.js.map} +1 -1
  30. package/dist/esm/{column-views.ae7c0a2b.js → column-views.748dce47.js} +2 -2
  31. package/dist/esm/{column-views.ae7c0a2b.js.map → column-views.748dce47.js.map} +1 -1
  32. package/dist/esm/{column-views.5a49cd68.js → column-views.7683bb52.js} +6 -7
  33. package/dist/esm/column-views.7683bb52.js.map +1 -0
  34. package/dist/esm/{column-views.83395185.js → column-views.787d7696.js} +3 -3
  35. package/dist/esm/{column-views.83395185.js.map → column-views.787d7696.js.map} +1 -1
  36. package/dist/esm/{column-views.5d969bc5.js → column-views.81bddbee.js} +5 -6
  37. package/dist/esm/column-views.81bddbee.js.map +1 -0
  38. package/dist/esm/{column-views.77561197.js → column-views.8284c3a9.js} +5 -5
  39. package/dist/esm/column-views.8284c3a9.js.map +1 -0
  40. package/dist/esm/{column-views.f46a0b36.js → column-views.8b623b27.js} +2 -2
  41. package/dist/esm/{column-views.f46a0b36.js.map → column-views.8b623b27.js.map} +1 -1
  42. package/dist/esm/{column-views.f2fd0e4a.js → column-views.a3fabf0f.js} +29 -29
  43. package/dist/esm/column-views.a3fabf0f.js.map +1 -0
  44. package/dist/esm/{column-views.6c644353.js → column-views.abeab9aa.js} +3 -3
  45. package/dist/esm/{column-views.6c644353.js.map → column-views.abeab9aa.js.map} +1 -1
  46. package/dist/esm/{column-views.285cbb65.js → column-views.adec2e4c.js} +3 -3
  47. package/dist/esm/{column-views.285cbb65.js.map → column-views.adec2e4c.js.map} +1 -1
  48. package/dist/esm/{column-views.0a8a07f4.js → column-views.b08d82e6.js} +2 -2
  49. package/dist/esm/{column-views.0a8a07f4.js.map → column-views.b08d82e6.js.map} +1 -1
  50. package/dist/esm/{column-views.53186d53.js → column-views.b29f8718.js} +2 -2
  51. package/dist/esm/{column-views.53186d53.js.map → column-views.b29f8718.js.map} +1 -1
  52. package/dist/esm/{column-views.0f7f6ee6.js → column-views.bbc77227.js} +2 -2
  53. package/dist/esm/{column-views.0f7f6ee6.js.map → column-views.bbc77227.js.map} +1 -1
  54. package/dist/esm/{column-views.ed05e233.js → column-views.c2fbcba8.js} +6 -4
  55. package/dist/esm/{column-views.ed05e233.js.map → column-views.c2fbcba8.js.map} +1 -1
  56. package/dist/esm/{column-views.e4c26185.js → column-views.c3495702.js} +2 -2
  57. package/dist/esm/{column-views.e4c26185.js.map → column-views.c3495702.js.map} +1 -1
  58. package/dist/esm/{column-views.63b7e5aa.js → column-views.cae1a6a1.js} +3 -3
  59. package/dist/esm/{column-views.63b7e5aa.js.map → column-views.cae1a6a1.js.map} +1 -1
  60. package/dist/esm/{column-views.ba0381cc.js → column-views.d86555b0.js} +2 -2
  61. package/dist/esm/{column-views.ba0381cc.js.map → column-views.d86555b0.js.map} +1 -1
  62. package/dist/esm/{column-views.986e7566.js → column-views.df34441c.js} +6 -8
  63. package/dist/esm/column-views.df34441c.js.map +1 -0
  64. package/dist/esm/{column-views.2d602a57.js → column-views.e17f00d3.js} +2 -2
  65. package/dist/esm/{column-views.2d602a57.js.map → column-views.e17f00d3.js.map} +1 -1
  66. package/dist/esm/{column-views.d69c4a9f.js → column-views.e1bc3cfa.js} +2 -2
  67. package/dist/esm/{column-views.d69c4a9f.js.map → column-views.e1bc3cfa.js.map} +1 -1
  68. package/dist/esm/{column-views.3e1b8c7d.js → column-views.f0b0fc56.js} +2 -2
  69. package/dist/esm/{column-views.3e1b8c7d.js.map → column-views.f0b0fc56.js.map} +1 -1
  70. package/dist/esm/{column-views.e84bd756.js → column-views.faacfc3c.js} +3 -3
  71. package/dist/esm/{column-views.e84bd756.js.map → column-views.faacfc3c.js.map} +1 -1
  72. package/dist/esm/index.d.ts +49 -37
  73. package/dist/esm/index.d.ts.map +1 -1
  74. package/dist/esm/index.js +11 -11
  75. package/dist/node/{column-views.45296250.js → column-views.0201566d.js} +2 -2
  76. package/dist/node/{column-views.45296250.js.map → column-views.0201566d.js.map} +1 -1
  77. package/dist/node/{column-views.87b1439e.js → column-views.07c503d3.js} +2 -2
  78. package/dist/node/column-views.07c503d3.js.map +1 -0
  79. package/dist/node/{column-views.9e155f20.js → column-views.0e7ac946.js} +2 -2
  80. package/dist/node/{column-views.9e155f20.js.map → column-views.0e7ac946.js.map} +1 -1
  81. package/dist/node/column-views.108db52e.js +2 -0
  82. package/dist/node/{column-views.c29e9eb8.js.map → column-views.108db52e.js.map} +1 -1
  83. package/dist/node/column-views.18d54bbb.js +2 -0
  84. package/dist/node/column-views.18d54bbb.js.map +1 -0
  85. package/dist/node/{column-views.c0be1157.js → column-views.19a84c01.js} +2 -2
  86. package/dist/node/{column-views.c0be1157.js.map → column-views.19a84c01.js.map} +1 -1
  87. package/dist/node/column-views.1a3c399e.js +2 -0
  88. package/dist/node/column-views.1a3c399e.js.map +1 -0
  89. package/dist/node/{column-views.827a9894.js → column-views.29483479.js} +2 -2
  90. package/dist/node/{column-views.827a9894.js.map → column-views.29483479.js.map} +1 -1
  91. package/dist/node/{column-views.b64cd0ea.js → column-views.312db572.js} +2 -2
  92. package/dist/node/{column-views.b64cd0ea.js.map → column-views.312db572.js.map} +1 -1
  93. package/dist/node/{column-views.e08f8715.js → column-views.32344397.js} +2 -2
  94. package/dist/node/{column-views.e08f8715.js.map → column-views.32344397.js.map} +1 -1
  95. package/dist/node/column-views.44952ae6.js +2 -0
  96. package/dist/node/column-views.44952ae6.js.map +1 -0
  97. package/dist/node/{column-views.ac1b58b7.js → column-views.45a03acc.js} +2 -2
  98. package/dist/node/{column-views.ac1b58b7.js.map → column-views.45a03acc.js.map} +1 -1
  99. package/dist/node/{column-views.492c2c72.js → column-views.4b4c214a.js} +2 -2
  100. package/dist/node/{column-views.492c2c72.js.map → column-views.4b4c214a.js.map} +1 -1
  101. package/dist/node/{column-views.a396d3ac.js → column-views.54363c13.js} +2 -2
  102. package/dist/node/{column-views.a396d3ac.js.map → column-views.54363c13.js.map} +1 -1
  103. package/dist/node/{column-views.01debc76.js → column-views.554d44a7.js} +2 -2
  104. package/dist/node/{column-views.01debc76.js.map → column-views.554d44a7.js.map} +1 -1
  105. package/dist/node/{column-views.9dda582d.js → column-views.57dd069c.js} +2 -2
  106. package/dist/node/{column-views.9dda582d.js.map → column-views.57dd069c.js.map} +1 -1
  107. package/dist/node/{column-views.75582658.js → column-views.588b02a1.js} +2 -2
  108. package/dist/node/{column-views.75582658.js.map → column-views.588b02a1.js.map} +1 -1
  109. package/dist/node/{column-views.576e3c5a.js → column-views.5a8bc8e3.js} +2 -2
  110. package/dist/node/{column-views.576e3c5a.js.map → column-views.5a8bc8e3.js.map} +1 -1
  111. package/dist/node/{column-views.e065152e.js → column-views.6099a3a9.js} +2 -2
  112. package/dist/node/{column-views.e065152e.js.map → column-views.6099a3a9.js.map} +1 -1
  113. package/dist/node/column-views.6919fd2a.js +2 -0
  114. package/dist/node/column-views.6919fd2a.js.map +1 -0
  115. package/dist/node/{column-views.13e69859.js → column-views.6b8424fd.js} +2 -2
  116. package/dist/node/{column-views.13e69859.js.map → column-views.6b8424fd.js.map} +1 -1
  117. package/dist/node/column-views.92e29010.js +2 -0
  118. package/dist/node/column-views.92e29010.js.map +1 -0
  119. package/dist/node/{column-views.dd972321.js → column-views.93febe9b.js} +2 -2
  120. package/dist/node/{column-views.dd972321.js.map → column-views.93febe9b.js.map} +1 -1
  121. package/dist/node/{column-views.040499c9.js → column-views.94c84716.js} +2 -2
  122. package/dist/node/{column-views.040499c9.js.map → column-views.94c84716.js.map} +1 -1
  123. package/dist/node/{column-views.a34732e7.js → column-views.a1e29a15.js} +2 -2
  124. package/dist/node/{column-views.a34732e7.js.map → column-views.a1e29a15.js.map} +1 -1
  125. package/dist/node/{column-views.105f6ad2.js → column-views.abe0a664.js} +2 -2
  126. package/dist/node/{column-views.105f6ad2.js.map → column-views.abe0a664.js.map} +1 -1
  127. package/dist/node/{column-views.81294fb7.js → column-views.ae9536b3.js} +2 -2
  128. package/dist/node/{column-views.81294fb7.js.map → column-views.ae9536b3.js.map} +1 -1
  129. package/dist/node/{column-views.cd77a1d8.js → column-views.ce5904a6.js} +2 -2
  130. package/dist/node/{column-views.cd77a1d8.js.map → column-views.ce5904a6.js.map} +1 -1
  131. package/dist/node/{column-views.6fd5a922.js → column-views.d4545f9f.js} +2 -2
  132. package/dist/node/{column-views.6fd5a922.js.map → column-views.d4545f9f.js.map} +1 -1
  133. package/dist/node/{column-views.b6cd4360.js → column-views.db4ccacc.js} +2 -2
  134. package/dist/node/column-views.db4ccacc.js.map +1 -0
  135. package/dist/node/{column-views.cf2a78c1.js → column-views.ebe61439.js} +2 -2
  136. package/dist/node/column-views.ebe61439.js.map +1 -0
  137. package/dist/node/{column-views.7150ba18.js → column-views.f0f5cefd.js} +2 -2
  138. package/dist/node/column-views.f0f5cefd.js.map +1 -0
  139. package/dist/node/{column-views.2bd97c2e.js → column-views.f1ad131a.js} +2 -2
  140. package/dist/node/{column-views.2bd97c2e.js.map → column-views.f1ad131a.js.map} +1 -1
  141. package/dist/node/{column-views.1a7f8afd.js → column-views.f7d72702.js} +2 -2
  142. package/dist/node/{column-views.1a7f8afd.js.map → column-views.f7d72702.js.map} +1 -1
  143. package/dist/node/{column-views.07ff1fdf.js → column-views.fcdc74c4.js} +2 -2
  144. package/dist/node/{column-views.07ff1fdf.js.map → column-views.fcdc74c4.js.map} +1 -1
  145. package/dist/node/index.js +1 -1
  146. package/dist/node/index.js.map +1 -1
  147. package/package.json +4 -2
  148. package/src/column.ts +17 -14
  149. package/src/correlation-chart/main.ts +1 -1
  150. package/src/data-provider/index.ts +1 -0
  151. package/src/data-provider/store.ts +67 -12
  152. package/src/{units/selection.ts → data-provider/unit-selection.ts} +1 -1
  153. package/src/maps/column-correlation/state.ts +0 -1
  154. package/src/unit-details/panel.ts +1 -1
  155. package/src/unit-details/popover.ts +1 -1
  156. package/src/units/boxes.ts +1 -2
  157. package/src/units/composite.ts +5 -2
  158. package/src/units/index.ts +0 -1
  159. package/dist/esm/column-views.3f528c5c.js.map +0 -1
  160. package/dist/esm/column-views.4fd4ec92.js +0 -67
  161. package/dist/esm/column-views.4fd4ec92.js.map +0 -1
  162. package/dist/esm/column-views.5a49cd68.js.map +0 -1
  163. package/dist/esm/column-views.5d969bc5.js.map +0 -1
  164. package/dist/esm/column-views.77561197.js.map +0 -1
  165. package/dist/esm/column-views.86a51ce7.js.map +0 -1
  166. package/dist/esm/column-views.986e7566.js.map +0 -1
  167. package/dist/esm/column-views.c518ef14.js.map +0 -1
  168. package/dist/esm/column-views.d9c6b527.js.map +0 -1
  169. package/dist/esm/column-views.f2fd0e4a.js.map +0 -1
  170. package/dist/node/column-views.3b37363f.js +0 -2
  171. package/dist/node/column-views.3b37363f.js.map +0 -1
  172. package/dist/node/column-views.7150ba18.js.map +0 -1
  173. package/dist/node/column-views.728c8dfc.js +0 -2
  174. package/dist/node/column-views.728c8dfc.js.map +0 -1
  175. package/dist/node/column-views.87b1439e.js.map +0 -1
  176. package/dist/node/column-views.b6cd4360.js.map +0 -1
  177. package/dist/node/column-views.c29e9eb8.js +0 -2
  178. package/dist/node/column-views.c8df6435.js +0 -2
  179. package/dist/node/column-views.c8df6435.js.map +0 -1
  180. package/dist/node/column-views.cd2a5c85.js +0 -2
  181. package/dist/node/column-views.cd2a5c85.js.map +0 -1
  182. package/dist/node/column-views.cf2a78c1.js.map +0 -1
  183. package/dist/node/column-views.e0d9865e.js +0 -2
  184. package/dist/node/column-views.e0d9865e.js.map +0 -1
@@ -1 +1 @@
1
- {"mappings":";;;;;;;;;AAKO,SAAS,0CAA+B,KAAK;IAClD,MAAM,YAAE,QAAQ,aAAE,SAAS,gBAAE,YAAY,gBAAE,YAAY,YAAE,QAAQ,EAAE,GAAG,MAAM,GAC1E;IAEF,MAAM,KAAK,UAAU,UACnB,CAAC,OAAS,KAAK,OAAO,KAAK,cAAc;IAG3C,MAAM,SAAS;QACb,IAAI,KAAK;QACT,IAAI,KAAK;IACX;IAEA,CAAA,GAAA,oBAAY,EACV,CAAC;QACC,MAAM,SAAS,MAAM,CAAC,MAAM,OAAO,CAAC;QACpC,IAAI,UAAU,QAAQ,SAAS,KAAK,UAAU,SAAS,MAAM,EAAE;QAC/D,aAAa,QAAQ,CAAC,OAAO,CAAC,OAAO;QACrC,MAAM,eAAe;IACvB,GACA;QAAC;QAAU;KAAG;IAGhB,IAAI,gBAAgB,MAAM,OAAO;IAEjC,MAAM,UAAU,CAAA,GAAA,sBAAA,EAAE;QAChB,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,aAAK,GAAG;YACR,MAAM;YACN,UAAU,OAAO;YACjB;gBACE,aAAa,QAAQ,CAAC,KAAK,EAAE,EAAE;YACjC;QACF;QACA,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,aAAK,GAAG;YACR,MAAM;YACN,UAAU,OAAO,SAAS,MAAM,GAAG;YACnC;gBACE,aAAa,QAAQ,CAAC,KAAK,EAAE,EAAE;YACjC;QACF;KACD;IAED,OAAO,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,yCAAe,GAAG;QACzB,MAAM;QACN,SAAQ,KAAK;YACX,aAAa;QACf;mBACA;iBACA;QACA,0BAA0B;QAC1B,YAAY;QACZ,aAAa;kBACb;QACA,GAAG,IAAI;IACT;AACF","sources":["packages/column-views/src/unit-details/modal-panel.ts"],"sourcesContent":["import { Button } from \"@blueprintjs/core\";\nimport { UnitDetailsPanel } from \"./panel\";\nimport { useKeyHandler } from \"@macrostrat/ui-components\";\nimport h from \"@macrostrat/hyper\";\n\nexport function UnitDetailsPanelWithNavigation(props) {\n const { unitData, className, selectedUnit, onSelectUnit, features, ...rest } =\n props;\n\n const ix = unitData?.findIndex(\n (unit) => unit.unit_id === selectedUnit?.unit_id,\n );\n\n const keyMap = {\n 38: ix - 1,\n 40: ix + 1,\n };\n\n useKeyHandler(\n (event) => {\n const nextIx = keyMap[event.keyCode];\n if (nextIx == null || nextIx < 0 || nextIx >= unitData.length) return;\n onSelectUnit(unitData[nextIx].unit_id);\n event.stopPropagation();\n },\n [unitData, ix],\n );\n\n if (selectedUnit == null) return null;\n\n const actions = h([\n h(Button, {\n icon: \"arrow-up\",\n disabled: ix === 0,\n onClick() {\n onSelectUnit(unitData[ix - 1]?.unit_id);\n },\n }),\n h(Button, {\n icon: \"arrow-down\",\n disabled: ix === unitData.length - 1,\n onClick() {\n onSelectUnit(unitData[ix + 1]?.unit_id);\n },\n }),\n ]);\n\n return h(UnitDetailsPanel, {\n unit: selectedUnit,\n onClose(event) {\n onSelectUnit(null);\n },\n className,\n actions,\n showLithologyProportions: true,\n selectUnit: onSelectUnit,\n columnUnits: unitData,\n features,\n ...rest,\n });\n}\n"],"names":[],"version":3,"file":"column-views.ba0381cc.js.map"}
1
+ {"mappings":";;;;;;;;;AAKO,SAAS,0CAA+B,KAAK;IAClD,MAAM,YAAE,QAAQ,aAAE,SAAS,gBAAE,YAAY,gBAAE,YAAY,YAAE,QAAQ,EAAE,GAAG,MAAM,GAC1E;IAEF,MAAM,KAAK,UAAU,UACnB,CAAC,OAAS,KAAK,OAAO,KAAK,cAAc;IAG3C,MAAM,SAAS;QACb,IAAI,KAAK;QACT,IAAI,KAAK;IACX;IAEA,CAAA,GAAA,oBAAY,EACV,CAAC;QACC,MAAM,SAAS,MAAM,CAAC,MAAM,OAAO,CAAC;QACpC,IAAI,UAAU,QAAQ,SAAS,KAAK,UAAU,SAAS,MAAM,EAAE;QAC/D,aAAa,QAAQ,CAAC,OAAO,CAAC,OAAO;QACrC,MAAM,eAAe;IACvB,GACA;QAAC;QAAU;KAAG;IAGhB,IAAI,gBAAgB,MAAM,OAAO;IAEjC,MAAM,UAAU,CAAA,GAAA,sBAAA,EAAE;QAChB,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,aAAK,GAAG;YACR,MAAM;YACN,UAAU,OAAO;YACjB;gBACE,aAAa,QAAQ,CAAC,KAAK,EAAE,EAAE;YACjC;QACF;QACA,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,aAAK,GAAG;YACR,MAAM;YACN,UAAU,OAAO,SAAS,MAAM,GAAG;YACnC;gBACE,aAAa,QAAQ,CAAC,KAAK,EAAE,EAAE;YACjC;QACF;KACD;IAED,OAAO,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,yCAAe,GAAG;QACzB,MAAM;QACN,SAAQ,KAAK;YACX,aAAa;QACf;mBACA;iBACA;QACA,0BAA0B;QAC1B,YAAY;QACZ,aAAa;kBACb;QACA,GAAG,IAAI;IACT;AACF","sources":["packages/column-views/src/unit-details/modal-panel.ts"],"sourcesContent":["import { Button } from \"@blueprintjs/core\";\nimport { UnitDetailsPanel } from \"./panel\";\nimport { useKeyHandler } from \"@macrostrat/ui-components\";\nimport h from \"@macrostrat/hyper\";\n\nexport function UnitDetailsPanelWithNavigation(props) {\n const { unitData, className, selectedUnit, onSelectUnit, features, ...rest } =\n props;\n\n const ix = unitData?.findIndex(\n (unit) => unit.unit_id === selectedUnit?.unit_id,\n );\n\n const keyMap = {\n 38: ix - 1,\n 40: ix + 1,\n };\n\n useKeyHandler(\n (event) => {\n const nextIx = keyMap[event.keyCode];\n if (nextIx == null || nextIx < 0 || nextIx >= unitData.length) return;\n onSelectUnit(unitData[nextIx].unit_id);\n event.stopPropagation();\n },\n [unitData, ix],\n );\n\n if (selectedUnit == null) return null;\n\n const actions = h([\n h(Button, {\n icon: \"arrow-up\",\n disabled: ix === 0,\n onClick() {\n onSelectUnit(unitData[ix - 1]?.unit_id);\n },\n }),\n h(Button, {\n icon: \"arrow-down\",\n disabled: ix === unitData.length - 1,\n onClick() {\n onSelectUnit(unitData[ix + 1]?.unit_id);\n },\n }),\n ]);\n\n return h(UnitDetailsPanel, {\n unit: selectedUnit,\n onClose(event) {\n onSelectUnit(null);\n },\n className,\n actions,\n showLithologyProportions: true,\n selectUnit: onSelectUnit,\n columnUnits: unitData,\n features,\n ...rest,\n });\n}\n"],"names":[],"version":3,"file":"column-views.d86555b0.js.map"}
@@ -1,11 +1,10 @@
1
- import {UnitNamesColumn as $bc17276da4abb183$export$594d19cdd88f8c16} from "./column-views.d69c4a9f.js";
2
- import {UnitBoxes as $d254716a820e9c85$export$5d1cdfabe8dc8085} from "./column-views.5d969bc5.js";
1
+ import {UnitNamesColumn as $bc17276da4abb183$export$594d19cdd88f8c16} from "./column-views.e1bc3cfa.js";
2
+ import {UnitBoxes as $d254716a820e9c85$export$5d1cdfabe8dc8085} from "./column-views.81bddbee.js";
3
3
  import {getMixedUnitColor as $6698edd2a743bf07$export$175d3e927f1a9860} from "./column-views.9b77388d.js";
4
- import {TrackedLabeledUnit as $8c8238faa5cde49c$export$f613830566442374, LabelTrackerProvider as $8c8238faa5cde49c$export$e4e89ab6c86ac513, CompositeUnitComponent as $8c8238faa5cde49c$export$1dfa200d57964eee, CompositeUnitsColumn as $8c8238faa5cde49c$export$a6684360fef0406e, AnnotatedUnitsColumn as $8c8238faa5cde49c$export$d8c3f2fdd653a082, SectionLabelsColumn as $8c8238faa5cde49c$export$13984e34afdbb040, ColumnNotesProvider as $8c8238faa5cde49c$export$6cc7a9df4edde18} from "./column-views.5a49cd68.js";
5
- import {useEnvironments as $774a5efa27d1c77b$export$c6b216bf4c71b61f, useLithologies as $774a5efa27d1c77b$export$4d18a90c945d129f} from "./column-views.73b8ff16.js";
4
+ import {TrackedLabeledUnit as $8c8238faa5cde49c$export$f613830566442374, LabelTrackerProvider as $8c8238faa5cde49c$export$e4e89ab6c86ac513, CompositeUnitComponent as $8c8238faa5cde49c$export$1dfa200d57964eee, CompositeUnitsColumn as $8c8238faa5cde49c$export$a6684360fef0406e, AnnotatedUnitsColumn as $8c8238faa5cde49c$export$d8c3f2fdd653a082, SectionLabelsColumn as $8c8238faa5cde49c$export$13984e34afdbb040, ColumnNotesProvider as $8c8238faa5cde49c$export$6cc7a9df4edde18} from "./column-views.7683bb52.js";
5
+ import {useEnvironments as $774a5efa27d1c77b$export$c6b216bf4c71b61f, useLithologies as $774a5efa27d1c77b$export$4d18a90c945d129f} from "./column-views.2eceafb5.js";
6
6
  import {resolveID as $d3e69bd163d41f63$export$7be7d732f3de9464} from "./column-views.006d5180.js";
7
7
  import "./column-views.f9dab157.js";
8
- import {useUnitSelectionDispatch as $4d5d1c15f39f6a14$export$77a278d5ca56e309, useUnitSelectionStore as $4d5d1c15f39f6a14$export$b220b1d3591dc9e5, useSelectedUnit as $4d5d1c15f39f6a14$export$f0dd93f90aa8e5da, UnitSelectionProvider as $4d5d1c15f39f6a14$export$f19d75b1d4b676a4, useUnitSelectionTarget as $4d5d1c15f39f6a14$export$cbbec12b1451fe7d, UnitKeyboardNavigation as $4d5d1c15f39f6a14$export$70f5ee19650fc7d1} from "./column-views.f2fd0e4a.js";
9
8
  import $7H3th$macrostrathyper from "@macrostrat/hyper";
10
9
  import {LithologyColumn as $7H3th$LithologyColumn, useColumnLayout as $7H3th$useColumnLayout, useGeologicPattern as $7H3th$useGeologicPattern} from "@macrostrat/column-components";
11
10
  import {useInDarkMode as $7H3th$useInDarkMode} from "@macrostrat/ui-components";
@@ -22,7 +21,6 @@ import {useMemo as $7H3th$useMemo} from "react";
22
21
 
23
22
 
24
23
 
25
-
26
24
  function $4c8184c4a7317749$export$3750278673318c9a({ width: width = 100 }) {
27
25
  /*
28
26
  A column showing units with USGS color fill
@@ -147,5 +145,5 @@ function $4c8184c4a7317749$var$getPatternID(liths, lithMap) {
147
145
  }
148
146
 
149
147
 
150
- export {$4c8184c4a7317749$export$3750278673318c9a as UnitsColumn, $4c8184c4a7317749$export$2006342ddaa547c6 as SimpleUnitsColumn, $4c8184c4a7317749$export$600691a8e9d13a7 as BasicUnitComponent, $4c8184c4a7317749$export$48a4cacf2b7a4441 as UnitComponent, $4c8184c4a7317749$export$62c7735c72801c19 as useUnitColor, $4c8184c4a7317749$export$6012fd1584b5d0c0 as ColoredUnitComponent, $4c8184c4a7317749$export$4830e703a903113 as useUnitColorByEnvironment, $4c8184c4a7317749$export$c2fe8a14da82d570 as EnvironmentColoredUnitComponent, $6698edd2a743bf07$export$175d3e927f1a9860 as getMixedUnitColor, $8c8238faa5cde49c$export$e4e89ab6c86ac513 as LabelTrackerProvider, $8c8238faa5cde49c$export$f613830566442374 as TrackedLabeledUnit, $8c8238faa5cde49c$export$1dfa200d57964eee as CompositeUnitComponent, $8c8238faa5cde49c$export$a6684360fef0406e as CompositeUnitsColumn, $8c8238faa5cde49c$export$d8c3f2fdd653a082 as AnnotatedUnitsColumn, $8c8238faa5cde49c$export$13984e34afdbb040 as SectionLabelsColumn, $8c8238faa5cde49c$export$6cc7a9df4edde18 as ColumnNotesProvider, $4d5d1c15f39f6a14$export$77a278d5ca56e309 as useUnitSelectionDispatch, $4d5d1c15f39f6a14$export$b220b1d3591dc9e5 as useUnitSelectionStore, $4d5d1c15f39f6a14$export$f0dd93f90aa8e5da as useSelectedUnit, $4d5d1c15f39f6a14$export$f19d75b1d4b676a4 as UnitSelectionProvider, $4d5d1c15f39f6a14$export$cbbec12b1451fe7d as useUnitSelectionTarget, $4d5d1c15f39f6a14$export$70f5ee19650fc7d1 as UnitKeyboardNavigation};
151
- //# sourceMappingURL=column-views.986e7566.js.map
148
+ export {$4c8184c4a7317749$export$3750278673318c9a as UnitsColumn, $4c8184c4a7317749$export$2006342ddaa547c6 as SimpleUnitsColumn, $4c8184c4a7317749$export$600691a8e9d13a7 as BasicUnitComponent, $4c8184c4a7317749$export$48a4cacf2b7a4441 as UnitComponent, $4c8184c4a7317749$export$62c7735c72801c19 as useUnitColor, $4c8184c4a7317749$export$6012fd1584b5d0c0 as ColoredUnitComponent, $4c8184c4a7317749$export$4830e703a903113 as useUnitColorByEnvironment, $4c8184c4a7317749$export$c2fe8a14da82d570 as EnvironmentColoredUnitComponent, $6698edd2a743bf07$export$175d3e927f1a9860 as getMixedUnitColor, $8c8238faa5cde49c$export$e4e89ab6c86ac513 as LabelTrackerProvider, $8c8238faa5cde49c$export$f613830566442374 as TrackedLabeledUnit, $8c8238faa5cde49c$export$1dfa200d57964eee as CompositeUnitComponent, $8c8238faa5cde49c$export$a6684360fef0406e as CompositeUnitsColumn, $8c8238faa5cde49c$export$d8c3f2fdd653a082 as AnnotatedUnitsColumn, $8c8238faa5cde49c$export$13984e34afdbb040 as SectionLabelsColumn, $8c8238faa5cde49c$export$6cc7a9df4edde18 as ColumnNotesProvider};
149
+ //# sourceMappingURL=column-views.df34441c.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"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","sources":["packages/column-views/src/units/index.ts"],"sourcesContent":["import h from \"@macrostrat/hyper\";\nimport {\n LithologyColumn,\n useGeologicPattern,\n} from \"@macrostrat/column-components\";\nimport { UnitNamesColumn } from \"./names\";\nimport { ICompositeUnitProps } from \"./composite\";\nimport { UnitBoxes, UnitProps } from \"./boxes\";\nimport { useColumnLayout } from \"@macrostrat/column-components\";\nimport { useInDarkMode } from \"@macrostrat/ui-components\";\nimport { getMixedUnitColor } from \"./colors\";\nimport { TrackedLabeledUnit } from \"./composite\";\nimport { useEnvironments, useLithologies } from \"../data-provider\";\nimport { useMemo } from \"react\";\nimport { resolveID } from \"./resolvers\";\nimport { Lithology } from \"@macrostrat/api-types\";\n\nexport * from \"./composite\";\nexport * from \"./types\";\nexport * from \"./colors\";\n\nexport function UnitsColumn({ width = 100 }) {\n /*\n A column showing units with USGS color fill\n */\n return h(LithologyColumn, { width }, h(UnitBoxes));\n}\n\nexport function SimpleUnitsColumn(props: ICompositeUnitProps) {\n /*\n A column with units and names either\n overlapping or offset to the right\n */\n const { columnWidth, width, gutterWidth = 0, labelOffset = 30 } = props;\n\n return h([\n h(UnitsColumn, {\n width: columnWidth,\n }),\n h(UnitNamesColumn, {\n transform: `translate(${columnWidth + gutterWidth})`,\n paddingLeft: labelOffset,\n width: width - columnWidth - gutterWidth,\n }),\n ]);\n}\n\nexport function BasicUnitComponent({ division, ...rest }) {\n /** A unit that allows directly setting colors and patterns. */\n\n return h(UnitComponent, {\n division,\n ...rest,\n backgroundColor: division.color,\n patternID: division.patternID,\n });\n}\n\nexport function UnitComponent({ division, nColumns = 2, ...rest }) {\n const width = rest.width ?? useColumnLayout()?.width;\n\n const nOverlappingUnits = division.overlappingUnits?.length ?? 0;\n const _nColumns = nOverlappingUnits == 0 ? 1 : nColumns;\n const columnIx = (division.column ?? 0) % _nColumns;\n const reducedWidth = width / _nColumns;\n const x = (columnIx * width) / _nColumns;\n\n return h(TrackedLabeledUnit, {\n division,\n ...rest,\n width: reducedWidth,\n x,\n });\n}\n\ninterface UnitColorOptions {\n asBackground?: boolean;\n}\n\nexport function useUnitColor(unit, opts: UnitColorOptions = {}): string | null {\n /** Get the color for a unit based on its lithology */\n const lithMap = useLithologies();\n const inDarkMode = useInDarkMode();\n const { asBackground = true } = opts;\n\n return useMemo(() => {\n if (unit == null || lithMap == null) return null;\n return getMixedUnitColor(unit, lithMap, inDarkMode, asBackground);\n }, [unit?.unit_id, lithMap, inDarkMode, asBackground]);\n}\n\nexport function ColoredUnitComponent(props) {\n /** A unit component that is colored using a mixture of lithologies.\n * This is a separate component because it depends on more providers/contexts to determine coloring. */\n const backgroundColor = useUnitColor(props.division);\n\n const patternID = useMemo(() => {\n return resolveID(props.division); // ?? getPatternID(props.division.lith, lithMap);\n }, [props.division?.unit_id]);\n\n const fill = useGeologicPattern(patternID);\n\n return h(UnitComponent, {\n fill,\n backgroundColor,\n ...props,\n });\n}\n\nexport function useUnitColorByEnvironment(\n unit,\n opts: UnitColorOptions = {},\n): string | null {\n /** Get the color for a unit based on its lithology */\n const environmentMap = useEnvironments();\n const lithMap = useLithologies();\n const inDarkMode = useInDarkMode();\n const { asBackground = true } = opts;\n\n return useMemo(() => {\n if (unit == null || environmentMap == null) return null;\n let c = getMixedUnitColor(unit, environmentMap, inDarkMode, asBackground, {\n key: \"environ\",\n id_key: \"environ_id\",\n });\n if (c != null) {\n return c;\n }\n // Fallback to lithology color if no environment color is found\n return getMixedUnitColor(unit, lithMap, inDarkMode, asBackground);\n }, [unit?.unit_id, environmentMap, lithMap, inDarkMode, asBackground]);\n}\n\nexport function EnvironmentColoredUnitComponent(props) {\n /** A unit component that is colored using a mixture of lithologies.\n * This is a separate component because it depends on more providers/contexts to determine coloring. */\n const backgroundColor = useUnitColorByEnvironment(props.division);\n\n const patternID = useMemo(() => {\n return resolveID(props.division); // ?? getPatternID(props.division.lith, lithMap);\n }, [props.division?.unit_id]);\n\n const fill = useGeologicPattern(patternID);\n\n return h(UnitComponent, {\n fill,\n backgroundColor,\n ...props,\n });\n}\n\nfunction getPatternID(\n liths: Array<Lithology>,\n lithMap: Map<number, Lithology>,\n): string | null {\n if (lithMap == null || liths == null || liths.length == 0) {\n return null;\n }\n const patternIDs = new Set<string>();\n for (const lith of liths) {\n const lithData = lithMap.get(lith.lith_id);\n if (lithData) {\n patternIDs.add(`${lithData.fill}`);\n }\n }\n let id = patternIDs.values()[0];\n if (id == \"0\") return null;\n return id;\n}\n"],"names":[],"version":3,"file":"column-views.df34441c.js.map"}
@@ -1,4 +1,4 @@
1
- import {BaseMeasurementsColumn as $c6d9d48b3424a44c$export$ce5c4f2fdf4e644d, TruncatedList as $c6d9d48b3424a44c$export$653e47a7a0da0f0d} from "./column-views.e84bd756.js";
1
+ import {BaseMeasurementsColumn as $c6d9d48b3424a44c$export$ce5c4f2fdf4e644d, TruncatedList as $c6d9d48b3424a44c$export$653e47a7a0da0f0d} from "./column-views.faacfc3c.js";
2
2
  import $fqcIO$macrostrathyper from "@macrostrat/hyper";
3
3
  import {useAPIResult as $fqcIO$useAPIResult} from "@macrostrat/ui-components";
4
4
 
@@ -34,4 +34,4 @@ function $6ff130029901daab$var$SGPSamplesNote(props) {
34
34
 
35
35
 
36
36
  export {$6ff130029901daab$export$c49cf57576706bab as SGPMeasurementsColumn};
37
- //# sourceMappingURL=column-views.2d602a57.js.map
37
+ //# sourceMappingURL=column-views.e17f00d3.js.map
@@ -1 +1 @@
1
- {"mappings":";;;;;;;AAIA,SAAS,iCAAW,UAAE,MAAM,EAAE;IAC5B,MAAM,MAAM,CAAA,GAAA,mBAAW,EACrB,sDACA;QACE,QAAQ,CAAC,GAAG,EAAE,QAAQ;IACxB,GACA,CAAC,IAAM;IAET,OAAO;AACT;AAEO,SAAS,0CAAsB,YAAE,QAAQ,SAAE,QAAQ,WAAW;IACnE,MAAM,OAAO,iCAAW;QAAE,QAAQ;IAAS;IAE3C,IAAI,QAAQ,MAAM,OAAO;IAEzB,OAAO,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,yCAAqB,GAAG;cAC/B;QACA,eAAe;IACjB;AACF;AAEA,SAAS,qCAAe,KAAK;IAC3B,MAAM,QAAE,IAAI,EAAE,GAAG;IACjB,MAAM,cAAc,MAAM,MAAM;IAEhC,IAAI,eAAe,QAAQ,YAAY,MAAM,KAAK,GAAG,OAAO;IAE5D,OAAO,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,yCAAY,GAAG;QACtB,WAAW;QACX,MAAM;QACN,cAAc,CAAC,IAAM,CAAA,GAAA,sBAAA,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI;IAC5C;AACF","sources":["packages/column-views/src/facets/measurements/index.ts"],"sourcesContent":["import h from \"@macrostrat/hyper\";\nimport { useAPIResult } from \"@macrostrat/ui-components\";\nimport { BaseMeasurementsColumn, TruncatedList } from \"../base-sample-column\";\n\nfunction useSGPData({ col_id }) {\n const res = useAPIResult(\n \"https://dev.macrostrat.org/api/pg/sgp_unit_matches\",\n {\n col_id: `eq.${col_id}`,\n },\n (d) => d,\n );\n return res;\n}\n\nexport function SGPMeasurementsColumn({ columnID, color = \"magenta\" }) {\n const data = useSGPData({ col_id: columnID });\n\n if (data == null) return null;\n\n return h(BaseMeasurementsColumn, {\n data,\n noteComponent: SGPSamplesNote,\n });\n}\n\nfunction SGPSamplesNote(props) {\n const { note } = props;\n const sgp_samples = note?.data?.sgp_samples;\n\n if (sgp_samples == null || sgp_samples.length === 0) return null;\n\n return h(TruncatedList, {\n className: \"sgp-samples\",\n data: sgp_samples,\n itemRenderer: (p) => h(\"span\", p.data.name),\n });\n}\n"],"names":[],"version":3,"file":"column-views.2d602a57.js.map"}
1
+ {"mappings":";;;;;;;AAIA,SAAS,iCAAW,UAAE,MAAM,EAAE;IAC5B,MAAM,MAAM,CAAA,GAAA,mBAAW,EACrB,sDACA;QACE,QAAQ,CAAC,GAAG,EAAE,QAAQ;IACxB,GACA,CAAC,IAAM;IAET,OAAO;AACT;AAEO,SAAS,0CAAsB,YAAE,QAAQ,SAAE,QAAQ,WAAW;IACnE,MAAM,OAAO,iCAAW;QAAE,QAAQ;IAAS;IAE3C,IAAI,QAAQ,MAAM,OAAO;IAEzB,OAAO,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,yCAAqB,GAAG;cAC/B;QACA,eAAe;IACjB;AACF;AAEA,SAAS,qCAAe,KAAK;IAC3B,MAAM,QAAE,IAAI,EAAE,GAAG;IACjB,MAAM,cAAc,MAAM,MAAM;IAEhC,IAAI,eAAe,QAAQ,YAAY,MAAM,KAAK,GAAG,OAAO;IAE5D,OAAO,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,yCAAY,GAAG;QACtB,WAAW;QACX,MAAM;QACN,cAAc,CAAC,IAAM,CAAA,GAAA,sBAAA,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI;IAC5C;AACF","sources":["packages/column-views/src/facets/measurements/index.ts"],"sourcesContent":["import h from \"@macrostrat/hyper\";\nimport { useAPIResult } from \"@macrostrat/ui-components\";\nimport { BaseMeasurementsColumn, TruncatedList } from \"../base-sample-column\";\n\nfunction useSGPData({ col_id }) {\n const res = useAPIResult(\n \"https://dev.macrostrat.org/api/pg/sgp_unit_matches\",\n {\n col_id: `eq.${col_id}`,\n },\n (d) => d,\n );\n return res;\n}\n\nexport function SGPMeasurementsColumn({ columnID, color = \"magenta\" }) {\n const data = useSGPData({ col_id: columnID });\n\n if (data == null) return null;\n\n return h(BaseMeasurementsColumn, {\n data,\n noteComponent: SGPSamplesNote,\n });\n}\n\nfunction SGPSamplesNote(props) {\n const { note } = props;\n const sgp_samples = note?.data?.sgp_samples;\n\n if (sgp_samples == null || sgp_samples.length === 0) return null;\n\n return h(TruncatedList, {\n className: \"sgp-samples\",\n data: sgp_samples,\n itemRenderer: (p) => h(\"span\", p.data.name),\n });\n}\n"],"names":[],"version":3,"file":"column-views.e17f00d3.js.map"}
@@ -1,5 +1,5 @@
1
1
  import {getUnitHeightRange as $b6657fba8924a702$export$70e712e2ac0237a} from "./column-views.54f8b909.js";
2
- import {useCompositeScale as $d5074f164411387e$export$a7fc62995ec4f76, useMacrostratColumnData as $d5074f164411387e$export$f8509b7cce386c7d} from "./column-views.4fd4ec92.js";
2
+ import {useCompositeScale as $d5074f164411387e$export$a7fc62995ec4f76, useMacrostratColumnData as $d5074f164411387e$export$f8509b7cce386c7d} from "./column-views.4ed90896.js";
3
3
  import $5ZBll$macrostrathyper from "@macrostrat/hyper";
4
4
  import $5ZBll$react, {useCallback as $5ZBll$useCallback, useMemo as $5ZBll$useMemo} from "react";
5
5
  import {NotesColumn as $5ZBll$NotesColumn} from "@macrostrat/column-components";
@@ -66,4 +66,4 @@ function $bc17276da4abb183$export$594d19cdd88f8c16(props) {
66
66
 
67
67
 
68
68
  export {$bc17276da4abb183$export$2f2e65a797f8fc1e as noteForDivision, $bc17276da4abb183$export$c9757aeb43a67df0 as defaultNameFunction, $bc17276da4abb183$export$6316e673796ccb55 as UnitDataColumn, $bc17276da4abb183$export$594d19cdd88f8c16 as UnitNamesColumn};
69
- //# sourceMappingURL=column-views.d69c4a9f.js.map
69
+ //# sourceMappingURL=column-views.e1bc3cfa.js.map
@@ -1 +1 @@
1
- {"mappings":";;;;;;;;;;;AA+BA,SAAS,0CACP,GAAU,EACV,IAAkC;IAElC,MAAM,YAAE,QAAQ,EAAE,GAAG;IAErB,MAAM,CAAC,QAAQ,WAAW,GAAG,CAAA,GAAA,wCAAiB,EAAE,KAAK;IAErD,OAAO;gBACL;oBACA;QACA,MAAM;QACN,IAAI,IAAI,OAAO;IACjB;AACF;AAEA,MAAM,4CAAsB,CAAC;IAC3B,OAAO,IAAI,SAAS,CACjB,OAAO,CAAC,OAAO,UACf,OAAO,CAAC,MAAM,aACd,OAAO,CAAC,MAAM;AACnB;AAEA,SAAS,sCAAgB,KAAoB;IAC3C,MAAM,YAAE,QAAQ,SAAE,KAAK,EAAE,GAAG,CAAA,GAAA,yCAAsB;IAClD,MAAM,QAAQ,CAAA,GAAA,wCAAgB;IAC9B,MAAM,QACJ,OAAO,kBACP,aAAa,oBACb,mBAAmB,CAAC,MAA8B,IAAc,qBAChE,gBAAgB,cAChB,YAAY,OACZ,GAAG,MACJ,GAAG;IAEJ,MAAM,sBAAsB,CAAA,GAAA,kBAAU,EACpC,CAAC;QACC,IAAI,iBAAiB,GAAG,OAAO;QAC/B,MAAM,KAAK,KAAK,GAAG,CAAC,MAAM,EAAE,UAAU,IAAI,MAAM,EAAE,MAAM;QACxD,OAAO,KAAK;IACd,GACA;QAAC;QAAO;KAAc;IAGxB,IAAI,aAAa,MAAM,OAAO;IAC9B,MAAM,QAAoB,UACvB,MAAM,CAAC,kBACP,GAAG,CAAC,CAAC,IAAa,0CAAgB,GAAG;sBAAE;QAAS,IAChD,MAAM,CAAC;IAEV,OAAO,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,kBAAU,GAAG;QACpB,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC/B,UAAU;uBACV;eACA;QACA,cAAc;YACZ,aAAa;QACf;QACA,GAAG,IAAI;IACT;AACF;AAEA,MAAM,4CAAiB,CAAA,GAAA,YAAI,EAAE,IAAI,CAAC;AAS3B,SAAS,0CAAgB,KAAqB;IACnD,MAAM,mBACJ,kBAAkB,0DAClB,aAAa,EACb,GAAG,MACJ,GAAG;IAEJ,MAAM,uBAAuB,CAAA,GAAA,cAAM,EACjC,IAAM,CAAC;YACL,MAAM,QAAE,IAAI,EAAE,GAAG;YACjB,OAAO,CAAA,GAAA,sBAAA,EAAE,oBAAoB,gBAAgB,KAAK,IAAI;QACxD,GACA;QAAC;KAAgB;IAGnB,OAAO,CAAA,GAAA,sBAAA,EAAE,2CAAgB;QACvB,eAAe,iBAAiB;QAChC,GAAG,IAAI;IACT;AACF","sources":["packages/column-views/src/units/names.ts"],"sourcesContent":["import h from \"@macrostrat/hyper\";\nimport { useCallback, useMemo } from \"react\";\nimport {\n ColumnAxisType,\n NotesColumn,\n NotesColumnProps,\n} from \"@macrostrat/column-components\";\nimport type { ColumnDivision } from \"@macrostrat/column-components\";\nimport { IUnit } from \"./types\";\nimport React from \"react\";\nimport { getUnitHeightRange } from \"../prepare-units/utils\";\nimport { CompositeColumnScale } from \"./composite\";\nimport { useCompositeScale, useMacrostratColumnData } from \"../data-provider\";\n\ninterface UnitDataProps extends NotesColumnProps {\n left?: number;\n transform?: string;\n noteComponent?: React.ComponentType<any>;\n shouldRenderNote?(div: ColumnDivision | IUnit, index: number): boolean;\n divisions?: IUnit[];\n minimumHeight?: number;\n scale?: CompositeColumnScale;\n}\n\ntype UnitNote = {\n height: number;\n top_height: number;\n data: IUnit;\n id: number;\n};\n\nfunction noteForDivision(\n div: IUnit,\n opts: { axisType: ColumnAxisType },\n): UnitNote {\n const { axisType } = opts;\n\n const [height, top_height] = getUnitHeightRange(div, axisType);\n\n return {\n height,\n top_height,\n data: div,\n id: div.unit_id,\n };\n}\n\nconst defaultNameFunction = (div) => {\n return div.unit_name\n .replace(\"Mbr\", \"Member\")\n .replace(\"Fm\", \"Formation\")\n .replace(\"Gp\", \"Group\");\n};\n\nfunction UnitDataColumn_(props: UnitDataProps) {\n const { axisType, units } = useMacrostratColumnData();\n const scale = useCompositeScale();\n const {\n left = 0,\n noteComponent,\n shouldRenderNote = (note: ColumnDivision | IUnit, i: number) => true,\n minimumHeight = 0,\n divisions = units,\n ...rest\n } = props;\n\n const minimumHeightFilter = useCallback(\n (d) => {\n if (minimumHeight == 0) return true;\n const dy = Math.abs(scale(d.top_height) - scale(d.height));\n return dy > minimumHeight;\n },\n [scale, minimumHeight],\n );\n\n if (divisions == null) return null;\n const notes: UnitNote[] = divisions\n .filter(shouldRenderNote)\n .map((d: IUnit) => noteForDivision(d, { axisType }))\n .filter(minimumHeightFilter);\n\n return h(NotesColumn, {\n transform: `translate(${left})`,\n editable: false,\n noteComponent,\n notes,\n forceOptions: {\n nodeSpacing: 1,\n },\n ...rest,\n });\n}\n\nconst UnitDataColumn = React.memo(UnitDataColumn_);\n\ninterface UnitNamesProps extends UnitDataProps {\n nameForDivision?(obj: IUnit): string;\n paddingLeft?: number;\n width: number;\n onClickNote?: (note: any) => void;\n}\n\nexport function UnitNamesColumn(props: UnitNamesProps) {\n const {\n nameForDivision = defaultNameFunction,\n noteComponent,\n ...rest\n } = props;\n\n const defaultNoteComponent = useMemo(\n () => (props) => {\n const { note } = props;\n return h(\"p.col-note-label\", nameForDivision(note.data));\n },\n [nameForDivision],\n );\n\n return h(UnitDataColumn, {\n noteComponent: noteComponent ?? defaultNoteComponent,\n ...rest,\n });\n}\n\nexport type { UnitNamesProps };\nexport { defaultNameFunction, noteForDivision, UnitDataColumn };\n"],"names":[],"version":3,"file":"column-views.d69c4a9f.js.map"}
1
+ {"mappings":";;;;;;;;;;;AA+BA,SAAS,0CACP,GAAU,EACV,IAAkC;IAElC,MAAM,YAAE,QAAQ,EAAE,GAAG;IAErB,MAAM,CAAC,QAAQ,WAAW,GAAG,CAAA,GAAA,wCAAiB,EAAE,KAAK;IAErD,OAAO;gBACL;oBACA;QACA,MAAM;QACN,IAAI,IAAI,OAAO;IACjB;AACF;AAEA,MAAM,4CAAsB,CAAC;IAC3B,OAAO,IAAI,SAAS,CACjB,OAAO,CAAC,OAAO,UACf,OAAO,CAAC,MAAM,aACd,OAAO,CAAC,MAAM;AACnB;AAEA,SAAS,sCAAgB,KAAoB;IAC3C,MAAM,YAAE,QAAQ,SAAE,KAAK,EAAE,GAAG,CAAA,GAAA,yCAAsB;IAClD,MAAM,QAAQ,CAAA,GAAA,wCAAgB;IAC9B,MAAM,QACJ,OAAO,kBACP,aAAa,oBACb,mBAAmB,CAAC,MAA8B,IAAc,qBAChE,gBAAgB,cAChB,YAAY,OACZ,GAAG,MACJ,GAAG;IAEJ,MAAM,sBAAsB,CAAA,GAAA,kBAAU,EACpC,CAAC;QACC,IAAI,iBAAiB,GAAG,OAAO;QAC/B,MAAM,KAAK,KAAK,GAAG,CAAC,MAAM,EAAE,UAAU,IAAI,MAAM,EAAE,MAAM;QACxD,OAAO,KAAK;IACd,GACA;QAAC;QAAO;KAAc;IAGxB,IAAI,aAAa,MAAM,OAAO;IAC9B,MAAM,QAAoB,UACvB,MAAM,CAAC,kBACP,GAAG,CAAC,CAAC,IAAa,0CAAgB,GAAG;sBAAE;QAAS,IAChD,MAAM,CAAC;IAEV,OAAO,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,kBAAU,GAAG;QACpB,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC/B,UAAU;uBACV;eACA;QACA,cAAc;YACZ,aAAa;QACf;QACA,GAAG,IAAI;IACT;AACF;AAEA,MAAM,4CAAiB,CAAA,GAAA,YAAI,EAAE,IAAI,CAAC;AAS3B,SAAS,0CAAgB,KAAqB;IACnD,MAAM,mBACJ,kBAAkB,0DAClB,aAAa,EACb,GAAG,MACJ,GAAG;IAEJ,MAAM,uBAAuB,CAAA,GAAA,cAAM,EACjC,IAAM,CAAC;YACL,MAAM,QAAE,IAAI,EAAE,GAAG;YACjB,OAAO,CAAA,GAAA,sBAAA,EAAE,oBAAoB,gBAAgB,KAAK,IAAI;QACxD,GACA;QAAC;KAAgB;IAGnB,OAAO,CAAA,GAAA,sBAAA,EAAE,2CAAgB;QACvB,eAAe,iBAAiB;QAChC,GAAG,IAAI;IACT;AACF","sources":["packages/column-views/src/units/names.ts"],"sourcesContent":["import h from \"@macrostrat/hyper\";\nimport { useCallback, useMemo } from \"react\";\nimport {\n ColumnAxisType,\n NotesColumn,\n NotesColumnProps,\n} from \"@macrostrat/column-components\";\nimport type { ColumnDivision } from \"@macrostrat/column-components\";\nimport { IUnit } from \"./types\";\nimport React from \"react\";\nimport { getUnitHeightRange } from \"../prepare-units/utils\";\nimport { CompositeColumnScale } from \"./composite\";\nimport { useCompositeScale, useMacrostratColumnData } from \"../data-provider\";\n\ninterface UnitDataProps extends NotesColumnProps {\n left?: number;\n transform?: string;\n noteComponent?: React.ComponentType<any>;\n shouldRenderNote?(div: ColumnDivision | IUnit, index: number): boolean;\n divisions?: IUnit[];\n minimumHeight?: number;\n scale?: CompositeColumnScale;\n}\n\ntype UnitNote = {\n height: number;\n top_height: number;\n data: IUnit;\n id: number;\n};\n\nfunction noteForDivision(\n div: IUnit,\n opts: { axisType: ColumnAxisType },\n): UnitNote {\n const { axisType } = opts;\n\n const [height, top_height] = getUnitHeightRange(div, axisType);\n\n return {\n height,\n top_height,\n data: div,\n id: div.unit_id,\n };\n}\n\nconst defaultNameFunction = (div) => {\n return div.unit_name\n .replace(\"Mbr\", \"Member\")\n .replace(\"Fm\", \"Formation\")\n .replace(\"Gp\", \"Group\");\n};\n\nfunction UnitDataColumn_(props: UnitDataProps) {\n const { axisType, units } = useMacrostratColumnData();\n const scale = useCompositeScale();\n const {\n left = 0,\n noteComponent,\n shouldRenderNote = (note: ColumnDivision | IUnit, i: number) => true,\n minimumHeight = 0,\n divisions = units,\n ...rest\n } = props;\n\n const minimumHeightFilter = useCallback(\n (d) => {\n if (minimumHeight == 0) return true;\n const dy = Math.abs(scale(d.top_height) - scale(d.height));\n return dy > minimumHeight;\n },\n [scale, minimumHeight],\n );\n\n if (divisions == null) return null;\n const notes: UnitNote[] = divisions\n .filter(shouldRenderNote)\n .map((d: IUnit) => noteForDivision(d, { axisType }))\n .filter(minimumHeightFilter);\n\n return h(NotesColumn, {\n transform: `translate(${left})`,\n editable: false,\n noteComponent,\n notes,\n forceOptions: {\n nodeSpacing: 1,\n },\n ...rest,\n });\n}\n\nconst UnitDataColumn = React.memo(UnitDataColumn_);\n\ninterface UnitNamesProps extends UnitDataProps {\n nameForDivision?(obj: IUnit): string;\n paddingLeft?: number;\n width: number;\n onClickNote?: (note: any) => void;\n}\n\nexport function UnitNamesColumn(props: UnitNamesProps) {\n const {\n nameForDivision = defaultNameFunction,\n noteComponent,\n ...rest\n } = props;\n\n const defaultNoteComponent = useMemo(\n () => (props) => {\n const { note } = props;\n return h(\"p.col-note-label\", nameForDivision(note.data));\n },\n [nameForDivision],\n );\n\n return h(UnitDataColumn, {\n noteComponent: noteComponent ?? defaultNoteComponent,\n ...rest,\n });\n}\n\nexport type { UnitNamesProps };\nexport { defaultNameFunction, noteForDivision, UnitDataColumn };\n"],"names":[],"version":3,"file":"column-views.e1bc3cfa.js.map"}
@@ -1,4 +1,4 @@
1
- import {useCorrelationMapStore as $74e211dc185c20b4$export$21398703d3a9bb4d} from "./column-views.86a51ce7.js";
1
+ import {useCorrelationMapStore as $74e211dc185c20b4$export$21398703d3a9bb4d} from "./column-views.413217dc.js";
2
2
  import {buildColumnsStyle as $1dbfddc9637b572c$export$d2995719c3a4ae17} from "./column-views.633c42a3.js";
3
3
  import {InsetMap as $5593f90ffec284da$export$1e8149fc0d15fed0} from "./column-views.3de4dc43.js";
4
4
  import {useMapClickHandler as $6wt91$useMapClickHandler, useMapStyleOperator as $6wt91$useMapStyleOperator, useMapEaseTo as $6wt91$useMapEaseTo} from "@macrostrat/mapbox-react";
@@ -196,4 +196,4 @@ function $dcd183b733f66144$var$SectionLine({ padding: padding }) {
196
196
 
197
197
 
198
198
  export {$dcd183b733f66144$export$8e7d97509e84cc49 as ColumnCorrelationMap};
199
- //# sourceMappingURL=column-views.3e1b8c7d.js.map
199
+ //# sourceMappingURL=column-views.f0b0fc56.js.map
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/column-views/src/maps/column-correlation/core.ts"],"sourcesContent":["import {\n useMapClickHandler,\n useMapEaseTo,\n useMapStyleOperator,\n} from \"@macrostrat/mapbox-react\";\nimport { LngLatBounds, Style } from \"mapbox-gl\";\nimport h from \"@macrostrat/hyper\";\nimport { Feature, FeatureCollection } from \"geojson\";\nimport { ReactNode, useMemo } from \"react\";\nimport { setGeoJSON, buildGeoJSONSource } from \"@macrostrat/mapbox-utils\";\n\nimport { useCorrelationMapStore } from \"./state\";\nimport { buildColumnsStyle, InsetMap, InsetMapProps } from \"../_shared\";\nimport { buildCrossSectionLayers } from \"@macrostrat/map-styles\";\n\nexport interface CorrelationMapProps extends InsetMapProps {\n padding?: number;\n children?: ReactNode;\n accessToken?: string;\n columnColor?: string;\n}\n\nexport function ColumnCorrelationMap(props: CorrelationMapProps) {\n const { padding = 50, children, columnColor, ...rest } = props;\n\n const overlayStyles: Partial<Style>[] = useMemo(() => {\n return [\n buildColumnsStyle(columnColor) as Style,\n selectedColumnsStyle as Style,\n lineOfSectionStyle as Style,\n ];\n }, [columnColor]);\n\n return h(\n InsetMap,\n {\n ...rest,\n boxZoom: false,\n dragRotate: false,\n overlayStyles,\n },\n [\n h(ColumnsLayer),\n h(SelectedColumnsLayer),\n h(MapClickHandler),\n h(SectionLine, { padding }),\n children,\n ],\n );\n}\n\nfunction MapClickHandler() {\n const onClickMap = useCorrelationMapStore((state) => state.onClickMap);\n\n useMapClickHandler(\n (e) => {\n onClickMap(e, { type: \"Point\", coordinates: e.lngLat.toArray() });\n },\n [onClickMap],\n );\n\n return null;\n}\n\nfunction SelectedColumnsLayer() {\n const focusedColumns = useCorrelationMapStore(\n (state) => state.focusedColumns,\n );\n\n useMapStyleOperator(\n (map) => {\n let features = focusedColumns;\n\n const data: FeatureCollection = {\n type: \"FeatureCollection\",\n features,\n };\n\n const columnCentroidLine: Feature = {\n type: \"Feature\",\n geometry: {\n type: \"LineString\",\n coordinates: features.map(\n (col) => col.properties.centroid.geometry.coordinates,\n ),\n },\n properties: {},\n };\n\n setGeoJSON(map, \"selected-columns\", data);\n setGeoJSON(map, \"selected-column-centroids\", {\n type: \"FeatureCollection\",\n features: [columnCentroidLine],\n });\n },\n [focusedColumns],\n );\n return null;\n}\n\nfunction ColumnsLayer({ enabled = true }) {\n const columns = useCorrelationMapStore((state) => state.columns);\n\n useMapStyleOperator(\n (map) => {\n if (columns == null) {\n return;\n }\n const data: FeatureCollection = {\n type: \"FeatureCollection\",\n features: columns,\n };\n\n console.log(\" columns\", data);\n setGeoJSON(map, \"columns\", data);\n },\n [columns, enabled],\n );\n return null;\n}\n\nconst selectedColumnsStyle: Style = {\n version: 8,\n sources: {\n \"selected-columns\": buildGeoJSONSource(),\n \"selected-column-centroids\": buildGeoJSONSource(),\n },\n layers: [\n {\n id: \"selected-columns-fill\",\n type: \"fill\",\n source: \"selected-columns\",\n paint: {\n \"fill-color\": \"rgba(255, 0, 0, 0.1)\",\n },\n },\n {\n id: \"selected-column-centroids-line\",\n type: \"line\",\n source: \"selected-column-centroids\",\n paint: {\n \"line-color\": \"rgba(255, 0, 0, 0.8)\",\n \"line-width\": 2,\n \"line-dasharray\": [2, 2],\n },\n },\n {\n id: \"selected-column-centroids-points\",\n type: \"circle\",\n source: \"selected-column-centroids\",\n paint: {\n \"circle-radius\": 4,\n \"circle-color\": \"rgba(255, 0, 0, 0.8)\",\n },\n },\n ],\n};\n\nconst lineOfSectionStyle: Style = {\n version: 8,\n sources: {\n elevationMarker: buildGeoJSONSource(),\n crossSectionLine: buildGeoJSONSource(),\n crossSectionEndpoints: buildGeoJSONSource(),\n },\n layers: buildCrossSectionLayers(),\n};\n\nfunction SectionLine({ padding }: { padding: number }) {\n const focusedLine = useCorrelationMapStore((state) => state.focusedLine);\n\n // Setup focused line\n useMapStyleOperator(\n (map) => {\n if (focusedLine == null) {\n return;\n }\n const data: FeatureCollection = {\n type: \"FeatureCollection\",\n features: [\n {\n type: \"Feature\",\n geometry: focusedLine,\n properties: { id: \"focusedLine\" },\n },\n ],\n };\n\n setGeoJSON(map, \"crossSectionLine\", data);\n setGeoJSON(map, \"crossSectionEndpoints\", {\n type: \"FeatureCollection\",\n features: focusedLine.coordinates.map((coord) => ({\n type: \"Feature\",\n geometry: { type: \"Point\", coordinates: coord },\n properties: {},\n })),\n });\n },\n [focusedLine],\n );\n\n const bounds = useMemo(() => {\n if (focusedLine == null || focusedLine?.coordinates.length < 2) {\n return null;\n }\n let bounds = new LngLatBounds();\n for (let coord of focusedLine.coordinates) {\n bounds.extend(coord);\n }\n return bounds;\n }, [focusedLine]);\n\n useMapEaseTo({ bounds, padding, trackResize: true });\n\n return null;\n}\n"],"names":[],"version":3,"file":"column-views.3e1b8c7d.js.map"}
1
+ {"mappings":";;;;;;;;;;;;;;;;;;AAsBO,SAAS,0CAAqB,KAA0B;IAC7D,MAAM,WAAE,UAAU,cAAI,QAAQ,eAAE,WAAW,EAAE,GAAG,MAAM,GAAG;IAEzD,MAAM,gBAAkC,CAAA,GAAA,cAAM,EAAE;QAC9C,OAAO;YACL,CAAA,GAAA,yCAAgB,EAAE;YAClB;YACA;SACD;IACH,GAAG;QAAC;KAAY;IAEhB,OAAO,CAAA,GAAA,sBAAA,EACL,CAAA,GAAA,yCAAO,GACP;QACE,GAAG,IAAI;QACP,SAAS;QACT,YAAY;uBACZ;IACF,GACA;QACE,CAAA,GAAA,sBAAA,EAAE;QACF,CAAA,GAAA,sBAAA,EAAE;QACF,CAAA,GAAA,sBAAA,EAAE;QACF,CAAA,GAAA,sBAAA,EAAE,mCAAa;qBAAE;QAAQ;QACzB;KACD;AAEL;AAEA,SAAS;IACP,MAAM,aAAa,CAAA,GAAA,yCAAqB,EAAE,CAAC,QAAU,MAAM,UAAU;IAErE,CAAA,GAAA,yBAAiB,EACf,CAAC;QACC,WAAW,GAAG;YAAE,MAAM;YAAS,aAAa,EAAE,MAAM,CAAC,OAAO;QAAG;IACjE,GACA;QAAC;KAAW;IAGd,OAAO;AACT;AAEA,SAAS;IACP,MAAM,iBAAiB,CAAA,GAAA,yCAAqB,EAC1C,CAAC,QAAU,MAAM,cAAc;IAGjC,CAAA,GAAA,0BAAkB,EAChB,CAAC;QACC,IAAI,WAAW;QAEf,MAAM,OAA0B;YAC9B,MAAM;sBACN;QACF;QAEA,MAAM,qBAA8B;YAClC,MAAM;YACN,UAAU;gBACR,MAAM;gBACN,aAAa,SAAS,GAAG,CACvB,CAAC,MAAQ,IAAI,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW;YAEzD;YACA,YAAY,CAAC;QACf;QAEA,CAAA,GAAA,iBAAS,EAAE,KAAK,oBAAoB;QACpC,CAAA,GAAA,iBAAS,EAAE,KAAK,6BAA6B;YAC3C,MAAM;YACN,UAAU;gBAAC;aAAmB;QAChC;IACF,GACA;QAAC;KAAe;IAElB,OAAO;AACT;AAEA,SAAS,mCAAa,WAAE,UAAU,MAAM;IACtC,MAAM,UAAU,CAAA,GAAA,yCAAqB,EAAE,CAAC,QAAU,MAAM,OAAO;IAE/D,CAAA,GAAA,0BAAkB,EAChB,CAAC;QACC,IAAI,WAAW,MACb;QAEF,MAAM,OAA0B;YAC9B,MAAM;YACN,UAAU;QACZ;QAEA,QAAQ,GAAG,CAAC,YAAY;QACxB,CAAA,GAAA,iBAAS,EAAE,KAAK,WAAW;IAC7B,GACA;QAAC;QAAS;KAAQ;IAEpB,OAAO;AACT;AAEA,MAAM,6CAA8B;IAClC,SAAS;IACT,SAAS;QACP,oBAAoB,CAAA,GAAA,yBAAiB;QACrC,6BAA6B,CAAA,GAAA,yBAAiB;IAChD;IACA,QAAQ;QACN;YACE,IAAI;YACJ,MAAM;YACN,QAAQ;YACR,OAAO;gBACL,cAAc;YAChB;QACF;QACA;YACE,IAAI;YACJ,MAAM;YACN,QAAQ;YACR,OAAO;gBACL,cAAc;gBACd,cAAc;gBACd,kBAAkB;oBAAC;oBAAG;iBAAE;YAC1B;QACF;QACA;YACE,IAAI;YACJ,MAAM;YACN,QAAQ;YACR,OAAO;gBACL,iBAAiB;gBACjB,gBAAgB;YAClB;QACF;KACD;AACH;AAEA,MAAM,2CAA4B;IAChC,SAAS;IACT,SAAS;QACP,iBAAiB,CAAA,GAAA,yBAAiB;QAClC,kBAAkB,CAAA,GAAA,yBAAiB;QACnC,uBAAuB,CAAA,GAAA,yBAAiB;IAC1C;IACA,QAAQ,CAAA,GAAA,8BAAsB;AAChC;AAEA,SAAS,kCAAY,WAAE,OAAO,EAAuB;IACnD,MAAM,cAAc,CAAA,GAAA,yCAAqB,EAAE,CAAC,QAAU,MAAM,WAAW;IAEvE,qBAAqB;IACrB,CAAA,GAAA,0BAAkB,EAChB,CAAC;QACC,IAAI,eAAe,MACjB;QAEF,MAAM,OAA0B;YAC9B,MAAM;YACN,UAAU;gBACR;oBACE,MAAM;oBACN,UAAU;oBACV,YAAY;wBAAE,IAAI;oBAAc;gBAClC;aACD;QACH;QAEA,CAAA,GAAA,iBAAS,EAAE,KAAK,oBAAoB;QACpC,CAAA,GAAA,iBAAS,EAAE,KAAK,yBAAyB;YACvC,MAAM;YACN,UAAU,YAAY,WAAW,CAAC,GAAG,CAAC,CAAC,QAAW,CAAA;oBAChD,MAAM;oBACN,UAAU;wBAAE,MAAM;wBAAS,aAAa;oBAAM;oBAC9C,YAAY,CAAC;gBACf,CAAA;QACF;IACF,GACA;QAAC;KAAY;IAGf,MAAM,SAAS,CAAA,GAAA,cAAM,EAAE;QACrB,IAAI,eAAe,QAAQ,aAAa,YAAY,SAAS,GAC3D,OAAO;QAET,IAAI,SAAS,IAAI,CAAA,GAAA,mBAAW;QAC5B,KAAK,IAAI,SAAS,YAAY,WAAW,CACvC,OAAO,MAAM,CAAC;QAEhB,OAAO;IACT,GAAG;QAAC;KAAY;IAEhB,CAAA,GAAA,mBAAW,EAAE;gBAAE;iBAAQ;QAAS,aAAa;IAAK;IAElD,OAAO;AACT","sources":["packages/column-views/src/maps/column-correlation/core.ts"],"sourcesContent":["import {\n useMapClickHandler,\n useMapEaseTo,\n useMapStyleOperator,\n} from \"@macrostrat/mapbox-react\";\nimport { LngLatBounds, Style } from \"mapbox-gl\";\nimport h from \"@macrostrat/hyper\";\nimport { Feature, FeatureCollection } from \"geojson\";\nimport { ReactNode, useMemo } from \"react\";\nimport { setGeoJSON, buildGeoJSONSource } from \"@macrostrat/mapbox-utils\";\n\nimport { useCorrelationMapStore } from \"./state\";\nimport { buildColumnsStyle, InsetMap, InsetMapProps } from \"../_shared\";\nimport { buildCrossSectionLayers } from \"@macrostrat/map-styles\";\n\nexport interface CorrelationMapProps extends InsetMapProps {\n padding?: number;\n children?: ReactNode;\n accessToken?: string;\n columnColor?: string;\n}\n\nexport function ColumnCorrelationMap(props: CorrelationMapProps) {\n const { padding = 50, children, columnColor, ...rest } = props;\n\n const overlayStyles: Partial<Style>[] = useMemo(() => {\n return [\n buildColumnsStyle(columnColor) as Style,\n selectedColumnsStyle as Style,\n lineOfSectionStyle as Style,\n ];\n }, [columnColor]);\n\n return h(\n InsetMap,\n {\n ...rest,\n boxZoom: false,\n dragRotate: false,\n overlayStyles,\n },\n [\n h(ColumnsLayer),\n h(SelectedColumnsLayer),\n h(MapClickHandler),\n h(SectionLine, { padding }),\n children,\n ],\n );\n}\n\nfunction MapClickHandler() {\n const onClickMap = useCorrelationMapStore((state) => state.onClickMap);\n\n useMapClickHandler(\n (e) => {\n onClickMap(e, { type: \"Point\", coordinates: e.lngLat.toArray() });\n },\n [onClickMap],\n );\n\n return null;\n}\n\nfunction SelectedColumnsLayer() {\n const focusedColumns = useCorrelationMapStore(\n (state) => state.focusedColumns,\n );\n\n useMapStyleOperator(\n (map) => {\n let features = focusedColumns;\n\n const data: FeatureCollection = {\n type: \"FeatureCollection\",\n features,\n };\n\n const columnCentroidLine: Feature = {\n type: \"Feature\",\n geometry: {\n type: \"LineString\",\n coordinates: features.map(\n (col) => col.properties.centroid.geometry.coordinates,\n ),\n },\n properties: {},\n };\n\n setGeoJSON(map, \"selected-columns\", data);\n setGeoJSON(map, \"selected-column-centroids\", {\n type: \"FeatureCollection\",\n features: [columnCentroidLine],\n });\n },\n [focusedColumns],\n );\n return null;\n}\n\nfunction ColumnsLayer({ enabled = true }) {\n const columns = useCorrelationMapStore((state) => state.columns);\n\n useMapStyleOperator(\n (map) => {\n if (columns == null) {\n return;\n }\n const data: FeatureCollection = {\n type: \"FeatureCollection\",\n features: columns,\n };\n\n console.log(\" columns\", data);\n setGeoJSON(map, \"columns\", data);\n },\n [columns, enabled],\n );\n return null;\n}\n\nconst selectedColumnsStyle: Style = {\n version: 8,\n sources: {\n \"selected-columns\": buildGeoJSONSource(),\n \"selected-column-centroids\": buildGeoJSONSource(),\n },\n layers: [\n {\n id: \"selected-columns-fill\",\n type: \"fill\",\n source: \"selected-columns\",\n paint: {\n \"fill-color\": \"rgba(255, 0, 0, 0.1)\",\n },\n },\n {\n id: \"selected-column-centroids-line\",\n type: \"line\",\n source: \"selected-column-centroids\",\n paint: {\n \"line-color\": \"rgba(255, 0, 0, 0.8)\",\n \"line-width\": 2,\n \"line-dasharray\": [2, 2],\n },\n },\n {\n id: \"selected-column-centroids-points\",\n type: \"circle\",\n source: \"selected-column-centroids\",\n paint: {\n \"circle-radius\": 4,\n \"circle-color\": \"rgba(255, 0, 0, 0.8)\",\n },\n },\n ],\n};\n\nconst lineOfSectionStyle: Style = {\n version: 8,\n sources: {\n elevationMarker: buildGeoJSONSource(),\n crossSectionLine: buildGeoJSONSource(),\n crossSectionEndpoints: buildGeoJSONSource(),\n },\n layers: buildCrossSectionLayers(),\n};\n\nfunction SectionLine({ padding }: { padding: number }) {\n const focusedLine = useCorrelationMapStore((state) => state.focusedLine);\n\n // Setup focused line\n useMapStyleOperator(\n (map) => {\n if (focusedLine == null) {\n return;\n }\n const data: FeatureCollection = {\n type: \"FeatureCollection\",\n features: [\n {\n type: \"Feature\",\n geometry: focusedLine,\n properties: { id: \"focusedLine\" },\n },\n ],\n };\n\n setGeoJSON(map, \"crossSectionLine\", data);\n setGeoJSON(map, \"crossSectionEndpoints\", {\n type: \"FeatureCollection\",\n features: focusedLine.coordinates.map((coord) => ({\n type: \"Feature\",\n geometry: { type: \"Point\", coordinates: coord },\n properties: {},\n })),\n });\n },\n [focusedLine],\n );\n\n const bounds = useMemo(() => {\n if (focusedLine == null || focusedLine?.coordinates.length < 2) {\n return null;\n }\n let bounds = new LngLatBounds();\n for (let coord of focusedLine.coordinates) {\n bounds.extend(coord);\n }\n return bounds;\n }, [focusedLine]);\n\n useMapEaseTo({ bounds, padding, trackResize: true });\n\n return null;\n}\n"],"names":[],"version":3,"file":"column-views.f0b0fc56.js.map"}
@@ -1,8 +1,8 @@
1
- import {useMacrostratColumnData as $d5074f164411387e$export$f8509b7cce386c7d} from "./column-views.4fd4ec92.js";
1
+ import {useMacrostratColumnData as $d5074f164411387e$export$f8509b7cce386c7d} from "./column-views.4ed90896.js";
2
2
  import "./column-views.1151416d.css";
3
3
  import $kIqD4$columnviews6e7082dbjs from "./column-views.6e7082db.js";
4
4
  import {getUnitHeightRange as $b6657fba8924a702$export$70e712e2ac0237a} from "./column-views.54f8b909.js";
5
- import {ColumnNotes as $9e52fe4012c88296$export$fc5babae10f3f77d} from "./column-views.83395185.js";
5
+ import {ColumnNotes as $9e52fe4012c88296$export$fc5babae10f3f77d} from "./column-views.787d7696.js";
6
6
  import {useCallback as $kIqD4$useCallback, useMemo as $kIqD4$useMemo} from "react";
7
7
  import $kIqD4$macrostrathyper from "@macrostrat/hyper";
8
8
 
@@ -89,4 +89,4 @@ function $c6d9d48b3424a44c$export$653e47a7a0da0f0d({ data: data, className: clas
89
89
 
90
90
 
91
91
  export {$c6d9d48b3424a44c$export$ce5c4f2fdf4e644d as BaseMeasurementsColumn, $c6d9d48b3424a44c$export$653e47a7a0da0f0d as TruncatedList};
92
- //# sourceMappingURL=column-views.e84bd756.js.map
92
+ //# sourceMappingURL=column-views.faacfc3c.js.map
@@ -1 +1 @@
1
- {"mappings":";;;;;;;;;;;;;;;;;;AAMA,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,uEAAK;AAarB,SAAS,0CAAuB,QACrC,IAAI,iBACJ,aAAa,SACb,QAAQ,kBACR,cAAc,eACd,SAAS,aACT,YAAY,CAAC,IAAM,EAAE,OAAO,gBAC5B,YAAY,EACqB;IACjC,MAAM,YAAE,QAAQ,SAAE,KAAK,EAAE,GAAG,CAAA,GAAA,yCAAsB;IAElD,MAAM,gBACJ,gBACA,CAAA,GAAA,kBAAU,EACR,CAAC;QACC,OAAO,CAAC;YACN,OAAO,UAAU,OAAO,GAAG,OAAO;QACpC;IACF,GACA;QAAC;KAAU;IAGf,MAAM,QAAe,CAAA,GAAA,cAAM,EAAE;QAC3B,IAAI,QAAQ,QAAQ,SAAS,MAAM,OAAO,EAAE;QAC5C,IAAI,cAAc,MAAM,IAAI,CAAC,KAAK,MAAM,IACrC,GAAG,CAAC,CAAC;YACJ,OAAO;gBACL,MAAM;gBACN,MAAM,MAAM,IAAI,CAAC,cAAc;YACjC;QACF,GACC,MAAM,CAAC,CAAC,IAAM,EAAE,IAAI,IAAI;QAE3B,YAAY,IAAI,CAAC,CAAC,GAAG;YACnB,MAAM,KAAK,MAAM,OAAO,CAAC,EAAE,IAAI;YAC/B,MAAM,KAAK,MAAM,OAAO,CAAC,EAAE,IAAI;YAC/B,OAAO,KAAK;QACd;QAEA,OAAO,YAAY,GAAG,CAAC,CAAC;YACtB,MAAM,QAAE,IAAI,QAAE,IAAI,EAAE,GAAG;YACvB,MAAM,cAAc,CAAA,GAAA,wCAAiB,EAAE,MAAM;YAE7C,OAAO;gBACL,YAAY,WAAW,CAAC,EAAE;gBAC1B,QAAQ,WAAW,CAAC,EAAE;sBACtB;sBACA;gBACA,IAAI,KAAK,OAAO;YAClB;QACF;IACF,GAAG;QAAC;QAAM;QAAO;KAAa;IAE9B,IAAI,QAAQ,QAAQ,SAAS,MAAM,OAAO;IAE1C,OAAO,wBACL,OACA;mBAAE;IAAU,GACZ,wBAAE,CAAA,GAAA,yCAAU,GAAG;eACb;qBACA;eACA;uBACA;IACF;AAEJ;AASO,SAAS,0CAAc,QAC5B,IAAI,aACJ,SAAS,YACT,WAAW,iBACX,eAAe,CAAC,IAAM,wBAAE,QAAQ,EAAE,IAAI,GACnB;IACnB,IAAI,UAAU;IACd,IAAI,KAAK;IACT,IAAI,KAAK,MAAM,GAAG,UAAU;QAC1B,MAAM,IAAI,KAAK,MAAM,GAAG;QACxB,KAAK,KAAK,KAAK,CAAC,GAAG;QACnB,UAAU,wBAAE,eAAe,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC;IAC5C;IAEA,OAAO,wBAAE,qBAAqB;mBAAE;IAAU,GAAG;QAC3C,GAAG,GAAG,CAAC,CAAC,GAAG;YACT,OAAO,wBAAE,cAAc;gBAAE,KAAK;YAAE,GAAG,wBAAE,cAAc;gBAAE,MAAM;YAAE;QAC/D;QACA;KACD;AACH","sources":["packages/column-views/src/facets/base-sample-column.ts"],"sourcesContent":["import { useMacrostratColumnData } from \"../data-provider\";\nimport { useCallback, useMemo } from \"react\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./base-sample-column.module.sass\";\nimport { getUnitHeightRange } from \"../prepare-units\";\nimport { ColumnNotes } from \"../notes\";\nconst h = hyper.styled(styles);\n\nexport interface BaseMeasurementsColumnProps<T> {\n data: T[];\n noteComponent?: any;\n width?: number;\n paddingLeft?: number;\n className?: string;\n // TODO: these props are confusing\n getUnitID?: (d: T) => number | string;\n matchingUnit?: (dz: T) => (d: any) => boolean;\n}\n\nexport function BaseMeasurementsColumn({\n data,\n noteComponent,\n width = 500,\n paddingLeft = 40,\n className,\n getUnitID = (d) => d.unit_id,\n matchingUnit,\n}: BaseMeasurementsColumnProps<any>) {\n const { axisType, units } = useMacrostratColumnData();\n\n const _matchingUnit =\n matchingUnit ??\n useCallback(\n (dz) => {\n return (d) => {\n return getUnitID(d) === dz.unit_id;\n };\n },\n [getUnitID],\n );\n\n const notes: any[] = useMemo(() => {\n if (data == null || units == null) return [];\n let unitRefData = Array.from(data.values())\n .map((d) => {\n return {\n data: d,\n unit: units.find(_matchingUnit(d)),\n };\n })\n .filter((d) => d.unit != null);\n\n unitRefData.sort((a, b) => {\n const v1 = units.indexOf(a.unit);\n const v2 = units.indexOf(b.unit);\n return v1 - v2;\n });\n\n return unitRefData.map((d) => {\n const { unit, data } = d;\n const heightRange = getUnitHeightRange(unit, axisType);\n\n return {\n top_height: heightRange[1],\n height: heightRange[0],\n data,\n unit,\n id: unit.unit_id,\n };\n });\n }, [data, units, matchingUnit]);\n\n if (data == null || units == null) return null;\n\n return h(\n \"div\",\n { className },\n h(ColumnNotes, {\n width,\n paddingLeft,\n notes,\n noteComponent,\n }),\n );\n}\n\ninterface TruncatedListProps {\n data: any[];\n className?: string;\n maxItems?: number;\n itemRenderer?: (props: { data: any }) => any;\n}\n\nexport function TruncatedList({\n data,\n className,\n maxItems = 5,\n itemRenderer = (p) => h(\"span\", p.data),\n}: TruncatedListProps) {\n let tooMany = null;\n let d1 = data;\n if (data.length > maxItems) {\n const n = data.length - maxItems;\n d1 = data.slice(0, maxItems);\n tooMany = h(\"li.too-many\", `and ${n} more`);\n }\n\n return h(\"ul.truncated-list\", { className }, [\n d1.map((d, i) => {\n return h(\"li.element\", { key: i }, h(itemRenderer, { data: d }));\n }),\n tooMany,\n ]);\n}\n"],"names":[],"version":3,"file":"column-views.e84bd756.js.map"}
1
+ {"mappings":";;;;;;;;;;;;;;;;;;AAMA,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,uEAAK;AAarB,SAAS,0CAAuB,QACrC,IAAI,iBACJ,aAAa,SACb,QAAQ,kBACR,cAAc,eACd,SAAS,aACT,YAAY,CAAC,IAAM,EAAE,OAAO,gBAC5B,YAAY,EACqB;IACjC,MAAM,YAAE,QAAQ,SAAE,KAAK,EAAE,GAAG,CAAA,GAAA,yCAAsB;IAElD,MAAM,gBACJ,gBACA,CAAA,GAAA,kBAAU,EACR,CAAC;QACC,OAAO,CAAC;YACN,OAAO,UAAU,OAAO,GAAG,OAAO;QACpC;IACF,GACA;QAAC;KAAU;IAGf,MAAM,QAAe,CAAA,GAAA,cAAM,EAAE;QAC3B,IAAI,QAAQ,QAAQ,SAAS,MAAM,OAAO,EAAE;QAC5C,IAAI,cAAc,MAAM,IAAI,CAAC,KAAK,MAAM,IACrC,GAAG,CAAC,CAAC;YACJ,OAAO;gBACL,MAAM;gBACN,MAAM,MAAM,IAAI,CAAC,cAAc;YACjC;QACF,GACC,MAAM,CAAC,CAAC,IAAM,EAAE,IAAI,IAAI;QAE3B,YAAY,IAAI,CAAC,CAAC,GAAG;YACnB,MAAM,KAAK,MAAM,OAAO,CAAC,EAAE,IAAI;YAC/B,MAAM,KAAK,MAAM,OAAO,CAAC,EAAE,IAAI;YAC/B,OAAO,KAAK;QACd;QAEA,OAAO,YAAY,GAAG,CAAC,CAAC;YACtB,MAAM,QAAE,IAAI,QAAE,IAAI,EAAE,GAAG;YACvB,MAAM,cAAc,CAAA,GAAA,wCAAiB,EAAE,MAAM;YAE7C,OAAO;gBACL,YAAY,WAAW,CAAC,EAAE;gBAC1B,QAAQ,WAAW,CAAC,EAAE;sBACtB;sBACA;gBACA,IAAI,KAAK,OAAO;YAClB;QACF;IACF,GAAG;QAAC;QAAM;QAAO;KAAa;IAE9B,IAAI,QAAQ,QAAQ,SAAS,MAAM,OAAO;IAE1C,OAAO,wBACL,OACA;mBAAE;IAAU,GACZ,wBAAE,CAAA,GAAA,yCAAU,GAAG;eACb;qBACA;eACA;uBACA;IACF;AAEJ;AASO,SAAS,0CAAc,QAC5B,IAAI,aACJ,SAAS,YACT,WAAW,iBACX,eAAe,CAAC,IAAM,wBAAE,QAAQ,EAAE,IAAI,GACnB;IACnB,IAAI,UAAU;IACd,IAAI,KAAK;IACT,IAAI,KAAK,MAAM,GAAG,UAAU;QAC1B,MAAM,IAAI,KAAK,MAAM,GAAG;QACxB,KAAK,KAAK,KAAK,CAAC,GAAG;QACnB,UAAU,wBAAE,eAAe,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC;IAC5C;IAEA,OAAO,wBAAE,qBAAqB;mBAAE;IAAU,GAAG;QAC3C,GAAG,GAAG,CAAC,CAAC,GAAG;YACT,OAAO,wBAAE,cAAc;gBAAE,KAAK;YAAE,GAAG,wBAAE,cAAc;gBAAE,MAAM;YAAE;QAC/D;QACA;KACD;AACH","sources":["packages/column-views/src/facets/base-sample-column.ts"],"sourcesContent":["import { useMacrostratColumnData } from \"../data-provider\";\nimport { useCallback, useMemo } from \"react\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./base-sample-column.module.sass\";\nimport { getUnitHeightRange } from \"../prepare-units\";\nimport { ColumnNotes } from \"../notes\";\nconst h = hyper.styled(styles);\n\nexport interface BaseMeasurementsColumnProps<T> {\n data: T[];\n noteComponent?: any;\n width?: number;\n paddingLeft?: number;\n className?: string;\n // TODO: these props are confusing\n getUnitID?: (d: T) => number | string;\n matchingUnit?: (dz: T) => (d: any) => boolean;\n}\n\nexport function BaseMeasurementsColumn({\n data,\n noteComponent,\n width = 500,\n paddingLeft = 40,\n className,\n getUnitID = (d) => d.unit_id,\n matchingUnit,\n}: BaseMeasurementsColumnProps<any>) {\n const { axisType, units } = useMacrostratColumnData();\n\n const _matchingUnit =\n matchingUnit ??\n useCallback(\n (dz) => {\n return (d) => {\n return getUnitID(d) === dz.unit_id;\n };\n },\n [getUnitID],\n );\n\n const notes: any[] = useMemo(() => {\n if (data == null || units == null) return [];\n let unitRefData = Array.from(data.values())\n .map((d) => {\n return {\n data: d,\n unit: units.find(_matchingUnit(d)),\n };\n })\n .filter((d) => d.unit != null);\n\n unitRefData.sort((a, b) => {\n const v1 = units.indexOf(a.unit);\n const v2 = units.indexOf(b.unit);\n return v1 - v2;\n });\n\n return unitRefData.map((d) => {\n const { unit, data } = d;\n const heightRange = getUnitHeightRange(unit, axisType);\n\n return {\n top_height: heightRange[1],\n height: heightRange[0],\n data,\n unit,\n id: unit.unit_id,\n };\n });\n }, [data, units, matchingUnit]);\n\n if (data == null || units == null) return null;\n\n return h(\n \"div\",\n { className },\n h(ColumnNotes, {\n width,\n paddingLeft,\n notes,\n noteComponent,\n }),\n );\n}\n\ninterface TruncatedListProps {\n data: any[];\n className?: string;\n maxItems?: number;\n itemRenderer?: (props: { data: any }) => any;\n}\n\nexport function TruncatedList({\n data,\n className,\n maxItems = 5,\n itemRenderer = (p) => h(\"span\", p.data),\n}: TruncatedListProps) {\n let tooMany = null;\n let d1 = data;\n if (data.length > maxItems) {\n const n = data.length - maxItems;\n d1 = data.slice(0, maxItems);\n tooMany = h(\"li.too-many\", `and ${n} more`);\n }\n\n return h(\"ul.truncated-list\", { className }, [\n d1.map((d, i) => {\n return h(\"li.element\", { key: i }, h(itemRenderer, { data: d }));\n }),\n tooMany,\n ]);\n}\n"],"names":[],"version":3,"file":"column-views.faacfc3c.js.map"}
@@ -1,10 +1,11 @@
1
1
  import { UnitLong, BaseUnit, ColumnGeoJSONRecord, MacrostratRef, StratName, ColumnGeoJSONRecordWithID, Environment, Interval } from "@macrostrat/api-types";
2
2
  import { ScaleContinuousNumeric } from "d3-scale";
3
- import React, { ReactNode, RefObject, ProviderProps, FunctionComponentElement, Context, DOMAttributes, DOMElement, JSXElementConstructor, ReactElement, DetailedReactHTMLElement, FunctionComponent, HTMLAttributes, CSSProperties, JSX, ElementType, MutableRefObject, InputHTMLAttributes } from "react";
4
- import { StoreApi } from "zustand";
3
+ import React, { ReactNode, FunctionComponentElement, Context, ProviderProps as _ProviderProps1, RefObject, DOMAttributes, DOMElement, JSXElementConstructor, ReactElement, DetailedReactHTMLElement, FunctionComponent, HTMLAttributes, CSSProperties, JSX, ElementType, MutableRefObject, InputHTMLAttributes } from "react";
4
+ import { WritableAtom } from "jotai";
5
5
  import { APIConfig, APIConfigOptions } from "@macrostrat/ui-components";
6
6
  import { AxiosRequestConfig, AxiosInstance } from "axios";
7
7
  import { ColumnDivision, ColumnProviderProps, LithologyColumnProps, ColumnCtx } from "@macrostrat/column-components";
8
+ import { StoreApi } from "zustand";
8
9
  import { UnitDetailsFeature as _UnitDetailsFeature1, MacrostratColumnDataContext as _MacrostratColumnDataContext1, ColumnContainerProps as _ColumnContainerProps1, BaseMeasurementsColumnProps as _BaseMeasurementsColumnProps1 } from "column-views/src";
9
10
  import { LithologyTagFeature as _LithologyTagFeature1 } from "data-components/src";
10
11
  import { UnitLong as _UnitLong1 } from "api-types/src";
@@ -181,35 +182,6 @@ export function getUnitHeightRange(unit: PossiblyClippedUnit, axisType: ColumnAx
181
182
  export const createUnitSorter: (axisType: ColumnAxisType) => (a: BaseUnit, b: BaseUnit) => number;
182
183
  export function ensureArray<T>(x: T | T[]): T[];
183
184
  export function ensureRealFloat(x: number | string | null): number | null;
184
- type UnitSelectDispatch = (unit: number | BaseUnit | null, target: HTMLElement | null, event: Event | null) => void;
185
- export function useUnitSelectionDispatch(): UnitSelectDispatch;
186
- export function useUnitSelectionStore<T>(selector: (state: UnitSelectionStore) => T): T;
187
- export function useSelectedUnit(): BaseUnit;
188
- interface UnitSelectionStore {
189
- selectedUnit: number | null;
190
- selectedUnitData: BaseUnit | null;
191
- overlayPosition: RectBounds | null;
192
- onUnitSelected: UnitSelectDispatch;
193
- setSelectedUnit: (unit: number | null) => void;
194
- }
195
- export interface ColumnClickData {
196
- unitID: number | null;
197
- unit: BaseUnit | null;
198
- target: HTMLElement | null;
199
- height: number;
200
- }
201
- export function UnitSelectionProvider<T extends BaseUnit>(props: {
202
- children: ReactNode;
203
- columnRef?: RefObject<HTMLElement>;
204
- units: T[];
205
- selectedUnit: number | null;
206
- onClickedColumn?: (columnClickData: ColumnClickData, event: Event) => void;
207
- onUnitSelected?: (unitID: number | null, unit: T | null) => void;
208
- }): FunctionComponentElement<ProviderProps<StoreApi<UnitSelectionStore>>>;
209
- export function useUnitSelectionTarget(unit: IUnit): [React.RefObject<HTMLElement>, boolean, (evt: Event) => void];
210
- export function UnitKeyboardNavigation<T extends BaseUnit>({ units, }: {
211
- units: T[];
212
- }): any;
213
185
  declare function defaultFetch(url: string, options?: RequestInit | undefined): Promise<Response>;
214
186
  export type ColumnStatusCode = "in process" | "active" | "obsolete";
215
187
  export interface ColumnFetchOptions {
@@ -247,6 +219,14 @@ interface _CompositeColumnScale1 {
247
219
  export function preprocessUnits<T extends UnitLong = UnitLong>(section: SectionInfo<T>, axisType?: ColumnAxisType): ExtUnit[];
248
220
  export function usePreparedColumnUnits(data: UnitLong[], options: PrepareColumnOptions): PreparedColumnData;
249
221
  export function prepareColumnUnits(units: UnitLong[], options: PrepareColumnOptions): PreparedColumnData;
222
+ type ProviderProps = {
223
+ children: ReactNode;
224
+ initialValues?: Iterable<[WritableAtom<any, any, any>, any]>;
225
+ };
226
+ export function MacrostratColumnStateProvider({ children, units, }: {
227
+ children: ReactNode;
228
+ units: ExtUnit[];
229
+ }): FunctionComponentElement<ProviderProps>;
250
230
  export interface MacrostratColumnDataContext {
251
231
  units: ExtUnit[];
252
232
  sections: PackageLayoutData[];
@@ -255,7 +235,10 @@ export interface MacrostratColumnDataContext {
255
235
  }
256
236
  export function MacrostratColumnDataProvider({ children, units, sections, totalHeight, axisType, }: MacrostratColumnDataContext & {
257
237
  children: ReactNode;
258
- }): FunctionComponentElement<ProviderProps<MacrostratColumnDataContext>>;
238
+ }): FunctionComponentElement<{
239
+ children: ReactNode;
240
+ units: ExtUnit[];
241
+ }>;
259
242
  export function useMacrostratColumnData(): MacrostratColumnDataContext;
260
243
  export function useMacrostratUnits(): ExtUnit[];
261
244
  export function useColumnUnitsMap(): Map<number, ExtUnit> | null;
@@ -331,7 +314,36 @@ export function useColumnNav(defaultArgs?: ColumnArgs): ColumnManagerData;
331
314
  export function ColumnNavProvider({ children, ...defaultArgs }: {
332
315
  [x: string]: any;
333
316
  children: any;
334
- }): FunctionComponentElement<ProviderProps<ColumnManagerData>>;
317
+ }): FunctionComponentElement<_ProviderProps1<ColumnManagerData>>;
318
+ type UnitSelectDispatch = (unit: number | BaseUnit | null, target: HTMLElement | null, event: Event | null) => void;
319
+ export function useUnitSelectionDispatch(): UnitSelectDispatch;
320
+ export function useUnitSelectionStore<T>(selector: (state: UnitSelectionStore) => T): T;
321
+ export function useSelectedUnit(): BaseUnit;
322
+ interface UnitSelectionStore {
323
+ selectedUnit: number | null;
324
+ selectedUnitData: BaseUnit | null;
325
+ overlayPosition: RectBounds | null;
326
+ onUnitSelected: UnitSelectDispatch;
327
+ setSelectedUnit: (unit: number | null) => void;
328
+ }
329
+ export interface ColumnClickData {
330
+ unitID: number | null;
331
+ unit: BaseUnit | null;
332
+ target: HTMLElement | null;
333
+ height: number;
334
+ }
335
+ export function UnitSelectionProvider<T extends BaseUnit>(props: {
336
+ children: ReactNode;
337
+ columnRef?: RefObject<HTMLElement>;
338
+ units: T[];
339
+ selectedUnit: number | null;
340
+ onClickedColumn?: (columnClickData: ColumnClickData, event: Event) => void;
341
+ onUnitSelected?: (unitID: number | null, unit: T | null) => void;
342
+ }): FunctionComponentElement<_ProviderProps1<StoreApi<UnitSelectionStore>>>;
343
+ export function useUnitSelectionTarget(unit: IUnit): [React.RefObject<HTMLElement>, boolean, (evt: Event) => void];
344
+ export function UnitKeyboardNavigation<T extends BaseUnit>({ units, }: {
345
+ units: T[];
346
+ }): any;
335
347
  interface KeyOptions {
336
348
  key?: string;
337
349
  id_key?: string;
@@ -351,7 +363,7 @@ interface LabeledUnitProps extends UnitRectOptions, Clickable, Partial<RectBound
351
363
  showLabel?: boolean;
352
364
  backgroundColor?: string;
353
365
  }
354
- export function LabelTrackerProvider(props: any): FunctionComponentElement<ProviderProps<any>>;
366
+ export function LabelTrackerProvider(props: any): FunctionComponentElement<_ProviderProps1<any>>;
355
367
  export function TrackedLabeledUnit({ division, nameForDivision, ...rest }: {
356
368
  [x: string]: any;
357
369
  division: any;
@@ -392,7 +404,7 @@ export interface CompositeColumnScale {
392
404
  copy(): CompositeColumnScale;
393
405
  domain(): number[];
394
406
  }
395
- export function ColumnNotesProvider(props: any): FunctionComponentElement<ProviderProps<ColumnCtx<ColumnDivision>>>;
407
+ export function ColumnNotesProvider(props: any): FunctionComponentElement<_ProviderProps1<ColumnCtx<ColumnDivision>>>;
396
408
  export function UnitsColumn({ width }: {
397
409
  width?: number;
398
410
  }): FunctionComponentElement<LithologyColumnProps>;
@@ -782,7 +794,7 @@ export interface CorrelationProviderProps extends CorrelationMapInput {
782
794
  type ComputedStore = {
783
795
  focusedColumns: FocusedColumnGeoJSONRecord[];
784
796
  };
785
- export function ColumnCorrelationProvider({ children, columns, projectID, inProcess, focusedLine, onSelectColumns, }: CorrelationProviderProps): FunctionComponentElement<ProviderProps<StoreApi<CorrelationMapStore>>>;
797
+ export function ColumnCorrelationProvider({ children, columns, projectID, inProcess, focusedLine, onSelectColumns, }: CorrelationProviderProps): FunctionComponentElement<_ProviderProps1<StoreApi<CorrelationMapStore>>>;
786
798
  export function useCorrelationMapStore(selector: (state: CorrelationMapStore & ComputedStore) => any): any;
787
799
  interface FocusedColumnGeoJSONRecord extends ColumnGeoJSONRecord {
788
800
  properties: {
@@ -911,7 +923,7 @@ export function DetritalGroup(props: DetritalItemProps): ReactElement<{
911
923
  className: string;
912
924
  }, string | JSXElementConstructor<any>>;
913
925
  export const MeasurementDataContext: Context<any>;
914
- export function MeasurementDataProvider(props: any): FunctionComponentElement<ProviderProps<any>>;
926
+ export function MeasurementDataProvider(props: any): FunctionComponentElement<_ProviderProps1<any>>;
915
927
  export const useMeasurementData: () => any;
916
928
  interface DataAreaProps {
917
929
  clipY: boolean;