@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 +0,0 @@
1
- {"mappings":"A,M,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,Q,kB,C,K,+B,A,Q,e,C,K,mB,A,Q,kB,C,C,e,C,C,O,C,K,2B,A,Q,M,Y,A,Q,U,C,C,e,C,K,O,A,Q,iB,C,K,mB,A,Q,a,C,K,6B,C,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,C,E,E,E,S,I,G,E,E,kB,I,G,E,E,kB,I,G,I,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,SCoDA,IAAM,EAAI,AAAA,E,AAAY,G,AAAA,E,U,C,AAAA,E,O,CAAA,GAoCf,SAAS,EAAO,CAAkB,EACvC,GAAM,CAAA,gBACJ,EAAkB,CAAA,CAAA,CAAA,mBAClB,EAAqB,CAAA,CAAA,CAAA,cACrB,CAAa,CAAA,eACb,CAAc,CAAA,aACd,CAAY,CAAA,SACZ,CAAQ,CACR,MAAO,CAAQ,CAAA,SACf,EAAW,AAAA,EAAe,GAAG,CAAA,MAC7B,CAAK,CAAA,MACL,CAAK,CAAA,MACL,CAAK,CAAA,MACL,CAAK,CAAA,mBACL,EAAqB,EAAA,CAAA,iBACrB,EAAmB,EAAA,CAAA,WACnB,CAAU,CAAA,cACV,EAAgB,EAAA,CAAA,iBAChB,EAAmB,EAAA,CAAA,4BACnB,EAA8B,CAAA,CAAA,CAAA,mBAC9B,CAAkB,CAAA,YAClB,CAAW,CAAA,MACX,CAAK,CACL,GAAG,EACJ,CAAG,EACE,EAAM,AAAA,IAKR,EAAoB,EACpB,EAAoB,EACpB,EAAiB,CACH,OAAd,IACF,EAAoB,KACpB,EAAoB,EACpB,EAAiB,GAGnB,GAAM,CAAA,SAAE,CAAQ,CAAA,MAAE,CAAK,CAAA,YAAE,CAAW,CAAE,CAAG,AAAA,CAAA,EAAA,EAAA,sBAAqB,AAArB,EAAuB,EAAU,CACxE,SAAA,EACA,MAAA,EACA,MAAA,EACA,MAAA,EACA,MAAA,EACA,cAAA,EACA,iBAAkB,EAClB,mBAAA,EACA,WAAA,EACA,cAAe,EACf,iBAAkB,EAClB,4BAAA,EAEA,MAAA,EACA,YAAA,CACF,GAEA,GAAI,AAAoB,IAApB,EAAS,MAAM,CACjB,OAAO,EACL,6BACA,EAAE,EAAe,CACf,MAAO,eACP,YAAa,oCACb,KAAM,cACR,IAIJ,IAAI,EAAmB,EAAA,gBAAe,AAEpC,CAAA,GAAa,OAAS,AAAA,EAAA,eAAc,CAAE,iBAAiB,EACvD,GAAY,AAAA,EAAe,GAAG,EAG9B,CAAA,EAAmB,EAAA,qBAAoB,EAGzC,IAAI,EAAY,EACd,EACA,CAAE,UAAW,EAAK,iBAAA,EAAkB,GAAG,CAAI,AAAC,EAC5C,CACE,EACA,EAAE,EAAE,CAAC,GAAiB,EAAA,oBAAmB,EACzC,EAAE,EAAE,CAAC,GAAoB,EAAA,sBAAqB,CAAG,CAAE,MAAA,CAAM,GAC1D,EAMC,EAAsB,GAAsB,CAAA,EAkBhD,MAjBI,CAAA,GAAmB,AAAgB,MAAhB,GAAwB,AAAkB,MAAlB,CAAkB,GAC/D,CAAA,EAAsB,CAAA,CADxB,EAII,GACF,CAAA,EAAO,EACL,EAAA,qBAAoB,CACpB,CACE,UAAW,EACX,eAAA,EACA,aAAA,EACA,MAAA,CACF,EACA,EADA,EAKG,EACL,EAAA,4BAA2B,CAC3B,CAAE,MAAA,EAAO,SAAA,EAAU,YAAA,EAAa,SAAA,CAAS,EACzC,EAEJ,CAOA,SAAS,EAAY,CAAuB,EAC1C,IAAM,EAAU,AAAA,EAAe,GAGzB,EAAmB,CACvB,uBAAwB,CAAA,EAAG,EAAQ,UAAU,CAAC,EAAE,CAAC,CACjD,0BAA2B,CAAA,EAAG,EAAQ,aAAa,CAAC,EAAE,CAAC,CACvD,wBAAyB,CAAA,EAAG,EAAQ,WAAW,CAAC,EAAE,CAAC,CACnD,yBAA0B,CAAA,EAAG,EAAQ,YAAY,CAAC,EAAE,CAAC,AACvD,EAEM,CAAA,cACJ,EAAgB,EAAA,aAAY,AAAA,CAAA,mBAC5B,EAAqB,CAAA,CAAA,CAAA,WACrB,EAAa,CAAA,CAAA,CACb,MAAO,EAAS,GAAG,CACnB,YAAa,EAAe,GAAG,CAC/B,gBAAiB,EAAmB,CAAA,CAAI,CAAA,UACxC,CAAS,CAAA,UACT,CAAS,CAAA,UACT,EAAY,CAAA,CAAA,CAAA,SACZ,CAAQ,CAAA,cACR,CAAa,CAAA,gBACb,CAAe,CAAA,mBACf,CAAkB,CAAA,YAClB,CAAW,CAAA,iBACX,EAAmB,EAAA,gBAAe,AAAA,CACnC,CAAG,EAEE,CAAA,SAAE,CAAQ,CAAE,CAAG,AAAA,CAAA,EAAA,EAAA,uBAAsB,AAAtB,IAGjB,EAAc,CACd,CAAA,EAFQ,GAGV,CAAA,EAHU,CAEZ,EAGA,IAAI,EAAkB,CAClB,CAAA,EAAc,AANN,EAMc,IACxB,CAAA,EAAkB,CAAA,CADpB,EAIA,IAAI,EAAiB,GAAiB,CAAA,EAMtC,OALI,AAAmB,MAAnB,GACF,CAAA,EAAiB,CAAA,CADnB,EAGA,EAAiB,GAAY,AAAA,EAAe,GAAG,EAAI,EAE5C,EACL,EACA,CACE,GAAG,AA4BT,SACE,EAA8C,IAAI,EAKlD,IAAM,EAAW,AAAA,CAAA,EAAA,EAAA,wBAAuB,AAAvB,IACX,EAAU,AAAA,EACd,AAAC,IACC,IAAW,KAAM,KAAM,EACzB,EACA,CAAC,EAAS,EAIN,EAAQ,AAAA,CAAA,EAAA,EAAA,iBAAgB,AAAhB,IAER,EAAc,AAAA,EAClB,AAAC,IACC,IAAM,EAAS,EAAM,MAAM,CACzB,EAAI,OAAO,CAAG,EAAI,aAAa,CAAC,qBAAqB,GAAG,GAAG,EAE7D,IAAe,KAAM,EAAQ,EAC/B,EACA,CAAC,EAAO,EAAa,EAGjB,EAAa,AAAA,EAAY,KAC7B,IAAe,KAAM,KAAM,KAC7B,EAAG,CAAC,EAAa,SAEjB,AAAI,AAAgB,MAAhB,EACK,CACL,QAAA,EACA,YAAa,KAAA,EACb,YAAa,KAAA,EACb,WAAY,KAAA,CACd,EAGK,CAAE,YAAA,EAAa,YAAa,EAAa,WAAA,EAAY,QAAA,CAAQ,CACtE,EArE+B,EAAY,CACrC,MAAO,EACP,UAAA,CACF,EACA,EAAE,aAAc,CAAE,IAAK,CAAU,EAAG,CAClC,EAAE,GACF,EAAE,EAAE,CAAC,GAAgB,EAAA,kBAAiB,CAAG,CAAE,OAAQ,CAAgB,GACnE,EAAE,EAAA,cAAa,CAAG,CAChB,cAAA,EACA,WAAA,EACA,MA7BM,EA8BN,YAAA,EACA,gBAAA,EACA,UAAA,EACA,mBAAA,EACA,mBAAA,CACF,GACA,EACD,EAEL,CAwDO,SAAS,EAAgB,CAA2B,EACzD,GAAM,CAAA,UAAE,CAAS,CAAE,GAAG,EAAM,CAAG,EACzB,EAAW,AAAA,IAEjB,OAAO,EAAE,EAAK,CACZ,UAAW,AAAA,EACT,EACA,CACE,YAAa,GAAU,WAAa,CAAA,CACtC,EACA,oBAEF,GAAG,CAAI,AACT,EACF,CAEO,SAAS,EAAgB,CAAA,KAAE,CAAI,CAAA,aAAE,EAAe,CAAA,CAAA,CAAM,SAC3D,AAAI,AAAQ,MAAR,EAAqB,KAClB,EAAE,kBAAmB,CAC1B,EAAE,uBAAwB,CACxB,EAAE,KAAM,EAAK,QAAQ,EACrB,EAAE,EAAE,CAAC,GAAc,KAAM,EAAE,EAAA,UAAS,CAAG,CAAE,GAAI,EAAK,MAAM,AAAC,IAC1D,EACD,EAAE,EAAW,CAAE,IAAK,CAAA,EAAM,MAAO,QAAS,MAAO,EAAK,SAAS,AAAC,GAChE,EAAE,EAAA,eAAc,CAAG,CACjB,KAAM,EAAK,IAAI,CACf,OAAQ,CAAA,EACR,IAAK,CAAA,EACL,UAAW,aACb,GACD,CACH,Q,K,M,C,K,e,C,K,e","sources":["<anon>","packages/column-views/src/column.ts"],"sourcesContent":["import \"./column-views.1261be59.js\";\nimport \"./column-views.e0d9865e.js\";\nimport \"./column-views.728c8dfc.js\";\nimport \"./column-views.87b1439e.js\";\nimport \"./column-views.c29e9eb8.js\";\nimport \"./column-views.cd2a5c85.js\";\nimport \"./column-views.b64cd0ea.js\";\nimport \"./column-views.45296250.js\";\nimport \"./column-views.7f9c7448.js\";\nimport \"./column-views.a16cd1f2.js\";\nimport {ColumnAxisType as $6sU8d$ColumnAxisType} from \"@macrostrat/column-components\";\nimport {hyperStyled as $6sU8d$hyperStyled} from \"@macrostrat/hyper\";\nimport {extractPadding as $6sU8d$extractPadding, useDarkMode as $6sU8d$useDarkMode, Box as $6sU8d$Box} from \"@macrostrat/ui-components\";\nimport $6sU8d$classnames from \"classnames\";\nimport {useRef as $6sU8d$useRef, useCallback as $6sU8d$useCallback} from \"react\";\nimport {NonIdealState as $6sU8d$NonIdealState} from \"@blueprintjs/core\";\nimport {DataField as $6sU8d$DataField} from \"@macrostrat/data-components\";\n\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $4721fb147cb3f5e1$exports = {};\n\n$parcel$export($4721fb147cb3f5e1$exports, \"Column\", () => $4721fb147cb3f5e1$export$816b5d811295e6bc);\n$parcel$export($4721fb147cb3f5e1$exports, \"ColumnContainer\", () => $4721fb147cb3f5e1$export$2194471aa3d52446);\n$parcel$export($4721fb147cb3f5e1$exports, \"ColumnBasicInfo\", () => $4721fb147cb3f5e1$export$fcdf79c491a4504f);\n\n\n\n\n\n\nvar $7YHvf = parcelRequire(\"7YHvf\");\n\nvar $7tWYE = parcelRequire(\"7tWYE\");\nvar $a3mb1 = parcelRequire(\"a3mb1\");\n\nvar $iYfAq = parcelRequire(\"iYfAq\");\nvar $2KV3o = parcelRequire(\"2KV3o\");\n\nvar $wtIgl = parcelRequire(\"wtIgl\");\n\nvar $7exMg = parcelRequire(\"7exMg\");\n\nvar $4hG2H = parcelRequire(\"4hG2H\");\n\nvar $76iYI = parcelRequire(\"76iYI\");\nvar $610tc = parcelRequire(\"610tc\");\n\n\nconst $4721fb147cb3f5e1$var$h = (0, $6sU8d$hyperStyled)((0, (/*@__PURE__*/$parcel$interopDefault($7YHvf))));\nfunction $4721fb147cb3f5e1$export$816b5d811295e6bc(props) {\n const { showUnitPopover: showUnitPopover = false, keyboardNavigation: keyboardNavigation = false, mergeSections: mergeSections, onUnitSelected: onUnitSelected, selectedUnit: selectedUnit, children: children, units: rawUnits, axisType: axisType = (0, $6sU8d$ColumnAxisType).AGE, t_age: t_age, b_age: b_age, t_pos: t_pos, b_pos: b_pos, unconformityHeight: unconformityHeight = 30, targetUnitHeight: targetUnitHeight = 20, pixelScale: pixelScale, minPixelScale: minPixelScale = 0.2, minSectionHeight: minSectionHeight = 50, collapseSmallUnconformities: collapseSmallUnconformities = true, allowUnitSelection: allowUnitSelection, hybridScale: hybridScale, scale: scale, ...rest } = props;\n const ref = (0, $6sU8d$useRef)();\n // Selected item position\n /* Make pixelScale and targetUnitHeight mutually exclusive. PixelScale implies\n * standardization of scales in all sections */ let _targetUnitHeight = targetUnitHeight;\n let _minSectionHeight = minSectionHeight;\n let _minPixelScale = minPixelScale;\n if (pixelScale != null) {\n _targetUnitHeight = null;\n _minSectionHeight = 0;\n _minPixelScale = pixelScale;\n }\n const { sections: sections, units: units, totalHeight: totalHeight } = (0, $610tc.usePreparedColumnUnits)(rawUnits, {\n axisType: axisType,\n t_age: t_age,\n b_age: b_age,\n t_pos: t_pos,\n b_pos: b_pos,\n mergeSections: mergeSections,\n targetUnitHeight: _targetUnitHeight,\n unconformityHeight: unconformityHeight,\n pixelScale: pixelScale,\n minPixelScale: _minPixelScale,\n minSectionHeight: _minSectionHeight,\n collapseSmallUnconformities: collapseSmallUnconformities,\n scale: // TODO: consider unifying scale and hybridScale options\n scale,\n hybridScale: hybridScale\n });\n if (sections.length === 0) return $4721fb147cb3f5e1$var$h(\"div.column-container.empty\", $4721fb147cb3f5e1$var$h((0, $6sU8d$NonIdealState), {\n title: \"Empty column\",\n description: \"No sections found in this column.\",\n icon: \"warning-sign\"\n }));\n let ageAxisComponent = (0, $4hG2H.CompositeAgeAxis);\n if (hybridScale?.type === (0, $76iYI.HybridScaleType).ApproximateHeight && axisType != (0, $6sU8d$ColumnAxisType).AGE) // Use approximate height axis for non-age columns if a non-age axis type is requested\n ageAxisComponent = (0, $4hG2H.ApproximateHeightAxis);\n let main = $4721fb147cb3f5e1$var$h($4721fb147cb3f5e1$var$ColumnInner, {\n columnRef: ref,\n ageAxisComponent: ageAxisComponent,\n ...rest\n }, [\n children,\n $4721fb147cb3f5e1$var$h.if(showUnitPopover)((0, $2KV3o.UnitSelectionPopover)),\n $4721fb147cb3f5e1$var$h.if(keyboardNavigation)((0, $a3mb1.UnitKeyboardNavigation), {\n units: units\n })\n ]);\n /* By default, unit selection is disabled. However, if any related props are passed,\n we enable it.\n */ let _allowUnitSelection = allowUnitSelection ?? false;\n if (showUnitPopover || selectedUnit != null || onUnitSelected != null) _allowUnitSelection = true;\n if (_allowUnitSelection) main = $4721fb147cb3f5e1$var$h((0, $a3mb1.UnitSelectionProvider), {\n columnRef: ref,\n onUnitSelected: onUnitSelected,\n selectedUnit: selectedUnit,\n units: units\n }, main);\n return $4721fb147cb3f5e1$var$h((0, $wtIgl.MacrostratColumnDataProvider), {\n units: units,\n sections: sections,\n totalHeight: totalHeight,\n axisType: axisType\n }, main);\n}\nfunction $4721fb147cb3f5e1$var$ColumnInner(props) {\n const padding = (0, $6sU8d$extractPadding)(props);\n // TODO: integrate padding vars more closely with the rest of the spacing (right now padding is a bit ad-hoc)\n const paddingVars = {\n \"--column-padding-top\": `${padding.paddingTop}px`,\n \"--column-padding-bottom\": `${padding.paddingBottom}px`,\n \"--column-padding-left\": `${padding.paddingLeft}px`,\n \"--column-padding-right\": `${padding.paddingRight}px`\n };\n const { unitComponent: unitComponent = (0, $7tWYE.UnitComponent), unconformityLabels: unconformityLabels = true, showLabels: showLabels = true, width: _width = 300, columnWidth: _columnWidth = 150, showLabelColumn: _showLabelColumn = true, className: className, columnRef: columnRef, clipUnits: clipUnits = false, children: children, showTimescale: showTimescale, timescaleLevels: timescaleLevels, maxInternalColumns: maxInternalColumns, onMouseOver: onMouseOver, ageAxisComponent: ageAxisComponent = (0, $4hG2H.CompositeAgeAxis) } = props;\n const { axisType: axisType } = (0, $wtIgl.useMacrostratColumnData)();\n let width = _width;\n let columnWidth = _columnWidth;\n if (columnWidth > width) columnWidth = width;\n let showLabelColumn = _showLabelColumn;\n if (columnWidth > width - 10) showLabelColumn = false;\n let _showTimescale = showTimescale ?? true;\n if (timescaleLevels != null) _showTimescale = true;\n _showTimescale = axisType == (0, $6sU8d$ColumnAxisType).AGE && _showTimescale;\n return $4721fb147cb3f5e1$var$h($4721fb147cb3f5e1$export$2194471aa3d52446, {\n ...$4721fb147cb3f5e1$var$useMouseEventHandlers(onMouseOver),\n style: paddingVars,\n className: className\n }, $4721fb147cb3f5e1$var$h(\"div.column\", {\n ref: columnRef\n }, [\n $4721fb147cb3f5e1$var$h(ageAxisComponent),\n $4721fb147cb3f5e1$var$h.if(_showTimescale)((0, $7exMg.CompositeTimescale), {\n levels: timescaleLevels\n }),\n $4721fb147cb3f5e1$var$h((0, $7exMg.SectionsColumn), {\n unitComponent: unitComponent,\n showLabels: showLabels,\n width: width,\n columnWidth: columnWidth,\n showLabelColumn: showLabelColumn,\n clipUnits: clipUnits,\n unconformityLabels: unconformityLabels,\n maxInternalColumns: maxInternalColumns\n }),\n children\n ]));\n}\nfunction $4721fb147cb3f5e1$var$useMouseEventHandlers(_onMouseOver = null) {\n /** Click event handler */ // Click handler for unit selection\n const dispatch = (0, $a3mb1.useUnitSelectionDispatch)();\n const onClick = (0, $6sU8d$useCallback)((evt)=>{\n dispatch?.(null, null, evt);\n }, [\n dispatch\n ]);\n /** Hover event handlers */ const scale = (0, $wtIgl.useCompositeScale)();\n const onMouseOver = (0, $6sU8d$useCallback)((evt)=>{\n const height = scale.invert(evt.clientY - evt.currentTarget.getBoundingClientRect().top);\n _onMouseOver?.(null, height, evt);\n }, [\n scale,\n _onMouseOver\n ]);\n const onMouseOut = (0, $6sU8d$useCallback)(()=>{\n _onMouseOver?.(null, null, null);\n }, [\n _onMouseOver\n ]);\n if (_onMouseOver == null) return {\n onClick: onClick,\n onMouseOver: undefined,\n onMouseMove: undefined,\n onMouseOut: undefined\n };\n return {\n onMouseOver: onMouseOver,\n onMouseMove: onMouseOver,\n onMouseOut: onMouseOut,\n onClick: onClick\n };\n}\nfunction $4721fb147cb3f5e1$export$2194471aa3d52446(props) {\n const { className: className, ...rest } = props;\n const darkMode = (0, $6sU8d$useDarkMode)();\n return $4721fb147cb3f5e1$var$h((0, $6sU8d$Box), {\n className: (0, $6sU8d$classnames)(className, {\n \"dark-mode\": darkMode?.isEnabled ?? false\n }, \"column-container\"),\n ...rest\n });\n}\nfunction $4721fb147cb3f5e1$export$fcdf79c491a4504f({ data: data, showColumnID: showColumnID = true }) {\n if (data == null) return null;\n return $4721fb147cb3f5e1$var$h(\"div.column-info\", [\n $4721fb147cb3f5e1$var$h(\"div.column-title-row\", [\n $4721fb147cb3f5e1$var$h(\"h2\", data.col_name),\n $4721fb147cb3f5e1$var$h.if(showColumnID)(\"h4\", $4721fb147cb3f5e1$var$h((0, $iYfAq.Identifier), {\n id: data.col_id\n }))\n ]),\n $4721fb147cb3f5e1$var$h((0, $6sU8d$DataField), {\n row: true,\n label: \"Group\",\n value: data.col_group\n }),\n $4721fb147cb3f5e1$var$h((0, $iYfAq.ReferencesField), {\n refs: data.refs,\n inline: false,\n row: true,\n className: \"column-refs\"\n })\n ]);\n}\n\n\nexport {$4721fb147cb3f5e1$export$816b5d811295e6bc as Column, $4721fb147cb3f5e1$export$2194471aa3d52446 as ColumnContainer, $4721fb147cb3f5e1$export$fcdf79c491a4504f as ColumnBasicInfo};\n//# sourceMappingURL=column-views.c8df6435.js.map\n","import { ColumnAxisType } from \"@macrostrat/column-components\";\nimport { hyperStyled } from \"@macrostrat/hyper\";\nimport {\n Box,\n extractPadding,\n Padding,\n useDarkMode,\n} from \"@macrostrat/ui-components\";\nimport classNames from \"classnames\";\nimport {\n RefObject,\n useRef,\n HTMLAttributes,\n useCallback,\n CSSProperties,\n ComponentType,\n} from \"react\";\nimport styles from \"./column.module.sass\";\nimport {\n UnitSelectionProvider,\n UnitComponent,\n UnitKeyboardNavigation,\n useUnitSelectionDispatch,\n} from \"./units\";\n\nimport {\n Identifier,\n ReferencesField,\n UnitSelectionPopover,\n} from \"./unit-details\";\nimport {\n MacrostratColumnDataProvider,\n useCompositeScale,\n useMacrostratColumnData,\n} from \"./data-provider\";\nimport {\n SectionSharedProps,\n CompositeTimescale,\n SectionsColumn,\n} from \"./section\";\nimport { ApproximateHeightAxis, CompositeAgeAxis } from \"./age-axis\";\nimport {\n MergeSectionsMode,\n usePreparedColumnUnits,\n HybridScaleType,\n ColumnHeightScaleOptions,\n} from \"./prepare-units\";\nimport { UnitLong } from \"@macrostrat/api-types\";\nimport { NonIdealState } from \"@blueprintjs/core\";\nimport { DataField } from \"@macrostrat/data-components\";\nimport { ScaleContinuousNumeric } from \"d3-scale\";\n\nconst h = hyperStyled(styles);\n\ninterface BaseColumnProps extends SectionSharedProps {\n className?: string;\n showLabelColumn?: boolean;\n keyboardNavigation?: boolean;\n showLabels?: boolean;\n maxInternalColumns?: number;\n // Timescale properties\n showTimescale?: boolean;\n timescaleLevels?: number | [number, number];\n onMouseOver?: (\n unit: UnitLong | null,\n height: number | null,\n evt: MouseEvent,\n ) => void;\n}\n\nexport interface ColumnProps\n extends Padding, BaseColumnProps, ColumnHeightScaleOptions {\n // Macrostrat units\n units: UnitLong[];\n t_age?: number;\n b_age?: number;\n t_pos?: number;\n b_pos?: number;\n mergeSections?: MergeSectionsMode;\n showUnitPopover?: boolean;\n allowUnitSelection?: boolean;\n selectedUnit?: number | null;\n onUnitSelected?: (unitID: number | null, unit: any) => void;\n // Unconformity height in pixels\n unconformityHeight?: number;\n scale?: ScaleContinuousNumeric<number, number>;\n}\n\nexport function Column(props: ColumnProps) {\n const {\n showUnitPopover = false,\n keyboardNavigation = false,\n mergeSections,\n onUnitSelected,\n selectedUnit,\n children,\n units: rawUnits,\n axisType = ColumnAxisType.AGE,\n t_age,\n b_age,\n t_pos,\n b_pos,\n unconformityHeight = 30,\n targetUnitHeight = 20,\n pixelScale,\n minPixelScale = 0.2,\n minSectionHeight = 50,\n collapseSmallUnconformities = true,\n allowUnitSelection,\n hybridScale,\n scale,\n ...rest\n } = props;\n const ref = useRef<HTMLElement>();\n // Selected item position\n\n /* Make pixelScale and targetUnitHeight mutually exclusive. PixelScale implies\n * standardization of scales in all sections */\n let _targetUnitHeight = targetUnitHeight;\n let _minSectionHeight = minSectionHeight;\n let _minPixelScale = minPixelScale;\n if (pixelScale != null) {\n _targetUnitHeight = null;\n _minSectionHeight = 0;\n _minPixelScale = pixelScale;\n }\n\n const { sections, units, totalHeight } = usePreparedColumnUnits(rawUnits, {\n axisType,\n t_age,\n b_age,\n t_pos,\n b_pos,\n mergeSections,\n targetUnitHeight: _targetUnitHeight,\n unconformityHeight,\n pixelScale,\n minPixelScale: _minPixelScale,\n minSectionHeight: _minSectionHeight,\n collapseSmallUnconformities,\n // TODO: consider unifying scale and hybridScale options\n scale,\n hybridScale,\n });\n\n if (sections.length === 0) {\n return h(\n \"div.column-container.empty\",\n h(NonIdealState, {\n title: \"Empty column\",\n description: \"No sections found in this column.\",\n icon: \"warning-sign\",\n }),\n );\n }\n\n let ageAxisComponent = CompositeAgeAxis;\n if (\n hybridScale?.type === HybridScaleType.ApproximateHeight &&\n axisType != ColumnAxisType.AGE\n ) {\n // Use approximate height axis for non-age columns if a non-age axis type is requested\n ageAxisComponent = ApproximateHeightAxis;\n }\n\n let main: any = h(\n ColumnInner,\n { columnRef: ref, ageAxisComponent, ...rest },\n [\n children,\n h.if(showUnitPopover)(UnitSelectionPopover),\n h.if(keyboardNavigation)(UnitKeyboardNavigation, { units }),\n ],\n );\n\n /* By default, unit selection is disabled. However, if any related props are passed,\n we enable it.\n */\n let _allowUnitSelection = allowUnitSelection ?? false;\n if (showUnitPopover || selectedUnit != null || onUnitSelected != null) {\n _allowUnitSelection = true;\n }\n\n if (_allowUnitSelection) {\n main = h(\n UnitSelectionProvider,\n {\n columnRef: ref,\n onUnitSelected,\n selectedUnit,\n units,\n },\n main,\n );\n }\n\n return h(\n MacrostratColumnDataProvider,\n { units, sections, totalHeight, axisType },\n main,\n );\n}\n\ninterface ColumnInnerProps extends BaseColumnProps {\n columnRef: RefObject<HTMLElement>;\n ageAxisComponent?: ComponentType;\n}\n\nfunction ColumnInner(props: ColumnInnerProps) {\n const padding = extractPadding(props);\n\n // TODO: integrate padding vars more closely with the rest of the spacing (right now padding is a bit ad-hoc)\n const paddingVars: any = {\n \"--column-padding-top\": `${padding.paddingTop}px`,\n \"--column-padding-bottom\": `${padding.paddingBottom}px`,\n \"--column-padding-left\": `${padding.paddingLeft}px`,\n \"--column-padding-right\": `${padding.paddingRight}px`,\n };\n\n const {\n unitComponent = UnitComponent,\n unconformityLabels = true,\n showLabels = true,\n width: _width = 300,\n columnWidth: _columnWidth = 150,\n showLabelColumn: _showLabelColumn = true,\n className,\n columnRef,\n clipUnits = false,\n children,\n showTimescale,\n timescaleLevels,\n maxInternalColumns,\n onMouseOver,\n ageAxisComponent = CompositeAgeAxis,\n } = props;\n\n const { axisType } = useMacrostratColumnData();\n\n let width = _width;\n let columnWidth = _columnWidth;\n if (columnWidth > width) {\n columnWidth = width;\n }\n let showLabelColumn = _showLabelColumn;\n if (columnWidth > width - 10) {\n showLabelColumn = false;\n }\n\n let _showTimescale = showTimescale ?? true;\n if (timescaleLevels != null) {\n _showTimescale = true;\n }\n _showTimescale = axisType == ColumnAxisType.AGE && _showTimescale;\n\n return h(\n ColumnContainer,\n {\n ...useMouseEventHandlers(onMouseOver),\n style: paddingVars,\n className,\n },\n h(\"div.column\", { ref: columnRef }, [\n h(ageAxisComponent),\n h.if(_showTimescale)(CompositeTimescale, { levels: timescaleLevels }),\n h(SectionsColumn, {\n unitComponent,\n showLabels,\n width,\n columnWidth,\n showLabelColumn,\n clipUnits,\n unconformityLabels,\n maxInternalColumns,\n }),\n children,\n ]),\n );\n}\n\ntype ColumnMouseOverHandler = (\n unit: UnitLong | null,\n height: number | null,\n evt: MouseEvent,\n) => void;\n\nfunction useMouseEventHandlers(\n _onMouseOver: ColumnMouseOverHandler | null = null,\n) {\n /** Click event handler */\n\n // Click handler for unit selection\n const dispatch = useUnitSelectionDispatch();\n const onClick = useCallback(\n (evt) => {\n dispatch?.(null, null, evt as any);\n },\n [dispatch],\n );\n\n /** Hover event handlers */\n const scale = useCompositeScale();\n\n const onMouseOver = useCallback(\n (evt) => {\n const height = scale.invert(\n evt.clientY - evt.currentTarget.getBoundingClientRect().top,\n );\n _onMouseOver?.(null, height, evt);\n },\n [scale, _onMouseOver],\n );\n\n const onMouseOut = useCallback(() => {\n _onMouseOver?.(null, null, null);\n }, [_onMouseOver]);\n\n if (_onMouseOver == null) {\n return {\n onClick,\n onMouseOver: undefined,\n onMouseMove: undefined,\n onMouseOut: undefined,\n };\n }\n\n return { onMouseOver, onMouseMove: onMouseOver, onMouseOut, onClick };\n}\n\nexport interface ColumnContainerProps extends HTMLAttributes<HTMLDivElement> {\n className?: string;\n style?: CSSProperties;\n}\n\nexport function ColumnContainer(props: ColumnContainerProps) {\n const { className, ...rest } = props;\n const darkMode = useDarkMode();\n\n return h(Box, {\n className: classNames(\n className,\n {\n \"dark-mode\": darkMode?.isEnabled ?? false,\n },\n \"column-container\",\n ),\n ...rest,\n });\n}\n\nexport function ColumnBasicInfo({ data, showColumnID = true }) {\n if (data == null) return null;\n return h(\"div.column-info\", [\n h(\"div.column-title-row\", [\n h(\"h2\", data.col_name),\n h.if(showColumnID)(\"h4\", h(Identifier, { id: data.col_id })),\n ]),\n h(DataField, { row: true, label: \"Group\", value: data.col_group }),\n h(ReferencesField, {\n refs: data.refs,\n inline: false,\n row: true,\n className: \"column-refs\",\n }),\n ]);\n}\n"],"names":["ColumnAxisType","$6sU8d$ColumnAxisType","hyperStyled","$6sU8d$hyperStyled","extractPadding","$6sU8d$extractPadding","useDarkMode","$6sU8d$useDarkMode","Box","$6sU8d$Box","$6sU8d$classnames","useRef","$6sU8d$useRef","useCallback","$6sU8d$useCallback","NonIdealState","$6sU8d$NonIdealState","DataField","$6sU8d$DataField","$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$4721fb147cb3f5e1$exports","$4721fb147cb3f5e1$export$816b5d811295e6bc","$4721fb147cb3f5e1$export$2194471aa3d52446","$4721fb147cb3f5e1$export$fcdf79c491a4504f","$7YHvf","$7tWYE","$a3mb1","$iYfAq","$2KV3o","$wtIgl","$7exMg","$4hG2H","$76iYI","$610tc","$4721fb147cb3f5e1$var$h","a","__esModule","default","props","showUnitPopover","keyboardNavigation","mergeSections","onUnitSelected","selectedUnit","children","units","rawUnits","axisType","AGE","t_age","b_age","t_pos","b_pos","unconformityHeight","targetUnitHeight","pixelScale","minPixelScale","minSectionHeight","collapseSmallUnconformities","allowUnitSelection","hybridScale","scale","rest","ref","_targetUnitHeight","_minSectionHeight","_minPixelScale","sections","totalHeight","usePreparedColumnUnits","length","title","description","icon","ageAxisComponent","CompositeAgeAxis","type","HybridScaleType","ApproximateHeight","ApproximateHeightAxis","main","$4721fb147cb3f5e1$var$ColumnInner","columnRef","if","UnitSelectionPopover","UnitKeyboardNavigation","_allowUnitSelection","UnitSelectionProvider","MacrostratColumnDataProvider","padding","paddingVars","paddingTop","paddingBottom","paddingLeft","paddingRight","unitComponent","UnitComponent","unconformityLabels","showLabels","width","_width","columnWidth","_columnWidth","showLabelColumn","_showLabelColumn","className","clipUnits","showTimescale","timescaleLevels","maxInternalColumns","onMouseOver","useMacrostratColumnData","_showTimescale","$4721fb147cb3f5e1$var$useMouseEventHandlers","_onMouseOver","dispatch","useUnitSelectionDispatch","onClick","evt","useCompositeScale","height","invert","clientY","currentTarget","getBoundingClientRect","top","onMouseOut","undefined","onMouseMove","style","CompositeTimescale","levels","SectionsColumn","darkMode","isEnabled","data","showColumnID","col_name","Identifier","col_id","row","label","value","col_group","ReferencesField","refs","inline","Column","ColumnContainer","ColumnBasicInfo"],"version":3,"file":"column-views.c8df6435.js.map","sourceRoot":"../../../../"}
@@ -1,2 +0,0 @@
1
- import"./column-views.aef76eee.js";import{createContext as e,useMemo as t,useContext as r}from"react";import a from"@macrostrat/hyper";function o(e,t,r,a){Object.defineProperty(e,t,{get:r,set:a,enumerable:!0,configurable:!0})}var n=globalThis,s={},i={},u=n.parcelRequirea149;null==u&&((u=function(e){if(e in s)return s[e].exports;if(e in i){var t=i[e];delete i[e];var r={id:e,exports:{}};return s[e]=r,t.call(r.exports,r,r.exports),r.exports}var a=Error("Cannot find module '"+e+"'");throw a.code="MODULE_NOT_FOUND",a}).register=function(e,t){i[e]=t},n.parcelRequirea149=u),u.register;var c={};o(c,"MacrostratColumnDataProvider",()=>p),o(c,"useMacrostratColumnData",()=>d),o(c,"useMacrostratUnits",()=>m),o(c,"useColumnUnitsMap",()=>b),o(c,"useCompositeScale",()=>x);var l=u("bBAza");let f=e(null);function p({children:e,units:r,sections:o,totalHeight:n,axisType:s}){let i=t(()=>({units:r,sections:o,totalHeight:n,axisType:s}),[r,o,n,s]);return a(f.Provider,{value:i},e)}function d(){let e=r(f);if(!e)throw Error("useMacrostratColumnData must be used within a MacrostratColumnDataProvider");return e}function m(){return d().units}function b(){let e=r(f);return t(()=>{if(null==e)return null;let t=new Map;return e.units.forEach(e=>{t.set(e.unit_id,e)}),t},[e?.units])}function x(){let e=d();return t(()=>(0,l.createCompositeScale)(e.sections,!0),[e.sections])}export{p as MacrostratColumnDataProvider,d as useMacrostratColumnData,m as useMacrostratUnits,b as useColumnUnitsMap,x as useCompositeScale};
2
- //# sourceMappingURL=column-views.cd2a5c85.js.map
@@ -1 +0,0 @@
1
- {"mappings":"A,M,6C,A,Q,iB,C,C,W,C,C,c,C,K,O,A,Q,M,mB,C,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,C,E,E,E,+B,I,G,E,E,0B,I,G,E,E,qB,I,G,E,E,oB,I,G,E,E,oB,I,G,I,E,E,SCgBA,IAAM,EACJ,AAAA,EAA2C,MAEtC,SAAS,EAA6B,CAAA,SAC3C,CAAQ,CAAA,MACR,CAAK,CAAA,SACL,CAAQ,CAAA,YACR,CAAW,CAAA,SACX,CAAQ,CAC8C,EAYtD,IAAM,EAAQ,AAAA,EAAQ,IAEb,CAAA,CACL,MAAA,EACA,SAAA,EACA,YAAA,EACA,SAAA,CACF,CAAA,EACC,CAAC,EAAO,EAAU,EAAa,EAAS,EAE3C,OAAO,AAAA,EAAE,EAA4B,QAAQ,CAAE,CAAE,MAAA,CAAM,EAAG,EAC5D,CAEO,SAAS,IACd,IAAM,EAAM,AAAA,EAAW,GACvB,GAAI,CAAC,EACH,MAAM,AAAI,MACR,8EAGJ,OAAO,CACT,CAEO,SAAS,IACd,OAAO,IAA0B,KAAK,AACxC,CAEO,SAAS,IACd,IAAM,EAAM,AAAA,EAAW,GACvB,OAAO,AAAA,EAAQ,KACb,GAAI,AAAO,MAAP,EAAa,OAAO,KACxB,IAAM,EAAU,IAAI,IAIpB,OAHA,EAAI,KAAK,CAAC,OAAO,CAAC,AAAC,IACjB,EAAQ,GAAG,CAAC,EAAK,OAAO,CAAE,EAC5B,GACO,CACT,EAAG,CAAC,GAAK,MAAM,CACjB,CAEO,SAAS,IACd,IAAM,EAAM,IACZ,OAAO,AAAA,EACL,IAAM,AAAA,CAAA,EAAA,EAAA,oBAAmB,AAAnB,EAAqB,EAAI,QAAQ,CAAE,CAAA,GACzC,CAAC,EAAI,QAAQ,CAAC,CAElB,Q,K,4B,C,K,uB,C,K,kB,C,K,iB,C,K,iB","sources":["<anon>","packages/column-views/src/data-provider/store.ts"],"sourcesContent":["import \"./column-views.aef76eee.js\";\nimport {createContext as $eJc70$createContext, useMemo as $eJc70$useMemo, useContext as $eJc70$useContext} from \"react\";\nimport $eJc70$macrostrathyper from \"@macrostrat/hyper\";\n\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $91525b65c57a1e5d$exports = {};\n\n$parcel$export($91525b65c57a1e5d$exports, \"MacrostratColumnDataProvider\", () => $91525b65c57a1e5d$export$7fec7bd80ff9c10e);\n$parcel$export($91525b65c57a1e5d$exports, \"useMacrostratColumnData\", () => $91525b65c57a1e5d$export$f8509b7cce386c7d);\n$parcel$export($91525b65c57a1e5d$exports, \"useMacrostratUnits\", () => $91525b65c57a1e5d$export$6fb40844db555b2);\n$parcel$export($91525b65c57a1e5d$exports, \"useColumnUnitsMap\", () => $91525b65c57a1e5d$export$7513be0cfd10d9cc);\n$parcel$export($91525b65c57a1e5d$exports, \"useCompositeScale\", () => $91525b65c57a1e5d$export$a7fc62995ec4f76);\n\n\n\nvar $bBAza = parcelRequire(\"bBAza\");\nconst $91525b65c57a1e5d$var$MacrostratColumnDataContext = (0, $eJc70$createContext)(null);\nfunction $91525b65c57a1e5d$export$7fec7bd80ff9c10e({ children: children, units: units, sections: sections, totalHeight: totalHeight, axisType: axisType }) {\n /** Provider for Macrostrat column data.\n * As a general rule, we want to provide data and column-axis\n * height calculations through the context, since these need to\n * be accessed by any component that lays out information on the\n * column.\n *\n * Cross-axis layout and view configuration (e.g., showing and hiding\n * of different components or labels) should be handled through passing\n * props to the components themselves.\n * */ const value = (0, $eJc70$useMemo)(()=>{\n // For now, change ordinal axis types to age axis types\n return {\n units: units,\n sections: sections,\n totalHeight: totalHeight,\n axisType: axisType\n };\n }, [\n units,\n sections,\n totalHeight,\n axisType\n ]);\n return (0, $eJc70$macrostrathyper)($91525b65c57a1e5d$var$MacrostratColumnDataContext.Provider, {\n value: value\n }, children);\n}\nfunction $91525b65c57a1e5d$export$f8509b7cce386c7d() {\n const ctx = (0, $eJc70$useContext)($91525b65c57a1e5d$var$MacrostratColumnDataContext);\n if (!ctx) throw new Error(\"useMacrostratColumnData must be used within a MacrostratColumnDataProvider\");\n return ctx;\n}\nfunction $91525b65c57a1e5d$export$6fb40844db555b2() {\n return $91525b65c57a1e5d$export$f8509b7cce386c7d().units;\n}\nfunction $91525b65c57a1e5d$export$7513be0cfd10d9cc() {\n const ctx = (0, $eJc70$useContext)($91525b65c57a1e5d$var$MacrostratColumnDataContext);\n return (0, $eJc70$useMemo)(()=>{\n if (ctx == null) return null;\n const unitMap = new Map();\n ctx.units.forEach((unit)=>{\n unitMap.set(unit.unit_id, unit);\n });\n return unitMap;\n }, [\n ctx?.units\n ]);\n}\nfunction $91525b65c57a1e5d$export$a7fc62995ec4f76() {\n const ctx = $91525b65c57a1e5d$export$f8509b7cce386c7d();\n return (0, $eJc70$useMemo)(()=>(0, $bBAza.createCompositeScale)(ctx.sections, true), [\n ctx.sections\n ]);\n}\n\n\nexport {$91525b65c57a1e5d$export$7fec7bd80ff9c10e as MacrostratColumnDataProvider, $91525b65c57a1e5d$export$f8509b7cce386c7d as useMacrostratColumnData, $91525b65c57a1e5d$export$6fb40844db555b2 as useMacrostratUnits, $91525b65c57a1e5d$export$7513be0cfd10d9cc as useColumnUnitsMap, $91525b65c57a1e5d$export$a7fc62995ec4f76 as useCompositeScale};\n//# sourceMappingURL=column-views.cd2a5c85.js.map\n","import { createContext, ReactNode, useContext, useMemo } from \"react\";\nimport h from \"@macrostrat/hyper\";\nimport {\n CompositeColumnScale,\n createCompositeScale,\n} from \"../prepare-units/composite-scale\";\nimport { ColumnAxisType } from \"@macrostrat/column-components\";\nimport type { ExtUnit, PackageLayoutData } from \"../prepare-units\";\n\nexport interface MacrostratColumnDataContext {\n units: ExtUnit[];\n sections: PackageLayoutData[];\n totalHeight?: number;\n axisType?: ColumnAxisType;\n}\n\nconst MacrostratColumnDataContext =\n createContext<MacrostratColumnDataContext>(null);\n\nexport function MacrostratColumnDataProvider({\n children,\n units,\n sections,\n totalHeight,\n axisType,\n}: MacrostratColumnDataContext & { children: ReactNode }) {\n /** Provider for Macrostrat column data.\n * As a general rule, we want to provide data and column-axis\n * height calculations through the context, since these need to\n * be accessed by any component that lays out information on the\n * column.\n *\n * Cross-axis layout and view configuration (e.g., showing and hiding\n * of different components or labels) should be handled through passing\n * props to the components themselves.\n * */\n\n const value = useMemo(() => {\n // For now, change ordinal axis types to age axis types\n return {\n units,\n sections,\n totalHeight,\n axisType,\n };\n }, [units, sections, totalHeight, axisType]);\n\n return h(MacrostratColumnDataContext.Provider, { value }, children);\n}\n\nexport function useMacrostratColumnData() {\n const ctx = useContext(MacrostratColumnDataContext);\n if (!ctx) {\n throw new Error(\n \"useMacrostratColumnData must be used within a MacrostratColumnDataProvider\",\n );\n }\n return ctx;\n}\n\nexport function useMacrostratUnits() {\n return useMacrostratColumnData().units;\n}\n\nexport function useColumnUnitsMap(): Map<number, ExtUnit> | null {\n const ctx = useContext(MacrostratColumnDataContext);\n return useMemo(() => {\n if (ctx == null) return null;\n const unitMap = new Map<number, ExtUnit>();\n ctx.units.forEach((unit) => {\n unitMap.set(unit.unit_id, unit);\n });\n return unitMap;\n }, [ctx?.units]);\n}\n\nexport function useCompositeScale(): CompositeColumnScale {\n const ctx = useMacrostratColumnData();\n return useMemo(\n () => createCompositeScale(ctx.sections, true),\n [ctx.sections],\n );\n}\n"],"names":["createContext","$eJc70$createContext","useMemo","$eJc70$useMemo","useContext","$eJc70$useContext","$eJc70$macrostrathyper","$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$91525b65c57a1e5d$exports","$91525b65c57a1e5d$export$7fec7bd80ff9c10e","$91525b65c57a1e5d$export$f8509b7cce386c7d","$91525b65c57a1e5d$export$6fb40844db555b2","$91525b65c57a1e5d$export$7513be0cfd10d9cc","$91525b65c57a1e5d$export$a7fc62995ec4f76","$bBAza","$91525b65c57a1e5d$var$MacrostratColumnDataContext","children","units","sections","totalHeight","axisType","value","Provider","ctx","unitMap","Map","forEach","unit","unit_id","createCompositeScale","MacrostratColumnDataProvider","useMacrostratColumnData","useMacrostratUnits","useColumnUnitsMap","useCompositeScale"],"version":3,"file":"column-views.cd2a5c85.js.map","sourceRoot":"../../../../"}
@@ -1 +0,0 @@
1
- {"mappings":"A,M,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,Q,M,mB,A,Q,W,C,C,U,C,K,O,A,Q,iB,C,K,2B,A,Q,M,Y,A,Q,O,C,C,kB,C,C,kB,C,K,+B,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,O,c,C,C,E,mB,C,I,I,E,I,K,E,W,C,E,a,C,C,G,I,E,E,SCAA,EAAA,EAAA,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,SAqCA,IAAM,EAAI,AAAA,EAAM,MAAM,C,AAAC,G,AAAA,E,U,C,AAAA,E,O,CAAA,GAchB,SAAS,EAAiB,CAAA,KAC/B,CAAI,CAAA,cACJ,EAAgB,CAAA,CAAA,YAChB,EAAc,GAAA,CAAA,mBACd,EAAqB,CAAA,CAAA,CAAA,gBACrB,EAAkB,CAAA,CAAA,CAAA,aAClB,CAAY,CAAA,eACZ,CAAc,CAAA,cACd,CAAa,CACb,GAAG,EACmB,EACtB,IAAM,EAAoB,CACxB,iBAAkB,GAClB,mBAAoB,GACpB,iBAAkB,GAClB,4BAA6B,CAAA,CAC/B,EAEM,EAAY,AAAA,EAAQ,IACxB,AAAK,EACE,AAAA,CAAA,EAAA,EAAA,yBAAwB,AAAxB,EAA0B,EAAM,CACrC,GAAG,CAAiB,CACpB,GAAG,CAAU,AACf,GAJkB,KAKjB,CAAC,KAAS,OAAO,MAAM,CAAC,GAAY,EAEjC,EAAY,AAAA,EAAO,MAGnB,EAAQ,AAAA,EAAQ,IACb,GAAM,IAAI,AAAC,GAAO,EAAG,KAAK,EAAE,QAAU,EAAE,CAC9C,CAAC,EAAK,EAIH,EAAY,AAAA,EAAW,CAC3B,YAHiB,AAAA,GAInB,GAEA,GAAI,AAAa,MAAb,EACF,OAAO,KAGT,GAAM,CAAA,SAAE,CAAQ,CAAA,UAAE,CAAS,CAAA,SAAE,CAAQ,CAAE,CAAG,EAI1C,OAAO,EACL,EAAA,eAAc,CACd,CAAE,UAAW,qBAAsB,EACnC,EACE,EAAA,qBAAoB,CACpB,CAAE,UAAA,EAAW,aAAA,EAAc,eAAA,EAAgB,MAAA,CAAM,EACjD,EAAE,EAAW,CACX,EAAE,EAAiB,CACjB,IAAK,YACL,UAAA,EACA,mBAAA,CACF,GACA,EAAE,iBAAkB,CAAE,IAAK,CAAU,EAAG,CACtC,EACE,EACA,CACE,UAAA,EACA,WAnBM,AAAC,CAAA,EAAc,CAAA,EAAiB,EAoBtC,OAAQ,EAAU,WAAW,CAC7B,SAAU,CACZ,EACA,EAAS,GAAG,CAAC,CAAC,EAAK,KACjB,GAAM,CAAA,OAAE,CAAM,CAAA,OAAE,CAAM,CAAA,WAAE,CAAU,CAAA,MAAE,CAAK,CAAA,IAAE,CAAG,CAAE,CAC9C,EAAU,QAAQ,CAAC,EAAE,CACvB,OAAO,EAAE,EAAS,CAChB,WAAY,EAAI,UAAU,CAC1B,IAAA,EACA,YAAA,EACA,cAAA,EACA,OAAA,EACA,OAAA,EACA,WAAA,EACA,MAAA,EACA,cAAA,CACF,EACF,IAEF,EAAE,EAAE,CAAC,GAAiB,EAAA,oBAAmB,EAEzC,EAAE,EAAA,sBAAqB,CAAG,CAAE,MAAA,CAAM,GACnC,EACF,GAGP,CAEA,SAAS,EAAQ,CAAA,WACf,CAAU,CAAA,cACV,CAAa,CAAA,YACb,CAAW,CAAA,cACX,CAAa,CAAA,OACb,CAAM,CAAA,OACN,CAAM,CAAA,WACN,CAAU,CAAA,MACV,CAAK,CACN,EACC,OAAO,EAAE,YAAa,CAAE,UAAW,CAAC,YAAY,EAAE,EAAO,CAAC,CAAC,AAAC,EAAG,CAG7D,EAAE,iBAAkB,CAClB,EAAW,GAAG,CAAC,CAAC,EAAM,IACb,EAAE,EAAQ,CACf,MAAO,EAAK,KAAK,CACjB,cAAA,EACA,MAAO,EACP,IAAK,EACL,OAAA,EACA,WAAA,EACA,MAAA,EACA,WAAY,EAAK,CAAA,EAAc,CAAA,CACjC,IAEH,EACF,CACH,CAiBA,SAAS,EAAO,CAAkB,EAChC,GAAM,CAAA,MACJ,CAAK,CAAA,MACL,EAAQ,GAAA,CAAA,WACR,CAAU,CAAA,OACV,CAAM,CAAA,WACN,CAAU,CAAA,MACV,CAAK,CAAA,cACL,EAAgB,EAAA,oBAAmB,AAAA,CACpC,CAAG,SAIJ,AAAI,AAAgB,GAAhB,EAAM,MAAM,CACP,KAGF,EACL,YACA,CACE,UAAW,CAAC,UAAU,EAAE,EAAW,GAAG,CAAC,AACzC,EACA,EACE,EACA,CAEE,UAAW,EACX,MAAO,EACP,MAAA,EACA,eAAgB,EAChB,SAAU,AAAA,EAAe,GAAG,AAC9B,EACA,EAAE,EAAA,SAAQ,CAAG,CACX,cAAA,EACA,mBAAoB,CAClB,SAAU,EACV,MAzBY,EA0BZ,UAAW,CAAA,CACb,CACF,IAGN,CAkEA,SAAS,EAAU,CAAA,SAAE,CAAQ,CAAE,EAC7B,IAAM,EAAkB,AAAA,CAAA,EAAA,EAAA,qBAAoB,AAApB,EACtB,AAAC,GAAU,EAAM,eAAe,EAGlC,OAAO,EACL,8BACA,CACE,UACE,EAAgB,KAClB,CACF,EACA,EAEJ,CAQA,SAAS,EAAgB,CAA2B,EAClD,GAAM,CAAA,UAAE,CAAS,CAAA,mBAAE,EAAqB,CAAA,CAAA,CAAM,CAAG,EACjD,OAAO,EAAE,0CAA2C,CAClD,EAAE,EAAA,oBAAmB,CAAG,CAAE,GAAG,CAAS,AAAC,GACvC,EAAE,EAAA,sBAAqB,CAAG,CAAE,GAAG,CAAS,CAAE,mBAAA,CAAmB,GAC9D,CACH,Q,K,gB","sources":["<anon>","packages/column-views/src/correlation-chart/main.ts"],"sourcesContent":["import \"./column-views.e0d9865e.js\";\nimport \"./column-views.728c8dfc.js\";\nimport \"./column-views.c29e9eb8.js\";\nimport \"./column-views.fea32686.js\";\nimport \"./column-views.b64cd0ea.js\";\nimport \"./column-views.aae09aca.js\";\nimport \"./column-views.45296250.js\";\nimport \"./column-views.b6cd4360.js\";\nimport \"./column-views.c8df6435.js\";\nimport $8OJSO$macrostrathyper from \"@macrostrat/hyper\";\nimport {useMemo as $8OJSO$useMemo, useRef as $8OJSO$useRef} from \"react\";\nimport {useInDarkMode as $8OJSO$useInDarkMode} from \"@macrostrat/ui-components\";\nimport $8OJSO$classnames from \"classnames\";\nimport {SVG as $8OJSO$SVG, ColumnProvider as $8OJSO$ColumnProvider, ColumnAxisType as $8OJSO$ColumnAxisType} from \"@macrostrat/column-components\";\n\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $25f1fcddbe40b91f$exports = {};\n\n$parcel$export($25f1fcddbe40b91f$exports, \"CorrelationChart\", () => $25f1fcddbe40b91f$export$9ebf875c09445bec);\n/** Correlation chart */ \nvar $7tWYE = parcelRequire(\"7tWYE\");\nvar $a3mb1 = parcelRequire(\"a3mb1\");\n\nvar $2KV3o = parcelRequire(\"2KV3o\");\n\n\nvar $cf1sk = parcelRequire(\"cf1sk\");\n\n\n\nvar $7exMg = parcelRequire(\"7exMg\");\n\n\nvar $8ldOM = parcelRequire(\"8ldOM\");\n\nvar $4hG2H = parcelRequire(\"4hG2H\");\n\n\nvar $1n4Pb = parcelRequire(\"1n4Pb\");\n\nvar $dMbCm = parcelRequire(\"dMbCm\");\nconst $25f1fcddbe40b91f$var$h = (0, $8OJSO$macrostrathyper).styled((0, (/*@__PURE__*/$parcel$interopDefault($cf1sk))));\nfunction $25f1fcddbe40b91f$export$9ebf875c09445bec({ data: data, columnSpacing: columnSpacing = 0, columnWidth: columnWidth = 130, unconformityLabels: unconformityLabels = true, showUnitPopover: showUnitPopover = true, selectedUnit: selectedUnit, onUnitSelected: onUnitSelected, unitComponent: unitComponent, ...scaleProps }) {\n const defaultScaleProps = {\n targetUnitHeight: 10,\n unconformityHeight: 60,\n minSectionHeight: 60,\n collapseSmallUnconformities: true\n };\n const chartData = (0, $8OJSO$useMemo)(()=>{\n if (!data) return null;\n return (0, $8ldOM.buildCorrelationChartData)(data, {\n ...defaultScaleProps,\n ...scaleProps\n });\n }, [\n data,\n ...Object.values(scaleProps)\n ]);\n const columnRef = (0, $8OJSO$useRef)(null);\n // A flattened units array is used to support keyboard navigation\n const units = (0, $8OJSO$useMemo)(()=>{\n return data?.map((d0)=>d0.units).flat() ?? [];\n }, [\n data\n ]);\n const inDarkMode = (0, $8OJSO$useInDarkMode)();\n const className = (0, $8OJSO$classnames)({\n \"dark-mode\": inDarkMode\n });\n if (chartData == null) return null;\n const { packages: packages, scaleInfo: scaleInfo, nColumns: nColumns } = chartData;\n const mainWidth = (columnWidth + columnSpacing) * nColumns;\n return $25f1fcddbe40b91f$var$h((0, $dMbCm.ColumnContainer), {\n className: \"correlation-diagram\"\n }, $25f1fcddbe40b91f$var$h((0, $a3mb1.UnitSelectionProvider), {\n columnRef: columnRef,\n selectedUnit: selectedUnit,\n onUnitSelected: onUnitSelected,\n units: units\n }, $25f1fcddbe40b91f$var$h($25f1fcddbe40b91f$var$ChartArea, [\n $25f1fcddbe40b91f$var$h($25f1fcddbe40b91f$var$TimescaleColumn, {\n key: \"timescale\",\n scaleInfo: scaleInfo,\n unconformityLabels: unconformityLabels\n }),\n $25f1fcddbe40b91f$var$h(\"div.main-chart\", {\n ref: columnRef\n }, [\n $25f1fcddbe40b91f$var$h((0, $8OJSO$SVG), {\n className: className,\n innerWidth: mainWidth,\n height: scaleInfo.totalHeight,\n paddingH: 4\n }, packages.map((pkg, i)=>{\n const { offset: offset, domain: domain, pixelScale: pixelScale, scale: scale, key: key } = scaleInfo.packages[i];\n return $25f1fcddbe40b91f$var$h($25f1fcddbe40b91f$var$Package, {\n columnData: pkg.columnData,\n key: key,\n columnWidth: columnWidth,\n columnSpacing: columnSpacing,\n offset: offset,\n domain: domain,\n pixelScale: pixelScale,\n scale: scale,\n unitComponent: unitComponent\n });\n })),\n $25f1fcddbe40b91f$var$h.if(showUnitPopover)((0, $2KV3o.UnitSelectionPopover)),\n // Navigation only works within a column for now...\n $25f1fcddbe40b91f$var$h((0, $a3mb1.UnitKeyboardNavigation), {\n units: units\n })\n ])\n ])));\n}\nfunction $25f1fcddbe40b91f$var$Package({ columnData: columnData, columnSpacing: columnSpacing, columnWidth: columnWidth, unitComponent: unitComponent, offset: offset, domain: domain, pixelScale: pixelScale, scale: scale }) {\n return $25f1fcddbe40b91f$var$h(\"g.package\", {\n transform: `translate(0 ${offset})`\n }, [\n // Disable the SVG overlay for now\n //h(PackageSVGOverlay, { data, columnSpacing }),\n $25f1fcddbe40b91f$var$h(\"g.column-units\", [\n columnData.map((data, i)=>{\n return $25f1fcddbe40b91f$var$h($25f1fcddbe40b91f$var$Column, {\n units: data.units,\n unitComponent: unitComponent,\n width: columnWidth,\n key: i,\n domain: domain,\n pixelScale: pixelScale,\n scale: scale,\n offsetLeft: i * (columnWidth + columnSpacing)\n });\n })\n ])\n ]);\n}\nfunction $25f1fcddbe40b91f$var$Column(props) {\n const { units: units, width: width = 150, offsetLeft: offsetLeft, domain: domain, pixelScale: pixelScale, scale: scale, unitComponent: unitComponent = (0, $7tWYE.ColoredUnitComponent) } = props;\n const columnWidth = width;\n if (units.length == 0) return null;\n return $25f1fcddbe40b91f$var$h(\"g.section\", {\n transform: `translate(${offsetLeft} 0)`\n }, $25f1fcddbe40b91f$var$h((0, $8OJSO$ColumnProvider), {\n // Need to tighten up types here...\n divisions: units,\n range: domain,\n scale: scale,\n pixelsPerMeter: pixelScale,\n axisType: (0, $8OJSO$ColumnAxisType).AGE\n }, $25f1fcddbe40b91f$var$h((0, $1n4Pb.UnitBoxes), {\n unitComponent: unitComponent,\n unitComponentProps: {\n nColumns: 2,\n width: columnWidth,\n showLabel: false\n }\n })));\n}\nfunction $25f1fcddbe40b91f$var$PackageSVGOverlay({ data: data, columnWidth: columnWidth = 100, columnSpacing: columnSpacing = 0 }) {\n const { b_age: b_age, t_age: t_age, bestPixelScale: bestPixelScale, columnData: columnData } = data;\n const width = (columnWidth + columnSpacing) * columnData.length;\n const height = Math.ceil((b_age - t_age) * bestPixelScale) + 2;\n const extensiveUnits = (0, $8ldOM.findLaterallyExtensiveUnits)(data);\n const scale = (val)=>{\n return (val - t_age) * bestPixelScale;\n };\n return $25f1fcddbe40b91f$var$h(\"div.package-overlay\", {\n style: {\n width: width,\n height: height\n }\n }, extensiveUnits.map((d)=>{\n return $25f1fcddbe40b91f$var$h($25f1fcddbe40b91f$var$LaterallyExtensiveUnit, {\n data: d,\n scale: scale,\n pixelScale: bestPixelScale,\n columnSpacing: columnSpacing\n });\n }));\n}\nfunction $25f1fcddbe40b91f$var$LaterallyExtensiveUnit({ data: data, scale: scale, pixelScale: pixelScale, columnSpacing: columnSpacing }) {\n const { b_age: b_age, t_age: t_age, strat_name_long: strat_name_long, units: units } = data;\n // Build boxes by column groups\n const boxes = (0, $8ldOM.splitStratIntoBoxes)(data);\n return $25f1fcddbe40b91f$var$h(\"div.laterally-extensive-unit\", boxes.map((d, i)=>{\n return $25f1fcddbe40b91f$var$h($25f1fcddbe40b91f$var$StratColSpan, {\n scale: scale,\n data: d,\n pixelScale: pixelScale,\n key: i,\n columnSpacing: columnSpacing\n });\n }));\n}\nfunction $25f1fcddbe40b91f$var$StratColSpan({ data: data, scale: scale, columnWidth: columnWidth = 100, columnSpacing: columnSpacing = 0, pixelScale: pixelScale = 1 }) {\n const { startCol: startCol, endCol: endCol, strat_name_long: strat_name_long, t_age: t_age, b_age: b_age } = data;\n const top = scale(t_age);\n const left = startCol * (columnWidth + columnSpacing);\n const width = (endCol - startCol + 1) * (columnWidth + columnSpacing);\n const height = (b_age - t_age) * pixelScale;\n return $25f1fcddbe40b91f$var$h(\"div.strat-col-span\", {\n style: {\n top: top,\n height: height,\n width: width,\n left: left\n }\n }, strat_name_long);\n}\nfunction $25f1fcddbe40b91f$var$ChartArea({ children: children }) {\n const setSelectedUnit = (0, $a3mb1.useUnitSelectionStore)((state)=>state.setSelectedUnit);\n return $25f1fcddbe40b91f$var$h(\"div.correlation-chart-inner\", {\n onClick () {\n setSelectedUnit(null);\n }\n }, children);\n}\nfunction $25f1fcddbe40b91f$var$TimescaleColumn(props) {\n const { scaleInfo: scaleInfo, unconformityLabels: unconformityLabels = true } = props;\n return $25f1fcddbe40b91f$var$h(\"div.column-container.age-axis-container\", [\n $25f1fcddbe40b91f$var$h((0, $4hG2H.CompositeAgeAxisCore), {\n ...scaleInfo\n }),\n $25f1fcddbe40b91f$var$h((0, $7exMg.CompositeTimescaleCore), {\n ...scaleInfo,\n unconformityLabels: unconformityLabels\n })\n ]);\n}\n\n\nexport {$25f1fcddbe40b91f$export$9ebf875c09445bec as CorrelationChart};\n//# sourceMappingURL=column-views.cf2a78c1.js.map\n","/** Correlation chart */\nimport {\n UnitSelectionProvider,\n UnitKeyboardNavigation,\n useUnitSelectionStore,\n} from \"../units\";\nimport { UnitSelectionPopover } from \"../unit-details\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\nimport { useMemo, useRef } from \"react\";\nimport { useInDarkMode } from \"@macrostrat/ui-components\";\nimport { CompositeTimescaleCore } from \"../section\";\nimport classNames from \"classnames\";\nimport {\n findLaterallyExtensiveUnits,\n splitStratIntoBoxes,\n UnitGroupBox,\n CorrelationChartSettings,\n buildCorrelationChartData,\n} from \"./prepare-data\";\nimport {\n CompositeAgeAxisCore,\n CompositeStratigraphicScaleInfo,\n} from \"../age-axis\";\nimport {\n ColumnAxisType,\n ColumnProvider,\n SVG,\n} from \"@macrostrat/column-components\";\nimport { ColoredUnitComponent } from \"../units\";\nimport { UnitBoxes } from \"../units/boxes\";\nimport { ColumnContainer } from \"../column\";\nimport { ColumnData } from \"../data-provider\";\nimport { BaseUnit } from \"@macrostrat/api-types\";\nimport { ScaleContinuousNumeric } from \"d3-scale\";\nimport { ExtUnit } from \"../prepare-units/types\";\n\nconst h = hyper.styled(styles);\n\nexport interface CorrelationChartProps extends CorrelationChartSettings {\n data: ColumnData[];\n columnWidth?: number;\n columnSpacing?: number;\n targetUnitHeight?: number;\n unconformityLabels?: boolean;\n selectedUnit?: number | null;\n showUnitPopover?: boolean;\n unitComponent?: any;\n onUnitSelected?: (unitID: number | null, unit: BaseUnit | null) => void;\n}\n\nexport function CorrelationChart({\n data,\n columnSpacing = 0,\n columnWidth = 130,\n unconformityLabels = true,\n showUnitPopover = true,\n selectedUnit,\n onUnitSelected,\n unitComponent,\n ...scaleProps\n}: CorrelationChartProps) {\n const defaultScaleProps = {\n targetUnitHeight: 10,\n unconformityHeight: 60,\n minSectionHeight: 60,\n collapseSmallUnconformities: true,\n };\n\n const chartData = useMemo(() => {\n if (!data) return null;\n return buildCorrelationChartData(data, {\n ...defaultScaleProps,\n ...scaleProps,\n });\n }, [data, ...Object.values(scaleProps)]);\n\n const columnRef = useRef(null);\n\n // A flattened units array is used to support keyboard navigation\n const units = useMemo(() => {\n return data?.map((d0) => d0.units).flat() ?? [];\n }, [data]);\n\n const inDarkMode = useInDarkMode();\n\n const className = classNames({\n \"dark-mode\": inDarkMode,\n });\n\n if (chartData == null) {\n return null;\n }\n\n const { packages, scaleInfo, nColumns } = chartData;\n\n const mainWidth = (columnWidth + columnSpacing) * nColumns;\n\n return h(\n ColumnContainer,\n { className: \"correlation-diagram\" },\n h(\n UnitSelectionProvider,\n { columnRef, selectedUnit, onUnitSelected, units },\n h(ChartArea, [\n h(TimescaleColumn, {\n key: \"timescale\",\n scaleInfo,\n unconformityLabels,\n }),\n h(\"div.main-chart\", { ref: columnRef }, [\n h(\n SVG,\n {\n className,\n innerWidth: mainWidth,\n height: scaleInfo.totalHeight,\n paddingH: 4,\n },\n packages.map((pkg, i) => {\n const { offset, domain, pixelScale, scale, key } =\n scaleInfo.packages[i];\n return h(Package, {\n columnData: pkg.columnData,\n key,\n columnWidth,\n columnSpacing,\n offset,\n domain,\n pixelScale,\n scale,\n unitComponent,\n });\n }),\n ),\n h.if(showUnitPopover)(UnitSelectionPopover),\n // Navigation only works within a column for now...\n h(UnitKeyboardNavigation, { units }),\n ]),\n ]),\n ),\n );\n}\n\nfunction Package({\n columnData,\n columnSpacing,\n columnWidth,\n unitComponent,\n offset,\n domain,\n pixelScale,\n scale,\n}) {\n return h(\"g.package\", { transform: `translate(0 ${offset})` }, [\n // Disable the SVG overlay for now\n //h(PackageSVGOverlay, { data, columnSpacing }),\n h(\"g.column-units\", [\n columnData.map((data, i) => {\n return h(Column, {\n units: data.units,\n unitComponent,\n width: columnWidth,\n key: i,\n domain,\n pixelScale,\n scale,\n offsetLeft: i * (columnWidth + columnSpacing),\n });\n }),\n ]),\n ]);\n}\n\ninterface ColumnProps {\n units: ExtUnit[];\n unitComponent?: React.FunctionComponent<any>;\n unitComponentProps?: any;\n showLabels?: boolean;\n width?: number;\n columnWidth?: number;\n columnSpacing?: number;\n targetUnitHeight?: number;\n offsetLeft?: number;\n domain: [number, number];\n pixelScale: number;\n scale?: ScaleContinuousNumeric<number, number>;\n}\n\nfunction Column(props: ColumnProps) {\n const {\n units,\n width = 150,\n offsetLeft,\n domain,\n pixelScale,\n scale,\n unitComponent = ColoredUnitComponent,\n } = props;\n\n const columnWidth = width;\n\n if (units.length == 0) {\n return null;\n }\n\n return h(\n \"g.section\",\n {\n transform: `translate(${offsetLeft} 0)`,\n },\n h(\n ColumnProvider,\n {\n // Need to tighten up types here...\n divisions: units as any[],\n range: domain,\n scale,\n pixelsPerMeter: pixelScale, // Actually pixels per myr\n axisType: ColumnAxisType.AGE,\n },\n h(UnitBoxes, {\n unitComponent,\n unitComponentProps: {\n nColumns: 2,\n width: columnWidth,\n showLabel: false,\n },\n }),\n ),\n );\n}\n\nfunction PackageSVGOverlay({ data, columnWidth = 100, columnSpacing = 0 }) {\n const { b_age, t_age, bestPixelScale, columnData } = data;\n\n const width = (columnWidth + columnSpacing) * columnData.length;\n const height = Math.ceil((b_age - t_age) * bestPixelScale) + 2;\n\n const extensiveUnits = findLaterallyExtensiveUnits(data);\n\n const scale = (val: number) => {\n return (val - t_age) * bestPixelScale;\n };\n\n return h(\n \"div.package-overlay\",\n { style: { width, height } },\n extensiveUnits.map((d) => {\n return h(LaterallyExtensiveUnit, {\n data: d,\n scale,\n pixelScale: bestPixelScale,\n columnSpacing,\n });\n }),\n );\n}\n\nfunction LaterallyExtensiveUnit({ data, scale, pixelScale, columnSpacing }) {\n const { b_age, t_age, strat_name_long, units } = data;\n // Build boxes by column groups\n const boxes: UnitGroupBox[] = splitStratIntoBoxes(data);\n\n return h(\n \"div.laterally-extensive-unit\",\n boxes.map((d, i) => {\n return h(StratColSpan, {\n scale,\n data: d,\n pixelScale,\n key: i,\n columnSpacing,\n });\n }),\n );\n}\n\nfunction StratColSpan({\n data,\n scale,\n columnWidth = 100,\n columnSpacing = 0,\n pixelScale = 1,\n}) {\n const { startCol, endCol, strat_name_long, t_age, b_age } = data;\n const top = scale(t_age);\n const left = startCol * (columnWidth + columnSpacing);\n const width = (endCol - startCol + 1) * (columnWidth + columnSpacing);\n const height = (b_age - t_age) * pixelScale;\n return h(\n \"div.strat-col-span\",\n { style: { top, height, width, left } },\n strat_name_long,\n );\n}\n\nfunction ChartArea({ children }) {\n const setSelectedUnit = useUnitSelectionStore(\n (state) => state.setSelectedUnit,\n );\n\n return h(\n \"div.correlation-chart-inner\",\n {\n onClick() {\n setSelectedUnit(null);\n },\n },\n children,\n );\n}\n\ninterface TimescaleColumnProps {\n scaleInfo: CompositeStratigraphicScaleInfo;\n showLabels?: boolean;\n unconformityLabels?: boolean;\n}\n\nfunction TimescaleColumn(props: TimescaleColumnProps) {\n const { scaleInfo, unconformityLabels = true } = props;\n return h(\"div.column-container.age-axis-container\", [\n h(CompositeAgeAxisCore, { ...scaleInfo }),\n h(CompositeTimescaleCore, { ...scaleInfo, unconformityLabels }),\n ]);\n}\n"],"names":["$8OJSO$macrostrathyper","useMemo","$8OJSO$useMemo","useRef","$8OJSO$useRef","useInDarkMode","$8OJSO$useInDarkMode","$8OJSO$classnames","SVG","$8OJSO$SVG","ColumnProvider","$8OJSO$ColumnProvider","ColumnAxisType","$8OJSO$ColumnAxisType","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","Object","defineProperty","get","$25f1fcddbe40b91f$export$9ebf875c09445bec","set","s","enumerable","configurable","$7tWYE","$a3mb1","$2KV3o","$cf1sk","$7exMg","$8ldOM","$4hG2H","$1n4Pb","$dMbCm","$25f1fcddbe40b91f$var$h","styled","a","__esModule","default","data","columnSpacing","columnWidth","unconformityLabels","showUnitPopover","selectedUnit","onUnitSelected","unitComponent","scaleProps","defaultScaleProps","targetUnitHeight","unconformityHeight","minSectionHeight","collapseSmallUnconformities","chartData","buildCorrelationChartData","values","columnRef","units","map","d0","flat","className","packages","scaleInfo","nColumns","ColumnContainer","UnitSelectionProvider","$25f1fcddbe40b91f$var$ChartArea","$25f1fcddbe40b91f$var$TimescaleColumn","key","ref","innerWidth","height","totalHeight","paddingH","pkg","i","offset","domain","pixelScale","scale","$25f1fcddbe40b91f$var$Package","columnData","if","UnitSelectionPopover","UnitKeyboardNavigation","transform","$25f1fcddbe40b91f$var$Column","width","offsetLeft","props","ColoredUnitComponent","length","divisions","range","pixelsPerMeter","axisType","AGE","UnitBoxes","unitComponentProps","showLabel","children","setSelectedUnit","useUnitSelectionStore","state","onClick","CompositeAgeAxisCore","CompositeTimescaleCore","CorrelationChart"],"version":3,"file":"column-views.cf2a78c1.js.map","sourceRoot":"../../../../"}
@@ -1,2 +0,0 @@
1
- import"./column-views.75582658.js";import"./column-views.b6cd4360.js";import"./column-views.6bba8c57.js";import"./column-views.7150ba18.js";import"./column-views.e065152e.js";import"./column-views.e7e26765.js";import"./column-views.e6720522.js";import"./column-views.728c8dfc.js";import e from"@macrostrat/hyper";import{LithologyColumn as o,useColumnLayout as t,useGeologicPattern as n}from"@macrostrat/column-components";import{useInDarkMode as i}from"@macrostrat/ui-components";import{useMemo as r}from"react";function a(e,o){return Object.keys(o).forEach(function(t){"default"===t||"__esModule"===t||Object.prototype.hasOwnProperty.call(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:function(){return o[t]}})}),e}function d(e,o,t,n){Object.defineProperty(e,o,{get:t,set:n,enumerable:!0,configurable:!0})}var s=globalThis,c={},l={},u=s.parcelRequirea149;null==u&&((u=function(e){if(e in c)return c[e].exports;if(e in l){var o=l[e];delete l[e];var t={id:e,exports:{}};return c[e]=t,o.call(t.exports,t,t.exports),t.exports}var n=Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}).register=function(e,o){l[e]=o},s.parcelRequirea149=u),u.register;var f={};d(f,"UnitsColumn",()=>g),d(f,"SimpleUnitsColumn",()=>_),d(f,"BasicUnitComponent",()=>h),d(f,"UnitComponent",()=>w),d(f,"useUnitColor",()=>S),d(f,"ColoredUnitComponent",()=>E),d(f,"useUnitColorByEnvironment",()=>H),d(f,"EnvironmentColoredUnitComponent",()=>y);var m=u("jiUaC"),b=u("1n4Pb"),p=u("bfmPX"),$=u("4Abge"),C=u("lgTAP"),v=u("5VyZI"),U=u("lI6Sf"),x=u("a3mb1");function g({width:t=100}){return e(o,{width:t},e(b.UnitBoxes))}function _(o){let{columnWidth:t,width:n,gutterWidth:i=0,labelOffset:r=30}=o;return e([e(g,{width:t}),e(m.UnitNamesColumn,{transform:`translate(${t+i})`,paddingLeft:r,width:n-t-i})])}function h({division:o,...t}){return e(w,{division:o,...t,backgroundColor:o.color,patternID:o.patternID})}function w({division:o,nColumns:n=2,...i}){let r=i.width??t()?.width,a=0==(o.overlappingUnits?.length??0)?1:n,d=(o.column??0)%a;return e($.TrackedLabeledUnit,{division:o,...i,width:r/a,x:d*r/a})}function S(e,o={}){let t=(0,C.useLithologies)(),n=i(),{asBackground:a=!0}=o;return r(()=>null==e||null==t?null:(0,p.getMixedUnitColor)(e,t,n,a),[e?.unit_id,t,n,a])}function E(o){let t=S(o.division);return e(w,{fill:n(r(()=>(0,v.resolveID)(o.division),[o.division?.unit_id])),backgroundColor:t,...o})}function H(e,o={}){let t=(0,C.useEnvironments)(),n=(0,C.useLithologies)(),a=i(),{asBackground:d=!0}=o;return r(()=>{if(null==e||null==t)return null;let o=(0,p.getMixedUnitColor)(e,t,a,d,{key:"environ",id_key:"environ_id"});return null!=o?o:(0,p.getMixedUnitColor)(e,n,a,d)},[e?.unit_id,t,n,a,d])}function y(o){let t=H(o.division);return e(w,{fill:n(r(()=>(0,v.resolveID)(o.division),[o.division?.unit_id])),backgroundColor:t,...o})}a(f,p),a(f,$),a(f,U),a(f,x);export{g as UnitsColumn,_ as SimpleUnitsColumn,h as BasicUnitComponent,w as UnitComponent,S as useUnitColor,E as ColoredUnitComponent,H as useUnitColorByEnvironment,y as EnvironmentColoredUnitComponent,$0557c7dbdd54c055$export$175d3e927f1a9860 as getMixedUnitColor,$6b7af672ec278734$export$e4e89ab6c86ac513 as LabelTrackerProvider,$6b7af672ec278734$export$f613830566442374 as TrackedLabeledUnit,$6b7af672ec278734$export$1dfa200d57964eee as CompositeUnitComponent,$6b7af672ec278734$export$a6684360fef0406e as CompositeUnitsColumn,$6b7af672ec278734$export$d8c3f2fdd653a082 as AnnotatedUnitsColumn,$6b7af672ec278734$export$13984e34afdbb040 as SectionLabelsColumn,$6b7af672ec278734$export$6cc7a9df4edde18 as ColumnNotesProvider,$f7d31510668965d8$export$77a278d5ca56e309 as useUnitSelectionDispatch,$f7d31510668965d8$export$b220b1d3591dc9e5 as useUnitSelectionStore,$f7d31510668965d8$export$f0dd93f90aa8e5da as useSelectedUnit,$f7d31510668965d8$export$f19d75b1d4b676a4 as UnitSelectionProvider,$f7d31510668965d8$export$cbbec12b1451fe7d as useUnitSelectionTarget,$f7d31510668965d8$export$70f5ee19650fc7d1 as UnitKeyboardNavigation};
2
- //# sourceMappingURL=column-views.e0d9865e.js.map
@@ -1 +0,0 @@
1
- {"mappings":"A,M,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,Q,M,mB,A,Q,mB,C,C,mB,C,C,sB,C,K,+B,A,Q,iB,C,K,2B,A,Q,W,C,K,O,C,S,E,C,C,C,E,O,O,I,C,G,O,C,S,C,E,Y,G,A,e,G,O,S,C,c,C,I,C,E,I,O,c,C,E,E,C,W,C,E,I,W,O,C,C,E,A,C,E,G,C,C,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,C,E,E,E,c,I,G,E,E,oB,I,G,E,E,qB,I,G,E,E,gB,I,G,E,E,e,I,G,E,E,uB,I,G,E,E,4B,I,G,E,E,kC,I,G,I,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,SCsBO,SAAS,EAAY,CAAA,MAAE,EAAQ,GAAA,CAAK,EAIzC,OAAO,AAAA,EAAE,EAAiB,CAAE,MAAA,CAAM,EAAG,AAAA,EAAE,EAAA,SAAQ,EACjD,CAEO,SAAS,EAAkB,CAA0B,EAK1D,GAAM,CAAA,YAAE,CAAW,CAAA,MAAE,CAAK,CAAA,YAAE,EAAc,CAAA,CAAA,YAAG,EAAc,EAAA,CAAI,CAAG,EAElE,OAAO,AAAA,EAAE,CACP,AAAA,EAAE,EAAa,CACb,MAAO,CACT,GACA,AAAA,EAAE,EAAA,eAAc,CAAG,CACjB,UAAW,CAAC,UAAU,EAAE,EAAc,EAAY,CAAC,CAAC,CACpD,YAAa,EACb,MAAO,EAAQ,EAAc,CAC/B,GACD,CACH,CAEO,SAAS,EAAmB,CAAA,SAAE,CAAQ,CAAE,GAAG,EAAM,EAGtD,OAAO,AAAA,EAAE,EAAe,CACtB,SAAA,EACA,GAAG,CAAI,CACP,gBAAiB,EAAS,KAAK,CAC/B,UAAW,EAAS,SAAS,AAC/B,EACF,CAEO,SAAS,EAAc,CAAA,SAAE,CAAQ,CAAA,SAAE,EAAW,CAAA,CAAG,GAAG,EAAM,EAC/D,IAAM,EAAQ,EAAK,KAAK,EAAI,AAAA,KAAmB,MAGzC,EAAY,AAAqB,GADb,CAAA,EAAS,gBAAgB,EAAE,QAAU,CAAA,EACpB,EAAI,EACzC,EAAW,AAAC,CAAA,EAAS,MAAM,EAAI,CAAA,EAAK,EAI1C,OAAO,AAAA,EAAE,EAAA,kBAAiB,CAAG,CAC3B,SAAA,EACA,GAAG,CAAI,CACP,MANmB,EAAQ,EAO3B,EANS,EAAW,EAAS,CAO/B,EACF,CAMO,SAAS,EAAa,CAAI,CAAE,EAAyB,CAAC,CAAC,EAE5D,IAAM,EAAU,AAAA,CAAA,EAAA,EAAA,cAAa,AAAb,IACV,EAAa,AAAA,IACb,CAAA,aAAE,EAAe,CAAA,CAAA,CAAM,CAAG,EAEhC,OAAO,AAAA,EAAQ,IACb,AAAI,AAAQ,MAAR,GAAgB,AAAW,MAAX,EAAwB,KACrC,AAAA,CAAA,EAAA,EAAA,iBAAgB,AAAhB,EAAkB,EAAM,EAAS,EAAY,GACnD,CAAC,GAAM,QAAS,EAAS,EAAY,EAAa,CACvD,CAEO,SAAS,EAAqB,CAAK,EAGxC,IAAM,EAAkB,EAAa,EAAM,QAAQ,EAQnD,OAAO,AAAA,EAAE,EAAe,CACtB,KAHW,AAAA,EAJK,AAAA,EAAQ,IACjB,AAAA,CAAA,EAAA,EAAA,SAAQ,AAAR,EAAU,EAAM,QAAQ,EAC9B,CAAC,EAAM,QAAQ,EAAE,QAAQ,GAM1B,gBAAA,EACA,GAAG,CAAK,AACV,EACF,CAEO,SAAS,EACd,CAAI,CACJ,EAAyB,CAAC,CAAC,EAG3B,IAAM,EAAiB,AAAA,CAAA,EAAA,EAAA,eAAc,AAAd,IACjB,EAAU,AAAA,CAAA,EAAA,EAAA,cAAa,AAAb,IACV,EAAa,AAAA,IACb,CAAA,aAAE,EAAe,CAAA,CAAA,CAAM,CAAG,EAEhC,OAAO,AAAA,EAAQ,KACb,GAAI,AAAQ,MAAR,GAAgB,AAAkB,MAAlB,EAAwB,OAAO,KACnD,IAAI,EAAI,AAAA,CAAA,EAAA,EAAA,iBAAgB,AAAhB,EAAkB,EAAM,EAAgB,EAAY,EAAc,CACxE,IAAK,UACL,OAAQ,YACV,UACA,AAAI,AAAK,MAAL,EACK,EAGF,AAAA,CAAA,EAAA,EAAA,iBAAgB,AAAhB,EAAkB,EAAM,EAAS,EAAY,EACtD,EAAG,CAAC,GAAM,QAAS,EAAgB,EAAS,EAAY,EAAa,CACvE,CAEO,SAAS,EAAgC,CAAK,EAGnD,IAAM,EAAkB,EAA0B,EAAM,QAAQ,EAQhE,OAAO,AAAA,EAAE,EAAe,CACtB,KAHW,AAAA,EAJK,AAAA,EAAQ,IACjB,AAAA,CAAA,EAAA,EAAA,SAAQ,AAAR,EAAU,EAAM,QAAQ,EAC9B,CAAC,EAAM,QAAQ,EAAE,QAAQ,GAM1B,gBAAA,EACA,GAAG,CAAK,AACV,EACF,C,E,E,G,E,E,G,E,E,G,E,E,U,K,W,C,K,iB,C,K,kB,C,K,a,C,K,Y,C,K,oB,C,K,yB,C,K,+B,C,6C,iB,C,6C,oB,C,6C,kB,C,6C,sB,C,6C,oB,C,6C,oB,C,6C,mB,C,4C,mB,C,6C,wB,C,6C,qB,C,6C,e,C,6C,qB,C,6C,sB,C,6C,sB","sources":["<anon>","packages/column-views/src/units/index.ts"],"sourcesContent":["import \"./column-views.75582658.js\";\nimport \"./column-views.b6cd4360.js\";\nimport \"./column-views.6bba8c57.js\";\nimport \"./column-views.7150ba18.js\";\nimport \"./column-views.e065152e.js\";\nimport \"./column-views.e7e26765.js\";\nimport \"./column-views.e6720522.js\";\nimport \"./column-views.728c8dfc.js\";\nimport $6u7Ut$macrostrathyper from \"@macrostrat/hyper\";\nimport {LithologyColumn as $6u7Ut$LithologyColumn, useColumnLayout as $6u7Ut$useColumnLayout, useGeologicPattern as $6u7Ut$useGeologicPattern} from \"@macrostrat/column-components\";\nimport {useInDarkMode as $6u7Ut$useInDarkMode} from \"@macrostrat/ui-components\";\nimport {useMemo as $6u7Ut$useMemo} from \"react\";\n\n\nfunction $parcel$exportWildcard(dest, source) {\n Object.keys(source).forEach(function(key) {\n if (key === 'default' || key === '__esModule' || Object.prototype.hasOwnProperty.call(dest, key)) {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function get() {\n return source[key];\n }\n });\n });\n\n return dest;\n}\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $1da06db49d2262cb$exports = {};\n\n$parcel$export($1da06db49d2262cb$exports, \"UnitsColumn\", () => $1da06db49d2262cb$export$3750278673318c9a);\n$parcel$export($1da06db49d2262cb$exports, \"SimpleUnitsColumn\", () => $1da06db49d2262cb$export$2006342ddaa547c6);\n$parcel$export($1da06db49d2262cb$exports, \"BasicUnitComponent\", () => $1da06db49d2262cb$export$600691a8e9d13a7);\n$parcel$export($1da06db49d2262cb$exports, \"UnitComponent\", () => $1da06db49d2262cb$export$48a4cacf2b7a4441);\n$parcel$export($1da06db49d2262cb$exports, \"useUnitColor\", () => $1da06db49d2262cb$export$62c7735c72801c19);\n$parcel$export($1da06db49d2262cb$exports, \"ColoredUnitComponent\", () => $1da06db49d2262cb$export$6012fd1584b5d0c0);\n$parcel$export($1da06db49d2262cb$exports, \"useUnitColorByEnvironment\", () => $1da06db49d2262cb$export$4830e703a903113);\n$parcel$export($1da06db49d2262cb$exports, \"EnvironmentColoredUnitComponent\", () => $1da06db49d2262cb$export$c2fe8a14da82d570);\n\n\n\nvar $jiUaC = parcelRequire(\"jiUaC\");\n\nvar $1n4Pb = parcelRequire(\"1n4Pb\");\n\n\nvar $bfmPX = parcelRequire(\"bfmPX\");\n\nvar $4Abge = parcelRequire(\"4Abge\");\n\nvar $lgTAP = parcelRequire(\"lgTAP\");\n\n\nvar $5VyZI = parcelRequire(\"5VyZI\");\n\nvar $lI6Sf = parcelRequire(\"lI6Sf\");\n\nvar $a3mb1 = parcelRequire(\"a3mb1\");\nfunction $1da06db49d2262cb$export$3750278673318c9a({ width: width = 100 }) {\n /*\n A column showing units with USGS color fill\n */ return (0, $6u7Ut$macrostrathyper)((0, $6u7Ut$LithologyColumn), {\n width: width\n }, (0, $6u7Ut$macrostrathyper)((0, $1n4Pb.UnitBoxes)));\n}\nfunction $1da06db49d2262cb$export$2006342ddaa547c6(props) {\n /*\n A column with units and names either\n overlapping or offset to the right\n */ const { columnWidth: columnWidth, width: width, gutterWidth: gutterWidth = 0, labelOffset: labelOffset = 30 } = props;\n return (0, $6u7Ut$macrostrathyper)([\n (0, $6u7Ut$macrostrathyper)($1da06db49d2262cb$export$3750278673318c9a, {\n width: columnWidth\n }),\n (0, $6u7Ut$macrostrathyper)((0, $jiUaC.UnitNamesColumn), {\n transform: `translate(${columnWidth + gutterWidth})`,\n paddingLeft: labelOffset,\n width: width - columnWidth - gutterWidth\n })\n ]);\n}\nfunction $1da06db49d2262cb$export$600691a8e9d13a7({ division: division, ...rest }) {\n /** A unit that allows directly setting colors and patterns. */ return (0, $6u7Ut$macrostrathyper)($1da06db49d2262cb$export$48a4cacf2b7a4441, {\n division: division,\n ...rest,\n backgroundColor: division.color,\n patternID: division.patternID\n });\n}\nfunction $1da06db49d2262cb$export$48a4cacf2b7a4441({ division: division, nColumns: nColumns = 2, ...rest }) {\n const width = rest.width ?? (0, $6u7Ut$useColumnLayout)()?.width;\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 return (0, $6u7Ut$macrostrathyper)((0, $4Abge.TrackedLabeledUnit), {\n division: division,\n ...rest,\n width: reducedWidth,\n x: x\n });\n}\nfunction $1da06db49d2262cb$export$62c7735c72801c19(unit, opts = {}) {\n /** Get the color for a unit based on its lithology */ const lithMap = (0, $lgTAP.useLithologies)();\n const inDarkMode = (0, $6u7Ut$useInDarkMode)();\n const { asBackground: asBackground = true } = opts;\n return (0, $6u7Ut$useMemo)(()=>{\n if (unit == null || lithMap == null) return null;\n return (0, $bfmPX.getMixedUnitColor)(unit, lithMap, inDarkMode, asBackground);\n }, [\n unit?.unit_id,\n lithMap,\n inDarkMode,\n asBackground\n ]);\n}\nfunction $1da06db49d2262cb$export$6012fd1584b5d0c0(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. */ const backgroundColor = $1da06db49d2262cb$export$62c7735c72801c19(props.division);\n const patternID = (0, $6u7Ut$useMemo)(()=>{\n return (0, $5VyZI.resolveID)(props.division); // ?? getPatternID(props.division.lith, lithMap);\n }, [\n props.division?.unit_id\n ]);\n const fill = (0, $6u7Ut$useGeologicPattern)(patternID);\n return (0, $6u7Ut$macrostrathyper)($1da06db49d2262cb$export$48a4cacf2b7a4441, {\n fill: fill,\n backgroundColor: backgroundColor,\n ...props\n });\n}\nfunction $1da06db49d2262cb$export$4830e703a903113(unit, opts = {}) {\n /** Get the color for a unit based on its lithology */ const environmentMap = (0, $lgTAP.useEnvironments)();\n const lithMap = (0, $lgTAP.useLithologies)();\n const inDarkMode = (0, $6u7Ut$useInDarkMode)();\n const { asBackground: asBackground = true } = opts;\n return (0, $6u7Ut$useMemo)(()=>{\n if (unit == null || environmentMap == null) return null;\n let c = (0, $bfmPX.getMixedUnitColor)(unit, environmentMap, inDarkMode, asBackground, {\n key: \"environ\",\n id_key: \"environ_id\"\n });\n if (c != null) return c;\n // Fallback to lithology color if no environment color is found\n return (0, $bfmPX.getMixedUnitColor)(unit, lithMap, inDarkMode, asBackground);\n }, [\n unit?.unit_id,\n environmentMap,\n lithMap,\n inDarkMode,\n asBackground\n ]);\n}\nfunction $1da06db49d2262cb$export$c2fe8a14da82d570(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. */ const backgroundColor = $1da06db49d2262cb$export$4830e703a903113(props.division);\n const patternID = (0, $6u7Ut$useMemo)(()=>{\n return (0, $5VyZI.resolveID)(props.division); // ?? getPatternID(props.division.lith, lithMap);\n }, [\n props.division?.unit_id\n ]);\n const fill = (0, $6u7Ut$useGeologicPattern)(patternID);\n return (0, $6u7Ut$macrostrathyper)($1da06db49d2262cb$export$48a4cacf2b7a4441, {\n fill: fill,\n backgroundColor: backgroundColor,\n ...props\n });\n}\nfunction $1da06db49d2262cb$var$getPatternID(liths, lithMap) {\n if (lithMap == null || liths == null || liths.length == 0) return null;\n const patternIDs = new Set();\n for (const lith of liths){\n const lithData = lithMap.get(lith.lith_id);\n if (lithData) patternIDs.add(`${lithData.fill}`);\n }\n let id = patternIDs.values()[0];\n if (id == \"0\") return null;\n return id;\n}\n$parcel$exportWildcard($1da06db49d2262cb$exports, $bfmPX);\n$parcel$exportWildcard($1da06db49d2262cb$exports, $4Abge);\n$parcel$exportWildcard($1da06db49d2262cb$exports, $lI6Sf);\n$parcel$exportWildcard($1da06db49d2262cb$exports, $a3mb1);\n\n\nexport {$1da06db49d2262cb$export$3750278673318c9a as UnitsColumn, $1da06db49d2262cb$export$2006342ddaa547c6 as SimpleUnitsColumn, $1da06db49d2262cb$export$600691a8e9d13a7 as BasicUnitComponent, $1da06db49d2262cb$export$48a4cacf2b7a4441 as UnitComponent, $1da06db49d2262cb$export$62c7735c72801c19 as useUnitColor, $1da06db49d2262cb$export$6012fd1584b5d0c0 as ColoredUnitComponent, $1da06db49d2262cb$export$4830e703a903113 as useUnitColorByEnvironment, $1da06db49d2262cb$export$c2fe8a14da82d570 as EnvironmentColoredUnitComponent, $0557c7dbdd54c055$export$175d3e927f1a9860 as getMixedUnitColor, $6b7af672ec278734$export$e4e89ab6c86ac513 as LabelTrackerProvider, $6b7af672ec278734$export$f613830566442374 as TrackedLabeledUnit, $6b7af672ec278734$export$1dfa200d57964eee as CompositeUnitComponent, $6b7af672ec278734$export$a6684360fef0406e as CompositeUnitsColumn, $6b7af672ec278734$export$d8c3f2fdd653a082 as AnnotatedUnitsColumn, $6b7af672ec278734$export$13984e34afdbb040 as SectionLabelsColumn, $6b7af672ec278734$export$6cc7a9df4edde18 as ColumnNotesProvider, $f7d31510668965d8$export$77a278d5ca56e309 as useUnitSelectionDispatch, $f7d31510668965d8$export$b220b1d3591dc9e5 as useUnitSelectionStore, $f7d31510668965d8$export$f0dd93f90aa8e5da as useSelectedUnit, $f7d31510668965d8$export$f19d75b1d4b676a4 as UnitSelectionProvider, $f7d31510668965d8$export$cbbec12b1451fe7d as useUnitSelectionTarget, $f7d31510668965d8$export$70f5ee19650fc7d1 as UnitKeyboardNavigation};\n//# sourceMappingURL=column-views.e0d9865e.js.map\n","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 \"./selection\";\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":["$6u7Ut$macrostrathyper","LithologyColumn","$6u7Ut$LithologyColumn","useColumnLayout","$6u7Ut$useColumnLayout","useGeologicPattern","$6u7Ut$useGeologicPattern","useInDarkMode","$6u7Ut$useInDarkMode","useMemo","$6u7Ut$useMemo","$parcel$exportWildcard","dest","source","Object","keys","forEach","key","prototype","hasOwnProperty","call","defineProperty","enumerable","get","$parcel$export","e","n","v","s","set","configurable","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","err","Error","code","register","$1da06db49d2262cb$exports","$1da06db49d2262cb$export$3750278673318c9a","$1da06db49d2262cb$export$2006342ddaa547c6","$1da06db49d2262cb$export$600691a8e9d13a7","$1da06db49d2262cb$export$48a4cacf2b7a4441","$1da06db49d2262cb$export$62c7735c72801c19","$1da06db49d2262cb$export$6012fd1584b5d0c0","$1da06db49d2262cb$export$4830e703a903113","$1da06db49d2262cb$export$c2fe8a14da82d570","$jiUaC","$1n4Pb","$bfmPX","$4Abge","$lgTAP","$5VyZI","$lI6Sf","$a3mb1","width","UnitBoxes","props","columnWidth","gutterWidth","labelOffset","UnitNamesColumn","transform","paddingLeft","division","rest","backgroundColor","color","patternID","nColumns","_nColumns","nOverlappingUnits","overlappingUnits","length","columnIx","column","TrackedLabeledUnit","x","unit","opts","lithMap","useLithologies","inDarkMode","asBackground","getMixedUnitColor","unit_id","fill","resolveID","environmentMap","useEnvironments","c","id_key","UnitsColumn","SimpleUnitsColumn","BasicUnitComponent","UnitComponent","useUnitColor","ColoredUnitComponent","useUnitColorByEnvironment","EnvironmentColoredUnitComponent","$0557c7dbdd54c055$export$175d3e927f1a9860","$6b7af672ec278734$export$e4e89ab6c86ac513","LabelTrackerProvider","$6b7af672ec278734$export$f613830566442374","$6b7af672ec278734$export$1dfa200d57964eee","CompositeUnitComponent","$6b7af672ec278734$export$a6684360fef0406e","CompositeUnitsColumn","$6b7af672ec278734$export$d8c3f2fdd653a082","AnnotatedUnitsColumn","$6b7af672ec278734$export$13984e34afdbb040","SectionLabelsColumn","$6b7af672ec278734$export$6cc7a9df4edde18","ColumnNotesProvider","$f7d31510668965d8$export$77a278d5ca56e309","useUnitSelectionDispatch","$f7d31510668965d8$export$b220b1d3591dc9e5","useUnitSelectionStore","$f7d31510668965d8$export$f0dd93f90aa8e5da","useSelectedUnit","$f7d31510668965d8$export$f19d75b1d4b676a4","UnitSelectionProvider","$f7d31510668965d8$export$cbbec12b1451fe7d","useUnitSelectionTarget","$f7d31510668965d8$export$70f5ee19650fc7d1","UnitKeyboardNavigation"],"version":3,"file":"column-views.e0d9865e.js.map","sourceRoot":"../../../../"}