Spark
v1
  • Spark v3
  • Spark v2
  • Spark v1
  • Design Foundations
    • Animations
    • Color Palette
    • Iconography
    • Layout Guidelines
    • Sabre Logo Guidelines
    • Guiding Principles
    • Spark Themes
    • Typography
    • Voice and Tone
    • View All Foundations
  • UI Components
    • Containers & Navigation
      • Carousel
      • Expand & Collapse
      • Footer
      • Header & Navigation
      • Modals
      • Pagination and View More
      • Panels
      • Panel Menu
      • Responsive Grid
      • Scroll to Top
      • Tables
      • Tabs
      • Toolbar
    • Data Visualization
      • Introduction to Data Visualization
      • Color Palettes for Data Visualization
      • Bar Charts
      • Gauges
      • Line Graphs
      • Pie and Donut Charts
    • Form Elements
      • Buttons
      • Checkboxes
      • Date Selection
      • Multi-Select
      • Number Selector
      • Radio Buttons
      • Select Input
      • Sliders
      • Text Input
      • Toggles and Switches
    • Messaging & Content
      • Links
      • Messages
      • Popovers
      • Progress Indicators
      • Step Indicator
      • Tooltips
    • Page Templates
      • Sign-In Screen
      • Single Container Layout
      • Single Container with Side Menu Layout
      • Splash Screen
      • Tabbed Container Layout
      • Tabbed Container with Side Menu Layout
    • View All Components
  • Resources
    • Designer
      • Application Icons
    • Developer
      • Browser Support
      • Changelog
      • CSS Helper Classes
      • Javascript API Documentation
        • Back to Main Menu
        • Javscript API Documentation
        • Main
        • components/ base.js
          • BaseComponent
          • requestAnimationFrame
          • cancelAnimationFrame
          • breakpoints
          • exportjQuery
          • loadOrCreateJQueryInstance
          • setParams
          • unsetParams
          • toggleClass
          • addClass
          • removeClass
          • hasClass
          • getChildIndex
          • elementHasParent
          • elementMatches
          • getElementMatchingParent
          • getElementMatchingParents
          • getElementOffset
          • getNodeListIndex
          • trim
          • round
          • appendChildren
          • insertBefore
          • getBreakpoint
          • remove
          • triggerEvent
          • scrollWindowTo
          • tween
          • copyAttributes
          • wrapElement
          • range
          • getSiblingBefore
          • getSiblingAfter
          • getMatchingChild
          • getElementMatchingChildren
        • components / calendar-popover.js
        • components/ carousel.js
          • Carousel
          • _setParams
          • defaults
          • _whitelistedParams
          • _carouselItem
          • _init
          • remove
          • _pause
          • _setPause
          • _autoAdvance
          • _setupListeners
          • _removeListeners
          • _handleVisibleChildrenH
          • _forward
          • _back
          • _movestart
          • _move
          • _moveend
          • _resize
          • change
          • _touchstart
          • _touchmove
          • _touchend
          • _mousedown
          • _mousemove
          • _mouseup
          • _click
          • _velocity
          • _scrollToClicked
          • _scrollTo
          • _rafHandlerH
          • _rafCancel
          • _interiaScroll
          • _settle
          • _transformItems
          • _setTransformItems
          • _addTransform
          • _leftbound
          • _rightbound
          • _updateSelected
          • _selectedItem
          • _setTransform
        • components/ date-input.js
          • DateInput
          • _setParams
          • setError
          • _whitelistedParams
          • defaults
          • show
          • hide
          • remove
          • setValue
          • validate
          • updateInput
          • focus
          • focusNext
          • focusPrevious
          • hasPartialValue
          • _cacheElements
          • _parseParams
          • _initializeInputs
          • _initializeInputPieces
          • _initializeTypeaheadPiece
          • _initializeSelectPiece
          • _convertLabel
          • _validateTypeaheads
          • _validateTypeaheadBounds
          • _padTypeaheads
          • _padTypeahead
          • _hasTypeaheadValue
          • _validateSelects
          • _getMaxDaysInMonth
          • _bindEventListenerCallbacks
          • _addEventListeners
          • _removeEventListeners
          • _onVisibleChildren
          • update
          • _runTypeaheads
          • _updateClass
          • _getTypeaheadByElement
          • _showDateText
          • _hideDateText
          • _createDateTextEl
          • _getDateText
          • _onPieceChange
          • _onTypeaheadFocus
          • _onTypeaheadBlur
          • _onTypeaheadBackspace
          • _onTypeaheadEnd
          • _onInputChange
          • _onClick
        • components/ expand.js
          • Expand
          • _setParams
          • defaults
          • _whitelistedParams
          • expand
          • collapse
          • toggle
          • _cacheElements
          • _updateClasses
          • _bindEventListenerCallbacks
          • _addEventListeners
          • _removeEventListeners
          • _onClick
          • _onKeydown
        • components/ header.js
          • Header
          • _setParams
          • _whitelistedParams
          • defaults
          • update
          • checkFixed
          • _cacheElements
          • _bindEventListenerCallbacks
          • _addEventListeners
          • _removeEventListeners
          • _getCurrentBreakpoint
          • _createPlaceholder
          • _removePlaceholder
          • _disablePlaceholderLinkTab
          • _createListMore
          • _determineInitialSize
          • _determineMenuSize
          • _listenForReadyStateChange
          • _isMenuBreakpoint
          • _getItemsToShowAndHide
          • _ensureActiveAtMoreSwapIndex
          • _addListMore
          • _removeListMore
          • _resetMenuChildren
          • _toggleCollapsed
          • _enableTopLevelToggling
          • _disableTopLevelToggling
          • _onResize
          • _onScroll
          • _onMoreClick
          • _onToggleClick
          • _onNavClick
        • components/ menu.js
          • Menu
          • _setParams
          • _whitelistedParams
          • defaults
          • _cacheElements
          • _bindEventListenerCallbacks
          • _addEventListeners
          • _removeEventListeners
          • _toggleItem
          • _checkAnimation
          • _createMenuAnimationWrapper
          • _animateListChange
          • _appendList
          • _removeLastList
          • _removeAllCachedLists
          • _getNextList
          • _openItem
          • _closeItem
          • _activateItem
          • _activateItemParents
          • _deactivateItems
          • _deactivateItemSiblings
          • _openActiveParents
          • _cachedListContainsID
          • _onClick
          • _onFocus
          • _onBlur
        • components/ modal.js
          • Modal
          • _setParams
          • defaults
          • _whitelistedParams
          • open
          • close
          • _cacheElements
          • _updateClasses
          • _bindEventListenerCallbacks
          • _addEventListeners
          • _removeEventListeners
          • _addWindowEventListeners
          • _removeWindowEventListeners
          • _onClick
          • _onModalClick
          • _onKeyup
        • components / number-picker.js
        • components/ number-selector.js
          • NumberSelector
          • _setParams
          • _whitelistedParams
          • defaults
          • value
          • increment
          • decrement
          • disable
          • enable
          • _cacheElements
          • _bindEventListenerCallbacks
          • _addEventListeners
          • _removeEventListeners
          • _getMin
          • _getMax
          • _getStep
          • _getInputPropAsNumber
          • _getConformedNumber
          • _onClick
          • _onChange
        • components/ popover.js
          • Popover
          • _setParams
          • _whitelistedParams
          • defaults
          • open
          • close
          • toggle
          • setContent
          • pause
          • resume
          • _cacheElements
          • _moveContent
          • _determineDirectionAndAnchor
          • _updateAttributes
          • _updatePosition
          • _clearPosition
          • _updateCaretAnchorPosition
          • _bindEventListenerCallbacks
          • _addEventListeners
          • _removeEventListeners
          • _addWindowEventListeners
          • _removeWindowEventListeners
          • _createContentEl
          • _createCaretEl
          • _onClick
          • _onContentClick
          • _onWindowClick
          • _onWindowResize
        • components/ progress-indicator.js
          • ProgressIndicator
          • _setParams
          • _whitelistedParams
          • defaults
          • set
          • _cacheElements
          • _cacheSize
          • _determineSize
          • _buildSVG
          • _parseNotes
          • _updateDOM
          • _bindEventListenerCallbacks
          • _addEventListeners
          • _removeEventListeners
          • _onResize
        • components/ range-slider.js
          • RangeSlider
          • _setParams
          • _whitelistedParams
          • defaults
          • start
          • move
          • stop
          • setValue
          • increment
          • decrement
          • remove
          • _cacheElements
          • _cacheSize
          • _updateHandlePosition
          • _updateActiveClasses
          • _updateDisabledClasses
          • _bindEventListenerCallbacks
          • _addEventListeners
          • _removeEventListeners
          • _addMoveEventListeners
          • _removeMoveEventListeners
          • _onTouchStart
          • _onTouchMove
          • _onTouchEnd
          • _onMouseDown
          • _onMouseMove
          • _onMouseUp
          • _onVisibleChildren
          • _onResize
          • _onFocus
          • _onKeydown
          • _onBlur
          • _onChange
          • _onClick
        • components / scroll-to-top.js
        • components/ select-input.js
          • SelectInput
          • _setParams
          • _whitelistedParams
          • defaults
          • getValue
          • setValue
          • setOptions
          • setLabel
          • _cacheElements
          • _bindEventListenerCallbacks
          • _addEventListeners
          • _removeEventListeners
          • _updateClass
          • _onFocus
          • _onBlur
          • _onInput
        • components/ slider.js
          • Slider
          • _setParams
          • _whitelistedParams
          • defaults
          • start
          • move
          • stop
          • setValue
          • increment
          • decrement
          • remove
          • _cacheElements
          • _cacheSize
          • _updateHandlePosition
          • _updateActiveClasses
          • _bindEventListenerCallbacks
          • _addEventListeners
          • _removeEventListeners
          • _addMoveEventListeners
          • _removeMoveEventListeners
          • _truncateValueText
          • _onTouchStart
          • _onTouchMove
          • _onTouchEnd
          • _onMouseDown
          • _onMouseMove
          • _onMouseUp
          • _onMouseOut
          • _onResize
          • _onFocus
          • _onKeydown
          • _onBlur
          • _onChange
          • _onClick
          • _onWindowClick
        • components / step-indicator.js
        • components/ table.js
          • Table
          • _setParams
          • _whitelistedParams
          • defaults
          • disableCell
          • enableCell
          • disableRow
          • enableRow
          • disableColumn
          • enableColumn
          • remove
          • activateRow
          • activateRows
          • deactivateRow
          • deactivateRows
          • getActiveRows
          • _cacheElements
          • _parseParams
          • _bindEventListenerCallbacks
          • _addEventListeners
          • _removeEventListeners
          • _addResizeListeners
          • _removeResizeListeners
          • _toggleRowActive
          • _makeRowActive
          • _makeRowInActive
          • _toggleRowsActive
          • _toggleSelectAll
          • _uncheckSelectAll
          • _deactivateAllInputs
          • _deactivateInputs
          • _deactivateInput
          • _activateInputs
          • _activateInput
          • _activateInputOrFocusDown
          • _disableRowsColumnsCells
          • _focusUp
          • _focusDown
          • _focusUpDown
          • _focusLeft
          • _focusRight
          • _focusLeftRight
          • _checkDoubleClick
          • _clearClicked
          • _editRow
          • _cancelRow
          • _saveRow
          • _deleteRow
          • _confirmDelete
          • _updateBindings
          • _initResize
          • _initRows
          • _sizeColumns
          • _initExpands
          • _onBeforeExpand
          • _onClick
          • _onChange
          • _onFocus
          • _onBlur
          • _onKeydown
          • _onTouchstart
          • _onTouchend
          • _onTouchHold
          • _onMouseDown
          • _onMouseMove
          • _onMouseUp
        • components/ tabs.js
          • Tabs
          • _setParams
          • _whitelistedParams
          • defaults
          • setActive
          • start
          • stop
          • move
          • focus
          • remove
          • update
          • _findPanelByName
          • _findPanelByTab
          • _findTabByPanel
          • _findTabByChildElement
          • _cacheElements
          • _bindEventListenerCallbacks
          • _addEventListeners
          • _removeEventListeners
          • _addMoveEventListeners
          • _removeMoveEventListeners
          • _determineSize
          • _determineMinMax
          • _enableAnimation
          • _disableAnimation
          • _updatePosition
          • _checkX
          • _onTabListClick
          • _onResize
          • _onTouchStart
          • _onTouchMove
          • _onTouchEnd
          • _onMouseDown
          • _onMouseMove
          • _onMouseUp
          • _onScroll
          • _onScrollEnd
          • _onLeftClick
          • _onRightClick
          • _onFocus
          • _onBlur
        • components/ text-input.js
          • TextInput
          • _setParams
          • _whitelistedParams
          • defaults
          • show
          • hide
          • validate
          • setError
          • clearError
          • setWarning
          • clearWarning
          • setSuccess
          • clearSuccess
          • clearMessages
          • setMessage
          • _showMessage
          • _hideMessage
          • _isMessageVisible
          • _cacheElements
          • _parseParams
          • _setCharactersCount
          • _setTextareaHeight
          • _bindEventListenerCallbacks
          • _addEventListeners
          • _removeEventListeners
          • _updateClass
          • _onFocus
          • _onBlur
          • _onInput
          • _onClearClick
          • _onTogglePasswordViewHide
        • components/ toggle-switch.js
          • ToggleSwitch
          • _getElementMatchingParent
          • defaults
          • toggle
          • activate
          • deactivate
          • _cacheElements
          • _bindEventListenerCallbacks
          • _addEventListeners
          • _removeEventListeners
          • _onKeydown
        • components/ toolbar.js
          • Toolbar
          • _setParams
          • defaults
          • _whitelistedParams
          • toolbarItem
          • toggleDropdown
          • handleClick
          • _closeAll
          • _getOpenItems
          • _closeItems
          • _init
          • _setupListeners
          • _removeListeners
          • remove
          • _handleBlurH
          • _handleFocusH
          • _focusLast
          • _handleKeyDownH
          • _handleVisibleChildrenH
          • _handleWindowClickH
          • _toggleShowMore
          • _positionShowMore
          • _handleResizeH
          • _calculateStyles
          • _prioritySort
          • _orderSort
          • change
        • helpers/ animate-height.js
          • getInverseToggleValue
          • animateHeight
        • helpers/ build-select.js
          • buildSelect
        • helpers/ date-select.js
          • DateSelect
          • _setParams
          • _whitelistedParams
          • defaults
          • getValue
          • setValue
          • setOptions
          • setLabel
          • _createDefaultElement
          • _createSelect
          • _getDefaultMonthNames
          • _getTypeText
          • _bindEventListenerCallbacks
          • _onSelectChange
        • helpers/ date-typeahead.js
          • DateTypeahead
          • _setParams
          • _whitelistedParams
          • defaults
          • getValue
          • setValue
          • run
          • pause
          • resume
          • _createDefaultElement
          • _createTypeahead
          • _bindEventListenerCallbacks
          • _lengthToFormat
          • _checkValidity
          • _onTypeaheadChange
          • _onTypeaheadFocus
          • _onTypeaheadBlur
          • _onTypeaheadBackspace
          • _onTypeaheadEnd
        • helpers/ date.js
          • create
          • year
          • year
          • month
          • month
          • day
          • day
          • set
          • getMonthName
          • monthName
          • getMonthNames
          • getMonthNameShort
          • monthNameShort
          • getMonthNamesShort
          • setMonthNames
          • setMonthNamesShort
          • getDayOfWeek
          • dayOfWeek
          • getDayName
          • dayName
          • getDayNames
          • getDayNameShort
          • dayNameShort
          • getDayNamesShort
          • setDayNames
          • setDayNamesShort
          • getWeekStartsOn
          • setWeekStartsOn
          • now
          • getNextYear
          • nextYear
          • getWeekStart
          • weekStart
          • getMonthStart
          • monthStart
          • getNextWeek
          • nextWeek
          • getNextDay
          • nextDay
          • getNextMonth
          • nextMonth
          • getPreviousYear
          • previousYear
          • getPreviousWeek
          • previousWeek
          • getPreviousDay
          • previousDay
          • getPreviousMonth
          • previousMonth
          • getMonthEnd
          • monthEnd
          • equal
          • equalDay
          • equalWeek
          • equalMonth
          • equalYear
          • before
          • beforeDay
          • beforeWeek
          • beforeMonth
          • beforeYear
          • after
          • afterDay
          • afterWeek
          • afterMonth
          • afterYear
          • earliest
          • latest
          • clone
          • _checkComparisonArgs
          • _instanceCheck
          • _clearCache
        • helpers/ debounce.js
          • debounce
        • helpers/ each.js
          • each
        • helpers/ outer-height.js
          • outerHeight
        • helpers / pad-number.js
        • helpers/ parse-date-format.js
          • map
          • getValues
          • getString
          • parseDateFormat
        • helpers / set-caret.js
        • helpers/ store-form-data.js
          • findAll
          • store
          • restore
          • clear
        • helpers/ transform.js
          • transform
        • helpers/ typeahead.js
          • Typeahead
          • _setParams
          • _whitelistedParams
          • defaults
          • run
          • addCharacterAtIndex
          • addCharacterAtCaret
          • removeCharacterAtIndex
          • removeCharacterAtCaret
          • removeCharactersInRange
          • setValue
          • getValue
          • moveCaret
          • moveCaretToEnd
          • moveCaretToStart
          • pause
          • resume
          • clear
          • _cacheElements
          • _parseParams
          • _parseFormat
          • _parseCharacters
          • _createDefaultInputElement
          • _createDefaultPlaceholderElement
          • _getCharactersAllowedCount
          • _bindEventListenerCallbacks
          • _addEventListeners
          • _removeEventListeners
          • _getCaretStart
          • _getCaretEnd
          • _caretIsAtEnd
          • _setCaretPosition
          • _getCaretPositionTranslated
          • _getCaretStartTranslated
          • _getCaretEndTranslated
          • _setCaretPositionTranslated
          • _moveCaret
          • _emptyWhenOnlyPlaceholders
          • _maintainFocus
          • _updateWidth
          • _onKeydown
          • _onInput
          • _onFocus
          • _onBlur
          • _onPlaceholderClick
          • _onBackspace
        • index.js
          • exports
    • Roadmap
    • View All Resources
  • About
  • Contact
