1
0

example_card.py 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. from nicegui import ui
  2. from . import svg
  3. def create() -> None:
  4. with ui.row().style('filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1))'):
  5. with ui.card().style(r'clip-path: polygon(0 0, 100% 0, 100% 90%, 0 100%)') \
  6. .classes('pb-16 no-shadow'), ui.row().classes('no-wrap'):
  7. with ui.column().classes('items-center'):
  8. svg.face().classes('w-16 mx-6 stroke-black dark:stroke-gray-100 stroke-2') \
  9. .on('click', lambda _: output.set_text("That's my face!"), [])
  10. ui.button('Click me!', on_click=lambda: output.set_text('Clicked')).classes('w-full')
  11. ui.input('Text', value='abc', on_change=lambda e: output.set_text(e.value))
  12. ui.checkbox('Check', on_change=lambda e: output.set_text('Checked' if e.value else 'Unchecked'))
  13. ui.switch('Switch', on_change=lambda e: output.set_text('Switched on' if e.value else 'Switched off'))
  14. with ui.column().classes('items-center'):
  15. output = ui.label('Try it out!').classes(
  16. 'w-44 my-6 h-8 text-xl text-gray-800 dark:text-gray-200 overflow-hidden text-ellipsis text-center')
  17. ui.slider(min=0, max=100, value=50, step=0.1, on_change=lambda e: output.set_text(e.value)) \
  18. .style('width: 150px; margin-bottom: 2px')
  19. with ui.row():
  20. ui.number('Number', value=3.1415927, format='%.2f', on_change=lambda e: output.set_text(e.value)) \
  21. .classes('w-20')
  22. ui.select({1: 'One', 2: 'Two', 3: 'Three'}, value=1, on_change=lambda e: output.set_text(e.value))
  23. ui.toggle(['1', '2', '3'], value='1', on_change=lambda e: output.set_text(e.value))
  24. ui.radio(['A', 'B', 'C'], value='A', on_change=lambda e: output.set_text(e.value)).props('inline')
  25. def create_narrow() -> None:
  26. with ui.row().style('filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1))'):
  27. with ui.card().style(r'clip-path: polygon(0 0, 100% 0, 100% 90%, 0 100%)') \
  28. .classes('pb-16 no-shadow'), ui.row().classes('no-wrap'):
  29. with ui.column().classes('items-center'):
  30. svg.face().classes('w-16 mx-6 stroke-black stroke-2').on('click', lambda _: output.set_text("That's my face!"))
  31. output = ui.label('Try it out!').classes(
  32. 'w-44 my-6 h-8 text-xl text-gray-800 dark:text-gray-200 overflow-hidden text-ellipsis text-center')
  33. ui.button('Click me!', on_click=lambda: output.set_text('Clicked')).classes('w-full')
  34. ui.input('Text', value='abc', on_change=lambda e: output.set_text(e.value))
  35. with ui.row():
  36. ui.number('Number', value=3.1415927, format='%.2f', on_change=lambda e: output.set_text(e.value)) \
  37. .classes('w-20')
  38. ui.select({1: 'One', 2: 'Two', 3: 'Three'}, value=1, on_change=lambda e: output.set_text(e.value))
  39. ui.slider(min=0, max=100, value=50, step=0.1, on_change=lambda e: output.set_text(e.value)) \
  40. .style('width: 150px; margin-bottom: 2px')
  41. ui.toggle(['1', '2', '3'], value='1', on_change=lambda e: output.set_text(e.value))
  42. ui.radio(['A', 'B', 'C'], value='A', on_change=lambda e: output.set_text(e.value)).props('inline')
  43. ui.switch('Switch', on_change=lambda e: output.set_text('Switched on' if e.value else 'Switched off'))
  44. ui.checkbox('Check', on_change=lambda e: output.set_text('Checked' if e.value else 'Unchecked'))