@macrostrat/column-views 3.11.0 → 3.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/CHANGELOG.md +169 -0
  2. package/dist/age-model/data.cjs +57 -0
  3. package/dist/age-model/data.cjs.map +1 -0
  4. package/dist/age-model/data.d.ts +29 -0
  5. package/dist/age-model/data.js +57 -0
  6. package/dist/age-model/data.js.map +1 -0
  7. package/dist/age-model/details.cjs +261 -0
  8. package/dist/age-model/details.cjs.map +1 -0
  9. package/dist/age-model/details.d.ts +39 -0
  10. package/dist/age-model/details.js +258 -0
  11. package/dist/age-model/details.js.map +1 -0
  12. package/dist/age-model/details.module.sass.cjs +42 -0
  13. package/dist/age-model/details.module.sass.cjs.map +1 -0
  14. package/dist/age-model/details.module.sass.js +40 -0
  15. package/dist/age-model/details.module.sass.js.map +1 -0
  16. package/dist/age-model/index.d.ts +5 -0
  17. package/dist/age-model/legacy.cjs +28 -0
  18. package/dist/age-model/legacy.cjs.map +1 -0
  19. package/dist/age-model/legacy.d.ts +6 -0
  20. package/dist/age-model/legacy.js +26 -0
  21. package/dist/age-model/legacy.js.map +1 -0
  22. package/dist/age-model/surfaces.cjs +355 -0
  23. package/dist/age-model/surfaces.cjs.map +1 -0
  24. package/dist/age-model/surfaces.d.ts +68 -0
  25. package/dist/age-model/surfaces.js +352 -0
  26. package/dist/age-model/surfaces.js.map +1 -0
  27. package/dist/age-model/surfaces.module.sass.cjs +45 -0
  28. package/dist/age-model/surfaces.module.sass.cjs.map +1 -0
  29. package/dist/age-model/surfaces.module.sass.js +43 -0
  30. package/dist/age-model/surfaces.module.sass.js.map +1 -0
  31. package/dist/age-model/types.cjs +229 -0
  32. package/dist/age-model/types.cjs.map +1 -0
  33. package/dist/age-model/types.d.ts +112 -0
  34. package/dist/age-model/types.js +229 -0
  35. package/dist/age-model/types.js.map +1 -0
  36. package/dist/column-views.css +389 -57
  37. package/dist/column.cjs +20 -13
  38. package/dist/column.cjs.map +1 -1
  39. package/dist/column.d.ts +21 -6
  40. package/dist/column.js +21 -14
  41. package/dist/column.js.map +1 -1
  42. package/dist/column.module.sass.cjs +19 -15
  43. package/dist/column.module.sass.cjs.map +1 -1
  44. package/dist/column.module.sass.js +19 -15
  45. package/dist/column.module.sass.js.map +1 -1
  46. package/dist/data-provider/store.cjs +34 -1
  47. package/dist/data-provider/store.cjs.map +1 -1
  48. package/dist/data-provider/store.d.ts +5 -0
  49. package/dist/data-provider/store.js +35 -2
  50. package/dist/data-provider/store.js.map +1 -1
  51. package/dist/index.cjs +54 -3
  52. package/dist/index.cjs.map +1 -1
  53. package/dist/index.d.ts +3 -1
  54. package/dist/index.js +54 -3
  55. package/dist/index.js.map +1 -1
  56. package/dist/notes.cjs +11 -2
  57. package/dist/notes.cjs.map +1 -1
  58. package/dist/notes.d.ts +11 -1
  59. package/dist/notes.js +11 -2
  60. package/dist/notes.js.map +1 -1
  61. package/dist/prepare-units/composite-scale.cjs +18 -16
  62. package/dist/prepare-units/composite-scale.cjs.map +1 -1
  63. package/dist/prepare-units/composite-scale.js +18 -16
  64. package/dist/prepare-units/composite-scale.js.map +1 -1
  65. package/dist/prepare-units/density.cjs +83 -0
  66. package/dist/prepare-units/density.cjs.map +1 -0
  67. package/dist/prepare-units/density.d.ts +92 -0
  68. package/dist/prepare-units/density.js +83 -0
  69. package/dist/prepare-units/density.js.map +1 -0
  70. package/dist/prepare-units/index.cjs +15 -7
  71. package/dist/prepare-units/index.cjs.map +1 -1
  72. package/dist/prepare-units/index.d.ts +1 -0
  73. package/dist/prepare-units/index.js +15 -7
  74. package/dist/prepare-units/index.js.map +1 -1
  75. package/dist/prepare-units/types.cjs.map +1 -1
  76. package/dist/prepare-units/types.d.ts +34 -13
  77. package/dist/prepare-units/types.js.map +1 -1
  78. package/dist/section.cjs +108 -24
  79. package/dist/section.cjs.map +1 -1
  80. package/dist/section.d.ts +66 -6
  81. package/dist/section.js +109 -25
  82. package/dist/section.js.map +1 -1
  83. package/dist/timescale-zoom.cjs +191 -0
  84. package/dist/timescale-zoom.cjs.map +1 -0
  85. package/dist/timescale-zoom.d.ts +74 -0
  86. package/dist/timescale-zoom.js +191 -0
  87. package/dist/timescale-zoom.js.map +1 -0
  88. package/dist/unit-details/age-range.cjs +1 -0
  89. package/dist/unit-details/age-range.cjs.map +1 -1
  90. package/dist/unit-details/age-range.d.ts +5 -1
  91. package/dist/unit-details/age-range.js +1 -0
  92. package/dist/unit-details/age-range.js.map +1 -1
  93. package/dist/units/composite.cjs +4 -1
  94. package/dist/units/composite.cjs.map +1 -1
  95. package/dist/units/composite.d.ts +2 -0
  96. package/dist/units/composite.js +4 -1
  97. package/dist/units/composite.js.map +1 -1
  98. package/package.json +7 -7
  99. package/src/age-model/data.ts +98 -0
  100. package/src/age-model/details.module.sass +108 -0
  101. package/src/age-model/details.ts +333 -0
  102. package/src/age-model/index.ts +5 -0
  103. package/src/age-model/legacy.ts +30 -0
  104. package/src/age-model/surfaces.module.sass +168 -0
  105. package/src/age-model/surfaces.ts +568 -0
  106. package/src/age-model/types.ts +392 -0
  107. package/src/column.module.sass +59 -8
  108. package/src/column.ts +49 -23
  109. package/src/data-provider/store.ts +50 -1
  110. package/src/index.ts +5 -1
  111. package/src/notes.ts +20 -2
  112. package/src/prepare-units/composite-scale.ts +34 -31
  113. package/src/prepare-units/density.ts +197 -0
  114. package/src/prepare-units/index.ts +25 -6
  115. package/src/prepare-units/types.ts +34 -13
  116. package/src/section.ts +219 -33
  117. package/src/timescale-zoom.ts +341 -0
  118. package/src/unit-details/age-range.ts +3 -3
  119. package/src/units/composite.ts +11 -0
  120. package/dist/age-model-overlay.cjs +0 -50
  121. package/dist/age-model-overlay.cjs.map +0 -1
  122. package/dist/age-model-overlay.d.ts +0 -24
  123. package/dist/age-model-overlay.js +0 -48
  124. package/dist/age-model-overlay.js.map +0 -1
  125. package/dist/age-model-overlay.module.sass.cjs +0 -12
  126. package/dist/age-model-overlay.module.sass.cjs.map +0 -1
  127. package/dist/age-model-overlay.module.sass.js +0 -11
  128. package/dist/age-model-overlay.module.sass.js.map +0 -1
  129. package/src/age-model-overlay.module.sass +0 -11
  130. package/src/age-model-overlay.ts +0 -96
