docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Class Slider<TValue, TScalar, TInputField>

    Base class for Sliders (SliderFloat, SliderInt).

    Inheritance
    object
    CallbackEventHandler
    Focusable
    VisualElement
    BaseVisualElement
    ExVisualElement
    BaseSlider<TValue, TScalar>
    Slider<TValue, TScalar, TInputField>
    RangeSliderFloat
    RangeSliderInt
    SliderFloat
    SliderInt
    Implements
    IEventHandler
    ITransform
    ITransitionAnimations
    IExperimentalFeatures
    IVisualElementScheduler
    IResolvedStyle
    IContextOverrideElement
    IAdditionalDataHolder
    IInputElement<TValue>
    IValidatableElement<TValue>
    INotifyValueChanging<TValue>
    INotifyValueChanged<TValue>
    IFormattable<TScalar>
    Inherited Members
    BaseSlider<TValue, TScalar>.m_DraggerManipulator
    BaseSlider<TValue, TScalar>.m_HighValue
    BaseSlider<TValue, TScalar>.m_LowValue
    BaseSlider<TValue, TScalar>.m_PreviousValue
    BaseSlider<TValue, TScalar>.m_Value
    BaseSlider<TValue, TScalar>.m_CurrentDirection
    BaseSlider<TValue, TScalar>.m_ValidateValue
    BaseSlider<TValue, TScalar>.m_Orientation
    BaseSlider<TValue, TScalar>.m_Step
    BaseSlider<TValue, TScalar>.m_ShiftStep
    BaseSlider<TValue, TScalar>.m_SwapThumbs
    BaseSlider<TValue, TScalar>.m_FormatString
    BaseSlider<TValue, TScalar>.m_FormatFunc
    BaseSlider<TValue, TScalar>.m_DraggedThumbIndex
    BaseSlider<TValue, TScalar>.lowValue
    BaseSlider<TValue, TScalar>.highValue
    BaseSlider<TValue, TScalar>.SetValueWithoutNotify(TValue)
    BaseSlider<TValue, TScalar>.value
    BaseSlider<TValue, TScalar>.formatString
    BaseSlider<TValue, TScalar>.formatFunction
    BaseSlider<TValue, TScalar>.invalid
    BaseSlider<TValue, TScalar>.validateValue
    BaseSlider<TValue, TScalar>.orientation
    BaseSlider<TValue, TScalar>.step
    BaseSlider<TValue, TScalar>.shiftStep
    BaseSlider<TValue, TScalar>.swapThumbs
    BaseSlider<TValue, TScalar>.comparer
    BaseSlider<TValue, TScalar>.thumbComparer
    BaseSlider<TValue, TScalar>.OnSliderRangeChanged()
    BaseSlider<TValue, TScalar>.SetOrientation(Direction)
    BaseSlider<TValue, TScalar>.SetStep(TScalar)
    BaseSlider<TValue, TScalar>.SetShiftStep(TScalar)
    BaseSlider<TValue, TScalar>.SetSwapThumbs(bool)
    BaseSlider<TValue, TScalar>.InvokeValueChangedCallbacks()
    BaseSlider<TValue, TScalar>.OnGeometryChanged(GeometryChangedEvent)
    BaseSlider<TValue, TScalar>.OnStyleResolved(CustomStyleResolvedEvent)
    BaseSlider<TValue, TScalar>.OnDirectionChanged(ContextChangedEvent<DirContext>)
    BaseSlider<TValue, TScalar>.OnTrackUp(Draggable)
    BaseSlider<TValue, TScalar>.OnTrackDown(Draggable)
    BaseSlider<TValue, TScalar>.OnTrackDragged(Draggable)
    BaseSlider<TValue, TScalar>.GetTrackElement()
    BaseSlider<TValue, TScalar>.ComputeValueFromDrag(Draggable)
    BaseSlider<TValue, TScalar>.GetNormalizedValueFromDrag(Draggable)
    BaseSlider<TValue, TScalar>.FindClosestThumbValue(Draggable, ReadOnlySpan<TScalar>, out int)
    BaseSlider<TValue, TScalar>.FindClosestThumbValue(TScalar, ReadOnlySpan<TScalar>, out int)
    BaseSlider<TValue, TScalar>.FindClosestThumbValue(TScalar, int, Func<int, TScalar>, out int)
    BaseSlider<TValue, TScalar>.OnKeyDown(KeyDownEvent)
    BaseSlider<TValue, TScalar>.OnTrackClicked()
    BaseSlider<TValue, TScalar>.GetClampedValue(TValue)
    BaseSlider<TValue, TScalar>.KeyDecrement(TScalar, TScalar, KeyDownEvent)
    BaseSlider<TValue, TScalar>.KeyIncrement(TScalar, TScalar, KeyDownEvent)
    BaseSlider<TValue, TScalar>.Clamp(TValue, TScalar, TScalar)
    BaseSlider<TValue, TScalar>.thumbCount
    BaseSlider<TValue, TScalar>.GetValueFromScalarValues(Span<TScalar>)
    BaseSlider<TValue, TScalar>.GetScalarValuesFromValue(TValue, Span<TScalar>)
    BaseSlider<TValue, TScalar>.ClampThumb(TScalar, TScalar, TScalar)
    BaseSlider<TValue, TScalar>.ParseValueToString(TValue)
    BaseSlider<TValue, TScalar>.ParseRawValueToString(TValue)
    BaseSlider<TValue, TScalar>.ParseSubValueToString(TScalar)
    BaseSlider<TValue, TScalar>.ParseStringToValue(string, out TValue)
    BaseSlider<TValue, TScalar>.SliderLerpUnclamped(TScalar, TScalar, float)
    BaseSlider<TValue, TScalar>.SliderNormalizeValue(TScalar, TScalar, TScalar)
    BaseSlider<TValue, TScalar>.Mad(int, TScalar, TScalar)
    BaseSlider<TValue, TScalar>.GetStepCount(TScalar)
    ExVisualElement.outlineColor
    ExVisualElement.backgroundColor
    ExVisualElement.passMask
    BaseVisualElement.contextPrefix
    BaseVisualElement.scaleOverride
    BaseVisualElement.themeOverride
    BaseVisualElement.langOverride
    BaseVisualElement.layoutDirectionOverride
    BaseVisualElement.preferredTooltipPlacementOverride
    BaseVisualElement.tooltipDelayMsOverride
    BaseVisualElement.GetLayoutDirectionUssClassName(Dir)
    VisualElement.disabledUssClassName
    VisualElement.ExecuteDefaultAction(EventBase)
    VisualElement.Focus()
    VisualElement.SendEvent(EventBase)
    VisualElement.SetEnabledFromHierarchy(bool)
    VisualElement.SetEnabled(bool)
    VisualElement.MarkDirtyRepaint()
    VisualElement.ContainsPoint(Vector2)
    VisualElement.Overlaps(Rect)
    VisualElement.DoMeasure(float, VisualElement.MeasureMode, float, VisualElement.MeasureMode)
    VisualElement.ToString()
    VisualElement.GetClasses()
    VisualElement.ClearClassList()
    VisualElement.AddToClassList(string)
    VisualElement.RemoveFromClassList(string)
    VisualElement.ToggleInClassList(string)
    VisualElement.EnableInClassList(string, bool)
    VisualElement.ClassListContains(string)
    VisualElement.FindAncestorUserData()
    VisualElement.Add(VisualElement)
    VisualElement.Insert(int, VisualElement)
    VisualElement.Remove(VisualElement)
    VisualElement.RemoveAt(int)
    VisualElement.Clear()
    VisualElement.ElementAt(int)
    VisualElement.IndexOf(VisualElement)
    VisualElement.Children()
    VisualElement.Sort(Comparison<VisualElement>)
    VisualElement.BringToFront()
    VisualElement.SendToBack()
    VisualElement.PlaceBehind(VisualElement)
    VisualElement.PlaceInFront(VisualElement)
    VisualElement.RemoveFromHierarchy()
    VisualElement.GetFirstOfType<T>()
    VisualElement.GetFirstAncestorOfType<T>()
    VisualElement.Contains(VisualElement)
    VisualElement.FindCommonAncestor(VisualElement)
    VisualElement.viewDataKey
    VisualElement.userData
    VisualElement.canGrabFocus
    VisualElement.focusController
    VisualElement.usageHints
    VisualElement.transform
    VisualElement.layout
    VisualElement.contentRect
    VisualElement.paddingRect
    VisualElement.worldBound
    VisualElement.localBound
    VisualElement.worldTransform
    VisualElement.pickingMode
    VisualElement.name
    VisualElement.enabledInHierarchy
    VisualElement.enabledSelf
    VisualElement.visible
    VisualElement.generateVisualContent
    VisualElement.experimental
    VisualElement.hierarchy
    VisualElement.cacheAsBitmap
    VisualElement.parent
    VisualElement.panel
    VisualElement.visualTreeAssetSource
    VisualElement.this[int]
    VisualElement.childCount
    VisualElement.schedule
    VisualElement.style
    VisualElement.customStyle
    VisualElement.styleSheets
    VisualElement.tooltip
    VisualElement.resolvedStyle
    Focusable.Blur()
    Focusable.focusable
    Focusable.tabIndex
    Focusable.delegatesFocus
    CallbackEventHandler.RegisterCallback<TEventType>(EventCallback<TEventType>, TrickleDown)
    CallbackEventHandler.RegisterCallback<TEventType, TUserArgsType>(EventCallback<TEventType, TUserArgsType>, TUserArgsType, TrickleDown)
    CallbackEventHandler.UnregisterCallback<TEventType>(EventCallback<TEventType>, TrickleDown)
    CallbackEventHandler.UnregisterCallback<TEventType, TUserArgsType>(EventCallback<TEventType, TUserArgsType>, TrickleDown)
    CallbackEventHandler.HandleEvent(EventBase)
    CallbackEventHandler.HasTrickleDownHandlers()
    CallbackEventHandler.HasBubbleUpHandlers()
    CallbackEventHandler.ExecuteDefaultActionAtTarget(EventBase)
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    Namespace: Unity.AppUI.UI
    Assembly: Unity.AppUI.dll
    Syntax
    public abstract class Slider<TValue, TScalar, TInputField> : BaseSlider<TValue, TScalar>, IEventHandler, ITransform, ITransitionAnimations, IExperimentalFeatures, IVisualElementScheduler, IResolvedStyle, IContextOverrideElement, IAdditionalDataHolder, IInputElement<TValue>, IValidatableElement<TValue>, INotifyValueChanging<TValue>, INotifyValueChanged<TValue>, IFormattable<TScalar> where TScalar : unmanaged where TInputField : VisualElement, IValidatableElement<TValue>, IFormattable<TScalar>, new()
    Type Parameters
    Name Description
    TValue

    The final value type.

    TScalar

    The thumb single value type.

    TInputField

    The input field type.

    Constructors

    Slider()

    Default constructor.

    Declaration
    protected Slider()

    Fields

    inputFieldUssClassName

    The USS class name for the input field.

    Declaration
    public const string inputFieldUssClassName = "appui-slider__input-field"
    Field Value
    Type Description
    string

    m_InputField

    The Input field element of the slider.

    Declaration
    protected readonly TInputField m_InputField
    Field Value
    Type Description
    TInputField

    m_MarkContainer

    The Mark container element of the slider. This is populated with marks elements based on the step value or the custom marks.

    Declaration
    protected readonly VisualElement m_MarkContainer
    Field Value
    Type Description
    VisualElement

    m_ProgressContainer

    The Progress container element of the slider. This is populated with 3 progress elements to support the track display mode.

    Declaration
    protected readonly VisualElement m_ProgressContainer
    Field Value
    Type Description
    VisualElement

    m_SliderControl

    The Slider control element.

    Declaration
    protected readonly VisualElement m_SliderControl
    Field Value
    Type Description
    VisualElement

    m_ThumbsContainer

    The Thumbs container element of the slider. This is populated with thumb elements based on the thumb count.

    Declaration
    protected readonly VisualElement m_ThumbsContainer
    Field Value
    Type Description
    VisualElement

    m_TrackElement

    The Track element of the slider. By default, this element is empty.

    Declaration
    protected readonly VisualElement m_TrackElement
    Field Value
    Type Description
    VisualElement

    markContainerUssClassName

    The USS class name for the mark container.

    Declaration
    public const string markContainerUssClassName = "appui-slider__mark-container"
    Field Value
    Type Description
    string

    markLabelUssClassName

    The USS class name for the mark label.

    Declaration
    public const string markLabelUssClassName = "appui-slider__mark-label"
    Field Value
    Type Description
    string

    markUssClassName

    The USS class name for the mark.

    Declaration
    public const string markUssClassName = "appui-slider__mark"
    Field Value
    Type Description
    string

    progressContainerUssClassName

    The USS class name for the progress container.

    Declaration
    public const string progressContainerUssClassName = "appui-slider__progress-container"
    Field Value
    Type Description
    string

    progressUssClassName

    The USS class name for the progress element.

    Declaration
    public const string progressUssClassName = "appui-slider__progress"
    Field Value
    Type Description
    string

    showMarksUssClassName

    The show marks variant USS class name.

    Declaration
    public const string showMarksUssClassName = "appui-slider--show-marks"
    Field Value
    Type Description
    string

    sliderControlUssClassName

    The USS class name for the slider control.

    Declaration
    public const string sliderControlUssClassName = "appui-slider__slider-control"
    Field Value
    Type Description
    string

    thumbUssClassName

    The USS class name for the thumb.

    Declaration
    public const string thumbUssClassName = "appui-slider__thumb"
    Field Value
    Type Description
    string

    thumbsContainerUssClassName

    The USS class name for the thumbs container.

    Declaration
    public const string thumbsContainerUssClassName = "appui-slider__thumbs-container"
    Field Value
    Type Description
    string

    trackDisplayVariantUssClassName

    The track display type variant USS class name.

    Declaration
    public const string trackDisplayVariantUssClassName = "appui-slider--track-"
    Field Value
    Type Description
    string

    trackUssClassName

    The USS class name for the track.

    Declaration
    public const string trackUssClassName = "appui-slider__track"
    Field Value
    Type Description
    string

    ussClassName

    The USS class name for the slider.

    Declaration
    public const string ussClassName = "appui-slider"
    Field Value
    Type Description
    string

    valueDisplayVariantUssClassName

    The show marks label variant USS class name.

    Declaration
    public const string valueDisplayVariantUssClassName = "appui-slider--value-display-"
    Field Value
    Type Description
    string

    variantUssClassName

    The orientation variant USS class name.

    Declaration
    public const string variantUssClassName = "appui-slider--"
    Field Value
    Type Description
    string

    Properties

    contentContainer

    The content container of this element.

    Declaration
    public override VisualElement contentContainer { get; }
    Property Value
    Type Description
    VisualElement
    Overrides
    ExVisualElement.contentContainer

    customMarks

    The custom marks to display on the slider.

    Declaration
    public IList<SliderMark<TScalar>> customMarks { get; set; }
    Property Value
    Type Description
    IList<SliderMark<TScalar>>

    displayValueLabel

    The mode to display the value of the slider.

    Declaration
    public ValueDisplayMode displayValueLabel { get; set; }
    Property Value
    Type Description
    ValueDisplayMode

    restrictedValues

    The policy to restrict the values of the slider.

    Declaration
    public RestrictedValuesPolicy restrictedValues { get; set; }
    Property Value
    Type Description
    RestrictedValuesPolicy

    scale

    Handler to scale the value of the slider thumbs and marks.

    Declaration
    public Slider<TValue, TScalar, TInputField>.ScaleHandler scale { get; set; }
    Property Value
    Type Description
    Slider<TValue, TScalar, TInputField>.ScaleHandler

    showInputField

    Whether to show the input field.

    Declaration
    public bool showInputField { get; set; }
    Property Value
    Type Description
    bool

    showMarks

    Whether to show the marks on the slider. If no custom marks are set, the marks are generated based on the step value.

    Declaration
    public bool showMarks { get; set; }
    Property Value
    Type Description
    bool

    showMarksLabel

    Whether to show the marks labels on the slider.

    Declaration
    public bool showMarksLabel { get; set; }
    Property Value
    Type Description
    bool

    track

    The mode to display the track of the slider.

    Declaration
    public TrackDisplayType track { get; set; }
    Property Value
    Type Description
    TrackDisplayType

    Methods

    ComputeValueFromDrag(Draggable)

    Returns the value to set as slider value based on a given dragger position.

    Declaration
    protected override TValue ComputeValueFromDrag(Draggable dragger)
    Parameters
    Type Name Description
    Draggable dragger

    The dragger manipulator.

    Returns
    Type Description
    TValue

    The value to set as slider value based on a given dragger position.

    Overrides
    BaseSlider<TValue, TScalar>.ComputeValueFromDrag(Draggable)

    GetClampedValue(TValue)

    Return the clamped value using current lowValue and highValue values.

    Declaration
    protected override TValue GetClampedValue(TValue newValue)
    Parameters
    Type Name Description
    TValue newValue

    The value to clamp.

    Returns
    Type Description
    TValue

    The clamped value.

    Overrides
    BaseSlider<TValue, TScalar>.GetClampedValue(TValue)
    Remarks

    The method also checks if low and high values are inverted.

    GetOrientationClassName(Direction)

    Declaration
    public static string GetOrientationClassName(Direction enumValue)
    Parameters
    Type Name Description
    Direction enumValue
    Returns
    Type Description
    string

    GetTrackDisplayTypeUssClassName(TrackDisplayType)

    Declaration
    public static string GetTrackDisplayTypeUssClassName(TrackDisplayType enumValue)
    Parameters
    Type Name Description
    TrackDisplayType enumValue
    Returns
    Type Description
    string

    GetTrackElement()

    Get the element that represent the entire track of the slider.

    Declaration
    protected override VisualElement GetTrackElement()
    Returns
    Type Description
    VisualElement

    The element that represent the entire track of the slider.

    Overrides
    BaseSlider<TValue, TScalar>.GetTrackElement()

    GetValueDisplayModeUssClassName(ValueDisplayMode)

    Declaration
    public static string GetValueDisplayModeUssClassName(ValueDisplayMode enumValue)
    Parameters
    Type Name Description
    ValueDisplayMode enumValue
    Returns
    Type Description
    string

    KeyDecrement(TScalar, TScalar, KeyDownEvent)

    Decrement the value of the slider on a specific thumb.

    Declaration
    protected override TScalar KeyDecrement(TScalar baseValue, TScalar stepValue, KeyDownEvent evt)
    Parameters
    Type Name Description
    TScalar baseValue

    The base value to decrement.

    TScalar stepValue

    The decrement step value.

    KeyDownEvent evt

    The key down event.

    Returns
    Type Description
    TScalar

    The decremented value.

    Overrides
    BaseSlider<TValue, TScalar>.KeyDecrement(TScalar, TScalar, KeyDownEvent)

    KeyIncrement(TScalar, TScalar, KeyDownEvent)

    Increment the value of the slider on a specific thumb.

    Declaration
    protected override TScalar KeyIncrement(TScalar baseValue, TScalar stepValue, KeyDownEvent evt)
    Parameters
    Type Name Description
    TScalar baseValue

    The base value to increment.

    TScalar stepValue

    The increment step value.

    KeyDownEvent evt

    The key down event.

    Returns
    Type Description
    TScalar

    The incremented value.

    Overrides
    BaseSlider<TValue, TScalar>.KeyIncrement(TScalar, TScalar, KeyDownEvent)

    OnTrackDown(Draggable)

    Event callback called when a pointer down event is received.

    Declaration
    protected override void OnTrackDown(Draggable dragger)
    Parameters
    Type Name Description
    Draggable dragger

    The dragger manipulator.

    Overrides
    BaseSlider<TValue, TScalar>.OnTrackDown(Draggable)

    OnTrackUp(Draggable)

    Event callback called when a pointer up event is received.

    Declaration
    protected override void OnTrackUp(Draggable dragger)
    Parameters
    Type Name Description
    Draggable dragger

    The dragger manipulator.

    Overrides
    BaseSlider<TValue, TScalar>.OnTrackUp(Draggable)

    RefreshUI()

    Refresh the UI of the slider. This is usually called during SetValueWithoutNotify(TValue) or directly in a setter of a bound property.

    Declaration
    protected virtual void RefreshUI()

    SetOrientation(Direction)

    Called when the orientation of the slider has changed.

    Declaration
    protected override void SetOrientation(Direction newValue)
    Parameters
    Type Name Description
    Direction newValue

    The new orientation value.

    Overrides
    BaseSlider<TValue, TScalar>.SetOrientation(Direction)

    SetStep(TScalar)

    Set the step value of the slider.

    Declaration
    protected override void SetStep(TScalar newStep)
    Parameters
    Type Name Description
    TScalar newStep

    The new step value.

    Overrides
    BaseSlider<TValue, TScalar>.SetStep(TScalar)

    SetValueWithoutNotify(TValue)

    Set the value of the slider without sending any event.

    Declaration
    public override void SetValueWithoutNotify(TValue newValue)
    Parameters
    Type Name Description
    TValue newValue

    The new value of the slider.

    Overrides
    BaseSlider<TValue, TScalar>.SetValueWithoutNotify(TValue)

    Implements

    IEventHandler
    ITransform
    ITransitionAnimations
    IExperimentalFeatures
    IVisualElementScheduler
    IResolvedStyle
    IContextOverrideElement
    IAdditionalDataHolder
    IInputElement<TValue>
    IValidatableElement<TValue>
    INotifyValueChanging<TValue>
    INotifyValueChanged<T>
    IFormattable<TValue>

    Extension Methods

    NotifyValueChangingExtensions.RegisterValueChangingCallback<TValue>(INotifyValueChanging<TValue>, EventCallback<ChangingEvent<TValue>>)
    NotifyValueChangingExtensions.UnregisterValueChangingCallback<TValue>(INotifyValueChanging<TValue>, EventCallback<ChangingEvent<TValue>>)
    VisualElementExtensions.FindNavController(VisualElement)
    RegisterUpdateCallbackExtensions.RegisterUpdateCallback(VisualElement, EventCallback<UpdateEvent>)
    RegisterUpdateCallbackExtensions.UnregisterUpdateCallback(VisualElement, EventCallback<UpdateEvent>)
    VisualElementExtensions.EnableDynamicTransform(VisualElement, bool)
    VisualElementExtensions.EnablePicking(VisualElement, bool)
    VisualElementExtensions.GetChildren<T>(VisualElement, bool)
    VisualElementExtensions.GetContextProvider<T>(VisualElement)
    VisualElementExtensions.GetContextProvider<T>(VisualElement, string)
    VisualElementExtensions.GetContext<T>(VisualElement)
    VisualElementExtensions.GetContext<T>(VisualElement, string)
    VisualElementExtensions.GetExclusiveRootElement(VisualElement)
    VisualElementExtensions.GetLastAncestorOfType<T>(VisualElement)
    VisualElementExtensions.GetPreferredTooltipPlacement(VisualElement)
    VisualElementExtensions.GetSelfContext<T>(VisualElement)
    VisualElementExtensions.GetSelfContext<T>(VisualElement, string)
    VisualElementExtensions.GetTooltipContent(VisualElement)
    VisualElementExtensions.GetTooltipTemplate(VisualElement)
    VisualElementExtensions.HasAncestorsOfType<T>(VisualElement)
    VisualElementExtensions.IsContextProvider<T>(VisualElement)
    VisualElementExtensions.IsContextProvider<T>(VisualElement, string)
    VisualElementExtensions.IsInvisible(VisualElement)
    VisualElementExtensions.IsOnScreen(VisualElement)
    VisualElementExtensions.ProvideContext<T>(VisualElement, string, T)
    VisualElementExtensions.ProvideContext<T>(VisualElement, T)
    VisualElementExtensions.RegisterContextChangedCallback<T>(VisualElement, string, EventCallback<ContextChangedEvent<T>>)
    VisualElementExtensions.RegisterContextChangedCallback<T>(VisualElement, EventCallback<ContextChangedEvent<T>>)
    VisualElementExtensions.SetPreferredTooltipPlacement(VisualElement, OptionalEnum<PopoverPlacement>)
    VisualElementExtensions.SetTooltipContent(VisualElement, VisualElementExtensions.TooltipContentCallback)
    VisualElementExtensions.SetTooltipTemplate(VisualElement, VisualElement)
    VisualElementExtensions.UnregisterContextChangedCallback<T>(VisualElement, string, EventCallback<ContextChangedEvent<T>>)
    VisualElementExtensions.UnregisterContextChangedCallback<T>(VisualElement, EventCallback<ContextChangedEvent<T>>)
    In This Article
    Back to top
    Copyright © 2025 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)