code: function prepareElement() {
  
          $ELEMENT.
  
              // Store the picker data by component name.
              data(NAME, P).
  
              // Add the “input” class name.
              addClass(CLASSES.input).
  
              // Remove the tabindex.
              attr('tabindex', -1).
  
              // If there’s a `data-value`, update the value of the element.
              val( $ELEMENT.data('value') ?
                  P.get('select', SETTINGS.format) :
                  ELEMENT.value
              )
  
  
          // Only bind keydown events if the element isn’t editable.
          if ( !SETTINGS.editable ) {
  
              $ELEMENT.
  
                  // On focus/click, focus onto the root to open it up.
                  on( 'focus.' + STATE.id + ' click.' + STATE.id, function( event ) {
                      event.preventDefault()
                      P.$root[0].focus()
                  }).
  
                  // Handle keyboard event based on the picker being opened or not.
                  on( 'keydown.' + STATE.id, handleKeydownEvent )
          }
  
  
          // Update the aria attributes.
          aria(ELEMENT, {
              haspopup: true,
              expanded: false,
              readonly: false,
              owns: ELEMENT.id + '_root'
          })
      }
docs: createWrappedComponent 
  Prepare the input element with all bindings.