nicegui 2.8.0__tar.gz → 2.9.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (830) hide show
  1. {nicegui-2.8.0 → nicegui-2.9.0}/PKG-INFO +1 -2
  2. {nicegui-2.8.0 → nicegui-2.9.0}/README.md +0 -1
  3. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/air.py +9 -1
  4. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/app/app.py +1 -0
  5. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/app/app_config.py +3 -0
  6. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/client.py +10 -8
  7. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/code.py +1 -1
  8. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/input.js +1 -0
  9. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/leaflet.js +1 -2
  10. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/leaflet.py +18 -9
  11. nicegui-2.9.0/nicegui/elements/timer.py +47 -0
  12. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/functions/javascript.py +2 -1
  13. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/nicegui.py +11 -3
  14. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/outbox.py +58 -10
  15. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/page.py +5 -1
  16. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/page_layout.py +1 -1
  17. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/nicegui.js +24 -1
  18. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/testing/general_fixtures.py +1 -0
  19. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/testing/user_interaction.py +3 -0
  20. {nicegui-2.8.0/nicegui/elements → nicegui-2.9.0/nicegui}/timer.py +20 -37
  21. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/ui_run.py +38 -3
  22. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/ui_run_with.py +3 -0
  23. {nicegui-2.8.0 → nicegui-2.9.0}/pyproject.toml +1 -1
  24. {nicegui-2.8.0 → nicegui-2.9.0}/LICENSE +0 -0
  25. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/.syncignore +0 -0
  26. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/__init__.py +0 -0
  27. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/api_router.py +0 -0
  28. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/app/__init__.py +0 -0
  29. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/app/range_response.py +0 -0
  30. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/awaitable_response.py +0 -0
  31. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/background_tasks.py +0 -0
  32. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/binding.py +0 -0
  33. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/classes.py +0 -0
  34. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/context.py +0 -0
  35. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/core.py +0 -0
  36. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/dataclasses.py +0 -0
  37. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/dependencies.py +0 -0
  38. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/element.py +0 -0
  39. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/element_filter.py +0 -0
  40. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/__init__.py +0 -0
  41. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/aggrid.js +0 -0
  42. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/aggrid.py +0 -0
  43. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/audio.js +0 -0
  44. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/audio.py +0 -0
  45. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/avatar.py +0 -0
  46. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/badge.py +0 -0
  47. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/button.py +0 -0
  48. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/button_dropdown.py +0 -0
  49. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/button_group.py +0 -0
  50. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/card.py +0 -0
  51. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/carousel.py +0 -0
  52. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/chat_message.py +0 -0
  53. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/checkbox.py +0 -0
  54. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/chip.py +0 -0
  55. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/choice_element.py +0 -0
  56. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/codemirror.js +0 -0
  57. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/codemirror.py +0 -0
  58. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/color_input.py +0 -0
  59. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/color_picker.py +0 -0
  60. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/colors.js +0 -0
  61. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/colors.py +0 -0
  62. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/column.py +0 -0
  63. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/context_menu.py +0 -0
  64. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/dark_mode.js +0 -0
  65. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/dark_mode.py +0 -0
  66. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/date.py +0 -0
  67. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/dialog.py +0 -0
  68. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/echart.js +0 -0
  69. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/echart.py +0 -0
  70. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/editor.js +0 -0
  71. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/editor.py +0 -0
  72. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/expansion.py +0 -0
  73. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/grid.py +0 -0
  74. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/highchart.py +0 -0
  75. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/html.py +0 -0
  76. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/icon.py +0 -0
  77. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/image.js +0 -0
  78. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/image.py +0 -0
  79. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/input.py +0 -0
  80. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/interactive_image.js +0 -0
  81. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/interactive_image.py +0 -0
  82. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/item.py +0 -0
  83. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/joystick.py +0 -0
  84. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/joystick.vue +0 -0
  85. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/json_editor.js +0 -0
  86. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/json_editor.py +0 -0
  87. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/keyboard.js +0 -0
  88. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/keyboard.py +0 -0
  89. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/knob.py +0 -0
  90. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/label.py +0 -0
  91. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/leaflet_layer.py +0 -0
  92. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/leaflet_layers.py +0 -0
  93. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/aggrid/ag-grid-community.js +0 -0
  94. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/aggrid/ag-grid-community.min.js +0 -0
  95. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/apl-CXdQSnD-.js +0 -0
  96. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/asciiarmor-D5V0T9Cu.js +0 -0
  97. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/asn1-BhA3SgW2.js +0 -0
  98. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/asterisk-B46aRdXb.js +0 -0
  99. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/brainfuck-CtZaYBKt.js +0 -0
  100. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/clike-BPCXT8V3.js +0 -0
  101. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/clojure-DR_hEDJv.js +0 -0
  102. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/cmake-DXn5xaP-.js +0 -0
  103. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/cobol-DJhTY0fG.js +0 -0
  104. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/coffeescript-BTDxI-eT.js +0 -0
  105. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/commonlisp-vq6DHwts.js +0 -0
  106. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/crystal-CRzZ78HM.js +0 -0
  107. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/css-ZjFoif2m.js +0 -0
  108. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/cypher-gJDei3ni.js +0 -0
  109. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/d-BShv7fp-.js +0 -0
  110. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/diff-UJJ5BM9S.js +0 -0
  111. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/dockerfile-DbSFhNEh.js +0 -0
  112. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/dtd-DI9Herc-.js +0 -0
  113. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/dylan-CHJ5qNM_.js +0 -0
  114. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/ebnf-B-Df8AvO.js +0 -0
  115. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/ecl-DPFc0Uaf.js +0 -0
  116. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/editor-DzvLhhiW.js +0 -0
  117. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/editor.js +0 -0
  118. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/eiffel-DR5c0IrL.js +0 -0
  119. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/elm-D7xaZ7Da.js +0 -0
  120. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/erlang-BuqgqA5h.js +0 -0
  121. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/factor-D9hSz2Dc.js +0 -0
  122. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/fcl-CVaBTCzQ.js +0 -0
  123. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/forth-Dri_5nFc.js +0 -0
  124. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/fortran-DL7KluxX.js +0 -0
  125. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/gas-5kEe4nk0.js +0 -0
  126. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/gherkin-B6X1vGSW.js +0 -0
  127. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/groovy-BfRUB6GO.js +0 -0
  128. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/haskell-CmdsSjFB.js +0 -0
  129. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/haxe-75PMBtaN.js +0 -0
  130. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/http-BKJkqRj4.js +0 -0
  131. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/idl-pcmmZuaN.js +0 -0
  132. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/index-B7tHWccP.js +0 -0
  133. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/index-BJiyyGqZ.js +0 -0
  134. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/index-BL_t_ntH.js +0 -0
  135. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/index-BTAxP3mB.js +0 -0
  136. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/index-C4TeAHpL.js +0 -0
  137. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/index-CB606nqP.js +0 -0
  138. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/index-CG3aUV_L.js +0 -0
  139. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/index-CJB1zGqD.js +0 -0
  140. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/index-CJhLK3a1.js +0 -0
  141. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/index-CUN-L9uH.js +0 -0
  142. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/index-CYWhQqFb.js +0 -0
  143. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/index-CgEMB2FB.js +0 -0
  144. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/index-Ckjrdmtm.js +0 -0
  145. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/index-Ctywxs9F.js +0 -0
  146. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/index-CvY89YCL.js +0 -0
  147. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/index-D6K4mE4a.js +0 -0
  148. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/index-DHm9fpZm.js +0 -0
  149. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/index-DWxkS7ff.js +0 -0
  150. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/index-GtIxIVFm.js +0 -0
  151. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/index-NkaBMccj.js +0 -0
  152. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/index-anbJ5y0U.js +0 -0
  153. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/javascript-CQRKPXEM.js +0 -0
  154. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/jinja2-DhgKlfW7.js +0 -0
  155. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/julia-DjdwvFuI.js +0 -0
  156. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/livescript-B19OIWEP.js +0 -0
  157. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/lua-8DXOpKDz.js +0 -0
  158. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/mathematica-IIbmv7SK.js +0 -0
  159. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/mbox-z_N2Mo3d.js +0 -0
  160. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/mirc-DkvFAiy5.js +0 -0
  161. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/mllike-B8DYu8SS.js +0 -0
  162. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/modelica-DSrSSXCg.js +0 -0
  163. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/mscgen-B2igx18G.js +0 -0
  164. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/mumps-zvxmGV4l.js +0 -0
  165. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/nginx-B4hAVlXN.js +0 -0
  166. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/nsis-CKXvuz-E.js +0 -0
  167. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/ntriples-FFvkTduk.js +0 -0
  168. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/octave-C4hdQ5Hf.js +0 -0
  169. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/oz-qQq7irPq.js +0 -0
  170. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/pascal-CZ0JYm71.js +0 -0
  171. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/perl-tdMlh9QA.js +0 -0
  172. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/pig-CwGJVRC4.js +0 -0
  173. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/powershell-D1ly3AHC.js +0 -0
  174. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/properties-_nPj978X.js +0 -0
  175. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/protobuf-B4y9do6W.js +0 -0
  176. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/pug-Zmekp7TD.js +0 -0
  177. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/puppet-Bc-yJKzi.js +0 -0
  178. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/python-DD-Q2bae.js +0 -0
  179. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/q-B0kTJ4cI.js +0 -0
  180. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/r-BA4EbLKE.js +0 -0
  181. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/rpm-DI_rRufH.js +0 -0
  182. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/ruby-CR-u2WLS.js +0 -0
  183. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/sas-Bqaci40L.js +0 -0
  184. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/scheme-qjP0V5Ag.js +0 -0
  185. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/shell-BLav31RL.js +0 -0
  186. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/sieve-r025o_jW.js +0 -0
  187. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/simple-mode-VRHOsiuL.js +0 -0
  188. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/smalltalk-C7J3IyEP.js +0 -0
  189. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/solr-78MBEUkU.js +0 -0
  190. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/sparql-BRLJFz69.js +0 -0
  191. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/spreadsheet-CGlWr0eM.js +0 -0
  192. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/sql-BP5jFf-w.js +0 -0
  193. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/stex-Ba7Sj9VR.js +0 -0
  194. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/stylus-3mOX9C7I.js +0 -0
  195. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/swift-Cbprqdc8.js +0 -0
  196. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/tcl-B2fODqDH.js +0 -0
  197. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/textile-BuVhTOzU.js +0 -0
  198. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/tiddlywiki-BgR6AEZu.js +0 -0
  199. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/tiki-CI-ztowC.js +0 -0
  200. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/toml-BQXy8elZ.js +0 -0
  201. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/troff-Ce85hlLp.js +0 -0
  202. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/ttcn-C4reStyN.js +0 -0
  203. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/ttcn-cfg-Ce4xWtqN.js +0 -0
  204. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/turtle-BkSuIpt-.js +0 -0
  205. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/vb-coDLL1b7.js +0 -0
  206. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/vbscript-MdTt_wcJ.js +0 -0
  207. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/velocity-BdD_26Jv.js +0 -0
  208. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/verilog-B4LBqg_1.js +0 -0
  209. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/vhdl-BRDI21CQ.js +0 -0
  210. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/webidl-CGwyPRYs.js +0 -0
  211. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/xquery-BZBLoTvf.js +0 -0
  212. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/yacas-I8QjZlxf.js +0 -0
  213. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/codemirror/z80-D8p3gKXp.js +0 -0
  214. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/echarts/echarts.js.map +0 -0
  215. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/echarts/echarts.min.js +0 -0
  216. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/echarts-gl/echarts-gl.js.map +0 -0
  217. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/echarts-gl/echarts-gl.min.js +0 -0
  218. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/leaflet/leaflet/images/layers-2x.png +0 -0
  219. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/leaflet/leaflet/images/layers.png +0 -0
  220. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/leaflet/leaflet/images/marker-icon-2x.png +0 -0
  221. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/leaflet/leaflet/images/marker-icon.png +0 -0
  222. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/leaflet/leaflet/images/marker-shadow.png +0 -0
  223. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/leaflet/leaflet/leaflet.css +0 -0
  224. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/leaflet/leaflet/leaflet.js +0 -0
  225. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/leaflet/leaflet/leaflet.js.map +0 -0
  226. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/leaflet/leaflet-draw/images/layers-2x.png +0 -0
  227. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/leaflet/leaflet-draw/images/layers.png +0 -0
  228. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/leaflet/leaflet-draw/images/marker-icon-2x.png +0 -0
  229. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/leaflet/leaflet-draw/images/marker-icon.png +0 -0
  230. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/leaflet/leaflet-draw/images/marker-shadow.png +0 -0
  231. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/leaflet/leaflet-draw/images/spritesheet-2x.png +0 -0
  232. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/leaflet/leaflet-draw/images/spritesheet.png +0 -0
  233. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/leaflet/leaflet-draw/images/spritesheet.svg +0 -0
  234. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/leaflet/leaflet-draw/leaflet.draw.css +0 -0
  235. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/leaflet/leaflet-draw/leaflet.draw.js +0 -0
  236. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/blockDiagram-V6UOASA5.mjs +0 -0
  237. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/c4Diagram-ZHOUKFWV.mjs +0 -0
  238. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/chunk-5CZSE4TR.mjs +0 -0
  239. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/chunk-AIUMCIBP.mjs +0 -0
  240. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/chunk-DLZUUSFL.mjs +0 -0
  241. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/chunk-FBCX6ULS.mjs +0 -0
  242. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/chunk-FUIDI54P.mjs +0 -0
  243. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/chunk-IBIA4ERB.mjs +0 -0
  244. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/chunk-JJENOPKO.mjs +0 -0
  245. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/chunk-O2AGWWWV.mjs +0 -0
  246. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/chunk-OERGPBFJ.mjs +0 -0
  247. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/chunk-PDCO53Z4.mjs +0 -0
  248. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/chunk-SVGOEX7Z.mjs +0 -0
  249. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/chunk-T3KDJ7CM.mjs +0 -0
  250. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/chunk-TINLTEC2.mjs +0 -0
  251. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/chunk-VKXSJROQ.mjs +0 -0
  252. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/chunk-YR4HKMZO.mjs +0 -0
  253. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/chunk-Z2VRG6XP.mjs +0 -0
  254. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/classDiagram-MQQPYQM5.mjs +0 -0
  255. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/classDiagram-v2-4S5WAI72.mjs +0 -0
  256. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/dagre-CQ6OS2HX.mjs +0 -0
  257. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/diagram-KYCGQLJB.mjs +0 -0
  258. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/erDiagram-762WSSOR.mjs +0 -0
  259. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/flowDiagram-TGP4CI55.mjs +0 -0
  260. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/ganttDiagram-GAYIUD5S.mjs +0 -0
  261. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/gitGraphDiagram-LGD5RUNZ.mjs +0 -0
  262. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/infoDiagram-GSXZ5C4N.mjs +0 -0
  263. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/journeyDiagram-35ZZFJAM.mjs +0 -0
  264. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/mindmap-definition-6NGNQFMS.mjs +0 -0
  265. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/pieDiagram-WEX7LNAG.mjs +0 -0
  266. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/quadrantDiagram-SRYJ5FP7.mjs +0 -0
  267. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/requirementDiagram-V7TESSIR.mjs +0 -0
  268. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/sankeyDiagram-XVFEVEVI.mjs +0 -0
  269. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/sequenceDiagram-6SD7JOPP.mjs +0 -0
  270. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/stateDiagram-N22R6T2Y.mjs +0 -0
  271. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/stateDiagram-v2-QXVA2PVL.mjs +0 -0
  272. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/timeline-definition-SFF34UE4.mjs +0 -0
  273. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.core/xychartDiagram-BZZU7QT5.mjs +0 -0
  274. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/blockDiagram-PSHTR7TV.mjs +0 -0
  275. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/c4Diagram-JXFYNHDU.mjs +0 -0
  276. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/chunk-3YXWICEL.mjs +0 -0
  277. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/chunk-63NMYVOQ.mjs +0 -0
  278. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/chunk-76YUXBKW.mjs +0 -0
  279. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/chunk-B7GIP3BC.mjs +0 -0
  280. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/chunk-BAJGW65C.mjs +0 -0
  281. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/chunk-C6CSAIDW.mjs +0 -0
  282. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/chunk-CN5XARC6.mjs +0 -0
  283. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/chunk-DD37ZF33.mjs +0 -0
  284. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/chunk-DLQEHMXD.mjs +0 -0
  285. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/chunk-GKOISANM.mjs +0 -0
  286. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/chunk-GRZAG2UZ.mjs +0 -0
  287. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/chunk-GVMN75T7.mjs +0 -0
  288. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/chunk-HBGMPAD7.mjs +0 -0
  289. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/chunk-HCCMVKPJ.mjs +0 -0
  290. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/chunk-HD3LK5B5.mjs +0 -0
  291. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/chunk-HKQCUR3C.mjs +0 -0
  292. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/chunk-I7ZFS43C.mjs +0 -0
  293. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/chunk-IQOVSUJR.mjs +0 -0
  294. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/chunk-K2ZEYYM2.mjs +0 -0
  295. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/chunk-KW7S66XI.mjs +0 -0
  296. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/chunk-M52XIDDU.mjs +0 -0
  297. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/chunk-M7N4Q5GZ.mjs +0 -0
  298. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/chunk-TZBO7MLI.mjs +0 -0
  299. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/chunk-ULVYQCHC.mjs +0 -0
  300. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/chunk-VNRP4OIW.mjs +0 -0
  301. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/chunk-W7WFRJCB.mjs +0 -0
  302. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/chunk-XZYS6ULZ.mjs +0 -0
  303. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/chunk-YJGJQOYZ.mjs +0 -0
  304. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/chunk-YP6PVJQ3.mjs +0 -0
  305. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/chunk-ZIY44AE2.mjs +0 -0
  306. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/classDiagram-CXGEL3SQ.mjs +0 -0
  307. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/classDiagram-v2-YNGOW5FH.mjs +0 -0
  308. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/dagre-YJZDXZCU.mjs +0 -0
  309. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/diagram-JJFYOK3T.mjs +0 -0
  310. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/erDiagram-XPQADTZV.mjs +0 -0
  311. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/flowDiagram-67NZXU7I.mjs +0 -0
  312. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/ganttDiagram-B2ZMZPXB.mjs +0 -0
  313. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/gitGraph-F2EDSAW4-EHNGVA3B.mjs +0 -0
  314. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/gitGraphDiagram-L4TVWIEC.mjs +0 -0
  315. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/info-PWGDJKR5-EWYWRXAE.mjs +0 -0
  316. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/infoDiagram-BT4ZP4BK.mjs +0 -0
  317. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/journeyDiagram-COMCLUAH.mjs +0 -0
  318. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/katex-Y6PQNQVE.mjs +0 -0
  319. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/mindmap-definition-E2KP2TZY.mjs +0 -0
  320. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/packet-7PPW3X5M-7FK7JLXI.mjs +0 -0
  321. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/pie-RF5LNP4B-4BD42V5W.mjs +0 -0
  322. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/pieDiagram-S3RQDLUV.mjs +0 -0
  323. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/quadrantDiagram-5GZ6ANOP.mjs +0 -0
  324. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/requirementDiagram-VSKUXUHY.mjs +0 -0
  325. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/sankeyDiagram-H4IPBKTF.mjs +0 -0
  326. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/sequenceDiagram-OCNP7Z2K.mjs +0 -0
  327. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/stateDiagram-ERABNXIO.mjs +0 -0
  328. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/stateDiagram-v2-VU32QY5R.mjs +0 -0
  329. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/timeline-definition-3FLJNPJ3.mjs +0 -0
  330. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm/xychartDiagram-LJ63XVUT.mjs +0 -0
  331. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/blockDiagram-NDWNTGEE.mjs +0 -0
  332. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/c4Diagram-AUYESYAG.mjs +0 -0
  333. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-2RSIMOBZ.mjs +0 -0
  334. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-4BPNZXC3.mjs +0 -0
  335. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-4KE642ED.mjs +0 -0
  336. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-4SRTBRON.mjs +0 -0
  337. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-6BY5RJGC.mjs +0 -0
  338. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-6IZS222M.mjs +0 -0
  339. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-6XGRHI2A.mjs +0 -0
  340. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-AC3VT7B7.mjs +0 -0
  341. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-BKDDFIKN.mjs +0 -0
  342. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-BOP2KBYH.mjs +0 -0
  343. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-C7NU23FD.mjs +0 -0
  344. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-CBSWTUHP.mjs +0 -0
  345. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-D3PZO57J.mjs +0 -0
  346. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-DZFIHE2J.mjs +0 -0
  347. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-E4AWDUZE.mjs +0 -0
  348. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-F4773GRL.mjs +0 -0
  349. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-GTKDMUJJ.mjs +0 -0
  350. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-KMOJB3TB.mjs +0 -0
  351. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-NQURTBEV.mjs +0 -0
  352. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-OUDNNCD4.mjs +0 -0
  353. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-RRFB4HDS.mjs +0 -0
  354. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-TI4EEUUG.mjs +0 -0
  355. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-U6LOUQAF.mjs +0 -0
  356. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-UWHJNN4Q.mjs +0 -0
  357. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-VRGDDFRA.mjs +0 -0
  358. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-VSLJSFIP.mjs +0 -0
  359. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-WVHPJQMP.mjs +0 -0
  360. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-YFFLADYN.mjs +0 -0
  361. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-YJEQJWB7.mjs +0 -0
  362. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/chunk-YPUTD6PB.mjs +0 -0
  363. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/classDiagram-EPVPYR3L.mjs +0 -0
  364. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/classDiagram-v2-NO4EPWGV.mjs +0 -0
  365. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/dagre-EVPMPUST.mjs +0 -0
  366. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/diagram-V25JEYTC.mjs +0 -0
  367. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/erDiagram-Y4N7DENO.mjs +0 -0
  368. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/flowDiagram-JTTVBJUY.mjs +0 -0
  369. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/ganttDiagram-6SR64PWN.mjs +0 -0
  370. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/gitGraph-F2EDSAW4-LKDW3VZQ.mjs +0 -0
  371. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/gitGraphDiagram-LRIBUTDQ.mjs +0 -0
  372. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/info-PWGDJKR5-T7ZKA3RY.mjs +0 -0
  373. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/infoDiagram-YTPSHCSX.mjs +0 -0
  374. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/journeyDiagram-VRXW2F6L.mjs +0 -0
  375. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/katex-SWYD7GD6.mjs +0 -0
  376. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/mindmap-definition-KLCIANCF.mjs +0 -0
  377. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/packet-7PPW3X5M-O6SZ3T2R.mjs +0 -0
  378. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/pie-RF5LNP4B-V656W2AT.mjs +0 -0
  379. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/pieDiagram-WYSUK7CQ.mjs +0 -0
  380. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/quadrantDiagram-K5BY4R5E.mjs +0 -0
  381. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/requirementDiagram-2DBX4ZW4.mjs +0 -0
  382. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/sankeyDiagram-F3GI3WFI.mjs +0 -0
  383. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/sequenceDiagram-QBGN4KDC.mjs +0 -0
  384. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/stateDiagram-S3XGF733.mjs +0 -0
  385. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/stateDiagram-v2-BSO5MUCZ.mjs +0 -0
  386. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/timeline-definition-MHTE3MCH.mjs +0 -0
  387. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/chunks/mermaid.esm.min/xychartDiagram-RLS75X5Z.mjs +0 -0
  388. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/mermaid.core.mjs +0 -0
  389. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/mermaid.esm.min.mjs +0 -0
  390. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/mermaid.esm.mjs +0 -0
  391. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/mermaid.js +0 -0
  392. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/mermaid/mermaid.min.js +0 -0
  393. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/nipplejs/nipplejs.js +0 -0
  394. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/plotly/plotly.js +0 -0
  395. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/plotly/plotly.min.js +0 -0
  396. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/three/modules/BufferGeometryUtils.js +0 -0
  397. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/three/modules/CSS2DRenderer.js +0 -0
  398. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/three/modules/CSS3DRenderer.js +0 -0
  399. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/three/modules/DragControls.js +0 -0
  400. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/three/modules/GLTFLoader.js +0 -0
  401. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/three/modules/OrbitControls.js +0 -0
  402. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/three/modules/STLLoader.js +0 -0
  403. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/three/modules/tween.module.js +0 -0
  404. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/three/three.module.js +0 -0
  405. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/tween/tween.umd.js +0 -0
  406. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/vanilla-jsoneditor/standalone.js +0 -0
  407. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/lib/vanilla-jsoneditor/standalone.js.map +0 -0
  408. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/line_plot.py +0 -0
  409. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/link.js +0 -0
  410. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/link.py +0 -0
  411. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/list.py +0 -0
  412. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/log.py +0 -0
  413. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/markdown.js +0 -0
  414. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/markdown.py +0 -0
  415. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/menu.py +0 -0
  416. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/mermaid.js +0 -0
  417. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/mermaid.py +0 -0
  418. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/mixins/__init__.py +0 -0
  419. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/mixins/color_elements.py +0 -0
  420. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/mixins/content_element.py +0 -0
  421. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/mixins/disableable_element.py +0 -0
  422. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/mixins/filter_element.py +0 -0
  423. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/mixins/icon_element.py +0 -0
  424. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/mixins/name_element.py +0 -0
  425. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/mixins/selectable_element.py +0 -0
  426. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/mixins/source_element.py +0 -0
  427. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/mixins/text_element.py +0 -0
  428. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/mixins/validation_element.py +0 -0
  429. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/mixins/value_element.py +0 -0
  430. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/mixins/visibility.py +0 -0
  431. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/notification.js +0 -0
  432. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/notification.py +0 -0
  433. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/number.py +0 -0
  434. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/pagination.py +0 -0
  435. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/plotly.py +0 -0
  436. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/plotly.vue +0 -0
  437. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/progress.py +0 -0
  438. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/pyplot.py +0 -0
  439. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/query.js +0 -0
  440. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/query.py +0 -0
  441. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/radio.py +0 -0
  442. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/range.py +0 -0
  443. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/restructured_text.py +0 -0
  444. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/row.py +0 -0
  445. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/scene.js +0 -0
  446. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/scene.py +0 -0
  447. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/scene_object3d.py +0 -0
  448. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/scene_objects.py +0 -0
  449. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/scene_view.js +0 -0
  450. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/scene_view.py +0 -0
  451. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/scroll_area.py +0 -0
  452. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/select.js +0 -0
  453. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/select.py +0 -0
  454. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/separator.py +0 -0
  455. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/skeleton.py +0 -0
  456. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/slider.py +0 -0
  457. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/space.py +0 -0
  458. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/spinner.py +0 -0
  459. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/splitter.py +0 -0
  460. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/stepper.py +0 -0
  461. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/switch.py +0 -0
  462. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/table.js +0 -0
  463. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/table.py +0 -0
  464. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/tabs.py +0 -0
  465. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/teleport.js +0 -0
  466. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/teleport.py +0 -0
  467. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/textarea.py +0 -0
  468. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/time.py +0 -0
  469. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/timeline.py +0 -0
  470. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/timer.js +0 -0
  471. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/toggle.py +0 -0
  472. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/tooltip.py +0 -0
  473. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/tree.py +0 -0
  474. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/upload.js +0 -0
  475. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/upload.py +0 -0
  476. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/video.js +0 -0
  477. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/elements/video.py +0 -0
  478. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/error.py +0 -0
  479. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/event_listener.py +0 -0
  480. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/events.py +0 -0
  481. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/favicon.py +0 -0
  482. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/functions/__init__.py +0 -0
  483. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/functions/clipboard.py +0 -0
  484. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/functions/download.py +0 -0
  485. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/functions/html.py +0 -0
  486. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/functions/navigate.py +0 -0
  487. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/functions/notify.py +0 -0
  488. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/functions/on.py +0 -0
  489. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/functions/page_title.py +0 -0
  490. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/functions/refreshable.js +0 -0
  491. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/functions/refreshable.py +0 -0
  492. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/functions/style.py +0 -0
  493. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/functions/update.py +0 -0
  494. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/helpers.py +0 -0
  495. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/html.py +0 -0
  496. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/javascript_request.py +0 -0
  497. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/json/__init__.py +0 -0
  498. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/json/builtin_wrapper.py +0 -0
  499. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/json/orjson_wrapper.py +0 -0
  500. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/language.py +0 -0
  501. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/logging.py +0 -0
  502. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/middlewares.py +0 -0
  503. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/native/__init__.py +0 -0
  504. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/native/native.py +0 -0
  505. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/native/native_config.py +0 -0
  506. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/native/native_mode.py +0 -0
  507. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/observables.py +0 -0
  508. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/optional_features.py +0 -0
  509. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/props.py +0 -0
  510. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/py.typed +0 -0
  511. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/run.py +0 -0
  512. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/scripts/pack.py +0 -0
  513. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/server.py +0 -0
  514. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/slot.py +0 -0
  515. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/es-module-shims.js +0 -0
  516. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/favicon.ico +0 -0
  517. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/01d40c9fd448face.woff2 +0 -0
  518. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/042d031f00f025d3.woff2 +0 -0
  519. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/0953a0ea5ec2fbe6.woff2 +0 -0
  520. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/096bf4e001f30f3d.woff2 +0 -0
  521. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/0c19a63c7528cc1a.woff2 +0 -0
  522. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/0ca83f77c744e2a2.woff2 +0 -0
  523. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/18cea8b33059950e.woff2 +0 -0
  524. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/1e891d4a2a7f2f96.woff2 +0 -0
  525. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/28b81f220ca048e2.woff2 +0 -0
  526. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/2af55f54d9fac778.woff2 +0 -0
  527. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/2c8ec1765f13887d.woff2 +0 -0
  528. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/2e2ca037aef7b51d.woff2 +0 -0
  529. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/334116c5190f1716.woff2 +0 -0
  530. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/34d83f10ce3fa7b4.woff2 +0 -0
  531. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/425b348f7eab066c.woff2 +0 -0
  532. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/47c853f95b759bef.woff2 +0 -0
  533. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/4ad9ee1c03eed305.woff2 +0 -0
  534. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/4c401738b2e90c99.woff2 +0 -0
  535. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/55a208f32a6be540.woff2 +0 -0
  536. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/5f02a1396c9fc305.woff2 +0 -0
  537. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/616907143b870cb1.woff2 +0 -0
  538. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/62873223be6b39e0.woff2 +0 -0
  539. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/66c1c422e62faf1d.woff2 +0 -0
  540. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/6d6ebdc60d2cd01e.woff2 +0 -0
  541. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/707a7c6749d7c089.woff2 +0 -0
  542. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/7104372e0a34311e.woff2 +0 -0
  543. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/7420c823209e4609.woff2 +0 -0
  544. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/7c7f3bb965e2deae.woff2 +0 -0
  545. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/7f5c1101832b02f5.woff2 +0 -0
  546. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/81471017108054b9.woff2 +0 -0
  547. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/851ed7636af29416.woff2 +0 -0
  548. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/8d21fc3a9d063f00.woff2 +0 -0
  549. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/8e146ffc255e03c3.woff2 +0 -0
  550. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/935e23d0cd87ac6f.woff2 +0 -0
  551. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/9b5609bd55cc78e3.woff2 +0 -0
  552. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/a35a05f781345176.woff2 +0 -0
  553. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/ab8cf1fb84e33cd6.woff2 +0 -0
  554. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/afd447df78322d0d.woff2 +0 -0
  555. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/bb828b03a1f11130.woff2 +0 -0
  556. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/c3f2f68bb77a7944.woff2 +0 -0
  557. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/c854362e488d0bec.woff2 +0 -0
  558. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/cf8e1fe457b4cc05.woff2 +0 -0
  559. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/d4e71f49ac06b20e.woff2 +0 -0
  560. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/d5ec90d9ff9fdc02.woff2 +0 -0
  561. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/dcbef151cf127173.woff2 +0 -0
  562. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/e62204447c1ed92a.woff2 +0 -0
  563. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/ea7496e801e7e453.woff2 +0 -0
  564. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/f3d429b4c95dd3ce.woff2 +0 -0
  565. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts/fdbd937e991f101f.woff2 +0 -0
  566. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/fonts.css +0 -0
  567. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/ar-TN.umd.prod.js +0 -0
  568. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/ar.umd.prod.js +0 -0
  569. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/az-Latn.umd.prod.js +0 -0
  570. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/bg.umd.prod.js +0 -0
  571. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/bn.umd.prod.js +0 -0
  572. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/bs-BA.umd.prod.js +0 -0
  573. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/ca.umd.prod.js +0 -0
  574. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/cs.umd.prod.js +0 -0
  575. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/da.umd.prod.js +0 -0
  576. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/de-CH.umd.prod.js +0 -0
  577. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/de-DE.umd.prod.js +0 -0
  578. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/de.umd.prod.js +0 -0
  579. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/el.umd.prod.js +0 -0
  580. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/en-GB.umd.prod.js +0 -0
  581. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/en-US.umd.prod.js +0 -0
  582. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/eo.umd.prod.js +0 -0
  583. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/es.umd.prod.js +0 -0
  584. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/et.umd.prod.js +0 -0
  585. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/eu.umd.prod.js +0 -0
  586. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/fa-IR.umd.prod.js +0 -0
  587. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/fa.umd.prod.js +0 -0
  588. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/fi.umd.prod.js +0 -0
  589. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/fr.umd.prod.js +0 -0
  590. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/gn.umd.prod.js +0 -0
  591. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/he.umd.prod.js +0 -0
  592. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/hi.umd.prod.js +0 -0
  593. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/hr.umd.prod.js +0 -0
  594. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/hu.umd.prod.js +0 -0
  595. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/id.umd.prod.js +0 -0
  596. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/is.umd.prod.js +0 -0
  597. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/it.umd.prod.js +0 -0
  598. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/ja.umd.prod.js +0 -0
  599. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/kk.umd.prod.js +0 -0
  600. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/km.umd.prod.js +0 -0
  601. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/ko-KR.umd.prod.js +0 -0
  602. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/kur-CKB.umd.prod.js +0 -0
  603. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/lt.umd.prod.js +0 -0
  604. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/lu.umd.prod.js +0 -0
  605. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/lv.umd.prod.js +0 -0
  606. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/mk.umd.prod.js +0 -0
  607. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/ml.umd.prod.js +0 -0
  608. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/mm.umd.prod.js +0 -0
  609. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/ms-MY.umd.prod.js +0 -0
  610. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/ms.umd.prod.js +0 -0
  611. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/my.umd.prod.js +0 -0
  612. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/nb-NO.umd.prod.js +0 -0
  613. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/nl.umd.prod.js +0 -0
  614. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/pl.umd.prod.js +0 -0
  615. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/pt-BR.umd.prod.js +0 -0
  616. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/pt.umd.prod.js +0 -0
  617. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/ro.umd.prod.js +0 -0
  618. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/ru.umd.prod.js +0 -0
  619. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/sk.umd.prod.js +0 -0
  620. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/sl.umd.prod.js +0 -0
  621. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/sm.umd.prod.js +0 -0
  622. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/sr-CYR.umd.prod.js +0 -0
  623. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/sr.umd.prod.js +0 -0
  624. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/sv.umd.prod.js +0 -0
  625. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/ta.umd.prod.js +0 -0
  626. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/th.umd.prod.js +0 -0
  627. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/tl.umd.prod.js +0 -0
  628. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/tr.umd.prod.js +0 -0
  629. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/ug.umd.prod.js +0 -0
  630. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/uk.umd.prod.js +0 -0
  631. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/uz-Cyrl.umd.prod.js +0 -0
  632. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/uz-Latn.umd.prod.js +0 -0
  633. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/vi.umd.prod.js +0 -0
  634. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/zh-CN.umd.prod.js +0 -0
  635. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/lang/zh-TW.umd.prod.js +0 -0
  636. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/nicegui.css +0 -0
  637. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/quasar.css +0 -0
  638. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/quasar.prod.css +0 -0
  639. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/quasar.umd.js +0 -0
  640. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/quasar.umd.prod.js +0 -0
  641. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/sad_face.svg +0 -0
  642. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/socket.io.min.js +0 -0
  643. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/socket.io.min.js.map +0 -0
  644. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/tailwindcss.min.js +0 -0
  645. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/utils/dynamic_properties.js +0 -0
  646. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/utils/json.js +0 -0
  647. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/utils/resources.js +0 -0
  648. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/vue.global.js +0 -0
  649. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/static/vue.global.prod.js +0 -0
  650. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/staticfiles.py +0 -0
  651. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/storage.py +0 -0
  652. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/style.py +0 -0
  653. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind.py +0 -0
  654. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/__init__.py +0 -0
  655. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/accent_color.py +0 -0
  656. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/align_content.py +0 -0
  657. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/align_items.py +0 -0
  658. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/align_self.py +0 -0
  659. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/animation.py +0 -0
  660. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/appearance.py +0 -0
  661. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/aspect_ratio.py +0 -0
  662. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/backdrop_blur.py +0 -0
  663. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/backdrop_brightness.py +0 -0
  664. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/backdrop_contrast.py +0 -0
  665. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/backdrop_grayscale.py +0 -0
  666. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/backdrop_hue_rotate.py +0 -0
  667. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/backdrop_invert.py +0 -0
  668. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/backdrop_opacity.py +0 -0
  669. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/backdrop_saturate.py +0 -0
  670. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/backdrop_sepia.py +0 -0
  671. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/background_attachment.py +0 -0
  672. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/background_blend_mode.py +0 -0
  673. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/background_clip.py +0 -0
  674. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/background_color.py +0 -0
  675. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/background_image.py +0 -0
  676. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/background_origin.py +0 -0
  677. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/background_position.py +0 -0
  678. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/background_repeat.py +0 -0
  679. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/background_size.py +0 -0
  680. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/blur.py +0 -0
  681. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/border_collapse.py +0 -0
  682. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/border_color.py +0 -0
  683. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/border_radius.py +0 -0
  684. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/border_spacing.py +0 -0
  685. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/border_style.py +0 -0
  686. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/border_width.py +0 -0
  687. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/box_decoration_break.py +0 -0
  688. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/box_shadow.py +0 -0
  689. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/box_shadow_color.py +0 -0
  690. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/box_sizing.py +0 -0
  691. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/break_after.py +0 -0
  692. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/break_before.py +0 -0
  693. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/break_inside.py +0 -0
  694. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/brightness.py +0 -0
  695. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/caption_side.py +0 -0
  696. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/caret_color.py +0 -0
  697. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/clear.py +0 -0
  698. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/columns.py +0 -0
  699. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/content.py +0 -0
  700. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/contrast.py +0 -0
  701. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/cursor.py +0 -0
  702. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/display.py +0 -0
  703. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/divide_color.py +0 -0
  704. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/divide_style.py +0 -0
  705. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/divide_width.py +0 -0
  706. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/drop_shadow.py +0 -0
  707. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/fill.py +0 -0
  708. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/flex.py +0 -0
  709. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/flex_basis.py +0 -0
  710. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/flex_direction.py +0 -0
  711. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/flex_grow.py +0 -0
  712. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/flex_shrink.py +0 -0
  713. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/flex_wrap.py +0 -0
  714. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/floats.py +0 -0
  715. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/font_family.py +0 -0
  716. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/font_size.py +0 -0
  717. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/font_smoothing.py +0 -0
  718. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/font_style.py +0 -0
  719. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/font_variant_numeric.py +0 -0
  720. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/font_weight.py +0 -0
  721. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/forced_color_adjust.py +0 -0
  722. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/gap.py +0 -0
  723. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/gradient_color_stops.py +0 -0
  724. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/grayscale.py +0 -0
  725. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/grid_auto_columns.py +0 -0
  726. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/grid_auto_flow.py +0 -0
  727. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/grid_auto_rows.py +0 -0
  728. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/grid_column_start_end.py +0 -0
  729. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/grid_row_start_end.py +0 -0
  730. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/grid_template_columns.py +0 -0
  731. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/grid_template_rows.py +0 -0
  732. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/height.py +0 -0
  733. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/hue_rotate.py +0 -0
  734. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/hyphens.py +0 -0
  735. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/invert.py +0 -0
  736. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/isolation.py +0 -0
  737. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/justify_content.py +0 -0
  738. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/justify_items.py +0 -0
  739. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/justify_self.py +0 -0
  740. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/letter_spacing.py +0 -0
  741. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/line_clamp.py +0 -0
  742. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/line_height.py +0 -0
  743. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/list_style_image.py +0 -0
  744. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/list_style_position.py +0 -0
  745. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/list_style_type.py +0 -0
  746. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/margin.py +0 -0
  747. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/max_height.py +0 -0
  748. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/max_width.py +0 -0
  749. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/min_height.py +0 -0
  750. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/min_width.py +0 -0
  751. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/mix_blend_mode.py +0 -0
  752. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/object_fit.py +0 -0
  753. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/object_position.py +0 -0
  754. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/opacity.py +0 -0
  755. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/order.py +0 -0
  756. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/outline_color.py +0 -0
  757. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/outline_offset.py +0 -0
  758. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/outline_style.py +0 -0
  759. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/outline_width.py +0 -0
  760. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/overflow.py +0 -0
  761. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/overscroll_behavior.py +0 -0
  762. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/padding.py +0 -0
  763. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/place_content.py +0 -0
  764. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/place_items.py +0 -0
  765. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/place_self.py +0 -0
  766. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/pointer_events.py +0 -0
  767. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/position.py +0 -0
  768. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/resize.py +0 -0
  769. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/ring_color.py +0 -0
  770. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/ring_offset_color.py +0 -0
  771. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/ring_offset_width.py +0 -0
  772. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/ring_width.py +0 -0
  773. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/rotate.py +0 -0
  774. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/saturate.py +0 -0
  775. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/scale.py +0 -0
  776. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/screen_readers.py +0 -0
  777. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/scroll_behavior.py +0 -0
  778. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/scroll_margin.py +0 -0
  779. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/scroll_padding.py +0 -0
  780. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/scroll_snap_align.py +0 -0
  781. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/scroll_snap_stop.py +0 -0
  782. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/scroll_snap_type.py +0 -0
  783. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/sepia.py +0 -0
  784. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/size.py +0 -0
  785. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/skew.py +0 -0
  786. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/space_between.py +0 -0
  787. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/stroke.py +0 -0
  788. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/stroke_width.py +0 -0
  789. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/table_layout.py +0 -0
  790. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/text_align.py +0 -0
  791. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/text_color.py +0 -0
  792. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/text_decoration.py +0 -0
  793. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/text_decoration_color.py +0 -0
  794. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/text_decoration_style.py +0 -0
  795. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/text_decoration_thickness.py +0 -0
  796. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/text_indent.py +0 -0
  797. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/text_overflow.py +0 -0
  798. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/text_transform.py +0 -0
  799. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/text_underline_offset.py +0 -0
  800. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/text_wrap.py +0 -0
  801. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/top_right_bottom_left.py +0 -0
  802. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/touch_action.py +0 -0
  803. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/transform_origin.py +0 -0
  804. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/transition_delay.py +0 -0
  805. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/transition_duration.py +0 -0
  806. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/transition_property.py +0 -0
  807. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/transition_timing_function.py +0 -0
  808. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/translate.py +0 -0
  809. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/user_select.py +0 -0
  810. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/vertical_align.py +0 -0
  811. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/visibility.py +0 -0
  812. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/whitespace.py +0 -0
  813. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/width.py +0 -0
  814. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/will_change.py +0 -0
  815. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/word_break.py +0 -0
  816. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/tailwind_types/z_index.py +0 -0
  817. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/templates/index.html +0 -0
  818. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/testing/__init__.py +0 -0
  819. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/testing/conftest.py +0 -0
  820. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/testing/plugin.py +0 -0
  821. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/testing/screen.py +0 -0
  822. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/testing/screen_plugin.py +0 -0
  823. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/testing/user.py +0 -0
  824. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/testing/user_download.py +0 -0
  825. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/testing/user_navigate.py +0 -0
  826. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/testing/user_notify.py +0 -0
  827. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/testing/user_plugin.py +0 -0
  828. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/ui.py +0 -0
  829. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/version.py +0 -0
  830. {nicegui-2.8.0 → nicegui-2.9.0}/nicegui/welcome.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: nicegui
