         
         if (hovered)
             return "hovered";
+        
+        if (caret)
+            return "caret"; 
             
         return "normal";
     }

        hovered = false;
        currentState = getCurrentRendererState();
    }
    
    /**
     *  @private
     *  Mouse down event handler.
     */
    protected function itemRenderer_mouseDownHandler(event:MouseEvent):void
    {
        //dispatchEvent(new MouseEvent("click"));
    }
}
}
    }
    
    //----------------------------------
    //  caret
    //----------------------------------

    /**
     *  @private
     *  Storage for the caret property 
     */
    private var _caret:Boolean = false;

    /**
     *  @inheritDoc 
     *
     *  @default false  
     */    
    public function get caret():Boolean
    {
        return _caret;
    }
    
    /**
     *  @private
     */    
    public function set caret(value:Boolean):void
    {
        if (value == _caret)
            return;

        _caret = value;
        currentState = getCurrentRendererState(); 
    }
    
    //----------------------------------
