{"version":3,"sources":["blocks/m-slider.js"],"names":["define","utility","Slider","mSliderFn","init","elm","settings","onRefresh","labelElements","i","labels","classList","add","mSlider","rangeEnabled","extend","rangeFormat","replayValue","inlineInput","hasPrefix","makeId","id","matches","contains","range","setSettings","inputWrapper","closest","getSliderInputs","elementId","querySelectorAll","setupNewSlider","length","currentBreakpoint","newWindowWidth","document","clientWidth","listener","onResize","resize","body","windowWidth","window","addEventListener","setValue","isVisible","newValue","updateSliderInitial","getValue","isArray","input1","newSettings","setTimeout","value","timeoutFn","input2","inputElements","trigger","sliderObject","destroy","Array","rangeTicksLabels","rangeMin","min","rangeMax","max","rangeValueLabel","rangeStep","step","rangeTicks","ticks","ticksPositions","ticks_labels","rangeTicksPositions","ticksLabels","enabled","handle","format","labelledby","valueLabel","sliderWrapper","on","updateInputs","ticks_positions","addEventListeners","tooltip","focus","innerHTML","remove","setAttribute","childNodes","display","rightDist","tTipLoc","width","labelSlider","sliderElement","querySelector","left","split","minHandle","style","nextSibling","maxHandle","getBoundingClientRect","forEach","initialValue","insertAdjacentHTML","setupSliderMarkup","labelOriginal","htmlStringToElement","rangeValue","addPrefixSuffixToInput","sliderValue","sliderValueArea","append","inputElm","sliderValueAreaInput","nextElementSibling","prepend","wrap","element","proposedId","newId","updateSlider","inputWrapperInner","prefixSuffix","prefixSuffixElement","sliderContainerArea","sliderInput","removePrefixSuffixFromDropdown","options","textContent","indexOf","suffix","formattedValue","formatValue","value1","values","validateNumber","prefix","slice","finalValue","replace","parseFloat","newBreakpoint","elmWidth","value2","subtractMeasurements","sort","a","b","escapeHtml","Number","isNaN","getBreakpoint","smallTag","getComputedStyle","paddingLeft","paddingRight","relayout","initInstance"],"mappings":"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","file":"blocks/m-slider.js","sourcesContent":["// eslint-disable-next-line max-lines-per-function\r\ndefine( [ 'utility', 'vendor/bootstrap-slider' ], function run( utility, Slider ) {\r\n\t'use strict';\r\n\r\n\tvar mSliderFn = {\r\n\r\n\t\tinit : function( elm, settings ) {\r\n\t\t\tvar id,\r\n\t\t\t\tonResize,\r\n\t\t\t\tonRefresh,\r\n\t\t\t\tlabelElements,\r\n\t\t\t\tlabels = [],\r\n\t\t\t\ti;\r\n\r\n\t\t\tif ( !elm.classList.contains( 'js-m-slider' ) ) {\r\n\t\t\t\telm.classList.add( 'js-m-slider' );\r\n\r\n\t\t\t\telm.mSlider = {}; // Setup mSlider object\r\n\t\t\t\telm.mSlider.settings = utility.extend({}, {\r\n\t\t\t\t\trangeEnabled : true,\r\n\t\t\t\t\trangeFormat : '{d}',\r\n\t\t\t\t\treplayValue : false,\r\n\t\t\t\t\tinlineInput : false,\r\n\t\t\t\t\thasPrefix : false,\r\n\t\t\t\t}, utility.getData( elm ) );\r\n\r\n\t\t\t\tid = utility.makeId( 'm_slider__' );\r\n\r\n\t\t\t\t// Ensure both styles are not applied at the same time.\r\n\t\t\t\tif ( elm.classList.contains( 'm-slider--inline' ) && utility.matches( elm, 'input' ) ) {\r\n\t\t\t\t\telm.classList.remove( 'm-slider--playback' );\r\n\t\t\t\t\telm.mSlider.settings.inlineInput = true;\r\n\t\t\t\t} else if ( elm.classList.contains( 'm-slider--playback' ) ) {\r\n\t\t\t\t\telm.mSlider.settings.replayValue = true;\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// Do nothing\r\n\t\t\t\t}\r\n\r\n\t\t\t\telm.mSlider.settings.range = false;\r\n\t\t\t\tif ( elm.classList.contains( 'm-slider--range' ) ) {\r\n\t\t\t\t\telm.mSlider.settings.range = true;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif ( settings ) {\r\n\t\t\t\t\tmSliderFn.setSettings( elm, settings ); // Apply settings from ones passed in via init call\r\n\t\t\t\t}\r\n\r\n\t\t\t\telm.mSlider.inputWrapper = elm.closest( '.m-form-affix' );\r\n\t\t\t\tif ( elm.mSlider.inputWrapper ) {\r\n\t\t\t\t\telm.mSlider.settings.hasPrefix = true;\r\n\t\t\t\t} else {\r\n\t\t\t\t\telm.mSlider.inputWrapper = elm;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tmSliderFn.getSliderInputs( elm, id );\r\n\r\n\t\t\t\t// Setup ids for aria to be attached to the slider handle(s)\r\n\t\t\t\tif ( elm.mSlider.settings.range ) {\r\n\t\t\t\t\tlabelElements = elm.querySelectorAll( '.m-slider__item-label' );\r\n\t\t\t\t\tfor ( i = 0; i < labelElements.length; i++ ) {\r\n\t\t\t\t\t\tlabels.push( mSliderFn.elementId( labelElements[ i ], id + '_label' + i ) );\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tlabels = mSliderFn.elementId( elm.mSlider.labelOriginal, id + '_label' );\r\n\t\t\t\t}\r\n\r\n\t\t\t\tmSliderFn.setupNewSlider( elm, id, labels );\r\n\r\n\t\t\t\telm.mSlider.settings.currentBreakpoint = '';\r\n\t\t\t\telm.mSlider.settings.windowWidth = document.body.clientWidth;\r\n\r\n\t\t\t\tonResize = utility.debounce( function listener() {\r\n\t\t\t\t\tvar newWindowWidth = document.body.clientWidth;\r\n\t\t\t\t\tif ( newWindowWidth !== elm.mSlider.settings.windowWidth ) {\r\n\t\t\t\t\t\telm.mSlider.settings.windowWidth = newWindowWidth;\r\n\t\t\t\t\t\tmSliderFn.resize( elm );\r\n\t\t\t\t\t}\r\n\t\t\t\t}, 10 );\r\n\t\t\t\tonRefresh = utility.debounce( function listener() {\r\n\t\t\t\t\tif ( utility.isVisible( elm ) ) {\r\n\t\t\t\t\t\tmSliderFn.resize( elm );\r\n\t\t\t\t\t}\r\n\t\t\t\t}, 10 );\r\n\r\n\t\t\t\twindow.addEventListener( 'resize', onResize );\r\n\t\t\t\twindow.addEventListener( 'refresh', onRefresh );\r\n\r\n\r\n\t\t\t\tmSliderFn.resize( elm );\r\n\t\t\t\tmSliderFn.updateSliderInitial( elm );\r\n\r\n\r\n\t\t\t\telm.mSlider.setValue = function setValue( newValue ) {\r\n\t\t\t\t\tif ( typeof newValue === 'number' && !elm.mSlider.settings.range ) {\r\n\t\t\t\t\t\t// If not a range slider and just a number if passed in update the current value\r\n\t\t\t\t\t\telm.mSlider.inputElements.value = newValue;\r\n\t\t\t\t\t\tutility.trigger( elm.mSlider.inputElements, 'change' );\r\n\t\t\t\t\t} else if ( elm.mSlider.settings.range && Array.isArray( newValue ) ) {\r\n\t\t\t\t\t\t// If a range slider and an array is passed in update the current values\r\n\t\t\t\t\t\tif ( typeof newValue[ 0 ] === 'number' ) {\r\n\t\t\t\t\t\t\telm.mSlider.input1.value = newValue[ 0 ];\r\n\t\t\t\t\t\t\tutility.trigger( elm.mSlider.input1, 'change' );\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif ( typeof newValue[ 1 ] === 'number' ) {\r\n\t\t\t\t\t\t\telm.mSlider.input2.value = newValue[ 1 ];\r\n\t\t\t\t\t\t\tutility.trigger( elm.mSlider.input2, 'change' );\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// Do nothing not valid\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\r\n\t\t\t\telm.mSlider.getValue = function getValue() {\r\n\t\t\t\t\treturn elm.mSlider.sliderObject.getValue();\r\n\t\t\t\t};\r\n\r\n\t\t\t\telm.mSlider.setSettings = function setSettings( newSettings ) {\r\n\t\t\t\t\tmSliderFn.setSettings( elm, newSettings );\r\n\r\n\t\t\t\t\telm.mSlider.sliderObject.destroy();\r\n\t\t\t\t\t// Just give it a tiny bit of time to full destroy the old slider first\r\n\t\t\t\t\tsetTimeout( function timeoutFn() {\r\n\t\t\t\t\t\tmSliderFn.setupNewSlider( elm, id, labels );\r\n\t\t\t\t\t\tmSliderFn.updateSliderInitial( elm );\r\n\t\t\t\t\t}, 10 );\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\treturn elm.mSlider;\r\n\t\t},\r\n\r\n\t\t// eslint-disable-next-line complexity\r\n\t\tsetSettings : function( elm, newSettings ) {\r\n\t\t\tif ( typeof newSettings.min === 'number' ) {\r\n\t\t\t\telm.mSlider.settings.rangeMin = newSettings.min;\r\n\t\t\t}\r\n\t\t\tif ( typeof newSettings.max === 'number' ) {\r\n\t\t\t\telm.mSlider.settings.rangeMax = newSettings.max;\r\n\t\t\t}\r\n\t\t\tif ( typeof newSettings.step === 'number' ) {\r\n\t\t\t\telm.mSlider.settings.rangeStep = newSettings.step;\r\n\t\t\t}\r\n\t\t\tif ( ( elm.mSlider.settings.range && Array.isArray( newSettings.value ) ) || ( typeof newSettings.value === 'number' && !elm.mSlider.settings.range ) ) {\r\n\t\t\t\telm.mSlider.settings.rangeValue = newSettings.value;\r\n\t\t\t}\r\n\t\t\tif ( Array.isArray( newSettings.ticks ) ) {\r\n\t\t\t\telm.mSlider.settings.rangeTicks = newSettings.ticks;\r\n\t\t\t}\r\n\t\t\tif ( Array.isArray( newSettings.ticksPositions ) ) {\r\n\t\t\t\telm.mSlider.settings.rangeTicksPositions = newSettings.ticksPositions;\r\n\t\t\t}\r\n\t\t\tif ( Array.isArray( newSettings.ticksLabels ) ) {\r\n\t\t\t\telm.mSlider.settings.rangeTicksLabels = newSettings.ticksLabels;\r\n\t\t\t}\r\n\t\t\tif ( typeof newSettings.format === 'string' ) {\r\n\t\t\t\telm.mSlider.settings.rangeFormat = newSettings.format;\r\n\t\t\t}\r\n\t\t\tif ( typeof newSettings.valueLabel === 'string' ) {\r\n\t\t\t\telm.mSlider.settings.rangeValueLabel = newSettings.valueLabel;\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tsetupNewSlider : function( elm, id, labels ) {\r\n\t\t\telm.mSlider.sliderObject = new Slider( '#' + id, {\r\n\t\t\t\tmin : elm.mSlider.settings.rangeMin,\r\n\t\t\t\tmax : elm.mSlider.settings.rangeMax,\r\n\t\t\t\tstep : elm.mSlider.settings.rangeStep,\r\n\t\t\t\tvalue : elm.mSlider.settings.rangeValue,\r\n\t\t\t\tticks : elm.mSlider.settings.rangeTicks,\r\n\t\t\t\tticks_labels : elm.mSlider.settings.rangeTicksLabels,\r\n\t\t\t\tticks_positions : elm.mSlider.settings.rangeTicksPositions,\r\n\t\t\t\trange : elm.mSlider.settings.range,\r\n\t\t\t\tenabled : elm.mSlider.settings.rangeEnabled,\r\n\t\t\t\ttooltip : 'hide',\r\n\t\t\t\thandle : 'round',\r\n\t\t\t\tid : id + '__slider',\r\n\t\t\t\tfocus : true,\r\n\t\t\t\tlabelledby : labels,\r\n\t\t\t});\r\n\r\n\t\t\telm.mSlider.sliderObject.on( 'slide', function listener() {\r\n\t\t\t\tmSliderFn.updateInputs( elm );\r\n\t\t\t});\r\n\t\t\telm.mSlider.sliderObject.on( 'slideStart', function listener() {\r\n\t\t\t\telm.mSlider.sliderWrapper.classList.add( 'is-sliding' );\r\n\t\t\t});\r\n\t\t\telm.mSlider.sliderObject.on( 'slideStop', function listener() {\r\n\t\t\t\telm.mSlider.sliderWrapper.classList.remove( 'is-sliding' );\r\n\t\t\t\tmSliderFn.updateInputs( elm );\r\n\t\t\t});\r\n\r\n\t\t\tif ( elm.mSlider.settings.range ) {\r\n\t\t\t\tmSliderFn.addEventListeners( elm, elm.mSlider.input1 );\r\n\t\t\t\tmSliderFn.addEventListeners( elm, elm.mSlider.input2 );\r\n\t\t\t} else {\r\n\t\t\t\tmSliderFn.addEventListeners( elm, elm.mSlider.inputElements );\r\n\t\t\t}\r\n\r\n\t\t\telm.mSlider.sliderElement = elm.mSlider.sliderContainerArea.querySelector( '#' + id + '__slider' );\r\n\r\n\t\t\telm.mSlider.labelSlider.addEventListener( 'click', function listener() {\r\n\t\t\t\telm.mSlider.sliderElement.querySelector( '.slider-handle:first' ).focus();\r\n\t\t\t});\r\n\r\n\t\t\t// Add tooltip to slider icons to improve keyboard navigation accessibility (minimum slider handle)\r\n\t\t\telm.mSlider.minHandle = elm.mSlider.sliderElement.querySelectorAll( '.min-slider-handle' );\r\n\t\t\telm.mSlider.minHandle.forEach( function loop( min ) {\r\n\t\t\t\tif ( min.nextSibling.classList.contains( 'hide' ) ) {\r\n\t\t\t\t\tmin.innerHTML = '
' );\r\n\t\t\t\t\telm.mSlider.input2.insertAdjacentHTML( 'afterend', '' );\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif ( utility.matches( elm.mSlider.input1, ':disabled' ) || utility.matches( elm.mSlider.input2, ':disabled' ) ) {\r\n\t\t\t\t\telm.mSlider.settings.rangeEnabled = false;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\telm.mSlider.settings.range = false;\r\n\t\t\t\telm.mSlider.inputElements = elm;\r\n\r\n\t\t\t\tif ( !utility.matches( elm.mSlider.inputElements, 'input' ) ) {\r\n\t\t\t\t\telm.mSlider.inputElements = elm.querySelector( 'select' );\r\n\t\t\t\t}\r\n\r\n\t\t\t\tinitialValue = mSliderFn.formatValue( elm, elm.mSlider.settings.rangeValue );\r\n\r\n\t\t\t\tif ( utility.matches( elm.mSlider.inputElements, ':disabled' ) ) {\r\n\t\t\t\t\telm.mSlider.settings.rangeEnabled = false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tmSliderFn.setupSliderMarkup( elm, id, initialValue );\r\n\t\t},\r\n\r\n\t\tsetupSliderMarkup : function( elm, id, initialValue ) {\r\n\t\t\telm.mSlider.labelOriginal = utility.siblings( elm.closest( '.m-form-row__content' ), '.a-label' )[ 0 ];\r\n\t\t\telm.mSlider.labelOriginal.classList.add( 'm-slider-label--original' );\r\n\t\t\telm.mSlider.labelOriginal.insertAdjacentHTML( 'afterend', '' );\r\n\t\t\telm.mSlider.labelSlider = elm.mSlider.labelOriginal.nextElementSibling;\r\n\r\n\t\t\telm.mSlider.sliderWrapper = utility.htmlStringToElement( '' );\r\n\t\t\tutility.wrap( elm.mSlider.inputWrapper, elm.mSlider.sliderWrapper );\r\n\t\t\tif ( elm.mSlider.settings.range ) {\r\n\t\t\t\telm.mSlider.sliderWrapper.classList.add( 'm-slider-wrapper--range' );\r\n\t\t\t}\r\n\r\n\t\t\tmSliderFn.addPrefixSuffixToInput( elm );\r\n\r\n\t\t\telm.mSlider.sliderValueArea = utility.htmlStringToElement( '' );\r\n\t\t\telm.mSlider.sliderWrapper.append( elm.mSlider.sliderValueArea );\r\n\r\n\t\t\tif ( elm.mSlider.settings.replayValue ) {\r\n\t\t\t\telm.mSlider.sliderWrapper.classList.add( 'm-slider-wrapper--with-playback' );\r\n\t\t\t\telm.mSlider.sliderValue = utility.htmlStringToElement( ' ';\r\n\t\t\t\t\tmin.setAttribute( 'title', 'Increase/decrease range value' );\r\n\t\t\t\t} else {\r\n\t\t\t\t\tmin.innerHTML = ' ';\r\n\t\t\t\t\tmin.setAttribute( 'title', 'Increase/decrease minimum range value' );\r\n\t\t\t\t}\r\n\t\t\t\t// Display on keyboard focus\r\n\t\t\t\tmin.addEventListener( 'keyup', function listener() {\r\n\t\t\t\t\tmin.childNodes[ 0 ].style.display = 'block';\r\n\t\t\t\t});\r\n\t\t\t\t// Prevent tooltip from breaking out of the viewport\r\n\t\t\t\tmin.addEventListener( 'keydown', function listener() {\r\n\t\t\t\t\tlet windowWidth = document.body.clientWidth;\r\n\t\t\t\t\tlet tTipLoc = min.childNodes[ 0 ].getBoundingClientRect();\r\n\t\t\t\t\tlet rightDist = windowWidth - tTipLoc.left - tTipLoc.width - 2;\r\n\t\t\t\t\tif ( tTipLoc.left <= 0 ) {\r\n\t\t\t\t\t\tmin.childNodes[ 0 ].style.left = ( min.childNodes[ 0 ].style.left.split( 'px' )[ 0 ] - tTipLoc.left ) + 'px';\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif ( rightDist <= 0 ) {\r\n\t\t\t\t\t\tmin.childNodes[ 0 ].style.left = ( min.childNodes[ 0 ].style.left.split( 'px' )[ 0 ] - ( -rightDist ) ) + 'px';\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif ( min.style.left.split( '%' )[ 0 ] <= 0 ) {\r\n\t\t\t\t\t\tmin.childNodes[ 0 ].style.left = '';\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\t// Hide on keyboard focusout\r\n\t\t\t\tmin.addEventListener( 'focusout', function listener() {\r\n\t\t\t\t\tmin.childNodes[ 0 ].style.display = 'none';\r\n\t\t\t\t});\r\n\t\t\t\t// Hide on mouse interaction\r\n\t\t\t\tmin.addEventListener( 'mouseover', function listener() {\r\n\t\t\t\t\tmin.childNodes[ 0 ].style.display = 'none';\r\n\t\t\t\t});\r\n\t\t\t});\r\n\r\n\t\t\t// Add tooltip to slider icons to improve keyboard navigation accessibility (maximum slider handle)\r\n\t\t\telm.mSlider.maxHandle = elm.mSlider.sliderElement.querySelectorAll( '.max-slider-handle' );\r\n\t\t\telm.mSlider.maxHandle.forEach( function loop( max ) {\r\n\t\t\t\tmax.innerHTML = ' ';\r\n\t\t\t\tmax.setAttribute( 'title', 'Increase/decrease maximum range value' );\r\n\t\t\t\t// Display tooltip on keyboard focus\r\n\t\t\t\tmax.addEventListener( 'keyup', function listener() {\r\n\t\t\t\t\tmax.childNodes[ 0 ].style.display = 'block';\r\n\t\t\t\t});\r\n\t\t\t\t// Prevent tooltip from breaking out of the viewport\r\n\t\t\t\tmax.addEventListener( 'keydown', function listener() {\r\n\t\t\t\t\tlet windowWidth = document.body.clientWidth;\r\n\t\t\t\t\tlet tTipLoc = max.childNodes[ 0 ].getBoundingClientRect();\r\n\t\t\t\t\tlet rightDist = windowWidth - tTipLoc.left - tTipLoc.width;\r\n\t\t\t\t\tif ( tTipLoc.left <= 0 ) {\r\n\t\t\t\t\t\tmax.childNodes[ 0 ].style.left = ( max.childNodes[ 0 ].style.left.split( 'px' )[ 0 ] - tTipLoc.left ) + 'px';\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif ( rightDist <= 0 ) {\r\n\t\t\t\t\t\tmax.childNodes[ 0 ].style.left = ( max.childNodes[ 0 ].style.left.split( 'px' )[ 0 ] - ( -rightDist ) ) + 'px';\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif ( max.style.left.split( '%' )[ 0 ] <= 0 ) {\r\n\t\t\t\t\t\tmax.childNodes[ 0 ].style.left = '';\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\t// Hide on keyboard focusout\r\n\t\t\t\tmax.addEventListener( 'focusout', function listener() {\r\n\t\t\t\t\tmax.childNodes[ 0 ].style.display = 'none';\r\n\t\t\t\t});\r\n\t\t\t\t// Hide on keyboard interation\r\n\t\t\t\tmax.addEventListener( 'mouseover', function listener() {\r\n\t\t\t\t\tmax.childNodes[ 0 ].style.display = 'none';\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t},\r\n\r\n\t\tgetSliderInputs : function( elm, id ) {\r\n\t\t\tvar initialValue = '';\r\n\r\n\t\t\tif ( elm.mSlider.settings.range ) {\r\n\t\t\t\telm.mSlider.settings.range = true;\r\n\t\t\t\telm.mSlider.inputElements = elm.querySelectorAll( 'input, select' );\r\n\t\t\t\telm.mSlider.input1 = elm.mSlider.inputElements[ 0 ];\r\n\t\t\t\telm.mSlider.input2 = elm.mSlider.inputElements[ 1 ];\r\n\r\n\t\t\t\tinitialValue = mSliderFn.formatValue( elm, elm.mSlider.settings.rangeValue[ 0 ] + ' - ' + elm.mSlider.settings.rangeValue[ 1 ] );\r\n\r\n\t\t\t\tif ( utility.matches( elm.mSlider.input1, 'input' ) ) {\r\n\t\t\t\t\telm.classList.add( 'm-slider--input-range' );\r\n\t\t\t\t\telm.mSlider.input1.insertAdjacentHTML( 'afterend', ' ' );\r\n\t\t\t\tif ( elm.mSlider.rangeValueLabel ) {\r\n\t\t\t\t\telm.mSlider.sliderValue.prepend( utility.htmlStringToElement( ' ' ) );\r\n\t\t\t\t\telm.mSlider.sliderValue.classList.add( 'm-slider-replay-container-value--labeled' );\r\n\t\t\t\t}\r\n\t\t\t\telm.mSlider.sliderValueArea.append( elm.mSlider.sliderValue );\r\n\t\t\t\telm.mSlider.sliderValue = elm.mSlider.sliderValue.querySelector( '.m-slider-replay-container-value__value' );\r\n\r\n\t\t\t\tif ( elm.mSlider.settings.range ) {\r\n\t\t\t\t\telm.mSlider.inputElements.forEach( function loop( inputElm ) {\r\n\t\t\t\t\t\tinputElm.setAttribute( 'tabindex', -1 );\r\n\t\t\t\t\t\tinputElm.setAttribute( 'aria-hidden', true );\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\telm.mSlider.inputElements.setAttribute( 'tabindex', -1 );\r\n\t\t\t\t\telm.mSlider.inputElements.setAttribute( 'aria-hidden', true );\r\n\t\t\t\t}\r\n\t\t\t} else if ( elm.mSlider.settings.inlineInput ) {\r\n\t\t\t\t// If the input should be inline then move the input so the layout will work\r\n\t\t\t\telm.mSlider.sliderWrapper.classList.add( 'm-slider-wrapper--with-inline' );\r\n\t\t\t\telm.mSlider.sliderValueArea.append( elm.mSlider.inputWrapper );\r\n\t\t\t\telm.mSlider.sliderValueAreaInput = utility.htmlStringToElement( '' );\r\n\t\t\t\tutility.wrap( elm.mSlider.inputWrapper, elm.mSlider.sliderValueAreaInput );\r\n\t\t\t\tif ( elm.mSlider.rangeValueLabel ) {\r\n\t\t\t\t\telm.mSlider.sliderValueAreaInput.prepend( utility.htmlStringToElement( ' ' ) );\r\n\t\t\t\t}\r\n\t\t\t} else if ( elm.mSlider.rangeValueLabel ) {\r\n\t\t\t\telm.mSlider.sliderWrapper.prepend( utility.htmlStringToElement( ' ' ) );\r\n\t\t\t} else {\r\n\t\t\t\t// Do nothing\r\n\t\t\t}\r\n\r\n\t\t\telm.mSlider.sliderContainerArea = utility.htmlStringToElement( '' );\r\n\t\t\telm.mSlider.sliderValueArea.append( elm.mSlider.sliderContainerArea );\r\n\r\n\t\t\telm.mSlider.sliderInput = utility.htmlStringToElement( '' );\r\n\t\t\telm.mSlider.sliderContainerArea.append( elm.mSlider.sliderInput );\r\n\t\t},\r\n\r\n\t\telementId : function( element, proposedId ) {\r\n\t\t\tvar newId = element.getAttribute( 'id' );\r\n\t\t\tif ( !newId ) {\r\n\t\t\t\telement.setAttribute( 'id', proposedId );\r\n\t\t\t\tnewId = proposedId;\r\n\t\t\t}\r\n\r\n\t\t\treturn newId;\r\n\t\t},\r\n\r\n\t\taddEventListeners : function( elm, element ) {\r\n\t\t\telement.addEventListener( 'keyup', function listener() {\r\n\t\t\t\tmSliderFn.updateSlider( elm );\r\n\t\t\t});\r\n\t\t\telement.addEventListener( 'change', function listener() {\r\n\t\t\t\tmSliderFn.updateSlider( elm );\r\n\t\t\t});\r\n\t\t},\r\n\r\n\t\taddPrefixSuffixToInput : function( elm ) {\r\n\t\t\tvar prefixSuffix = elm.mSlider.settings.rangeFormat.split( '{d}' ),\r\n\t\t\t\tprefixSuffixElement,\r\n\t\t\t\ti;\r\n\r\n\t\t\tif ( elm.mSlider.settings.hasPrefix ) {\r\n\t\t\t\tutility.wrap( elm, utility.htmlStringToElement( '' ) );\r\n\t\t\t} else {\r\n\t\t\t\telm.mSlider.inputWrapper = utility.htmlStringToElement( '' );\r\n\t\t\t\telm.mSlider.inputWrapperInner = utility.htmlStringToElement( '' );\r\n\t\t\t\tutility.wrap( elm, elm.mSlider.inputWrapperInner );\r\n\t\t\t\tutility.wrap( elm, utility.htmlStringToElement( '' ) );\r\n\t\t\t\tutility.wrap( elm.mSlider.inputWrapperInner, elm.mSlider.inputWrapper );\r\n\r\n\t\t\t\tfor ( i = 0; i < prefixSuffix.length; i++ ) {\r\n\t\t\t\t\tif ( prefixSuffix[ i ] === '' ) {\r\n\t\t\t\t\t\t// Do nothing as blank\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tprefixSuffixElement = utility.htmlStringToElement( '' + prefixSuffix[ i ] + '' );\r\n\t\t\t\t\t\tif ( i === 0 ) {\r\n\t\t\t\t\t\t\telm.mSlider.inputWrapperInner.prepend( prefixSuffixElement );\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\telm.mSlider.inputWrapperInner.append( prefixSuffixElement );\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif ( elm.mSlider.settings.range ) {\r\n\t\t\t\tmSliderFn.removePrefixSuffixFromDropdown( elm.mSlider.input1, prefixSuffix[ 0 ], prefixSuffix[ 1 ] );\r\n\t\t\t\tmSliderFn.removePrefixSuffixFromDropdown( elm.mSlider.input2, prefixSuffix[ 0 ], prefixSuffix[ 1 ] );\r\n\t\t\t} else {\r\n\t\t\t\tmSliderFn.removePrefixSuffixFromDropdown( elm.mSlider.inputElements, prefixSuffix[ 0 ], prefixSuffix[ 1 ] );\r\n\t\t\t}\r\n\r\n\t\t\t// If there are any prefix or suffix added then make sure the styling is adjusted appropriately\r\n\t\t\tif ( !elm.mSlider.inputWrapper.querySelector( '.m-form-affix__label' ) ) {\r\n\t\t\t\telm.mSlider.inputWrapper.classList.add( 'has-no-affix' );\r\n\t\t\t}\r\n\r\n\t\t\t// Add presentation role attribute to prevent screen reader announcing table\r\n\t\t\telm.mSlider.inputWrapper.querySelector( '.m-form-affix__label-wrapper' ).setAttribute( 'role', 'presentation' ); // Table\r\n\t\t},\r\n\r\n\t\tremovePrefixSuffixFromDropdown : function( element, prefix, suffix ) {\r\n\t\t\tvar i,\r\n\t\t\t\toptions;\r\n\t\t\tif ( utility.matches( element, 'select' ) ) {\r\n\t\t\t\toptions = element.querySelectorAll( 'option' );\r\n\t\t\t\tfor ( i = 0; i < options.length; i++ ) {\r\n\t\t\t\t\tif ( prefix !== '' && options[ i ].textContent.indexOf( prefix ) === 0 ) {\r\n\t\t\t\t\t\toptions[ i ].textContent = options[ i ].textContent.slice( prefix.length );\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif ( suffix !== '' && options[ i ].textContent.indexOf( suffix ) === ( options[ i ].textContent.length - suffix.length ) ) {\r\n\t\t\t\t\t\toptions[ i ].textContent = options[ i ].textContent.slice( 0, -suffix.length );\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tformatValue : function( elm, value ) {\r\n\t\t\tvar formattedValue = elm.mSlider.settings.rangeFormat;\r\n\t\t\treturn formattedValue.replace( '{d}', ' ' + value + ' ' );\r\n\t\t},\r\n\r\n\t\tupdateInputs : function( elm ) {\r\n\t\t\tvar value = elm.mSlider.sliderObject.getValue(),\r\n\t\t\t\treplayValue;\r\n\t\t\tif ( elm.mSlider.settings.range ) {\r\n\t\t\t\treplayValue = mSliderFn.formatValue( elm, value[ 0 ] + ' - ' + value[ 1 ] );\r\n\t\t\t\telm.mSlider.input1.value = value[ 0 ];\r\n\t\t\t\telm.mSlider.input2.value = value[ 1 ];\r\n\t\t\t} else {\r\n\t\t\t\treplayValue = mSliderFn.formatValue( elm, value );\r\n\t\t\t\telm.mSlider.inputElements.value = value;\r\n\t\t\t}\r\n\r\n\t\t\tif ( elm.mSlider.settings.replayValue ) {\r\n\t\t\t\telm.mSlider.sliderValue.innerHTML = replayValue;\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tupdateSliderInitial : function( elm ) {\r\n\t\t\tvar value1,\r\n\t\t\t\tvalue2,\r\n\t\t\t\tvalue,\r\n\t\t\t\tvalues,\r\n\t\t\t\treplayValue;\r\n\r\n\t\t\tif ( elm.mSlider.settings.range ) {\r\n\t\t\t\tvalue1 = elm.mSlider.input1.value;\r\n\t\t\t\tvalue2 = elm.mSlider.input2.value;\r\n\r\n\t\t\t\tif ( value1 === '' ) {\r\n\t\t\t\t\tvalue1 = elm.mSlider.settings.rangeValue[ 0 ];\r\n\t\t\t\t}\r\n\t\t\t\tif ( value2 === '' ) {\r\n\t\t\t\t\tvalue2 = elm.mSlider.settings.rangeValue[ 1 ];\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvalues = [ mSliderFn.validateNumber( elm, value1 ), mSliderFn.validateNumber( elm, value2 ) ];\r\n\r\n\t\t\t\t// Sort the values so they are in assending order\r\n\t\t\t\tvalues.sort( function sort( a, b ) {\r\n\t\t\t\t\treturn a - b;\r\n\t\t\t\t});\r\n\r\n\t\t\t\treplayValue = mSliderFn.formatValue( elm, values[ 0 ] + ' - ' + values[ 1 ] );\r\n\t\t\t\telm.mSlider.sliderObject.setValue( values );\r\n\t\t\t} else {\r\n\t\t\t\tvalue = utility.escapeHtml( elm.mSlider.inputElements.value );\r\n\r\n\t\t\t\tif ( value === '' ) {\r\n\t\t\t\t\tvalue = elm.mSlider.settings.rangeValue;\r\n\t\t\t\t}\r\n\r\n\t\t\t\treplayValue = mSliderFn.formatValue( elm, value );\r\n\t\t\t\telm.mSlider.sliderObject.setValue( value );\r\n\t\t\t}\r\n\r\n\t\t\tif ( elm.mSlider.settings.replayValue ) {\r\n\t\t\t\telm.mSlider.sliderValue.innerHTML = replayValue;\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tupdateSlider : function( elm ) {\r\n\t\t\tvar finalValue,\r\n\t\t\t\treplayValue;\r\n\t\t\tif ( elm.mSlider.settings.range ) {\r\n\t\t\t\tfinalValue = [ mSliderFn.validateNumber( elm, elm.mSlider.input1.value ), mSliderFn.validateNumber( elm, elm.mSlider.input2.value ) ];\r\n\r\n\t\t\t\t// Sort the values so they are in assending order\r\n\t\t\t\tfinalValue.sort( function sort( a, b ) {\r\n\t\t\t\t\treturn a - b;\r\n\t\t\t\t});\r\n\r\n\t\t\t\treplayValue = mSliderFn.formatValue( elm, finalValue[ 0 ] + ' - ' + finalValue[ 1 ] );\r\n\t\t\t\telm.mSlider.sliderObject.setValue( finalValue );\r\n\t\t\t} else {\r\n\t\t\t\tfinalValue = mSliderFn.validateNumber( elm, elm.mSlider.inputElements.value );\r\n\r\n\t\t\t\treplayValue = mSliderFn.formatValue( elm, finalValue );\r\n\t\t\t\telm.mSlider.sliderObject.setValue( finalValue );\r\n\t\t\t}\r\n\r\n\t\t\tif ( elm.mSlider.settings.replayValue ) {\r\n\t\t\t\telm.mSlider.sliderValue.innerHTML = replayValue;\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tvalidateNumber : function( elm, value ) {\r\n\t\t\tvar newValue = Number.parseFloat( value );\r\n\r\n\t\t\tif ( Number.isNaN( newValue ) || newValue < elm.mSlider.settings.rangeMin ) {\r\n\t\t\t\tnewValue = elm.mSlider.settings.rangeMin;\r\n\t\t\t} else if ( newValue > elm.mSlider.settings.rangeMax ) {\r\n\t\t\t\tnewValue = elm.mSlider.settings.rangeMax;\r\n\t\t\t} else {\r\n\t\t\t\t// Do nothing\r\n\t\t\t}\r\n\r\n\t\t\treturn newValue;\r\n\t\t},\r\n\r\n\t\tresize : function( elm ) {\r\n\t\t\tvar newBreakpoint = utility.getBreakpoint(),\r\n\t\t\t\telmWidth;\r\n\r\n\t\t\telm.mSlider.settings.currentBreakpoint = newBreakpoint;\r\n\t\t\telm.mSlider.sliderWrapper.classList.remove( 'm-slider-wrapper--stacked' );\r\n\r\n\t\t\t// Only relayout the slider if it is being shown\r\n\t\t\tif ( newBreakpoint !== utility.smallTag ) {\r\n\t\t\t\telmWidth = [ elm.mSlider.sliderContainerArea.clientWidth, window.getComputedStyle( elm.mSlider.sliderContainerArea ).paddingLeft, window.getComputedStyle( elm.mSlider.sliderContainerArea ).paddingRight ]; // eslint-disable-line max-len\r\n\t\t\t\telmWidth = utility.subtractMeasurements( elmWidth );\r\n\r\n\t\t\t\tif ( elm.mSlider.sliderElement.clientWidth > elmWidth ) {\r\n\t\t\t\t\telm.mSlider.sliderWrapper.classList.add( 'm-slider-wrapper--stacked' );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telm.mSlider.sliderObject.relayout();\r\n\t\t},\r\n\t};\r\n\r\n\treturn {\r\n\t\tinitInstance : function( elm, settings ) {\r\n\t\t\treturn mSliderFn.init( elm, settings );\r\n\t\t},\r\n\t};\r\n});\r\n"]}