1
0

expansion_documentation.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. from nicegui import ui
  2. from . import doc
  3. @doc.demo(ui.expansion)
  4. def main_demo() -> None:
  5. with ui.expansion('Expand!', icon='work').classes('w-full'):
  6. ui.label('inside the expansion')
  7. @doc.demo('Expansion with Custom Header', '''
  8. Instead of setting a plain-text title, you can fill the expansion header with UI elements by adding them to the "header" slot.
  9. ''')
  10. def expansion_with_custom_header():
  11. with ui.expansion() as expansion:
  12. with expansion.add_slot('header'):
  13. ui.image('https://nicegui.io/logo.png').classes('w-16')
  14. ui.label('What a nice GUI!')
  15. @doc.demo('Expansion with Custom Caption', '''
  16. A caption, or sub-label, can be added below the title.
  17. ''')
  18. def expansion_with_caption():
  19. with ui.expansion('Expand!', caption='Expansion Caption').classes('w-full'):
  20. ui.label('inside the expansion')
  21. @doc.demo('Expansion with Grouping', '''
  22. An expansion group can be defined to enable coordinated open/close states a.k.a. "accordion mode".
  23. ''')
  24. def expansion_with_grouping():
  25. with ui.expansion(text='Expand One!', group='group'):
  26. ui.label('inside expansion one')
  27. with ui.expansion(text='Expand Two!', group='group'):
  28. ui.label('inside expansion two')
  29. with ui.expansion(text='Expand Three!', group='group'):
  30. ui.label('inside expansion three')
  31. doc.reference(ui.expansion)