@@ -91,7 +91,8 @@
91
91
 
92
92
  ._sep_1ibvp_16 {
93
93
  color: var(--secondary-color);
94
- }._column-container_1j8hh_1, body.light-mode ._column-container_1j8hh_1 {
94
+ }._column-container_hmbev_1, body.light-mode ._column-container_hmbev_1 {
95
+ --column-selection-color: var(--column-cursor-color, var(--pz-accent-color, #7961db));
95
96
  --column-background-color: var(--background-color, #fff);
96
97
  --column-stroke-color: var(--text-emphasized-color, #000);
97
98
  --column-text-color: var(--text-emphasized-color, #000);
@@ -103,137 +104,172 @@
103
104
  * If dark mode is explicitly enabled, we want to override
104
105
  * the media query. */
105
106
  @media (prefers-color-scheme: dark) {
106
- body:not(.light-mode) ._column-container_1j8hh_1 {
107
+ body:not(.light-mode) ._column-container_hmbev_1 {
107
108
  --column-background-color: var(--background-color, #000);
108
109
  --column-stroke-color: var(--text-emphasized-color, #fff);
109
110
  --column-text-color: var(--text-emphasized-color, #fff);
110
111
  color-scheme: dark;
111
112
  color: var(--column-text-color);
112
113
  }
113
- body:not(.light-mode) ._column-container_1j8hh_1 .timescale {
114
+ body:not(.light-mode) ._column-container_hmbev_1 .timescale {
114
115
  color: #000;
115
116
  }
116
- body:not(.light-mode) ._column-container_1j8hh_1 svg pattern image {
117
+ body:not(.light-mode) ._column-container_hmbev_1 svg pattern image {
117
118
  filter: invert(100%);
118
119
  }
119
120
  }
120
- body.dark-mode ._column-container_1j8hh_1 {
121
+ body.dark-mode ._column-container_hmbev_1 {
121
122
  --column-background-color: var(--background-color, #000);
122
123
  --column-stroke-color: var(--text-emphasized-color, #fff);
123
124
  --column-text-color: var(--text-emphasized-color, #fff);
124
125
  color-scheme: dark;
125
126
  color: var(--column-text-color);
126
127
  }
127
- body.dark-mode ._column-container_1j8hh_1 .timescale {
128
+ body.dark-mode ._column-container_hmbev_1 .timescale {
128
129
  color: #000;
129
130
  }
130
- body.dark-mode ._column-container_1j8hh_1 svg pattern image {
131
+ body.dark-mode ._column-container_hmbev_1 svg pattern image {
131
132
  filter: invert(100%);
132
133
  }
133
134
 
134
- ._column-container_1j8hh_1 {
135
+ ._column-container_hmbev_1 {
135
136
  padding-top: var(--column-padding-top);
136
137
  padding-bottom: var(--column-padding-bottom);
137
138
  padding-left: var(--column-padding-left);
138
139
  padding-right: var(--column-padding-right);
139
140
  }
140
141
 
141
- ._column-container_1j8hh_1 .column {
142
+ ._column-container_hmbev_1 .column {
142
143
  display: flex;
143
144
  flex-direction: row;
144
145
  position: relative;
145
146
  height: fit-content;
146
147
  }
147
- ._column-container_1j8hh_1 g.lithology-column .column-clip-frame {
148
+ ._column-container_hmbev_1 g.lithology-column .column-clip-frame {
148
149
  stroke: none;
149
150
  }
150
- ._column-container_1j8hh_1 .unit {
151
+ ._column-container_hmbev_1 .unit {
151
152
  stroke: var(--column-stroke-color);
152
153
  stroke-width: 1px;
153
154
  }
154
- ._column-container_1j8hh_1 .selection-overlay {
155
- fill: var(--selection-overlay-color, red);
156
- fill-opacity: var(--selection-overlay-opacity, 0.5);
155
+ ._column-container_hmbev_1 .selection-overlay {
156
+ fill: var(--selection-overlay-color, var(--column-selection-color));
157
+ fill-opacity: var(--selection-overlay-opacity, 0.15);
158
+ stroke: var(--selection-overlay-color, var(--column-selection-color));
159
+ stroke-width: var(--selection-overlay-stroke-width, 2px);
160
+ vector-effect: non-scaling-stroke;
157
161
  }
158
- ._column-container_1j8hh_1 .linked-overlay {
159
- fill: var(--linked-overlay-color, var(--selection-overlay-color, red));
162
+ ._column-container_hmbev_1 .linked-overlay {
163
+ fill: var(--linked-overlay-color, var(--selection-overlay-color, var(--column-selection-color)));
160
164
  fill-opacity: var(--linked-overlay-opacity, 0.18);
161
165
  pointer-events: none;
162
166
  }
163
- ._column-container_1j8hh_1 g.lithology-column use.frame {
167
+ ._column-container_hmbev_1 g.lithology-column use.frame {
164
168
  stroke: var(--column-stroke-color);
165
169
  stroke-width: 1.5px !important;
166
170
  pointer-events: none;
167
171
  }
168
172
 
169
- ._column-container_1j8hh_1 .unit-label {
173
+ ._column-container_hmbev_1 .unit-label {
170
174
  text-align: center;
171
175
  }
172
176
 
173
- ._column-container_1j8hh_1 .col-note-label {
177
+ ._column-container_hmbev_1 .col-note-label {
174
178
  font-size: 10px;
175
179
  line-height: 9px;
176
180
  border-left: none !important;
177
181
  margin: 1px 0;
178
182
  }
179
183
 
180
- ._column-container_1j8hh_1 g.height-range {
184
+ ._column-container_hmbev_1 g.height-range {
181
185
  display: none;
182
186
  }
183
187
 
184
- ._column-container_1j8hh_1 .note-inner {
185
- border: none;
186
- padding: 1px;
187
- }
188
-
189
- ._column-container_1j8hh_1 .frame rect {
188
+ ._column-container_hmbev_1 .frame rect {
190
189
  fill: transparent;
191
190
  }
192
191
 
193
- ._column-container_1j8hh_1 .default-buttons {
192
+ ._column-container_hmbev_1 .default-buttons {
194
193
  width: 100%;
195
194
  margin: 0 -10px;
196
195
  }
197
196
 
198
- ._column-container_1j8hh_1 div.section {
197
+ ._column-container_hmbev_1 div.section {
199
198
  display: flex;
200
199
  flex-direction: row;
201
200
  }
202
201
 
203
- ._column-container_1j8hh_1 .section .divisions .unit {
202
+ ._column-container_hmbev_1 .section .divisions .unit {
204
203
  cursor: pointer;
205
204
  }
206
205
 
207
- ._column-container_1j8hh_1 .timescale {
206
+ ._column-container_hmbev_1 .timescale {
208
207
  width: calc((1.5em + 1.5px) * var(--timescale-level-count, 4));
209
208
  --timescale-level-size: 1.5em;
210
209
  }
211
210
 
212
- ._timescale-column_1j8hh_119 {
211
+ ._timescale-column_hmbev_118 {
213
212
  position: relative;
214
213
  }
215
214
 
216
- ._section-main_1j8hh_123 {
215
+ ._timescale-labels_hmbev_122 {
216
+ position: absolute;
217
+ bottom: 100%;
218
+ left: 0;
219
+ display: flex;
220
+ flex-direction: row;
221
+ align-items: flex-end;
222
+ padding-bottom: 3px;
223
+ }
224
+ ._timescale-labels_hmbev_122 > :first-child {
225
+ margin-right: 5px;
226
+ }
227
+
228
+ ._timescale-label_hmbev_122 {
229
+ width: calc((1.5em + 1.5px) * var(--timescale-level-count, 4));
230
+ display: flex;
231
+ justify-content: center;
232
+ overflow: hidden;
233
+ }
234
+
235
+ ._timescale-label-text_hmbev_142 {
236
+ writing-mode: vertical-rl;
237
+ transform: rotate(180deg);
238
+ white-space: nowrap;
239
+ font-size: 11px;
240
+ color: var(--secondary-color, var(--text-color));
241
+ }
242
+
243
+ ._section-timescales_hmbev_150 {
244
+ display: flex;
245
+ flex-direction: row;
246
+ align-items: flex-start;
247
+ }
248
+ ._section-timescales_hmbev_150 > :first-child {
249
+ margin-right: 5px;
250
+ }
251
+
252
+ ._section-main_hmbev_159 {
217
253
  position: relative;
218
254
  margin-bottom: -4px;
219
255
  }
220
256
 
221
- ._section-units-container_1j8hh_128 {
257
+ ._section-units-container_hmbev_164 {
222
258
  position: relative;
223
259
  }
224
260
 
225
- ._main-column_1j8hh_132 {
261
+ ._main-column_hmbev_168 {
226
262
  position: relative;
227
263
  }
228
264
 
229
- ._unconformity-labels_1j8hh_136 {
265
+ ._unconformity-labels_hmbev_172 {
230
266
  position: absolute;
231
267
  top: 0;
232
268
  left: 0;
233
269
  pointer-events: none;
234
270
  }
235
271
 
236
- ._unconformity_1j8hh_136 {
272
+ ._unconformity_hmbev_172 {
237
273
  position: absolute;
238
274
  font-family: var(--label-font-family, sans-serif);
239
275
  top: 0px;
@@ -241,20 +277,20 @@ body.dark-mode ._column-container_1j8hh_1 svg pattern image {
241
277
  font-size: 0.8em;
242
278
  --unit-font-weight: 400;
243
279
  }
244
- ._unconformity_1j8hh_136._giga_1j8hh_151 {
280
+ ._unconformity_hmbev_172._giga_hmbev_187 {
245
281
  font-weight: 800;
246
282
  }
247
- ._unconformity_1j8hh_136._mega_1j8hh_154 {
283
+ ._unconformity_hmbev_172._mega_hmbev_190 {
248
284
  font-weight: 700;
249
285
  }
250
- ._unconformity_1j8hh_136._large_1j8hh_157 {
286
+ ._unconformity_hmbev_172._large_hmbev_193 {
251
287
  font-weight: 500;
252
288
  }
253
- ._unconformity_1j8hh_136._small_1j8hh_160 {
289
+ ._unconformity_hmbev_172._small_hmbev_196 {
254
290
  font-weight: 300;
255
291
  }
256
292
 
257
- ._unconformity-inner_1j8hh_164 {
293
+ ._unconformity-inner_hmbev_200 {
258
294
  position: absolute;
259
295
  top: 3px;
260
296
  bottom: 3px;
@@ -266,21 +302,21 @@ body.dark-mode ._column-container_1j8hh_1 svg pattern image {
266
302
  text-align: center;
267
303
  }
268
304
 
269
- ._unconformity-text_1j8hh_176 {
305
+ ._unconformity-text_hmbev_212 {
270
306
  width: var(--column-width);
271
307
  --unit-font-style: normal;
272
308
  }
273
- ._unconformity-text_1j8hh_176 ._prefix_1j8hh_180 {
309
+ ._unconformity-text_hmbev_212 ._prefix_hmbev_216 {
274
310
  font-weight: 400;
275
311
  color: var(--secondary-color);
276
312
  }
277
313
 
278
- ._timescale-column_1j8hh_119 ._unconformity-inner_1j8hh_164 {
314
+ ._timescale-column_hmbev_118 ._unconformity-inner_hmbev_200 {
279
315
  border-left: 1.5px dotted var(--secondary-color);
280
316
  left: -3px;
281
317
  }
282
318
 
283
- ._column-title-row_1j8hh_190 {
319
+ ._column-title-row_hmbev_226 {
284
320
  display: flex;
285
321
  flex-direction: row;
286
322
  gap: 1em;
@@ -429,18 +465,6 @@ body.dark-mode ._column-container_1j8hh_1 svg pattern image {
429
465
  }
430
466
  ._hidden-actions_arfxf_22 button {
431
467
  color: var(--secondary-color) !important;
432
- }._boundary-age-model_16scl_1 {
433
- top: 0;
434
- left: 0;
435
- position: absolute;
436
- width: 100%;
437
- }
438
-
439
- ._boundary-age-model-surface_16scl_8 {
440
- left: 0;
441
- right: 0;
442
- position: absolute;
443
- border-top: 1px solid lightgreen;
444
468
  }._age-window-tag_1tskh_1 {
445
469
  display: inline-flex;
446
470
  align-items: center;
@@ -469,6 +493,184 @@ body.dark-mode ._column-container_1j8hh_1 svg pattern image {
469
493
  ._truncated-list_120po_1 li._too-many_120po_16 {
470
494
  color: var(--secondary-color);
471
495
  font-style: italic;
496
+ }._column-surface-lines_kl4gb_1, ._column-surface-labels_kl4gb_1, ._surface-status-legend_kl4gb_1, ._surface-tag_kl4gb_1 {
497
+ --surface-color-absolute: var(--pz-intent-danger, #c23030);
498
+ --surface-color-relative: var(--pz-intent-primary, #2d72d2);
499
+ --surface-color-spike: var(--pz-purple-500, #7961db);
500
+ --surface-color-imposed: var(--pz-orange-500, #c87619);
501
+ --surface-color-modeled: var(--pz-neutral-500, #8f99a8);
502
+ --surface-color-unspecified: var(--pz-neutral-400, #abb3bf);
503
+ --surface-color-derived: var(--pz-intent-success, #238551);
504
+ --surface-selected-color: var(--column-selection-color, var(--pz-accent-color, #7961db));
505
+ --surface-line-width: 3px;
506
+ --surface-leader-width: var(--surface-line-width);
507
+ --surface-selection-width: 2px;
508
+ }
509
+
510
+ ._status-absolute_kl4gb_15 {
511
+ --surface-color: var(--surface-color-absolute);
512
+ }
513
+
514
+ ._status-relative_kl4gb_19 {
515
+ --surface-color: var(--surface-color-relative);
516
+ }
517
+
518
+ ._status-spike_kl4gb_23 {
519
+ --surface-color: var(--surface-color-spike);
520
+ }
521
+
522
+ ._status-imposed_kl4gb_27 {
523
+ --surface-color: var(--surface-color-imposed);
524
+ }
525
+
526
+ ._status-modeled_kl4gb_31 {
527
+ --surface-color: var(--surface-color-modeled);
528
+ }
529
+
530
+ ._status-unspecified_kl4gb_35 {
531
+ --surface-color: var(--surface-color-unspecified);
532
+ }
533
+
534
+ ._status-derived_kl4gb_39 {
535
+ --surface-color: var(--surface-color-derived);
536
+ }
537
+
538
+ ._status-absolute_kl4gb_15, ._status-relative_kl4gb_19, ._status-spike_kl4gb_23 {
539
+ --surface-line-style: solid;
540
+ }
541
+
542
+ ._status-imposed_kl4gb_27 {
543
+ --surface-line-style: dashed;
544
+ }
545
+
546
+ ._status-modeled_kl4gb_31, ._status-unspecified_kl4gb_35, ._status-derived_kl4gb_39 {
547
+ --surface-line-style: dotted;
548
+ }
549
+
550
+ ._type-unconformity_kl4gb_55, ._type-disconformity_kl4gb_55, ._type-non-conformity_kl4gb_55, ._type-angular-unconformity_kl4gb_55 {
551
+ --surface-line-double: 1;
552
+ }
553
+
554
+ ._type-fault_kl4gb_59 {
555
+ --surface-line-style: dashed;
556
+ }
557
+
558
+ ._column-surface-lines_kl4gb_1 {
559
+ position: absolute;
560
+ top: 0;
561
+ left: 0;
562
+ width: 100%;
563
+ pointer-events: none;
564
+ z-index: 5;
565
+ }
566
+ ._column-surface-lines_kl4gb_1._measuring_kl4gb_71 {
567
+ visibility: hidden;
568
+ }
569
+
570
+ ._surface-line_kl4gb_75 {
571
+ position: absolute;
572
+ left: 0;
573
+ right: 0;
574
+ height: 0;
575
+ padding: 4px 0;
576
+ transform: translateY(-4px);
577
+ pointer-events: none;
578
+ color: var(--surface-color);
579
+ }
580
+ ._surface-line_kl4gb_75._interactive_kl4gb_85 {
581
+ pointer-events: auto;
582
+ cursor: pointer;
583
+ }
584
+ ._surface-line_kl4gb_75 ._surface-line-inner_kl4gb_89 {
585
+ border-top: var(--surface-line-width, 1px) var(--surface-line-style, solid) var(--surface-color);
586
+ transform: translateY(calc(var(--surface-line-width, 1px) / -2));
587
+ }
588
+ ._surface-line_kl4gb_75._interactive_kl4gb_85:hover ._surface-line-inner_kl4gb_89 {
589
+ border-top-width: calc(var(--surface-line-width, 1px) + 1px);
590
+ filter: brightness(0.8);
591
+ }
592
+ ._surface-line_kl4gb_75._selected_kl4gb_97 {
593
+ outline: var(--surface-selection-width) solid var(--surface-selected-color);
594
+ background-color: var(--pz-selected-background-color, transparent);
595
+ }
596
+
597
+ ._surface-line_kl4gb_75._type-unconformity_kl4gb_55 ._surface-line-inner_kl4gb_89, ._surface-line_kl4gb_75._type-disconformity_kl4gb_55 ._surface-line-inner_kl4gb_89, ._surface-line_kl4gb_75._type-non-conformity_kl4gb_55 ._surface-line-inner_kl4gb_89, ._surface-line_kl4gb_75._type-angular-unconformity_kl4gb_55 ._surface-line-inner_kl4gb_89 {
598
+ border-bottom: var(--surface-line-width, 1px) var(--surface-line-style, solid) var(--surface-color);
599
+ height: 3px;
600
+ }
601
+
602
+ ._column-surface-labels_kl4gb_1 {
603
+ position: relative;
604
+ }
605
+ ._column-surface-labels_kl4gb_1 .col-note-label {
606
+ display: none;
607
+ }
608
+ ._column-surface-labels_kl4gb_1 .note-inner {
609
+ margin: 2px 5px;
610
+ }
611
+ ._column-surface-labels_kl4gb_1 svg {
612
+ overflow: visible;
613
+ }
614
+ ._column-surface-labels_kl4gb_1 .link {
615
+ stroke-width: var(--surface-leader-width);
616
+ }
617
+
618
+ ._surface-label_kl4gb_123 {
619
+ display: flex;
620
+ flex-direction: row;
621
+ align-items: center;
622
+ gap: 6px;
623
+ padding: 2px 4px;
624
+ border-radius: 3px;
625
+ cursor: pointer;
626
+ line-height: 1.2;
627
+ color: var(--column-text-color);
628
+ }
629
+ ._surface-label_kl4gb_123:hover {
630
+ background-color: var(--pz-hover-background-color, rgba(128, 128, 128, 0.12));
631
+ }
632
+ ._surface-label_kl4gb_123._selected_kl4gb_97 ._surface-label-primary_kl4gb_137 {
633
+ font-weight: 700;
634
+ }
635
+
636
+ ._surface-label-marker_kl4gb_141 {
637
+ flex: none;
638
+ width: 14px;
639
+ height: 0;
640
+ border-top: var(--surface-line-width, 1px) var(--surface-line-style, solid) var(--surface-color);
641
+ }
642
+ ._type-unconformity_kl4gb_55 ._surface-label-marker_kl4gb_141, ._type-disconformity_kl4gb_55 ._surface-label-marker_kl4gb_141, ._type-non-conformity_kl4gb_55 ._surface-label-marker_kl4gb_141, ._type-angular-unconformity_kl4gb_55 ._surface-label-marker_kl4gb_141 {
643
+ border-bottom: var(--surface-line-width, 1px) var(--surface-line-style, solid) var(--surface-color);
644
+ height: 3px;
645
+ }
646
+
647
+ ._surface-label-text_kl4gb_152 {
648
+ min-width: 0;
649
+ display: flex;
650
+ flex-direction: row;
651
+ align-items: baseline;
652
+ gap: 6px;
653
+ white-space: nowrap;
654
+ }
655
+
656
+ ._surface-label-primary_kl4gb_137 {
657
+ font-size: 0.75rem;
658
+ font-weight: 500;
659
+ white-space: nowrap;
660
+ }
661
+ ._surface-label-primary_kl4gb_137 .bp6-tag, ._surface-label-primary_kl4gb_137 ._surface-interval-tag_kl4gb_166 {
662
+ white-space: nowrap;
663
+ vertical-align: middle;
664
+ }
665
+
666
+ ._surface-label-status_kl4gb_171 {
667
+ font-style: italic;
668
+ }
669
+
670
+ ._surface-label-secondary_kl4gb_175 {
671
+ font-size: 0.7rem;
672
+ white-space: nowrap;
673
+ color: var(--text-subtle-color, var(--pz-text-subtle-color, #5f6b7c));
472
674
  }._page-header_17ryg_1 {
473
675
  display: flex;
474
676
  flex-direction: row;
@@ -726,4 +928,134 @@ body.dark-mode ._column-container_1j8hh_1 svg pattern image {
726
928
  text-align: left;
727
929
  padding: 0 8px;
728
930
  max-width: 300px;
931
+ }._surface-details-panel_14xjd_1 {
932
+ display: flex;
933
+ flex-direction: column;
934
+ min-width: 0;
935
+ }
936
+
937
+ ._surface-details-header_14xjd_7 {
938
+ display: flex;
939
+ flex-direction: row;
940
+ align-items: center;
941
+ flex-wrap: wrap;
942
+ gap: 0.5em;
943
+ padding: 0.5em 0;
944
+ border-bottom: 1px solid var(--pz-panel-rule-color, var(--panel-rule-color, #ddd));
945
+ }
946
+ ._surface-details-header_14xjd_7 ._spacer_14xjd_16 {
947
+ flex: 1;
948
+ }
949
+
950
+ ._surface-details-title_14xjd_20 {
951
+ margin: 0;
952
+ font-size: 1.1em;
953
+ }
954
+ ._surface-details-title_14xjd_20 ._surface-id_14xjd_24 {
955
+ font-size: 0.85em;
956
+ color: var(--text-subtle-color, var(--pz-text-subtle-color));
957
+ }
958
+
959
+ ._surface-details-tags_14xjd_29 {
960
+ display: flex;
961
+ gap: 0.3em;
962
+ }
963
+
964
+ ._surface-details-content_14xjd_34 {
965
+ padding: 0.5em 0;
966
+ }
967
+
968
+ ._no-surface_14xjd_38 ._placeholder_14xjd_38 {
969
+ color: var(--text-subtle-color, var(--pz-text-subtle-color));
970
+ margin: 0;
971
+ }
972
+
973
+ ._surface-tag_14xjd_43:before {
974
+ content: "";
975
+ display: inline-block;
976
+ width: 0.6em;
977
+ height: 0.6em;
978
+ border-radius: 50%;
979
+ margin-right: 0.4em;
980
+ background-color: var(--surface-color, currentColor);
981
+ }
982
+ ._surface-tag_14xjd_43._surface-type-tag_14xjd_52:before {
983
+ display: none;
984
+ }
985
+ ._surface-tag_14xjd_43._inferred_14xjd_55 {
986
+ font-style: italic;
987
+ }
988
+
989
+ ._inferred-marker_14xjd_59 {
990
+ margin-left: 0.15em;
991
+ opacity: 0.7;
992
+ }
993
+
994
+ ._calibration-interval_14xjd_64 {
995
+ display: flex;
996
+ align-items: baseline;
997
+ gap: 0.5em;
998
+ flex-wrap: wrap;
999
+ }
1000
+
1001
+ ._calibration-range_14xjd_71 {
1002
+ color: var(--text-subtle-color, var(--pz-text-subtle-color));
1003
+ font-size: 0.9em;
1004
+ }
1005
+
1006
+ ._calibration-proportion_14xjd_76 {
1007
+ margin-top: 0.2em;
1008
+ }
1009
+
1010
+ ._surface-units-list_14xjd_80 {
1011
+ list-style: none;
1012
+ margin: 0;
1013
+ padding: 0;
1014
+ }
1015
+ ._surface-units-list_14xjd_80 li {
1016
+ display: inline;
1017
+ }
1018
+ ._surface-units-list_14xjd_80 li:after {
1019
+ content: ", ";
1020
+ }
1021
+ ._surface-units-list_14xjd_80 li:last-child:after {
1022
+ content: "";
1023
+ }
1024
+
1025
+ ._no-units_14xjd_95, ._no-calibration_14xjd_95 {
1026
+ color: var(--text-subtle-color, var(--pz-text-subtle-color));
1027
+ }
1028
+
1029
+ ._surface-status-legend_14xjd_99 {
1030
+ list-style: none;
1031
+ margin: 0;
1032
+ padding: 0;
1033
+ display: flex;
1034
+ flex-direction: column;
1035
+ gap: 0.3em;
1036
+ font-size: 0.85em;
1037
+ }
1038
+ ._surface-status-legend_14xjd_99._with-descriptions_14xjd_108 {
1039
+ gap: 0.6em;
1040
+ }
1041
+
1042
+ ._legend-item_14xjd_112 {
1043
+ display: flex;
1044
+ flex-direction: row;
1045
+ align-items: baseline;
1046
+ gap: 0.6em;
1047
+ }
1048
+ ._legend-item_14xjd_112 ._surface-label-marker_14xjd_118 {
1049
+ flex: none;
1050
+ width: 24px;
1051
+ align-self: center;
1052
+ }
1053
+
1054
+ ._legend-label_14xjd_124 {
1055
+ font-weight: 500;
1056
+ }
1057
+
1058
+ ._legend-description_14xjd_128 {
1059
+ color: var(--text-subtle-color, var(--pz-text-subtle-color));
1060
+ font-size: 0.9em;
729
1061
  }
package/dist/column.cjs CHANGED
@@ -33,7 +33,10 @@ function Column(props) {
33
33
  b_pos,
34
34
  unconformityHeight = 30,
35
35
  targetUnitHeight = 20,
36
+ sectionOptions,
36
37
  pixelScale,
38
+ pixelsPerMyr,
39
+ pixelsPerMeter,
37
40
  minPixelScale = 0.2,
38
41
  minSectionHeight = 50,
39
42
  windowPadding = 0,
@@ -47,14 +50,6 @@ function Column(props) {
47
50
  ref,
48
51
  ...rest
49
52
  } = props;
50
- let _targetUnitHeight = targetUnitHeight;
51
- let _minSectionHeight = minSectionHeight;
52
- let _minPixelScale = minPixelScale;
53
- if (pixelScale != null) {
54
- _targetUnitHeight = null;
55
- _minSectionHeight = 0;
56
- _minPixelScale = pixelScale;
57
- }
58
53
  let _axisType = axisType ?? columnComponents.ColumnAxisType.AGE;
59
54
  let ageAxisComponent = ageAxis.CompositeAgeAxis;
60
55
  if (hybridScale?.type === types.HybridScaleType.ApproximateHeight && _axisType != columnComponents.ColumnAxisType.AGE) {
@@ -68,11 +63,14 @@ function Column(props) {
68
63
  t_pos,
69
64
  b_pos,
70
65
  mergeSections,
71
- targetUnitHeight: _targetUnitHeight,
66
+ targetUnitHeight,
67
+ sectionOptions,
72
68
  unconformityHeight,
73
69
  pixelScale,
74
- minPixelScale: _minPixelScale,
75
- minSectionHeight: _minSectionHeight,
70
+ pixelsPerMyr,
71
+ pixelsPerMeter,
72
+ minPixelScale,
73
+ minSectionHeight,
76
74
  windowPadding,
77
75
  collapseSmallUnconformities,
78
76
  // TODO: consider unifying scale and hybridScale options
@@ -125,11 +123,15 @@ function ColumnInner(props) {
125
123
  width: _width = 300,
126
124
  columnWidth: _columnWidth = 150,
127
125
  showLabelColumn: _showLabelColumn = true,
126
+ labelSuppressHeight,
128
127
  className,
129
128
  clipUnits = false,
130
129
  children,
131
130
  showTimescale,
132
131
  timescaleLevels,
132
+ additionalTimescales,
133
+ timescales,
134
+ showTimescaleLabels,
133
135
  maxInternalColumns,
134
136
  onMouseOver,
135
137
  onClickTimescaleInterval,
@@ -137,6 +139,7 @@ function ColumnInner(props) {
137
139
  ageAxisComponent = ageAxis.CompositeAgeAxis
138
140
  } = props;
139
141
  const { axisType } = store.useMacrostratColumnData();
142
+ const labelColumnClaimed = store.useLabelColumnClaimed();
140
143
  const columnRef = unitSelection.useColumnRef();
141
144
  let _timescaleUnconformityLabels = false;
142
145
  let _sectionUnconformityLabels = false;
@@ -151,11 +154,11 @@ function ColumnInner(props) {
151
154
  columnWidth = width;
152
155
  }
153
156
  let showLabelColumn = _showLabelColumn;
154
- if (columnWidth > width - 10) {
157
+ if (columnWidth > width - 10 || labelColumnClaimed) {
155
158
  showLabelColumn = false;
156
159
  }
157
160
  let _showTimescale = showTimescale ?? true;
158
- if (timescaleLevels != null) {
161
+ if (timescaleLevels != null || timescales != null) {
159
162
  _showTimescale = true;
160
163
  }
161
164
  _showTimescale = axisType == columnComponents.ColumnAxisType.AGE && _showTimescale;
@@ -170,6 +173,9 @@ function ColumnInner(props) {
170
173
  column_module.default(ageAxisComponent),
171
174
  column_module.default.if(_showTimescale)(section.CompositeTimescale, {
172
175
  levels: timescaleLevels,
176
+ additionalTimescales,
177
+ timescales,
178
+ showLabels: showTimescaleLabels,
173
179
  unconformityLabels: _timescaleUnconformityLabels,
174
180
  onClickInterval: onClickTimescaleInterval,
175
181
  intervalStyle: timescaleIntervalStyle
@@ -180,6 +186,7 @@ function ColumnInner(props) {
180
186
  width,
181
187
  columnWidth,
182
188
  showLabelColumn,
189
+ labelSuppressHeight,
183
190
  clipUnits,
184
191
  unconformityLabels: _sectionUnconformityLabels,
185
192
  maxInternalColumns