@macrostrat/column-views 1.0.1 → 1.0.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.
- package/CHANGELOG.md +7 -3
- package/dist/esm/{column.97e31037.js → column.8dd26e1a.js} +5 -5
- package/dist/esm/{column.97e31037.js.map → column.8dd26e1a.js.map} +1 -1
- package/dist/esm/{column.module.b5e18f0c.css → column.module.039d872c.css} +28 -15
- package/dist/esm/column.module.039d872c.css.map +1 -0
- package/dist/esm/{column.module.9b8ce99d.js → column.module.e632868a.js} +1 -4
- package/dist/esm/column.module.e632868a.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/{section.2513d610.js → section.cc1b1100.js} +4 -4
- package/dist/esm/{section.2513d610.js.map → section.cc1b1100.js.map} +1 -1
- package/package.json +3 -3
- package/src/column.module.sass +25 -12
- package/dist/esm/column.module.9b8ce99d.js.map +0 -1
- package/dist/esm/column.module.b5e18f0c.css.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
All notable changes to this project will be documented in this file.
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
All notable changes to this project will be documented in this file. The format
|
|
4
|
+
is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this
|
|
5
|
+
project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
|
+
|
|
7
|
+
## [1.0.2] - 2025-02-16
|
|
8
|
+
|
|
9
|
+
Improve column styles
|
|
6
10
|
|
|
7
11
|
## [1.0.1] - 2025-02-15
|
|
8
12
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import $bTsJU$
|
|
2
|
-
import "./column.module.
|
|
1
|
+
import $bTsJU$columnmodulee632868ajs from "./column.module.e632868a.js";
|
|
2
|
+
import "./column.module.039d872c.css";
|
|
3
3
|
import {TrackedLabeledUnit as $8c8238faa5cde49c$export$f613830566442374} from "./composite.608a4ca2.js";
|
|
4
4
|
import {UnitSelectionProvider as $4d5d1c15f39f6a14$export$f19d75b1d4b676a4, useUnitSelectionDispatch as $4d5d1c15f39f6a14$export$77a278d5ca56e309, UnitKeyboardNavigation as $4d5d1c15f39f6a14$export$70f5ee19650fc7d1} from "./selection.bbf26d0e.js";
|
|
5
5
|
import {UnitSelectionPopover as $80d4db83aa9ba807$export$db1115efab13710d} from "./selection-popover.17d1bd55.js";
|
|
6
6
|
import {MacrostratUnitsProvider as $1fcb9b8d7da394a3$export$e5fe24ae4f287040} from "./store.25eaa168.js";
|
|
7
|
-
import {Section as $7d0f52717c0de7e1$export$6e2c8f0811a474ce} from "./section.
|
|
7
|
+
import {Section as $7d0f52717c0de7e1$export$6e2c8f0811a474ce} from "./section.cc1b1100.js";
|
|
8
8
|
import {ensureArray as $2c60de495788ce61$export$d0c8ecbd4ed8940c, groupUnitsIntoSections as $2c60de495788ce61$export$dfbd00399d639b4c, _mergeOverlappingSections as $2c60de495788ce61$export$ec445c47b6e5d2d} from "./helpers.8a03cfc7.js";
|
|
9
9
|
import {ColumnLayoutContext as $bTsJU$ColumnLayoutContext} from "@macrostrat/column-components";
|
|
10
10
|
import {hyperStyled as $bTsJU$hyperStyled} from "@macrostrat/hyper";
|
|
@@ -27,7 +27,7 @@ function $parcel$interopDefault(a) {
|
|
|
27
27
|
|
|
28
28
|
|
|
29
29
|
|
|
30
|
-
const $2118f0266dc7e955$var$h = (0, $bTsJU$hyperStyled)((0, ($parcel$interopDefault($bTsJU$
|
|
30
|
+
const $2118f0266dc7e955$var$h = (0, $bTsJU$hyperStyled)((0, ($parcel$interopDefault($bTsJU$columnmodulee632868ajs))));
|
|
31
31
|
function $2118f0266dc7e955$export$48a4cacf2b7a4441({ division: division, nColumns: nColumns = 2, ...rest }) {
|
|
32
32
|
const { width: width } = (0, $bTsJU$useContext)((0, $bTsJU$ColumnLayoutContext));
|
|
33
33
|
//const nCols = Math.min(nColumns, division.overlappingUnits.length+1)
|
|
@@ -146,4 +146,4 @@ function $2118f0266dc7e955$var$_Column(props) {
|
|
|
146
146
|
|
|
147
147
|
|
|
148
148
|
export {$2118f0266dc7e955$export$48a4cacf2b7a4441 as UnitComponent, $2118f0266dc7e955$export$816b5d811295e6bc as Column};
|
|
149
|
-
//# sourceMappingURL=column.
|
|
149
|
+
//# sourceMappingURL=column.8dd26e1a.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["packages/column-views/src/column.ts"],"sourcesContent":["import {\n ColumnAxisType,\n ColumnLayoutContext,\n ColumnProvider,\n} from \"@macrostrat/column-components\";\nimport { hyperStyled } from \"@macrostrat/hyper\";\nimport { useDarkMode } from \"@macrostrat/ui-components\";\nimport classNames from \"classnames\";\nimport { createRef, RefObject, useContext, useMemo, useState } from \"react\";\nimport styles from \"./column.module.sass\";\nimport {\n TrackedLabeledUnit,\n UnitKeyboardNavigation,\n UnitSelectionProvider,\n useUnitSelectionDispatch,\n} from \"./units\";\nimport { SectionInfo } from \"./section\";\nimport { RectBounds } from \"./units/boxes\";\nimport { UnitSelectionPopover } from \"./selection-popover\";\nimport { MacrostratUnitsProvider } from \"./store\";\nimport { IColumnProps, Section } from \"./section\";\nimport {\n _mergeOverlappingSections,\n ensureArray,\n groupUnitsIntoSections,\n} from \"./helpers\";\n\nconst h = hyperStyled(styles);\n\nexport function UnitComponent({ division, nColumns = 2, ...rest }) {\n const { width } = useContext(ColumnLayoutContext);\n\n //const nCols = Math.min(nColumns, division.overlappingUnits.length+1)\n //console.log(division);\n return h(TrackedLabeledUnit, {\n division,\n ...rest,\n width: division.overlappingUnits.length > 0 ? width / nColumns : width,\n x: (division.column * width) / nColumns,\n });\n}\n\nfunction Unconformity({ upperUnits = [], lowerUnits = [], style }) {\n if (upperUnits.length == 0 || lowerUnits.length == 0) {\n return null;\n }\n\n const ageGap = lowerUnits[0].t_age - upperUnits[upperUnits.length - 1].b_age;\n\n return h(\"div.unconformity\", { style }, [\n h(\"div.unconformity-text\", `${ageGap.toFixed(1)} Ma`),\n ]);\n}\n\nfunction sectionClassName(section: SectionInfo) {\n return `section-${ensureArray(section.section_id).join(\"-\")}`;\n}\n\nexport interface ColumnProps extends IColumnProps {\n unconformityLabels?: boolean;\n className?: string;\n mergeOverlappingSections?: boolean;\n showLabelColumn?: boolean;\n columnRef?: RefObject<HTMLElement>;\n keyboardNavigation?: boolean;\n showUnitPopover?: boolean;\n t_age?: number;\n b_age?: number;\n}\n\nexport function Column(props: ColumnProps) {\n const { showUnitPopover = false, ...rest } = props;\n const ref = createRef<HTMLElement>();\n // Selected item position\n const [position, setPosition] = useState<RectBounds | null>(null);\n\n if (!showUnitPopover) {\n return h(_Column, rest);\n }\n\n return h(\n UnitSelectionProvider,\n {\n onUnitSelected: (unit, target: SVGElement | HTMLElement | null) => {\n if (!showUnitPopover) return;\n\n if (unit == null) {\n setPosition(null);\n return;\n }\n const el: HTMLElement = ref.current;\n if (el == null || target == null) return;\n const rect = el.getBoundingClientRect();\n const targetRect = target.getBoundingClientRect();\n setPosition({\n x: targetRect.left - rect.left,\n y: targetRect.top - rect.top,\n width: targetRect.width,\n height: targetRect.height,\n });\n },\n },\n h(\n _Column,\n { ...rest, columnRef: ref },\n h(UnitSelectionPopover, { position })\n )\n );\n}\n\nfunction _Column(props: Omit<ColumnProps, \"showUnitPopover\">) {\n const {\n data,\n unitComponent = UnitComponent,\n unconformityLabels = true,\n showLabels = true,\n width = 300,\n columnWidth = 150,\n className: baseClassName,\n showLabelColumn = true,\n mergeOverlappingSections = true,\n keyboardNavigation = false,\n columnRef,\n children,\n ...rest\n } = props;\n\n const darkMode = useDarkMode();\n const sectionGroups = useMemo(() => {\n let res = groupUnitsIntoSections(data);\n if (mergeOverlappingSections) {\n res = _mergeOverlappingSections(res);\n }\n return res;\n }, [data, mergeOverlappingSections]);\n\n const className = classNames(baseClassName, {\n \"dark-mode\": darkMode?.isEnabled ?? false,\n });\n\n // Clear unit selection on click outside of units, if we have a dispatch function\n const dispatch = useUnitSelectionDispatch();\n\n return h(\n \"div.column-container\",\n {\n className,\n onClick(evt) {\n dispatch?.(null, null, evt as any);\n },\n },\n h(MacrostratUnitsProvider, { units: data }, [\n h(\"div.column\", { ref: columnRef }, [\n h(\"div.age-axis-label\", \"Age (Ma)\"),\n h(\n \"div.main-column\",\n sectionGroups.map((group, i) => {\n const { section_id: id, units: data } = group;\n const lastGroup = sectionGroups[i - 1];\n return h([\n h.if(unconformityLabels)(Unconformity, {\n upperUnits: lastGroup?.units,\n lowerUnits: data,\n style: { width: showLabels ? columnWidth : width },\n }),\n h(`div.section`, { className: sectionClassName(group) }, [\n h(Section, {\n data,\n unitComponent,\n showLabels,\n width,\n columnWidth,\n showLabelColumn,\n ...rest,\n }),\n ]),\n ]);\n })\n ),\n h.if(keyboardNavigation)(UnitKeyboardNavigation, { units: data }),\n children,\n ]),\n ])\n );\n}\n"],"names":[],"version":3,"file":"column.
|
|
1
|
+
{"mappings":"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","sources":["packages/column-views/src/column.ts"],"sourcesContent":["import {\n ColumnAxisType,\n ColumnLayoutContext,\n ColumnProvider,\n} from \"@macrostrat/column-components\";\nimport { hyperStyled } from \"@macrostrat/hyper\";\nimport { useDarkMode } from \"@macrostrat/ui-components\";\nimport classNames from \"classnames\";\nimport { createRef, RefObject, useContext, useMemo, useState } from \"react\";\nimport styles from \"./column.module.sass\";\nimport {\n TrackedLabeledUnit,\n UnitKeyboardNavigation,\n UnitSelectionProvider,\n useUnitSelectionDispatch,\n} from \"./units\";\nimport { SectionInfo } from \"./section\";\nimport { RectBounds } from \"./units/boxes\";\nimport { UnitSelectionPopover } from \"./selection-popover\";\nimport { MacrostratUnitsProvider } from \"./store\";\nimport { IColumnProps, Section } from \"./section\";\nimport {\n _mergeOverlappingSections,\n ensureArray,\n groupUnitsIntoSections,\n} from \"./helpers\";\n\nconst h = hyperStyled(styles);\n\nexport function UnitComponent({ division, nColumns = 2, ...rest }) {\n const { width } = useContext(ColumnLayoutContext);\n\n //const nCols = Math.min(nColumns, division.overlappingUnits.length+1)\n //console.log(division);\n return h(TrackedLabeledUnit, {\n division,\n ...rest,\n width: division.overlappingUnits.length > 0 ? width / nColumns : width,\n x: (division.column * width) / nColumns,\n });\n}\n\nfunction Unconformity({ upperUnits = [], lowerUnits = [], style }) {\n if (upperUnits.length == 0 || lowerUnits.length == 0) {\n return null;\n }\n\n const ageGap = lowerUnits[0].t_age - upperUnits[upperUnits.length - 1].b_age;\n\n return h(\"div.unconformity\", { style }, [\n h(\"div.unconformity-text\", `${ageGap.toFixed(1)} Ma`),\n ]);\n}\n\nfunction sectionClassName(section: SectionInfo) {\n return `section-${ensureArray(section.section_id).join(\"-\")}`;\n}\n\nexport interface ColumnProps extends IColumnProps {\n unconformityLabels?: boolean;\n className?: string;\n mergeOverlappingSections?: boolean;\n showLabelColumn?: boolean;\n columnRef?: RefObject<HTMLElement>;\n keyboardNavigation?: boolean;\n showUnitPopover?: boolean;\n t_age?: number;\n b_age?: number;\n}\n\nexport function Column(props: ColumnProps) {\n const { showUnitPopover = false, ...rest } = props;\n const ref = createRef<HTMLElement>();\n // Selected item position\n const [position, setPosition] = useState<RectBounds | null>(null);\n\n if (!showUnitPopover) {\n return h(_Column, rest);\n }\n\n return h(\n UnitSelectionProvider,\n {\n onUnitSelected: (unit, target: SVGElement | HTMLElement | null) => {\n if (!showUnitPopover) return;\n\n if (unit == null) {\n setPosition(null);\n return;\n }\n const el: HTMLElement = ref.current;\n if (el == null || target == null) return;\n const rect = el.getBoundingClientRect();\n const targetRect = target.getBoundingClientRect();\n setPosition({\n x: targetRect.left - rect.left,\n y: targetRect.top - rect.top,\n width: targetRect.width,\n height: targetRect.height,\n });\n },\n },\n h(\n _Column,\n { ...rest, columnRef: ref },\n h(UnitSelectionPopover, { position })\n )\n );\n}\n\nfunction _Column(props: Omit<ColumnProps, \"showUnitPopover\">) {\n const {\n data,\n unitComponent = UnitComponent,\n unconformityLabels = true,\n showLabels = true,\n width = 300,\n columnWidth = 150,\n className: baseClassName,\n showLabelColumn = true,\n mergeOverlappingSections = true,\n keyboardNavigation = false,\n columnRef,\n children,\n ...rest\n } = props;\n\n const darkMode = useDarkMode();\n const sectionGroups = useMemo(() => {\n let res = groupUnitsIntoSections(data);\n if (mergeOverlappingSections) {\n res = _mergeOverlappingSections(res);\n }\n return res;\n }, [data, mergeOverlappingSections]);\n\n const className = classNames(baseClassName, {\n \"dark-mode\": darkMode?.isEnabled ?? false,\n });\n\n // Clear unit selection on click outside of units, if we have a dispatch function\n const dispatch = useUnitSelectionDispatch();\n\n return h(\n \"div.column-container\",\n {\n className,\n onClick(evt) {\n dispatch?.(null, null, evt as any);\n },\n },\n h(MacrostratUnitsProvider, { units: data }, [\n h(\"div.column\", { ref: columnRef }, [\n h(\"div.age-axis-label\", \"Age (Ma)\"),\n h(\n \"div.main-column\",\n sectionGroups.map((group, i) => {\n const { section_id: id, units: data } = group;\n const lastGroup = sectionGroups[i - 1];\n return h([\n h.if(unconformityLabels)(Unconformity, {\n upperUnits: lastGroup?.units,\n lowerUnits: data,\n style: { width: showLabels ? columnWidth : width },\n }),\n h(`div.section`, { className: sectionClassName(group) }, [\n h(Section, {\n data,\n unitComponent,\n showLabels,\n width,\n columnWidth,\n showLabelColumn,\n ...rest,\n }),\n ]),\n ]);\n })\n ),\n h.if(keyboardNavigation)(UnitKeyboardNavigation, { units: data }),\n children,\n ]),\n ])\n );\n}\n"],"names":[],"version":3,"file":"column.8dd26e1a.js.map"}
|
|
@@ -1,16 +1,41 @@
|
|
|
1
|
-
.column-container_afc440 {
|
|
1
|
+
.column-container_afc440, body.light-mode .column-container_afc440 {
|
|
2
2
|
--column-background-color: var(--background-color, #fff);
|
|
3
3
|
--column-stroke-color: var(--text-color, #000);
|
|
4
4
|
--column-text-color: var(--text-color, #000);
|
|
5
5
|
}
|
|
6
6
|
|
|
7
7
|
@media (prefers-color-scheme: dark) {
|
|
8
|
-
.column-container_afc440 {
|
|
8
|
+
body:not(.light-mode) .column-container_afc440 {
|
|
9
9
|
--column-background-color: var(--background-color, #000);
|
|
10
10
|
--column-stroke-color: var(--text-color, #fff);
|
|
11
11
|
--column-text-color: var(--text-color, #fff);
|
|
12
12
|
color-scheme: dark;
|
|
13
|
+
color: var(--column-text-color);
|
|
13
14
|
}
|
|
15
|
+
|
|
16
|
+
body:not(.light-mode) .column-container_afc440 .timescale {
|
|
17
|
+
color: #000;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
body:not(.light-mode) .column-container_afc440 g.inner pattern image {
|
|
21
|
+
filter: invert(80%);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
body.dark-mode .column-container_afc440 {
|
|
26
|
+
--column-background-color: var(--background-color, #000);
|
|
27
|
+
--column-stroke-color: var(--text-color, #fff);
|
|
28
|
+
--column-text-color: var(--text-color, #fff);
|
|
29
|
+
color-scheme: dark;
|
|
30
|
+
color: var(--column-text-color);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
body.dark-mode .column-container_afc440 .timescale {
|
|
34
|
+
color: #000;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
body.dark-mode .column-container_afc440 g.inner pattern image {
|
|
38
|
+
filter: invert(80%);
|
|
14
39
|
}
|
|
15
40
|
|
|
16
41
|
.column-container_afc440 .column {
|
|
@@ -123,16 +148,4 @@
|
|
|
123
148
|
color: var(--column-stroke-color);
|
|
124
149
|
transform: translateY(-.5em);
|
|
125
150
|
}
|
|
126
|
-
|
|
127
|
-
.column-container_afc440.dark-mode_afc440 {
|
|
128
|
-
color: var(--column-text-color);
|
|
129
|
-
}
|
|
130
|
-
|
|
131
|
-
.column-container_afc440.dark-mode_afc440 .timescale {
|
|
132
|
-
color: #000;
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
.column-container_afc440.dark-mode_afc440 g.inner pattern image {
|
|
136
|
-
filter: invert(80%);
|
|
137
|
-
}
|
|
138
|
-
/*# sourceMappingURL=column.module.b5e18f0c.css.map */
|
|
151
|
+
/*# sourceMappingURL=column.module.039d872c.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAAA;;;;;;AAWE;EACE;;;;;;;;EAOI;;;;EAEA;;;;;AAIN;;;;;;;;AAOE;;;;AAIF;;;;;;;;;;AAUI;;;;;;;;;;AAUF;;;;;;AAMA;;;;;;;;;;;AASF;;;;;;;;;;;;AAUF;;;;AAGA;;;;AAIE;;;;AAGF;;;;;;;;;;;;;;;;;;;;;;;AAkBA;;;;AAGA;;;;;;;;AAOE;;;;;AAIF","sources":["packages/column-views/src/column.module.sass"],"sourcesContent":[".column-container, body:global(.light-mode) .column-container\n --column-background-color: var(--background-color, #fff)\n --column-stroke-color: var(--text-color, #000)\n --column-text-color: var(--text-color, #000)\n\n/* We have to duplicate the dark mode styles here\n because we want to set them either if the preferred\n color scheme is dark OR if dark mode is explicitly enabled.\n If dark mode is explicitly enabled, we want to override\n the media query. */\n@media (prefers-color-scheme: dark)\n body:not(:global(.light-mode)) .column-container\n --column-background-color: var(--background-color, #000)\n --column-stroke-color: var(--text-color, #fff)\n --column-text-color: var(--text-color, #fff)\n color-scheme: dark\n color: var(--column-text-color)\n :global\n .timescale\n color: #000\n g.inner pattern image\n filter: invert(80%)\n\nbody:global(.dark-mode) .column-container\n --column-background-color: var(--background-color, #000)\n --column-stroke-color: var(--text-color, #fff)\n --column-text-color: var(--text-color, #fff)\n color-scheme: dark\n color: var(--column-text-color)\n :global\n .timescale\n color: #000\n g.inner pattern image\n filter: invert(80%)\n\n.column-container :global\n .column\n display: flex\n flex-direction: row\n position: relative\n\n .age-axis-label\n writing-mode: vertical-lr\n transform: rotate(180deg)\n font-size: 12px\n text-align: center\n position: sticky\n top: 0\n max-height: 100vh\n\n .tick text\n text-anchor: middle\n font-weight: 400 !important\n transform: rotate(-90deg) translate(8px, -12px)\n\n rect.unit\n stroke: var(--column-stroke-color)\n stroke-width: 1px\n\n g.lithology-column use.frame\n stroke: var(--column-stroke-color)\n stroke-width: 1.5px !important\n pointer-events: none\n\n.column-container :global .unit-label\n text-align: center\n\n.column-container :global .col-note-label\n font-size: 10px\n margin-top: 3px\n padding: 2px\n padding-left: 3px\n line-height: 9px\n border-left: none !important\n\n.column-container :global g.height-range\n display: none\n\n.column-container :global .note-inner\n border: none\n\n.column-container :global .frame rect\n fill: transparent\n\n.column-container :global .labeled-unit .unit-overlay\n font-size: 10px\n font-style: italic\n display: flex\n align-items: center\n justify-content: center\n\n.column-container :global .labeled-unit .unit-overlay .unit-label\n display: block\n text-shadow: 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color)\n\n.column-container :global .default-buttons\n width: 100%\n margin: 0 -10px\n\n.column-container :global div.section\n display: flex\n flex-direction: row\n\n.column-container :global div.section :global(.timescale)\n transform: translateY(0.5)\n\n.column-container :global .section .divisions .unit\n cursor: pointer\n\n.column-container :global rect.selection-overlay\n fill: rgba(255,0,0,0.5)\n\n.column-container :global div.timescale\n width: calc(6em + 4px)\n --timescale-level-size: 1.5em\n\n.unconformity\n height: 0px\n font-size: 10px\n font-style: italic\n text-align: center\n margin-left: calc(6em + 4px + 40px)\n\n.unconformity-text\n transform: translateY(-0.5em)\n width: var(--column-width)\n color: var(--column-stroke-color)\n"],"names":[],"version":3,"file":"column.module.039d872c.css.map"}
|
|
@@ -7,16 +7,13 @@ var $6cbea5de739af804$exports = {};
|
|
|
7
7
|
$parcel$export($6cbea5de739af804$exports, "column-container", () => $6cbea5de739af804$export$e908cef0cccb98df, (v) => $6cbea5de739af804$export$e908cef0cccb98df = v);
|
|
8
8
|
$parcel$export($6cbea5de739af804$exports, "unconformity", () => $6cbea5de739af804$export$7b4a6d978979c0fa, (v) => $6cbea5de739af804$export$7b4a6d978979c0fa = v);
|
|
9
9
|
$parcel$export($6cbea5de739af804$exports, "unconformity-text", () => $6cbea5de739af804$export$925235908943319a, (v) => $6cbea5de739af804$export$925235908943319a = v);
|
|
10
|
-
$parcel$export($6cbea5de739af804$exports, "dark-mode", () => $6cbea5de739af804$export$b02d999b8f804328, (v) => $6cbea5de739af804$export$b02d999b8f804328 = v);
|
|
11
10
|
var $6cbea5de739af804$export$e908cef0cccb98df;
|
|
12
11
|
var $6cbea5de739af804$export$7b4a6d978979c0fa;
|
|
13
12
|
var $6cbea5de739af804$export$925235908943319a;
|
|
14
|
-
var $6cbea5de739af804$export$b02d999b8f804328;
|
|
15
13
|
$6cbea5de739af804$export$e908cef0cccb98df = "column-container_afc440";
|
|
16
14
|
$6cbea5de739af804$export$7b4a6d978979c0fa = "unconformity_afc440";
|
|
17
15
|
$6cbea5de739af804$export$925235908943319a = "unconformity-text_afc440";
|
|
18
|
-
$6cbea5de739af804$export$b02d999b8f804328 = "dark-mode_afc440";
|
|
19
16
|
|
|
20
17
|
|
|
21
18
|
export {$6cbea5de739af804$exports as default};
|
|
22
|
-
//# sourceMappingURL=column.module.
|
|
19
|
+
//# sourceMappingURL=column.module.e632868a.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;AAAA,IAAA;AACA,IAAA;AACA,IAAA;AAFA,4CAAqC;AACrC,4CAAiC;AACjC,4CAAsC","sources":["packages/column-views/src/column.module.sass"],"sourcesContent":[".column-container, body:global(.light-mode) .column-container\n --column-background-color: var(--background-color, #fff)\n --column-stroke-color: var(--text-color, #000)\n --column-text-color: var(--text-color, #000)\n\n/* We have to duplicate the dark mode styles here\n because we want to set them either if the preferred\n color scheme is dark OR if dark mode is explicitly enabled.\n If dark mode is explicitly enabled, we want to override\n the media query. */\n@media (prefers-color-scheme: dark)\n body:not(:global(.light-mode)) .column-container\n --column-background-color: var(--background-color, #000)\n --column-stroke-color: var(--text-color, #fff)\n --column-text-color: var(--text-color, #fff)\n color-scheme: dark\n color: var(--column-text-color)\n :global\n .timescale\n color: #000\n g.inner pattern image\n filter: invert(80%)\n\nbody:global(.dark-mode) .column-container\n --column-background-color: var(--background-color, #000)\n --column-stroke-color: var(--text-color, #fff)\n --column-text-color: var(--text-color, #fff)\n color-scheme: dark\n color: var(--column-text-color)\n :global\n .timescale\n color: #000\n g.inner pattern image\n filter: invert(80%)\n\n.column-container :global\n .column\n display: flex\n flex-direction: row\n position: relative\n\n .age-axis-label\n writing-mode: vertical-lr\n transform: rotate(180deg)\n font-size: 12px\n text-align: center\n position: sticky\n top: 0\n max-height: 100vh\n\n .tick text\n text-anchor: middle\n font-weight: 400 !important\n transform: rotate(-90deg) translate(8px, -12px)\n\n rect.unit\n stroke: var(--column-stroke-color)\n stroke-width: 1px\n\n g.lithology-column use.frame\n stroke: var(--column-stroke-color)\n stroke-width: 1.5px !important\n pointer-events: none\n\n.column-container :global .unit-label\n text-align: center\n\n.column-container :global .col-note-label\n font-size: 10px\n margin-top: 3px\n padding: 2px\n padding-left: 3px\n line-height: 9px\n border-left: none !important\n\n.column-container :global g.height-range\n display: none\n\n.column-container :global .note-inner\n border: none\n\n.column-container :global .frame rect\n fill: transparent\n\n.column-container :global .labeled-unit .unit-overlay\n font-size: 10px\n font-style: italic\n display: flex\n align-items: center\n justify-content: center\n\n.column-container :global .labeled-unit .unit-overlay .unit-label\n display: block\n text-shadow: 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color)\n\n.column-container :global .default-buttons\n width: 100%\n margin: 0 -10px\n\n.column-container :global div.section\n display: flex\n flex-direction: row\n\n.column-container :global div.section :global(.timescale)\n transform: translateY(0.5)\n\n.column-container :global .section .divisions .unit\n cursor: pointer\n\n.column-container :global rect.selection-overlay\n fill: rgba(255,0,0,0.5)\n\n.column-container :global div.timescale\n width: calc(6em + 4px)\n --timescale-level-size: 1.5em\n\n.unconformity\n height: 0px\n font-size: 10px\n font-style: italic\n text-align: center\n margin-left: calc(6em + 4px + 40px)\n\n.unconformity-text\n transform: translateY(-0.5em)\n width: var(--column-width)\n color: var(--column-stroke-color)\n"],"names":[],"version":3,"file":"column.module.e632868a.js.map"}
|
package/dist/esm/index.js
CHANGED
|
@@ -4,7 +4,7 @@ import {IsotopesDataset as $d5a3eba6c540ff58$export$c69bd0285aa5d775, IsotopesCo
|
|
|
4
4
|
import {MacrostratColumnProvider as $29bf41d89292aad4$export$9e42f9b6e0d67c7d, MacrostratAPIProvider as $29bf41d89292aad4$export$3098013bc6cc316d} from "./providers.cd1e652f.js";
|
|
5
5
|
import {extendDivision as $2c60de495788ce61$export$9f8a901d6936c6b6, preprocessUnits as $2c60de495788ce61$export$55543e159517d62d, groupUnitsIntoSections as $2c60de495788ce61$export$dfbd00399d639b4c, _mergeOverlappingSections as $2c60de495788ce61$export$ec445c47b6e5d2d, ensureArray as $2c60de495788ce61$export$d0c8ecbd4ed8940c} from "./helpers.8a03cfc7.js";
|
|
6
6
|
import {ResizableMapFrame as $157bdadaa2bcfcf5$export$c4313db718750a5a, ColumnNavigatorMap as $157bdadaa2bcfcf5$export$d9144ecbc6b090c5, MeasurementsLayer as $347c34ac01fb689b$export$2254347cd20e6080, processTopoJSON as $347c34ac01fb689b$export$4ad66a3119e1afaa, ColumnFeatures as $347c34ac01fb689b$export$f177ff57c101017a, ColumnKeyboardNavigation as $347c34ac01fb689b$export$8c41dd563753848, useColumnData as $347c34ac01fb689b$export$6b70218db02fa4ce, Columns as $347c34ac01fb689b$export$f02cc02ad0e0bba3, ColumnCenters as $347c34ac01fb689b$export$4d8f6e6df85d9012, CurrentColumn as $347c34ac01fb689b$export$b9d912252344e099} from "./map.7aa26f17.js";
|
|
7
|
-
import {UnitComponent as $2118f0266dc7e955$export$48a4cacf2b7a4441, Column as $2118f0266dc7e955$export$816b5d811295e6bc} from "./column.
|
|
7
|
+
import {UnitComponent as $2118f0266dc7e955$export$48a4cacf2b7a4441, Column as $2118f0266dc7e955$export$816b5d811295e6bc} from "./column.8dd26e1a.js";
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {CompositeUnitsColumn as $8c8238faa5cde49c$export$a6684360fef0406e} from "./composite.608a4ca2.js";
|
|
2
2
|
import {AgeAxis as $43794af7643cdf40$export$25ce20521d0ab97d} from "./age-axis.64c509ee.js";
|
|
3
3
|
import {MacrostratColumnProvider as $29bf41d89292aad4$export$9e42f9b6e0d67c7d} from "./providers.cd1e652f.js";
|
|
4
|
-
import $7zu8d$
|
|
5
|
-
import "./column.module.
|
|
4
|
+
import $7zu8d$columnmodulee632868ajs from "./column.module.e632868a.js";
|
|
5
|
+
import "./column.module.039d872c.css";
|
|
6
6
|
import {useMemo as $7zu8d$useMemo} from "react";
|
|
7
7
|
import {Timescale as $7zu8d$Timescale, TimescaleOrientation as $7zu8d$TimescaleOrientation} from "@macrostrat/timescale";
|
|
8
8
|
import {ColumnSVG as $7zu8d$ColumnSVG} from "@macrostrat/column-components";
|
|
@@ -20,7 +20,7 @@ function $parcel$interopDefault(a) {
|
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
|
|
23
|
-
const $7d0f52717c0de7e1$var$h = (0, $7zu8d$macrostrathyper).styled((0, ($parcel$interopDefault($7zu8d$
|
|
23
|
+
const $7d0f52717c0de7e1$var$h = (0, $7zu8d$macrostrathyper).styled((0, ($parcel$interopDefault($7zu8d$columnmodulee632868ajs))));
|
|
24
24
|
function $7d0f52717c0de7e1$export$6e2c8f0811a474ce(props) {
|
|
25
25
|
// Section with "squishy" time scale
|
|
26
26
|
const { data: data, range: _range, pixelScale: _pixelScale, unitComponent: unitComponent, showLabels: showLabels = true, targetUnitHeight: targetUnitHeight = 20, width: width = 300, columnWidth: columnWidth = 150, unitComponentProps: unitComponentProps, showLabelColumn: showLabelColumn = true } = props;
|
|
@@ -115,4 +115,4 @@ const $7d0f52717c0de7e1$var$timescaleLevels = [
|
|
|
115
115
|
|
|
116
116
|
|
|
117
117
|
export {$7d0f52717c0de7e1$export$6e2c8f0811a474ce as Section};
|
|
118
|
-
//# sourceMappingURL=section.
|
|
118
|
+
//# sourceMappingURL=section.cc1b1100.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;;;;;;;;;;;;;;;;;;;;;AASA,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,wEAAK;AAuBrB,SAAS,0CAAQ,KAAmB;IACzC,oCAAoC;IACpC,MAAM,QACJ,IAAI,EACJ,OAAO,MAAM,EACb,YAAY,WAAW,iBACvB,aAAa,cACb,aAAa,wBACb,mBAAmB,WACnB,QAAQ,kBACR,cAAc,yBACd,kBAAkB,mBAClB,kBAAkB,MACnB,GAAG;IAEJ,MAAM,QAAQ,KAAK,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC,IAAM,EAAE,KAAK;IACjD,MAAM,QAAQ,KAAK,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC,IAAM,EAAE,KAAK;IAEjD,MAAM,QAAQ,CAAA,GAAA,cAAM,EAAE;QACpB,IAAI,UAAU,MACZ,OAAO;YAAC;YAAO;SAAM;QAEvB,OAAO;IACT,GAAG;QAAC;QAAQ;QAAO;KAAM;IAEzB,MAAM,OAAO,CAAA,GAAA,cAAM,EAAE,IAAM,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,EAAE;QAAC;KAAM;IAEvD,MAAM,aAAa,CAAA,GAAA,cAAM,EAAE;QACzB,IAAI,eAAe,MAAM,OAAO;QAChC,MAAM,eAAe,mBAAmB,KAAK,MAAM;QACnD,OAAO,KAAK,IAAI,CAAC,eAAe;IAClC,GAAG;QAAC;QAAa;QAAkB,KAAK,MAAM;QAAE;KAAK;IAErD,MAAM,SAAS,CAAA,GAAA,cAAM,EAAE,IAAM,OAAO,YAAY;QAAC;QAAM;KAAW;IAElE;;;GAGC,GACD,MAAM,sBAAsB,CAAA,GAAA,cAAM,EAAE;QAClC,OAAO;YACL,GAAG,kBAAkB;YACrB,UAAU,KAAK,GAAG,CAChB,KAAK,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC,IAAM,EAAE,MAAM,KAAK,GACzC,oBAAoB,YAAY;QAEpC;IACF,GAAG;QAAC;QAAM;KAAmB;IAE7B,OAAO,wBACL,CAAA,GAAA,yCAAuB,GACvB;QACE,WAAW;eACX;QACA,gBAAgB;IAClB,GACA;QACE,wBAAE,CAAA,GAAA,yCAAM,GAAG;YACT,OAAO;YACP,SAAS;YACT,UAAU;YACV,WAAW;QACb;QACA,wBAAE,2BAA2B;YAAE,OAAO;gBAAE,WAAW,CAAC,IAAI,CAAC;YAAC;QAAE,GAAG;YAC7D,wBAAE,CAAA,GAAA,gBAAQ,GAAG;gBACX,aAAa,CAAA,GAAA,2BAAmB,EAAE,QAAQ;gBAC1C,QAAQ;gBACR,QAAQ;gBACR,kBAAkB;gBAClB,aAAa;gBACb,UAAU;YACZ;SACD;QACD,wBACE,CAAA,GAAA,gBAAQ,GACR;YACE,YAAY,aAAa,QAAQ;YACjC,cAAc;YACd,aAAa;YACb,UAAU;YACV,aAAa;QACf,GACA,wBAAE,CAAA,GAAA,yCAAmB,GAAG;YACtB,iBAAiB;YACjB,OAAO,aAAa,QAAQ;yBAC5B;YACA,aAAa;wBACb;2BACA;YACA,oBAAoB;QACtB;KAEH;AAEL;AAEA,MAAM,wCAAkB;IAAC;IAAG;CAAE","sources":["packages/column-views/src/section.ts"],"sourcesContent":["import { CompositeUnitsColumn, IUnit } from \"./units\";\nimport { ReactNode, useMemo } from \"react\";\nimport { AgeAxis } from \"./age-axis\";\nimport { Timescale, TimescaleOrientation } from \"@macrostrat/timescale\";\nimport { ColumnSVG } from \"@macrostrat/column-components\";\nimport { MacrostratColumnProvider } from \"./index\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./column.module.sass\";\n\nconst h = hyper.styled(styles);\n\nexport interface SectionInfo {\n section_id: number | number[];\n t_age: number;\n b_age: number;\n units: IUnit[];\n}\n\nexport interface IColumnProps {\n data: IUnit[];\n pixelScale?: number;\n range?: [number, number];\n unitComponent?: React.FunctionComponent<any>;\n unitComponentProps?: any;\n showLabels?: boolean;\n width?: number;\n columnWidth?: number;\n targetUnitHeight?: number;\n children?: ReactNode;\n showLabelColumn?: boolean;\n}\n\nexport function Section(props: IColumnProps) {\n // Section with \"squishy\" time scale\n const {\n data,\n range: _range,\n pixelScale: _pixelScale,\n unitComponent,\n showLabels = true,\n targetUnitHeight = 20,\n width = 300,\n columnWidth = 150,\n unitComponentProps,\n showLabelColumn = true,\n } = props;\n\n const b_age = Math.max(...data.map((d) => d.b_age));\n const t_age = Math.min(...data.map((d) => d.t_age));\n\n const range = useMemo(() => {\n if (_range == null) {\n return [b_age, t_age];\n }\n return _range;\n }, [_range, b_age, t_age]);\n\n const dAge = useMemo(() => range[0] - range[1], [range]);\n\n const pixelScale = useMemo(() => {\n if (_pixelScale != null) return _pixelScale;\n const targetHeight = targetUnitHeight * data.length;\n return Math.ceil(targetHeight / dAge);\n }, [_pixelScale, targetUnitHeight, data.length, dAge]);\n\n const height = useMemo(() => dAge * pixelScale, [dAge, pixelScale]);\n\n /** Ensure that we can arrange units into the maximum number\n * of columns defined by unitComponentProps, but that we don't\n * use more than necessary.\n */\n const _unitComponentProps = useMemo(() => {\n return {\n ...unitComponentProps,\n nColumns: Math.min(\n Math.max(...data.map((d) => d.column)) + 1,\n unitComponentProps?.nColumns ?? 2\n ),\n };\n }, [data, unitComponentProps]);\n\n return h(\n MacrostratColumnProvider,\n {\n divisions: data,\n range,\n pixelsPerMeter: pixelScale, // Actually pixels per myr\n },\n [\n h(AgeAxis, {\n width: 20,\n padding: 0,\n paddingV: 10,\n showLabel: false,\n }),\n h(\"div.timescale-container\", { style: { marginTop: `10px` } }, [\n h(Timescale, {\n orientation: TimescaleOrientation.VERTICAL,\n length: height,\n levels: timescaleLevels as [number, number],\n absoluteAgeScale: true,\n showAgeAxis: false,\n ageRange: range as [number, number],\n }),\n ]),\n h(\n ColumnSVG,\n {\n innerWidth: showLabels ? width : columnWidth,\n paddingRight: 1,\n paddingLeft: 1,\n paddingV: 10,\n innerHeight: height,\n },\n h(CompositeUnitsColumn, {\n showLabelColumn: showLabelColumn,\n width: showLabels ? width : columnWidth,\n columnWidth,\n gutterWidth: 5,\n showLabels,\n unitComponent,\n unitComponentProps: _unitComponentProps,\n })\n ),\n ]\n );\n}\n\nconst timescaleLevels = [2, 5];\n"],"names":[],"version":3,"file":"section.
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;;;;;;;;;AASA,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,wEAAK;AAuBrB,SAAS,0CAAQ,KAAmB;IACzC,oCAAoC;IACpC,MAAM,QACJ,IAAI,EACJ,OAAO,MAAM,EACb,YAAY,WAAW,iBACvB,aAAa,cACb,aAAa,wBACb,mBAAmB,WACnB,QAAQ,kBACR,cAAc,yBACd,kBAAkB,mBAClB,kBAAkB,MACnB,GAAG;IAEJ,MAAM,QAAQ,KAAK,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC,IAAM,EAAE,KAAK;IACjD,MAAM,QAAQ,KAAK,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC,IAAM,EAAE,KAAK;IAEjD,MAAM,QAAQ,CAAA,GAAA,cAAM,EAAE;QACpB,IAAI,UAAU,MACZ,OAAO;YAAC;YAAO;SAAM;QAEvB,OAAO;IACT,GAAG;QAAC;QAAQ;QAAO;KAAM;IAEzB,MAAM,OAAO,CAAA,GAAA,cAAM,EAAE,IAAM,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,EAAE;QAAC;KAAM;IAEvD,MAAM,aAAa,CAAA,GAAA,cAAM,EAAE;QACzB,IAAI,eAAe,MAAM,OAAO;QAChC,MAAM,eAAe,mBAAmB,KAAK,MAAM;QACnD,OAAO,KAAK,IAAI,CAAC,eAAe;IAClC,GAAG;QAAC;QAAa;QAAkB,KAAK,MAAM;QAAE;KAAK;IAErD,MAAM,SAAS,CAAA,GAAA,cAAM,EAAE,IAAM,OAAO,YAAY;QAAC;QAAM;KAAW;IAElE;;;GAGC,GACD,MAAM,sBAAsB,CAAA,GAAA,cAAM,EAAE;QAClC,OAAO;YACL,GAAG,kBAAkB;YACrB,UAAU,KAAK,GAAG,CAChB,KAAK,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC,IAAM,EAAE,MAAM,KAAK,GACzC,oBAAoB,YAAY;QAEpC;IACF,GAAG;QAAC;QAAM;KAAmB;IAE7B,OAAO,wBACL,CAAA,GAAA,yCAAuB,GACvB;QACE,WAAW;eACX;QACA,gBAAgB;IAClB,GACA;QACE,wBAAE,CAAA,GAAA,yCAAM,GAAG;YACT,OAAO;YACP,SAAS;YACT,UAAU;YACV,WAAW;QACb;QACA,wBAAE,2BAA2B;YAAE,OAAO;gBAAE,WAAW,CAAC,IAAI,CAAC;YAAC;QAAE,GAAG;YAC7D,wBAAE,CAAA,GAAA,gBAAQ,GAAG;gBACX,aAAa,CAAA,GAAA,2BAAmB,EAAE,QAAQ;gBAC1C,QAAQ;gBACR,QAAQ;gBACR,kBAAkB;gBAClB,aAAa;gBACb,UAAU;YACZ;SACD;QACD,wBACE,CAAA,GAAA,gBAAQ,GACR;YACE,YAAY,aAAa,QAAQ;YACjC,cAAc;YACd,aAAa;YACb,UAAU;YACV,aAAa;QACf,GACA,wBAAE,CAAA,GAAA,yCAAmB,GAAG;YACtB,iBAAiB;YACjB,OAAO,aAAa,QAAQ;yBAC5B;YACA,aAAa;wBACb;2BACA;YACA,oBAAoB;QACtB;KAEH;AAEL;AAEA,MAAM,wCAAkB;IAAC;IAAG;CAAE","sources":["packages/column-views/src/section.ts"],"sourcesContent":["import { CompositeUnitsColumn, IUnit } from \"./units\";\nimport { ReactNode, useMemo } from \"react\";\nimport { AgeAxis } from \"./age-axis\";\nimport { Timescale, TimescaleOrientation } from \"@macrostrat/timescale\";\nimport { ColumnSVG } from \"@macrostrat/column-components\";\nimport { MacrostratColumnProvider } from \"./index\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./column.module.sass\";\n\nconst h = hyper.styled(styles);\n\nexport interface SectionInfo {\n section_id: number | number[];\n t_age: number;\n b_age: number;\n units: IUnit[];\n}\n\nexport interface IColumnProps {\n data: IUnit[];\n pixelScale?: number;\n range?: [number, number];\n unitComponent?: React.FunctionComponent<any>;\n unitComponentProps?: any;\n showLabels?: boolean;\n width?: number;\n columnWidth?: number;\n targetUnitHeight?: number;\n children?: ReactNode;\n showLabelColumn?: boolean;\n}\n\nexport function Section(props: IColumnProps) {\n // Section with \"squishy\" time scale\n const {\n data,\n range: _range,\n pixelScale: _pixelScale,\n unitComponent,\n showLabels = true,\n targetUnitHeight = 20,\n width = 300,\n columnWidth = 150,\n unitComponentProps,\n showLabelColumn = true,\n } = props;\n\n const b_age = Math.max(...data.map((d) => d.b_age));\n const t_age = Math.min(...data.map((d) => d.t_age));\n\n const range = useMemo(() => {\n if (_range == null) {\n return [b_age, t_age];\n }\n return _range;\n }, [_range, b_age, t_age]);\n\n const dAge = useMemo(() => range[0] - range[1], [range]);\n\n const pixelScale = useMemo(() => {\n if (_pixelScale != null) return _pixelScale;\n const targetHeight = targetUnitHeight * data.length;\n return Math.ceil(targetHeight / dAge);\n }, [_pixelScale, targetUnitHeight, data.length, dAge]);\n\n const height = useMemo(() => dAge * pixelScale, [dAge, pixelScale]);\n\n /** Ensure that we can arrange units into the maximum number\n * of columns defined by unitComponentProps, but that we don't\n * use more than necessary.\n */\n const _unitComponentProps = useMemo(() => {\n return {\n ...unitComponentProps,\n nColumns: Math.min(\n Math.max(...data.map((d) => d.column)) + 1,\n unitComponentProps?.nColumns ?? 2\n ),\n };\n }, [data, unitComponentProps]);\n\n return h(\n MacrostratColumnProvider,\n {\n divisions: data,\n range,\n pixelsPerMeter: pixelScale, // Actually pixels per myr\n },\n [\n h(AgeAxis, {\n width: 20,\n padding: 0,\n paddingV: 10,\n showLabel: false,\n }),\n h(\"div.timescale-container\", { style: { marginTop: `10px` } }, [\n h(Timescale, {\n orientation: TimescaleOrientation.VERTICAL,\n length: height,\n levels: timescaleLevels as [number, number],\n absoluteAgeScale: true,\n showAgeAxis: false,\n ageRange: range as [number, number],\n }),\n ]),\n h(\n ColumnSVG,\n {\n innerWidth: showLabels ? width : columnWidth,\n paddingRight: 1,\n paddingLeft: 1,\n paddingV: 10,\n innerHeight: height,\n },\n h(CompositeUnitsColumn, {\n showLabelColumn: showLabelColumn,\n width: showLabels ? width : columnWidth,\n columnWidth,\n gutterWidth: 5,\n showLabels,\n unitComponent,\n unitComponentProps: _unitComponentProps,\n })\n ),\n ]\n );\n}\n\nconst timescaleLevels = [2, 5];\n"],"names":[],"version":3,"file":"section.cc1b1100.js.map"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@macrostrat/column-views",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "Data views for Macrostrat stratigraphic columns",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"source": "src/index.ts",
|
|
@@ -30,13 +30,13 @@
|
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@macrostrat/api-types": "^1.0.0",
|
|
33
|
-
"@macrostrat/column-components": "^1.0.
|
|
33
|
+
"@macrostrat/column-components": "^1.0.3",
|
|
34
34
|
"@macrostrat/data-components": "^0.0.6",
|
|
35
35
|
"@macrostrat/hyper": "^3.0.6",
|
|
36
36
|
"@macrostrat/stratigraphy-utils": "^1.0.0",
|
|
37
37
|
"@macrostrat/svg-map-components": "^1.0.3",
|
|
38
38
|
"@macrostrat/timescale": "^2.1.1",
|
|
39
|
-
"@macrostrat/ui-components": "^4.1.
|
|
39
|
+
"@macrostrat/ui-components": "^4.1.2",
|
|
40
40
|
"@types/chroma-js": "^3",
|
|
41
41
|
"@types/d3-format": "^3",
|
|
42
42
|
"@types/d3-geo": "^3",
|
package/src/column.module.sass
CHANGED
|
@@ -1,14 +1,37 @@
|
|
|
1
|
-
.column-container
|
|
1
|
+
.column-container, body:global(.light-mode) .column-container
|
|
2
2
|
--column-background-color: var(--background-color, #fff)
|
|
3
3
|
--column-stroke-color: var(--text-color, #000)
|
|
4
4
|
--column-text-color: var(--text-color, #000)
|
|
5
5
|
|
|
6
|
+
/* We have to duplicate the dark mode styles here
|
|
7
|
+
because we want to set them either if the preferred
|
|
8
|
+
color scheme is dark OR if dark mode is explicitly enabled.
|
|
9
|
+
If dark mode is explicitly enabled, we want to override
|
|
10
|
+
the media query. */
|
|
6
11
|
@media (prefers-color-scheme: dark)
|
|
7
|
-
.column-container
|
|
12
|
+
body:not(:global(.light-mode)) .column-container
|
|
8
13
|
--column-background-color: var(--background-color, #000)
|
|
9
14
|
--column-stroke-color: var(--text-color, #fff)
|
|
10
15
|
--column-text-color: var(--text-color, #fff)
|
|
11
16
|
color-scheme: dark
|
|
17
|
+
color: var(--column-text-color)
|
|
18
|
+
:global
|
|
19
|
+
.timescale
|
|
20
|
+
color: #000
|
|
21
|
+
g.inner pattern image
|
|
22
|
+
filter: invert(80%)
|
|
23
|
+
|
|
24
|
+
body:global(.dark-mode) .column-container
|
|
25
|
+
--column-background-color: var(--background-color, #000)
|
|
26
|
+
--column-stroke-color: var(--text-color, #fff)
|
|
27
|
+
--column-text-color: var(--text-color, #fff)
|
|
28
|
+
color-scheme: dark
|
|
29
|
+
color: var(--column-text-color)
|
|
30
|
+
:global
|
|
31
|
+
.timescale
|
|
32
|
+
color: #000
|
|
33
|
+
g.inner pattern image
|
|
34
|
+
filter: invert(80%)
|
|
12
35
|
|
|
13
36
|
.column-container :global
|
|
14
37
|
.column
|
|
@@ -102,13 +125,3 @@
|
|
|
102
125
|
transform: translateY(-0.5em)
|
|
103
126
|
width: var(--column-width)
|
|
104
127
|
color: var(--column-stroke-color)
|
|
105
|
-
|
|
106
|
-
.column-container.dark-mode :global
|
|
107
|
-
color: var(--column-text-color)
|
|
108
|
-
|
|
109
|
-
.column-container.dark-mode :global .timescale
|
|
110
|
-
color: #000
|
|
111
|
-
|
|
112
|
-
.column-container.dark-mode :global g.inner pattern image
|
|
113
|
-
filter: invert(80%)
|
|
114
|
-
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":";;;;;;;;;;AAAA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AAHA,4CAAqC;AACrC,4CAAiC;AACjC,4CAAsC;AACtC,4CAA8B","sources":["packages/column-views/src/column.module.sass"],"sourcesContent":[".column-container\n --column-background-color: var(--background-color, #fff)\n --column-stroke-color: var(--text-color, #000)\n --column-text-color: var(--text-color, #000)\n\n@media (prefers-color-scheme: dark)\n .column-container\n --column-background-color: var(--background-color, #000)\n --column-stroke-color: var(--text-color, #fff)\n --column-text-color: var(--text-color, #fff)\n color-scheme: dark\n\n.column-container :global\n .column\n display: flex\n flex-direction: row\n position: relative\n\n .age-axis-label\n writing-mode: vertical-lr\n transform: rotate(180deg)\n font-size: 12px\n text-align: center\n position: sticky\n top: 0\n max-height: 100vh\n\n .tick text\n text-anchor: middle\n font-weight: 400 !important\n transform: rotate(-90deg) translate(8px, -12px)\n\n rect.unit\n stroke: var(--column-stroke-color)\n stroke-width: 1px\n\n g.lithology-column use.frame\n stroke: var(--column-stroke-color)\n stroke-width: 1.5px !important\n pointer-events: none\n\n.column-container :global .unit-label\n text-align: center\n\n.column-container :global .col-note-label\n font-size: 10px\n margin-top: 3px\n padding: 2px\n padding-left: 3px\n line-height: 9px\n border-left: none !important\n\n.column-container :global g.height-range\n display: none\n\n.column-container :global .note-inner\n border: none\n\n.column-container :global .frame rect\n fill: transparent\n\n.column-container :global .labeled-unit .unit-overlay\n font-size: 10px\n font-style: italic\n display: flex\n align-items: center\n justify-content: center\n\n.column-container :global .labeled-unit .unit-overlay .unit-label\n display: block\n text-shadow: 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color)\n\n.column-container :global .default-buttons\n width: 100%\n margin: 0 -10px\n\n.column-container :global div.section\n display: flex\n flex-direction: row\n\n.column-container :global div.section :global(.timescale)\n transform: translateY(0.5)\n\n.column-container :global .section .divisions .unit\n cursor: pointer\n\n.column-container :global rect.selection-overlay\n fill: rgba(255,0,0,0.5)\n\n.column-container :global div.timescale\n width: calc(6em + 4px)\n --timescale-level-size: 1.5em\n\n.unconformity\n height: 0px\n font-size: 10px\n font-style: italic\n text-align: center\n margin-left: calc(6em + 4px + 40px)\n\n.unconformity-text\n transform: translateY(-0.5em)\n width: var(--column-width)\n color: var(--column-stroke-color)\n\n.column-container.dark-mode :global\n color: var(--column-text-color)\n\n.column-container.dark-mode :global .timescale\n color: #000\n\n.column-container.dark-mode :global g.inner pattern image\n filter: invert(80%)\n\n"],"names":[],"version":3,"file":"column.module.9b8ce99d.js.map"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"AAAA;;;;;;AAKA;EACE;;;;;;;;AAQE;;;;;;AAME;;;;;;;;;;AAUA;;;;;;AAMJ;;;;;;;;;;;AASA;;;;AAIA;;;;;;;;AAOA;;;;AAGA;;;;AAGA;;;;AAIA;;;;;;;;AAMF;;;;;AAIA;;;;;AAIA;;;;;AAIE;;;;AAGA;;;;AAGA;;;;AAGF;;;;;AAKE;;;;;;;;;;;;;;AAWA;;;;AAGA","sources":["packages/column-views/src/column.module.sass"],"sourcesContent":[".column-container\n --column-background-color: var(--background-color, #fff)\n --column-stroke-color: var(--text-color, #000)\n --column-text-color: var(--text-color, #000)\n\n@media (prefers-color-scheme: dark)\n .column-container\n --column-background-color: var(--background-color, #000)\n --column-stroke-color: var(--text-color, #fff)\n --column-text-color: var(--text-color, #fff)\n color-scheme: dark\n\n.column-container :global\n .column\n display: flex\n flex-direction: row\n position: relative\n\n .age-axis-label\n writing-mode: vertical-lr\n transform: rotate(180deg)\n font-size: 12px\n text-align: center\n position: sticky\n top: 0\n max-height: 100vh\n\n .tick text\n text-anchor: middle\n font-weight: 400 !important\n transform: rotate(-90deg) translate(8px, -12px)\n\n rect.unit\n stroke: var(--column-stroke-color)\n stroke-width: 1px\n\n g.lithology-column use.frame\n stroke: var(--column-stroke-color)\n stroke-width: 1.5px !important\n pointer-events: none\n\n.column-container :global .unit-label\n text-align: center\n\n.column-container :global .col-note-label\n font-size: 10px\n margin-top: 3px\n padding: 2px\n padding-left: 3px\n line-height: 9px\n border-left: none !important\n\n.column-container :global g.height-range\n display: none\n\n.column-container :global .note-inner\n border: none\n\n.column-container :global .frame rect\n fill: transparent\n\n.column-container :global .labeled-unit .unit-overlay\n font-size: 10px\n font-style: italic\n display: flex\n align-items: center\n justify-content: center\n\n.column-container :global .labeled-unit .unit-overlay .unit-label\n display: block\n text-shadow: 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color), 0px 0px 4px var(--column-background-color)\n\n.column-container :global .default-buttons\n width: 100%\n margin: 0 -10px\n\n.column-container :global div.section\n display: flex\n flex-direction: row\n\n.column-container :global div.section :global(.timescale)\n transform: translateY(0.5)\n\n.column-container :global .section .divisions .unit\n cursor: pointer\n\n.column-container :global rect.selection-overlay\n fill: rgba(255,0,0,0.5)\n\n.column-container :global div.timescale\n width: calc(6em + 4px)\n --timescale-level-size: 1.5em\n\n.unconformity\n height: 0px\n font-size: 10px\n font-style: italic\n text-align: center\n margin-left: calc(6em + 4px + 40px)\n\n.unconformity-text\n transform: translateY(-0.5em)\n width: var(--column-width)\n color: var(--column-stroke-color)\n\n.column-container.dark-mode :global\n color: var(--column-text-color)\n\n.column-container.dark-mode :global .timescale\n color: #000\n\n.column-container.dark-mode :global g.inner pattern image\n filter: invert(80%)\n\n"],"names":[],"version":3,"file":"column.module.b5e18f0c.css.map"}
|