@@ -1506,6 +1506,9 @@ plots.supplyLayoutGlobalDefaults = function(layoutIn, layoutOut, formatObj) {
15061506
15071507 coerce ( 'width' ) ;
15081508 coerce ( 'height' ) ;
1509+ coerce ( 'minreducedwidth' ) ;
1510+ coerce ( 'minreducedheight' ) ;
1511+
15091512 coerce ( 'margin.l' ) ;
15101513 coerce ( 'margin.r' ) ;
15111514 coerce ( 'margin.t' ) ;
@@ -1861,10 +1864,6 @@ function initMargins(fullLayout) {
18611864var MIN_SPECIFIED_WIDTH = 2 ;
18621865var MIN_SPECIFIED_HEIGHT = 2 ;
18631866
1864- // could be exposed as an option - the smallest we will allow automargin to shrink a larger plot
1865- var MIN_REDUCED_WIDTH = 64 ;
1866- var MIN_REDUCED_HEIGHT = 64 ;
1867-
18681867/**
18691868 * autoMargin: called by components that may need to expand the margins to
18701869 * be rendered on-plot.
@@ -1885,17 +1884,19 @@ plots.autoMargin = function(gd, id, o) {
18851884 var width = fullLayout . width ;
18861885 var height = fullLayout . height ;
18871886 var margin = fullLayout . margin ;
1887+ var minreducedwidth = fullLayout . minreducedwidth ;
1888+ var minreducedheight = fullLayout . minreducedheight ;
18881889
18891890 var minFinalWidth = Lib . constrain (
18901891 width - margin . l - margin . r ,
18911892 MIN_SPECIFIED_WIDTH ,
1892- MIN_REDUCED_WIDTH
1893+ minreducedwidth
18931894 ) ;
18941895
18951896 var minFinalHeight = Lib . constrain (
18961897 height - margin . t - margin . b ,
18971898 MIN_SPECIFIED_HEIGHT ,
1898- MIN_REDUCED_HEIGHT
1899+ minreducedheight
18991900 ) ;
19001901
19011902 var maxSpaceW = Math . max ( 0 , width - minFinalWidth ) ;
@@ -1974,6 +1975,8 @@ plots.doAutoMargin = function(gd) {
19741975 var mb = margin . b ;
19751976 var pushMargin = fullLayout . _pushmargin ;
19761977 var pushMarginIds = fullLayout . _pushmarginIds ;
1978+ var minreducedwidth = fullLayout . minreducedwidth ;
1979+ var minreducedheight = fullLayout . minreducedheight ;
19771980
19781981 if ( fullLayout . margin . autoexpand !== false ) {
19791982 for ( var k in pushMargin ) {
@@ -2032,13 +2035,13 @@ plots.doAutoMargin = function(gd) {
20322035 var minFinalWidth = Lib . constrain (
20332036 width - margin . l - margin . r ,
20342037 MIN_SPECIFIED_WIDTH ,
2035- MIN_REDUCED_WIDTH
2038+ minreducedwidth
20362039 ) ;
20372040
20382041 var minFinalHeight = Lib . constrain (
20392042 height - margin . t - margin . b ,
20402043 MIN_SPECIFIED_HEIGHT ,
2041- MIN_REDUCED_HEIGHT
2044+ minreducedheight
20422045 ) ;
20432046
20442047 var maxSpaceW = Math . max ( 0 , width - minFinalWidth ) ;
0 commit comments