1 /*
2  * Copyright 2020 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package androidx.compose.ui.state
18 
19 import androidx.compose.ui.state.ToggleableState.Off
20 import androidx.compose.ui.state.ToggleableState.On
21 
22 /** Enum that represents possible toggleable states. */
23 enum class ToggleableState {
24     /** State that means a component is on */
25     On,
26     /** State that means a component is off */
27     Off,
28     /** State that means that on/off value of a component cannot be determined */
29     Indeterminate
30 }
31 
32 /**
33  * Return corresponding ToggleableState based on a Boolean representation
34  *
35  * @param value whether the ToggleableState is on or off
36  */
ToggleableStatenull37 fun ToggleableState(value: Boolean) = if (value) On else Off
38