3
- Version: 2.8.0
3
+ Version: 2.9.0
4
4
  Summary: Create web-based user interfaces with Python. The nice way.
5
5
  Home-page: https://github.com/zauberzeug/nicegui
6
6
  License: MIT
@@ -165,7 +165,6 @@ If you would like to support this project and have your avatar or company logo a
165
165
  <a href="https://github.com/lechler-gmbh"><img src="https://github.com/lechler-gmbh.png" width="50px" alt="Lechler GmbH" /></a>
166
166
  <a href="https://github.com/Zhifeng2019"><img src="https://github.com/Zhifeng2019.png" width="50px" alt="Zhifeng" /></a>
167
167
  <a href="https://github.com/sereneturtlefox"><img src="https://github.com/sereneturtlefox.png" width="50px" alt="None" /></a>
168
- <a href="https://github.com/daviborges666"><img src="https://github.com/daviborges666.png" width="50px" alt="Davi Borges" /></a>
169
168
  <a href="https://github.com/whoulden"><img src="https://github.com/whoulden.png" width="50px" alt="Wayne Houlden" /></a>
170
169
  <a href="https://github.com/digiquip"><img src="https://github.com/digiquip.png" width="50px" alt="DigiQuip AS" /></a>
171
170
  </p>
@@ -114,7 +114,6 @@ If you would like to support this project and have your avatar or company logo a
114
114
  <a href="https://github.com/lechler-gmbh"><img src="https://github.com/lechler-gmbh.png" width="50px" alt="Lechler GmbH" /></a>
