You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

1002 lines
43 KiB

# pylint: disable=too-many-lines
from __future__ import annotations
from typing import TYPE_CHECKING, List, Optional, Union, overload
if TYPE_CHECKING:
from .element import Element
from .tailwind_types.accent_color import AccentColor
from .tailwind_types.align_content import AlignContent
from .tailwind_types.align_items import AlignItems
from .tailwind_types.align_self import AlignSelf
from .tailwind_types.animation import Animation
from .tailwind_types.appearance import Appearance
from .tailwind_types.aspect_ratio import AspectRatio
from .tailwind_types.backdrop_blur import BackdropBlur
from .tailwind_types.backdrop_brightness import BackdropBrightness
from .tailwind_types.backdrop_contrast import BackdropContrast
from .tailwind_types.backdrop_grayscale import BackdropGrayscale
from .tailwind_types.backdrop_hue_rotate import BackdropHueRotate
from .tailwind_types.backdrop_invert import BackdropInvert
from .tailwind_types.backdrop_opacity import BackdropOpacity
from .tailwind_types.backdrop_saturate import BackdropSaturate
from .tailwind_types.backdrop_sepia import BackdropSepia
from .tailwind_types.background_attachment import BackgroundAttachment
from .tailwind_types.background_blend_mode import BackgroundBlendMode
from .tailwind_types.background_clip import BackgroundClip
from .tailwind_types.background_color import BackgroundColor
from .tailwind_types.background_image import BackgroundImage
from .tailwind_types.background_origin import BackgroundOrigin
from .tailwind_types.background_position import BackgroundPosition
from .tailwind_types.background_repeat import BackgroundRepeat
from .tailwind_types.background_size import BackgroundSize
from .tailwind_types.blur import Blur
from .tailwind_types.border_collapse import BorderCollapse
from .tailwind_types.border_color import BorderColor
from .tailwind_types.border_radius import BorderRadius
from .tailwind_types.border_spacing import BorderSpacing
from .tailwind_types.border_style import BorderStyle
from .tailwind_types.border_width import BorderWidth
from .tailwind_types.box_decoration_break import BoxDecorationBreak
from .tailwind_types.box_shadow import BoxShadow
from .tailwind_types.box_shadow_color import BoxShadowColor
from .tailwind_types.box_sizing import BoxSizing
from .tailwind_types.break_after import BreakAfter
from .tailwind_types.break_before import BreakBefore
from .tailwind_types.break_inside import BreakInside
from .tailwind_types.brightness import Brightness
from .tailwind_types.caption_side import CaptionSide
from .tailwind_types.caret_color import CaretColor
from .tailwind_types.clear import Clear
from .tailwind_types.columns import Columns
from .tailwind_types.content import Content
from .tailwind_types.contrast import Contrast
from .tailwind_types.cursor import Cursor
from .tailwind_types.display import Display
from .tailwind_types.divide_color import DivideColor
from .tailwind_types.divide_style import DivideStyle
from .tailwind_types.divide_width import DivideWidth
from .tailwind_types.drop_shadow import DropShadow
from .tailwind_types.fill import Fill
from .tailwind_types.flex import Flex
from .tailwind_types.flex_basis import FlexBasis
from .tailwind_types.flex_direction import FlexDirection
from .tailwind_types.flex_grow import FlexGrow
from .tailwind_types.flex_shrink import FlexShrink
from .tailwind_types.flex_wrap import FlexWrap
from .tailwind_types.floats import Floats
from .tailwind_types.font_family import FontFamily
from .tailwind_types.font_size import FontSize
from .tailwind_types.font_smoothing import FontSmoothing
from .tailwind_types.font_style import FontStyle
from .tailwind_types.font_variant_numeric import FontVariantNumeric
from .tailwind_types.font_weight import FontWeight
from .tailwind_types.gap import Gap
from .tailwind_types.gradient_color_stops import GradientColorStops
from .tailwind_types.grayscale import Grayscale
from .tailwind_types.grid_auto_columns import GridAutoColumns
from .tailwind_types.grid_auto_flow import GridAutoFlow
from .tailwind_types.grid_auto_rows import GridAutoRows
from .tailwind_types.grid_column_start_end import GridColumnStartEnd
from .tailwind_types.grid_row_start_end import GridRowStartEnd
from .tailwind_types.grid_template_columns import GridTemplateColumns
from .tailwind_types.grid_template_rows import GridTemplateRows
from .tailwind_types.height import Height
from .tailwind_types.hue_rotate import HueRotate
from .tailwind_types.hyphens import Hyphens
from .tailwind_types.invert import Invert
from .tailwind_types.isolation import Isolation
from .tailwind_types.justify_content import JustifyContent
from .tailwind_types.justify_items import JustifyItems
from .tailwind_types.justify_self import JustifySelf
from .tailwind_types.letter_spacing import LetterSpacing
from .tailwind_types.line_clamp import LineClamp
from .tailwind_types.line_height import LineHeight
from .tailwind_types.list_style_image import ListStyleImage
from .tailwind_types.list_style_position import ListStylePosition
from .tailwind_types.list_style_type import ListStyleType
from .tailwind_types.margin import Margin
from .tailwind_types.max_height import MaxHeight
from .tailwind_types.max_width import MaxWidth
from .tailwind_types.min_height import MinHeight
from .tailwind_types.min_width import MinWidth
from .tailwind_types.mix_blend_mode import MixBlendMode
from .tailwind_types.object_fit import ObjectFit
from .tailwind_types.object_position import ObjectPosition
from .tailwind_types.opacity import Opacity
from .tailwind_types.order import Order
from .tailwind_types.outline_color import OutlineColor
from .tailwind_types.outline_offset import OutlineOffset
from .tailwind_types.outline_style import OutlineStyle
from .tailwind_types.outline_width import OutlineWidth
from .tailwind_types.overflow import Overflow
from .tailwind_types.overscroll_behavior import OverscrollBehavior
from .tailwind_types.padding import Padding
from .tailwind_types.place_content import PlaceContent
from .tailwind_types.place_items import PlaceItems
from .tailwind_types.place_self import PlaceSelf
from .tailwind_types.pointer_events import PointerEvents
from .tailwind_types.position import Position
from .tailwind_types.resize import Resize
from .tailwind_types.ring_color import RingColor
from .tailwind_types.ring_offset_color import RingOffsetColor
from .tailwind_types.ring_offset_width import RingOffsetWidth
from .tailwind_types.ring_width import RingWidth
from .tailwind_types.rotate import Rotate
from .tailwind_types.saturate import Saturate
from .tailwind_types.scale import Scale
from .tailwind_types.screen_readers import ScreenReaders
from .tailwind_types.scroll_behavior import ScrollBehavior
from .tailwind_types.scroll_margin import ScrollMargin
from .tailwind_types.scroll_padding import ScrollPadding
from .tailwind_types.scroll_snap_align import ScrollSnapAlign
from .tailwind_types.scroll_snap_stop import ScrollSnapStop
from .tailwind_types.scroll_snap_type import ScrollSnapType
from .tailwind_types.sepia import Sepia
from .tailwind_types.skew import Skew
from .tailwind_types.space_between import SpaceBetween
from .tailwind_types.stroke import Stroke
from .tailwind_types.stroke_width import StrokeWidth
from .tailwind_types.table_layout import TableLayout
from .tailwind_types.text_align import TextAlign
from .tailwind_types.text_color import TextColor
from .tailwind_types.text_decoration import TextDecoration
from .tailwind_types.text_decoration_color import TextDecorationColor
from .tailwind_types.text_decoration_style import TextDecorationStyle
from .tailwind_types.text_decoration_thickness import TextDecorationThickness
from .tailwind_types.text_indent import TextIndent
from .tailwind_types.text_overflow import TextOverflow
from .tailwind_types.text_transform import TextTransform
from .tailwind_types.text_underline_offset import TextUnderlineOffset
from .tailwind_types.top_right_bottom_left import TopRightBottomLeft
from .tailwind_types.touch_action import TouchAction
from .tailwind_types.transform_origin import TransformOrigin
from .tailwind_types.transition_delay import TransitionDelay
from .tailwind_types.transition_duration import TransitionDuration
from .tailwind_types.transition_property import TransitionProperty
from .tailwind_types.transition_timing_function import TransitionTimingFunction
from .tailwind_types.translate import Translate
from .tailwind_types.user_select import UserSelect
from .tailwind_types.vertical_align import VerticalAlign
from .tailwind_types.visibility import Visibility
from .tailwind_types.whitespace import Whitespace
from .tailwind_types.width import Width
from .tailwind_types.will_change import WillChange
from .tailwind_types.word_break import WordBreak
from .tailwind_types.z_index import ZIndex
class PseudoElement:
def __init__(self) -> None:
self._classes: List[str] = []
def classes(self, add: str) -> None:
self._classes.append(add)
class Tailwind:
def __init__(self, _element: Optional[Element] = None) -> None:
self.element: Union[PseudoElement, Element] = PseudoElement() if _element is None else _element
@overload
def __call__(self, tailwind: Tailwind) -> Tailwind:
...
@overload
def __call__(self, *classes: str) -> Tailwind:
...
def __call__(self, *args) -> Tailwind: # type: ignore
if not args:
return self
if isinstance(args[0], Tailwind):
args[0].apply(self.element) # type: ignore
else:
self.element.classes(' '.join(args))
return self
def apply(self, element: Element) -> None:
element._classes.extend(self.element._classes) # pylint: disable=protected-access
element.update()
def aspect_ratio(self, value: AspectRatio) -> Tailwind:
"""Utilities for controlling the aspect ratio of an element."""
self.element.classes('aspect-' + value)
return self
def container(self) -> Tailwind:
"""A component for fixing an element's width to the current breakpoint."""
self.element.classes('container')
return self
def columns(self, value: Columns) -> Tailwind:
"""Utilities for controlling the number of columns within an element."""
self.element.classes('columns-' + value)
return self
def break_after(self, value: BreakAfter) -> Tailwind:
"""Utilities for controlling how a column or page should break after an element."""
self.element.classes('break-after-' + value)
return self
def break_before(self, value: BreakBefore) -> Tailwind:
"""Utilities for controlling how a column or page should break before an element."""
self.element.classes('break-before-' + value)
return self
def break_inside(self, value: BreakInside) -> Tailwind:
"""Utilities for controlling how a column or page should break within an element."""
self.element.classes('break-inside-' + value)
return self
def box_decoration_break(self, value: BoxDecorationBreak) -> Tailwind:
"""Utilities for controlling how element fragments should be rendered across multiple lines, columns, or pages."""
self.element.classes('box-decoration-' + value)
return self
def box_sizing(self, value: BoxSizing) -> Tailwind:
"""Utilities for controlling how the browser should calculate an element's total size."""
self.element.classes('box-' + value)
return self
def display(self, value: Display) -> Tailwind:
"""Utilities for controlling the display box type of an element."""
self.element.classes('' + value)
return self
def floats(self, value: Floats) -> Tailwind:
"""Utilities for controlling the wrapping of content around an element."""
self.element.classes('float-' + value)
return self
def clear(self, value: Clear) -> Tailwind:
"""Utilities for controlling the wrapping of content around an element."""
self.element.classes('clear-' + value)
return self
def isolation(self, value: Isolation) -> Tailwind:
"""Utilities for controlling whether an element should explicitly create a new stacking context."""
self.element.classes('' + value)
return self
def object_fit(self, value: ObjectFit) -> Tailwind:
"""Utilities for controlling how a replaced element's content should be resized."""
self.element.classes('object-' + value)
return self
def object_position(self, value: ObjectPosition) -> Tailwind:
"""Utilities for controlling how a replaced element's content should be positioned within its container."""
self.element.classes('object-' + value)
return self
def overflow(self, value: Overflow) -> Tailwind:
"""Utilities for controlling how an element handles content that is too large for the container."""
self.element.classes('overflow-' + value)
return self
def overscroll_behavior(self, value: OverscrollBehavior) -> Tailwind:
"""Utilities for controlling how the browser behaves when reaching the boundary of a scrolling area."""
self.element.classes('overscroll-' + value)
return self
def position(self, value: Position) -> Tailwind:
"""Utilities for controlling how an element is positioned in the DOM."""
self.element.classes('' + value)
return self
def top_right_bottom_left(self, value: TopRightBottomLeft) -> Tailwind:
"""Utilities for controlling the placement of positioned elements."""
self.element.classes('' + value)
return self
def visibility(self, value: Visibility) -> Tailwind:
"""Utilities for controlling the visibility of an element."""
self.element.classes('' + value)
return self
def z_index(self, value: ZIndex) -> Tailwind:
"""Utilities for controlling the stack order of an element."""
self.element.classes('z-' + value)
return self
def flex_basis(self, value: FlexBasis) -> Tailwind:
"""Utilities for controlling the initial size of flex items."""
self.element.classes('basis-' + value)
return self
def flex_direction(self, value: FlexDirection) -> Tailwind:
"""Utilities for controlling the direction of flex items."""
self.element.classes('flex-' + value)
return self
def flex_wrap(self, value: FlexWrap) -> Tailwind:
"""Utilities for controlling how flex items wrap."""
self.element.classes('flex-' + value)
return self
def flex(self, value: Flex) -> Tailwind:
"""Utilities for controlling how flex items both grow and shrink."""
self.element.classes('flex-' + value)
return self
def flex_grow(self, value: FlexGrow) -> Tailwind:
"""Utilities for controlling how flex items grow."""
self.element.classes('grow-' + value)
return self
def flex_shrink(self, value: FlexShrink) -> Tailwind:
"""Utilities for controlling how flex items shrink."""
self.element.classes('shrink-' + value)
return self
def order(self, value: Order) -> Tailwind:
"""Utilities for controlling the order of flex and grid items."""
self.element.classes('order-' + value)
return self
def grid_template_columns(self, value: GridTemplateColumns) -> Tailwind:
"""Utilities for specifying the columns in a grid layout."""
self.element.classes('grid-cols-' + value)
return self
def grid_column_start_end(self, value: GridColumnStartEnd) -> Tailwind:
"""Utilities for controlling how elements are sized and placed across grid columns."""
self.element.classes('col-' + value)
return self
def grid_template_rows(self, value: GridTemplateRows) -> Tailwind:
"""Utilities for specifying the rows in a grid layout."""
self.element.classes('grid-rows-' + value)
return self
def grid_row_start_end(self, value: GridRowStartEnd) -> Tailwind:
"""Utilities for controlling how elements are sized and placed across grid rows."""
self.element.classes('row-' + value)
return self
def grid_auto_flow(self, value: GridAutoFlow) -> Tailwind:
"""Utilities for controlling how elements in a grid are auto-placed."""
self.element.classes('grid-flow-' + value)
return self
def grid_auto_columns(self, value: GridAutoColumns) -> Tailwind:
"""Utilities for controlling the size of implicitly-created grid columns."""
self.element.classes('auto-cols-' + value)
return self
def grid_auto_rows(self, value: GridAutoRows) -> Tailwind:
"""Utilities for controlling the size of implicitly-created grid rows."""
self.element.classes('auto-rows-' + value)
return self
def gap(self, value: Gap) -> Tailwind:
"""Utilities for controlling gutters between grid and flexbox items."""
self.element.classes('gap-' + value)
return self
def justify_content(self, value: JustifyContent) -> Tailwind:
"""Utilities for controlling how flex and grid items are positioned along a container's main axis."""
self.element.classes('justify-' + value)
return self
def justify_items(self, value: JustifyItems) -> Tailwind:
"""Utilities for controlling how grid items are aligned along their inline axis."""
self.element.classes('justify-items-' + value)
return self
def justify_self(self, value: JustifySelf) -> Tailwind:
"""Utilities for controlling how an individual grid item is aligned along its inline axis."""
self.element.classes('justify-self-' + value)
return self
def align_content(self, value: AlignContent) -> Tailwind:
"""Utilities for controlling how rows are positioned in multi-row flex and grid containers."""
self.element.classes('content-' + value)
return self
def align_items(self, value: AlignItems) -> Tailwind:
"""Utilities for controlling how flex and grid items are positioned along a container's cross axis."""
self.element.classes('items-' + value)
return self
def align_self(self, value: AlignSelf) -> Tailwind:
"""Utilities for controlling how an individual flex or grid item is positioned along its container's cross axis."""
self.element.classes('self-' + value)
return self
def place_content(self, value: PlaceContent) -> Tailwind:
"""Utilities for controlling how content is justified and aligned at the same time."""
self.element.classes('place-content-' + value)
return self
def place_items(self, value: PlaceItems) -> Tailwind:
"""Utilities for controlling how items are justified and aligned at the same time."""
self.element.classes('place-items-' + value)
return self
def place_self(self, value: PlaceSelf) -> Tailwind:
"""Utilities for controlling how an individual item is justified and aligned at the same time."""
self.element.classes('place-self-' + value)
return self
def padding(self, value: Padding) -> Tailwind:
"""Utilities for controlling an element's padding."""
self.element.classes('' + value)
return self
def margin(self, value: Margin) -> Tailwind:
"""Utilities for controlling an element's margin."""
self.element.classes('' + value)
return self
def space_between(self, value: SpaceBetween) -> Tailwind:
"""Utilities for controlling the space between child elements."""
self.element.classes('space-' + value)
return self
def width(self, value: Width) -> Tailwind:
"""Utilities for setting the width of an element."""
self.element.classes('w-' + value)
return self
def min_width(self, value: MinWidth) -> Tailwind:
"""Utilities for setting the minimum width of an element."""
self.element.classes('min-w-' + value)
return self
def max_width(self, value: MaxWidth) -> Tailwind:
"""Utilities for setting the maximum width of an element."""
self.element.classes('max-w-' + value)
return self
def height(self, value: Height) -> Tailwind:
"""Utilities for setting the height of an element."""
self.element.classes('h-' + value)
return self
def min_height(self, value: MinHeight) -> Tailwind:
"""Utilities for setting the minimum height of an element."""
self.element.classes('min-h-' + value)
return self
def max_height(self, value: MaxHeight) -> Tailwind:
"""Utilities for setting the maximum height of an element."""
self.element.classes('max-h-' + value)
return self
def font_family(self, value: FontFamily) -> Tailwind:
"""Utilities for controlling the font family of an element."""
self.element.classes('font-' + value)
return self
def font_size(self, value: FontSize) -> Tailwind:
"""Utilities for controlling the font size of an element."""
self.element.classes('text-' + value)
return self
def font_smoothing(self, value: FontSmoothing) -> Tailwind:
"""Utilities for controlling the font smoothing of an element."""
self.element.classes('' + value)
return self
def font_style(self, value: FontStyle) -> Tailwind:
"""Utilities for controlling the style of text."""
self.element.classes('' + value)
return self
def font_weight(self, value: FontWeight) -> Tailwind:
"""Utilities for controlling the font weight of an element."""
self.element.classes('font-' + value)
return self
def font_variant_numeric(self, value: FontVariantNumeric) -> Tailwind:
"""Utilities for controlling the variant of numbers."""
self.element.classes('' + value)
return self
def letter_spacing(self, value: LetterSpacing) -> Tailwind:
"""Utilities for controlling the tracking (letter spacing) of an element."""
self.element.classes('tracking-' + value)
return self
def line_clamp(self, value: LineClamp) -> Tailwind:
"""Utilities for clamping text to a specific number of lines."""
self.element.classes('line-clamp-' + value)
return self
def line_height(self, value: LineHeight) -> Tailwind:
"""Utilities for controlling the leading (line height) of an element."""
self.element.classes('leading-' + value)
return self
def list_style_image(self, value: ListStyleImage) -> Tailwind:
"""Utilities for controlling the marker images for list items."""
self.element.classes('list-image' + value)
return self
def list_style_position(self, value: ListStylePosition) -> Tailwind:
"""Utilities for controlling the position of bullets/numbers in lists."""
self.element.classes('list-' + value)
return self
def list_style_type(self, value: ListStyleType) -> Tailwind:
"""Utilities for controlling the bullet/number style of a list."""
self.element.classes('list-' + value)
return self
def text_align(self, value: TextAlign) -> Tailwind:
"""Utilities for controlling the alignment of text."""
self.element.classes('text-' + value)
return self
def text_color(self, value: TextColor) -> Tailwind:
"""Utilities for controlling the text color of an element."""
self.element.classes('text-' + value)
return self
def text_decoration(self, value: TextDecoration) -> Tailwind:
"""Utilities for controlling the decoration of text."""
self.element.classes('' + value)
return self
def text_decoration_color(self, value: TextDecorationColor) -> Tailwind:
"""Utilities for controlling the color of text decorations."""
self.element.classes('decoration-' + value)
return self
def text_decoration_style(self, value: TextDecorationStyle) -> Tailwind:
"""Utilities for controlling the style of text decorations."""
self.element.classes('decoration-' + value)
return self
def text_decoration_thickness(self, value: TextDecorationThickness) -> Tailwind:
"""Utilities for controlling the thickness of text decorations."""
self.element.classes('decoration-' + value)
return self
def text_underline_offset(self, value: TextUnderlineOffset) -> Tailwind:
"""Utilities for controlling the offset of a text underline."""
self.element.classes('underline-offset-' + value)
return self
def text_transform(self, value: TextTransform) -> Tailwind:
"""Utilities for controlling the transformation of text."""
self.element.classes('' + value)
return self
def text_overflow(self, value: TextOverflow) -> Tailwind:
"""Utilities for controlling text overflow in an element."""
self.element.classes('' + value)
return self
def text_indent(self, value: TextIndent) -> Tailwind:
"""Utilities for controlling the amount of empty space shown before text in a block."""
self.element.classes('indent-' + value)
return self
def vertical_align(self, value: VerticalAlign) -> Tailwind:
"""Utilities for controlling the vertical alignment of an inline or table-cell box."""
self.element.classes('align-' + value)
return self
def whitespace(self, value: Whitespace) -> Tailwind:
"""Utilities for controlling an element's white-space property."""
self.element.classes('whitespace-' + value)
return self
def word_break(self, value: WordBreak) -> Tailwind:
"""Utilities for controlling word breaks in an element."""
self.element.classes('break-' + value)
return self
def hyphens(self, value: Hyphens) -> Tailwind:
"""Utilities for controlling how words should be hyphenated."""
self.element.classes('hyphens-' + value)
return self
def content(self, value: Content) -> Tailwind:
"""Utilities for controlling the content of the before and after pseudo-elements."""
self.element.classes('content' + value)
return self
def background_attachment(self, value: BackgroundAttachment) -> Tailwind:
"""Utilities for controlling how a background image behaves when scrolling."""
self.element.classes('bg-' + value)
return self
def background_clip(self, value: BackgroundClip) -> Tailwind:
"""Utilities for controlling the bounding box of an element's background."""
self.element.classes('bg-clip-' + value)
return self
def background_color(self, value: BackgroundColor) -> Tailwind:
"""Utilities for controlling an element's background color."""
self.element.classes('bg-' + value)
return self
def background_origin(self, value: BackgroundOrigin) -> Tailwind:
"""Utilities for controlling how an element's background is positioned relative to borders, padding, and content."""
self.element.classes('bg-origin-' + value)
return self
def background_position(self, value: BackgroundPosition) -> Tailwind:
"""Utilities for controlling the position of an element's background image."""
self.element.classes('bg-' + value)
return self
def background_repeat(self, value: BackgroundRepeat) -> Tailwind:
"""Utilities for controlling the repetition of an element's background image."""
self.element.classes('bg-' + value)
return self
def background_size(self, value: BackgroundSize) -> Tailwind:
"""Utilities for controlling the background size of an element's background image."""
self.element.classes('bg-' + value)
return self
def background_image(self, value: BackgroundImage) -> Tailwind:
"""Utilities for controlling an element's background image."""
self.element.classes('bg-' + value)
return self
def gradient_color_stops(self, value: GradientColorStops) -> Tailwind:
"""Utilities for controlling the color stops in background gradients."""
self.element.classes('' + value)
return self
def border_radius(self, value: BorderRadius) -> Tailwind:
"""Utilities for controlling the border radius of an element."""
self.element.classes('rounded-' + value)
return self
def border_width(self, value: BorderWidth) -> Tailwind:
"""Utilities for controlling the width of an element's borders."""
self.element.classes('border-' + value)
return self
def border_color(self, value: BorderColor) -> Tailwind:
"""Utilities for controlling the color of an element's borders."""
self.element.classes('border-' + value)
return self
def border_style(self, value: BorderStyle) -> Tailwind:
"""Utilities for controlling the style of an element's borders."""
self.element.classes('border-' + value)
return self
def divide_width(self, value: DivideWidth) -> Tailwind:
"""Utilities for controlling the border width between elements."""
self.element.classes('divide-' + value)
return self
def divide_color(self, value: DivideColor) -> Tailwind:
"""Utilities for controlling the border color between elements."""
self.element.classes('divide-' + value)
return self
def divide_style(self, value: DivideStyle) -> Tailwind:
"""Utilities for controlling the border style between elements."""
self.element.classes('divide-' + value)
return self
def outline_width(self, value: OutlineWidth) -> Tailwind:
"""Utilities for controlling the width of an element's outline."""
self.element.classes('outline-' + value)
return self
def outline_color(self, value: OutlineColor) -> Tailwind:
"""Utilities for controlling the color of an element's outline."""
self.element.classes('outline-' + value)
return self
def outline_style(self, value: OutlineStyle) -> Tailwind:
"""Utilities for controlling the style of an element's outline."""
self.element.classes('outline-' + value)
return self
def outline_offset(self, value: OutlineOffset) -> Tailwind:
"""Utilities for controlling the offset of an element's outline."""
self.element.classes('outline-offset-' + value)
return self
def ring_width(self, value: RingWidth) -> Tailwind:
"""Utilities for creating outline rings with box-shadows."""
self.element.classes('ring-' + value)
return self
def ring_color(self, value: RingColor) -> Tailwind:
"""Utilities for setting the color of outline rings."""
self.element.classes('ring-' + value)
return self
def ring_offset_width(self, value: RingOffsetWidth) -> Tailwind:
"""Utilities for simulating an offset when adding outline rings."""
self.element.classes('ring-offset-' + value)
return self
def ring_offset_color(self, value: RingOffsetColor) -> Tailwind:
"""Utilities for setting the color of outline ring offsets."""
self.element.classes('ring-offset-' + value)
return self
def box_shadow(self, value: BoxShadow) -> Tailwind:
"""Utilities for controlling the box shadow of an element."""
self.element.classes('shadow-' + value)
return self
def box_shadow_color(self, value: BoxShadowColor) -> Tailwind:
"""Utilities for controlling the color of a box shadow."""
self.element.classes('shadow-' + value)
return self
def opacity(self, value: Opacity) -> Tailwind:
"""Utilities for controlling the opacity of an element."""
self.element.classes('opacity-' + value)
return self
def mix_blend_mode(self, value: MixBlendMode) -> Tailwind:
"""Utilities for controlling how an element should blend with the background."""
self.element.classes('mix-blend-' + value)
return self
def background_blend_mode(self, value: BackgroundBlendMode) -> Tailwind:
"""Utilities for controlling how an element's background image should blend with its background color."""
self.element.classes('bg-blend-' + value)
return self
def blur(self, value: Blur) -> Tailwind:
"""Utilities for applying blur filters to an element."""
self.element.classes('blur-' + value)
return self
def brightness(self, value: Brightness) -> Tailwind:
"""Utilities for applying brightness filters to an element."""
self.element.classes('brightness-' + value)
return self
def contrast(self, value: Contrast) -> Tailwind:
"""Utilities for applying contrast filters to an element."""
self.element.classes('contrast-' + value)
return self
def drop_shadow(self, value: DropShadow) -> Tailwind:
"""Utilities for applying drop-shadow filters to an element."""
self.element.classes('drop-shadow-' + value)
return self
def grayscale(self, value: Grayscale) -> Tailwind:
"""Utilities for applying grayscale filters to an element."""
self.element.classes('grayscale-' + value)
return self
def hue_rotate(self, value: HueRotate) -> Tailwind:
"""Utilities for applying hue-rotate filters to an element."""
self.element.classes('hue-rotate-' + value)
return self
def invert(self, value: Invert) -> Tailwind:
"""Utilities for applying invert filters to an element."""
self.element.classes('invert-' + value)
return self
def saturate(self, value: Saturate) -> Tailwind:
"""Utilities for applying saturation filters to an element."""
self.element.classes('saturate-' + value)
return self
def sepia(self, value: Sepia) -> Tailwind:
"""Utilities for applying sepia filters to an element."""
self.element.classes('sepia-' + value)
return self
def backdrop_blur(self, value: BackdropBlur) -> Tailwind:
"""Utilities for applying backdrop blur filters to an element."""
self.element.classes('backdrop-blur-' + value)
return self
def backdrop_brightness(self, value: BackdropBrightness) -> Tailwind:
"""Utilities for applying backdrop brightness filters to an element."""
self.element.classes('backdrop-brightness-' + value)
return self
def backdrop_contrast(self, value: BackdropContrast) -> Tailwind:
"""Utilities for applying backdrop contrast filters to an element."""
self.element.classes('backdrop-contrast-' + value)
return self
def backdrop_grayscale(self, value: BackdropGrayscale) -> Tailwind:
"""Utilities for applying backdrop grayscale filters to an element."""
self.element.classes('backdrop-grayscale-' + value)
return self
def backdrop_hue_rotate(self, value: BackdropHueRotate) -> Tailwind:
"""Utilities for applying backdrop hue-rotate filters to an element."""
self.element.classes('backdrop-hue-rotate-' + value)
return self
def backdrop_invert(self, value: BackdropInvert) -> Tailwind:
"""Utilities for applying backdrop invert filters to an element."""
self.element.classes('backdrop-invert-' + value)
return self
def backdrop_opacity(self, value: BackdropOpacity) -> Tailwind:
"""Utilities for applying backdrop opacity filters to an element."""
self.element.classes('backdrop-opacity-' + value)
return self
def backdrop_saturate(self, value: BackdropSaturate) -> Tailwind:
"""Utilities for applying backdrop saturation filters to an element."""
self.element.classes('backdrop-saturate-' + value)
return self
def backdrop_sepia(self, value: BackdropSepia) -> Tailwind:
"""Utilities for applying backdrop sepia filters to an element."""
self.element.classes('backdrop-sepia-' + value)
return self
def border_collapse(self, value: BorderCollapse) -> Tailwind:
"""Utilities for controlling whether table borders should collapse or be separated."""
self.element.classes('border-' + value)
return self
def border_spacing(self, value: BorderSpacing) -> Tailwind:
"""Utilities for controlling the spacing between table borders."""
self.element.classes('border-spacing-' + value)
return self
def table_layout(self, value: TableLayout) -> Tailwind:
"""Utilities for controlling the table layout algorithm."""
self.element.classes('table-' + value)
return self
def caption_side(self, value: CaptionSide) -> Tailwind:
"""Utilities for controlling the alignment of a caption element inside of a table."""
self.element.classes('caption-' + value)
return self
def transition_property(self, value: TransitionProperty) -> Tailwind:
"""Utilities for controlling which CSS properties transition."""
self.element.classes('transition-' + value)
return self
def transition_duration(self, value: TransitionDuration) -> Tailwind:
"""Utilities for controlling the duration of CSS transitions."""
self.element.classes('duration-' + value)
return self
def transition_timing_function(self, value: TransitionTimingFunction) -> Tailwind:
"""Utilities for controlling the easing of CSS transitions."""
self.element.classes('ease-' + value)
return self
def transition_delay(self, value: TransitionDelay) -> Tailwind:
"""Utilities for controlling the delay of CSS transitions."""
self.element.classes('delay-' + value)
return self
def animation(self, value: Animation) -> Tailwind:
"""Utilities for animating elements with CSS animations."""
self.element.classes('animate-' + value)
return self
def scale(self, value: Scale) -> Tailwind:
"""Utilities for scaling elements with transform."""
self.element.classes('scale-' + value)
return self
def rotate(self, value: Rotate) -> Tailwind:
"""Utilities for rotating elements with transform."""
self.element.classes('rotate-' + value)
return self
def translate(self, value: Translate) -> Tailwind:
"""Utilities for translating elements with transform."""
self.element.classes('translate-' + value)
return self
def skew(self, value: Skew) -> Tailwind:
"""Utilities for skewing elements with transform."""
self.element.classes('skew-' + value)
return self
def transform_origin(self, value: TransformOrigin) -> Tailwind:
"""Utilities for specifying the origin for an element's transformations."""
self.element.classes('origin-' + value)
return self
def accent_color(self, value: AccentColor) -> Tailwind:
"""Utilities for controlling the accented color of a form control."""
self.element.classes('accent-' + value)
return self
def appearance(self, value: Appearance) -> Tailwind:
"""Utilities for suppressing native form control styling."""
self.element.classes('appearance' + value)
return self
def cursor(self, value: Cursor) -> Tailwind:
"""Utilities for controlling the cursor style when hovering over an element."""
self.element.classes('cursor-' + value)
return self
def caret_color(self, value: CaretColor) -> Tailwind:
"""Utilities for controlling the color of the text input cursor."""
self.element.classes('caret-' + value)
return self
def pointer_events(self, value: PointerEvents) -> Tailwind:
"""Utilities for controlling whether an element responds to pointer events."""
self.element.classes('pointer-events-' + value)
return self
def resize(self, value: Resize) -> Tailwind:
"""Utilities for controlling how an element can be resized."""
self.element.classes('resize-' + value)
return self
def scroll_behavior(self, value: ScrollBehavior) -> Tailwind:
"""Utilities for controlling the scroll behavior of an element."""
self.element.classes('scroll-' + value)
return self
def scroll_margin(self, value: ScrollMargin) -> Tailwind:
"""Utilities for controlling the scroll offset around items in a snap container."""
self.element.classes('scroll-' + value)
return self
def scroll_padding(self, value: ScrollPadding) -> Tailwind:
"""Utilities for controlling an element's scroll offset within a snap container."""
self.element.classes('scroll-' + value)
return self
def scroll_snap_align(self, value: ScrollSnapAlign) -> Tailwind:
"""Utilities for controlling the scroll snap alignment of an element."""
self.element.classes('snap-' + value)
return self
def scroll_snap_stop(self, value: ScrollSnapStop) -> Tailwind:
"""Utilities for controlling whether you can skip past possible snap positions."""
self.element.classes('snap-' + value)
return self
def scroll_snap_type(self, value: ScrollSnapType) -> Tailwind:
"""Utilities for controlling how strictly snap points are enforced in a snap container."""
self.element.classes('snap-' + value)
return self
def touch_action(self, value: TouchAction) -> Tailwind:
"""Utilities for controlling how an element can be scrolled and zoomed on touchscreens."""
self.element.classes('touch-' + value)
return self
def user_select(self, value: UserSelect) -> Tailwind:
"""Utilities for controlling whether the user can select text in an element."""
self.element.classes('select-' + value)
return self
def will_change(self, value: WillChange) -> Tailwind:
"""Utilities for optimizing upcoming animations of elements that are expected to change."""
self.element.classes('will-change-' + value)
return self
def fill(self, value: Fill) -> Tailwind:
"""Utilities for styling the fill of SVG elements."""
self.element.classes('fill-' + value)
return self
def stroke(self, value: Stroke) -> Tailwind:
"""Utilities for styling the stroke of SVG elements."""
self.element.classes('stroke-' + value)
return self
def stroke_width(self, value: StrokeWidth) -> Tailwind:
"""Utilities for styling the stroke width of SVG elements."""
self.element.classes('stroke-' + value)
return self
def screen_readers(self, value: ScreenReaders) -> Tailwind:
"""Utilities for improving accessibility with screen readers."""
self.element.classes('' + value)
return self