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

    Progress Indicators

    Progress indicators inform the user that something is happening and give users confidence that things are going smoothly

    • Overview
    • Guidelines
    • Developer

    Large Determinate Example

    100%
    • Applying Policy Rules
    • Sorting Options
    • Generating Jobs
    • Perturbing Matrices
    • Reticulating Splines
    • All done!


    When to Use

    • Use a determinate indicator to communicate the percentage of completion when this value is known and when it is helpful to communicate this to the user.
    • Use an indeterminate indicator to communicate that an action is being performed by the application, but the percentage of completion is unknown. An indeterminate indicator can also be used when the action happens so quickly that is seems unnecessary to communicate the percentage of completion.

    Variations

    • Large Determinate Example (shown above)
    • Large Indeterminate Example
    • Small Determinate Example
    • Small Indeterminate Example
    • Extra Small Indeterminate Examples

    Usage

    There are two types of indicators: determinate and indeterminate. Both determinate and indeterminate progress indicators may include brief messaging about what action is being taken. See Voice and Tone for guidance on messaging.


    Variations

    There are three sizes of indicators:

    • Large - Use in full page context, such as splash screens
    • Small - Use in modals, panels and inline content
    • Extra Small - Use in buttons, form fields and table cells

    Large Indeterminate

    Fetching stuff


    Small Determinate

    100% complete
    • Applying Policy Rules
    • Sorting Options
    • Generating Jobs
    • Perturbing Matrices
    • Reticulating Splines
    • All done!


    Small Indeterminate

    Fetching stuff


    Extra Small Indeterminate




    Developer Notes

    A loader is created by adding a class of .spark-progress to an element. This element should also have the appropriate role="progressbar" ARIA attribute.

    Whether or not a progress indicator is determinate or indeterminate is based on the presence of a value attribute on the <progress> element. A determinate loader has a value attribute (even without a value). Conversely, an indeterminate loader is defined as having no value.

    Order matters

    The first element contained inside a .spark-progress container should be a <progress></progress> element. This is essential to defining a determinate or indeterminate state.

    Any text which accompanies the loader should be placed inside an element with a class of .spark-progress__text. For determinate loaders, an element with a class of .spark-progress__value and role="status" should be placed inside the text container. This element will be updated with the current percentage of the loader.

    You may also insert a <ul> with a class of .spark-progress__states which contains different text values to be displayed when the <progress> element has different values. The <li> children of this list of states must use the attribute data-value along with an integer value from 0-100. These list items will be shown and hidden automatically as the progress indicator is incremented. For example, say you have three list items with data-value values of 0, 35 and 100. The first <li> will be shown when the progress value is from 0-34, the second from 35-99 and the last at 100.

    Following the text, values and states, is the actual graphical representation of the loader. This is created by adding an element with the class .spark-progress__meter. Although the initial markup is the same for a determinate or indeterminate loader, determinate loaders replace this meter element with a special SVG implementation of the loader.

    This functionality relies on JavaScript to function. You must instantiate the indicator using either the jQuery plugin (var progress = $('#progress').sparkProgressIndicator();) or the native JavaScript implementation (var progress = new Spark.ProgressIndicator(document.querySelector('#progress'));).

    It is important to store a reference to the created instance because the value is updated using the set method and passing a floating point number from 0-1. Numbers greater than 1 will be treated as 1.

    Large Determinate

    100%
    • Applying Policy Rules
    • Sorting Options
    • Generating Jobs
    • Perturbing Matrices
    • Reticulating Splines
    • All done!
    • HTML
    • JS
    <div class="spark-progress spark-progress--integrated spark-progress--lg" role="progressbar">
      <progress value="0"></progress>
      <span class="spark-progress__text">
        <span class="spark-progress__value" role="status">0%</span>
        <ul class="spark-progress__states" role="note">
          <li data-value="0" class="active">Applying Policy Rules</li>
          <li data-value="20">Sorting Options</li>
          <li data-value="40">Generating Jobs</li>
          <li data-value="60">Perturbing Matrices</li>
          <li data-value="80">Reticulating Splines</li>
          <li data-value="100">All done!</li>
        </ul>
      </span>
      <span class="spark-progress__meter"></span>
    </div>
    // Vanilla JS
    var el = document.querySelector('.spark-progress');
    var progressInstance = new Spark.ProgressIndicator(el);
    progressInstance.set(0.5); // Set to 50% complete
    
    // jQuery
    $('.spark-progress').sparkProgressIndicator();
    $('.spark-progress').sparkProgressIndicator('set', 0.5); // Set to 50% complete

    Large Indeterminate

    Fetching stuff
    • HTML
    • JS
    <div class="spark-progress spark-progress--integrated spark-progress--lg" role="progressbar">
      <progress></progress>
      <span class="spark-progress__text" role="status">Fetching stuff</span>
      <span class="spark-progress__meter"></span>
    </div>
    // Vanilla JS
    var el = document.querySelector('.spark-progress');
    var progressInstance = new Spark.ProgressIndicator(el);
    
    // jQuery
    $('.spark-progress').sparkProgressIndicator();

    A large loader is created by adding .spark-progress, .spark-progress--integrated and .spark-progress--lg to an element.

    Small Determinate

    100% complete
    • Applying Policy Rules
    • Sorting Options
    • Generating Jobs
    • Perturbing Matrices
    • Reticulating Splines
    • All done!
    • HTML
    • JS
    <div class="spark-progress spark-progress--horizontal spark-progress--sm" role="progressbar">
      <progress value="0"></progress>
      <span class="spark-progress__text">
        <span class="spark-progress__value"><span role="status">0%</span> complete</span>
        <ul class="spark-progress__states" role="note">
          <li data-value="0" class="active">Applying Policy Rules</li>
          <li data-value="20">Sorting Options</li>
          <li data-value="40">Generating Jobs</li>
          <li data-value="60">Perturbing Matrices</li>
          <li data-value="80">Reticulating Splines</li>
          <li data-value="100">All done!</li>
        </ul>
      </span>
      <span class="spark-progress__meter"></span>
    </div>
    // Vanilla JS
    var el = document.querySelector('.spark-progress');
    var progressInstance = new Spark.ProgressIndicator(el);
    progressInstance.set(0.5); // Set to 50% complete
    
    // jQuery
    $('.spark-progress').sparkProgressIndicator();
    $('.spark-progress').sparkProgressIndicator('set', 0.5); // Set to 50% complete

    Small Indeterminate

    Fetching stuff
    • HTML
    • JS
    <div class="spark-progress spark-progress--horizontal spark-progress--sm" role="progressbar">
      <progress></progress>
      <span class="spark-progress__text" role="status">Fetching stuff</span>
      <span class="spark-progress__meter"></span>
    </div>
    // Vanilla JS
    var el = document.querySelector('.spark-progress');
    var progressInstance = new Spark.ProgressIndicator(el);
    
    // jQuery
    $('.spark-progress').sparkProgressIndicator();

    A small loader is created by adding .spark-progress, .spark-progress--horizontal and .spark-progress--sm to an element.


    Extra Small Indeterminate



    <button class="spark-btn spark-btn--sm spark-progress">
      <progress></progress>
      <span class="spark-progress__meter"></span>
      Loading
    </button>
    
    <hr />
    
    <button class="spark-btn spark-btn--sm spark-btn--secondary spark-progress">
      <progress></progress>
      <span class="spark-progress__meter"></span>
      Loading
    </button>
    
    <hr />
    
    <button class="spark-btn spark-btn--sm spark-btn--alt spark-progress">
      <progress></progress>
      <span class="spark-progress__meter"></span>
      Loading
    </button>

    An extra small loader is created by adding .spark-progress, to a <button> element with the .spark-btn and .spark-btn--sm classes. Additional button classes may be added to customize the color. Do not use determinate loaders at this size.

    • Large Determinate Example
      • When to Use
      • Variations
    • Usage
    • Variations
      • Large Indeterminate
      • Small Determinate
      • Small Indeterminate
      • Extra Small Indeterminate
    • Developer Notes
      • Order matters
      • Large Determinate
      • Large Indeterminate
      • Small Determinate
      • Small Indeterminate
      • Extra Small Indeterminate
    © 2015-16 Sabre
    • Contact Us
    • Report a Bug