gosling.js 0.17.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/gosling.js CHANGED
@@ -34,7 +34,7 @@ import "bezier-js";
34
34
  import { scaleLinear, scaleSequential, scaleOrdinal, scaleBand } from "d3-scale";
35
35
  import { sampleSize, isEqual, uniqBy, cloneDeepWith } from "lodash-es";
36
36
  import { interpolateViridis } from "d3-scale-chromatic";
37
- import { A as Ajv, I as IsChannelDeep, r as resolveSuperposedTracks, t as traverseTracks, a as IsTemplateTrack, g as getTextStyle, c as computeChromSizes, b as cartesianToPolar, u as uuid, R as RADIAN_GAP, v as valueToRadian, p as pointsToDegree, d as commonjsGlobal, e as RemoteFile, f as IsOneOfFilter, h as IsRangeFilter, i as IsIncludeFilter, j as getChannelKeysByAggregateFnc, k as getChannelKeysByType, s as sanitizeChrName, l as filterUsingGenoPos, m as IsDataDeepTileset, n as IsDomainChr, o as IsDomainInterval, q as IsDomainChrInterval, S as SUPPORTED_CHANNELS, w as insertItemToArray, x as getAutoCompleteObject, y as IsChannelValue, z as getValueUsingChannel, B as rectProperty, C as pointProperty, D as barProperty, E as IsStackedChannel, F as IsDomainArray, P as PREDEFINED_COLOR_STR_MAP, G as IsRangeArray, H as Is2DTrack, J as isTabularDataFetcher, K as drawPreEmbellishment, L as drawMark, M as drawPostEmbellishment, N as getRelativeGenomicPosition, O as hasDataTransform, Q as IsXAxis, T as IsMouseEventsDeep, U as colorToHex, V as flatArrayToPairArray, W as DEWFAULT_TITLE_PADDING_ON_TOP_AND_BOTTOM, X as traverseTracksAndViews, Y as traverseViewArrangements, Z as DEFAULT_VIEW_SPACING, _ as DEFAULT_INNER_RADIUS_PROP, $ as IsDummyTrack, a0 as IsOverlaidTrack, a1 as IsYAxis, a2 as DEFAULT_CIRCULAR_VIEW_PADDING, a3 as IsDataDeep, a4 as IsHiGlassMatrix, a5 as getHiGlassColorRange, a6 as DEFAULT_TEXT_STYLE, a7 as overrideDataTemplates, a8 as traverseToFixSpecDownstream, a9 as GenomicPositionHelper, aa as isObject } from "./exported-utils-c7f92c46.js";
37
+ import { A as Ajv, I as IsChannelDeep, r as resolveSuperposedTracks, t as traverseTracks, a as IsTemplateTrack, g as getTextStyle, c as computeChromSizes, b as cartesianToPolar, u as uuid, R as RADIAN_GAP, v as valueToRadian, p as pointsToDegree, d as commonjsGlobal, e as RemoteFile, f as IsOneOfFilter, h as IsRangeFilter, i as IsIncludeFilter, j as getChannelKeysByAggregateFnc, k as getChannelKeysByType, s as sanitizeChrName, l as filterUsingGenoPos, m as IsDataDeepTileset, n as IsDomainChr, o as IsDomainInterval, q as IsDomainChrInterval, S as SUPPORTED_CHANNELS, w as insertItemToArray, x as getAutoCompleteObject, y as IsChannelValue, z as getValueUsingChannel, B as rectProperty, C as pointProperty, D as barProperty, E as IsStackedChannel, F as IsDomainArray, P as PREDEFINED_COLOR_STR_MAP, G as IsRangeArray, H as Is2DTrack, J as isTabularDataFetcher, K as drawPreEmbellishment, L as drawMark, M as drawPostEmbellishment, N as getRelativeGenomicPosition, O as hasDataTransform, Q as IsXAxis, T as IsMouseEventsDeep, U as colorToHex, V as flatArrayToPairArray, W as DEWFAULT_TITLE_PADDING_ON_TOP_AND_BOTTOM, X as traverseTracksAndViews, Y as traverseViewArrangements, Z as DEFAULT_VIEW_SPACING, _ as DEFAULT_INNER_RADIUS_PROP, $ as IsDummyTrack, a0 as IsOverlaidTrack, a1 as IsYAxis, a2 as DEFAULT_CIRCULAR_VIEW_PADDING, a3 as IsDataDeep, a4 as IsHiGlassMatrix, a5 as getHiGlassColorRange, a6 as DEFAULT_TEXT_STYLE, a7 as traverseToFixSpecDownstream, a8 as GenomicPositionHelper, a9 as isObject } from "./exported-utils-51b5f19f.js";
38
38
  import higlassRegister from "higlass-register";
39
39
  import { TextTrack } from "higlass-text";
40
40
  import RBush from "rbush";
@@ -52,7 +52,7 @@ import require$$0 from "react-dom";
52
52
  import { HiGlassComponent } from "higlass";
53
53
  import { ResizeSensor } from "css-element-queries";
54
54
  const name = "gosling.js";
55
- const version = "0.17.0";
55
+ const version = "1.0.0";
56
56
  const $ref$2 = "#/definitions/GoslingSpec";
57
57
  const $schema$2 = "http://json-schema.org/draft-07/schema#";
58
58
  const definitions$2 = {
@@ -613,152 +613,6 @@ const definitions$2 = {
613
613
  }
614
614
  ]
615
615
  },
