docs: function() {
  
                  // If it’s already started, do nothing.
                  if ( STATE && STATE.start ) return P
  
  
                  // Update the picker states.
                  STATE.methods = {}
                  STATE.start = true
                  STATE.open = false
                  STATE.type = ELEMENT.type
  
  
                  // Confirm focus state, convert into text input to remove UA stylings,
                  // and set as readonly to prevent keyboard popup.
                  ELEMENT.autofocus = ELEMENT == getActiveElement()
                  ELEMENT.readOnly = !SETTINGS.editable
                  ELEMENT.id = ELEMENT.id || STATE.id
                  if ( ELEMENT.type != 'text' ) {
                      ELEMENT.type = 'text'
                  }
  
  
                  // Create a new picker component with the settings.
                  P.component = new COMPONENT(P, SETTINGS)
  
  
                  // Create the picker root with a holder and then prepare it.
                  P.$root = $( PickerConstructor._.node('div', createWrappedComponent(), CLASSES.picker, 'id="' + ELEMENT.id + '_root" tabindex="0"') )
                  prepareElementRoot()
  
  
                  // If there’s a format for the hidden input element, create the element.
                  if ( SETTINGS.formatSubmit ) {
                      prepareElementHidden()
                  }
  
  
                  // Prepare the input element.
                  prepareElement()
  
  
                  // Insert the root as specified in the settings.
                  if ( SETTINGS.container ) $( SETTINGS.container ).append( P.$root )
                  else $ELEMENT.after( P.$root )
  
  
                  // Bind the default component and settings events.
                  P.on({
                      start: P.component.onStart,
                      render: P.component.onRender,
                      stop: P.component.onStop,
                      open: P.component.onOpen,
                      close: P.component.onClose,
                      set: P.component.onSet
                  }).on({
                      start: SETTINGS.onStart,
                      render: SETTINGS.onRender,
                      stop: SETTINGS.onStop,
                      open: SETTINGS.onOpen,
                      close: SETTINGS.onClose,
                      set: SETTINGS.onSet
                  })
  
  
                  // Once we’re all set, check the theme in use.
                  IS_DEFAULT_THEME = isUsingDefaultTheme( P.$root.children()[ 0 ] )
  
  
                  // If the element has autofocus, open the picker.
                  if ( ELEMENT.autofocus ) {
                      P.open()
                  }
  
  
                  // Trigger queued the “start” and “render” events.
                  return P.trigger( 'start' ).trigger( 'render' )
              }