115
115
  <a href="https://github.com/Zhifeng2019"><img src="https://github.com/Zhifeng2019.png" width="50px" alt="Zhifeng" /></a>
116
116
  <a href="https://github.com/sereneturtlefox"><img src="https://github.com/sereneturtlefox.png" width="50px" alt="None" /></a>
117
- <a href="https://github.com/daviborges666"><img src="https://github.com/daviborges666.png" width="50px" alt="Davi Borges" /></a>
118
117
  <a href="https://github.com/whoulden"><img src="https://github.com/whoulden.png" width="50px" alt="Wayne Houlden" /></a>
119
118
  <a href="https://github.com/digiquip"><img src="https://github.com/digiquip.png" width="50px" alt="DigiQuip AS" /></a>
120
119
  </p>
@@ -134,7 +134,7 @@ class Air:
134
134
  core.app.storage.copy_tab(data['old_tab_id'], data['tab_id'])
135
135
  client.tab_id = data['tab_id']
136
136
  client.on_air = True
137
- client.handle_handshake()
137
+ client.handle_handshake(data.get('next_message_id'))
138
138
  return True
139
139
 
140
140
  @self.relay.on('client_disconnect')
@@ -178,6 +178,14 @@ class Air:
178
178
  client = Client.instances[client_id]
