EnumStyleProp
See source codeTable of contents
Extends StyleProp<T>.
See StyleProp & StyleProp.defineEnum
class EnumStyleProp<T> extends StyleProp<T> {}Properties
defaultValue
from StyleProp
defaultValue: Typeid
readonly
from StyleProp
readonly id: stringtype
readonly
from StyleProp
readonly type: T.Validatable<Type>values
readonly
readonly values: readonly T[]Methods
define()
static
from StyleProp
Define a new StyleProp.
static define<Type>(
  uniqueId: string,
  options: {
    defaultValue: Type
    type?: T.Validatable<Type>
  }
): StyleProp<Type>Example
import { StyleProp } from '@tldraw/tlschema'
import { T } from '@tldraw/validate'
const MyLineWidthProp = StyleProp.define('myApp:lineWidth', {
  defaultValue: 1,
  type: T.number,
})Parameters
| Name | Description | 
|---|---|
  | Each StyleProp must have a unique ID. We recommend you prefix this with your app/library name.  | 
  | 
  | 
Returns
StyleProp<Type>defineEnum()
static
from StyleProp
Define a new StyleProp as a list of possible values.
static defineEnum<const Values extends readonly unknown[]>(
  uniqueId: string,
  options: {
    defaultValue: Values[number]
    values: Values
  }
): EnumStyleProp<Values[number]>Example
import { StyleProp } from '@tldraw/tlschema'
const MySizeProp = StyleProp.defineEnum('myApp:size', {
  defaultValue: 'medium',
  values: ['small', 'medium', 'large'],
})Parameters
| Name | Description | 
|---|---|
  | Each StyleProp must have a unique ID. We recommend you prefix this with your app/library name.  | 
  | 
  | 
Returns
EnumStyleProp<Values[number]>setDefaultValue()
from StyleProp
setDefaultValue(value: Type): voidParameters
| Name | Description | 
|---|---|
  |  | 
Returns
voidvalidate()
from StyleProp
validate(value: unknown): TypeParameters
| Name | Description | 
|---|---|
  |  | 
Returns
TypevalidateUsingKnownGoodVersion()
from StyleProp
validateUsingKnownGoodVersion(prevValue: Type, newValue: unknown): TypeParameters
| Name | Description | 
|---|---|
  |  | 
  |  | 
Returns
TypePrev
ZoomToolNext
StyleProp