@macrostrat/column-views 1.0.3 → 2.0.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 (258) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/esm/{data-area.daff8da0.js → column-views.062d164a.js} +1 -1
  3. package/dist/esm/{data-area.daff8da0.js.map → column-views.062d164a.js.map} +1 -1
  4. package/dist/esm/{data-provider.1506eb64.js → column-views.07521ce6.js} +1 -1
  5. package/dist/esm/column-views.07521ce6.js.map +1 -0
  6. package/dist/esm/column-views.134b2e2a.js +9 -0
  7. package/dist/esm/column-views.134b2e2a.js.map +1 -0
  8. package/dist/esm/{selection-popover.module.0a701258.css → column-views.16cc7a58.css} +11 -8
  9. package/dist/esm/column-views.16cc7a58.css.map +1 -0
  10. package/dist/esm/column-views.1c589cc4.js +141 -0
  11. package/dist/esm/column-views.1c589cc4.js.map +1 -0
  12. package/dist/esm/column-views.1ece326b.js +420 -0
  13. package/dist/esm/column-views.1ece326b.js.map +1 -0
  14. package/dist/esm/column-views.1edc7300.js +40 -0
  15. package/dist/esm/column-views.1edc7300.js.map +1 -0
  16. package/dist/esm/column-views.240ef158.css +159 -0
  17. package/dist/esm/column-views.240ef158.css.map +1 -0
  18. package/dist/esm/column-views.25471fe0.css +111 -0
  19. package/dist/esm/column-views.25471fe0.css.map +1 -0
  20. package/dist/esm/column-views.28ee5f43.js +288 -0
  21. package/dist/esm/column-views.28ee5f43.js.map +1 -0
  22. package/dist/esm/column-views.30646469.js +118 -0
  23. package/dist/esm/column-views.30646469.js.map +1 -0
  24. package/dist/esm/column-views.338a7a83.css +134 -0
  25. package/dist/esm/column-views.338a7a83.css.map +1 -0
  26. package/dist/esm/column-views.33dbc778.js +95 -0
  27. package/dist/esm/column-views.33dbc778.js.map +1 -0
  28. package/dist/esm/column-views.343b5aa2.js +98 -0
  29. package/dist/esm/column-views.343b5aa2.js.map +1 -0
  30. package/dist/esm/column-views.34636ec7.js +104 -0
  31. package/dist/esm/column-views.34636ec7.js.map +1 -0
  32. package/dist/esm/column-views.3465c8ad.js +16 -0
  33. package/dist/esm/column-views.3465c8ad.js.map +1 -0
  34. package/dist/esm/column-views.39657bbf.js +55 -0
  35. package/dist/esm/column-views.39657bbf.js.map +1 -0
  36. package/dist/esm/column-views.3b972a9b.css +4 -0
  37. package/dist/esm/{composite.module.69a38fd1.css.map → column-views.3b972a9b.css.map} +1 -1
  38. package/dist/esm/column-views.3bec70d6.js +167 -0
  39. package/dist/esm/column-views.3bec70d6.js.map +1 -0
  40. package/dist/esm/column-views.3de4dc43.js +66 -0
  41. package/dist/esm/column-views.3de4dc43.js.map +1 -0
  42. package/dist/esm/{column.db058031.js → column-views.3f4db8cb.js} +8 -8
  43. package/dist/esm/column-views.3f4db8cb.js.map +1 -0
  44. package/dist/esm/column-views.40c1f361.js +206 -0
  45. package/dist/esm/column-views.40c1f361.js.map +1 -0
  46. package/dist/esm/{composite.module.0638e7ee.js → column-views.40cd59b5.js} +1 -1
  47. package/dist/esm/{composite.module.0638e7ee.js.map → column-views.40cd59b5.js.map} +1 -1
  48. package/dist/esm/column-views.4637f4ce.js +46 -0
  49. package/dist/esm/column-views.4637f4ce.js.map +1 -0
  50. package/dist/esm/column-views.4c4c5bac.js +163 -0
  51. package/dist/esm/column-views.4c4c5bac.js.map +1 -0
  52. package/dist/esm/column-views.4d374a35.js +19 -0
  53. package/dist/esm/column-views.4d374a35.js.map +1 -0
  54. package/dist/esm/column-views.57c4ddf3.js +125 -0
  55. package/dist/esm/column-views.57c4ddf3.js.map +1 -0
  56. package/dist/esm/column-views.58b82432.js +58 -0
  57. package/dist/esm/column-views.58b82432.js.map +1 -0
  58. package/dist/esm/column-views.5b2635fd.js +13 -0
  59. package/dist/esm/column-views.5b2635fd.js.map +1 -0
  60. package/dist/esm/column-views.5c02fee2.js +258 -0
  61. package/dist/esm/column-views.5c02fee2.js.map +1 -0
  62. package/dist/esm/column-views.5cc09c1d.js +152 -0
  63. package/dist/esm/column-views.5cc09c1d.js.map +1 -0
  64. package/dist/esm/{names.f6a4e9a4.js → column-views.650bd9f5.js} +5 -5
  65. package/dist/esm/column-views.650bd9f5.js.map +1 -0
  66. package/dist/esm/column-views.68409161.js +89 -0
  67. package/dist/esm/column-views.68409161.js.map +1 -0
  68. package/dist/esm/column-views.6a954628.js +70 -0
  69. package/dist/esm/column-views.6a954628.js.map +1 -0
  70. package/dist/esm/column-views.6c670c13.css +26 -0
  71. package/dist/esm/column-views.6c670c13.css.map +1 -0
  72. package/dist/esm/column-views.6d6b73b4.js +55 -0
  73. package/dist/esm/column-views.6d6b73b4.js.map +1 -0
  74. package/dist/esm/column-views.86c4b36f.js +222 -0
  75. package/dist/esm/column-views.86c4b36f.js.map +1 -0
  76. package/dist/esm/column-views.88de2cee.js +9 -0
  77. package/dist/esm/column-views.88de2cee.js.map +1 -0
  78. package/dist/esm/{resolvers.b5c82b78.js → column-views.8dd877af.js} +16 -3
  79. package/dist/esm/column-views.8dd877af.js.map +1 -0
  80. package/dist/esm/column-views.8e51206e.js +143 -0
  81. package/dist/esm/column-views.8e51206e.js.map +1 -0
  82. package/dist/esm/{column.module.7f47d25a.js → column-views.94b5cca1.js} +1 -1
  83. package/dist/esm/{column.module.7f47d25a.js.map → column-views.94b5cca1.js.map} +1 -1
  84. package/dist/esm/column-views.9804efda.js +75 -0
  85. package/dist/esm/column-views.9804efda.js.map +1 -0
  86. package/dist/esm/column-views.9bdd477a.js +57 -0
  87. package/dist/esm/column-views.9bdd477a.js.map +1 -0
  88. package/dist/esm/column-views.9ced149e.js +98 -0
  89. package/dist/esm/column-views.9ced149e.js.map +1 -0
  90. package/dist/esm/{column.module.cbb072df.css → column-views.a7be0a4a.css} +1 -1
  91. package/dist/esm/{column.module.cbb072df.css.map → column-views.a7be0a4a.css.map} +1 -1
  92. package/dist/esm/column-views.a98214b2.js +9 -0
  93. package/dist/esm/column-views.a98214b2.js.map +1 -0
  94. package/dist/esm/column-views.aa9fcdba.js +221 -0
  95. package/dist/esm/column-views.aa9fcdba.js.map +1 -0
  96. package/dist/esm/{isotopes-column.7cb5cc45.js → column-views.ac9fb5e1.js} +3 -3
  97. package/dist/esm/{isotopes-column.7cb5cc45.js.map → column-views.ac9fb5e1.js.map} +1 -1
  98. package/dist/esm/column-views.b2e5f1d9.js +11 -0
  99. package/dist/esm/column-views.b2e5f1d9.js.map +1 -0
  100. package/dist/esm/column-views.b775c0a3.js +112 -0
  101. package/dist/esm/column-views.b775c0a3.js.map +1 -0
  102. package/dist/esm/column-views.beb54e95.js +39 -0
  103. package/dist/esm/column-views.beb54e95.js.map +1 -0
  104. package/dist/esm/{core.4db8e452.js → column-views.c58aad3f.js} +15 -16
  105. package/dist/esm/column-views.c58aad3f.js.map +1 -0
  106. package/dist/esm/{carbon-isotopes.3b502a9e.js → column-views.d1ad48eb.js} +4 -4
  107. package/dist/esm/{carbon-isotopes.3b502a9e.js.map → column-views.d1ad48eb.js.map} +1 -1
  108. package/dist/esm/column-views.dc42f5d0.js +48 -0
  109. package/dist/esm/column-views.dc42f5d0.js.map +1 -0
  110. package/dist/esm/column-views.dff52504.js +22 -0
  111. package/dist/esm/column-views.dff52504.js.map +1 -0
  112. package/dist/esm/column-views.e2b9c23c.css +33 -0
  113. package/dist/esm/column-views.e2b9c23c.css.map +1 -0
  114. package/dist/esm/column-views.e40b8bfb.css +14 -0
  115. package/dist/esm/column-views.e40b8bfb.css.map +1 -0
  116. package/dist/esm/column-views.e77b9d6b.js +170 -0
  117. package/dist/esm/column-views.e77b9d6b.js.map +1 -0
  118. package/dist/esm/column-views.ea237aa8.js +52 -0
  119. package/dist/esm/column-views.ea237aa8.js.map +1 -0
  120. package/dist/esm/column-views.edf77621.js +22 -0
  121. package/dist/esm/column-views.edf77621.js.map +1 -0
  122. package/dist/esm/column-views.f1efcc2c.js +9 -0
  123. package/dist/esm/column-views.f1efcc2c.js.map +1 -0
  124. package/dist/esm/column-views.f2e5a72f.js +66 -0
  125. package/dist/esm/column-views.f2e5a72f.js.map +1 -0
  126. package/dist/esm/column-views.f71ec4b4.js +127 -0
  127. package/dist/esm/column-views.f71ec4b4.js.map +1 -0
  128. package/dist/esm/column-views.f9dab157.js +3 -0
  129. package/dist/esm/column-views.f9dab157.js.map +1 -0
  130. package/dist/esm/column-views.fa6f3292.js +215 -0
  131. package/dist/esm/column-views.fa6f3292.js.map +1 -0
  132. package/dist/esm/column-views.fc2b4611.js +9 -0
  133. package/dist/esm/column-views.fc2b4611.js.map +1 -0
  134. package/dist/esm/index.d.ts +797 -130
  135. package/dist/esm/index.d.ts.map +1 -1
  136. package/dist/esm/index.js +13 -9
  137. package/dist/esm/index.js.map +1 -1
  138. package/dist/node/index.js +1 -1
  139. package/dist/node/index.js.map +1 -1
  140. package/package.json +29 -13
  141. package/src/age-axis.module.sass +27 -0
  142. package/src/age-axis.ts +82 -19
  143. package/src/age-model-overlay.module.sass +11 -0
  144. package/src/age-model-overlay.ts +73 -0
  145. package/src/carbon-isotopes/column.ts +4 -2
  146. package/src/carbon-isotopes/core.ts +9 -6
  147. package/src/carbon-isotopes/data-provider.ts +3 -3
  148. package/src/column.module.sass +58 -49
  149. package/src/column.ts +149 -135
  150. package/src/correlation-chart/hash-string.ts +57 -0
  151. package/src/correlation-chart/index.ts +2 -0
  152. package/src/correlation-chart/main.module.sass +122 -0
  153. package/src/correlation-chart/main.ts +305 -0
  154. package/src/correlation-chart/prepare-data.ts +217 -0
  155. package/src/correlation-chart/stories/correlation-chart.stories.ts +192 -0
  156. package/src/correlation-chart/stories/stories.module.sass +18 -0
  157. package/src/correlation-chart/unconformity-line.module.sass +8 -0
  158. package/src/correlation-chart/unconformity-line.ts +25 -0
  159. package/src/data-provider/base.ts +388 -0
  160. package/src/data-provider/column-nav.ts +53 -0
  161. package/src/data-provider/fetch.ts +231 -0
  162. package/src/data-provider/index.ts +4 -0
  163. package/src/data-provider/store.ts +72 -0
  164. package/src/index.ts +5 -3
  165. package/src/maps/_shared/index.ts +2 -0
  166. package/src/maps/_shared/inset-map.stories.ts +20 -0
  167. package/src/maps/_shared/inset-map.ts +87 -0
  168. package/src/maps/_shared/styles.ts +57 -0
  169. package/src/maps/column-correlation/column-correlation-map.stories.ts +96 -0
  170. package/src/maps/column-correlation/core.ts +225 -0
  171. package/src/maps/column-correlation/index.ts +2 -0
  172. package/src/maps/column-correlation/state.ts +192 -0
  173. package/src/maps/column-navigation/index.ts +2 -0
  174. package/src/maps/column-navigation/mapbox/column-navigation-map.stories.ts +102 -0
  175. package/src/maps/column-navigation/mapbox/index.ts +219 -0
  176. package/src/maps/column-navigation/mapbox/keyboard-navigation.ts +119 -0
  177. package/src/maps/column-navigation/mapbox/state.ts +109 -0
  178. package/src/maps/column-navigation/svg/column-navigation-svg-map.stories.ts +46 -0
  179. package/src/{map → maps/column-navigation/svg}/index.ts +18 -6
  180. package/src/{map → maps/column-navigation/svg}/layers.ts +28 -109
  181. package/src/maps/column-navigation/utils/keyboard-navigation.ts +58 -0
  182. package/src/maps/index.ts +3 -0
  183. package/src/prepare-units/composite-scale.ts +353 -0
  184. package/src/prepare-units/helpers.ts +226 -0
  185. package/src/prepare-units/index.ts +177 -0
  186. package/src/prepare-units/utils.ts +98 -0
  187. package/src/section.ts +264 -84
  188. package/src/unit-details/index.ts +2 -215
  189. package/src/unit-details/{index.module.sass → panel.module.sass} +39 -8
  190. package/src/unit-details/panel.ts +523 -0
  191. package/src/{selection-popover.module.sass → unit-details/popover.module.sass} +4 -2
  192. package/src/unit-details/popover.ts +82 -0
  193. package/src/units/boxes.module.sass +16 -0
  194. package/src/units/boxes.ts +243 -90
  195. package/src/units/colors.ts +64 -0
  196. package/src/units/composite.ts +157 -152
  197. package/src/units/index.ts +76 -9
  198. package/src/units/names.ts +8 -4
  199. package/src/units/resolvers.ts +12 -1
  200. package/src/units/selection.ts +115 -101
  201. package/src/units/types.ts +5 -16
  202. package/dist/esm/age-axis.64c509ee.js +0 -41
  203. package/dist/esm/age-axis.64c509ee.js.map +0 -1
  204. package/dist/esm/boxes.13968b76.js +0 -164
  205. package/dist/esm/boxes.13968b76.js.map +0 -1
  206. package/dist/esm/boxes.module.28873d08.css +0 -4
  207. package/dist/esm/boxes.module.28873d08.css.map +0 -1
  208. package/dist/esm/boxes.module.605bdcd6.js +0 -13
  209. package/dist/esm/boxes.module.605bdcd6.js.map +0 -1
  210. package/dist/esm/column.8dd26e1a.js +0 -149
  211. package/dist/esm/column.8dd26e1a.js.map +0 -1
  212. package/dist/esm/column.db058031.js.map +0 -1
  213. package/dist/esm/column.module.039d872c.css +0 -151
  214. package/dist/esm/column.module.039d872c.css.map +0 -1
  215. package/dist/esm/column.module.e632868a.js +0 -19
  216. package/dist/esm/column.module.e632868a.js.map +0 -1
  217. package/dist/esm/composite.608a4ca2.js +0 -153
  218. package/dist/esm/composite.608a4ca2.js.map +0 -1
  219. package/dist/esm/composite.module.69a38fd1.css +0 -4
  220. package/dist/esm/core.4db8e452.js.map +0 -1
  221. package/dist/esm/data-provider.1506eb64.js.map +0 -1
  222. package/dist/esm/helpers.8a03cfc7.js +0 -94
  223. package/dist/esm/helpers.8a03cfc7.js.map +0 -1
  224. package/dist/esm/index.module.0844afd8.css +0 -65
  225. package/dist/esm/index.module.0844afd8.css.map +0 -1
  226. package/dist/esm/index.module.24fe3a2e.js +0 -37
  227. package/dist/esm/index.module.24fe3a2e.js.map +0 -1
  228. package/dist/esm/layers.ad5fd25d.js +0 -231
  229. package/dist/esm/layers.ad5fd25d.js.map +0 -1
  230. package/dist/esm/map.7aa26f17.js +0 -82
  231. package/dist/esm/map.7aa26f17.js.map +0 -1
  232. package/dist/esm/names.f6a4e9a4.js.map +0 -1
  233. package/dist/esm/providers.cd1e652f.js +0 -25
  234. package/dist/esm/providers.cd1e652f.js.map +0 -1
  235. package/dist/esm/resolvers.b5c82b78.js.map +0 -1
  236. package/dist/esm/section.cc1b1100.js +0 -118
  237. package/dist/esm/section.cc1b1100.js.map +0 -1
  238. package/dist/esm/selection-popover.17d1bd55.js +0 -60
  239. package/dist/esm/selection-popover.17d1bd55.js.map +0 -1
  240. package/dist/esm/selection-popover.module.0a701258.css.map +0 -1
  241. package/dist/esm/selection-popover.module.e22f5183.js +0 -22
  242. package/dist/esm/selection-popover.module.e22f5183.js.map +0 -1
  243. package/dist/esm/selection.bbf26d0e.js +0 -117
  244. package/dist/esm/selection.bbf26d0e.js.map +0 -1
  245. package/dist/esm/store.25eaa168.js +0 -18
  246. package/dist/esm/store.25eaa168.js.map +0 -1
  247. package/dist/esm/types.f016e032.js +0 -18
  248. package/dist/esm/types.f016e032.js.map +0 -1
  249. package/dist/esm/unit-details.56ff8b70.js +0 -209
  250. package/dist/esm/unit-details.56ff8b70.js.map +0 -1
  251. package/dist/esm/units.361088d4.js +0 -42
  252. package/dist/esm/units.361088d4.js.map +0 -1
  253. package/src/helpers.ts +0 -133
  254. package/src/providers.ts +0 -34
  255. package/src/selection-popover.ts +0 -71
  256. package/src/store.ts +0 -12
  257. package/src/units/units.scss +0 -16
  258. /package/src/{map → maps/column-navigation/svg}/animated.ts +0 -0