Spark
v1
  • Spark v3
  • Spark v2
  • Spark v1
  • Design Foundations
    • Animations
    • Color Palette
    • Iconography
    • Layout Guidelines
    • Sabre Logo Guidelines
    • Guiding Principles
    • Spark Themes
    • Typography
    • Voice and Tone
    • View All Foundations
  • UI Components
    • Containers & Navigation
      • Carousel
      • Expand & Collapse
      • Footer
      • Header & Navigation
      • Modals
      • Pagination and View More
      • Panels
      • Panel Menu
      • Responsive Grid
      • Scroll to Top
      • Tables
      • Tabs
      • Toolbar
    • Data Visualization
      • Introduction to Data Visualization
      • Color Palettes for Data Visualization
      • Bar Charts
      • Gauges
      • Line Graphs
      • Pie and Donut Charts
    • Form Elements
      • Buttons
      • Checkboxes
      • Date Selection
      • Multi-Select
      • Number Selector
      • Radio Buttons
      • Select Input
      • Sliders
      • Text Input
      • Toggles and Switches
    • Messaging & Content
      • Links
      • Messages
      • Popovers
      • Progress Indicators
      • Step Indicator
      • Tooltips
    • Page Templates
      • Sign-In Screen
      • Single Container Layout
      • Single Container with Side Menu Layout
      • Splash Screen
      • Tabbed Container Layout
      • Tabbed Container with Side Menu Layout
    • View All Components
  • Resources
    • Designer
      • Application Icons
    • Developer
      • Browser Support
      • Changelog
      • CSS Helper Classes
      • Javascript API Documentation
        • Back to Main Menu
        • Javscript API Documentation
        • Main
        • components/ base.js
          • BaseComponent
          • requestAnimationFrame
          • cancelAnimationFrame
          • breakpoints
          • exportjQuery
          • loadOrCreateJQueryInstance
          • setParams
          • unsetParams
          • toggleClass
          • addClass
          • removeClass
          • hasClass
          • getChildIndex
          • elementHasParent
          • elementMatches
          • getElementMatchingParent
          • getElementMatchingParents
          • getElementOffset
          • getNodeListIndex
          • trim
          • round
          • appendChildren
          • insertBefore
          • getBreakpoint
          • remove
          • triggerEvent
          • scrollWindowTo
          • tween
          • copyAttributes
          • wrapElement
          • range
          • getSiblingBefore
          • getSiblingAfter
          • getMatchingChild
          • getElementMatchingChildren
        • components / calendar-popover.js
        • components/ carousel.js
          • Carousel
          • _setParams
          • defaults
          • _whitelistedParams
          • _carouselItem
          • _init
          • remove
          • _pause
          • _setPause
          • _autoAdvance
          • _setupListeners
          • _removeListeners
          • _handleVisibleChildrenH
          • _forward
          • _back
          • _movestart
          • _move
          • _moveend
          • _resize
          • change
          • _touchstart
          • _touchmove
          • _touchend
          • _mousedown
          • _mousemove
          • _mouseup
          • _click
          • _velocity
          • _scrollToClicked
          • _scrollTo
          • _rafHandlerH
          • _rafCancel
          • _interiaScroll
          • _settle
          • _transformItems
          • _setTransformItems
          • _addTransform
          • _leftbound
          • _rightbound
          • _updateSelected
          • _selectedItem
          • _setTransform
        • components/ date-input.js
          • DateInput
          • _setParams
          • setError
          • _whitelistedParams
          • defaults
          • show
          • hide
          • remove
          • setValue
          • validate
          • updateInput
          • focus
          • focusNext
          • focusPrevious
          • hasPartialValue
          • _cacheElements
          • _parseParams
          • _initializeInputs
          • _initializeInputPieces
          • _initializeTypeaheadPiece
          • _initializeSelectPiece
          • _convertLabel
          • _validateTypeaheads
          • _validateTypeaheadBounds
          • _padTypeaheads
          • _padTypeahead
          • _hasTypeaheadValue
          • _validateSelects
          • _getMaxDaysInMonth
          • _bindEventListenerCallbacks
          • _addEventListeners
          • _removeEventListeners
          • _onVisibleChildren
          • update
          • _runTypeaheads
          • _updateClass
          • _getTypeaheadByElement
          • _showDateText
          • _hideDateText
          • _createDateTextEl
          • _getDateText
          • _onPieceChange
          • _onTypeaheadFocus
          • _onTypeaheadBlur
          • _onTypeaheadBackspace
          • _onTypeaheadEnd
          • _onInputChange
          • _onClick
        • components/ expand.js
          • Expand
          • _setParams
          • defaults
          • _whitelistedParams
          • expand
          • collapse
          • toggle
          • _cacheElements
          • _updateClasses
          • _bindEventListenerCallbacks
          • _addEventListeners
          • _removeEventListeners
          • _onClick
          • _onKeydown
        • components/ header.js
          • Header
          • _setParams
          • _whitelistedParams
          • defaults
          • update
          • checkFixed
          • _cacheElements
          • _bindEventListenerCallbacks
          • _addEventListeners
          • _removeEventListeners
          • _getCurrentBreakpoint
          • _createPlaceholder
          • _removePlaceholder
          • _disablePlaceholderLinkTab
          • _createListMore
          • _determineInitialSize
          • _determineMenuSize
          • _listenForReadyStateChange
          • _isMenuBreakpoint
          • _getItemsToShowAndHide
          • _ensureActiveAtMoreSwapIndex
          • _addListMore
          • _removeListMore
          • _resetMenuChildren
          • _toggleCollapsed
          • _enableTopLevelToggling
          • _disableTopLevelToggling
          • _onResize
          • _onScroll
          • _onMoreClick
          • _onToggleClick
          • _onNavClick
        • components/ menu.js
          • Menu
          • _setParams
          • _whitelistedParams
          • defaults
          • _cacheElements
          • _bindEventListenerCallbacks
          • _addEventListeners
          • _removeEventListeners
          • _toggleItem
          • _checkAnimation
          • _createMenuAnimationWrapper
          • _animateListChange
          • _appendList
          • _removeLastList
          • _removeAllCachedLists
          • _getNextList
          • _openItem
          • _closeItem
          • _activateItem
          • _activateItemParents
          • _deactivateItems
          • _deactivateItemSiblings
          • _openActiveParents
          • _cachedListContainsID
          • _onClick
          • _onFocus
          • _onBlur
        • components/ modal.js
          • Modal
          • _setParams
          • defaults
          • _whitelistedParams
          • open
          • close
          • _cacheElements
          • _updateClasses
          • _bindEventListenerCallbacks
          • _addEventListeners
          • _removeEventListeners
          • _addWindowEventListeners
          • _removeWindowEventListeners
          • _onClick
          • _onModalClick
          • _onKeyup
        • components / number-picker.js
        • components/ number-selector.js
          • NumberSelector
          • _setParams
          • _whitelistedParams
          • defaults
          • value
          • increment
          • decrement
          • disable
          • enable
          • _cacheElements
          • _bindEventListenerCallbacks
          • _addEventListeners
          • _removeEventListeners
          • _getMin
          • _getMax
          • _getStep
          • _getInputPropAsNumber
          • _getConformedNumber
          • _onClick
          • _onChange
        • components/ popover.js
          • Popover
          • _setParams
          • _whitelistedParams
          • defaults
          • open
          • close
          • toggle
          • setContent
          • pause
          • resume
          • _cacheElements
          • _moveContent
          • _determineDirectionAndAnchor
          • _updateAttributes
          • _updatePosition
          • _clearPosition
          • _updateCaretAnchorPosition
          • _bindEventListenerCallbacks
          • _addEventListeners
          • _removeEventListeners
          • _addWindowEventListeners
          • _removeWindowEventListeners
          • _createContentEl
          • _createCaretEl
          • _onClick
          • _onContentClick
          • _onWindowClick
          • _onWindowResize
        • components/ progress-indicator.js
          • ProgressIndicator
          • _setParams
          • _whitelistedParams
          • defaults
          • set
          • _cacheElements
          • _cacheSize
          • _determineSize
          • _buildSVG
          • _parseNotes
          • _updateDOM
          • _bindEventListenerCallbacks
          • _addEventListeners
          • _removeEventListeners
          • _onResize
        • components/ range-slider.js
          • RangeSlider
          • _setParams
          • _whitelistedParams
          • defaults
          • start
          • move
          • stop
          • setValue
          • increment
          • decrement
          • remove
          • _cacheElements
          • _cacheSize
          • _updateHandlePosition
          • _updateActiveClasses
          • _updateDisabledClasses
          • _bindEventListenerCallbacks
          • _addEventListeners
          • _removeEventListeners
          • _addMoveEventListeners
          • _removeMoveEventListeners
          • _onTouchStart
          • _onTouchMove
          • _onTouchEnd
          • _onMouseDown
          • _onMouseMove
          • _onMouseUp
          • _onVisibleChildren
          • _onResize
          • _onFocus
          • _onKeydown
          • _onBlur
          • _onChange
          • _onClick
        • components / scroll-to-top.js
        • components/ select-input.js
          • SelectInput
          • _setParams
          • _whitelistedParams
          • defaults
          • getValue
          • setValue
          • setOptions
          • setLabel
          • _cacheElements
          • _bindEventListenerCallbacks
          • _addEventListeners
          • _removeEventListeners
          • _updateClass
          • _onFocus
          • _onBlur
          • _onInput
        • components/ slider.js
          • Slider
          • _setParams
          • _whitelistedParams
          • defaults
          • start
          • move
          • stop
          • setValue
          • increment
          • decrement
          • remove
          • _cacheElements
          • _cacheSize
          • _updateHandlePosition
          • _updateActiveClasses
          • _bindEventListenerCallbacks
          • _addEventListeners
          • _removeEventListeners
          • _addMoveEventListeners
          • _removeMoveEventListeners
          • _truncateValueText
          • _onTouchStart
          • _onTouchMove
          • _onTouchEnd
          • _onMouseDown
          • _onMouseMove
          • _onMouseUp
          • _onMouseOut
          • _onResize
          • _onFocus
          • _onKeydown
          • _onBlur
          • _onChange
          • _onClick
          • _onWindowClick
        • components / step-indicator.js
        • components/ table.js
          • Table
          • _setParams
          • _whitelistedParams
          • defaults
          • disableCell
          • enableCell
          • disableRow
          • enableRow
          • disableColumn
          • enableColumn
          • remove
          • activateRow
          • activateRows
          • deactivateRow
          • deactivateRows
          • getActiveRows
          • _cacheElements
          • _parseParams
          • _bindEventListenerCallbacks
          • _addEventListeners
          • _removeEventListeners
          • _addResizeListeners
          • _removeResizeListeners
          • _toggleRowActive
          • _makeRowActive
          • _makeRowInActive
          • _toggleRowsActive
          • _toggleSelectAll
          • _uncheckSelectAll
          • _deactivateAllInputs
          • _deactivateInputs
          • _deactivateInput
          • _activateInputs
          • _activateInput
          • _activateInputOrFocusDown
          • _disableRowsColumnsCells
          • _focusUp
          • _focusDown
          • _focusUpDown
          • _focusLeft
          • _focusRight
          • _focusLeftRight
          • _checkDoubleClick
          • _clearClicked
          • _editRow
          • _cancelRow
          • _saveRow
          • _deleteRow
          • _confirmDelete
          • _updateBindings
          • _initResize
          • _initRows
          • _sizeColumns
          • _initExpands
          • _onBeforeExpand
          • _onClick
          • _onChange
          • _onFocus
          • _onBlur
          • _onKeydown
          • _onTouchstart
          • _onTouchend
          • _onTouchHold
          • _onMouseDown
          • _onMouseMove
          • _onMouseUp
        • components/ tabs.js
          • Tabs
          • _setParams
          • _whitelistedParams
          • defaults
          • setActive
          • start
          • stop
          • move
          • focus
          • remove
          • update
          • _findPanelByName
          • _findPanelByTab
          • _findTabByPanel
          • _findTabByChildElement
          • _cacheElements
          • _bindEventListenerCallbacks
          • _addEventListeners
          • _removeEventListeners
          • _addMoveEventListeners
          • _removeMoveEventListeners
          • _determineSize
          • _determineMinMax
          • _enableAnimation
          • _disableAnimation
          • _updatePosition
          • _checkX
          • _onTabListClick
          • _onResize
          • _onTouchStart
          • _onTouchMove
          • _onTouchEnd
          • _onMouseDown
          • _onMouseMove
          • _onMouseUp
          • _onScroll
          • _onScrollEnd
          • _onLeftClick
          • _onRightClick
          • _onFocus
          • _onBlur
        • components/ text-input.js
          • TextInput
          • _setParams
          • _whitelistedParams
          • defaults
          • show
          • hide
          • validate
          • setError
          • clearError
          • setWarning
          • clearWarning
          • setSuccess
          • clearSuccess
          • clearMessages
          • setMessage
          • _showMessage
          • _hideMessage
          • _isMessageVisible
          • _cacheElements
          • _parseParams
          • _setCharactersCount
          • _setTextareaHeight
          • _bindEventListenerCallbacks
          • _addEventListeners
          • _removeEventListeners
          • _updateClass
          • _onFocus
          • _onBlur
          • _onInput
          • _onClearClick
          • _onTogglePasswordViewHide
        • components/ toggle-switch.js
          • ToggleSwitch
          • _getElementMatchingParent
          • defaults
          • toggle
          • activate
          • deactivate
          • _cacheElements
          • _bindEventListenerCallbacks
          • _addEventListeners
          • _removeEventListeners
          • _onKeydown
        • components/ toolbar.js
          • Toolbar
          • _setParams
          • defaults
          • _whitelistedParams
          • toolbarItem
          • toggleDropdown
          • handleClick
          • _closeAll
          • _getOpenItems
          • _closeItems
          • _init
          • _setupListeners
          • _removeListeners
          • remove
          • _handleBlurH
          • _handleFocusH
          • _focusLast
          • _handleKeyDownH
          • _handleVisibleChildrenH
          • _handleWindowClickH
          • _toggleShowMore
          • _positionShowMore
          • _handleResizeH
          • _calculateStyles
          • _prioritySort
          • _orderSort
          • change
        • helpers/ animate-height.js
          • getInverseToggleValue
          • animateHeight
        • helpers/ build-select.js
          • buildSelect
        • helpers/ date-select.js
          • DateSelect
          • _setParams
          • _whitelistedParams
          • defaults
          • getValue
          • setValue
          • setOptions
          • setLabel
          • _createDefaultElement
          • _createSelect
          • _getDefaultMonthNames
          • _getTypeText
          • _bindEventListenerCallbacks
          • _onSelectChange
        • helpers/ date-typeahead.js
          • DateTypeahead
          • _setParams
          • _whitelistedParams
          • defaults
          • getValue
          • setValue
          • run
          • pause
          • resume
          • _createDefaultElement
          • _createTypeahead
          • _bindEventListenerCallbacks
          • _lengthToFormat
          • _checkValidity
          • _onTypeaheadChange
          • _onTypeaheadFocus
          • _onTypeaheadBlur
          • _onTypeaheadBackspace
          • _onTypeaheadEnd
        • helpers/ date.js
          • create
          • year
          • year
          • month
          • month
          • day
          • day
          • set
          • getMonthName
          • monthName
          • getMonthNames
          • getMonthNameShort
          • monthNameShort
          • getMonthNamesShort
          • setMonthNames
          • setMonthNamesShort
          • getDayOfWeek
          • dayOfWeek
          • getDayName
          • dayName
          • getDayNames
          • getDayNameShort
          • dayNameShort
          • getDayNamesShort
          • setDayNames
          • setDayNamesShort
          • getWeekStartsOn
          • setWeekStartsOn
          • now
          • getNextYear
          • nextYear
          • getWeekStart
          • weekStart
          • getMonthStart
          • monthStart
          • getNextWeek
          • nextWeek
          • getNextDay
          • nextDay
          • getNextMonth
          • nextMonth
          • getPreviousYear
          • previousYear
          • getPreviousWeek
          • previousWeek
          • getPreviousDay
          • previousDay
          • getPreviousMonth
          • previousMonth
          • getMonthEnd
          • monthEnd
          • equal
          • equalDay
          • equalWeek
          • equalMonth
          • equalYear
          • before
          • beforeDay
          • beforeWeek
          • beforeMonth
          • beforeYear
          • after
          • afterDay
          • afterWeek
          • afterMonth
          • afterYear
          • earliest
          • latest
          • clone
          • _checkComparisonArgs
          • _instanceCheck
          • _clearCache
        • helpers/ debounce.js
          • debounce
        • helpers/ each.js
          • each
        • helpers/ outer-height.js
          • outerHeight
        • helpers / pad-number.js
        • helpers/ parse-date-format.js
          • map
          • getValues
          • getString
          • parseDateFormat
        • helpers / set-caret.js
        • helpers/ store-form-data.js
          • findAll
          • store
          • restore
          • clear
        • helpers/ transform.js
          • transform
        • helpers/ typeahead.js
          • Typeahead
          • _setParams
          • _whitelistedParams
          • defaults
          • run
          • addCharacterAtIndex
          • addCharacterAtCaret
          • removeCharacterAtIndex
          • removeCharacterAtCaret
          • removeCharactersInRange
          • setValue
          • getValue
          • moveCaret
          • moveCaretToEnd
          • moveCaretToStart
          • pause
          • resume
          • clear
          • _cacheElements
          • _parseParams
          • _parseFormat
          • _parseCharacters
          • _createDefaultInputElement
          • _createDefaultPlaceholderElement
          • _getCharactersAllowedCount
          • _bindEventListenerCallbacks
          • _addEventListeners
          • _removeEventListeners
          • _getCaretStart
          • _getCaretEnd
          • _caretIsAtEnd
          • _setCaretPosition
          • _getCaretPositionTranslated
          • _getCaretStartTranslated
          • _getCaretEndTranslated
          • _setCaretPositionTranslated
          • _moveCaret
          • _emptyWhenOnlyPlaceholders
          • _maintainFocus
          • _updateWidth
          • _onKeydown
          • _onInput
          • _onFocus
          • _onBlur
          • _onPlaceholderClick
          • _onBackspace
        • index.js
          • exports
    • Roadmap
    • View All Resources
  • About
  • Contact
    • Containers & Navigation
      • Carousel
      • Expand & Collapse
      • Footer
      • Header & Navigation
      • Modals
      • Pagination and View More
      • Panels
      • Panel Menu
      • Responsive Grid
      • Scroll to Top
      • Tables
      • Tabs
      • Toolbar
    • Data Visualization
      • Introduction to Data Visualization
      • Color Palettes for Data Visualization
      • Bar Charts
      • Gauges
      • Line Graphs
      • Pie and Donut Charts
    • Form Elements
      • Buttons
      • Checkboxes
      • Date Selection
      • Multi-Select
      • Number Selector
      • Radio Buttons
      • Select Input
      • Sliders
      • Text Input
      • Toggles and Switches
    • Messaging & Content
      • Links
      • Messages
      • Popovers
      • Progress Indicators
      • Step Indicator
      • Tooltips
    • Page Templates
      • Sign-In Screen
      • Single Container Layout
      • Single Container with Side Menu Layout
      • Splash Screen
      • Tabbed Container Layout
      • Tabbed Container with Side Menu Layout

    Sliders

    Sliders allow users to select a single value or multiple values from a defined range.

    • Overview
    • Guidelines
    • Developer

    Indeterminate Example


    When to Use

    • Use an indeterminate slider for subjective settings that focus on intensity rather than a specific value. For example, volume settings or screen brightness.

    Variations

    • Indeterminate Slider Example (shown above)
    • Alternate Indeterminate Slider Example
    • Single Value Text Input Example
    • Single Integrated Value Example
    • Multiple Value Slider
    • Alternate Multiple Value Slider
    • Multiple Range Slider Example

    Usage

    • The lowest value occurs on the left. Greater values progress to the right.
    • Labels appear clearly above sliders. Accompanying form fields appear below.
    • The slider mechanism and the value displayed in any corresponding input field/s always adjusts interdependently.

    Variations

    Alternate Indeterminate Slider


    When to Use

    • Use the alternate indeterminate slider when there are multiple sliders on a screen or panel and/or when there is no need to give visual prominence a slider.

    Single Value Text Input Slider Example

    A variation of a single input slide, this version allows the user to either enter a value into a text input field, or use the knob to adjust the value. When the user selects the slider control the form field dynamically adjusts in sync with the slider.


    When to Use

    • Use a single value slider to allow users to specify a single value within a defined range.

    Single Integrated Value Example

    An integrated slider displays the value of the slider within the slider mechanism itself. This version is preferred in touch contexts. It can also be used when there is limited space and the value itself is not a large number.


    When to Use

    • Use this version when a specific numeric value is being selected and the when the user may prefer to type in a value.

    Multiple Values Slider


    When to Use

    • Use a dual slider to allow the user to select a specific range from a predetermined set of numerical values.
    • Use this version when the user is selecting a lower and upper value to define a range.

    Alternate Multiple Values Slider Example


    Multiple Range Slider Example


    When to Use

    • Use a multiple range slider to select two sequential ranges within a specific range of values.

    Developer Notes

    Indeterminate Slider

    Option 1

    • HTML
    • JS
    <div class="col-xs-12 col-lg-4 spark-margin-bottom--lg">
      <div class="spark-slider">
        <label>Slider Label</label>
        <input type="number" min="-20" max="30" value="4">
        <div class="spark-slider__controls">
          <button class="spark-slider__handle"></button>
          <span class="spark-slider__track">
            <span class="spark-slider__track-fill"></span>
          </span>
        </div>
      </div>
    </div>
    
    <div class="col-xs-12 col-lg-4 spark-margin-bottom--lg">
      <div class="spark-slider">
        <label class="spark-label">Slider Label</label>
        <input type="number" min="-20" max="30" value="30" step="5">
        <div class="spark-slider__controls">
          <button class="spark-slider__handle"></button>
          <span class="spark-slider__track">
            <span class="spark-slider__track-fill"></span>
          </span>
        </div>
      </div>
    </div>
    
    <div class="col-xs-12 col-lg-4 spark-margin-bottom--lg">
      <div class="spark-slider">
      <label class="spark-label">Slider Label</label>
        <input type="number" min="-20" max="30" value="23" disabled>
        <div class="spark-slider__controls">
          <button class="spark-slider__handle"></button>
          <span class="spark-slider__track">
            <span class="spark-slider__track-fill"></span>
          </span>
        </div>
      </div>
    </div>
    // Vanilla JS
    var el = document.querySelector('.spark-slider');
    var sliderInstand = new Spark.Slider(el);
    
    // jQuery
    $('.spark-slider').sparkSlider();

    Option 2

    • HTML
    • JS
    <div class="col-xs-12 col-lg-4 spark-margin-bottom--lg">
      <div class="spark-slider spark-slider--secondary">
        <label class="spark-label">Slider Label</label>
        <input type="number" min="-20" max="30" value="4">
        <div class="spark-slider__controls">
          <button class="spark-slider__handle"></button>
          <span class="spark-slider__track">
            <span class="spark-slider__track-fill"></span>
          </span>
        </div>
      </div>
    </div>
    
    <div class="col-xs-12 col-lg-4 spark-margin-bottom--lg">
      <div class="spark-slider spark-slider--secondary">
        <label class="spark-label">Slider Label</label>
        <input type="number" min="-20" max="30" value="30" step="5">
        <div class="spark-slider__controls">
          <button class="spark-slider__handle"></button>
          <span class="spark-slider__track">
            <span class="spark-slider__track-fill"></span>
          </span>
        </div>
      </div>
    </div>
    
    <div class="col-xs-12 col-lg-4 spark-margin-bottom--lg">
      <div class="spark-slider spark-slider--secondary">
        <label class="spark-label">Slider Label</label>
        <input type="number" min="-20" max="30" value="23" disabled>
        <div class="spark-slider__controls">
          <button class="spark-slider__handle"></button>
          <span class="spark-slider__track">
            <span class="spark-slider__track-fill"></span>
          </span>
        </div>
      </div>
    </div>
    // Vanilla JS
    var el = document.querySelector('.spark-slider');
    var sliderInstand = new Spark.Slider(el);
    
    // jQuery
    $('.spark-slider').sparkSlider();

    Order Matters:

    The <input> element must be before the controls, otherwise the disabled state will not work properly. Setting min and max on the <input> element will set the boundaries for the slider values. step will force the slider to move in increments.

    Callback Functions:

    • Two provided callback function: onChange and onWillChange.
    • Callback functions can be configured by parameters in constructor: var sliderInstand = new Spark.Slider(el, {onChange: function(){...}, onWillChange:function(){...}}).
    • onChange will trigger once when finish moving the slider or change the value of input. Arguments of onChange will be instance of the slider and current value.
    • onWillChange will trigger when moving the slider or change the value of input. Arguments of onWillChange will be instance of the slider and current value.
    • onWillChange can have a number return value which will directly set the value of slider after onWillChange trigger.

    Single Value Slider

    Option 1

    • HTML
    • JS
    <div class="col-xs-12 col-lg-4 spark-margin-bottom--lg">
      <div class="spark-slider--input">
        <label>Slider Label</label>
        <input type="number" min="-20" max="30" value="4">
        <div class="spark-slider__controls">
          <button class="spark-slider__handle"></button>
          <span class="spark-slider__track">
            <span class="spark-slider__track-fill"></span>
          </span>
        </div>
      </div>
    </div>
    
    <div class="col-xs-12 col-lg-4 spark-margin-bottom--lg">
      <div class="spark-slider--input">
        <label class="spark-label">Slider Label</label>
        <input type="number" min="-20" max="30" value="30" step="5">
        <div class="spark-slider__controls">
          <button class="spark-slider__handle"></button>
          <span class="spark-slider__track">
            <span class="spark-slider__track-fill"></span>
          </span>
        </div>
      </div>
    </div>
    
    <div class="col-xs-12 col-lg-4 spark-margin-bottom--lg">
      <div class="spark-slider--input">
      <label class="spark-label">Slider Label</label>
        <input type="number" min="-20" max="30" value="23" disabled>
        <div class="spark-slider__controls">
          <button class="spark-slider__handle"></button>
          <span class="spark-slider__track">
            <span class="spark-slider__track-fill"></span>
          </span>
        </div>
      </div>
    </div>
    // Vanilla JS
    var el = document.querySelector('.spark-slider--input');
    var sliderInstand = new Spark.Slider(el);
    
    // jQuery
    $('.spark-slider--input').sparkSlider();

    Option 2

    • HTML
    • JS
    <div class="col-xs-12 col-lg-4 spark-margin-bottom--lg">
      <div class="spark-slider--integrated">
        <label>Slider Label</label>
        <input type="number" min="-20" max="30" value="4">
        <div class="spark-slider__controls">
          <button class="spark-slider__handle"></button>
          <span class="spark-slider__track">
            <span class="spark-slider__track-fill"></span>
          </span>
        </div>
      </div>
    </div>
    
    <div class="col-xs-12 col-lg-4 spark-margin-bottom--lg">
      <div class="spark-slider--integrated">
        <label class="spark-label">Slider Label</label>
        <input type="number" min="-10" max="30" value="20" step="5">
        <div class="spark-slider__controls">
          <button class="spark-slider__handle"></button>
          <span class="spark-slider__track">
            <span class="spark-slider__track-fill"></span>
          </span>
        </div>
      </div>
    </div>
    
    <div class="col-xs-12 col-lg-4 spark-margin-bottom--lg">
      <div class="spark-slider--integrated">
        <label>Slider Label</label>
        <input type="number" min="-20" max="30" value="23" disabled>
        <div class="spark-slider__controls">
          <button class="spark-slider__handle"></button>
          <span class="spark-slider__track">
            <span class="spark-slider__track-fill"></span>
          </span>
        </div>
      </div>
    </div>
    // Vanilla JS
    var el = document.querySelector('.spark-slider--integrated');
    var sliderInstand = new Spark.Slider(el);
    
    // jQuery
    $('.spark-slider--integrated').sparkSlider();

    Order Matters

    The <input> element must be before the controls, otherwise the disabled state will not work properly. Setting min and max on the <input> element will set the boundaries for the slider values. step will force the slider to move in increments.

    Values greater than 1,000 will be truncated to something like “1k”, but integrated sliders should not be used with numerical values in excess of 3 digits due to space constraints. If you use an integrated slider for large values, don’t expect precise results.

    Callback Functions:

    • Two provided callback function: onChange and onWillChange.
    • Callback functions can be configured by parameters in constructor: var sliderInstand = new Spark.Slider(el, {onChange: function(){...}, onWillChange:function(){...}}).
    • onChange will trigger once when finish moving the slider or change the value of input. Arguments of onChange will be instance of the slider and current value.
    • onWillChange will trigger when moving the slider or change the value of input. Arguments of onWillChange will be instance of the slider and current value.
    • onWillChange can have a number return value which will directly set the value of slider after onWillChange trigger.

    Multiple Values Slider

    Option 1

    • HTML
    • JS
    <div class="col-xs-12 col-lg-4 spark-margin-bottom--lg">
      <div class="spark-range-slider">
        <label class="spark-label">Slider Label</label>
        <input type="number" min="-20" max="30" value="10" title="Start">
        <span class="spark-range-slider__input-divider"></span>
        <input type="number" min="-20" max="30" value="20" title="End">
        <div class="spark-slider__controls">
          <button class="spark-slider__handle" title="Start"></button>
          <button class="spark-slider__handle" title="End"></button>
          <span class="spark-slider__track">
            <span class="spark-slider__track-fill"></span>
          </span>
        </div>
      </div>
    </div>
    
    <div class="col-xs-12 col-lg-4 spark-margin-bottom--lg">
      <div class="spark-range-slider">
        <label>Slider Label</label>
        <input type="number" min="-20" max="30" value="10" step="5" title="Start">
        <span class="spark-range-slider__input-divider"></span>
        <input type="number" min="-20" max="30" value="20" step="5" title="End">
        <div class="spark-slider__controls">
          <button class="spark-slider__handle" title="Start"></button>
          <button class="spark-slider__handle" title="End"></button>
          <span class="spark-slider__track">
            <span class="spark-slider__track-fill"></span>
          </span>
        </div>
      </div>
    </div>
    
    <div class="col-xs-12 col-lg-4 spark-margin-bottom--lg">
      <div class="spark-range-slider">
        <label>Slider Label</label>
        <input type="number" min="-20" max="30" value="10" disabled title="Start">
        <span class="spark-range-slider__input-divider"></span>
        <input type="number" min="-20" max="30" value="20" disabled title="End">
        <div class="spark-slider__controls">
          <button class="spark-slider__handle" title="Start"></button>
          <button class="spark-slider__handle" title="End"></button>
          <span class="spark-slider__track">
            <span class="spark-slider__track-fill"></span>
          </span>
        </div>
      </div>
    </div>
    // Vanilla JS
    var el = document.querySelector('.spark-range-slider);
    var sliderInstand = new Spark.RangeSlider(el);
    
    // jQuery
    $('.spark-range-slider).sparkRangeSlider();

    Option 2

    • HTML
    • JS
    <div class="col-xs-12 col-lg-4 spark-margin-bottom--lg">
      <div class="spark-range-slider spark-slider--secondary">
        <label class="spark-label">Slider Label</label>
        <input type="number" min="-20" max="20" value="10" title="Start">
        <span class="spark-range-slider__input-divider"></span>
        <input type="number" min="-10" max="30" value="20" title="End">
        <div class="spark-slider__controls">
          <button class="spark-slider__handle" title="Start"></button>
          <button class="spark-slider__handle" title="End"></button>
          <span class="spark-slider__track">
            <span class="spark-slider__track-fill"></span>
          </span>
        </div>
      </div>
    </div>
    
    <div class="col-xs-12 col-lg-4 spark-margin-bottom--lg">
      <div class="spark-range-slider spark-slider--secondary">
        <label class="spark-label">Slider Label</label>
        <input type="number" min="-20" max="20" value="10" step="5" title="Start">
        <span class="spark-range-slider__input-divider"></span>
        <input type="number" min="-10" max="30" value="20" step="5" title="End">
        <div class="spark-slider__controls">
          <button class="spark-slider__handle" title="Start"></button>
          <button class="spark-slider__handle" title="End"></button>
          <span class="spark-slider__track">
            <span class="spark-slider__track-fill"></span>
          </span>
        </div>
      </div>
    </div>
    
    <div class="col-xs-12 col-lg-4 spark-margin-bottom--lg">
      <div class="spark-range-slider spark-slider--secondary">
        <label class="spark-label">Slider Label</label>
        <input type="number" min="-20" max="20" value="10" disabled title="Start">
        <span class="spark-range-slider__input-divider"></span>
        <input type="number" min="-10" max="30" value="20" disabled title="End">
        <div class="spark-slider__controls">
          <button class="spark-slider__handle" title="Start"></button>
          <button class="spark-slider__handle" title="End"></button>
          <span class="spark-slider__track">
            <span class="spark-slider__track-fill"></span>
          </span>
        </div>
      </div>
    </div>
    // Vanilla JS
    var el = document.querySelector('.spark-range-slider);
    var sliderInstand = new Spark.RangeSlider(el);
    
    // jQuery
    $('.spark-range-slider).sparkRangeSlider();

    Order Matters

    The <input> elements must be before the controls, otherwise the disabled state will not work properly. Setting min and max on the <input> element will set the boundaries for the slider values. These values can be different for each<input>. The order of the <input> elements corresponds to the order of the handles, so the first <input> will be tied to the first element with a class of .spark-slider__handle. step will force the slider to move in increments.

    Callback Functions:

    • Two provided callback function: onChange and onWillChange.
    • Callback functions can be configured by parameters in constructor: var sliderInstand = new Spark.RangeSlider(el, {onChange: function(){...}, onWillChange:function(){...}}).
    • onChange will trigger once when finish moving the slider or change the value of input. Arguments of onChange will be instance of the slider, index of current node and the value of that.
    • onWillChange will trigger when moving the slider or change the value of input. Arguments of onWillChange will be instance of the slider, index of current node and the value of that.
    • onWillChange can have a number return value which will directly set the value of slider after onWillChange trigger.

    Multiple Range Slider

    • HTML
    • JS
    <div class="col-xs-12 col-lg-4 spark-margin-bottom--lg">
      <div class="spark-range-slider">
        <label>Slider Label</label>
        <input type="number" min="-20" max="30" value="0" title="Start">
        <span class="spark-range-slider__input-divider"></span>
        <input type="number" min="-20" max="30" value="12" title="Middle">
        <span class="spark-range-slider__input-divider"></span>
        <input type="number" min="-20" max="30" value="20" title="End">
        <div class="spark-slider__controls">
          <button class="spark-slider__handle" title="Start"></button>
          <button class="spark-slider__handle" title="Middle"></button>
          <button class="spark-slider__handle" title="End"></button>
          <span class="spark-slider__track">
            <span class="spark-slider__track-fill"></span>
          </span>
        </div>
      </div>
    </div>
    
    <div class="col-xs-12 col-lg-4 spark-margin-bottom--lg">
      <div class="spark-range-slider">
      <label class="spark-label">Slider Label</label>
        <input type="number" min="-20" max="30" value="0" step="5" title="Start">
        <span class="spark-range-slider__input-divider"></span>
        <input type="number" min="-20" max="30" value="12" step="5" title="Middle">
        <span class="spark-range-slider__input-divider"></span>
        <input type="number" min="-20" max="30" value="20" step="5" title="End">
        <div class="spark-slider__controls">
          <button class="spark-slider__handle" title="Start"></button>
          <button class="spark-slider__handle" title="Middle"></button>
          <button class="spark-slider__handle" title="End"></button>
          <span class="spark-slider__track">
            <span class="spark-slider__track-fill"></span>
          </span>
        </div>
      </div>
    </div>
    
    <div class="col-xs-12 col-lg-4 spark-margin-bottom--lg">
      <div class="spark-range-slider">
      <label class="spark-label">Slider Label</label>
        <input type="number" min="-20" max="30" value="0" disabled title="Start">
        <span class="spark-range-slider__input-divider"></span>
        <input type="number" min="-20" max="30" value="12" disabled title="Middle">
        <span class="spark-range-slider__input-divider"></span>
        <input type="number" min="-20" max="30" value="20" disabled title="End">
        <div class="spark-slider__controls">
          <button class="spark-slider__handle" title="Start"></button>
          <button class="spark-slider__handle" title="Middle"></button>
          <button class="spark-slider__handle" title="End"></button>
          <span class="spark-slider__track">
            <span class="spark-slider__track-fill"></span>
          </span>
        </div>
      </div>
    </div>
    // Vanilla JS
    var el = document.querySelector('.spark-range-slider);
    var sliderInstand = new Spark.RangeSlider(el);
    
    // jQuery
    $('.spark-range-slider).sparkRangeSlider();
    • Indeterminate Example
      • When to Use
      • Variations
    • Usage
    • Variations
      • Alternate Indeterminate Slider
        • When to Use
      • Single Value Text Input Slider Example
        • When to Use
      • Single Integrated Value Example
        • When to Use
      • Multiple Values Slider
        • When to Use
      • Alternate Multiple Values Slider Example
      • Multiple Range Slider Example
        • When to Use
    • Developer Notes
      • Indeterminate Slider
        • Option 1
        • Option 2
        • Order Matters:
        • Callback Functions:
      • Single Value Slider
        • Option 1
        • Option 2
        • Order Matters
        • Callback Functions:
      • Multiple Values Slider
        • Option 1
        • Option 2
        • Order Matters
        • Callback Functions:
      • Multiple Range Slider
    © 2015-16 Sabre
    • Contact Us
    • Report a Bug