179
179
  client.handle_javascript_response(data['msg'])
180
180
 
181
+ @self.relay.on('ack')
182
+ def _handle_ack(data: Dict[str, Any]) -> None:
183
+ client_id = data['client_id']
184
+ if client_id not in Client.instances:
185
+ return
186
+ client = Client.instances[client_id]
187
+ client.outbox.prune_history(data['msg']['next_message_id'])
188
+
181
189
  @self.relay.on('out_of_time')
182
190
  async def _handle_out_of_time() -> None:
183
191
  print('Sorry, you have reached the time limit of this NiceGUI On Air preview.', flush=True)
@@ -30,6 +30,7 @@ class State(Enum):
30
30
 
31
31
 
32
32
  class App(FastAPI):
33
+ from ..timer import Timer as timer # pylint: disable=import-outside-toplevel
33
34
 
34
35
  def __init__(self, **kwargs) -> None:
35
36
  super().__init__(**kwargs, docs_url=None, redoc_url=None, openapi_url=None)
@@ -32,6 +32,7 @@ class AppConfig:
32
32
  language: Language = field(init=False)
33
33
  binding_refresh_interval: float = field(init=False)
34
34
  reconnect_timeout: float = field(init=False)
35
+ message_history_length: int = field(init=False)
35
36
  tailwind: bool = field(init=False)
