@macrostrat/column-views 2.4.4 → 3.0.0

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 (657) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/dist/age-axis.cjs +123 -0
  3. package/dist/age-axis.cjs.map +1 -0
  4. package/dist/age-axis.d.ts +33 -0
  5. package/dist/age-axis.js +123 -0
  6. package/dist/age-axis.js.map +1 -0
  7. package/dist/age-axis.module.sass.cjs +18 -0
  8. package/dist/age-axis.module.sass.cjs.map +1 -0
  9. package/dist/age-axis.module.sass.js +18 -0
  10. package/dist/age-axis.module.sass.js.map +1 -0
  11. package/dist/age-model-overlay.cjs +48 -0
  12. package/dist/age-model-overlay.cjs.map +1 -0
  13. package/dist/age-model-overlay.d.ts +24 -0
  14. package/dist/age-model-overlay.js +48 -0
  15. package/dist/age-model-overlay.js.map +1 -0
  16. package/dist/age-model-overlay.module.sass.cjs +8 -0
  17. package/dist/age-model-overlay.module.sass.cjs.map +1 -0
  18. package/dist/age-model-overlay.module.sass.js +8 -0
  19. package/dist/age-model-overlay.module.sass.js.map +1 -0
  20. package/dist/column-views.css +685 -0
  21. package/dist/column.cjs +247 -0
  22. package/dist/column.cjs.map +1 -0
  23. package/dist/column.d.ts +44 -0
  24. package/dist/column.js +247 -0
  25. package/dist/column.js.map +1 -0
  26. package/dist/column.module.sass.cjs +33 -0
  27. package/dist/column.module.sass.cjs.map +1 -0
  28. package/dist/column.module.sass.js +33 -0
  29. package/dist/column.module.sass.js.map +1 -0
  30. package/dist/correlation-chart/hash-string.cjs +46 -0
  31. package/dist/correlation-chart/hash-string.cjs.map +1 -0
  32. package/dist/correlation-chart/hash-string.d.ts +3 -0
  33. package/dist/correlation-chart/hash-string.js +46 -0
  34. package/dist/correlation-chart/hash-string.js.map +1 -0
  35. package/dist/correlation-chart/index.d.ts +2 -0
  36. package/dist/correlation-chart/main.cjs +202 -0
  37. package/dist/correlation-chart/main.cjs.map +1 -0
  38. package/dist/correlation-chart/main.d.ts +15 -0
  39. package/dist/correlation-chart/main.js +202 -0
  40. package/dist/correlation-chart/main.js.map +1 -0
  41. package/dist/correlation-chart/main.module.sass.cjs +28 -0
  42. package/dist/correlation-chart/main.module.sass.cjs.map +1 -0
  43. package/dist/correlation-chart/main.module.sass.js +28 -0
  44. package/dist/correlation-chart/main.module.sass.js.map +1 -0
  45. package/dist/correlation-chart/prepare-data.cjs +62 -0
  46. package/dist/correlation-chart/prepare-data.cjs.map +1 -0
  47. package/dist/correlation-chart/prepare-data.d.ts +52 -0
  48. package/dist/correlation-chart/prepare-data.js +62 -0
  49. package/dist/correlation-chart/prepare-data.js.map +1 -0
  50. package/dist/correlation-chart/stories/utils.d.ts +6 -0
  51. package/dist/correlation-chart/unconformity-line.d.ts +3 -0
  52. package/dist/data-provider/base.cjs +349 -0
  53. package/dist/data-provider/base.cjs.map +1 -0
  54. package/dist/data-provider/base.d.ts +65 -0
  55. package/dist/data-provider/base.js +349 -0
  56. package/dist/data-provider/base.js.map +1 -0
  57. package/dist/data-provider/column-nav.cjs +36 -0
  58. package/dist/data-provider/column-nav.cjs.map +1 -0
  59. package/dist/data-provider/column-nav.d.ts +13 -0
  60. package/dist/data-provider/column-nav.js +36 -0
  61. package/dist/data-provider/column-nav.js.map +1 -0
  62. package/dist/data-provider/core.cjs +56 -0
  63. package/dist/data-provider/core.cjs.map +1 -0
  64. package/dist/data-provider/core.d.ts +31 -0
  65. package/dist/data-provider/core.js +56 -0
  66. package/dist/{esm/column-views.67804ce5.js.map → data-provider/core.js.map} +1 -1
  67. package/dist/data-provider/fetch.cjs +210 -0
  68. package/dist/data-provider/fetch.cjs.map +1 -0
  69. package/dist/data-provider/fetch.d.ts +27 -0
  70. package/dist/data-provider/fetch.js +210 -0
  71. package/dist/data-provider/fetch.js.map +1 -0
  72. package/dist/data-provider/index.d.ts +5 -0
  73. package/dist/data-provider/store.cjs +107 -0
  74. package/dist/data-provider/store.cjs.map +1 -0
  75. package/dist/data-provider/store.d.ts +34 -0
  76. package/dist/data-provider/store.js +107 -0
  77. package/dist/data-provider/store.js.map +1 -0
  78. package/dist/data-provider/unit-selection.cjs +225 -0
  79. package/dist/data-provider/unit-selection.cjs.map +1 -0
  80. package/dist/data-provider/unit-selection.d.ts +49 -0
  81. package/dist/data-provider/unit-selection.js +225 -0
  82. package/dist/data-provider/unit-selection.js.map +1 -0
  83. package/dist/facets/carbon-isotopes/data-area.cjs +64 -0
  84. package/dist/facets/carbon-isotopes/data-area.cjs.map +1 -0
  85. package/dist/facets/carbon-isotopes/data-area.d.ts +13 -0
  86. package/dist/facets/carbon-isotopes/data-area.js +64 -0
  87. package/dist/facets/carbon-isotopes/data-area.js.map +1 -0
  88. package/dist/facets/carbon-isotopes/data-provider.cjs +20 -0
  89. package/dist/facets/carbon-isotopes/data-provider.cjs.map +1 -0
  90. package/dist/facets/carbon-isotopes/data-provider.d.ts +4 -0
  91. package/dist/facets/carbon-isotopes/data-provider.js +20 -0
  92. package/dist/facets/carbon-isotopes/data-provider.js.map +1 -0
  93. package/dist/facets/carbon-isotopes/index.d.ts +2 -0
  94. package/dist/facets/carbon-isotopes/isotopes-column.cjs +174 -0
  95. package/dist/facets/carbon-isotopes/isotopes-column.cjs.map +1 -0
  96. package/dist/facets/carbon-isotopes/isotopes-column.d.ts +19 -0
  97. package/dist/facets/carbon-isotopes/isotopes-column.js +174 -0
  98. package/dist/facets/carbon-isotopes/isotopes-column.js.map +1 -0
  99. package/dist/facets/carbon-isotopes/isotopes-column.module.sass.cjs +15 -0
  100. package/dist/facets/carbon-isotopes/isotopes-column.module.sass.cjs.map +1 -0
  101. package/dist/facets/carbon-isotopes/isotopes-column.module.sass.js +15 -0
  102. package/dist/facets/carbon-isotopes/isotopes-column.module.sass.js.map +1 -0
  103. package/dist/facets/detrital-zircon/index.cjs +108 -0
  104. package/dist/facets/detrital-zircon/index.cjs.map +1 -0
  105. package/dist/facets/detrital-zircon/index.d.ts +24 -0
  106. package/dist/facets/detrital-zircon/index.js +108 -0
  107. package/dist/facets/detrital-zircon/index.js.map +1 -0
  108. package/dist/facets/detrital-zircon/index.module.sass.cjs +11 -0
  109. package/dist/facets/detrital-zircon/index.module.sass.cjs.map +1 -0
  110. package/dist/facets/detrital-zircon/index.module.sass.js +11 -0
  111. package/dist/facets/detrital-zircon/index.module.sass.js.map +1 -0
  112. package/dist/facets/detrital-zircon/provider.cjs +22 -0
  113. package/dist/facets/detrital-zircon/provider.cjs.map +1 -0
  114. package/dist/facets/detrital-zircon/provider.d.ts +31 -0
  115. package/dist/facets/detrital-zircon/provider.js +22 -0
  116. package/dist/facets/detrital-zircon/provider.js.map +1 -0
  117. package/dist/facets/fossils/index.cjs +120 -0
  118. package/dist/facets/fossils/index.cjs.map +1 -0
  119. package/dist/facets/fossils/index.d.ts +7 -0
  120. package/dist/facets/fossils/index.js +120 -0
  121. package/dist/facets/fossils/index.js.map +1 -0
  122. package/dist/facets/fossils/provider.cjs +99 -0
  123. package/dist/facets/fossils/provider.cjs.map +1 -0
  124. package/dist/facets/fossils/provider.d.ts +29 -0
  125. package/dist/facets/fossils/provider.js +99 -0
  126. package/dist/facets/fossils/provider.js.map +1 -0
  127. package/dist/facets/fossils/taxon-ranges.cjs +145 -0
  128. package/dist/facets/fossils/taxon-ranges.cjs.map +1 -0
  129. package/dist/facets/fossils/taxon-ranges.d.ts +3 -0
  130. package/dist/facets/fossils/taxon-ranges.js +145 -0
  131. package/dist/facets/fossils/taxon-ranges.js.map +1 -0
  132. package/dist/facets/fossils/taxon-ranges.module.sass.cjs +13 -0
  133. package/dist/facets/fossils/taxon-ranges.module.sass.cjs.map +1 -0
  134. package/dist/facets/fossils/taxon-ranges.module.sass.js +13 -0
  135. package/dist/facets/fossils/taxon-ranges.module.sass.js.map +1 -0
  136. package/dist/facets/index.d.ts +4 -0
  137. package/dist/facets/measurements/base.cjs +128 -0
  138. package/dist/facets/measurements/base.cjs.map +1 -0
  139. package/dist/facets/measurements/base.d.ts +46 -0
  140. package/dist/facets/measurements/base.js +128 -0
  141. package/dist/facets/measurements/base.js.map +1 -0
  142. package/dist/facets/measurements/base.module.sass.cjs +8 -0
  143. package/dist/facets/measurements/base.module.sass.cjs.map +1 -0
  144. package/dist/facets/measurements/base.module.sass.js +8 -0
  145. package/dist/facets/measurements/base.module.sass.js.map +1 -0
  146. package/dist/facets/measurements/index.d.ts +2 -0
  147. package/dist/facets/measurements/sgp.cjs +62 -0
  148. package/dist/facets/measurements/sgp.cjs.map +1 -0
  149. package/dist/facets/measurements/sgp.d.ts +3 -0
  150. package/dist/facets/measurements/sgp.js +62 -0
  151. package/dist/facets/measurements/sgp.js.map +1 -0
  152. package/dist/index.cjs +164 -0
  153. package/dist/index.cjs.map +1 -0
  154. package/dist/index.d.ts +11 -0
  155. package/dist/index.js +164 -0
  156. package/dist/index.js.map +1 -0
  157. package/dist/maps/_shared/index.d.ts +2 -0
  158. package/dist/maps/_shared/inset-map.cjs +69 -0
  159. package/dist/maps/_shared/inset-map.cjs.map +1 -0
  160. package/dist/maps/_shared/inset-map.d.ts +16 -0
  161. package/dist/maps/_shared/inset-map.js +69 -0
  162. package/dist/maps/_shared/inset-map.js.map +1 -0
  163. package/dist/maps/_shared/styles.cjs +68 -0
  164. package/dist/maps/_shared/styles.cjs.map +1 -0
  165. package/dist/maps/_shared/styles.d.ts +2 -0
  166. package/dist/maps/_shared/styles.js +68 -0
  167. package/dist/maps/_shared/styles.js.map +1 -0
  168. package/dist/maps/column-correlation/core.cjs +185 -0
  169. package/dist/maps/column-correlation/core.cjs.map +1 -0
  170. package/dist/maps/column-correlation/core.d.ts +9 -0
  171. package/dist/maps/column-correlation/core.js +185 -0
  172. package/dist/maps/column-correlation/core.js.map +1 -0
  173. package/dist/maps/column-correlation/index.d.ts +2 -0
  174. package/dist/maps/column-correlation/state.cjs +129 -0
  175. package/dist/maps/column-correlation/state.cjs.map +1 -0
  176. package/dist/maps/column-correlation/state.d.ts +31 -0
  177. package/dist/maps/column-correlation/state.js +129 -0
  178. package/dist/maps/column-correlation/state.js.map +1 -0
  179. package/dist/maps/column-navigation/index.d.ts +2 -0
  180. package/dist/maps/column-navigation/mapbox/index.cjs +175 -0
  181. package/dist/maps/column-navigation/mapbox/index.cjs.map +1 -0
  182. package/dist/maps/column-navigation/mapbox/index.d.ts +17 -0
  183. package/dist/maps/column-navigation/mapbox/index.js +175 -0
  184. package/dist/maps/column-navigation/mapbox/index.js.map +1 -0
  185. package/dist/maps/column-navigation/mapbox/keyboard-navigation.cjs +99 -0
  186. package/dist/maps/column-navigation/mapbox/keyboard-navigation.cjs.map +1 -0
  187. package/dist/maps/column-navigation/mapbox/keyboard-navigation.d.ts +31 -0
  188. package/dist/maps/column-navigation/mapbox/keyboard-navigation.js +99 -0
  189. package/dist/maps/column-navigation/mapbox/keyboard-navigation.js.map +1 -0
  190. package/dist/maps/column-navigation/mapbox/state.cjs +71 -0
  191. package/dist/maps/column-navigation/mapbox/state.cjs.map +1 -0
  192. package/dist/maps/column-navigation/mapbox/state.d.ts +23 -0
  193. package/dist/maps/column-navigation/mapbox/state.js +71 -0
  194. package/dist/maps/column-navigation/mapbox/state.js.map +1 -0
  195. package/dist/maps/column-navigation/svg/animated.d.ts +1 -0
  196. package/dist/maps/column-navigation/svg/index.cjs +92 -0
  197. package/dist/maps/column-navigation/svg/index.cjs.map +1 -0
  198. package/dist/maps/column-navigation/svg/index.d.ts +9 -0
  199. package/dist/maps/column-navigation/svg/index.js +93 -0
  200. package/dist/maps/column-navigation/svg/index.js.map +1 -0
  201. package/dist/maps/column-navigation/svg/layers.cjs +175 -0
  202. package/dist/maps/column-navigation/svg/layers.cjs.map +1 -0
  203. package/dist/maps/column-navigation/svg/layers.d.ts +54 -0
  204. package/dist/maps/column-navigation/svg/layers.js +175 -0
  205. package/dist/maps/column-navigation/svg/layers.js.map +1 -0
  206. package/dist/maps/column-navigation/utils/keyboard-navigation.cjs +50 -0
  207. package/dist/maps/column-navigation/utils/keyboard-navigation.cjs.map +1 -0
  208. package/dist/maps/column-navigation/utils/keyboard-navigation.d.ts +10 -0
  209. package/dist/maps/column-navigation/utils/keyboard-navigation.js +50 -0
  210. package/dist/maps/column-navigation/utils/keyboard-navigation.js.map +1 -0
  211. package/dist/maps/index.d.ts +3 -0
  212. package/dist/notes.cjs +41 -0
  213. package/dist/notes.cjs.map +1 -0
  214. package/dist/notes.d.ts +12 -0
  215. package/dist/notes.js +41 -0
  216. package/dist/notes.js.map +1 -0
  217. package/dist/prepare-units/composite-scale.cjs +284 -0
  218. package/dist/prepare-units/composite-scale.cjs.map +1 -0
  219. package/dist/prepare-units/composite-scale.d.ts +19 -0
  220. package/dist/prepare-units/composite-scale.js +284 -0
  221. package/dist/prepare-units/composite-scale.js.map +1 -0
  222. package/dist/prepare-units/dynamic-scales.cjs +190 -0
  223. package/dist/prepare-units/dynamic-scales.cjs.map +1 -0
  224. package/dist/prepare-units/dynamic-scales.d.ts +13 -0
  225. package/dist/prepare-units/dynamic-scales.js +190 -0
  226. package/dist/prepare-units/dynamic-scales.js.map +1 -0
  227. package/dist/prepare-units/helpers.cjs +198 -0
  228. package/dist/prepare-units/helpers.cjs.map +1 -0
  229. package/dist/prepare-units/helpers.d.ts +10 -0
  230. package/dist/prepare-units/helpers.js +198 -0
  231. package/dist/prepare-units/helpers.js.map +1 -0
  232. package/dist/prepare-units/index.cjs +130 -0
  233. package/dist/prepare-units/index.cjs.map +1 -0
  234. package/dist/prepare-units/index.d.ts +10 -0
  235. package/dist/prepare-units/index.js +131 -0
  236. package/dist/prepare-units/index.js.map +1 -0
  237. package/dist/prepare-units/types.cjs +16 -0
  238. package/dist/prepare-units/types.cjs.map +1 -0
  239. package/dist/prepare-units/types.d.ts +99 -0
  240. package/dist/prepare-units/types.js +16 -0
  241. package/dist/prepare-units/types.js.map +1 -0
  242. package/dist/prepare-units/utils.cjs +99 -0
  243. package/dist/prepare-units/utils.cjs.map +1 -0
  244. package/dist/prepare-units/utils.d.ts +39 -0
  245. package/dist/prepare-units/utils.js +99 -0
  246. package/dist/prepare-units/utils.js.map +1 -0
  247. package/dist/section.cjs +269 -0
  248. package/dist/section.cjs.map +1 -0
  249. package/dist/section.d.ts +45 -0
  250. package/dist/section.js +269 -0
  251. package/dist/section.js.map +1 -0
  252. package/dist/unit-details/index.d.ts +3 -0
  253. package/dist/unit-details/modal-panel.cjs +57 -0
  254. package/dist/unit-details/modal-panel.cjs.map +1 -0
  255. package/dist/unit-details/modal-panel.d.ts +1 -0
  256. package/dist/unit-details/modal-panel.js +57 -0
  257. package/dist/unit-details/modal-panel.js.map +1 -0
  258. package/dist/unit-details/panel.cjs +627 -0
  259. package/dist/unit-details/panel.cjs.map +1 -0
  260. package/dist/unit-details/panel.d.ts +87 -0
  261. package/dist/unit-details/panel.js +627 -0
  262. package/dist/unit-details/panel.js.map +1 -0
  263. package/dist/unit-details/panel.module.sass.cjs +42 -0
  264. package/dist/unit-details/panel.module.sass.cjs.map +1 -0
  265. package/dist/unit-details/panel.module.sass.js +42 -0
  266. package/dist/unit-details/panel.module.sass.js.map +1 -0
  267. package/dist/unit-details/popover.cjs +81 -0
  268. package/dist/unit-details/popover.cjs.map +1 -0
  269. package/dist/unit-details/popover.d.ts +9 -0
  270. package/dist/unit-details/popover.js +81 -0
  271. package/dist/unit-details/popover.js.map +1 -0
  272. package/dist/unit-details/popover.module.sass.cjs +10 -0
  273. package/dist/unit-details/popover.module.sass.cjs.map +1 -0
  274. package/dist/unit-details/popover.module.sass.js +10 -0
  275. package/dist/unit-details/popover.module.sass.js.map +1 -0
  276. package/dist/units/boxes.cjs +187 -0
  277. package/dist/units/boxes.cjs.map +1 -0
  278. package/dist/units/boxes.d.ts +54 -0
  279. package/dist/units/boxes.js +187 -0
  280. package/dist/units/boxes.js.map +1 -0
  281. package/dist/units/boxes.module.sass.cjs +11 -0
  282. package/dist/units/boxes.module.sass.cjs.map +1 -0
  283. package/dist/units/boxes.module.sass.js +11 -0
  284. package/dist/units/boxes.module.sass.js.map +1 -0
  285. package/dist/units/colors.cjs +52 -0
  286. package/dist/units/colors.cjs.map +1 -0
  287. package/dist/units/colors.d.ts +7 -0
  288. package/dist/units/colors.js +52 -0
  289. package/dist/units/colors.js.map +1 -0
  290. package/dist/units/composite.cjs +157 -0
  291. package/dist/units/composite.cjs.map +1 -0
  292. package/dist/units/composite.d.ts +39 -0
  293. package/dist/units/composite.js +157 -0
  294. package/dist/units/composite.js.map +1 -0
  295. package/dist/units/composite.module.sass.cjs +7 -0
  296. package/dist/units/composite.module.sass.cjs.map +1 -0
  297. package/dist/units/composite.module.sass.js +7 -0
  298. package/dist/units/composite.module.sass.js.map +1 -0
  299. package/dist/units/index.cjs +117 -0
  300. package/dist/units/index.cjs.map +1 -0
  301. package/dist/units/index.d.ts +40 -0
  302. package/dist/units/index.js +118 -0
  303. package/dist/units/index.js.map +1 -0
  304. package/dist/units/names.cjs +72 -0
  305. package/dist/units/names.cjs.map +1 -0
  306. package/dist/units/names.d.ts +33 -0
  307. package/dist/units/names.js +72 -0
  308. package/dist/units/names.js.map +1 -0
  309. package/dist/units/resolvers.cjs +114 -0
  310. package/dist/units/resolvers.cjs.map +1 -0
  311. package/dist/units/resolvers.d.ts +3 -0
  312. package/dist/units/resolvers.js +114 -0
  313. package/dist/units/resolvers.js.map +1 -0
  314. package/dist/units/types.d.ts +16 -0
  315. package/package.json +52 -55
  316. package/src/unit-details/popover.module.sass +3 -3
  317. package/dist/esm/column-views.006d5180.js +0 -97
  318. package/dist/esm/column-views.006d5180.js.map +0 -1
  319. package/dist/esm/column-views.052498a6.js +0 -93
  320. package/dist/esm/column-views.052498a6.js.map +0 -1
  321. package/dist/esm/column-views.079119f4.js +0 -17
  322. package/dist/esm/column-views.079119f4.js.map +0 -1
  323. package/dist/esm/column-views.0abf7e10.js +0 -67
  324. package/dist/esm/column-views.0abf7e10.js.map +0 -1
  325. package/dist/esm/column-views.0b3c0d18.js +0 -322
  326. package/dist/esm/column-views.0b3c0d18.js.map +0 -1
  327. package/dist/esm/column-views.0ed9da35.js +0 -141
  328. package/dist/esm/column-views.0ed9da35.js.map +0 -1
  329. package/dist/esm/column-views.0faf79a9.js +0 -142
  330. package/dist/esm/column-views.0faf79a9.js.map +0 -1
  331. package/dist/esm/column-views.16cc7a58.css +0 -37
  332. package/dist/esm/column-views.16cc7a58.css.map +0 -1
  333. package/dist/esm/column-views.17a70358.js +0 -16
  334. package/dist/esm/column-views.17a70358.js.map +0 -1
  335. package/dist/esm/column-views.19539293.js +0 -86
  336. package/dist/esm/column-views.19539293.js.map +0 -1
  337. package/dist/esm/column-views.1af3ec1f.js +0 -139
  338. package/dist/esm/column-views.1af3ec1f.js.map +0 -1
  339. package/dist/esm/column-views.1cd55918.js +0 -206
  340. package/dist/esm/column-views.1cd55918.js.map +0 -1
  341. package/dist/esm/column-views.22ec902b.js +0 -34
  342. package/dist/esm/column-views.22ec902b.js.map +0 -1
  343. package/dist/esm/column-views.2a0010a3.js +0 -15
  344. package/dist/esm/column-views.2a0010a3.js.map +0 -1
  345. package/dist/esm/column-views.2c45a7b5.js +0 -25
  346. package/dist/esm/column-views.2c45a7b5.js.map +0 -1
  347. package/dist/esm/column-views.321af3ae.css +0 -59
  348. package/dist/esm/column-views.321af3ae.css.map +0 -1
  349. package/dist/esm/column-views.334c3947.js +0 -75
  350. package/dist/esm/column-views.334c3947.js.map +0 -1
  351. package/dist/esm/column-views.33796541.js +0 -88
  352. package/dist/esm/column-views.33796541.js.map +0 -1
  353. package/dist/esm/column-views.337b40a2.js +0 -199
  354. package/dist/esm/column-views.337b40a2.js.map +0 -1
  355. package/dist/esm/column-views.338a7a83.css +0 -134
  356. package/dist/esm/column-views.338a7a83.css.map +0 -1
  357. package/dist/esm/column-views.33d35a44.js +0 -118
  358. package/dist/esm/column-views.33d35a44.js.map +0 -1
  359. package/dist/esm/column-views.3465c8ad.js +0 -16
  360. package/dist/esm/column-views.3465c8ad.js.map +0 -1
  361. package/dist/esm/column-views.362aae9a.js +0 -113
  362. package/dist/esm/column-views.362aae9a.js.map +0 -1
  363. package/dist/esm/column-views.3b972a9b.css +0 -4
  364. package/dist/esm/column-views.3b972a9b.css.map +0 -1
  365. package/dist/esm/column-views.3de4dc43.js +0 -66
  366. package/dist/esm/column-views.3de4dc43.js.map +0 -1
  367. package/dist/esm/column-views.40cd59b5.js +0 -13
  368. package/dist/esm/column-views.40cd59b5.js.map +0 -1
  369. package/dist/esm/column-views.4252a555.js +0 -248
  370. package/dist/esm/column-views.4252a555.js.map +0 -1
  371. package/dist/esm/column-views.45c70ba4.js +0 -38
  372. package/dist/esm/column-views.45c70ba4.js.map +0 -1
  373. package/dist/esm/column-views.47b7d9ca.js +0 -206
  374. package/dist/esm/column-views.47b7d9ca.js.map +0 -1
  375. package/dist/esm/column-views.47ca059d.js +0 -225
  376. package/dist/esm/column-views.47ca059d.js.map +0 -1
  377. package/dist/esm/column-views.4d374a35.js +0 -19
  378. package/dist/esm/column-views.4d374a35.js.map +0 -1
  379. package/dist/esm/column-views.54c1f382.css +0 -23
  380. package/dist/esm/column-views.54c1f382.css.map +0 -1
  381. package/dist/esm/column-views.562db43a.css +0 -148
  382. package/dist/esm/column-views.562db43a.css.map +0 -1
  383. package/dist/esm/column-views.5e1c216f.js +0 -180
  384. package/dist/esm/column-views.5e1c216f.js.map +0 -1
  385. package/dist/esm/column-views.60e97132.js +0 -20
  386. package/dist/esm/column-views.60e97132.js.map +0 -1
  387. package/dist/esm/column-views.636d6553.js +0 -343
  388. package/dist/esm/column-views.636d6553.js.map +0 -1
  389. package/dist/esm/column-views.64f6ddd3.js +0 -9
  390. package/dist/esm/column-views.64f6ddd3.js.map +0 -1
  391. package/dist/esm/column-views.6519a353.js +0 -9
  392. package/dist/esm/column-views.6519a353.js.map +0 -1
  393. package/dist/esm/column-views.67804ce5.js +0 -68
  394. package/dist/esm/column-views.6992ca88.js +0 -25
  395. package/dist/esm/column-views.6992ca88.js.map +0 -1
  396. package/dist/esm/column-views.6a954628.js +0 -70
  397. package/dist/esm/column-views.6a954628.js.map +0 -1
  398. package/dist/esm/column-views.6c670c13.css +0 -26
  399. package/dist/esm/column-views.6c670c13.css.map +0 -1
  400. package/dist/esm/column-views.6cff6659.js +0 -11
  401. package/dist/esm/column-views.6cff6659.js.map +0 -1
  402. package/dist/esm/column-views.6d6b73b4.js +0 -55
  403. package/dist/esm/column-views.6d6b73b4.js.map +0 -1
  404. package/dist/esm/column-views.6f9511d1.css +0 -25
  405. package/dist/esm/column-views.6f9511d1.css.map +0 -1
  406. package/dist/esm/column-views.6fff7602.js +0 -94
  407. package/dist/esm/column-views.6fff7602.js.map +0 -1
  408. package/dist/esm/column-views.70387120.js +0 -9
  409. package/dist/esm/column-views.70387120.js.map +0 -1
  410. package/dist/esm/column-views.708140ab.css +0 -36
  411. package/dist/esm/column-views.708140ab.css.map +0 -1
  412. package/dist/esm/column-views.74837922.js +0 -112
  413. package/dist/esm/column-views.74837922.js.map +0 -1
  414. package/dist/esm/column-views.76fb9948.js +0 -169
  415. package/dist/esm/column-views.76fb9948.js.map +0 -1
  416. package/dist/esm/column-views.7bfb4318.js +0 -161
  417. package/dist/esm/column-views.7bfb4318.js.map +0 -1
  418. package/dist/esm/column-views.7dc53f1b.js +0 -168
  419. package/dist/esm/column-views.7dc53f1b.js.map +0 -1
  420. package/dist/esm/column-views.85df21ec.js +0 -567
  421. package/dist/esm/column-views.85df21ec.js.map +0 -1
  422. package/dist/esm/column-views.87c589b7.js +0 -72
  423. package/dist/esm/column-views.87c589b7.js.map +0 -1
  424. package/dist/esm/column-views.8da2b857.js +0 -81
  425. package/dist/esm/column-views.8da2b857.js.map +0 -1
  426. package/dist/esm/column-views.8fb37de7.js +0 -9
  427. package/dist/esm/column-views.8fb37de7.js.map +0 -1
  428. package/dist/esm/column-views.9512c5d5.js +0 -240
  429. package/dist/esm/column-views.9512c5d5.js.map +0 -1
  430. package/dist/esm/column-views.9905b91c.js +0 -11
  431. package/dist/esm/column-views.9905b91c.js.map +0 -1
  432. package/dist/esm/column-views.9b77388d.js +0 -41
  433. package/dist/esm/column-views.9b77388d.js.map +0 -1
  434. package/dist/esm/column-views.a4f394fe.js +0 -127
  435. package/dist/esm/column-views.a4f394fe.js.map +0 -1
  436. package/dist/esm/column-views.a7c5ae16.js +0 -25
  437. package/dist/esm/column-views.a7c5ae16.js.map +0 -1
  438. package/dist/esm/column-views.aa9ede4d.js +0 -206
  439. package/dist/esm/column-views.aa9ede4d.js.map +0 -1
  440. package/dist/esm/column-views.b7cf0da2.js +0 -60
  441. package/dist/esm/column-views.b7cf0da2.js.map +0 -1
  442. package/dist/esm/column-views.beb54e95.js +0 -39
  443. package/dist/esm/column-views.beb54e95.js.map +0 -1
  444. package/dist/esm/column-views.c47dba5f.js +0 -9
  445. package/dist/esm/column-views.c47dba5f.js.map +0 -1
  446. package/dist/esm/column-views.c750a6df.js +0 -9
  447. package/dist/esm/column-views.c750a6df.js.map +0 -1
  448. package/dist/esm/column-views.cb1cc9f2.js +0 -134
  449. package/dist/esm/column-views.cb1cc9f2.js.map +0 -1
  450. package/dist/esm/column-views.cb6fc808.css +0 -54
  451. package/dist/esm/column-views.cb6fc808.css.map +0 -1
  452. package/dist/esm/column-views.cc733361.js +0 -55
  453. package/dist/esm/column-views.cc733361.js.map +0 -1
  454. package/dist/esm/column-views.ce000969.js +0 -187
  455. package/dist/esm/column-views.ce000969.js.map +0 -1
  456. package/dist/esm/column-views.d5e788e8.js +0 -31
  457. package/dist/esm/column-views.d5e788e8.js.map +0 -1
  458. package/dist/esm/column-views.d7740949.js +0 -152
  459. package/dist/esm/column-views.d7740949.js.map +0 -1
  460. package/dist/esm/column-views.d7e6bf67.js +0 -70
  461. package/dist/esm/column-views.d7e6bf67.js.map +0 -1
  462. package/dist/esm/column-views.dac0a3bb.js +0 -149
  463. package/dist/esm/column-views.dac0a3bb.js.map +0 -1
  464. package/dist/esm/column-views.dc42f5d0.js +0 -48
  465. package/dist/esm/column-views.dc42f5d0.js.map +0 -1
  466. package/dist/esm/column-views.e13a0a76.js +0 -138
  467. package/dist/esm/column-views.e13a0a76.js.map +0 -1
  468. package/dist/esm/column-views.e40b8bfb.css +0 -14
  469. package/dist/esm/column-views.e40b8bfb.css.map +0 -1
  470. package/dist/esm/column-views.e93478c3.css +0 -194
  471. package/dist/esm/column-views.e93478c3.css.map +0 -1
  472. package/dist/esm/column-views.ea08f667.js +0 -218
  473. package/dist/esm/column-views.ea08f667.js.map +0 -1
  474. package/dist/esm/column-views.ebb5f280.js +0 -13
  475. package/dist/esm/column-views.ebb5f280.js.map +0 -1
  476. package/dist/esm/column-views.edf77621.js +0 -22
  477. package/dist/esm/column-views.edf77621.js.map +0 -1
  478. package/dist/esm/column-views.f9dab157.js +0 -3
  479. package/dist/esm/column-views.f9dab157.js.map +0 -1
  480. package/dist/esm/column-views.fcf25ec6.js +0 -76
  481. package/dist/esm/column-views.fcf25ec6.js.map +0 -1
  482. package/dist/esm/column-views.fe42d2fc.js +0 -134
  483. package/dist/esm/column-views.fe42d2fc.js.map +0 -1
  484. package/dist/esm/index.d.ts +0 -1008
  485. package/dist/esm/index.d.ts.map +0 -1
  486. package/dist/esm/index.js +0 -27
  487. package/dist/esm/index.js.map +0 -1
  488. package/dist/node/column-views.012fa10c.js +0 -2
  489. package/dist/node/column-views.012fa10c.js.map +0 -1
  490. package/dist/node/column-views.048fdcaf.js +0 -2
  491. package/dist/node/column-views.048fdcaf.js.map +0 -1
  492. package/dist/node/column-views.04a72b35.js +0 -2
  493. package/dist/node/column-views.04a72b35.js.map +0 -1
  494. package/dist/node/column-views.0840b115.css +0 -2
  495. package/dist/node/column-views.0840b115.css.map +0 -1
  496. package/dist/node/column-views.0af5912d.js +0 -2
  497. package/dist/node/column-views.0af5912d.js.map +0 -1
  498. package/dist/node/column-views.0bd15ee4.js +0 -2
  499. package/dist/node/column-views.0bd15ee4.js.map +0 -1
  500. package/dist/node/column-views.0d254fd3.js +0 -2
  501. package/dist/node/column-views.0d254fd3.js.map +0 -1
  502. package/dist/node/column-views.109cb0c8.js +0 -2
  503. package/dist/node/column-views.109cb0c8.js.map +0 -1
  504. package/dist/node/column-views.1261be59.js +0 -2
  505. package/dist/node/column-views.1261be59.js.map +0 -1
  506. package/dist/node/column-views.133855e6.js +0 -2
  507. package/dist/node/column-views.133855e6.js.map +0 -1
  508. package/dist/node/column-views.15b5cecc.js +0 -2
  509. package/dist/node/column-views.15b5cecc.js.map +0 -1
  510. package/dist/node/column-views.183745c0.js +0 -2
  511. package/dist/node/column-views.183745c0.js.map +0 -1
  512. package/dist/node/column-views.2e2158f5.js +0 -2
  513. package/dist/node/column-views.2e2158f5.js.map +0 -1
  514. package/dist/node/column-views.306acd3f.js +0 -2
  515. package/dist/node/column-views.306acd3f.js.map +0 -1
  516. package/dist/node/column-views.31153f29.js +0 -2
  517. package/dist/node/column-views.31153f29.js.map +0 -1
  518. package/dist/node/column-views.31da008b.js +0 -2
  519. package/dist/node/column-views.31da008b.js.map +0 -1
  520. package/dist/node/column-views.3a079e34.css +0 -2
  521. package/dist/node/column-views.3a079e34.css.map +0 -1
  522. package/dist/node/column-views.40e758b3.js +0 -2
  523. package/dist/node/column-views.40e758b3.js.map +0 -1
  524. package/dist/node/column-views.41876859.js +0 -2
  525. package/dist/node/column-views.41876859.js.map +0 -1
  526. package/dist/node/column-views.4a28d695.js +0 -2
  527. package/dist/node/column-views.4a28d695.js.map +0 -1
  528. package/dist/node/column-views.4ec769a6.js +0 -2
  529. package/dist/node/column-views.4ec769a6.js.map +0 -1
  530. package/dist/node/column-views.50a992d3.css +0 -2
  531. package/dist/node/column-views.50a992d3.css.map +0 -1
  532. package/dist/node/column-views.51fbed89.js +0 -2
  533. package/dist/node/column-views.51fbed89.js.map +0 -1
  534. package/dist/node/column-views.5950c8eb.js +0 -2
  535. package/dist/node/column-views.5950c8eb.js.map +0 -1
  536. package/dist/node/column-views.5987bc26.js +0 -2
  537. package/dist/node/column-views.5987bc26.js.map +0 -1
  538. package/dist/node/column-views.5a9331a9.js +0 -2
  539. package/dist/node/column-views.5a9331a9.js.map +0 -1
  540. package/dist/node/column-views.5bb858c9.js +0 -2
  541. package/dist/node/column-views.5bb858c9.js.map +0 -1
  542. package/dist/node/column-views.5c1b0eeb.css +0 -2
  543. package/dist/node/column-views.5c1b0eeb.css.map +0 -1
  544. package/dist/node/column-views.5cbada24.js +0 -2
  545. package/dist/node/column-views.5cbada24.js.map +0 -1
  546. package/dist/node/column-views.5fcd2be6.js +0 -2
  547. package/dist/node/column-views.5fcd2be6.js.map +0 -1
  548. package/dist/node/column-views.672b683c.js +0 -2
  549. package/dist/node/column-views.672b683c.js.map +0 -1
  550. package/dist/node/column-views.6a0a35e7.js +0 -2
  551. package/dist/node/column-views.6a0a35e7.js.map +0 -1
  552. package/dist/node/column-views.6a4c2100.css +0 -2
  553. package/dist/node/column-views.6a4c2100.css.map +0 -1
  554. package/dist/node/column-views.6a9da051.js +0 -2
  555. package/dist/node/column-views.6a9da051.js.map +0 -1
  556. package/dist/node/column-views.6bba8c57.js +0 -2
  557. package/dist/node/column-views.6bba8c57.js.map +0 -1
  558. package/dist/node/column-views.75ba0464.css +0 -2
  559. package/dist/node/column-views.75ba0464.css.map +0 -1
  560. package/dist/node/column-views.78b2d234.js +0 -2
  561. package/dist/node/column-views.78b2d234.js.map +0 -1
  562. package/dist/node/column-views.7b6e7d82.js +0 -2
  563. package/dist/node/column-views.7b6e7d82.js.map +0 -1
  564. package/dist/node/column-views.7b9bd06e.css +0 -2
  565. package/dist/node/column-views.7b9bd06e.css.map +0 -1
  566. package/dist/node/column-views.7d45bbeb.js +0 -2
  567. package/dist/node/column-views.7d45bbeb.js.map +0 -1
  568. package/dist/node/column-views.7f9c7448.js +0 -2
  569. package/dist/node/column-views.7f9c7448.js.map +0 -1
  570. package/dist/node/column-views.82cf7c0d.js +0 -2
  571. package/dist/node/column-views.82cf7c0d.js.map +0 -1
  572. package/dist/node/column-views.869c7199.js +0 -2
  573. package/dist/node/column-views.869c7199.js.map +0 -1
  574. package/dist/node/column-views.8bee789c.js +0 -2
  575. package/dist/node/column-views.8bee789c.js.map +0 -1
  576. package/dist/node/column-views.90c36c0b.js +0 -2
  577. package/dist/node/column-views.90c36c0b.js.map +0 -1
  578. package/dist/node/column-views.951e3e9a.js +0 -2
  579. package/dist/node/column-views.951e3e9a.js.map +0 -1
  580. package/dist/node/column-views.95411f1b.js +0 -2
  581. package/dist/node/column-views.95411f1b.js.map +0 -1
  582. package/dist/node/column-views.9cb13e51.css +0 -2
  583. package/dist/node/column-views.9cb13e51.css.map +0 -1
  584. package/dist/node/column-views.a0969fc8.js +0 -2
  585. package/dist/node/column-views.a0969fc8.js.map +0 -1
  586. package/dist/node/column-views.a2476e39.js +0 -2
  587. package/dist/node/column-views.a2476e39.js.map +0 -1
  588. package/dist/node/column-views.a8f5ee28.js +0 -2
  589. package/dist/node/column-views.a8f5ee28.js.map +0 -1
  590. package/dist/node/column-views.ad60c02f.js +0 -2
  591. package/dist/node/column-views.ad60c02f.js.map +0 -1
  592. package/dist/node/column-views.add5e42b.js +0 -2
  593. package/dist/node/column-views.add5e42b.js.map +0 -1
  594. package/dist/node/column-views.b169b4b5.css +0 -2
  595. package/dist/node/column-views.b169b4b5.css.map +0 -1
  596. package/dist/node/column-views.b2e5f823.js +0 -2
  597. package/dist/node/column-views.b2e5f823.js.map +0 -1
  598. package/dist/node/column-views.b57e5e6e.js +0 -2
  599. package/dist/node/column-views.b57e5e6e.js.map +0 -1
  600. package/dist/node/column-views.b762c9a8.js +0 -2
  601. package/dist/node/column-views.b762c9a8.js.map +0 -1
  602. package/dist/node/column-views.ba9108fe.js +0 -2
  603. package/dist/node/column-views.ba9108fe.js.map +0 -1
  604. package/dist/node/column-views.c16a19fb.js +0 -2
  605. package/dist/node/column-views.c16a19fb.js.map +0 -1
  606. package/dist/node/column-views.c3097d9a.js +0 -2
  607. package/dist/node/column-views.c3097d9a.js.map +0 -1
  608. package/dist/node/column-views.c4c15e2b.js +0 -2
  609. package/dist/node/column-views.c4c15e2b.js.map +0 -1
  610. package/dist/node/column-views.c651b684.js +0 -2
  611. package/dist/node/column-views.c651b684.js.map +0 -1
  612. package/dist/node/column-views.c968a185.css +0 -2
  613. package/dist/node/column-views.c968a185.css.map +0 -1
  614. package/dist/node/column-views.ccfb9afb.css +0 -2
  615. package/dist/node/column-views.ccfb9afb.css.map +0 -1
  616. package/dist/node/column-views.cdcce702.js +0 -2
  617. package/dist/node/column-views.cdcce702.js.map +0 -1
  618. package/dist/node/column-views.cf41a6d7.js +0 -2
  619. package/dist/node/column-views.cf41a6d7.js.map +0 -1
  620. package/dist/node/column-views.d22bf15c.js +0 -2
  621. package/dist/node/column-views.d22bf15c.js.map +0 -1
  622. package/dist/node/column-views.d737de1e.js +0 -2
  623. package/dist/node/column-views.d737de1e.js.map +0 -1
  624. package/dist/node/column-views.da902c44.js +0 -2
  625. package/dist/node/column-views.da902c44.js.map +0 -1
  626. package/dist/node/column-views.db3377d8.js +0 -2
  627. package/dist/node/column-views.db3377d8.js.map +0 -1
  628. package/dist/node/column-views.dbb4a46b.js +0 -2
  629. package/dist/node/column-views.dbb4a46b.js.map +0 -1
  630. package/dist/node/column-views.ddc6184e.css +0 -2
  631. package/dist/node/column-views.ddc6184e.css.map +0 -1
  632. package/dist/node/column-views.e0e20136.js +0 -2
  633. package/dist/node/column-views.e0e20136.js.map +0 -1
  634. package/dist/node/column-views.e2562224.js +0 -2
  635. package/dist/node/column-views.e2562224.js.map +0 -1
  636. package/dist/node/column-views.e6720522.js +0 -2
  637. package/dist/node/column-views.e6720522.js.map +0 -1
  638. package/dist/node/column-views.e7e26765.js +0 -2
  639. package/dist/node/column-views.e7e26765.js.map +0 -1
  640. package/dist/node/column-views.e93b3bdb.js +0 -2
  641. package/dist/node/column-views.e93b3bdb.js.map +0 -1
  642. package/dist/node/column-views.ebb44b7d.js +0 -2
  643. package/dist/node/column-views.ebb44b7d.js.map +0 -1
  644. package/dist/node/column-views.ec0087a2.js +0 -2
  645. package/dist/node/column-views.ec0087a2.js.map +0 -1
  646. package/dist/node/column-views.eea80478.js +0 -2
  647. package/dist/node/column-views.eea80478.js.map +0 -1
  648. package/dist/node/column-views.fb3ed7cc.js +0 -2
  649. package/dist/node/column-views.fb3ed7cc.js.map +0 -1
  650. package/dist/node/column-views.fc4c2c61.js +0 -2
  651. package/dist/node/column-views.fc4c2c61.js.map +0 -1
  652. package/dist/node/column-views.fcb243a2.js +0 -2
  653. package/dist/node/column-views.fcb243a2.js.map +0 -1
  654. package/dist/node/column-views.fea32686.js +0 -2
  655. package/dist/node/column-views.fea32686.js.map +0 -1
  656. package/dist/node/index.js +0 -2
  657. package/dist/node/index.js.map +0 -1
