UNPKG

@chakra-ui/react

Version:

Responsive and accessible React UI components built with React and Emotion

279 lines (274 loc) • 10 kB
import type { CssProperties } from "../css.types" import type { Tokens } from "./token.gen" type WithColorOpacityModifier<T> = T extends string ? `${T}/${string}` : T type ImportantMark = "!" | "!important" type WhitespaceImportant = ` ${ImportantMark}` type Important = ImportantMark | WhitespaceImportant type WithImportant<T> = T extends string ? `${T}${Important}` & { __important?: true } : T export type WithEscapeHatch<T> = T | `[${string}]` | WithColorOpacityModifier<T> | WithImportant<T> // eslint-disable-next-line export type OnlyKnown<Value> = Value extends boolean ? Value : Value extends `${infer _}` ? Value : never export interface UtilityValues { colorPalette: | "transparent" | "current" | "black" | "white" | "whiteAlpha" | "blackAlpha" | "gray" | "red" | "orange" | "yellow" | "green" | "teal" | "blue" | "cyan" | "purple" | "pink" | "bg" | "fg" | "border" background: Tokens["colors"] | "currentBg" backgroundColor: Tokens["colors"] | "currentBg" backgroundClip: "text" backgroundGradient: Tokens["gradients"] | "to-t" | "to-tr" | "to-r" | "to-br" | "to-b" | "to-bl" | "to-l" | "to-tl" gradientFrom: Tokens["colors"] | "currentBg" gradientTo: Tokens["colors"] | "currentBg" gradientVia: Tokens["colors"] | "currentBg" backgroundImage: Tokens["gradients"] | Tokens["assets"] border: Tokens["borders"] borderTop: Tokens["borders"] borderLeft: Tokens["borders"] borderBlockStart: Tokens["borders"] borderRight: Tokens["borders"] borderInlineEnd: Tokens["borders"] borderBottom: Tokens["borders"] borderBlockEnd: Tokens["borders"] borderInlineStart: Tokens["borders"] borderInline: Tokens["borders"] borderBlock: Tokens["borders"] borderColor: Tokens["colors"] | "currentBg" borderTopColor: Tokens["colors"] | "currentBg" borderBlockStartColor: Tokens["colors"] | "currentBg" borderBottomColor: Tokens["colors"] | "currentBg" borderBlockEndColor: Tokens["colors"] | "currentBg" borderLeftColor: Tokens["colors"] | "currentBg" borderInlineStartColor: Tokens["colors"] | "currentBg" borderRightColor: Tokens["colors"] | "currentBg" borderInlineEndColor: Tokens["colors"] | "currentBg" borderStyle: Tokens["borderStyles"] borderTopStyle: Tokens["borderStyles"] borderBlockStartStyle: Tokens["borderStyles"] borderBottomStyle: Tokens["borderStyles"] borderBlockEndStyle: Tokens["borderStyles"] borderInlineStartStyle: Tokens["borderStyles"] borderInlineEndStyle: Tokens["borderStyles"] borderLeftStyle: Tokens["borderStyles"] borderRightStyle: Tokens["borderStyles"] borderRadius: Tokens["radii"] borderTopLeftRadius: Tokens["radii"] borderStartStartRadius: Tokens["radii"] borderEndStartRadius: Tokens["radii"] borderTopRightRadius: Tokens["radii"] borderStartEndRadius: Tokens["radii"] borderEndEndRadius: Tokens["radii"] borderBottomLeftRadius: Tokens["radii"] borderBottomRightRadius: Tokens["radii"] borderInlineStartRadius: Tokens["radii"] | CssProperties["borderRadius"] borderInlineEndRadius: Tokens["radii"] | CssProperties["borderRadius"] borderTopRadius: Tokens["radii"] | CssProperties["borderRadius"] borderBottomRadius: Tokens["radii"] | CssProperties["borderRadius"] borderLeftRadius: Tokens["radii"] | CssProperties["borderRadius"] borderRightRadius: Tokens["radii"] | CssProperties["borderRadius"] borderWidth: Tokens["borderWidths"] borderBlockStartWidth: Tokens["borderWidths"] borderTopWidth: Tokens["borderWidths"] borderBottomWidth: Tokens["borderWidths"] borderBlockEndWidth: Tokens["borderWidths"] borderRightWidth: Tokens["borderWidths"] borderInlineWidth: Tokens["borderWidths"] borderInlineStartWidth: Tokens["borderWidths"] borderInlineEndWidth: Tokens["borderWidths"] borderLeftWidth: Tokens["borderWidths"] borderBlockWidth: Tokens["borderWidths"] color: Tokens["colors"] | "currentBg" fill: Tokens["colors"] | "currentBg" stroke: Tokens["colors"] | "currentBg" accentColor: Tokens["colors"] | "currentBg" divideX: string divideY: string divideColor: Tokens["colors"] | "currentBg" boxShadow: Tokens["shadows"] boxShadowColor: Tokens["colors"] | "currentBg" opacity: Tokens["opacity"] blur: Tokens["blurs"] backdropBlur: Tokens["blurs"] flexBasis: Tokens["sizes"] gap: Tokens["spacing"] rowGap: Tokens["spacing"] columnGap: Tokens["spacing"] gridGap: Tokens["spacing"] gridColumnGap: Tokens["spacing"] gridRowGap: Tokens["spacing"] outlineColor: Tokens["colors"] | "currentBg" focusRing: "outside" | "inside" | "mixed" | "none" focusVisibleRing: "outside" | "inside" | "mixed" | "none" focusRingColor: Tokens["colors"] | "currentBg" focusRingOffset: Tokens["spacing"] focusRingWidth: Tokens["borderWidths"] | CssProperties["outlineWidth"] focusRingStyle: Tokens["borderStyles"] | CssProperties["outlineStyle"] aspectRatio: Tokens["aspectRatios"] width: Tokens["sizes"] inlineSize: Tokens["sizes"] height: Tokens["sizes"] blockSize: Tokens["sizes"] boxSize: Tokens["sizes"] | CssProperties["width"] minWidth: Tokens["sizes"] minInlineSize: Tokens["sizes"] minHeight: Tokens["sizes"] minBlockSize: Tokens["sizes"] maxWidth: Tokens["sizes"] maxInlineSize: Tokens["sizes"] maxHeight: Tokens["sizes"] maxBlockSize: Tokens["sizes"] hideFrom: Tokens["breakpoints"] hideBelow: Tokens["breakpoints"] scrollbar: "visible" | "hidden" scrollbarColor: Tokens["colors"] | "currentBg" scrollbarGutter: Tokens["spacing"] scrollbarWidth: Tokens["sizes"] scrollMargin: Tokens["spacing"] scrollMarginTop: Tokens["spacing"] scrollMarginBottom: Tokens["spacing"] scrollMarginLeft: Tokens["spacing"] scrollMarginRight: Tokens["spacing"] scrollMarginX: Tokens["spacing"] scrollMarginY: Tokens["spacing"] scrollPadding: Tokens["spacing"] scrollPaddingTop: Tokens["spacing"] scrollPaddingBottom: Tokens["spacing"] scrollPaddingLeft: Tokens["spacing"] scrollPaddingRight: Tokens["spacing"] scrollPaddingInline: Tokens["spacing"] scrollPaddingBlock: Tokens["spacing"] scrollSnapType: "none" | "x" | "y" | "both" scrollSnapStrictness: "mandatory" | "proximity" scrollSnapMargin: Tokens["spacing"] scrollSnapMarginTop: Tokens["spacing"] scrollSnapMarginBottom: Tokens["spacing"] scrollSnapMarginLeft: Tokens["spacing"] scrollSnapMarginRight: Tokens["spacing"] listStyleImage: Tokens["assets"] zIndex: Tokens["zIndex"] inset: Tokens["spacing"] insetInline: Tokens["spacing"] insetBlock: Tokens["spacing"] top: Tokens["spacing"] insetBlockStart: Tokens["spacing"] bottom: Tokens["spacing"] insetBlockEnd: Tokens["spacing"] left: Tokens["spacing"] right: Tokens["spacing"] insetInlineStart: Tokens["spacing"] insetInlineEnd: Tokens["spacing"] ringColor: Tokens["colors"] | "currentBg" ringOffsetColor: Tokens["colors"] | "currentBg" margin: Tokens["spacing"] marginTop: Tokens["spacing"] marginBlockStart: Tokens["spacing"] marginRight: Tokens["spacing"] marginBottom: Tokens["spacing"] marginBlockEnd: Tokens["spacing"] marginLeft: Tokens["spacing"] marginInlineStart: Tokens["spacing"] marginInlineEnd: Tokens["spacing"] marginInline: Tokens["spacing"] marginBlock: Tokens["spacing"] padding: Tokens["spacing"] paddingTop: Tokens["spacing"] paddingRight: Tokens["spacing"] paddingBottom: Tokens["spacing"] paddingBlockStart: Tokens["spacing"] paddingBlockEnd: Tokens["spacing"] paddingLeft: Tokens["spacing"] paddingInlineStart: Tokens["spacing"] paddingInlineEnd: Tokens["spacing"] paddingInline: Tokens["spacing"] paddingBlock: Tokens["spacing"] textDecorationColor: Tokens["colors"] | "currentBg" textShadow: Tokens["shadows"] spaceXReverse: boolean spaceX: Tokens["spacing"] | CssProperties["marginInlineStart"] spaceYReverse: boolean spaceY: Tokens["spacing"] | CssProperties["marginTop"] translateX: Tokens["spacing"] translateY: Tokens["spacing"] transition: "all" | "common" | "colors" | "opacity" | "position" | "backgrounds" | "size" | "shadow" | "transform" transitionDuration: Tokens["durations"] transitionProperty: "common" | "colors" | "size" | "position" | "background" transitionTimingFunction: Tokens["easings"] animation: Tokens["animations"] animationDuration: Tokens["durations"] animationDelay: Tokens["durations"] animationTimingFunction: Tokens["easings"] fontFamily: Tokens["fonts"] fontSize: Tokens["fontSizes"] fontWeight: Tokens["fontWeights"] lineHeight: Tokens["lineHeights"] letterSpacing: Tokens["letterSpacings"] textIndent: Tokens["spacing"] truncate: boolean srOnly: boolean debug: boolean caretColor: Tokens["colors"] | "currentBg" cursor: Tokens["cursor"] divideStyle: CssProperties["borderStyle"] textStyle: "2xs" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | "5xl" | "6xl" | "7xl" | "none" | "label" layerStyle: | "fill.muted" | "fill.subtle" | "fill.surface" | "fill.solid" | "outline.subtle" | "outline.solid" | "indicator.bottom" | "indicator.top" | "indicator.start" | "indicator.end" | "disabled" | "none" animationStyle: "slide-fade-in" | "slide-fade-out" | "scale-fade-in" | "scale-fade-out" animationName: | "spin" | "pulse" | "ping" | "bounce" | "bg-position" | "position" | "circular-progress" | "expand-height" | "collapse-height" | "expand-width" | "collapse-width" | "fade-in" | "fade-out" | "slide-from-left-full" | "slide-from-right-full" | "slide-from-top-full" | "slide-from-bottom-full" | "slide-to-left-full" | "slide-to-right-full" | "slide-to-top-full" | "slide-to-bottom-full" | "slide-from-top" | "slide-from-bottom" | "slide-from-left" | "slide-from-right" | "slide-to-top" | "slide-to-bottom" | "slide-to-left" | "slide-to-right" | "scale-in" | "scale-out" }