@d3plus/core 3.0.14 → 3.0.16

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/README.md CHANGED
@@ -1645,13 +1645,16 @@ This is a global class, and extends all of the methods and functionality of [<co
1645
1645
  * [Sankey](#Sankey) ⇐ [<code>Viz</code>](#Viz)
1646
1646
  * [new Sankey()](#new_Sankey_new)
1647
1647
  * [.hover([*value*])](#Sankey.hover) ↩︎
1648
+ * [.iterations([*value*])](#Sankey.iterations) ↩︎
1648
1649
  * [.links(*links*)](#Sankey.links) ↩︎
1650
+ * [.linkSort([*value*])](#Sankey.linkSort) ↩︎
1649
1651
  * [.linksSource([*value*])](#Sankey.linksSource) ↩︎
1650
1652
  * [.linksTarget([*value*])](#Sankey.linksTarget) ↩︎
1651
1653
  * [.nodeAlign([*value*])](#Sankey.nodeAlign) ↩︎
1652
1654
  * [.nodeId([*value*])](#Sankey.nodeId) ↩︎
1653
1655
  * [.nodes(*nodes*)](#Sankey.nodes) ↩︎
1654
1656
  * [.nodePadding([*value*])](#Sankey.nodePadding) ↩︎
1657
+ * [.nodeSort([*value*])](#Sankey.nodeSort) ↩︎
1655
1658
  * [.nodeWidth([*value*])](#Sankey.nodeWidth) ↩︎
1656
1659
  * [.value(*value*)](#Sankey.value)
1657
1660
 
@@ -1664,7 +1667,7 @@ Creates a sankey visualization based on a defined set of nodes and links. [Click
1664
1667
 
1665
1668
 
1666
1669
 
1667
- <a name="Sankey.hover" href="#Sankey.hover">#</a> Sankey.**hover**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/charts/Sankey.js#L215)
1670
+ <a name="Sankey.hover" href="#Sankey.hover">#</a> Sankey.**hover**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/charts/Sankey.js#L231)
1668
1671
 
1669
1672
  If *value* is specified, sets the hover method to the specified function and returns the current class instance.
1670
1673
 
@@ -1672,7 +1675,15 @@ If *value* is specified, sets the hover method to the specified function and ret
1672
1675
  This is a static method of [<code>Sankey</code>](#Sankey), and is chainable with other methods of this Class.
1673
1676
 
1674
1677
 
1675
- <a name="Sankey.links" href="#Sankey.links">#</a> Sankey.**links**(*links*) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/charts/Sankey.js#L232)
1678
+ <a name="Sankey.iterations" href="#Sankey.iterations">#</a> Sankey.**iterations**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/charts/Sankey.js#L245)
1679
+
1680
+ A pass-through for the d3-sankey [iterations](https://github.com/d3/d3-sankey?tab=readme-ov-file#sankey_iterations) function.
1681
+
1682
+
1683
+ This is a static method of [<code>Sankey</code>](#Sankey), and is chainable with other methods of this Class.
1684
+
1685
+
1686
+ <a name="Sankey.links" href="#Sankey.links">#</a> Sankey.**links**(*links*) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/charts/Sankey.js#L258)
1676
1687
 
1677
1688
  A predefined *Array* of edges that connect each object passed to the [node](#Sankey.node) method. The `source` and `target` keys in each link need to map to the nodes in one of one way:
1678
1689
  1. A *String* value matching the `id` of the node.
@@ -1683,7 +1694,15 @@ The value passed should be an *Array* of data. An optional formatting function c
1683
1694
  This is a static method of [<code>Sankey</code>](#Sankey), and is chainable with other methods of this Class.
1684
1695
 
1685
1696
 
1686
- <a name="Sankey.linksSource" href="#Sankey.linksSource">#</a> Sankey.**linksSource**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/charts/Sankey.js#L246)
1697
+ <a name="Sankey.linkSort" href="#Sankey.linkSort">#</a> Sankey.**linkSort**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/charts/Sankey.js#L272)
1698
+
1699
+ A pass-through for the d3-sankey [linkSort](https://github.com/d3/d3-sankey?tab=readme-ov-file#sankey_linkSort) function.
1700
+
1701
+
1702
+ This is a static method of [<code>Sankey</code>](#Sankey), and is chainable with other methods of this Class.
1703
+
1704
+
1705
+ <a name="Sankey.linksSource" href="#Sankey.linksSource">#</a> Sankey.**linksSource**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/charts/Sankey.js#L282)
1687
1706
 
1688
1707
  The key inside of each link Object that references the source node.
1689
1708
 
@@ -1691,7 +1710,7 @@ The key inside of each link Object that references the source node.
1691
1710
  This is a static method of [<code>Sankey</code>](#Sankey), and is chainable with other methods of this Class.
1692
1711
 
1693
1712
 
1694
- <a name="Sankey.linksTarget" href="#Sankey.linksTarget">#</a> Sankey.**linksTarget**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/charts/Sankey.js#L256)
1713
+ <a name="Sankey.linksTarget" href="#Sankey.linksTarget">#</a> Sankey.**linksTarget**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/charts/Sankey.js#L294)
1695
1714
 
1696
1715
  The key inside of each link Object that references the target node.
1697
1716
 
@@ -1699,7 +1718,7 @@ The key inside of each link Object that references the target node.
1699
1718
  This is a static method of [<code>Sankey</code>](#Sankey), and is chainable with other methods of this Class.
1700
1719
 
1701
1720
 
1702
- <a name="Sankey.nodeAlign" href="#Sankey.nodeAlign">#</a> Sankey.**nodeAlign**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/charts/Sankey.js#L266)
1721
+ <a name="Sankey.nodeAlign" href="#Sankey.nodeAlign">#</a> Sankey.**nodeAlign**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/charts/Sankey.js#L306)
1703
1722
 
1704
1723
  Sets the nodeAlign property of the sankey layout, which can either be "left", "right", "center", or "justify".
1705
1724
 
@@ -1707,7 +1726,7 @@ Sets the nodeAlign property of the sankey layout, which can either be "left", "r
1707
1726
  This is a static method of [<code>Sankey</code>](#Sankey), and is chainable with other methods of this Class.
1708
1727
 
1709
1728
 
1710
- <a name="Sankey.nodeId" href="#Sankey.nodeId">#</a> Sankey.**nodeId**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/charts/Sankey.js#L278)
1729
+ <a name="Sankey.nodeId" href="#Sankey.nodeId">#</a> Sankey.**nodeId**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/charts/Sankey.js#L319)
1711
1730
 
1712
1731
  If *value* is specified, sets the node id accessor(s) to the specified array of values and returns the current class instance. If *value* is not specified, returns the current node group accessor.
1713
1732
 
@@ -1715,7 +1734,7 @@ If *value* is specified, sets the node id accessor(s) to the specified array of
1715
1734
  This is a static method of [<code>Sankey</code>](#Sankey), and is chainable with other methods of this Class.
1716
1735
 
1717
1736
 
1718
- <a name="Sankey.nodes" href="#Sankey.nodes">#</a> Sankey.**nodes**(*nodes*) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/charts/Sankey.js#L292)
1737
+ <a name="Sankey.nodes" href="#Sankey.nodes">#</a> Sankey.**nodes**(*nodes*) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/charts/Sankey.js#L333)
1719
1738
 
1720
1739
  The list of nodes to be used for drawing the network. The value passed must be an *Array* of data.
1721
1740
 
@@ -1725,7 +1744,7 @@ Additionally, a custom formatting function can be passed as a second argument to
1725
1744
  This is a static method of [<code>Sankey</code>](#Sankey), and is chainable with other methods of this Class.
1726
1745
 
1727
1746
 
1728
- <a name="Sankey.nodePadding" href="#Sankey.nodePadding">#</a> Sankey.**nodePadding**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/charts/Sankey.js#L306)
1747
+ <a name="Sankey.nodePadding" href="#Sankey.nodePadding">#</a> Sankey.**nodePadding**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/charts/Sankey.js#L347)
1729
1748
 
1730
1749
  If *value* is specified, sets the padding of the node and returns the current class instance. If *value* is not specified, returns the current nodePadding. By default, the nodePadding size is 8.
1731
1750
 
@@ -1733,7 +1752,15 @@ If *value* is specified, sets the padding of the node and returns the current cl
1733
1752
  This is a static method of [<code>Sankey</code>](#Sankey), and is chainable with other methods of this Class.
1734
1753
 
1735
1754
 
1736
- <a name="Sankey.nodeWidth" href="#Sankey.nodeWidth">#</a> Sankey.**nodeWidth**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/charts/Sankey.js#L317)
1755
+ <a name="Sankey.nodeSort" href="#Sankey.nodeSort">#</a> Sankey.**nodeSort**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/charts/Sankey.js#L359)
1756
+
1757
+ A pass-through for the d3-sankey [nodeSort](https://github.com/d3/d3-sankey?tab=readme-ov-file#sankey_nodeSort) function.
1758
+
1759
+
1760
+ This is a static method of [<code>Sankey</code>](#Sankey), and is chainable with other methods of this Class.
1761
+
1762
+
1763
+ <a name="Sankey.nodeWidth" href="#Sankey.nodeWidth">#</a> Sankey.**nodeWidth**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/charts/Sankey.js#L369)
1737
1764
 
1738
1765
  If *value* is specified, sets the width of the node and returns the current class instance. If *value* is not specified, returns the current nodeWidth. By default, the nodeWidth size is 30.
1739
1766
 
@@ -1741,7 +1768,7 @@ If *value* is specified, sets the width of the node and returns the current clas
1741
1768
  This is a static method of [<code>Sankey</code>](#Sankey), and is chainable with other methods of this Class.
1742
1769
 
1743
1770
 
1744
- <a name="Sankey.value" href="#Sankey.value">#</a> Sankey.**value**(*value*) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/charts/Sankey.js#L330)
1771
+ <a name="Sankey.value" href="#Sankey.value">#</a> Sankey.**value**(*value*) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/charts/Sankey.js#L382)
1745
1772
 
1746
1773
  If *value* is specified, sets the width of the links and returns the current class instance. If *value* is not specified, returns the current value accessor.
1747
1774
 
@@ -5468,7 +5495,7 @@ An abstracted class for generating shapes.
5468
5495
 
5469
5496
 
5470
5497
 
5471
- <a name="Shape.render" href="#Shape.render">#</a> Shape.**render**([*callback*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L568)
5498
+ <a name="Shape.render" href="#Shape.render">#</a> Shape.**render**([*callback*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L567)
5472
5499
 
5473
5500
  Renders the current Shape to the page. If a *callback* is specified, it will be called once the shapes are done drawing.
5474
5501
 
@@ -5476,7 +5503,7 @@ Renders the current Shape to the page. If a *callback* is specified, it will be
5476
5503
  This is a static method of [<code>Shape</code>](#Shape), and is chainable with other methods of this Class.
5477
5504
 
5478
5505
 
5479
- <a name="Shape.active" href="#Shape.active">#</a> Shape.**active**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L732)
5506
+ <a name="Shape.active" href="#Shape.active">#</a> Shape.**active**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L731)
5480
5507
 
5481
5508
  If *value* is specified, sets the highlight accessor to the specified function and returns the current class instance.
5482
5509
 
@@ -5484,7 +5511,7 @@ If *value* is specified, sets the highlight accessor to the specified function a
5484
5511
  This is a static method of [<code>Shape</code>](#Shape), and is chainable with other methods of this Class.
5485
5512
 
5486
5513
 
5487
- <a name="Shape.activeOpacity" href="#Shape.activeOpacity">#</a> Shape.**activeOpacity**(*value*) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L751)
5514
+ <a name="Shape.activeOpacity" href="#Shape.activeOpacity">#</a> Shape.**activeOpacity**(*value*) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L750)
5488
5515
 
5489
5516
  When shapes are active, this is the opacity of any shape that is not active.
5490
5517
 
@@ -5492,7 +5519,7 @@ When shapes are active, this is the opacity of any shape that is not active.
5492
5519
  This is a static method of [<code>Shape</code>](#Shape), and is chainable with other methods of this Class.
5493
5520
 
5494
5521
 
5495
- <a name="Shape.activeStyle" href="#Shape.activeStyle">#</a> Shape.**activeStyle**(*value*) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L761)
5522
+ <a name="Shape.activeStyle" href="#Shape.activeStyle">#</a> Shape.**activeStyle**(*value*) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L760)
5496
5523
 
5497
5524
  The style to apply to active shapes.
5498
5525
 
@@ -5500,7 +5527,7 @@ The style to apply to active shapes.
5500
5527
  This is a static method of [<code>Shape</code>](#Shape), and is chainable with other methods of this Class.
5501
5528
 
5502
5529
 
5503
- <a name="Shape.ariaLabel" href="#Shape.ariaLabel">#</a> Shape.**ariaLabel**(*value*) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L771)
5530
+ <a name="Shape.ariaLabel" href="#Shape.ariaLabel">#</a> Shape.**ariaLabel**(*value*) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L770)
5504
5531
 
5505
5532
  If *value* is specified, sets the aria-label attribute to the specified function or string and returns the current class instance.
5506
5533
 
@@ -5508,7 +5535,7 @@ If *value* is specified, sets the aria-label attribute to the specified function
5508
5535
  This is a static method of [<code>Shape</code>](#Shape), and is chainable with other methods of this Class.
5509
5536
 
5510
5537
 
5511
- <a name="Shape.backgroundImage" href="#Shape.backgroundImage">#</a> Shape.**backgroundImage**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L783)
5538
+ <a name="Shape.backgroundImage" href="#Shape.backgroundImage">#</a> Shape.**backgroundImage**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L782)
5512
5539
 
5513
5540
  If *value* is specified, sets the background-image accessor to the specified function or string and returns the current class instance.
5514
5541
 
@@ -5516,7 +5543,7 @@ If *value* is specified, sets the background-image accessor to the specified fun
5516
5543
  This is a static method of [<code>Shape</code>](#Shape), and is chainable with other methods of this Class.
5517
5544
 
5518
5545
 
5519
- <a name="Shape.data" href="#Shape.data">#</a> Shape.**data**([*data*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L795)
5546
+ <a name="Shape.data" href="#Shape.data">#</a> Shape.**data**([*data*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L794)
5520
5547
 
5521
5548
  If *data* is specified, sets the data array to the specified array and returns the current class instance. If *data* is not specified, returns the current data array. A shape will be drawn for each object in the array.
5522
5549
 
@@ -5524,7 +5551,7 @@ If *data* is specified, sets the data array to the specified array and returns t
5524
5551
  This is a static method of [<code>Shape</code>](#Shape), and is chainable with other methods of this Class.
5525
5552
 
5526
5553
 
5527
- <a name="Shape.discrete" href="#Shape.discrete">#</a> Shape.**discrete**(*value*) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L807)
5554
+ <a name="Shape.discrete" href="#Shape.discrete">#</a> Shape.**discrete**(*value*) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L806)
5528
5555
 
5529
5556
  Determines if either the X or Y position is discrete along a Line, which helps in determining the nearest data point on a line for a hit area event.
5530
5557
 
@@ -5532,7 +5559,7 @@ Determines if either the X or Y position is discrete along a Line, which helps i
5532
5559
  This is a static method of [<code>Shape</code>](#Shape), and is chainable with other methods of this Class.
5533
5560
 
5534
5561
 
5535
- <a name="Shape.duration" href="#Shape.duration">#</a> Shape.**duration**([*ms*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L817)
5562
+ <a name="Shape.duration" href="#Shape.duration">#</a> Shape.**duration**([*ms*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L816)
5536
5563
 
5537
5564
  If *ms* is specified, sets the animation duration to the specified number and returns the current class instance. If *ms* is not specified, returns the current animation duration.
5538
5565
 
@@ -5540,7 +5567,7 @@ If *ms* is specified, sets the animation duration to the specified number and re
5540
5567
  This is a static method of [<code>Shape</code>](#Shape), and is chainable with other methods of this Class.
5541
5568
 
5542
5569
 
5543
- <a name="Shape.fill" href="#Shape.fill">#</a> Shape.**fill**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L829)
5570
+ <a name="Shape.fill" href="#Shape.fill">#</a> Shape.**fill**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L828)
5544
5571
 
5545
5572
  If *value* is specified, sets the fill accessor to the specified function or string and returns the current class instance.
5546
5573
 
@@ -5548,7 +5575,7 @@ If *value* is specified, sets the fill accessor to the specified function or str
5548
5575
  This is a static method of [<code>Shape</code>](#Shape), and is chainable with other methods of this Class.
5549
5576
 
5550
5577
 
5551
- <a name="Shape.fillOpacity" href="#Shape.fillOpacity">#</a> Shape.**fillOpacity**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L841)
5578
+ <a name="Shape.fillOpacity" href="#Shape.fillOpacity">#</a> Shape.**fillOpacity**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L840)
5552
5579
 
5553
5580
  Defines the "fill-opacity" attribute for the shapes.
5554
5581
 
@@ -5556,7 +5583,7 @@ Defines the "fill-opacity" attribute for the shapes.
5556
5583
  This is a static method of [<code>Shape</code>](#Shape), and is chainable with other methods of this Class.
5557
5584
 
5558
5585
 
5559
- <a name="Shape.hover" href="#Shape.hover">#</a> Shape.**hover**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L853)
5586
+ <a name="Shape.hover" href="#Shape.hover">#</a> Shape.**hover**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L852)
5560
5587
 
5561
5588
  If *value* is specified, sets the highlight accessor to the specified function and returns the current class instance.
5562
5589
 
@@ -5564,7 +5591,7 @@ If *value* is specified, sets the highlight accessor to the specified function a
5564
5591
  This is a static method of [<code>Shape</code>](#Shape), and is chainable with other methods of this Class.
5565
5592
 
5566
5593
 
5567
- <a name="Shape.hoverStyle" href="#Shape.hoverStyle">#</a> Shape.**hoverStyle**(*value*) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L872)
5594
+ <a name="Shape.hoverStyle" href="#Shape.hoverStyle">#</a> Shape.**hoverStyle**(*value*) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L871)
5568
5595
 
5569
5596
  The style to apply to hovered shapes.
5570
5597
 
@@ -5572,7 +5599,7 @@ The style to apply to hovered shapes.
5572
5599
  This is a static method of [<code>Shape</code>](#Shape), and is chainable with other methods of this Class.
5573
5600
 
5574
5601
 
5575
- <a name="Shape.hoverOpacity" href="#Shape.hoverOpacity">#</a> Shape.**hoverOpacity**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L882)
5602
+ <a name="Shape.hoverOpacity" href="#Shape.hoverOpacity">#</a> Shape.**hoverOpacity**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L881)
5576
5603
 
5577
5604
  If *value* is specified, sets the hover opacity to the specified function and returns the current class instance.
5578
5605
 
@@ -5580,7 +5607,7 @@ If *value* is specified, sets the hover opacity to the specified function and re
5580
5607
  This is a static method of [<code>Shape</code>](#Shape), and is chainable with other methods of this Class.
5581
5608
 
5582
5609
 
5583
- <a name="Shape.hitArea" href="#Shape.hitArea">#</a> Shape.**hitArea**([*bounds*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L901)
5610
+ <a name="Shape.hitArea" href="#Shape.hitArea">#</a> Shape.**hitArea**([*bounds*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L900)
5584
5611
 
5585
5612
  If *bounds* is specified, sets the mouse hit area to the specified function and returns the current class instance. If *bounds* is not specified, returns the current mouse hit area accessor.
5586
5613
 
@@ -5600,7 +5627,7 @@ function(d, i, shape) {
5600
5627
  ```
5601
5628
 
5602
5629
 
5603
- <a name="Shape.id" href="#Shape.id">#</a> Shape.**id**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L911)
5630
+ <a name="Shape.id" href="#Shape.id">#</a> Shape.**id**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L910)
5604
5631
 
5605
5632
  If *value* is specified, sets the id accessor to the specified function and returns the current class instance.
5606
5633
 
@@ -5608,7 +5635,7 @@ If *value* is specified, sets the id accessor to the specified function and retu
5608
5635
  This is a static method of [<code>Shape</code>](#Shape), and is chainable with other methods of this Class.
5609
5636
 
5610
5637
 
5611
- <a name="Shape.label" href="#Shape.label">#</a> Shape.**label**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L921)
5638
+ <a name="Shape.label" href="#Shape.label">#</a> Shape.**label**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L920)
5612
5639
 
5613
5640
  If *value* is specified, sets the label accessor to the specified function or string and returns the current class instance.
5614
5641
 
@@ -5616,7 +5643,7 @@ If *value* is specified, sets the label accessor to the specified function or st
5616
5643
  This is a static method of [<code>Shape</code>](#Shape), and is chainable with other methods of this Class.
5617
5644
 
5618
5645
 
5619
- <a name="Shape.labelBounds" href="#Shape.labelBounds">#</a> Shape.**labelBounds**([*bounds*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L940)
5646
+ <a name="Shape.labelBounds" href="#Shape.labelBounds">#</a> Shape.**labelBounds**([*bounds*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L939)
5620
5647
 
5621
5648
  If *bounds* is specified, sets the label bounds to the specified function and returns the current class instance. If *bounds* is not specified, returns the current inner bounds accessor.
5622
5649
 
@@ -5636,7 +5663,7 @@ function(d, i, shape) {
5636
5663
  ```
5637
5664
 
5638
5665
 
5639
- <a name="Shape.labelConfig" href="#Shape.labelConfig">#</a> Shape.**labelConfig**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L950)
5666
+ <a name="Shape.labelConfig" href="#Shape.labelConfig">#</a> Shape.**labelConfig**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L949)
5640
5667
 
5641
5668
  A pass-through to the config method of the TextBox class used to create a shape's labels.
5642
5669
 
@@ -5644,7 +5671,7 @@ A pass-through to the config method of the TextBox class used to create a shape'
5644
5671
  This is a static method of [<code>Shape</code>](#Shape), and is chainable with other methods of this Class.
5645
5672
 
5646
5673
 
5647
- <a name="Shape.opacity" href="#Shape.opacity">#</a> Shape.**opacity**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L960)
5674
+ <a name="Shape.opacity" href="#Shape.opacity">#</a> Shape.**opacity**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L959)
5648
5675
 
5649
5676
  If *value* is specified, sets the opacity accessor to the specified function or number and returns the current class instance.
5650
5677
 
@@ -5652,7 +5679,7 @@ If *value* is specified, sets the opacity accessor to the specified function or
5652
5679
  This is a static method of [<code>Shape</code>](#Shape), and is chainable with other methods of this Class.
5653
5680
 
5654
5681
 
5655
- <a name="Shape.pointerEvents" href="#Shape.pointerEvents">#</a> Shape.**pointerEvents**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L970)
5682
+ <a name="Shape.pointerEvents" href="#Shape.pointerEvents">#</a> Shape.**pointerEvents**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L969)
5656
5683
 
5657
5684
  If *value* is specified, sets the pointerEvents accessor to the specified function or string and returns the current class instance.
5658
5685
 
@@ -5660,7 +5687,7 @@ If *value* is specified, sets the pointerEvents accessor to the specified functi
5660
5687
  This is a static method of [<code>Shape</code>](#Shape), and is chainable with other methods of this Class.
5661
5688
 
5662
5689
 
5663
- <a name="Shape.role" href="#Shape.role">#</a> Shape.**role**(*value*) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L980)
5690
+ <a name="Shape.role" href="#Shape.role">#</a> Shape.**role**(*value*) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L979)
5664
5691
 
5665
5692
  If *value* is specified, sets the role attribute to the specified function or string and returns the current class instance.
5666
5693
 
@@ -5668,7 +5695,7 @@ If *value* is specified, sets the role attribute to the specified function or st
5668
5695
  This is a static method of [<code>Shape</code>](#Shape), and is chainable with other methods of this Class.
5669
5696
 
5670
5697
 
5671
- <a name="Shape.rotate" href="#Shape.rotate">#</a> Shape.**rotate**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L992)
5698
+ <a name="Shape.rotate" href="#Shape.rotate">#</a> Shape.**rotate**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L991)
5672
5699
 
5673
5700
  If *value* is specified, sets the rotate accessor to the specified function or number and returns the current class instance.
5674
5701
 
@@ -5676,7 +5703,7 @@ If *value* is specified, sets the rotate accessor to the specified function or n
5676
5703
  This is a static method of [<code>Shape</code>](#Shape), and is chainable with other methods of this Class.
5677
5704
 
5678
5705
 
5679
- <a name="Shape.rx" href="#Shape.rx">#</a> Shape.**rx**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L1002)
5706
+ <a name="Shape.rx" href="#Shape.rx">#</a> Shape.**rx**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L1001)
5680
5707
 
5681
5708
  Defines the "rx" attribute for the shapes.
5682
5709
 
@@ -5684,7 +5711,7 @@ Defines the "rx" attribute for the shapes.
5684
5711
  This is a static method of [<code>Shape</code>](#Shape), and is chainable with other methods of this Class.
5685
5712
 
5686
5713
 
5687
- <a name="Shape.ry" href="#Shape.ry">#</a> Shape.**ry**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L1012)
5714
+ <a name="Shape.ry" href="#Shape.ry">#</a> Shape.**ry**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L1011)
5688
5715
 
5689
5716
  Defines the "rx" attribute for the shapes.
5690
5717
 
@@ -5692,7 +5719,7 @@ Defines the "rx" attribute for the shapes.
5692
5719
  This is a static method of [<code>Shape</code>](#Shape), and is chainable with other methods of this Class.
5693
5720
 
5694
5721
 
5695
- <a name="Shape.scale" href="#Shape.scale">#</a> Shape.**scale**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L1022)
5722
+ <a name="Shape.scale" href="#Shape.scale">#</a> Shape.**scale**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L1021)
5696
5723
 
5697
5724
  If *value* is specified, sets the scale accessor to the specified function or string and returns the current class instance.
5698
5725
 
@@ -5700,7 +5727,7 @@ If *value* is specified, sets the scale accessor to the specified function or st
5700
5727
  This is a static method of [<code>Shape</code>](#Shape), and is chainable with other methods of this Class.
5701
5728
 
5702
5729
 
5703
- <a name="Shape.select" href="#Shape.select">#</a> Shape.**select**([*selector*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L1032)
5730
+ <a name="Shape.select" href="#Shape.select">#</a> Shape.**select**([*selector*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L1031)
5704
5731
 
5705
5732
  If *selector* is specified, sets the SVG container element to the specified d3 selector or DOM element and returns the current class instance. If *selector* is not specified, returns the current SVG container element.
5706
5733
 
@@ -5708,7 +5735,7 @@ If *selector* is specified, sets the SVG container element to the specified d3 s
5708
5735
  This is a static method of [<code>Shape</code>](#Shape), and is chainable with other methods of this Class.
5709
5736
 
5710
5737
 
5711
- <a name="Shape.shapeRendering" href="#Shape.shapeRendering">#</a> Shape.**shapeRendering**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L1046)
5738
+ <a name="Shape.shapeRendering" href="#Shape.shapeRendering">#</a> Shape.**shapeRendering**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L1045)
5712
5739
 
5713
5740
  If *value* is specified, sets the shape-rendering accessor to the specified function or string and returns the current class instance.
5714
5741
 
@@ -5723,7 +5750,7 @@ function(d) {
5723
5750
  ```
5724
5751
 
5725
5752
 
5726
- <a name="Shape.sort" href="#Shape.sort">#</a> Shape.**sort**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L1056)
5753
+ <a name="Shape.sort" href="#Shape.sort">#</a> Shape.**sort**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L1055)
5727
5754
 
5728
5755
  If *value* is specified, sets the sort comparator to the specified function and returns the current class instance.
5729
5756
 
@@ -5731,7 +5758,7 @@ If *value* is specified, sets the sort comparator to the specified function and
5731
5758
  This is a static method of [<code>Shape</code>](#Shape), and is chainable with other methods of this Class.
5732
5759
 
5733
5760
 
5734
- <a name="Shape.stroke" href="#Shape.stroke">#</a> Shape.**stroke**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L1066)
5761
+ <a name="Shape.stroke" href="#Shape.stroke">#</a> Shape.**stroke**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L1065)
5735
5762
 
5736
5763
  If *value* is specified, sets the stroke accessor to the specified function or string and returns the current class instance.
5737
5764
 
@@ -5739,7 +5766,7 @@ If *value* is specified, sets the stroke accessor to the specified function or s
5739
5766
  This is a static method of [<code>Shape</code>](#Shape), and is chainable with other methods of this Class.
5740
5767
 
5741
5768
 
5742
- <a name="Shape.strokeDasharray" href="#Shape.strokeDasharray">#</a> Shape.**strokeDasharray**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L1076)
5769
+ <a name="Shape.strokeDasharray" href="#Shape.strokeDasharray">#</a> Shape.**strokeDasharray**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L1075)
5743
5770
 
5744
5771
  Defines the "stroke-dasharray" attribute for the shapes.
5745
5772
 
@@ -5747,7 +5774,7 @@ Defines the "stroke-dasharray" attribute for the shapes.
5747
5774
  This is a static method of [<code>Shape</code>](#Shape), and is chainable with other methods of this Class.
5748
5775
 
5749
5776
 
5750
- <a name="Shape.strokeLinecap" href="#Shape.strokeLinecap">#</a> Shape.**strokeLinecap**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L1086)
5777
+ <a name="Shape.strokeLinecap" href="#Shape.strokeLinecap">#</a> Shape.**strokeLinecap**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L1085)
5751
5778
 
5752
5779
  Defines the "stroke-linecap" attribute for the shapes. Accepted values are `"butt"`, `"round"`, and `"square"`.
5753
5780
 
@@ -5755,7 +5782,7 @@ Defines the "stroke-linecap" attribute for the shapes. Accepted values are `"but
5755
5782
  This is a static method of [<code>Shape</code>](#Shape), and is chainable with other methods of this Class.
5756
5783
 
5757
5784
 
5758
- <a name="Shape.strokeOpacity" href="#Shape.strokeOpacity">#</a> Shape.**strokeOpacity**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L1096)
5785
+ <a name="Shape.strokeOpacity" href="#Shape.strokeOpacity">#</a> Shape.**strokeOpacity**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L1095)
5759
5786
 
5760
5787
  Defines the "stroke-opacity" attribute for the shapes.
5761
5788
 
@@ -5763,7 +5790,7 @@ Defines the "stroke-opacity" attribute for the shapes.
5763
5790
  This is a static method of [<code>Shape</code>](#Shape), and is chainable with other methods of this Class.
5764
5791
 
5765
5792
 
5766
- <a name="Shape.strokeWidth" href="#Shape.strokeWidth">#</a> Shape.**strokeWidth**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L1106)
5793
+ <a name="Shape.strokeWidth" href="#Shape.strokeWidth">#</a> Shape.**strokeWidth**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L1105)
5767
5794
 
5768
5795
  If *value* is specified, sets the stroke-width accessor to the specified function or string and returns the current class instance.
5769
5796
 
@@ -5771,7 +5798,7 @@ If *value* is specified, sets the stroke-width accessor to the specified functio
5771
5798
  This is a static method of [<code>Shape</code>](#Shape), and is chainable with other methods of this Class.
5772
5799
 
5773
5800
 
5774
- <a name="Shape.textAnchor" href="#Shape.textAnchor">#</a> Shape.**textAnchor**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L1116)
5801
+ <a name="Shape.textAnchor" href="#Shape.textAnchor">#</a> Shape.**textAnchor**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L1115)
5775
5802
 
5776
5803
  If *value* is specified, sets the text-anchor accessor to the specified function or string and returns the current class instance.
5777
5804
 
@@ -5779,7 +5806,7 @@ If *value* is specified, sets the text-anchor accessor to the specified function
5779
5806
  This is a static method of [<code>Shape</code>](#Shape), and is chainable with other methods of this Class.
5780
5807
 
5781
5808
 
5782
- <a name="Shape.texture" href="#Shape.texture">#</a> Shape.**texture**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L1126)
5809
+ <a name="Shape.texture" href="#Shape.texture">#</a> Shape.**texture**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L1125)
5783
5810
 
5784
5811
  Defines the texture used inside of each shape. This uses the [textures.js](https://riccardoscalco.it/textures/) package, and expects either a simple string (`"lines"` or `"circles"`) or a more complex Object containing the various properties of the texture (ie. `{texture: "lines", orientation: "3/8", stroke: "darkorange"}`). If multiple textures are necessary, provide an accsesor Function that returns the correct String/Object for each given data point and index.
5785
5812
 
@@ -5787,7 +5814,7 @@ Defines the texture used inside of each shape. This uses the [textures.js](https
5787
5814
  This is a static method of [<code>Shape</code>](#Shape), and is chainable with other methods of this Class.
5788
5815
 
5789
5816
 
5790
- <a name="Shape.textureDefault" href="#Shape.textureDefault">#</a> Shape.**textureDefault**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L1136)
5817
+ <a name="Shape.textureDefault" href="#Shape.textureDefault">#</a> Shape.**textureDefault**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L1135)
5791
5818
 
5792
5819
  A series of global texture methods to be used for all textures (ie. `{stroke: "darkorange", strokeWidth: 2}`).
5793
5820
 
@@ -5795,7 +5822,7 @@ A series of global texture methods to be used for all textures (ie. `{stroke: "d
5795
5822
  This is a static method of [<code>Shape</code>](#Shape), and is chainable with other methods of this Class.
5796
5823
 
5797
5824
 
5798
- <a name="Shape.vectorEffect" href="#Shape.vectorEffect">#</a> Shape.**vectorEffect**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L1146)
5825
+ <a name="Shape.vectorEffect" href="#Shape.vectorEffect">#</a> Shape.**vectorEffect**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L1145)
5799
5826
 
5800
5827
  If *value* is specified, sets the vector-effect accessor to the specified function or string and returns the current class instance.
5801
5828
 
@@ -5803,7 +5830,7 @@ If *value* is specified, sets the vector-effect accessor to the specified functi
5803
5830
  This is a static method of [<code>Shape</code>](#Shape), and is chainable with other methods of this Class.
5804
5831
 
5805
5832
 
5806
- <a name="Shape.verticalAlign" href="#Shape.verticalAlign">#</a> Shape.**verticalAlign**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L1156)
5833
+ <a name="Shape.verticalAlign" href="#Shape.verticalAlign">#</a> Shape.**verticalAlign**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L1155)
5807
5834
 
5808
5835
  If *value* is specified, sets the vertical alignment accessor to the specified function or string and returns the current class instance.
5809
5836
 
@@ -5811,7 +5838,7 @@ If *value* is specified, sets the vertical alignment accessor to the specified f
5811
5838
  This is a static method of [<code>Shape</code>](#Shape), and is chainable with other methods of this Class.
5812
5839
 
5813
5840
 
5814
- <a name="Shape.x" href="#Shape.x">#</a> Shape.**x**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L1170)
5841
+ <a name="Shape.x" href="#Shape.x">#</a> Shape.**x**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L1169)
5815
5842
 
5816
5843
  If *value* is specified, sets the x accessor to the specified function or number and returns the current class instance.
5817
5844
 
@@ -5826,7 +5853,7 @@ function(d) {
5826
5853
  ```
5827
5854
 
5828
5855
 
5829
- <a name="Shape.y" href="#Shape.y">#</a> Shape.**y**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L1184)
5856
+ <a name="Shape.y" href="#Shape.y">#</a> Shape.**y**([*value*]) [<>](https://github.com/d3plus/d3plus/blob/main/packages/core/src/shapes/Shape.js#L1183)
5830
5857
 
5831
5858
  If *value* is specified, sets the y accessor to the specified function or number and returns the current class instance.
5832
5859
 
@@ -115,8 +115,11 @@ var Sankey = /*#__PURE__*/ function(Viz) {
115
115
  _class_call_check(this, Sankey);
116
116
  var _this;
117
117
  _this = _call_super(this, Sankey);
118
+ _this._iterations = 6;
118
119
  _this._nodeId = accessor("id");
120
+ _this._nodeSort = undefined;
119
121
  _this._links = accessor("links");
122
+ _this._linkSort = undefined;
120
123
  _this._linksSource = "source";
121
124
  _this._linksTarget = "target";
122
125
  _this._noDataMessage = false;
@@ -235,7 +238,7 @@ var Sankey = /*#__PURE__*/ function(Viz) {
235
238
  return obj;
236
239
  }, {});
237
240
  var transform = "translate(".concat(this._margin.left, ", ").concat(this._margin.top, ")");
238
- this._sankey.nodeAlign(this._nodeAlign).nodePadding(this._nodePadding).nodeWidth(this._nodeWidth).nodes(nodes).links(links).size([
241
+ this._sankey.nodeAlign(this._nodeAlign).nodePadding(this._nodePadding).nodeWidth(this._nodeWidth).nodes(nodes).nodeSort(this._nodeSort).links(links).linkSort(this._linkSort).iterations(this._iterations).size([
239
242
  width,
240
243
  height
241
244
  ])();
@@ -291,6 +294,17 @@ var Sankey = /*#__PURE__*/ function(Viz) {
291
294
  {
292
295
  /**
293
296
  @memberof Sankey
297
+ @desc A pass-through for the d3-sankey [iterations](https://github.com/d3/d3-sankey?tab=readme-ov-file#sankey_iterations) function.
298
+ @param {Number} [*value* = 6]
299
+ @chainable
300
+ */ key: "iterations",
301
+ value: function iterations(_) {
302
+ return arguments.length ? (this._iterations = _, this) : this._iterations;
303
+ }
304
+ },
305
+ {
306
+ /**
307
+ @memberof Sankey
294
308
  @desc A predefined *Array* of edges that connect each object passed to the [node](#Sankey.node) method. The `source` and `target` keys in each link need to map to the nodes in one of one way:
295
309
  1. A *String* value matching the `id` of the node.
296
310
 
@@ -309,6 +323,17 @@ The value passed should be an *Array* of data. An optional formatting function c
309
323
  {
310
324
  /**
311
325
  @memberof Sankey
326
+ @desc A pass-through for the d3-sankey [linkSort](https://github.com/d3/d3-sankey?tab=readme-ov-file#sankey_linkSort) function.
327
+ @param {Function|undefined} [*value* = undefined]
328
+ @chainable
329
+ */ key: "linkSort",
330
+ value: function linkSort(_) {
331
+ return arguments.length ? (this._linkSort = _, this) : this._linkSort;
332
+ }
333
+ },
334
+ {
335
+ /**
336
+ @memberof Sankey
312
337
  @desc The key inside of each link Object that references the source node.
313
338
  @param {String} [*value* = "source"]
314
339
  @chainable
@@ -381,6 +406,17 @@ Additionally, a custom formatting function can be passed as a second argument to
381
406
  {
382
407
  /**
383
408
  @memberof Sankey
409
+ @desc A pass-through for the d3-sankey [nodeSort](https://github.com/d3/d3-sankey?tab=readme-ov-file#sankey_nodeSort) function.
410
+ @param {Function|undefined} [*value* = undefined]
411
+ @chainable
412
+ */ key: "nodeSort",
413
+ value: function nodeSort(_) {
414
+ return arguments.length ? (this._nodeSort = _, this) : this._nodeSort;
415
+ }
416
+ },
417
+ {
418
+ /**
419
+ @memberof Sankey
384
420
  @desc If *value* is specified, sets the width of the node and returns the current class instance. If *value* is not specified, returns the current nodeWidth. By default, the nodeWidth size is 30.
385
421
  @param {Number} [*value* = 30]
386
422
  @chainable
@@ -1345,7 +1345,7 @@ If *data* is not specified, this method returns the current primary data array,
1345
1345
  value: function hover(_) {
1346
1346
  var _this = this;
1347
1347
  var hoverFunction = this._hover = _;
1348
- if (this._shapeConfig.hoverOpacity !== 1) {
1348
+ if (this._shapeConfig.hoverOpacity !== 1 && _ !== undefined) {
1349
1349
  if (typeof _ === "function") {
1350
1350
  var shapeData = arrayMerge(this._shapes.map(function(s) {
1351
1351
  return s.data();
@@ -104,7 +104,7 @@ import { accessor, BaseClass, configPrep, constant } from "../utils/index.js";
104
104
  }
105
105
  }
106
106
  }
107
- return 0; // Return -1 if no element is found with the class
107
+ return -1; // Return -1 if no element is found with the class
108
108
  }
109
109
  import Image from "./Image.js";
110
110
  var Shape = /*#__PURE__*/ function(BaseClass) {
@@ -420,8 +420,6 @@ var Shape = /*#__PURE__*/ function(BaseClass) {
420
420
  this._group.selectAll("g.d3plus-".concat(this._name, "-shape, g.d3plus-").concat(this._name, "-image, g.d3plus-").concat(this._name, "-text, g.d3plus-").concat(this._name, "-hover")).selectAll(".d3plus-Shape, .d3plus-Image, .d3plus-textBox").each(function(d, i) {
421
421
  if (!d) d = {};
422
422
  if (!d.parentNode) d.parentNode = this.parentNode;
423
- if (!d.dataIndex) d.dataIndex = i;
424
- var dataIndex = d.dataIndex;
425
423
  var parent = d.parentNode;
426
424
  var d3plusType = select(this).classed("d3plus-textBox") ? "textBox" : select(this).classed("d3plus-Image") ? "Image" : "Shape";
427
425
  if (d3plusType === "textBox") d = d.data;
@@ -434,13 +432,15 @@ var Shape = /*#__PURE__*/ function(BaseClass) {
434
432
  var notHovering = !that._hover || typeof that._hover !== "function" || !that._hover(d, i);
435
433
  var group = notHovering ? parent : that._hoverGroup.node();
436
434
  if (group !== this.parentNode) {
437
- var offset = d3plusType === "textBox" ? findLastIndexWithClass(group.childNodes, [
435
+ var afterIndex = d3plusType === "textBox" ? findLastIndexWithClass(group.childNodes, [
438
436
  "d3plus-Image",
439
437
  "d3plus-Shape"
440
438
  ]) : d3plusType === "Image" ? findLastIndexWithClass(group.childNodes, [
441
439
  "d3plus-Shape"
442
- ]) : 0;
443
- group.insertBefore(this, group.childNodes[offset + dataIndex]);
440
+ ]) : -1;
441
+ if (notHovering) group.appendChild(this);
442
+ else if (afterIndex === -1) group.prepend(this);
443
+ else group.childNodes[afterIndex].after(this);
444
444
  }
445
445
  if (this.className.baseVal.includes("d3plus-Shape")) {
446
446
  if (parent === group) select(this).call(that._applyStyle.bind(that));