@macrostrat/column-views 2.1.0 → 2.1.2

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 (181) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/esm/{column-views.66f823ba.js → column-views.0f2121e4.js} +12 -12
  3. package/dist/esm/column-views.0f2121e4.js.map +1 -0
  4. package/dist/esm/{column-views.52b03330.js → column-views.28b3eaa0.js} +2 -2
  5. package/dist/esm/{column-views.52b03330.js.map → column-views.28b3eaa0.js.map} +1 -1
  6. package/dist/esm/{column-views.bb46641f.js → column-views.32a83292.js} +2 -2
  7. package/dist/esm/{column-views.bb46641f.js.map → column-views.32a83292.js.map} +1 -1
  8. package/dist/esm/{column-views.25471fe0.css → column-views.439a26db.css} +5 -1
  9. package/dist/esm/column-views.439a26db.css.map +1 -0
  10. package/dist/esm/{column-views.8833218c.js → column-views.813d5bba.js} +2 -2
  11. package/dist/esm/{column-views.8833218c.js.map → column-views.813d5bba.js.map} +1 -1
  12. package/dist/esm/{column-views.91385fdc.js → column-views.892ce22f.js} +4 -4
  13. package/dist/esm/{column-views.91385fdc.js.map → column-views.892ce22f.js.map} +1 -1
  14. package/dist/esm/{column-views.59792b70.js → column-views.afb48e8c.js} +5 -5
  15. package/dist/esm/{column-views.59792b70.js.map → column-views.afb48e8c.js.map} +1 -1
  16. package/dist/esm/{column-views.5ae1d963.js → column-views.b40b2bf6.js} +2 -2
  17. package/dist/esm/{column-views.5ae1d963.js.map → column-views.b40b2bf6.js.map} +1 -1
  18. package/dist/esm/{column-views.2cb87813.js → column-views.c322a5e7.js} +3 -3
  19. package/dist/esm/{column-views.2cb87813.js.map → column-views.c322a5e7.js.map} +1 -1
  20. package/dist/esm/{column-views.58b82432.js → column-views.fef7389f.js} +4 -1
  21. package/dist/esm/column-views.fef7389f.js.map +1 -0
  22. package/dist/esm/index.d.ts +6 -3
  23. package/dist/esm/index.d.ts.map +1 -1
  24. package/dist/esm/index.js +4 -4
  25. package/dist/node/{column-views.072d3dcd.js → column-views.0220026c.js} +2 -2
  26. package/dist/node/{column-views.072d3dcd.js.map → column-views.0220026c.js.map} +1 -1
  27. package/dist/node/{column-views.ca16625d.js → column-views.059a41c1.js} +2 -2
  28. package/dist/node/{column-views.ca16625d.js.map → column-views.059a41c1.js.map} +1 -1
  29. package/dist/node/{column-views.44b75011.js → column-views.12414005.js} +2 -2
  30. package/dist/node/{column-views.44b75011.js.map → column-views.12414005.js.map} +1 -1
  31. package/dist/node/{column-views.3f3cfcce.js → column-views.39c07f5f.js} +2 -2
  32. package/dist/node/{column-views.3f3cfcce.js.map → column-views.39c07f5f.js.map} +1 -1
  33. package/dist/node/{column-views.7f621850.js → column-views.45defa84.js} +2 -2
  34. package/dist/node/{column-views.7f621850.js.map → column-views.45defa84.js.map} +1 -1
  35. package/dist/node/{column-views.34b48ee4.js → column-views.6f0c1134.js} +2 -2
  36. package/dist/node/{column-views.34b48ee4.js.map → column-views.6f0c1134.js.map} +1 -1
  37. package/dist/node/{column-views.68ded006.js → column-views.7f951eeb.js} +2 -2
  38. package/dist/node/{column-views.68ded006.js.map → column-views.7f951eeb.js.map} +1 -1
  39. package/dist/node/{column-views.f7315cbc.css → column-views.9771eb09.css} +2 -2
  40. package/dist/node/column-views.9771eb09.css.map +1 -0
  41. package/dist/node/column-views.9f796135.js +2 -0
  42. package/dist/node/column-views.9f796135.js.map +1 -0
  43. package/dist/node/column-views.aa50c532.js +2 -0
  44. package/dist/node/column-views.aa50c532.js.map +1 -0
  45. package/dist/node/index.js +1 -1
  46. package/dist/node/index.js.map +1 -1
  47. package/package.json +5 -5
  48. package/src/unit-details/panel.module.sass +2 -0
  49. package/src/unit-details/panel.ts +11 -5
  50. package/dist/esm/column-views.09f22f45.js +0 -64
  51. package/dist/esm/column-views.09f22f45.js.map +0 -1
  52. package/dist/esm/column-views.210514ec.js +0 -11
  53. package/dist/esm/column-views.210514ec.js.map +0 -1
  54. package/dist/esm/column-views.25471fe0.css.map +0 -1
  55. package/dist/esm/column-views.2c43c055.js +0 -156
  56. package/dist/esm/column-views.2c43c055.js.map +0 -1
  57. package/dist/esm/column-views.3199d35a.css +0 -61
  58. package/dist/esm/column-views.3199d35a.css.map +0 -1
  59. package/dist/esm/column-views.34a52db7.js +0 -31
  60. package/dist/esm/column-views.34a52db7.js.map +0 -1
  61. package/dist/esm/column-views.494447ef.css +0 -2
  62. package/dist/esm/column-views.494447ef.css.map +0 -1
  63. package/dist/esm/column-views.4950ea28.js +0 -28
  64. package/dist/esm/column-views.4950ea28.js.map +0 -1
  65. package/dist/esm/column-views.58b82432.js.map +0 -1
  66. package/dist/esm/column-views.66f823ba.js.map +0 -1
  67. package/dist/esm/column-views.68afac63.js +0 -90
  68. package/dist/esm/column-views.68afac63.js.map +0 -1
  69. package/dist/esm/column-views.69c0e90d.js +0 -5
  70. package/dist/esm/column-views.69c0e90d.js.map +0 -1
  71. package/dist/esm/column-views.7631c221.js +0 -13
  72. package/dist/esm/column-views.7631c221.js.map +0 -1
  73. package/dist/esm/column-views.7a414dd1.css +0 -56
  74. package/dist/esm/column-views.7a414dd1.css.map +0 -1
  75. package/dist/esm/column-views.7a726ca9.js +0 -24
  76. package/dist/esm/column-views.7a726ca9.js.map +0 -1
  77. package/dist/esm/column-views.7e21d1ec.js +0 -34
  78. package/dist/esm/column-views.7e21d1ec.js.map +0 -1
  79. package/dist/esm/column-views.83a557b3.js +0 -11
  80. package/dist/esm/column-views.83a557b3.js.map +0 -1
  81. package/dist/esm/column-views.88984b34.js +0 -92
  82. package/dist/esm/column-views.88984b34.js.map +0 -1
  83. package/dist/esm/column-views.8a1db14e.js +0 -105
  84. package/dist/esm/column-views.8a1db14e.js.map +0 -1
  85. package/dist/esm/column-views.8e7b01d2.js +0 -43
  86. package/dist/esm/column-views.8e7b01d2.js.map +0 -1
  87. package/dist/esm/column-views.8f108485.js +0 -128
  88. package/dist/esm/column-views.8f108485.js.map +0 -1
  89. package/dist/esm/column-views.904b9365.js +0 -57
  90. package/dist/esm/column-views.904b9365.js.map +0 -1
  91. package/dist/esm/column-views.90a863af.js +0 -11
  92. package/dist/esm/column-views.90a863af.js.map +0 -1
  93. package/dist/esm/column-views.a582d4b5.js +0 -7
  94. package/dist/esm/column-views.a582d4b5.js.map +0 -1
  95. package/dist/esm/column-views.ad472a38.css +0 -54
  96. package/dist/esm/column-views.ad472a38.css.map +0 -1
  97. package/dist/esm/column-views.b2b5f52c.js +0 -19
  98. package/dist/esm/column-views.b2b5f52c.js.map +0 -1
  99. package/dist/esm/column-views.b324842f.css +0 -57
  100. package/dist/esm/column-views.b324842f.css.map +0 -1
  101. package/dist/esm/column-views.bba13f77.css +0 -54
  102. package/dist/esm/column-views.bba13f77.css.map +0 -1
  103. package/dist/esm/column-views.c5e108f9.js +0 -34
  104. package/dist/esm/column-views.c5e108f9.js.map +0 -1
  105. package/dist/esm/column-views.cae5a0ad.js +0 -37
  106. package/dist/esm/column-views.cae5a0ad.js.map +0 -1
  107. package/dist/esm/column-views.e4975dd6.css +0 -146
  108. package/dist/esm/column-views.e4975dd6.css.map +0 -1
  109. package/dist/esm/column-views.e9f8b2a7.js +0 -20
  110. package/dist/esm/column-views.e9f8b2a7.js.map +0 -1
  111. package/dist/esm/column-views.edeab611.js +0 -204
  112. package/dist/esm/column-views.edeab611.js.map +0 -1
  113. package/dist/esm/column-views.f2948ff8.js +0 -101
  114. package/dist/esm/column-views.f2948ff8.js.map +0 -1
  115. package/dist/node/column-views.007bf6c1.js +0 -2
  116. package/dist/node/column-views.007bf6c1.js.map +0 -1
  117. package/dist/node/column-views.00848c9a.js +0 -2
  118. package/dist/node/column-views.00848c9a.js.map +0 -1
  119. package/dist/node/column-views.0278b7e5.js +0 -2
  120. package/dist/node/column-views.0278b7e5.js.map +0 -1
  121. package/dist/node/column-views.0b579299.css +0 -2
  122. package/dist/node/column-views.0b579299.css.map +0 -1
  123. package/dist/node/column-views.0b72c188.js +0 -2
  124. package/dist/node/column-views.0b72c188.js.map +0 -1
  125. package/dist/node/column-views.1064fcfb.js +0 -2
  126. package/dist/node/column-views.1064fcfb.js.map +0 -1
  127. package/dist/node/column-views.12864efd.js +0 -2
  128. package/dist/node/column-views.12864efd.js.map +0 -1
  129. package/dist/node/column-views.22673dc1.js +0 -2
  130. package/dist/node/column-views.22673dc1.js.map +0 -1
  131. package/dist/node/column-views.273ac4a8.js +0 -2
  132. package/dist/node/column-views.273ac4a8.js.map +0 -1
  133. package/dist/node/column-views.286d444d.js +0 -2
  134. package/dist/node/column-views.286d444d.js.map +0 -1
  135. package/dist/node/column-views.2fa1c4e6.css +0 -2
  136. package/dist/node/column-views.2fa1c4e6.css.map +0 -1
  137. package/dist/node/column-views.33102ceb.js +0 -2
  138. package/dist/node/column-views.33102ceb.js.map +0 -1
  139. package/dist/node/column-views.41d01674.js +0 -2
  140. package/dist/node/column-views.41d01674.js.map +0 -1
  141. package/dist/node/column-views.47f67ad4.js +0 -2
  142. package/dist/node/column-views.47f67ad4.js.map +0 -1
  143. package/dist/node/column-views.63165cf3.css +0 -2
  144. package/dist/node/column-views.63165cf3.css.map +0 -1
  145. package/dist/node/column-views.65ad6310.css +0 -2
  146. package/dist/node/column-views.65ad6310.css.map +0 -1
  147. package/dist/node/column-views.68224fdd.css +0 -2
  148. package/dist/node/column-views.68224fdd.css.map +0 -1
  149. package/dist/node/column-views.6d1551bd.js +0 -2
  150. package/dist/node/column-views.6d1551bd.js.map +0 -1
  151. package/dist/node/column-views.71c48a11.js +0 -2
  152. package/dist/node/column-views.71c48a11.js.map +0 -1
  153. package/dist/node/column-views.7be87c6b.js +0 -2
  154. package/dist/node/column-views.7be87c6b.js.map +0 -1
  155. package/dist/node/column-views.8a02b1fe.js +0 -2
  156. package/dist/node/column-views.8a02b1fe.js.map +0 -1
  157. package/dist/node/column-views.8acd24ca.js +0 -2
  158. package/dist/node/column-views.8acd24ca.js.map +0 -1
  159. package/dist/node/column-views.a208338e.js +0 -2
  160. package/dist/node/column-views.a208338e.js.map +0 -1
  161. package/dist/node/column-views.a634ac7f.js +0 -2
  162. package/dist/node/column-views.a634ac7f.js.map +0 -1
  163. package/dist/node/column-views.b55bd885.css +0 -2
  164. package/dist/node/column-views.b55bd885.css.map +0 -1
  165. package/dist/node/column-views.baf032f1.js +0 -2
  166. package/dist/node/column-views.baf032f1.js.map +0 -1
  167. package/dist/node/column-views.bb510980.js +0 -2
  168. package/dist/node/column-views.bb510980.js.map +0 -1
  169. package/dist/node/column-views.d0ee3385.js +0 -2
  170. package/dist/node/column-views.d0ee3385.js.map +0 -1
  171. package/dist/node/column-views.dfe9f0a9.js +0 -2
  172. package/dist/node/column-views.dfe9f0a9.js.map +0 -1
  173. package/dist/node/column-views.e52994ea.js +0 -2
  174. package/dist/node/column-views.e52994ea.js.map +0 -1
  175. package/dist/node/column-views.e77dd525.js +0 -2
  176. package/dist/node/column-views.e77dd525.js.map +0 -1
  177. package/dist/node/column-views.e7cd811c.css +0 -2
  178. package/dist/node/column-views.e7cd811c.css.map +0 -1
  179. package/dist/node/column-views.ee8cb107.js +0 -2
  180. package/dist/node/column-views.ee8cb107.js.map +0 -1
  181. package/dist/node/column-views.f7315cbc.css.map +0 -1
