1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- """Handle styling."""
- from typing import Optional
- from pynecone import constants
- from pynecone.event import EventChain
- from pynecone.utils import format
- from pynecone.var import BaseVar, Var
- toggle_color_mode = BaseVar(name=constants.TOGGLE_COLOR_MODE, type_=EventChain)
- def convert(style_dict):
- """Format a style dictionary.
- Args:
- style_dict: The style dictionary to format.
- Returns:
- The formatted style dictionary.
- """
- out = {}
- for key, value in style_dict.items():
- key = format.to_camel_case(key)
- if isinstance(value, dict):
- out[key] = convert(value)
- elif isinstance(value, Var):
- out[key] = str(value)
- else:
- out[key] = value
- return out
- class Style(dict):
- """A style dictionary."""
- def __init__(self, style_dict: Optional[dict] = None):
- """Initialize the style.
- Args:
- style_dict: The style dictionary.
- """
- style_dict = style_dict or {}
- super().__init__(convert(style_dict))
|