     protected var layoutTextShadowOffset:Number;
     
     /**
-     *  The label and its shadow for the selected side of the component
-     */
-    private var selectedLabel:StyleableTextField;
-    private var selectedLabelShadow:StyleableTextField;
-    
-    /**
-     *  The label and its shadow for the unselected side of the component
-     */
-    private var unselectedLabel:StyleableTextField;
-    private var unselectedLabelShadow:StyleableTextField;
+     *  The label for the selected side of the component
+     * 
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    public var selectedLabelDisplay:StyleableTextField;
+
+    /**
+     *  The label's shadow for the unselected side of the component
+     * 
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    public var selectedLabelDisplayShadow:StyleableTextField;
+    
+    /**
+     *  The label for the unselected side of the component
+     * 
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    public var unselectedLabelDisplay:StyleableTextField;
+    
+    /**
+     *  The label's shadow for the unselected side of the component
+     * 
+     *  @langversion 3.0
+     *  @playerversion AIR 3
+     *  @productversion Flex 4.5.2
+     */
+    public var unselectedLabelDisplayShadow:StyleableTextField;
 
     /**
      *  The content clipped by the track that slides to match the thumb's

        slidingContentForeground = new SpriteVisualElement();
        contents.addChild(slidingContentForeground);
        
        selectedLabelShadow = StyleableTextField(createInFontContext(StyleableTextField));
        selectedLabelShadow.styleName = this;
        selectedLabelShadow.colorName = "textShadowColor";
        selectedLabelShadow.text = selectedLabelText;
        slidingContentForeground.addChild(selectedLabelShadow);
        
        selectedLabel = StyleableTextField(createInFontContext(StyleableTextField));
        selectedLabel.styleName = this;
        selectedLabel.text = selectedLabelText;
        slidingContentForeground.addChild(selectedLabel);			
        
        unselectedLabelShadow = StyleableTextField(createInFontContext(StyleableTextField));
        unselectedLabelShadow.styleName = this;
        unselectedLabelShadow.colorName = "textShadowColor";
        unselectedLabelShadow.text = unselectedLabelText;
        slidingContentForeground.addChild(unselectedLabelShadow);
        
        unselectedLabel = StyleableTextField(createInFontContext(StyleableTextField));
        unselectedLabel.styleName = this;
        unselectedLabel.text = unselectedLabelText;
        slidingContentForeground.addChild(unselectedLabel);

        // Track
        track = new SpriteVisualElement();

     */
    override protected function measure():void 
    {
        if (selectedLabelDisplay.isTruncated || unselectedLabelDisplay.isTruncated) 
        {
            selectedLabelDisplay.text = selectedLabelText;
            unselectedLabelDisplay.text = unselectedLabelText;
        }
        selectedLabelDisplay.commitStyles();
        unselectedLabelDisplay.commitStyles();
        
        // The skin must be at least as large as the thumb + outer stroke
        measuredMinWidth = layoutThumbWidth + 2 * layoutOuterStrokeWeight;
        measuredMinHeight = layoutThumbWidth + 2 * layoutOuterStrokeWeight;
        
        // The preferred size will display all label text
        var labelWidth:Number = Math.max(getElementPreferredWidth(selectedLabelDisplay), 
            getElementPreferredWidth(unselectedLabelDisplay));
        
        measuredWidth = layoutThumbWidth + labelWidth + layoutInnerPadding + 
            layoutOuterPadding + 2 * layoutOuterStrokeWeight;
