@macrostrat/column-views 2.1.1 → 2.1.3
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 +12 -0
- package/dist/esm/{column-views.0c14e18e.js → column-views.07db2ab1.js} +8 -8
- package/dist/esm/{column-views.0c14e18e.js.map → column-views.07db2ab1.js.map} +1 -1
- package/dist/esm/{column-views.4df0b803.js → column-views.0e06c069.js} +7 -7
- package/dist/esm/{column-views.4df0b803.js.map → column-views.0e06c069.js.map} +1 -1
- package/dist/esm/{column-views.52a6eb47.js → column-views.103b1cb0.js} +2 -2
- package/dist/esm/{column-views.52a6eb47.js.map → column-views.103b1cb0.js.map} +1 -1
- package/dist/esm/{column-views.a91dde4a.js → column-views.2e0ff311.js} +3 -3
- package/dist/esm/{column-views.a91dde4a.js.map → column-views.2e0ff311.js.map} +1 -1
- package/dist/esm/column-views.323cad41.js +11 -0
- package/dist/esm/{column-views.cfcf6096.js.map → column-views.323cad41.js.map} +1 -1
- package/dist/esm/{column-views.3ba9213d.js → column-views.34a1ac4f.js} +33 -5
- package/dist/esm/column-views.34a1ac4f.js.map +1 -0
- package/dist/esm/{column-views.c8e2983a.js → column-views.3729c372.js} +4 -4
- package/dist/esm/{column-views.c8e2983a.js.map → column-views.3729c372.js.map} +1 -1
- package/dist/esm/{column-views.c32d6ad0.js → column-views.3b637517.js} +9 -5
- package/dist/esm/column-views.3b637517.js.map +1 -0
- package/dist/esm/{column-views.2ca34210.js → column-views.3d001ab8.js} +5 -5
- package/dist/esm/{column-views.2ca34210.js.map → column-views.3d001ab8.js.map} +1 -1
- package/dist/esm/{column-views.5cc09c1d.js → column-views.3f246167.js} +9 -2
- package/dist/esm/column-views.3f246167.js.map +1 -0
- package/dist/esm/{column-views.bcffe6e5.js → column-views.43fb819d.js} +3 -3
- package/dist/esm/{column-views.bcffe6e5.js.map → column-views.43fb819d.js.map} +1 -1
- package/dist/esm/{column-views.89b9e542.js → column-views.49adc09e.js} +2 -2
- package/dist/esm/{column-views.89b9e542.js.map → column-views.49adc09e.js.map} +1 -1
- package/dist/esm/{column-views.7e350ae2.js → column-views.53f4160e.js} +3 -3
- package/dist/esm/{column-views.7e350ae2.js.map → column-views.53f4160e.js.map} +1 -1
- package/dist/esm/{column-views.f13a1d6e.js → column-views.572b70fd.js} +2 -2
- package/dist/esm/{column-views.f13a1d6e.js.map → column-views.572b70fd.js.map} +1 -1
- package/dist/esm/{column-views.fa19cea0.js → column-views.60dc6bfc.js} +2 -2
- package/dist/esm/{column-views.fa19cea0.js.map → column-views.60dc6bfc.js.map} +1 -1
- package/dist/esm/{column-views.1af9761e.js → column-views.64a84c43.js} +1 -2
- package/dist/esm/column-views.64a84c43.js.map +1 -0
- package/dist/esm/{column-views.08440694.js → column-views.6ca980ae.js} +2 -2
- package/dist/esm/{column-views.08440694.js.map → column-views.6ca980ae.js.map} +1 -1
- package/dist/esm/{column-views.10eba967.js → column-views.6d5e3098.js} +3 -3
- package/dist/esm/{column-views.10eba967.js.map → column-views.6d5e3098.js.map} +1 -1
- package/dist/esm/{column-views.85c6a716.js → column-views.6dc251d3.js} +2 -2
- package/dist/esm/{column-views.85c6a716.js.map → column-views.6dc251d3.js.map} +1 -1
- package/dist/esm/{column-views.2d8e0e0f.js → column-views.7d47a72a.js} +3 -3
- package/dist/esm/{column-views.2d8e0e0f.js.map → column-views.7d47a72a.js.map} +1 -1
- package/dist/esm/{column-views.1f123354.js → column-views.9771145a.js} +76 -28
- package/dist/esm/column-views.9771145a.js.map +1 -0
- package/dist/esm/{column-views.6549388a.js → column-views.9e1c82fe.js} +2 -2
- package/dist/esm/{column-views.6549388a.js.map → column-views.9e1c82fe.js.map} +1 -1
- package/dist/esm/{column-views.fdb0e9ec.js → column-views.a23b2c92.js} +35 -10
- package/dist/esm/column-views.a23b2c92.js.map +1 -0
- package/dist/esm/{column-views.d2037465.js → column-views.a2cf8f33.js} +3 -3
- package/dist/esm/{column-views.d2037465.js.map → column-views.a2cf8f33.js.map} +1 -1
- package/dist/esm/column-views.a5c1bbf0.js +60 -0
- package/dist/esm/column-views.a5c1bbf0.js.map +1 -0
- package/dist/esm/{column-views.b9fe5176.js → column-views.a8926321.js} +2 -2
- package/dist/esm/{column-views.b9fe5176.js.map → column-views.a8926321.js.map} +1 -1
- package/dist/esm/{column-views.e20f6a4b.js → column-views.abe90091.js} +2 -2
- package/dist/esm/{column-views.e20f6a4b.js.map → column-views.abe90091.js.map} +1 -1
- package/dist/esm/{column-views.217078ab.css → column-views.b12a6374.css} +9 -1
- package/dist/esm/column-views.b12a6374.css.map +1 -0
- package/dist/esm/{column-views.25471fe0.css → column-views.b72918ce.css} +49 -20
- package/dist/esm/column-views.b72918ce.css.map +1 -0
- package/dist/esm/{column-views.4637f4ce.js → column-views.cdadc5c2.js} +4 -1
- package/dist/esm/column-views.cdadc5c2.js.map +1 -0
- package/dist/esm/{column-views.c25e8b32.js → column-views.d099eaf9.js} +3 -3
- package/dist/esm/{column-views.c25e8b32.js.map → column-views.d099eaf9.js.map} +1 -1
- package/dist/esm/{column-views.58b82432.js → column-views.d48cb0d8.js} +13 -1
- package/dist/esm/column-views.d48cb0d8.js.map +1 -0
- package/dist/esm/{column-views.59bb0cba.js → column-views.f7523c1d.js} +2 -2
- package/dist/esm/{column-views.59bb0cba.js.map → column-views.f7523c1d.js.map} +1 -1
- package/dist/esm/{column-views.c8cc249a.js → column-views.ff031876.js} +3 -3
- package/dist/esm/{column-views.c8cc249a.js.map → column-views.ff031876.js.map} +1 -1
- package/dist/esm/index.d.ts +55 -15
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +10 -10
- package/dist/node/{column-views.06951a55.js → column-views.0bb1ec93.js} +2 -2
- package/dist/node/{column-views.06951a55.js.map → column-views.0bb1ec93.js.map} +1 -1
- package/dist/node/{column-views.2877f398.js → column-views.0cbd4a3f.js} +2 -2
- package/dist/node/{column-views.2877f398.js.map → column-views.0cbd4a3f.js.map} +1 -1
- package/dist/node/{column-views.770d2c95.js → column-views.13c4ea85.js} +2 -2
- package/dist/node/{column-views.770d2c95.js.map → column-views.13c4ea85.js.map} +1 -1
- package/dist/node/{column-views.3cb3345e.js → column-views.226d0bdb.js} +2 -2
- package/dist/node/{column-views.3cb3345e.js.map → column-views.226d0bdb.js.map} +1 -1
- package/dist/node/column-views.2926f656.css +2 -0
- package/dist/node/column-views.2926f656.css.map +1 -0
- package/dist/node/{column-views.fdaa2963.js → column-views.2ab1c2f8.js} +2 -2
- package/dist/node/{column-views.fdaa2963.js.map → column-views.2ab1c2f8.js.map} +1 -1
- package/dist/node/{column-views.3bd09ad6.js → column-views.31f57130.js} +2 -2
- package/dist/node/{column-views.3bd09ad6.js.map → column-views.31f57130.js.map} +1 -1
- package/dist/node/{column-views.ce6808fe.js → column-views.36094762.js} +2 -2
- package/dist/node/{column-views.ce6808fe.js.map → column-views.36094762.js.map} +1 -1
- package/dist/node/{column-views.1e94d562.js → column-views.372bbee2.js} +2 -2
- package/dist/node/{column-views.1e94d562.js.map → column-views.372bbee2.js.map} +1 -1
- package/dist/node/column-views.38357d4a.js +2 -0
- package/dist/node/column-views.38357d4a.js.map +1 -0
- package/dist/node/{column-views.39d3a0be.js → column-views.3d220e0c.js} +2 -2
- package/dist/node/{column-views.39d3a0be.js.map → column-views.3d220e0c.js.map} +1 -1
- package/dist/node/column-views.3eeac38d.js +2 -0
- package/dist/node/column-views.3eeac38d.js.map +1 -0
- package/dist/node/column-views.3f032518.js +2 -0
- package/dist/node/column-views.3f032518.js.map +1 -0
- package/dist/node/{column-views.7350ac73.js → column-views.42db0bb8.js} +2 -2
- package/dist/node/{column-views.7350ac73.js.map → column-views.42db0bb8.js.map} +1 -1
- package/dist/node/{column-views.6b6b756b.js → column-views.4381c411.js} +2 -2
- package/dist/node/{column-views.6b6b756b.js.map → column-views.4381c411.js.map} +1 -1
- package/dist/node/{column-views.6b441349.js → column-views.50034105.js} +2 -2
- package/dist/node/{column-views.6b441349.js.map → column-views.50034105.js.map} +1 -1
- package/dist/node/{column-views.f76ba19f.js → column-views.507635e2.js} +2 -2
- package/dist/node/{column-views.f76ba19f.js.map → column-views.507635e2.js.map} +1 -1
- package/dist/node/column-views.556e8f69.js +2 -0
- package/dist/node/column-views.556e8f69.js.map +1 -0
- package/dist/node/{column-views.6da49480.js → column-views.5f05b73f.js} +2 -2
- package/dist/node/column-views.5f05b73f.js.map +1 -0
- package/dist/node/column-views.6ae7bb69.js +2 -0
- package/dist/node/column-views.6ae7bb69.js.map +1 -0
- package/dist/node/{column-views.2a70b9a2.js → column-views.6c7a40e0.js} +2 -2
- package/dist/node/{column-views.2a70b9a2.js.map → column-views.6c7a40e0.js.map} +1 -1
- package/dist/node/{column-views.664dc6c9.js → column-views.7010a03b.js} +2 -2
- package/dist/node/{column-views.664dc6c9.js.map → column-views.7010a03b.js.map} +1 -1
- package/dist/node/column-views.75b0a8f8.js +2 -0
- package/dist/node/column-views.75b0a8f8.js.map +1 -0
- package/dist/node/column-views.99fb74c0.js +2 -0
- package/dist/node/column-views.99fb74c0.js.map +1 -0
- package/dist/node/column-views.a2274834.js +2 -0
- package/dist/node/column-views.a2274834.js.map +1 -0
- package/dist/node/column-views.adf9e5b3.js +2 -0
- package/dist/node/column-views.adf9e5b3.js.map +1 -0
- package/dist/node/column-views.af275c48.js +2 -0
- package/dist/node/column-views.af275c48.js.map +1 -0
- package/dist/node/column-views.afbf351c.js +2 -0
- package/dist/node/column-views.afbf351c.js.map +1 -0
- package/dist/node/{column-views.b773edb8.js → column-views.b180e8c9.js} +2 -2
- package/dist/node/{column-views.b773edb8.js.map → column-views.b180e8c9.js.map} +1 -1
- package/dist/node/{column-views.cf90f63d.js → column-views.c18d5bf5.js} +2 -2
- package/dist/node/{column-views.cf90f63d.js.map → column-views.c18d5bf5.js.map} +1 -1
- package/dist/node/{column-views.0859f5d2.js → column-views.c7f6fc0a.js} +2 -2
- package/dist/node/{column-views.0859f5d2.js.map → column-views.c7f6fc0a.js.map} +1 -1
- package/dist/node/{column-views.4e2bdf9b.js → column-views.db5d74bd.js} +2 -2
- package/dist/node/{column-views.4e2bdf9b.js.map → column-views.db5d74bd.js.map} +1 -1
- package/dist/node/{column-views.d9bbd6fb.css → column-views.e1a43131.css} +2 -2
- package/dist/node/column-views.e1a43131.css.map +1 -0
- package/dist/node/{column-views.a025fbe3.js → column-views.e4f18ff7.js} +2 -2
- package/dist/node/{column-views.a025fbe3.js.map → column-views.e4f18ff7.js.map} +1 -1
- package/dist/node/{column-views.12a70e9d.js → column-views.f15a6ed4.js} +2 -2
- package/dist/node/{column-views.12a70e9d.js.map → column-views.f15a6ed4.js.map} +1 -1
- package/dist/node/{column-views.5b6833f0.js → column-views.f17b6142.js} +2 -2
- package/dist/node/{column-views.5b6833f0.js.map → column-views.f17b6142.js.map} +1 -1
- package/dist/node/column-views.fc05616e.js +2 -0
- package/dist/node/column-views.fc05616e.js.map +1 -0
- package/dist/node/index.js +1 -1
- package/dist/node/index.js.map +1 -1
- package/package.json +8 -8
- package/src/age-axis.ts +11 -6
- package/src/column.module.sass +6 -0
- package/src/column.ts +23 -1
- package/src/data-provider/base.ts +49 -2
- package/src/data-provider/fetch.ts +15 -0
- package/src/unit-details/index.ts +1 -0
- package/src/unit-details/modal-panel.ts +61 -0
- package/src/unit-details/panel.module.sass +42 -16
- package/src/unit-details/panel.ts +115 -30
- package/src/units/selection.ts +0 -1
- package/dist/esm/column-views.1af9761e.js.map +0 -1
- package/dist/esm/column-views.1f123354.js.map +0 -1
- package/dist/esm/column-views.217078ab.css.map +0 -1
- package/dist/esm/column-views.25471fe0.css.map +0 -1
- package/dist/esm/column-views.3ba9213d.js.map +0 -1
- package/dist/esm/column-views.4637f4ce.js.map +0 -1
- package/dist/esm/column-views.58b82432.js.map +0 -1
- package/dist/esm/column-views.5cc09c1d.js.map +0 -1
- package/dist/esm/column-views.c32d6ad0.js.map +0 -1
- package/dist/esm/column-views.cfcf6096.js +0 -9
- package/dist/esm/column-views.fdb0e9ec.js.map +0 -1
- package/dist/node/column-views.04407342.js +0 -2
- package/dist/node/column-views.04407342.js.map +0 -1
- package/dist/node/column-views.06b0534e.js +0 -2
- package/dist/node/column-views.06b0534e.js.map +0 -1
- package/dist/node/column-views.10a2bad6.js +0 -2
- package/dist/node/column-views.10a2bad6.js.map +0 -1
- package/dist/node/column-views.1de87649.js +0 -2
- package/dist/node/column-views.1de87649.js.map +0 -1
- package/dist/node/column-views.286d444d.js +0 -2
- package/dist/node/column-views.286d444d.js.map +0 -1
- package/dist/node/column-views.536dc54e.js +0 -2
- package/dist/node/column-views.536dc54e.js.map +0 -1
- package/dist/node/column-views.6da49480.js.map +0 -1
- package/dist/node/column-views.a0aac838.js +0 -2
- package/dist/node/column-views.a0aac838.js.map +0 -1
- package/dist/node/column-views.a8ffe072.js +0 -2
- package/dist/node/column-views.a8ffe072.js.map +0 -1
- package/dist/node/column-views.aff245a8.js +0 -2
- package/dist/node/column-views.aff245a8.js.map +0 -1
- package/dist/node/column-views.cd3c430b.js +0 -2
- package/dist/node/column-views.cd3c430b.js.map +0 -1
- package/dist/node/column-views.d9bbd6fb.css.map +0 -1
- package/dist/node/column-views.ecc2394a.js +0 -2
- package/dist/node/column-views.ecc2394a.js.map +0 -1
- package/dist/node/column-views.f7315cbc.css +0 -2
- package/dist/node/column-views.f7315cbc.css.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"AAAA;;;;;;;;;;;;;AAWE;;;;;;;;AAOI;;;;;AAGF;;;;AAEA;;;;AAEA;;;;AAGF;;;;;AAGA;;;;AAEA;;;;;AAIF;;;;;AAGE;;;;;AAIF;;;;;AAIA;;;;;AAIA;;;;;AAIE;;;;;AAIF;;;;;;;;;AAQA;;;;;;AAKA;;;;;;AAIE;;;;AAEA","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.25471fe0.css.map"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"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","sources":["packages/column-views/src/data-provider/base.ts"],"sourcesContent":["/** Data provider for information that needs to be loaded in bulk for frontend views */\nimport baseFetch from \"cross-fetch\";\nimport { createContext, useContext, useEffect, useMemo, useState } from \"react\";\nimport h from \"@macrostrat/hyper\";\nimport { create, useStore } from \"zustand\";\nimport {\n ColumnGeoJSONRecord,\n ColumnGeoJSONRecordWithID,\n Environment,\n MacrostratRef,\n} from \"@macrostrat/api-types\";\nimport {\n fetchAllColumns,\n fetchEnvironments,\n fetchIntervals,\n fetchLithologies,\n fetchRefs,\n} from \"./fetch\";\nimport { APIProvider } from \"@macrostrat/ui-components\";\nimport { ColumnProvider } from \"@macrostrat/column-components\";\n\nimport { ReactNode } from \"react\";\nimport { useMacrostratColumnData } from \"./store\";\n\nexport interface MacrostratDataProviderProps {\n baseURL: string;\n children: React.ReactNode;\n}\n\ninterface ColumnFootprintsStorage {\n project_id: number;\n // Whether the \"in process\" flag was used\n inProcess: boolean;\n // The column footprints\n columns: ColumnGeoJSONRecordWithID[];\n}\n\ninterface RefsSlice {\n refs: Map<number, MacrostratRef>;\n inFlightRequests: Set<string>; // Track requests to avoid duplicates\n getRefs(ids: number[]): Promise<MacrostratRef[]>;\n}\n\ninterface MacrostratStore extends RefsSlice {\n baseURL: string;\n fetch: any;\n lithologies: Map<number, any> | null;\n getLithologies(ids: number[] | null): Promise<any>;\n intervals: Map<number, any> | null;\n getIntervals(ids: number[] | null, timescaleID: number | null): Promise<any>;\n environments: Map<number, Environment> | null;\n getEnvironments(ids: number[] | null): Promise<Environment[]>;\n columnFootprints: Map<number, ColumnFootprintsStorage>;\n getColumns(\n projectID: number | null,\n inProcess: boolean,\n ): Promise<ColumnGeoJSONRecord[]>;\n}\n\nfunction createMacrostratStore(\n baseURL: string = \"https://macrostrat.org/api/v2\",\n) {\n return create<MacrostratStore>((set, get): MacrostratStore => {\n return {\n baseURL,\n inFlightRequests: new Set(),\n async fetch(url: string, options?: RequestInit) {\n const url1 = baseURL + url;\n // Avoid duplicate requests\n const { inFlightRequests } = get();\n if (inFlightRequests.has(url1)) {\n return null; // Return null if already in flight\n }\n inFlightRequests.add(url1);\n //set({ inFlightRequests });\n const res = await baseFetch(url1, options);\n inFlightRequests.delete(url1);\n //set({in})\n return res;\n },\n ...createLithologiesSlice(set, get),\n ...createIntervalsSlice(set, get),\n ...createEnvironmentsSlice(set, get),\n ...createColumnsSlice(set, get),\n ...createRefsSlice(set, get),\n };\n });\n}\n\nfunction createRefsSlice(set, get) {\n return {\n refs: new Map(),\n async getRefs(ids: number[]): Promise<MacrostratRef[]> {\n const { refs, fetch } = get();\n const missing = ids.filter((id) => !refs.has(id));\n if (missing.length == 0) {\n return ids.map((id) => refs.get(id));\n }\n const data = await fetchRefs(missing, fetch);\n if (data == null) return [];\n for (const d of data) {\n refs.set(d.ref_id, d);\n }\n set({ refs });\n return ids.map((id) => refs.get(id));\n },\n };\n}\n\nfunction createColumnsSlice(set, get) {\n // Column footprints separated by project\n return {\n columnFootprints: new Map(),\n async getColumns(projectID: number | null, inProcess: boolean) {\n const { columnFootprints, baseURL, fetch } = get();\n const key = projectID ?? -1;\n let _inProcess = inProcess;\n if (projectID == null) {\n // If no project is specified, in process columns cannot be included\n _inProcess = false;\n }\n let footprints = columnFootprints.get(key);\n if (footprints == null || footprints.inProcess != _inProcess) {\n // Fetch the columns\n const statusCode = inProcess ? \"in process\" : null;\n let columns = await fetchAllColumns({\n projectID,\n statusCode: null,\n fetch,\n });\n if (columns == null) {\n return;\n }\n if (_inProcess) {\n const inProcessColumns = await fetchAllColumns({\n projectID,\n statusCode: \"in process\",\n fetch,\n });\n if (inProcessColumns == null) {\n return;\n }\n // Combine active and in-process columns\n columns = columns.concat(inProcessColumns);\n }\n\n footprints = {\n project_id: projectID,\n inProcess,\n columns,\n };\n // We could break multi-project result sets into separate caches here...\n // Copy the original map\n const columnFootprints2 = new Map(columnFootprints);\n columnFootprints2.set(key, footprints);\n set({ columnFootprints: columnFootprints2 });\n }\n return footprints.columns;\n },\n };\n}\n\nfunction createLithologiesSlice(set, get) {\n return {\n lithologies: null,\n async getLithologies(ids: number[] | null) {\n const { lithologies, fetch } = get();\n let lithMap = lithologies;\n if (lithMap == null) {\n const data = await fetchLithologies(fetch);\n if (data == null) return;\n lithMap = new Map(data.map((d) => [d.lith_id, d]));\n set({ lithologies: lithMap });\n }\n // Now get the lithologies\n if (ids == null) return lithMap.values();\n return ids.map((id) => lithMap.get(id));\n },\n };\n}\n\nfunction createEnvironmentsSlice(set, get) {\n return {\n environments: null,\n async getEnvironments(ids: number[] | null): Promise<Environment[]> {\n const { environments, fetch } = get();\n let envMap = environments;\n if (envMap == null) {\n const data = await fetchEnvironments(fetch);\n if (data == null) return [];\n envMap = new Map(data.map((d) => [d.environ_id, d]));\n set({ environments: envMap });\n }\n // Now get the environments\n if (ids == null) return envMap.values();\n return ids.map((id) => envMap.get(id));\n },\n };\n}\n\nfunction createIntervalsSlice(set, get) {\n return {\n intervals: null,\n async getIntervals(ids: number[] | null, timescaleID: number | null) {\n const { intervals, fetch } = get();\n let _intervals = intervals;\n if (intervals == null || !includesTimescale(intervals, timescaleID)) {\n // Fetch the intervals\n const data = await fetchIntervals(timescaleID, fetch);\n if (data == null) {\n return [];\n }\n const intervalMap = intervals ?? new Map();\n for (const d of data) {\n intervalMap.set(d.int_id, d);\n }\n _intervals = intervalMap;\n set({ intervals: _intervals });\n }\n if (ids == null && timescaleID == null)\n return Array.from(_intervals.values());\n if (timescaleID != null) {\n return Array.from(_intervals.values() as any[]).filter(\n (d) => d.timescale_id == timescaleID,\n );\n }\n return ids.map((id) => intervals.get(id));\n },\n };\n}\n\nfunction includesTimescale(intervals: Map<number, any>, timescaleID: number) {\n if (intervals == null) return false;\n if (timescaleID == null) return true;\n return Array.from(intervals.values()).some(\n (d) => d.timescale_id == timescaleID,\n );\n}\n\ntype MacrostratSelector = (store: MacrostratStore) => any;\n\nexport function useMacrostratStore(selector: MacrostratSelector | \"api\") {\n const ctx = useContext(MacrostratDataProviderContext);\n if (ctx == null) {\n throw new Error(\"Missing MacrostratDataProvider\");\n }\n if (selector === \"api\") {\n return ctx;\n }\n\n return useStore(ctx, selector);\n}\n\nconst dataTypeMapping = {\n lithologies: (store) => store.getLithologies,\n intervals: (store) => store.getIntervals,\n columns: (store) => store.getColumns,\n environments: (store) => store.getEnvironments,\n refs: (store) => store.getRefs,\n};\n\nexport function useMacrostratDefs(dataType: string): Map<number, any> | null {\n if (dataType == \"columns\") {\n throw new Error(\"Columns are not provided as a map\");\n }\n const operator = useMacrostratStore(dataTypeMapping[dataType]);\n useEffect(() => {\n operator();\n }, []);\n return useMacrostratStore((state) => state[dataType]);\n}\n\nexport function useMacrostratColumns(\n projectID: number | null,\n inProcess: boolean,\n) {\n const getColumns = useMacrostratStore((s) => s.getColumns);\n const columnsMap = useMacrostratStore((s) => s.columnFootprints);\n const key = projectID ?? -1;\n const colData = columnsMap?.get(key);\n useEffect(() => {\n // Refetch if the columns are not available, or if we have requested inProcess columns where we didn't before\n if (colData == null || (inProcess && !colData.inProcess)) {\n getColumns(projectID, inProcess);\n }\n // If we've already fetched the columns there's nothing to do...\n }, [colData, inProcess, getColumns]);\n\n return useMemo(() => {\n if (colData == null) return null;\n let columns = colData.columns;\n if (!inProcess && colData.inProcess) {\n // Our available set of columns includes 'in process' columns, but we don't want them\n columns.features = columns.features?.filter(\n (d) => d.properties.status != \"in process\",\n );\n }\n return columns;\n }, [colData, inProcess]);\n}\n\nexport function useMacrostratData(dataType: string, ...args: any[]) {\n const selector = dataTypeMapping[dataType];\n const operator = useMacrostratStore(selector);\n\n const [value, setValue] = useState(null);\n\n useEffect(() => {\n operator(...args).then(setValue);\n }, [operator, ...args]);\n\n return value;\n}\n\n/** By default, we provide a store linked to the production API */\nconst MacrostratDataProviderContext = createContext(createMacrostratStore());\n\nexport function MacrostratDataProvider(props: MacrostratDataProviderProps) {\n const { baseURL = \"https://macrostrat.org/api/v2\", children } = props;\n\n const [store] = useState(() => createMacrostratStore(baseURL));\n\n return h(\n MacrostratAPIProvider,\n { baseURL },\n h(MacrostratDataProviderContext.Provider, { value: store }, children),\n );\n}\n\n/** Legacy API provider so useAPIResult can work */\n\ntype APIProviderProps = {\n children: ReactNode;\n useDev?: boolean;\n baseURL?: string;\n};\n\nexport function MacrostratAPIProvider({\n children,\n useDev = false,\n baseURL,\n}: APIProviderProps) {\n baseURL ??= useDev\n ? \"https://dev.macrostrat.org/api/v2\"\n : \"https://macrostrat.org/api/v2\";\n\n return h(\n APIProvider,\n {\n baseURL,\n unwrapResponse: (res) => res.success.data,\n },\n children,\n );\n}\n\nexport function MacrostratColumnProvider(props) {\n /** A column provider specialized the Macrostrat API. Maps more\n * generic concepts to Macrostrat-specific ones.\n */\n\n const { axisType } = useMacrostratColumnData();\n const { units, domain, pixelScale, children } = props;\n return h(\n ColumnProvider,\n { axisType, divisions: units, range: domain, pixelsPerMeter: pixelScale },\n children,\n );\n}\n\n/** This is now a legacy provider */\nexport function LithologiesProvider({ children }) {\n useEffect(() => {\n console.warn(\n \"LithologiesProvider is deprecated. Replace with MacrostratDataProvider\",\n );\n }, []);\n return children;\n}\n\nexport function useLithologies() {\n const getLithologies = useMacrostratStore((s) => s.getLithologies);\n const lithologies = useMacrostratStore((s) => s.lithologies);\n useEffect(() => {\n if (lithologies == null) getLithologies();\n }, [lithologies, getLithologies]);\n return lithologies;\n}\n\nexport function useEnvironments() {\n const getEnvironments = useMacrostratStore((s) => s.getEnvironments);\n const environments = useMacrostratStore((s) => s.environments);\n useEffect(() => {\n if (environments == null) getEnvironments();\n }, [environments, getEnvironments]);\n return environments;\n}\n"],"names":[],"version":3,"file":"column-views.3ba9213d.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;AAXA,4CAAqC;AACrC,4CAAqC;AACrC,4CAAiC;AACjC,4CAA4C;AAC5C,4CAAgC;AAChC,4CAAwC;AACxC,4CAAiC;AACjC,4CAAyB;AACzB,4CAAyB;AACzB,4CAA0B;AAC1B,4CAA0B;AAC1B,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-emphasized-color, #000)\n --column-text-color: var(--text-emphasized-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-emphasized-color, #fff)\n --column-text-color: var(--text-emphasized-color, #fff)\n color-scheme: dark\n color: var(--column-text-color)\n :global\n .timescale\n color: #000\n svg pattern image\n filter: invert(100%)\n\nbody:global(.dark-mode) .column-container\n --column-background-color: var(--background-color, #000)\n --column-stroke-color: var(--text-emphasized-color, #fff)\n --column-text-color: var(--text-emphasized-color, #fff)\n color-scheme: dark\n color: var(--column-text-color)\n :global\n .timescale\n color: #000\n svg pattern image\n filter: invert(100%)\n\n.column-container :global\n .column\n display: flex\n flex-direction: row\n position: relative\n height: fit-content\n\n .unit\n stroke: var(--column-stroke-color)\n stroke-width: 1px\n\n .selection-overlay\n fill: var(--selection-overlay-color, red)\n fill-opacity: var(--selection-overlay-opacity, 0.5)\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 line-height: 9px\n border-left: none !important\n margin: 1px 0\n\n.column-container :global g.height-range\n display: none\n\n.column-container :global .note-inner\n border: none\n padding: 1px\n\n.column-container :global .frame rect\n fill: transparent\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 .section .divisions .unit\n cursor: pointer\n\n.column-container :global(.timescale)\n width: calc(calc(1.5em + 1.5px) * var(--timescale-level-count, 4))\n --timescale-level-size: 1.5em\n\n.timescale-column\n position: relative\n\n.section-main\n position: relative\n margin-bottom: -4px\n\n.section-units-container\n position: relative\n\n.main-column\n position: relative\n\n.unconformity-labels\n position: absolute\n top: 0\n left: 0\n pointer-events: none\n\n\n.unconformity\n text-align: center\n position: absolute\n top: 0px\n display: flex\n justify-content: center\n align-items: center\n font-size: 0.8em\n &.giga\n font-weight: 800\n font-size: 1em\n &.mega\n font-weight: 600\n font-weight: 700\n font-size: 0.9em\n &.large\n font-weight: 600\n &.small\n font-weight: 300\n\n\n.unconformity-text\n width: var(--column-width)\n color: var(--column-stroke-color)\n --unit-font-style: normal\n\n\n"],"names":[],"version":3,"file":"column-views.4637f4ce.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/data-provider/fetch.ts"],"sourcesContent":["import {\n ColumnGeoJSONRecord,\n ColumnGeoJSONRecordWithID,\n MacrostratRef,\n UnitLong,\n} from \"@macrostrat/api-types\";\nimport {\n addQueryString,\n joinURL,\n useAPIResult,\n} from \"@macrostrat/ui-components\";\nimport crossFetch from \"cross-fetch\";\nimport { feature } from \"topojson-client\";\nimport { geoArea } from \"d3-geo\";\n\nfunction defaultFetch(\n url: string,\n options: RequestInit | undefined = undefined,\n) {\n const baseURL = \"https://macrostrat.org/api/v2\";\n return crossFetch(baseURL + url, options);\n}\n\nexport interface ColumnFetchOptions {\n apiBaseURL?: string;\n projectID?: number;\n statusCode?: \"in process\";\n format?: \"geojson\" | \"topojson\" | \"geojson_bare\";\n fetch?: any;\n}\n\nexport async function fetchAllColumns(\n options: ColumnFetchOptions = {},\n): Promise<ColumnGeoJSONRecord[]> {\n const {\n apiBaseURL,\n projectID,\n format = \"topojson\",\n statusCode,\n fetch = crossFetch,\n } = options;\n\n let args: any = { format };\n if (projectID != null) {\n args = { ...args, project_id: projectID };\n }\n if (statusCode != null) {\n args = { ...args, status_code: statusCode };\n }\n\n if (projectID == null) {\n args = { ...args, all: true };\n }\n\n let url = \"/columns\";\n if (apiBaseURL != null) {\n url = joinURL(apiBaseURL, url);\n }\n\n // Try with fetch\n url = addQueryString(url, args);\n\n const res = await fetch(url, {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n });\n\n if (res == null) {\n return null;\n }\n\n // Get JSON\n const data = await res.json();\n return postProcessColumns(columnProcessors[format](data));\n}\n\nexport function useColumnFeatures({\n apiRoute = \"/columns\",\n status_code,\n project_id,\n format = \"geojson\",\n}) {\n let all: boolean = undefined;\n if (status_code == null && project_id == null) {\n all = true;\n }\n\n const processor = columnProcessors[format];\n\n return useAPIResult(\n apiRoute,\n { format, all, status_code, project_id },\n processor,\n );\n}\n\nfunction processGeoJSON(res) {\n return processGeoJSONBare(res?.success?.data);\n}\n\nfunction processGeoJSONBare(res) {\n return res?.features;\n}\n\nfunction processTopoJSON(res) {\n try {\n const { data } = res.success;\n const { features: f } = feature(data, data.objects.output) as any;\n return f;\n } catch (err) {\n console.error(err);\n return [];\n }\n}\n\nfunction postProcessColumns(columns) {\n return promoteColumnIDs(\n convertSmallAreasToPoints(removeFeaturesWithoutGeometry(columns)),\n );\n}\n\nfunction promoteColumnIDs(\n features: ColumnGeoJSONRecord[],\n): ColumnGeoJSONRecordWithID[] {\n return features.map((f, i) => {\n return {\n id: f.properties?.col_id,\n ...f,\n };\n });\n}\n\nfunction removeFeaturesWithoutGeometry(features) {\n return features.filter((f) => f.geometry != null);\n}\n\nfunction convertSmallAreasToPoints(features) {\n return features.map((f) => {\n // GeoArea takes a long time to run. We are really more worried about points that are zero-area\n if (geoArea(f.geometry) < 1e-8) {\n const centroid = f.geometry.coordinates[0][0];\n f.geometry = {\n type: \"Point\",\n coordinates: centroid,\n };\n }\n return f;\n });\n}\n\nconst columnProcessors = {\n topojson: processTopoJSON,\n geojson: processGeoJSON,\n geojson_bare: processGeoJSONBare,\n};\n\nasync function unwrapResponse(res) {\n if (res == null) {\n return null;\n }\n const resData = await res.json();\n return resData[\"success\"][\"data\"];\n}\n\nexport async function fetchLithologies(fetch = defaultFetch) {\n const res = await fetch(\"/defs/lithologies?all\");\n return await unwrapResponse(res);\n}\n\nexport async function fetchIntervals(\n timescaleID: number | null,\n fetch = defaultFetch,\n) {\n let url = `/defs/intervals`;\n if (timescaleID != null) {\n url += `?timescale_id=${timescaleID}`;\n } else {\n url += \"?all\";\n }\n const res = await fetch(url);\n return await unwrapResponse(res);\n}\n\nexport async function fetchEnvironments(fetch = defaultFetch) {\n const res = await fetch(\"/defs/environments?all\");\n return await unwrapResponse(res);\n}\n\nexport async function fetchRefs(\n refs: number[],\n fetch = defaultFetch,\n): Promise<MacrostratRef[]> {\n let url = `/defs/refs`;\n if (refs.length == 0) {\n return [];\n }\n url += \"?ref_id=\" + refs.join(\",\");\n const res = await fetch(url);\n return await unwrapResponse(res);\n}\n\nexport type ColumnData = {\n units: UnitLong[];\n columnID: number;\n};\n\nexport async function fetchUnits(\n columns: number[],\n fetch = defaultFetch,\n): Promise<ColumnData[]> {\n const promises = columns.map((col_id) => fetchColumnUnits(col_id, fetch));\n return await Promise.all(promises);\n}\n\nexport async function fetchColumnUnits(\n col_id: number,\n fetch = defaultFetch,\n): Promise<ColumnData> {\n const params = new URLSearchParams();\n params.append(\"response\", \"long\");\n params.append(\"col_id\", col_id.toString());\n const res = await fetch(\"/units\" + \"?\" + params.toString());\n const data = await res.json();\n if (!data.success) {\n throw new Error(\"Failed to fetch column units\");\n }\n const units = data.success.data;\n return { columnID: col_id, units };\n}\n"],"names":[],"version":3,"file":"column-views.5cc09c1d.js.map"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":";;;;;;;;;;;;;;;;;;;;AAeA,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,uEAAK;AAE5B,MAAM,oCAAc,CAAC,SAAE,KAAK,eAAE,cAAc,gBAAI,aAAa,OAAO;IAClE,MAAM,eAAE,WAAW,EAAE,GAAG,CAAA,GAAA,iBAAS,EAAE,CAAA,GAAA,oBAAY;IAC/C,iCAAiC;IACjC,IAAI,IAAI,KAAK,GAAG,CAAC,KAAK,KAAK,CAAC,cAAc,cAAc;IAExD,OAAO,wBAAE,UAAU;QAAE,WAAW;IAAkB,GAAG;QACnD,wBAAE,CAAA,GAAA,iBAAS,GAAG;YACZ,OAAO;wBACP;QACF;KACD;AACH;AAEO,SAAS,0CAAkB,KAAK;IACrC,MAAM,SAAE,QAAQ,aAAO,OAAO,iBAAM,SAAS,EAAE,GAAG;IAClD,OAAO,wBAAE,wCAAwC;mBAAE;IAAU,GAAG;QAC9D;QACA;QACA,wBAAE,EAAE,CAAC,MAAM,CAAA,GAAA,oBAAY,GAAG;YAAE,WAAW;QAAgB,GAAG;KAC3D;AACH;AAEO,SAAS;IACd,MAAM,YAAE,QAAQ,YAAE,QAAQ,eAAE,WAAW,EAAE,GAAG,CAAA,GAAA,yCAAsB;IAElE,MAAM,WAAW,SAAS,GAAG,CAAC,CAAC;QAC7B,OAAO;YACL,KAAK,CAAC,QAAQ,EAAE,QAAQ,UAAU,EAAE;YACpC,GAAG,QAAQ,SAAS;QACtB;IACF;IAEA,OAAO,wBAAE,2CAAsB;kBAC7B;kBACA;qBACA;IACF;AACF;AAQO,SAAS,0CAAqB,KAAsC;IACzE,MAAM,YAAE,QAAQ,eAAE,WAAW,YAAE,QAAQ,EAAE,GAAG;IAE5C,IAAI,YAAY,CAAA,GAAA,qBAAa,EAAE,OAAO,EACpC,OAAO;IAGT,IAAI,YAAoB;IACxB,IAAI,WAAW;IACf,IAAI,YAAY,CAAA,GAAA,qBAAa,EAAE,KAAK,EAAE;QACpC,YAAY;QACZ,WAAW;IACb,OAAO,IAAI,YAAY,CAAA,GAAA,qBAAa,EAAE,MAAM,EAAE;QAC5C,YAAY;QACZ,WAAW;IACb;IAEA,OAAO,wBAAE;QACP,wBAAE,2CAAmB;YACnB,OAAO;YACP,MAAM;QACR;QACA,wBACE,CAAA,GAAA,UAAE,GACF;YACE,WAAW;YACX,OAAO;gBAAE,OAAO,CAAC,IAAI,CAAC;gBAAE,QAAQ,GAAG,YAAY,EAAE,CAAC;YAAC;YACnD,OAAO;YACP,QAAQ;QACV,GACA,SAAS,GAAG,CAAC,CAAC,OAAO;YACnB,MAAM,OAAE,GAAG,SAAE,KAAK,EAAE,GAAG;YAEvB,OAAO,wBAAE,CAAA,GAAA,cAAM,GAAG;qBAChB;gBACA,WAAW;uBACX;gBACA,eAAe;YACjB;QACF;KAEH;AACH;AAEO,SAAS,0CAAU,OAAE,GAAG,EAAE;IAC/B,qEAAqE,GACrE,MAAM,QAAQ,CAAA,GAAA,wCAAgB;IAC9B,MAAM,WAAW,MAAM;IAEvB,QAAQ,GAAG,CAAC,KAAK;IAEjB,IAAI,OAAO,QAAQ,YAAY,MAC7B,OAAO;IAGT,OAAO,wBACL,kBACA;QACE,OAAO;YACL,KAAK;QACP;IACF,GACA;QAAC,wBAAE;QAAa,wBAAE,CAAA,GAAA,yCAAO,GAAG;iBAAE;YAAK,WAAW;QAAQ;KAAG;AAE7D","sources":["packages/column-views/src/age-axis.ts"],"sourcesContent":["import hyper from \"@macrostrat/hyper\";\nimport {\n SVG,\n ColumnAxis,\n ColumnContext,\n ColumnAxisType,\n AgeAxis,\n} from \"@macrostrat/column-components\";\nimport { useContext } from \"react\";\nimport styles from \"./age-axis.module.sass\";\nimport { useCompositeScale, useMacrostratColumnData } from \"./data-provider\";\nimport { Parenthetical } from \"@macrostrat/data-components\";\nimport { PackageScaleLayoutData } from \"./prepare-units/composite-scale\";\nimport { AgeLabel } from \"./unit-details\";\n\nconst h = hyper.styled(styles);\n\nconst AgeAxisCore = ({ ticks, tickSpacing = 40, showDomain = false }) => {\n const { pixelHeight } = useContext(ColumnContext);\n // A tick roughly every 40 pixels\n let v = Math.max(Math.round(pixelHeight / tickSpacing), 1);\n\n return h(\"g.axis\", { transform: \"translate(20 0)\" }, [\n h(ColumnAxis, {\n ticks: v,\n showDomain,\n }),\n ]);\n};\n\nexport function VerticalAxisLabel(props) {\n const { label = \"Age\", unit = \"Ma\", className } = props;\n return h(\"div.column-axis-label.age-axis-label\", { className }, [\n label,\n \" \",\n h.if(unit)(Parenthetical, { className: \"age-axis-unit\" }, unit),\n ]);\n}\n\nexport function CompositeAgeAxis() {\n const { axisType, sections, totalHeight } = useMacrostratColumnData();\n\n const packages = sections.map((section) => {\n return {\n key: `section-${section.section_id}`,\n ...section.scaleInfo,\n };\n });\n\n return h(CompositeAgeAxisCore, {\n axisType,\n packages,\n totalHeight,\n });\n}\n\nexport interface CompositeStratigraphicScaleInfo {\n axisType: ColumnAxisType;\n totalHeight: number;\n packages: PackageScaleLayoutData[];\n}\n\nexport function CompositeAgeAxisCore(props: CompositeStratigraphicScaleInfo) {\n const { axisType, totalHeight, packages } = props;\n\n if (axisType == ColumnAxisType.ORDINAL) {\n return null;\n }\n\n let axisLabel: string = \"Age\";\n let axisUnit = \"Ma\";\n if (axisType == ColumnAxisType.DEPTH) {\n axisLabel = \"Depth\";\n axisUnit = \"m\";\n } else if (axisType == ColumnAxisType.HEIGHT) {\n axisLabel = \"Height\";\n axisUnit = \"m\";\n }\n\n return h([\n h(VerticalAxisLabel, {\n label: axisLabel,\n unit: axisUnit,\n }),\n h(\n SVG,\n {\n className: \"age-axis-column\",\n style: { width: `22px`, height: `${totalHeight}px` },\n width: 22,\n height: totalHeight,\n },\n packages.map((group, i) => {\n const { key, scale } = group;\n\n return h(AgeAxis, {\n key,\n className: \"age-axis\",\n scale,\n tickSizeOuter: 3,\n });\n }),\n ),\n ]);\n}\n\nexport function AgeCursor({ age }) {\n /** A cursor that shows the age at a specific point on the age axis. */\n const scale = useCompositeScale();\n const heightPx = scale(age);\n\n console.log(age, heightPx);\n\n if (age == null || heightPx == null) {\n return null;\n }\n\n return h(\n \"div.age-cursor\",\n {\n style: {\n top: heightPx,\n },\n },\n [h(\"div.line\"), h(AgeLabel, { age, className: \"label\" })],\n );\n}\n"],"names":[],"version":3,"file":"column-views.c32d6ad0.js.map"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import {UnitDetailsPanel as $448b24baeef3b229$export$fbd245232df17557, LegendPanelHeader as $448b24baeef3b229$export$fc503c39cc5cff43, UnitDetailsFeature as $448b24baeef3b229$export$ec297f6f9a6ccad0, Duration as $448b24baeef3b229$export$3b11bc38611c5941, AgeLabel as $448b24baeef3b229$export$37ebfd237811b1eb} from "./column-views.1f123354.js";
|
|
2
|
-
import {UnitDetailsPopover as $a9bcb536274d1bf9$export$6716aecc2c9afbe2, UnitSelectionPopover as $a9bcb536274d1bf9$export$db1115efab13710d} from "./column-views.c8cc249a.js";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export {$448b24baeef3b229$export$fbd245232df17557 as UnitDetailsPanel, $448b24baeef3b229$export$fc503c39cc5cff43 as LegendPanelHeader, $448b24baeef3b229$export$ec297f6f9a6ccad0 as UnitDetailsFeature, $448b24baeef3b229$export$3b11bc38611c5941 as Duration, $448b24baeef3b229$export$37ebfd237811b1eb as AgeLabel, $a9bcb536274d1bf9$export$6716aecc2c9afbe2 as UnitDetailsPopover, $a9bcb536274d1bf9$export$db1115efab13710d as UnitSelectionPopover};
|
|
9
|
-
//# sourceMappingURL=column-views.cfcf6096.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"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","sources":["packages/column-views/src/column.ts"],"sourcesContent":["import { ColumnAxisType } from \"@macrostrat/column-components\";\nimport { hyperStyled } from \"@macrostrat/hyper\";\nimport { useDarkMode } from \"@macrostrat/ui-components\";\nimport classNames from \"classnames\";\nimport { RefObject, useRef, HTMLAttributes, useCallback } from \"react\";\nimport styles from \"./column.module.sass\";\nimport {\n UnitSelectionProvider,\n UnitComponent,\n UnitKeyboardNavigation,\n useUnitSelectionDispatch,\n} from \"./units\";\n\nimport { ColumnHeightScaleOptions } from \"./prepare-units/composite-scale\";\nimport { UnitSelectionPopover } from \"./unit-details\";\nimport {\n MacrostratColumnDataProvider,\n useCompositeScale,\n useMacrostratColumnData,\n} from \"./data-provider\";\nimport {\n SectionSharedProps,\n CompositeTimescale,\n SectionsColumn,\n} from \"./section\";\nimport { CompositeAgeAxis } from \"./age-axis\";\nimport { MergeSectionsMode, usePreparedColumnUnits } from \"./prepare-units\";\nimport { UnitLong } from \"@macrostrat/api-types\";\nimport { NonIdealState } from \"@blueprintjs/core\";\n\nconst h = hyperStyled(styles);\n\ninterface BaseColumnProps extends SectionSharedProps {\n className?: string;\n showLabelColumn?: boolean;\n keyboardNavigation?: boolean;\n showLabels?: boolean;\n maxInternalColumns?: number;\n // Timescale properties\n showTimescale?: boolean;\n timescaleLevels?: number | [number, number];\n onMouseOver?: (\n unit: UnitLong | null,\n height: number | null,\n evt: MouseEvent,\n ) => void;\n}\n\nexport interface ColumnProps extends BaseColumnProps, ColumnHeightScaleOptions {\n // Macrostrat units\n units: UnitLong[];\n t_age?: number;\n b_age?: number;\n mergeSections?: MergeSectionsMode;\n showUnitPopover?: boolean;\n allowUnitSelection?: boolean;\n selectedUnit?: number | null;\n onUnitSelected?: (unitID: number | null, unit: any) => void;\n // Unconformity height in pixels\n unconformityHeight?: number;\n}\n\nexport function Column(props: ColumnProps) {\n const {\n showUnitPopover = false,\n keyboardNavigation = false,\n mergeSections,\n onUnitSelected,\n selectedUnit,\n children,\n units: rawUnits,\n axisType = ColumnAxisType.AGE,\n t_age,\n b_age,\n unconformityHeight = 30,\n targetUnitHeight = 20,\n pixelScale,\n minPixelScale = 0.2,\n minSectionHeight = 50,\n collapseSmallUnconformities = true,\n allowUnitSelection,\n ...rest\n } = props;\n const ref = useRef<HTMLElement>();\n // Selected item position\n\n const { sections, units, totalHeight } = usePreparedColumnUnits(rawUnits, {\n axisType,\n t_age,\n b_age,\n mergeSections,\n targetUnitHeight,\n unconformityHeight,\n pixelScale,\n minPixelScale,\n minSectionHeight,\n collapseSmallUnconformities,\n });\n\n if (sections.length === 0) {\n return h(\n \"div.column-container.empty\",\n h(NonIdealState, {\n title: \"Empty column\",\n description: \"No sections found in this column.\",\n icon: \"warning-sign\",\n }),\n );\n }\n\n let main: any = h(ColumnInner, { columnRef: ref, ...rest }, [\n children,\n h.if(showUnitPopover)(UnitSelectionPopover),\n h.if(keyboardNavigation)(UnitKeyboardNavigation, { units }),\n ]);\n\n /* By default, unit selection is disabled. However, if any related props are passed,\n we enable it.\n */\n let _allowUnitSelection = allowUnitSelection ?? false;\n if (showUnitPopover || selectedUnit != null || onUnitSelected != null) {\n _allowUnitSelection = true;\n }\n\n if (_allowUnitSelection) {\n main = h(\n UnitSelectionProvider,\n {\n columnRef: ref,\n onUnitSelected,\n selectedUnit,\n units,\n },\n main,\n );\n }\n\n return h(\n MacrostratColumnDataProvider,\n { units, sections, totalHeight, axisType },\n main,\n );\n}\n\ninterface ColumnInnerProps extends BaseColumnProps {\n columnRef: RefObject<HTMLElement>;\n}\n\nfunction ColumnInner(props: ColumnInnerProps) {\n const {\n unitComponent = UnitComponent,\n unconformityLabels = true,\n showLabels = true,\n width: _width = 300,\n columnWidth: _columnWidth = 150,\n showLabelColumn: _showLabelColumn = true,\n className,\n columnRef,\n clipUnits = false,\n children,\n showTimescale,\n timescaleLevels,\n maxInternalColumns,\n onMouseOver,\n } = props;\n\n const { axisType } = useMacrostratColumnData();\n\n let width = _width;\n let columnWidth = _columnWidth;\n if (columnWidth > width) {\n columnWidth = width;\n }\n let showLabelColumn = _showLabelColumn;\n if (columnWidth > width - 10) {\n showLabelColumn = false;\n }\n\n let _showTimescale = showTimescale ?? true;\n if (timescaleLevels != null) {\n _showTimescale = true;\n }\n _showTimescale = axisType == ColumnAxisType.AGE && _showTimescale;\n\n return h(\n ColumnContainer,\n {\n ...useMouseEventHandlers(onMouseOver),\n className,\n },\n h(\"div.column\", { ref: columnRef }, [\n h(CompositeAgeAxis),\n h.if(_showTimescale)(CompositeTimescale, { levels: timescaleLevels }),\n h(SectionsColumn, {\n unitComponent,\n showLabels,\n width,\n columnWidth,\n showLabelColumn,\n clipUnits,\n unconformityLabels,\n maxInternalColumns,\n }),\n children,\n ]),\n );\n}\n\ntype ColumnMouseOverHandler = (\n unit: UnitLong | null,\n height: number | null,\n evt: MouseEvent,\n) => void;\n\nfunction useMouseEventHandlers(\n _onMouseOver: ColumnMouseOverHandler | null = null,\n) {\n /** Click event handler */\n\n // Click handler for unit selection\n const dispatch = useUnitSelectionDispatch();\n const onClick = useCallback(\n (evt) => {\n dispatch?.(null, null, evt as any);\n },\n [dispatch],\n );\n\n /** Hover event handlers */\n const scale = useCompositeScale();\n\n const onMouseOver = useCallback(\n (evt) => {\n const height = scale.invert(\n evt.clientY - evt.currentTarget.getBoundingClientRect().top,\n );\n _onMouseOver?.(null, height, evt);\n },\n [scale, _onMouseOver],\n );\n\n const onMouseOut = useCallback(() => {\n _onMouseOver?.(null, null, null);\n }, [_onMouseOver]);\n\n if (_onMouseOver == null) {\n return {\n onClick,\n onMouseOver: undefined,\n onMouseMove: undefined,\n onMouseOut: undefined,\n };\n }\n\n return { onMouseOver, onMouseMove: onMouseOver, onMouseOut, onClick };\n}\n\nexport interface ColumnContainerProps extends HTMLAttributes<HTMLDivElement> {\n className?: string;\n}\n\nexport function ColumnContainer(props: ColumnContainerProps) {\n const { className, ...rest } = props;\n const darkMode = useDarkMode();\n\n return h(\"div.column-container\", {\n className: classNames(className, {\n \"dark-mode\": darkMode?.isEnabled ?? false,\n }),\n ...rest,\n });\n}\n"],"names":[],"version":3,"file":"column-views.fdb0e9ec.js.map"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"./column-views.78d3f3c5.js";import{line as e}from"d3-shape";import{createContext as t,useContext as r}from"react";import o from"@macrostrat/hyper";import{ColumnLayoutContext as a}from"@macrostrat/column-components";var n=globalThis,l={},c={},i=n.parcelRequirea149;null==i&&((i=function(e){if(e in l)return l[e].exports;if(e in c){var t=c[e];delete c[e];var r={id:e,exports:{}};return l[e]=r,t.call(r.exports,r,r.exports),r.exports}var o=Error("Cannot find module '"+e+"'");throw o.code="MODULE_NOT_FOUND",o}).register=function(e,t){c[e]=t},n.parcelRequirea149=i),i.register;var s=i("wtIgl");let u=(e,t)=>{let r=e.domain();return r[0]<t<r[1]},p=function(e){let{xScale:t,scale:r,getHeight:o,...a}=e;return function(e,a=0){let n=o(e);return u(r,n)?[t(e.value),r(n)]:null}},d=t(null),m=function(t){let n=r(a)?.xScale,l=(0,s.useCompositeScale)(),{corrected:c,system:i,children:u,getHeight:m,clipY:f=!1}=t;null==m&&(m=function(e){return null==e.height&&console.log(e),e.height});let b=p({xScale:n,scale:l,corrected:c,system:i,getHeight:m}),x="avg_"+i;c&&(x+="_corr");let g=e().x(e=>n(e[x])).y(e=>l(e.height));return o(d.Provider,{value:{pointLocator:b,lineLocator:g,corrected:c,system:i,clipY:f}},o("g.data",u))},f=function(e){let{pointLocator:t}=r(d),{datum:a,strokeWidth:n,...l}=e,c=t(a);if(null==c)return null;let[i,s]=c;return o("circle",{key:a.sample_id,cx:i,cy:s,r:2,...l})},b=function(e){let{values:t,...a}=e,{lineLocator:n}=r(d);return o("path",{d:n(t),fill:"transparent",...a})},x=()=>r(d);export{m as IsotopesDataArea,f as IsotopeDataPoint,b as IsotopeDataLine,x as useDataLocator};
|
|
2
|
-
//# sourceMappingURL=column-views.04407342.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"A,M,6C,A,Q,Q,C,K,U,A,Q,iB,C,C,c,C,K,O,A,Q,M,mB,A,Q,uB,C,K,+B,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,E,SCMA,IAAM,EAAW,CAAC,EAAO,KACvB,IAAM,EAAS,EAAM,MAAM,GAC3B,OAAO,CAAM,CAAC,EAAE,CAAG,EAAM,CAAM,CAAC,EAAE,AACpC,EAEM,EAAqB,SAAU,CAAI,EACvC,GAAM,CAAA,OAAE,CAAM,CAAA,MAAE,CAAK,CAAA,UAAE,CAAS,CAAE,GAAG,EAAM,CAAG,EAC9C,OAAO,SAAU,CAAC,CAAE,EAAI,CAAC,EACvB,IAAM,EAAS,EAAU,UACzB,AAAK,EAAS,EAAO,GACd,CAAC,EAAO,EAAE,KAAK,EAAG,EAAM,GAAQ,CADF,IAEvC,CACF,EAEM,EAAsB,AAAA,EAAc,MAWpC,EAAmB,SAAU,CAAoB,EACrD,IAAM,EAAS,AAAA,EAAW,IAAsB,OAE1C,EAAQ,AAAA,CAAA,EAAA,EAAA,iBAAgB,AAAhB,IAEV,CAAA,UAAE,CAAS,CAAA,OAAE,CAAM,CAAA,SAAE,CAAQ,CAAA,UAAE,CAAS,CAAA,MAAE,EAAQ,CAAA,CAAA,CAAO,CAAG,CAC5D,AAAa,OAAb,GACF,CAAA,EAAY,SAAU,CAAC,EAIrB,OAHI,AAAY,MAAZ,EAAE,MAAM,EACV,QAAQ,GAAG,CAAC,GAEP,EAAE,MAAM,AACjB,CAAA,EAIF,IAAM,EAAe,EAAmB,CACtC,OAAA,EACA,MAAA,EACA,UAAA,EACA,OAAA,EACA,UAAA,CACF,GAEI,EAAS,OAAS,CAClB,CAAA,GACF,CAAA,GAAU,OADZ,EAGA,IAAM,EAAc,AAAA,IACjB,CAAC,CAAC,AAAC,GAAM,EAAO,CAAC,CAAC,EAAO,GAEzB,CAAC,CAAC,AAAC,GAAM,EAAM,EAAE,MAAM,GAG1B,OAAO,AAAA,EAAE,EAAoB,QAAQ,CAAE,CAAE,MAD3B,CAAE,aAAA,EAAc,YAAA,EAAa,UAAA,EAAW,OAAA,EAAQ,MAAA,CAAM,CACrB,EAAG,AAAA,EAAE,SAAU,GAChE,EAEM,EAAmB,SAAU,CAAK,EACtC,GAAM,CAAA,aAAE,CAAY,CAAE,CAAG,AAAA,EAAW,GAC9B,CAAA,MAAE,CAAK,CAAA,YAAE,CAAW,CAAE,GAAG,EAAM,CAAG,EAClC,EAAM,EAAa,GACzB,GAAI,AAAO,MAAP,EAAa,OAAO,KACxB,GAAM,CAAC,EAAI,EAAG,CAAG,EAEjB,OAAO,AAAA,EAAE,SAAU,CACjB,IAAK,EAAM,SAAS,CACpB,GAAA,EACA,GAAA,EACA,EAAG,EACH,GAAG,CAAI,AACT,EACF,EAEM,EAAkB,SAAU,CAAK,EACrC,GAAM,CAAE,OAAQ,CAAU,CAAE,GAAG,EAAM,CAAG,EAClC,CAAA,YAAE,CAAW,CAAE,CAAG,AAAA,EAAW,GACnC,OAAO,AAAA,EAAE,OAAQ,CACf,EAAG,EAAY,GACf,KAAM,cACN,GAAG,CAAI,AACT,EACF,EAEM,EAAiB,IAAM,AAAA,EAAW,U,K,gB,C,K,gB,C,K,e,C,K,c","sources":["<anon>","packages/column-views/src/facets/carbon-isotopes/data-area.ts"],"sourcesContent":["import \"./column-views.78d3f3c5.js\";\nimport {line as $5eSmp$line} from \"d3-shape\";\nimport {createContext as $5eSmp$createContext, useContext as $5eSmp$useContext} from \"react\";\nimport $5eSmp$macrostrathyper from \"@macrostrat/hyper\";\nimport {ColumnLayoutContext as $5eSmp$ColumnLayoutContext} from \"@macrostrat/column-components\";\n\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\n\n\n\n\n\nvar $wtIgl = parcelRequire(\"wtIgl\");\nconst $561e9bb965350dc6$var$inDomain = (scale, num)=>{\n const domain = scale.domain();\n return domain[0] < num < domain[1];\n};\nconst $561e9bb965350dc6$var$createPointLocator = function(opts) {\n const { xScale: xScale, scale: scale, getHeight: getHeight, ...rest } = opts;\n return function(d, s = 0) {\n const height = getHeight(d);\n if (!$561e9bb965350dc6$var$inDomain(scale, height)) return null;\n return [\n xScale(d.value),\n scale(height)\n ];\n };\n};\nconst $561e9bb965350dc6$var$IsotopesDataContext = (0, $5eSmp$createContext)(null);\nconst $561e9bb965350dc6$export$309ef8546e07d921 = function(props) {\n const xScale = (0, $5eSmp$useContext)((0, $5eSmp$ColumnLayoutContext))?.xScale;\n const scale = (0, $wtIgl.useCompositeScale)();\n let { corrected: corrected, system: system, children: children, getHeight: getHeight, clipY: clipY = false } = props;\n if (getHeight == null) getHeight = function(d) {\n if (d.height == null) console.log(d);\n return d.height;\n };\n // Handlers for creating points and lines\n const pointLocator = $561e9bb965350dc6$var$createPointLocator({\n xScale: xScale,\n scale: scale,\n corrected: corrected,\n system: system,\n getHeight: getHeight\n });\n let column = \"avg_\" + system;\n if (corrected) column += \"_corr\";\n const lineLocator = (0, $5eSmp$line)().x((d)=>xScale(d[column]))// @ts-ignore\n .y((d)=>scale(d.height));\n const value = {\n pointLocator: pointLocator,\n lineLocator: lineLocator,\n corrected: corrected,\n system: system,\n clipY: clipY\n };\n return (0, $5eSmp$macrostrathyper)($561e9bb965350dc6$var$IsotopesDataContext.Provider, {\n value: value\n }, (0, $5eSmp$macrostrathyper)(\"g.data\", children));\n};\nconst $561e9bb965350dc6$export$4cb5d059db4e2bd = function(props) {\n const { pointLocator: pointLocator } = (0, $5eSmp$useContext)($561e9bb965350dc6$var$IsotopesDataContext);\n const { datum: datum, strokeWidth: strokeWidth, ...rest } = props;\n const loc = pointLocator(datum);\n if (loc == null) return null;\n const [cx, cy] = loc;\n return (0, $5eSmp$macrostrathyper)(\"circle\", {\n key: datum.sample_id,\n cx: cx,\n cy: cy,\n r: 2,\n ...rest\n });\n};\nconst $561e9bb965350dc6$export$628a3ef6eb9c3a89 = function(props) {\n const { values: lineValues, ...rest } = props;\n const { lineLocator: lineLocator } = (0, $5eSmp$useContext)($561e9bb965350dc6$var$IsotopesDataContext);\n return (0, $5eSmp$macrostrathyper)(\"path\", {\n d: lineLocator(lineValues),\n fill: \"transparent\",\n ...rest\n });\n};\nconst $561e9bb965350dc6$export$919dbb10b6b5b75 = ()=>(0, $5eSmp$useContext)($561e9bb965350dc6$var$IsotopesDataContext);\n\n\nexport {$561e9bb965350dc6$export$309ef8546e07d921 as IsotopesDataArea, $561e9bb965350dc6$export$4cb5d059db4e2bd as IsotopeDataPoint, $561e9bb965350dc6$export$628a3ef6eb9c3a89 as IsotopeDataLine, $561e9bb965350dc6$export$919dbb10b6b5b75 as useDataLocator};\n//# sourceMappingURL=column-views.04407342.js.map\n","import { line } from \"d3-shape\";\nimport { createContext, useContext } from \"react\";\nimport h from \"@macrostrat/hyper\";\nimport { ColumnLayoutContext } from \"@macrostrat/column-components\";\nimport { useCompositeScale } from \"../../data-provider\";\n\nconst inDomain = (scale, num) => {\n const domain = scale.domain();\n return domain[0] < num < domain[1];\n};\n\nconst createPointLocator = function (opts) {\n const { xScale, scale, getHeight, ...rest } = opts;\n return function (d, s = 0) {\n const height = getHeight(d);\n if (!inDomain(scale, height)) return null;\n return [xScale(d.value), scale(height)];\n };\n};\n\nconst IsotopesDataContext = createContext(null);\n\nexport interface DataAreaProps {\n clipY: boolean;\n parameter: string;\n corrected: boolean;\n system: string;\n children: React.ReactNode;\n getHeight?: Function;\n}\n\nconst IsotopesDataArea = function (props: DataAreaProps) {\n const xScale = useContext(ColumnLayoutContext)?.xScale;\n\n const scale = useCompositeScale();\n\n let { corrected, system, children, getHeight, clipY = false } = props;\n if (getHeight == null) {\n getHeight = function (d) {\n if (d.height == null) {\n console.log(d);\n }\n return d.height;\n };\n }\n\n // Handlers for creating points and lines\n const pointLocator = createPointLocator({\n xScale,\n scale,\n corrected,\n system,\n getHeight,\n });\n\n let column = \"avg_\" + system;\n if (corrected) {\n column += \"_corr\";\n }\n const lineLocator = line()\n .x((d) => xScale(d[column]))\n // @ts-ignore\n .y((d) => scale(d.height));\n\n const value = { pointLocator, lineLocator, corrected, system, clipY };\n return h(IsotopesDataContext.Provider, { value }, h(\"g.data\", children));\n};\n\nconst IsotopeDataPoint = function (props) {\n const { pointLocator } = useContext(IsotopesDataContext);\n const { datum, strokeWidth, ...rest } = props;\n const loc = pointLocator(datum);\n if (loc == null) return null;\n const [cx, cy] = loc;\n\n return h(\"circle\", {\n key: datum.sample_id,\n cx,\n cy,\n r: 2,\n ...rest,\n });\n};\n\nconst IsotopeDataLine = function (props) {\n const { values: lineValues, ...rest } = props;\n const { lineLocator } = useContext(IsotopesDataContext);\n return h(\"path\", {\n d: lineLocator(lineValues),\n fill: \"transparent\",\n ...rest,\n });\n};\n\nconst useDataLocator = () => useContext(IsotopesDataContext);\n\nexport { IsotopesDataArea, IsotopeDataPoint, IsotopeDataLine, useDataLocator };\n"],"names":["line","$5eSmp$line","createContext","$5eSmp$createContext","useContext","$5eSmp$useContext","$5eSmp$macrostrathyper","ColumnLayoutContext","$5eSmp$ColumnLayoutContext","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$wtIgl","$561e9bb965350dc6$var$inDomain","scale","num","domain","$561e9bb965350dc6$var$createPointLocator","opts","xScale","getHeight","rest","d","s","height","value","$561e9bb965350dc6$var$IsotopesDataContext","$561e9bb965350dc6$export$309ef8546e07d921","props","useCompositeScale","corrected","system","children","clipY","console","log","pointLocator","column","lineLocator","x","y","Provider","$561e9bb965350dc6$export$4cb5d059db4e2bd","datum","strokeWidth","loc","cx","cy","key","sample_id","r","$561e9bb965350dc6$export$628a3ef6eb9c3a89","values","lineValues","fill","$561e9bb965350dc6$export$919dbb10b6b5b75","IsotopesDataArea","IsotopeDataPoint","IsotopeDataLine","useDataLocator"],"version":3,"file":"column-views.04407342.js.map","sourceRoot":"../../../../"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"./column-views.cd3c430b.js";import"./column-views.f76ba19f.js";import"./column-views.10a2bad6.js";import"./column-views.06951a55.js";import"./column-views.78d3f3c5.js";import"./column-views.1e94d562.js";import"./column-views.536dc54e.js";import"./column-views.45168c80.js";import{ColumnAxisType as e}from"@macrostrat/column-components";import{hyperStyled as o}from"@macrostrat/hyper";import{useDarkMode as n}from"@macrostrat/ui-components";import t from"classnames";import{useRef as i,useCallback as l}from"react";import{NonIdealState as s}from"@blueprintjs/core";function r(e,o,n,t){Object.defineProperty(e,o,{get:n,set:t,enumerable:!0,configurable:!0})}var a=globalThis,c={},u={},m=a.parcelRequirea149;null==m&&((m=function(e){if(e in c)return c[e].exports;if(e in u){var o=u[e];delete u[e];var n={id:e,exports:{}};return c[e]=n,o.call(n.exports,n,n.exports),n.exports}var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}).register=function(e,o){u[e]=o},a.parcelRequirea149=m),m.register;var p={};r(p,"Column",()=>_),r(p,"ColumnContainer",()=>w);var d=m("7YHvf"),f=m("7tWYE"),v=m("a3mb1"),b=m("2KV3o"),g=m("wtIgl"),h=m("7exMg"),S=m("4hG2H"),C=m("610tc");let H=o(d&&d.__esModule?d.default:d);function _(o){let{showUnitPopover:n=!1,keyboardNavigation:t=!1,mergeSections:l,onUnitSelected:r,selectedUnit:a,children:c,units:u,axisType:m=e.AGE,t_age:p,b_age:d,unconformityHeight:f=30,targetUnitHeight:h=20,pixelScale:S,minPixelScale:_=.2,minSectionHeight:w=50,collapseSmallUnconformities:U=!0,allowUnitSelection:y,...E}=o,M=i(),{sections:R,units:A,totalHeight:j}=(0,C.usePreparedColumnUnits)(u,{axisType:m,t_age:p,b_age:d,mergeSections:l,targetUnitHeight:h,unconformityHeight:f,pixelScale:S,minPixelScale:_,minSectionHeight:w,collapseSmallUnconformities:U});if(0===R.length)return H("div.column-container.empty",H(s,{title:"Empty column",description:"No sections found in this column.",icon:"warning-sign"}));let N=H(x,{columnRef:M,...E},[c,H.if(n)(b.UnitSelectionPopover),H.if(t)(v.UnitKeyboardNavigation,{units:A})]),T=y??!1;return(n||null!=a||null!=r)&&(T=!0),T&&(N=H(v.UnitSelectionProvider,{columnRef:M,onUnitSelected:r,selectedUnit:a,units:A},N)),H(g.MacrostratColumnDataProvider,{units:A,sections:R,totalHeight:j,axisType:m},N)}function x(o){let{unitComponent:n=f.UnitComponent,unconformityLabels:t=!0,showLabels:i=!0,width:s=300,columnWidth:r=150,showLabelColumn:a=!0,className:c,columnRef:u,clipUnits:m=!1,children:p,showTimescale:d,timescaleLevels:b,maxInternalColumns:C,onMouseOver:_}=o,{axisType:x}=(0,g.useMacrostratColumnData)(),U=r;U>s&&(U=s);let y=a;U>s-10&&(y=!1);let E=d??!0;return null!=b&&(E=!0),E=x==e.AGE&&E,H(w,{...function(e=null){let o=(0,v.useUnitSelectionDispatch)(),n=l(e=>{o?.(null,null,e)},[o]),t=(0,g.useCompositeScale)(),i=l(o=>{let n=t.invert(o.clientY-o.currentTarget.getBoundingClientRect().top);e?.(null,n,o)},[t,e]),s=l(()=>{e?.(null,null,null)},[e]);return null==e?{onClick:n,onMouseOver:void 0,onMouseMove:void 0,onMouseOut:void 0}:{onMouseOver:i,onMouseMove:i,onMouseOut:s,onClick:n}}(_),className:c},H("div.column",{ref:u},[H(S.CompositeAgeAxis),H.if(E)(h.CompositeTimescale,{levels:b}),H(h.SectionsColumn,{unitComponent:n,showLabels:i,width:s,columnWidth:U,showLabelColumn:y,clipUnits:m,unconformityLabels:t,maxInternalColumns:C}),p]))}function w(e){let{className:o,...i}=e,l=n();return H("div.column-container",{className:t(o,{"dark-mode":l?.isEnabled??!1}),...i})}export{_ as Column,w as ColumnContainer};
|
|
2
|
-
//# sourceMappingURL=column-views.06b0534e.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"A,M,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,Q,kB,C,K,+B,A,Q,e,C,K,mB,A,Q,e,C,K,2B,A,Q,M,Y,A,Q,U,C,C,e,C,K,O,A,Q,iB,C,K,mB,C,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,C,E,E,E,S,I,G,E,E,kB,I,G,I,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,SC8BA,IAAM,EAAI,AAAA,E,AAAY,G,AAAA,E,U,C,AAAA,E,O,CAAA,GAgCf,SAAS,EAAO,CAAkB,EACvC,GAAM,CAAA,gBACJ,EAAkB,CAAA,CAAA,CAAA,mBAClB,EAAqB,CAAA,CAAA,CAAA,cACrB,CAAa,CAAA,eACb,CAAc,CAAA,aACd,CAAY,CAAA,SACZ,CAAQ,CACR,MAAO,CAAQ,CAAA,SACf,EAAW,AAAA,EAAe,GAAG,CAAA,MAC7B,CAAK,CAAA,MACL,CAAK,CAAA,mBACL,EAAqB,EAAA,CAAA,iBACrB,EAAmB,EAAA,CAAA,WACnB,CAAU,CAAA,cACV,EAAgB,EAAA,CAAA,iBAChB,EAAmB,EAAA,CAAA,4BACnB,EAA8B,CAAA,CAAA,CAAA,mBAC9B,CAAkB,CAClB,GAAG,EACJ,CAAG,EACE,EAAM,AAAA,IAGN,CAAA,SAAE,CAAQ,CAAA,MAAE,CAAK,CAAA,YAAE,CAAW,CAAE,CAAG,AAAA,CAAA,EAAA,EAAA,sBAAqB,AAArB,EAAuB,EAAU,CACxE,SAAA,EACA,MAAA,EACA,MAAA,EACA,cAAA,EACA,iBAAA,EACA,mBAAA,EACA,WAAA,EACA,cAAA,EACA,iBAAA,EACA,4BAAA,CACF,GAEA,GAAI,AAAoB,IAApB,EA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","sources":["<anon>","packages/column-views/src/column.ts"],"sourcesContent":["import \"./column-views.cd3c430b.js\";\nimport \"./column-views.f76ba19f.js\";\nimport \"./column-views.10a2bad6.js\";\nimport \"./column-views.06951a55.js\";\nimport \"./column-views.78d3f3c5.js\";\nimport \"./column-views.1e94d562.js\";\nimport \"./column-views.536dc54e.js\";\nimport \"./column-views.45168c80.js\";\nimport {ColumnAxisType as $6sU8d$ColumnAxisType} from \"@macrostrat/column-components\";\nimport {hyperStyled as $6sU8d$hyperStyled} from \"@macrostrat/hyper\";\nimport {useDarkMode as $6sU8d$useDarkMode} from \"@macrostrat/ui-components\";\nimport $6sU8d$classnames from \"classnames\";\nimport {useRef as $6sU8d$useRef, useCallback as $6sU8d$useCallback} from \"react\";\nimport {NonIdealState as $6sU8d$NonIdealState} from \"@blueprintjs/core\";\n\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $4721fb147cb3f5e1$exports = {};\n\n$parcel$export($4721fb147cb3f5e1$exports, \"Column\", () => $4721fb147cb3f5e1$export$816b5d811295e6bc);\n$parcel$export($4721fb147cb3f5e1$exports, \"ColumnContainer\", () => $4721fb147cb3f5e1$export$2194471aa3d52446);\n\n\n\n\n\n\nvar $7YHvf = parcelRequire(\"7YHvf\");\n\nvar $7tWYE = parcelRequire(\"7tWYE\");\nvar $a3mb1 = parcelRequire(\"a3mb1\");\n\nvar $2KV3o = parcelRequire(\"2KV3o\");\n\nvar $wtIgl = parcelRequire(\"wtIgl\");\n\nvar $7exMg = parcelRequire(\"7exMg\");\n\nvar $4hG2H = parcelRequire(\"4hG2H\");\n\nvar $610tc = parcelRequire(\"610tc\");\n\nconst $4721fb147cb3f5e1$var$h = (0, $6sU8d$hyperStyled)((0, (/*@__PURE__*/$parcel$interopDefault($7YHvf))));\nfunction $4721fb147cb3f5e1$export$816b5d811295e6bc(props) {\n const { showUnitPopover: showUnitPopover = false, keyboardNavigation: keyboardNavigation = false, mergeSections: mergeSections, onUnitSelected: onUnitSelected, selectedUnit: selectedUnit, children: children, units: rawUnits, axisType: axisType = (0, $6sU8d$ColumnAxisType).AGE, t_age: t_age, b_age: b_age, unconformityHeight: unconformityHeight = 30, targetUnitHeight: targetUnitHeight = 20, pixelScale: pixelScale, minPixelScale: minPixelScale = 0.2, minSectionHeight: minSectionHeight = 50, collapseSmallUnconformities: collapseSmallUnconformities = true, allowUnitSelection: allowUnitSelection, ...rest } = props;\n const ref = (0, $6sU8d$useRef)();\n // Selected item position\n const { sections: sections, units: units, totalHeight: totalHeight } = (0, $610tc.usePreparedColumnUnits)(rawUnits, {\n axisType: axisType,\n t_age: t_age,\n b_age: b_age,\n mergeSections: mergeSections,\n targetUnitHeight: targetUnitHeight,\n unconformityHeight: unconformityHeight,\n pixelScale: pixelScale,\n minPixelScale: minPixelScale,\n minSectionHeight: minSectionHeight,\n collapseSmallUnconformities: collapseSmallUnconformities\n });\n if (sections.length === 0) return $4721fb147cb3f5e1$var$h(\"div.column-container.empty\", $4721fb147cb3f5e1$var$h((0, $6sU8d$NonIdealState), {\n title: \"Empty column\",\n description: \"No sections found in this column.\",\n icon: \"warning-sign\"\n }));\n let main = $4721fb147cb3f5e1$var$h($4721fb147cb3f5e1$var$ColumnInner, {\n columnRef: ref,\n ...rest\n }, [\n children,\n $4721fb147cb3f5e1$var$h.if(showUnitPopover)((0, $2KV3o.UnitSelectionPopover)),\n $4721fb147cb3f5e1$var$h.if(keyboardNavigation)((0, $a3mb1.UnitKeyboardNavigation), {\n units: units\n })\n ]);\n /* By default, unit selection is disabled. However, if any related props are passed,\n we enable it.\n */ let _allowUnitSelection = allowUnitSelection ?? false;\n if (showUnitPopover || selectedUnit != null || onUnitSelected != null) _allowUnitSelection = true;\n if (_allowUnitSelection) main = $4721fb147cb3f5e1$var$h((0, $a3mb1.UnitSelectionProvider), {\n columnRef: ref,\n onUnitSelected: onUnitSelected,\n selectedUnit: selectedUnit,\n units: units\n }, main);\n return $4721fb147cb3f5e1$var$h((0, $wtIgl.MacrostratColumnDataProvider), {\n units: units,\n sections: sections,\n totalHeight: totalHeight,\n axisType: axisType\n }, main);\n}\nfunction $4721fb147cb3f5e1$var$ColumnInner(props) {\n const { unitComponent: unitComponent = (0, $7tWYE.UnitComponent), unconformityLabels: unconformityLabels = true, showLabels: showLabels = true, width: _width = 300, columnWidth: _columnWidth = 150, showLabelColumn: _showLabelColumn = true, className: className, columnRef: columnRef, clipUnits: clipUnits = false, children: children, showTimescale: showTimescale, timescaleLevels: timescaleLevels, maxInternalColumns: maxInternalColumns, onMouseOver: onMouseOver } = props;\n const { axisType: axisType } = (0, $wtIgl.useMacrostratColumnData)();\n let width = _width;\n let columnWidth = _columnWidth;\n if (columnWidth > width) columnWidth = width;\n let showLabelColumn = _showLabelColumn;\n if (columnWidth > width - 10) showLabelColumn = false;\n let _showTimescale = showTimescale ?? true;\n if (timescaleLevels != null) _showTimescale = true;\n _showTimescale = axisType == (0, $6sU8d$ColumnAxisType).AGE && _showTimescale;\n return $4721fb147cb3f5e1$var$h($4721fb147cb3f5e1$export$2194471aa3d52446, {\n ...$4721fb147cb3f5e1$var$useMouseEventHandlers(onMouseOver),\n className: className\n }, $4721fb147cb3f5e1$var$h(\"div.column\", {\n ref: columnRef\n }, [\n $4721fb147cb3f5e1$var$h((0, $4hG2H.CompositeAgeAxis)),\n $4721fb147cb3f5e1$var$h.if(_showTimescale)((0, $7exMg.CompositeTimescale), {\n levels: timescaleLevels\n }),\n $4721fb147cb3f5e1$var$h((0, $7exMg.SectionsColumn), {\n unitComponent: unitComponent,\n showLabels: showLabels,\n width: width,\n columnWidth: columnWidth,\n showLabelColumn: showLabelColumn,\n clipUnits: clipUnits,\n unconformityLabels: unconformityLabels,\n maxInternalColumns: maxInternalColumns\n }),\n children\n ]));\n}\nfunction $4721fb147cb3f5e1$var$useMouseEventHandlers(_onMouseOver = null) {\n /** Click event handler */ // Click handler for unit selection\n const dispatch = (0, $a3mb1.useUnitSelectionDispatch)();\n const onClick = (0, $6sU8d$useCallback)((evt)=>{\n dispatch?.(null, null, evt);\n }, [\n dispatch\n ]);\n /** Hover event handlers */ const scale = (0, $wtIgl.useCompositeScale)();\n const onMouseOver = (0, $6sU8d$useCallback)((evt)=>{\n const height = scale.invert(evt.clientY - evt.currentTarget.getBoundingClientRect().top);\n _onMouseOver?.(null, height, evt);\n }, [\n scale,\n _onMouseOver\n ]);\n const onMouseOut = (0, $6sU8d$useCallback)(()=>{\n _onMouseOver?.(null, null, null);\n }, [\n _onMouseOver\n ]);\n if (_onMouseOver == null) return {\n onClick: onClick,\n onMouseOver: undefined,\n onMouseMove: undefined,\n onMouseOut: undefined\n };\n return {\n onMouseOver: onMouseOver,\n onMouseMove: onMouseOver,\n onMouseOut: onMouseOut,\n onClick: onClick\n };\n}\nfunction $4721fb147cb3f5e1$export$2194471aa3d52446(props) {\n const { className: className, ...rest } = props;\n const darkMode = (0, $6sU8d$useDarkMode)();\n return $4721fb147cb3f5e1$var$h(\"div.column-container\", {\n className: (0, $6sU8d$classnames)(className, {\n \"dark-mode\": darkMode?.isEnabled ?? false\n }),\n ...rest\n });\n}\n\n\nexport {$4721fb147cb3f5e1$export$816b5d811295e6bc as Column, $4721fb147cb3f5e1$export$2194471aa3d52446 as ColumnContainer};\n//# sourceMappingURL=column-views.06b0534e.js.map\n","import { ColumnAxisType } from \"@macrostrat/column-components\";\nimport { hyperStyled } from \"@macrostrat/hyper\";\nimport { useDarkMode } from \"@macrostrat/ui-components\";\nimport classNames from \"classnames\";\nimport { RefObject, useRef, HTMLAttributes, useCallback } from \"react\";\nimport styles from \"./column.module.sass\";\nimport {\n UnitSelectionProvider,\n UnitComponent,\n UnitKeyboardNavigation,\n useUnitSelectionDispatch,\n} from \"./units\";\n\nimport { ColumnHeightScaleOptions } from \"./prepare-units/composite-scale\";\nimport { UnitSelectionPopover } from \"./unit-details\";\nimport {\n MacrostratColumnDataProvider,\n useCompositeScale,\n useMacrostratColumnData,\n} from \"./data-provider\";\nimport {\n SectionSharedProps,\n CompositeTimescale,\n SectionsColumn,\n} from \"./section\";\nimport { CompositeAgeAxis } from \"./age-axis\";\nimport { MergeSectionsMode, usePreparedColumnUnits } from \"./prepare-units\";\nimport { UnitLong } from \"@macrostrat/api-types\";\nimport { NonIdealState } from \"@blueprintjs/core\";\n\nconst h = hyperStyled(styles);\n\ninterface BaseColumnProps extends SectionSharedProps {\n className?: string;\n showLabelColumn?: boolean;\n keyboardNavigation?: boolean;\n showLabels?: boolean;\n maxInternalColumns?: number;\n // Timescale properties\n showTimescale?: boolean;\n timescaleLevels?: number | [number, number];\n onMouseOver?: (\n unit: UnitLong | null,\n height: number | null,\n evt: MouseEvent,\n ) => void;\n}\n\nexport interface ColumnProps extends BaseColumnProps, ColumnHeightScaleOptions {\n // Macrostrat units\n units: UnitLong[];\n t_age?: number;\n b_age?: number;\n mergeSections?: MergeSectionsMode;\n showUnitPopover?: boolean;\n allowUnitSelection?: boolean;\n selectedUnit?: number | null;\n onUnitSelected?: (unitID: number | null, unit: any) => void;\n // Unconformity height in pixels\n unconformityHeight?: number;\n}\n\nexport function Column(props: ColumnProps) {\n const {\n showUnitPopover = false,\n keyboardNavigation = false,\n mergeSections,\n onUnitSelected,\n selectedUnit,\n children,\n units: rawUnits,\n axisType = ColumnAxisType.AGE,\n t_age,\n b_age,\n unconformityHeight = 30,\n targetUnitHeight = 20,\n pixelScale,\n minPixelScale = 0.2,\n minSectionHeight = 50,\n collapseSmallUnconformities = true,\n allowUnitSelection,\n ...rest\n } = props;\n const ref = useRef<HTMLElement>();\n // Selected item position\n\n const { sections, units, totalHeight } = usePreparedColumnUnits(rawUnits, {\n axisType,\n t_age,\n b_age,\n mergeSections,\n targetUnitHeight,\n unconformityHeight,\n pixelScale,\n minPixelScale,\n minSectionHeight,\n collapseSmallUnconformities,\n });\n\n if (sections.length === 0) {\n return h(\n \"div.column-container.empty\",\n h(NonIdealState, {\n title: \"Empty column\",\n description: \"No sections found in this column.\",\n icon: \"warning-sign\",\n }),\n );\n }\n\n let main: any = h(ColumnInner, { columnRef: ref, ...rest }, [\n children,\n h.if(showUnitPopover)(UnitSelectionPopover),\n h.if(keyboardNavigation)(UnitKeyboardNavigation, { units }),\n ]);\n\n /* By default, unit selection is disabled. However, if any related props are passed,\n we enable it.\n */\n let _allowUnitSelection = allowUnitSelection ?? false;\n if (showUnitPopover || selectedUnit != null || onUnitSelected != null) {\n _allowUnitSelection = true;\n }\n\n if (_allowUnitSelection) {\n main = h(\n UnitSelectionProvider,\n {\n columnRef: ref,\n onUnitSelected,\n selectedUnit,\n units,\n },\n main,\n );\n }\n\n return h(\n MacrostratColumnDataProvider,\n { units, sections, totalHeight, axisType },\n main,\n );\n}\n\ninterface ColumnInnerProps extends BaseColumnProps {\n columnRef: RefObject<HTMLElement>;\n}\n\nfunction ColumnInner(props: ColumnInnerProps) {\n const {\n unitComponent = UnitComponent,\n unconformityLabels = true,\n showLabels = true,\n width: _width = 300,\n columnWidth: _columnWidth = 150,\n showLabelColumn: _showLabelColumn = true,\n className,\n columnRef,\n clipUnits = false,\n children,\n showTimescale,\n timescaleLevels,\n maxInternalColumns,\n onMouseOver,\n } = props;\n\n const { axisType } = useMacrostratColumnData();\n\n let width = _width;\n let columnWidth = _columnWidth;\n if (columnWidth > width) {\n columnWidth = width;\n }\n let showLabelColumn = _showLabelColumn;\n if (columnWidth > width - 10) {\n showLabelColumn = false;\n }\n\n let _showTimescale = showTimescale ?? true;\n if (timescaleLevels != null) {\n _showTimescale = true;\n }\n _showTimescale = axisType == ColumnAxisType.AGE && _showTimescale;\n\n return h(\n ColumnContainer,\n {\n ...useMouseEventHandlers(onMouseOver),\n className,\n },\n h(\"div.column\", { ref: columnRef }, [\n h(CompositeAgeAxis),\n h.if(_showTimescale)(CompositeTimescale, { levels: timescaleLevels }),\n h(SectionsColumn, {\n unitComponent,\n showLabels,\n width,\n columnWidth,\n showLabelColumn,\n clipUnits,\n unconformityLabels,\n maxInternalColumns,\n }),\n children,\n ]),\n );\n}\n\ntype ColumnMouseOverHandler = (\n unit: UnitLong | null,\n height: number | null,\n evt: MouseEvent,\n) => void;\n\nfunction useMouseEventHandlers(\n _onMouseOver: ColumnMouseOverHandler | null = null,\n) {\n /** Click event handler */\n\n // Click handler for unit selection\n const dispatch = useUnitSelectionDispatch();\n const onClick = useCallback(\n (evt) => {\n dispatch?.(null, null, evt as any);\n },\n [dispatch],\n );\n\n /** Hover event handlers */\n const scale = useCompositeScale();\n\n const onMouseOver = useCallback(\n (evt) => {\n const height = scale.invert(\n evt.clientY - evt.currentTarget.getBoundingClientRect().top,\n );\n _onMouseOver?.(null, height, evt);\n },\n [scale, _onMouseOver],\n );\n\n const onMouseOut = useCallback(() => {\n _onMouseOver?.(null, null, null);\n }, [_onMouseOver]);\n\n if (_onMouseOver == null) {\n return {\n onClick,\n onMouseOver: undefined,\n onMouseMove: undefined,\n onMouseOut: undefined,\n };\n }\n\n return { onMouseOver, onMouseMove: onMouseOver, onMouseOut, onClick };\n}\n\nexport interface ColumnContainerProps extends HTMLAttributes<HTMLDivElement> {\n className?: string;\n}\n\nexport function ColumnContainer(props: ColumnContainerProps) {\n const { className, ...rest } = props;\n const darkMode = useDarkMode();\n\n return h(\"div.column-container\", {\n className: classNames(className, {\n \"dark-mode\": darkMode?.isEnabled ?? false,\n }),\n ...rest,\n });\n}\n"],"names":["ColumnAxisType","$6sU8d$ColumnAxisType","hyperStyled","$6sU8d$hyperStyled","useDarkMode","$6sU8d$useDarkMode","$6sU8d$classnames","useRef","$6sU8d$useRef","useCallback","$6sU8d$useCallback","NonIdealState","$6sU8d$NonIdealState","$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$4721fb147cb3f5e1$exports","$4721fb147cb3f5e1$export$816b5d811295e6bc","$4721fb147cb3f5e1$export$2194471aa3d52446","$7YHvf","$7tWYE","$a3mb1","$2KV3o","$wtIgl","$7exMg","$4hG2H","$610tc","$4721fb147cb3f5e1$var$h","a","__esModule","default","props","showUnitPopover","keyboardNavigation","mergeSections","onUnitSelected","selectedUnit","children","units","rawUnits","axisType","AGE","t_age","b_age","unconformityHeight","targetUnitHeight","pixelScale","minPixelScale","minSectionHeight","collapseSmallUnconformities","allowUnitSelection","rest","ref","sections","totalHeight","usePreparedColumnUnits","length","title","description","icon","main","$4721fb147cb3f5e1$var$ColumnInner","columnRef","if","UnitSelectionPopover","UnitKeyboardNavigation","_allowUnitSelection","UnitSelectionProvider","MacrostratColumnDataProvider","unitComponent","UnitComponent","unconformityLabels","showLabels","width","_width","columnWidth","_columnWidth","showLabelColumn","_showLabelColumn","className","clipUnits","showTimescale","timescaleLevels","maxInternalColumns","onMouseOver","useMacrostratColumnData","_showTimescale","$4721fb147cb3f5e1$var$useMouseEventHandlers","_onMouseOver","dispatch","useUnitSelectionDispatch","onClick","evt","scale","useCompositeScale","height","invert","clientY","currentTarget","getBoundingClientRect","top","onMouseOut","undefined","onMouseMove","CompositeAgeAxis","CompositeTimescale","levels","SectionsColumn","darkMode","isEnabled","Column","ColumnContainer"],"version":3,"file":"column-views.06b0534e.js.map","sourceRoot":"../../../../"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import e from"@macrostrat/hyper";import{useKeyHandler as t}from"@macrostrat/ui-components";import{createContext as n,useContext as i,useState as l,useEffect as o,useRef as u,useCallback as r}from"react";import{useStore as d,createStore as a}from"zustand";function c(e,t,n,i){Object.defineProperty(e,t,{get:n,set:i,enumerable:!0,configurable:!0})}var s={};c(s,"useUnitSelectionDispatch",()=>U),c(s,"useUnitSelectionStore",()=>p),c(s,"useSelectedUnit",()=>S),c(s,"UnitSelectionProvider",()=>g),c(s,"useUnitSelectionTarget",()=>$),c(s,"UnitKeyboardNavigation",()=>h);let f=n(null);function U(){let e=i(f);return null==e?()=>{}:d(e,e=>e.onUnitSelected)}function p(e){let t=i(f);return null==t?null:d(t,e)}function S(){return p(e=>e.selectedUnitData)}function g(t){let[n]=l(()=>a(e=>({selectedUnit:null,selectedUnitData:null,overlayPosition:null,setSelectedUnit(t){if(null==t)return void e({selectedUnit:null,selectedUnitData:null});"number"==typeof t?e({selectedUnit:t,selectedUnitData:null}):"unit_id"in t&&e({selectedUnit:t.unit_id,selectedUnitData:t})},onUnitSelected:(n,i,l)=>{console.log("onUnitSelected",n,i,l);let o=t.columnRef?.current,u=null;if(t.onClickedColumn){let e={unitID:n?.unit_id,unit:n,target:i,height:o?.getBoundingClientRect().height||0};t.onClickedColumn(e,l)}if(null!=n&&null!=o&&null!=i){let e=o.getBoundingClientRect(),t=i.getBoundingClientRect();u={x:t.left-e.left,y:t.top-e.top,width:t.width,height:t.height}}return t.onUnitSelected?.(n?.unit_id,n),e({selectedUnit:n?.unit_id,selectedUnitData:n,overlayPosition:u})}}))),{units:i,selectedUnit:u}=t;return o(()=>{if(null!=u){let e=i?.find(e=>e.unit_id===u);n.setState({selectedUnit:u,selectedUnitData:e})}else n.setState({selectedUnit:null,selectedUnitData:null})},[u,i]),e(f.Provider,{value:n},t.children)}function $(e){let t=u(),n=S(),i=p(e=>e.onUnitSelected),l=n?.unit_id==e.unit_id,d=r(n=>{null!=i&&(i(e,t.current,n),n.stopPropagation())},[e,i]);return o(()=>{l&&null!=i&&(i(e,t.current,null),t.current?.scrollIntoView({behavior:"smooth",block:"center",inline:"nearest"}))},[l,i]),[t,l,d]}function h({units:e}){let n=S(),i=U(),l=e.findIndex(e=>e.unit_id===n?.unit_id),o={38:l-1,40:l+1};return t(t=>{let n=o[t.keyCode];null==n||n<0||n>=e.length||(i(e[n],null,null),t.stopPropagation())},[e,l]),null}export{U as useUnitSelectionDispatch,p as useUnitSelectionStore,S as useSelectedUnit,g as UnitSelectionProvider,$ as useUnitSelectionTarget,h as UnitKeyboardNavigation};
|
|
2
|
-
//# sourceMappingURL=column-views.10a2bad6.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"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","sources":["<anon>","packages/column-views/src/units/selection.ts"],"sourcesContent":["import $TyplV$macrostrathyper from \"@macrostrat/hyper\";\nimport {useKeyHandler as $TyplV$useKeyHandler} from \"@macrostrat/ui-components\";\nimport {createContext as $TyplV$createContext, useContext as $TyplV$useContext, useState as $TyplV$useState, useEffect as $TyplV$useEffect, useRef as $TyplV$useRef, useCallback as $TyplV$useCallback} from \"react\";\nimport {useStore as $TyplV$useStore, createStore as $TyplV$createStore} from \"zustand\";\n\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\nvar $f7d31510668965d8$exports = {};\n\n$parcel$export($f7d31510668965d8$exports, \"useUnitSelectionDispatch\", () => $f7d31510668965d8$export$77a278d5ca56e309);\n$parcel$export($f7d31510668965d8$exports, \"useUnitSelectionStore\", () => $f7d31510668965d8$export$b220b1d3591dc9e5);\n$parcel$export($f7d31510668965d8$exports, \"useSelectedUnit\", () => $f7d31510668965d8$export$f0dd93f90aa8e5da);\n$parcel$export($f7d31510668965d8$exports, \"UnitSelectionProvider\", () => $f7d31510668965d8$export$f19d75b1d4b676a4);\n$parcel$export($f7d31510668965d8$exports, \"useUnitSelectionTarget\", () => $f7d31510668965d8$export$cbbec12b1451fe7d);\n$parcel$export($f7d31510668965d8$exports, \"UnitKeyboardNavigation\", () => $f7d31510668965d8$export$70f5ee19650fc7d1);\n\n\n\n\nconst $f7d31510668965d8$var$UnitSelectionContext = (0, $TyplV$createContext)(null);\nfunction $f7d31510668965d8$export$77a278d5ca56e309() {\n const store = (0, $TyplV$useContext)($f7d31510668965d8$var$UnitSelectionContext);\n if (store == null) return ()=>{};\n return (0, $TyplV$useStore)(store, (state)=>state.onUnitSelected);\n}\nfunction $f7d31510668965d8$export$b220b1d3591dc9e5(selector) {\n const store = (0, $TyplV$useContext)($f7d31510668965d8$var$UnitSelectionContext);\n if (store == null) return null;\n return (0, $TyplV$useStore)(store, selector);\n}\nfunction $f7d31510668965d8$export$f0dd93f90aa8e5da() {\n return $f7d31510668965d8$export$b220b1d3591dc9e5((state)=>state.selectedUnitData);\n}\nfunction $f7d31510668965d8$export$f19d75b1d4b676a4(props) {\n const [store] = (0, $TyplV$useState)(()=>(0, $TyplV$createStore)((set)=>({\n selectedUnit: null,\n selectedUnitData: null,\n overlayPosition: null,\n setSelectedUnit (selectedUnit) {\n if (selectedUnit == null) {\n set({\n selectedUnit: null,\n selectedUnitData: null\n });\n return;\n // If it's a number, set the selected unit\n } else if (typeof selectedUnit === \"number\") set({\n selectedUnit: selectedUnit,\n selectedUnitData: null\n });\n else if (\"unit_id\" in selectedUnit) set({\n selectedUnit: selectedUnit.unit_id,\n selectedUnitData: selectedUnit\n });\n },\n onUnitSelected: (unit, target, event)=>{\n console.log(\"onUnitSelected\", unit, target, event);\n const el = props.columnRef?.current;\n let overlayPosition = null;\n /** This is not the natural place to get positions within the column,\n * but it will work for now.\n */ if (props.onClickedColumn) {\n // Infer height from top and bottom height of unit (because that's passed back with the call)\n //const py = event.y;\n //const [bottom, top] = getUnitHeightRange(unit, axisType);\n //const height = Math.abs(bottom - top);\n /** Ideally this would be defined at the column level */ const columnClickData = {\n unitID: unit?.unit_id,\n unit: unit,\n target: target,\n height: el?.getBoundingClientRect().height || 0\n };\n props.onClickedColumn(columnClickData, event);\n }\n if (unit != null && el != null && target != null) {\n const rect = el.getBoundingClientRect();\n const targetRect = target.getBoundingClientRect();\n overlayPosition = {\n x: targetRect.left - rect.left,\n y: targetRect.top - rect.top,\n width: targetRect.width,\n height: targetRect.height\n };\n }\n props.onUnitSelected?.(unit?.unit_id, unit);\n return set({\n selectedUnit: unit?.unit_id,\n selectedUnitData: unit,\n overlayPosition: overlayPosition\n });\n }\n })));\n const { units: units, selectedUnit: selectedUnit } = props;\n (0, $TyplV$useEffect)(()=>{\n // Synchronize store with provided props\n if (selectedUnit != null) {\n const unitData = units?.find((u)=>u.unit_id === selectedUnit);\n store.setState({\n selectedUnit: selectedUnit,\n selectedUnitData: unitData\n });\n } else store.setState({\n selectedUnit: null,\n selectedUnitData: null\n });\n }, [\n selectedUnit,\n units\n ]);\n return (0, $TyplV$macrostrathyper)($f7d31510668965d8$var$UnitSelectionContext.Provider, {\n value: store\n }, props.children);\n}\nfunction $f7d31510668965d8$export$cbbec12b1451fe7d(unit) {\n const ref = (0, $TyplV$useRef)();\n const selectedUnit = $f7d31510668965d8$export$f0dd93f90aa8e5da();\n const onSelectUnit = $f7d31510668965d8$export$b220b1d3591dc9e5((state)=>state.onUnitSelected);\n const selected = selectedUnit?.unit_id == unit.unit_id;\n const onClick = (0, $TyplV$useCallback)((evt)=>{\n if (onSelectUnit == null) return;\n onSelectUnit(unit, ref.current, evt);\n evt.stopPropagation();\n }, [\n unit,\n onSelectUnit\n ]);\n (0, $TyplV$useEffect)(()=>{\n if (!selected || onSelectUnit == null) return;\n // In case we haven't set the position of the unit (if we don't have a target), set the selected unit\n onSelectUnit(unit, ref.current, null);\n // Scroll the unit into view\n ref.current?.scrollIntoView({\n behavior: \"smooth\",\n block: \"center\",\n inline: \"nearest\"\n });\n }, [\n selected,\n onSelectUnit\n ]);\n return [\n ref,\n selected,\n onClick\n ];\n}\nfunction $f7d31510668965d8$export$70f5ee19650fc7d1({ units: units }) {\n const selectedUnit = $f7d31510668965d8$export$f0dd93f90aa8e5da();\n const selectUnit = $f7d31510668965d8$export$77a278d5ca56e309();\n const ix = units.findIndex((unit)=>unit.unit_id === selectedUnit?.unit_id);\n const keyMap = {\n 38: ix - 1,\n 40: ix + 1\n };\n (0, $TyplV$useKeyHandler)((event)=>{\n const nextIx = keyMap[event.keyCode];\n if (nextIx == null || nextIx < 0 || nextIx >= units.length) return;\n selectUnit(units[nextIx], null, null);\n event.stopPropagation();\n }, [\n units,\n ix\n ]);\n return null;\n}\n\n\nexport {$f7d31510668965d8$export$77a278d5ca56e309 as useUnitSelectionDispatch, $f7d31510668965d8$export$b220b1d3591dc9e5 as useUnitSelectionStore, $f7d31510668965d8$export$f0dd93f90aa8e5da as useSelectedUnit, $f7d31510668965d8$export$f19d75b1d4b676a4 as UnitSelectionProvider, $f7d31510668965d8$export$cbbec12b1451fe7d as useUnitSelectionTarget, $f7d31510668965d8$export$70f5ee19650fc7d1 as UnitKeyboardNavigation};\n//# sourceMappingURL=column-views.10a2bad6.js.map\n","import { BaseUnit } from \"@macrostrat/api-types\";\nimport h from \"@macrostrat/hyper\";\nimport { useKeyHandler } from \"@macrostrat/ui-components\";\nimport {\n createContext,\n useContext,\n useEffect,\n useState,\n ReactNode,\n RefObject,\n useRef,\n useCallback,\n MouseEvent,\n} from \"react\";\nimport { createStore, StoreApi, useStore } from \"zustand\";\nimport type { RectBounds, IUnit } from \"./types\";\nimport {\n getUnitHeightRange,\n useMacrostratColumnData,\n} from \"@macrostrat/column-views\";\n\ntype UnitSelectDispatch = (\n unit: BaseUnit | null,\n target: HTMLElement | null,\n event: Event | null,\n) => void;\n\nconst UnitSelectionContext = createContext<StoreApi<UnitSelectionStore>>(null);\n\nexport function useUnitSelectionDispatch(): UnitSelectDispatch {\n const store = useContext(UnitSelectionContext);\n if (store == null) {\n return () => {};\n }\n return useStore(store, (state) => state.onUnitSelected);\n}\n\nexport function useUnitSelectionStore<T>(\n selector: (state: UnitSelectionStore) => T,\n): T {\n const store = useContext(UnitSelectionContext);\n if (store == null) {\n return null;\n }\n return useStore(store, selector);\n}\n\nexport function useSelectedUnit() {\n return useUnitSelectionStore((state) => state.selectedUnitData);\n}\n\ninterface UnitSelectionStore {\n selectedUnit: number | null;\n selectedUnitData: BaseUnit | null;\n overlayPosition: RectBounds | null;\n onUnitSelected: UnitSelectDispatch;\n setSelectedUnit: (unit: number | null) => void;\n}\n\nexport interface ColumnClickData {\n unitID: number | null;\n unit: BaseUnit | null;\n target: HTMLElement | null;\n height: number;\n // Room for boundary IDs eventually\n}\n\nexport function UnitSelectionProvider<T extends BaseUnit>(props: {\n children: ReactNode;\n columnRef?: RefObject<HTMLElement>;\n units: T[];\n selectedUnit: number | null;\n onClickedColumn?: (columnClickData: ColumnClickData, event: Event) => void;\n onUnitSelected?: (unitID: number | null, unit: T | null) => void;\n}) {\n const [store] = useState(() =>\n createStore<UnitSelectionStore>((set) => ({\n selectedUnit: null,\n selectedUnitData: null,\n overlayPosition: null,\n setSelectedUnit(selectedUnit: number | null | BaseUnit) {\n if (selectedUnit == null) {\n set({ selectedUnit: null, selectedUnitData: null });\n return;\n // If it's a number, set the selected unit\n } else if (typeof selectedUnit === \"number\") {\n set({ selectedUnit, selectedUnitData: null });\n } else if (\"unit_id\" in selectedUnit) {\n set({\n selectedUnit: selectedUnit.unit_id,\n selectedUnitData: selectedUnit,\n });\n }\n },\n onUnitSelected: (unit: T, target: HTMLElement, event: PointerEvent) => {\n console.log(\"onUnitSelected\", unit, target, event);\n const el = props.columnRef?.current;\n let overlayPosition = null;\n\n /** This is not the natural place to get positions within the column,\n * but it will work for now.\n */\n if (props.onClickedColumn) {\n // Infer height from top and bottom height of unit (because that's passed back with the call)\n //const py = event.y;\n //const [bottom, top] = getUnitHeightRange(unit, axisType);\n //const height = Math.abs(bottom - top);\n\n /** Ideally this would be defined at the column level */\n const columnClickData: ColumnClickData = {\n unitID: unit?.unit_id,\n unit,\n target,\n height: el?.getBoundingClientRect().height || 0,\n };\n props.onClickedColumn(columnClickData, event);\n }\n\n if (unit != null && el != null && target != null) {\n const rect = el.getBoundingClientRect();\n const targetRect = target.getBoundingClientRect();\n\n overlayPosition = {\n x: targetRect.left - rect.left,\n y: targetRect.top - rect.top,\n width: targetRect.width,\n height: targetRect.height,\n };\n }\n props.onUnitSelected?.(unit?.unit_id, unit);\n\n return set({\n selectedUnit: unit?.unit_id,\n selectedUnitData: unit,\n overlayPosition,\n });\n },\n })),\n );\n\n const { units, selectedUnit } = props;\n\n useEffect(() => {\n // Synchronize store with provided props\n if (selectedUnit != null) {\n const unitData = units?.find((u) => u.unit_id === selectedUnit);\n store.setState({ selectedUnit, selectedUnitData: unitData });\n } else {\n store.setState({ selectedUnit: null, selectedUnitData: null });\n }\n }, [selectedUnit, units]);\n\n return h(UnitSelectionContext.Provider, { value: store }, props.children);\n}\n\nexport function useUnitSelectionTarget(\n unit: IUnit,\n): [React.RefObject<HTMLElement>, boolean, (evt: Event) => void] {\n const ref = useRef<HTMLElement>();\n const selectedUnit = useSelectedUnit();\n const onSelectUnit = useUnitSelectionStore((state) => state.onUnitSelected);\n const selected = selectedUnit?.unit_id == unit.unit_id;\n\n const onClick = useCallback(\n (evt: Event) => {\n if (onSelectUnit == null) return;\n onSelectUnit(unit, ref.current, evt);\n evt.stopPropagation();\n },\n [unit, onSelectUnit],\n );\n\n useEffect(() => {\n if (!selected || onSelectUnit == null) return;\n // In case we haven't set the position of the unit (if we don't have a target), set the selected unit\n onSelectUnit(unit, ref.current, null);\n\n // Scroll the unit into view\n ref.current?.scrollIntoView({\n behavior: \"smooth\",\n block: \"center\",\n inline: \"nearest\",\n });\n }, [selected, onSelectUnit]);\n\n return [ref, selected, onClick];\n}\n\nexport function UnitKeyboardNavigation<T extends BaseUnit>({\n units,\n}: {\n units: T[];\n}) {\n const selectedUnit = useSelectedUnit();\n const selectUnit = useUnitSelectionDispatch();\n\n const ix = units.findIndex((unit) => unit.unit_id === selectedUnit?.unit_id);\n\n const keyMap = {\n 38: ix - 1,\n 40: ix + 1,\n };\n\n useKeyHandler(\n (event) => {\n const nextIx = keyMap[event.keyCode];\n if (nextIx == null || nextIx < 0 || nextIx >= units.length) return;\n selectUnit(units[nextIx], null, null);\n event.stopPropagation();\n },\n [units, ix],\n );\n return null;\n}\n"],"names":["$TyplV$macrostrathyper","useKeyHandler","$TyplV$useKeyHandler","createContext","$TyplV$createContext","useContext","$TyplV$useContext","useState","$TyplV$useState","useEffect","$TyplV$useEffect","useRef","$TyplV$useRef","useCallback","$TyplV$useCallback","useStore","$TyplV$useStore","createStore","$TyplV$createStore","$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$f7d31510668965d8$exports","$f7d31510668965d8$export$77a278d5ca56e309","$f7d31510668965d8$export$b220b1d3591dc9e5","$f7d31510668965d8$export$f0dd93f90aa8e5da","$f7d31510668965d8$export$f19d75b1d4b676a4","$f7d31510668965d8$export$cbbec12b1451fe7d","$f7d31510668965d8$export$70f5ee19650fc7d1","$f7d31510668965d8$var$UnitSelectionContext","store","state","onUnitSelected","selector","selectedUnitData","props","selectedUnit","overlayPosition","setSelectedUnit","unit_id","unit","target","event","console","log","el","columnRef","current","onClickedColumn","columnClickData","unitID","height","getBoundingClientRect","rect","targetRect","x","left","y","top","width","units","unitData","find","u","setState","Provider","value","children","ref","onSelectUnit","selected","onClick","evt","stopPropagation","scrollIntoView","behavior","block","inline","selectUnit","ix","findIndex","keyMap","nextIx","keyCode","length","useUnitSelectionDispatch","useUnitSelectionStore","useSelectedUnit","UnitSelectionProvider","useUnitSelectionTarget","UnitKeyboardNavigation"],"version":3,"file":"column-views.10a2bad6.js.map","sourceRoot":"../../../../"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"./column-views.a8ffe072.js";import"./column-views.a0aac838.js";import"./column-views.95411f1b.js";import"./column-views.78d3f3c5.js";function e(e,a){return Object.keys(a).forEach(function(r){"default"===r||"__esModule"===r||Object.prototype.hasOwnProperty.call(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:function(){return a[r]}})}),e}var a=globalThis,r={},t={},o=a.parcelRequirea149;null==o&&((o=function(e){if(e in r)return r[e].exports;if(e in t){var a=t[e];delete t[e];var o={id:e,exports:{}};return r[e]=o,a.call(o.exports,o,o.exports),o.exports}var s=Error("Cannot find module '"+e+"'");throw s.code="MODULE_NOT_FOUND",s}).register=function(e,a){t[e]=a},a.parcelRequirea149=o),o.register;var s={},c=o("Piirt"),$=o("lgTAP"),b=o("6W0kE"),d=o("wtIgl");e(s,c),e(s,$),e(s,b),e(s,d);export{$482a09479937d1e2$export$45bd78cd093090fa as fetchAllColumns,$482a09479937d1e2$export$e3270a4e30e40ff9 as useColumnFeatures,$482a09479937d1e2$export$1aa679bd5e605f82 as fetchLithologies,$482a09479937d1e2$export$5d2ec2e733dfe6c7 as fetchIntervals,$482a09479937d1e2$export$780b4b253712916c as fetchEnvironments,$482a09479937d1e2$export$cd7bfa0860f58b96 as fetchRefs,$482a09479937d1e2$export$b97b9bdd6a521298 as fetchUnits,$482a09479937d1e2$export$d3d8b0fabcc76c5d as fetchColumnUnits,$8750144f23b92eb9$export$fb98d5bae3a6800 as useMacrostratStore,$8750144f23b92eb9$export$89dd4e5ae4a82373 as useMacrostratDefs,$8750144f23b92eb9$export$81eaae0b474404fd as useMacrostratColumns,$8750144f23b92eb9$export$b9c9fc603d74a555 as useMacrostratData,$8750144f23b92eb9$export$690613f93cdc5576 as MacrostratDataProvider,$8750144f23b92eb9$export$3098013bc6cc316d as MacrostratAPIProvider,$8750144f23b92eb9$export$9e42f9b6e0d67c7d as MacrostratColumnProvider,$8750144f23b92eb9$export$8492a5cae82b6a70 as LithologiesProvider,$8750144f23b92eb9$export$4d18a90c945d129f as useLithologies,$8750144f23b92eb9$export$c6b216bf4c71b61f as useEnvironments,$d8324406f284950a$export$91cb5ac808759b34 as useColumnNav,$d8324406f284950a$export$36fed9e0f93a8fde as ColumnNavProvider,$91525b65c57a1e5d$export$7fec7bd80ff9c10e as MacrostratColumnDataProvider,$91525b65c57a1e5d$export$f8509b7cce386c7d as useMacrostratColumnData,$91525b65c57a1e5d$export$6fb40844db555b2 as useMacrostratUnits,$91525b65c57a1e5d$export$a7fc62995ec4f76 as useCompositeScale};
|
|
2
|
-
//# sourceMappingURL=column-views.1de87649.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"A,M,6C,A,O,6C,A,O,6C,A,O,6C,C,S,E,C,C,C,E,O,O,I,C,G,O,C,S,C,E,Y,G,A,e,G,O,S,C,c,C,I,C,E,I,O,c,C,E,E,C,W,C,E,I,W,O,C,C,E,A,C,E,G,C,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,C,E,E,E,S,E,E,S,E,E,S,E,E,S,E,E,G,E,E,G,E,E,G,E,E,U,6C,e,C,6C,iB,C,6C,gB,C,6C,c,C,6C,iB,C,6C,S,C,6C,U,C,6C,gB,C,4C,kB,C,6C,iB,C,6C,oB,C,6C,iB,C,6C,sB,C,6C,qB,C,6C,wB,C,6C,mB,C,6C,c,C,6C,e,C,6C,Y,C,6C,iB,C,6C,4B,C,6C,uB,C,4C,kB,C,4C,iB","sources":["<anon>","packages/column-views/src/data-provider/index.ts"],"sourcesContent":["import \"./column-views.a8ffe072.js\";\nimport \"./column-views.a0aac838.js\";\nimport \"./column-views.95411f1b.js\";\nimport \"./column-views.78d3f3c5.js\";\n\n\nfunction $parcel$exportWildcard(dest, source) {\n Object.keys(source).forEach(function(key) {\n if (key === 'default' || key === '__esModule' || Object.prototype.hasOwnProperty.call(dest, key)) {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function get() {\n return source[key];\n }\n });\n });\n\n return dest;\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $6f2fe440dde82d53$exports = {};\n\nvar $Piirt = parcelRequire(\"Piirt\");\n\nvar $lgTAP = parcelRequire(\"lgTAP\");\n\nvar $6W0kE = parcelRequire(\"6W0kE\");\n\nvar $wtIgl = parcelRequire(\"wtIgl\");\n$parcel$exportWildcard($6f2fe440dde82d53$exports, $Piirt);\n$parcel$exportWildcard($6f2fe440dde82d53$exports, $lgTAP);\n$parcel$exportWildcard($6f2fe440dde82d53$exports, $6W0kE);\n$parcel$exportWildcard($6f2fe440dde82d53$exports, $wtIgl);\n\n\nexport {$482a09479937d1e2$export$45bd78cd093090fa as fetchAllColumns, $482a09479937d1e2$export$e3270a4e30e40ff9 as useColumnFeatures, $482a09479937d1e2$export$1aa679bd5e605f82 as fetchLithologies, $482a09479937d1e2$export$5d2ec2e733dfe6c7 as fetchIntervals, $482a09479937d1e2$export$780b4b253712916c as fetchEnvironments, $482a09479937d1e2$export$cd7bfa0860f58b96 as fetchRefs, $482a09479937d1e2$export$b97b9bdd6a521298 as fetchUnits, $482a09479937d1e2$export$d3d8b0fabcc76c5d as fetchColumnUnits, $8750144f23b92eb9$export$fb98d5bae3a6800 as useMacrostratStore, $8750144f23b92eb9$export$89dd4e5ae4a82373 as useMacrostratDefs, $8750144f23b92eb9$export$81eaae0b474404fd as useMacrostratColumns, $8750144f23b92eb9$export$b9c9fc603d74a555 as useMacrostratData, $8750144f23b92eb9$export$690613f93cdc5576 as MacrostratDataProvider, $8750144f23b92eb9$export$3098013bc6cc316d as MacrostratAPIProvider, $8750144f23b92eb9$export$9e42f9b6e0d67c7d as MacrostratColumnProvider, $8750144f23b92eb9$export$8492a5cae82b6a70 as LithologiesProvider, $8750144f23b92eb9$export$4d18a90c945d129f as useLithologies, $8750144f23b92eb9$export$c6b216bf4c71b61f as useEnvironments, $d8324406f284950a$export$91cb5ac808759b34 as useColumnNav, $d8324406f284950a$export$36fed9e0f93a8fde as ColumnNavProvider, $91525b65c57a1e5d$export$7fec7bd80ff9c10e as MacrostratColumnDataProvider, $91525b65c57a1e5d$export$f8509b7cce386c7d as useMacrostratColumnData, $91525b65c57a1e5d$export$6fb40844db555b2 as useMacrostratUnits, $91525b65c57a1e5d$export$a7fc62995ec4f76 as useCompositeScale};\n//# sourceMappingURL=column-views.1de87649.js.map\n","export * from \"./fetch\";\nexport * from \"./base\";\nexport * from \"./column-nav\";\nexport * from \"./store\";\n"],"names":["$parcel$exportWildcard","dest","source","Object","keys","forEach","key","prototype","hasOwnProperty","call","defineProperty","enumerable","get","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","err","Error","code","register","$6f2fe440dde82d53$exports","$Piirt","$lgTAP","$6W0kE","$wtIgl","$482a09479937d1e2$export$45bd78cd093090fa","fetchAllColumns","$482a09479937d1e2$export$e3270a4e30e40ff9","useColumnFeatures","$482a09479937d1e2$export$1aa679bd5e605f82","fetchLithologies","$482a09479937d1e2$export$5d2ec2e733dfe6c7","fetchIntervals","$482a09479937d1e2$export$780b4b253712916c","fetchEnvironments","$482a09479937d1e2$export$cd7bfa0860f58b96","fetchRefs","$482a09479937d1e2$export$b97b9bdd6a521298","fetchUnits","$482a09479937d1e2$export$d3d8b0fabcc76c5d","fetchColumnUnits","$8750144f23b92eb9$export$fb98d5bae3a6800","useMacrostratStore","$8750144f23b92eb9$export$89dd4e5ae4a82373","useMacrostratDefs","$8750144f23b92eb9$export$81eaae0b474404fd","useMacrostratColumns","$8750144f23b92eb9$export$b9c9fc603d74a555","useMacrostratData","$8750144f23b92eb9$export$690613f93cdc5576","MacrostratDataProvider","$8750144f23b92eb9$export$3098013bc6cc316d","MacrostratAPIProvider","$8750144f23b92eb9$export$9e42f9b6e0d67c7d","MacrostratColumnProvider","$8750144f23b92eb9$export$8492a5cae82b6a70","LithologiesProvider","$8750144f23b92eb9$export$4d18a90c945d129f","useLithologies","$8750144f23b92eb9$export$c6b216bf4c71b61f","useEnvironments","$d8324406f284950a$export$91cb5ac808759b34","useColumnNav","$d8324406f284950a$export$36fed9e0f93a8fde","ColumnNavProvider","$91525b65c57a1e5d$export$7fec7bd80ff9c10e","MacrostratColumnDataProvider","$91525b65c57a1e5d$export$f8509b7cce386c7d","useMacrostratColumnData","$91525b65c57a1e5d$export$6fb40844db555b2","useMacrostratUnits","$91525b65c57a1e5d$export$a7fc62995ec4f76","useCompositeScale"],"version":3,"file":"column-views.1de87649.js.map","sourceRoot":"../../../../"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
function e(e,t,n,i){Object.defineProperty(e,t,{get:n,set:i,enumerable:!0,configurable:!0})}var t,n,i,a,o,r,U,s,d,l,c,p,u,D,G,X,_={};e(_,"color-swatch",()=>t,e=>t=e),e(_,"discourage-break",()=>n,e=>n=e),e(_,"hidden-actions",()=>i,e=>i=e),e(_,"interval-proportions",()=>a,e=>a=e),e(_,"legend-panel-header",()=>o,e=>o=e),e(_,"no-units",()=>r,e=>r=e),e(_,"proportion",()=>U,e=>U=e),e(_,"refs",()=>s,e=>s=e),e(_,"sep",()=>d,e=>d=e),e(_,"spacer",()=>l,e=>l=e),e(_,"strat-name-id",()=>c,e=>c=e),e(_,"title-container",()=>p,e=>p=e),e(_,"unit-details-content",()=>u,e=>u=e),e(_,"unit-details-content-holder",()=>D,e=>D=e),e(_,"unit-details-panel",()=>G,e=>G=e),e(_,"unit-id",()=>X,e=>X=e),t="XUD4UG_color-swatch",n="XUD4UG_discourage-break",i="XUD4UG_hidden-actions",a="XUD4UG_interval-proportions",o="XUD4UG_legend-panel-header",r="XUD4UG_no-units",U="XUD4UG_proportion",s="XUD4UG_refs",d="XUD4UG_sep",l="XUD4UG_spacer",c="XUD4UG_strat-name-id",p="XUD4UG_title-container",u="XUD4UG_unit-details-content",D="XUD4UG_unit-details-content-holder",G="XUD4UG_unit-details-panel",X="XUD4UG_unit-id";export{_ as default};
|
|
2
|
-
//# sourceMappingURL=column-views.286d444d.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"A,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,ICAA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,E,E,C,E,E,E,e,I,E,A,G,E,G,E,E,mB,I,E,A,G,E,G,E,E,iB,I,E,A,G,E,G,E,E,uB,I,E,A,G,E,G,E,E,sB,I,E,A,G,E,G,E,E,W,I,E,A,G,E,G,E,E,a,I,E,A,G,E,G,E,E,O,I,E,A,G,E,G,E,E,M,I,E,A,G,E,G,E,E,S,I,E,A,G,E,G,E,E,gB,I,E,A,G,E,G,E,E,kB,I,E,A,G,E,G,E,E,uB,I,E,A,G,E,G,E,E,8B,I,E,A,G,E,G,E,E,qB,I,E,A,G,E,G,E,E,U,I,E,A,G,E,GAfA,EAAiC,sBACjC,EAAqC,0BACrC,EAAmC,wBACnC,EAAyC,8BACzC,EAAwC,6BACxC,EAA6B,kBAC7B,EAA+B,oBAC/B,EAAyB,cACzB,EAAwB,aACxB,EAA2B,gBAC3B,EAAkC,uBAClC,EAAoC,yBACpC,EAAyC,8BACzC,EAAgD,qCAChD,EAAuC,4BACvC,EAA4B,wB,K,O","sources":["<anon>","packages/column-views/src/unit-details/panel.module.sass"],"sourcesContent":["\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\nvar $fdcbde10b14fc2b9$exports = {};\n\n$parcel$export($fdcbde10b14fc2b9$exports, \"color-swatch\", () => $fdcbde10b14fc2b9$export$def51519e6441a17, (v) => $fdcbde10b14fc2b9$export$def51519e6441a17 = v);\n$parcel$export($fdcbde10b14fc2b9$exports, \"discourage-break\", () => $fdcbde10b14fc2b9$export$46755bac45eea0a4, (v) => $fdcbde10b14fc2b9$export$46755bac45eea0a4 = v);\n$parcel$export($fdcbde10b14fc2b9$exports, \"hidden-actions\", () => $fdcbde10b14fc2b9$export$b36b9e25cc36a950, (v) => $fdcbde10b14fc2b9$export$b36b9e25cc36a950 = v);\n$parcel$export($fdcbde10b14fc2b9$exports, \"interval-proportions\", () => $fdcbde10b14fc2b9$export$ff33e8e065b5d268, (v) => $fdcbde10b14fc2b9$export$ff33e8e065b5d268 = v);\n$parcel$export($fdcbde10b14fc2b9$exports, \"legend-panel-header\", () => $fdcbde10b14fc2b9$export$ce652ed9af8e3365, (v) => $fdcbde10b14fc2b9$export$ce652ed9af8e3365 = v);\n$parcel$export($fdcbde10b14fc2b9$exports, \"no-units\", () => $fdcbde10b14fc2b9$export$aff88130074c0d5f, (v) => $fdcbde10b14fc2b9$export$aff88130074c0d5f = v);\n$parcel$export($fdcbde10b14fc2b9$exports, \"proportion\", () => $fdcbde10b14fc2b9$export$5a14da41381fe262, (v) => $fdcbde10b14fc2b9$export$5a14da41381fe262 = v);\n$parcel$export($fdcbde10b14fc2b9$exports, \"refs\", () => $fdcbde10b14fc2b9$export$21666b427502ea6d, (v) => $fdcbde10b14fc2b9$export$21666b427502ea6d = v);\n$parcel$export($fdcbde10b14fc2b9$exports, \"sep\", () => $fdcbde10b14fc2b9$export$5aee1a5bd9743d8f, (v) => $fdcbde10b14fc2b9$export$5aee1a5bd9743d8f = v);\n$parcel$export($fdcbde10b14fc2b9$exports, \"spacer\", () => $fdcbde10b14fc2b9$export$8cc075c801fd6817, (v) => $fdcbde10b14fc2b9$export$8cc075c801fd6817 = v);\n$parcel$export($fdcbde10b14fc2b9$exports, \"strat-name-id\", () => $fdcbde10b14fc2b9$export$3ab27000c02e6186, (v) => $fdcbde10b14fc2b9$export$3ab27000c02e6186 = v);\n$parcel$export($fdcbde10b14fc2b9$exports, \"title-container\", () => $fdcbde10b14fc2b9$export$8a49b8d8484a58d8, (v) => $fdcbde10b14fc2b9$export$8a49b8d8484a58d8 = v);\n$parcel$export($fdcbde10b14fc2b9$exports, \"unit-details-content\", () => $fdcbde10b14fc2b9$export$1c30616b5f94c6bc, (v) => $fdcbde10b14fc2b9$export$1c30616b5f94c6bc = v);\n$parcel$export($fdcbde10b14fc2b9$exports, \"unit-details-content-holder\", () => $fdcbde10b14fc2b9$export$1dcba08cee5317f8, (v) => $fdcbde10b14fc2b9$export$1dcba08cee5317f8 = v);\n$parcel$export($fdcbde10b14fc2b9$exports, \"unit-details-panel\", () => $fdcbde10b14fc2b9$export$f94e3d1eb82ee550, (v) => $fdcbde10b14fc2b9$export$f94e3d1eb82ee550 = v);\n$parcel$export($fdcbde10b14fc2b9$exports, \"unit-id\", () => $fdcbde10b14fc2b9$export$e22f189945dfce76, (v) => $fdcbde10b14fc2b9$export$e22f189945dfce76 = v);\nvar $fdcbde10b14fc2b9$export$def51519e6441a17;\nvar $fdcbde10b14fc2b9$export$46755bac45eea0a4;\nvar $fdcbde10b14fc2b9$export$b36b9e25cc36a950;\nvar $fdcbde10b14fc2b9$export$ff33e8e065b5d268;\nvar $fdcbde10b14fc2b9$export$ce652ed9af8e3365;\nvar $fdcbde10b14fc2b9$export$aff88130074c0d5f;\nvar $fdcbde10b14fc2b9$export$5a14da41381fe262;\nvar $fdcbde10b14fc2b9$export$21666b427502ea6d;\nvar $fdcbde10b14fc2b9$export$5aee1a5bd9743d8f;\nvar $fdcbde10b14fc2b9$export$8cc075c801fd6817;\nvar $fdcbde10b14fc2b9$export$3ab27000c02e6186;\nvar $fdcbde10b14fc2b9$export$8a49b8d8484a58d8;\nvar $fdcbde10b14fc2b9$export$1c30616b5f94c6bc;\nvar $fdcbde10b14fc2b9$export$1dcba08cee5317f8;\nvar $fdcbde10b14fc2b9$export$f94e3d1eb82ee550;\nvar $fdcbde10b14fc2b9$export$e22f189945dfce76;\n$fdcbde10b14fc2b9$export$def51519e6441a17 = `XUD4UG_color-swatch`;\n$fdcbde10b14fc2b9$export$46755bac45eea0a4 = `XUD4UG_discourage-break`;\n$fdcbde10b14fc2b9$export$b36b9e25cc36a950 = `XUD4UG_hidden-actions`;\n$fdcbde10b14fc2b9$export$ff33e8e065b5d268 = `XUD4UG_interval-proportions`;\n$fdcbde10b14fc2b9$export$ce652ed9af8e3365 = `XUD4UG_legend-panel-header`;\n$fdcbde10b14fc2b9$export$aff88130074c0d5f = `XUD4UG_no-units`;\n$fdcbde10b14fc2b9$export$5a14da41381fe262 = `XUD4UG_proportion`;\n$fdcbde10b14fc2b9$export$21666b427502ea6d = `XUD4UG_refs`;\n$fdcbde10b14fc2b9$export$5aee1a5bd9743d8f = `XUD4UG_sep`;\n$fdcbde10b14fc2b9$export$8cc075c801fd6817 = `XUD4UG_spacer`;\n$fdcbde10b14fc2b9$export$3ab27000c02e6186 = `XUD4UG_strat-name-id`;\n$fdcbde10b14fc2b9$export$8a49b8d8484a58d8 = `XUD4UG_title-container`;\n$fdcbde10b14fc2b9$export$1c30616b5f94c6bc = `XUD4UG_unit-details-content`;\n$fdcbde10b14fc2b9$export$1dcba08cee5317f8 = `XUD4UG_unit-details-content-holder`;\n$fdcbde10b14fc2b9$export$f94e3d1eb82ee550 = `XUD4UG_unit-details-panel`;\n$fdcbde10b14fc2b9$export$e22f189945dfce76 = `XUD4UG_unit-id`;\n\n\nexport {$fdcbde10b14fc2b9$exports as default};\n//# sourceMappingURL=column-views.286d444d.js.map\n",null],"names":["$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$fdcbde10b14fc2b9$export$def51519e6441a17","$fdcbde10b14fc2b9$export$46755bac45eea0a4","$fdcbde10b14fc2b9$export$b36b9e25cc36a950","$fdcbde10b14fc2b9$export$ff33e8e065b5d268","$fdcbde10b14fc2b9$export$ce652ed9af8e3365","$fdcbde10b14fc2b9$export$aff88130074c0d5f","$fdcbde10b14fc2b9$export$5a14da41381fe262","$fdcbde10b14fc2b9$export$21666b427502ea6d","$fdcbde10b14fc2b9$export$5aee1a5bd9743d8f","$fdcbde10b14fc2b9$export$8cc075c801fd6817","$fdcbde10b14fc2b9$export$3ab27000c02e6186","$fdcbde10b14fc2b9$export$8a49b8d8484a58d8","$fdcbde10b14fc2b9$export$1c30616b5f94c6bc","$fdcbde10b14fc2b9$export$1dcba08cee5317f8","$fdcbde10b14fc2b9$export$f94e3d1eb82ee550","$fdcbde10b14fc2b9$export$e22f189945dfce76","$fdcbde10b14fc2b9$exports","default"],"version":3,"file":"column-views.286d444d.js.map","sourceRoot":"../../../../"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"./column-views.d6708353.js";import"./column-views.78d3f3c5.js";import"./column-views.aff245a8.js";import e from"@macrostrat/hyper";import{ColumnAxisType as a,SVG as t,AgeAxis as s}from"@macrostrat/column-components";import"react";import{Parenthetical as r}from"@macrostrat/data-components";function i(e,a,t,s){Object.defineProperty(e,a,{get:t,set:s,enumerable:!0,configurable:!0})}var o=globalThis,l={},c={},n=o.parcelRequirea149;null==n&&((n=function(e){if(e in l)return l[e].exports;if(e in c){var a=c[e];delete c[e];var t={id:e,exports:{}};return l[e]=t,a.call(t.exports,t,t.exports),t.exports}var s=Error("Cannot find module '"+e+"'");throw s.code="MODULE_NOT_FOUND",s}).register=function(e,a){c[e]=a},o.parcelRequirea149=n),n.register;var u={};i(u,"VerticalAxisLabel",()=>f),i(u,"CompositeAgeAxis",()=>x),i(u,"CompositeAgeAxisCore",()=>A),i(u,"AgeCursor",()=>b);var m=n("6kMGl"),p=n("wtIgl"),d=n("iYfAq");let g=e.styled(m&&m.__esModule?m.default:m);function f(e){let{label:a="Age",unit:t="Ma",className:s}=e;return g("div.column-axis-label.age-axis-label",{className:s},[a," ",g.if(t)(r,{className:"age-axis-unit"},t)])}function x(){let{axisType:e,sections:a,totalHeight:t}=(0,p.useMacrostratColumnData)();return g(A,{axisType:e,packages:a.map(e=>({key:`section-${e.section_id}`,...e.scaleInfo})),totalHeight:t})}function A(e){let{axisType:r,totalHeight:i,packages:o}=e;if(r==a.ORDINAL)return null;let l="Age",c="Ma";return r==a.DEPTH?(l="Depth",c="m"):r==a.HEIGHT&&(l="Height",c="m"),g([g(f,{label:l,unit:c}),g(t,{className:"age-axis-column",style:{width:"22px",height:`${i}px`},width:22,height:i},o.map((e,a)=>{let{key:t,scale:r}=e;return g(s,{key:t,className:"age-axis",scale:r,tickSizeOuter:3})}))])}function b({age:e}){let a=(0,p.useCompositeScale)()(e);return(console.log(e,a),null==e||null==a)?null:g("div.age-cursor",{style:{top:a}},[g("div.line"),g(d.AgeLabel,{age:e,className:"label"})])}export{f as VerticalAxisLabel,x as CompositeAgeAxis,A as CompositeAgeAxisCore,b as AgeCursor};
|
|
2
|
-
//# sourceMappingURL=column-views.536dc54e.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"A,M,6C,A,O,6C,A,O,6C,A,Q,M,mB,A,Q,kB,C,C,O,C,C,W,C,K,+B,A,O,O,A,Q,iB,C,K,6B,C,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,C,E,E,E,oB,I,G,E,E,mB,I,G,E,E,uB,I,G,E,E,Y,I,G,I,E,E,S,E,E,S,E,E,SCeA,IAAM,EAAI,AAAA,EAAM,MAAM,C,AAAC,G,AAAA,E,U,C,AAAA,E,O,CAAA,GAehB,SAAS,EAAkB,CAAK,EACrC,GAAM,CAAA,MAAE,EAAQ,KAAA,CAAA,KAAO,EAAO,IAAA,CAAA,UAAM,CAAS,CAAE,CAAG,EAClD,OAAO,EAAE,uCAAwC,CAAE,UAAA,CAAU,EAAG,CAC9D,EACA,IACA,EAAE,EAAE,CAAC,GAAM,EAAe,CAAE,UAAW,eAAgB,EAAG,GAC3D,CACH,CAEO,SAAS,IACd,GAAM,CAAA,SAAE,CAAQ,CAAA,SAAE,CAAQ,CAAA,YAAE,CAAW,CAAE,CAAG,AAAA,CAAA,EAAA,EAAA,uBAAsB,AAAtB,IAS5C,OAAO,EAAE,EAAsB,CAC7B,SAAA,EACA,SATe,EAAS,GAAG,CAAC,AAAC,GACtB,CAAA,CACL,IAAK,CAAC,QAAQ,EAAE,EAAQ,UAAU,CAAA,CAAE,CACpC,GAAG,EAAQ,SAAS,AACtB,CAAA,GAMA,YAAA,CACF,EACF,CAQO,SAAS,EAAqB,CAAsC,EACzE,GAAM,CAAA,SAAE,CAAQ,CAAA,YAAE,CAAW,CAAA,SAAE,CAAQ,CAAE,CAAG,EAE5C,GAAI,GAAY,AAAA,EAAe,OAAO,CACpC,OAAO,KAGT,IAAI,EAAoB,MACpB,EAAW,KASf,OARI,GAAY,AAAA,EAAe,KAAK,EAClC,EAAY,QACZ,EAAW,KACF,GAAY,AAAA,EAAe,MAAM,GAC1C,EAAY,SACZ,EAAW,KAGN,EAAE,CACP,EAAE,EAAmB,CACnB,MAAO,EACP,KAAM,CACR,GACA,EACE,EACA,CACE,UAAW,kBACX,MAAO,CAAE,MAAO,OAAQ,OAAQ,CAAA,EAAG,EAAY,EAAE,CAAC,AAAC,EACnD,MAAO,GACP,OAAQ,CACV,EACA,EAAS,GAAG,CAAC,CAAC,EAAO,KACnB,GAAM,CAAA,IAAE,CAAG,CAAA,MAAE,CAAK,CAAE,CAAG,EAEvB,OAAO,EAAE,EAAS,CAChB,IAAA,EACA,UAAW,WACX,MAAA,EACA,cAAe,CACjB,EACF,IAEH,CACH,CAEO,SAAS,EAAU,CAAA,IAAE,CAAG,CAAE,EAG/B,IAAM,EAAW,AADH,AAAA,CAAA,EAAA,EAAA,iBAAgB,AAAhB,IACS,SAIvB,CAFA,QAAQ,GAAG,CAAC,EAAK,GAEb,AAAO,MAAP,GAAe,AAAY,MAAZ,GACV,KAGF,EACL,iBACA,CACE,MAAO,CACL,IAAK,CACP,CACF,EACA,CAAC,EAAE,YAAa,EAAE,EAAA,QAAO,CAAG,CAAE,IAAA,EAAK,UAAW,OAAQ,GAAG,CAE7D,Q,K,iB,C,K,gB,C,K,oB,C,K,S","sources":["<anon>","packages/column-views/src/age-axis.ts"],"sourcesContent":["import \"./column-views.d6708353.js\";\nimport \"./column-views.78d3f3c5.js\";\nimport \"./column-views.aff245a8.js\";\nimport $fXMLu$macrostrathyper from \"@macrostrat/hyper\";\nimport {ColumnContext as $fXMLu$ColumnContext, ColumnAxis as $fXMLu$ColumnAxis, ColumnAxisType as $fXMLu$ColumnAxisType, SVG as $fXMLu$SVG, AgeAxis as $fXMLu$AgeAxis} from \"@macrostrat/column-components\";\nimport {useContext as $fXMLu$useContext} from \"react\";\nimport {Parenthetical as $fXMLu$Parenthetical} from \"@macrostrat/data-components\";\n\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $1aa4ef695e55d51d$exports = {};\n\n$parcel$export($1aa4ef695e55d51d$exports, \"VerticalAxisLabel\", () => $1aa4ef695e55d51d$export$64204d5cbb3e8227);\n$parcel$export($1aa4ef695e55d51d$exports, \"CompositeAgeAxis\", () => $1aa4ef695e55d51d$export$40b6b0e4520eeb34);\n$parcel$export($1aa4ef695e55d51d$exports, \"CompositeAgeAxisCore\", () => $1aa4ef695e55d51d$export$ac30ca3cf5df959d);\n$parcel$export($1aa4ef695e55d51d$exports, \"AgeCursor\", () => $1aa4ef695e55d51d$export$20d84abfcfa68dfa);\n\n\n\n\nvar $6kMGl = parcelRequire(\"6kMGl\");\n\nvar $wtIgl = parcelRequire(\"wtIgl\");\n\n\nvar $iYfAq = parcelRequire(\"iYfAq\");\nconst $1aa4ef695e55d51d$var$h = (0, $fXMLu$macrostrathyper).styled((0, (/*@__PURE__*/$parcel$interopDefault($6kMGl))));\nconst $1aa4ef695e55d51d$var$AgeAxisCore = ({ ticks: ticks, tickSpacing: tickSpacing = 40, showDomain: showDomain = false })=>{\n const { pixelHeight: pixelHeight } = (0, $fXMLu$useContext)((0, $fXMLu$ColumnContext));\n // A tick roughly every 40 pixels\n let v = Math.max(Math.round(pixelHeight / tickSpacing), 1);\n return $1aa4ef695e55d51d$var$h(\"g.axis\", {\n transform: \"translate(20 0)\"\n }, [\n $1aa4ef695e55d51d$var$h((0, $fXMLu$ColumnAxis), {\n ticks: v,\n showDomain: showDomain\n })\n ]);\n};\nfunction $1aa4ef695e55d51d$export$64204d5cbb3e8227(props) {\n const { label: label = \"Age\", unit: unit = \"Ma\", className: className } = props;\n return $1aa4ef695e55d51d$var$h(\"div.column-axis-label.age-axis-label\", {\n className: className\n }, [\n label,\n \" \",\n $1aa4ef695e55d51d$var$h.if(unit)((0, $fXMLu$Parenthetical), {\n className: \"age-axis-unit\"\n }, unit)\n ]);\n}\nfunction $1aa4ef695e55d51d$export$40b6b0e4520eeb34() {\n const { axisType: axisType, sections: sections, totalHeight: totalHeight } = (0, $wtIgl.useMacrostratColumnData)();\n const packages = sections.map((section)=>{\n return {\n key: `section-${section.section_id}`,\n ...section.scaleInfo\n };\n });\n return $1aa4ef695e55d51d$var$h($1aa4ef695e55d51d$export$ac30ca3cf5df959d, {\n axisType: axisType,\n packages: packages,\n totalHeight: totalHeight\n });\n}\nfunction $1aa4ef695e55d51d$export$ac30ca3cf5df959d(props) {\n const { axisType: axisType, totalHeight: totalHeight, packages: packages } = props;\n if (axisType == (0, $fXMLu$ColumnAxisType).ORDINAL) return null;\n let axisLabel = \"Age\";\n let axisUnit = \"Ma\";\n if (axisType == (0, $fXMLu$ColumnAxisType).DEPTH) {\n axisLabel = \"Depth\";\n axisUnit = \"m\";\n } else if (axisType == (0, $fXMLu$ColumnAxisType).HEIGHT) {\n axisLabel = \"Height\";\n axisUnit = \"m\";\n }\n return $1aa4ef695e55d51d$var$h([\n $1aa4ef695e55d51d$var$h($1aa4ef695e55d51d$export$64204d5cbb3e8227, {\n label: axisLabel,\n unit: axisUnit\n }),\n $1aa4ef695e55d51d$var$h((0, $fXMLu$SVG), {\n className: \"age-axis-column\",\n style: {\n width: `22px`,\n height: `${totalHeight}px`\n },\n width: 22,\n height: totalHeight\n }, packages.map((group, i)=>{\n const { key: key, scale: scale } = group;\n return $1aa4ef695e55d51d$var$h((0, $fXMLu$AgeAxis), {\n key: key,\n className: \"age-axis\",\n scale: scale,\n tickSizeOuter: 3\n });\n }))\n ]);\n}\nfunction $1aa4ef695e55d51d$export$20d84abfcfa68dfa({ age: age }) {\n /** A cursor that shows the age at a specific point on the age axis. */ const scale = (0, $wtIgl.useCompositeScale)();\n const heightPx = scale(age);\n console.log(age, heightPx);\n if (age == null || heightPx == null) return null;\n return $1aa4ef695e55d51d$var$h(\"div.age-cursor\", {\n style: {\n top: heightPx\n }\n }, [\n $1aa4ef695e55d51d$var$h(\"div.line\"),\n $1aa4ef695e55d51d$var$h((0, $iYfAq.AgeLabel), {\n age: age,\n className: \"label\"\n })\n ]);\n}\n\n\nexport {$1aa4ef695e55d51d$export$64204d5cbb3e8227 as VerticalAxisLabel, $1aa4ef695e55d51d$export$40b6b0e4520eeb34 as CompositeAgeAxis, $1aa4ef695e55d51d$export$ac30ca3cf5df959d as CompositeAgeAxisCore, $1aa4ef695e55d51d$export$20d84abfcfa68dfa as AgeCursor};\n//# sourceMappingURL=column-views.536dc54e.js.map\n","import hyper from \"@macrostrat/hyper\";\nimport {\n SVG,\n ColumnAxis,\n ColumnContext,\n ColumnAxisType,\n AgeAxis,\n} from \"@macrostrat/column-components\";\nimport { useContext } from \"react\";\nimport styles from \"./age-axis.module.sass\";\nimport { useCompositeScale, useMacrostratColumnData } from \"./data-provider\";\nimport { Parenthetical } from \"@macrostrat/data-components\";\nimport { PackageScaleLayoutData } from \"./prepare-units/composite-scale\";\nimport { AgeLabel } from \"./unit-details\";\n\nconst h = hyper.styled(styles);\n\nconst AgeAxisCore = ({ ticks, tickSpacing = 40, showDomain = false }) => {\n const { pixelHeight } = useContext(ColumnContext);\n // A tick roughly every 40 pixels\n let v = Math.max(Math.round(pixelHeight / tickSpacing), 1);\n\n return h(\"g.axis\", { transform: \"translate(20 0)\" }, [\n h(ColumnAxis, {\n ticks: v,\n showDomain,\n }),\n ]);\n};\n\nexport function VerticalAxisLabel(props) {\n const { label = \"Age\", unit = \"Ma\", className } = props;\n return h(\"div.column-axis-label.age-axis-label\", { className }, [\n label,\n \" \",\n h.if(unit)(Parenthetical, { className: \"age-axis-unit\" }, unit),\n ]);\n}\n\nexport function CompositeAgeAxis() {\n const { axisType, sections, totalHeight } = useMacrostratColumnData();\n\n const packages = sections.map((section) => {\n return {\n key: `section-${section.section_id}`,\n ...section.scaleInfo,\n };\n });\n\n return h(CompositeAgeAxisCore, {\n axisType,\n packages,\n totalHeight,\n });\n}\n\nexport interface CompositeStratigraphicScaleInfo {\n axisType: ColumnAxisType;\n totalHeight: number;\n packages: PackageScaleLayoutData[];\n}\n\nexport function CompositeAgeAxisCore(props: CompositeStratigraphicScaleInfo) {\n const { axisType, totalHeight, packages } = props;\n\n if (axisType == ColumnAxisType.ORDINAL) {\n return null;\n }\n\n let axisLabel: string = \"Age\";\n let axisUnit = \"Ma\";\n if (axisType == ColumnAxisType.DEPTH) {\n axisLabel = \"Depth\";\n axisUnit = \"m\";\n } else if (axisType == ColumnAxisType.HEIGHT) {\n axisLabel = \"Height\";\n axisUnit = \"m\";\n }\n\n return h([\n h(VerticalAxisLabel, {\n label: axisLabel,\n unit: axisUnit,\n }),\n h(\n SVG,\n {\n className: \"age-axis-column\",\n style: { width: `22px`, height: `${totalHeight}px` },\n width: 22,\n height: totalHeight,\n },\n packages.map((group, i) => {\n const { key, scale } = group;\n\n return h(AgeAxis, {\n key,\n className: \"age-axis\",\n scale,\n tickSizeOuter: 3,\n });\n }),\n ),\n ]);\n}\n\nexport function AgeCursor({ age }) {\n /** A cursor that shows the age at a specific point on the age axis. */\n const scale = useCompositeScale();\n const heightPx = scale(age);\n\n console.log(age, heightPx);\n\n if (age == null || heightPx == null) {\n return null;\n }\n\n return h(\n \"div.age-cursor\",\n {\n style: {\n top: heightPx,\n },\n },\n [h(\"div.line\"), h(AgeLabel, { age, className: \"label\" })],\n );\n}\n"],"names":["$fXMLu$macrostrathyper","ColumnAxisType","$fXMLu$ColumnAxisType","SVG","$fXMLu$SVG","AgeAxis","$fXMLu$AgeAxis","Parenthetical","$fXMLu$Parenthetical","$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$1aa4ef695e55d51d$exports","$1aa4ef695e55d51d$export$64204d5cbb3e8227","$1aa4ef695e55d51d$export$40b6b0e4520eeb34","$1aa4ef695e55d51d$export$ac30ca3cf5df959d","$1aa4ef695e55d51d$export$20d84abfcfa68dfa","$6kMGl","$wtIgl","$iYfAq","$1aa4ef695e55d51d$var$h","styled","a","__esModule","default","props","label","unit","className","if","axisType","sections","totalHeight","useMacrostratColumnData","packages","map","section","key","section_id","scaleInfo","ORDINAL","axisLabel","axisUnit","DEPTH","HEIGHT","style","width","height","group","i","scale","tickSizeOuter","age","heightPx","useCompositeScale","console","log","top","AgeLabel","VerticalAxisLabel","CompositeAgeAxis","CompositeAgeAxisCore","AgeCursor"],"version":3,"file":"column-views.536dc54e.js.map","sourceRoot":"../../../../"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"A,M,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,Q,M,mB,A,Q,W,C,K,O,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,O,c,C,C,E,oB,C,I,I,E,I,K,E,W,C,E,a,C,C,G,I,E,E,S,E,E,S,E,E,S,E,E,S,E,E,SCUA,IAAM,EAAI,AAAA,EAAM,MAAM,C,AAAC,G,AAAA,E,U,C,AAAA,E,O,CAAA,GAgBvB,SAAS,EAAW,CAAsB,EACxC,GAAM,CAAA,KAAE,CAAI,CAAA,QAAE,CAAO,CAAE,CAAG,EACpB,CAAA,KAAE,CAAI,CAAA,KAAE,CAAI,CAAE,CAAG,EAEnB,EAAK,EAEL,EAAU,KACd,GAAI,EAAK,MAAM,CAAG,EAAG,CACnB,IAAM,EAAI,EAAK,MAAM,CAAG,EACxB,EAAK,EAAK,KAAK,CAAC,EAAG,GACnB,EAAU,EAAE,cAAe,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAC5C,CAEA,OAAO,EAAE,wBAAyB,CAChC,EAAG,GAAG,CAAC,AAAC,GACC,EAAE,gBAAiB,CAAE,IAAK,EAAE,OAAO,AAAC,EAAG,CAC5C,EAAE,EAAoB,CAAE,WAAY,CAAE,GACvC,GAEH,EACD,CACH,CAEA,SAAS,EAAmB,CAAA,WAAE,CAAU,CAAkC,EACxE,OAAO,EACL,YACA,CACE,KAAM,CAAC,mEAAmE,EAAE,EAAW,OAAO,CAAA,CAAE,AAClG,EACA,EAAW,SAAS,CAExB,CAEA,IAAM,EAAe,AAAC,GAAO,AAAC,GAAM,EAAE,OAAO,EAAI,EAAG,OAAO,CAEpD,SAAS,EAAkB,CAAA,SAAE,CAAQ,CAAA,MAAE,EAAQ,SAAA,CAAW,EAC/D,IAAM,EAAO,AAAA,CAAA,EAAA,EAAA,aAAY,AAAZ,EAAc,CAAE,OAAQ,CAAS,GACxC,CAAA,SAAE,CAAQ,CAAA,MAAE,CAAK,CAAE,CAAG,AAAA,CAAA,EAAA,EAAA,uBAAsB,AAAtB,IAEtB,EAAe,AAAA,EAAQ,KAC3B,GAAI,AAAQ,MAAR,GAAgB,AAAS,MAAT,EAAe,MAAO,EAAE,CAC5C,IAAI,EAAc,MAAM,IAAI,CAAC,EAAK,MAAM,IACrC,GAAG,CAAC,AAAC,GACG,CAAA,CACL,KAAM,EACN,KAAM,EAAM,IAAI,CAAC,EAAa,CAAC,CAAC,EAAE,EACpC,CAAA,GAED,MAAM,CAAC,AAAC,GAAM,AAAU,MAAV,EAAE,IAAI,EAQvB,OANA,EAAY,IAAI,CAAC,CAAC,EAAG,IAGZ,AAFI,EAAM,OAAO,CAAC,EAAE,IAAI,EACpB,EAAM,OAAO,CAAC,EAAE,IAAI,GAI1B,EAAY,GAAG,CAAC,AAAC,IACtB,GAAM,CAAA,KAAE,CAAI,CAAA,KAAE,CAAI,CAAE,CAAG,EACjB,EAAc,AAAA,CAAA,EAAA,EAAA,kBAAiB,AAAjB,EAAmB,EAAM,GAE7C,MAAO,CACL,WAAY,CAAW,CAAC,EAAE,CAC1B,OAAQ,CAAW,CAAC,EAAE,CACtB,KAAA,EACA,KAAA,EACA,GAAI,EAAK,OAAO,AAClB,CACF,EACF,EAAG,CAAC,EAAM,EAAM,EAKV,EAAgB,AAAA,EAAQ,IACrB,AAAC,GACC,EAAE,EAAY,CACnB,MAAA,EACA,GAAG,CAAK,AACV,GAED,CAVW,IAUH,EAAM,SAEjB,AAAI,AAAQ,MAAR,GAAgB,AAAS,MAAT,EAAsB,KAEnC,EACL,iBACA,EAAE,EAAA,WAAU,CAAG,CACb,MAjBU,IAkBV,YAjBgB,GAkBhB,MAAA,EACA,cAAA,CACF,GAEJ,Q,K,iB","sources":["<anon>","packages/column-views/src/facets/fossils/index.ts"],"sourcesContent":["import \"./column-views.8cfed88b.js\";\nimport \"./column-views.78d3f3c5.js\";\nimport \"./column-views.a501cea0.js\";\nimport \"./column-views.cf90f63d.js\";\nimport \"./column-views.3345cd7a.js\";\nimport $2jHE4$macrostrathyper from \"@macrostrat/hyper\";\nimport {useMemo as $2jHE4$useMemo} from \"react\";\n\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $ea2f112131e22f14$exports = {};\n\n$parcel$export($ea2f112131e22f14$exports, \"PBDBFossilsColumn\", () => $ea2f112131e22f14$export$554267114407ef68);\n\nvar $iWhRv = parcelRequire(\"iWhRv\");\n\nvar $wtIgl = parcelRequire(\"wtIgl\");\n\n\nvar $dx7no = parcelRequire(\"dx7no\");\n\nvar $6KYbn = parcelRequire(\"6KYbn\");\n\n\nvar $jDygK = parcelRequire(\"jDygK\");\nconst $ea2f112131e22f14$var$h = (0, $2jHE4$macrostrathyper).styled((0, (/*@__PURE__*/$parcel$interopDefault($jDygK))));\nfunction $ea2f112131e22f14$var$FossilInfo(props) {\n const { note: note, spacing: spacing } = props;\n const { data: data, unit: unit } = note;\n let d1 = data;\n let tooMany = null;\n if (data.length > 5) {\n const n = data.length - 5;\n d1 = data.slice(0, 5);\n tooMany = $ea2f112131e22f14$var$h(\"li.too-many\", `and ${n} more`);\n }\n return $ea2f112131e22f14$var$h(\"ul.fossil-collections\", [\n d1.map((d)=>{\n return $ea2f112131e22f14$var$h(\"li.collection\", {\n key: d.cltn_id\n }, [\n $ea2f112131e22f14$var$h($ea2f112131e22f14$var$PBDBCollectionLink, {\n collection: d\n })\n ]);\n }),\n tooMany\n ]);\n}\nfunction $ea2f112131e22f14$var$PBDBCollectionLink({ collection: collection }) {\n return $ea2f112131e22f14$var$h(\"a.link-id\", {\n href: `https://paleobiodb.org/classic/basicCollectionSearch?collection_no=${collection.cltn_id}`\n }, collection.cltn_name);\n}\nconst $ea2f112131e22f14$var$matchingUnit = (dz)=>(d)=>d.unit_id == dz.unit_id;\nfunction $ea2f112131e22f14$export$554267114407ef68({ columnID: columnID, color: color = \"magenta\" }) {\n const data = (0, $dx7no.useFossilData)({\n col_id: columnID\n });\n const { axisType: axisType, units: units } = (0, $wtIgl.useMacrostratColumnData)();\n const notes = (0, $2jHE4$useMemo)(()=>{\n if (data == null || units == null) return [];\n let unitRefData = Array.from(data.values()).map((d)=>{\n return {\n data: d,\n unit: units.find($ea2f112131e22f14$var$matchingUnit(d[0]))\n };\n }).filter((d)=>d.unit != null);\n unitRefData.sort((a, b)=>{\n const v1 = units.indexOf(a.unit);\n const v2 = units.indexOf(b.unit);\n return v1 - v2;\n });\n return unitRefData.map((d)=>{\n const { unit: unit, data: data } = d;\n const heightRange = (0, $iWhRv.getUnitHeightRange)(unit, axisType);\n return {\n top_height: heightRange[1],\n height: heightRange[0],\n data: data,\n unit: unit,\n id: unit.unit_id\n };\n });\n }, [\n data,\n units\n ]);\n const width = 500;\n const paddingLeft = 40;\n const noteComponent = (0, $2jHE4$useMemo)(()=>{\n return (props)=>{\n return $ea2f112131e22f14$var$h($ea2f112131e22f14$var$FossilInfo, {\n color: color,\n ...props\n });\n };\n }, [\n width,\n color\n ]);\n if (data == null || units == null) return null;\n return $ea2f112131e22f14$var$h(\"div.dz-spectra\", $ea2f112131e22f14$var$h((0, $6KYbn.ColumnNotes), {\n width: width,\n paddingLeft: paddingLeft,\n notes: notes,\n noteComponent: noteComponent\n }));\n}\n\n\nexport {$ea2f112131e22f14$export$554267114407ef68 as PBDBFossilsColumn};\n//# sourceMappingURL=column-views.6da49480.js.map\n","import { getUnitHeightRange } from \"../../prepare-units\";\nimport { useMacrostratColumnData } from \"../../data-provider\";\nimport hyper from \"@macrostrat/hyper\";\nimport { PBDBCollection, useFossilData } from \"./provider\";\nimport { useMacrostratUnits } from \"../../data-provider\";\nimport { ColumnNotes } from \"../../notes\";\nimport { useMemo } from \"react\";\nimport type { IUnit } from \"../../units\";\nimport styles from \"./index.module.sass\";\n\nconst h = hyper.styled(styles);\n\ninterface FossilItemProps {\n note: {\n data: PBDBCollection[];\n unit?: IUnit;\n };\n spacing?: {\n below?: number;\n above?: number;\n };\n width?: number;\n height?: number;\n color?: string;\n}\n\nfunction FossilInfo(props: FossilItemProps) {\n const { note, spacing } = props;\n const { data, unit } = note;\n\n let d1 = data;\n\n let tooMany = null;\n if (data.length > 5) {\n const n = data.length - 5;\n d1 = data.slice(0, 5);\n tooMany = h(\"li.too-many\", `and ${n} more`);\n }\n\n return h(\"ul.fossil-collections\", [\n d1.map((d) => {\n return h(\"li.collection\", { key: d.cltn_id }, [\n h(PBDBCollectionLink, { collection: d }),\n ]);\n }),\n tooMany,\n ]);\n}\n\nfunction PBDBCollectionLink({ collection }: { collection: PBDBCollection }) {\n return h(\n \"a.link-id\",\n {\n href: `https://paleobiodb.org/classic/basicCollectionSearch?collection_no=${collection.cltn_id}`,\n },\n collection.cltn_name,\n );\n}\n\nconst matchingUnit = (dz) => (d) => d.unit_id == dz.unit_id;\n\nexport function PBDBFossilsColumn({ columnID, color = \"magenta\" }) {\n const data = useFossilData({ col_id: columnID });\n const { axisType, units } = useMacrostratColumnData();\n\n const notes: any[] = useMemo(() => {\n if (data == null || units == null) return [];\n let unitRefData = Array.from(data.values())\n .map((d) => {\n return {\n data: d,\n unit: units.find(matchingUnit(d[0])),\n };\n })\n .filter((d) => d.unit != null);\n\n unitRefData.sort((a, b) => {\n const v1 = units.indexOf(a.unit);\n const v2 = units.indexOf(b.unit);\n return v1 - v2;\n });\n\n return unitRefData.map((d) => {\n const { unit, data } = d;\n const heightRange = getUnitHeightRange(unit, axisType);\n\n return {\n top_height: heightRange[1],\n height: heightRange[0],\n data,\n unit,\n id: unit.unit_id,\n };\n });\n }, [data, units]);\n\n const width = 500;\n const paddingLeft = 40;\n\n const noteComponent = useMemo(() => {\n return (props) => {\n return h(FossilInfo, {\n color,\n ...props,\n });\n };\n }, [width, color]);\n\n if (data == null || units == null) return null;\n\n return h(\n \"div.dz-spectra\",\n h(ColumnNotes, {\n width,\n paddingLeft,\n notes,\n noteComponent,\n }),\n );\n}\n"],"names":["$2jHE4$macrostrathyper","useMemo","$2jHE4$useMemo","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","Object","defineProperty","get","$ea2f112131e22f14$export$554267114407ef68","set","s","enumerable","configurable","$iWhRv","$wtIgl","$dx7no","$6KYbn","$jDygK","$ea2f112131e22f14$var$h","styled","a","__esModule","default","$ea2f112131e22f14$var$FossilInfo","props","note","spacing","data","unit","d1","tooMany","length","n","slice","map","d","key","cltn_id","$ea2f112131e22f14$var$PBDBCollectionLink","collection","href","cltn_name","$ea2f112131e22f14$var$matchingUnit","dz","unit_id","columnID","color","useFossilData","col_id","axisType","units","useMacrostratColumnData","notes","unitRefData","Array","from","values","find","filter","sort","b","v1","indexOf","heightRange","getUnitHeightRange","top_height","height","noteComponent","ColumnNotes","width","paddingLeft","PBDBFossilsColumn"],"version":3,"file":"column-views.6da49480.js.map","sourceRoot":"../../../../"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"./column-views.a8ffe072.js";import"./column-views.78d3f3c5.js";import e from"cross-fetch";import{useContext as t,useEffect as r,useMemo as n,useState as o,createContext as s}from"react";import a from"@macrostrat/hyper";import{create as l,useStore as i}from"zustand";import{APIProvider as u}from"@macrostrat/ui-components";import{ColumnProvider as c}from"@macrostrat/column-components";function f(e,t,r,n){Object.defineProperty(e,t,{get:r,set:n,enumerable:!0,configurable:!0})}var m=globalThis,p={},d={},v=m.parcelRequirea149;null==v&&((v=function(e){if(e in p)return p[e].exports;if(e in d){var t=d[e];delete d[e];var r={id:e,exports:{}};return p[e]=r,t.call(r.exports,r,r.exports),r.exports}var n=Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}).register=function(e,t){d[e]=t},m.parcelRequirea149=v),v.register;var h={};f(h,"useMacrostratStore",()=>M),f(h,"useMacrostratDefs",()=>w),f(h,"useMacrostratColumns",()=>x),f(h,"useMacrostratData",()=>C),f(h,"MacrostratDataProvider",()=>L),f(h,"MacrostratAPIProvider",()=>D),f(h,"MacrostratColumnProvider",()=>y),f(h,"LithologiesProvider",()=>E),f(h,"useLithologies",()=>_),f(h,"useEnvironments",()=>A);var g=v("Piirt"),b=v("wtIgl");function $(t="https://macrostrat.org/api/v2"){return l((r,n)=>{var o,s,a,l,i,u,c,f,m,p;return{baseURL:t,inFlightRequests:new Set,async fetch(r,o){let s=t+r,{inFlightRequests:a}=n();if(a.has(s))return null;a.add(s);let l=await e(s,o);return a.delete(s),l},...(o=r,s=n,{lithologies:null,async getLithologies(e){let{lithologies:t,fetch:r}=s(),n=t;if(null==n){let e=await (0,g.fetchLithologies)(r);if(null==e)return;o({lithologies:n=new Map(e.map(e=>[e.lith_id,e]))})}return null==e?n.values():e.map(e=>n.get(e))}}),...(a=r,l=n,{intervals:null,async getIntervals(e,t){var r,n;let{intervals:o,fetch:s}=l(),i=o;if(null==o||(r=o,n=t,!(null!=r&&(null==n||Array.from(r.values()).some(e=>e.timescale_id==n))))){let e=await (0,g.fetchIntervals)(t,s);if(null==e)return[];let r=o??new Map;for(let t of e)r.set(t.int_id,t);a({intervals:i=r})}return null==e&&null==t?Array.from(i.values()):null!=t?Array.from(i.values()).filter(e=>e.timescale_id==t):e.map(e=>o.get(e))}}),...(i=r,u=n,{environments:null,async getEnvironments(e){let{environments:t,fetch:r}=u(),n=t;if(null==n){let e=await (0,g.fetchEnvironments)(r);if(null==e)return[];i({environments:n=new Map(e.map(e=>[e.environ_id,e]))})}return null==e?n.values():e.map(e=>n.get(e))}}),...(c=r,f=n,{columnFootprints:new Map,async getColumns(e,t){let{columnFootprints:r,baseURL:n,fetch:o}=f(),s=e??-1,a=t;null==e&&(a=!1);let l=r.get(s);if(null==l||l.inProcess!=a){let n=await (0,g.fetchAllColumns)({projectID:e,statusCode:null,fetch:o});if(null==n)return;if(a){let t=await (0,g.fetchAllColumns)({projectID:e,statusCode:"in process",fetch:o});if(null==t)return;n=n.concat(t)}l={project_id:e,inProcess:t,columns:n};let i=new Map(r);i.set(s,l),c({columnFootprints:i})}return l.columns}}),...(m=r,p=n,{refs:new Map,async getRefs(e){let{refs:t,fetch:r}=p(),n=e.filter(e=>!t.has(e));if(0==n.length)return e.map(e=>t.get(e));let o=await (0,g.fetchRefs)(n,r);if(null==o)return[];for(let e of o)t.set(e.ref_id,e);return m({refs:t}),e.map(e=>t.get(e))}})}})}function M(e){let r=t(R);if(null==r)throw Error("Missing MacrostratDataProvider");return"api"===e?r:i(r,e)}let P={lithologies:e=>e.getLithologies,intervals:e=>e.getIntervals,columns:e=>e.getColumns,environments:e=>e.getEnvironments,refs:e=>e.getRefs};function w(e){if("columns"==e)throw Error("Columns are not provided as a map");let t=M(P[e]);return r(()=>{t()},[]),M(t=>t[e])}function x(e,t){let o=M(e=>e.getColumns),s=M(e=>e.columnFootprints),a=s?.get(e??-1);return r(()=>{(null==a||t&&!a.inProcess)&&o(e,t)},[a,t,o]),n(()=>{if(null==a)return null;let e=a.columns;return!t&&a.inProcess&&(e.features=e.features?.filter(e=>"in process"!=e.properties.status)),e},[a,t])}function C(e,...t){let n=M(P[e]),[s,a]=o(null);return r(()=>{n(...t).then(a)},[n,...t]),s}let R=s($());function L(e){let{baseURL:t="https://macrostrat.org/api/v2",children:r}=e,[n]=o(()=>$(t));return a(D,{baseURL:t},a(R.Provider,{value:n},r))}function D({children:e,useDev:t=!1,baseURL:r}){return r??(r=t?"https://dev.macrostrat.org/api/v2":"https://macrostrat.org/api/v2"),a(u,{baseURL:r,unwrapResponse:e=>e.success.data},e)}function y(e){let{axisType:t}=(0,b.useMacrostratColumnData)(),{units:r,domain:n,pixelScale:o,children:s}=e;return a(c,{axisType:t,divisions:r,range:n,pixelsPerMeter:o},s)}function E({children:e}){return r(()=>{console.warn("LithologiesProvider is deprecated. Replace with MacrostratDataProvider")},[]),e}function _(){let e=M(e=>e.getLithologies),t=M(e=>e.lithologies);return r(()=>{null==t&&e()},[t,e]),t}function A(){let e=M(e=>e.getEnvironments),t=M(e=>e.environments);return r(()=>{null==t&&e()},[t,e]),t}export{M as useMacrostratStore,w as useMacrostratDefs,x as useMacrostratColumns,C as useMacrostratData,L as MacrostratDataProvider,D as MacrostratAPIProvider,y as MacrostratColumnProvider,E as LithologiesProvider,_ as useLithologies,A as useEnvironments};
|
|
2
|
-
//# sourceMappingURL=column-views.a0aac838.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"A,M,6C,A,O,6C,A,Q,M,a,A,Q,c,C,C,a,C,C,W,C,C,Y,C,C,iB,C,K,O,A,Q,M,mB,A,Q,U,C,C,Y,C,K,S,A,Q,e,C,K,2B,A,Q,kB,C,K,+B,C,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,C,E,E,E,qB,I,G,E,E,oB,I,G,E,E,uB,I,G,E,E,oB,I,G,E,E,yB,I,G,E,E,wB,I,G,E,E,2B,I,G,E,E,sB,I,G,E,E,iB,I,G,E,E,kB,I,G,I,E,E,S,E,E,SC2DA,SAAS,EACP,EAAkB,+BAA+B,EAEjD,OAAO,AAAA,EAAwB,CAAC,EAAK,SAoGP,EAAK,EAsCP,EAAK,EAnBF,EAAK,EAxEV,EAAK,EApBR,EAAK,QA1BnB,CACL,QAAA,EACA,iBAAkB,IAAI,IACtB,MAAM,MAAM,CAAW,CAAE,CAAqB,EAC5C,IAAM,EAAO,EAAU,EAEjB,CAAA,iBAAE,CAAgB,CAAE,CAAG,IAC7B,GAAI,EAAiB,GAAG,CAAC,GACvB,OAAO,KAET,EAAiB,GAAG,CAAC,GAErB,IAAM,EAAM,MAAM,AAAA,EAAU,EAAM,GAGlC,OAFA,EAAiB,MAAM,CAAC,GAEjB,CACT,MAmF0B,EAlFA,EAkFK,EAlFA,EAmF5B,CACL,YAAa,KACb,MAAM,eAAe,CAAoB,EACvC,GAAM,CAAA,YAAE,CAAW,CAAA,MAAE,CAAK,CAAE,CAAG,IAC3B,EAAU,EACd,GAAI,AAAW,MAAX,EAAiB,CACnB,IAAM,EAAO,MAAM,AAAA,CAAA,EAAA,EAAA,gBAAe,AAAf,EAAiB,GACpC,GAAI,AAAQ,MAAR,EAAc,OAElB,EAAI,CAAE,YADN,EAAU,IAAI,IAAI,EAAK,GAAG,CAAC,AAAC,GAAM,CAAC,EAAE,OAAO,CAAE,EAAE,EACrB,EAC7B,QAEA,AAAI,AAAO,MAAP,EAAoB,EAAQ,MAAM,GAC/B,EAAI,GAAG,CAAC,AAAC,GAAO,EAAQ,GAAG,CAAC,GACrC,CACF,EAlGI,KAwHwB,EAvHA,EAuHK,EAvHA,EAwH1B,CACL,UAAW,KACX,MAAM,aAAa,CAAoB,CAAE,CAA0B,MA4B5C,EAA6B,EA3BlD,GAAM,CAAA,UAAE,CAAS,CAAA,MAAE,CAAK,CAAE,CAAG,IACzB,EAAa,EACjB,GAAI,AAAa,MAAb,IAyBiB,EAzBuB,EAyBM,EAzBK,GA0B3D,CAAA,AAAiB,MAAb,IACe,MAAf,GACG,MAAM,IAAI,CAAC,EAAU,MAAM,IAAI,IAAI,CACxC,AAAC,GAAM,EAAE,YAAY,EAAI,GAH3B,GA1ByE,CAEnE,IAAM,EAAO,MAAM,AAAA,CAAA,EAAA,EAAA,cAAa,AAAb,EAAe,EAAa,GAC/C,GAAI,AAAQ,MAAR,EACF,MAAO,EAAE,CAEX,IAAM,EAAc,GAAa,IAAI,IACrC,IAAK,IAAM,KAAK,EACd,EAAY,GAAG,CAAC,EAAE,MAAM,CAAE,GAG5B,EAAI,CAAE,UADN,EAAa,CACe,EAC9B,QACA,AAAI,AAAO,MAAP,GAAe,AAAe,MAAf,EACV,MAAM,IAAI,CAAC,EAAW,MAAM,IACjC,AAAe,MAAf,EACK,MAAM,IAAI,CAAC,EAAW,MAAM,IAAa,MAAM,CACpD,AAAC,GAAM,EAAE,YAAY,EAAI,GAGtB,EAAI,GAAG,CAAC,AAAC,GAAO,EAAU,GAAG,CAAC,GACvC,CACF,EAnJI,KAoG2B,EAnGA,EAmGK,EAnGA,EAoG7B,CACL,aAAc,KACd,MAAM,gBAAgB,CAAoB,EACxC,GAAM,CAAA,aAAE,CAAY,CAAA,MAAE,CAAK,CAAE,CAAG,IAC5B,EAAS,EACb,GAAI,AAAU,MAAV,EAAgB,CAClB,IAAM,EAAO,MAAM,AAAA,CAAA,EAAA,EAAA,iBAAgB,AAAhB,EAAkB,GACrC,GAAI,AAAQ,MAAR,EAAc,MAAO,EAAE,CAE3B,EAAI,CAAE,aADN,EAAS,IAAI,IAAI,EAAK,GAAG,CAAC,AAAC,GAAM,CAAC,EAAE,UAAU,CAAE,EAAE,EACvB,EAC7B,QAEA,AAAI,AAAO,MAAP,EAAoB,EAAO,MAAM,GAC9B,EAAI,GAAG,CAAC,AAAC,GAAO,EAAO,GAAG,CAAC,GACpC,CACF,EAnHI,KA2BsB,EA1BA,EA0BK,EA1BA,EA4BxB,CACL,iBAAkB,IAAI,IACtB,MAAM,WAAW,CAAwB,CAAE,CAAkB,EAC3D,GAAM,CAAA,iBAAE,CAAgB,CAAA,QAAE,CAAO,CAAA,MAAE,CAAK,CAAE,CAAG,IACvC,EAAM,GAAa,GACrB,EAAa,CACb,AAAa,OAAb,GAEF,CAAA,EAAa,CAAA,CAAb,EAEF,IAAI,EAAa,EAAiB,GAAG,CAAC,GACtC,GAAI,AAAc,MAAd,GAAsB,EAAW,SAAS,EAAI,EAAY,CAG5D,IAAI,EAAU,MAAM,AAAA,CAAA,EAAA,EAAA,eAAc,AAAd,EAAgB,CAClC,UAAA,EACA,WAAY,KACZ,MAAA,CACF,GACA,GAAI,AAAW,MAAX,EACF,OAEF,GAAI,EAAY,CACd,IAAM,EAAmB,MAAM,AAAA,CAAA,EAAA,EAAA,eAAc,AAAd,EAAgB,CAC7C,UAAA,EACA,WAAY,aACZ,MAAA,CACF,GACA,GAAI,AAAoB,MAApB,EACF,OAGF,EAAU,EAAQ,MAAM,CAAC,EAC3B,CAEA,EAAa,CACX,WAAY,EACZ,UAAA,EACA,QAAA,CACF,EAGA,IAAM,EAAoB,IAAI,IAAI,GAClC,EAAkB,GAAG,CAAC,EAAK,GAC3B,EAAI,CAAE,iBAAkB,CAAkB,EAC5C,CACA,OAAO,EAAW,OAAO,AAC3B,CACF,EA5EI,KAMmB,EALA,EAKK,EALA,EAMrB,CACL,KAAM,IAAI,IACV,MAAM,QAAQ,CAAa,EACzB,GAAM,CAAA,KAAE,CAAI,CAAA,MAAE,CAAK,CAAE,CAAG,IAClB,EAAU,EAAI,MAAM,CAAC,AAAC,GAAO,CAAC,EAAK,GAAG,CAAC,IAC7C,GAAI,AAAkB,GAAlB,EAAQ,MAAM,CAChB,OAAO,EAAI,GAAG,CAAC,AAAC,GAAO,EAAK,GAAG,CAAC,IAElC,IAAM,EAAO,MAAM,AAAA,CAAA,EAAA,EAAA,SAAQ,AAAR,EAAU,EAAS,GACtC,GAAI,AAAQ,MAAR,EAAc,MAAO,EAAE,CAC3B,IAAK,IAAM,KAAK,EACd,EAAK,GAAG,CAAC,EAAE,MAAM,CAAE,GAGrB,OADA,EAAI,CAAE,KAAA,CAAK,GACJ,EAAI,GAAG,CAAC,AAAC,GAAO,EAAK,GAAG,CAAC,GAClC,CACF,EAtBI,AACF,GAEJ,CA0JO,SAAS,EAAmB,CAAoC,EACrE,IAAM,EAAM,AAAA,EAAW,GACvB,GAAI,AAAO,MAAP,EACF,MAAM,AAAI,MAAM,wCAElB,AAAI,AAAa,QAAb,EACK,EAGF,AAAA,EAAS,EAAK,EACvB,CAEA,IAAM,EAAkB,CACtB,YAAa,AAAC,GAAU,EAAM,cAAc,CAC5C,UAAW,AAAC,GAAU,EAAM,YAAY,CACxC,QAAS,AAAC,GAAU,EAAM,UAAU,CACpC,aAAc,AAAC,GAAU,EAAM,eAAe,CAC9C,KAAM,AAAC,GAAU,EAAM,OAAO,AAChC,EAEO,SAAS,EAAkB,CAAgB,EAChD,GAAI,AAAY,WAAZ,EACF,MAAM,AAAI,MAAM,qCAElB,IAAM,EAAW,EAAmB,CAAe,CAAC,EAAS,EAI7D,OAHA,AAAA,EAAU,KACR,GACF,EAAG,EAAE,EACE,EAAmB,AAAC,GAAU,CAAK,CAAC,EAAS,CACtD,CAEO,SAAS,EACd,CAAwB,CACxB,CAAkB,EAElB,IAAM,EAAa,EAAmB,AAAC,GAAM,EAAE,UAAU,EACnD,EAAa,EAAmB,AAAC,GAAM,EAAE,gBAAgB,EAEzD,EAAU,GAAY,IADhB,GAAa,IAUzB,OARA,AAAA,EAAU,KAEJ,CAAA,AAAW,MAAX,GAAoB,GAAa,CAAC,EAAQ,SAAS,AAAT,GAC5C,EAAW,EAAW,EAG1B,EAAG,CAAC,EAAS,EAAW,EAAW,EAE5B,AAAA,EAAQ,KACb,GAAI,AAAW,MAAX,EAAiB,OAAO,KAC5B,IAAI,EAAU,EAAQ,OAAO,CAO7B,MANI,CAAC,GAAa,EAAQ,SAAS,EAEjC,CAAA,EAAQ,QAAQ,CAAG,EAAQ,QAAQ,EAAE,OACnC,AAAC,GAAM,AAAuB,cAAvB,EAAE,UAAU,CAAC,MAAM,CAD5B,EAIK,CACT,EAAG,CAAC,EAAS,EAAU,CACzB,CAEO,SAAS,EAAkB,CAAgB,CAAE,GAAG,CAAW,EAEhE,IAAM,EAAW,EADA,CAAe,CAAC,EAAS,EAGpC,CAAC,EAAO,EAAS,CAAG,AAAA,EAAS,MAMnC,OAJA,AAAA,EAAU,KACR,KAAY,GAAM,IAAI,CAAC,EACzB,EAAG,CAAC,KAAa,EAAK,EAEf,CACT,CAGA,IAAM,EAAgC,AAAA,EAAc,KAE7C,SAAS,EAAuB,CAAkC,EACvE,GAAM,CAAA,QAAE,EAAU,+BAAA,CAAA,SAAiC,CAAQ,CAAE,CAAG,EAE1D,CAAC,EAAM,CAAG,AAAA,EAAS,IAAM,EAAsB,IAErD,OAAO,AAAA,EACL,EACA,CAAE,QAAA,CAAQ,EACV,AAAA,EAAE,EAA8B,QAAQ,CAAE,CAAE,MAAO,CAAM,EAAG,GAEhE,CAUO,SAAS,EAAsB,CAAA,SACpC,CAAQ,CAAA,OACR,EAAS,CAAA,CAAA,CAAA,QACT,CAAO,CACU,EAKjB,OAJA,GAAA,CAAA,EAAY,EACR,oCACA,+BAFJ,EAIO,AAAA,EACL,EACA,CACE,QAAA,EACA,eAAgB,AAAC,GAAQ,EAAI,OAAO,CAAC,IAAI,AAC3C,EACA,EAEJ,CAEO,SAAS,EAAyB,CAAK,EAK5C,GAAM,CAAA,SAAE,CAAQ,CAAE,CAAG,AAAA,CAAA,EAAA,EAAA,uBAAsB,AAAtB,IACf,CAAA,MAAE,CAAK,CAAA,OAAE,CAAM,CAAA,WAAE,CAAU,CAAA,SAAE,CAAQ,CAAE,CAAG,EAChD,OAAO,AAAA,EACL,EACA,CAAE,SAAA,EAAU,UAAW,EAAO,MAAO,EAAQ,eAAgB,CAAW,EACxE,EAEJ,CAGO,SAAS,EAAoB,CAAA,SAAE,CAAQ,CAAE,EAM9C,OALA,AAAA,EAAU,KACR,QAAQ,IAAI,CACV,yEAEJ,EAAG,EAAE,EACE,CACT,CAEO,SAAS,IACd,IAAM,EAAiB,EAAmB,AAAC,GAAM,EAAE,cAAc,EAC3D,EAAc,EAAmB,AAAC,GAAM,EAAE,WAAW,EAI3D,OAHA,AAAA,EAAU,KACJ,AAAe,MAAf,GAAqB,GAC3B,EAAG,CAAC,EAAa,EAAe,EACzB,CACT,CAEO,SAAS,IACd,IAAM,EAAkB,EAAmB,AAAC,GAAM,EAAE,eAAe,EAC7D,EAAe,EAAmB,AAAC,GAAM,EAAE,YAAY,EAI7D,OAHA,AAAA,EAAU,KACJ,AAAgB,MAAhB,GAAsB,GAC5B,EAAG,CAAC,EAAc,EAAgB,EAC3B,CACT,Q,K,kB,C,K,iB,C,K,oB,C,K,iB,C,K,sB,C,K,qB,C,K,wB,C,K,mB,C,K,c,C,K,e","sources":["<anon>","packages/column-views/src/data-provider/base.ts"],"sourcesContent":["import \"./column-views.a8ffe072.js\";\nimport \"./column-views.78d3f3c5.js\";\nimport $fUENy$crossfetch from \"cross-fetch\";\nimport {useContext as $fUENy$useContext, useEffect as $fUENy$useEffect, useMemo as $fUENy$useMemo, useState as $fUENy$useState, createContext as $fUENy$createContext} from \"react\";\nimport $fUENy$macrostrathyper from \"@macrostrat/hyper\";\nimport {create as $fUENy$create, useStore as $fUENy$useStore} from \"zustand\";\nimport {APIProvider as $fUENy$APIProvider} from \"@macrostrat/ui-components\";\nimport {ColumnProvider as $fUENy$ColumnProvider} from \"@macrostrat/column-components\";\n\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $8750144f23b92eb9$exports = {};\n\n$parcel$export($8750144f23b92eb9$exports, \"useMacrostratStore\", () => $8750144f23b92eb9$export$fb98d5bae3a6800);\n$parcel$export($8750144f23b92eb9$exports, \"useMacrostratDefs\", () => $8750144f23b92eb9$export$89dd4e5ae4a82373);\n$parcel$export($8750144f23b92eb9$exports, \"useMacrostratColumns\", () => $8750144f23b92eb9$export$81eaae0b474404fd);\n$parcel$export($8750144f23b92eb9$exports, \"useMacrostratData\", () => $8750144f23b92eb9$export$b9c9fc603d74a555);\n$parcel$export($8750144f23b92eb9$exports, \"MacrostratDataProvider\", () => $8750144f23b92eb9$export$690613f93cdc5576);\n$parcel$export($8750144f23b92eb9$exports, \"MacrostratAPIProvider\", () => $8750144f23b92eb9$export$3098013bc6cc316d);\n$parcel$export($8750144f23b92eb9$exports, \"MacrostratColumnProvider\", () => $8750144f23b92eb9$export$9e42f9b6e0d67c7d);\n$parcel$export($8750144f23b92eb9$exports, \"LithologiesProvider\", () => $8750144f23b92eb9$export$8492a5cae82b6a70);\n$parcel$export($8750144f23b92eb9$exports, \"useLithologies\", () => $8750144f23b92eb9$export$4d18a90c945d129f);\n$parcel$export($8750144f23b92eb9$exports, \"useEnvironments\", () => $8750144f23b92eb9$export$c6b216bf4c71b61f);\n/** Data provider for information that needs to be loaded in bulk for frontend views */ \n\n\n\n\nvar $Piirt = parcelRequire(\"Piirt\");\n\n\n\nvar $wtIgl = parcelRequire(\"wtIgl\");\nfunction $8750144f23b92eb9$var$createMacrostratStore(baseURL = \"https://macrostrat.org/api/v2\") {\n return (0, $fUENy$create)((set, get)=>{\n return {\n baseURL: baseURL,\n inFlightRequests: new Set(),\n async fetch (url, options) {\n const url1 = baseURL + url;\n // Avoid duplicate requests\n const { inFlightRequests: inFlightRequests } = get();\n if (inFlightRequests.has(url1)) return null; // Return null if already in flight\n inFlightRequests.add(url1);\n //set({ inFlightRequests });\n const res = await (0, $fUENy$crossfetch)(url1, options);\n inFlightRequests.delete(url1);\n //set({in})\n return res;\n },\n ...$8750144f23b92eb9$var$createLithologiesSlice(set, get),\n ...$8750144f23b92eb9$var$createIntervalsSlice(set, get),\n ...$8750144f23b92eb9$var$createEnvironmentsSlice(set, get),\n ...$8750144f23b92eb9$var$createColumnsSlice(set, get),\n ...$8750144f23b92eb9$var$createRefsSlice(set, get)\n };\n });\n}\nfunction $8750144f23b92eb9$var$createRefsSlice(set, get) {\n return {\n refs: new Map(),\n async getRefs (ids) {\n const { refs: refs, fetch: fetch } = get();\n const missing = ids.filter((id)=>!refs.has(id));\n if (missing.length == 0) return ids.map((id)=>refs.get(id));\n const data = await (0, $Piirt.fetchRefs)(missing, fetch);\n if (data == null) return [];\n for (const d of data)refs.set(d.ref_id, d);\n set({\n refs: refs\n });\n return ids.map((id)=>refs.get(id));\n }\n };\n}\nfunction $8750144f23b92eb9$var$createColumnsSlice(set, get) {\n // Column footprints separated by project\n return {\n columnFootprints: new Map(),\n async getColumns (projectID, inProcess) {\n const { columnFootprints: columnFootprints, baseURL: baseURL, fetch: fetch } = get();\n const key = projectID ?? -1;\n let _inProcess = inProcess;\n if (projectID == null) // If no project is specified, in process columns cannot be included\n _inProcess = false;\n let footprints = columnFootprints.get(key);\n if (footprints == null || footprints.inProcess != _inProcess) {\n // Fetch the columns\n const statusCode = inProcess ? \"in process\" : null;\n let columns = await (0, $Piirt.fetchAllColumns)({\n projectID: projectID,\n statusCode: null,\n fetch: fetch\n });\n if (columns == null) return;\n if (_inProcess) {\n const inProcessColumns = await (0, $Piirt.fetchAllColumns)({\n projectID: projectID,\n statusCode: \"in process\",\n fetch: fetch\n });\n if (inProcessColumns == null) return;\n // Combine active and in-process columns\n columns = columns.concat(inProcessColumns);\n }\n footprints = {\n project_id: projectID,\n inProcess: inProcess,\n columns: columns\n };\n // We could break multi-project result sets into separate caches here...\n // Copy the original map\n const columnFootprints2 = new Map(columnFootprints);\n columnFootprints2.set(key, footprints);\n set({\n columnFootprints: columnFootprints2\n });\n }\n return footprints.columns;\n }\n };\n}\nfunction $8750144f23b92eb9$var$createLithologiesSlice(set, get) {\n return {\n lithologies: null,\n async getLithologies (ids) {\n const { lithologies: lithologies, fetch: fetch } = get();\n let lithMap = lithologies;\n if (lithMap == null) {\n const data = await (0, $Piirt.fetchLithologies)(fetch);\n if (data == null) return;\n lithMap = new Map(data.map((d)=>[\n d.lith_id,\n d\n ]));\n set({\n lithologies: lithMap\n });\n }\n // Now get the lithologies\n if (ids == null) return lithMap.values();\n return ids.map((id)=>lithMap.get(id));\n }\n };\n}\nfunction $8750144f23b92eb9$var$createEnvironmentsSlice(set, get) {\n return {\n environments: null,\n async getEnvironments (ids) {\n const { environments: environments, fetch: fetch } = get();\n let envMap = environments;\n if (envMap == null) {\n const data = await (0, $Piirt.fetchEnvironments)(fetch);\n if (data == null) return [];\n envMap = new Map(data.map((d)=>[\n d.environ_id,\n d\n ]));\n set({\n environments: envMap\n });\n }\n // Now get the environments\n if (ids == null) return envMap.values();\n return ids.map((id)=>envMap.get(id));\n }\n };\n}\nfunction $8750144f23b92eb9$var$createIntervalsSlice(set, get) {\n return {\n intervals: null,\n async getIntervals (ids, timescaleID) {\n const { intervals: intervals, fetch: fetch } = get();\n let _intervals = intervals;\n if (intervals == null || !$8750144f23b92eb9$var$includesTimescale(intervals, timescaleID)) {\n // Fetch the intervals\n const data = await (0, $Piirt.fetchIntervals)(timescaleID, fetch);\n if (data == null) return [];\n const intervalMap = intervals ?? new Map();\n for (const d of data)intervalMap.set(d.int_id, d);\n _intervals = intervalMap;\n set({\n intervals: _intervals\n });\n }\n if (ids == null && timescaleID == null) return Array.from(_intervals.values());\n if (timescaleID != null) return Array.from(_intervals.values()).filter((d)=>d.timescale_id == timescaleID);\n return ids.map((id)=>intervals.get(id));\n }\n };\n}\nfunction $8750144f23b92eb9$var$includesTimescale(intervals, timescaleID) {\n if (intervals == null) return false;\n if (timescaleID == null) return true;\n return Array.from(intervals.values()).some((d)=>d.timescale_id == timescaleID);\n}\nfunction $8750144f23b92eb9$export$fb98d5bae3a6800(selector) {\n const ctx = (0, $fUENy$useContext)($8750144f23b92eb9$var$MacrostratDataProviderContext);\n if (ctx == null) throw new Error(\"Missing MacrostratDataProvider\");\n if (selector === \"api\") return ctx;\n return (0, $fUENy$useStore)(ctx, selector);\n}\nconst $8750144f23b92eb9$var$dataTypeMapping = {\n lithologies: (store)=>store.getLithologies,\n intervals: (store)=>store.getIntervals,\n columns: (store)=>store.getColumns,\n environments: (store)=>store.getEnvironments,\n refs: (store)=>store.getRefs\n};\nfunction $8750144f23b92eb9$export$89dd4e5ae4a82373(dataType) {\n if (dataType == \"columns\") throw new Error(\"Columns are not provided as a map\");\n const operator = $8750144f23b92eb9$export$fb98d5bae3a6800($8750144f23b92eb9$var$dataTypeMapping[dataType]);\n (0, $fUENy$useEffect)(()=>{\n operator();\n }, []);\n return $8750144f23b92eb9$export$fb98d5bae3a6800((state)=>state[dataType]);\n}\nfunction $8750144f23b92eb9$export$81eaae0b474404fd(projectID, inProcess) {\n const getColumns = $8750144f23b92eb9$export$fb98d5bae3a6800((s)=>s.getColumns);\n const columnsMap = $8750144f23b92eb9$export$fb98d5bae3a6800((s)=>s.columnFootprints);\n const key = projectID ?? -1;\n const colData = columnsMap?.get(key);\n (0, $fUENy$useEffect)(()=>{\n // Refetch if the columns are not available, or if we have requested inProcess columns where we didn't before\n if (colData == null || inProcess && !colData.inProcess) getColumns(projectID, inProcess);\n // If we've already fetched the columns there's nothing to do...\n }, [\n colData,\n inProcess,\n getColumns\n ]);\n return (0, $fUENy$useMemo)(()=>{\n if (colData == null) return null;\n let columns = colData.columns;\n if (!inProcess && colData.inProcess) // Our available set of columns includes 'in process' columns, but we don't want them\n columns.features = columns.features?.filter((d)=>d.properties.status != \"in process\");\n return columns;\n }, [\n colData,\n inProcess\n ]);\n}\nfunction $8750144f23b92eb9$export$b9c9fc603d74a555(dataType, ...args) {\n const selector = $8750144f23b92eb9$var$dataTypeMapping[dataType];\n const operator = $8750144f23b92eb9$export$fb98d5bae3a6800(selector);\n const [value, setValue] = (0, $fUENy$useState)(null);\n (0, $fUENy$useEffect)(()=>{\n operator(...args).then(setValue);\n }, [\n operator,\n ...args\n ]);\n return value;\n}\n/** By default, we provide a store linked to the production API */ const $8750144f23b92eb9$var$MacrostratDataProviderContext = (0, $fUENy$createContext)($8750144f23b92eb9$var$createMacrostratStore());\nfunction $8750144f23b92eb9$export$690613f93cdc5576(props) {\n const { baseURL: baseURL = \"https://macrostrat.org/api/v2\", children: children } = props;\n const [store] = (0, $fUENy$useState)(()=>$8750144f23b92eb9$var$createMacrostratStore(baseURL));\n return (0, $fUENy$macrostrathyper)($8750144f23b92eb9$export$3098013bc6cc316d, {\n baseURL: baseURL\n }, (0, $fUENy$macrostrathyper)($8750144f23b92eb9$var$MacrostratDataProviderContext.Provider, {\n value: store\n }, children));\n}\nfunction $8750144f23b92eb9$export$3098013bc6cc316d({ children: children, useDev: useDev = false, baseURL: baseURL }) {\n baseURL ?? (baseURL = useDev ? \"https://dev.macrostrat.org/api/v2\" : \"https://macrostrat.org/api/v2\");\n return (0, $fUENy$macrostrathyper)((0, $fUENy$APIProvider), {\n baseURL: baseURL,\n unwrapResponse: (res)=>res.success.data\n }, children);\n}\nfunction $8750144f23b92eb9$export$9e42f9b6e0d67c7d(props) {\n /** A column provider specialized the Macrostrat API. Maps more\n * generic concepts to Macrostrat-specific ones.\n */ const { axisType: axisType } = (0, $wtIgl.useMacrostratColumnData)();\n const { units: units, domain: domain, pixelScale: pixelScale, children: children } = props;\n return (0, $fUENy$macrostrathyper)((0, $fUENy$ColumnProvider), {\n axisType: axisType,\n divisions: units,\n range: domain,\n pixelsPerMeter: pixelScale\n }, children);\n}\nfunction $8750144f23b92eb9$export$8492a5cae82b6a70({ children: children }) {\n (0, $fUENy$useEffect)(()=>{\n console.warn(\"LithologiesProvider is deprecated. Replace with MacrostratDataProvider\");\n }, []);\n return children;\n}\nfunction $8750144f23b92eb9$export$4d18a90c945d129f() {\n const getLithologies = $8750144f23b92eb9$export$fb98d5bae3a6800((s)=>s.getLithologies);\n const lithologies = $8750144f23b92eb9$export$fb98d5bae3a6800((s)=>s.lithologies);\n (0, $fUENy$useEffect)(()=>{\n if (lithologies == null) getLithologies();\n }, [\n lithologies,\n getLithologies\n ]);\n return lithologies;\n}\nfunction $8750144f23b92eb9$export$c6b216bf4c71b61f() {\n const getEnvironments = $8750144f23b92eb9$export$fb98d5bae3a6800((s)=>s.getEnvironments);\n const environments = $8750144f23b92eb9$export$fb98d5bae3a6800((s)=>s.environments);\n (0, $fUENy$useEffect)(()=>{\n if (environments == null) getEnvironments();\n }, [\n environments,\n getEnvironments\n ]);\n return environments;\n}\n\n\nexport {$8750144f23b92eb9$export$fb98d5bae3a6800 as useMacrostratStore, $8750144f23b92eb9$export$89dd4e5ae4a82373 as useMacrostratDefs, $8750144f23b92eb9$export$81eaae0b474404fd as useMacrostratColumns, $8750144f23b92eb9$export$b9c9fc603d74a555 as useMacrostratData, $8750144f23b92eb9$export$690613f93cdc5576 as MacrostratDataProvider, $8750144f23b92eb9$export$3098013bc6cc316d as MacrostratAPIProvider, $8750144f23b92eb9$export$9e42f9b6e0d67c7d as MacrostratColumnProvider, $8750144f23b92eb9$export$8492a5cae82b6a70 as LithologiesProvider, $8750144f23b92eb9$export$4d18a90c945d129f as useLithologies, $8750144f23b92eb9$export$c6b216bf4c71b61f as useEnvironments};\n//# sourceMappingURL=column-views.a0aac838.js.map\n","/** Data provider for information that needs to be loaded in bulk for frontend views */\nimport baseFetch from \"cross-fetch\";\nimport { createContext, useContext, useEffect, useMemo, useState } from \"react\";\nimport h from \"@macrostrat/hyper\";\nimport { create, useStore } from \"zustand\";\nimport {\n ColumnGeoJSONRecord,\n ColumnGeoJSONRecordWithID,\n Environment,\n MacrostratRef,\n} from \"@macrostrat/api-types\";\nimport {\n fetchAllColumns,\n fetchEnvironments,\n fetchIntervals,\n fetchLithologies,\n fetchRefs,\n} from \"./fetch\";\nimport { APIProvider } from \"@macrostrat/ui-components\";\nimport { ColumnProvider } from \"@macrostrat/column-components\";\n\nimport { ReactNode } from \"react\";\nimport { useMacrostratColumnData } from \"./store\";\n\nexport interface MacrostratDataProviderProps {\n baseURL: string;\n children: React.ReactNode;\n}\n\ninterface ColumnFootprintsStorage {\n project_id: number;\n // Whether the \"in process\" flag was used\n inProcess: boolean;\n // The column footprints\n columns: ColumnGeoJSONRecordWithID[];\n}\n\ninterface RefsSlice {\n refs: Map<number, MacrostratRef>;\n inFlightRequests: Set<string>; // Track requests to avoid duplicates\n getRefs(ids: number[]): Promise<MacrostratRef[]>;\n}\n\ninterface MacrostratStore extends RefsSlice {\n baseURL: string;\n fetch: any;\n lithologies: Map<number, any> | null;\n getLithologies(ids: number[] | null): Promise<any>;\n intervals: Map<number, any> | null;\n getIntervals(ids: number[] | null, timescaleID: number | null): Promise<any>;\n environments: Map<number, Environment> | null;\n getEnvironments(ids: number[] | null): Promise<Environment[]>;\n columnFootprints: Map<number, ColumnFootprintsStorage>;\n getColumns(\n projectID: number | null,\n inProcess: boolean,\n ): Promise<ColumnGeoJSONRecord[]>;\n}\n\nfunction createMacrostratStore(\n baseURL: string = \"https://macrostrat.org/api/v2\",\n) {\n return create<MacrostratStore>((set, get): MacrostratStore => {\n return {\n baseURL,\n inFlightRequests: new Set(),\n async fetch(url: string, options?: RequestInit) {\n const url1 = baseURL + url;\n // Avoid duplicate requests\n const { inFlightRequests } = get();\n if (inFlightRequests.has(url1)) {\n return null; // Return null if already in flight\n }\n inFlightRequests.add(url1);\n //set({ inFlightRequests });\n const res = await baseFetch(url1, options);\n inFlightRequests.delete(url1);\n //set({in})\n return res;\n },\n ...createLithologiesSlice(set, get),\n ...createIntervalsSlice(set, get),\n ...createEnvironmentsSlice(set, get),\n ...createColumnsSlice(set, get),\n ...createRefsSlice(set, get),\n };\n });\n}\n\nfunction createRefsSlice(set, get) {\n return {\n refs: new Map(),\n async getRefs(ids: number[]): Promise<MacrostratRef[]> {\n const { refs, fetch } = get();\n const missing = ids.filter((id) => !refs.has(id));\n if (missing.length == 0) {\n return ids.map((id) => refs.get(id));\n }\n const data = await fetchRefs(missing, fetch);\n if (data == null) return [];\n for (const d of data) {\n refs.set(d.ref_id, d);\n }\n set({ refs });\n return ids.map((id) => refs.get(id));\n },\n };\n}\n\nfunction createColumnsSlice(set, get) {\n // Column footprints separated by project\n return {\n columnFootprints: new Map(),\n async getColumns(projectID: number | null, inProcess: boolean) {\n const { columnFootprints, baseURL, fetch } = get();\n const key = projectID ?? -1;\n let _inProcess = inProcess;\n if (projectID == null) {\n // If no project is specified, in process columns cannot be included\n _inProcess = false;\n }\n let footprints = columnFootprints.get(key);\n if (footprints == null || footprints.inProcess != _inProcess) {\n // Fetch the columns\n const statusCode = inProcess ? \"in process\" : null;\n let columns = await fetchAllColumns({\n projectID,\n statusCode: null,\n fetch,\n });\n if (columns == null) {\n return;\n }\n if (_inProcess) {\n const inProcessColumns = await fetchAllColumns({\n projectID,\n statusCode: \"in process\",\n fetch,\n });\n if (inProcessColumns == null) {\n return;\n }\n // Combine active and in-process columns\n columns = columns.concat(inProcessColumns);\n }\n\n footprints = {\n project_id: projectID,\n inProcess,\n columns,\n };\n // We could break multi-project result sets into separate caches here...\n // Copy the original map\n const columnFootprints2 = new Map(columnFootprints);\n columnFootprints2.set(key, footprints);\n set({ columnFootprints: columnFootprints2 });\n }\n return footprints.columns;\n },\n };\n}\n\nfunction createLithologiesSlice(set, get) {\n return {\n lithologies: null,\n async getLithologies(ids: number[] | null) {\n const { lithologies, fetch } = get();\n let lithMap = lithologies;\n if (lithMap == null) {\n const data = await fetchLithologies(fetch);\n if (data == null) return;\n lithMap = new Map(data.map((d) => [d.lith_id, d]));\n set({ lithologies: lithMap });\n }\n // Now get the lithologies\n if (ids == null) return lithMap.values();\n return ids.map((id) => lithMap.get(id));\n },\n };\n}\n\nfunction createEnvironmentsSlice(set, get) {\n return {\n environments: null,\n async getEnvironments(ids: number[] | null): Promise<Environment[]> {\n const { environments, fetch } = get();\n let envMap = environments;\n if (envMap == null) {\n const data = await fetchEnvironments(fetch);\n if (data == null) return [];\n envMap = new Map(data.map((d) => [d.environ_id, d]));\n set({ environments: envMap });\n }\n // Now get the environments\n if (ids == null) return envMap.values();\n return ids.map((id) => envMap.get(id));\n },\n };\n}\n\nfunction createIntervalsSlice(set, get) {\n return {\n intervals: null,\n async getIntervals(ids: number[] | null, timescaleID: number | null) {\n const { intervals, fetch } = get();\n let _intervals = intervals;\n if (intervals == null || !includesTimescale(intervals, timescaleID)) {\n // Fetch the intervals\n const data = await fetchIntervals(timescaleID, fetch);\n if (data == null) {\n return [];\n }\n const intervalMap = intervals ?? new Map();\n for (const d of data) {\n intervalMap.set(d.int_id, d);\n }\n _intervals = intervalMap;\n set({ intervals: _intervals });\n }\n if (ids == null && timescaleID == null)\n return Array.from(_intervals.values());\n if (timescaleID != null) {\n return Array.from(_intervals.values() as any[]).filter(\n (d) => d.timescale_id == timescaleID,\n );\n }\n return ids.map((id) => intervals.get(id));\n },\n };\n}\n\nfunction includesTimescale(intervals: Map<number, any>, timescaleID: number) {\n if (intervals == null) return false;\n if (timescaleID == null) return true;\n return Array.from(intervals.values()).some(\n (d) => d.timescale_id == timescaleID,\n );\n}\n\ntype MacrostratSelector = (store: MacrostratStore) => any;\n\nexport function useMacrostratStore(selector: MacrostratSelector | \"api\") {\n const ctx = useContext(MacrostratDataProviderContext);\n if (ctx == null) {\n throw new Error(\"Missing MacrostratDataProvider\");\n }\n if (selector === \"api\") {\n return ctx;\n }\n\n return useStore(ctx, selector);\n}\n\nconst dataTypeMapping = {\n lithologies: (store) => store.getLithologies,\n intervals: (store) => store.getIntervals,\n columns: (store) => store.getColumns,\n environments: (store) => store.getEnvironments,\n refs: (store) => store.getRefs,\n};\n\nexport function useMacrostratDefs(dataType: string): Map<number, any> | null {\n if (dataType == \"columns\") {\n throw new Error(\"Columns are not provided as a map\");\n }\n const operator = useMacrostratStore(dataTypeMapping[dataType]);\n useEffect(() => {\n operator();\n }, []);\n return useMacrostratStore((state) => state[dataType]);\n}\n\nexport function useMacrostratColumns(\n projectID: number | null,\n inProcess: boolean,\n) {\n const getColumns = useMacrostratStore((s) => s.getColumns);\n const columnsMap = useMacrostratStore((s) => s.columnFootprints);\n const key = projectID ?? -1;\n const colData = columnsMap?.get(key);\n useEffect(() => {\n // Refetch if the columns are not available, or if we have requested inProcess columns where we didn't before\n if (colData == null || (inProcess && !colData.inProcess)) {\n getColumns(projectID, inProcess);\n }\n // If we've already fetched the columns there's nothing to do...\n }, [colData, inProcess, getColumns]);\n\n return useMemo(() => {\n if (colData == null) return null;\n let columns = colData.columns;\n if (!inProcess && colData.inProcess) {\n // Our available set of columns includes 'in process' columns, but we don't want them\n columns.features = columns.features?.filter(\n (d) => d.properties.status != \"in process\",\n );\n }\n return columns;\n }, [colData, inProcess]);\n}\n\nexport function useMacrostratData(dataType: string, ...args: any[]) {\n const selector = dataTypeMapping[dataType];\n const operator = useMacrostratStore(selector);\n\n const [value, setValue] = useState(null);\n\n useEffect(() => {\n operator(...args).then(setValue);\n }, [operator, ...args]);\n\n return value;\n}\n\n/** By default, we provide a store linked to the production API */\nconst MacrostratDataProviderContext = createContext(createMacrostratStore());\n\nexport function MacrostratDataProvider(props: MacrostratDataProviderProps) {\n const { baseURL = \"https://macrostrat.org/api/v2\", children } = props;\n\n const [store] = useState(() => createMacrostratStore(baseURL));\n\n return h(\n MacrostratAPIProvider,\n { baseURL },\n h(MacrostratDataProviderContext.Provider, { value: store }, children),\n );\n}\n\n/** Legacy API provider so useAPIResult can work */\n\ntype APIProviderProps = {\n children: ReactNode;\n useDev?: boolean;\n baseURL?: string;\n};\n\nexport function MacrostratAPIProvider({\n children,\n useDev = false,\n baseURL,\n}: APIProviderProps) {\n baseURL ??= useDev\n ? \"https://dev.macrostrat.org/api/v2\"\n : \"https://macrostrat.org/api/v2\";\n\n return h(\n APIProvider,\n {\n baseURL,\n unwrapResponse: (res) => res.success.data,\n },\n children,\n );\n}\n\nexport function MacrostratColumnProvider(props) {\n /** A column provider specialized the Macrostrat API. Maps more\n * generic concepts to Macrostrat-specific ones.\n */\n\n const { axisType } = useMacrostratColumnData();\n const { units, domain, pixelScale, children } = props;\n return h(\n ColumnProvider,\n { axisType, divisions: units, range: domain, pixelsPerMeter: pixelScale },\n children,\n );\n}\n\n/** This is now a legacy provider */\nexport function LithologiesProvider({ children }) {\n useEffect(() => {\n console.warn(\n \"LithologiesProvider is deprecated. Replace with MacrostratDataProvider\",\n );\n }, []);\n return children;\n}\n\nexport function useLithologies() {\n const getLithologies = useMacrostratStore((s) => s.getLithologies);\n const lithologies = useMacrostratStore((s) => s.lithologies);\n useEffect(() => {\n if (lithologies == null) getLithologies();\n }, [lithologies, getLithologies]);\n return lithologies;\n}\n\nexport function useEnvironments() {\n const getEnvironments = useMacrostratStore((s) => s.getEnvironments);\n const environments = useMacrostratStore((s) => s.environments);\n useEffect(() => {\n if (environments == null) getEnvironments();\n }, [environments, getEnvironments]);\n return environments;\n}\n"],"names":["$fUENy$crossfetch","useContext","$fUENy$useContext","useEffect","$fUENy$useEffect","useMemo","$fUENy$useMemo","useState","$fUENy$useState","createContext","$fUENy$createContext","$fUENy$macrostrathyper","create","$fUENy$create","useStore","$fUENy$useStore","APIProvider","$fUENy$APIProvider","ColumnProvider","$fUENy$ColumnProvider","$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$8750144f23b92eb9$exports","$8750144f23b92eb9$export$fb98d5bae3a6800","$8750144f23b92eb9$export$89dd4e5ae4a82373","$8750144f23b92eb9$export$81eaae0b474404fd","$8750144f23b92eb9$export$b9c9fc603d74a555","$8750144f23b92eb9$export$690613f93cdc5576","$8750144f23b92eb9$export$3098013bc6cc316d","$8750144f23b92eb9$export$9e42f9b6e0d67c7d","$8750144f23b92eb9$export$8492a5cae82b6a70","$8750144f23b92eb9$export$4d18a90c945d129f","$8750144f23b92eb9$export$c6b216bf4c71b61f","$Piirt","$wtIgl","$8750144f23b92eb9$var$createMacrostratStore","baseURL","inFlightRequests","Set","fetch","url","options","url1","has","add","res","delete","lithologies","getLithologies","ids","lithMap","data","fetchLithologies","Map","map","d","lith_id","values","intervals","getIntervals","timescaleID","_intervals","Array","from","some","timescale_id","fetchIntervals","intervalMap","int_id","filter","environments","getEnvironments","envMap","fetchEnvironments","environ_id","columnFootprints","getColumns","projectID","inProcess","key","_inProcess","footprints","columns","fetchAllColumns","statusCode","inProcessColumns","concat","project_id","columnFootprints2","refs","getRefs","missing","length","fetchRefs","ref_id","selector","ctx","$8750144f23b92eb9$var$MacrostratDataProviderContext","$8750144f23b92eb9$var$dataTypeMapping","store","dataType","operator","state","columnsMap","colData","features","properties","status","args","value","setValue","then","props","children","Provider","useDev","unwrapResponse","success","axisType","useMacrostratColumnData","units","domain","pixelScale","divisions","range","pixelsPerMeter","console","warn","useMacrostratStore","useMacrostratDefs","useMacrostratColumns","useMacrostratData","MacrostratDataProvider","MacrostratAPIProvider","MacrostratColumnProvider","LithologiesProvider","useLithologies","useEnvironments"],"version":3,"file":"column-views.a0aac838.js.map","sourceRoot":"../../../../"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{joinURL as t,addQueryString as e,useAPIResult as n}from"@macrostrat/ui-components";import a from"cross-fetch";import{feature as o}from"topojson-client";import{geoArea as r}from"d3-geo";function s(t,e,n,a){Object.defineProperty(t,e,{get:n,set:a,enumerable:!0,configurable:!0})}var l={};function c(t,e){return a("https://macrostrat.org/api/v2"+t,e)}async function i(n={}){let{apiBaseURL:o,projectID:s,format:l="topojson",statusCode:c,fetch:u=a}=n,f={format:l};null!=s&&(f={...f,project_id:s}),null!=c&&(f={...f,status_code:c}),null==s&&(f={...f,all:!0});let p="/columns";null!=o&&(p=t(o,p)),p=e(p,f);let m=await u(p,{method:"GET",headers:{"Content-Type":"application/json"}});if(null==m)return null;let h=await m.json();return d[l](h).filter(t=>null!=t.geometry).map(t=>{if(1e-8>r(t.geometry)){let e=t.geometry.coordinates[0][0];t.geometry={type:"Point",coordinates:e}}return t}).map((t,e)=>({id:t.properties?.col_id,...t}))}function u({apiRoute:t="/columns",status_code:e,project_id:a,format:o="geojson"}){let r;null==e&&null==a&&(r=!0);let s=d[o];return n(t,{format:o,all:r,status_code:e,project_id:a},s)}function f(t){return t?.features}s(l,"fetchAllColumns",()=>i),s(l,"useColumnFeatures",()=>u),s(l,"fetchLithologies",()=>m),s(l,"fetchIntervals",()=>h),s(l,"fetchEnvironments",()=>$),s(l,"fetchRefs",()=>g),s(l,"fetchUnits",()=>j),s(l,"fetchColumnUnits",()=>y);let d={topojson:function(t){try{let{data:e}=t.success,{features:n}=o(e,e.objects.output);return n}catch(t){return console.error(t),[]}},geojson:function(t){return f(t?.success?.data)},geojson_bare:f};async function p(t){return null==t?null:(await t.json()).success.data}async function m(t=c){let e=await t("/defs/lithologies?all");return await p(e)}async function h(t,e=c){let n="/defs/intervals";null!=t?n+=`?timescale_id=${t}`:n+="?all";let a=await e(n);return await p(a)}async function $(t=c){let e=await t("/defs/environments?all");return await p(e)}async function g(t,e=c){let n="/defs/refs";if(0==t.length)return[];n+="?ref_id="+t.join(",");let a=await e(n);return await p(a)}async function j(t,e=c){let n=t.map(t=>y(t,e));return await Promise.all(n)}async function y(t,e=c){let n=new URLSearchParams;n.append("response","long"),n.append("col_id",t.toString());let a=await e("/units?"+n.toString()),o=await a.json();if(!o.success)throw Error("Failed to fetch column units");return{columnID:t,units:o.success.data}}export{i as fetchAllColumns,u as useColumnFeatures,m as fetchLithologies,h as fetchIntervals,$ as fetchEnvironments,g as fetchRefs,j as fetchUnits,y as fetchColumnUnits};
|
|
2
|
-
//# sourceMappingURL=column-views.a8ffe072.js.map
|