@@ -0,0 +1,56 @@
1
+ import { atom } from "jotai";
2
+ import { createIsolation } from "jotai-scope";
3
+ import { useRef, useEffect } from "react";
4
+ import h from "@macrostrat/hyper";
5
+ const scope = createIsolation();
6
+ function ScopedProvider({
7
+ children,
8
+ atoms,
9
+ shouldUpdateAtoms = true
10
+ }) {
11
+ let val = null;
12
+ try {
13
+ val = scope.useStore();
14
+ return children;
15
+ } catch {
16
+ return h(scope.Provider, { store: null, initialValues: atoms }, [
17
+ h.if(shouldUpdateAtoms)(AtomUpdater, { atoms }),
18
+ children
19
+ ]);
20
+ }
21
+ }
22
+ function AtomUpdater({
23
+ atoms
24
+ }) {
25
+ const store = scope.useStore();
26
+ const prevLengthRef = useRef(atoms.length);
27
+ useEffect(() => {
28
+ if (prevLengthRef.current !== atoms.length) {
29
+ console.error("Error: number of atoms in ScopedAtomUpdater has changed.");
30
+ prevLengthRef.current = atoms.length;
31
+ }
32
+ }, [atoms.length]);
33
+ for (const [atom2, value] of atoms) {
34
+ useEffect(() => {
35
+ store.set(atom2, value);
36
+ }, [store, value]);
37
+ }
38
+ return null;
39
+ }
40
+ const columnUnitsAtom = atom();
41
+ const columnUnitsMapAtom = atom((get) => {
42
+ const units = get(columnUnitsAtom);
43
+ if (!units) return null;
44
+ const unitMap = /* @__PURE__ */ new Map();
45
+ units.forEach((unit) => {
46
+ unitMap.set(unit.unit_id, unit);
47
+ });
48
+ return unitMap;
49
+ });
50
+ export {
51
+ ScopedProvider,
52
+ columnUnitsAtom,
53
+ columnUnitsMapAtom,
54
+ scope
55
+ };
56
+ //# sourceMappingURL=core.js.map
@@ -1 +1 @@
1
- {"mappings":";;;;;;;;;AAkBO,MAAM,4CAAwB,CAAA,GAAA,sBAAc;AAU5C,SAAS,0CAAe,YAC7B,QAAQ,SACR,KAAK,qBACL,oBAAoB,MACN;IACd,kDAAkD;IAClD,IAAI,MAAM;IACV,IAAI;QACF,MAAM,0CAAM,QAAQ;QACpB,uCAAuC;QACvC,OAAO;IACT,EAAE,OAAM;QACN,OAAO,CAAA,GAAA,sBAAA,EAAE,0CAAM,QAAQ,EAAE;YAAE,OAAO;YAAM,eAAe;QAAM,GAAG;YAC9D,CAAA,GAAA,sBAAA,EAAE,EAAE,CAAC,mBAAmB,mCAAa;uBAAE;YAAM;YAC7C;SACD;IACH;AACF;AAEA,SAAS,kCAAY,SACnB,KAAK,EAGN;IACC;;;;GAIC,GACD,uDAAuD,GACvD,mBAAmB;IACnB,MAAM,QAAQ,0CAAM,QAAQ;IAE5B,gCAAgC;IAChC,MAAM,gBAAgB,CAAA,GAAA,aAAK,EAAE,MAAM,MAAM;IACzC,CAAA,GAAA,gBAAQ,EAAE;QACR,IAAI,cAAc,OAAO,KAAK,MAAM,MAAM,EAAE;YAC1C,QAAQ,KAAK,CAAC;YACd,cAAc,OAAO,GAAG,MAAM,MAAM;QACtC;IACF,GAAG;QAAC,MAAM,MAAM;KAAC;IAEjB,KAAK,MAAM,CAAC,MAAM,MAAM,IAAI,MAC1B,CAAA,GAAA,gBAAQ,EAAE;QACR,MAAM,GAAG,CAAC,MAAM;IAClB,GAAG;QAAC;QAAO;KAAM;IAEnB,OAAO;AACT;AAEO,MAAM,4CAAkB,CAAA,GAAA,WAAG;AAE3B,MAAM,4CAAqB,CAAA,GAAA,WAAG,EAAgC,CAAC;IACpE,MAAM,QAAQ,IAAI;IAClB,IAAI,CAAC,OAAO,OAAO;IACnB,MAAM,UAAU,IAAI;IACpB,MAAM,OAAO,CAAC,CAAC;QACb,QAAQ,GAAG,CAAC,KAAK,OAAO,EAAE;IAC5B;IACA,OAAO;AACT","sources":["packages/column-views/src/data-provider/core.ts"],"sourcesContent":["import { atom, type WritableAtom } from \"jotai\";\nimport { createIsolation } from \"jotai-scope\";\nimport { BaseUnit } from \"@macrostrat/api-types\";\nimport { ReactNode, useEffect, useRef } from \"react\";\nimport h from \"@macrostrat/hyper\";\n\ninterface StateIsolation {\n Provider: (props: {\n store?: any;\n initialValues?: AtomMap;\n children: ReactNode;\n }) => ReactNode;\n useStore: () => any;\n useAtom: any;\n useAtomValue: any;\n useSetAtom: any;\n}\n\nexport const scope: StateIsolation = createIsolation();\n\nexport type AtomMap = [WritableAtom<any, any, any>, any][];\n\ntype ProviderProps = {\n children: ReactNode;\n atoms?: AtomMap;\n shouldUpdateAtoms?: boolean;\n};\n\nexport function ScopedProvider({\n children,\n atoms,\n shouldUpdateAtoms = true,\n}: ProviderProps) {\n // Always use the same store instance in this tree\n let val = null;\n try {\n val = scope.useStore();\n // This store has already been provided\n return children;\n } catch {\n return h(scope.Provider, { store: null, initialValues: atoms }, [\n h.if(shouldUpdateAtoms)(AtomUpdater, { atoms }),\n children,\n ]);\n }\n}\n\nfunction AtomUpdater({\n atoms,\n}: {\n atoms: [WritableAtom<any, any, any>, any][];\n}) {\n /**\n * A generic updater to sync Jotai atoms with state passed as props.\n * Useful for scoped providers where state needs to be synced outside\n * the current context.\n */\n /** TODO: this is an awkward way to keep atoms updated */\n // The scoped store\n const store = scope.useStore();\n\n // Warn on atoms changing length\n const prevLengthRef = useRef(atoms.length);\n useEffect(() => {\n if (prevLengthRef.current !== atoms.length) {\n console.error(\"Error: number of atoms in ScopedAtomUpdater has changed.\");\n prevLengthRef.current = atoms.length;\n }\n }, [atoms.length]);\n\n for (const [atom, value] of atoms) {\n useEffect(() => {\n store.set(atom, value);\n }, [store, value]);\n }\n return null;\n}\n\nexport const columnUnitsAtom = atom<BaseUnit[]>();\n\nexport const columnUnitsMapAtom = atom<Map<number, BaseUnit> | null>((get) => {\n const units = get(columnUnitsAtom);\n if (!units) return null;\n const unitMap = new Map<number, BaseUnit>();\n units.forEach((unit) => {\n unitMap.set(unit.unit_id, unit);\n });\n return unitMap;\n});\n"],"names":[],"version":3,"file":"column-views.67804ce5.js.map"}
1
+ {"version":3,"file":"core.js","sources":["../../src/data-provider/core.ts"],"sourcesContent":["import { atom, type WritableAtom } from \"jotai\";\nimport { createIsolation } from \"jotai-scope\";\nimport { BaseUnit } from \"@macrostrat/api-types\";\nimport { ReactNode, useEffect, useRef } from \"react\";\nimport h from \"@macrostrat/hyper\";\n\ninterface StateIsolation {\n Provider: (props: {\n store?: any;\n initialValues?: AtomMap;\n children: ReactNode;\n }) => ReactNode;\n useStore: () => any;\n useAtom: any;\n useAtomValue: any;\n useSetAtom: any;\n}\n\nexport const scope: StateIsolation = createIsolation();\n\nexport type AtomMap = [WritableAtom<any, any, any>, any][];\n\ntype ProviderProps = {\n children: ReactNode;\n atoms?: AtomMap;\n shouldUpdateAtoms?: boolean;\n};\n\nexport function ScopedProvider({\n children,\n atoms,\n shouldUpdateAtoms = true,\n}: ProviderProps) {\n // Always use the same store instance in this tree\n let val = null;\n try {\n val = scope.useStore();\n // This store has already been provided\n return children;\n } catch {\n return h(scope.Provider, { store: null, initialValues: atoms }, [\n h.if(shouldUpdateAtoms)(AtomUpdater, { atoms }),\n children,\n ]);\n }\n}\n\nfunction AtomUpdater({\n atoms,\n}: {\n atoms: [WritableAtom<any, any, any>, any][];\n}) {\n /**\n * A generic updater to sync Jotai atoms with state passed as props.\n * Useful for scoped providers where state needs to be synced outside\n * the current context.\n */\n /** TODO: this is an awkward way to keep atoms updated */\n // The scoped store\n const store = scope.useStore();\n\n // Warn on atoms changing length\n const prevLengthRef = useRef(atoms.length);\n useEffect(() => {\n if (prevLengthRef.current !== atoms.length) {\n console.error(\"Error: number of atoms in ScopedAtomUpdater has changed.\");\n prevLengthRef.current = atoms.length;\n }\n }, [atoms.length]);\n\n for (const [atom, value] of atoms) {\n useEffect(() => {\n store.set(atom, value);\n }, [store, value]);\n }\n return null;\n}\n\nexport const columnUnitsAtom = atom<BaseUnit[]>();\n\nexport const columnUnitsMapAtom = atom<Map<number, BaseUnit> | null>((get) => {\n const units = get(columnUnitsAtom);\n if (!units) return null;\n const unitMap = new Map<number, BaseUnit>();\n units.forEach((unit) => {\n unitMap.set(unit.unit_id, unit);\n });\n return unitMap;\n});\n"],"names":["atom"],"mappings":";;;;AAkBO,MAAM,QAAwB,gBAAA;AAU9B,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA,oBAAoB;AACtB,GAAkB;AAEhB,MAAI,MAAM;AACV,MAAI;AACF,UAAM,MAAM,SAAA;AAEZ,WAAO;AAAA,EACT,QAAQ;AACN,WAAO,EAAE,MAAM,UAAU,EAAE,OAAO,MAAM,eAAe,SAAS;AAAA,MAC9D,EAAE,GAAG,iBAAiB,EAAE,aAAa,EAAE,OAAO;AAAA,MAC9C;AAAA,IAAA,CACD;AAAA,EACH;AACF;AAEA,SAAS,YAAY;AAAA,EACnB;AACF,GAEG;AAQD,QAAM,QAAQ,MAAM,SAAA;AAGpB,QAAM,gBAAgB,OAAO,MAAM,MAAM;AACzC,YAAU,MAAM;AACd,QAAI,cAAc,YAAY,MAAM,QAAQ;AAC1C,cAAQ,MAAM,0DAA0D;AACxE,oBAAc,UAAU,MAAM;AAAA,IAChC;AAAA,EACF,GAAG,CAAC,MAAM,MAAM,CAAC;AAEjB,aAAW,CAACA,OAAM,KAAK,KAAK,OAAO;AACjC,cAAU,MAAM;AACd,YAAM,IAAIA,OAAM,KAAK;AAAA,IACvB,GAAG,CAAC,OAAO,KAAK,CAAC;AAAA,EACnB;AACA,SAAO;AACT;AAEO,MAAM,kBAAkB,KAAA;AAExB,MAAM,qBAAqB,KAAmC,CAAC,QAAQ;AAC5E,QAAM,QAAQ,IAAI,eAAe;AACjC,MAAI,CAAC,MAAO,QAAO;AACnB,QAAM,8BAAc,IAAA;AACpB,QAAM,QAAQ,CAAC,SAAS;AACtB,YAAQ,IAAI,KAAK,SAAS,IAAI;AAAA,EAChC,CAAC;AACD,SAAO;AACT,CAAC;"}
@@ -0,0 +1,210 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ const uiComponents = require("@macrostrat/ui-components");
4
+ const crossFetch = require("cross-fetch");
5
+ const topojsonClient = require("topojson-client");
6
+ const d3Geo = require("d3-geo");
7
+ function createScopedFetch(baseURL) {
8
+ return function(url, options = void 0) {
9
+ return crossFetch(baseURL + url, options);
10
+ };
11
+ }
12
+ const defaultFetch = createScopedFetch("https://macrostrat.org/api/v2");
13
+ async function fetchAllColumns(options = {}) {
14
+ const {
15
+ apiBaseURL,
16
+ projectID,
17
+ format = "topojson",
18
+ statusCode,
19
+ fetch = crossFetch
20
+ } = options;
21
+ let args = { format };
22
+ if (projectID != null) {
23
+ args = { ...args, project_id: projectID };
24
+ }
25
+ let _statusCode = void 0;
26
+ if (Array.isArray(statusCode)) {
27
+ _statusCode = statusCode.join(",");
28
+ } else if (statusCode != null) {
29
+ _statusCode = statusCode;
30
+ }
31
+ args.statusCode = _statusCode;
32
+ if (projectID == null) {
33
+ args = { ...args, all: true };
34
+ }
35
+ let url = "/columns";
36
+ if (apiBaseURL != null) {
37
+ url = uiComponents.joinURL(apiBaseURL, url);
38
+ }
39
+ url = uiComponents.addQueryString(url, args);
40
+ const res = await fetch(url, {
41
+ method: "GET",
42
+ headers: {
43
+ "Content-Type": "application/json"
44
+ }
45
+ });
46
+ if (res == null) {
47
+ return null;
48
+ }
49
+ const data = await res.json();
50
+ return postProcessColumns(columnProcessors[format](data));
51
+ }
52
+ function useColumnFeatures({
53
+ apiRoute = "/columns",
54
+ status_code,
55
+ project_id,
56
+ format = "geojson"
57
+ }) {
58
+ let all = void 0;
59
+ if (status_code == null && project_id == null) {
60
+ all = true;
61
+ }
62
+ const processor = columnProcessors[format];
63
+ return uiComponents.useAPIResult(
64
+ apiRoute,
65
+ { format, all, status_code, project_id },
66
+ processor
67
+ );
68
+ }
69
+ function processGeoJSON(res) {
70
+ return processGeoJSONBare(res?.success?.data);
71
+ }
72
+ function processGeoJSONBare(res) {
73
+ return res?.features;
74
+ }
75
+ function processTopoJSON(res) {
76
+ try {
77
+ const { data } = res.success;
78
+ const { features: f } = topojsonClient.feature(data, data.objects.output);
79
+ return f;
80
+ } catch (err) {
81
+ console.error(err);
82
+ return [];
83
+ }
84
+ }
85
+ function postProcessColumns(columns) {
86
+ return promoteColumnIDs(
87
+ convertSmallAreasToPoints(removeFeaturesWithoutGeometry(columns))
88
+ );
89
+ }
90
+ function promoteColumnIDs(features) {
91
+ return features.map((f, i) => {
92
+ return {
93
+ id: f.properties?.col_id,
94
+ ...f
95
+ };
96
+ });
97
+ }
98
+ function removeFeaturesWithoutGeometry(features) {
99
+ return features.filter((f) => f.geometry != null);
100
+ }
101
+ function convertSmallAreasToPoints(features) {
102
+ return features.map((f) => {
103
+ if (d3Geo.geoArea(f.geometry) < 1e-8) {
104
+ const centroid = f.geometry.coordinates[0][0];
105
+ f.geometry = {
106
+ type: "Point",
107
+ coordinates: centroid
108
+ };
109
+ }
110
+ return f;
111
+ });
112
+ }
113
+ const columnProcessors = {
114
+ topojson: processTopoJSON,
115
+ geojson: processGeoJSON,
116
+ geojson_bare: processGeoJSONBare
117
+ };
118
+ async function unwrapResponse(res) {
119
+ if (res == null) {
120
+ return null;
121
+ }
122
+ const resData = await res.json();
123
+ return resData["success"]["data"];
124
+ }
125
+ async function fetchLithologies(fetch = defaultFetch) {
126
+ const res = await fetch("/defs/lithologies?all");
127
+ return await unwrapResponse(res);
128
+ }
129
+ async function fetchIntervals(timescaleID, fetch = defaultFetch) {
130
+ let url = `/defs/intervals`;
131
+ if (timescaleID != null) {
132
+ url += `?timescale_id=${timescaleID}`;
133
+ } else {
134
+ url += "?all";
135
+ }
136
+ const res = await fetch(url);
137
+ return await unwrapResponse(res);
138
+ }
139
+ async function fetchEnvironments(fetch = defaultFetch) {
140
+ const res = await fetch("/defs/environments?all");
141
+ return await unwrapResponse(res);
142
+ }
143
+ async function fetchRefs(refs, fetch = defaultFetch) {
144
+ let url = `/defs/refs`;
145
+ if (refs.length == 0) {
146
+ return [];
147
+ }
148
+ url += "?ref_id=" + refs.join(",");
149
+ const res = await fetch(url);
150
+ return await unwrapResponse(res);
151
+ }
152
+ async function fetchStratNames(names, fetch = defaultFetch) {
153
+ let url = `/defs/strat_names`;
154
+ if (names.length == 0) {
155
+ return [];
156
+ }
157
+ url += "?strat_name_id=" + names.join(",");
158
+ const res = await fetch(url);
159
+ return await unwrapResponse(res);
160
+ }
161
+ async function fetchUnits(columns, fetch = defaultFetch) {
162
+ const params = new URLSearchParams();
163
+ params.append("response", "long");
164
+ if (columns.length == 0) {
165
+ return [];
166
+ }
167
+ const col_string = columns.map((column) => column.toString()).join(",");
168
+ params.append("col_id", col_string);
169
+ const res = await fetch("/units?" + params.toString());
170
+ const data = await res.json();
171
+ if (!data.success) {
172
+ throw new Error("Failed to fetch column units");
173
+ }
174
+ const units = data.success.data;
175
+ const unitsMap = /* @__PURE__ */ new Map();
176
+ for (const unit of units) {
177
+ const colID = unit.col_id;
178
+ if (!unitsMap.has(colID)) {
179
+ unitsMap.set(colID, []);
180
+ }
181
+ unitsMap.get(colID).push(unit);
182
+ }
183
+ const result = [];
184
+ for (const colID of columns) {
185
+ result.push({ columnID: colID, units: unitsMap.get(colID) || [] });
186
+ }
187
+ return result;
188
+ }
189
+ async function fetchColumnUnits(col_id, fetch = defaultFetch) {
190
+ const params = new URLSearchParams();
191
+ params.append("response", "long");
192
+ params.append("col_id", col_id.toString());
193
+ const res = await fetch("/units?" + params.toString());
194
+ const data = await res.json();
195
+ if (!data.success) {
196
+ throw new Error("Failed to fetch column units");
197
+ }
198
+ const units = data.success.data;
199
+ return { columnID: col_id, units };
200
+ }
201
+ exports.fetchAllColumns = fetchAllColumns;
202
+ exports.fetchColumnUnits = fetchColumnUnits;
203
+ exports.fetchEnvironments = fetchEnvironments;
204
+ exports.fetchIntervals = fetchIntervals;
205
+ exports.fetchLithologies = fetchLithologies;
206
+ exports.fetchRefs = fetchRefs;
207
+ exports.fetchStratNames = fetchStratNames;
208
+ exports.fetchUnits = fetchUnits;
209
+ exports.useColumnFeatures = useColumnFeatures;
210
+ //# sourceMappingURL=fetch.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.cjs","sources":["../../src/data-provider/fetch.ts"],"sourcesContent":["import {\n ColumnGeoJSONRecord,\n ColumnGeoJSONRecordWithID,\n MacrostratRef,\n StratName,\n UnitLong,\n} from \"@macrostrat/api-types\";\nimport {\n addQueryString,\n joinURL,\n useAPIResult,\n} from \"@macrostrat/ui-components\";\nimport crossFetch from \"cross-fetch\";\nimport { feature } from \"topojson-client\";\nimport { geoArea } from \"d3-geo\";\n\nfunction createScopedFetch(baseURL: string) {\n return function (url: string, options: RequestInit | undefined = undefined) {\n return crossFetch(baseURL + url, options);\n };\n}\n\nconst defaultFetch = createScopedFetch(\"https://macrostrat.org/api/v2\");\n\nexport type ColumnStatusCode = \"in process\" | \"active\" | \"obsolete\";\n\nexport interface ColumnFetchOptions {\n apiBaseURL?: string;\n projectID?: number;\n statusCode?: ColumnStatusCode | ColumnStatusCode[];\n format?: \"geojson\" | \"topojson\" | \"geojson_bare\";\n fetch?: any;\n}\n\nexport async function fetchAllColumns(\n options: ColumnFetchOptions = {},\n): Promise<ColumnGeoJSONRecord[]> {\n const {\n apiBaseURL,\n projectID,\n format = \"topojson\",\n statusCode,\n fetch = crossFetch,\n } = options;\n\n let args: any = { format };\n if (projectID != null) {\n args = { ...args, project_id: projectID };\n }\n let _statusCode: string | undefined = undefined;\n if (Array.isArray(statusCode)) {\n _statusCode = statusCode.join(\",\");\n } else if (statusCode != null) {\n _statusCode = statusCode;\n }\n args.statusCode = _statusCode;\n\n if (projectID == null) {\n args = { ...args, all: true };\n }\n\n let url = \"/columns\";\n if (apiBaseURL != null) {\n url = joinURL(apiBaseURL, url);\n }\n\n // Try with fetch\n url = addQueryString(url, args);\n\n const res = await fetch(url, {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n });\n\n if (res == null) {\n return null;\n }\n\n // Get JSON\n const data = await res.json();\n return postProcessColumns(columnProcessors[format](data));\n}\n\nexport function useColumnFeatures({\n apiRoute = \"/columns\",\n status_code,\n project_id,\n format = \"geojson\",\n}) {\n let all: boolean = undefined;\n if (status_code == null && project_id == null) {\n all = true;\n }\n\n const processor = columnProcessors[format];\n\n return useAPIResult(\n apiRoute,\n { format, all, status_code, project_id },\n processor,\n );\n}\n\nfunction processGeoJSON(res) {\n return processGeoJSONBare(res?.success?.data);\n}\n\nfunction processGeoJSONBare(res) {\n return res?.features;\n}\n\nfunction processTopoJSON(res) {\n try {\n const { data } = res.success;\n const { features: f } = feature(data, data.objects.output) as any;\n return f;\n } catch (err) {\n console.error(err);\n return [];\n }\n}\n\nfunction postProcessColumns(columns) {\n return promoteColumnIDs(\n convertSmallAreasToPoints(removeFeaturesWithoutGeometry(columns)),\n );\n}\n\nfunction promoteColumnIDs(\n features: ColumnGeoJSONRecord[],\n): ColumnGeoJSONRecordWithID[] {\n return features.map((f, i) => {\n return {\n id: f.properties?.col_id,\n ...f,\n };\n });\n}\n\nfunction removeFeaturesWithoutGeometry(features) {\n return features.filter((f) => f.geometry != null);\n}\n\nfunction convertSmallAreasToPoints(features) {\n return features.map((f) => {\n // GeoArea takes a long time to run. We are really more worried about points that are zero-area\n if (geoArea(f.geometry) < 1e-8) {\n const centroid = f.geometry.coordinates[0][0];\n f.geometry = {\n type: \"Point\",\n coordinates: centroid,\n };\n }\n return f;\n });\n}\n\nconst columnProcessors = {\n topojson: processTopoJSON,\n geojson: processGeoJSON,\n geojson_bare: processGeoJSONBare,\n};\n\nasync function unwrapResponse(res) {\n if (res == null) {\n return null;\n }\n const resData = await res.json();\n return resData[\"success\"][\"data\"];\n}\n\nexport async function fetchLithologies(fetch = defaultFetch) {\n const res = await fetch(\"/defs/lithologies?all\");\n return await unwrapResponse(res);\n}\n\nexport async function fetchIntervals(\n timescaleID: number | null,\n fetch = defaultFetch,\n) {\n let url = `/defs/intervals`;\n if (timescaleID != null) {\n url += `?timescale_id=${timescaleID}`;\n } else {\n url += \"?all\";\n }\n const res = await fetch(url);\n return await unwrapResponse(res);\n}\n\nexport async function fetchEnvironments(fetch = defaultFetch) {\n const res = await fetch(\"/defs/environments?all\");\n return await unwrapResponse(res);\n}\n\nexport async function fetchRefs(\n refs: number[],\n fetch = defaultFetch,\n): Promise<MacrostratRef[]> {\n let url = `/defs/refs`;\n if (refs.length == 0) {\n return [];\n }\n url += \"?ref_id=\" + refs.join(\",\");\n const res = await fetch(url);\n return await unwrapResponse(res);\n}\n\nexport async function fetchStratNames(\n names: number[],\n fetch = defaultFetch,\n): Promise<StratName[]> {\n let url = `/defs/strat_names`;\n if (names.length == 0) {\n return [];\n }\n url += \"?strat_name_id=\" + names.join(\",\");\n const res = await fetch(url);\n return await unwrapResponse(res);\n}\n\nexport type ColumnData = {\n units: UnitLong[];\n columnID: number;\n};\n\nexport async function fetchUnits(\n columns: number[],\n fetch = defaultFetch,\n): Promise<ColumnData[]> {\n const params = new URLSearchParams();\n params.append(\"response\", \"long\");\n\n if (columns.length == 0) {\n return [];\n }\n\n const col_string = columns.map((column) => column.toString()).join(\",\");\n params.append(\"col_id\", col_string);\n\n const res = await fetch(\"/units\" + \"?\" + params.toString());\n const data = await res.json();\n if (!data.success) {\n throw new Error(\"Failed to fetch column units\");\n }\n const units = data.success.data;\n const unitsMap = new Map<number, UnitLong[]>();\n for (const unit of units) {\n const colID = unit.col_id;\n if (!unitsMap.has(colID)) {\n unitsMap.set(colID, []);\n }\n unitsMap.get(colID).push(unit);\n }\n const result: ColumnData[] = [];\n for (const colID of columns) {\n result.push({ columnID: colID, units: unitsMap.get(colID) || [] });\n }\n return result;\n}\n\nexport async function fetchColumnUnits(\n col_id: number,\n fetch = defaultFetch,\n): Promise<ColumnData> {\n const params = new URLSearchParams();\n params.append(\"response\", \"long\");\n params.append(\"col_id\", col_id.toString());\n const res = await fetch(\"/units\" + \"?\" + params.toString());\n const data = await res.json();\n if (!data.success) {\n throw new Error(\"Failed to fetch column units\");\n }\n const units = data.success.data;\n return { columnID: col_id, units };\n}\n"],"names":["joinURL","addQueryString","useAPIResult","feature","geoArea"],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { ColumnGeoJSONRecord, MacrostratRef, StratName, UnitLong } from '@macrostrat/api-types';
2
+ export type ColumnStatusCode = "in process" | "active" | "obsolete";
3
+ export interface ColumnFetchOptions {
4
+ apiBaseURL?: string;
5
+ projectID?: number;
6
+ statusCode?: ColumnStatusCode | ColumnStatusCode[];
7
+ format?: "geojson" | "topojson" | "geojson_bare";
8
+ fetch?: any;
9
+ }
10
+ export declare function fetchAllColumns(options?: ColumnFetchOptions): Promise<ColumnGeoJSONRecord[]>;
11
+ export declare function useColumnFeatures({ apiRoute, status_code, project_id, format, }: {
12
+ apiRoute?: string;
13
+ status_code: any;
14
+ project_id: any;
15
+ format?: string;
16
+ }): unknown;
17
+ export declare function fetchLithologies(fetch?: (url: string, options?: RequestInit | undefined) => Promise<Response>): Promise<any>;
18
+ export declare function fetchIntervals(timescaleID: number | null, fetch?: (url: string, options?: RequestInit | undefined) => Promise<Response>): Promise<any>;
19
+ export declare function fetchEnvironments(fetch?: (url: string, options?: RequestInit | undefined) => Promise<Response>): Promise<any>;
20
+ export declare function fetchRefs(refs: number[], fetch?: (url: string, options?: RequestInit | undefined) => Promise<Response>): Promise<MacrostratRef[]>;
21
+ export declare function fetchStratNames(names: number[], fetch?: (url: string, options?: RequestInit | undefined) => Promise<Response>): Promise<StratName[]>;
22
+ export type ColumnData = {
23
+ units: UnitLong[];
24
+ columnID: number;
25
+ };
26
+ export declare function fetchUnits(columns: number[], fetch?: (url: string, options?: RequestInit | undefined) => Promise<Response>): Promise<ColumnData[]>;
27
+ export declare function fetchColumnUnits(col_id: number, fetch?: (url: string, options?: RequestInit | undefined) => Promise<Response>): Promise<ColumnData>;
@@ -0,0 +1,210 @@
1
+ import { joinURL, addQueryString, useAPIResult } from "@macrostrat/ui-components";
2
+ import crossFetch from "cross-fetch";
3
+ import { feature } from "topojson-client";
4
+ import { geoArea } from "d3-geo";
5
+ function createScopedFetch(baseURL) {
6
+ return function(url, options = void 0) {
7
+ return crossFetch(baseURL + url, options);
8
+ };
9
+ }
10
+ const defaultFetch = createScopedFetch("https://macrostrat.org/api/v2");
11
+ async function fetchAllColumns(options = {}) {
12
+ const {
13
+ apiBaseURL,
14
+ projectID,
15
+ format = "topojson",
16
+ statusCode,
17
+ fetch = crossFetch
18
+ } = options;
19
+ let args = { format };
20
+ if (projectID != null) {
21
+ args = { ...args, project_id: projectID };
22
+ }
23
+ let _statusCode = void 0;
24
+ if (Array.isArray(statusCode)) {
25
+ _statusCode = statusCode.join(",");
26
+ } else if (statusCode != null) {
27
+ _statusCode = statusCode;
28
+ }
29
+ args.statusCode = _statusCode;
30
+ if (projectID == null) {
31
+ args = { ...args, all: true };
32
+ }
33
+ let url = "/columns";
34
+ if (apiBaseURL != null) {
35
+ url = joinURL(apiBaseURL, url);
36
+ }
37
+ url = addQueryString(url, args);
38
+ const res = await fetch(url, {
39
+ method: "GET",
40
+ headers: {
41
+ "Content-Type": "application/json"
42
+ }
43
+ });
44
+ if (res == null) {
45
+ return null;
46
+ }
47
+ const data = await res.json();
48
+ return postProcessColumns(columnProcessors[format](data));
49
+ }
50
+ function useColumnFeatures({
51
+ apiRoute = "/columns",
52
+ status_code,
53
+ project_id,
54
+ format = "geojson"
55
+ }) {
56
+ let all = void 0;
57
+ if (status_code == null && project_id == null) {
58
+ all = true;
59
+ }
60
+ const processor = columnProcessors[format];
61
+ return useAPIResult(
62
+ apiRoute,
63
+ { format, all, status_code, project_id },
64
+ processor
65
+ );
66
+ }
67
+ function processGeoJSON(res) {
68
+ return processGeoJSONBare(res?.success?.data);
69
+ }
70
+ function processGeoJSONBare(res) {
71
+ return res?.features;
72
+ }
73
+ function processTopoJSON(res) {
74
+ try {
75
+ const { data } = res.success;
76
+ const { features: f } = feature(data, data.objects.output);
77
+ return f;
78
+ } catch (err) {
79
+ console.error(err);
80
+ return [];
81
+ }
82
+ }
83
+ function postProcessColumns(columns) {
84
+ return promoteColumnIDs(
85
+ convertSmallAreasToPoints(removeFeaturesWithoutGeometry(columns))
86
+ );
87
+ }
88
+ function promoteColumnIDs(features) {
89
+ return features.map((f, i) => {
90
+ return {
91
+ id: f.properties?.col_id,
92
+ ...f
93
+ };
94
+ });
95
+ }
96
+ function removeFeaturesWithoutGeometry(features) {
97
+ return features.filter((f) => f.geometry != null);
98
+ }
99
+ function convertSmallAreasToPoints(features) {
100
+ return features.map((f) => {
101
+ if (geoArea(f.geometry) < 1e-8) {
102
+ const centroid = f.geometry.coordinates[0][0];
103
+ f.geometry = {
104
+ type: "Point",
105
+ coordinates: centroid
106
+ };
107
+ }
108
+ return f;
109
+ });
110
+ }
111
+ const columnProcessors = {
112
+ topojson: processTopoJSON,
113
+ geojson: processGeoJSON,
114
+ geojson_bare: processGeoJSONBare
115
+ };
116
+ async function unwrapResponse(res) {
117
+ if (res == null) {
118
+ return null;
119
+ }
120
+ const resData = await res.json();
121
+ return resData["success"]["data"];
122
+ }
123
+ async function fetchLithologies(fetch = defaultFetch) {
124
+ const res = await fetch("/defs/lithologies?all");
125
+ return await unwrapResponse(res);
126
+ }
127
+ async function fetchIntervals(timescaleID, fetch = defaultFetch) {
128
+ let url = `/defs/intervals`;
129
+ if (timescaleID != null) {
130
+ url += `?timescale_id=${timescaleID}`;
131
+ } else {
132
+ url += "?all";
133
+ }
134
+ const res = await fetch(url);
135
+ return await unwrapResponse(res);
136
+ }
137
+ async function fetchEnvironments(fetch = defaultFetch) {
138
+ const res = await fetch("/defs/environments?all");
139
+ return await unwrapResponse(res);
140
+ }
141
+ async function fetchRefs(refs, fetch = defaultFetch) {
142
+ let url = `/defs/refs`;
143
+ if (refs.length == 0) {
144
+ return [];
145
+ }
146
+ url += "?ref_id=" + refs.join(",");
147
+ const res = await fetch(url);
148
+ return await unwrapResponse(res);
149
+ }
150
+ async function fetchStratNames(names, fetch = defaultFetch) {
151
+ let url = `/defs/strat_names`;
152
+ if (names.length == 0) {
153
+ return [];
154
+ }
155
+ url += "?strat_name_id=" + names.join(",");
156
+ const res = await fetch(url);
157
+ return await unwrapResponse(res);
158
+ }
159
+ async function fetchUnits(columns, fetch = defaultFetch) {
160
+ const params = new URLSearchParams();
161
+ params.append("response", "long");
162
+ if (columns.length == 0) {
163
+ return [];
164
+ }
165
+ const col_string = columns.map((column) => column.toString()).join(",");
166
+ params.append("col_id", col_string);
167
+ const res = await fetch("/units?" + params.toString());
168
+ const data = await res.json();
169
+ if (!data.success) {
170
+ throw new Error("Failed to fetch column units");
171
+ }
172
+ const units = data.success.data;
173
+ const unitsMap = /* @__PURE__ */ new Map();
174
+ for (const unit of units) {
175
+ const colID = unit.col_id;
176
+ if (!unitsMap.has(colID)) {
177
+ unitsMap.set(colID, []);
178
+ }
179
+ unitsMap.get(colID).push(unit);
180
+ }
181
+ const result = [];
182
+ for (const colID of columns) {
183
+ result.push({ columnID: colID, units: unitsMap.get(colID) || [] });
184
+ }
185
+ return result;
186
+ }
187
+ async function fetchColumnUnits(col_id, fetch = defaultFetch) {
188
+ const params = new URLSearchParams();
189
+ params.append("response", "long");
190
+ params.append("col_id", col_id.toString());
191
+ const res = await fetch("/units?" + params.toString());
192
+ const data = await res.json();
193
+ if (!data.success) {
194
+ throw new Error("Failed to fetch column units");
195
+ }
196
+ const units = data.success.data;
197
+ return { columnID: col_id, units };
198
+ }
199
+ export {
200
+ fetchAllColumns,
201
+ fetchColumnUnits,
202
+ fetchEnvironments,
203
+ fetchIntervals,
204
+ fetchLithologies,
205
+ fetchRefs,
206
+ fetchStratNames,
207
+ fetchUnits,
208
+ useColumnFeatures
209
+ };
210
+ //# sourceMappingURL=fetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.js","sources":["../../src/data-provider/fetch.ts"],"sourcesContent":["import {\n ColumnGeoJSONRecord,\n ColumnGeoJSONRecordWithID,\n MacrostratRef,\n StratName,\n UnitLong,\n} from \"@macrostrat/api-types\";\nimport {\n addQueryString,\n joinURL,\n useAPIResult,\n} from \"@macrostrat/ui-components\";\nimport crossFetch from \"cross-fetch\";\nimport { feature } from \"topojson-client\";\nimport { geoArea } from \"d3-geo\";\n\nfunction createScopedFetch(baseURL: string) {\n return function (url: string, options: RequestInit | undefined = undefined) {\n return crossFetch(baseURL + url, options);\n };\n}\n\nconst defaultFetch = createScopedFetch(\"https://macrostrat.org/api/v2\");\n\nexport type ColumnStatusCode = \"in process\" | \"active\" | \"obsolete\";\n\nexport interface ColumnFetchOptions {\n apiBaseURL?: string;\n projectID?: number;\n statusCode?: ColumnStatusCode | ColumnStatusCode[];\n format?: \"geojson\" | \"topojson\" | \"geojson_bare\";\n fetch?: any;\n}\n\nexport async function fetchAllColumns(\n options: ColumnFetchOptions = {},\n): Promise<ColumnGeoJSONRecord[]> {\n const {\n apiBaseURL,\n projectID,\n format = \"topojson\",\n statusCode,\n fetch = crossFetch,\n } = options;\n\n let args: any = { format };\n if (projectID != null) {\n args = { ...args, project_id: projectID };\n }\n let _statusCode: string | undefined = undefined;\n if (Array.isArray(statusCode)) {\n _statusCode = statusCode.join(\",\");\n } else if (statusCode != null) {\n _statusCode = statusCode;\n }\n args.statusCode = _statusCode;\n\n if (projectID == null) {\n args = { ...args, all: true };\n }\n\n let url = \"/columns\";\n if (apiBaseURL != null) {\n url = joinURL(apiBaseURL, url);\n }\n\n // Try with fetch\n url = addQueryString(url, args);\n\n const res = await fetch(url, {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n });\n\n if (res == null) {\n return null;\n }\n\n // Get JSON\n const data = await res.json();\n return postProcessColumns(columnProcessors[format](data));\n}\n\nexport function useColumnFeatures({\n apiRoute = \"/columns\",\n status_code,\n project_id,\n format = \"geojson\",\n}) {\n let all: boolean = undefined;\n if (status_code == null && project_id == null) {\n all = true;\n }\n\n const processor = columnProcessors[format];\n\n return useAPIResult(\n apiRoute,\n { format, all, status_code, project_id },\n processor,\n );\n}\n\nfunction processGeoJSON(res) {\n return processGeoJSONBare(res?.success?.data);\n}\n\nfunction processGeoJSONBare(res) {\n return res?.features;\n}\n\nfunction processTopoJSON(res) {\n try {\n const { data } = res.success;\n const { features: f } = feature(data, data.objects.output) as any;\n return f;\n } catch (err) {\n console.error(err);\n return [];\n }\n}\n\nfunction postProcessColumns(columns) {\n return promoteColumnIDs(\n convertSmallAreasToPoints(removeFeaturesWithoutGeometry(columns)),\n );\n}\n\nfunction promoteColumnIDs(\n features: ColumnGeoJSONRecord[],\n): ColumnGeoJSONRecordWithID[] {\n return features.map((f, i) => {\n return {\n id: f.properties?.col_id,\n ...f,\n };\n });\n}\n\nfunction removeFeaturesWithoutGeometry(features) {\n return features.filter((f) => f.geometry != null);\n}\n\nfunction convertSmallAreasToPoints(features) {\n return features.map((f) => {\n // GeoArea takes a long time to run. We are really more worried about points that are zero-area\n if (geoArea(f.geometry) < 1e-8) {\n const centroid = f.geometry.coordinates[0][0];\n f.geometry = {\n type: \"Point\",\n coordinates: centroid,\n };\n }\n return f;\n });\n}\n\nconst columnProcessors = {\n topojson: processTopoJSON,\n geojson: processGeoJSON,\n geojson_bare: processGeoJSONBare,\n};\n\nasync function unwrapResponse(res) {\n if (res == null) {\n return null;\n }\n const resData = await res.json();\n return resData[\"success\"][\"data\"];\n}\n\nexport async function fetchLithologies(fetch = defaultFetch) {\n const res = await fetch(\"/defs/lithologies?all\");\n return await unwrapResponse(res);\n}\n\nexport async function fetchIntervals(\n timescaleID: number | null,\n fetch = defaultFetch,\n) {\n let url = `/defs/intervals`;\n if (timescaleID != null) {\n url += `?timescale_id=${timescaleID}`;\n } else {\n url += \"?all\";\n }\n const res = await fetch(url);\n return await unwrapResponse(res);\n}\n\nexport async function fetchEnvironments(fetch = defaultFetch) {\n const res = await fetch(\"/defs/environments?all\");\n return await unwrapResponse(res);\n}\n\nexport async function fetchRefs(\n refs: number[],\n fetch = defaultFetch,\n): Promise<MacrostratRef[]> {\n let url = `/defs/refs`;\n if (refs.length == 0) {\n return [];\n }\n url += \"?ref_id=\" + refs.join(\",\");\n const res = await fetch(url);\n return await unwrapResponse(res);\n}\n\nexport async function fetchStratNames(\n names: number[],\n fetch = defaultFetch,\n): Promise<StratName[]> {\n let url = `/defs/strat_names`;\n if (names.length == 0) {\n return [];\n }\n url += \"?strat_name_id=\" + names.join(\",\");\n const res = await fetch(url);\n return await unwrapResponse(res);\n}\n\nexport type ColumnData = {\n units: UnitLong[];\n columnID: number;\n};\n\nexport async function fetchUnits(\n columns: number[],\n fetch = defaultFetch,\n): Promise<ColumnData[]> {\n const params = new URLSearchParams();\n params.append(\"response\", \"long\");\n\n if (columns.length == 0) {\n return [];\n }\n\n const col_string = columns.map((column) => column.toString()).join(\",\");\n params.append(\"col_id\", col_string);\n\n const res = await fetch(\"/units\" + \"?\" + params.toString());\n const data = await res.json();\n if (!data.success) {\n throw new Error(\"Failed to fetch column units\");\n }\n const units = data.success.data;\n const unitsMap = new Map<number, UnitLong[]>();\n for (const unit of units) {\n const colID = unit.col_id;\n if (!unitsMap.has(colID)) {\n unitsMap.set(colID, []);\n }\n unitsMap.get(colID).push(unit);\n }\n const result: ColumnData[] = [];\n for (const colID of columns) {\n result.push({ columnID: colID, units: unitsMap.get(colID) || [] });\n }\n return result;\n}\n\nexport async function fetchColumnUnits(\n col_id: number,\n fetch = defaultFetch,\n): Promise<ColumnData> {\n const params = new URLSearchParams();\n params.append(\"response\", \"long\");\n params.append(\"col_id\", col_id.toString());\n const res = await fetch(\"/units\" + \"?\" + params.toString());\n const data = await res.json();\n if (!data.success) {\n throw new Error(\"Failed to fetch column units\");\n }\n const units = data.success.data;\n return { columnID: col_id, units };\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export * from './fetch';
2
+ export * from './base';
3
+ export * from './column-nav';
4
+ export * from './store';
5
+ export * from './unit-selection';