616
- DataTrack: {
617
- additionalProperties: false,
618
- description: "Partial specification of `BasicSingleTrack` to use default visual encoding predefined by data type.",
619
- properties: {
620
- _assignedHeight: {
621
- type: "number"
622
- },
623
- _assignedWidth: {
624
- description: "Internal: Used for responsive spec",
625
- type: "number"
626
- },
627
- _invalidTrack: {
628
- description: "internal",
629
- type: "boolean"
630
- },
631
- _renderingId: {
632
- description: "internal",
633
- type: "string"
634
- },
635
- assembly: {
636
- $ref: "#/definitions/Assembly",
637
- description: 'A string that specifies the genome builds to use. Currently support `"hg38"`, `"hg19"`, `"hg18"`, `"hg17"`, `"hg16"`, `"mm10"`, `"mm9"`, and `"unknown"`.\n\n__Note:__: with `"unknown"` assembly, genomic axes do not show chrN: in labels.'
638
- },
639
- centerRadius: {
640
- description: "Proportion of the radius of the center white space.\n\n__Default:__ `0.3`",
641
- type: "number"
642
- },
643
- data: {
644
- $ref: "#/definitions/DataDeep"
645
- },
646
- endAngle: {
647
- description: 'Specify the end angle (in the range of [0, 360]) of circular tracks (`{"layout": "circular"}`).',
648
- type: "number"
649
- },
650
- height: {
651
- description: "Specify the track height in pixels.",
652
- type: "number"
653
- },
654
- id: {
655
- description: "Assigned to `uid` in a HiGlass view config, used for API and caching.",
656
- type: "string"
657
- },
658
- innerRadius: {
659
- description: 'Specify the inner radius of tracks when (`{"layout": "circular"}`).',
660
- type: "number"
661
- },
662
- layout: {
663
- $ref: "#/definitions/Layout",
664
- description: "Specify the layout type of all tracks."
665
- },
666
- linkingId: {
667
- description: "Specify an ID for [linking multiple views](http://gosling-lang.org/docs/user-interaction#linking-views)",
668
- type: "string"
669
- },
670
- orientation: {
671
- $ref: "#/definitions/Orientation",
672
- description: "Specify the orientation."
673
- },
674
- outerRadius: {
675
- description: 'Specify the outer radius of tracks when `{"layout": "circular"}`.',
676
- type: "number"
677
- },
678
- overlayOnPreviousTrack: {
679
- type: "boolean"
680
- },
681
- prerelease: {
682
- additionalProperties: false,
683
- description: "internal",
684
- type: "object"
685
- },
686
- spacing: {
687
- description: "The size of the gap (1) between tracks, (2) between views, and (3) of the origin of circular tracks. The effect of this property depends on where on the spec you specify the `spacing`.\n\nIn a linear layout, this value is used in pixels, while in a circular layout, this value is used relative to the height of the tracks or views.",
688
- type: "number"
689
- },
690
- startAngle: {
691
- description: 'Specify the start angle (in the range of [0, 360]) of circular tracks (`{"layout": "circular"}`).',
692
- type: "number"
693
- },
694
- "static": {
695
- description: "Whether to disable [Zooming and Panning](http://gosling-lang.org/docs/user-interaction#zooming-and-panning), __Default:__ `false`.",
696
- type: "boolean"
697
- },
698
- style: {
699
- $ref: "#/definitions/Style",
700
- description: "Define the [style](http://gosling-lang.org/docs/visual-channel#style-related-properties) of multive views. Will be overwritten by the style of children elements (e.g., view, track)."
701
- },
702
- subtitle: {
703
- type: "string"
704
- },
705
- title: {
706
- description: "If defined, will show the textual label on the left-top corner of a track.",
707
- type: "string"
708
- },
709
- width: {
710
- description: "Specify the track width in pixels.",
711
- type: "number"
712
- },
713
- xAxis: {
714
- $ref: "#/definitions/AxisPosition",
715
- description: "not supported"
716
- },
717
- xDomain: {
718
- anyOf: [
719
- {
720
- $ref: "#/definitions/DomainInterval"
721
- },
722
- {
723
- $ref: "#/definitions/DomainChrInterval"
724
- },
725
- {
726
- $ref: "#/definitions/DomainChr"
727
- }
728
- ],
729
- description: "Specify the visible region of genomic x-axis"
730
- },
731
- xOffset: {
732
- description: "Specify the x offset of views in the unit of pixels",
733
- type: "number"
734
- },
735
- yDomain: {
736
- anyOf: [
737
- {
738
- $ref: "#/definitions/DomainInterval"
739
- },
740
- {
741
- $ref: "#/definitions/DomainChrInterval"
742
- },
743
- {
744
- $ref: "#/definitions/DomainChr"
745
- }
746
- ],
747
- description: "Specify the visible region of genomic y-axis"
748
- },
749
- yOffset: {
750
- description: "Specify the y offset of views in the unit of pixels",
751
- type: "number"
752
- },
753
- zoomLimits: {
754
- $ref: "#/definitions/ZoomLimits"
755
- }
756
- },
757
- required: [
758
- "data"
759
- ],
760
- type: "object"
761
- },
762
616
  DataTransform: {
763
617
  anyOf: [
764
618
  {
@@ -1312,16 +1166,6 @@ const definitions$2 = {
1312
1166
  experimental: {
1313
1167
  additionalProperties: false,
1314
1168
  properties: {
1315
- mouseEvents: {
1316
- anyOf: [
1317
- {
1318
- type: "boolean"
1319
- },
1320
- {
1321
- $ref: "#/definitions/MouseEventsDeep"
1322
- }
1323
- ]
1324
- },
1325
1169
  performanceMode: {
1326
1170
  "default": false,
1327
1171
  description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
@@ -1365,6 +1209,16 @@ const definitions$2 = {
1365
1209
  mark: {
1366
1210
  $ref: "#/definitions/Mark"
1367
1211
  },
1212
+ mouseEvents: {
1213
+ anyOf: [
1214
+ {
1215
+ type: "boolean"
1216
+ },
1217
+ {
1218
+ $ref: "#/definitions/MouseEventsDeep"
1219
+ }
1220
+ ]
1221
+ },
1368
1222
  opacity: {
1369
1223
  anyOf: [
1370
1224
  {
@@ -1386,9 +1240,6 @@ const definitions$2 = {
1386
1240
  overlayOnPreviousTrack: {
1387
1241
  type: "boolean"
1388
1242
  },
1389
- overrideTemplate: {
1390
- type: "boolean"
1391
- },
1392
1243
  prerelease: {
1393
1244
  additionalProperties: false,
1394
1245
  description: "internal",
@@ -1473,16 +1324,6 @@ const definitions$2 = {
1473
1324
  experimental: {
1474
1325
  additionalProperties: false,
1475
1326
  properties: {
1476
- mouseEvents: {
1477
- anyOf: [
1478
- {
1479
- type: "boolean"
1480
- },
1481
- {
1482
- $ref: "#/definitions/MouseEventsDeep"
1483
- }
1484
- ]
1485
- },
1486
1327
  performanceMode: {
1487
1328
  "default": false,
1488
1329
  description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
@@ -1526,6 +1367,16 @@ const definitions$2 = {
1526
1367
  mark: {
1527
1368
  $ref: "#/definitions/Mark"
1528
1369
  },
1370
+ mouseEvents: {
1371
+ anyOf: [
1372
+ {
1373
+ type: "boolean"
1374
+ },
1375
+ {
1376
+ $ref: "#/definitions/MouseEventsDeep"
1377
+ }
1378
+ ]
1379
+ },
1529
1380
  opacity: {
1530
1381
  anyOf: [
1531
1382
  {
@@ -1547,9 +1398,6 @@ const definitions$2 = {
1547
1398
  overlayOnPreviousTrack: {
1548
1399
  type: "boolean"
1549
1400
  },
1550
- overrideTemplate: {
1551
- type: "boolean"
1552
- },
1553
1401
  prerelease: {
1554
1402
  additionalProperties: false,
1555
1403
  description: "internal",
@@ -2098,16 +1946,6 @@ const definitions$2 = {
2098
1946
  experimental: {
2099
1947
  additionalProperties: false,
2100
1948
  properties: {
2101
- mouseEvents: {
2102
- anyOf: [
2103
- {
2104
- type: "boolean"
2105
- },
2106
- {
2107
- $ref: "#/definitions/MouseEventsDeep"
2108
- }
2109
- ]
2110
- },
2111
1949
  performanceMode: {
2112
1950
  "default": false,
2113
1951
  description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
@@ -2151,6 +1989,16 @@ const definitions$2 = {
2151
1989
  mark: {
2152
1990
  $ref: "#/definitions/Mark"
2153
1991
  },
1992
+ mouseEvents: {
1993
+ anyOf: [
1994
+ {
1995
+ type: "boolean"
1996
+ },
1997
+ {
1998
+ $ref: "#/definitions/MouseEventsDeep"
1999
+ }
2000
+ ]
2001
+ },
2154
2002
  opacity: {
2155
2003
  anyOf: [
2156
2004
  {
@@ -2172,9 +2020,6 @@ const definitions$2 = {
2172
2020
  overlayOnPreviousTrack: {
2173
2021
  type: "boolean"
2174
2022
  },
2175
- overrideTemplate: {
2176
- type: "boolean"
2177
- },
2178
2023
  prerelease: {
2179
2024
  additionalProperties: false,
2180
2025
  description: "internal",
@@ -2259,16 +2104,6 @@ const definitions$2 = {
2259
2104
  experimental: {
2260
2105
  additionalProperties: false,
2261
2106
  properties: {
2262
- mouseEvents: {
2263
- anyOf: [
2264
- {
2265
- type: "boolean"
2266
- },
2267
- {
2268
- $ref: "#/definitions/MouseEventsDeep"
2269
- }
2270
- ]
2271
- },
2272
2107
  performanceMode: {
2273
2108
  "default": false,
2274
2109
  description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
@@ -2312,6 +2147,16 @@ const definitions$2 = {
2312
2147
  mark: {
2313
2148
  $ref: "#/definitions/Mark"
2314
2149
  },
2150
+ mouseEvents: {
2151
+ anyOf: [
2152
+ {
2153
+ type: "boolean"
2154
+ },
2155
+ {
2156
+ $ref: "#/definitions/MouseEventsDeep"
2157
+ }
2158
+ ]
2159
+ },
2315
2160
  opacity: {
2316
2161
  anyOf: [
2317
2162
  {
@@ -2333,9 +2178,6 @@ const definitions$2 = {
2333
2178
  overlayOnPreviousTrack: {
2334
2179
  type: "boolean"
2335
2180
  },
2336
- overrideTemplate: {
2337
- type: "boolean"
2338
- },
2339
2181
  prerelease: {
2340
2182
  additionalProperties: false,
2341
2183
  description: "internal",
@@ -2941,16 +2783,6 @@ const definitions$2 = {
2941
2783
  experimental: {
2942
2784
  additionalProperties: false,
2943
2785
  properties: {
2944
- mouseEvents: {
2945
- anyOf: [
2946
- {
2947
- type: "boolean"
2948
- },
2949
- {
2950
- $ref: "#/definitions/MouseEventsDeep"
2951
- }
2952
- ]
2953
- },
2954
2786
  performanceMode: {
2955
2787
  "default": false,
2956
2788
  description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
@@ -2994,6 +2826,16 @@ const definitions$2 = {
2994
2826
  mark: {
2995
2827
  $ref: "#/definitions/Mark"
2996
2828
  },
2829
+ mouseEvents: {
2830
+ anyOf: [
2831
+ {
2832
+ type: "boolean"
2833
+ },
2834
+ {
2835
+ $ref: "#/definitions/MouseEventsDeep"
2836
+ }
2837
+ ]
2838
+ },
2997
2839
  opacity: {
2998
2840
  anyOf: [
2999
2841
  {
@@ -3015,9 +2857,6 @@ const definitions$2 = {
3015
2857
  overlayOnPreviousTrack: {
3016
2858
  type: "boolean"
3017
2859
  },
3018
- overrideTemplate: {
3019
- type: "boolean"
3020
- },
3021
2860
  prerelease: {
3022
2861
  additionalProperties: false,
3023
2862
  description: "internal",
@@ -3812,7 +3651,7 @@ const definitions$2 = {
3812
3651
  "triangleRight",
3813
3652
  "triangleBottom",
3814
3653
  "brush",
3815
- "header"
3654
+ "_header"
3816
3655
  ],
3817
3656
  type: "string"
3818
3657
  },
@@ -4191,16 +4030,6 @@ const definitions$2 = {
4191
4030
  experimental: {
4192
4031
  additionalProperties: false,
4193
4032
  properties: {
4194
- mouseEvents: {
4195
- anyOf: [
4196
- {
4197
- type: "boolean"
4198
- },
4199
- {
4200
- $ref: "#/definitions/MouseEventsDeep"
4201
- }
4202
- ]
4203
- },
4204
4033
  performanceMode: {
4205
4034
  "default": false,
4206
4035
  description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
@@ -4236,6 +4065,16 @@ const definitions$2 = {
4236
4065
  mark: {
4237
4066
  $ref: "#/definitions/Mark"
4238
4067
  },
4068
+ mouseEvents: {
4069
+ anyOf: [
4070
+ {
4071
+ type: "boolean"
4072
+ },
4073
+ {
4074
+ $ref: "#/definitions/MouseEventsDeep"
4075
+ }
4076
+ ]
4077
+ },
4239
4078
  opacity: {
4240
4079
  anyOf: [
4241
4080
  {
@@ -4257,9 +4096,6 @@ const definitions$2 = {
4257
4096
  overlayOnPreviousTrack: {
4258
4097
  type: "boolean"
4259
4098
  },
4260
- overrideTemplate: {
4261
- type: "boolean"
4262
- },
4263
4099
  prerelease: {
4264
4100
  additionalProperties: false,
4265
4101
  description: "internal",
@@ -4518,16 +4354,6 @@ const definitions$2 = {
4518
4354
  experimental: {
4519
4355
  additionalProperties: false,
4520
4356
  properties: {
4521
- mouseEvents: {
4522
- anyOf: [
4523
- {
4524
- type: "boolean"
4525
- },
4526
- {
4527
- $ref: "#/definitions/MouseEventsDeep"
4528
- }
4529
- ]
4530
- },
4531
4357
  performanceMode: {
4532
4358
  "default": false,
4533
4359
  description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
@@ -4571,6 +4397,16 @@ const definitions$2 = {
4571
4397
  mark: {
4572
4398
  $ref: "#/definitions/Mark"
4573
4399
  },
4400
+ mouseEvents: {
4401
+ anyOf: [
4402
+ {
4403
+ type: "boolean"
4404
+ },
4405
+ {
4406
+ $ref: "#/definitions/MouseEventsDeep"
4407
+ }
4408
+ ]
4409
+ },
4574
4410
  opacity: {
4575
4411
  anyOf: [
4576
4412
  {
@@ -4592,9 +4428,6 @@ const definitions$2 = {
4592
4428
  overlayOnPreviousTrack: {
4593
4429
  type: "boolean"
4594
4430
  },
4595
- overrideTemplate: {
4596
- type: "boolean"
4597
- },
4598
4431
  prerelease: {
4599
4432
  additionalProperties: false,
4600
4433
  description: "internal",
@@ -4883,16 +4716,6 @@ const definitions$2 = {
4883
4716
  experimental: {
4884
4717
  additionalProperties: false,
4885
4718
  properties: {
4886
- mouseEvents: {
4887
- anyOf: [
4888
- {
4889
- type: "boolean"
4890
- },
4891
- {
4892
- $ref: "#/definitions/MouseEventsDeep"
4893
- }
4894
- ]
4895
- },
4896
4719
  performanceMode: {
4897
4720
  "default": false,
4898
4721
  description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
@@ -4936,6 +4759,16 @@ const definitions$2 = {
4936
4759
  mark: {
4937
4760
  $ref: "#/definitions/Mark"
4938
4761
  },
4762
+ mouseEvents: {
4763
+ anyOf: [
4764
+ {
4765
+ type: "boolean"
4766
+ },
4767
+ {
4768
+ $ref: "#/definitions/MouseEventsDeep"
4769
+ }
4770
+ ]
4771
+ },
4939
4772
  opacity: {
4940
4773
  anyOf: [
4941
4774
  {
@@ -4957,9 +4790,6 @@ const definitions$2 = {
4957
4790
  overlayOnPreviousTrack: {
4958
4791
  type: "boolean"
4959
4792
  },
4960
- overrideTemplate: {
4961
- type: "boolean"
4962
- },
4963
4793
  prerelease: {
4964
4794
  additionalProperties: false,
4965
4795
  description: "internal",
@@ -5266,16 +5096,6 @@ const definitions$2 = {
5266
5096
  experimental: {
5267
5097
  additionalProperties: false,
5268
5098
  properties: {
5269
- mouseEvents: {
5270
- anyOf: [
5271
- {
5272
- type: "boolean"
5273
- },
5274
- {
5275
- $ref: "#/definitions/MouseEventsDeep"
5276
- }
5277
- ]
5278
- },
5279
5099
  performanceMode: {
5280
5100
  "default": false,
5281
5101
  description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
@@ -5311,6 +5131,16 @@ const definitions$2 = {
5311
5131
  mark: {
5312
5132
  $ref: "#/definitions/Mark"
5313
5133
  },
5134
+ mouseEvents: {
5135
+ anyOf: [
5136
+ {
5137
+ type: "boolean"
5138
+ },
5139
+ {
5140
+ $ref: "#/definitions/MouseEventsDeep"
5141
+ }
5142
+ ]
5143
+ },
5314
5144
  opacity: {
5315
5145
  anyOf: [
5316
5146
  {
@@ -5332,9 +5162,6 @@ const definitions$2 = {
5332
5162
  overlayOnPreviousTrack: {
5333
5163
  type: "boolean"
5334
5164
  },
5335
- overrideTemplate: {
5336
- type: "boolean"
5337
- },
5338
5165
  prerelease: {
5339
5166
  additionalProperties: false,
5340
5167
  description: "internal",
@@ -5609,16 +5436,6 @@ const definitions$2 = {
5609
5436
  experimental: {
5610
5437
  additionalProperties: false,
5611
5438
  properties: {
5612
- mouseEvents: {
5613
- anyOf: [
5614
- {
5615
- type: "boolean"
5616
- },
5617
- {
5618
- $ref: "#/definitions/MouseEventsDeep"
5619
- }
5620
- ]
5621
- },
5622
5439
  performanceMode: {
5623
5440
  "default": false,
5624
5441
  description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
@@ -5672,6 +5489,16 @@ const definitions$2 = {
5672
5489
  mark: {
5673
5490
  $ref: "#/definitions/Mark"
5674
5491
  },
5492
+ mouseEvents: {
5493
+ anyOf: [
5494
+ {
5495
+ type: "boolean"
5496
+ },
5497
+ {
5498
+ $ref: "#/definitions/MouseEventsDeep"
5499
+ }
5500
+ ]
5501
+ },
5675
5502
  opacity: {
5676
5503
  anyOf: [
5677
5504
  {
@@ -5693,9 +5520,6 @@ const definitions$2 = {
5693
5520
  overlayOnPreviousTrack: {
5694
5521
  type: "boolean"
5695
5522
  },
5696
- overrideTemplate: {
5697
- type: "boolean"
5698
- },
5699
5523
  prerelease: {
5700
5524
  additionalProperties: false,
5701
5525
  description: "internal",
@@ -6163,16 +5987,6 @@ const definitions$2 = {
6163
5987
  experimental: {
6164
5988
  additionalProperties: false,
6165
5989
  properties: {
6166
- mouseEvents: {
6167
- anyOf: [
6168
- {
6169
- type: "boolean"
6170
- },
6171
- {
6172
- $ref: "#/definitions/MouseEventsDeep"
6173
- }
6174
- ]
6175
- },
6176
5990
  performanceMode: {
6177
5991
  "default": false,
6178
5992
  description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
@@ -6216,6 +6030,16 @@ const definitions$2 = {
6216
6030
  mark: {
6217
6031
  $ref: "#/definitions/Mark"
6218
6032
  },
6033
+ mouseEvents: {
6034
+ anyOf: [
6035
+ {
6036
+ type: "boolean"
6037
+ },
6038
+ {
6039
+ $ref: "#/definitions/MouseEventsDeep"
6040
+ }
6041
+ ]
6042
+ },
6219
6043
  opacity: {
6220
6044
  anyOf: [
6221
6045
  {
@@ -6237,9 +6061,6 @@ const definitions$2 = {
6237
6061
  overlayOnPreviousTrack: {
6238
6062
  type: "boolean"
6239
6063
  },
6240
- overrideTemplate: {
6241
- type: "boolean"
6242
- },
6243
6064
  prerelease: {
6244
6065
  additionalProperties: false,
6245
6066
  description: "internal",
@@ -6531,16 +6352,6 @@ const definitions$2 = {
6531
6352
  experimental: {
6532
6353
  additionalProperties: false,
6533
6354
  properties: {
6534
- mouseEvents: {
6535
- anyOf: [
6536
- {
6537
- type: "boolean"
6538
- },
6539
- {
6540
- $ref: "#/definitions/MouseEventsDeep"
6541
- }
6542
- ]
6543
- },
6544
6355
  performanceMode: {
6545
6356
  "default": false,
6546
6357
  description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
@@ -6584,6 +6395,16 @@ const definitions$2 = {
6584
6395
  mark: {
6585
6396
  $ref: "#/definitions/Mark"
6586
6397
  },
6398
+ mouseEvents: {
6399
+ anyOf: [
6400
+ {
6401
+ type: "boolean"
6402
+ },
6403
+ {
6404
+ $ref: "#/definitions/MouseEventsDeep"
6405
+ }
6406
+ ]
6407
+ },
6587
6408
  opacity: {
6588
6409
  anyOf: [
6589
6410
  {
@@ -6605,9 +6426,6 @@ const definitions$2 = {
6605
6426
  overlayOnPreviousTrack: {
6606
6427
  type: "boolean"
6607
6428
  },
6608
- overrideTemplate: {
6609
- type: "boolean"
6610
- },
6611
6429
  prerelease: {
6612
6430
  additionalProperties: false,
6613
6431
  description: "internal",
@@ -6688,16 +6506,6 @@ const definitions$2 = {
6688
6506
  experimental: {
6689
6507
  additionalProperties: false,
6690
6508
  properties: {
6691
- mouseEvents: {
6692
- anyOf: [
6693
- {
6694
- type: "boolean"
6695
- },
6696
- {
6697
- $ref: "#/definitions/MouseEventsDeep"
6698
- }
6699
- ]
6700
- },
6701
6509
  performanceMode: {
6702
6510
  "default": false,
6703
6511
  description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
@@ -6741,6 +6549,16 @@ const definitions$2 = {
6741
6549
  mark: {
6742
6550
  $ref: "#/definitions/Mark"
6743
6551
  },
6552
+ mouseEvents: {
6553
+ anyOf: [
6554
+ {
6555
+ type: "boolean"
6556
+ },
6557
+ {
6558
+ $ref: "#/definitions/MouseEventsDeep"
6559
+ }
6560
+ ]
6561
+ },
6744
6562
  opacity: {
6745
6563
  anyOf: [
6746
6564
  {
@@ -6762,9 +6580,6 @@ const definitions$2 = {
6762
6580
  overlayOnPreviousTrack: {
6763
6581
  type: "boolean"
6764
6582
  },
6765
- overrideTemplate: {
6766
- type: "boolean"
6767
- },
6768
6583
  prerelease: {
6769
6584
  additionalProperties: false,
6770
6585
  description: "internal",
@@ -7310,16 +7125,6 @@ const definitions$2 = {
7310
7125
  experimental: {
7311
7126
  additionalProperties: false,
7312
7127
  properties: {
7313
- mouseEvents: {
7314
- anyOf: [
7315
- {
7316
- type: "boolean"
7317
- },
7318
- {
7319
- $ref: "#/definitions/MouseEventsDeep"
7320
- }
7321
- ]
7322
- },
7323
7128
  performanceMode: {
7324
7129
  "default": false,
7325
7130
  description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
@@ -7363,6 +7168,16 @@ const definitions$2 = {
7363
7168
  mark: {
7364
7169
  $ref: "#/definitions/Mark"
7365
7170
  },
7171
+ mouseEvents: {
7172
+ anyOf: [
7173
+ {
7174
+ type: "boolean"
7175
+ },
7176
+ {
7177
+ $ref: "#/definitions/MouseEventsDeep"
7178
+ }
7179
+ ]
7180
+ },
7366
7181
  opacity: {
7367
7182
  anyOf: [
7368
7183
  {
@@ -7384,9 +7199,6 @@ const definitions$2 = {
7384
7199
  overlayOnPreviousTrack: {
7385
7200
  type: "boolean"
7386
7201
  },
7387
- overrideTemplate: {
7388
- type: "boolean"
7389
- },
7390
7202
  prerelease: {
7391
7203
  additionalProperties: false,
7392
7204
  description: "internal",
@@ -7467,16 +7279,6 @@ const definitions$2 = {
7467
7279
  experimental: {
7468
7280
  additionalProperties: false,
7469
7281
  properties: {
7470
- mouseEvents: {
7471
- anyOf: [
7472
- {
7473
- type: "boolean"
7474
- },
7475
- {
7476
- $ref: "#/definitions/MouseEventsDeep"
7477
- }
7478
- ]
7479
- },
7480
7282
  performanceMode: {
7481
7283
  "default": false,
7482
7284
  description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
@@ -7520,6 +7322,16 @@ const definitions$2 = {
7520
7322
  mark: {
7521
7323
  $ref: "#/definitions/Mark"
7522
7324
  },
7325
+ mouseEvents: {
7326
+ anyOf: [
7327
+ {
7328
+ type: "boolean"
7329
+ },
7330
+ {
7331
+ $ref: "#/definitions/MouseEventsDeep"
7332
+ }
7333
+ ]
7334
+ },
7523
7335
  opacity: {
7524
7336
  anyOf: [
7525
7337
  {
@@ -7541,9 +7353,6 @@ const definitions$2 = {
7541
7353
  overlayOnPreviousTrack: {
7542
7354
  type: "boolean"
7543
7355
  },
7544
- overrideTemplate: {
7545
- type: "boolean"
7546
- },
7547
7356
  prerelease: {
7548
7357
  additionalProperties: false,
7549
7358
  description: "internal",
@@ -8142,16 +7951,6 @@ const definitions$2 = {
8142
7951
  experimental: {
8143
7952
  additionalProperties: false,
8144
7953
  properties: {
8145
- mouseEvents: {
8146
- anyOf: [
8147
- {
8148
- type: "boolean"
8149
- },
8150
- {
8151
- $ref: "#/definitions/MouseEventsDeep"
8152
- }
8153
- ]
8154
- },
8155
7954
  performanceMode: {
8156
7955
  "default": false,
8157
7956
  description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
@@ -8195,6 +7994,16 @@ const definitions$2 = {
8195
7994
  mark: {
8196
7995
  $ref: "#/definitions/Mark"
8197
7996
  },
7997
+ mouseEvents: {
7998
+ anyOf: [
7999
+ {
8000
+ type: "boolean"
8001
+ },
8002
+ {
8003
+ $ref: "#/definitions/MouseEventsDeep"
8004
+ }
8005
+ ]
8006
+ },
8198
8007
  opacity: {
8199
8008
  anyOf: [
8200
8009
  {
@@ -8216,9 +8025,6 @@ const definitions$2 = {
8216
8025
  overlayOnPreviousTrack: {
8217
8026
  type: "boolean"
8218
8027
  },
8219
- overrideTemplate: {
8220
- type: "boolean"
8221
- },
8222
8028
  prerelease: {
8223
8029
  additionalProperties: false,
8224
8030
  description: "internal",
@@ -9230,9 +9036,6 @@ const definitions$2 = {
9230
9036
  {
9231
9037
  $ref: "#/definitions/OverlaidTrack"
9232
9038
  },
9233
- {
9234
- $ref: "#/definitions/DataTrack"
9235
- },
9236
9039
  {
9237
9040
  $ref: "#/definitions/TemplateTrack"
9238
9041
  },
@@ -10219,6 +10022,9 @@ function replaceTrackTemplates(spec, templates) {
10219
10022
  if ("encoding" in viewBase) {
10220
10023
  delete viewBase.encoding;
10221
10024
  }
10025
+ if ("template" in viewBase) {
10026
+ delete viewBase.template;
10027
+ }
10222
10028
  const convertedView = {
10223
10029
  ...viewBase,
10224
10030
  alignment: "overlay",
@@ -24450,7 +24256,8 @@ const factory$1 = (HGC, context, options) => {
24450
24256
  __privateAdd(this, _onMouseUp);
24451
24257
  __privateAdd(this, _onMouseOut);
24452
24258
  /**
24453
- * From all tiles and overlaid tracks, collect element(s) that are withing a mouse position.
24259
+ * From all tiles and overlaid tracks, collect element(s) that are within a mouse position.
24260
+ * In the array, the first element is the element that is directly within the mouse position.
24454
24261
  */
24455
24262
  __privateAdd(this, _getElementsWithinMouse);
24456
24263
  /**
@@ -25156,7 +24963,7 @@ const factory$1 = (HGC, context, options) => {
25156
24963
  * Called by showHoverMenu() in HiGlassComponent
25157
24964
  */
25158
24965
  getMouseOverHtml(mouseX, mouseY) {
25159
- var _a, _b, _c, _d, _e;
24966
+ var _a, _b, _c, _d;
25160
24967
  __privateMethod(this, _publishTrackEvents, publishTrackEvents_fn).call(this, "trackMouseOver", mouseX, mouseY);
25161
24968
  if (__privateGet(this, _isRangeBrushActivated)) {
25162
24969
  return "";
@@ -25173,15 +24980,15 @@ const factory$1 = (HGC, context, options) => {
25173
24980
  document.body.style.cursor = "default";
25174
24981
  }
25175
24982
  if (capturedElements.length !== 0) {
25176
- const mouseEvents = (_a = this.options.spec.experimental) == null ? void 0 : _a.mouseEvents;
24983
+ const mouseEvents = this.options.spec.mouseEvents;
25177
24984
  const mouseOverEnabled = !!mouseEvents || IsMouseEventsDeep(mouseEvents) && !!mouseEvents.mouseOver;
25178
24985
  if (mouseOverEnabled) {
25179
24986
  const g = this.pMouseHover;
25180
- if (((_c = (_b = this.options.spec.style) == null ? void 0 : _b.mouseOver) == null ? void 0 : _c.arrange) !== "behind") {
24987
+ if (((_b = (_a = this.options.spec.style) == null ? void 0 : _a.mouseOver) == null ? void 0 : _b.arrange) !== "behind") {
25181
24988
  this.pMain.removeChild(g);
25182
24989
  this.pMain.addChild(g);
25183
24990
  }
25184
- __privateMethod(this, _highlightMarks, highlightMarks_fn).call(this, g, capturedElements, Object.assign({}, DEFAULT_MOUSE_EVENT_STYLE, (_d = this.options.spec.style) == null ? void 0 : _d.mouseOver));
24991
+ __privateMethod(this, _highlightMarks, highlightMarks_fn).call(this, g, capturedElements, Object.assign({}, DEFAULT_MOUSE_EVENT_STYLE, (_c = this.options.spec.style) == null ? void 0 : _c.mouseOver));
25185
24992
  publish("mouseOver", {
25186
24993
  id: context.viewUid,
25187
24994
  genomicPosition,
@@ -25189,10 +24996,10 @@ const factory$1 = (HGC, context, options) => {
25189
24996
  });
25190
24997
  }
25191
24998
  const models = this.visibleAndFetchedGoslingModels();
25192
- const firstTooltipSpec = (_e = models.find((m2) => {
24999
+ const firstTooltipSpec = (_d = models.find((m2) => {
25193
25000
  var _a2;
25194
25001
  return m2.spec().tooltip && ((_a2 = m2.spec().tooltip) == null ? void 0 : _a2.length) !== 0;
25195
- })) == null ? void 0 : _e.spec().tooltip;
25002
+ })) == null ? void 0 : _d.spec().tooltip;
25196
25003
  if (firstTooltipSpec) {
25197
25004
  let content = firstTooltipSpec.map((d) => {
25198
25005
  var _a2;
@@ -25207,9 +25014,6 @@ const factory$1 = (HGC, context, options) => {
25207
25014
  return `<tr><td style='padding: 4px 8px'>${(_a2 = d.alt) != null ? _a2 : d.field}</td><td style='padding: 4px 8px'><b>${value}</b></td></tr>`;
25208
25015
  }).join("");
25209
25016
  content = `<table style='text-align: left; margin-top: 12px'>${content}</table>`;
25210
- if (capturedElements.length > 1) {
25211
- content += `<div style='padding: 4px 8px; margin-top: 4px; text-align: center; color: grey'>${capturedElements.length - 1} Additional Selections...</div>`;
25212
- }
25213
25017
  return `<div>${content}</div>`;
25214
25018
  }
25215
25019
  }
@@ -25364,10 +25168,9 @@ const factory$1 = (HGC, context, options) => {
25364
25168
  };
25365
25169
  _onMouseDown = new WeakSet();
25366
25170
  onMouseDown_fn = function(mouseX, mouseY, isAltPressed) {
25367
- var _a;
25368
25171
  __privateSet(this, _mouseDownX, mouseX);
25369
25172
  __privateSet(this, _mouseDownY, mouseY);
25370
- const mouseEvents = (_a = this.options.spec.experimental) == null ? void 0 : _a.mouseEvents;
25173
+ const mouseEvents = this.options.spec.mouseEvents;
25371
25174
  const rangeSelectEnabled = !!mouseEvents || IsMouseEventsDeep(mouseEvents) && !!mouseEvents.rangeSelect;
25372
25175
  __privateSet(this, _isRangeBrushActivated, rangeSelectEnabled && isAltPressed);
25373
25176
  this.pMouseHover.clear();
@@ -25383,9 +25186,8 @@ const factory$1 = (HGC, context, options) => {
25383
25186
  };
25384
25187
  _onMouseUp = new WeakSet();
25385
25188
  onMouseUp_fn = function(mouseX, mouseY) {
25386
- var _a;
25387
25189
  __privateMethod(this, _publishTrackEvents, publishTrackEvents_fn).call(this, "trackClick", mouseX, mouseY);
25388
- const mouseEvents = (_a = this.options.spec.experimental) == null ? void 0 : _a.mouseEvents;
25190
+ const mouseEvents = this.options.spec.mouseEvents;
25389
25191
  const clickEnabled = !!mouseEvents || IsMouseEventsDeep(mouseEvents) && !!mouseEvents.click;
25390
25192
  const isDrag = Math.sqrt((__privateGet(this, _mouseDownX) - mouseX) ** 2 + (__privateGet(this, _mouseDownY) - mouseY) ** 2) > 1;
25391
25193
  if (!__privateGet(this, _isRangeBrushActivated) && !isDrag) {
@@ -25423,9 +25225,8 @@ const factory$1 = (HGC, context, options) => {
25423
25225
  };
25424
25226
  _getElementsWithinMouse = new WeakSet();
25425
25227
  getElementsWithinMouse_fn = function(mouseX, mouseY) {
25426
- var _a;
25427
25228
  const models = this.visibleAndFetchedGoslingModels();
25428
- const mouseEvents = (_a = this.options.spec.experimental) == null ? void 0 : _a.mouseEvents;
25229
+ const mouseEvents = this.options.spec.mouseEvents;
25429
25230
  const multiHovering = IsMouseEventsDeep(mouseEvents) && mouseEvents.enableMouseOverOnMultipleMarks;
25430
25231
  const idField = IsMouseEventsDeep(mouseEvents) && mouseEvents.groupMarksByField;
25431
25232
  const mergedCapturedElements = models.map((model) => model.getMouseEventModel().findAll(mouseX, mouseY, true)).flat();
@@ -25474,7 +25275,7 @@ const factory$1 = (HGC, context, options) => {
25474
25275
  };
25475
25276
  _onRangeBrush = new WeakSet();
25476
25277
  onRangeBrush_fn = function(range, skipApiTrigger = false) {
25477
- var _a, _b, _c, _d;
25278
+ var _a, _b, _c;
25478
25279
  this.pMouseSelection.clear();
25479
25280
  if (range === null) {
25480
25281
  if (!skipApiTrigger) {
@@ -25485,7 +25286,7 @@ const factory$1 = (HGC, context, options) => {
25485
25286
  const models = this.visibleAndFetchedGoslingModels();
25486
25287
  const [startX, endX] = range;
25487
25288
  let capturedElements = models.map((model) => model.getMouseEventModel().findAllWithinRange(startX, endX, true)).flat();
25488
- const mouseEvents = (_a = this.options.spec.experimental) == null ? void 0 : _a.mouseEvents;
25289
+ const mouseEvents = this.options.spec.mouseEvents;
25489
25290
  const idField = IsMouseEventsDeep(mouseEvents) && mouseEvents.groupMarksByField;
25490
25291
  if (capturedElements.length !== 0 && idField) {
25491
25292
  models.forEach((model) => {
@@ -25496,11 +25297,11 @@ const factory$1 = (HGC, context, options) => {
25496
25297
  }
25497
25298
  if (capturedElements.length !== 0) {
25498
25299
  const g = this.pMouseSelection;
25499
- if (((_c = (_b = this.options.spec.style) == null ? void 0 : _b.select) == null ? void 0 : _c.arrange) !== "behind") {
25300
+ if (((_b = (_a = this.options.spec.style) == null ? void 0 : _a.select) == null ? void 0 : _b.arrange) !== "behind") {
25500
25301
  this.pMain.removeChild(g);
25501
25302
  this.pMain.addChild(g);
25502
25303
  }
25503
- __privateMethod(this, _highlightMarks, highlightMarks_fn).call(this, g, capturedElements, Object.assign({}, DEFAULT_MOUSE_EVENT_STYLE, (_d = this.options.spec.style) == null ? void 0 : _d.select));
25304
+ __privateMethod(this, _highlightMarks, highlightMarks_fn).call(this, g, capturedElements, Object.assign({}, DEFAULT_MOUSE_EVENT_STYLE, (_c = this.options.spec.style) == null ? void 0 : _c.select));
25504
25305
  }
25505
25306
  if (!skipApiTrigger) {
25506
25307
  const genomicRange = [
@@ -25546,7 +25347,7 @@ const factory$1 = (HGC, context, options) => {
25546
25347
  };
25547
25348
  _hasStretchableGraphics = new WeakSet();
25548
25349
  hasStretchableGraphics_fn = function() {
25549
- var _a, _b;
25350
+ var _a;
25550
25351
  const hasStretchOption = (_a = this.options.spec.experimental) == null ? void 0 : _a.stretchGraphics;
25551
25352
  if (hasStretchOption === true) {
25552
25353
  return true;
@@ -25560,7 +25361,7 @@ const factory$1 = (HGC, context, options) => {
25560
25361
  (acc, spec) => acc && stretchableMarks.includes(spec.mark),
25561
25362
  true
25562
25363
  );
25563
- const noMouseInteractions = !((_b = this.options.spec.experimental) == null ? void 0 : _b.mouseEvents);
25364
+ const noMouseInteractions = !this.options.spec.mouseEvents;
25564
25365
  return isFirstTrack1D && isNotCircularLayout && hasStretchableMark && noMouseInteractions;
25565
25366
  };
25566
25367
  _isTooStretched = new WeakSet();
@@ -25882,7 +25683,7 @@ function getNumOfYAxes(tracks) {
25882
25683
  const getTextTrack = (size, title, subtitle) => {
25883
25684
  return JSON.parse(
25884
25685
  JSON.stringify({
25885
- mark: "header",
25686
+ mark: "_header",
25886
25687
  width: size.width,
25887
25688
  height: size.height,
25888
25689
  title,
@@ -26046,7 +25847,7 @@ function goslingToHiGlass(hgModel, gosTrack, bb, layout, theme, idMapper, urlToF
26046
25847
  }
26047
25848
  });
26048
25849
  hgModel.validateSpec(true);
26049
- } else if (firstResolvedSpec.mark === "header") {
25850
+ } else if (firstResolvedSpec.mark === "_header") {
26050
25851
  hgModel.addDefaultView(`${trackId}-title`).setLayout(layout);
26051
25852
  if (typeof firstResolvedSpec.title === "string") {
26052
25853
  hgModel.setTextTrack(
@@ -26331,7 +26132,6 @@ function isSelectResponsiveSpec(conditions, assignedDimensions, parentDimensions
26331
26132
  function compile(spec, callback, templates, theme, containerStatus, urlToFetchOptions) {
26332
26133
  var _a, _b;
26333
26134
  const specCopy = JSON.parse(JSON.stringify(spec));
26334
- overrideDataTemplates(specCopy);
26335
26135
  replaceTrackTemplates(specCopy, templates);
26336
26136
  traverseToFixSpecDownstream(specCopy);
26337
26137
  const trackInfosAndSize = getRelativeTrackInfo(specCopy, theme);
@@ -26348,10 +26148,6 @@ function compile(spec, callback, templates, theme, containerStatus, urlToFetchOp
26348
26148
  traverseToFixSpecDownstream(specCopy);
26349
26149
  trackInfos = getRelativeTrackInfo(specCopy, theme).trackInfos;
26350
26150
  }
26351
- publish("specProcessed", {
26352
- id: specCopy.id,
26353
- spec: specCopy
26354
- });
26355
26151
  renderHiGlass(specCopy, trackInfos, callback, theme, urlToFetchOptions);
26356
26152
  }
26357
26153
  init();
@@ -26594,6 +26390,7 @@ const preverseZoomStatus = (newSpec, prevSpec) => {
26594
26390
  const DELAY_FOR_CONTAINER_RESIZE_BEFORE_RERENDER = 300;
26595
26391
  const GoslingComponent = forwardRef((props, ref) => {
26596
26392
  var _a, _b, _c;
26393
+ const { reactive = true } = props;
26597
26394
  const [viewConfig, setViewConfig] = useState();
26598
26395
  const [isInitialRender, setIsInitialRender] = useState(true);
26599
26396
  const [size, setSize] = useState({ width: 200, height: 200 });
@@ -26636,21 +26433,21 @@ const GoslingComponent = forwardRef((props, ref) => {
26636
26433
  compile(
26637
26434
  spec,
26638
26435
  (newHiGlassSpec, newSize, newGoslingSpec, newTracksAndViews, newIdTable) => {
26639
- var _a2, _b2;
26436
+ var _a2;
26640
26437
  if (prevSpec.current && isEqual(omitDeep(prevSpec.current, ["linkingId"]), omitDeep(newGoslingSpec, ["linkingId"]))) {
26641
26438
  return;
26642
26439
  }
26643
26440
  (_a2 = props.compiled) == null ? void 0 : _a2.call(props, spec, newHiGlassSpec, { _processedSpec: newGoslingSpec });
26644
26441
  setSize(newSize);
26645
26442
  const isMountedOnce = typeof viewConfig !== "undefined";
26646
- if (((_b2 = props.experimental) == null ? void 0 : _b2.reactive) && isMountedOnce) {
26443
+ if (reactive && isMountedOnce) {
26647
26444
  setTimeout(() => {
26648
- var _a3, _b3;
26445
+ var _a3, _b2;
26649
26446
  preverseZoomStatus(
26650
26447
  newHiGlassSpec,
26651
26448
  (_a3 = hgRef.current) == null ? void 0 : _a3.api.getViewConfig()
26652
26449
  );
26653
- (_b3 = hgRef.current) == null ? void 0 : _b3.api.setViewConfig(newHiGlassSpec);
26450
+ (_b2 = hgRef.current) == null ? void 0 : _b2.api.setViewConfig(newHiGlassSpec);
26654
26451
  }, DELAY_FOR_CONTAINER_RESIZE_BEFORE_RERENDER);
26655
26452
  } else {
26656
26453
  setViewConfig(newHiGlassSpec);