36
37
  prod_js: bool = field(init=False)
37
38
  show_welcome_message: bool = field(init=False)
@@ -47,6 +48,7 @@ class AppConfig:
47
48
  language: Language,
48
49
  binding_refresh_interval: float,
49
50
  reconnect_timeout: float,
51
+ message_history_length: int,
50
52
  tailwind: bool,
51
53
  prod_js: bool,
52
54
  show_welcome_message: bool,
@@ -60,6 +62,7 @@ class AppConfig:
60
62
  self.language = language
61
63
  self.binding_refresh_interval = binding_refresh_interval
62
64
  self.reconnect_timeout = reconnect_timeout
65
+ self.message_history_length = message_history_length
63
66
  self.tailwind = tailwind
64
67
  self.prod_js = prod_js
65
68
  self.show_welcome_message = show_welcome_message
@@ -63,6 +63,7 @@ class Client:
63
63
  self._deleted = False
64
64
  self.tab_id: Optional[str] = None
65
65
 
66
+ self.page = page
66
67
  self.outbox = Outbox(self)
67
68
 
68
69
  with Element('q-layout', _client=self).props('view="hhh lpr fff"').classes('nicegui-layout') as self.layout:
@@ -75,7 +76,6 @@ class Client:
75
76
  self._head_html = ''
