
* Improve import times * add lazy loading to rx.el * add lazy loading to reflex core components * minor refactor * Get imports working with reflex web * get imports to work with all reflex examples * refactor to define imports only in the root. * lint * deadcode remove * update poetry deps * unit tests fix * app_harness fix * app_harness fix * pyi file generate * pyi file generate * sort pyi order * fix pyi * fix docker ci * rework pyi-generator * generate pyi for __init__ files * test pyright * test pyright ci * partial pyright fix * more pyright fix * pyright fix * fix pyi_generator * add rx.serializer and others * add future annotation import which fixes container CI, then also load recharts lazily * add new pyi files * pyright fix * minor fixes for reflex-web and flexdown * forward references for py38 * ruff fix * pyi fix * unit tests fix * reduce coverage to 68% * reduce coverage to 67% * reduce coverage to 66%as a workaround to coverage's rounding issue * reduce coverage to 66%as a workaround to coverage's rounding issue * exclude lazy_loader dependency review checks. * its lazy-loader * Add docstrings and regenerate pyi files * add link * address Pr comments * CI fix * partially address PR comments. * edit docstrings and fix integration tests * fix typo in docstring * pyi fix
70 lines
1.9 KiB
Python
70 lines
1.9 KiB
Python
"""Responsive components."""
|
|
|
|
from reflex.components.radix.themes.layout.box import Box
|
|
|
|
|
|
# Add responsive styles shortcuts.
|
|
def mobile_only(*children, **props):
|
|
"""Create a component that is only visible on mobile.
|
|
|
|
Args:
|
|
*children: The children to pass to the component.
|
|
**props: The props to pass to the component.
|
|
|
|
Returns:
|
|
The component.
|
|
"""
|
|
return Box.create(*children, **props, display=["block", "none", "none", "none"])
|
|
|
|
|
|
def tablet_only(*children, **props):
|
|
"""Create a component that is only visible on tablet.
|
|
|
|
Args:
|
|
*children: The children to pass to the component.
|
|
**props: The props to pass to the component.
|
|
|
|
Returns:
|
|
The component.
|
|
"""
|
|
return Box.create(*children, **props, display=["none", "block", "block", "none"])
|
|
|
|
|
|
def desktop_only(*children, **props):
|
|
"""Create a component that is only visible on desktop.
|
|
|
|
Args:
|
|
*children: The children to pass to the component.
|
|
**props: The props to pass to the component.
|
|
|
|
Returns:
|
|
The component.
|
|
"""
|
|
return Box.create(*children, **props, display=["none", "none", "none", "block"])
|
|
|
|
|
|
def tablet_and_desktop(*children, **props):
|
|
"""Create a component that is only visible on tablet and desktop.
|
|
|
|
Args:
|
|
*children: The children to pass to the component.
|
|
**props: The props to pass to the component.
|
|
|
|
Returns:
|
|
The component.
|
|
"""
|
|
return Box.create(*children, **props, display=["none", "block", "block", "block"])
|
|
|
|
|
|
def mobile_and_tablet(*children, **props):
|
|
"""Create a component that is only visible on mobile and tablet.
|
|
|
|
Args:
|
|
*children: The children to pass to the component.
|
|
**props: The props to pass to the component.
|
|
|
|
Returns:
|
|
The component.
|
|
"""
|
|
return Box.create(*children, **props, display=["block", "block", "block", "none"])
|