@@ -1 +0,0 @@
1
- {"mappings":";;;;;;;;;;;;AAAA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AALA,2CAAmC,CAAC,qBAAqB,CAAC;AAC1D,4CAAmC,CAAC,qBAAqB,CAAC;AAC1D,4CAA6C,CAAC,+BAA+B,CAAC;AAC9E,4CAAuC,CAAC,yBAAyB,CAAC;AAClE,4CAAyC,CAAC,2BAA2B,CAAC;AACtE,4CAAwB,CAAC,UAAU,CAAC","sources":["packages/data-components/src/components/prevalent-taxa/taxa.module.scss"],"sourcesContent":[".prevalent-taxa-row {\n background-color: #999999;\n padding: 15px;\n margin-top: 20px;\n height: 90px;\n}\n\n.prevalent-taxa-container {\n text-align: center;\n display: table;\n height: 100%;\n position: relative;\n min-height: 1px;\n padding-left: 15px;\n padding-right: 15px;\n}\n\n.row {\n display: flex;\n justify-content: space-between;\n}\n\n.prevalent-taxa-container:first-of-type {\n border-right: 1px solid whitesmoke;\n}\n\n.prevalent-taxa {\n display: table-cell;\n vertical-align: middle;\n}\n\n.prevalent-taxa > img {\n filter: invert(1);\n -webkit-filter: invert(1);\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(invert=1)\";\n height: 35px;\n}\n.prevalent-taxa > p {\n color: #f5f5f5;\n font-size: 0.8em;\n font-weight: 200;\n margin-top: 5px;\n}\n\n#prevalent-taxa-title {\n color: #f5f5f5;\n font-size: 1.2em;\n margin-bottom: 0;\n}\n\n.normalize-link {\n color: inherit;\n}\n.normalize-link:hover {\n color: inherit;\n}\n"],"names":[],"version":3,"file":"column-views.4950ea28.js.map"}
@@ -1 +0,0 @@
1
- {"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AAfA,4CAAiC,CAAC,mBAAmB,CAAC;AACtD,4CAAqC,CAAC,uBAAuB,CAAC;AAC9D,4CAAmC,CAAC,qBAAqB,CAAC;AAC1D,4CAAyC,CAAC,2BAA2B,CAAC;AACtE,4CAAwC,CAAC,0BAA0B,CAAC;AACpE,4CAA6B,CAAC,eAAe,CAAC;AAC9C,4CAA+B,CAAC,iBAAiB,CAAC;AAClD,4CAAyB,CAAC,WAAW,CAAC;AACtC,4CAAwB,CAAC,UAAU,CAAC;AACpC,4CAA2B,CAAC,aAAa,CAAC;AAC1C,4CAAkC,CAAC,oBAAoB,CAAC;AACxD,4CAAoC,CAAC,sBAAsB,CAAC;AAC5D,4CAAyC,CAAC,2BAA2B,CAAC;AACtE,4CAAgD,CAAC,kCAAkC,CAAC;AACpF,4CAAuC,CAAC,yBAAyB,CAAC;AAClE,4CAA4B,CAAC,cAAc,CAAC","sources":["packages/column-views/src/unit-details/panel.module.sass"],"sourcesContent":[".legend-panel-header\n display: flex\n justify-content: space-between\n align-items: baseline\n gap: 1em\n border-bottom: 1px solid var(--panel-rule-color)\n position: sticky\n top: 0\n background-color: var(--panel-secondary-background-color)\n padding: 0.5em 1em\n z-index: 50\n .title-container\n display: flex\n flex-direction: row\n gap: 0.5em\n align-items: center\n margin: -0.5em 0\n &:hover\n .hidden-actions\n display: flex\n opacity: 0.5\n h1, h2, h3\n margin: 0.5em 0\n .hidden-actions\n display: none\n button\n transform: translateY(0px)\n\n code\n font-size: 0.9em\n color: var(--secondary-color)\n .spacer\n flex: 1\n button\n line-height: 1.5\n transform: translateY(2px)\n\n.unit-details-panel\n display: flex\n flex-direction: column\n .unit-details-content-holder\n flex: 1\n overflow-y: scroll\n\n.unit-details-content\n position: relative\n margin: 1em\n\n.proportion, .sep, .no-units\n color: var(--secondary-color)\n font-style: italic\n\n.strat-name-id, .unit-id\n font-family: var(--monospace-font)\n color: var(--secondary-color)\n\n &::before\n content: '#'\n color: var(--tertiary-color)\n\n.color-swatch\n width: 1em\n height: 1em\n border-radius: 0.2em\n margin-right: 0.2em\n border: 1px solid var(--panel-rule-color)\n display: inline-block\n\n.refs\n list-style: none\n margin: 0\n padding-left: 0\n\n.interval-proportions\n flex-grow: 1\n width: 100%\n text-align: right\n .discourage-break\n white-space: nowrap\n .sep\n margin: 0 0.3em\n\n"],"names":[],"version":3,"file":"column-views.58b82432.js.map"}
@@ -1 +0,0 @@
1
- {"mappings":"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","sources":["packages/column-views/src/unit-details/panel.ts"],"sourcesContent":["import hyper from \"@macrostrat/hyper\";\nimport styles from \"./panel.module.sass\";\nimport { JSONView } from \"@macrostrat/ui-components\";\nimport { Button, ButtonGroup } from \"@blueprintjs/core\";\nimport { ReactNode, useMemo, useState } from \"react\";\nimport {\n DataField,\n // EnvironmentsList,\n IntervalShort,\n IntervalTag,\n ItemList,\n // LithologyList,\n LithologyTagFeature,\n Parenthetical,\n Value,\n} from \"@macrostrat/data-components\";\nimport { LithologyList, EnvironmentsList } from \"../../../data-components/src\";\nimport { useMacrostratData, useMacrostratDefs } from \"../data-provider\";\nimport {\n Environment,\n UnitLong,\n UnitLongFull,\n Lithology,\n Interval,\n} from \"@macrostrat/api-types\";\nimport { defaultNameFunction } from \"../units/names\";\nimport classNames from \"classnames\";\n\nconst h = hyper.styled(styles);\n\nexport function UnitDetailsPanel({\n unit,\n onClose,\n className,\n features = new Set<UnitDetailsFeature>([\n UnitDetailsFeature.AdjacentUnits,\n UnitDetailsFeature.OutcropType,\n UnitDetailsFeature.JSONToggle,\n UnitDetailsFeature.DepthRange,\n ]),\n lithologyFeatures,\n actions,\n selectUnit,\n columnUnits,\n onClickItem,\n}: {\n unit: any;\n onClose?: any;\n showLithologyProportions?: boolean;\n className?: string;\n actions?: ReactNode;\n features?: Set<UnitDetailsFeature>;\n lithologyFeatures?: Set<LithologyTagFeature>;\n columnUnits?: UnitLong[];\n selectUnit?: (unitID: number) => void;\n onClickItem?: (item: any) => void;\n}) {\n const [showJSON, setShowJSON] = useState(false);\n\n let content = null;\n if (showJSON) {\n content = h(JSONView, { data: unit, showRoot: false });\n } else {\n content = h(UnitDetailsContent, {\n unit,\n features,\n lithologyFeatures,\n onClickItem,\n });\n }\n\n let title = defaultNameFunction(unit);\n\n let hiddenActions = null;\n if (features.has(UnitDetailsFeature.JSONToggle)) {\n hiddenActions = h(Button, {\n icon: \"code\",\n small: true,\n minimal: true,\n key: \"json-view-toggle\",\n className: classNames(\"json-view-toggle\", { enabled: setShowJSON }),\n onClick(evt) {\n setShowJSON(!showJSON);\n evt.stopPropagation();\n },\n });\n }\n\n return h(\"div.unit-details-panel\", { className }, [\n h(LegendPanelHeader, {\n onClose,\n title,\n id: unit.unit_id,\n actions,\n hiddenActions,\n }),\n h(\"div.unit-details-content-holder\", content),\n ]);\n}\n\nexport function LegendPanelHeader({\n title,\n id,\n onClose,\n actions = null,\n hiddenActions,\n}: {\n title?: string | null;\n id?: number | null;\n onClose?: () => void;\n actions?: ReactNode | null;\n hiddenActions?: ReactNode | null;\n}) {\n return h(\"header.legend-panel-header\", [\n h(\"div.title-container\", [\n h.if(title != null)(\"h3\", title),\n h.if(hiddenActions != null)(\"div.hidden-actions\", hiddenActions),\n ]),\n h(\"div.spacer\"),\n h.if(id != null)(\"code\", id),\n h.if(actions != null)(ButtonGroup, { minimal: true }, actions),\n h.if(onClose != null)(Button, {\n icon: \"cross\",\n minimal: true,\n small: true,\n onClick() {\n onClose();\n },\n }),\n ]);\n}\n\nexport enum UnitDetailsFeature {\n AdjacentUnits = \"adjacent-units\",\n Color = \"color\",\n OutcropType = \"outcrop-type\",\n JSONToggle = \"json-toggle\",\n DepthRange = \"depth-range\",\n}\n\nfunction UnitDetailsContent({\n unit,\n selectUnit,\n columnUnits,\n lithologyFeatures = new Set([\n LithologyTagFeature.Proportion,\n LithologyTagFeature.Attributes,\n ]),\n features = new Set<UnitDetailsFeature>([\n UnitDetailsFeature.AdjacentUnits,\n UnitDetailsFeature.OutcropType,\n ]),\n onClickItem,\n getItemHref,\n}: {\n unit: UnitLong;\n selectUnit?: (unitID: number) => void;\n columnUnits?: UnitLong[];\n lithologyFeatures?: Set<LithologyTagFeature>;\n features?: Set<UnitDetailsFeature>;\n onClickItem?: (\n event: MouseEvent,\n item: Lithology | Environment | UnitLong | Interval,\n ) => void;\n getItemHref?: (item: Lithology | Environment | UnitLong) => string | null;\n}) {\n const lithMap = useMacrostratDefs(\"lithologies\");\n const envMap = useMacrostratDefs(\"environments\");\n\n const environments = enhanceEnvironments(unit.environ, envMap);\n const lithologies = enhanceLithologies(unit.lith ?? [], lithMap);\n\n // Create a lookup table of units if provided\n const columnUnitsMap = useMemo(() => {\n const map = new Map<number, UnitLong>();\n for (const colUnit of columnUnits ?? []) {\n map.set(colUnit.unit_id, colUnit);\n }\n return map;\n }, [columnUnits]);\n\n let outcropField = null;\n if (features.has(UnitDetailsFeature.OutcropType)) {\n // Determine outcrop type\n let outcrop = unit.outcrop;\n if (outcrop == \"both\") {\n outcrop = \"surface and subsurface\";\n }\n outcropField = h(DataField, {\n label: \"Outcrop\",\n value: outcrop,\n });\n }\n\n let thicknessOrHeightRange = null;\n const [thickness, thicknessUnit] = getThickness(unit);\n // Proxy for actual heights in t_pos and b_pos\n if (\n features.has(UnitDetailsFeature.DepthRange) &&\n unit.t_pos != null &&\n unit.b_pos != null &&\n unit.min_thick == unit.max_thick && // We have an actual fixed height\n unit.min_thick != 0 // Not a zero thickness\n ) {\n const label = unit.t_pos < unit.b_pos ? \"Depth\" : \"Height\";\n const u1 = \"m\";\n\n thicknessOrHeightRange = h(DataField, {\n unit: u1,\n label,\n value: formatRange(unit.b_pos, unit.t_pos),\n children: h(\n Parenthetical,\n h(Value, { value: thickness, unit: thicknessUnit }),\n ),\n });\n }\n thicknessOrHeightRange ??= h(DataField, {\n label: \"Thickness\",\n value: thickness,\n unit: thicknessUnit,\n });\n\n /** We are trying to move away from passing the \"color\" parameter in the API */\n let colorSwatch: ReactNode = null;\n if (\"color\" in unit) {\n const unit1 = unit as UnitLongFull;\n colorSwatch = h(\"div.color-swatch\", {\n style: { backgroundColor: unit1.color },\n });\n }\n\n return h(\"div.unit-details-content\", [\n thicknessOrHeightRange,\n h(LithologyList, {\n label: \"Lithology\",\n lithologies,\n features: lithologyFeatures,\n getItemHref,\n onClickItem,\n }),\n h(AgeField, { unit }, [\n h(Parenthetical, h(Duration, { value: unit.b_age - unit.t_age })),\n h(IntervalProportions, {\n unit,\n onClickItem,\n }),\n ]),\n h(EnvironmentsList, {\n environments,\n onClickItem,\n getItemHref,\n }),\n h.if(unit.strat_name_id != null)(\n DataField,\n {\n label: \"Stratigraphic name\",\n },\n h(\"span.strat-name-id\", unit.strat_name_id),\n ),\n outcropField,\n h.if(features.has(UnitDetailsFeature.AdjacentUnits))([\n h(\n DataField,\n { label: \"Above\" },\n h(UnitIDList, { units: unit.units_above, selectUnit }),\n ),\n h(\n DataField,\n { label: \"Below\" },\n h(UnitIDList, { units: unit.units_below, selectUnit }),\n ),\n ]),\n colorSwatch,\n h(\n DataField,\n { label: \"Source\", inline: true },\n h(BibInfo, { refs: unit.refs }),\n ),\n ]);\n}\n\nfunction getThickness(unit): [string, string] {\n let minThickness = unit.min_thick ?? 0;\n let maxThickness = unit.max_thick ?? unit.min_thick ?? 0;\n let _unit = \"m\";\n\n if (minThickness == 0 && maxThickness == 0) {\n return [\"Unknown\", null];\n }\n\n if (minThickness < 0.8 && maxThickness < 1.2) {\n // Convert to cm\n minThickness = minThickness * 100;\n maxThickness = maxThickness * 100;\n _unit = \"cm\";\n } else if (minThickness > 800 && maxThickness > 1200) {\n // Convert to km\n minThickness = minThickness / 1000;\n maxThickness = maxThickness / 1000;\n _unit = \"km\";\n }\n\n if (minThickness == maxThickness) {\n return [formatSignificance(minThickness), _unit];\n }\n\n return [formatRange(minThickness, maxThickness), _unit];\n}\n\nfunction ThicknessField({ unit, label = \"Thickness\" }) {\n const [value, thicknessUnit] = getThickness(unit);\n return h(DataField, {\n label,\n value,\n unit: thicknessUnit,\n });\n}\n\nfunction BibInfo({ refs }) {\n const refData = useMacrostratData(\"refs\", refs);\n\n if (refData == null || refData.length === 0) {\n return null;\n }\n\n if (refData.length == 1) {\n return h(Citation, { data: refData[0], tag: \"span\" });\n }\n\n return h(\n \"ul.refs\",\n refData.map((data, i) => h(Citation, { data, tag: \"li\", key: i })),\n );\n}\n\nfunction Citation({ data, tag = \"p\" }) {\n return h(tag, { className: \"citation\" }, [\n h(\"span.authors\", data.author),\n \", \",\n h(\"span.year\", data.pub_year),\n \", \",\n h(\"span.title\", data.ref),\n ]);\n}\n\nfunction AgeField({ unit, children }) {\n const [b_age, t_age, _unit] = getAgeRange(unit);\n\n return h(\n DataField,\n {\n label: \"Age\",\n value: formatRange(b_age, t_age),\n unit: _unit,\n },\n children,\n );\n}\n\nfunction getAgeRange(_unit) {\n let b_age = _unit.b_age;\n let t_age = _unit.t_age;\n let unit = \"Ma\";\n\n if (b_age < 0.8 && t_age < 1.2) {\n b_age *= 1000;\n t_age *= 1000;\n unit = \"ka\";\n } else if (b_age > 800 && t_age > 1200) {\n b_age /= 1000;\n t_age /= 1000;\n unit = \"Ga\";\n }\n\n return [b_age, t_age, unit];\n}\n\nfunction getAge(value) {\n /** Get the age value in Ma, ka, or Ga as appropriate */\n let unit = \"Ma\";\n if (value < 0.8) {\n unit = \"ka\";\n value *= 1000;\n if (value < 5) {\n unit = \"yr\";\n value *= 1000;\n }\n } else if (value > 1000) {\n unit = \"Ga\";\n value /= 1000;\n }\n\n return [value, unit];\n}\n\nexport function AgeLabel({\n age,\n maximumFractionDigits = 2,\n minimumFractionDigits = 0,\n className,\n}: {\n age: number;\n className?: string;\n maximumFractionDigits?: number;\n minimumFractionDigits?: number;\n}) {\n /** Component to display a single age value with unit conversion from\n * Ma to ka or Ga as appropriate.\n */\n const [value, unit] = getAge(age);\n\n const _value = value.toLocaleString(\"en-US\", {\n maximumFractionDigits,\n minimumFractionDigits,\n });\n\n return h(Value, { value: _value, unit, className });\n}\n\nexport function Duration({\n value,\n maximumFractionDigits = 2,\n minimumFractionDigits = 0,\n}) {\n let unit = \"Myr\";\n if (value < 0.8) {\n unit = \"kyr\";\n value *= 1000;\n if (value < 5) {\n unit = \"yr\";\n value *= 1000;\n }\n } else if (value > 1000) {\n unit = \"Gyr\";\n value /= 1000;\n }\n\n let _value = value.toLocaleString(\"en-US\", {\n maximumFractionDigits,\n minimumFractionDigits,\n });\n\n return h(Value, { value: _value, unit });\n}\n\nfunction enhanceEnvironments(\n environments: Partial<Environment>[],\n envMap: Map<number, Environment>,\n) {\n return environments.map((env) => {\n return {\n ...(envMap?.get(env.environ_id) ?? {}),\n ...env,\n };\n });\n}\n\nfunction enhanceLithologies(\n lithologies: Partial<UnitLong[\"lith\"]>,\n lithMap: Map<number, any>,\n) {\n return lithologies.map((lith) => {\n return {\n ...(lithMap?.get(lith.lith_id) ?? {}), // get lithology details\n ...lith, // override with the unit's specific lithology data\n };\n });\n}\n\nfunction UnitIDList({ units, selectUnit }) {\n const u1 = units.filter((d) => d != 0);\n\n if (u1.length === 0) {\n return h(\"span.no-units\", \"None\");\n }\n\n let tag = \"span\";\n if (selectUnit != null) {\n tag = \"a\";\n }\n\n return h(\n ItemList,\n { className: \"unit-id-list\" },\n u1.map((unit) => {\n return h(\n tag,\n\n {\n className: \"unit-id\",\n onClick() {\n selectUnit?.(unit.id);\n },\n key: unit.id,\n },\n unit,\n );\n }),\n );\n}\n\nfunction IntervalProportions({ unit, onClickItem }) {\n const i0 = unit.b_int_id;\n const i1 = unit.t_int_id;\n let b_prop = unit.b_prop ?? 0;\n let t_prop = unit.t_prop ?? 1;\n\n const intervalMap = useMacrostratDefs(\"intervals\");\n const int0 = intervalMap?.get(i0) ?? {};\n\n const interval0: IntervalShort = {\n ...int0,\n id: i0,\n name: unit.b_int_name,\n };\n\n let p0: ReactNode = null;\n const int1 = intervalMap?.get(i1) ?? {};\n const p1: ReactNode = h(Proportion, { value: t_prop });\n\n if (i0 !== i1 || b_prop !== 0 || t_prop !== 1) {\n // We have a single interval with undefined proportions\n p0 = h(Proportion, { value: b_prop });\n }\n\n if (i0 === i1 && (b_prop !== 0 || t_prop !== 1)) {\n p0 = h(\"span.joint-proportion\", [p0, h(\"span.sep\", \"to\"), p1]);\n }\n\n const clickable = onClickItem != null;\n\n const handleClick = (event: MouseEvent) => {\n if (onClickItem) {\n onClickItem({ event, data: interval0 });\n }\n };\n\n return h(\"div.interval-proportions\", [\n h(IntervalTag, {\n className: clickable ? \"clickable\" : \"\",\n onClick: clickable ? handleClick : undefined,\n interval: interval0,\n prefix: p0,\n }),\n h.if(i0 != i1)(\"span.discourage-break\", [\n h(\"span.sep\", \"to\"),\n h(IntervalTag, {\n className: clickable ? \"clickable\" : \"\",\n onClick: clickable ? handleClick : undefined,\n interval: {\n ...int1,\n id: i1,\n name: unit.t_int_name,\n },\n prefix: p1,\n }),\n ]),\n ]);\n}\n\nconst formatProportion = (d) => {\n if (d == null) return null;\n return d.toFixed(1);\n};\n\nfunction Proportion({ value }) {\n let content = null;\n if (value == 0) {\n content = \"base\";\n } else if (value == 1) {\n content = \"top\";\n } else {\n content = formatProportion(value * 100) + \"%\";\n }\n\n return h(\"span.proportion\", content);\n}\n\nfunction formatRange(min, max, precision = null) {\n if (min == null || max == null) return null;\n if (min === max) {\n return min.toFixed(precision);\n }\n\n return `${formatSignificance(min, precision)}–${formatSignificance(\n max,\n precision,\n )}`;\n}\n\nfunction formatSignificance(value, precision = null) {\n // Format to preserve a reasonable number of significant figures\n // this could be done with an easier algorithm, probably:\n\n if (precision == null) {\n return value.toLocaleString();\n }\n if (precision >= 0) {\n return value.toFixed(precision);\n }\n if (precision < 0) {\n return (\n (value / Math.pow(10, -precision)).toFixed(0) + \"0\".repeat(-precision)\n );\n }\n}\n"],"names":[],"version":3,"file":"column-views.66f823ba.js.map"}
@@ -1,90 +0,0 @@
1
- import "./column-views.b324842f.css";
2
- import $93ETK$columnviews7e21d1ecjs from "./column-views.7e21d1ec.js";
3
- import {useInDarkMode as $93ETK$useInDarkMode} from "@macrostrat/ui-components";
4
- import $93ETK$macrostrathyper from "@macrostrat/hyper";
5
- import {getLuminanceAdjustedColorScheme as $93ETK$getLuminanceAdjustedColorScheme} from "@macrostrat/color-utils";
6
- import $93ETK$classnames from "classnames";
7
-
8
-
9
- function $parcel$interopDefault(a) {
10
- return a && a.__esModule ? a.default : a;
11
- }
12
-
13
-
14
-
15
-
16
-
17
- const $e969cdc1e0421ee2$var$h = (0, $93ETK$macrostrathyper).styled((0, ($parcel$interopDefault($93ETK$columnviews7e21d1ecjs))));
18
- var $e969cdc1e0421ee2$export$33ced837a1e5dd9 = /*#__PURE__*/ function(TagSize) {
19
- TagSize["Small"] = "small";
20
- TagSize["Normal"] = "normal";
21
- TagSize["Large"] = "large";
22
- return TagSize;
23
- }({});
24
- function $e969cdc1e0421ee2$export$3288d34c523a1192(props) {
25
- const inDarkMode = (0, $93ETK$useInDarkMode)();
26
- const { prefix: prefix, name: name, details: details, className: className, children: children, size: size, color: color, onClick: onClick, href: href, component: component } = props;
27
- let classes = props.classNames ?? {};
28
- let _component = component ?? "span";
29
- if (href != null && component == null) // If a href is provided, use an anchor tag by default
30
- _component = "a";
31
- // TODO: details and prefix might be better moved outside of the component...
32
- let _details = null;
33
- if (details != null) _details = $e969cdc1e0421ee2$var$h("span.details", {
34
- className: classes.details
35
- }, details);
36
- const mainTag = $e969cdc1e0421ee2$var$h("span.main", {
37
- className: classes.main
38
- }, [
39
- $e969cdc1e0421ee2$var$h("span.name", name),
40
- children,
41
- _details
42
- ]);
43
- let _prefix = null;
44
- if (prefix != null) _prefix = $e969cdc1e0421ee2$var$h("span.prefix", {
45
- className: classes.prefix
46
- }, prefix);
47
- return $e969cdc1e0421ee2$var$h(_component, {
48
- className: (0, $93ETK$classnames)(className, "tag"),
49
- style: $e969cdc1e0421ee2$var$buildTagStyle({
50
- color: color,
51
- size: size,
52
- inDarkMode: inDarkMode
53
- }),
54
- onClick: onClick,
55
- href: href
56
- }, [
57
- _prefix,
58
- mainTag
59
- ]);
60
- }
61
- function $e969cdc1e0421ee2$var$buildTagStyle({ color: color, size: size, inDarkMode: inDarkMode } = {}) {
62
- const scheme = (0, $93ETK$getLuminanceAdjustedColorScheme)(color, inDarkMode);
63
- let fontSize = null;
64
- if (size === "small") fontSize = "12px";
65
- else if (size === "normal") fontSize = "1em";
66
- else if (size === "large") fontSize = "1.4em";
67
- let style = {};
68
- if (fontSize != null) style = {
69
- ...style,
70
- "--font-size": fontSize
71
- };
72
- if (color != null) style = {
73
- ...style,
74
- "--text-color": scheme.mainColor,
75
- "--tag-background": scheme.backgroundColor,
76
- "--secondary-color": scheme.secondaryColor,
77
- "--tag-secondary-background": scheme.secondaryBackgroundColor
78
- };
79
- return style;
80
- }
81
- function $e969cdc1e0421ee2$export$253448fb46c13164({ children: children, className: className }) {
82
- return $e969cdc1e0421ee2$var$h("span.tag-list", {
83
- className: className
84
- }, children);
85
- }
86
- const $e969cdc1e0421ee2$export$168eb813a5fc3f58 = $e969cdc1e0421ee2$export$253448fb46c13164;
87
-
88
-
89
- export {$e969cdc1e0421ee2$export$33ced837a1e5dd9 as TagSize, $e969cdc1e0421ee2$export$3288d34c523a1192 as Tag, $e969cdc1e0421ee2$export$253448fb46c13164 as BaseTagList, $e969cdc1e0421ee2$export$168eb813a5fc3f58 as ItemList};
90
- //# sourceMappingURL=column-views.68afac63.js.map
@@ -1 +0,0 @@
1
- {"mappings":";;;;;;;;;;;;;;;;AAQA,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,uEAAK;AAErB,IAAA,AAAK,kEAAA;;;;WAAA;;AA4BL,SAAS,0CAAI,KAAmB;IACrC,MAAM,aAAa,CAAA,GAAA,oBAAY;IAC/B,MAAM,UACJ,MAAM,QACN,IAAI,WACJ,OAAO,aACP,SAAS,YACT,QAAQ,QACR,IAAI,SACJ,KAAK,WACL,OAAO,QACP,IAAI,aACJ,SAAS,EACV,GAAG;IAEJ,IAAI,UAAU,MAAM,UAAU,IAAI,CAAC;IAEnC,IAAI,aAA6C,aAAa;IAC9D,IAAI,QAAQ,QAAQ,aAAa,MAC/B,sDAAsD;IACtD,aAAa;IAGf,6EAA6E;IAC7E,IAAI,WAAW;IACf,IAAI,WAAW,MACb,WAAW,wBAAE,gBAAgB;QAAE,WAAW,QAAQ,OAAO;IAAC,GAAG;IAG/D,MAAM,UAAU,wBAAE,aAAa;QAAE,WAAW,QAAQ,IAAI;IAAC,GAAG;QAC1D,wBAAE,aAAa;QACf;QACA;KACD;IAED,IAAI,UAAU;IACd,IAAI,UAAU,MACZ,UAAU,wBAAE,eAAe;QAAE,WAAW,QAAQ,MAAM;IAAC,GAAG;IAG5D,OAAO,wBACL,YACA;QACE,WAAW,CAAA,GAAA,iBAAS,EAAE,WAAW;QACjC,OAAO,oCAAc;mBAAE;kBAAO;wBAAM;QAAW;iBAC/C;cACA;IACF,GACA;QAAC;QAAS;KAAQ;AAEtB;AAQA,SAAS,oCAAc,SAAE,KAAK,QAAE,IAAI,cAAE,UAAU,EAAiB,GAAG,CAAC,CAAC;IACpE,MAAM,SAAc,CAAA,GAAA,sCAA8B,EAAE,OAAO;IAE3D,IAAI,WAA0B;IAC9B,IAAI,kBACF,WAAW;SACN,IAAI,mBACT,WAAW;SACN,IAAI,kBACT,WAAW;IAGb,IAAI,QAAgC,CAAC;IAErC,IAAI,YAAY,MACd,QAAQ;QAAE,GAAG,KAAK;QAAE,eAAe;IAAS;IAG9C,IAAI,SAAS,MACX,QAAQ;QACN,GAAG,KAAK;QACR,gBAAgB,OAAO,SAAS;QAChC,oBAAoB,OAAO,eAAe;QAC1C,qBAAqB,OAAO,cAAc;QAC1C,8BAA8B,OAAO,wBAAwB;IAC/D;IAGF,OAAO;AACT;AAEO,SAAS,0CAAY,YAC1B,QAAQ,aACR,SAAS,EAIV;IACC,OAAO,wBAAE,iBAAiB;mBAAE;IAAU,GAAG;AAC3C;AAEO,MAAM,4CAAW","sources":["packages/data-components/src/components/unit-details/tag.ts"],"sourcesContent":["import { useInDarkMode } from \"@macrostrat/ui-components\";\nimport hyper from \"@macrostrat/hyper\";\nimport { getLuminanceAdjustedColorScheme } from \"@macrostrat/color-utils\";\nimport styles from \"./tag.module.sass\";\nimport { ComponentType, ReactNode, JSX } from \"react\";\nimport chroma from \"chroma-js\";\nimport classNames from \"classnames\";\n\nconst h = hyper.styled(styles);\n\nexport enum TagSize {\n Small = \"small\",\n Normal = \"normal\",\n Large = \"large\",\n}\n\nexport interface BaseTagProps {\n prefix?: ReactNode;\n name: ReactNode;\n details?: ReactNode;\n classNames?: {\n prefix?: string;\n details?: string;\n main?: string;\n };\n className?: string;\n children?: ReactNode;\n size?: TagSize;\n color?: chroma.ChromaInput;\n onClick?: (event: MouseEvent) => void;\n href?: string;\n component?: ComponentOrHTMLTagElement<any>;\n}\n\nexport type ComponentOrHTMLTagElement<T> =\n | ComponentType<T>\n | keyof JSX.IntrinsicElements;\n\nexport function Tag(props: BaseTagProps) {\n const inDarkMode = useInDarkMode();\n const {\n prefix,\n name,\n details,\n className,\n children,\n size,\n color,\n onClick,\n href,\n component,\n } = props;\n\n let classes = props.classNames ?? {};\n\n let _component: ComponentOrHTMLTagElement<any> = component ?? \"span\";\n if (href != null && component == null) {\n // If a href is provided, use an anchor tag by default\n _component = \"a\";\n }\n\n // TODO: details and prefix might be better moved outside of the component...\n let _details = null;\n if (details != null) {\n _details = h(\"span.details\", { className: classes.details }, details);\n }\n\n const mainTag = h(\"span.main\", { className: classes.main }, [\n h(\"span.name\", name),\n children,\n _details,\n ]);\n\n let _prefix = null;\n if (prefix != null) {\n _prefix = h(\"span.prefix\", { className: classes.prefix }, prefix);\n }\n\n return h(\n _component,\n {\n className: classNames(className, \"tag\"),\n style: buildTagStyle({ color, size, inDarkMode }),\n onClick,\n href,\n },\n [_prefix, mainTag],\n );\n}\n\ninterface TagStyleProps {\n color?: chroma.ChromaInput;\n size?: TagSize;\n inDarkMode?: boolean;\n}\n\nfunction buildTagStyle({ color, size, inDarkMode }: TagStyleProps = {}) {\n const scheme: any = getLuminanceAdjustedColorScheme(color, inDarkMode);\n\n let fontSize: string | null = null;\n if (size === TagSize.Small) {\n fontSize = \"12px\";\n } else if (size === TagSize.Normal) {\n fontSize = \"1em\";\n } else if (size === TagSize.Large) {\n fontSize = \"1.4em\";\n }\n\n let style: Record<string, string> = {};\n\n if (fontSize != null) {\n style = { ...style, \"--font-size\": fontSize };\n }\n\n if (color != null) {\n style = {\n ...style,\n \"--text-color\": scheme.mainColor,\n \"--tag-background\": scheme.backgroundColor,\n \"--secondary-color\": scheme.secondaryColor,\n \"--tag-secondary-background\": scheme.secondaryBackgroundColor,\n };\n }\n\n return style;\n}\n\nexport function BaseTagList({\n children,\n className,\n}: {\n children?: ReactNode;\n className: string;\n}) {\n return h(\"span.tag-list\", { className }, children);\n}\n\nexport const ItemList = BaseTagList;\n"],"names":[],"version":3,"file":"column-views.68afac63.js.map"}
@@ -1,5 +0,0 @@
1
- var $b6af229ace7fb409$exports = {};
2
-
3
-
4
- export {$b6af229ace7fb409$exports as default};
5
- //# sourceMappingURL=column-views.69c0e90d.js.map
@@ -1 +0,0 @@
1
- {"mappings":"","sources":[],"sourcesContent":[],"names":[],"version":3,"file":"column-views.69c0e90d.js.map"}
@@ -1,13 +0,0 @@
1
- import {CheckinListing as $037f1983e2bad11c$export$858159b4482ffef5, synthesizeTitleAndDescription as $037f1983e2bad11c$export$aeca4f1b554dd6f6} from "./column-views.904b9365.js";
2
- import {SpotListing as $c3eec7de9bf904cc$export$d4ffce179c2206c0} from "./column-views.7a726ca9.js";
3
- import {LocationBasicInfo as $e915d4119f4f3a7c$export$bee34b546af763f0, LocationLink as $e915d4119f4f3a7c$export$97b9ccd15d05bf44, StarRatingComponent as $e915d4119f4f3a7c$export$e6536e97719252ae} from "./column-views.88984b34.js";
4
- import {RockdWebsiteCheckinList as $500a668ff823147a$export$fc86211e0a3a7d82} from "./column-views.edeab611.js";
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
- export {$037f1983e2bad11c$export$858159b4482ffef5 as CheckinListing, $037f1983e2bad11c$export$aeca4f1b554dd6f6 as synthesizeTitleAndDescription, $c3eec7de9bf904cc$export$d4ffce179c2206c0 as SpotListing, $e915d4119f4f3a7c$export$bee34b546af763f0 as LocationBasicInfo, $e915d4119f4f3a7c$export$97b9ccd15d05bf44 as LocationLink, $e915d4119f4f3a7c$export$e6536e97719252ae as StarRatingComponent, $500a668ff823147a$export$fc86211e0a3a7d82 as RockdWebsiteCheckinList};
13
- //# sourceMappingURL=column-views.7631c221.js.map
@@ -1 +0,0 @@
1
- {"mappings":"","sources":["packages/data-components/src/field-locations/index.ts"],"sourcesContent":["export * from \"./checkins\";\nexport * from \"./spots\";\nexport * from \"./base\";\nexport * from \"./rockd-checkins\";\n"],"names":[],"version":3,"file":"column-views.7631c221.js.map"}
@@ -1,56 +0,0 @@
1
- .I-a59W_data-field {
2
- margin: .5em 0 1em;
3
- }
4
-
5
- .I-a59W_data-field.I-a59W_flex {
6
- flex-flow: wrap;
7
- justify-content: end;
8
- align-items: baseline;
9
- gap: .5em;
10
- display: flex;
11
- }
12
-
13
- .I-a59W_data-field.I-a59W_flex .I-a59W_data-container {
14
- text-align: right;
15
- }
16
-
17
- .I-a59W_data-field.I-a59W_inline .I-a59W_label {
18
- display: inline-block;
19
- }
20
-
21
- .I-a59W_data-field .I-a59W_label {
22
- color: var(--secondary-color);
23
- text-align: left;
24
- flex-grow: 1;
25
- padding-right: 1em;
26
- font-weight: bold;
27
- display: block;
28
- }
29
-
30
- .I-a59W_data-field .I-a59W_value-container {
31
- text-align: right;
32
- break-inside: avoid;
33
- }
34
-
35
- .I-a59W_data-field.I-a59W_tag-field > * {
36
- margin: 0;
37
- display: block;
38
- }
39
-
40
- .I-a59W_unit {
41
- color: var(--text-subtle-color);
42
- font-style: var(--text-font-style);
43
- }
44
-
45
- .I-a59W_parenthetical .I-a59W_content {
46
- color: var(--parenthetical-text-color, var(--text-subtle-color));
47
- }
48
-
49
- .I-a59W_parenthetical .I-a59W_sep {
50
- color: var(--parenthetical-sep-color, var(--secondary-color));
51
- }
52
-
53
- .I-a59W_parenthetical .I-a59W_unit {
54
- color: var(--secondary-color);
55
- }
56
- /*# sourceMappingURL=column-views.7a414dd1.css.map */
@@ -1 +0,0 @@
1
- {"mappings":"AAAA;;;;AAEE;;;;;;;;AAME;;;;AAGA;;;;AAGF;;;;;;;;;AAQA;;;;;AAOE;;;;;AAIJ;;;;;AAKE;;;;AAEA;;;;AAEA","sources":["packages/data-components/src/components/unit-details/base.module.sass"],"sourcesContent":[".data-field\n margin: 0.5em 0 1em\n &.flex\n display: flex\n flex-flow: row wrap\n align-items: baseline\n justify-content: end\n gap: 0.5em\n .data-container\n text-align: right\n &.inline\n .label\n display: inline-block\n\n .label\n //font-size: 0.9em\n padding-right: 1em\n font-weight: bold\n flex-grow: 1\n display: block\n color: var(--secondary-color)\n text-align: left\n .value-container\n text-align: right\n //font-size: 0.9em\n //display: inline-block\n break-inside: avoid\n\n &.tag-field\n &>*\n margin: 0\n display: block\n\n.unit\n color: var(--text-subtle-color)\n font-style: var(--text-font-style)\n\n.parenthetical\n .content\n color: var(--parenthetical-text-color, var(--text-subtle-color))\n .sep\n color: var(--parenthetical-sep-color, var(--secondary-color))\n .unit\n color: var(--secondary-color)\n"],"names":[],"version":3,"file":"column-views.7a414dd1.css.map"}
@@ -1,24 +0,0 @@
1
- import {LocationBasicInfo as $e915d4119f4f3a7c$export$bee34b546af763f0} from "./column-views.88984b34.js";
2
- import $3yrRT$macrostrathyper from "@macrostrat/hyper";
3
-
4
-
5
-
6
- function $c3eec7de9bf904cc$export$d4ffce179c2206c0(props) {
7
- const { spot: spot } = props;
8
- const image = spot.images?.[0];
9
- let imageURL = null;
10
- if (image != null) imageURL = `https://strabospot.org/pi/${image.id}`;
11
- let year = new Date(spot.date).getFullYear();
12
- return (0, $3yrRT$macrostrathyper)((0, $e915d4119f4f3a7c$export$bee34b546af763f0), {
13
- title: spot.name,
14
- year: year,
15
- description: spot.notes,
16
- imageURL: imageURL,
17
- link: spot.landing_page,
18
- className: "spot"
19
- });
20
- }
21
-
22
-
23
- export {$c3eec7de9bf904cc$export$d4ffce179c2206c0 as SpotListing};
24
- //# sourceMappingURL=column-views.7a726ca9.js.map
@@ -1 +0,0 @@
1
- {"mappings":";;;;;AAkCO,SAAS,0CAAY,KAAuB;IACjD,MAAM,QAAE,IAAI,EAAE,GAAG;IAEjB,MAAM,QAAQ,KAAK,MAAM,EAAE,CAAC,EAAE;IAE9B,IAAI,WAAW;IACf,IAAI,SAAS,MACX,WAAW,CAAC,0BAA0B,EAAE,MAAM,EAAE,EAAE;IAGpD,IAAI,OAAO,IAAI,KAAK,KAAK,IAAI,EAAE,WAAW;IAE1C,OAAO,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,yCAAgB,GAAG;QAC1B,OAAO,KAAK,IAAI;cAChB;QACA,aAAa,KAAK,KAAK;kBACvB;QACA,MAAM,KAAK,YAAY;QACvB,WAAW;IACb;AACF","sources":["packages/data-components/src/field-locations/spots.ts"],"sourcesContent":["import h from \"@macrostrat/hyper\";\nimport { LocationBasicInfo } from \"./base\";\n\nexport interface SpotBasicData {\n id: number;\n date: string;\n name: string;\n notes: string;\n images?: SpotImage[];\n altitude: number;\n landing_page: string;\n}\n\ninterface SpotImage {\n id: number;\n width: number;\n height: number;\n caption: string;\n title: string;\n}\n\nexport interface SpotListingProps {\n spot: SpotBasicData;\n rockdBaseURL?: string;\n}\n\n/* Image URLs:\nOriginal Image:\nhttps://strabospot.org/pi/17326427706747\n\nThumbnail Image:\nhttps://strabospot.org/pi_thumbnail/17326427706747\n */\n\nexport function SpotListing(props: SpotListingProps) {\n const { spot } = props;\n\n const image = spot.images?.[0];\n\n let imageURL = null;\n if (image != null) {\n imageURL = `https://strabospot.org/pi/${image.id}`;\n }\n\n let year = new Date(spot.date).getFullYear();\n\n return h(LocationBasicInfo, {\n title: spot.name,\n year,\n description: spot.notes,\n imageURL,\n link: spot.landing_page,\n className: \"spot\",\n });\n}\n"],"names":[],"version":3,"file":"column-views.7a726ca9.js.map"}
@@ -1,34 +0,0 @@
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 $6979419940038203$exports = {};
6
-
7
- $parcel$export($6979419940038203$exports, "clickable", () => $6979419940038203$export$60d5655c6babb2a0, (v) => $6979419940038203$export$60d5655c6babb2a0 = v);
8
- $parcel$export($6979419940038203$exports, "details", () => $6979419940038203$export$41ee12f6f6f05843, (v) => $6979419940038203$export$41ee12f6f6f05843 = v);
9
- $parcel$export($6979419940038203$exports, "lithology-id", () => $6979419940038203$export$83ee472850228c6f, (v) => $6979419940038203$export$83ee472850228c6f = v);
10
- $parcel$export($6979419940038203$exports, "main", () => $6979419940038203$export$f22da7240b7add18, (v) => $6979419940038203$export$f22da7240b7add18 = v);
11
- $parcel$export($6979419940038203$exports, "prefix", () => $6979419940038203$export$82e9f45cca5ba907, (v) => $6979419940038203$export$82e9f45cca5ba907 = v);
12
- $parcel$export($6979419940038203$exports, "tag", () => $6979419940038203$export$2b067c6666111485, (v) => $6979419940038203$export$2b067c6666111485 = v);
13
- $parcel$export($6979419940038203$exports, "tag-list", () => $6979419940038203$export$475fe1b2c145f76d, (v) => $6979419940038203$export$475fe1b2c145f76d = v);
14
- $parcel$export($6979419940038203$exports, "tight-list", () => $6979419940038203$export$838fa88f7f618188, (v) => $6979419940038203$export$838fa88f7f618188 = v);
15
- var $6979419940038203$export$60d5655c6babb2a0;
16
- var $6979419940038203$export$41ee12f6f6f05843;
17
- var $6979419940038203$export$83ee472850228c6f;
18
- var $6979419940038203$export$f22da7240b7add18;
19
- var $6979419940038203$export$82e9f45cca5ba907;
20
- var $6979419940038203$export$2b067c6666111485;
21
- var $6979419940038203$export$475fe1b2c145f76d;
22
- var $6979419940038203$export$838fa88f7f618188;
23
- $6979419940038203$export$60d5655c6babb2a0 = `LvaZuq_clickable`;
24
- $6979419940038203$export$41ee12f6f6f05843 = `LvaZuq_details`;
25
- $6979419940038203$export$83ee472850228c6f = `LvaZuq_lithology-id`;
26
- $6979419940038203$export$f22da7240b7add18 = `LvaZuq_main`;
27
- $6979419940038203$export$82e9f45cca5ba907 = `LvaZuq_prefix`;
28
- $6979419940038203$export$2b067c6666111485 = `LvaZuq_tag`;
29
- $6979419940038203$export$475fe1b2c145f76d = `LvaZuq_tag-list`;
30
- $6979419940038203$export$838fa88f7f618188 = `LvaZuq_tight-list`;
31
-
32
-
33
- export {$6979419940038203$exports as default};
34
- //# sourceMappingURL=column-views.7e21d1ec.js.map
@@ -1 +0,0 @@
1
- {"mappings":";;;;;;;;;;;;;;AAAA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AAPA,4CAA8B,CAAC,gBAAgB,CAAC;AAChD,4CAA4B,CAAC,cAAc,CAAC;AAC5C,4CAAiC,CAAC,mBAAmB,CAAC;AACtD,4CAAyB,CAAC,WAAW,CAAC;AACtC,4CAA2B,CAAC,aAAa,CAAC;AAC1C,4CAAwB,CAAC,UAAU,CAAC;AACpC,4CAA6B,CAAC,eAAe,CAAC;AAC9C,4CAA+B,CAAC,iBAAiB,CAAC","sources":["packages/data-components/src/components/unit-details/tag.module.sass"],"sourcesContent":[".lithology-id\n &::before\n content: '#'\n padding-left: 0.5em\n\n.tight-list\n padding-left: 1em\n\n.clickable\n cursor: pointer\n\n.tag\n font-size: var(--font-size)\n align-items: center\n display: inline-flex\n border-radius: 0.3em\n flex-direction: row\n background-color: var(--tag-secondary-background, var(--secondary-background))\n color: var(--secondary-color)\n .prefix\n //display: inline-block\n padding: 0 0.5em\n\n .main\n align-items: center\n display: inline-flex\n padding: 0.2em 0.5em\n border-radius: 0.3em\n color: var(--text-color)\n background-color: var(--tag-background, var(--tertiary-background))\n\n //.lithology-id\n // width: 0\n // overflow: hidden\n // white-space: nowrap\n // transition: width 0.3s\n //&:hover\n // .lithology-id\n // width: 100%\n\n .details\n color: var(--secondary-color)\n font-style: italic\n padding-left: 0.3em\n\n.tag-list\n display: inline\n flex-flow: row wrap\n align-items: baseline\n justify-content: end\n .tag\n margin-bottom: 0.5em\n margin-left: 0.5em\n\n"],"names":[],"version":3,"file":"column-views.7e21d1ec.js.map"}
@@ -1,11 +0,0 @@
1
- import {TagSize as $e969cdc1e0421ee2$export$33ced837a1e5dd9, Tag as $e969cdc1e0421ee2$export$3288d34c523a1192, BaseTagList as $e969cdc1e0421ee2$export$253448fb46c13164, ItemList as $e969cdc1e0421ee2$export$168eb813a5fc3f58} from "./column-views.68afac63.js";
2
- import {LithologyTagFeature as $54f22e1233427546$export$7bf80657e8a4330e, LithologyTag as $54f22e1233427546$export$17064b7382e320b2, LithologyList as $54f22e1233427546$export$74b2d34b17326341, EnvironmentsList as $54f22e1233427546$export$7370a955ae18866e} from "./column-views.8f108485.js";
3
- import {DataField as $ed781bff07b3e4da$export$6a468d428727394e, Value as $ed781bff07b3e4da$export$4c8d1a57a761ef94, IntervalField as $ed781bff07b3e4da$export$f026c1ff1dfd9085, IntervalTag as $ed781bff07b3e4da$export$cec07089f4042438, TagField as $ed781bff07b3e4da$export$c99859d779d8150a, Parenthetical as $ed781bff07b3e4da$export$bad733389c823cbd} from "./column-views.8a1db14e.js";
4
-
5
-
6
-
7
-
8
-
9
-
10
- export {$e969cdc1e0421ee2$export$33ced837a1e5dd9 as TagSize, $e969cdc1e0421ee2$export$3288d34c523a1192 as Tag, $e969cdc1e0421ee2$export$253448fb46c13164 as BaseTagList, $e969cdc1e0421ee2$export$168eb813a5fc3f58 as ItemList, $54f22e1233427546$export$7bf80657e8a4330e as LithologyTagFeature, $54f22e1233427546$export$17064b7382e320b2 as LithologyTag, $54f22e1233427546$export$74b2d34b17326341 as LithologyList, $54f22e1233427546$export$7370a955ae18866e as EnvironmentsList, $ed781bff07b3e4da$export$6a468d428727394e as DataField, $ed781bff07b3e4da$export$4c8d1a57a761ef94 as Value, $ed781bff07b3e4da$export$f026c1ff1dfd9085 as IntervalField, $ed781bff07b3e4da$export$cec07089f4042438 as IntervalTag, $ed781bff07b3e4da$export$c99859d779d8150a as TagField, $ed781bff07b3e4da$export$bad733389c823cbd as Parenthetical};
11
- //# sourceMappingURL=column-views.83a557b3.js.map
@@ -1 +0,0 @@
1
- {"mappings":"","sources":["packages/data-components/src/components/unit-details/index.ts"],"sourcesContent":["export * from \"./tag\";\nexport * from \"./lithology-tag\";\nexport * from \"./base\";\n"],"names":[],"version":3,"file":"column-views.83a557b3.js.map"}
@@ -1,92 +0,0 @@
1
- import "./column-views.bba13f77.css";
2
- import $ezo9Z$columnviewsc5e108f9js from "./column-views.c5e108f9.js";
3
- import $ezo9Z$macrostrathyper from "@macrostrat/hyper";
4
- import {Icon as $ezo9Z$Icon} from "@blueprintjs/core";
5
-
6
-
7
- function $parcel$interopDefault(a) {
8
- return a && a.__esModule ? a.default : a;
9
- }
10
-
11
-
12
-
13
- const $e915d4119f4f3a7c$var$h = (0, $ezo9Z$macrostrathyper).styled((0, ($parcel$interopDefault($ezo9Z$columnviewsc5e108f9js))));
14
- function $e915d4119f4f3a7c$export$bee34b546af763f0({ title: title, year: year, description: description, imageURL: imageURL, link: link, rating: rating, className: className, location: location }) {
15
- let _title = title ?? "";
16
- let headerClassName = null;
17
- if (title == "") {
18
- _title = "Unnamed location";
19
- headerClassName = "unnamed";
20
- }
21
- const hasImage = imageURL != null;
22
- return $e915d4119f4f3a7c$var$h("div.location-basic-info", {
23
- className: className
24
- }, [
25
- $e915d4119f4f3a7c$var$h("div.location-header", {
26
- className: headerClassName
27
- }, [
28
- $e915d4119f4f3a7c$var$h.if(location != null)($e915d4119f4f3a7c$var$LocationButton, {
29
- location: location
30
- }),
31
- $e915d4119f4f3a7c$var$h("h3.title", [
32
- title
33
- ]),
34
- $e915d4119f4f3a7c$var$h("h4.year", [
35
- year
36
- ]),
37
- $e915d4119f4f3a7c$var$h($e915d4119f4f3a7c$export$97b9ccd15d05bf44, {
38
- href: link
39
- })
40
- ]),
41
- $e915d4119f4f3a7c$var$h.if(description != null)("p.description", [
42
- description
43
- ]),
44
- $e915d4119f4f3a7c$var$h("div.image-panel", {
45
- className: hasImage ? "has-image" : "no-image"
46
- }, [
47
- $e915d4119f4f3a7c$var$h.if(hasImage)("img", {
48
- src: imageURL
49
- }),
50
- $e915d4119f4f3a7c$var$h.if(rating != null)($e915d4119f4f3a7c$export$e6536e97719252ae, {
51
- rating: rating
52
- })
53
- ])
54
- ]);
55
- }
56
- function $e915d4119f4f3a7c$export$e6536e97719252ae({ rating: r }) {
57
- const stars = Array.from({
58
- length: 5
59
- }, (_, i)=>{
60
- const icon = i < r ? "star" : "star-empty";
61
- return $e915d4119f4f3a7c$var$h((0, $ezo9Z$Icon), {
62
- icon: icon
63
- });
64
- });
65
- return $e915d4119f4f3a7c$var$h("div.star-rating", stars);
66
- }
67
- function $e915d4119f4f3a7c$export$97b9ccd15d05bf44({ href: href, children: children }) {
68
- return $e915d4119f4f3a7c$var$h("a", {
69
- href: href,
70
- className: "location-link",
71
- target: "_blank"
72
- }, [
73
- $e915d4119f4f3a7c$var$h((0, $ezo9Z$Icon), {
74
- icon: "link",
75
- size: 14
76
- }),
77
- children
78
- ]);
79
- }
80
- function $e915d4119f4f3a7c$var$LocationButton({ location: location, onClick: onClick }) {
81
- return $e915d4119f4f3a7c$var$h("button.location-button", {
82
- onClick: onClick
83
- }, [
84
- $e915d4119f4f3a7c$var$h((0, $ezo9Z$Icon), {
85
- icon: "map-marker"
86
- })
87
- ]);
88
- }
89
-
90
-
91
- export {$e915d4119f4f3a7c$export$bee34b546af763f0 as LocationBasicInfo, $e915d4119f4f3a7c$export$97b9ccd15d05bf44 as LocationLink, $e915d4119f4f3a7c$export$e6536e97719252ae as StarRatingComponent};
92
- //# sourceMappingURL=column-views.88984b34.js.map
@@ -1 +0,0 @@
1
- {"mappings":";;;;;;;;;;;;AAKA,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,uEAAK;AAarB,SAAS,0CAAkB,SAChC,KAAK,QACL,IAAI,eACJ,WAAW,YACX,QAAQ,QACR,IAAI,UACJ,MAAM,aACN,SAAS,YACT,QAAQ,EACe;IACvB,IAAI,SAAS,SAAS;IACtB,IAAI,kBAAkB;IACtB,IAAI,SAAS,IAAI;QACf,SAAS;QACT,kBAAkB;IACpB;IAEA,MAAM,WAAW,YAAY;IAE7B,OAAO,wBAAE,2BAA2B;mBAAE;IAAU,GAAG;QACjD,wBAAE,uBAAuB;YAAE,WAAW;QAAgB,GAAG;YACvD,wBAAE,EAAE,CAAC,YAAY,MAAM,sCAAgB;0BAAE;YAAS;YAClD,wBAAE,YAAY;gBAAC;aAAM;YACrB,wBAAE,WAAW;gBAAC;aAAK;YACnB,wBAAE,2CAAc;gBAAE,MAAM;YAAK;SAC9B;QACD,wBAAE,EAAE,CAAC,eAAe,MAAM,iBAAiB;YAAC;SAAY;QACxD,wBAAE,mBAAmB;YAAE,WAAW,WAAW,cAAc;QAAW,GAAG;YACvE,wBAAE,EAAE,CAAC,UAAU,OAAO;gBAAE,KAAK;YAAS;YACtC,wBAAE,EAAE,CAAC,UAAU,MAAM,2CAAqB;wBAAE;YAAO;SACpD;KACF;AACH;AAEO,SAAS,0CAAoB,EAAE,QAAQ,CAAC,EAAE;IAC/C,MAAM,QAAQ,MAAM,IAAI,CAAC;QAAE,QAAQ;IAAE,GAAG,CAAC,GAAG;QAC1C,MAAM,OAAO,IAAI,IAAI,SAAS;QAC9B,OAAO,wBAAE,CAAA,GAAA,WAAG,GAAG;kBAAE;QAAK;IACxB;IACA,OAAO,wBAAE,mBAAmB;AAC9B;AAEO,SAAS,0CAAa,QAC3B,IAAI,YACJ,QAAQ,EAIT;IACC,OAAO,wBACL,KACA;cACE;QACA,WAAW;QACX,QAAQ;IACV,GACA;QAAC,wBAAE,CAAA,GAAA,WAAG,GAAG;YAAE,MAAM;YAAQ,MAAM;QAAG;QAAI;KAAS;AAEnD;AAEA,SAAS,qCAAe,YACtB,QAAQ,WACR,OAAO,EAIR;IACC,OAAO,wBAAE,0BAA0B;iBAAE;IAAQ,GAAG;QAC9C,wBAAE,CAAA,GAAA,WAAG,GAAG;YAAE,MAAM;QAAa;KAC9B;AACH","sources":["packages/data-components/src/field-locations/base.ts"],"sourcesContent":["import hyper from \"@macrostrat/hyper\";\nimport { Icon } from \"@blueprintjs/core\";\nimport styles from \"./base.module.sass\";\nimport type { AnyMapPosition } from \"@macrostrat/mapbox-utils\";\n\nconst h = hyper.styled(styles);\n\nexport interface LocationBasicInfoProps {\n title: string | null;\n year: string | number;\n description?: string;\n imageURL?: string;\n link: string;\n rating?: number;\n className?: string;\n location?: AnyMapPosition;\n}\n\nexport function LocationBasicInfo({\n title,\n year,\n description,\n imageURL,\n link,\n rating,\n className,\n location,\n}: LocationBasicInfoProps) {\n let _title = title ?? \"\";\n let headerClassName = null;\n if (title == \"\") {\n _title = \"Unnamed location\";\n headerClassName = \"unnamed\";\n }\n\n const hasImage = imageURL != null;\n\n return h(\"div.location-basic-info\", { className }, [\n h(\"div.location-header\", { className: headerClassName }, [\n h.if(location != null)(LocationButton, { location }),\n h(\"h3.title\", [title]),\n h(\"h4.year\", [year]),\n h(LocationLink, { href: link }),\n ]),\n h.if(description != null)(\"p.description\", [description]),\n h(\"div.image-panel\", { className: hasImage ? \"has-image\" : \"no-image\" }, [\n h.if(hasImage)(\"img\", { src: imageURL }),\n h.if(rating != null)(StarRatingComponent, { rating }),\n ]),\n ]);\n}\n\nexport function StarRatingComponent({ rating: r }) {\n const stars = Array.from({ length: 5 }, (_, i) => {\n const icon = i < r ? \"star\" : \"star-empty\";\n return h(Icon, { icon });\n });\n return h(\"div.star-rating\", stars);\n}\n\nexport function LocationLink({\n href,\n children,\n}: {\n href: string;\n children: any;\n}) {\n return h(\n \"a\",\n {\n href,\n className: \"location-link\",\n target: \"_blank\",\n },\n [h(Icon, { icon: \"link\", size: 14 }), children],\n );\n}\n\nfunction LocationButton({\n location,\n onClick,\n}: {\n location: AnyMapPosition;\n onClick?: () => void;\n}) {\n return h(\"button.location-button\", { onClick }, [\n h(Icon, { icon: \"map-marker\" }),\n ]);\n}\n"],"names":[],"version":3,"file":"column-views.88984b34.js.map"}
@@ -1,105 +0,0 @@
1
- import "./column-views.7a414dd1.css";
2
- import $heaZk$columnviews8e7b01d2js from "./column-views.8e7b01d2.js";
3
- import {Tag as $e969cdc1e0421ee2$export$3288d34c523a1192} from "./column-views.68afac63.js";
4
- import $heaZk$macrostrathyper from "@macrostrat/hyper";
5
- import $heaZk$classnames from "classnames";
6
- import {mergeAgeRanges as $heaZk$mergeAgeRanges} from "@macrostrat/stratigraphy-utils";
7
-
8
-
9
- function $parcel$interopDefault(a) {
10
- return a && a.__esModule ? a.default : a;
11
- }
12
-
13
-
14
-
15
-
16
-
17
- const $ed781bff07b3e4da$var$h = (0, $heaZk$macrostrathyper).styled((0, ($parcel$interopDefault($heaZk$columnviews8e7b01d2js))));
18
- function $ed781bff07b3e4da$export$6a468d428727394e({ label: label, value: value, inline: inline = false, showIfEmpty: showIfEmpty = false, className: className, children: children, unit: unit }) {
19
- if (!showIfEmpty && (value == null || value === "") && children == null) return null;
20
- return $ed781bff07b3e4da$var$h("div.data-field", {
21
- className: (0, $heaZk$classnames)(className, {
22
- inline: inline,
23
- flex: !inline
24
- })
25
- }, [
26
- $ed781bff07b3e4da$var$h("div.label", label),
27
- $ed781bff07b3e4da$var$h.if(value != null)("div.value-container", $ed781bff07b3e4da$var$h($ed781bff07b3e4da$export$4c8d1a57a761ef94, {
28
- value: value,
29
- unit: unit
30
- })),
31
- children
32
- ]);
33
- }
34
- function $ed781bff07b3e4da$export$f026c1ff1dfd9085({ intervals: intervals }) {
35
- const unique = $ed781bff07b3e4da$var$uniqueIntervals(...intervals);
36
- const ageRange = (0, $heaZk$mergeAgeRanges)(unique.map((d)=>[
37
- d.b_age,
38
- d.t_age
39
- ]));
40
- return $ed781bff07b3e4da$var$h([
41
- $ed781bff07b3e4da$var$h($ed781bff07b3e4da$export$6a468d428727394e, {
42
- label: "Intervals"
43
- }, [
44
- unique.map((interval)=>{
45
- return $ed781bff07b3e4da$var$h($ed781bff07b3e4da$export$cec07089f4042438, {
46
- key: interval.id,
47
- interval: interval,
48
- showAgeRange: true
49
- });
50
- }),
51
- $ed781bff07b3e4da$var$h($ed781bff07b3e4da$export$4c8d1a57a761ef94, {
52
- unit: "Ma",
53
- value: `${ageRange[0]} - ${ageRange[1]}`
54
- })
55
- ])
56
- ]);
57
- }
58
- function $ed781bff07b3e4da$export$4c8d1a57a761ef94({ value: value, unit: unit, className: className, children: children }) {
59
- const val = value ?? children;
60
- return $ed781bff07b3e4da$var$h("span.value-container", {
61
- className: className
62
- }, [
63
- $ed781bff07b3e4da$var$h("span.value", val),
64
- $ed781bff07b3e4da$var$h.if(unit != null)([
65
- " ",
66
- $ed781bff07b3e4da$var$h("span.unit", unit)
67
- ])
68
- ]);
69
- }
70
- function $ed781bff07b3e4da$export$cec07089f4042438({ interval: interval, showAgeRange: showAgeRange = false, color: color, onClick: onClick, ...rest }) {
71
- return $ed781bff07b3e4da$var$h((0, $e969cdc1e0421ee2$export$3288d34c523a1192), {
72
- onClick: onClick,
73
- name: interval.name,
74
- color: color ?? interval.color,
75
- ...rest
76
- });
77
- }
78
- function $ed781bff07b3e4da$var$uniqueIntervals(...intervals) {
79
- const unique = new Map();
80
- for (const interval of intervals){
81
- if (interval == null) continue;
82
- unique.set(interval.id, interval);
83
- }
84
- return Array.from(unique.values()).sort((a, b)=>b.b_age - a.b_age);
85
- }
86
- function $ed781bff07b3e4da$export$c99859d779d8150a({ label: label, className: className, children: children, onClick: onClick }) {
87
- return $ed781bff07b3e4da$var$h($ed781bff07b3e4da$export$6a468d428727394e, {
88
- className: (0, $heaZk$classnames)("tag-field", className),
89
- label: label
90
- }, children);
91
- }
92
- function $ed781bff07b3e4da$export$bad733389c823cbd({ children: children, className: className }) {
93
- if (children == null) return null;
94
- return $ed781bff07b3e4da$var$h("span.parenthetical", {
95
- className: className
96
- }, [
97
- $ed781bff07b3e4da$var$h("span.sep", "("),
98
- $ed781bff07b3e4da$var$h("span.content", null, children),
99
- $ed781bff07b3e4da$var$h("span.sep", ")")
100
- ]);
101
- }
102
-
103
-
104
- export {$ed781bff07b3e4da$export$6a468d428727394e as DataField, $ed781bff07b3e4da$export$4c8d1a57a761ef94 as Value, $ed781bff07b3e4da$export$f026c1ff1dfd9085 as IntervalField, $ed781bff07b3e4da$export$cec07089f4042438 as IntervalTag, $ed781bff07b3e4da$export$c99859d779d8150a as TagField, $ed781bff07b3e4da$export$bad733389c823cbd as Parenthetical};
105
- //# sourceMappingURL=column-views.8a1db14e.js.map
@@ -1 +0,0 @@
1
- {"mappings":";;;;;;;;;;;;;;;;AAGA,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,uEAAK;AAOrB,SAAS,0CAAU,SACxB,KAAK,SACL,KAAK,UACL,SAAS,oBACT,cAAc,kBACd,SAAS,YACT,QAAQ,QACR,IAAI,EASL;IACC,IAAI,CAAC,eAAgB,CAAA,SAAS,QAAQ,UAAU,EAAC,KAAM,YAAY,MACjE,OAAO;IAGT,OAAO,wBACL,kBACA;QAAE,WAAW,CAAA,GAAA,iBAAS,EAAE,WAAW;oBAAE;YAAQ,MAAM,CAAC;QAAO;IAAG,GAC9D;QACE,wBAAE,aAAa;QACf,wBAAE,EAAE,CAAC,SAAS,MAAM,uBAAuB,wBAAE,2CAAO;mBAAE;kBAAO;QAAK;QAClE;KACD;AAEL;AAcO,SAAS,0CAAc,aAAE,SAAS,EAAkC;IACzE,MAAM,SAAS,yCAAmB;IAClC,MAAM,WAAW,CAAA,GAAA,qBAAa,EAAE,OAAO,GAAG,CAAC,CAAC,IAAM;YAAC,EAAE,KAAK;YAAE,EAAE,KAAK;SAAC;IACpE,OAAO,wBAAE;QACP,wBACE,2CACA;YACE,OAAO;QACT,GACA;YACE,OAAO,GAAG,CAAC,CAAC;gBACV,OAAO,wBAAE,2CAAa;oBACpB,KAAK,SAAS,EAAE;8BAChB;oBACA,cAAc;gBAChB;YACF;YACA,wBAAE,2CAAO;gBAAE,MAAM;gBAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,EAAE;YAAC;SACjE;KAEJ;AACH;AAEO,SAAS,0CAAM,SACpB,KAAK,QACL,IAAI,aACJ,SAAS,YACT,QAAQ,EAMT;IACC,MAAM,MAAM,SAAS;IACrB,OAAO,wBAAE,wBAAwB;mBAAE;IAAU,GAAG;QAC9C,wBAAE,cAAc;QAChB,wBAAE,EAAE,CAAC,QAAQ,MAAM;YAAC;YAAK,wBAAE,aAAa;SAAM;KAC/C;AACH;AAOO,SAAS,0CAAY,YAC1B,QAAQ,gBACR,eAAe,cACf,KAAK,WACL,OAAO,EACP,GAAG,MACc;IACjB,OAAO,wBAAE,CAAA,GAAA,yCAAE,GAAG;iBACZ;QACA,MAAM,SAAS,IAAI;QACnB,OAAO,SAAS,SAAS,KAAK;QAC9B,GAAG,IAAI;IACT;AACF;AAEA,SAAS,sCACP,GAAG,SAAwC;IAE3C,MAAM,SAAS,IAAI;IACnB,KAAK,MAAM,YAAY,UAAW;QAChC,IAAI,YAAY,MAAM;QACtB,OAAO,GAAG,CAAC,SAAS,EAAE,EAAE;IAC1B;IACA,OAAO,MAAM,IAAI,CAAC,OAAO,MAAM,IAAI,IAAI,CAAC,CAAC,GAAG,IAAM,EAAE,KAAK,GAAG,EAAE,KAAK;AACrE;AAEO,SAAS,0CAAS,SACvB,KAAK,aACL,SAAS,YACT,QAAQ,WACR,OAAO,EAMR;IACC,OAAO,wBACL,2CACA;QAAE,WAAW,CAAA,GAAA,iBAAS,EAAE,aAAa;eAAY;IAAM,GACvD;AAEJ;AAEO,SAAS,0CAAc,YAAE,QAAQ,aAAE,SAAS,EAAE;IACnD,IAAI,YAAY,MAAM,OAAO;IAC7B,OAAO,wBAAE,sBAAsB;mBAAE;IAAU,GAAG;QAC5C,wBAAE,YAAY;QACd,wBAAE,gBAAgB,MAAM;QACxB,wBAAE,YAAY;KACf;AACH","sources":["packages/data-components/src/components/unit-details/base.ts"],"sourcesContent":["import styles from \"./base.module.sass\";\nimport hyper from \"@macrostrat/hyper\";\n\nconst h = hyper.styled(styles);\n\nimport classNames from \"classnames\";\nimport { mergeAgeRanges } from \"@macrostrat/stratigraphy-utils\";\nimport { Tag, BaseTagProps } from \"./tag\";\nimport { ReactNode } from \"react\";\n\nexport function DataField({\n label,\n value,\n inline = false,\n showIfEmpty = false,\n className,\n children,\n unit,\n}: {\n label?: string;\n value?: any;\n inline?: boolean;\n showIfEmpty?: boolean;\n className?: string;\n children?: any;\n unit?: string;\n}) {\n if (!showIfEmpty && (value == null || value === \"\") && children == null) {\n return null;\n }\n\n return h(\n \"div.data-field\",\n { className: classNames(className, { inline, flex: !inline }) },\n [\n h(\"div.label\", label),\n h.if(value != null)(\"div.value-container\", h(Value, { value, unit })),\n children,\n ],\n );\n}\n\nexport type IntervalID = {\n id: number;\n name: string;\n};\n\nexport type IntervalShort = IntervalID & {\n b_age: number;\n t_age: number;\n color: string;\n rank: number;\n};\n\nexport function IntervalField({ intervals }: { intervals: IntervalShort[] }) {\n const unique = uniqueIntervals(...intervals);\n const ageRange = mergeAgeRanges(unique.map((d) => [d.b_age, d.t_age]));\n return h([\n h(\n DataField,\n {\n label: \"Intervals\",\n },\n [\n unique.map((interval) => {\n return h(IntervalTag, {\n key: interval.id,\n interval,\n showAgeRange: true,\n });\n }),\n h(Value, { unit: \"Ma\", value: `${ageRange[0]} - ${ageRange[1]}` }),\n ],\n ),\n ]);\n}\n\nexport function Value({\n value,\n unit,\n className,\n children,\n}: {\n value?: any;\n unit?: string;\n children?: any;\n className?: string;\n}) {\n const val = value ?? children;\n return h(\"span.value-container\", { className }, [\n h(\"span.value\", val),\n h.if(unit != null)([\" \", h(\"span.unit\", unit)]),\n ]);\n}\n\ninterface IntervalTagProps extends Omit<BaseTagProps, \"name\"> {\n interval: IntervalShort;\n showAgeRange?: boolean;\n}\n\nexport function IntervalTag({\n interval,\n showAgeRange = false,\n color,\n onClick,\n ...rest\n}: IntervalTagProps) {\n return h(Tag, {\n onClick,\n name: interval.name,\n color: color ?? interval.color,\n ...rest,\n });\n}\n\nfunction uniqueIntervals(\n ...intervals: (IntervalShort | undefined)[]\n): IntervalShort[] {\n const unique = new Map<number, IntervalShort>();\n for (const interval of intervals) {\n if (interval == null) continue;\n unique.set(interval.id, interval);\n }\n return Array.from(unique.values()).sort((a, b) => b.b_age - a.b_age);\n}\n\nexport function TagField({\n label,\n className,\n children,\n onClick,\n}: {\n label?: string;\n className?: string;\n children?: ReactNode;\n onClick?: () => void;\n}) {\n return h(\n DataField,\n { className: classNames(\"tag-field\", className), label },\n children,\n );\n}\n\nexport function Parenthetical({ children, className }) {\n if (children == null) return null;\n return h(\"span.parenthetical\", { className }, [\n h(\"span.sep\", \"(\"),\n h(\"span.content\", null, children),\n h(\"span.sep\", \")\"),\n ]);\n}\n"],"names":[],"version":3,"file":"column-views.8a1db14e.js.map"}
@@ -1,43 +0,0 @@
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 $0d0ee39bbd91096d$exports = {};
6
-
7
- $parcel$export($0d0ee39bbd91096d$exports, "content", () => $0d0ee39bbd91096d$export$a7db06668cad9adb, (v) => $0d0ee39bbd91096d$export$a7db06668cad9adb = v);
8
- $parcel$export($0d0ee39bbd91096d$exports, "data-container", () => $0d0ee39bbd91096d$export$10db337eeb771240, (v) => $0d0ee39bbd91096d$export$10db337eeb771240 = v);
9
- $parcel$export($0d0ee39bbd91096d$exports, "data-field", () => $0d0ee39bbd91096d$export$bb66d3d95d8b38e6, (v) => $0d0ee39bbd91096d$export$bb66d3d95d8b38e6 = v);
10
- $parcel$export($0d0ee39bbd91096d$exports, "flex", () => $0d0ee39bbd91096d$export$97691fbb80847c19, (v) => $0d0ee39bbd91096d$export$97691fbb80847c19 = v);
11
- $parcel$export($0d0ee39bbd91096d$exports, "inline", () => $0d0ee39bbd91096d$export$18c8ad048e32c7d5, (v) => $0d0ee39bbd91096d$export$18c8ad048e32c7d5 = v);
12
- $parcel$export($0d0ee39bbd91096d$exports, "label", () => $0d0ee39bbd91096d$export$1237798dc640739a, (v) => $0d0ee39bbd91096d$export$1237798dc640739a = v);
13
- $parcel$export($0d0ee39bbd91096d$exports, "parenthetical", () => $0d0ee39bbd91096d$export$1d02494d67adba65, (v) => $0d0ee39bbd91096d$export$1d02494d67adba65 = v);
14
- $parcel$export($0d0ee39bbd91096d$exports, "sep", () => $0d0ee39bbd91096d$export$5aee1a5bd9743d8f, (v) => $0d0ee39bbd91096d$export$5aee1a5bd9743d8f = v);
15
- $parcel$export($0d0ee39bbd91096d$exports, "tag-field", () => $0d0ee39bbd91096d$export$1fccac577aeb7179, (v) => $0d0ee39bbd91096d$export$1fccac577aeb7179 = v);
16
- $parcel$export($0d0ee39bbd91096d$exports, "unit", () => $0d0ee39bbd91096d$export$523c0b569236b342, (v) => $0d0ee39bbd91096d$export$523c0b569236b342 = v);
17
- $parcel$export($0d0ee39bbd91096d$exports, "value-container", () => $0d0ee39bbd91096d$export$324f6d0320efec31, (v) => $0d0ee39bbd91096d$export$324f6d0320efec31 = v);
18
- var $0d0ee39bbd91096d$export$a7db06668cad9adb;
19
- var $0d0ee39bbd91096d$export$10db337eeb771240;
20
- var $0d0ee39bbd91096d$export$bb66d3d95d8b38e6;
21
- var $0d0ee39bbd91096d$export$97691fbb80847c19;
22
- var $0d0ee39bbd91096d$export$18c8ad048e32c7d5;
23
- var $0d0ee39bbd91096d$export$1237798dc640739a;
24
- var $0d0ee39bbd91096d$export$1d02494d67adba65;
25
- var $0d0ee39bbd91096d$export$5aee1a5bd9743d8f;
26
- var $0d0ee39bbd91096d$export$1fccac577aeb7179;
27
- var $0d0ee39bbd91096d$export$523c0b569236b342;
28
- var $0d0ee39bbd91096d$export$324f6d0320efec31;
29
- $0d0ee39bbd91096d$export$a7db06668cad9adb = `I-a59W_content`;
30
- $0d0ee39bbd91096d$export$10db337eeb771240 = `I-a59W_data-container`;
31
- $0d0ee39bbd91096d$export$bb66d3d95d8b38e6 = `I-a59W_data-field`;
32
- $0d0ee39bbd91096d$export$97691fbb80847c19 = `I-a59W_flex`;
33
- $0d0ee39bbd91096d$export$18c8ad048e32c7d5 = `I-a59W_inline`;
34
- $0d0ee39bbd91096d$export$1237798dc640739a = `I-a59W_label`;
35
- $0d0ee39bbd91096d$export$1d02494d67adba65 = `I-a59W_parenthetical`;
36
- $0d0ee39bbd91096d$export$5aee1a5bd9743d8f = `I-a59W_sep`;
37
- $0d0ee39bbd91096d$export$1fccac577aeb7179 = `I-a59W_tag-field`;
38
- $0d0ee39bbd91096d$export$523c0b569236b342 = `I-a59W_unit`;
39
- $0d0ee39bbd91096d$export$324f6d0320efec31 = `I-a59W_value-container`;
40
-
41
-
42
- export {$0d0ee39bbd91096d$exports as default};
43
- //# sourceMappingURL=column-views.8e7b01d2.js.map
@@ -1 +0,0 @@
1
- {"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AAVA,4CAA4B,CAAC,cAAc,CAAC;AAC5C,4CAAmC,CAAC,qBAAqB,CAAC;AAC1D,4CAA+B,CAAC,iBAAiB,CAAC;AAClD,4CAAyB,CAAC,WAAW,CAAC;AACtC,4CAA2B,CAAC,aAAa,CAAC;AAC1C,4CAA0B,CAAC,YAAY,CAAC;AACxC,4CAAkC,CAAC,oBAAoB,CAAC;AACxD,4CAAwB,CAAC,UAAU,CAAC;AACpC,4CAA8B,CAAC,gBAAgB,CAAC;AAChD,4CAAyB,CAAC,WAAW,CAAC;AACtC,4CAAoC,CAAC,sBAAsB,CAAC","sources":["packages/data-components/src/components/unit-details/base.module.sass"],"sourcesContent":[".data-field\n margin: 0.5em 0 1em\n &.flex\n display: flex\n flex-flow: row wrap\n align-items: baseline\n justify-content: end\n gap: 0.5em\n .data-container\n text-align: right\n &.inline\n .label\n display: inline-block\n\n .label\n //font-size: 0.9em\n padding-right: 1em\n font-weight: bold\n flex-grow: 1\n display: block\n color: var(--secondary-color)\n text-align: left\n .value-container\n text-align: right\n //font-size: 0.9em\n //display: inline-block\n break-inside: avoid\n\n &.tag-field\n &>*\n margin: 0\n display: block\n\n.unit\n color: var(--text-subtle-color)\n font-style: var(--text-font-style)\n\n.parenthetical\n .content\n color: var(--parenthetical-text-color, var(--text-subtle-color))\n .sep\n color: var(--parenthetical-sep-color, var(--secondary-color))\n .unit\n color: var(--secondary-color)\n"],"names":[],"version":3,"file":"column-views.8e7b01d2.js.map"}