76
77
  self._body_html = ''
77
78
 
78
- self.page = page
79
79
  self.storage = ObservableDict()
80
80
 
81
81
  self.connect_handlers: List[Union[Callable[..., Any], Awaitable]] = []
@@ -123,7 +123,11 @@ class Client:
123
123
  elements = json.dumps({
124
124
  id: element._to_dict() for id, element in self.elements.items() # pylint: disable=protected-access
125
125
  })
126
- socket_io_js_query_params = {**core.app.config.socket_io_js_query_params, 'client_id': self.id}
126
+ socket_io_js_query_params = {
127
+ **core.app.config.socket_io_js_query_params,
128
+ 'client_id': self.id,
129
+ 'next_message_id': self.outbox.next_message_id,
130
+ }
127
131
  vue_html, vue_styles, vue_scripts, imports, js_imports = generate_resources(prefix, self.elements.values())
128
132
  return templates.TemplateResponse(
129
133
  request=request,
@@ -227,8 +231,10 @@ class Client:
227
231
  """Add a callback to be invoked when the client disconnects."""
228
232
  self.disconnect_handlers.append(handler)
229
233
 
230
- def handle_handshake(self) -> None:
234
+ def handle_handshake(self, next_message_id: Optional[int]) -> None:
231
235
  """Cancel pending disconnect task and invoke connect handlers."""
236
+ if next_message_id is not None:
237
+ self.outbox.try_rewind(next_message_id)
232
238
  if self._disconnect_task:
233
239
  self._disconnect_task.cancel()
234
240
  self._disconnect_task = None
@@ -241,11 +247,7 @@ class Client:
241
247
  def handle_disconnect(self) -> None:
242
248
  """Wait for the browser to reconnect; invoke disconnect handlers if it doesn't."""
243
249
  async def handle_disconnect() -> None:
244
- if self.page.reconnect_timeout is not None:
245
- delay = self.page.reconnect_timeout
246
- else:
247
- delay = core.app.config.reconnect_timeout # pylint: disable=protected-access
248
- await asyncio.sleep(delay)
250
+ await asyncio.sleep(self.page.resolve_reconnect_timeout())
249
251
  for t in self.disconnect_handlers:
250
252
  self.safe_invoke(t)
251
253
  for t in core.app._disconnect_handlers: # pylint: disable=protected-access
@@ -36,7 +36,7 @@ class Code(ContentElement, default_classes='nicegui-code'):
36
36
  timer(0.1, self._update_copy_button)
37
37
 
38
38
  self.client.on_connect(lambda: self.client.run_javascript(f'''
39
- if (!navigator.clipboard) getElement({self.copy_button.id}).$el.style.display = 'none';
39
+ if (!navigator.clipboard) getHtmlElement({self.copy_button.id}).style.display = 'none';
40
40
  '''))
41
41
 
42
42
  async def show_checkmark(self) -> None:
@@ -7,6 +7,7 @@ export default {
7
7
  :shadow-text="shadowText"
8
8
  @keydown.tab="perform_autocomplete"
9
9
  :list="id + '-datalist'"
10
+ :for="id"
10
11
  >
11
12
  <template v-for="(_, slot) in $slots" v-slot:[slot]="slotProps">
12
13
  <slot :name="slot" v-bind="slotProps || {}" />
@@ -64,8 +64,7 @@ export default {
64
64
  "preclick",
65
65
  "zoomanim",
66
66
  ]) {
67
- this.map.on(type, async (e) => {
68
- await this.$nextTick(); // NOTE: allow zoom and center to both be updated
67
+ this.map.on(type, (e) => {
69
68
  this.$emit(`map-${type}`, {
70
69
  ...e,
71
70
  originalEvent: undefined,
@@ -61,6 +61,8 @@ class Leaflet(Element, component='leaflet.js', default_classes='nicegui-leaflet'
61
61
  options={'attribution': '&copy; <a href="https://openstreetmap.org">OpenStreetMap</a> contributors'},
62
62
  )
63
63
 
64
+ self._send_update_on_value_change = True
65
+
64
66
  def __enter__(self) -> Self:
65
67
  Layer.current_leaflet = self
66
68
  return super().__enter__()
@@ -77,20 +79,25 @@ class Leaflet(Element, component='leaflet.js', default_classes='nicegui-leaflet'
77
79
  for layer in self.layers:
78
80
  self.run_method('add_layer', layer.to_dict(), layer.id)
79
81
 
80
- async def initialized(self) -> None:
81
- """Wait until the map is initialized."""
82
+ async def initialized(self, timeout: float = 3.0) -> None:
83
+ """Wait until the map is initialized.
84
+
85
+ :param timeout: timeout in seconds (default: 3 seconds)
86
+ """
82
87
  event = asyncio.Event()
83
88
  self.on('init', event.set, [])
84
- await self.client.connected()
89
+ await self.client.connected(timeout=timeout)
85
90
  await event.wait()
86
91
 
87
- async def _handle_moveend(self, e: GenericEventArguments) -> None:
88
- await asyncio.sleep(0.02) # NOTE: wait for zoom to be updated as well
92
+ def _handle_moveend(self, e: GenericEventArguments) -> None:
93
+ self._send_update_on_value_change = False
89
94
  self.center = e.args['center']
95
+ self._send_update_on_value_change = True
90
96
 
91
- async def _handle_zoomend(self, e: GenericEventArguments) -> None:
92
- await asyncio.sleep(0.02) # NOTE: wait for center to be updated as well
97
+ def _handle_zoomend(self, e: GenericEventArguments) -> None:
98
+ self._send_update_on_value_change = False
93
99
  self.zoom = e.args['zoom']
100
+ self._send_update_on_value_change = True
94
101
 
95
102
  def run_method(self, name: str, *args: Any, timeout: float = 1) -> AwaitableResponse:
96
103
  if not self.is_initialized:
@@ -102,14 +109,16 @@ class Leaflet(Element, component='leaflet.js', default_classes='nicegui-leaflet'
102
109
  if self._props['center'] == center:
103
110
  return
104
111
  self._props['center'] = center
105
- self.update()
112
+ if self._send_update_on_value_change:
113
+ self.update()
106
114
 
107
115
  def set_zoom(self, zoom: int) -> None:
108
116
  """Set the zoom level of the map."""
109
117
  if self._props['zoom'] == zoom:
110
118
  return
111
119
  self._props['zoom'] = zoom
112
- self.update()
120
+ if self._send_update_on_value_change:
121
+ self.update()
113
122
 
114
123
  def remove_layer(self, layer: Layer) -> None:
115
124
  """Remove a layer from the map."""
@@ -0,0 +1,47 @@
1
+ from contextlib import nullcontext
2
+ from typing import ContextManager
3
+
4
+ from ..client import Client
5
+ from ..element import Element
6
+ from ..logging import log
7
+ from ..timer import Timer as BaseTimer
8
+
9
+
10
+ class Timer(BaseTimer, Element, component='timer.js'):
11
+
12
+ def _get_context(self) -> ContextManager:
13
+ return self.parent_slot or nullcontext()
14
+
15
+ async def _can_start(self) -> bool:
16
+ """Wait for the client connection before the timer callback can be allowed to manipulate the state.
17
+
18
+ See https://github.com/zauberzeug/nicegui/issues/206 for details.
19
+ Returns True if the client is connected, False if the client is not connected and the timer should be cancelled.
20
+ """
21
+ if self.client.shared:
22
+ return True
23
+
24
+ # ignore served pages which do not reconnect to backend (e.g. monitoring requests, scrapers etc.)
25
+ TIMEOUT = 60.0
26
+ try:
27
+ await self.client.connected(timeout=TIMEOUT)
28
+ return True
29
+ except TimeoutError:
30
+ log.error(f'Timer cancelled because client is not connected after {TIMEOUT} seconds')
31
+ return False
32
+
33
+ def _should_stop(self) -> bool:
34
+ return (
35
+ self.is_deleted or
36
+ self.client.id not in Client.instances or
37
+ super()._should_stop()
38
+ )
39
+
40
+ def _cleanup(self) -> None:
41
+ super()._cleanup()
42
+ if not self._deleted:
43
+ assert self.parent_slot
44
+ self.parent_slot.parent.remove(self)
45
+
46
+ def set_visibility(self, visible: bool) -> None:
47
+ raise NotImplementedError('Use `activate()`, `deactivate()` or `cancel()`. See #3670 for more information.')
@@ -7,7 +7,8 @@ def run_javascript(code: str, *, timeout: float = 1.0) -> AwaitableResponse:
7
7
 
8
8
  This function runs arbitrary JavaScript code on a page that is executed in the browser.
9
9
  The client must be connected before this function is called.
10
- To access a client-side object by ID, use the JavaScript function `getElement()`.
10
+ To access a client-side Vue component or HTML element by ID,
11
+ use the JavaScript functions `getElement()` or `getHtmlElement()`.
11
12
 
12
13
  If the function is awaited, the result of the JavaScript code is returned.
13
14
  Otherwise, the JavaScript code is executed without waiting for a response.
@@ -3,7 +3,7 @@ import mimetypes
3
3
  import urllib.parse
4
4
  from contextlib import asynccontextmanager
5
5
  from pathlib import Path
6
- from typing import Dict
6
+ from typing import Any, Dict
7
7
 
8
8
  import socketio
9
9
  from fastapi import HTTPException, Request
@@ -163,7 +163,7 @@ async def _exception_handler_500(request: Request, exception: Exception) -> Resp
163
163
 
164
164
 
165
165
  @sio.on('handshake')
166
- async def _on_handshake(sid: str, data: Dict[str, str]) -> bool:
166
+ async def _on_handshake(sid: str, data: Dict[str, Any]) -> bool:
167
167
  client = Client.instances.get(data['client_id'])
168
168
  if not client:
169
169
  return False
@@ -175,7 +175,7 @@ async def _on_handshake(sid: str, data: Dict[str, str]) -> bool:
175
175
  else:
176
176
  client.environ = sio.get_environ(sid)
177
177
  await sio.enter_room(sid, client.id)
178
- client.handle_handshake()
178
+ client.handle_handshake(data.get('next_message_id'))
179
179
  return True
180
180
 
181
181
 
@@ -203,3 +203,11 @@ def _on_javascript_response(_: str, msg: Dict) -> None:
203
203
  if not client:
204
204
  return
205
205
  client.handle_javascript_response(msg)
206
+
207
+
208
+ @sio.on('ack')
209
+ def _on_ack(_: str, msg: Dict) -> None:
210
+ client = Client.instances.get(msg['client_id'])
211
+ if not client:
212
+ return
213
+ client.outbox.prune_history(msg['next_message_id'])
@@ -1,6 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import asyncio
4
+ import time
4
5
  from collections import deque
5
6
  from typing import TYPE_CHECKING, Any, Deque, Dict, Optional, Tuple
6
7
 
@@ -10,10 +11,16 @@ if TYPE_CHECKING:
10
11
  from .client import Client
11
12
  from .element import Element
12
13
 
13
- ClientId = str
14
14
  ElementId = int
15
+
16
+ ClientId = str
15
17
  MessageType = str
16
- Message = Tuple[ClientId, MessageType, Any]
18
+ Payload = Any
19
+ Message = Tuple[ClientId, MessageType, Payload]
20
+
21
+ MessageId = int
22
+ MessageTime = float
23
+ HistoryEntry = Tuple[MessageId, MessageTime, Message]
17
24
 
18
25
 
19
26
  class Outbox:
@@ -22,8 +29,12 @@ class Outbox:
22
29
  self.client = client
23
30
  self.updates: Dict[ElementId, Optional[Element]] = {}
24
31
  self.messages: Deque[Message] = deque()
32
+ self.message_history: Deque[HistoryEntry] = deque()
33
+ self.next_message_id: int = 0
34
+
25
35
  self._should_stop = False
26
36
  self._enqueue_event: Optional[asyncio.Event] = None
37
+
27
38
  if core.app.is_started:
28
39
  background_tasks.create(self.loop(), name=f'outbox loop {client.id}')
29
40
  else:
@@ -46,7 +57,7 @@ class Outbox:
46
57
  self.updates[element.id] = None
47
58
  self._set_enqueue_event()
48
59
 
49
- def enqueue_message(self, message_type: MessageType, data: Any, target_id: ClientId) -> None:
60
+ def enqueue_message(self, message_type: MessageType, data: Payload, target_id: ClientId) -> None:
50
61
  """Enqueue a message for the given client."""
51
62
  self.client.check_existence()
52
63
  self.messages.append((target_id, message_type, data))
@@ -77,12 +88,12 @@ class Outbox:
77
88
  element_id: None if element is None else element._to_dict() # pylint: disable=protected-access
78
89
  for element_id, element in self.updates.items()
79
90
  }
80
- coros.append(self._emit('update', data, self.client.id))
91
+ coros.append(self._emit((self.client.id, 'update', data)))
81
92
  self.updates.clear()
82
93
 
83
94
  if self.messages:
84
- for target_id, message_type, data in self.messages:
85
- coros.append(self._emit(message_type, data, target_id))
95
+ for message in self.messages:
96
+ coros.append(self._emit(message))
86
97
  self.messages.clear()
87
98
 
88
99
  for coro in coros:
@@ -95,10 +106,47 @@ class Outbox:
95
106
  core.app.handle_exception(e)
96
107
  await asyncio.sleep(0.1)
97
108
 
98
- async def _emit(self, message_type: MessageType, data: Any, target_id: ClientId) -> None:
99
- await core.sio.emit(message_type, data, room=target_id)
100
- if core.air is not None and core.air.is_air_target(target_id):
101
- await core.air.emit(message_type, data, room=target_id)
109
+ async def _emit(self, message: Message) -> None:
110
+ client_id, message_type, data = message
111
+ data['_id'] = self.next_message_id
112
+
113
+ await core.sio.emit(message_type, data, room=client_id)
114
+ if core.air is not None and core.air.is_air_target(client_id):
115
+ await core.air.emit(message_type, data, room=client_id)
116
+
117
+ if not self.client.shared:
118
+ self.message_history.append((self.next_message_id, time.time(), message))
119
+ max_age = core.sio.eio.ping_interval + core.sio.eio.ping_timeout + self.client.page.resolve_reconnect_timeout()
120
+ while self.message_history and self.message_history[0][1] < time.time() - max_age:
121
+ self.message_history.popleft()
122
+ while len(self.message_history) > core.app.config.message_history_length:
123
+ self.message_history.popleft()
124
+
125
+ self.next_message_id += 1
126
+
127
+ def try_rewind(self, target_message_id: MessageId) -> None:
128
+ """Rewind to the given message ID and discard all messages before it."""
129
+ # nothing to do, the next message ID is already the target message ID
130
+ if self.next_message_id == target_message_id:
131
+ return
132
+
133
+ # rewind to the target message ID
134
+ while self.message_history:
135
+ self.next_message_id, _, message = self.message_history.pop()
136
+ self.messages.appendleft(message)
137
+ if self.next_message_id == target_message_id:
138
+ self.message_history.clear()
139
+ self._set_enqueue_event()
140
+ return
141
+
142
+ # target message ID not found, reload the page
143
+ if not self.client.shared:
144
+ self.client.run_javascript('window.location.reload()')
145
+
146
+ def prune_history(self, next_message_id: MessageId) -> None:
147
+ """Prune the message history up to the given message ID."""
148
+ while self.message_history and self.message_history[0][0] < next_message_id:
149
+ self.message_history.popleft()
102
150
 
103
151
  def stop(self) -> None:
104
152
  """Stop the outbox loop."""
@@ -56,7 +56,7 @@ class page:
56
56
  :param dark: whether to use Quasar's dark mode (defaults to `dark` argument of `run` command)
57
57
  :param language: language of the page (defaults to `language` argument of `run` command)
58
58
  :param response_timeout: maximum time for the decorated function to build the page (default: 3.0 seconds)
59
- :param reconnect_timeout: maximum time the server waits for the browser to reconnect (default: 0.0 seconds)
59
+ :param reconnect_timeout: maximum time the server waits for the browser to reconnect (defaults to `reconnect_timeout` argument of `run` command))
60
60
  :param api_router: APIRouter instance to use, can be left `None` to use the default
61
61
  :param kwargs: additional keyword arguments passed to FastAPI's @app.get method
62
62
  """
@@ -94,6 +94,10 @@ class page:
94
94
  """Return the language of the page."""
95
95
  return self.language if self.language is not ... else core.app.config.language
96
96
 
97
+ def resolve_reconnect_timeout(self) -> float:
98
+ """Return the reconnect_timeout of the page."""
99
+ return self.reconnect_timeout if self.reconnect_timeout is not None else core.app.config.reconnect_timeout
100
+
97
101
  def __call__(self, func: Callable[..., Any]) -> Callable[..., Any]:
98
102
  core.app.remove_route(self.path) # NOTE make sure only the latest route definition is used
99
103
  parameters_of_decorated_func = list(inspect.signature(func).parameters.keys())
@@ -62,7 +62,7 @@ class Header(ValueElement, default_classes='nicegui-header'):
62
62
  add_body_html(f'''
63
63
  <script>
64
64
  window.onload = () => {{
65
- const header = getElement({self.id}).$el;
65
+ const header = getHtmlElement({self.id});
66
66
  new ResizeObserver(() => {{
67
67
  document.documentElement.style.scrollPaddingTop = `${{header.offsetHeight}}px`;
68
68
  }}).observe(header);
@@ -43,6 +43,10 @@ function getElement(id) {
43
43
  return mounted_app.$refs["r" + _id];
44
44
  }
45
45
 
46
+ function getHtmlElement(id) {
47
+ return document.getElementById(`c${id}`);
48
+ }
49
+
46
50
  function runMethod(target, method_name, args) {
47
51
  if (typeof target === "object") {
48
52
  if (method_name in target) {
@@ -265,6 +269,15 @@ function download(src, filename, mediaType, prefix) {
265
269
  }
266
270
  }
267
271
 
272
+ function ack() {
273
+ if (window.ackedMessageId >= window.nextMessageId) return;
274
+ window.socket.emit("ack", {
275
+ client_id: window.clientId,
276
+ next_message_id: window.nextMessageId,
277
+ });
278
+ window.ackedMessageId = window.nextMessageId;
279
+ }
280
+
268
281
  async function loadDependencies(element, prefix, version) {
269
282
  if (element.component) {
270
283
  const { name, key, tag } = element.component;
@@ -306,6 +319,7 @@ window.onbeforeunload = function () {
306
319
 
307
320
  function createApp(elements, options) {
308
321
  replaceUndefinedAttributes(elements, 0);
322
+ setInterval(() => ack(), 3000);
309
323
  return (app = Vue.createApp({
310
324
  data() {
311
325
  return {
@@ -320,6 +334,8 @@ function createApp(elements, options) {
320
334
  window.clientId = options.query.client_id;
321
335
  const url = window.location.protocol === "https:" ? "wss://" : "ws://" + window.location.host;
322
336
  window.path_prefix = options.prefix;
337
+ window.nextMessageId = options.query.next_message_id;
338
+ window.ackedMessageId = -1;
323
339
  window.socket = io(url, {
324
340
  path: `${options.prefix}/_nicegui_ws/socket.io`,
325
341
  query: options.query,
@@ -333,6 +349,7 @@ function createApp(elements, options) {
333
349
  client_id: window.clientId,
334
350
  tab_id: TAB_ID,
335
351
  old_tab_id: OLD_TAB_ID,
352
+ next_message_id: window.nextMessageId,
336
353
  };
337
354
  window.socket.emit("handshake", args, (ok) => {
338
355
  if (!ok) {
@@ -371,7 +388,7 @@ function createApp(elements, options) {
371
388
  replaceUndefinedAttributes(this.elements, id);
372
389
  }
373
390
  },
374
- run_javascript: (msg) => runJavascript(msg["code"], msg["request_id"]),
391
+ run_javascript: (msg) => runJavascript(msg.code, msg.request_id),
375
392
  open: (msg) => {
376
393
  const url = msg.path.startsWith("/") ? options.prefix + msg.path : msg.path;
377
394
  const target = msg.new_tab ? "_blank" : "_self";
@@ -384,6 +401,12 @@ function createApp(elements, options) {
384
401
  let isProcessingSocketMessage = false;
385
402
  for (const [event, handler] of Object.entries(messageHandlers)) {
386
403
  window.socket.on(event, async (...args) => {
404
+ if (args.length > 0 && args[0]._id !== undefined) {
405
+ const message_id = args[0]._id;
406
+ if (message_id < window.nextMessageId) return;
407
+ window.nextMessageId = message_id + 1;
408
+ delete args[0]._id;
409
+ }
387
410
  socketMessageQueue.push(() => handler(...args));
388
411
  if (!isProcessingSocketMessage) {
389
412
  while (socketMessageQueue.length > 0) {
@@ -91,6 +91,7 @@ def prepare_simulation(request: pytest.FixtureRequest) -> None:
91
91
  language='en-US',
92
92
  binding_refresh_interval=0.1,
93
93
  reconnect_timeout=3.0,
94
+ message_history_length=1000,
94
95
  tailwind=True,
95
96
  prod_js=True,
96
97
  show_welcome_message=False,
@@ -6,6 +6,7 @@ from typing_extensions import Self
6
6
 
7
7
  from nicegui import background_tasks, events, ui
8
8
  from nicegui.element import Element
9
+ from nicegui.elements.mixins.disableable_element import DisableableElement
9
10
  from nicegui.elements.mixins.value_element import ValueElement
10
11
 
11
12
  if TYPE_CHECKING:
@@ -58,6 +59,8 @@ class UserInteraction(Generic[T]):
58
59
  assert self.user.client
59
60
  with self.user.client:
60
61
  for element in self.elements:
62
+ if isinstance(element, DisableableElement) and not element.enabled:
63
+ continue
61
64
  assert isinstance(element, (ui.input, ui.editor, ui.codemirror))
62
65
  element.value = (element.value or '') + text
63
66
  return self