@@ -0,0 +1,48 @@
1
+ import {geoCentroid as $1bhrP$geoCentroid} from "d3-geo";
2
+ import {geoVoronoi as $1bhrP$geoVoronoi} from "d3-geo-voronoi";
3
+
4
+
5
+
6
+ function $40b71acee908f16d$export$b3975a0f05980d25(neighbors, centroids, currentIndex, projection) {
7
+ if (neighbors == null) return;
8
+ const currentCentroid = projection(centroids[currentIndex]);
9
+ let edgeAngles = neighbors.map((index)=>{
10
+ const centroid = projection(centroids[index]);
11
+ const dx = centroid[0] - currentCentroid[0];
12
+ const dy = centroid[1] - currentCentroid[1];
13
+ return {
14
+ col_index: index,
15
+ angle: Math.atan2(dy, dx)
16
+ };
17
+ });
18
+ edgeAngles.sort((d)=>d.angle);
19
+ function closestAngle(num) {
20
+ // Find closest angle in array of neighbors
21
+ let curr = edgeAngles[0];
22
+ for (let next of edgeAngles)if (Math.abs($40b71acee908f16d$var$normalize(num - next.angle)) < Math.abs($40b71acee908f16d$var$normalize(num - curr.angle))) curr = next;
23
+ return curr.col_index;
24
+ }
25
+ return {
26
+ 37: closestAngle(Math.PI),
27
+ 38: closestAngle(3 * Math.PI / 2),
28
+ 39: closestAngle(0),
29
+ 40: closestAngle(Math.PI / 2)
30
+ };
31
+ }
32
+ function $40b71acee908f16d$var$normalize(angle) {
33
+ if (angle > Math.PI) angle -= 2 * Math.PI;
34
+ else if (angle <= -Math.PI) angle += 2 * Math.PI;
35
+ return angle;
36
+ }
37
+ function $40b71acee908f16d$export$39cd73f2cb8dc4f7(features) {
38
+ const centroids = features.map((0, $1bhrP$geoCentroid));
39
+ const tri = (0, $1bhrP$geoVoronoi)(centroids);
40
+ return {
41
+ centroids: centroids,
42
+ tri: tri
43
+ };
44
+ }
45
+
46
+
47
+ export {$40b71acee908f16d$export$b3975a0f05980d25 as buildKeyMapping, $40b71acee908f16d$export$39cd73f2cb8dc4f7 as buildTriangulation};
48
+ //# sourceMappingURL=column-views.dc42f5d0.js.map
@@ -0,0 +1 @@
1
+ {"mappings":";;;;;AAGO,SAAS,0CACd,SAAS,EACT,SAAS,EACT,YAAY,EACZ,UAAU;IAEV,IAAI,aAAa,MAAM;IAEvB,MAAM,kBAAkB,WAAW,SAAS,CAAC,aAAa;IAE1D,IAAI,aAAa,UAAU,GAAG,CAAC,CAAC;QAC9B,MAAM,WAAW,WAAW,SAAS,CAAC,MAAM;QAC5C,MAAM,KAAK,QAAQ,CAAC,EAAE,GAAG,eAAe,CAAC,EAAE;QAC3C,MAAM,KAAK,QAAQ,CAAC,EAAE,GAAG,eAAe,CAAC,EAAE;QAC3C,OAAO;YAAE,WAAW;YAAO,OAAO,KAAK,KAAK,CAAC,IAAI;QAAI;IACvD;IAEA,WAAW,IAAI,CAAC,CAAC,IAAM,EAAE,KAAK;IAE9B,SAAS,aAAa,GAAG;QACvB,2CAA2C;QAC3C,IAAI,OAAO,UAAU,CAAC,EAAE;QACxB,KAAK,IAAI,QAAQ,WACf,IACE,KAAK,GAAG,CAAC,gCAAU,MAAM,KAAK,KAAK,KACnC,KAAK,GAAG,CAAC,gCAAU,MAAM,KAAK,KAAK,IAEnC,OAAO;QAGX,OAAO,KAAK,SAAS;IACvB;IAEA,OAAO;QACL,IAAI,aAAa,KAAK,EAAE;QACxB,IAAI,aAAa,AAAC,IAAI,KAAK,EAAE,GAAI;QACjC,IAAI,aAAa;QACjB,IAAI,aAAa,KAAK,EAAE,GAAG;IAC7B;AACF;AAEA,SAAS,gCAAU,KAAK;IACtB,IAAI,QAAQ,KAAK,EAAE,EACjB,SAAS,IAAI,KAAK,EAAE;SACf,IAAI,SAAS,CAAC,KAAK,EAAE,EAC1B,SAAS,IAAI,KAAK,EAAE;IAEtB,OAAO;AACT;AAEO,SAAS,0CAAmB,QAAQ;IACzC,MAAM,YAAY,SAAS,GAAG,CAAC,CAAA,GAAA,kBAAU;IACzC,MAAM,MAAM,CAAA,GAAA,iBAAS,EAAE;IACvB,OAAO;mBAAE;aAAW;IAAI;AAC1B","sources":["packages/column-views/src/maps/column-navigation/utils/keyboard-navigation.ts"],"sourcesContent":["import { geoCentroid } from \"d3-geo\";\nimport { geoVoronoi } from \"d3-geo-voronoi\";\n\nexport function buildKeyMapping(\n neighbors,\n centroids,\n currentIndex,\n projection\n) {\n if (neighbors == null) return;\n\n const currentCentroid = projection(centroids[currentIndex]);\n\n let edgeAngles = neighbors.map((index) => {\n const centroid = projection(centroids[index]);\n const dx = centroid[0] - currentCentroid[0];\n const dy = centroid[1] - currentCentroid[1];\n return { col_index: index, angle: Math.atan2(dy, dx) };\n });\n\n edgeAngles.sort((d) => d.angle);\n\n function closestAngle(num) {\n // Find closest angle in array of neighbors\n let curr = edgeAngles[0];\n for (let next of edgeAngles) {\n if (\n Math.abs(normalize(num - next.angle)) <\n Math.abs(normalize(num - curr.angle))\n ) {\n curr = next;\n }\n }\n return curr.col_index;\n }\n\n return {\n 37: closestAngle(Math.PI), // left\n 38: closestAngle((3 * Math.PI) / 2), // up\n 39: closestAngle(0), // right\n 40: closestAngle(Math.PI / 2), // down\n };\n}\n\nfunction normalize(angle) {\n if (angle > Math.PI) {\n angle -= 2 * Math.PI;\n } else if (angle <= -Math.PI) {\n angle += 2 * Math.PI;\n }\n return angle;\n}\n\nexport function buildTriangulation(features) {\n const centroids = features.map(geoCentroid);\n const tri = geoVoronoi(centroids);\n return { centroids, tri };\n}\n"],"names":[],"version":3,"file":"column-views.dc42f5d0.js.map"}
@@ -0,0 +1,22 @@
1
+
2
+ function $parcel$export(e, n, v, s) {
3
+ Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
4
+ }
5
+ var $047fd20e1964ef56$exports = {};
6
+
7
+ $parcel$export($047fd20e1964ef56$exports, "age-axis", () => $047fd20e1964ef56$export$8e012612e152e560, (v) => $047fd20e1964ef56$export$8e012612e152e560 = v);
8
+ $parcel$export($047fd20e1964ef56$exports, "age-axis-column", () => $047fd20e1964ef56$export$5bb449cff67e2830, (v) => $047fd20e1964ef56$export$5bb449cff67e2830 = v);
9
+ $parcel$export($047fd20e1964ef56$exports, "age-axis-label", () => $047fd20e1964ef56$export$629e44847e8dc64c, (v) => $047fd20e1964ef56$export$629e44847e8dc64c = v);
10
+ $parcel$export($047fd20e1964ef56$exports, "age-axis-unit", () => $047fd20e1964ef56$export$1609122694a59b0a, (v) => $047fd20e1964ef56$export$1609122694a59b0a = v);
11
+ var $047fd20e1964ef56$export$8e012612e152e560;
12
+ var $047fd20e1964ef56$export$5bb449cff67e2830;
13
+ var $047fd20e1964ef56$export$629e44847e8dc64c;
14
+ var $047fd20e1964ef56$export$1609122694a59b0a;
15
+ $047fd20e1964ef56$export$8e012612e152e560 = `_FHjpa_age-axis`;
16
+ $047fd20e1964ef56$export$5bb449cff67e2830 = `_FHjpa_age-axis-column`;
17
+ $047fd20e1964ef56$export$629e44847e8dc64c = `_FHjpa_age-axis-label`;
18
+ $047fd20e1964ef56$export$1609122694a59b0a = `_FHjpa_age-axis-unit`;
19
+
20
+
21
+ export {$047fd20e1964ef56$exports as default};
22
+ //# sourceMappingURL=column-views.dff52504.js.map
@@ -0,0 +1 @@
1
+ {"mappings":";;;;;;;;;;AAAA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AAHA,4CAA6B,CAAC,eAAe,CAAC;AAC9C,4CAAoC,CAAC,sBAAsB,CAAC;AAC5D,4CAAmC,CAAC,qBAAqB,CAAC;AAC1D,4CAAkC,CAAC,oBAAoB,CAAC","sources":["packages/column-views/src/age-axis.module.sass"],"sourcesContent":[".age-axis\n transform: translateX(20px)\n\n :global(.tick)\n text\n text-anchor: middle\n // TODO: allow font size to vary without this..\n font-weight: 400 !important\n transform: rotate(-90deg) translate(8px, -12px)\n font-size: var(--column-axis-font-size, 0.8rem)\n\n line\n stroke-width: 1px !important\n\n.age-axis-column\n flex-shrink: 0\n\n.age-axis-label\n writing-mode: vertical-lr\n transform: rotate(180deg)\n font-size: var(--column-axis-font-size, 0.8rem)\n text-align: center\n position: sticky\n top: 0\n max-height: 100vh\n.age-axis-unit\n color: var(--text-subtle-color)\n"],"names":[],"version":3,"file":"column-views.dff52504.js.map"}
@@ -0,0 +1,33 @@
1
+ ._FHjpa_age-axis {
2
+ transform: translateX(20px);
3
+ }
4
+
5
+ ._FHjpa_age-axis .tick text {
6
+ text-anchor: middle;
7
+ font-size: var(--column-axis-font-size, .8rem);
8
+ transform: rotate(-90deg)translate(8px, -12px);
9
+ font-weight: 400 !important;
10
+ }
11
+
12
+ ._FHjpa_age-axis .tick line {
13
+ stroke-width: 1px !important;
14
+ }
15
+
16
+ ._FHjpa_age-axis-column {
17
+ flex-shrink: 0;
18
+ }
19
+
20
+ ._FHjpa_age-axis-label {
21
+ writing-mode: vertical-lr;
22
+ font-size: var(--column-axis-font-size, .8rem);
23
+ text-align: center;
24
+ max-height: 100vh;
25
+ position: sticky;
26
+ top: 0;
27
+ transform: rotate(180deg);
28
+ }
29
+
30
+ ._FHjpa_age-axis-unit {
31
+ color: var(--text-subtle-color);
32
+ }
33
+ /*# sourceMappingURL=column-views.e2b9c23c.css.map */
@@ -0,0 +1 @@
1
+ {"mappings":"AAAA;;;;AAII;;;;;;;AAOA;;;;AAGJ;;;;AAGA;;;;;;;;;;AAQA","sources":["packages/column-views/src/age-axis.module.sass"],"sourcesContent":[".age-axis\n transform: translateX(20px)\n\n :global(.tick)\n text\n text-anchor: middle\n // TODO: allow font size to vary without this..\n font-weight: 400 !important\n transform: rotate(-90deg) translate(8px, -12px)\n font-size: var(--column-axis-font-size, 0.8rem)\n\n line\n stroke-width: 1px !important\n\n.age-axis-column\n flex-shrink: 0\n\n.age-axis-label\n writing-mode: vertical-lr\n transform: rotate(180deg)\n font-size: var(--column-axis-font-size, 0.8rem)\n text-align: center\n position: sticky\n top: 0\n max-height: 100vh\n.age-axis-unit\n color: var(--text-subtle-color)\n"],"names":[],"version":3,"file":"column-views.e2b9c23c.css.map"}
@@ -0,0 +1,14 @@
1
+ ._4q2yq_boundary-age-model {
2
+ width: 100%;
3
+ position: absolute;
4
+ top: 0;
5
+ left: 0;
6
+ }
7
+
8
+ ._4q2yq_boundary-age-model-surface {
9
+ border-top: 1px solid #90ee90;
10
+ position: absolute;
11
+ left: 0;
12
+ right: 0;
13
+ }
14
+ /*# sourceMappingURL=column-views.e40b8bfb.css.map */
@@ -0,0 +1 @@
1
+ {"mappings":"AAAA;;;;;;;AAMA","sources":["packages/column-views/src/age-model-overlay.module.sass"],"sourcesContent":[".boundary-age-model\n top: 0\n left: 0\n position: absolute\n width: 100%\n\n.boundary-age-model-surface\n left: 0\n right: 0\n position: absolute\n border-top: 1px solid lightgreen\n"],"names":[],"version":3,"file":"column-views.e40b8bfb.css.map"}
@@ -0,0 +1,170 @@
1
+ import {useColumnFeatures as $33a46f9423c8104a$export$e3270a4e30e40ff9} from "./column-views.5cc09c1d.js";
2
+ import {buildTriangulation as $40b71acee908f16d$export$39cd73f2cb8dc4f7, buildKeyMapping as $40b71acee908f16d$export$b3975a0f05980d25} from "./column-views.dc42f5d0.js";
3
+ import $26TqL$macrostrathyper from "@macrostrat/hyper";
4
+ import {FeatureLayer as $26TqL$FeatureLayer, Feature as $26TqL$Feature, MapContext as $26TqL$MapContext} from "@macrostrat/svg-map-components";
5
+ import {useAPIResult as $26TqL$useAPIResult, useKeyHandler as $26TqL$useKeyHandler} from "@macrostrat/ui-components";
6
+ import $26TqL$chromajs from "chroma-js";
7
+ import {useContext as $26TqL$useContext, useMemo as $26TqL$useMemo} from "react";
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+ const $93f116a6493b17c3$var$defaultStyle = {
17
+ fill: "rgb(239, 180, 249)",
18
+ stroke: "magenta"
19
+ };
20
+ function $93f116a6493b17c3$export$2254347cd20e6080(props) {
21
+ const { style: style = $93f116a6493b17c3$var$defaultStyle, ...params } = props;
22
+ const res = (0, $26TqL$useAPIResult)("/measurements", {
23
+ ...params,
24
+ format: "geojson",
25
+ response: "light"
26
+ });
27
+ if (res == null) return null;
28
+ return (0, $26TqL$macrostrathyper)((0, $26TqL$FeatureLayer), {
29
+ useCanvas: false,
30
+ style: style,
31
+ features: res.features.filter((d)=>d.properties.unit_id != null)
32
+ });
33
+ }
34
+ function $93f116a6493b17c3$export$f177ff57c101017a(props) {
35
+ const { features: features, onClick: onClick, color: color = "rgba(150,150,150, 1)", singleFeature: singleFeature = true } = props;
36
+ console.log(features);
37
+ const c = (0, $26TqL$chromajs)(color);
38
+ return (0, $26TqL$macrostrathyper)((0, $26TqL$FeatureLayer), {
39
+ className: "columns",
40
+ useCanvas: onClick == null,
41
+ style: {
42
+ fill: c.alpha(0.2).css(),
43
+ stroke: c.alpha(0.4).css()
44
+ }
45
+ }, features.map((f)=>{
46
+ return (0, $26TqL$macrostrathyper)((0, $26TqL$Feature), {
47
+ id: f.id ?? f.properties.col_id,
48
+ onClick: onClick,
49
+ feature: f
50
+ });
51
+ }));
52
+ }
53
+ var $93f116a6493b17c3$var$MacrostratStatusCode = /*#__PURE__*/ function(MacrostratStatusCode) {
54
+ MacrostratStatusCode["InProcess"] = "in process";
55
+ return MacrostratStatusCode;
56
+ }($93f116a6493b17c3$var$MacrostratStatusCode || {});
57
+ function $93f116a6493b17c3$export$8c41dd563753848(props) {
58
+ /** Keyboard navigation of columns using a Delaunay triangulation */ const { features: features = [], col_id: col_id = null, onChange: onChange, showLayers: showLayers = false, ...projectArgs } = props;
59
+ const { projection: projection } = (0, $26TqL$useContext)((0, $26TqL$MapContext));
60
+ const { centroids: centroids, tri: tri } = (0, $26TqL$useMemo)(()=>(0, $40b71acee908f16d$export$39cd73f2cb8dc4f7)(features), [
61
+ features
62
+ ]);
63
+ const currentIndex = (0, $26TqL$useMemo)(()=>{
64
+ return features.findIndex((d)=>d.properties.col_id == col_id);
65
+ }, [
66
+ features,
67
+ col_id
68
+ ]);
69
+ const neighbors = tri.delaunay.neighbors[currentIndex];
70
+ const keyMapping = (0, $26TqL$useMemo)(()=>{
71
+ return (0, $40b71acee908f16d$export$b3975a0f05980d25)(neighbors, centroids, currentIndex, projection);
72
+ }, [
73
+ neighbors,
74
+ currentIndex
75
+ ]);
76
+ (0, $26TqL$useKeyHandler)((event)=>{
77
+ const nextColumnIx = keyMapping[event.keyCode];
78
+ if (nextColumnIx == null) return;
79
+ // @ts-ignore
80
+ onChange(features[nextColumnIx]);
81
+ }, [
82
+ keyMapping
83
+ ]);
84
+ if (neighbors == null) return null;
85
+ const neighborFeatures = neighbors.map((d)=>features[d]);
86
+ return (0, $26TqL$macrostrathyper).if(showLayers)([
87
+ (0, $26TqL$macrostrathyper)((0, $26TqL$FeatureLayer), {
88
+ features: tri.links().features,
89
+ useCanvas: false,
90
+ style: {
91
+ stroke: "purple",
92
+ fill: "transparent"
93
+ }
94
+ }),
95
+ (0, $26TqL$macrostrathyper)((0, $26TqL$FeatureLayer), {
96
+ features: neighborFeatures,
97
+ useCanvas: false,
98
+ style: {
99
+ stroke: "rgb(93, 101, 212)",
100
+ strokeWidth: 3,
101
+ fill: "rgba(93, 101, 212, 0.5)"
102
+ }
103
+ }),
104
+ (0, $26TqL$macrostrathyper)((0, $26TqL$FeatureLayer), {
105
+ features: [
106
+ {
107
+ type: "Feature",
108
+ geometry: {
109
+ type: "MultiPoint",
110
+ coordinates: centroids
111
+ }
112
+ }
113
+ ],
114
+ useCanvas: false,
115
+ style: {
116
+ r: 1,
117
+ fill: "purple"
118
+ }
119
+ })
120
+ ]);
121
+ }
122
+ const $93f116a6493b17c3$export$f02cc02ad0e0bba3 = (props)=>{
123
+ const { apiRoute: apiRoute = "/columns", onChange: onChange, col_id: col_id = null, status_code: status_code, project_id: project_id, color: color, filterColumns: filterColumns, showDebugLayers: showDebugLayers = false, format: format = "topojson" } = props;
124
+ let features = (0, $33a46f9423c8104a$export$e3270a4e30e40ff9)({
125
+ apiRoute: apiRoute,
126
+ status_code: status_code,
127
+ project_id: project_id,
128
+ format: format
129
+ });
130
+ if (features == null) return null;
131
+ if (filterColumns != null) features = features.filter(filterColumns);
132
+ return (0, $26TqL$macrostrathyper)([
133
+ (0, $26TqL$macrostrathyper)($93f116a6493b17c3$export$8c41dd563753848, {
134
+ features: features,
135
+ col_id: col_id,
136
+ onChange: onChange,
137
+ status_code: status_code,
138
+ project_id: project_id,
139
+ showLayers: showDebugLayers
140
+ }),
141
+ (0, $26TqL$macrostrathyper)($93f116a6493b17c3$export$f177ff57c101017a, {
142
+ features: features,
143
+ onClick: onChange,
144
+ color: color
145
+ })
146
+ ]);
147
+ };
148
+ const $93f116a6493b17c3$export$4d8f6e6df85d9012 = (props)=>{
149
+ return (0, $26TqL$macrostrathyper)($93f116a6493b17c3$export$f02cc02ad0e0bba3, {
150
+ apiRoute: "/defs/columns",
151
+ ...props
152
+ });
153
+ };
154
+ const $93f116a6493b17c3$export$b9d912252344e099 = (props)=>{
155
+ const { feature: feature } = props;
156
+ return (0, $26TqL$macrostrathyper)((0, $26TqL$FeatureLayer), {
157
+ features: [
158
+ feature
159
+ ],
160
+ style: {
161
+ fill: "rgba(255,0,0,0.4)",
162
+ stroke: "rgba(255,0,0,0.6)",
163
+ strokeWidth: 2
164
+ }
165
+ });
166
+ };
167
+
168
+
169
+ export {$93f116a6493b17c3$export$2254347cd20e6080 as MeasurementsLayer, $93f116a6493b17c3$export$f177ff57c101017a as ColumnFeatures, $93f116a6493b17c3$export$8c41dd563753848 as ColumnKeyboardNavigation, $93f116a6493b17c3$export$f02cc02ad0e0bba3 as Columns, $93f116a6493b17c3$export$4d8f6e6df85d9012 as ColumnCenters, $93f116a6493b17c3$export$b9d912252344e099 as CurrentColumn};
170
+ //# sourceMappingURL=column-views.e77b9d6b.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"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","sources":["packages/column-views/src/maps/column-navigation/svg/layers.ts"],"sourcesContent":["import h from \"@macrostrat/hyper\";\nimport {\n Feature,\n FeatureLayer,\n MapContext,\n} from \"@macrostrat/svg-map-components\";\nimport { useAPIResult, useKeyHandler } from \"@macrostrat/ui-components\";\nimport chroma from \"chroma-js\";\nimport { ExtendedFeature } from \"d3-geo\";\nimport { Polygon } from \"geojson\";\nimport { useContext, useMemo } from \"react\";\nimport { useColumnFeatures } from \"../../../data-provider\";\nimport {\n buildKeyMapping,\n buildTriangulation,\n} from \"../utils/keyboard-navigation\";\n\nconst defaultStyle = {\n fill: \"rgb(239, 180, 249)\",\n stroke: \"magenta\",\n};\n\nexport function MeasurementsLayer(props) {\n const { style = defaultStyle, ...params } = props;\n const res: any = useAPIResult(\"/measurements\", {\n ...params,\n format: \"geojson\",\n response: \"light\",\n });\n if (res == null) return null;\n\n return h(FeatureLayer, {\n useCanvas: false,\n style,\n features: res.features.filter((d) => d.properties.unit_id != null),\n });\n}\n\ntype ColumnProps = { col_id: number };\n\ntype ColumnFeature = ExtendedFeature<Polygon, ColumnProps>;\n\nfunction ColumnFeatures(props) {\n const {\n features,\n onClick,\n color = \"rgba(150,150,150, 1)\",\n singleFeature = true,\n } = props;\n\n console.log(features);\n\n const c = chroma(color);\n\n return h(\n FeatureLayer,\n {\n className: \"columns\",\n useCanvas: onClick == null,\n style: {\n fill: c.alpha(0.2).css(),\n stroke: c.alpha(0.4).css(),\n },\n },\n features.map((f) => {\n return h(Feature, {\n id: f.id ?? f.properties.col_id,\n onClick,\n feature: f,\n });\n })\n );\n}\n\nenum MacrostratStatusCode {\n InProcess = \"in process\",\n}\n\ninterface ColumnNavProps {\n col_id: number;\n status_code?: MacrostratStatusCode;\n project_id?: number;\n onChange(col_id: number): void;\n}\n\ninterface KeyboardNavProps extends ColumnNavProps {\n features: ColumnFeature[];\n showLayers: boolean;\n}\n\nfunction ColumnKeyboardNavigation(props: KeyboardNavProps) {\n /** Keyboard navigation of columns using a Delaunay triangulation */\n const {\n features = [],\n col_id = null,\n onChange,\n showLayers = false,\n ...projectArgs\n } = props;\n const { projection } = useContext(MapContext);\n const { centroids, tri } = useMemo(\n () => buildTriangulation(features),\n [features]\n );\n\n const currentIndex = useMemo(() => {\n return features.findIndex((d) => d.properties.col_id == col_id);\n }, [features, col_id]);\n\n const neighbors = tri.delaunay.neighbors[currentIndex];\n\n const keyMapping = useMemo(() => {\n return buildKeyMapping(neighbors, centroids, currentIndex, projection);\n }, [neighbors, currentIndex]);\n\n useKeyHandler(\n (event) => {\n const nextColumnIx = keyMapping[event.keyCode];\n if (nextColumnIx == null) return;\n // @ts-ignore\n onChange(features[nextColumnIx]);\n },\n [keyMapping]\n );\n\n if (neighbors == null) return null;\n const neighborFeatures = neighbors.map((d) => features[d]);\n\n return h.if(showLayers)([\n h(FeatureLayer, {\n features: tri.links().features,\n useCanvas: false,\n style: {\n stroke: \"purple\",\n fill: \"transparent\",\n },\n }),\n h(FeatureLayer, {\n features: neighborFeatures,\n useCanvas: false,\n style: {\n stroke: \"rgb(93, 101, 212)\",\n strokeWidth: 3,\n fill: \"rgba(93, 101, 212, 0.5)\",\n },\n }),\n h(FeatureLayer, {\n features: [\n {\n type: \"Feature\",\n geometry: {\n type: \"MultiPoint\",\n coordinates: centroids,\n },\n },\n ],\n useCanvas: false,\n style: {\n r: 1,\n fill: \"purple\",\n },\n }),\n ]);\n}\n\ninterface ColumnExtraInfo {\n apiRoute?: string;\n color?: string;\n filterColumns?(d: ColumnFeature): boolean;\n showDebugLayers?: boolean;\n format?: \"topojson\" | \"geojson\";\n}\n\nconst Columns = (props: ColumnNavProps & ColumnExtraInfo) => {\n const {\n apiRoute = \"/columns\",\n onChange,\n col_id = null,\n status_code,\n project_id,\n color,\n filterColumns,\n showDebugLayers = false,\n format = \"topojson\",\n } = props;\n\n let features: any[] = useColumnFeatures({\n apiRoute,\n status_code,\n project_id,\n format,\n }) as any;\n\n if (features == null) return null;\n\n if (filterColumns != null) {\n features = features.filter(filterColumns);\n }\n\n return h([\n h(ColumnKeyboardNavigation, {\n features,\n col_id,\n onChange,\n status_code,\n project_id,\n showLayers: showDebugLayers,\n }),\n h(ColumnFeatures, { features, onClick: onChange, color }),\n ]);\n};\n\nconst ColumnCenters = (props: ColumnNavProps) => {\n return h(Columns, { apiRoute: \"/defs/columns\", ...props });\n};\n\nconst CurrentColumn = (props) => {\n const { feature } = props;\n return h(FeatureLayer, {\n features: [feature],\n style: {\n fill: \"rgba(255,0,0,0.4)\",\n stroke: \"rgba(255,0,0,0.6)\",\n strokeWidth: 2,\n },\n });\n};\n\nexport {\n Columns,\n CurrentColumn,\n ColumnCenters,\n ColumnFeatures,\n ColumnKeyboardNavigation,\n};\n"],"names":[],"version":3,"file":"column-views.e77b9d6b.js.map"}
@@ -0,0 +1,52 @@
1
+ import {createCompositeScale as $728f6cf6c12cd490$export$3ada7641926a616d} from "./column-views.86c4b36f.js";
2
+ import {createContext as $a90Ta$createContext, useMemo as $a90Ta$useMemo, useContext as $a90Ta$useContext} from "react";
3
+ import $a90Ta$macrostrathyper from "@macrostrat/hyper";
4
+
5
+
6
+
7
+
8
+ const $d5074f164411387e$var$MacrostratColumnDataContext = (0, $a90Ta$createContext)(null);
9
+ function $d5074f164411387e$export$7fec7bd80ff9c10e({ children: children, units: units, sections: sections, totalHeight: totalHeight, axisType: axisType }) {
10
+ /** Provider for Macrostrat column data.
11
+ * As a general rule, we want to provide data and column-axis
12
+ * height calculations through the context, since these need to
13
+ * be accessed by any component that lays out information on the
14
+ * column.
15
+ *
16
+ * Cross-axis layout and view configuration (e.g., showing and hiding
17
+ * of different components or labels) should be handled through passing
18
+ * props to the components themselves.
19
+ * */ const value = (0, $a90Ta$useMemo)(()=>{
20
+ return {
21
+ units: units,
22
+ sections: sections,
23
+ totalHeight: totalHeight,
24
+ axisType: axisType
25
+ };
26
+ }, [
27
+ units,
28
+ sections,
29
+ totalHeight,
30
+ axisType
31
+ ]);
32
+ return (0, $a90Ta$macrostrathyper)($d5074f164411387e$var$MacrostratColumnDataContext.Provider, {
33
+ value: value
34
+ }, children);
35
+ }
36
+ function $d5074f164411387e$export$f8509b7cce386c7d() {
37
+ const ctx = (0, $a90Ta$useContext)($d5074f164411387e$var$MacrostratColumnDataContext);
38
+ if (!ctx) throw new Error("useMacrostratColumnData must be used within a MacrostratColumnDataProvider");
39
+ return ctx;
40
+ }
41
+ function $d5074f164411387e$export$6fb40844db555b2() {
42
+ return $d5074f164411387e$export$f8509b7cce386c7d().units;
43
+ }
44
+ function $d5074f164411387e$export$a7fc62995ec4f76() {
45
+ const ctx = (0, $a90Ta$useContext)($d5074f164411387e$var$MacrostratColumnDataContext);
46
+ if (!ctx) throw new Error("useCompositeScale must be used within a MacrostratUnitsProvider");
47
+ return (0, $728f6cf6c12cd490$export$3ada7641926a616d)(ctx.sections, true);
48
+ }
49
+
50
+
51
+ export {$d5074f164411387e$export$7fec7bd80ff9c10e as MacrostratColumnDataProvider, $d5074f164411387e$export$f8509b7cce386c7d as useMacrostratColumnData, $d5074f164411387e$export$6fb40844db555b2 as useMacrostratUnits, $d5074f164411387e$export$a7fc62995ec4f76 as useCompositeScale};
52
+ //# sourceMappingURL=column-views.ea237aa8.js.map
@@ -0,0 +1 @@
1
+ {"mappings":";;;;;;;AAgBA,MAAM,oDACJ,CAAA,GAAA,oBAAY,EAA+B;AAEtC,SAAS,0CAA6B,YAC3C,QAAQ,SACR,KAAK,YACL,QAAQ,eACR,WAAW,YACX,QAAQ,EAC8C;IACtD;;;;;;;;;KASG,GAEH,MAAM,QAAQ,CAAA,GAAA,cAAM,EAAE;QACpB,OAAO;mBACL;sBACA;yBACA;sBACA;QACF;IACF,GAAG;QAAC;QAAO;QAAU;QAAa;KAAS;IAE3C,OAAO,CAAA,GAAA,sBAAA,EAAE,kDAA4B,QAAQ,EAAE;eAAE;IAAM,GAAG;AAC5D;AAEO,SAAS;IACd,MAAM,MAAM,CAAA,GAAA,iBAAS,EAAE;IACvB,IAAI,CAAC,KACH,MAAM,IAAI,MACR;IAGJ,OAAO;AACT;AAEO,SAAS;IACd,OAAO,4CAA0B,KAAK;AACxC;AAEO,SAAS;IACd,MAAM,MAAM,CAAA,GAAA,iBAAS,EAAE;IACvB,IAAI,CAAC,KACH,MAAM,IAAI,MACR;IAGJ,OAAO,CAAA,GAAA,yCAAmB,EAAE,IAAI,QAAQ,EAAE;AAC5C","sources":["packages/column-views/src/data-provider/store.ts"],"sourcesContent":["import { createContext, useContext, ReactNode, useMemo } from \"react\";\nimport h from \"@macrostrat/hyper\";\nimport {\n createCompositeScale,\n PackageLayoutData,\n} from \"../prepare-units/composite-scale\";\nimport { ExtUnit } from \"../prepare-units/helpers\";\nimport { ColumnAxisType } from \"@macrostrat/column-components\";\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 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 useCompositeScale() {\n const ctx = useContext(MacrostratColumnDataContext);\n if (!ctx) {\n throw new Error(\n \"useCompositeScale must be used within a MacrostratUnitsProvider\"\n );\n }\n return createCompositeScale(ctx.sections, true);\n}\n"],"names":[],"version":3,"file":"column-views.ea237aa8.js.map"}
@@ -0,0 +1,22 @@
1
+
2
+ function $parcel$export(e, n, v, s) {
3
+ Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
4
+ }
5
+ var $8872ef7e7fd4a8d2$exports = {};
6
+
7
+ $parcel$export($8872ef7e7fd4a8d2$exports, "legend-info-panel", () => $8872ef7e7fd4a8d2$export$bf3f08f04957302d, (v) => $8872ef7e7fd4a8d2$export$bf3f08f04957302d = v);
8
+ $parcel$export($8872ef7e7fd4a8d2$exports, "legend-json-view", () => $8872ef7e7fd4a8d2$export$259f01a14528542c, (v) => $8872ef7e7fd4a8d2$export$259f01a14528542c = v);
9
+ $parcel$export($8872ef7e7fd4a8d2$exports, "legend-panel", () => $8872ef7e7fd4a8d2$export$5ccc34f744545e5c, (v) => $8872ef7e7fd4a8d2$export$5ccc34f744545e5c = v);
10
+ $parcel$export($8872ef7e7fd4a8d2$exports, "popover-main", () => $8872ef7e7fd4a8d2$export$85b6d6914dbd94dc, (v) => $8872ef7e7fd4a8d2$export$85b6d6914dbd94dc = v);
11
+ var $8872ef7e7fd4a8d2$export$bf3f08f04957302d;
12
+ var $8872ef7e7fd4a8d2$export$259f01a14528542c;
13
+ var $8872ef7e7fd4a8d2$export$5ccc34f744545e5c;
14
+ var $8872ef7e7fd4a8d2$export$85b6d6914dbd94dc;
15
+ $8872ef7e7fd4a8d2$export$bf3f08f04957302d = `mMIlxW_legend-info-panel`;
16
+ $8872ef7e7fd4a8d2$export$259f01a14528542c = `mMIlxW_legend-json-view`;
17
+ $8872ef7e7fd4a8d2$export$5ccc34f744545e5c = `mMIlxW_legend-panel`;
18
+ $8872ef7e7fd4a8d2$export$85b6d6914dbd94dc = `mMIlxW_popover-main`;
19
+
20
+
21
+ export {$8872ef7e7fd4a8d2$exports as default};
22
+ //# sourceMappingURL=column-views.edf77621.js.map
@@ -0,0 +1 @@
1
+ {"mappings":";;;;;;;;;;AAAA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AAHA,4CAAsC,CAAC,wBAAwB,CAAC;AAChE,4CAAqC,CAAC,uBAAuB,CAAC;AAC9D,4CAAiC,CAAC,mBAAmB,CAAC;AACtD,4CAAiC,CAAC,mBAAmB,CAAC","sources":["packages/column-views/src/unit-details/popover.module.sass"],"sourcesContent":[".popover-main\n position: absolute\n pointer-events: none\n\n :global(.bp5-overlay)\n pointer-events: all\n\n :global(.bp5-popover-target)\n height: 100%\n width: 100%\n display: block\n line-height: 0\n pointer-events: none\n outline: 2px solid #f22\n\n :global(.bp5-popover-content)\n overflow: hidden\n\n.legend-panel\n width: 25em\n max-height: 60vh\n background-color: var(--panel-background-color)\n\n.legend-info-panel\n padding: 1em\n\n.legend-json-view\n padding-left: 0\n margin-left: -0.5em\n"],"names":[],"version":3,"file":"column-views.edf77621.js.map"}
@@ -0,0 +1,9 @@
1
+ import {ColumnNavigationMap as $9d5d216fa2057b5b$export$821baedf611249f3} from "./column-views.3bec70d6.js";
2
+ import {ResizableMapFrame as $e6046e00d2c8a163$export$c4313db718750a5a, ColumnNavigationSVGMap as $e6046e00d2c8a163$export$9595c40c7a4c4f7b, MeasurementsLayer as $93f116a6493b17c3$export$2254347cd20e6080, ColumnFeatures as $93f116a6493b17c3$export$f177ff57c101017a, ColumnKeyboardNavigation as $93f116a6493b17c3$export$8c41dd563753848, Columns as $93f116a6493b17c3$export$f02cc02ad0e0bba3, ColumnCenters as $93f116a6493b17c3$export$4d8f6e6df85d9012, CurrentColumn as $93f116a6493b17c3$export$b9d912252344e099} from "./column-views.68409161.js";
3
+
4
+
5
+
6
+
7
+
8
+ export {$9d5d216fa2057b5b$export$821baedf611249f3 as ColumnNavigationMap, $e6046e00d2c8a163$export$c4313db718750a5a as ResizableMapFrame, $e6046e00d2c8a163$export$9595c40c7a4c4f7b as ColumnNavigationSVGMap, $93f116a6493b17c3$export$2254347cd20e6080 as MeasurementsLayer, $93f116a6493b17c3$export$f177ff57c101017a as ColumnFeatures, $93f116a6493b17c3$export$8c41dd563753848 as ColumnKeyboardNavigation, $93f116a6493b17c3$export$f02cc02ad0e0bba3 as Columns, $93f116a6493b17c3$export$4d8f6e6df85d9012 as ColumnCenters, $93f116a6493b17c3$export$b9d912252344e099 as CurrentColumn};
9
+ //# sourceMappingURL=column-views.f1efcc2c.js.map
@@ -0,0 +1 @@
1
+ {"mappings":"","sources":["packages/column-views/src/maps/column-navigation/index.ts"],"sourcesContent":["export * from \"./mapbox\";\nexport * from \"./svg\";\n"],"names":[],"version":3,"file":"column-views.f1efcc2c.js.map"}
@@ -0,0 +1,66 @@
1
+ import "./column-views.16cc7a58.css";
2
+ import $bBNCV$columnviewsedf77621js from "./column-views.edf77621.js";
3
+ import {useSelectedUnit as $4d5d1c15f39f6a14$export$f0dd93f90aa8e5da, useUnitSelectionStore as $4d5d1c15f39f6a14$export$b220b1d3591dc9e5} from "./column-views.8e51206e.js";
4
+ import {UnitDetailsPanel as $448b24baeef3b229$export$fbd245232df17557} from "./column-views.1ece326b.js";
5
+ import $bBNCV$macrostrathyper from "@macrostrat/hyper";
6
+ import {Popover as $bBNCV$Popover} from "@blueprintjs/core";
7
+
8
+
9
+ function $parcel$interopDefault(a) {
10
+ return a && a.__esModule ? a.default : a;
11
+ }
12
+
13
+
14
+
15
+
16
+
17
+ const $a9bcb536274d1bf9$var$h = (0, $bBNCV$macrostrathyper).styled((0, ($parcel$interopDefault($bBNCV$columnviewsedf77621js))));
18
+ function $a9bcb536274d1bf9$export$6716aecc2c9afbe2({ style: style, children: children, viewportPadding: viewportPadding = 20 }) {
19
+ const content = $a9bcb536274d1bf9$var$h($a9bcb536274d1bf9$var$InteractionBarrier, children);
20
+ return $a9bcb536274d1bf9$var$h("div.popover-main", {
21
+ style: style
22
+ }, $a9bcb536274d1bf9$var$h((0, $bBNCV$Popover), // @ts-ignore
23
+ {
24
+ content: content,
25
+ isOpen: true,
26
+ usePortal: false,
27
+ position: "right",
28
+ modifiers: {
29
+ preventOverflow: {
30
+ options: {
31
+ padding: viewportPadding
32
+ }
33
+ }
34
+ }
35
+ }, $a9bcb536274d1bf9$var$h("span.popover-target")));
36
+ }
37
+ function $a9bcb536274d1bf9$var$InteractionBarrier({ children: children }) {
38
+ return $a9bcb536274d1bf9$var$h("div", {
39
+ onClick (e) {
40
+ // Stop events from leaking to the parent
41
+ e.stopPropagation();
42
+ }
43
+ }, children);
44
+ }
45
+ function $a9bcb536274d1bf9$export$db1115efab13710d() {
46
+ const unit = (0, $4d5d1c15f39f6a14$export$f0dd93f90aa8e5da)();
47
+ const position = (0, $4d5d1c15f39f6a14$export$b220b1d3591dc9e5)((state)=>state.overlayPosition);
48
+ if (unit == null) return null;
49
+ return $a9bcb536274d1bf9$var$h("div.unit-popover-container", $a9bcb536274d1bf9$var$h($a9bcb536274d1bf9$export$6716aecc2c9afbe2, {
50
+ style: {
51
+ position: "absolute",
52
+ top: position?.y ?? 0,
53
+ width: position?.width ?? 100,
54
+ left: position?.x ?? 0,
55
+ height: position?.height ?? 100
56
+ }
57
+ }, $a9bcb536274d1bf9$var$h((0, $448b24baeef3b229$export$fbd245232df17557), {
58
+ unit: unit,
59
+ showLithologyProportions: true,
60
+ className: "legend-panel"
61
+ })));
62
+ }
63
+
64
+
65
+ export {$a9bcb536274d1bf9$export$6716aecc2c9afbe2 as UnitDetailsPopover, $a9bcb536274d1bf9$export$db1115efab13710d as UnitSelectionPopover};
66
+ //# sourceMappingURL=column-views.f2e5a72f.js.map
@@ -0,0 +1 @@
1
+ {"mappings":";;;;;;;;;;;;;;;;AAMA,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,uEAAK;AAErB,SAAS,0CAAmB,SACjC,KAAK,YACL,QAAQ,mBACR,kBAAkB,IAKnB;IACC,MAAM,UAAU,wBAAE,0CAAoB;IAEtC,OAAO,wBACL,oBACA;eACE;IACF,GACA,wBACE,CAAA,GAAA,cAAM,GACN,aAAa;IACb;iBACE;QACA,QAAQ;QACR,WAAW;QACX,UAAU;QACV,WAAW;YACT,iBAAiB;gBAAE,SAAS;oBAAE,SAAS;gBAAgB;YAAE;QAC3D;IACF,GACA,wBAAE;AAGR;AAEA,SAAS,yCAAmB,YAAE,QAAQ,EAAE;IACtC,OAAO,wBACL,OACA;QACE,SAAQ,CAAC;YACP,yCAAyC;YACzC,EAAE,eAAe;QACnB;IACF,GACA;AAEJ;AAEO,SAAS;IACd,MAAM,OAAO,CAAA,GAAA,yCAAc;IAC3B,MAAM,WAAW,CAAA,GAAA,yCAAoB,EAAE,CAAC,QAAU,MAAM,eAAe;IACvE,IAAI,QAAQ,MACV,OAAO;IAGT,OAAO,wBACL,8BACA,wBACE,2CACA;QACE,OAAO;YACL,UAAU;YACV,KAAK,UAAU,KAAK;YACpB,OAAO,UAAU,SAAS;YAC1B,MAAM,UAAU,KAAK;YACrB,QAAQ,UAAU,UAAU;QAC9B;IACF,GACA,wBAAE,CAAA,GAAA,yCAAe,GAAG;cAClB;QACA,0BAA0B;QAC1B,WAAW;IACb;AAGN","sources":["packages/column-views/src/unit-details/popover.ts"],"sourcesContent":["import hyper from \"@macrostrat/hyper\";\nimport { Popover } from \"@blueprintjs/core\";\nimport styles from \"./popover.module.sass\";\nimport { useSelectedUnit, useUnitSelectionStore } from \"../units\";\nimport { UnitDetailsPanel } from \"./panel\";\n\nconst h = hyper.styled(styles);\n\nexport function UnitDetailsPopover({\n style,\n children,\n viewportPadding = 20,\n}: {\n style: object;\n viewportPadding?: number;\n children: React.ReactNode;\n}) {\n const content = h(InteractionBarrier, children);\n\n return h(\n \"div.popover-main\",\n {\n style,\n },\n h(\n Popover,\n // @ts-ignore\n {\n content,\n isOpen: true,\n usePortal: false,\n position: \"right\",\n modifiers: {\n preventOverflow: { options: { padding: viewportPadding } },\n },\n },\n h(\"span.popover-target\")\n )\n );\n}\n\nfunction InteractionBarrier({ children }) {\n return h(\n \"div\",\n {\n onClick(e) {\n // Stop events from leaking to the parent\n e.stopPropagation();\n },\n },\n children\n );\n}\n\nexport function UnitSelectionPopover() {\n const unit = useSelectedUnit();\n const position = useUnitSelectionStore((state) => state.overlayPosition);\n if (unit == null) {\n return null;\n }\n\n return h(\n \"div.unit-popover-container\",\n h(\n UnitDetailsPopover,\n {\n style: {\n position: \"absolute\",\n top: position?.y ?? 0,\n width: position?.width ?? 100,\n left: position?.x ?? 0,\n height: position?.height ?? 100,\n },\n },\n h(UnitDetailsPanel, {\n unit,\n showLithologyProportions: true,\n className: \"legend-panel\",\n })\n )\n );\n}\n"],"names":[],"version":3,"file":"column-views.f2e5a72f.js.map"}
@@ -0,0 +1,127 @@
1
+ import $bTsJU$columnviews4637f4cejs from "./column-views.4637f4ce.js";
2
+ import "./column-views.240ef158.css";
3
+ import {UnitSelectionProvider as $4d5d1c15f39f6a14$export$f19d75b1d4b676a4, UnitKeyboardNavigation as $4d5d1c15f39f6a14$export$70f5ee19650fc7d1, useUnitSelectionDispatch as $4d5d1c15f39f6a14$export$77a278d5ca56e309} from "./column-views.8e51206e.js";
4
+ import {UnitComponent as $4c8184c4a7317749$export$48a4cacf2b7a4441} from "./column-views.343b5aa2.js";
5
+ import {UnitSelectionPopover as $a9bcb536274d1bf9$export$db1115efab13710d} from "./column-views.f2e5a72f.js";
6
+ import {MacrostratColumnDataProvider as $d5074f164411387e$export$7fec7bd80ff9c10e, useMacrostratColumnData as $d5074f164411387e$export$f8509b7cce386c7d} from "./column-views.ea237aa8.js";
7
+ import {CompositeTimescale as $7d0f52717c0de7e1$export$db2df5a73a6fbe10, SectionsColumn as $7d0f52717c0de7e1$export$38cb0ab5af8f50d7} from "./column-views.fa6f3292.js";
8
+ import {CompositeAgeAxis as $43794af7643cdf40$export$40b6b0e4520eeb34} from "./column-views.9ced149e.js";
9
+ import {usePreparedColumnUnits as $76e92a964ee11b97$export$206a0cb85295e433} from "./column-views.34636ec7.js";
10
+ import {ColumnAxisType as $bTsJU$ColumnAxisType} from "@macrostrat/column-components";
11
+ import {hyperStyled as $bTsJU$hyperStyled} from "@macrostrat/hyper";
12
+ import {useDarkMode as $bTsJU$useDarkMode} from "@macrostrat/ui-components";
13
+ import $bTsJU$classnames from "classnames";
14
+ import {useRef as $bTsJU$useRef} from "react";
15
+ import {NonIdealState as $bTsJU$NonIdealState} from "@blueprintjs/core";
16
+
17
+
18
+ function $parcel$interopDefault(a) {
19
+ return a && a.__esModule ? a.default : a;
20
+ }
21
+
22
+
23
+
24
+
25
+
26
+
27
+
28
+
29
+
30
+
31
+
32
+
33
+
34
+ const $2118f0266dc7e955$var$h = (0, $bTsJU$hyperStyled)((0, ($parcel$interopDefault($bTsJU$columnviews4637f4cejs))));
35
+ function $2118f0266dc7e955$export$816b5d811295e6bc(props) {
36
+ const { showUnitPopover: showUnitPopover = false, keyboardNavigation: keyboardNavigation = false, mergeSections: mergeSections, onUnitSelected: onUnitSelected, selectedUnit: selectedUnit, children: children, units: rawUnits, axisType: axisType = (0, $bTsJU$ColumnAxisType).AGE, t_age: t_age, b_age: b_age, unconformityHeight: unconformityHeight = 30, targetUnitHeight: targetUnitHeight = 20, pixelScale: pixelScale, minPixelScale: minPixelScale = 0.2, minSectionHeight: minSectionHeight = 50, collapseSmallUnconformities: collapseSmallUnconformities = true, ...rest } = props;
37
+ const ref = (0, $bTsJU$useRef)();
38
+ // Selected item position
39
+ const { sections: sections, units: units, totalHeight: totalHeight } = (0, $76e92a964ee11b97$export$206a0cb85295e433)(rawUnits, {
40
+ axisType: axisType,
41
+ t_age: t_age,
42
+ b_age: b_age,
43
+ mergeSections: mergeSections,
44
+ targetUnitHeight: targetUnitHeight,
45
+ unconformityHeight: unconformityHeight,
46
+ pixelScale: pixelScale,
47
+ minPixelScale: minPixelScale,
48
+ minSectionHeight: minSectionHeight,
49
+ collapseSmallUnconformities: collapseSmallUnconformities
50
+ });
51
+ if (sections.length === 0) return $2118f0266dc7e955$var$h("div.column-container.empty", $2118f0266dc7e955$var$h((0, $bTsJU$NonIdealState), {
52
+ title: "Empty column",
53
+ description: "No sections found in this column.",
54
+ icon: "warning-sign"
55
+ }));
56
+ return $2118f0266dc7e955$var$h((0, $d5074f164411387e$export$7fec7bd80ff9c10e), {
57
+ units: units,
58
+ sections: sections,
59
+ totalHeight: totalHeight,
60
+ axisType: axisType
61
+ }, $2118f0266dc7e955$var$h((0, $4d5d1c15f39f6a14$export$f19d75b1d4b676a4), {
62
+ columnRef: ref,
63
+ onUnitSelected: onUnitSelected,
64
+ selectedUnit: selectedUnit,
65
+ units: units
66
+ }, $2118f0266dc7e955$var$h($2118f0266dc7e955$var$ColumnInner, {
67
+ columnRef: ref,
68
+ ...rest
69
+ }, [
70
+ children,
71
+ $2118f0266dc7e955$var$h.if(showUnitPopover)((0, $a9bcb536274d1bf9$export$db1115efab13710d)),
72
+ $2118f0266dc7e955$var$h.if(keyboardNavigation)((0, $4d5d1c15f39f6a14$export$70f5ee19650fc7d1), {
73
+ units: units
74
+ })
75
+ ])));
76
+ }
77
+ function $2118f0266dc7e955$var$ColumnInner(props) {
78
+ const { unitComponent: unitComponent = (0, $4c8184c4a7317749$export$48a4cacf2b7a4441), 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 } = props;
79
+ const { axisType: axisType } = (0, $d5074f164411387e$export$f8509b7cce386c7d)();
80
+ const dispatch = (0, $4d5d1c15f39f6a14$export$77a278d5ca56e309)();
81
+ let width = _width;
82
+ let columnWidth = _columnWidth;
83
+ if (columnWidth > width) columnWidth = width;
84
+ let showLabelColumn = _showLabelColumn;
85
+ if (columnWidth > width - 10) showLabelColumn = false;
86
+ let _showTimescale = showTimescale;
87
+ if (timescaleLevels !== null) _showTimescale = true;
88
+ _showTimescale = axisType == (0, $bTsJU$ColumnAxisType).AGE && _showTimescale;
89
+ return $2118f0266dc7e955$var$h($2118f0266dc7e955$export$2194471aa3d52446, {
90
+ onClick (evt) {
91
+ dispatch?.(null, null, evt);
92
+ },
93
+ className: className
94
+ }, $2118f0266dc7e955$var$h("div.column", {
95
+ ref: columnRef
96
+ }, [
97
+ $2118f0266dc7e955$var$h((0, $43794af7643cdf40$export$40b6b0e4520eeb34)),
98
+ $2118f0266dc7e955$var$h.if(_showTimescale)((0, $7d0f52717c0de7e1$export$db2df5a73a6fbe10), {
99
+ levels: timescaleLevels
100
+ }),
101
+ $2118f0266dc7e955$var$h((0, $7d0f52717c0de7e1$export$38cb0ab5af8f50d7), {
102
+ unitComponent: unitComponent,
103
+ showLabels: showLabels,
104
+ width: width,
105
+ columnWidth: columnWidth,
106
+ showLabelColumn: showLabelColumn,
107
+ clipUnits: clipUnits,
108
+ unconformityLabels: unconformityLabels,
109
+ maxInternalColumns: maxInternalColumns
110
+ }),
111
+ children
112
+ ]));
113
+ }
114
+ function $2118f0266dc7e955$export$2194471aa3d52446(props) {
115
+ const { className: className, ...rest } = props;
116
+ const darkMode = (0, $bTsJU$useDarkMode)();
117
+ return $2118f0266dc7e955$var$h("div.column-container", {
118
+ className: (0, $bTsJU$classnames)(className, {
119
+ "dark-mode": darkMode?.isEnabled ?? false
120
+ }),
121
+ ...rest
122
+ });
123
+ }
124
+
125
+
126
+ export {$2118f0266dc7e955$export$816b5d811295e6bc as Column, $2118f0266dc7e955$export$2194471aa3d52446 as ColumnContainer};
127
+ //# sourceMappingURL=column-views.f71ec4b4.js.map